@kispace-io/core 0.7.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 (272) hide show
  1. package/dist/api/base-classes.d.ts +7 -0
  2. package/dist/api/base-classes.d.ts.map +1 -0
  3. package/dist/api/constants.d.ts +2 -0
  4. package/dist/api/constants.d.ts.map +1 -0
  5. package/dist/api/index.d.ts +6 -0
  6. package/dist/api/index.d.ts.map +1 -0
  7. package/dist/api/index.js +80 -0
  8. package/dist/api/index.js.map +1 -0
  9. package/dist/api/services.d.ts +27 -0
  10. package/dist/api/services.d.ts.map +1 -0
  11. package/dist/api/types.d.ts +11 -0
  12. package/dist/api/types.d.ts.map +1 -0
  13. package/dist/commands/files.d.ts +2 -0
  14. package/dist/commands/files.d.ts.map +1 -0
  15. package/dist/commands/global.d.ts +1 -0
  16. package/dist/commands/global.d.ts.map +1 -0
  17. package/dist/commands/index.d.ts +1 -0
  18. package/dist/commands/index.d.ts.map +1 -0
  19. package/dist/commands/version-info.d.ts +2 -0
  20. package/dist/commands/version-info.d.ts.map +1 -0
  21. package/dist/components/index.d.ts +1 -0
  22. package/dist/components/index.d.ts.map +1 -0
  23. package/dist/components/k-app-selector.d.ts +17 -0
  24. package/dist/components/k-app-selector.d.ts.map +1 -0
  25. package/dist/components/k-app-switcher.d.ts +13 -0
  26. package/dist/components/k-app-switcher.d.ts.map +1 -0
  27. package/dist/components/k-command.d.ts +31 -0
  28. package/dist/components/k-command.d.ts.map +1 -0
  29. package/dist/components/k-extensions.d.ts +32 -0
  30. package/dist/components/k-extensions.d.ts.map +1 -0
  31. package/dist/components/k-fastviews.d.ts +34 -0
  32. package/dist/components/k-fastviews.d.ts.map +1 -0
  33. package/dist/components/k-filebrowser.d.ts +40 -0
  34. package/dist/components/k-filebrowser.d.ts.map +1 -0
  35. package/dist/components/k-language-selector.d.ts +12 -0
  36. package/dist/components/k-language-selector.d.ts.map +1 -0
  37. package/dist/components/k-log-terminal.d.ts +36 -0
  38. package/dist/components/k-log-terminal.d.ts.map +1 -0
  39. package/dist/components/k-part-name.d.ts +12 -0
  40. package/dist/components/k-part-name.d.ts.map +1 -0
  41. package/dist/components/k-tasks.d.ts +13 -0
  42. package/dist/components/k-tasks.d.ts.map +1 -0
  43. package/dist/components/k-workspace-name.d.ts +14 -0
  44. package/dist/components/k-workspace-name.d.ts.map +1 -0
  45. package/dist/contributions/default-ui-contributions.d.ts +2 -0
  46. package/dist/contributions/default-ui-contributions.d.ts.map +1 -0
  47. package/dist/contributions/index.d.ts +1 -0
  48. package/dist/contributions/index.d.ts.map +1 -0
  49. package/dist/contributions/marketplace-catalog-contributions.d.ts +2 -0
  50. package/dist/contributions/marketplace-catalog-contributions.d.ts.map +1 -0
  51. package/dist/core/app-host-config.d.ts +7 -0
  52. package/dist/core/app-host-config.d.ts.map +1 -0
  53. package/dist/core/apploader.d.ts +214 -0
  54. package/dist/core/apploader.d.ts.map +1 -0
  55. package/dist/core/appstate.d.ts +12 -0
  56. package/dist/core/appstate.d.ts.map +1 -0
  57. package/dist/core/commandregistry.d.ts +79 -0
  58. package/dist/core/commandregistry.d.ts.map +1 -0
  59. package/dist/core/config.d.ts +15 -0
  60. package/dist/core/config.d.ts.map +1 -0
  61. package/dist/core/constants.d.ts +21 -0
  62. package/dist/core/constants.d.ts.map +1 -0
  63. package/dist/core/contributionregistry.d.ts +49 -0
  64. package/dist/core/contributionregistry.d.ts.map +1 -0
  65. package/dist/core/di.d.ts +18 -0
  66. package/dist/core/di.d.ts.map +1 -0
  67. package/dist/core/dialogservice.d.ts +33 -0
  68. package/dist/core/dialogservice.d.ts.map +1 -0
  69. package/dist/core/editorregistry.d.ts +73 -0
  70. package/dist/core/editorregistry.d.ts.map +1 -0
  71. package/dist/core/esmsh-service.d.ts +40 -0
  72. package/dist/core/esmsh-service.d.ts.map +1 -0
  73. package/dist/core/events.d.ts +7 -0
  74. package/dist/core/events.d.ts.map +1 -0
  75. package/dist/core/events.js +63 -0
  76. package/dist/core/events.js.map +1 -0
  77. package/dist/core/extensionregistry.d.ts +98 -0
  78. package/dist/core/extensionregistry.d.ts.map +1 -0
  79. package/dist/core/filesys.d.ts +139 -0
  80. package/dist/core/filesys.d.ts.map +1 -0
  81. package/dist/core/i18n.d.ts +50 -0
  82. package/dist/core/i18n.d.ts.map +1 -0
  83. package/dist/core/index.d.ts +1 -0
  84. package/dist/core/index.d.ts.map +1 -0
  85. package/dist/core/k-utils.d.ts +2 -0
  86. package/dist/core/k-utils.d.ts.map +1 -0
  87. package/dist/core/keybindings.d.ts +67 -0
  88. package/dist/core/keybindings.d.ts.map +1 -0
  89. package/dist/core/logger.d.ts +44 -0
  90. package/dist/core/logger.d.ts.map +1 -0
  91. package/dist/core/marketplaceregistry.d.ts +25 -0
  92. package/dist/core/marketplaceregistry.d.ts.map +1 -0
  93. package/dist/core/packageinfoservice.d.ts +16 -0
  94. package/dist/core/packageinfoservice.d.ts.map +1 -0
  95. package/dist/core/persistenceservice.d.ts +6 -0
  96. package/dist/core/persistenceservice.d.ts.map +1 -0
  97. package/dist/core/settingsservice.d.ts +19 -0
  98. package/dist/core/settingsservice.d.ts.map +1 -0
  99. package/dist/core/signals.d.ts +3 -0
  100. package/dist/core/signals.d.ts.map +1 -0
  101. package/dist/core/taskservice.d.ts +20 -0
  102. package/dist/core/taskservice.d.ts.map +1 -0
  103. package/dist/core/toast.d.ts +4 -0
  104. package/dist/core/toast.d.ts.map +1 -0
  105. package/dist/core/tree-utils.d.ts +16 -0
  106. package/dist/core/tree-utils.d.ts.map +1 -0
  107. package/dist/dialogs/confirm-dialog.d.ts +14 -0
  108. package/dist/dialogs/confirm-dialog.d.ts.map +1 -0
  109. package/dist/dialogs/index.d.ts +5 -0
  110. package/dist/dialogs/index.d.ts.map +1 -0
  111. package/dist/dialogs/info-dialog.d.ts +13 -0
  112. package/dist/dialogs/info-dialog.d.ts.map +1 -0
  113. package/dist/dialogs/navigable-info-dialog.d.ts +33 -0
  114. package/dist/dialogs/navigable-info-dialog.d.ts.map +1 -0
  115. package/dist/dialogs/prompt-dialog.d.ts +21 -0
  116. package/dist/dialogs/prompt-dialog.d.ts.map +1 -0
  117. package/dist/externals/lit.d.ts +20 -0
  118. package/dist/externals/lit.d.ts.map +1 -0
  119. package/dist/externals/lit.js +15 -0
  120. package/dist/externals/lit.js.map +1 -0
  121. package/dist/externals/third-party.d.ts +7 -0
  122. package/dist/externals/third-party.d.ts.map +1 -0
  123. package/dist/externals/third-party.js +2 -0
  124. package/dist/externals/third-party.js.map +1 -0
  125. package/dist/externals/webawesome.d.ts +1 -0
  126. package/dist/externals/webawesome.d.ts.map +1 -0
  127. package/dist/externals/webawesome.js +52 -0
  128. package/dist/externals/webawesome.js.map +1 -0
  129. package/dist/i18n/extensions.json.d.ts +42 -0
  130. package/dist/i18n/fastviews.json.d.ts +13 -0
  131. package/dist/i18n/filebrowser.json.d.ts +35 -0
  132. package/dist/i18n/index.d.ts +2 -0
  133. package/dist/i18n/index.d.ts.map +1 -0
  134. package/dist/i18n/logterminal.json.d.ts +45 -0
  135. package/dist/i18n/partname.json.d.ts +15 -0
  136. package/dist/i18n/tasks.json.d.ts +15 -0
  137. package/dist/i18n/workspace.json.d.ts +15 -0
  138. package/dist/index.d.ts +2 -0
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +80 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/k-icon-BZC7dQV0.js +492 -0
  143. package/dist/k-icon-BZC7dQV0.js.map +1 -0
  144. package/dist/k-nocontent-Bh_yToGh.js +48 -0
  145. package/dist/k-nocontent-Bh_yToGh.js.map +1 -0
  146. package/dist/k-resizable-grid-Ch3iWZaL.js +3157 -0
  147. package/dist/k-resizable-grid-Ch3iWZaL.js.map +1 -0
  148. package/dist/k-standard-layout-CQ1VZoxa.js +5011 -0
  149. package/dist/k-standard-layout-CQ1VZoxa.js.map +1 -0
  150. package/dist/layouts/k-standard-layout.d.ts +16 -0
  151. package/dist/layouts/k-standard-layout.d.ts.map +1 -0
  152. package/dist/parts/index.d.ts +1 -0
  153. package/dist/parts/index.d.ts.map +1 -0
  154. package/dist/parts/index.js +53 -0
  155. package/dist/parts/index.js.map +1 -0
  156. package/dist/parts/k-app.d.ts +11 -0
  157. package/dist/parts/k-app.d.ts.map +1 -0
  158. package/dist/parts/k-container.d.ts +4 -0
  159. package/dist/parts/k-container.d.ts.map +1 -0
  160. package/dist/parts/k-contextmenu.d.ts +38 -0
  161. package/dist/parts/k-contextmenu.d.ts.map +1 -0
  162. package/dist/parts/k-dialog-content.d.ts +9 -0
  163. package/dist/parts/k-dialog-content.d.ts.map +1 -0
  164. package/dist/parts/k-element.d.ts +36 -0
  165. package/dist/parts/k-element.d.ts.map +1 -0
  166. package/dist/parts/k-part.d.ts +96 -0
  167. package/dist/parts/k-part.d.ts.map +1 -0
  168. package/dist/parts/k-resizable-grid.d.ts +31 -0
  169. package/dist/parts/k-resizable-grid.d.ts.map +1 -0
  170. package/dist/parts/k-tabs.d.ts +74 -0
  171. package/dist/parts/k-tabs.d.ts.map +1 -0
  172. package/dist/parts/k-toolbar.d.ts +21 -0
  173. package/dist/parts/k-toolbar.d.ts.map +1 -0
  174. package/dist/widgets/index.d.ts +1 -0
  175. package/dist/widgets/index.d.ts.map +1 -0
  176. package/dist/widgets/index.js +3 -0
  177. package/dist/widgets/index.js.map +1 -0
  178. package/dist/widgets/k-icon.d.ts +10 -0
  179. package/dist/widgets/k-icon.d.ts.map +1 -0
  180. package/dist/widgets/k-nocontent.d.ts +13 -0
  181. package/dist/widgets/k-nocontent.d.ts.map +1 -0
  182. package/dist/widgets/k-widget.d.ts +25 -0
  183. package/dist/widgets/k-widget.d.ts.map +1 -0
  184. package/package.json +81 -0
  185. package/src/api/base-classes.ts +10 -0
  186. package/src/api/constants.ts +3 -0
  187. package/src/api/index.ts +31 -0
  188. package/src/api/services.ts +52 -0
  189. package/src/api/types.ts +46 -0
  190. package/src/commands/files.ts +829 -0
  191. package/src/commands/global.ts +225 -0
  192. package/src/commands/index.ts +4 -0
  193. package/src/commands/version-info.ts +214 -0
  194. package/src/components/index.ts +10 -0
  195. package/src/components/k-app-selector.ts +233 -0
  196. package/src/components/k-app-switcher.ts +126 -0
  197. package/src/components/k-command.ts +236 -0
  198. package/src/components/k-extensions.ts +615 -0
  199. package/src/components/k-fastviews.ts +314 -0
  200. package/src/components/k-filebrowser.ts +442 -0
  201. package/src/components/k-language-selector.ts +166 -0
  202. package/src/components/k-log-terminal.ts +337 -0
  203. package/src/components/k-part-name.ts +54 -0
  204. package/src/components/k-tasks.ts +267 -0
  205. package/src/components/k-workspace-name.ts +56 -0
  206. package/src/contributions/default-ui-contributions.ts +51 -0
  207. package/src/contributions/index.ts +3 -0
  208. package/src/contributions/marketplace-catalog-contributions.ts +6 -0
  209. package/src/core/app-host-config.ts +23 -0
  210. package/src/core/apploader.ts +630 -0
  211. package/src/core/appstate.ts +15 -0
  212. package/src/core/commandregistry.ts +210 -0
  213. package/src/core/config.ts +29 -0
  214. package/src/core/constants.ts +27 -0
  215. package/src/core/contributionregistry.ts +77 -0
  216. package/src/core/di.ts +54 -0
  217. package/src/core/dialogservice.ts +266 -0
  218. package/src/core/editorregistry.ts +303 -0
  219. package/src/core/esmsh-service.ts +404 -0
  220. package/src/core/events.ts +68 -0
  221. package/src/core/extensionregistry.ts +399 -0
  222. package/src/core/filesys.ts +618 -0
  223. package/src/core/i18n.ts +221 -0
  224. package/src/core/index.ts +51 -0
  225. package/src/core/k-utils.ts +11 -0
  226. package/src/core/keybindings.ts +274 -0
  227. package/src/core/logger.ts +187 -0
  228. package/src/core/marketplaceregistry.ts +197 -0
  229. package/src/core/packageinfoservice.ts +56 -0
  230. package/src/core/persistenceservice.ts +15 -0
  231. package/src/core/settingsservice.ts +70 -0
  232. package/src/core/signals.ts +18 -0
  233. package/src/core/taskservice.ts +72 -0
  234. package/src/core/toast.ts +11 -0
  235. package/src/core/tree-utils.ts +24 -0
  236. package/src/dialogs/confirm-dialog.ts +72 -0
  237. package/src/dialogs/index.ts +4 -0
  238. package/src/dialogs/info-dialog.ts +67 -0
  239. package/src/dialogs/navigable-info-dialog.ts +256 -0
  240. package/src/dialogs/prompt-dialog.ts +123 -0
  241. package/src/externals/lit.ts +26 -0
  242. package/src/externals/third-party.ts +9 -0
  243. package/src/externals/webawesome.ts +54 -0
  244. package/src/i18n/extensions.json +39 -0
  245. package/src/i18n/fastviews.json +10 -0
  246. package/src/i18n/filebrowser.json +33 -0
  247. package/src/i18n/index.ts +25 -0
  248. package/src/i18n/logterminal.json +42 -0
  249. package/src/i18n/partname.json +12 -0
  250. package/src/i18n/tasks.json +12 -0
  251. package/src/i18n/workspace.json +12 -0
  252. package/src/icons/icons.txt +3 -0
  253. package/src/icons/js.svg +6 -0
  254. package/src/icons/jupyter.svg +18 -0
  255. package/src/icons/python.svg +15 -0
  256. package/src/index.ts +3 -0
  257. package/src/layouts/k-standard-layout.ts +174 -0
  258. package/src/parts/index.ts +6 -0
  259. package/src/parts/k-app.ts +29 -0
  260. package/src/parts/k-container.ts +4 -0
  261. package/src/parts/k-contextmenu.ts +245 -0
  262. package/src/parts/k-dialog-content.ts +31 -0
  263. package/src/parts/k-element.ts +100 -0
  264. package/src/parts/k-part.ts +158 -0
  265. package/src/parts/k-resizable-grid.ts +366 -0
  266. package/src/parts/k-tabs.ts +574 -0
  267. package/src/parts/k-toolbar.ts +158 -0
  268. package/src/vite-env.d.ts +2 -0
  269. package/src/widgets/index.ts +2 -0
  270. package/src/widgets/k-icon.ts +39 -0
  271. package/src/widgets/k-nocontent.ts +40 -0
  272. package/src/widgets/k-widget.ts +90 -0
@@ -0,0 +1,492 @@
1
+ import { property, customElement } from "lit/decorators.js";
2
+ import { LitElement, css, nothing, html } from "lit";
3
+ import { publish, unsubscribe, subscribe } from "./core/events.js";
4
+ import { Signal, signal, SignalWatcher } from "@lit-labs/signals";
5
+ import { registerIconLibrary } from "@awesome.me/webawesome";
6
+ class DependencyContext {
7
+ constructor(variables) {
8
+ this.children = [];
9
+ this.variables = variables;
10
+ this.proxy = new Proxy(variables, this);
11
+ }
12
+ get(target, prop) {
13
+ return target[prop] || this.parent?.getProxy()[prop];
14
+ }
15
+ set(target, prop, value) {
16
+ target[prop] = value;
17
+ }
18
+ put(prop, value) {
19
+ this.variables[prop] = value;
20
+ }
21
+ getProxy() {
22
+ return this.proxy;
23
+ }
24
+ createChild(variables = {}) {
25
+ const child = new DependencyContext(variables);
26
+ child.parent = this;
27
+ this.children.push(child);
28
+ return child;
29
+ }
30
+ getChildren() {
31
+ return this.children;
32
+ }
33
+ getParent() {
34
+ return this.parent;
35
+ }
36
+ destroy() {
37
+ const index = this.parent?.children.indexOf(this);
38
+ if (index !== void 0 && index >= 0) {
39
+ this.parent?.children.splice(index, 1);
40
+ }
41
+ this.parent = void 0;
42
+ }
43
+ }
44
+ const rootContext = new DependencyContext({});
45
+ const uiContext = rootContext.createChild({});
46
+ const toastInfo = (msg) => {
47
+ console.info("[TOAST] INFO:", msg);
48
+ };
49
+ const toastError = (msg) => {
50
+ console.error("[TOAST] ERROR:", msg);
51
+ };
52
+ const toastWarning = (msg) => {
53
+ console.warn("[TOAST] WARNING:", msg);
54
+ };
55
+ const LogLevelPriority = {
56
+ "debug": 0,
57
+ "info": 1,
58
+ "warning": 2,
59
+ "error": 3
60
+ };
61
+ let globalLogLevel = "debug";
62
+ const originalConsole = {
63
+ log: console.log.bind(console),
64
+ info: console.info.bind(console),
65
+ warn: console.warn.bind(console),
66
+ error: console.error.bind(console),
67
+ debug: console.debug.bind(console)
68
+ };
69
+ let logHandler = null;
70
+ const messageBuffer = [];
71
+ function formatArg(arg) {
72
+ if (arg === null) return "null";
73
+ if (arg === void 0) return "undefined";
74
+ if (typeof arg === "string") return arg;
75
+ if (typeof arg === "number" || typeof arg === "boolean") return String(arg);
76
+ if (arg instanceof Error) return `${arg.name}: ${arg.message}`;
77
+ try {
78
+ return JSON.stringify(arg);
79
+ } catch {
80
+ return String(arg);
81
+ }
82
+ }
83
+ class Logger {
84
+ constructor(source) {
85
+ this.source = source;
86
+ }
87
+ info(message) {
88
+ this.log(message, "info");
89
+ }
90
+ warning(message) {
91
+ this.log(message, "warning");
92
+ }
93
+ warn(message) {
94
+ this.log(message, "warning");
95
+ }
96
+ error(message) {
97
+ this.log(message, "error");
98
+ }
99
+ debug(message) {
100
+ this.log(message, "debug");
101
+ }
102
+ log(message, level) {
103
+ dispatch(this.source, message, level);
104
+ }
105
+ }
106
+ function shouldLog(level) {
107
+ return LogLevelPriority[level] >= LogLevelPriority[globalLogLevel];
108
+ }
109
+ function dispatch(source, message, level) {
110
+ if (!shouldLog(level)) {
111
+ return;
112
+ }
113
+ if (logHandler) {
114
+ logHandler(source, message, level);
115
+ } else {
116
+ messageBuffer.push({ source, message, level });
117
+ originalConsole[level === "error" ? "error" : level === "warning" ? "warn" : level === "debug" ? "debug" : "log"](
118
+ `[${source}] ${message}`
119
+ );
120
+ }
121
+ }
122
+ function initializeConsoleInterception() {
123
+ console.log = function(...args) {
124
+ originalConsole.log.apply(console, args);
125
+ dispatch("Console", args.map((a) => formatArg(a)).join(" "), "info");
126
+ };
127
+ console.info = function(...args) {
128
+ originalConsole.info.apply(console, args);
129
+ dispatch("Console", args.map((a) => formatArg(a)).join(" "), "info");
130
+ };
131
+ console.warn = function(...args) {
132
+ originalConsole.warn.apply(console, args);
133
+ dispatch("Console", args.map((a) => formatArg(a)).join(" "), "warning");
134
+ };
135
+ console.error = function(...args) {
136
+ originalConsole.error.apply(console, args);
137
+ dispatch("Console", args.map((a) => formatArg(a)).join(" "), "error");
138
+ };
139
+ console.debug = function(...args) {
140
+ originalConsole.debug.apply(console, args);
141
+ dispatch("Console", args.map((a) => formatArg(a)).join(" "), "debug");
142
+ };
143
+ }
144
+ initializeConsoleInterception();
145
+ function registerLogHandler(handler) {
146
+ logHandler = handler;
147
+ while (messageBuffer.length > 0) {
148
+ const msg = messageBuffer.shift();
149
+ if (msg) {
150
+ handler(msg.source, msg.message, msg.level);
151
+ }
152
+ }
153
+ }
154
+ function unregisterLogHandler() {
155
+ logHandler = null;
156
+ }
157
+ function createLogger(source) {
158
+ return new Logger(source);
159
+ }
160
+ function setLogLevel(level) {
161
+ globalLogLevel = level;
162
+ }
163
+ const defaultLogger = createLogger("System");
164
+ rootContext.put("logger", defaultLogger);
165
+ const TOPIC_CONTRIBUTEIONS_CHANGED = "events/contributionregistry/contributionsChanged";
166
+ class ContributionRegistry {
167
+ constructor() {
168
+ this.contributions = /* @__PURE__ */ new Map();
169
+ }
170
+ registerContribution(target, contribution) {
171
+ const targetSlot = this.getContributions(target);
172
+ if ("command" in contribution) {
173
+ const cmd = contribution;
174
+ if (cmd.disabled instanceof Function) {
175
+ cmd.disabled = new Signal.Computed(cmd.disabled);
176
+ }
177
+ }
178
+ targetSlot.push(contribution);
179
+ publish(TOPIC_CONTRIBUTEIONS_CHANGED, { target, contributions: targetSlot });
180
+ }
181
+ getContributions(target) {
182
+ if (!this.contributions.has(target)) {
183
+ this.contributions.set(target, []);
184
+ }
185
+ return this.contributions.get(target);
186
+ }
187
+ }
188
+ const contributionRegistry = new ContributionRegistry();
189
+ rootContext.put("contributionRegistry", contributionRegistry);
190
+ const EMPTY_SIGNALPORT = {};
191
+ const activePartSignal = signal(null);
192
+ const activeEditorSignal = signal(null);
193
+ const partDirtySignal = signal(null);
194
+ const activeTasksSignal = signal(0);
195
+ const activeSelectionSignal = signal(void 0);
196
+ const perspectiveSwitchedSignal = signal({ name: "", timestamp: 0 });
197
+ const TOPIC_COMMAND_REGISTERED = "events/commandregistry/commandRegistered";
198
+ class Command {
199
+ constructor(id, name, description, parameters, output) {
200
+ this.id = id;
201
+ this.name = name;
202
+ this.description = description;
203
+ this.parameters = parameters || [];
204
+ this.output = output || [];
205
+ }
206
+ }
207
+ class CommandStack {
208
+ //private stack: any[] = []
209
+ async execute(commandId, context) {
210
+ return commandRegistry.execute(commandId, context);
211
+ }
212
+ async undo() {
213
+ }
214
+ async redo() {
215
+ }
216
+ }
217
+ class CommandRegistry {
218
+ constructor() {
219
+ this.commands = {};
220
+ this.handlers = /* @__PURE__ */ new Map();
221
+ }
222
+ registerHandler(commandId, handler) {
223
+ if (!this.handlers.has(commandId)) {
224
+ this.handlers.set(commandId, []);
225
+ }
226
+ const handlerList = this.handlers.get(commandId);
227
+ handlerList.push(handler);
228
+ handlerList.sort((a, b) => (b.ranking ?? 0) - (a.ranking ?? 0));
229
+ }
230
+ getHandler(commandId) {
231
+ return this.handlers.get(commandId);
232
+ }
233
+ /**
234
+ * Creates an ExecutionContext with the current application state
235
+ *
236
+ * @param params Optional command parameters
237
+ * @returns ExecutionContext with captured application state
238
+ */
239
+ createExecutionContext(params) {
240
+ const context = {
241
+ params: params || {},
242
+ activePart: activePartSignal.get(),
243
+ activeEditor: activeEditorSignal.get()
244
+ };
245
+ return context;
246
+ }
247
+ execute(commandId, context = {}) {
248
+ const handlers = this.getHandler(commandId);
249
+ if (!handlers) {
250
+ defaultLogger.debug(`[CommandRegistry] No handlers registered for command: ${commandId}`);
251
+ throw new Error(`No handlers registered for command: ${commandId}`);
252
+ }
253
+ const command = this.getCommand(commandId);
254
+ const paramsStr = context.params ? ` params: ${JSON.stringify(context.params)}` : "";
255
+ defaultLogger.debug(`[CommandRegistry] Executing command: ${commandId}${command ? ` (${command.name})` : ""}${paramsStr}`);
256
+ for (const handler of handlers) {
257
+ if (handler.canExecute === void 0 || handler.canExecute(context)) {
258
+ try {
259
+ const result = handler.execute(context);
260
+ defaultLogger.debug(`[CommandRegistry] Command executed successfully: ${commandId} (result: ${result})`);
261
+ return result;
262
+ } catch (error) {
263
+ const errorMsg = error instanceof Error ? error.message : String(error);
264
+ defaultLogger.error(`[CommandRegistry] Command execution failed: ${commandId} - ${errorMsg}`);
265
+ throw error;
266
+ }
267
+ }
268
+ }
269
+ defaultLogger.error(`[CommandRegistry] No handler found to execute command: ${commandId}`);
270
+ }
271
+ createAndRegisterCommand(id, name, description, parameters, handler) {
272
+ const command = new Command(id, name, description, parameters);
273
+ this.registerCommand(command);
274
+ if (handler) {
275
+ this.registerHandler(id, handler);
276
+ }
277
+ }
278
+ registerCommand(command) {
279
+ this.commands[command.id] = command;
280
+ defaultLogger.debug(`Command registered: ${command.id}`);
281
+ publish(TOPIC_COMMAND_REGISTERED, command);
282
+ }
283
+ hasCommand(commandId) {
284
+ return commandId in this.commands;
285
+ }
286
+ listCommands(context) {
287
+ if (context) {
288
+ return Object.values(this.commands).filter((command) => {
289
+ const handlers = commandRegistry.getHandler(command.id) || [];
290
+ return handlers.some((handler) => handler.canExecute === void 0 || handler.canExecute(context));
291
+ }).reduce((acc, command) => {
292
+ acc[command.id] = command;
293
+ return acc;
294
+ }, {});
295
+ }
296
+ return this.commands;
297
+ }
298
+ getCommand(commandId) {
299
+ return this.commands[commandId];
300
+ }
301
+ registerAll(options) {
302
+ const commandId = options.command.id;
303
+ this.registerCommand(options.command);
304
+ if (options.handler) {
305
+ this.registerHandler(commandId, options.handler);
306
+ }
307
+ if (options.contribution && options.contribution.target) {
308
+ contributionRegistry.registerContribution(options.contribution.target, {
309
+ command: commandId,
310
+ ...options.contribution
311
+ });
312
+ }
313
+ }
314
+ }
315
+ const commandRegistry = new CommandRegistry();
316
+ rootContext.put("commandRegistry", commandRegistry);
317
+ const registerAll = (options) => {
318
+ commandRegistry.registerAll(options);
319
+ };
320
+ const watchSignal = (signal2, callback) => {
321
+ const watcher = new Signal.subtle.Watcher(async () => {
322
+ try {
323
+ await 0;
324
+ callback(signal2.get());
325
+ } finally {
326
+ watcher.watch(signal2);
327
+ }
328
+ });
329
+ watcher.watch(signal2);
330
+ signal2.get();
331
+ return () => {
332
+ watcher.unwatch(signal2);
333
+ };
334
+ };
335
+ Object.defineProperty(LitElement.prototype, "model", {
336
+ enumerable: true,
337
+ configurable: true,
338
+ writable: true
339
+ });
340
+ class KWidget extends SignalWatcher(LitElement) {
341
+ constructor() {
342
+ super(...arguments);
343
+ this.signalCleanups = /* @__PURE__ */ new Set();
344
+ this.eventSubscriptions = /* @__PURE__ */ new Set();
345
+ }
346
+ connectedCallback() {
347
+ super.connectedCallback();
348
+ this.doBeforeUI();
349
+ }
350
+ disconnectedCallback() {
351
+ super.disconnectedCallback();
352
+ this.eventSubscriptions.forEach((token) => unsubscribe(token));
353
+ this.eventSubscriptions.clear();
354
+ this.signalCleanups.forEach((cleanup) => cleanup());
355
+ this.signalCleanups.clear();
356
+ }
357
+ subscribe(topic, callback) {
358
+ const token = subscribe(topic, callback.bind(this));
359
+ this.eventSubscriptions.add(token);
360
+ }
361
+ showInfo(msg) {
362
+ toastInfo(msg);
363
+ }
364
+ showError(msg) {
365
+ toastError(msg);
366
+ }
367
+ nobubble(wrap) {
368
+ return (event) => {
369
+ event.stopPropagation();
370
+ wrap.bind(this)(event);
371
+ };
372
+ }
373
+ command(command, state = {}) {
374
+ return () => {
375
+ this.executeCommand(command, state);
376
+ };
377
+ }
378
+ executeCommand(command, params) {
379
+ const execContext = commandRegistry.createExecutionContext(params);
380
+ commandRegistry.execute(command, execContext);
381
+ }
382
+ watch(signal2, callback) {
383
+ const cleanup = watchSignal(signal2, callback.bind(this));
384
+ this.signalCleanups.add(cleanup);
385
+ }
386
+ firstUpdated(_changedProperties) {
387
+ super.firstUpdated(_changedProperties);
388
+ this.doInitUI();
389
+ }
390
+ updateIdle() {
391
+ requestIdleCallback(() => this.requestUpdate());
392
+ }
393
+ updateLater() {
394
+ requestAnimationFrame(() => this.requestUpdate());
395
+ }
396
+ doBeforeUI() {
397
+ }
398
+ doInitUI() {
399
+ }
400
+ withRefresh(callback) {
401
+ callback();
402
+ this.updateLater();
403
+ }
404
+ }
405
+ const __vite_glob_0_0 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='2'%20y='2'%20width='28'%20height='28'%20fill='%23FFCA28'/%3e%3cpath%20d='M19%2025.2879L21.0615%2023.9237C21.2231%2024.4313%2022.2462%2025.6368%2023.5385%2025.6368C24.8308%2025.6368%2025.4308%2024.931%2025.4308%2024.463C25.4308%2023.1878%2024.1112%2022.7382%2023.4774%2022.5223C23.374%2022.4871%2023.289%2022.4581%2023.2308%2022.4328C23.2009%2022.4198%2023.1558%2022.4025%2023.0979%2022.3804C22.393%2022.1111%2019.7923%2021.1175%2019.7923%2018.2373C19.7923%2015.065%2022.8538%2014.7002%2023.5462%2014.7002C23.9991%2014.7002%2026.1769%2014.7557%2027.2615%2016.7939L25.2615%2018.1898C24.8231%2017.3015%2024.0946%2017.0081%2023.6462%2017.0081C22.5385%2017.0081%2022.3077%2017.8201%2022.3077%2018.1898C22.3077%2019.227%2023.5112%2019.6919%2024.5273%2020.0844C24.7932%2020.1871%2025.0462%2020.2848%2025.2615%2020.3866C26.3692%2020.91%2028%2021.7666%2028%2024.463C28%2025.8136%2026.8672%2028.0002%2024.0154%2028.0002C20.1846%2028.0002%2019.1692%2025.7003%2019%2025.2879Z'%20fill='%233E3E3E'/%3e%3cpath%20d='M9%2025.5587L11.1487%2024.1953C11.317%2024.7026%2011.9713%2025.638%2012.9205%2025.638C13.8698%2025.638%2014.3557%2024.663%2014.3557%2024.1953V15.0002H16.9982V24.1953C17.041%2025.4636%2016.3376%2028.0002%2013.2332%2028.0002C10.379%2028.0002%209.19242%2026.3039%209%2025.5587Z'%20fill='%233E3E3E'/%3e%3c/svg%3e";
406
+ const __vite_glob_0_1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='-22%200%20300%20300'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20preserveAspectRatio='xMidYMid'%3e%3cg%3e%3cpath%20d='M10.5838307,156.409656%20L10.5838307,156.196646%20L10.5838307,123.657627%20L17.7200527,123.657627%20L17.7200527,158.912657%20C18.0516208,161.753926%2017.8075656,164.63288%2017.0023629,167.377784%20C16.19722,170.122687%2014.8474392,172.677251%2013.0335946,174.88924%20C9.6624625,177.797086%205.34298451,179.369568%200.891381719,179.309391%20L0.145805038,173.983903%20C3.01718628,173.985518%205.78730255,172.922981%207.92105685,171.001585%20C9.83826599,168.76489%2010.5838307,165.729334%2010.5838307,156.409656%20Z%20M63.8037763,152.209035%20C63.8037763,156.203166%2063.8037763,159.771277%2064.1232613,162.860071%20L57.7859014,162.860071%20L57.3598815,156.522711%20C56.0343268,158.765028%2054.1386519,160.616318%2051.8656486,161.888456%20C49.5925854,163.160593%2047.0232464,163.808237%2044.4187946,163.765408%20C38.2412071,163.765408%2030.8919752,160.410366%2030.8919752,146.723715%20L30.8919752,123.983721%20L38.0281972,123.983721%20L38.0281972,145.285823%20C38.0281972,152.688352%2040.3181887,157.641058%2046.7620834,157.641058%20C48.0878176,157.655354%2049.4030239,157.404719%2050.6306575,156.903927%20C51.8582911,156.403136%2052.9735276,155.662296%2053.9110465,154.724777%20C54.8485056,153.787318%2055.5894046,152.672022%2056.0901963,151.444448%20C56.5909282,150.216815%2056.8415633,148.901549%2056.8273268,147.575814%20L56.8273268,123.717444%20L63.9634889,123.717444%20L63.9634889,151.996025%20L63.8037763,152.209035%20Z%20M77.330762,136.653806%20C77.330762,131.70104%2077.330762,127.653648%2077.0112304,123.979032%20L83.4018876,123.979032%20L83.7213726,130.635931%20C85.1452074,128.23088%2087.1949721,126.257257%2089.6521533,124.925482%20C92.1093944,123.593709%2094.8819333,122.953703%2097.6742718,123.073695%20C107.153723,123.073695%20114.289945,131.008713%20114.289945,142.831393%20C114.289945,156.784292%20105.715831,163.707504%2096.4493898,163.707504%20C94.0776877,163.813321%2091.7187865,163.305232%2089.6009496,162.232346%20C87.4831127,161.159401%2085.6780613,159.558028%2084.3604623,157.583154%20L84.3604623,178.885226%20L77.330762,178.885226%20L77.330762,136.813578%20L77.330762,136.653806%20Z%20M84.3604623,147.038594%20C84.3797833,148.004885%2084.4867369,148.967408%2084.6800071,149.914378%20C85.2842232,152.279021%2086.6597255,154.374666%2088.5887785,155.869683%20C90.5178913,157.364761%2092.8904309,158.173852%2095.3310427,158.168947%20C102.840047,158.168947%20107.260258,152.044597%20107.260258,143.150938%20C107.260258,135.375686%20103.106354,128.718758%2095.59735,128.718758%20C92.6257387,128.962101%2089.844945,130.280974%2087.7762781,132.428062%20C85.7076111,134.575149%2084.4931374,137.403079%2084.3604623,140.381689%20L84.3604623,147.038594%20Z%20M127.004503,123.94359%20L135.578617,146.896647%20C136.483954,149.452886%20137.442529,152.54168%20138.081618,154.831671%20C138.827183,152.488442%20139.625985,149.506124%20140.58462,146.736875%20L148.359872,123.94359%20L155.868876,123.94359%20L145.21784,151.636343%20C139.892293,164.950152%20136.643726,171.820127%20131.744199,175.97403%20C129.27643,178.228071%20126.267791,179.805756%20123.010354,180.553953%20L121.252929,174.589376%20C123.530581,173.840999%20125.645092,172.666304%20127.48382,171.127799%20C130.081872,169.010501%20132.14366,166.310102%20133.501635,163.246013%20C133.792288,162.715372%20133.990404,162.139031%20134.087428,161.541814%20C134.026892,160.899135%20133.865146,160.270094%20133.60817,159.677902%20L119.122716,123.837079%20L126.897968,123.837079%20L127.004503,123.94359%20Z%20M174.813541,112.770851%20L174.813541,123.954441%20L185.038557,123.954441%20L185.038557,129.279989%20L174.813541,129.279989%20L174.813541,150.262575%20C174.813541,155.055568%20176.198196,157.824817%20180.139089,157.824817%20C181.538758,157.847727%20182.935316,157.686579%20184.292992,157.345559%20L184.612537,162.671047%20C182.57671,163.376355%20180.428486,163.701283%20178.275118,163.629682%20C176.849069,163.718929%20175.420569,163.498622%20174.087657,162.983833%20C172.754744,162.469044%20171.549004,161.671976%20170.553103,160.647363%20C168.383883,157.745977%20167.394359,154.130491%20167.783854,150.528882%20L167.783854,129.226751%20L161.712742,129.226751%20L161.712742,123.901204%20L167.890329,123.901204%20L167.890329,114.421764%20L174.813541,112.770851%20Z%20M198.184399,144.647511%20C198.03988,146.453639%20198.289199,148.269577%20198.915189,149.969888%20C199.541179,151.670199%20200.528884,153.214267%20201.810114,154.495437%20C203.091285,155.776667%20204.635352,156.764373%20206.335664,157.390363%20C208.035975,158.016352%20209.851913,158.265672%20211.658041,158.121153%20C215.311153,158.202863%20218.940457,157.513288%20222.309077,156.097409%20L223.533958,161.422956%20C219.400274,163.12572%20214.955358,163.942168%20210.486396,163.819423%20C207.881107,163.997798%20205.268101,163.61054%20202.826592,162.684147%20C200.385023,161.757814%20198.172795,160.3143%20196.341489,158.452721%20C194.51022,156.591082%20193.103284,154.355345%20192.217196,151.898941%20C191.331104,149.442478%20190.986827,146.82349%20191.207978,144.221491%20C191.207978,132.505346%20198.184399,123.238905%20209.581059,123.238905%20C222.362314,123.238905%20225.557643,134.422495%20225.557643,141.558717%20C225.625954,142.658281%20225.625954,143.761016%20225.557643,144.860581%20L198.024687,144.860581%20L198.184399,144.647511%20Z%20M219.06051,139.322023%20C219.266043,137.898188%20219.163995,136.446897%20218.761184,135.065892%20C218.358433,133.684886%20217.664311,132.406228%20216.725656,131.316115%20C215.786941,130.226062%20214.625525,129.349856%20213.31959,128.746561%20C212.013656,128.143278%20210.59353,127.826939%20209.155039,127.818864%20C206.228949,128.030665%20203.487515,129.327603%20201.467959,131.455549%20C199.448402,133.583436%20198.296377,136.388874%20198.237697,139.322023%20L219.06051,139.322023%20Z%20M236.385366,136.053478%20C236.385366,131.473555%20236.385366,127.532637%20236.065834,123.911277%20L242.456492,123.911277%20L242.456492,131.526792%20L242.775977,131.526792%20C243.446769,129.176325%20244.83268,127.093027%20246.741335,125.566097%20C248.64999,124.039161%20250.986699,123.144369%20253.427072,123.005938%20C254.098762,122.917777%20254.779066,122.917777%20255.450756,123.005938%20L255.450756,129.66288%20C254.63688,129.568608%20253.814868,129.568608%20253.000992,129.66288%20C250.58353,129.756495%20248.282771,130.726973%20246.528505,132.393068%20C244.774238,134.059104%20243.686458,136.306745%20243.468304,138.716252%20C243.269171,139.805946%20243.162278,140.910475%20243.148819,142.018055%20L243.148819,162.734394%20L236.11909,162.734394%20L236.11909,136.106715%20L236.385366,136.053478%20Z'%20fill='%234E4E4E'%3e%3c/path%3e%3cpath%20d='M233.257943,16.9621357%20C233.476636,20.5398773%20232.625434,24.1017075%20230.812666,27.1939108%20C228.999898,30.286174%20226.307754,32.7687777%20223.079047,34.3255867%20C219.85034,35.8823358%20216.231324,36.4427655%20212.683013,35.9355136%20C209.134702,35.4282017%20205.817704,33.8761781%20203.154559,31.4770796%20C200.491421,29.0780409%20198.602703,25.9404959%20197.729013,22.4642047%20C196.855323,18.9879135%20197.036209,15.330196%20198.248625,11.9570899%20C199.461041,8.5839838%20201.650109,5.64808944%20204.536953,3.52346926%20C207.423803,1.39884909%20210.877782,0.181657262%20214.458814,0.0269503701%20C216.806708,-0.10224713%20219.156996,0.233972409%20221.374429,1.01627461%20C223.591922,1.79857323%20225.632893,3.01152758%20227.379981,4.58537259%20C229.12701,6.15922358%20230.54576,8.06291398%20231.554522,10.1869719%20C232.563283,12.3110298%20233.142196,14.6135829%20233.257943,16.9621357%20Z'%20fill='%23767677'%3e%3c/path%3e%3cpath%20d='M127.952969,225.540984%20C80.0236372,225.540984%2037.8984531,208.339518%2016.1170646,182.936721%20C24.5683135,205.78944%2039.8176362,225.504615%2059.8124569,239.428562%20C79.8070981,253.352629%20103.588124,260.816651%20127.952969,260.816651%20C152.318411,260.816651%20176.098839,253.352629%20196.094019,239.428562%20C216.0886,225.504615%20231.337863,205.78944%20239.789471,182.936721%20C218.061379,208.339518%20176.095848,225.540984%20127.952969,225.540984%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M127.952969,60.3543133%20C175.882898,60.3543133%20218.008142,77.5557785%20239.789471,102.958396%20C231.337863,80.1058563%20216.0886,60.3906823%20196.094019,46.4667348%20C176.098839,32.5427873%20152.318411,25.0784666%20127.952969,25.0784666%20C103.588124,25.0784666%2079.8070981,32.5427873%2059.8124569,46.4667348%20C39.8176362,60.3906823%2024.5683135,80.1058563%2016.1170646,102.958396%20C37.8984531,77.502541%2079.8106871,60.3543133%20127.952969,60.3543133%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M61.9716874,274.975202%20C62.2528294,279.48161%2061.186045,283.969713%2058.9072992,287.867658%20C56.6284936,291.765602%2053.2409116,294.896926%2049.1761363,296.862707%20C45.1113611,298.828488%2040.5533909,299.539717%2036.0829934,298.905772%20C31.6125362,298.271767%2027.4320141,296.321359%2024.0740419,293.30297%20C20.7160636,290.284582%2018.3326671,286.334835%2017.2274978,281.957035%20C16.1223339,277.579176%2016.3454363,272.971497%2017.868382,268.720869%20C19.3913284,264.470301%2022.1451683,260.769335%2025.7790187,258.089483%20C29.4129289,255.40962%2033.7623156,253.872201%2038.2730898,253.673106%20C41.2280121,253.515051%2044.1851476,253.940738%2046.9755719,254.925846%20C49.7659364,255.910962%2052.3349165,257.436187%2054.5356604,259.414404%20C56.7364042,261.392633%2058.5259031,263.785032%2059.8017495,266.455044%20C61.0776558,269.124996%2061.8150255,272.02022%2061.9716874,274.975202%20Z'%20fill='%239E9E9E'%3e%3c/path%3e%3cpath%20d='M21.5641016,54.5650606%20C18.9814831,54.6363631%2016.4354131,53.9424806%2014.2460944,52.570687%20C12.0567996,51.1988336%2010.3219858,49.2102622%209.25983722,46.8551295%20C8.19768984,44.499937%207.85562972,41.8832824%208.276674,39.3342215%20C8.69771827,36.7851606%209.86306631,34.4174662%2011.6261678,32.5289814%20C13.3892752,30.6404727%2015.6714246,29.3154324%2018.1856119,28.7204982%20C20.6997394,28.1255646%2023.3336813,28.2873008%2025.7562282,29.1853653%20C28.1787154,30.0834346%2030.2815979,31.6777312%2031.800363,33.767765%20C33.3191879,35.8578106%2034.1861222,38.3502842%2034.2921188,40.9317063%20C34.3930308,44.4222341%2033.113057,47.8117302%2030.7300493,50.3642007%20C28.3470417,52.916731%2025.0533134,54.4262842%2021.5641016,54.5650606%20Z'%20fill='%23616262'%3e%3c/path%3e%3c/g%3e%3c/svg%3e";
407
+ const __vite_glob_0_2 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
408
+ registerIconLibrary("k", {
409
+ resolver: (name) => {
410
+ return new URL((/* @__PURE__ */ Object.assign({ "../icons/js.svg": __vite_glob_0_0, "../icons/jupyter.svg": __vite_glob_0_1, "../icons/python.svg": __vite_glob_0_2 }))[`../icons/${name}.svg`], import.meta.url).href;
411
+ },
412
+ mutator: (svg) => {
413
+ svg.setAttribute("fill", "currentColor");
414
+ svg.setAttribute("stroke", "currentColor");
415
+ }
416
+ });
417
+ var __defProp = Object.defineProperty;
418
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
419
+ var __decorateClass = (decorators, target, key, kind) => {
420
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
421
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
422
+ if (decorator = decorators[i])
423
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
424
+ if (kind && result) __defProp(target, key, result);
425
+ return result;
426
+ };
427
+ let KIcon = class extends KWidget {
428
+ constructor() {
429
+ super(...arguments);
430
+ this.family = "regular";
431
+ }
432
+ render() {
433
+ if (!this.name) {
434
+ return "";
435
+ }
436
+ const parts = this.name.trim().split(/ +/);
437
+ const iconName = parts.pop();
438
+ const library = parts.pop();
439
+ return html`
440
+ <wa-icon library="${library || nothing}" variant="${this.variant || nothing}"
441
+ family="${this.family || nothing}" name=${iconName} label="${this.label || this.name || nothing}"></wa-icon>`;
442
+ }
443
+ };
444
+ KIcon.styles = css`
445
+ :host {
446
+ display: contents;
447
+ }
448
+ `;
449
+ __decorateClass([
450
+ property()
451
+ ], KIcon.prototype, "name", 2);
452
+ __decorateClass([
453
+ property()
454
+ ], KIcon.prototype, "family", 2);
455
+ __decorateClass([
456
+ property()
457
+ ], KIcon.prototype, "variant", 2);
458
+ __decorateClass([
459
+ property()
460
+ ], KIcon.prototype, "label", 2);
461
+ KIcon = __decorateClass([
462
+ customElement("k-icon")
463
+ ], KIcon);
464
+ export {
465
+ CommandRegistry as C,
466
+ EMPTY_SIGNALPORT as E,
467
+ KWidget as K,
468
+ TOPIC_CONTRIBUTEIONS_CHANGED as T,
469
+ CommandStack as a,
470
+ activeEditorSignal as b,
471
+ activePartSignal as c,
472
+ activeSelectionSignal as d,
473
+ activeTasksSignal as e,
474
+ commandRegistry as f,
475
+ contributionRegistry as g,
476
+ createLogger as h,
477
+ defaultLogger as i,
478
+ perspectiveSwitchedSignal as j,
479
+ rootContext as k,
480
+ toastInfo as l,
481
+ toastWarning as m,
482
+ TOPIC_COMMAND_REGISTERED as n,
483
+ registerLogHandler as o,
484
+ partDirtySignal as p,
485
+ unregisterLogHandler as q,
486
+ registerAll as r,
487
+ setLogLevel as s,
488
+ toastError as t,
489
+ uiContext as u,
490
+ watchSignal as w
491
+ };
492
+ //# sourceMappingURL=k-icon-BZC7dQV0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"k-icon-BZC7dQV0.js","sources":["../src/core/di.ts","../src/core/toast.ts","../src/core/logger.ts","../src/core/contributionregistry.ts","../src/core/appstate.ts","../src/core/commandregistry.ts","../src/core/signals.ts","../src/widgets/k-widget.ts","../src/icons/js.svg?url","../src/icons/jupyter.svg?url","../src/icons/python.svg?url","../src/core/k-utils.ts","../src/widgets/k-icon.ts"],"sourcesContent":["export class DependencyContext {\n private variables: any;\n private proxy: any;\n private children: DependencyContext[] = [];\n private parent?: DependencyContext;\n\n constructor(variables: any) {\n this.variables = variables\n // @ts-ignore\n this.proxy = new Proxy(variables, this)\n }\n\n get(target: any, prop: string): any {\n return target[prop] || this.parent?.getProxy()[prop];\n }\n\n set(target: any, prop: string, value: any) {\n target[prop] = value;\n }\n\n put(prop: string, value: any) {\n this.variables[prop] = value;\n }\n\n public getProxy() {\n return this.proxy;\n }\n\n public createChild(variables: any = {}): DependencyContext {\n const child = new DependencyContext(variables)\n child.parent = this\n this.children.push(child)\n return child\n }\n\n getChildren() {\n return this.children;\n }\n\n getParent() {\n return this.parent;\n }\n\n destroy() {\n const index = this.parent?.children.indexOf(this)\n if (index !== undefined && index >= 0) {\n this.parent?.children.splice(index, 1)\n }\n this.parent = undefined\n }\n}\n\nexport const rootContext = new DependencyContext({});\nexport const uiContext = rootContext.createChild({});","export const toastInfo = (msg: string) => {\n console.info(\"[TOAST] INFO:\", msg);\n}\n\nexport const toastError = (msg: string) => {\n console.error(\"[TOAST] ERROR:\", msg);\n}\n\nexport const toastWarning = (msg: string) => {\n console.warn(\"[TOAST] WARNING:\", msg);\n}","import { rootContext } from './di';\n\nexport type LogLevel = 'info' | 'warning' | 'error' | 'debug';\n\nconst LogLevelPriority: Record<LogLevel, number> = {\n 'debug': 0,\n 'info': 1,\n 'warning': 2,\n 'error': 3,\n};\n\n// Global log level filter\nlet globalLogLevel: LogLevel = 'debug';\n\n// Store original console methods before any interception\nconst originalConsole = {\n log: console.log.bind(console),\n info: console.info.bind(console),\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n debug: console.debug.bind(console)\n};\n\n// Log handler type\ntype LogHandler = (source: string, message: string, level: LogLevel) => void;\n\n// Registered log handler (set by UI components like k-log-terminal)\nlet logHandler: LogHandler | null = null;\n\n// Message buffer for logs that occur before handler is registered\nconst messageBuffer: Array<{source: string, message: string, level: LogLevel}> = [];\n\n// Format console arguments\nfunction formatArg(arg: any): string {\n if (arg === null) return 'null';\n if (arg === undefined) return 'undefined';\n if (typeof arg === 'string') return arg;\n if (typeof arg === 'number' || typeof arg === 'boolean') return String(arg);\n if (arg instanceof Error) return `${arg.name}: ${arg.message}`;\n \n try {\n return JSON.stringify(arg);\n } catch {\n return String(arg);\n }\n}\n\n/**\n * Global logger utility for logging messages\n */\nexport class Logger {\n constructor(private source: string) {}\n\n info(message: string) {\n this.log(message, 'info');\n }\n\n warning(message: string) {\n this.log(message, 'warning');\n }\n\n warn(message: string) {\n this.log(message, 'warning');\n }\n\n error(message: string) {\n this.log(message, 'error');\n }\n\n debug(message: string) {\n this.log(message, 'debug');\n }\n\n private log(message: string, level: LogLevel) {\n dispatch(this.source, message, level);\n }\n}\n\n/**\n * Check if a log level should be displayed based on current filter\n */\nfunction shouldLog(level: LogLevel): boolean {\n return LogLevelPriority[level] >= LogLevelPriority[globalLogLevel];\n}\n\n/**\n * Dispatch a log message to the registered handler (or buffer it if no handler registered)\n */\nfunction dispatch(source: string, message: string, level: LogLevel) {\n if (!shouldLog(level)) {\n return;\n }\n\n if (logHandler) {\n logHandler(source, message, level);\n } else {\n // Buffer the message until handler is registered\n messageBuffer.push({ source, message, level });\n // Also log to console as fallback\n originalConsole[level === 'error' ? 'error' : level === 'warning' ? 'warn' : level === 'debug' ? 'debug' : 'log'](\n `[${source}] ${message}`\n );\n }\n}\n\n/**\n * Initialize console interception globally\n * Note: This is called automatically when the logger module is imported\n */\nexport function initializeConsoleInterception() {\n console.log = function(...args: any[]) {\n originalConsole.log.apply(console, args);\n dispatch('Console', args.map(a => formatArg(a)).join(' '), 'info');\n };\n \n console.info = function(...args: any[]) {\n originalConsole.info.apply(console, args);\n dispatch('Console', args.map(a => formatArg(a)).join(' '), 'info');\n };\n \n console.warn = function(...args: any[]) {\n originalConsole.warn.apply(console, args);\n dispatch('Console', args.map(a => formatArg(a)).join(' '), 'warning');\n };\n \n console.error = function(...args: any[]) {\n originalConsole.error.apply(console, args);\n dispatch('Console', args.map(a => formatArg(a)).join(' '), 'error');\n };\n \n console.debug = function(...args: any[]) {\n originalConsole.debug.apply(console, args);\n dispatch('Console', args.map(a => formatArg(a)).join(' '), 'debug');\n };\n}\n\n// Auto-initialize console interception when this module is imported\ninitializeConsoleInterception();\n\n/**\n * Register a handler to receive log messages\n * Also flushes any buffered messages to the new handler\n */\nexport function registerLogHandler(handler: LogHandler) {\n logHandler = handler;\n \n // Flush buffered messages\n while (messageBuffer.length > 0) {\n const msg = messageBuffer.shift();\n if (msg) {\n handler(msg.source, msg.message, msg.level);\n }\n }\n}\n\n/**\n * Unregister the current log handler\n */\nexport function unregisterLogHandler() {\n logHandler = null;\n}\n\n/**\n * Create a logger instance for a specific source\n */\nexport function createLogger(source: string): Logger {\n return new Logger(source);\n}\n\n/**\n * Set the global log level filter\n */\nexport function setLogLevel(level: LogLevel) {\n globalLogLevel = level;\n}\n\n/**\n * Default logger instance for backward compatibility\n * This provides a simple logger similar to the old logging.ts\n */\nconst defaultLogger = createLogger('System');\n\n// Register default logger in DI container for backward compatibility\nrootContext.put('logger', defaultLogger);\n\nexport default defaultLogger;\n\n","import {Signal} from \"@lit-labs/signals\";\nimport {TemplateResult} from \"lit\";\nimport {publish} from \"./events\";\nimport {rootContext} from \"./di\";\n\nexport const TOPIC_CONTRIBUTEIONS_CHANGED = \"events/contributionregistry/contributionsChanged\"\n\nexport interface ContributionChangeEvent {\n target: string;\n contributions: Contribution[];\n}\n\nexport interface Contribution {\n target?: string;\n label: string;\n icon?: string;\n slot?: string;\n}\n\nexport interface CommandContribution extends Contribution {\n command: string;\n params?: Record<string, any>;\n showLabel?: boolean;\n disabled?: (() => boolean) | Signal.Computed<boolean>;\n}\n\nexport interface HTMLContribution extends Contribution {\n html: string | (() => TemplateResult)\n}\n\nexport interface TabContribution extends Contribution {\n name: string;\n editorId?: string;\n closable?: boolean;\n noOverflow?: boolean;\n component?: (id: string) => TemplateResult;\n}\n\nexport interface PaneContribution extends Contribution {\n name: string;\n size?: number;\n minSize?: number;\n maxSize?: number;\n order?: number;\n component: () => TemplateResult;\n}\n\nexport interface IconContribution extends Contribution {\n mappings: Record<string, string>;\n priority?: number;\n}\n\nclass ContributionRegistry {\n private contributions: Map<string, Contribution[]> = new Map();\n\n registerContribution<T extends Contribution>(target: string, contribution: T) {\n const targetSlot = this.getContributions(target)!\n if (\"command\" in contribution) {\n const cmd = contribution as unknown as CommandContribution\n if (cmd.disabled instanceof Function) {\n cmd.disabled = new Signal.Computed<boolean>(cmd.disabled)\n }\n }\n targetSlot.push(contribution);\n publish(TOPIC_CONTRIBUTEIONS_CHANGED, { target, contributions: targetSlot } as ContributionChangeEvent)\n }\n\n getContributions<T extends Contribution>(target: string): T[] {\n if (!this.contributions.has(target)) {\n this.contributions.set(target, [])\n }\n return this.contributions.get(target)! as T[]\n }\n}\n\nexport const contributionRegistry = new ContributionRegistry()\nrootContext.put(\"contributionRegistry\", contributionRegistry)","import {signal} from '@lit-labs/signals';\nimport {KPart} from \"../parts/k-part\";\n\nexport const EMPTY_SIGNALPORT = {} as any\n\nexport const activePartSignal = signal<KPart>(null as unknown as KPart)\nexport const activeEditorSignal = signal<KPart>(null as unknown as KPart)\n\nexport const partDirtySignal = signal<KPart>(null as unknown as KPart)\n\nexport const activeTasksSignal = signal<number>(0)\n\nexport const activeSelectionSignal = signal<any>(undefined)\n\nexport const perspectiveSwitchedSignal = signal<{name: string, timestamp: number}>({name: '', timestamp: 0})","import logger from \"./logger\";\nimport { publish } from \"./events\";\nimport { CommandContribution, Contribution, contributionRegistry } from \"./contributionregistry\";\nimport { rootContext } from \"./di\";\nimport { activePartSignal, activeEditorSignal } from \"./appstate\";\n\nexport const TOPIC_COMMAND_REGISTERED = \"events/commandregistry/commandRegistered\";\n\nexport interface Parameter {\n name: string;\n description: string;\n type?: string;\n required: boolean;\n allowedValues?: string[];\n}\n\nexport interface Variable {\n name: string;\n description: string;\n type?: string;\n}\n\nexport interface LLMOptions {\n prompt?: string;\n model?: string;\n}\n\nexport class Command {\n id: string;\n name: string;\n description: string;\n icon?: string;\n keyBinding?: string;\n parameters?: Parameter[];\n output?: Variable[];\n llm?: LLMOptions;\n\n constructor(id: string, name: string, description: string, parameters?: Parameter[], output?: Variable[]) {\n this.id = id;\n this.name = name;\n this.description = description;\n this.parameters = parameters || [];\n this.output = output || [];\n }\n}\n\nexport interface ExecutionContext {\n [key: string]: any;\n\n params?: ExecuteParams;\n activePart?: any;\n activeEditor?: any;\n}\n\nexport interface ExecuteParams {\n [key: string]: any;\n}\n\nexport interface Handler {\n canExecute?: (context: ExecutionContext) => boolean;\n execute: (context: ExecutionContext) => any;\n ranking?: number; // Higher ranking = higher priority (default: 0)\n}\n\nexport interface Commands {\n [commandId: string]: Command\n}\n\nexport class CommandStack {\n //private stack: any[] = []\n\n public async execute(commandId: any, context: ExecutionContext) {\n return commandRegistry.execute(commandId, context);\n }\n\n public async undo() {\n // TODO undo last command on stack\n }\n\n public async redo() {\n // TODO redo last command on stack\n }\n}\n\nexport class CommandRegistry {\n private commands: Commands = {};\n private handlers: Map<string, Handler[]> = new Map();\n\n registerHandler(commandId: string, handler: Handler) {\n if (!this.handlers.has(commandId)) {\n this.handlers.set(commandId, []);\n }\n const handlerList = this.handlers.get(commandId) as Handler[];\n handlerList.push(handler);\n // Sort by ranking (higher ranking first), default ranking is 0\n handlerList.sort((a, b) => (b.ranking ?? 0) - (a.ranking ?? 0));\n }\n\n getHandler(commandId: string): Handler[] | undefined {\n return this.handlers.get(commandId)\n }\n\n /**\n * Creates an ExecutionContext with the current application state\n * \n * @param params Optional command parameters\n * @returns ExecutionContext with captured application state\n */\n createExecutionContext(params?: ExecuteParams): ExecutionContext {\n const context: ExecutionContext = {\n params: params || {},\n activePart: activePartSignal.get(),\n activeEditor: activeEditorSignal.get()\n };\n\n return context;\n }\n\n execute(commandId: string, context: ExecutionContext = {}) {\n const handlers = this.getHandler(commandId);\n\n if (!handlers) {\n logger.debug(`[CommandRegistry] No handlers registered for command: ${commandId}`);\n throw new Error(`No handlers registered for command: ${commandId}`);\n }\n\n const command = this.getCommand(commandId);\n const paramsStr = context.params ? ` params: ${JSON.stringify(context.params)}` : '';\n logger.debug(`[CommandRegistry] Executing command: ${commandId}${command ? ` (${command.name})` : ''}${paramsStr}`);\n\n // Handlers are already sorted by ranking, so iterate in order\n for (const handler of handlers) {\n if (handler.canExecute === undefined || handler.canExecute(context)) {\n try {\n const result: any | Promise<any> = handler.execute(context);\n logger.debug(`[CommandRegistry] Command executed successfully: ${commandId} (result: ${result})`);\n return result;\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error);\n logger.error(`[CommandRegistry] Command execution failed: ${commandId} - ${errorMsg}`);\n throw error;\n }\n }\n }\n logger.error(`[CommandRegistry] No handler found to execute command: ${commandId}`);\n }\n\n createAndRegisterCommand(id: string, name: string, description: string, parameters: Parameter[], handler?: Handler) {\n const command = new Command(id, name, description, parameters);\n this.registerCommand(command)\n if (handler) {\n this.registerHandler(id, handler)\n }\n }\n\n registerCommand(command: Command): void {\n this.commands[command.id] = command;\n logger.debug(`Command registered: ${command.id}`);\n publish(TOPIC_COMMAND_REGISTERED, command);\n }\n\n hasCommand(commandId: string): boolean {\n return commandId in this.commands\n }\n\n listCommands(context?: ExecutionContext): Commands {\n if (context) {\n // filter by commands which have at least one executable handler\n return Object.values(this.commands).filter(command => {\n const handlers = commandRegistry.getHandler(command.id) || []\n return handlers.some(handler => handler.canExecute === undefined || handler.canExecute(context))\n }).reduce((acc: any, command) => {\n acc[command.id] = command\n return acc\n }, {})\n }\n return this.commands\n }\n\n getCommand(commandId: string): Command {\n return <Command>this.commands[commandId]\n }\n\n registerAll(options: RegisterOptions) {\n const commandId = options.command.id\n this.registerCommand(options.command)\n if (options.handler) {\n this.registerHandler(commandId, options.handler)\n }\n if (options.contribution && options.contribution.target) {\n contributionRegistry.registerContribution(options.contribution.target, {\n command: commandId,\n ...options.contribution\n } as CommandContribution)\n }\n }\n}\n\nexport const commandRegistry = new CommandRegistry();\nrootContext.put(\"commandRegistry\", commandRegistry);\n\nexport interface RegisterOptions {\n command: Command,\n handler?: Handler,\n contribution?: Contribution\n}\n\nexport const registerAll = (options: RegisterOptions) => {\n commandRegistry.registerAll(options);\n}","import {Signal} from \"@lit-labs/signals\";\n\nexport const watchSignal = (signal: Signal.State<any> | Signal.Computed<any>, callback: (value: any) => void): (() => void) => {\n const watcher = new Signal.subtle.Watcher(async () => {\n try {\n await 0;\n callback(signal.get());\n } finally {\n watcher.watch(signal);\n }\n });\n watcher.watch(signal);\n signal.get();\n \n return () => {\n watcher.unwatch(signal);\n };\n}\n","import {LitElement, PropertyValues} from \"lit\";\nimport {subscribe as event_subscribe, unsubscribe as event_unsubscribe, type SubscriptionToken} from \"../core/events\";\nimport {toastError, toastInfo} from \"../core/toast\";\nimport {commandRegistry, ExecuteParams} from \"../core/commandregistry\";\nimport {Signal, SignalWatcher} from \"@lit-labs/signals\";\nimport {watchSignal} from \"../core/signals\";\n\nObject.defineProperty(LitElement.prototype, \"model\", {\n enumerable: true,\n configurable: true,\n writable: true\n});\n\nexport abstract class KWidget extends SignalWatcher(LitElement) {\n private signalCleanups = new Set<() => void>();\n private eventSubscriptions = new Set<SubscriptionToken>();\n\n connectedCallback() {\n super.connectedCallback();\n this.doBeforeUI()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.eventSubscriptions.forEach(token => event_unsubscribe(token));\n this.eventSubscriptions.clear();\n this.signalCleanups.forEach(cleanup => cleanup());\n this.signalCleanups.clear();\n }\n\n protected subscribe(topic: string, callback: Function): void {\n const token = event_subscribe(topic, callback.bind(this));\n this.eventSubscriptions.add(token);\n }\n\n protected showInfo(msg: string) {\n toastInfo(msg)\n }\n\n protected showError(msg: string) {\n toastError(msg)\n }\n\n protected nobubble(wrap: (event: Event) => void) {\n return (event: Event) => {\n event.stopPropagation();\n wrap.bind(this)(event);\n };\n }\n\n protected command(command: string, state: {} = {}) {\n return () => {\n this.executeCommand(command, state)\n };\n }\n\n protected executeCommand(command: string, params: ExecuteParams) {\n const execContext = commandRegistry.createExecutionContext(params);\n commandRegistry.execute(command, execContext);\n }\n\n protected watch(signal: Signal.State<any> | Signal.Computed<any>, callback: (value: any) => void): void {\n const cleanup = watchSignal(signal as Signal.State<any>, callback.bind(this));\n this.signalCleanups.add(cleanup);\n }\n\n protected firstUpdated(_changedProperties: PropertyValues) {\n super.firstUpdated(_changedProperties);\n this.doInitUI()\n }\n\n protected updateIdle() {\n requestIdleCallback(() => this.requestUpdate())\n }\n\n public updateLater() {\n requestAnimationFrame(() => this.requestUpdate())\n }\n\n protected doBeforeUI() {\n }\n\n protected doInitUI() {\n }\n\n withRefresh(callback: () => void) {\n callback()\n this.updateLater()\n }\n}\n","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='2'%20y='2'%20width='28'%20height='28'%20fill='%23FFCA28'/%3e%3cpath%20d='M19%2025.2879L21.0615%2023.9237C21.2231%2024.4313%2022.2462%2025.6368%2023.5385%2025.6368C24.8308%2025.6368%2025.4308%2024.931%2025.4308%2024.463C25.4308%2023.1878%2024.1112%2022.7382%2023.4774%2022.5223C23.374%2022.4871%2023.289%2022.4581%2023.2308%2022.4328C23.2009%2022.4198%2023.1558%2022.4025%2023.0979%2022.3804C22.393%2022.1111%2019.7923%2021.1175%2019.7923%2018.2373C19.7923%2015.065%2022.8538%2014.7002%2023.5462%2014.7002C23.9991%2014.7002%2026.1769%2014.7557%2027.2615%2016.7939L25.2615%2018.1898C24.8231%2017.3015%2024.0946%2017.0081%2023.6462%2017.0081C22.5385%2017.0081%2022.3077%2017.8201%2022.3077%2018.1898C22.3077%2019.227%2023.5112%2019.6919%2024.5273%2020.0844C24.7932%2020.1871%2025.0462%2020.2848%2025.2615%2020.3866C26.3692%2020.91%2028%2021.7666%2028%2024.463C28%2025.8136%2026.8672%2028.0002%2024.0154%2028.0002C20.1846%2028.0002%2019.1692%2025.7003%2019%2025.2879Z'%20fill='%233E3E3E'/%3e%3cpath%20d='M9%2025.5587L11.1487%2024.1953C11.317%2024.7026%2011.9713%2025.638%2012.9205%2025.638C13.8698%2025.638%2014.3557%2024.663%2014.3557%2024.1953V15.0002H16.9982V24.1953C17.041%2025.4636%2016.3376%2028.0002%2013.2332%2028.0002C10.379%2028.0002%209.19242%2026.3039%209%2025.5587Z'%20fill='%233E3E3E'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='-22%200%20300%20300'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20preserveAspectRatio='xMidYMid'%3e%3cg%3e%3cpath%20d='M10.5838307,156.409656%20L10.5838307,156.196646%20L10.5838307,123.657627%20L17.7200527,123.657627%20L17.7200527,158.912657%20C18.0516208,161.753926%2017.8075656,164.63288%2017.0023629,167.377784%20C16.19722,170.122687%2014.8474392,172.677251%2013.0335946,174.88924%20C9.6624625,177.797086%205.34298451,179.369568%200.891381719,179.309391%20L0.145805038,173.983903%20C3.01718628,173.985518%205.78730255,172.922981%207.92105685,171.001585%20C9.83826599,168.76489%2010.5838307,165.729334%2010.5838307,156.409656%20Z%20M63.8037763,152.209035%20C63.8037763,156.203166%2063.8037763,159.771277%2064.1232613,162.860071%20L57.7859014,162.860071%20L57.3598815,156.522711%20C56.0343268,158.765028%2054.1386519,160.616318%2051.8656486,161.888456%20C49.5925854,163.160593%2047.0232464,163.808237%2044.4187946,163.765408%20C38.2412071,163.765408%2030.8919752,160.410366%2030.8919752,146.723715%20L30.8919752,123.983721%20L38.0281972,123.983721%20L38.0281972,145.285823%20C38.0281972,152.688352%2040.3181887,157.641058%2046.7620834,157.641058%20C48.0878176,157.655354%2049.4030239,157.404719%2050.6306575,156.903927%20C51.8582911,156.403136%2052.9735276,155.662296%2053.9110465,154.724777%20C54.8485056,153.787318%2055.5894046,152.672022%2056.0901963,151.444448%20C56.5909282,150.216815%2056.8415633,148.901549%2056.8273268,147.575814%20L56.8273268,123.717444%20L63.9634889,123.717444%20L63.9634889,151.996025%20L63.8037763,152.209035%20Z%20M77.330762,136.653806%20C77.330762,131.70104%2077.330762,127.653648%2077.0112304,123.979032%20L83.4018876,123.979032%20L83.7213726,130.635931%20C85.1452074,128.23088%2087.1949721,126.257257%2089.6521533,124.925482%20C92.1093944,123.593709%2094.8819333,122.953703%2097.6742718,123.073695%20C107.153723,123.073695%20114.289945,131.008713%20114.289945,142.831393%20C114.289945,156.784292%20105.715831,163.707504%2096.4493898,163.707504%20C94.0776877,163.813321%2091.7187865,163.305232%2089.6009496,162.232346%20C87.4831127,161.159401%2085.6780613,159.558028%2084.3604623,157.583154%20L84.3604623,178.885226%20L77.330762,178.885226%20L77.330762,136.813578%20L77.330762,136.653806%20Z%20M84.3604623,147.038594%20C84.3797833,148.004885%2084.4867369,148.967408%2084.6800071,149.914378%20C85.2842232,152.279021%2086.6597255,154.374666%2088.5887785,155.869683%20C90.5178913,157.364761%2092.8904309,158.173852%2095.3310427,158.168947%20C102.840047,158.168947%20107.260258,152.044597%20107.260258,143.150938%20C107.260258,135.375686%20103.106354,128.718758%2095.59735,128.718758%20C92.6257387,128.962101%2089.844945,130.280974%2087.7762781,132.428062%20C85.7076111,134.575149%2084.4931374,137.403079%2084.3604623,140.381689%20L84.3604623,147.038594%20Z%20M127.004503,123.94359%20L135.578617,146.896647%20C136.483954,149.452886%20137.442529,152.54168%20138.081618,154.831671%20C138.827183,152.488442%20139.625985,149.506124%20140.58462,146.736875%20L148.359872,123.94359%20L155.868876,123.94359%20L145.21784,151.636343%20C139.892293,164.950152%20136.643726,171.820127%20131.744199,175.97403%20C129.27643,178.228071%20126.267791,179.805756%20123.010354,180.553953%20L121.252929,174.589376%20C123.530581,173.840999%20125.645092,172.666304%20127.48382,171.127799%20C130.081872,169.010501%20132.14366,166.310102%20133.501635,163.246013%20C133.792288,162.715372%20133.990404,162.139031%20134.087428,161.541814%20C134.026892,160.899135%20133.865146,160.270094%20133.60817,159.677902%20L119.122716,123.837079%20L126.897968,123.837079%20L127.004503,123.94359%20Z%20M174.813541,112.770851%20L174.813541,123.954441%20L185.038557,123.954441%20L185.038557,129.279989%20L174.813541,129.279989%20L174.813541,150.262575%20C174.813541,155.055568%20176.198196,157.824817%20180.139089,157.824817%20C181.538758,157.847727%20182.935316,157.686579%20184.292992,157.345559%20L184.612537,162.671047%20C182.57671,163.376355%20180.428486,163.701283%20178.275118,163.629682%20C176.849069,163.718929%20175.420569,163.498622%20174.087657,162.983833%20C172.754744,162.469044%20171.549004,161.671976%20170.553103,160.647363%20C168.383883,157.745977%20167.394359,154.130491%20167.783854,150.528882%20L167.783854,129.226751%20L161.712742,129.226751%20L161.712742,123.901204%20L167.890329,123.901204%20L167.890329,114.421764%20L174.813541,112.770851%20Z%20M198.184399,144.647511%20C198.03988,146.453639%20198.289199,148.269577%20198.915189,149.969888%20C199.541179,151.670199%20200.528884,153.214267%20201.810114,154.495437%20C203.091285,155.776667%20204.635352,156.764373%20206.335664,157.390363%20C208.035975,158.016352%20209.851913,158.265672%20211.658041,158.121153%20C215.311153,158.202863%20218.940457,157.513288%20222.309077,156.097409%20L223.533958,161.422956%20C219.400274,163.12572%20214.955358,163.942168%20210.486396,163.819423%20C207.881107,163.997798%20205.268101,163.61054%20202.826592,162.684147%20C200.385023,161.757814%20198.172795,160.3143%20196.341489,158.452721%20C194.51022,156.591082%20193.103284,154.355345%20192.217196,151.898941%20C191.331104,149.442478%20190.986827,146.82349%20191.207978,144.221491%20C191.207978,132.505346%20198.184399,123.238905%20209.581059,123.238905%20C222.362314,123.238905%20225.557643,134.422495%20225.557643,141.558717%20C225.625954,142.658281%20225.625954,143.761016%20225.557643,144.860581%20L198.024687,144.860581%20L198.184399,144.647511%20Z%20M219.06051,139.322023%20C219.266043,137.898188%20219.163995,136.446897%20218.761184,135.065892%20C218.358433,133.684886%20217.664311,132.406228%20216.725656,131.316115%20C215.786941,130.226062%20214.625525,129.349856%20213.31959,128.746561%20C212.013656,128.143278%20210.59353,127.826939%20209.155039,127.818864%20C206.228949,128.030665%20203.487515,129.327603%20201.467959,131.455549%20C199.448402,133.583436%20198.296377,136.388874%20198.237697,139.322023%20L219.06051,139.322023%20Z%20M236.385366,136.053478%20C236.385366,131.473555%20236.385366,127.532637%20236.065834,123.911277%20L242.456492,123.911277%20L242.456492,131.526792%20L242.775977,131.526792%20C243.446769,129.176325%20244.83268,127.093027%20246.741335,125.566097%20C248.64999,124.039161%20250.986699,123.144369%20253.427072,123.005938%20C254.098762,122.917777%20254.779066,122.917777%20255.450756,123.005938%20L255.450756,129.66288%20C254.63688,129.568608%20253.814868,129.568608%20253.000992,129.66288%20C250.58353,129.756495%20248.282771,130.726973%20246.528505,132.393068%20C244.774238,134.059104%20243.686458,136.306745%20243.468304,138.716252%20C243.269171,139.805946%20243.162278,140.910475%20243.148819,142.018055%20L243.148819,162.734394%20L236.11909,162.734394%20L236.11909,136.106715%20L236.385366,136.053478%20Z'%20fill='%234E4E4E'%3e%3c/path%3e%3cpath%20d='M233.257943,16.9621357%20C233.476636,20.5398773%20232.625434,24.1017075%20230.812666,27.1939108%20C228.999898,30.286174%20226.307754,32.7687777%20223.079047,34.3255867%20C219.85034,35.8823358%20216.231324,36.4427655%20212.683013,35.9355136%20C209.134702,35.4282017%20205.817704,33.8761781%20203.154559,31.4770796%20C200.491421,29.0780409%20198.602703,25.9404959%20197.729013,22.4642047%20C196.855323,18.9879135%20197.036209,15.330196%20198.248625,11.9570899%20C199.461041,8.5839838%20201.650109,5.64808944%20204.536953,3.52346926%20C207.423803,1.39884909%20210.877782,0.181657262%20214.458814,0.0269503701%20C216.806708,-0.10224713%20219.156996,0.233972409%20221.374429,1.01627461%20C223.591922,1.79857323%20225.632893,3.01152758%20227.379981,4.58537259%20C229.12701,6.15922358%20230.54576,8.06291398%20231.554522,10.1869719%20C232.563283,12.3110298%20233.142196,14.6135829%20233.257943,16.9621357%20Z'%20fill='%23767677'%3e%3c/path%3e%3cpath%20d='M127.952969,225.540984%20C80.0236372,225.540984%2037.8984531,208.339518%2016.1170646,182.936721%20C24.5683135,205.78944%2039.8176362,225.504615%2059.8124569,239.428562%20C79.8070981,253.352629%20103.588124,260.816651%20127.952969,260.816651%20C152.318411,260.816651%20176.098839,253.352629%20196.094019,239.428562%20C216.0886,225.504615%20231.337863,205.78944%20239.789471,182.936721%20C218.061379,208.339518%20176.095848,225.540984%20127.952969,225.540984%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M127.952969,60.3543133%20C175.882898,60.3543133%20218.008142,77.5557785%20239.789471,102.958396%20C231.337863,80.1058563%20216.0886,60.3906823%20196.094019,46.4667348%20C176.098839,32.5427873%20152.318411,25.0784666%20127.952969,25.0784666%20C103.588124,25.0784666%2079.8070981,32.5427873%2059.8124569,46.4667348%20C39.8176362,60.3906823%2024.5683135,80.1058563%2016.1170646,102.958396%20C37.8984531,77.502541%2079.8106871,60.3543133%20127.952969,60.3543133%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M61.9716874,274.975202%20C62.2528294,279.48161%2061.186045,283.969713%2058.9072992,287.867658%20C56.6284936,291.765602%2053.2409116,294.896926%2049.1761363,296.862707%20C45.1113611,298.828488%2040.5533909,299.539717%2036.0829934,298.905772%20C31.6125362,298.271767%2027.4320141,296.321359%2024.0740419,293.30297%20C20.7160636,290.284582%2018.3326671,286.334835%2017.2274978,281.957035%20C16.1223339,277.579176%2016.3454363,272.971497%2017.868382,268.720869%20C19.3913284,264.470301%2022.1451683,260.769335%2025.7790187,258.089483%20C29.4129289,255.40962%2033.7623156,253.872201%2038.2730898,253.673106%20C41.2280121,253.515051%2044.1851476,253.940738%2046.9755719,254.925846%20C49.7659364,255.910962%2052.3349165,257.436187%2054.5356604,259.414404%20C56.7364042,261.392633%2058.5259031,263.785032%2059.8017495,266.455044%20C61.0776558,269.124996%2061.8150255,272.02022%2061.9716874,274.975202%20Z'%20fill='%239E9E9E'%3e%3c/path%3e%3cpath%20d='M21.5641016,54.5650606%20C18.9814831,54.6363631%2016.4354131,53.9424806%2014.2460944,52.570687%20C12.0567996,51.1988336%2010.3219858,49.2102622%209.25983722,46.8551295%20C8.19768984,44.499937%207.85562972,41.8832824%208.276674,39.3342215%20C8.69771827,36.7851606%209.86306631,34.4174662%2011.6261678,32.5289814%20C13.3892752,30.6404727%2015.6714246,29.3154324%2018.1856119,28.7204982%20C20.6997394,28.1255646%2023.3336813,28.2873008%2025.7562282,29.1853653%20C28.1787154,30.0834346%2030.2815979,31.6777312%2031.800363,33.767765%20C33.3191879,35.8578106%2034.1861222,38.3502842%2034.2921188,40.9317063%20C34.3930308,44.4222341%2033.113057,47.8117302%2030.7300493,50.3642007%20C28.3470417,52.916731%2025.0533134,54.4262842%2021.5641016,54.5650606%20Z'%20fill='%23616262'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","import {registerIconLibrary} from '@awesome.me/webawesome'\n\nregisterIconLibrary('k', {\n resolver: (name: string) => {\n return new URL(`../icons/${name}.svg`, import.meta.url).href;\n },\n mutator: (svg: SVGElement) => {\n svg.setAttribute('fill', 'currentColor');\n svg.setAttribute('stroke', 'currentColor');\n }\n});","import {customElement, property} from 'lit/decorators.js'\nimport {html, nothing, css} from 'lit';\n\nimport {KWidget} from \"./k-widget\";\nimport \"../core/k-utils\";\n\n@customElement('k-icon')\nexport class KIcon extends KWidget {\n\n @property()\n name?: string;\n\n @property()\n family?: string = \"regular\";\n\n @property()\n variant?: string;\n\n @property()\n label?: string;\n\n render() {\n if (!this.name) {\n return \"\"\n }\n const parts = this.name.trim().split(/ +/)\n const iconName = parts.pop()\n const library = parts.pop()\n return html`\n <wa-icon library=\"${library || nothing}\" variant=\"${this.variant || nothing}\"\n family=\"${this.family || nothing}\" name=${iconName} label=\"${this.label || this.name || nothing}\"></wa-icon>`\n }\n\n static styles = css`\n :host {\n display: contents;\n }\n `\n}\n"],"names":["logger","signal","event_unsubscribe","event_subscribe"],"mappings":";;;;;AAAO,MAAM,kBAAkB;AAAA,EAM3B,YAAY,WAAgB;AAH5B,SAAQ,WAAgC,CAAA;AAIpC,SAAK,YAAY;AAEjB,SAAK,QAAQ,IAAI,MAAM,WAAW,IAAI;AAAA,EAC1C;AAAA,EAEA,IAAI,QAAa,MAAmB;AAChC,WAAO,OAAO,IAAI,KAAK,KAAK,QAAQ,SAAA,EAAW,IAAI;AAAA,EACvD;AAAA,EAEA,IAAI,QAAa,MAAc,OAAY;AACvC,WAAO,IAAI,IAAI;AAAA,EACnB;AAAA,EAEA,IAAI,MAAc,OAAY;AAC1B,SAAK,UAAU,IAAI,IAAI;AAAA,EAC3B;AAAA,EAEO,WAAW;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEO,YAAY,YAAiB,IAAuB;AACvD,UAAM,QAAQ,IAAI,kBAAkB,SAAS;AAC7C,UAAM,SAAS;AACf,SAAK,SAAS,KAAK,KAAK;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,cAAc;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY;AACR,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,UAAU;AACN,UAAM,QAAQ,KAAK,QAAQ,SAAS,QAAQ,IAAI;AAChD,QAAI,UAAU,UAAa,SAAS,GAAG;AACnC,WAAK,QAAQ,SAAS,OAAO,OAAO,CAAC;AAAA,IACzC;AACA,SAAK,SAAS;AAAA,EAClB;AACJ;AAEO,MAAM,cAAc,IAAI,kBAAkB,CAAA,CAAE;AAC5C,MAAM,YAAY,YAAY,YAAY,CAAA,CAAE;ACrD5C,MAAM,YAAY,CAAC,QAAgB;AACtC,UAAQ,KAAK,iBAAiB,GAAG;AACrC;AAEO,MAAM,aAAa,CAAC,QAAgB;AACvC,UAAQ,MAAM,kBAAkB,GAAG;AACvC;AAEO,MAAM,eAAe,CAAC,QAAgB;AACzC,UAAQ,KAAK,oBAAoB,GAAG;AACxC;ACNA,MAAM,mBAA6C;AAAA,EAC/C,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AACb;AAGA,IAAI,iBAA2B;AAG/B,MAAM,kBAAkB;AAAA,EACpB,KAAK,QAAQ,IAAI,KAAK,OAAO;AAAA,EAC7B,MAAM,QAAQ,KAAK,KAAK,OAAO;AAAA,EAC/B,MAAM,QAAQ,KAAK,KAAK,OAAO;AAAA,EAC/B,OAAO,QAAQ,MAAM,KAAK,OAAO;AAAA,EACjC,OAAO,QAAQ,MAAM,KAAK,OAAO;AACrC;AAMA,IAAI,aAAgC;AAGpC,MAAM,gBAA2E,CAAA;AAGjF,SAAS,UAAU,KAAkB;AACjC,MAAI,QAAQ,KAAM,QAAO;AACzB,MAAI,QAAQ,OAAW,QAAO;AAC9B,MAAI,OAAO,QAAQ,SAAU,QAAO;AACpC,MAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,UAAW,QAAO,OAAO,GAAG;AAC1E,MAAI,eAAe,MAAO,QAAO,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO;AAE5D,MAAI;AACA,WAAO,KAAK,UAAU,GAAG;AAAA,EAC7B,QAAQ;AACJ,WAAO,OAAO,GAAG;AAAA,EACrB;AACJ;AAKO,MAAM,OAAO;AAAA,EAChB,YAAoB,QAAgB;AAAhB,SAAA,SAAA;AAAA,EAAiB;AAAA,EAErC,KAAK,SAAiB;AAClB,SAAK,IAAI,SAAS,MAAM;AAAA,EAC5B;AAAA,EAEA,QAAQ,SAAiB;AACrB,SAAK,IAAI,SAAS,SAAS;AAAA,EAC/B;AAAA,EAEA,KAAK,SAAiB;AAClB,SAAK,IAAI,SAAS,SAAS;AAAA,EAC/B;AAAA,EAEA,MAAM,SAAiB;AACnB,SAAK,IAAI,SAAS,OAAO;AAAA,EAC7B;AAAA,EAEA,MAAM,SAAiB;AACnB,SAAK,IAAI,SAAS,OAAO;AAAA,EAC7B;AAAA,EAEQ,IAAI,SAAiB,OAAiB;AAC1C,aAAS,KAAK,QAAQ,SAAS,KAAK;AAAA,EACxC;AACJ;AAKA,SAAS,UAAU,OAA0B;AACzC,SAAO,iBAAiB,KAAK,KAAK,iBAAiB,cAAc;AACrE;AAKA,SAAS,SAAS,QAAgB,SAAiB,OAAiB;AAChE,MAAI,CAAC,UAAU,KAAK,GAAG;AACnB;AAAA,EACJ;AAEA,MAAI,YAAY;AACZ,eAAW,QAAQ,SAAS,KAAK;AAAA,EACrC,OAAO;AAEH,kBAAc,KAAK,EAAE,QAAQ,SAAS,OAAO;AAE7C,oBAAgB,UAAU,UAAU,UAAU,UAAU,YAAY,SAAS,UAAU,UAAU,UAAU,KAAK;AAAA,MAC5G,IAAI,MAAM,KAAK,OAAO;AAAA,IAAA;AAAA,EAE9B;AACJ;AAMO,SAAS,gCAAgC;AAC5C,UAAQ,MAAM,YAAY,MAAa;AACnC,oBAAgB,IAAI,MAAM,SAAS,IAAI;AACvC,aAAS,WAAW,KAAK,IAAI,CAAA,MAAK,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,MAAM;AAAA,EACrE;AAEA,UAAQ,OAAO,YAAY,MAAa;AACpC,oBAAgB,KAAK,MAAM,SAAS,IAAI;AACxC,aAAS,WAAW,KAAK,IAAI,CAAA,MAAK,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,MAAM;AAAA,EACrE;AAEA,UAAQ,OAAO,YAAY,MAAa;AACpC,oBAAgB,KAAK,MAAM,SAAS,IAAI;AACxC,aAAS,WAAW,KAAK,IAAI,CAAA,MAAK,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,SAAS;AAAA,EACxE;AAEA,UAAQ,QAAQ,YAAY,MAAa;AACrC,oBAAgB,MAAM,MAAM,SAAS,IAAI;AACzC,aAAS,WAAW,KAAK,IAAI,CAAA,MAAK,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,OAAO;AAAA,EACtE;AAEA,UAAQ,QAAQ,YAAY,MAAa;AACrC,oBAAgB,MAAM,MAAM,SAAS,IAAI;AACzC,aAAS,WAAW,KAAK,IAAI,CAAA,MAAK,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,OAAO;AAAA,EACtE;AACJ;AAGA,8BAAA;AAMO,SAAS,mBAAmB,SAAqB;AACpD,eAAa;AAGb,SAAO,cAAc,SAAS,GAAG;AAC7B,UAAM,MAAM,cAAc,MAAA;AAC1B,QAAI,KAAK;AACL,cAAQ,IAAI,QAAQ,IAAI,SAAS,IAAI,KAAK;AAAA,IAC9C;AAAA,EACJ;AACJ;AAKO,SAAS,uBAAuB;AACnC,eAAa;AACjB;AAKO,SAAS,aAAa,QAAwB;AACjD,SAAO,IAAI,OAAO,MAAM;AAC5B;AAKO,SAAS,YAAY,OAAiB;AACzC,mBAAiB;AACrB;AAMA,MAAM,gBAAgB,aAAa,QAAQ;AAG3C,YAAY,IAAI,UAAU,aAAa;AClLhC,MAAM,+BAA+B;AA+C5C,MAAM,qBAAqB;AAAA,EAA3B,cAAA;AACI,SAAQ,oCAAiD,IAAA;AAAA,EAAI;AAAA,EAE7D,qBAA6C,QAAgB,cAAiB;AAC1E,UAAM,aAAa,KAAK,iBAAiB,MAAM;AAC/C,QAAI,aAAa,cAAc;AAC3B,YAAM,MAAM;AACZ,UAAI,IAAI,oBAAoB,UAAU;AAClC,YAAI,WAAW,IAAI,OAAO,SAAkB,IAAI,QAAQ;AAAA,MAC5D;AAAA,IACJ;AACA,eAAW,KAAK,YAAY;AAC5B,YAAQ,8BAA8B,EAAE,QAAQ,eAAe,YAAuC;AAAA,EAC1G;AAAA,EAEA,iBAAyC,QAAqB;AAC1D,QAAI,CAAC,KAAK,cAAc,IAAI,MAAM,GAAG;AACjC,WAAK,cAAc,IAAI,QAAQ,CAAA,CAAE;AAAA,IACrC;AACA,WAAO,KAAK,cAAc,IAAI,MAAM;AAAA,EACxC;AACJ;AAEO,MAAM,uBAAuB,IAAI,qBAAA;AACxC,YAAY,IAAI,wBAAwB,oBAAoB;ACzErD,MAAM,mBAAmB,CAAA;AAEzB,MAAM,mBAAmB,OAAc,IAAwB;AAC/D,MAAM,qBAAqB,OAAc,IAAwB;AAEjE,MAAM,kBAAkB,OAAc,IAAwB;AAE9D,MAAM,oBAAoB,OAAe,CAAC;AAE1C,MAAM,wBAAwB,OAAY,MAAS;AAEnD,MAAM,4BAA4B,OAA0C,EAAC,MAAM,IAAI,WAAW,GAAE;ACRpG,MAAM,2BAA2B;AAqBjC,MAAM,QAAQ;AAAA,EAUjB,YAAY,IAAY,MAAc,aAAqB,YAA0B,QAAqB;AACtG,SAAK,KAAK;AACV,SAAK,OAAO;AACZ,SAAK,cAAc;AACnB,SAAK,aAAa,cAAc,CAAA;AAChC,SAAK,SAAS,UAAU,CAAA;AAAA,EAC5B;AACJ;AAwBO,MAAM,aAAa;AAAA;AAAA,EAGtB,MAAa,QAAQ,WAAgB,SAA2B;AAC5D,WAAO,gBAAgB,QAAQ,WAAW,OAAO;AAAA,EACrD;AAAA,EAEA,MAAa,OAAO;AAAA,EAEpB;AAAA,EAEA,MAAa,OAAO;AAAA,EAEpB;AACJ;AAEO,MAAM,gBAAgB;AAAA,EAAtB,cAAA;AACH,SAAQ,WAAqB,CAAA;AAC7B,SAAQ,+BAAuC,IAAA;AAAA,EAAI;AAAA,EAEnD,gBAAgB,WAAmB,SAAkB;AACjD,QAAI,CAAC,KAAK,SAAS,IAAI,SAAS,GAAG;AAC/B,WAAK,SAAS,IAAI,WAAW,CAAA,CAAE;AAAA,IACnC;AACA,UAAM,cAAc,KAAK,SAAS,IAAI,SAAS;AAC/C,gBAAY,KAAK,OAAO;AAExB,gBAAY,KAAK,CAAC,GAAG,OAAO,EAAE,WAAW,MAAM,EAAE,WAAW,EAAE;AAAA,EAClE;AAAA,EAEA,WAAW,WAA0C;AACjD,WAAO,KAAK,SAAS,IAAI,SAAS;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,uBAAuB,QAA0C;AAC7D,UAAM,UAA4B;AAAA,MAC9B,QAAQ,UAAU,CAAA;AAAA,MAClB,YAAY,iBAAiB,IAAA;AAAA,MAC7B,cAAc,mBAAmB,IAAA;AAAA,IAAI;AAGzC,WAAO;AAAA,EACX;AAAA,EAEA,QAAQ,WAAmB,UAA4B,IAAI;AACvD,UAAM,WAAW,KAAK,WAAW,SAAS;AAE1C,QAAI,CAAC,UAAU;AACXA,oBAAO,MAAM,yDAAyD,SAAS,EAAE;AACjF,YAAM,IAAI,MAAM,uCAAuC,SAAS,EAAE;AAAA,IACtE;AAEA,UAAM,UAAU,KAAK,WAAW,SAAS;AACzC,UAAM,YAAY,QAAQ,SAAS,YAAY,KAAK,UAAU,QAAQ,MAAM,CAAC,KAAK;AAClFA,kBAAO,MAAM,wCAAwC,SAAS,GAAG,UAAU,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG,SAAS,EAAE;AAGlH,eAAW,WAAW,UAAU;AAC5B,UAAI,QAAQ,eAAe,UAAa,QAAQ,WAAW,OAAO,GAAG;AACjE,YAAI;AACA,gBAAM,SAA6B,QAAQ,QAAQ,OAAO;AAC1DA,wBAAO,MAAM,oDAAoD,SAAS,aAAa,MAAM,GAAG;AAChG,iBAAO;AAAA,QACX,SAAS,OAAO;AACZ,gBAAM,WAAW,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACtEA,wBAAO,MAAM,+CAA+C,SAAS,MAAM,QAAQ,EAAE;AACrF,gBAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ;AACAA,kBAAO,MAAM,0DAA0D,SAAS,EAAE;AAAA,EACtF;AAAA,EAEA,yBAAyB,IAAY,MAAc,aAAqB,YAAyB,SAAmB;AAChH,UAAM,UAAU,IAAI,QAAQ,IAAI,MAAM,aAAa,UAAU;AAC7D,SAAK,gBAAgB,OAAO;AAC5B,QAAI,SAAS;AACT,WAAK,gBAAgB,IAAI,OAAO;AAAA,IACpC;AAAA,EACJ;AAAA,EAEA,gBAAgB,SAAwB;AACpC,SAAK,SAAS,QAAQ,EAAE,IAAI;AAC5BA,kBAAO,MAAM,uBAAuB,QAAQ,EAAE,EAAE;AAChD,YAAQ,0BAA0B,OAAO;AAAA,EAC7C;AAAA,EAEA,WAAW,WAA4B;AACnC,WAAO,aAAa,KAAK;AAAA,EAC7B;AAAA,EAEA,aAAa,SAAsC;AAC/C,QAAI,SAAS;AAET,aAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,OAAO,CAAA,YAAW;AAClD,cAAM,WAAW,gBAAgB,WAAW,QAAQ,EAAE,KAAK,CAAA;AAC3D,eAAO,SAAS,KAAK,CAAA,YAAW,QAAQ,eAAe,UAAa,QAAQ,WAAW,OAAO,CAAC;AAAA,MACnG,CAAC,EAAE,OAAO,CAAC,KAAU,YAAY;AAC7B,YAAI,QAAQ,EAAE,IAAI;AAClB,eAAO;AAAA,MACX,GAAG,CAAA,CAAE;AAAA,IACT;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,WAAW,WAA4B;AACnC,WAAgB,KAAK,SAAS,SAAS;AAAA,EAC3C;AAAA,EAEA,YAAY,SAA0B;AAClC,UAAM,YAAY,QAAQ,QAAQ;AAClC,SAAK,gBAAgB,QAAQ,OAAO;AACpC,QAAI,QAAQ,SAAS;AACjB,WAAK,gBAAgB,WAAW,QAAQ,OAAO;AAAA,IACnD;AACA,QAAI,QAAQ,gBAAgB,QAAQ,aAAa,QAAQ;AACrD,2BAAqB,qBAAqB,QAAQ,aAAa,QAAQ;AAAA,QACnE,SAAS;AAAA,QACT,GAAG,QAAQ;AAAA,MAAA,CACS;AAAA,IAC5B;AAAA,EACJ;AACJ;AAEO,MAAM,kBAAkB,IAAI,gBAAA;AACnC,YAAY,IAAI,mBAAmB,eAAe;AAQ3C,MAAM,cAAc,CAAC,YAA6B;AACrD,kBAAgB,YAAY,OAAO;AACvC;AC/MO,MAAM,cAAc,CAACC,SAAkD,aAAiD;AAC3H,QAAM,UAAU,IAAI,OAAO,OAAO,QAAQ,YAAY;AAClD,QAAI;AACA,YAAM;AACN,eAASA,QAAO,KAAK;AAAA,IACzB,UAAA;AACI,cAAQ,MAAMA,OAAM;AAAA,IACxB;AAAA,EACJ,CAAC;AACD,UAAQ,MAAMA,OAAM;AACpB,EAAAA,QAAO,IAAA;AAEP,SAAO,MAAM;AACT,YAAQ,QAAQA,OAAM;AAAA,EAC1B;AACJ;ACVA,OAAO,eAAe,WAAW,WAAW,SAAS;AAAA,EACjD,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,UAAU;AACd,CAAC;AAEM,MAAe,gBAAgB,cAAc,UAAU,EAAE;AAAA,EAAzD,cAAA;AAAA,UAAA,GAAA,SAAA;AACH,SAAQ,qCAAqB,IAAA;AAC7B,SAAQ,yCAAyB,IAAA;AAAA,EAAuB;AAAA,EAExD,oBAAoB;AAChB,UAAM,kBAAA;AACN,SAAK,WAAA;AAAA,EACT;AAAA,EAEA,uBAAuB;AACnB,UAAM,qBAAA;AACN,SAAK,mBAAmB,QAAQ,CAAA,UAASC,YAAkB,KAAK,CAAC;AACjE,SAAK,mBAAmB,MAAA;AACxB,SAAK,eAAe,QAAQ,CAAA,YAAW,QAAA,CAAS;AAChD,SAAK,eAAe,MAAA;AAAA,EACxB;AAAA,EAEU,UAAU,OAAe,UAA0B;AACzD,UAAM,QAAQC,UAAgB,OAAO,SAAS,KAAK,IAAI,CAAC;AACxD,SAAK,mBAAmB,IAAI,KAAK;AAAA,EACrC;AAAA,EAEU,SAAS,KAAa;AAC5B,cAAU,GAAG;AAAA,EACjB;AAAA,EAEU,UAAU,KAAa;AAC7B,eAAW,GAAG;AAAA,EAClB;AAAA,EAEU,SAAS,MAA8B;AAC7C,WAAO,CAAC,UAAiB;AACrB,YAAM,gBAAA;AACN,WAAK,KAAK,IAAI,EAAE,KAAK;AAAA,IACzB;AAAA,EACJ;AAAA,EAEU,QAAQ,SAAiB,QAAY,IAAI;AAC/C,WAAO,MAAM;AACT,WAAK,eAAe,SAAS,KAAK;AAAA,IACtC;AAAA,EACJ;AAAA,EAEU,eAAe,SAAiB,QAAuB;AAC7D,UAAM,cAAc,gBAAgB,uBAAuB,MAAM;AACjE,oBAAgB,QAAQ,SAAS,WAAW;AAAA,EAChD;AAAA,EAEU,MAAMF,SAAkD,UAAsC;AACpG,UAAM,UAAU,YAAYA,SAA6B,SAAS,KAAK,IAAI,CAAC;AAC5E,SAAK,eAAe,IAAI,OAAO;AAAA,EACnC;AAAA,EAEU,aAAa,oBAAoC;AACvD,UAAM,aAAa,kBAAkB;AACrC,SAAK,SAAA;AAAA,EACT;AAAA,EAEU,aAAa;AACnB,wBAAoB,MAAM,KAAK,eAAe;AAAA,EAClD;AAAA,EAEO,cAAc;AACjB,0BAAsB,MAAM,KAAK,eAAe;AAAA,EACpD;AAAA,EAEU,aAAa;AAAA,EACvB;AAAA,EAEU,WAAW;AAAA,EACrB;AAAA,EAEA,YAAY,UAAsB;AAC9B,aAAA;AACA,SAAK,YAAA;AAAA,EACT;AACJ;ACzFA,MAAA,kBAAe;ACAf,MAAA,kBAAe;ACAf,MAAA,kBAAe;ACEf,oBAAoB,KAAK;AAAA,EACrB,UAAU,CAAC,SAAiB;AACxB,WAAO,IAAA,6JAAA,YAAA,IAAA,MAAA,GAAA,YAAA,GAAA,EAAiD;AAAA,EAC5D;AAAA,EACA,SAAS,CAAC,QAAoB;AAC1B,QAAI,aAAa,QAAQ,cAAc;AACvC,QAAI,aAAa,UAAU,cAAc;AAAA,EAC7C;AACJ,CAAC;;;;;;;;;;;ACHM,IAAM,QAAN,cAAoB,QAAQ;AAAA,EAA5B,cAAA;AAAA,UAAA,GAAA,SAAA;AAMH,SAAA,SAAkB;AAAA,EAAA;AAAA,EAQlB,SAAS;AACL,QAAI,CAAC,KAAK,MAAM;AACZ,aAAO;AAAA,IACX;AACA,UAAM,QAAQ,KAAK,KAAK,KAAA,EAAO,MAAM,IAAI;AACzC,UAAM,WAAW,MAAM,IAAA;AACvB,UAAM,UAAU,MAAM,IAAA;AACtB,WAAO;AAAA,gCACiB,WAAW,OAAO,cAAc,KAAK,WAAW,OAAO;AAAA,mCACpD,KAAK,UAAU,OAAO,UAAU,QAAQ,WAAW,KAAK,SAAS,KAAK,QAAQ,OAAO;AAAA,EACpH;AAOJ;AA/Ba,MA0BF,SAAS;AAAA;AAAA;AAAA;AAAA;AAvBhB,gBAAA;AAAA,EADC,SAAA;AAAS,GAFD,MAGT,WAAA,QAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAA;AAAS,GALD,MAMT,WAAA,UAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAA;AAAS,GARD,MAST,WAAA,WAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAA;AAAS,GAXD,MAYT,WAAA,SAAA,CAAA;AAZS,QAAN,gBAAA;AAAA,EADN,cAAc,QAAQ;AAAA,GACV,KAAA;"}