@almadar/ui 2.48.5 → 2.48.7

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.
@@ -1,18 +1,15 @@
1
1
  import * as React114 from 'react';
2
- import React114__default, { createContext, useCallback, useState, useRef, useEffect, useMemo, useLayoutEffect, lazy, useContext, useSyncExternalStore } from 'react';
3
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import React114__default, { createContext, useCallback, useState, useRef, useEffect, lazy, useMemo, useLayoutEffect, useContext, useSyncExternalStore } from 'react';
4
3
  import { EventBusContext } from '@almadar/ui/providers';
4
+ import { clsx } from 'clsx';
5
+ import { twMerge } from 'tailwind-merge';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
7
  import 'react-dom';
6
8
  import '@almadar/ui/context';
7
9
  import * as LucideIcons from 'lucide-react';
8
10
  import { Loader2, ChevronDown, X, ArrowRight, TrendingDown, TrendingUp, Check, Copy, AlertCircle } from 'lucide-react';
9
- import { clsx } from 'clsx';
10
- import { twMerge } from 'tailwind-merge';
11
11
  import '@almadar/evaluator';
12
12
  import '@almadar/patterns';
13
- import 'react-leaflet';
14
- import L from 'leaflet';
15
- import 'leaflet/dist/leaflet.css';
16
13
  import 'react-router-dom';
17
14
  import ReactMarkdown from 'react-markdown';
18
15
  import remarkGfm from 'remark-gfm';
@@ -39,8 +36,361 @@ import langGo from 'react-syntax-highlighter/dist/esm/languages/prism/go';
39
36
  import langGraphql from 'react-syntax-highlighter/dist/esm/languages/prism/graphql';
40
37
 
41
38
  var __defProp = Object.defineProperty;
39
+ var __getOwnPropNames = Object.getOwnPropertyNames;
42
40
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
41
+ var __esm = (fn, res) => function __init() {
42
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
43
+ };
44
+ var __export = (target, all) => {
45
+ for (var name in all)
46
+ __defProp(target, name, { get: all[name], enumerable: true });
47
+ };
43
48
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
49
+
50
+ // lib/logger.ts
51
+ function envGet(key) {
52
+ return ENV[key] ?? ENV[`VITE_${key}`];
53
+ }
54
+ function matchesNamespace(namespace) {
55
+ if (DEBUG_FILTER.length === 0) return true;
56
+ return DEBUG_FILTER.some((pattern) => {
57
+ if (pattern === "*" || pattern === "almadar:*") return true;
58
+ if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
59
+ return namespace === pattern;
60
+ });
61
+ }
62
+ function createLogger(namespace) {
63
+ const nsAllowed = matchesNamespace(namespace);
64
+ const log4 = (level, message, data, correlationId) => {
65
+ if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
66
+ if (level === "DEBUG" && !nsAllowed) return;
67
+ const prefix = `[${namespace}]`;
68
+ const logData = correlationId ? { ...data, cid: correlationId } : data;
69
+ switch (level) {
70
+ case "DEBUG":
71
+ console.debug(prefix, message, logData ?? "");
72
+ break;
73
+ case "INFO":
74
+ console.info(prefix, message, logData ?? "");
75
+ break;
76
+ case "WARN":
77
+ console.warn(prefix, message, logData ?? "");
78
+ break;
79
+ case "ERROR":
80
+ console.error(prefix, message, logData ?? "");
81
+ break;
82
+ }
83
+ };
84
+ return {
85
+ debug: (msg, data, cid) => log4("DEBUG", msg, data, cid),
86
+ info: (msg, data, cid) => log4("INFO", msg, data, cid),
87
+ warn: (msg, data, cid) => log4("WARN", msg, data, cid),
88
+ error: (msg, data, cid) => log4("ERROR", msg, data, cid)
89
+ };
90
+ }
91
+ var LEVEL_PRIORITY, ENV, NODE_ENV, CONFIGURED_LEVEL, MIN_PRIORITY, DEBUG_FILTER;
92
+ var init_logger = __esm({
93
+ "lib/logger.ts"() {
94
+ LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
95
+ ENV = typeof process !== "undefined" && process.env ? process.env : {};
96
+ NODE_ENV = envGet("NODE_ENV") ?? "development";
97
+ CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
98
+ MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
99
+ DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
100
+ }
101
+ });
102
+
103
+ // hooks/useEventBus.ts
104
+ var useEventBus_exports = {};
105
+ __export(useEventBus_exports, {
106
+ default: () => useEventBus_default,
107
+ getGlobalEventBus: () => getGlobalEventBus,
108
+ setGlobalEventBus: () => setGlobalEventBus,
109
+ useEmitEvent: () => useEmitEvent,
110
+ useEventBus: () => useEventBus,
111
+ useEventListener: () => useEventListener,
112
+ useEventSubscription: () => useEventSubscription
113
+ });
114
+ function setGlobalEventBus(bus) {
115
+ if (typeof window !== "undefined") {
116
+ window.__kflowEventBus = bus;
117
+ }
118
+ }
119
+ function getGlobalEventBus() {
120
+ if (typeof window !== "undefined") {
121
+ return window.__kflowEventBus ?? null;
122
+ }
123
+ return null;
124
+ }
125
+ function useEventBus() {
126
+ const context = useContext(EventBusContext);
127
+ return context ?? getGlobalEventBus() ?? fallbackEventBus;
128
+ }
129
+ function useEventListener(event, handler) {
130
+ const eventBus = useEventBus();
131
+ const handlerRef = useRef(handler);
132
+ handlerRef.current = handler;
133
+ useEffect(() => {
134
+ const wrappedHandler = (evt) => {
135
+ handlerRef.current(evt);
136
+ };
137
+ const unsub = eventBus.on(event, wrappedHandler);
138
+ return () => {
139
+ if (typeof unsub === "function") unsub();
140
+ };
141
+ }, [event, eventBus]);
142
+ }
143
+ function useEmitEvent() {
144
+ const eventBus = useEventBus();
145
+ return useCallback(
146
+ (type, payload) => {
147
+ eventBus.emit(type, payload);
148
+ },
149
+ [eventBus]
150
+ );
151
+ }
152
+ var log, subLog, fallbackListeners, fallbackAnyListeners, fallbackEventBus, useEventSubscription, useEventBus_default;
153
+ var init_useEventBus = __esm({
154
+ "hooks/useEventBus.ts"() {
155
+ "use client";
156
+ init_logger();
157
+ log = createLogger("almadar:eventbus");
158
+ subLog = createLogger("almadar:eventbus:subscribe");
159
+ fallbackListeners = /* @__PURE__ */ new Map();
160
+ fallbackAnyListeners = /* @__PURE__ */ new Set();
161
+ fallbackEventBus = {
162
+ emit: (type, payload) => {
163
+ const event = {
164
+ type,
165
+ payload,
166
+ timestamp: Date.now()
167
+ };
168
+ const handlers = fallbackListeners.get(type);
169
+ log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
170
+ if (handlers) {
171
+ handlers.forEach((handler) => {
172
+ try {
173
+ handler(event);
174
+ } catch (error) {
175
+ console.error(`[EventBus] Error in listener for '${type}':`, error);
176
+ }
177
+ });
178
+ }
179
+ fallbackAnyListeners.forEach((handler) => {
180
+ try {
181
+ handler(event);
182
+ } catch (error) {
183
+ console.error(`[EventBus] Error in onAny listener for '${type}':`, error);
184
+ }
185
+ });
186
+ },
187
+ on: (type, listener) => {
188
+ if (!fallbackListeners.has(type)) {
189
+ fallbackListeners.set(type, /* @__PURE__ */ new Set());
190
+ }
191
+ fallbackListeners.get(type).add(listener);
192
+ subLog.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
193
+ return () => {
194
+ const handlers = fallbackListeners.get(type);
195
+ if (handlers) {
196
+ handlers.delete(listener);
197
+ if (handlers.size === 0) {
198
+ fallbackListeners.delete(type);
199
+ }
200
+ }
201
+ };
202
+ },
203
+ once: (type, listener) => {
204
+ const wrappedListener = (event) => {
205
+ fallbackListeners.get(type)?.delete(wrappedListener);
206
+ listener(event);
207
+ };
208
+ return fallbackEventBus.on(type, wrappedListener);
209
+ },
210
+ hasListeners: (type) => {
211
+ const handlers = fallbackListeners.get(type);
212
+ return handlers !== void 0 && handlers.size > 0;
213
+ },
214
+ onAny: (listener) => {
215
+ fallbackAnyListeners.add(listener);
216
+ subLog.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
217
+ return () => {
218
+ fallbackAnyListeners.delete(listener);
219
+ };
220
+ }
221
+ };
222
+ useEventSubscription = useEventListener;
223
+ useEventBus_default = useEventBus;
224
+ }
225
+ });
226
+ function cn(...inputs) {
227
+ return twMerge(clsx(inputs));
228
+ }
229
+ var init_cn = __esm({
230
+ "lib/cn.ts"() {
231
+ }
232
+ });
233
+
234
+ // components/atoms/Typography.tsx
235
+ var Typography_exports = {};
236
+ __export(Typography_exports, {
237
+ Heading: () => Heading,
238
+ Text: () => Text,
239
+ Typography: () => Typography
240
+ });
241
+ var variantStyles, colorStyles, weightStyles, defaultElements, typographySizeStyles, overflowStyles2, Typography, sizeStyles, Heading, Text;
242
+ var init_Typography = __esm({
243
+ "components/atoms/Typography.tsx"() {
244
+ init_cn();
245
+ variantStyles = {
246
+ h1: "text-4xl font-bold tracking-tight text-foreground",
247
+ h2: "text-3xl font-bold tracking-tight text-foreground",
248
+ h3: "text-2xl font-bold text-foreground",
249
+ h4: "text-xl font-bold text-foreground",
250
+ h5: "text-lg font-bold text-foreground",
251
+ h6: "text-base font-bold text-foreground",
252
+ heading: "text-2xl font-bold text-foreground",
253
+ subheading: "text-lg font-semibold text-foreground",
254
+ body1: "text-base font-normal text-foreground",
255
+ body2: "text-sm font-normal text-foreground",
256
+ body: "text-base font-normal text-foreground",
257
+ caption: "text-xs font-normal text-muted-foreground",
258
+ overline: "text-xs uppercase tracking-wide font-bold text-muted-foreground",
259
+ small: "text-sm font-normal text-foreground",
260
+ large: "text-lg font-medium text-foreground",
261
+ label: "text-sm font-medium text-foreground"
262
+ };
263
+ colorStyles = {
264
+ primary: "text-foreground",
265
+ secondary: "text-muted-foreground",
266
+ muted: "text-muted-foreground",
267
+ error: "text-error",
268
+ success: "text-success",
269
+ warning: "text-warning",
270
+ inherit: "text-inherit"
271
+ };
272
+ weightStyles = {
273
+ light: "font-light",
274
+ normal: "font-normal",
275
+ medium: "font-medium",
276
+ semibold: "font-semibold",
277
+ bold: "font-bold"
278
+ };
279
+ defaultElements = {
280
+ h1: "h1",
281
+ h2: "h2",
282
+ h3: "h3",
283
+ h4: "h4",
284
+ h5: "h5",
285
+ h6: "h6",
286
+ heading: "h2",
287
+ subheading: "h3",
288
+ body1: "p",
289
+ body2: "p",
290
+ body: "p",
291
+ caption: "span",
292
+ overline: "span",
293
+ small: "span",
294
+ large: "p",
295
+ label: "span"
296
+ };
297
+ typographySizeStyles = {
298
+ xs: "text-xs",
299
+ sm: "text-sm",
300
+ md: "text-base",
301
+ lg: "text-lg",
302
+ xl: "text-xl",
303
+ "2xl": "text-2xl",
304
+ "3xl": "text-3xl"
305
+ };
306
+ overflowStyles2 = {
307
+ visible: "overflow-visible",
308
+ hidden: "overflow-hidden",
309
+ wrap: "break-words overflow-hidden",
310
+ "clamp-2": "overflow-hidden line-clamp-2",
311
+ "clamp-3": "overflow-hidden line-clamp-3"
312
+ };
313
+ Typography = ({
314
+ variant: variantProp,
315
+ level,
316
+ color = "primary",
317
+ align,
318
+ weight,
319
+ size,
320
+ truncate = false,
321
+ overflow,
322
+ as,
323
+ id,
324
+ className,
325
+ style,
326
+ content,
327
+ children
328
+ }) => {
329
+ const variant = variantProp ?? (level ? `h${level}` : "body1");
330
+ const Component = as || defaultElements[variant];
331
+ const Comp = Component;
332
+ return /* @__PURE__ */ jsx(
333
+ Comp,
334
+ {
335
+ id,
336
+ className: cn(
337
+ variantStyles[variant],
338
+ colorStyles[color],
339
+ weight && weightStyles[weight],
340
+ size && typographySizeStyles[size],
341
+ align && `text-${align}`,
342
+ truncate && "truncate overflow-hidden text-ellipsis",
343
+ overflow && overflowStyles2[overflow],
344
+ className
345
+ ),
346
+ style,
347
+ children: children ?? content
348
+ }
349
+ );
350
+ };
351
+ Typography.displayName = "Typography";
352
+ sizeStyles = {
353
+ xs: "text-xs",
354
+ sm: "text-sm",
355
+ md: "text-base",
356
+ lg: "text-lg",
357
+ xl: "text-xl",
358
+ "2xl": "text-2xl",
359
+ "3xl": "text-3xl"
360
+ };
361
+ Heading = ({
362
+ level = 2,
363
+ size,
364
+ className,
365
+ ...props
366
+ }) => {
367
+ const variant = `h${level}`;
368
+ const sizeClass = size ? sizeStyles[size] : void 0;
369
+ return /* @__PURE__ */ jsx(
370
+ Typography,
371
+ {
372
+ variant,
373
+ className: cn(sizeClass, className),
374
+ ...props
375
+ }
376
+ );
377
+ };
378
+ Heading.displayName = "Heading";
379
+ Text = ({
380
+ variant = "body",
381
+ ...props
382
+ }) => {
383
+ return /* @__PURE__ */ jsx(
384
+ Typography,
385
+ {
386
+ variant,
387
+ ...props
388
+ }
389
+ );
390
+ };
391
+ Text.displayName = "Text";
392
+ }
393
+ });
44
394
  var BUILT_IN_THEMES = [
45
395
  {
46
396
  name: "wireframe",
@@ -272,53 +622,8 @@ var ThemeProvider = ({
272
622
  return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: contextValue2, children });
273
623
  };
274
624
 
275
- // lib/logger.ts
276
- var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
277
- var ENV = typeof process !== "undefined" && process.env ? process.env : {};
278
- function envGet(key) {
279
- return ENV[key] ?? ENV[`VITE_${key}`];
280
- }
281
- var NODE_ENV = envGet("NODE_ENV") ?? "development";
282
- var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
283
- var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
284
- var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
285
- function matchesNamespace(namespace) {
286
- if (DEBUG_FILTER.length === 0) return true;
287
- return DEBUG_FILTER.some((pattern) => {
288
- if (pattern === "*" || pattern === "almadar:*") return true;
289
- if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
290
- return namespace === pattern;
291
- });
292
- }
293
- function createLogger(namespace) {
294
- const nsAllowed = matchesNamespace(namespace);
295
- const log4 = (level, message, data, correlationId) => {
296
- if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
297
- if (level === "DEBUG" && !nsAllowed) return;
298
- const prefix = `[${namespace}]`;
299
- const logData = correlationId ? { ...data, cid: correlationId } : data;
300
- switch (level) {
301
- case "DEBUG":
302
- console.debug(prefix, message, logData ?? "");
303
- break;
304
- case "INFO":
305
- console.info(prefix, message, logData ?? "");
306
- break;
307
- case "WARN":
308
- console.warn(prefix, message, logData ?? "");
309
- break;
310
- case "ERROR":
311
- console.error(prefix, message, logData ?? "");
312
- break;
313
- }
314
- };
315
- return {
316
- debug: (msg, data, cid) => log4("DEBUG", msg, data, cid),
317
- info: (msg, data, cid) => log4("INFO", msg, data, cid),
318
- warn: (msg, data, cid) => log4("WARN", msg, data, cid),
319
- error: (msg, data, cid) => log4("ERROR", msg, data, cid)
320
- };
321
- }
625
+ // providers/EntityStoreProvider.tsx
626
+ init_logger();
322
627
  var storeLog = createLogger("almadar:entity:store");
323
628
  var store = /* @__PURE__ */ new Map();
324
629
  var storeListeners = /* @__PURE__ */ new Set();
@@ -487,86 +792,10 @@ function useEntityStore() {
487
792
  function EntityStoreProvider({ children }) {
488
793
  return /* @__PURE__ */ jsx(EntityStoreContext.Provider, { value: contextValue, children });
489
794
  }
490
- var log = createLogger("almadar:eventbus");
491
- var subLog = createLogger("almadar:eventbus:subscribe");
492
- function setGlobalEventBus(bus) {
493
- if (typeof window !== "undefined") {
494
- window.__kflowEventBus = bus;
495
- }
496
- }
497
- function getGlobalEventBus() {
498
- if (typeof window !== "undefined") {
499
- return window.__kflowEventBus ?? null;
500
- }
501
- return null;
502
- }
503
- var fallbackListeners = /* @__PURE__ */ new Map();
504
- var fallbackAnyListeners = /* @__PURE__ */ new Set();
505
- var fallbackEventBus = {
506
- emit: (type, payload) => {
507
- const event = {
508
- type,
509
- payload,
510
- timestamp: Date.now()
511
- };
512
- const handlers = fallbackListeners.get(type);
513
- log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
514
- if (handlers) {
515
- handlers.forEach((handler) => {
516
- try {
517
- handler(event);
518
- } catch (error) {
519
- console.error(`[EventBus] Error in listener for '${type}':`, error);
520
- }
521
- });
522
- }
523
- fallbackAnyListeners.forEach((handler) => {
524
- try {
525
- handler(event);
526
- } catch (error) {
527
- console.error(`[EventBus] Error in onAny listener for '${type}':`, error);
528
- }
529
- });
530
- },
531
- on: (type, listener) => {
532
- if (!fallbackListeners.has(type)) {
533
- fallbackListeners.set(type, /* @__PURE__ */ new Set());
534
- }
535
- fallbackListeners.get(type).add(listener);
536
- subLog.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
537
- return () => {
538
- const handlers = fallbackListeners.get(type);
539
- if (handlers) {
540
- handlers.delete(listener);
541
- if (handlers.size === 0) {
542
- fallbackListeners.delete(type);
543
- }
544
- }
545
- };
546
- },
547
- once: (type, listener) => {
548
- const wrappedListener = (event) => {
549
- fallbackListeners.get(type)?.delete(wrappedListener);
550
- listener(event);
551
- };
552
- return fallbackEventBus.on(type, wrappedListener);
553
- },
554
- hasListeners: (type) => {
555
- const handlers = fallbackListeners.get(type);
556
- return handlers !== void 0 && handlers.size > 0;
557
- },
558
- onAny: (listener) => {
559
- fallbackAnyListeners.add(listener);
560
- subLog.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
561
- return () => {
562
- fallbackAnyListeners.delete(listener);
563
- };
564
- }
565
- };
566
- function useEventBus() {
567
- const context = useContext(EventBusContext);
568
- return context ?? getGlobalEventBus() ?? fallbackEventBus;
569
- }
795
+
796
+ // providers/EventBusProvider.tsx
797
+ init_useEventBus();
798
+ init_logger();
570
799
  var busLog = createLogger("almadar:eventbus");
571
800
  var subLog2 = createLogger("almadar:eventbus:subscribe");
572
801
  var EventBusContext2 = createContext(null);
@@ -690,6 +919,9 @@ function EventBusProvider({ children, debug: debug2 = false }) {
690
919
  }, [contextValue2]);
691
920
  return /* @__PURE__ */ jsx(EventBusContext2.Provider, { value: contextValue2, children });
692
921
  }
922
+
923
+ // providers/SelectionProvider.tsx
924
+ init_useEventBus();
693
925
  var SelectionContext = createContext(null);
694
926
  var defaultCompareEntities = (a, b) => {
695
927
  if (a === b) return true;
@@ -778,9 +1010,9 @@ function useSelectionOptional() {
778
1010
  return context;
779
1011
  }
780
1012
  createContext(null);
781
- function cn(...inputs) {
782
- return twMerge(clsx(inputs));
783
- }
1013
+
1014
+ // components/atoms/Icon.tsx
1015
+ init_cn();
784
1016
  var iconAliases = {
785
1017
  "close": LucideIcons.X,
786
1018
  "trash": LucideIcons.Trash2,
@@ -816,6 +1048,10 @@ function doResolve(name) {
816
1048
  if (asIs && typeof asIs === "object") return asIs;
817
1049
  return LucideIcons.HelpCircle;
818
1050
  }
1051
+
1052
+ // components/atoms/Box.tsx
1053
+ init_cn();
1054
+ init_useEventBus();
819
1055
  var paddingStyles = {
820
1056
  none: "p-0",
821
1057
  xs: "p-1",
@@ -1014,113 +1250,25 @@ var Box = React114__default.forwardRef(
1014
1250
  }
1015
1251
  );
1016
1252
  Box.displayName = "Box";
1017
- var variantStyles = {
1018
- h1: "text-4xl font-bold tracking-tight text-foreground",
1019
- h2: "text-3xl font-bold tracking-tight text-foreground",
1020
- h3: "text-2xl font-bold text-foreground",
1021
- h4: "text-xl font-bold text-foreground",
1022
- h5: "text-lg font-bold text-foreground",
1023
- h6: "text-base font-bold text-foreground",
1024
- heading: "text-2xl font-bold text-foreground",
1025
- subheading: "text-lg font-semibold text-foreground",
1026
- body1: "text-base font-normal text-foreground",
1027
- body2: "text-sm font-normal text-foreground",
1028
- body: "text-base font-normal text-foreground",
1029
- caption: "text-xs font-normal text-muted-foreground",
1030
- overline: "text-xs uppercase tracking-wide font-bold text-muted-foreground",
1031
- small: "text-sm font-normal text-foreground",
1032
- large: "text-lg font-medium text-foreground",
1033
- label: "text-sm font-medium text-foreground"
1034
- };
1035
- var colorStyles = {
1036
- primary: "text-foreground",
1037
- secondary: "text-muted-foreground",
1038
- muted: "text-muted-foreground",
1039
- error: "text-error",
1040
- success: "text-success",
1041
- warning: "text-warning",
1042
- inherit: "text-inherit"
1043
- };
1044
- var weightStyles = {
1045
- light: "font-light",
1046
- normal: "font-normal",
1047
- medium: "font-medium",
1048
- semibold: "font-semibold",
1049
- bold: "font-bold"
1050
- };
1051
- var defaultElements = {
1052
- h1: "h1",
1053
- h2: "h2",
1054
- h3: "h3",
1055
- h4: "h4",
1056
- h5: "h5",
1057
- h6: "h6",
1058
- heading: "h2",
1059
- subheading: "h3",
1060
- body1: "p",
1061
- body2: "p",
1062
- body: "p",
1063
- caption: "span",
1064
- overline: "span",
1065
- small: "span",
1066
- large: "p",
1067
- label: "span"
1068
- };
1069
- var typographySizeStyles = {
1070
- xs: "text-xs",
1071
- sm: "text-sm",
1072
- md: "text-base",
1073
- lg: "text-lg",
1074
- xl: "text-xl",
1075
- "2xl": "text-2xl",
1076
- "3xl": "text-3xl"
1077
- };
1078
- var overflowStyles2 = {
1079
- visible: "overflow-visible",
1080
- hidden: "overflow-hidden",
1081
- wrap: "break-words overflow-hidden",
1082
- "clamp-2": "overflow-hidden line-clamp-2",
1083
- "clamp-3": "overflow-hidden line-clamp-3"
1084
- };
1085
- var Typography = ({
1086
- variant: variantProp,
1087
- level,
1088
- color = "primary",
1089
- align,
1090
- weight,
1091
- size,
1092
- truncate = false,
1093
- overflow,
1094
- as,
1095
- id,
1096
- className,
1097
- style,
1098
- content,
1099
- children
1100
- }) => {
1101
- const variant = variantProp ?? (level ? `h${level}` : "body1");
1102
- const Component = as || defaultElements[variant];
1103
- const Comp = Component;
1104
- return /* @__PURE__ */ jsx(
1105
- Comp,
1106
- {
1107
- id,
1108
- className: cn(
1109
- variantStyles[variant],
1110
- colorStyles[color],
1111
- weight && weightStyles[weight],
1112
- size && typographySizeStyles[size],
1113
- align && `text-${align}`,
1114
- truncate && "truncate overflow-hidden text-ellipsis",
1115
- overflow && overflowStyles2[overflow],
1116
- className
1117
- ),
1118
- style,
1119
- children: children ?? content
1120
- }
1121
- );
1122
- };
1123
- Typography.displayName = "Typography";
1253
+
1254
+ // components/molecules/Modal.tsx
1255
+ init_Typography();
1256
+
1257
+ // components/atoms/Overlay.tsx
1258
+ init_cn();
1259
+ init_useEventBus();
1260
+
1261
+ // components/molecules/Modal.tsx
1262
+ init_cn();
1263
+ init_useEventBus();
1264
+ init_Typography();
1265
+ init_cn();
1266
+ init_useEventBus();
1267
+ init_Typography();
1268
+
1269
+ // components/atoms/Button.tsx
1270
+ init_cn();
1271
+ init_useEventBus();
1124
1272
  var variantStyles2 = {
1125
1273
  primary: [
1126
1274
  "bg-primary text-primary-foreground",
@@ -1259,6 +1407,9 @@ var Button = React114__default.forwardRef(
1259
1407
  }
1260
1408
  );
1261
1409
  Button.displayName = "Button";
1410
+
1411
+ // components/atoms/Badge.tsx
1412
+ init_cn();
1262
1413
  var variantStyles3 = {
1263
1414
  default: [
1264
1415
  "bg-muted text-foreground",
@@ -1323,6 +1474,23 @@ var Badge = React114__default.forwardRef(
1323
1474
  }
1324
1475
  );
1325
1476
  Badge.displayName = "Badge";
1477
+
1478
+ // components/molecules/Toast.tsx
1479
+ init_cn();
1480
+ init_useEventBus();
1481
+
1482
+ // components/organisms/UISlotRenderer.tsx
1483
+ init_Typography();
1484
+ init_cn();
1485
+
1486
+ // components/molecules/ErrorBoundary.tsx
1487
+ init_cn();
1488
+
1489
+ // components/molecules/ErrorState.tsx
1490
+ init_cn();
1491
+
1492
+ // components/atoms/Input.tsx
1493
+ init_cn();
1326
1494
  var Input = React114__default.forwardRef(
1327
1495
  ({
1328
1496
  className,
@@ -1435,6 +1603,9 @@ var Input = React114__default.forwardRef(
1435
1603
  }
1436
1604
  );
1437
1605
  Input.displayName = "Input";
1606
+
1607
+ // components/atoms/Label.tsx
1608
+ init_cn();
1438
1609
  var Label = React114__default.forwardRef(
1439
1610
  ({ className, required, children, ...props }, ref) => {
1440
1611
  return /* @__PURE__ */ jsxs(
@@ -1455,6 +1626,9 @@ var Label = React114__default.forwardRef(
1455
1626
  }
1456
1627
  );
1457
1628
  Label.displayName = "Label";
1629
+
1630
+ // components/atoms/Textarea.tsx
1631
+ init_cn();
1458
1632
  var Textarea = React114__default.forwardRef(
1459
1633
  ({ className, error, ...props }, ref) => {
1460
1634
  return /* @__PURE__ */ jsx(
@@ -1478,6 +1652,9 @@ var Textarea = React114__default.forwardRef(
1478
1652
  }
1479
1653
  );
1480
1654
  Textarea.displayName = "Textarea";
1655
+
1656
+ // components/atoms/Select.tsx
1657
+ init_cn();
1481
1658
  var Select = React114__default.forwardRef(
1482
1659
  ({ className, options, placeholder, error, ...props }, ref) => {
1483
1660
  return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
@@ -1514,6 +1691,9 @@ var Select = React114__default.forwardRef(
1514
1691
  }
1515
1692
  );
1516
1693
  Select.displayName = "Select";
1694
+
1695
+ // components/atoms/Checkbox.tsx
1696
+ init_cn();
1517
1697
  var Checkbox = React114__default.forwardRef(
1518
1698
  ({ className, label, id, ...props }, ref) => {
1519
1699
  const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
@@ -1546,6 +1726,9 @@ var Checkbox = React114__default.forwardRef(
1546
1726
  }
1547
1727
  );
1548
1728
  Checkbox.displayName = "Checkbox";
1729
+
1730
+ // components/atoms/Card.tsx
1731
+ init_cn();
1549
1732
  var variantStyles4 = {
1550
1733
  default: [
1551
1734
  "bg-card",
@@ -1654,6 +1837,9 @@ var CardFooter = React114__default.forwardRef(({ className, ...props }, ref) =>
1654
1837
  }
1655
1838
  ));
1656
1839
  CardFooter.displayName = "CardFooter";
1840
+
1841
+ // components/atoms/Spinner.tsx
1842
+ init_cn();
1657
1843
  var sizeStyles4 = {
1658
1844
  xs: "h-3 w-3",
1659
1845
  sm: "h-4 w-4",
@@ -1674,6 +1860,22 @@ var Spinner = React114__default.forwardRef(
1674
1860
  }
1675
1861
  );
1676
1862
  Spinner.displayName = "Spinner";
1863
+
1864
+ // components/atoms/Avatar.tsx
1865
+ init_cn();
1866
+ init_useEventBus();
1867
+
1868
+ // components/atoms/Center.tsx
1869
+ init_cn();
1870
+
1871
+ // components/atoms/Divider.tsx
1872
+ init_cn();
1873
+
1874
+ // components/atoms/ProgressBar.tsx
1875
+ init_cn();
1876
+
1877
+ // components/atoms/Radio.tsx
1878
+ init_cn();
1677
1879
  var Radio = React114__default.forwardRef(
1678
1880
  ({
1679
1881
  label,
@@ -1778,6 +1980,9 @@ var Radio = React114__default.forwardRef(
1778
1980
  }
1779
1981
  );
1780
1982
  Radio.displayName = "Radio";
1983
+
1984
+ // components/atoms/Switch.tsx
1985
+ init_cn();
1781
1986
  var Switch = React114.forwardRef(
1782
1987
  ({
1783
1988
  checked,
@@ -1851,6 +2056,13 @@ var Switch = React114.forwardRef(
1851
2056
  }
1852
2057
  );
1853
2058
  Switch.displayName = "Switch";
2059
+
2060
+ // components/atoms/Spacer.tsx
2061
+ init_cn();
2062
+
2063
+ // components/atoms/Stack.tsx
2064
+ init_cn();
2065
+ init_useEventBus();
1854
2066
  var gapStyles = {
1855
2067
  none: "gap-0",
1856
2068
  xs: "gap-1",
@@ -1929,6 +2141,31 @@ var Stack = ({
1929
2141
  };
1930
2142
  var VStack = (props) => /* @__PURE__ */ jsx(Stack, { direction: "vertical", ...props });
1931
2143
  var HStack = (props) => /* @__PURE__ */ jsx(Stack, { direction: "horizontal", ...props });
2144
+
2145
+ // components/atoms/TextHighlight.tsx
2146
+ init_cn();
2147
+ init_useEventBus();
2148
+
2149
+ // components/atoms/index.ts
2150
+ init_Typography();
2151
+
2152
+ // components/atoms/ThemeToggle.tsx
2153
+ init_cn();
2154
+
2155
+ // components/atoms/FlipContainer.tsx
2156
+ init_cn();
2157
+ init_Typography();
2158
+ init_cn();
2159
+
2160
+ // components/atoms/DayCell.tsx
2161
+ init_cn();
2162
+ init_Typography();
2163
+
2164
+ // components/atoms/TimeSlotCell.tsx
2165
+ init_cn();
2166
+
2167
+ // components/atoms/StatusDot.tsx
2168
+ init_cn();
1932
2169
  var statusColors = {
1933
2170
  online: "bg-success",
1934
2171
  offline: "bg-muted-foreground",
@@ -1976,6 +2213,9 @@ var StatusDot = React114__default.forwardRef(
1976
2213
  }
1977
2214
  );
1978
2215
  StatusDot.displayName = "StatusDot";
2216
+
2217
+ // components/atoms/TrendIndicator.tsx
2218
+ init_cn();
1979
2219
  var sizeStyles6 = {
1980
2220
  sm: { icon: "w-3 h-3", text: "text-xs" },
1981
2221
  md: { icon: "w-4 h-4", text: "text-sm" },
@@ -2036,6 +2276,10 @@ var TrendIndicator = React114__default.forwardRef(
2036
2276
  }
2037
2277
  );
2038
2278
  TrendIndicator.displayName = "TrendIndicator";
2279
+
2280
+ // components/atoms/RangeSlider.tsx
2281
+ init_cn();
2282
+ init_useEventBus();
2039
2283
  function useSafeEventBus() {
2040
2284
  try {
2041
2285
  return useEventBus();
@@ -2244,6 +2488,34 @@ var RangeSlider = React114__default.forwardRef(
2244
2488
  }
2245
2489
  );
2246
2490
  RangeSlider.displayName = "RangeSlider";
2491
+
2492
+ // components/atoms/AnimatedCounter.tsx
2493
+ init_cn();
2494
+ init_Typography();
2495
+
2496
+ // components/atoms/InfiniteScrollSentinel.tsx
2497
+ init_cn();
2498
+
2499
+ // components/atoms/InfiniteScrollSentinel.tsx
2500
+ init_useEventBus();
2501
+
2502
+ // components/atoms/ConfettiEffect.tsx
2503
+ init_cn();
2504
+
2505
+ // components/atoms/TypewriterText.tsx
2506
+ init_cn();
2507
+ init_Typography();
2508
+
2509
+ // components/atoms/SectionHeader.tsx
2510
+ init_cn();
2511
+ init_Typography();
2512
+
2513
+ // components/atoms/StatCard.tsx
2514
+ init_cn();
2515
+ init_Typography();
2516
+
2517
+ // components/atoms/ContentSection.tsx
2518
+ init_cn();
2247
2519
  var backgroundClasses = {
2248
2520
  default: "",
2249
2521
  alt: "bg-surface",
@@ -2278,6 +2550,9 @@ var ContentSection = React114__default.forwardRef(
2278
2550
  }
2279
2551
  );
2280
2552
  ContentSection.displayName = "ContentSection";
2553
+
2554
+ // components/atoms/AnimatedReveal.tsx
2555
+ init_cn();
2281
2556
  var initialStyles = {
2282
2557
  "fade-up": { opacity: 0, transform: "translateY(24px)" },
2283
2558
  "fade-down": { opacity: 0, transform: "translateY(-24px)" },
@@ -2379,6 +2654,9 @@ var AnimatedReveal = React114__default.forwardRef(
2379
2654
  }
2380
2655
  );
2381
2656
  AnimatedReveal.displayName = "AnimatedReveal";
2657
+
2658
+ // components/atoms/AnimatedGraphic.tsx
2659
+ init_cn();
2382
2660
  function useFetchedSvg(src) {
2383
2661
  const [svg, setSvg] = useState(null);
2384
2662
  const cache = useRef({});
@@ -2562,6 +2840,65 @@ var AnimatedGraphic = React114__default.forwardRef(
2562
2840
  );
2563
2841
  AnimatedGraphic.displayName = "AnimatedGraphic";
2564
2842
 
2843
+ // components/atoms/game/HealthBar.tsx
2844
+ init_cn();
2845
+
2846
+ // components/atoms/game/ScoreDisplay.tsx
2847
+ init_cn();
2848
+
2849
+ // components/atoms/game/ControlButton.tsx
2850
+ init_cn();
2851
+ init_useEventBus();
2852
+
2853
+ // components/atoms/game/Sprite.tsx
2854
+ init_useEventBus();
2855
+
2856
+ // components/atoms/game/StateIndicator.tsx
2857
+ init_cn();
2858
+
2859
+ // components/atoms/game/TimerDisplay.tsx
2860
+ init_cn();
2861
+
2862
+ // components/atoms/game/ResourceCounter.tsx
2863
+ init_cn();
2864
+
2865
+ // components/atoms/game/ItemSlot.tsx
2866
+ init_cn();
2867
+
2868
+ // components/atoms/game/TurnIndicator.tsx
2869
+ init_cn();
2870
+
2871
+ // components/atoms/game/ComboCounter.tsx
2872
+ init_cn();
2873
+
2874
+ // components/atoms/game/XPBar.tsx
2875
+ init_cn();
2876
+
2877
+ // components/atoms/game/WaypointMarker.tsx
2878
+ init_cn();
2879
+
2880
+ // components/atoms/game/StatusEffect.tsx
2881
+ init_cn();
2882
+
2883
+ // components/atoms/game/DamageNumber.tsx
2884
+ init_cn();
2885
+
2886
+ // components/atoms/game/DialogueBubble.tsx
2887
+ init_cn();
2888
+
2889
+ // components/atoms/game/ChoiceButton.tsx
2890
+ init_cn();
2891
+
2892
+ // components/atoms/game/ActionButton.tsx
2893
+ init_cn();
2894
+
2895
+ // components/atoms/game/MiniMap.tsx
2896
+ init_cn();
2897
+
2898
+ // components/molecules/ErrorState.tsx
2899
+ init_Typography();
2900
+ init_useEventBus();
2901
+
2565
2902
  // locales/en.json
2566
2903
  var en_default = {
2567
2904
  $meta: { locale: "en", direction: "ltr" },
@@ -2758,6 +3095,9 @@ var ErrorBoundary = class extends React114__default.Component {
2758
3095
  };
2759
3096
  __publicField(ErrorBoundary, "displayName", "ErrorBoundary");
2760
3097
 
3098
+ // components/molecules/Skeleton.tsx
3099
+ init_cn();
3100
+
2761
3101
  // renderer/client-effect-executor.ts
2762
3102
  function executeClientEffects(effects, config) {
2763
3103
  if (!effects || effects.length === 0) {
@@ -3132,18 +3472,195 @@ function useOfflineExecutor(options) {
3132
3472
  };
3133
3473
  }
3134
3474
  createContext(null);
3135
- var defaultIcon = L.icon({
3136
- iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
3137
- iconRetinaUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon-2x.png",
3138
- shadowUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png",
3139
- iconSize: [25, 41],
3140
- iconAnchor: [12, 41],
3141
- popupAnchor: [1, -34],
3142
- shadowSize: [41, 41]
3475
+
3476
+ // components/organisms/ComponentPatterns.tsx
3477
+ init_useEventBus();
3478
+ init_Typography();
3479
+
3480
+ // components/molecules/Alert.tsx
3481
+ init_cn();
3482
+ init_Typography();
3483
+ init_useEventBus();
3484
+
3485
+ // components/molecules/Tooltip.tsx
3486
+ init_Typography();
3487
+ init_cn();
3488
+
3489
+ // components/molecules/Popover.tsx
3490
+ init_Typography();
3491
+ init_cn();
3492
+ init_Typography();
3493
+ init_cn();
3494
+ init_useEventBus();
3495
+ init_Typography();
3496
+ init_cn();
3497
+ init_useEventBus();
3498
+
3499
+ // components/molecules/Container.tsx
3500
+ init_cn();
3501
+
3502
+ // components/molecules/SimpleGrid.tsx
3503
+ init_cn();
3504
+ init_Typography();
3505
+ init_cn();
3506
+ init_useEventBus();
3507
+ init_cn();
3508
+ lazy(async () => {
3509
+ const [reactLeaflet, leafletMod] = await Promise.all([
3510
+ import('react-leaflet'),
3511
+ import('leaflet')
3512
+ ]);
3513
+ await import('leaflet/dist/leaflet.css');
3514
+ const { MapContainer, TileLayer, Marker, Popup, useMap } = reactLeaflet;
3515
+ const L = leafletMod.default;
3516
+ const defaultIcon = L.icon({
3517
+ iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
3518
+ iconRetinaUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon-2x.png",
3519
+ shadowUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png",
3520
+ iconSize: [25, 41],
3521
+ iconAnchor: [12, 41],
3522
+ popupAnchor: [1, -34],
3523
+ shadowSize: [41, 41]
3524
+ });
3525
+ L.Marker.prototype.options.icon = defaultIcon;
3526
+ const { useEffect: useEffect62, useRef: useRef63, useCallback: useCallback94, useState: useState85 } = React114__default;
3527
+ const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
3528
+ const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
3529
+ function MapUpdater({ centerLat, centerLng, zoom }) {
3530
+ const map = useMap();
3531
+ const prevRef = useRef63({ centerLat, centerLng, zoom });
3532
+ useEffect62(() => {
3533
+ const prev = prevRef.current;
3534
+ if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
3535
+ map.setView([centerLat, centerLng], zoom);
3536
+ prevRef.current = { centerLat, centerLng, zoom };
3537
+ }
3538
+ }, [map, centerLat, centerLng, zoom]);
3539
+ return null;
3540
+ }
3541
+ function MapClickHandler({ onMapClick }) {
3542
+ const map = useMap();
3543
+ useEffect62(() => {
3544
+ if (!onMapClick) return;
3545
+ const handler = (e) => {
3546
+ onMapClick(e.latlng.lat, e.latlng.lng);
3547
+ };
3548
+ map.on("click", handler);
3549
+ return () => {
3550
+ map.off("click", handler);
3551
+ };
3552
+ }, [map, onMapClick]);
3553
+ return null;
3554
+ }
3555
+ function MapViewInner({
3556
+ markers = [],
3557
+ centerLat = 51.505,
3558
+ centerLng = -0.09,
3559
+ zoom = 13,
3560
+ height = "400px",
3561
+ onMarkerClick,
3562
+ onMapClick,
3563
+ mapClickEvent,
3564
+ markerClickEvent,
3565
+ showClickedPin = false,
3566
+ className,
3567
+ showAttribution = true
3568
+ }) {
3569
+ const eventBus = useEventBus2();
3570
+ const [clickedPosition, setClickedPosition] = useState85(null);
3571
+ const handleMapClick = useCallback94((lat, lng) => {
3572
+ if (showClickedPin) {
3573
+ setClickedPosition({ lat, lng });
3574
+ }
3575
+ onMapClick?.(lat, lng);
3576
+ if (mapClickEvent) {
3577
+ eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
3578
+ }
3579
+ }, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
3580
+ const handleMarkerClick = useCallback94((marker) => {
3581
+ onMarkerClick?.(marker);
3582
+ if (markerClickEvent) {
3583
+ eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
3584
+ }
3585
+ }, [onMarkerClick, markerClickEvent, eventBus]);
3586
+ return /* @__PURE__ */ jsx(
3587
+ Box,
3588
+ {
3589
+ className: cn("relative w-full overflow-hidden rounded-lg", className),
3590
+ style: { height },
3591
+ "data-testid": "map-view",
3592
+ children: /* @__PURE__ */ jsxs(
3593
+ MapContainer,
3594
+ {
3595
+ center: [centerLat, centerLng],
3596
+ zoom,
3597
+ style: { height: "100%", width: "100%" },
3598
+ attributionControl: showAttribution,
3599
+ children: [
3600
+ /* @__PURE__ */ jsx(
3601
+ TileLayer,
3602
+ {
3603
+ url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
3604
+ attribution: showAttribution ? '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>' : void 0
3605
+ }
3606
+ ),
3607
+ /* @__PURE__ */ jsx(MapUpdater, { centerLat, centerLng, zoom }),
3608
+ /* @__PURE__ */ jsx(MapClickHandler, { onMapClick: handleMapClick }),
3609
+ showClickedPin && clickedPosition && /* @__PURE__ */ jsx(Marker, { position: [clickedPosition.lat, clickedPosition.lng], children: /* @__PURE__ */ jsx(Popup, { children: /* @__PURE__ */ jsxs(Typography2, { variant: "body2", children: [
3610
+ clickedPosition.lat.toFixed(5),
3611
+ ", ",
3612
+ clickedPosition.lng.toFixed(5)
3613
+ ] }) }) }),
3614
+ markers.map((marker) => /* @__PURE__ */ jsx(
3615
+ Marker,
3616
+ {
3617
+ position: [marker.lat, marker.lng],
3618
+ eventHandlers: onMarkerClick || markerClickEvent ? { click: () => handleMarkerClick(marker) } : void 0,
3619
+ children: marker.label ? /* @__PURE__ */ jsxs(Popup, { children: [
3620
+ /* @__PURE__ */ jsx(Typography2, { variant: "body2", children: marker.label }),
3621
+ marker.category ? /* @__PURE__ */ jsx(Typography2, { variant: "caption", className: "text-muted-foreground", children: marker.category }) : null
3622
+ ] }) : null
3623
+ },
3624
+ marker.id
3625
+ ))
3626
+ ]
3627
+ },
3628
+ `map-${centerLat}-${centerLng}-${zoom}`
3629
+ )
3630
+ }
3631
+ );
3632
+ }
3633
+ return { default: MapViewInner };
3143
3634
  });
3144
- L.Marker.prototype.options.icon = defaultIcon;
3635
+
3636
+ // components/molecules/game/ActionButtons.tsx
3637
+ init_cn();
3638
+ init_useEventBus();
3639
+
3640
+ // components/organisms/game/puzzles/sequencer/ActionPalette.tsx
3641
+ init_cn();
3642
+ init_cn();
3643
+
3644
+ // components/templates/AuthLayout.tsx
3645
+ init_cn();
3646
+ init_Typography();
3647
+
3648
+ // components/organisms/game/BattleBoard.tsx
3649
+ init_cn();
3650
+ init_useEventBus();
3651
+ init_Typography();
3652
+
3653
+ // components/molecules/game/IsometricCanvas.tsx
3654
+ init_cn();
3655
+ init_useEventBus();
3656
+ init_Typography();
3657
+
3658
+ // components/molecules/LoadingState.tsx
3659
+ init_cn();
3660
+ init_Typography();
3145
3661
 
3146
3662
  // lib/verificationRegistry.ts
3663
+ init_logger();
3147
3664
  var log2 = createLogger("almadar:bridge");
3148
3665
  var MAX_TRANSITIONS = 500;
3149
3666
  function getState() {
@@ -3313,6 +3830,11 @@ function bindTraitStateGetter(getter) {
3313
3830
  }
3314
3831
  }
3315
3832
  exposeOnWindow();
3833
+
3834
+ // components/organisms/book/BookChapterView.tsx
3835
+ init_Typography();
3836
+ init_cn();
3837
+ init_cn();
3316
3838
  var MarkdownContent = React114__default.memo(
3317
3839
  ({ content, direction, className }) => {
3318
3840
  const { t: _t } = useTranslate();
@@ -3415,6 +3937,7 @@ var MarkdownContent = React114__default.memo(
3415
3937
  (prev, next) => prev.content === next.content && prev.className === next.className && prev.direction === next.direction
3416
3938
  );
3417
3939
  MarkdownContent.displayName = "MarkdownContent";
3940
+ init_useEventBus();
3418
3941
  SyntaxHighlighter.registerLanguage("json", langJson);
3419
3942
  SyntaxHighlighter.registerLanguage("javascript", langJavascript);
3420
3943
  SyntaxHighlighter.registerLanguage("js", langJavascript);
@@ -3698,11 +4221,547 @@ var CodeBlock = React114__default.memo(
3698
4221
  );
3699
4222
  CodeBlock.displayName = "CodeBlock";
3700
4223
 
4224
+ // components/molecules/Card.tsx
4225
+ init_useEventBus();
4226
+
4227
+ // components/molecules/QuizBlock.tsx
4228
+ init_Typography();
4229
+ init_cn();
4230
+ init_Typography();
4231
+ init_Typography();
4232
+ init_useEventBus();
4233
+ init_cn();
4234
+
4235
+ // components/organisms/JazariStateMachine.tsx
4236
+ init_cn();
4237
+
4238
+ // components/organisms/ContentRenderer.tsx
4239
+ init_cn();
4240
+
4241
+ // components/organisms/book/BookChapterView.tsx
4242
+ init_cn();
4243
+
4244
+ // components/organisms/book/BookCoverPage.tsx
4245
+ init_Typography();
4246
+ init_cn();
4247
+ init_Typography();
4248
+ init_cn();
4249
+
4250
+ // components/organisms/book/BookTableOfContents.tsx
4251
+ init_Typography();
4252
+ init_cn();
4253
+ init_useEventBus();
4254
+ init_cn();
4255
+
4256
+ // components/molecules/EmptyState.tsx
4257
+ init_cn();
4258
+ init_Typography();
4259
+ init_useEventBus();
4260
+
4261
+ // components/molecules/Grid.tsx
4262
+ init_cn();
4263
+ init_Typography();
4264
+ init_cn();
4265
+ init_useEventBus();
4266
+ init_useEventBus();
4267
+
4268
+ // components/molecules/ButtonGroup.tsx
4269
+ init_cn();
4270
+ init_useEventBus();
4271
+
4272
+ // components/molecules/CalendarGrid.tsx
4273
+ init_cn();
4274
+ init_Typography();
4275
+ init_useEventBus();
4276
+
4277
+ // components/organisms/game/CanvasEffect.tsx
4278
+ init_cn();
4279
+ init_useEventBus();
4280
+
4281
+ // components/organisms/CardGrid.tsx
4282
+ init_cn();
4283
+
4284
+ // components/organisms/CardGrid.tsx
4285
+ init_useEventBus();
4286
+ init_Typography();
4287
+ init_Typography();
4288
+ init_cn();
4289
+ init_useEventBus();
4290
+
4291
+ // components/molecules/Carousel.tsx
4292
+ init_cn();
4293
+ init_useEventBus();
4294
+
4295
+ // components/organisms/game/CastleBoard.tsx
4296
+ init_cn();
4297
+ init_useEventBus();
4298
+
4299
+ // components/organisms/Chart.tsx
4300
+ init_cn();
4301
+ init_useEventBus();
4302
+
4303
+ // components/molecules/ChartLegend.tsx
4304
+ init_cn();
4305
+ init_useEventBus();
4306
+ init_cn();
4307
+
4308
+ // components/organisms/CodeViewer.tsx
4309
+ init_cn();
4310
+ init_Typography();
4311
+ init_cn();
4312
+ init_useEventBus();
4313
+
4314
+ // components/organisms/CodeViewer.tsx
4315
+ init_useEventBus();
4316
+ init_cn();
4317
+ init_Typography();
4318
+ init_cn();
4319
+
4320
+ // components/templates/CounterTemplate.tsx
4321
+ init_cn();
4322
+ init_Typography();
4323
+
4324
+ // components/molecules/game/CraftingRecipe.tsx
4325
+ init_cn();
4326
+ init_useEventBus();
4327
+
4328
+ // components/organisms/CustomPattern.tsx
4329
+ init_useEventBus();
4330
+ init_cn();
4331
+ init_Typography();
4332
+
4333
+ // components/molecules/game/DPad.tsx
4334
+ init_cn();
4335
+ init_useEventBus();
4336
+
4337
+ // components/organisms/layout/DashboardGrid.tsx
4338
+ init_cn();
4339
+
4340
+ // components/templates/DashboardLayout.tsx
4341
+ init_cn();
4342
+ init_Typography();
4343
+
4344
+ // components/molecules/DataGrid.tsx
4345
+ init_cn();
4346
+ init_useEventBus();
4347
+ init_Typography();
4348
+
4349
+ // components/molecules/DataList.tsx
4350
+ init_cn();
4351
+ init_useEventBus();
4352
+ init_Typography();
4353
+
4354
+ // components/organisms/DataTable.tsx
4355
+ init_cn();
4356
+ init_Typography();
4357
+
4358
+ // components/molecules/FormField.tsx
4359
+ init_cn();
4360
+ init_Typography();
4361
+
4362
+ // components/molecules/FilterGroup.tsx
4363
+ init_cn();
4364
+ init_useEventBus();
4365
+
4366
+ // components/molecules/Flex.tsx
4367
+ init_cn();
4368
+
4369
+ // components/molecules/InputGroup.tsx
4370
+ init_Typography();
4371
+ init_cn();
4372
+
4373
+ // components/molecules/RelationSelect.tsx
4374
+ init_cn();
4375
+ init_Typography();
4376
+
3701
4377
  // lib/debug.ts
3702
4378
  typeof window !== "undefined" && (localStorage.getItem("debug") === "true" || process.env.NODE_ENV === "development");
4379
+ init_cn();
4380
+ init_useEventBus();
4381
+ init_Typography();
4382
+ init_cn();
4383
+ init_useEventBus();
4384
+
4385
+ // components/molecules/WizardProgress.tsx
4386
+ init_Typography();
4387
+ init_cn();
4388
+ init_useEventBus();
4389
+ init_Typography();
4390
+ init_cn();
4391
+ init_useEventBus();
4392
+
4393
+ // components/molecules/RepeatableFormSection.tsx
4394
+ init_cn();
4395
+ init_Typography();
4396
+ init_useEventBus();
4397
+
4398
+ // components/molecules/ViolationAlert.tsx
4399
+ init_cn();
4400
+ init_Typography();
4401
+
4402
+ // components/molecules/FormSectionHeader.tsx
4403
+ init_cn();
4404
+ init_Typography();
4405
+
4406
+ // components/molecules/FlipCard.tsx
4407
+ init_cn();
4408
+
4409
+ // components/molecules/DateRangeSelector.tsx
4410
+ init_cn();
4411
+
4412
+ // components/molecules/LineChart.tsx
4413
+ init_cn();
4414
+
4415
+ // components/molecules/ProgressDots.tsx
4416
+ init_cn();
4417
+
4418
+ // components/molecules/game/StatBadge.tsx
4419
+ init_cn();
4420
+
4421
+ // components/molecules/game/InventoryGrid.tsx
4422
+ init_cn();
4423
+ init_useEventBus();
4424
+
4425
+ // components/molecules/game/QuestTracker.tsx
4426
+ init_cn();
4427
+ init_Typography();
4428
+
4429
+ // components/molecules/game/PowerupSlots.tsx
4430
+ init_cn();
4431
+ init_Typography();
4432
+
4433
+ // components/molecules/game/GameCanvas2D.tsx
4434
+ init_cn();
4435
+
4436
+ // components/molecules/game/HealthPanel.tsx
4437
+ init_cn();
4438
+ init_Typography();
4439
+
4440
+ // components/molecules/game/ScoreBoard.tsx
4441
+ init_cn();
4442
+
4443
+ // components/molecules/game/ResourceBar.tsx
4444
+ init_cn();
4445
+
4446
+ // components/molecules/game/TurnPanel.tsx
4447
+ init_cn();
4448
+ init_useEventBus();
4449
+
4450
+ // components/molecules/game/EnemyPlate.tsx
4451
+ init_cn();
4452
+ init_Typography();
4453
+
4454
+ // components/molecules/game/UnitCommandBar.tsx
4455
+ init_cn();
4456
+ init_Typography();
4457
+ init_useEventBus();
4458
+
4459
+ // components/molecules/game/GameHud.tsx
4460
+ init_cn();
4461
+
4462
+ // components/molecules/game/DialogueBox.tsx
4463
+ init_cn();
4464
+ init_useEventBus();
4465
+
4466
+ // components/molecules/game/InventoryPanel.tsx
4467
+ init_cn();
4468
+ init_useEventBus();
4469
+
4470
+ // components/molecules/game/GameMenu.tsx
4471
+ init_cn();
4472
+ init_useEventBus();
4473
+
4474
+ // components/molecules/game/GameOverScreen.tsx
4475
+ init_cn();
4476
+ init_useEventBus();
4477
+
4478
+ // components/molecules/game/PlatformerCanvas.tsx
4479
+ init_cn();
4480
+ init_useEventBus();
4481
+
4482
+ // components/molecules/GraphView.tsx
4483
+ init_cn();
4484
+
4485
+ // components/molecules/NumberStepper.tsx
4486
+ init_cn();
4487
+ init_useEventBus();
4488
+
4489
+ // components/molecules/StarRating.tsx
4490
+ init_cn();
4491
+ init_useEventBus();
4492
+
4493
+ // components/molecules/UploadDropZone.tsx
4494
+ init_cn();
4495
+ init_Typography();
4496
+ init_useEventBus();
4497
+
4498
+ // components/molecules/Lightbox.tsx
4499
+ init_cn();
4500
+ init_useEventBus();
4501
+
4502
+ // components/molecules/StatDisplay.tsx
4503
+ init_cn();
4504
+ init_Typography();
4505
+
4506
+ // components/molecules/Meter.tsx
4507
+ init_cn();
4508
+ init_useEventBus();
4509
+
4510
+ // components/molecules/SwipeableRow.tsx
4511
+ init_cn();
4512
+ init_useEventBus();
4513
+
4514
+ // components/molecules/SortableList.tsx
4515
+ init_cn();
4516
+ init_useEventBus();
4517
+
4518
+ // components/molecules/PullToRefresh.tsx
4519
+ init_cn();
4520
+ init_useEventBus();
4521
+
4522
+ // components/molecules/InstallBox.tsx
4523
+ init_cn();
4524
+ init_Typography();
4525
+
4526
+ // components/molecules/FeatureCard.tsx
4527
+ init_cn();
4528
+ init_Typography();
4529
+
4530
+ // components/molecules/FeatureGrid.tsx
4531
+ init_cn();
4532
+
4533
+ // components/molecules/CTABanner.tsx
4534
+ init_cn();
4535
+ init_Typography();
4536
+
4537
+ // components/molecules/HeroSection.tsx
4538
+ init_cn();
4539
+ init_Typography();
4540
+
4541
+ // components/molecules/PricingCard.tsx
4542
+ init_cn();
4543
+ init_Typography();
4544
+
4545
+ // components/molecules/PricingGrid.tsx
4546
+ init_cn();
4547
+
4548
+ // components/molecules/StatsGrid.tsx
4549
+ init_cn();
4550
+ init_Typography();
4551
+
4552
+ // components/molecules/ServiceCatalog.tsx
4553
+ init_cn();
4554
+ init_Typography();
4555
+
4556
+ // components/molecules/CaseStudyCard.tsx
4557
+ init_cn();
4558
+ init_Typography();
4559
+
4560
+ // components/molecules/ArticleSection.tsx
4561
+ init_cn();
4562
+ init_Typography();
4563
+
4564
+ // components/molecules/CodeExample.tsx
4565
+ init_cn();
4566
+ init_Typography();
4567
+
4568
+ // components/molecules/SocialProof.tsx
4569
+ init_cn();
4570
+ init_Typography();
4571
+
4572
+ // components/molecules/StepFlow.tsx
4573
+ init_cn();
4574
+ init_Typography();
4575
+
4576
+ // components/molecules/SplitSection.tsx
4577
+ init_cn();
4578
+ init_Typography();
4579
+
4580
+ // components/molecules/TagCloud.tsx
4581
+ init_cn();
4582
+
4583
+ // components/molecules/CommunityLinks.tsx
4584
+ init_Typography();
4585
+
4586
+ // components/molecules/TeamCard.tsx
4587
+ init_cn();
4588
+ init_Typography();
4589
+
4590
+ // components/molecules/ShowcaseCard.tsx
4591
+ init_cn();
4592
+ init_Typography();
4593
+
4594
+ // components/molecules/GeometricPattern.tsx
4595
+ init_cn();
4596
+
4597
+ // components/molecules/EdgeDecoration.tsx
4598
+ init_cn();
4599
+
4600
+ // components/organisms/DataTable.tsx
4601
+ init_useEventBus();
4602
+ init_useEventBus();
4603
+ init_cn();
4604
+ init_useEventBus();
3703
4605
  lazy(() => import('react-markdown'));
4606
+
4607
+ // components/organisms/DocumentViewer.tsx
4608
+ init_cn();
4609
+ init_useEventBus();
4610
+ init_useEventBus();
4611
+ init_cn();
4612
+ init_useEventBus();
4613
+
4614
+ // components/organisms/game/TraitStateViewer.tsx
4615
+ init_cn();
4616
+ init_Typography();
4617
+ init_cn();
4618
+ init_cn();
4619
+ init_cn();
4620
+
4621
+ // components/organisms/Form.tsx
4622
+ init_cn();
4623
+ init_Typography();
4624
+ init_useEventBus();
4625
+
4626
+ // components/organisms/game/GameAudioProvider.tsx
4627
+ init_useEventBus();
3704
4628
  var GameAudioContext = createContext(null);
3705
4629
  GameAudioContext.displayName = "GameAudioContext";
4630
+ init_cn();
4631
+
4632
+ // components/templates/GameShell.tsx
4633
+ init_cn();
4634
+ init_Typography();
4635
+
4636
+ // components/templates/GameTemplate.tsx
4637
+ init_cn();
4638
+ init_Typography();
4639
+
4640
+ // components/templates/GenericAppTemplate.tsx
4641
+ init_cn();
4642
+ init_Typography();
4643
+
4644
+ // components/organisms/GraphCanvas.tsx
4645
+ init_cn();
4646
+ init_useEventBus();
4647
+ init_Typography();
4648
+ init_cn();
4649
+ init_cn();
4650
+ init_useEventBus();
4651
+
4652
+ // components/organisms/layout/MasterDetail.tsx
4653
+ init_cn();
4654
+ init_Typography();
4655
+
4656
+ // components/organisms/MediaGallery.tsx
4657
+ init_cn();
4658
+ init_useEventBus();
4659
+ init_useEventBus();
4660
+
4661
+ // components/organisms/Navigation.tsx
4662
+ init_cn();
4663
+ init_useEventBus();
4664
+ init_Typography();
4665
+ init_cn();
4666
+
4667
+ // components/organisms/PageHeader.tsx
4668
+ init_cn();
4669
+ init_Typography();
4670
+ init_useEventBus();
4671
+
4672
+ // components/organisms/debug/RuntimeDebugger.tsx
4673
+ init_cn();
4674
+
4675
+ // components/organisms/debug/RuntimeDebugger.tsx
4676
+ init_Typography();
4677
+ init_Typography();
4678
+
4679
+ // components/organisms/debug/tabs/TraitsTab.tsx
4680
+ init_Typography();
4681
+
4682
+ // components/organisms/debug/tabs/TicksTab.tsx
4683
+ init_Typography();
4684
+
4685
+ // components/organisms/debug/tabs/EntitiesTab.tsx
4686
+ init_Typography();
4687
+ init_Typography();
4688
+ init_Typography();
4689
+
4690
+ // components/organisms/debug/tabs/VerificationTab.tsx
4691
+ init_Typography();
4692
+ init_Typography();
4693
+
4694
+ // components/organisms/debug/tabs/ServerBridgeTab.tsx
4695
+ init_Typography();
4696
+ init_Typography();
4697
+ init_useEventBus();
4698
+
4699
+ // components/organisms/Section.tsx
4700
+ init_cn();
4701
+ init_Typography();
4702
+ init_cn();
4703
+
4704
+ // components/organisms/game/TraitSlot.tsx
4705
+ init_cn();
4706
+ init_useEventBus();
4707
+ init_Typography();
4708
+ init_cn();
4709
+ init_useEventBus();
4710
+ init_Typography();
4711
+ init_cn();
4712
+ init_useEventBus();
4713
+
4714
+ // components/organisms/SignaturePad.tsx
4715
+ init_cn();
4716
+ init_useEventBus();
4717
+
4718
+ // components/organisms/game/physics-sim/SimulationCanvas.tsx
4719
+ init_cn();
4720
+ init_useEventBus();
4721
+
4722
+ // components/organisms/Split.tsx
4723
+ init_cn();
4724
+
4725
+ // components/organisms/layout/SplitPane.tsx
4726
+ init_cn();
4727
+
4728
+ // components/organisms/StatCard.tsx
4729
+ init_cn();
4730
+ init_useEventBus();
4731
+ init_cn();
4732
+ init_useEventBus();
4733
+
4734
+ // components/organisms/game/puzzles/state-architect/StateNode.tsx
4735
+ init_cn();
4736
+
4737
+ // components/organisms/game/puzzles/state-architect/TransitionArrow.tsx
4738
+ init_cn();
4739
+
4740
+ // components/organisms/game/puzzles/state-architect/VariablePanel.tsx
4741
+ init_cn();
4742
+
4743
+ // components/organisms/layout/TabbedContainer.tsx
4744
+ init_cn();
4745
+ init_Typography();
4746
+ init_Typography();
4747
+ init_cn();
4748
+ init_useEventBus();
4749
+
4750
+ // components/organisms/Timeline.tsx
4751
+ init_cn();
4752
+ init_useEventBus();
4753
+
4754
+ // components/organisms/component-registry.generated.ts
4755
+ init_Typography();
4756
+
4757
+ // components/organisms/game/hooks/useBattleState.ts
4758
+ init_useEventBus();
4759
+ init_Typography();
4760
+ init_cn();
4761
+
4762
+ // components/organisms/game/WorldMapBoard.tsx
4763
+ init_cn();
4764
+ init_useEventBus();
3706
4765
 
3707
4766
  // components/organisms/component-registry.generated.ts
3708
4767
  function lazyThree(name, loader) {
@@ -3745,6 +4804,10 @@ function SuspenseConfigProvider({
3745
4804
  );
3746
4805
  }
3747
4806
  SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
4807
+
4808
+ // providers/VerificationProvider.tsx
4809
+ init_useEventBus();
4810
+ init_logger();
3748
4811
  var log3 = createLogger("almadar:verify");
3749
4812
  var DISPATCH_SUFFIX = ":DISPATCH";
3750
4813
  var SUCCESS_SUFFIX = ":SUCCESS";