@almadar/ui 2.48.6 → 2.48.9

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,11 +1,11 @@
1
- import * as React90 from 'react';
2
- import React90__default, { useCallback, createContext, useState, useRef, useEffect, useMemo, useLayoutEffect, lazy, useContext, useId, Suspense, useSyncExternalStore } from 'react';
3
1
  import { clsx } from 'clsx';
4
2
  import { twMerge } from 'tailwind-merge';
5
- import * as LucideIcons from 'lucide-react';
6
- import { Loader2, ChevronDown, X, ArrowRight, TrendingDown, TrendingUp, Check, Copy, AlertCircle, User, Sun, Moon, FileQuestion, Inbox, Search, Info, XCircle, CheckCircle, AlertTriangle, ChevronRight, Filter, Plus, ChevronLeft, HelpCircle, ChevronUp, Zap, Sword, Move, Heart, Shield, Minus, Star, FileWarning, Upload, MoreHorizontal, ArrowLeft, Menu as Menu$1, ArrowUp, ArrowDown, MoreVertical, Package, Trash2, List as List$1, Printer, Play, RotateCcw, Send, Wrench, Bug, Pause, SkipForward, Code, FileText, WrapText, Settings, Bell, LogOut, ZoomOut, ZoomIn, Download, Image as Image$1, Eraser, Circle, Clock, CheckCircle2, Calendar, Pencil, Eye, Tag, DollarSign } from 'lucide-react';
3
+ import * as React90 from 'react';
4
+ import React90__default, { useCallback, createContext, useState, useRef, useEffect, useMemo, useLayoutEffect, lazy, useContext, useId, Suspense, useSyncExternalStore } from 'react';
7
5
  import { EventBusContext, useEntityRef, SelectionContext } from '@almadar/ui/providers';
8
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
+ import * as LucideIcons from 'lucide-react';
8
+ import { Loader2, ChevronDown, X, ArrowRight, TrendingDown, TrendingUp, Check, Copy, AlertCircle, User, Sun, Moon, FileQuestion, Inbox, Search, Info, XCircle, CheckCircle, AlertTriangle, ChevronRight, Filter, Plus, ChevronLeft, HelpCircle, ChevronUp, Zap, Sword, Move, Heart, Shield, Minus, Star, FileWarning, Upload, MoreHorizontal, ArrowLeft, Menu as Menu$1, ArrowUp, ArrowDown, MoreVertical, Package, Trash2, List as List$1, Printer, Play, RotateCcw, Send, Wrench, Bug, Pause, SkipForward, Code, FileText, WrapText, Settings, Bell, LogOut, ZoomOut, ZoomIn, Download, Image as Image$1, Eraser, Circle, Clock, CheckCircle2, Calendar, Pencil, Eye, Tag, DollarSign } from 'lucide-react';
9
9
  import { evaluate, createMinimalContext } from '@almadar/evaluator';
10
10
  import { createPortal } from 'react-dom';
11
11
  import ReactMarkdown from 'react-markdown';
@@ -31,31 +31,34 @@ import langDiff from 'react-syntax-highlighter/dist/esm/languages/prism/diff';
31
31
  import langToml from 'react-syntax-highlighter/dist/esm/languages/prism/toml';
32
32
  import langGo from 'react-syntax-highlighter/dist/esm/languages/prism/go';
33
33
  import langGraphql from 'react-syntax-highlighter/dist/esm/languages/prism/graphql';
34
- import { MapContainer, TileLayer, Marker, Popup, useMap } from 'react-leaflet';
35
- import L from 'leaflet';
36
- import 'leaflet/dist/leaflet.css';
37
34
  import { useUISlots } from '@almadar/ui/context';
38
35
  import { getComponentForPattern as getComponentForPattern$1 } from '@almadar/patterns';
39
36
  import { Link, Outlet, useLocation } from 'react-router-dom';
40
37
  import { useQueryClient, useMutation, useQuery } from '@tanstack/react-query';
41
38
 
42
39
  var __defProp = Object.defineProperty;
40
+ var __getOwnPropNames = Object.getOwnPropertyNames;
43
41
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
42
+ var __esm = (fn, res) => function __init() {
43
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
44
+ };
45
+ var __export = (target, all) => {
46
+ for (var name in all)
47
+ __defProp(target, name, { get: all[name], enumerable: true });
48
+ };
44
49
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
45
50
  function cn(...inputs) {
46
51
  return twMerge(clsx(inputs));
47
52
  }
53
+ var init_cn = __esm({
54
+ "lib/cn.ts"() {
55
+ }
56
+ });
48
57
 
49
58
  // lib/logger.ts
50
- var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
51
- var ENV = typeof process !== "undefined" && process.env ? process.env : {};
52
59
  function envGet(key) {
53
60
  return ENV[key] ?? ENV[`VITE_${key}`];
54
61
  }
55
- var NODE_ENV = envGet("NODE_ENV") ?? "development";
56
- var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
57
- var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
58
- var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
59
62
  function matchesNamespace(namespace) {
60
63
  if (DEBUG_FILTER.length === 0) return true;
61
64
  return DEBUG_FILTER.some((pattern) => {
@@ -93,79 +96,40 @@ function createLogger(namespace) {
93
96
  error: (msg, data, cid) => log3("ERROR", msg, data, cid)
94
97
  };
95
98
  }
99
+ var LEVEL_PRIORITY, ENV, NODE_ENV, CONFIGURED_LEVEL, MIN_PRIORITY, DEBUG_FILTER;
100
+ var init_logger = __esm({
101
+ "lib/logger.ts"() {
102
+ LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
103
+ ENV = typeof process !== "undefined" && process.env ? process.env : {};
104
+ NODE_ENV = envGet("NODE_ENV") ?? "development";
105
+ CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
106
+ MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
107
+ DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
108
+ }
109
+ });
96
110
 
97
111
  // hooks/useEventBus.ts
98
- var log = createLogger("almadar:eventbus");
99
- var subLog = createLogger("almadar:eventbus:subscribe");
112
+ var useEventBus_exports = {};
113
+ __export(useEventBus_exports, {
114
+ default: () => useEventBus_default,
115
+ getGlobalEventBus: () => getGlobalEventBus,
116
+ setGlobalEventBus: () => setGlobalEventBus,
117
+ useEmitEvent: () => useEmitEvent,
118
+ useEventBus: () => useEventBus,
119
+ useEventListener: () => useEventListener,
120
+ useEventSubscription: () => useEventSubscription
121
+ });
122
+ function setGlobalEventBus(bus) {
123
+ if (typeof window !== "undefined") {
124
+ window.__kflowEventBus = bus;
125
+ }
126
+ }
100
127
  function getGlobalEventBus() {
101
128
  if (typeof window !== "undefined") {
102
129
  return window.__kflowEventBus ?? null;
103
130
  }
104
131
  return null;
105
132
  }
106
- var fallbackListeners = /* @__PURE__ */ new Map();
107
- var fallbackAnyListeners = /* @__PURE__ */ new Set();
108
- var fallbackEventBus = {
109
- emit: (type, payload) => {
110
- const event = {
111
- type,
112
- payload,
113
- timestamp: Date.now()
114
- };
115
- const handlers = fallbackListeners.get(type);
116
- log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
117
- if (handlers) {
118
- handlers.forEach((handler) => {
119
- try {
120
- handler(event);
121
- } catch (error) {
122
- console.error(`[EventBus] Error in listener for '${type}':`, error);
123
- }
124
- });
125
- }
126
- fallbackAnyListeners.forEach((handler) => {
127
- try {
128
- handler(event);
129
- } catch (error) {
130
- console.error(`[EventBus] Error in onAny listener for '${type}':`, error);
131
- }
132
- });
133
- },
134
- on: (type, listener) => {
135
- if (!fallbackListeners.has(type)) {
136
- fallbackListeners.set(type, /* @__PURE__ */ new Set());
137
- }
138
- fallbackListeners.get(type).add(listener);
139
- subLog.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
140
- return () => {
141
- const handlers = fallbackListeners.get(type);
142
- if (handlers) {
143
- handlers.delete(listener);
144
- if (handlers.size === 0) {
145
- fallbackListeners.delete(type);
146
- }
147
- }
148
- };
149
- },
150
- once: (type, listener) => {
151
- const wrappedListener = (event) => {
152
- fallbackListeners.get(type)?.delete(wrappedListener);
153
- listener(event);
154
- };
155
- return fallbackEventBus.on(type, wrappedListener);
156
- },
157
- hasListeners: (type) => {
158
- const handlers = fallbackListeners.get(type);
159
- return handlers !== void 0 && handlers.size > 0;
160
- },
161
- onAny: (listener) => {
162
- fallbackAnyListeners.add(listener);
163
- subLog.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
164
- return () => {
165
- fallbackAnyListeners.delete(listener);
166
- };
167
- }
168
- };
169
133
  function useEventBus() {
170
134
  const context = useContext(EventBusContext);
171
135
  return context ?? getGlobalEventBus() ?? fallbackEventBus;
@@ -193,6 +157,248 @@ function useEmitEvent() {
193
157
  [eventBus]
194
158
  );
195
159
  }
160
+ var log, subLog, fallbackListeners, fallbackAnyListeners, fallbackEventBus, useEventSubscription, useEventBus_default;
161
+ var init_useEventBus = __esm({
162
+ "hooks/useEventBus.ts"() {
163
+ "use client";
164
+ init_logger();
165
+ log = createLogger("almadar:eventbus");
166
+ subLog = createLogger("almadar:eventbus:subscribe");
167
+ fallbackListeners = /* @__PURE__ */ new Map();
168
+ fallbackAnyListeners = /* @__PURE__ */ new Set();
169
+ fallbackEventBus = {
170
+ emit: (type, payload) => {
171
+ const event = {
172
+ type,
173
+ payload,
174
+ timestamp: Date.now()
175
+ };
176
+ const handlers = fallbackListeners.get(type);
177
+ log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
178
+ if (handlers) {
179
+ handlers.forEach((handler) => {
180
+ try {
181
+ handler(event);
182
+ } catch (error) {
183
+ console.error(`[EventBus] Error in listener for '${type}':`, error);
184
+ }
185
+ });
186
+ }
187
+ fallbackAnyListeners.forEach((handler) => {
188
+ try {
189
+ handler(event);
190
+ } catch (error) {
191
+ console.error(`[EventBus] Error in onAny listener for '${type}':`, error);
192
+ }
193
+ });
194
+ },
195
+ on: (type, listener) => {
196
+ if (!fallbackListeners.has(type)) {
197
+ fallbackListeners.set(type, /* @__PURE__ */ new Set());
198
+ }
199
+ fallbackListeners.get(type).add(listener);
200
+ subLog.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
201
+ return () => {
202
+ const handlers = fallbackListeners.get(type);
203
+ if (handlers) {
204
+ handlers.delete(listener);
205
+ if (handlers.size === 0) {
206
+ fallbackListeners.delete(type);
207
+ }
208
+ }
209
+ };
210
+ },
211
+ once: (type, listener) => {
212
+ const wrappedListener = (event) => {
213
+ fallbackListeners.get(type)?.delete(wrappedListener);
214
+ listener(event);
215
+ };
216
+ return fallbackEventBus.on(type, wrappedListener);
217
+ },
218
+ hasListeners: (type) => {
219
+ const handlers = fallbackListeners.get(type);
220
+ return handlers !== void 0 && handlers.size > 0;
221
+ },
222
+ onAny: (listener) => {
223
+ fallbackAnyListeners.add(listener);
224
+ subLog.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
225
+ return () => {
226
+ fallbackAnyListeners.delete(listener);
227
+ };
228
+ }
229
+ };
230
+ useEventSubscription = useEventListener;
231
+ useEventBus_default = useEventBus;
232
+ }
233
+ });
234
+
235
+ // components/atoms/Typography.tsx
236
+ var Typography_exports = {};
237
+ __export(Typography_exports, {
238
+ Heading: () => Heading,
239
+ Text: () => Text,
240
+ Typography: () => Typography
241
+ });
242
+ var variantStyles5, colorStyles, weightStyles, defaultElements, typographySizeStyles, overflowStyles2, Typography, sizeStyles4, Heading, Text;
243
+ var init_Typography = __esm({
244
+ "components/atoms/Typography.tsx"() {
245
+ init_cn();
246
+ variantStyles5 = {
247
+ h1: "text-4xl font-bold tracking-tight text-foreground",
248
+ h2: "text-3xl font-bold tracking-tight text-foreground",
249
+ h3: "text-2xl font-bold text-foreground",
250
+ h4: "text-xl font-bold text-foreground",
251
+ h5: "text-lg font-bold text-foreground",
252
+ h6: "text-base font-bold text-foreground",
253
+ heading: "text-2xl font-bold text-foreground",
254
+ subheading: "text-lg font-semibold text-foreground",
255
+ body1: "text-base font-normal text-foreground",
256
+ body2: "text-sm font-normal text-foreground",
257
+ body: "text-base font-normal text-foreground",
258
+ caption: "text-xs font-normal text-muted-foreground",
259
+ overline: "text-xs uppercase tracking-wide font-bold text-muted-foreground",
260
+ small: "text-sm font-normal text-foreground",
261
+ large: "text-lg font-medium text-foreground",
262
+ label: "text-sm font-medium text-foreground"
263
+ };
264
+ colorStyles = {
265
+ primary: "text-foreground",
266
+ secondary: "text-muted-foreground",
267
+ muted: "text-muted-foreground",
268
+ error: "text-error",
269
+ success: "text-success",
270
+ warning: "text-warning",
271
+ inherit: "text-inherit"
272
+ };
273
+ weightStyles = {
274
+ light: "font-light",
275
+ normal: "font-normal",
276
+ medium: "font-medium",
277
+ semibold: "font-semibold",
278
+ bold: "font-bold"
279
+ };
280
+ defaultElements = {
281
+ h1: "h1",
282
+ h2: "h2",
283
+ h3: "h3",
284
+ h4: "h4",
285
+ h5: "h5",
286
+ h6: "h6",
287
+ heading: "h2",
288
+ subheading: "h3",
289
+ body1: "p",
290
+ body2: "p",
291
+ body: "p",
292
+ caption: "span",
293
+ overline: "span",
294
+ small: "span",
295
+ large: "p",
296
+ label: "span"
297
+ };
298
+ typographySizeStyles = {
299
+ xs: "text-xs",
300
+ sm: "text-sm",
301
+ md: "text-base",
302
+ lg: "text-lg",
303
+ xl: "text-xl",
304
+ "2xl": "text-2xl",
305
+ "3xl": "text-3xl"
306
+ };
307
+ overflowStyles2 = {
308
+ visible: "overflow-visible",
309
+ hidden: "overflow-hidden",
310
+ wrap: "break-words overflow-hidden",
311
+ "clamp-2": "overflow-hidden line-clamp-2",
312
+ "clamp-3": "overflow-hidden line-clamp-3"
313
+ };
314
+ Typography = ({
315
+ variant: variantProp,
316
+ level,
317
+ color = "primary",
318
+ align,
319
+ weight,
320
+ size,
321
+ truncate = false,
322
+ overflow,
323
+ as,
324
+ id,
325
+ className,
326
+ style,
327
+ content,
328
+ children
329
+ }) => {
330
+ const variant = variantProp ?? (level ? `h${level}` : "body1");
331
+ const Component = as || defaultElements[variant];
332
+ const Comp = Component;
333
+ return /* @__PURE__ */ jsx(
334
+ Comp,
335
+ {
336
+ id,
337
+ className: cn(
338
+ variantStyles5[variant],
339
+ colorStyles[color],
340
+ weight && weightStyles[weight],
341
+ size && typographySizeStyles[size],
342
+ align && `text-${align}`,
343
+ truncate && "truncate overflow-hidden text-ellipsis",
344
+ overflow && overflowStyles2[overflow],
345
+ className
346
+ ),
347
+ style,
348
+ children: children ?? content
349
+ }
350
+ );
351
+ };
352
+ Typography.displayName = "Typography";
353
+ sizeStyles4 = {
354
+ xs: "text-xs",
355
+ sm: "text-sm",
356
+ md: "text-base",
357
+ lg: "text-lg",
358
+ xl: "text-xl",
359
+ "2xl": "text-2xl",
360
+ "3xl": "text-3xl"
361
+ };
362
+ Heading = ({
363
+ level = 2,
364
+ size,
365
+ className,
366
+ ...props
367
+ }) => {
368
+ const variant = `h${level}`;
369
+ const sizeClass = size ? sizeStyles4[size] : void 0;
370
+ return /* @__PURE__ */ jsx(
371
+ Typography,
372
+ {
373
+ variant,
374
+ className: cn(sizeClass, className),
375
+ ...props
376
+ }
377
+ );
378
+ };
379
+ Heading.displayName = "Heading";
380
+ Text = ({
381
+ variant = "body",
382
+ ...props
383
+ }) => {
384
+ return /* @__PURE__ */ jsx(
385
+ Typography,
386
+ {
387
+ variant,
388
+ ...props
389
+ }
390
+ );
391
+ };
392
+ Text.displayName = "Text";
393
+ }
394
+ });
395
+
396
+ // components/atoms/Button.tsx
397
+ init_cn();
398
+ init_useEventBus();
399
+
400
+ // components/atoms/Icon.tsx
401
+ init_cn();
196
402
  var iconAliases = {
197
403
  "close": LucideIcons.X,
198
404
  "trash": LucideIcons.Trash2,
@@ -409,6 +615,9 @@ var Button = React90__default.forwardRef(
409
615
  }
410
616
  );
411
617
  Button.displayName = "Button";
618
+
619
+ // components/atoms/Input.tsx
620
+ init_cn();
412
621
  var Input = React90__default.forwardRef(
413
622
  ({
414
623
  className,
@@ -521,6 +730,9 @@ var Input = React90__default.forwardRef(
521
730
  }
522
731
  );
523
732
  Input.displayName = "Input";
733
+
734
+ // components/atoms/Label.tsx
735
+ init_cn();
524
736
  var Label = React90__default.forwardRef(
525
737
  ({ className, required, children, ...props }, ref) => {
526
738
  return /* @__PURE__ */ jsxs(
@@ -541,6 +753,9 @@ var Label = React90__default.forwardRef(
541
753
  }
542
754
  );
543
755
  Label.displayName = "Label";
756
+
757
+ // components/atoms/Textarea.tsx
758
+ init_cn();
544
759
  var Textarea = React90__default.forwardRef(
545
760
  ({ className, error, ...props }, ref) => {
546
761
  return /* @__PURE__ */ jsx(
@@ -564,6 +779,9 @@ var Textarea = React90__default.forwardRef(
564
779
  }
565
780
  );
566
781
  Textarea.displayName = "Textarea";
782
+
783
+ // components/atoms/Select.tsx
784
+ init_cn();
567
785
  var Select = React90__default.forwardRef(
568
786
  ({ className, options, placeholder, error, ...props }, ref) => {
569
787
  return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
@@ -600,6 +818,9 @@ var Select = React90__default.forwardRef(
600
818
  }
601
819
  );
602
820
  Select.displayName = "Select";
821
+
822
+ // components/atoms/Checkbox.tsx
823
+ init_cn();
603
824
  var Checkbox = React90__default.forwardRef(
604
825
  ({ className, label, id, ...props }, ref) => {
605
826
  const inputId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
@@ -632,6 +853,9 @@ var Checkbox = React90__default.forwardRef(
632
853
  }
633
854
  );
634
855
  Checkbox.displayName = "Checkbox";
856
+
857
+ // components/atoms/Card.tsx
858
+ init_cn();
635
859
  var variantStyles2 = {
636
860
  default: [
637
861
  "bg-card",
@@ -740,6 +964,9 @@ var CardFooter = React90__default.forwardRef(({ className, ...props }, ref) => /
740
964
  }
741
965
  ));
742
966
  CardFooter.displayName = "CardFooter";
967
+
968
+ // components/atoms/Badge.tsx
969
+ init_cn();
743
970
  var variantStyles3 = {
744
971
  default: [
745
972
  "bg-muted text-foreground",
@@ -804,6 +1031,9 @@ var Badge = React90__default.forwardRef(
804
1031
  }
805
1032
  );
806
1033
  Badge.displayName = "Badge";
1034
+
1035
+ // components/atoms/Spinner.tsx
1036
+ init_cn();
807
1037
  var sizeStyles3 = {
808
1038
  xs: "h-3 w-3",
809
1039
  sm: "h-4 w-4",
@@ -824,6 +1054,10 @@ var Spinner = React90__default.forwardRef(
824
1054
  }
825
1055
  );
826
1056
  Spinner.displayName = "Spinner";
1057
+
1058
+ // components/atoms/Avatar.tsx
1059
+ init_cn();
1060
+ init_useEventBus();
827
1061
  var sizeClasses2 = {
828
1062
  xs: "w-6 h-6 text-xs",
829
1063
  sm: "w-8 h-8 text-sm",
@@ -973,6 +1207,10 @@ var Avatar = ({
973
1207
  ] });
974
1208
  };
975
1209
  Avatar.displayName = "Avatar";
1210
+
1211
+ // components/atoms/Box.tsx
1212
+ init_cn();
1213
+ init_useEventBus();
976
1214
  var paddingStyles2 = {
977
1215
  none: "p-0",
978
1216
  xs: "p-1",
@@ -1171,6 +1409,9 @@ var Box = React90__default.forwardRef(
1171
1409
  }
1172
1410
  );
1173
1411
  Box.displayName = "Box";
1412
+
1413
+ // components/atoms/Center.tsx
1414
+ init_cn();
1174
1415
  var Center = ({
1175
1416
  inline = false,
1176
1417
  horizontal = true,
@@ -1201,6 +1442,9 @@ var Center = ({
1201
1442
  }
1202
1443
  );
1203
1444
  };
1445
+
1446
+ // components/atoms/Divider.tsx
1447
+ init_cn();
1204
1448
  var variantStyles4 = {
1205
1449
  solid: "border-solid",
1206
1450
  dashed: "border-dashed",
@@ -1271,6 +1515,9 @@ var Divider = ({
1271
1515
  );
1272
1516
  };
1273
1517
  Divider.displayName = "Divider";
1518
+
1519
+ // components/atoms/ProgressBar.tsx
1520
+ init_cn();
1274
1521
  var colorClasses = {
1275
1522
  default: "bg-primary",
1276
1523
  primary: "bg-primary",
@@ -1424,6 +1671,9 @@ var ProgressBar = ({
1424
1671
  return null;
1425
1672
  };
1426
1673
  ProgressBar.displayName = "ProgressBar";
1674
+
1675
+ // components/atoms/Radio.tsx
1676
+ init_cn();
1427
1677
  var Radio = React90__default.forwardRef(
1428
1678
  ({
1429
1679
  label,
@@ -1528,6 +1778,9 @@ var Radio = React90__default.forwardRef(
1528
1778
  }
1529
1779
  );
1530
1780
  Radio.displayName = "Radio";
1781
+
1782
+ // components/atoms/Switch.tsx
1783
+ init_cn();
1531
1784
  var Switch = React90.forwardRef(
1532
1785
  ({
1533
1786
  checked,
@@ -1601,6 +1854,9 @@ var Switch = React90.forwardRef(
1601
1854
  }
1602
1855
  );
1603
1856
  Switch.displayName = "Switch";
1857
+
1858
+ // components/atoms/Spacer.tsx
1859
+ init_cn();
1604
1860
  var horizontalSizes = {
1605
1861
  xs: "w-1",
1606
1862
  sm: "w-2",
@@ -1634,6 +1890,10 @@ var Spacer = ({
1634
1890
  }
1635
1891
  );
1636
1892
  };
1893
+
1894
+ // components/atoms/Stack.tsx
1895
+ init_cn();
1896
+ init_useEventBus();
1637
1897
  var gapStyles = {
1638
1898
  none: "gap-0",
1639
1899
  xs: "gap-1",
@@ -1712,6 +1972,10 @@ var Stack = ({
1712
1972
  };
1713
1973
  var VStack = (props) => /* @__PURE__ */ jsx(Stack, { direction: "vertical", ...props });
1714
1974
  var HStack = (props) => /* @__PURE__ */ jsx(Stack, { direction: "horizontal", ...props });
1975
+
1976
+ // components/atoms/TextHighlight.tsx
1977
+ init_cn();
1978
+ init_useEventBus();
1715
1979
  var TextHighlight = ({
1716
1980
  highlightType,
1717
1981
  isActive = false,
@@ -1773,153 +2037,12 @@ var TextHighlight = ({
1773
2037
  );
1774
2038
  };
1775
2039
  TextHighlight.displayName = "TextHighlight";
1776
- var variantStyles5 = {
1777
- h1: "text-4xl font-bold tracking-tight text-foreground",
1778
- h2: "text-3xl font-bold tracking-tight text-foreground",
1779
- h3: "text-2xl font-bold text-foreground",
1780
- h4: "text-xl font-bold text-foreground",
1781
- h5: "text-lg font-bold text-foreground",
1782
- h6: "text-base font-bold text-foreground",
1783
- heading: "text-2xl font-bold text-foreground",
1784
- subheading: "text-lg font-semibold text-foreground",
1785
- body1: "text-base font-normal text-foreground",
1786
- body2: "text-sm font-normal text-foreground",
1787
- body: "text-base font-normal text-foreground",
1788
- caption: "text-xs font-normal text-muted-foreground",
1789
- overline: "text-xs uppercase tracking-wide font-bold text-muted-foreground",
1790
- small: "text-sm font-normal text-foreground",
1791
- large: "text-lg font-medium text-foreground",
1792
- label: "text-sm font-medium text-foreground"
1793
- };
1794
- var colorStyles = {
1795
- primary: "text-foreground",
1796
- secondary: "text-muted-foreground",
1797
- muted: "text-muted-foreground",
1798
- error: "text-error",
1799
- success: "text-success",
1800
- warning: "text-warning",
1801
- inherit: "text-inherit"
1802
- };
1803
- var weightStyles = {
1804
- light: "font-light",
1805
- normal: "font-normal",
1806
- medium: "font-medium",
1807
- semibold: "font-semibold",
1808
- bold: "font-bold"
1809
- };
1810
- var defaultElements = {
1811
- h1: "h1",
1812
- h2: "h2",
1813
- h3: "h3",
1814
- h4: "h4",
1815
- h5: "h5",
1816
- h6: "h6",
1817
- heading: "h2",
1818
- subheading: "h3",
1819
- body1: "p",
1820
- body2: "p",
1821
- body: "p",
1822
- caption: "span",
1823
- overline: "span",
1824
- small: "span",
1825
- large: "p",
1826
- label: "span"
1827
- };
1828
- var typographySizeStyles = {
1829
- xs: "text-xs",
1830
- sm: "text-sm",
1831
- md: "text-base",
1832
- lg: "text-lg",
1833
- xl: "text-xl",
1834
- "2xl": "text-2xl",
1835
- "3xl": "text-3xl"
1836
- };
1837
- var overflowStyles2 = {
1838
- visible: "overflow-visible",
1839
- hidden: "overflow-hidden",
1840
- wrap: "break-words overflow-hidden",
1841
- "clamp-2": "overflow-hidden line-clamp-2",
1842
- "clamp-3": "overflow-hidden line-clamp-3"
1843
- };
1844
- var Typography = ({
1845
- variant: variantProp,
1846
- level,
1847
- color = "primary",
1848
- align,
1849
- weight,
1850
- size,
1851
- truncate = false,
1852
- overflow,
1853
- as,
1854
- id,
1855
- className,
1856
- style,
1857
- content,
1858
- children
1859
- }) => {
1860
- const variant = variantProp ?? (level ? `h${level}` : "body1");
1861
- const Component = as || defaultElements[variant];
1862
- const Comp = Component;
1863
- return /* @__PURE__ */ jsx(
1864
- Comp,
1865
- {
1866
- id,
1867
- className: cn(
1868
- variantStyles5[variant],
1869
- colorStyles[color],
1870
- weight && weightStyles[weight],
1871
- size && typographySizeStyles[size],
1872
- align && `text-${align}`,
1873
- truncate && "truncate overflow-hidden text-ellipsis",
1874
- overflow && overflowStyles2[overflow],
1875
- className
1876
- ),
1877
- style,
1878
- children: children ?? content
1879
- }
1880
- );
1881
- };
1882
- Typography.displayName = "Typography";
1883
- var sizeStyles4 = {
1884
- xs: "text-xs",
1885
- sm: "text-sm",
1886
- md: "text-base",
1887
- lg: "text-lg",
1888
- xl: "text-xl",
1889
- "2xl": "text-2xl",
1890
- "3xl": "text-3xl"
1891
- };
1892
- var Heading = ({
1893
- level = 2,
1894
- size,
1895
- className,
1896
- ...props
1897
- }) => {
1898
- const variant = `h${level}`;
1899
- const sizeClass = size ? sizeStyles4[size] : void 0;
1900
- return /* @__PURE__ */ jsx(
1901
- Typography,
1902
- {
1903
- variant,
1904
- className: cn(sizeClass, className),
1905
- ...props
1906
- }
1907
- );
1908
- };
1909
- Heading.displayName = "Heading";
1910
- var Text = ({
1911
- variant = "body",
1912
- ...props
1913
- }) => {
1914
- return /* @__PURE__ */ jsx(
1915
- Typography,
1916
- {
1917
- variant,
1918
- ...props
1919
- }
1920
- );
1921
- };
1922
- Text.displayName = "Text";
2040
+
2041
+ // components/atoms/index.ts
2042
+ init_Typography();
2043
+
2044
+ // components/atoms/ThemeToggle.tsx
2045
+ init_cn();
1923
2046
  var BUILT_IN_THEMES = [
1924
2047
  {
1925
2048
  name: "wireframe",
@@ -2225,6 +2348,10 @@ var ThemeSelector = ({
2225
2348
  ) })
2226
2349
  ] });
2227
2350
  };
2351
+
2352
+ // components/atoms/Overlay.tsx
2353
+ init_cn();
2354
+ init_useEventBus();
2228
2355
  var Overlay = ({
2229
2356
  isVisible = true,
2230
2357
  onClick,
@@ -2254,6 +2381,9 @@ var Overlay = ({
2254
2381
  }
2255
2382
  );
2256
2383
  };
2384
+
2385
+ // components/atoms/FlipContainer.tsx
2386
+ init_cn();
2257
2387
  var FlipContainer = ({
2258
2388
  flipped,
2259
2389
  className,
@@ -2319,6 +2449,8 @@ var ConditionalWrapper = ({
2319
2449
  return isVisible ? /* @__PURE__ */ jsx(Fragment, { children }) : /* @__PURE__ */ jsx(Fragment, { children: fallback });
2320
2450
  };
2321
2451
  ConditionalWrapper.displayName = "ConditionalWrapper";
2452
+ init_Typography();
2453
+ init_cn();
2322
2454
  var positionStyles2 = {
2323
2455
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
2324
2456
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -2441,6 +2573,10 @@ var LawReferenceTooltip = ({
2441
2573
  );
2442
2574
  };
2443
2575
  LawReferenceTooltip.displayName = "LawReferenceTooltip";
2576
+
2577
+ // components/atoms/DayCell.tsx
2578
+ init_cn();
2579
+ init_Typography();
2444
2580
  var DAY_ABBREVIATIONS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
2445
2581
  function DayCell({
2446
2582
  date,
@@ -2490,6 +2626,9 @@ function DayCell({
2490
2626
  );
2491
2627
  }
2492
2628
  DayCell.displayName = "DayCell";
2629
+
2630
+ // components/atoms/TimeSlotCell.tsx
2631
+ init_cn();
2493
2632
  function TimeSlotCell({
2494
2633
  time,
2495
2634
  onClick,
@@ -2514,6 +2653,9 @@ function TimeSlotCell({
2514
2653
  );
2515
2654
  }
2516
2655
  TimeSlotCell.displayName = "TimeSlotCell";
2656
+
2657
+ // components/atoms/StatusDot.tsx
2658
+ init_cn();
2517
2659
  var statusColors = {
2518
2660
  online: "bg-success",
2519
2661
  offline: "bg-muted-foreground",
@@ -2561,6 +2703,9 @@ var StatusDot = React90__default.forwardRef(
2561
2703
  }
2562
2704
  );
2563
2705
  StatusDot.displayName = "StatusDot";
2706
+
2707
+ // components/atoms/TrendIndicator.tsx
2708
+ init_cn();
2564
2709
  var sizeStyles6 = {
2565
2710
  sm: { icon: "w-3 h-3", text: "text-xs" },
2566
2711
  md: { icon: "w-4 h-4", text: "text-sm" },
@@ -2621,6 +2766,10 @@ var TrendIndicator = React90__default.forwardRef(
2621
2766
  }
2622
2767
  );
2623
2768
  TrendIndicator.displayName = "TrendIndicator";
2769
+
2770
+ // components/atoms/RangeSlider.tsx
2771
+ init_cn();
2772
+ init_useEventBus();
2624
2773
  function useSafeEventBus() {
2625
2774
  try {
2626
2775
  return useEventBus();
@@ -2829,6 +2978,10 @@ var RangeSlider = React90__default.forwardRef(
2829
2978
  }
2830
2979
  );
2831
2980
  RangeSlider.displayName = "RangeSlider";
2981
+
2982
+ // components/atoms/AnimatedCounter.tsx
2983
+ init_cn();
2984
+ init_Typography();
2832
2985
  function easeOut(t) {
2833
2986
  return t * (2 - t);
2834
2987
  }
@@ -2880,6 +3033,9 @@ var AnimatedCounter = ({
2880
3033
  ] });
2881
3034
  };
2882
3035
  AnimatedCounter.displayName = "AnimatedCounter";
3036
+
3037
+ // components/atoms/InfiniteScrollSentinel.tsx
3038
+ init_cn();
2883
3039
  function useInfiniteScroll(onLoadMore, options = {}) {
2884
3040
  const { rootMargin = "200px", hasMore = true, isLoading = false } = options;
2885
3041
  const observerRef = useRef(null);
@@ -2910,6 +3066,9 @@ function useInfiniteScroll(onLoadMore, options = {}) {
2910
3066
  }, [rootMargin]);
2911
3067
  return { sentinelRef };
2912
3068
  }
3069
+
3070
+ // components/atoms/InfiniteScrollSentinel.tsx
3071
+ init_useEventBus();
2913
3072
  var InfiniteScrollSentinel = ({
2914
3073
  loadMoreEvent,
2915
3074
  loadMorePayload,
@@ -2939,6 +3098,9 @@ var InfiniteScrollSentinel = ({
2939
3098
  );
2940
3099
  };
2941
3100
  InfiniteScrollSentinel.displayName = "InfiniteScrollSentinel";
3101
+
3102
+ // components/atoms/ConfettiEffect.tsx
3103
+ init_cn();
2942
3104
  var CONFETTI_COLORS = [
2943
3105
  "var(--color-primary)",
2944
3106
  "var(--color-success)",
@@ -3045,6 +3207,10 @@ var ConfettiEffect = ({
3045
3207
  );
3046
3208
  };
3047
3209
  ConfettiEffect.displayName = "ConfettiEffect";
3210
+
3211
+ // components/atoms/TypewriterText.tsx
3212
+ init_cn();
3213
+ init_Typography();
3048
3214
  var TypewriterText = ({
3049
3215
  text,
3050
3216
  speed = 40,
@@ -3107,6 +3273,10 @@ var TypewriterText = ({
3107
3273
  ] });
3108
3274
  };
3109
3275
  TypewriterText.displayName = "TypewriterText";
3276
+
3277
+ // components/atoms/SectionHeader.tsx
3278
+ init_cn();
3279
+ init_Typography();
3110
3280
  var levelToVariant = {
3111
3281
  1: "h1",
3112
3282
  2: "h2",
@@ -3138,6 +3308,10 @@ var SectionHeader = ({ title, subtitle, align = "center", level = 2, className }
3138
3308
  );
3139
3309
  };
3140
3310
  SectionHeader.displayName = "SectionHeader";
3311
+
3312
+ // components/atoms/StatCard.tsx
3313
+ init_cn();
3314
+ init_Typography();
3141
3315
  var sizeClasses4 = {
3142
3316
  sm: "text-2xl",
3143
3317
  md: "text-4xl",
@@ -3158,6 +3332,9 @@ var MarketingStatCard = ({ value, label, size = "md", className }) => {
3158
3332
  ] });
3159
3333
  };
3160
3334
  MarketingStatCard.displayName = "MarketingStatCard";
3335
+
3336
+ // components/atoms/ContentSection.tsx
3337
+ init_cn();
3161
3338
  var backgroundClasses = {
3162
3339
  default: "",
3163
3340
  alt: "bg-surface",
@@ -3674,6 +3851,9 @@ function getTileDimensions(variant, size) {
3674
3851
  }
3675
3852
  return { width: size, height: size };
3676
3853
  }
3854
+
3855
+ // components/atoms/AnimatedReveal.tsx
3856
+ init_cn();
3677
3857
  var initialStyles = {
3678
3858
  "fade-up": { opacity: 0, transform: "translateY(24px)" },
3679
3859
  "fade-down": { opacity: 0, transform: "translateY(-24px)" },
@@ -3775,6 +3955,9 @@ var AnimatedReveal = React90__default.forwardRef(
3775
3955
  }
3776
3956
  );
3777
3957
  AnimatedReveal.displayName = "AnimatedReveal";
3958
+
3959
+ // components/atoms/AnimatedGraphic.tsx
3960
+ init_cn();
3778
3961
  function useFetchedSvg(src) {
3779
3962
  const [svg, setSvg] = useState(null);
3780
3963
  const cache = useRef({});
@@ -3957,6 +4140,9 @@ var AnimatedGraphic = React90__default.forwardRef(
3957
4140
  }
3958
4141
  );
3959
4142
  AnimatedGraphic.displayName = "AnimatedGraphic";
4143
+
4144
+ // components/atoms/game/HealthBar.tsx
4145
+ init_cn();
3960
4146
  var heartIcon = (filled, size) => /* @__PURE__ */ jsx(
3961
4147
  "svg",
3962
4148
  {
@@ -4024,6 +4210,9 @@ function HealthBar({
4024
4210
  ] });
4025
4211
  }
4026
4212
  HealthBar.displayName = "HealthBar";
4213
+
4214
+ // components/atoms/game/ScoreDisplay.tsx
4215
+ init_cn();
4027
4216
  var sizeMap2 = {
4028
4217
  sm: "text-sm",
4029
4218
  md: "text-lg",
@@ -4085,6 +4274,10 @@ function ScoreDisplay({
4085
4274
  );
4086
4275
  }
4087
4276
  ScoreDisplay.displayName = "ScoreDisplay";
4277
+
4278
+ // components/atoms/game/ControlButton.tsx
4279
+ init_cn();
4280
+ init_useEventBus();
4088
4281
  var sizeMap3 = {
4089
4282
  sm: "w-10 h-10 text-sm",
4090
4283
  md: "w-14 h-14 text-base",
@@ -4177,6 +4370,9 @@ function ControlButton({
4177
4370
  );
4178
4371
  }
4179
4372
  ControlButton.displayName = "ControlButton";
4373
+
4374
+ // components/atoms/game/Sprite.tsx
4375
+ init_useEventBus();
4180
4376
  function Sprite({
4181
4377
  spritesheet,
4182
4378
  frameWidth,
@@ -4282,6 +4478,9 @@ function drawSprite(ctx, image, props) {
4282
4478
  );
4283
4479
  ctx.restore();
4284
4480
  }
4481
+
4482
+ // components/atoms/game/StateIndicator.tsx
4483
+ init_cn();
4285
4484
  var DEFAULT_STATE_STYLES = {
4286
4485
  idle: { icon: "\u23F8", bgClass: "bg-muted" },
4287
4486
  active: { icon: "\u25B6", bgClass: "bg-success" },
@@ -4332,6 +4531,9 @@ function StateIndicator({
4332
4531
  );
4333
4532
  }
4334
4533
  StateIndicator.displayName = "StateIndicator";
4534
+
4535
+ // components/atoms/game/TimerDisplay.tsx
4536
+ init_cn();
4335
4537
  var sizeMap4 = {
4336
4538
  sm: "text-sm px-2 py-0.5",
4337
4539
  md: "text-lg px-3 py-1",
@@ -4376,6 +4578,9 @@ function TimerDisplay({
4376
4578
  );
4377
4579
  }
4378
4580
  TimerDisplay.displayName = "TimerDisplay";
4581
+
4582
+ // components/atoms/game/ResourceCounter.tsx
4583
+ init_cn();
4379
4584
  var sizeMap5 = {
4380
4585
  sm: { wrapper: "text-xs gap-1 px-1.5 py-0.5", icon: "text-sm" },
4381
4586
  md: { wrapper: "text-sm gap-1.5 px-2 py-1", icon: "text-base" },
@@ -4415,6 +4620,9 @@ function ResourceCounter({
4415
4620
  );
4416
4621
  }
4417
4622
  ResourceCounter.displayName = "ResourceCounter";
4623
+
4624
+ // components/atoms/game/ItemSlot.tsx
4625
+ init_cn();
4418
4626
  var sizeMap6 = {
4419
4627
  sm: "w-10 h-10 text-lg",
4420
4628
  md: "w-14 h-14 text-2xl",
@@ -4483,6 +4691,9 @@ function ItemSlot({
4483
4691
  );
4484
4692
  }
4485
4693
  ItemSlot.displayName = "ItemSlot";
4694
+
4695
+ // components/atoms/game/TurnIndicator.tsx
4696
+ init_cn();
4486
4697
  var sizeMap7 = {
4487
4698
  sm: { wrapper: "text-xs gap-1.5 px-2 py-0.5", dot: "w-1.5 h-1.5" },
4488
4699
  md: { wrapper: "text-sm gap-2 px-3 py-1", dot: "w-2 h-2" },
@@ -4529,6 +4740,9 @@ function TurnIndicator({
4529
4740
  );
4530
4741
  }
4531
4742
  TurnIndicator.displayName = "TurnIndicator";
4743
+
4744
+ // components/atoms/game/ComboCounter.tsx
4745
+ init_cn();
4532
4746
  var sizeMap8 = {
4533
4747
  sm: { combo: "text-lg", label: "text-[10px]", multiplier: "text-xs" },
4534
4748
  md: { combo: "text-2xl", label: "text-xs", multiplier: "text-sm" },
@@ -4580,6 +4794,9 @@ function ComboCounter({
4580
4794
  );
4581
4795
  }
4582
4796
  ComboCounter.displayName = "ComboCounter";
4797
+
4798
+ // components/atoms/game/XPBar.tsx
4799
+ init_cn();
4583
4800
  var sizeMap9 = {
4584
4801
  sm: { bar: "h-2", text: "text-[10px]", badge: "text-[10px] px-1.5 py-0.5" },
4585
4802
  md: { bar: "h-3", text: "text-xs", badge: "text-xs px-2 py-0.5" },
@@ -4642,6 +4859,9 @@ function XPBar({
4642
4859
  ] });
4643
4860
  }
4644
4861
  XPBar.displayName = "XPBar";
4862
+
4863
+ // components/atoms/game/WaypointMarker.tsx
4864
+ init_cn();
4645
4865
  var sizeMap10 = {
4646
4866
  sm: { dot: "w-4 h-4", ring: "w-6 h-6", label: "text-xs mt-1" },
4647
4867
  md: { dot: "w-6 h-6", ring: "w-8 h-8", label: "text-sm mt-1.5" },
@@ -4705,6 +4925,9 @@ function WaypointMarker({
4705
4925
  ] });
4706
4926
  }
4707
4927
  WaypointMarker.displayName = "WaypointMarker";
4928
+
4929
+ // components/atoms/game/StatusEffect.tsx
4930
+ init_cn();
4708
4931
  var sizeMap11 = {
4709
4932
  sm: { container: "w-8 h-8", icon: "text-sm", badge: "text-[10px] -top-1 -right-1 w-4 h-4", timer: "text-[9px]" },
4710
4933
  md: { container: "w-10 h-10", icon: "text-base", badge: "text-xs -top-1 -right-1 w-5 h-5", timer: "text-[10px]" },
@@ -4770,6 +4993,9 @@ function StatusEffect({
4770
4993
  ] });
4771
4994
  }
4772
4995
  StatusEffect.displayName = "StatusEffect";
4996
+
4997
+ // components/atoms/game/DamageNumber.tsx
4998
+ init_cn();
4773
4999
  var sizeMap12 = {
4774
5000
  sm: "text-sm",
4775
5001
  md: "text-lg",
@@ -4813,6 +5039,9 @@ function DamageNumber({
4813
5039
  ] });
4814
5040
  }
4815
5041
  DamageNumber.displayName = "DamageNumber";
5042
+
5043
+ // components/atoms/game/DialogueBubble.tsx
5044
+ init_cn();
4816
5045
  function DialogueBubble({
4817
5046
  speaker,
4818
5047
  text,
@@ -4846,6 +5075,9 @@ function DialogueBubble({
4846
5075
  );
4847
5076
  }
4848
5077
  DialogueBubble.displayName = "DialogueBubble";
5078
+
5079
+ // components/atoms/game/ChoiceButton.tsx
5080
+ init_cn();
4849
5081
  function ChoiceButton({
4850
5082
  text,
4851
5083
  index,
@@ -4887,6 +5119,9 @@ function ChoiceButton({
4887
5119
  );
4888
5120
  }
4889
5121
  ChoiceButton.displayName = "ChoiceButton";
5122
+
5123
+ // components/atoms/game/ActionButton.tsx
5124
+ init_cn();
4890
5125
  var sizeMap13 = {
4891
5126
  sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
4892
5127
  md: { button: "px-4 py-2 text-sm", hotkey: "text-[10px] px-1.5", icon: "text-sm" },
@@ -4954,6 +5189,9 @@ function ActionButton({
4954
5189
  );
4955
5190
  }
4956
5191
  ActionButton.displayName = "ActionButton";
5192
+
5193
+ // components/atoms/game/MiniMap.tsx
5194
+ init_cn();
4957
5195
  function MiniMap({
4958
5196
  tiles = [],
4959
5197
  units = [],
@@ -5042,6 +5280,14 @@ function MiniMap({
5042
5280
  }
5043
5281
  MiniMap.displayName = "MiniMap";
5044
5282
 
5283
+ // components/molecules/ErrorBoundary.tsx
5284
+ init_cn();
5285
+
5286
+ // components/molecules/ErrorState.tsx
5287
+ init_cn();
5288
+ init_Typography();
5289
+ init_useEventBus();
5290
+
5045
5291
  // locales/en.json
5046
5292
  var en_default = {
5047
5293
  $meta: { locale: "en", direction: "ltr" },
@@ -5248,6 +5494,10 @@ var ErrorBoundary = class extends React90__default.Component {
5248
5494
  }
5249
5495
  };
5250
5496
  __publicField(ErrorBoundary, "displayName", "ErrorBoundary");
5497
+
5498
+ // components/molecules/FormField.tsx
5499
+ init_cn();
5500
+ init_Typography();
5251
5501
  var FormField = ({
5252
5502
  label,
5253
5503
  required,
@@ -5264,6 +5514,11 @@ var FormField = ({
5264
5514
  ] });
5265
5515
  };
5266
5516
  FormField.displayName = "FormField";
5517
+
5518
+ // components/molecules/EmptyState.tsx
5519
+ init_cn();
5520
+ init_Typography();
5521
+ init_useEventBus();
5267
5522
  var ICON_MAP = {
5268
5523
  "check-circle": CheckCircle,
5269
5524
  check: CheckCircle,
@@ -5351,6 +5606,10 @@ var EmptyState = ({
5351
5606
  );
5352
5607
  };
5353
5608
  EmptyState.displayName = "EmptyState";
5609
+
5610
+ // components/molecules/LoadingState.tsx
5611
+ init_cn();
5612
+ init_Typography();
5354
5613
  var LoadingState = ({
5355
5614
  title,
5356
5615
  message,
@@ -5385,6 +5644,9 @@ var LoadingState = ({
5385
5644
  );
5386
5645
  };
5387
5646
  LoadingState.displayName = "LoadingState";
5647
+
5648
+ // components/molecules/Skeleton.tsx
5649
+ init_cn();
5388
5650
  var pulseClass = "animate-pulse bg-muted/60 rounded";
5389
5651
  function SkeletonLine({ className }) {
5390
5652
  return /* @__PURE__ */ jsx(Box, { className: cn(pulseClass, "h-4", className) });
@@ -5493,6 +5755,9 @@ function Skeleton({
5493
5755
  }
5494
5756
  }
5495
5757
  Skeleton.displayName = "Skeleton";
5758
+ init_Typography();
5759
+ init_cn();
5760
+ init_useEventBus();
5496
5761
  function generateItemId(item, index) {
5497
5762
  if (item.id) return item.id;
5498
5763
  const headerText = item.header ?? item.title;
@@ -5599,6 +5864,11 @@ var Accordion = ({
5599
5864
  }) });
5600
5865
  };
5601
5866
  Accordion.displayName = "Accordion";
5867
+
5868
+ // components/molecules/Alert.tsx
5869
+ init_cn();
5870
+ init_Typography();
5871
+ init_useEventBus();
5602
5872
  var variantBorderClasses = {
5603
5873
  info: "border-info",
5604
5874
  success: "border-success",
@@ -5678,6 +5948,9 @@ var Alert = ({
5678
5948
  );
5679
5949
  };
5680
5950
  Alert.displayName = "Alert";
5951
+ init_Typography();
5952
+ init_cn();
5953
+ init_useEventBus();
5681
5954
  var Breadcrumb = ({
5682
5955
  items,
5683
5956
  separator = ChevronRight,
@@ -5762,6 +6035,10 @@ var Breadcrumb = ({
5762
6035
  );
5763
6036
  };
5764
6037
  Breadcrumb.displayName = "Breadcrumb";
6038
+
6039
+ // components/molecules/ButtonGroup.tsx
6040
+ init_cn();
6041
+ init_useEventBus();
5765
6042
  function useSafeEventBus2() {
5766
6043
  try {
5767
6044
  return useEventBus();
@@ -5866,6 +6143,10 @@ var ButtonGroup = ({
5866
6143
  );
5867
6144
  };
5868
6145
  ButtonGroup.displayName = "ButtonGroup";
6146
+
6147
+ // components/molecules/FilterGroup.tsx
6148
+ init_cn();
6149
+ init_useEventBus();
5869
6150
  var queryStores = /* @__PURE__ */ new Map();
5870
6151
  function getOrCreateStore(query) {
5871
6152
  if (!queryStores.has(query)) {
@@ -6307,6 +6588,9 @@ var FilterGroup = ({
6307
6588
  );
6308
6589
  };
6309
6590
  FilterGroup.displayName = "FilterGroup";
6591
+
6592
+ // components/molecules/Card.tsx
6593
+ init_useEventBus();
6310
6594
  function useLongPress(onLongPress, options = {}) {
6311
6595
  const { duration = 500, moveThreshold = 10 } = options;
6312
6596
  const timerRef = useRef(null);
@@ -6437,6 +6721,9 @@ function Card2({
6437
6721
  );
6438
6722
  }
6439
6723
  Card2.displayName = "Card";
6724
+
6725
+ // components/molecules/Container.tsx
6726
+ init_cn();
6440
6727
  var sizeStyles7 = {
6441
6728
  xs: "max-w-xs",
6442
6729
  // 320px
@@ -6485,6 +6772,9 @@ var Container = ({
6485
6772
  );
6486
6773
  };
6487
6774
  Container.displayName = "Container";
6775
+
6776
+ // components/molecules/Flex.tsx
6777
+ init_cn();
6488
6778
  var directionStyles = {
6489
6779
  row: "flex-row",
6490
6780
  "row-reverse": "flex-row-reverse",
@@ -6563,6 +6853,9 @@ var Flex = ({
6563
6853
  );
6564
6854
  };
6565
6855
  Flex.displayName = "Flex";
6856
+ init_Typography();
6857
+ init_cn();
6858
+ init_useEventBus();
6566
6859
  function resolveIcon2(name) {
6567
6860
  const pascalName = name.split(/[-_]/).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("");
6568
6861
  const icons = LucideIcons;
@@ -6706,6 +6999,9 @@ var FloatingActionButton = ({
6706
6999
  return null;
6707
7000
  };
6708
7001
  FloatingActionButton.displayName = "FloatingActionButton";
7002
+
7003
+ // components/molecules/Grid.tsx
7004
+ init_cn();
6709
7005
  var colStyles = {
6710
7006
  none: "grid-cols-none",
6711
7007
  1: "grid-cols-1",
@@ -6828,6 +7124,10 @@ var Grid = ({
6828
7124
  );
6829
7125
  };
6830
7126
  Grid.displayName = "Grid";
7127
+
7128
+ // components/molecules/InputGroup.tsx
7129
+ init_Typography();
7130
+ init_cn();
6831
7131
  var InputGroup = ({
6832
7132
  leftAddon,
6833
7133
  rightAddon,
@@ -6882,6 +7182,9 @@ var InputGroup = ({
6882
7182
  ] });
6883
7183
  };
6884
7184
  InputGroup.displayName = "InputGroup";
7185
+ init_Typography();
7186
+ init_cn();
7187
+ init_useEventBus();
6885
7188
  var Menu = ({
6886
7189
  trigger,
6887
7190
  items,
@@ -7041,6 +7344,9 @@ var Menu = ({
7041
7344
  ] });
7042
7345
  };
7043
7346
  Menu.displayName = "Menu";
7347
+ init_Typography();
7348
+ init_cn();
7349
+ init_useEventBus();
7044
7350
  var sizeClasses5 = {
7045
7351
  sm: "max-w-md",
7046
7352
  md: "max-w-2xl",
@@ -7238,6 +7544,9 @@ var Modal = ({
7238
7544
  ] });
7239
7545
  };
7240
7546
  Modal.displayName = "Modal";
7547
+ init_Typography();
7548
+ init_cn();
7549
+ init_useEventBus();
7241
7550
  var Pagination = ({
7242
7551
  currentPage,
7243
7552
  totalPages,
@@ -7401,6 +7710,10 @@ var Pagination = ({
7401
7710
  ] });
7402
7711
  };
7403
7712
  Pagination.displayName = "Pagination";
7713
+
7714
+ // components/molecules/Popover.tsx
7715
+ init_Typography();
7716
+ init_cn();
7404
7717
  var positionClasses = {
7405
7718
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
7406
7719
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -7512,6 +7825,10 @@ var Popover = ({
7512
7825
  };
7513
7826
  Popover.displayName = "Popover";
7514
7827
 
7828
+ // components/molecules/RelationSelect.tsx
7829
+ init_cn();
7830
+ init_Typography();
7831
+
7515
7832
  // lib/debug.ts
7516
7833
  var DEBUG_ENABLED = typeof window !== "undefined" && (localStorage.getItem("debug") === "true" || process.env.NODE_ENV === "development");
7517
7834
  function isDebugEnabled() {
@@ -7742,6 +8059,8 @@ var RelationSelect = ({
7742
8059
  ] });
7743
8060
  };
7744
8061
  RelationSelect.displayName = "RelationSelect";
8062
+ init_cn();
8063
+ init_useEventBus();
7745
8064
  var SearchInput = ({
7746
8065
  value,
7747
8066
  onSearch,
@@ -7832,6 +8151,9 @@ var SearchInput = ({
7832
8151
  ] });
7833
8152
  };
7834
8153
  SearchInput.displayName = "SearchInput";
8154
+ init_Typography();
8155
+ init_cn();
8156
+ init_useEventBus();
7835
8157
  var SidePanel = ({
7836
8158
  title,
7837
8159
  children,
@@ -7893,6 +8215,9 @@ var SidePanel = ({
7893
8215
  ] });
7894
8216
  };
7895
8217
  SidePanel.displayName = "SidePanel";
8218
+
8219
+ // components/molecules/SimpleGrid.tsx
8220
+ init_cn();
7896
8221
  var gapStyles4 = {
7897
8222
  none: "gap-0",
7898
8223
  xs: "gap-1",
@@ -7936,6 +8261,9 @@ var SimpleGrid = ({
7936
8261
  );
7937
8262
  };
7938
8263
  SimpleGrid.displayName = "SimpleGrid";
8264
+ init_Typography();
8265
+ init_cn();
8266
+ init_useEventBus();
7939
8267
  var Tabs = ({
7940
8268
  items,
7941
8269
  tabs,
@@ -8067,6 +8395,9 @@ var Tabs = ({
8067
8395
  ] });
8068
8396
  };
8069
8397
  Tabs.displayName = "Tabs";
8398
+ init_Typography();
8399
+ init_cn();
8400
+ init_useEventBus();
8070
8401
  var variantClasses = {
8071
8402
  success: "bg-card border-[length:var(--border-width)] border-success",
8072
8403
  error: "bg-card border-[length:var(--border-width)] border-error",
@@ -8163,6 +8494,10 @@ var Toast = ({
8163
8494
  );
8164
8495
  };
8165
8496
  Toast.displayName = "Toast";
8497
+
8498
+ // components/molecules/Tooltip.tsx
8499
+ init_Typography();
8500
+ init_cn();
8166
8501
  var positionClasses2 = {
8167
8502
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
8168
8503
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -8271,6 +8606,9 @@ var Tooltip = ({
8271
8606
  ] });
8272
8607
  };
8273
8608
  Tooltip.displayName = "Tooltip";
8609
+ init_Typography();
8610
+ init_cn();
8611
+ init_useEventBus();
8274
8612
  var sizeWidths = {
8275
8613
  sm: "w-80",
8276
8614
  // 320px
@@ -8443,6 +8781,11 @@ var Drawer = ({
8443
8781
  ] });
8444
8782
  };
8445
8783
  Drawer.displayName = "Drawer";
8784
+
8785
+ // components/molecules/WizardProgress.tsx
8786
+ init_Typography();
8787
+ init_cn();
8788
+ init_useEventBus();
8446
8789
  var WizardProgress = ({
8447
8790
  steps,
8448
8791
  currentStep,
@@ -8522,6 +8865,9 @@ var WizardProgress = ({
8522
8865
  );
8523
8866
  };
8524
8867
  WizardProgress.displayName = "WizardProgress";
8868
+ init_Typography();
8869
+ init_cn();
8870
+ init_useEventBus();
8525
8871
  function useSafeEventBus3() {
8526
8872
  try {
8527
8873
  return useEventBus();
@@ -8603,6 +8949,7 @@ var WizardNavigation = ({
8603
8949
  );
8604
8950
  };
8605
8951
  WizardNavigation.displayName = "WizardNavigation";
8952
+ init_cn();
8606
8953
  var MarkdownContent = React90__default.memo(
8607
8954
  ({ content, direction, className }) => {
8608
8955
  const { t: _t } = useTranslate();
@@ -8705,6 +9052,7 @@ var MarkdownContent = React90__default.memo(
8705
9052
  (prev, next) => prev.content === next.content && prev.className === next.className && prev.direction === next.direction
8706
9053
  );
8707
9054
  MarkdownContent.displayName = "MarkdownContent";
9055
+ init_useEventBus();
8708
9056
  SyntaxHighlighter.registerLanguage("json", langJson);
8709
9057
  SyntaxHighlighter.registerLanguage("javascript", langJavascript);
8710
9058
  SyntaxHighlighter.registerLanguage("js", langJavascript);
@@ -8987,6 +9335,8 @@ var CodeBlock = React90__default.memo(
8987
9335
  (prev, next) => prev.language === next.language && prev.code === next.code && prev.showCopyButton === next.showCopyButton && prev.maxHeight === next.maxHeight && prev.foldable === next.foldable
8988
9336
  );
8989
9337
  CodeBlock.displayName = "CodeBlock";
9338
+ init_Typography();
9339
+ init_cn();
8990
9340
  var QuizBlock = ({
8991
9341
  question,
8992
9342
  answer,
@@ -9016,6 +9366,7 @@ var QuizBlock = ({
9016
9366
  ] }) });
9017
9367
  };
9018
9368
  QuizBlock.displayName = "QuizBlock";
9369
+ init_cn();
9019
9370
  var MIN_DIAGRAM_WIDTH = 200;
9020
9371
  var ScaledDiagram = ({
9021
9372
  children,
@@ -9105,6 +9456,11 @@ var ScaledDiagram = ({
9105
9456
  );
9106
9457
  };
9107
9458
  ScaledDiagram.displayName = "ScaledDiagram";
9459
+
9460
+ // components/molecules/CalendarGrid.tsx
9461
+ init_cn();
9462
+ init_Typography();
9463
+ init_useEventBus();
9108
9464
  function useSwipeGesture(callbacks, options = {}) {
9109
9465
  const { threshold = 50, velocityThreshold = 0.3, preventDefault = false } = options;
9110
9466
  const startX = useRef(0);
@@ -9357,6 +9713,11 @@ function CalendarGrid({
9357
9713
  );
9358
9714
  }
9359
9715
  CalendarGrid.displayName = "CalendarGrid";
9716
+
9717
+ // components/molecules/RepeatableFormSection.tsx
9718
+ init_cn();
9719
+ init_Typography();
9720
+ init_useEventBus();
9360
9721
  var RepeatableFormSection = ({
9361
9722
  sectionType,
9362
9723
  title,
@@ -9481,6 +9842,10 @@ var RepeatableFormSection = ({
9481
9842
  ] });
9482
9843
  };
9483
9844
  RepeatableFormSection.displayName = "RepeatableFormSection";
9845
+
9846
+ // components/molecules/ViolationAlert.tsx
9847
+ init_cn();
9848
+ init_Typography();
9484
9849
  var actionTypeLabels = {
9485
9850
  measure: "Corrective Measure",
9486
9851
  admin: "Administrative Action",
@@ -9673,6 +10038,10 @@ var ViolationAlert = ({
9673
10038
  );
9674
10039
  };
9675
10040
  ViolationAlert.displayName = "ViolationAlert";
10041
+
10042
+ // components/molecules/FormSectionHeader.tsx
10043
+ init_cn();
10044
+ init_Typography();
9676
10045
  var FormSectionHeader = ({
9677
10046
  title,
9678
10047
  subtitle,
@@ -9739,6 +10108,9 @@ var FormSectionHeader = ({
9739
10108
  );
9740
10109
  };
9741
10110
  FormSectionHeader.displayName = "FormSectionHeader";
10111
+
10112
+ // components/molecules/FlipCard.tsx
10113
+ init_cn();
9742
10114
  var FlipCard = ({
9743
10115
  front,
9744
10116
  back,
@@ -9775,6 +10147,9 @@ var FlipCard = ({
9775
10147
  );
9776
10148
  };
9777
10149
  FlipCard.displayName = "FlipCard";
10150
+
10151
+ // components/molecules/DateRangeSelector.tsx
10152
+ init_cn();
9778
10153
  var DEFAULT_OPTIONS = [
9779
10154
  { label: "1W", value: "week" },
9780
10155
  { label: "1M", value: "month" },
@@ -9799,6 +10174,9 @@ var DateRangeSelector = ({
9799
10174
  )) });
9800
10175
  };
9801
10176
  DateRangeSelector.displayName = "DateRangeSelector";
10177
+
10178
+ // components/molecules/ChartLegend.tsx
10179
+ init_cn();
9802
10180
  var ChartLegend = ({
9803
10181
  items,
9804
10182
  className,
@@ -9821,6 +10199,9 @@ var ChartLegend = ({
9821
10199
  ] }, item.label)) });
9822
10200
  };
9823
10201
  ChartLegend.displayName = "ChartLegend";
10202
+
10203
+ // components/molecules/LineChart.tsx
10204
+ init_cn();
9824
10205
  var LineChart = ({
9825
10206
  data,
9826
10207
  width = 400,
@@ -9928,6 +10309,9 @@ var LineChart = ({
9928
10309
  ) });
9929
10310
  };
9930
10311
  LineChart.displayName = "LineChart";
10312
+
10313
+ // components/molecules/ProgressDots.tsx
10314
+ init_cn();
9931
10315
  var sizeMap14 = {
9932
10316
  sm: { dot: 6, active: 8 },
9933
10317
  md: { dot: 8, active: 10 },
@@ -9979,6 +10363,10 @@ var ProgressDots = ({
9979
10363
  }) });
9980
10364
  };
9981
10365
  ProgressDots.displayName = "ProgressDots";
10366
+
10367
+ // components/molecules/game/DPad.tsx
10368
+ init_cn();
10369
+ init_useEventBus();
9982
10370
  var sizeMap15 = {
9983
10371
  sm: { button: "sm", gap: "gap-0.5", container: "w-28" },
9984
10372
  md: { button: "md", gap: "gap-1", container: "w-40" },
@@ -10047,6 +10435,10 @@ function DPad({
10047
10435
  ] });
10048
10436
  }
10049
10437
  DPad.displayName = "DPad";
10438
+
10439
+ // components/molecules/game/ActionButtons.tsx
10440
+ init_cn();
10441
+ init_useEventBus();
10050
10442
  var sizeMap16 = {
10051
10443
  sm: "sm",
10052
10444
  md: "md",
@@ -10166,6 +10558,9 @@ function ActionButtons({
10166
10558
  )) });
10167
10559
  }
10168
10560
  ActionButtons.displayName = "ActionButtons";
10561
+
10562
+ // components/molecules/game/StatBadge.tsx
10563
+ init_cn();
10169
10564
  var sizeMap17 = {
10170
10565
  sm: "text-xs px-2 py-1",
10171
10566
  md: "text-sm px-3 py-1.5",
@@ -10239,6 +10634,10 @@ function StatBadge({
10239
10634
  );
10240
10635
  }
10241
10636
  StatBadge.displayName = "StatBadge";
10637
+
10638
+ // components/molecules/game/InventoryGrid.tsx
10639
+ init_cn();
10640
+ init_useEventBus();
10242
10641
  var columnMap = {
10243
10642
  2: "grid-cols-2",
10244
10643
  3: "grid-cols-3",
@@ -10302,6 +10701,10 @@ function InventoryGrid({
10302
10701
  );
10303
10702
  }
10304
10703
  InventoryGrid.displayName = "InventoryGrid";
10704
+
10705
+ // components/molecules/game/QuestTracker.tsx
10706
+ init_cn();
10707
+ init_Typography();
10305
10708
  function QuestTracker({
10306
10709
  quests,
10307
10710
  activeQuestId,
@@ -10371,6 +10774,10 @@ function QuestTracker({
10371
10774
  }) });
10372
10775
  }
10373
10776
  QuestTracker.displayName = "QuestTracker";
10777
+
10778
+ // components/molecules/game/CraftingRecipe.tsx
10779
+ init_cn();
10780
+ init_useEventBus();
10374
10781
  var rarityValues = ["common", "uncommon", "rare", "epic", "legendary"];
10375
10782
  function isValidRarity(value) {
10376
10783
  if (!value) return false;
@@ -10441,6 +10848,10 @@ function CraftingRecipe({
10441
10848
  );
10442
10849
  }
10443
10850
  CraftingRecipe.displayName = "CraftingRecipe";
10851
+
10852
+ // components/molecules/game/PowerupSlots.tsx
10853
+ init_cn();
10854
+ init_Typography();
10444
10855
  function formatTime2(seconds) {
10445
10856
  if (seconds >= 60) {
10446
10857
  const mins = Math.floor(seconds / 60);
@@ -10496,6 +10907,9 @@ function PowerupSlots({
10496
10907
  ] });
10497
10908
  }
10498
10909
  PowerupSlots.displayName = "PowerupSlots";
10910
+
10911
+ // components/molecules/game/GameCanvas2D.tsx
10912
+ init_cn();
10499
10913
  function GameCanvas2D({
10500
10914
  width = 800,
10501
10915
  height = 600,
@@ -10551,6 +10965,10 @@ function GameCanvas2D({
10551
10965
  ) });
10552
10966
  }
10553
10967
  GameCanvas2D.displayName = "GameCanvas2D";
10968
+
10969
+ // components/molecules/game/HealthPanel.tsx
10970
+ init_cn();
10971
+ init_Typography();
10554
10972
  var sizeMap18 = {
10555
10973
  sm: { gap: "gap-1", padding: "px-2 py-1.5", text: "text-xs", barSize: "sm" },
10556
10974
  md: { gap: "gap-1.5", padding: "px-3 py-2", text: "text-sm", barSize: "md" },
@@ -10661,6 +11079,9 @@ function HealthPanel({
10661
11079
  );
10662
11080
  }
10663
11081
  HealthPanel.displayName = "HealthPanel";
11082
+
11083
+ // components/molecules/game/ScoreBoard.tsx
11084
+ init_cn();
10664
11085
  function ScoreBoard({
10665
11086
  score: rawScore,
10666
11087
  highScore: rawHighScore,
@@ -10728,6 +11149,9 @@ function ScoreBoard({
10728
11149
  );
10729
11150
  }
10730
11151
  ScoreBoard.displayName = "ScoreBoard";
11152
+
11153
+ // components/molecules/game/ResourceBar.tsx
11154
+ init_cn();
10731
11155
  function ResourceBar({
10732
11156
  resources,
10733
11157
  size = "md",
@@ -10756,6 +11180,10 @@ function ResourceBar({
10756
11180
  );
10757
11181
  }
10758
11182
  ResourceBar.displayName = "ResourceBar";
11183
+
11184
+ // components/molecules/game/TurnPanel.tsx
11185
+ init_cn();
11186
+ init_useEventBus();
10759
11187
  function TurnPanel({
10760
11188
  currentTurn,
10761
11189
  maxTurns,
@@ -10807,6 +11235,10 @@ function TurnPanel({
10807
11235
  );
10808
11236
  }
10809
11237
  TurnPanel.displayName = "TurnPanel";
11238
+
11239
+ // components/molecules/game/EnemyPlate.tsx
11240
+ init_cn();
11241
+ init_Typography();
10810
11242
  var effectVariantMap2 = {
10811
11243
  buff: "success",
10812
11244
  debuff: "danger",
@@ -10884,6 +11316,11 @@ function EnemyPlate({
10884
11316
  );
10885
11317
  }
10886
11318
  EnemyPlate.displayName = "EnemyPlate";
11319
+
11320
+ // components/molecules/game/UnitCommandBar.tsx
11321
+ init_cn();
11322
+ init_Typography();
11323
+ init_useEventBus();
10887
11324
  function UnitCommandBar({
10888
11325
  commands,
10889
11326
  selectedUnitId,
@@ -10930,6 +11367,9 @@ function UnitCommandBar({
10930
11367
  );
10931
11368
  }
10932
11369
  UnitCommandBar.displayName = "UnitCommandBar";
11370
+
11371
+ // components/molecules/game/GameHud.tsx
11372
+ init_cn();
10933
11373
  var positionMap = {
10934
11374
  top: "top-0 left-0 right-0 flex justify-between items-start p-4",
10935
11375
  bottom: "bottom-0 left-0 right-0 flex justify-between items-end p-4",
@@ -10991,6 +11431,10 @@ function GameHud({
10991
11431
  );
10992
11432
  }
10993
11433
  GameHud.displayName = "GameHud";
11434
+
11435
+ // components/molecules/game/DialogueBox.tsx
11436
+ init_cn();
11437
+ init_useEventBus();
10994
11438
  function DialogueBox({
10995
11439
  dialogue,
10996
11440
  typewriterSpeed = 30,
@@ -11175,6 +11619,7 @@ function DialogueBox({
11175
11619
  }
11176
11620
  );
11177
11621
  }
11622
+ init_cn();
11178
11623
  var eventIcons = {
11179
11624
  attack: Sword,
11180
11625
  defend: Shield,
@@ -11255,6 +11700,10 @@ function CombatLog({
11255
11700
  ] });
11256
11701
  }
11257
11702
  CombatLog.displayName = "CombatLog";
11703
+
11704
+ // components/molecules/game/InventoryPanel.tsx
11705
+ init_cn();
11706
+ init_useEventBus();
11258
11707
  function InventoryPanel({
11259
11708
  items,
11260
11709
  slots,
@@ -11406,6 +11855,10 @@ function InventoryPanel({
11406
11855
  )
11407
11856
  ] });
11408
11857
  }
11858
+
11859
+ // components/molecules/game/GameMenu.tsx
11860
+ init_cn();
11861
+ init_useEventBus();
11409
11862
  var variantMap3 = {
11410
11863
  primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400 shadow-lg shadow-blue-500/25",
11411
11864
  secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
@@ -11504,6 +11957,10 @@ function GameMenu({
11504
11957
  );
11505
11958
  }
11506
11959
  GameMenu.displayName = "GameMenu";
11960
+
11961
+ // components/molecules/game/GameOverScreen.tsx
11962
+ init_cn();
11963
+ init_useEventBus();
11507
11964
  var variantColors = {
11508
11965
  victory: {
11509
11966
  bg: "from-green-900/90 to-emerald-950/90",
@@ -11634,7 +12091,12 @@ function GameOverScreen({
11634
12091
  }
11635
12092
  GameOverScreen.displayName = "GameOverScreen";
11636
12093
 
12094
+ // components/molecules/game/PlatformerCanvas.tsx
12095
+ init_cn();
12096
+ init_useEventBus();
12097
+
11637
12098
  // lib/verificationRegistry.ts
12099
+ init_logger();
11638
12100
  createLogger("almadar:bridge");
11639
12101
  function getState() {
11640
12102
  if (typeof window !== "undefined") {
@@ -11982,6 +12444,11 @@ function PlatformerCanvas({
11982
12444
  );
11983
12445
  }
11984
12446
  PlatformerCanvas.displayName = "PlatformerCanvas";
12447
+
12448
+ // components/molecules/game/IsometricCanvas.tsx
12449
+ init_cn();
12450
+ init_useEventBus();
12451
+ init_Typography();
11985
12452
  function useImageCache(urls) {
11986
12453
  const cacheRef = useRef(/* @__PURE__ */ new Map());
11987
12454
  const loadingRef = useRef(/* @__PURE__ */ new Set());
@@ -12866,6 +13333,9 @@ function IsometricCanvas({
12866
13333
  }
12867
13334
  IsometricCanvas.displayName = "IsometricCanvas";
12868
13335
  var IsometricCanvas_default = IsometricCanvas;
13336
+
13337
+ // components/molecules/GraphView.tsx
13338
+ init_cn();
12869
13339
  var GROUP_COLORS = [
12870
13340
  "#3b82f6",
12871
13341
  // blue-500
@@ -13179,120 +13649,154 @@ var GraphView = ({
13179
13649
  );
13180
13650
  };
13181
13651
  GraphView.displayName = "GraphView";
13182
- var defaultIcon = L.icon({
13183
- iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
13184
- iconRetinaUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon-2x.png",
13185
- shadowUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png",
13186
- iconSize: [25, 41],
13187
- iconAnchor: [12, 41],
13188
- popupAnchor: [1, -34],
13189
- shadowSize: [41, 41]
13652
+ init_cn();
13653
+ var MapViewImpl = lazy(async () => {
13654
+ const [reactLeaflet, leafletMod] = await Promise.all([
13655
+ import('react-leaflet'),
13656
+ import('leaflet')
13657
+ ]);
13658
+ await import('leaflet/dist/leaflet.css');
13659
+ const { MapContainer, TileLayer, Marker, Popup, useMap } = reactLeaflet;
13660
+ const L = leafletMod.default;
13661
+ const defaultIcon = L.icon({
13662
+ iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
13663
+ iconRetinaUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon-2x.png",
13664
+ shadowUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png",
13665
+ iconSize: [25, 41],
13666
+ iconAnchor: [12, 41],
13667
+ popupAnchor: [1, -34],
13668
+ shadowSize: [41, 41]
13669
+ });
13670
+ L.Marker.prototype.options.icon = defaultIcon;
13671
+ const { useEffect: useEffect66, useRef: useRef64, useCallback: useCallback113, useState: useState98 } = React90__default;
13672
+ const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
13673
+ const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
13674
+ function MapUpdater({ centerLat, centerLng, zoom }) {
13675
+ const map = useMap();
13676
+ const prevRef = useRef64({ centerLat, centerLng, zoom });
13677
+ useEffect66(() => {
13678
+ const prev = prevRef.current;
13679
+ if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
13680
+ map.setView([centerLat, centerLng], zoom);
13681
+ prevRef.current = { centerLat, centerLng, zoom };
13682
+ }
13683
+ }, [map, centerLat, centerLng, zoom]);
13684
+ return null;
13685
+ }
13686
+ function MapClickHandler({ onMapClick }) {
13687
+ const map = useMap();
13688
+ useEffect66(() => {
13689
+ if (!onMapClick) return;
13690
+ const handler = (e) => {
13691
+ onMapClick(e.latlng.lat, e.latlng.lng);
13692
+ };
13693
+ map.on("click", handler);
13694
+ return () => {
13695
+ map.off("click", handler);
13696
+ };
13697
+ }, [map, onMapClick]);
13698
+ return null;
13699
+ }
13700
+ function MapViewInner({
13701
+ markers = [],
13702
+ centerLat = 51.505,
13703
+ centerLng = -0.09,
13704
+ zoom = 13,
13705
+ height = "400px",
13706
+ onMarkerClick,
13707
+ onMapClick,
13708
+ mapClickEvent,
13709
+ markerClickEvent,
13710
+ showClickedPin = false,
13711
+ className,
13712
+ showAttribution = true
13713
+ }) {
13714
+ const eventBus = useEventBus2();
13715
+ const [clickedPosition, setClickedPosition] = useState98(null);
13716
+ const handleMapClick = useCallback113((lat, lng) => {
13717
+ if (showClickedPin) {
13718
+ setClickedPosition({ lat, lng });
13719
+ }
13720
+ onMapClick?.(lat, lng);
13721
+ if (mapClickEvent) {
13722
+ eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
13723
+ }
13724
+ }, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
13725
+ const handleMarkerClick = useCallback113((marker) => {
13726
+ onMarkerClick?.(marker);
13727
+ if (markerClickEvent) {
13728
+ eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
13729
+ }
13730
+ }, [onMarkerClick, markerClickEvent, eventBus]);
13731
+ return /* @__PURE__ */ jsx(
13732
+ Box,
13733
+ {
13734
+ className: cn("relative w-full overflow-hidden rounded-lg", className),
13735
+ style: { height },
13736
+ "data-testid": "map-view",
13737
+ children: /* @__PURE__ */ jsxs(
13738
+ MapContainer,
13739
+ {
13740
+ center: [centerLat, centerLng],
13741
+ zoom,
13742
+ style: { height: "100%", width: "100%" },
13743
+ attributionControl: showAttribution,
13744
+ children: [
13745
+ /* @__PURE__ */ jsx(
13746
+ TileLayer,
13747
+ {
13748
+ url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
13749
+ attribution: showAttribution ? '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>' : void 0
13750
+ }
13751
+ ),
13752
+ /* @__PURE__ */ jsx(MapUpdater, { centerLat, centerLng, zoom }),
13753
+ /* @__PURE__ */ jsx(MapClickHandler, { onMapClick: handleMapClick }),
13754
+ showClickedPin && clickedPosition && /* @__PURE__ */ jsx(Marker, { position: [clickedPosition.lat, clickedPosition.lng], children: /* @__PURE__ */ jsx(Popup, { children: /* @__PURE__ */ jsxs(Typography2, { variant: "body2", children: [
13755
+ clickedPosition.lat.toFixed(5),
13756
+ ", ",
13757
+ clickedPosition.lng.toFixed(5)
13758
+ ] }) }) }),
13759
+ markers.map((marker) => /* @__PURE__ */ jsx(
13760
+ Marker,
13761
+ {
13762
+ position: [marker.lat, marker.lng],
13763
+ eventHandlers: onMarkerClick || markerClickEvent ? { click: () => handleMarkerClick(marker) } : void 0,
13764
+ children: marker.label ? /* @__PURE__ */ jsxs(Popup, { children: [
13765
+ /* @__PURE__ */ jsx(Typography2, { variant: "body2", children: marker.label }),
13766
+ marker.category ? /* @__PURE__ */ jsx(Typography2, { variant: "caption", className: "text-muted-foreground", children: marker.category }) : null
13767
+ ] }) : null
13768
+ },
13769
+ marker.id
13770
+ ))
13771
+ ]
13772
+ },
13773
+ `map-${centerLat}-${centerLng}-${zoom}`
13774
+ )
13775
+ }
13776
+ );
13777
+ }
13778
+ return { default: MapViewInner };
13190
13779
  });
13191
- L.Marker.prototype.options.icon = defaultIcon;
13192
- function MapUpdater({ centerLat, centerLng, zoom }) {
13193
- const map = useMap();
13194
- const prevRef = useRef({ centerLat, centerLng, zoom });
13195
- useEffect(() => {
13196
- const prev = prevRef.current;
13197
- if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
13198
- map.setView([centerLat, centerLng], zoom);
13199
- prevRef.current = { centerLat, centerLng, zoom };
13200
- }
13201
- }, [map, centerLat, centerLng, zoom]);
13202
- return null;
13203
- }
13204
- function MapClickHandler({ onMapClick }) {
13205
- const map = useMap();
13206
- useEffect(() => {
13207
- if (!onMapClick) return;
13208
- const handler = (e) => {
13209
- onMapClick(e.latlng.lat, e.latlng.lng);
13210
- };
13211
- map.on("click", handler);
13212
- return () => {
13213
- map.off("click", handler);
13214
- };
13215
- }, [map, onMapClick]);
13216
- return null;
13217
- }
13218
- function MapView({
13219
- markers = [],
13220
- centerLat = 51.505,
13221
- centerLng = -0.09,
13222
- zoom = 13,
13223
- height = "400px",
13224
- onMarkerClick,
13225
- onMapClick,
13226
- mapClickEvent,
13227
- markerClickEvent,
13228
- showClickedPin = false,
13229
- className,
13230
- showAttribution = true
13231
- }) {
13232
- const eventBus = useEventBus();
13233
- const [clickedPosition, setClickedPosition] = useState(null);
13234
- const handleMapClick = useCallback((lat, lng) => {
13235
- if (showClickedPin) {
13236
- setClickedPosition({ lat, lng });
13237
- }
13238
- onMapClick?.(lat, lng);
13239
- if (mapClickEvent) {
13240
- eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
13241
- }
13242
- }, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
13243
- const handleMarkerClick = useCallback((marker) => {
13244
- onMarkerClick?.(marker);
13245
- if (markerClickEvent) {
13246
- eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
13247
- }
13248
- }, [onMarkerClick, markerClickEvent, eventBus]);
13780
+ function MapView(props) {
13249
13781
  return /* @__PURE__ */ jsx(
13250
- Box,
13782
+ Suspense,
13251
13783
  {
13252
- className: cn("relative w-full overflow-hidden rounded-lg", className),
13253
- style: { height },
13254
- "data-testid": "map-view",
13255
- children: /* @__PURE__ */ jsxs(
13256
- MapContainer,
13784
+ fallback: /* @__PURE__ */ jsx(
13785
+ Box,
13257
13786
  {
13258
- center: [centerLat, centerLng],
13259
- zoom,
13260
- style: { height: "100%", width: "100%" },
13261
- attributionControl: showAttribution,
13262
- children: [
13263
- /* @__PURE__ */ jsx(
13264
- TileLayer,
13265
- {
13266
- url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
13267
- attribution: showAttribution ? '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>' : void 0
13268
- }
13269
- ),
13270
- /* @__PURE__ */ jsx(MapUpdater, { centerLat, centerLng, zoom }),
13271
- /* @__PURE__ */ jsx(MapClickHandler, { onMapClick: handleMapClick }),
13272
- showClickedPin && clickedPosition && /* @__PURE__ */ jsx(Marker, { position: [clickedPosition.lat, clickedPosition.lng], children: /* @__PURE__ */ jsx(Popup, { children: /* @__PURE__ */ jsxs(Typography, { variant: "body2", children: [
13273
- clickedPosition.lat.toFixed(5),
13274
- ", ",
13275
- clickedPosition.lng.toFixed(5)
13276
- ] }) }) }),
13277
- markers.map((marker) => /* @__PURE__ */ jsx(
13278
- Marker,
13279
- {
13280
- position: [marker.lat, marker.lng],
13281
- eventHandlers: onMarkerClick || markerClickEvent ? { click: () => handleMarkerClick(marker) } : void 0,
13282
- children: marker.label ? /* @__PURE__ */ jsxs(Popup, { children: [
13283
- /* @__PURE__ */ jsx(Typography, { variant: "body2", children: marker.label }),
13284
- marker.category ? /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: marker.category }) : null
13285
- ] }) : null
13286
- },
13287
- marker.id
13288
- ))
13289
- ]
13290
- },
13291
- `map-${centerLat}-${centerLng}-${zoom}`
13292
- )
13787
+ className: cn("relative w-full overflow-hidden rounded-lg bg-muted/20", props.className),
13788
+ style: { height: props.height ?? "400px" },
13789
+ "data-testid": "map-view"
13790
+ }
13791
+ ),
13792
+ children: /* @__PURE__ */ jsx(MapViewImpl, { ...props })
13293
13793
  }
13294
13794
  );
13295
13795
  }
13796
+
13797
+ // components/molecules/NumberStepper.tsx
13798
+ init_cn();
13799
+ init_useEventBus();
13296
13800
  function useSafeEventBus4() {
13297
13801
  try {
13298
13802
  return useEventBus();
@@ -13469,6 +13973,10 @@ var NumberStepper = ({
13469
13973
  );
13470
13974
  };
13471
13975
  NumberStepper.displayName = "NumberStepper";
13976
+
13977
+ // components/molecules/StarRating.tsx
13978
+ init_cn();
13979
+ init_useEventBus();
13472
13980
  function useSafeEventBus5() {
13473
13981
  try {
13474
13982
  return useEventBus();
@@ -13606,6 +14114,11 @@ var StarRating = ({
13606
14114
  );
13607
14115
  };
13608
14116
  StarRating.displayName = "StarRating";
14117
+
14118
+ // components/molecules/UploadDropZone.tsx
14119
+ init_cn();
14120
+ init_Typography();
14121
+ init_useEventBus();
13609
14122
  function useSafeEventBus6() {
13610
14123
  try {
13611
14124
  return useEventBus();
@@ -13766,6 +14279,10 @@ var UploadDropZone = ({
13766
14279
  );
13767
14280
  };
13768
14281
  UploadDropZone.displayName = "UploadDropZone";
14282
+
14283
+ // components/molecules/Lightbox.tsx
14284
+ init_cn();
14285
+ init_useEventBus();
13769
14286
  function useSafeEventBus7() {
13770
14287
  try {
13771
14288
  return useEventBus();
@@ -13954,6 +14471,9 @@ var Lightbox = ({
13954
14471
  };
13955
14472
  Lightbox.displayName = "Lightbox";
13956
14473
 
14474
+ // components/molecules/DataGrid.tsx
14475
+ init_cn();
14476
+
13957
14477
  // lib/getNestedValue.ts
13958
14478
  function getNestedValue(obj, path) {
13959
14479
  if (obj === null || obj === void 0 || !path) {
@@ -13975,6 +14495,10 @@ function getNestedValue(obj, path) {
13975
14495
  }
13976
14496
  return value;
13977
14497
  }
14498
+
14499
+ // components/molecules/DataGrid.tsx
14500
+ init_useEventBus();
14501
+ init_Typography();
13978
14502
  function fieldLabel(key) {
13979
14503
  return key.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/[_-]/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
13980
14504
  }
@@ -14294,6 +14818,11 @@ var DataGrid = ({
14294
14818
  ] });
14295
14819
  };
14296
14820
  DataGrid.displayName = "DataGrid";
14821
+
14822
+ // components/molecules/DataList.tsx
14823
+ init_cn();
14824
+ init_useEventBus();
14825
+ init_Typography();
14297
14826
  function fieldLabel2(key) {
14298
14827
  return key.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/[_-]/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
14299
14828
  }
@@ -14643,6 +15172,10 @@ var DataList = ({
14643
15172
  );
14644
15173
  };
14645
15174
  DataList.displayName = "DataList";
15175
+
15176
+ // components/molecules/StatDisplay.tsx
15177
+ init_cn();
15178
+ init_Typography();
14646
15179
  function formatValue3(value, format, max) {
14647
15180
  if (value == null) return "0";
14648
15181
  const v = typeof value === "number" ? value : value;
@@ -14717,6 +15250,10 @@ var StatDisplay = ({
14717
15250
  ] }) });
14718
15251
  };
14719
15252
  StatDisplay.displayName = "StatDisplay";
15253
+
15254
+ // components/molecules/Meter.tsx
15255
+ init_cn();
15256
+ init_useEventBus();
14720
15257
  var DEFAULT_THRESHOLDS = [
14721
15258
  { value: 30, color: "var(--color-error)" },
14722
15259
  { value: 70, color: "var(--color-warning)" },
@@ -14920,6 +15457,10 @@ var Meter = ({
14920
15457
  ] }) });
14921
15458
  };
14922
15459
  Meter.displayName = "Meter";
15460
+
15461
+ // components/molecules/SwipeableRow.tsx
15462
+ init_cn();
15463
+ init_useEventBus();
14923
15464
  function useSafeEventBus8() {
14924
15465
  try {
14925
15466
  return useEventBus();
@@ -15091,6 +15632,10 @@ var SwipeableRow = ({
15091
15632
  );
15092
15633
  };
15093
15634
  SwipeableRow.displayName = "SwipeableRow";
15635
+
15636
+ // components/molecules/SortableList.tsx
15637
+ init_cn();
15638
+ init_useEventBus();
15094
15639
  function useDragReorder(initialItems, onReorder) {
15095
15640
  const [items, setItems] = useState(initialItems);
15096
15641
  const [dragIndex, setDragIndex] = useState(-1);
@@ -15255,6 +15800,10 @@ function SortableListInner({
15255
15800
  }
15256
15801
  var SortableList = SortableListInner;
15257
15802
  SortableList.displayName = "SortableList";
15803
+
15804
+ // components/molecules/Carousel.tsx
15805
+ init_cn();
15806
+ init_useEventBus();
15258
15807
  function useSafeEventBus10() {
15259
15808
  try {
15260
15809
  return useEventBus();
@@ -15488,6 +16037,10 @@ var Carousel = ({
15488
16037
  ] });
15489
16038
  };
15490
16039
  Carousel.displayName = "Carousel";
16040
+
16041
+ // components/molecules/PullToRefresh.tsx
16042
+ init_cn();
16043
+ init_useEventBus();
15491
16044
  function usePullToRefresh(onRefresh, options = {}) {
15492
16045
  const { threshold = 60, maxPull = 120 } = options;
15493
16046
  const [pullDistance, setPullDistance] = useState(0);
@@ -15648,6 +16201,10 @@ var PullToRefresh = ({
15648
16201
  ] });
15649
16202
  };
15650
16203
  PullToRefresh.displayName = "PullToRefresh";
16204
+
16205
+ // components/molecules/InstallBox.tsx
16206
+ init_cn();
16207
+ init_Typography();
15651
16208
  var InstallBox = ({
15652
16209
  command,
15653
16210
  label,
@@ -15695,6 +16252,10 @@ var InstallBox = ({
15695
16252
  ] });
15696
16253
  };
15697
16254
  InstallBox.displayName = "InstallBox";
16255
+
16256
+ // components/molecules/FeatureCard.tsx
16257
+ init_cn();
16258
+ init_Typography();
15698
16259
  var iconSizeMap = {
15699
16260
  sm: "lg",
15700
16261
  md: "xl",
@@ -15763,6 +16324,9 @@ var FeatureCard = ({
15763
16324
  );
15764
16325
  };
15765
16326
  FeatureCard.displayName = "FeatureCard";
16327
+
16328
+ // components/molecules/FeatureGrid.tsx
16329
+ init_cn();
15766
16330
  var FeatureGrid = ({
15767
16331
  items,
15768
16332
  columns = 3,
@@ -15780,6 +16344,10 @@ var FeatureGrid = ({
15780
16344
  );
15781
16345
  };
15782
16346
  FeatureGrid.displayName = "FeatureGrid";
16347
+
16348
+ // components/molecules/CTABanner.tsx
16349
+ init_cn();
16350
+ init_Typography();
15783
16351
  var CTABanner = ({
15784
16352
  title,
15785
16353
  subtitle,
@@ -15839,6 +16407,10 @@ var CTABanner = ({
15839
16407
  );
15840
16408
  };
15841
16409
  CTABanner.displayName = "CTABanner";
16410
+
16411
+ // components/molecules/HeroSection.tsx
16412
+ init_cn();
16413
+ init_Typography();
15842
16414
  var tagVariantMap = {
15843
16415
  primary: "primary",
15844
16416
  secondary: "secondary",
@@ -16003,6 +16575,10 @@ var HeroSection = ({
16003
16575
  );
16004
16576
  };
16005
16577
  HeroSection.displayName = "HeroSection";
16578
+
16579
+ // components/molecules/PricingCard.tsx
16580
+ init_cn();
16581
+ init_Typography();
16006
16582
  var PricingCard = ({
16007
16583
  name,
16008
16584
  price,
@@ -16068,6 +16644,9 @@ var PricingCard = ({
16068
16644
  );
16069
16645
  };
16070
16646
  PricingCard.displayName = "PricingCard";
16647
+
16648
+ // components/molecules/PricingGrid.tsx
16649
+ init_cn();
16071
16650
  var PricingGrid = ({
16072
16651
  plans,
16073
16652
  className
@@ -16084,6 +16663,10 @@ var PricingGrid = ({
16084
16663
  );
16085
16664
  };
16086
16665
  PricingGrid.displayName = "PricingGrid";
16666
+
16667
+ // components/molecules/StatsGrid.tsx
16668
+ init_cn();
16669
+ init_Typography();
16087
16670
  var StatsGrid = ({
16088
16671
  stats,
16089
16672
  columns = 3,
@@ -16102,6 +16685,10 @@ var StatsGrid = ({
16102
16685
  ] }, stat.label)) });
16103
16686
  };
16104
16687
  StatsGrid.displayName = "StatsGrid";
16688
+
16689
+ // components/molecules/ServiceCatalog.tsx
16690
+ init_cn();
16691
+ init_Typography();
16105
16692
  var ServiceCatalog = ({
16106
16693
  services,
16107
16694
  className
@@ -16119,6 +16706,10 @@ var ServiceCatalog = ({
16119
16706
  ] }) }, service.name)) });
16120
16707
  };
16121
16708
  ServiceCatalog.displayName = "ServiceCatalog";
16709
+
16710
+ // components/molecules/CaseStudyCard.tsx
16711
+ init_cn();
16712
+ init_Typography();
16122
16713
  var CaseStudyCard = ({
16123
16714
  title,
16124
16715
  description,
@@ -16158,6 +16749,10 @@ var CaseStudyCard = ({
16158
16749
  ] }) });
16159
16750
  };
16160
16751
  CaseStudyCard.displayName = "CaseStudyCard";
16752
+
16753
+ // components/molecules/ArticleSection.tsx
16754
+ init_cn();
16755
+ init_Typography();
16161
16756
  var ArticleSection = ({
16162
16757
  title,
16163
16758
  children,
@@ -16180,6 +16775,10 @@ var ArticleSection = ({
16180
16775
  );
16181
16776
  };
16182
16777
  ArticleSection.displayName = "ArticleSection";
16778
+
16779
+ // components/molecules/CodeExample.tsx
16780
+ init_cn();
16781
+ init_Typography();
16183
16782
  var CodeExample = ({
16184
16783
  code,
16185
16784
  language,
@@ -16263,6 +16862,10 @@ var CodeExample = ({
16263
16862
  );
16264
16863
  };
16265
16864
  CodeExample.displayName = "CodeExample";
16865
+
16866
+ // components/molecules/SocialProof.tsx
16867
+ init_cn();
16868
+ init_Typography();
16266
16869
  var LogosVariant = ({ items }) => /* @__PURE__ */ jsx(HStack, { gap: "xl", justify: "center", className: "flex-wrap", children: items.map((item) => /* @__PURE__ */ jsx(
16267
16870
  Box,
16268
16871
  {
@@ -16307,6 +16910,10 @@ var SocialProof = ({
16307
16910
  ] });
16308
16911
  };
16309
16912
  SocialProof.displayName = "SocialProof";
16913
+
16914
+ // components/molecules/StepFlow.tsx
16915
+ init_cn();
16916
+ init_Typography();
16310
16917
  var StepCircle = ({ step, index }) => {
16311
16918
  if (step.icon) {
16312
16919
  return /* @__PURE__ */ jsx(
@@ -16362,6 +16969,10 @@ var StepFlow = ({
16362
16969
  ] }, index)) });
16363
16970
  };
16364
16971
  StepFlow.displayName = "StepFlow";
16972
+
16973
+ // components/molecules/SplitSection.tsx
16974
+ init_cn();
16975
+ init_Typography();
16365
16976
  var SplitSection = ({
16366
16977
  title,
16367
16978
  description,
@@ -16417,6 +17028,9 @@ var SplitSection = ({
16417
17028
  );
16418
17029
  };
16419
17030
  SplitSection.displayName = "SplitSection";
17031
+
17032
+ // components/molecules/TagCloud.tsx
17033
+ init_cn();
16420
17034
  var variantMap4 = {
16421
17035
  default: "default",
16422
17036
  primary: "primary",
@@ -16441,6 +17055,9 @@ var TagCloud = ({
16441
17055
  }) });
16442
17056
  };
16443
17057
  TagCloud.displayName = "TagCloud";
17058
+
17059
+ // components/molecules/CommunityLinks.tsx
17060
+ init_Typography();
16444
17061
  function formatCount(count) {
16445
17062
  if (count >= 1e3) {
16446
17063
  return `${(count / 1e3).toFixed(1)}k`;
@@ -16478,6 +17095,10 @@ var CommunityLinks = ({
16478
17095
  ] });
16479
17096
  };
16480
17097
  CommunityLinks.displayName = "CommunityLinks";
17098
+
17099
+ // components/molecules/TeamCard.tsx
17100
+ init_cn();
17101
+ init_Typography();
16481
17102
  var TeamCard = ({
16482
17103
  name,
16483
17104
  nameAr,
@@ -16505,6 +17126,10 @@ var TeamCard = ({
16505
17126
  ] }) });
16506
17127
  };
16507
17128
  TeamCard.displayName = "TeamCard";
17129
+
17130
+ // components/molecules/ShowcaseCard.tsx
17131
+ init_cn();
17132
+ init_Typography();
16508
17133
  var ShowcaseCard = ({
16509
17134
  title,
16510
17135
  description,
@@ -16551,6 +17176,9 @@ var ShowcaseCard = ({
16551
17176
  );
16552
17177
  };
16553
17178
  ShowcaseCard.displayName = "ShowcaseCard";
17179
+
17180
+ // components/molecules/GeometricPattern.tsx
17181
+ init_cn();
16554
17182
  function PatternDefs({
16555
17183
  patternId,
16556
17184
  variant,
@@ -16915,6 +17543,9 @@ var GeometricPattern = ({
16915
17543
  );
16916
17544
  };
16917
17545
  GeometricPattern.displayName = "GeometricPattern";
17546
+
17547
+ // components/molecules/EdgeDecoration.tsx
17548
+ init_cn();
16918
17549
  function ArchSVG({
16919
17550
  facing,
16920
17551
  w,
@@ -17094,6 +17725,11 @@ var EntityDisplayEvents = {
17094
17725
  SELECT: "SELECT",
17095
17726
  DESELECT: "DESELECT"
17096
17727
  };
17728
+
17729
+ // components/organisms/DataTable.tsx
17730
+ init_cn();
17731
+ init_Typography();
17732
+ init_useEventBus();
17097
17733
  function humanizeFieldName(name) {
17098
17734
  return name.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").replace(/[_-]/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()).replace(/\b([A-Z])([A-Z]+)\b/g, (_, first, rest) => first + rest.toLowerCase()).trim();
17099
17735
  }
@@ -17493,6 +18129,10 @@ function DataTable({
17493
18129
  );
17494
18130
  }
17495
18131
  DataTable.displayName = "DataTable";
18132
+
18133
+ // components/organisms/StatCard.tsx
18134
+ init_cn();
18135
+ init_useEventBus();
17496
18136
  var StatCard = ({
17497
18137
  label: propLabel,
17498
18138
  title: propTitle,
@@ -17703,6 +18343,11 @@ var StatCard = ({
17703
18343
  ] });
17704
18344
  };
17705
18345
  StatCard.displayName = "StatCard";
18346
+
18347
+ // components/organisms/PageHeader.tsx
18348
+ init_cn();
18349
+ init_Typography();
18350
+ init_useEventBus();
17706
18351
  var PageHeader = ({
17707
18352
  title,
17708
18353
  subtitle,
@@ -17826,6 +18471,8 @@ var PageHeader = ({
17826
18471
  ] });
17827
18472
  };
17828
18473
  PageHeader.displayName = "PageHeader";
18474
+ init_cn();
18475
+ init_useEventBus();
17829
18476
  function getFieldIcon(fieldName) {
17830
18477
  const name = fieldName.toLowerCase();
17831
18478
  if (name.includes("date") || name.includes("time")) return Calendar;
@@ -18257,6 +18904,11 @@ var DetailPanel = ({
18257
18904
  );
18258
18905
  };
18259
18906
  DetailPanel.displayName = "DetailPanel";
18907
+
18908
+ // components/organisms/FormSection.tsx
18909
+ init_cn();
18910
+ init_Typography();
18911
+ init_useEventBus();
18260
18912
  var FormSection = ({
18261
18913
  title,
18262
18914
  description,
@@ -18370,6 +19022,11 @@ var FormActions = ({
18370
19022
  );
18371
19023
  };
18372
19024
  FormActions.displayName = "FormActions";
19025
+
19026
+ // components/organisms/Form.tsx
19027
+ init_cn();
19028
+ init_Typography();
19029
+ init_useEventBus();
18373
19030
  function toSharedContext2(formCtx) {
18374
19031
  return createMinimalContext(
18375
19032
  {
@@ -18930,6 +19587,8 @@ function formatDateTimeValue(value) {
18930
19587
  return "";
18931
19588
  }
18932
19589
  Form.displayName = "Form";
19590
+ init_Typography();
19591
+ init_cn();
18933
19592
  var Header = ({
18934
19593
  logo,
18935
19594
  logoSrc,
@@ -19054,6 +19713,9 @@ var Header = ({
19054
19713
  );
19055
19714
  };
19056
19715
  Header.displayName = "Header";
19716
+
19717
+ // components/organisms/Navigation.tsx
19718
+ init_cn();
19057
19719
  var Navigation = ({
19058
19720
  items,
19059
19721
  orientation = "horizontal",
@@ -19126,6 +19788,10 @@ var Navigation = ({
19126
19788
  );
19127
19789
  };
19128
19790
  Navigation.displayName = "Navigation";
19791
+
19792
+ // components/organisms/Section.tsx
19793
+ init_cn();
19794
+ init_Typography();
19129
19795
  var paddingStyles4 = {
19130
19796
  none: "p-0",
19131
19797
  sm: "p-3",
@@ -19210,6 +19876,9 @@ var Section = ({
19210
19876
  );
19211
19877
  };
19212
19878
  Section.displayName = "Section";
19879
+ init_Typography();
19880
+ init_cn();
19881
+ init_useEventBus();
19213
19882
  var SidebarNavItem = ({ item, collapsed }) => {
19214
19883
  const Icon3 = item.icon;
19215
19884
  const isActive = item.active ?? item.isActive;
@@ -19378,6 +20047,9 @@ var Sidebar = ({
19378
20047
  );
19379
20048
  };
19380
20049
  Sidebar.displayName = "Sidebar";
20050
+
20051
+ // components/organisms/Split.tsx
20052
+ init_cn();
19381
20053
  var gapStyles7 = {
19382
20054
  none: "gap-0",
19383
20055
  sm: "gap-2",
@@ -19444,6 +20116,9 @@ var Split = ({
19444
20116
  );
19445
20117
  };
19446
20118
  Split.displayName = "Split";
20119
+ init_Typography();
20120
+ init_cn();
20121
+ init_useEventBus();
19447
20122
  var Table = ({
19448
20123
  columns,
19449
20124
  // EntityDisplayProps
@@ -19626,6 +20301,8 @@ var Table = ({
19626
20301
  ] });
19627
20302
  };
19628
20303
  Table.displayName = "Table";
20304
+ init_cn();
20305
+ init_useEventBus();
19629
20306
  function normalizeFields(fields) {
19630
20307
  if (!fields) return [];
19631
20308
  return fields.map((f3) => typeof f3 === "string" ? f3 : f3.key ?? f3.name ?? "");
@@ -20144,6 +20821,11 @@ var List = ({
20144
20821
  );
20145
20822
  };
20146
20823
  List.displayName = "List";
20824
+
20825
+ // components/organisms/CardGrid.tsx
20826
+ init_cn();
20827
+ init_useEventBus();
20828
+ init_Typography();
20147
20829
  function normalizeFields2(fields) {
20148
20830
  if (!fields) return [];
20149
20831
  return fields.map((f3) => typeof f3 === "string" ? f3 : f3.key ?? f3.name ?? "");
@@ -20405,6 +21087,8 @@ function MasterDetail({
20405
21087
  );
20406
21088
  }
20407
21089
  MasterDetail.displayName = "MasterDetail";
21090
+ init_Typography();
21091
+ init_cn();
20408
21092
  var variantConfig = {
20409
21093
  danger: {
20410
21094
  icon: Trash2,
@@ -20508,6 +21192,8 @@ var ConfirmDialog = ({
20508
21192
  );
20509
21193
  };
20510
21194
  ConfirmDialog.displayName = "ConfirmDialog";
21195
+ init_Typography();
21196
+ init_cn();
20511
21197
  var WizardContainer = ({
20512
21198
  steps,
20513
21199
  currentStep: controlledStep,
@@ -20680,6 +21366,8 @@ var WizardContainer = ({
20680
21366
  ] });
20681
21367
  };
20682
21368
  WizardContainer.displayName = "WizardContainer";
21369
+ init_Typography();
21370
+ init_cn();
20683
21371
  var ORBITAL_CONFIGS = {
20684
21372
  "1s": {
20685
21373
  type: "1s",
@@ -21060,6 +21748,9 @@ var OrbitalVisualization = ({
21060
21748
  );
21061
21749
  };
21062
21750
  OrbitalVisualization.displayName = "OrbitalVisualization";
21751
+ init_Typography();
21752
+ init_useEventBus();
21753
+ init_cn();
21063
21754
  var StateNode = ({ state, config }) => {
21064
21755
  const { t } = useTranslate();
21065
21756
  const size = state.radius * 2;
@@ -21839,6 +22530,7 @@ var StateMachineView = ({
21839
22530
  );
21840
22531
  };
21841
22532
  StateMachineView.displayName = "StateMachineView";
22533
+ init_Typography();
21842
22534
 
21843
22535
  // lib/visualizer/index.ts
21844
22536
  function formatSExprGuardToDomain(guard, _entityName) {
@@ -22294,6 +22986,9 @@ function gearTeethPath(cx, cy, innerRadius, outerRadius, numTeeth) {
22294
22986
  parts.push("Z");
22295
22987
  return parts.join(" ");
22296
22988
  }
22989
+
22990
+ // components/organisms/JazariStateMachine.tsx
22991
+ init_cn();
22297
22992
  var JAZARI_VISUALIZER_CONFIG = {
22298
22993
  ...DEFAULT_CONFIG,
22299
22994
  colors: {
@@ -22538,6 +23233,9 @@ function parseContentSegments(content) {
22538
23233
  }
22539
23234
  return segments;
22540
23235
  }
23236
+
23237
+ // components/organisms/ContentRenderer.tsx
23238
+ init_cn();
22541
23239
  var ContentRenderer = ({
22542
23240
  content,
22543
23241
  segments: segmentsProp,
@@ -22613,6 +23311,12 @@ var ContentRenderer = ({
22613
23311
  }) });
22614
23312
  };
22615
23313
  ContentRenderer.displayName = "ContentRenderer";
23314
+ init_useEventBus();
23315
+ init_cn();
23316
+
23317
+ // components/organisms/book/BookCoverPage.tsx
23318
+ init_Typography();
23319
+ init_cn();
22616
23320
  var BookCoverPage = ({
22617
23321
  title,
22618
23322
  subtitle,
@@ -22681,6 +23385,10 @@ var BookCoverPage = ({
22681
23385
  );
22682
23386
  };
22683
23387
  BookCoverPage.displayName = "BookCoverPage";
23388
+
23389
+ // components/organisms/book/BookTableOfContents.tsx
23390
+ init_Typography();
23391
+ init_cn();
22684
23392
  var BookTableOfContents = ({
22685
23393
  parts,
22686
23394
  currentChapterId,
@@ -22726,6 +23434,10 @@ var BookTableOfContents = ({
22726
23434
  );
22727
23435
  };
22728
23436
  BookTableOfContents.displayName = "BookTableOfContents";
23437
+
23438
+ // components/organisms/book/BookChapterView.tsx
23439
+ init_Typography();
23440
+ init_cn();
22729
23441
  var BookChapterView = ({
22730
23442
  chapter,
22731
23443
  direction,
@@ -22754,6 +23466,8 @@ var BookChapterView = ({
22754
23466
  );
22755
23467
  };
22756
23468
  BookChapterView.displayName = "BookChapterView";
23469
+ init_Typography();
23470
+ init_cn();
22757
23471
  var BookNavBar = ({
22758
23472
  currentPage,
22759
23473
  totalPages,
@@ -23054,6 +23768,9 @@ var BookViewer = ({
23054
23768
  ] });
23055
23769
  };
23056
23770
  BookViewer.displayName = "BookViewer";
23771
+
23772
+ // components/organisms/layout/SplitPane.tsx
23773
+ init_cn();
23057
23774
  var SplitPane = ({
23058
23775
  direction = "horizontal",
23059
23776
  ratio: initialRatio = 50,
@@ -23137,6 +23854,10 @@ var SplitPane = ({
23137
23854
  );
23138
23855
  };
23139
23856
  SplitPane.displayName = "SplitPane";
23857
+
23858
+ // components/organisms/layout/MasterDetail.tsx
23859
+ init_cn();
23860
+ init_Typography();
23140
23861
  var DefaultEmptyDetail = () => /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-full border-2 border-dashed border-border", children: /* @__PURE__ */ jsx(
23141
23862
  Typography,
23142
23863
  {
@@ -23181,6 +23902,9 @@ var MasterDetail2 = ({
23181
23902
  );
23182
23903
  };
23183
23904
  MasterDetail2.displayName = "MasterDetail";
23905
+
23906
+ // components/organisms/layout/DashboardGrid.tsx
23907
+ init_cn();
23184
23908
  var gapStyles9 = {
23185
23909
  sm: "gap-2",
23186
23910
  md: "gap-4",
@@ -23233,6 +23957,10 @@ var DashboardGrid = ({
23233
23957
  );
23234
23958
  };
23235
23959
  DashboardGrid.displayName = "DashboardGrid";
23960
+
23961
+ // components/organisms/layout/TabbedContainer.tsx
23962
+ init_cn();
23963
+ init_Typography();
23236
23964
  var TabbedContainer = ({
23237
23965
  tabs,
23238
23966
  defaultTab,
@@ -23340,6 +24068,10 @@ var TabbedContainer = ({
23340
24068
  };
23341
24069
  TabbedContainer.displayName = "TabbedContainer";
23342
24070
 
24071
+ // components/organisms/game/CanvasEffect.tsx
24072
+ init_cn();
24073
+ init_useEventBus();
24074
+
23343
24075
  // components/organisms/game/types/effects.ts
23344
24076
  var EMPTY_EFFECT_STATE = {
23345
24077
  particles: [],
@@ -24579,6 +25311,9 @@ function CanvasEffect(props) {
24579
25311
  return /* @__PURE__ */ jsx(EmojiEffect, { ...enhancedProps });
24580
25312
  }
24581
25313
  CanvasEffect.displayName = "CanvasEffect";
25314
+
25315
+ // components/organisms/game/GameAudioProvider.tsx
25316
+ init_useEventBus();
24582
25317
  function pickPath(entry) {
24583
25318
  if (Array.isArray(entry.path)) {
24584
25319
  return entry.path[Math.floor(Math.random() * entry.path.length)];
@@ -24893,6 +25628,7 @@ function GameAudioProvider({
24893
25628
  return /* @__PURE__ */ jsx(GameAudioContext.Provider, { value, children });
24894
25629
  }
24895
25630
  GameAudioProvider.displayName = "GameAudioProvider";
25631
+ init_cn();
24896
25632
  function GameAudioToggle({
24897
25633
  size = "sm",
24898
25634
  className
@@ -25385,6 +26121,11 @@ function usePhysics2D(options = {}) {
25385
26121
  reset
25386
26122
  };
25387
26123
  }
26124
+
26125
+ // components/organisms/game/BattleBoard.tsx
26126
+ init_cn();
26127
+ init_useEventBus();
26128
+ init_Typography();
25388
26129
  function BattleBoard({
25389
26130
  entity,
25390
26131
  scale = 0.45,
@@ -25723,6 +26464,9 @@ function BattleBoard({
25723
26464
  ] });
25724
26465
  }
25725
26466
  BattleBoard.displayName = "BattleBoard";
26467
+
26468
+ // components/organisms/game/hooks/useBattleState.ts
26469
+ init_useEventBus();
25726
26470
  function useBattleState(initialUnits, eventConfig = {}, callbacks = {}) {
25727
26471
  const eventBus = useEventBus();
25728
26472
  const {
@@ -25887,6 +26631,10 @@ function UncontrolledBattleBoard({ entity, ...rest }) {
25887
26631
  );
25888
26632
  }
25889
26633
  UncontrolledBattleBoard.displayName = "UncontrolledBattleBoard";
26634
+
26635
+ // components/organisms/game/WorldMapBoard.tsx
26636
+ init_cn();
26637
+ init_useEventBus();
25890
26638
  function defaultIsInRange(from, to, range) {
25891
26639
  return Math.abs(from.x - to.x) + Math.abs(from.y - to.y) <= range;
25892
26640
  }
@@ -26119,6 +26867,10 @@ function WorldMapBoard({
26119
26867
  ] });
26120
26868
  }
26121
26869
  WorldMapBoard.displayName = "WorldMapBoard";
26870
+
26871
+ // components/organisms/game/CastleBoard.tsx
26872
+ init_cn();
26873
+ init_useEventBus();
26122
26874
  function CastleBoard({
26123
26875
  entity,
26124
26876
  scale = 0.45,
@@ -26228,6 +26980,10 @@ function CastleBoard({
26228
26980
  ] });
26229
26981
  }
26230
26982
  CastleBoard.displayName = "CastleBoard";
26983
+
26984
+ // components/organisms/game/TraitStateViewer.tsx
26985
+ init_cn();
26986
+ init_Typography();
26231
26987
  var SIZE_CONFIG = {
26232
26988
  sm: { nodeSize: "min-w-12 h-8", fontSize: "text-xs", gap: "gap-2" },
26233
26989
  md: { nodeSize: "min-w-16 h-10", fontSize: "text-sm", gap: "gap-4" },
@@ -26440,6 +27196,11 @@ function TraitStateViewer({
26440
27196
  }
26441
27197
  }
26442
27198
  TraitStateViewer.displayName = "TraitStateViewer";
27199
+
27200
+ // components/organisms/game/TraitSlot.tsx
27201
+ init_cn();
27202
+ init_useEventBus();
27203
+ init_Typography();
26443
27204
  var SIZE_CONFIG2 = {
26444
27205
  sm: { box: 40, icon: 20, font: "text-xs" },
26445
27206
  md: { box: 56, icon: 28, font: "text-sm" },
@@ -26637,6 +27398,9 @@ function TraitSlot({
26637
27398
  );
26638
27399
  }
26639
27400
  TraitSlot.displayName = "TraitSlot";
27401
+
27402
+ // components/organisms/game/editor/editorUtils.tsx
27403
+ init_Typography();
26640
27404
  var TERRAIN_COLORS = {
26641
27405
  grass: "#4a7c3f",
26642
27406
  dirt: "#8b6c42",
@@ -26804,6 +27568,7 @@ function EditorToolbar({ mode, onModeChange, className }) {
26804
27568
  )) });
26805
27569
  }
26806
27570
  EditorToolbar.displayName = "EditorToolbar";
27571
+ init_cn();
26807
27572
  var DRAG_MIME2 = "application/x-almadar-slot-item";
26808
27573
  var SIZE_CONFIG3 = {
26809
27574
  sm: { px: "px-2 py-1", icon: "text-lg", text: "text-xs" },
@@ -26852,6 +27617,9 @@ function ActionTile({
26852
27617
  );
26853
27618
  }
26854
27619
  ActionTile.displayName = "ActionTile";
27620
+
27621
+ // components/organisms/game/puzzles/sequencer/ActionPalette.tsx
27622
+ init_cn();
26855
27623
  function ActionPalette({
26856
27624
  actions,
26857
27625
  usedActionIds = [],
@@ -26877,6 +27645,7 @@ function ActionPalette({
26877
27645
  ] });
26878
27646
  }
26879
27647
  ActionPalette.displayName = "ActionPalette";
27648
+ init_cn();
26880
27649
  function SequenceBar({
26881
27650
  slots,
26882
27651
  maxSlots,
@@ -26928,6 +27697,8 @@ function SequenceBar({
26928
27697
  ] }, i)) });
26929
27698
  }
26930
27699
  SequenceBar.displayName = "SequenceBar";
27700
+ init_cn();
27701
+ init_useEventBus();
26931
27702
  var ENCOURAGEMENT_KEYS = [
26932
27703
  "puzzle.tryAgain1",
26933
27704
  "puzzle.tryAgain2",
@@ -27143,6 +27914,7 @@ function SequencerBoard({
27143
27914
  );
27144
27915
  }
27145
27916
  SequencerBoard.displayName = "SequencerBoard";
27917
+ init_cn();
27146
27918
  function RuleEditor({
27147
27919
  rule,
27148
27920
  availableEvents,
@@ -27186,6 +27958,7 @@ function RuleEditor({
27186
27958
  ] });
27187
27959
  }
27188
27960
  RuleEditor.displayName = "RuleEditor";
27961
+ init_cn();
27189
27962
  var STATUS_STYLES2 = {
27190
27963
  pending: "text-muted-foreground",
27191
27964
  active: "text-primary animate-pulse",
@@ -27232,6 +28005,7 @@ function EventLog({
27232
28005
  ] });
27233
28006
  }
27234
28007
  EventLog.displayName = "EventLog";
28008
+ init_cn();
27235
28009
  var nextRuleId = 1;
27236
28010
  function ObjectRulePanel({
27237
28011
  object,
@@ -27300,6 +28074,8 @@ function ObjectRulePanel({
27300
28074
  ] });
27301
28075
  }
27302
28076
  ObjectRulePanel.displayName = "ObjectRulePanel";
28077
+ init_cn();
28078
+ init_useEventBus();
27303
28079
  var ENCOURAGEMENT_KEYS2 = [
27304
28080
  "puzzle.tryAgain1",
27305
28081
  "puzzle.tryAgain2",
@@ -27496,6 +28272,9 @@ function EventHandlerBoard({
27496
28272
  );
27497
28273
  }
27498
28274
  EventHandlerBoard.displayName = "EventHandlerBoard";
28275
+
28276
+ // components/organisms/game/puzzles/state-architect/StateNode.tsx
28277
+ init_cn();
27499
28278
  function StateNode2({
27500
28279
  name,
27501
28280
  isCurrent = false,
@@ -27542,6 +28321,9 @@ function StateNode2({
27542
28321
  );
27543
28322
  }
27544
28323
  StateNode2.displayName = "StateNode";
28324
+
28325
+ // components/organisms/game/puzzles/state-architect/TransitionArrow.tsx
28326
+ init_cn();
27545
28327
  var NODE_RADIUS = 40;
27546
28328
  function TransitionArrow({
27547
28329
  from,
@@ -27608,6 +28390,9 @@ function TransitionArrow({
27608
28390
  ] });
27609
28391
  }
27610
28392
  TransitionArrow.displayName = "TransitionArrow";
28393
+
28394
+ // components/organisms/game/puzzles/state-architect/VariablePanel.tsx
28395
+ init_cn();
27611
28396
  function VariablePanel({
27612
28397
  entityName,
27613
28398
  variables,
@@ -27648,6 +28433,7 @@ function VariablePanel({
27648
28433
  ] });
27649
28434
  }
27650
28435
  VariablePanel.displayName = "VariablePanel";
28436
+ init_cn();
27651
28437
  function CodeView({
27652
28438
  data,
27653
28439
  label,
@@ -27673,6 +28459,8 @@ function CodeView({
27673
28459
  ] });
27674
28460
  }
27675
28461
  CodeView.displayName = "CodeView";
28462
+ init_cn();
28463
+ init_useEventBus();
27676
28464
  var ENCOURAGEMENT_KEYS3 = [
27677
28465
  "puzzle.tryAgain1",
27678
28466
  "puzzle.tryAgain2",
@@ -27984,6 +28772,7 @@ function StateArchitectBoard({
27984
28772
  );
27985
28773
  }
27986
28774
  StateArchitectBoard.displayName = "StateArchitectBoard";
28775
+ init_useEventBus();
27987
28776
  function SimulatorBoard({
27988
28777
  entity,
27989
28778
  completeEvent = "PUZZLE_COMPLETE",
@@ -28133,6 +28922,7 @@ function SimulatorBoard({
28133
28922
  );
28134
28923
  }
28135
28924
  SimulatorBoard.displayName = "SimulatorBoard";
28925
+ init_useEventBus();
28136
28926
  function ClassifierBoard({
28137
28927
  entity,
28138
28928
  completeEvent = "PUZZLE_COMPLETE",
@@ -28272,6 +29062,7 @@ function ClassifierBoard({
28272
29062
  );
28273
29063
  }
28274
29064
  ClassifierBoard.displayName = "ClassifierBoard";
29065
+ init_useEventBus();
28275
29066
  function BuilderBoard({
28276
29067
  entity,
28277
29068
  completeEvent = "PUZZLE_COMPLETE",
@@ -28422,6 +29213,7 @@ function BuilderBoard({
28422
29213
  );
28423
29214
  }
28424
29215
  BuilderBoard.displayName = "BuilderBoard";
29216
+ init_useEventBus();
28425
29217
  function DebuggerBoard({
28426
29218
  entity,
28427
29219
  completeEvent = "PUZZLE_COMPLETE",
@@ -28552,6 +29344,7 @@ function DebuggerBoard({
28552
29344
  );
28553
29345
  }
28554
29346
  DebuggerBoard.displayName = "DebuggerBoard";
29347
+ init_useEventBus();
28555
29348
  function getOpponentAction(strategy, actions, history) {
28556
29349
  const actionIds = actions.map((a) => a.id);
28557
29350
  switch (strategy) {
@@ -28699,6 +29492,9 @@ function NegotiatorBoard({
28699
29492
  }
28700
29493
  NegotiatorBoard.displayName = "NegotiatorBoard";
28701
29494
 
29495
+ // components/organisms/game/physics-sim/SimulationCanvas.tsx
29496
+ init_cn();
29497
+
28702
29498
  // components/organisms/game/physics-sim/presets/mechanics.ts
28703
29499
  var projectileMotion = {
28704
29500
  id: "mechanics-projectile",
@@ -29166,6 +29962,8 @@ var EntitySchemaContext = createContext(null);
29166
29962
  function useEntitySchemaOptional() {
29167
29963
  return useContext(EntitySchemaContext);
29168
29964
  }
29965
+ init_Typography();
29966
+ init_cn();
29169
29967
  var ClientEffectConfigContext = createContext(null);
29170
29968
  ClientEffectConfigContext.Provider;
29171
29969
 
@@ -29241,6 +30039,10 @@ function isPortalSlot(slot) {
29241
30039
  return SLOT_DEFINITIONS[slot]?.type === "portal";
29242
30040
  }
29243
30041
  createContext(null);
30042
+
30043
+ // components/organisms/ComponentPatterns.tsx
30044
+ init_useEventBus();
30045
+ init_Typography();
29244
30046
  function ButtonPattern({
29245
30047
  label,
29246
30048
  variant = "primary",
@@ -29668,6 +30470,10 @@ function MapViewPattern({
29668
30470
  );
29669
30471
  }
29670
30472
  MapViewPattern.displayName = "MapViewPattern";
30473
+
30474
+ // components/templates/AuthLayout.tsx
30475
+ init_cn();
30476
+ init_Typography();
29671
30477
  var AuthLayout = ({
29672
30478
  appName = "{{APP_TITLE}}",
29673
30479
  logo,
@@ -29958,6 +30764,10 @@ function CastleTemplate({
29958
30764
  );
29959
30765
  }
29960
30766
  CastleTemplate.displayName = "CastleTemplate";
30767
+
30768
+ // components/organisms/Chart.tsx
30769
+ init_cn();
30770
+ init_useEventBus();
29961
30771
  var CHART_COLORS = [
29962
30772
  "var(--color-primary)",
29963
30773
  "var(--color-success)",
@@ -30212,6 +31022,10 @@ var Chart = ({
30212
31022
  ] }) });
30213
31023
  };
30214
31024
  Chart.displayName = "Chart";
31025
+
31026
+ // components/organisms/CodeViewer.tsx
31027
+ init_cn();
31028
+ init_useEventBus();
30215
31029
  function generateDiff(oldVal, newVal) {
30216
31030
  const oldLines = oldVal.split("\n");
30217
31031
  const newLines = newVal.split("\n");
@@ -30456,6 +31270,10 @@ var CodeViewer = ({
30456
31270
  ] }) });
30457
31271
  };
30458
31272
  CodeViewer.displayName = "CodeViewer";
31273
+
31274
+ // components/templates/CounterTemplate.tsx
31275
+ init_cn();
31276
+ init_Typography();
30459
31277
  var sizeStyles10 = {
30460
31278
  sm: { display: "text-4xl", button: "sm" },
30461
31279
  md: { display: "text-6xl", button: "md" },
@@ -30657,6 +31475,11 @@ var CounterTemplate = (props) => {
30657
31475
  }
30658
31476
  };
30659
31477
  CounterTemplate.displayName = "CounterTemplate";
31478
+
31479
+ // components/organisms/CustomPattern.tsx
31480
+ init_useEventBus();
31481
+ init_cn();
31482
+ init_Typography();
30660
31483
  var ALLOWED_CUSTOM_COMPONENTS = [
30661
31484
  "div",
30662
31485
  "span",
@@ -30877,6 +31700,10 @@ function CustomPattern({
30877
31700
  }
30878
31701
  CustomPattern.displayName = "CustomPattern";
30879
31702
 
31703
+ // components/templates/DashboardLayout.tsx
31704
+ init_cn();
31705
+ init_Typography();
31706
+
30880
31707
  // hooks/useAuthContext.ts
30881
31708
  function useAuthContext() {
30882
31709
  return {
@@ -31183,6 +32010,10 @@ var NavLink = ({
31183
32010
  );
31184
32011
  };
31185
32012
  NavLink.displayName = "NavLink";
32013
+
32014
+ // components/organisms/DocumentViewer.tsx
32015
+ init_cn();
32016
+ init_useEventBus();
31186
32017
  var DocumentViewer = ({
31187
32018
  title,
31188
32019
  src,
@@ -31368,6 +32199,7 @@ var DocumentViewer = ({
31368
32199
  ] }) });
31369
32200
  };
31370
32201
  DocumentViewer.displayName = "DocumentViewer";
32202
+ init_useEventBus();
31371
32203
  function extractTitle(children) {
31372
32204
  if (!React90__default.isValidElement(children)) return void 0;
31373
32205
  const props = children.props;
@@ -31405,6 +32237,10 @@ var DrawerSlot = ({
31405
32237
  );
31406
32238
  };
31407
32239
  DrawerSlot.displayName = "DrawerSlot";
32240
+
32241
+ // components/templates/GameShell.tsx
32242
+ init_cn();
32243
+ init_Typography();
31408
32244
  var GameShell = ({
31409
32245
  appName = "Game",
31410
32246
  hud,
@@ -31474,6 +32310,10 @@ var GameShell = ({
31474
32310
  );
31475
32311
  };
31476
32312
  GameShell.displayName = "GameShell";
32313
+
32314
+ // components/templates/GameTemplate.tsx
32315
+ init_cn();
32316
+ init_Typography();
31477
32317
  var GameTemplate = ({
31478
32318
  entity,
31479
32319
  title = "Game",
@@ -31581,6 +32421,10 @@ var GameTemplate = ({
31581
32421
  );
31582
32422
  };
31583
32423
  GameTemplate.displayName = "GameTemplate";
32424
+
32425
+ // components/templates/GenericAppTemplate.tsx
32426
+ init_cn();
32427
+ init_Typography();
31584
32428
  var GenericAppTemplate = ({
31585
32429
  entity,
31586
32430
  title,
@@ -31620,6 +32464,10 @@ var GenericAppTemplate = ({
31620
32464
  ] });
31621
32465
  };
31622
32466
  GenericAppTemplate.displayName = "GenericAppTemplate";
32467
+
32468
+ // components/organisms/GraphCanvas.tsx
32469
+ init_cn();
32470
+ init_useEventBus();
31623
32471
  var GROUP_COLORS2 = [
31624
32472
  "var(--color-primary)",
31625
32473
  "var(--color-success)",
@@ -31921,6 +32769,10 @@ var GraphCanvas = ({
31921
32769
  ] }) });
31922
32770
  };
31923
32771
  GraphCanvas.displayName = "GraphCanvas";
32772
+
32773
+ // components/organisms/MediaGallery.tsx
32774
+ init_cn();
32775
+ init_useEventBus();
31924
32776
  var COLUMN_CLASSES = {
31925
32777
  2: "grid-cols-2",
31926
32778
  3: "grid-cols-2 sm:grid-cols-3",
@@ -32128,6 +32980,7 @@ var MediaGallery = ({
32128
32980
  ] });
32129
32981
  };
32130
32982
  MediaGallery.displayName = "MediaGallery";
32983
+ init_useEventBus();
32131
32984
  function extractTitle2(children) {
32132
32985
  if (!React90__default.isValidElement(children)) return void 0;
32133
32986
  const props = children.props;
@@ -32164,6 +33017,9 @@ var ModalSlot = ({
32164
33017
  };
32165
33018
  ModalSlot.displayName = "ModalSlot";
32166
33019
 
33020
+ // components/organisms/debug/RuntimeDebugger.tsx
33021
+ init_cn();
33022
+
32167
33023
  // lib/traitRegistry.ts
32168
33024
  var traits = /* @__PURE__ */ new Map();
32169
33025
  var listeners = /* @__PURE__ */ new Set();
@@ -32282,6 +33138,10 @@ function onDebugToggle(listener) {
32282
33138
  listeners5.add(listener);
32283
33139
  return () => listeners5.delete(listener);
32284
33140
  }
33141
+
33142
+ // components/organisms/debug/RuntimeDebugger.tsx
33143
+ init_Typography();
33144
+ init_Typography();
32285
33145
  function layoutGraph(states, transitions, initialState, width, height) {
32286
33146
  if (states.length === 0) return [];
32287
33147
  const layers = /* @__PURE__ */ new Map();
@@ -32530,6 +33390,9 @@ function WalkMinimap() {
32530
33390
  ] });
32531
33391
  }
32532
33392
  WalkMinimap.displayName = "WalkMinimap";
33393
+
33394
+ // components/organisms/debug/tabs/TraitsTab.tsx
33395
+ init_Typography();
32533
33396
  function TraitsTab({ traits: traits2 }) {
32534
33397
  if (traits2.length === 0) {
32535
33398
  return /* @__PURE__ */ jsx(
@@ -32595,6 +33458,9 @@ function TraitsTab({ traits: traits2 }) {
32595
33458
  return /* @__PURE__ */ jsx("div", { className: "debug-tab debug-tab--traits", children: /* @__PURE__ */ jsx(Accordion, { items: accordionItems, multiple: true }) });
32596
33459
  }
32597
33460
  TraitsTab.displayName = "TraitsTab";
33461
+
33462
+ // components/organisms/debug/tabs/TicksTab.tsx
33463
+ init_Typography();
32598
33464
  function TicksTab({ ticks: ticks2 }) {
32599
33465
  const activeTicks = ticks2.filter((t) => t.active);
32600
33466
  const inactiveTicks = ticks2.filter((t) => !t.active);
@@ -32662,6 +33528,9 @@ function TicksTab({ ticks: ticks2 }) {
32662
33528
  ] });
32663
33529
  }
32664
33530
  TicksTab.displayName = "TicksTab";
33531
+
33532
+ // components/organisms/debug/tabs/EntitiesTab.tsx
33533
+ init_Typography();
32665
33534
  function EntitiesTab({ snapshot }) {
32666
33535
  if (!snapshot) {
32667
33536
  return /* @__PURE__ */ jsx(
@@ -32737,6 +33606,7 @@ function EntitiesTab({ snapshot }) {
32737
33606
  ] });
32738
33607
  }
32739
33608
  EntitiesTab.displayName = "EntitiesTab";
33609
+ init_Typography();
32740
33610
  var TYPE_BADGES = {
32741
33611
  trait: { variant: "primary", icon: "\u{1F504}" },
32742
33612
  tick: { variant: "warning", icon: "\u23F1\uFE0F" },
@@ -32852,6 +33722,7 @@ function EventFlowTab({ events: events2 }) {
32852
33722
  ] });
32853
33723
  }
32854
33724
  EventFlowTab.displayName = "EventFlowTab";
33725
+ init_Typography();
32855
33726
  function GuardsPanel({ guards }) {
32856
33727
  const [filter, setFilter] = React90.useState("all");
32857
33728
  if (guards.length === 0) {
@@ -32925,6 +33796,9 @@ function GuardsPanel({ guards }) {
32925
33796
  ] });
32926
33797
  }
32927
33798
  GuardsPanel.displayName = "GuardsPanel";
33799
+
33800
+ // components/organisms/debug/tabs/VerificationTab.tsx
33801
+ init_Typography();
32928
33802
  var STATUS_CONFIG = {
32929
33803
  pass: { variant: "success", icon: "\u2713", label: "PASS" },
32930
33804
  fail: { variant: "danger", icon: "\u2717", label: "FAIL" },
@@ -32995,6 +33869,7 @@ function VerificationTab({ checks, summary }) {
32995
33869
  ] });
32996
33870
  }
32997
33871
  VerificationTab.displayName = "VerificationTab";
33872
+ init_Typography();
32998
33873
  var EFFECT_STATUS_VARIANT = {
32999
33874
  executed: "success",
33000
33875
  failed: "danger",
@@ -33123,6 +33998,9 @@ function TransitionTimeline({ transitions }) {
33123
33998
  ] });
33124
33999
  }
33125
34000
  TransitionTimeline.displayName = "TransitionTimeline";
34001
+
34002
+ // components/organisms/debug/tabs/ServerBridgeTab.tsx
34003
+ init_Typography();
33126
34004
  function StatRow({ label, value, variant }) {
33127
34005
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-1.5 border-b border-gray-100 dark:border-gray-800 last:border-b-0", children: [
33128
34006
  /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-gray-500", children: label }),
@@ -33199,6 +34077,8 @@ function ServerBridgeTab({ bridge }) {
33199
34077
  ] }) });
33200
34078
  }
33201
34079
  ServerBridgeTab.displayName = "ServerBridgeTab";
34080
+ init_Typography();
34081
+ init_useEventBus();
33202
34082
  function extractPayloadFields(schema, eventName) {
33203
34083
  if (!schema) return [];
33204
34084
  const orbitals = schema.orbitals;
@@ -33695,6 +34575,10 @@ function RuntimeDebugger({
33695
34575
  );
33696
34576
  }
33697
34577
  RuntimeDebugger.displayName = "RuntimeDebugger";
34578
+
34579
+ // components/organisms/SignaturePad.tsx
34580
+ init_cn();
34581
+ init_useEventBus();
33698
34582
  var SignaturePad = ({
33699
34583
  label = "Signature",
33700
34584
  helperText = "Draw your signature above",
@@ -33871,6 +34755,9 @@ var SignaturePad = ({
33871
34755
  ] }) });
33872
34756
  };
33873
34757
  SignaturePad.displayName = "SignaturePad";
34758
+
34759
+ // components/organisms/Timeline.tsx
34760
+ init_cn();
33874
34761
  var STATUS_STYLES3 = {
33875
34762
  complete: {
33876
34763
  dotColor: "text-success",
@@ -34006,6 +34893,7 @@ var Timeline = ({
34006
34893
  ] }) });
34007
34894
  };
34008
34895
  Timeline.displayName = "Timeline";
34896
+ init_useEventBus();
34009
34897
  function extractToastProps(children) {
34010
34898
  if (!React90__default.isValidElement(children)) {
34011
34899
  if (typeof children === "string") {
@@ -34052,6 +34940,9 @@ var ToastSlot = ({
34052
34940
  ) });
34053
34941
  };
34054
34942
  ToastSlot.displayName = "ToastSlot";
34943
+
34944
+ // components/organisms/component-registry.generated.ts
34945
+ init_Typography();
34055
34946
  function WorldMapTemplate({
34056
34947
  entity,
34057
34948
  scale = 0.4,
@@ -35012,6 +35903,9 @@ function UISlotRenderer({
35012
35903
  return wrapped;
35013
35904
  }
35014
35905
  UISlotRenderer.displayName = "UISlotRenderer";
35906
+
35907
+ // components/organisms/NotifyListener.tsx
35908
+ init_useEventBus();
35015
35909
  var nextId = 0;
35016
35910
  function NotifyListener() {
35017
35911
  const eventBus = useEventBus();
@@ -35065,6 +35959,10 @@ function NotifyListener() {
35065
35959
  );
35066
35960
  }
35067
35961
  NotifyListener.displayName = "NotifyListener";
35962
+
35963
+ // components/organisms/HeroOrganism.tsx
35964
+ init_cn();
35965
+ init_useEventBus();
35068
35966
  var HeroOrganism = ({
35069
35967
  entity,
35070
35968
  isLoading = false,
@@ -35161,6 +36059,11 @@ var _HeroClickInterceptor = ({ hasPrimary, hasSecondary, onPrimaryClick, onSecon
35161
36059
  );
35162
36060
  };
35163
36061
  _HeroClickInterceptor.displayName = "_HeroClickInterceptor";
36062
+
36063
+ // components/organisms/FeatureGridOrganism.tsx
36064
+ init_cn();
36065
+ init_useEventBus();
36066
+ init_Typography();
35164
36067
  var FeatureGridOrganism = ({
35165
36068
  entity,
35166
36069
  isLoading = false,
@@ -35211,6 +36114,11 @@ var FeatureGridOrganism = ({
35211
36114
  ] });
35212
36115
  };
35213
36116
  FeatureGridOrganism.displayName = "FeatureGridOrganism";
36117
+
36118
+ // components/organisms/PricingOrganism.tsx
36119
+ init_cn();
36120
+ init_useEventBus();
36121
+ init_Typography();
35214
36122
  var PricingOrganism = ({
35215
36123
  entity,
35216
36124
  isLoading = false,
@@ -35249,6 +36157,9 @@ var PricingOrganism = ({
35249
36157
  ] });
35250
36158
  };
35251
36159
  PricingOrganism.displayName = "PricingOrganism";
36160
+
36161
+ // components/organisms/StatsOrganism.tsx
36162
+ init_cn();
35252
36163
  var StatsOrganism = ({
35253
36164
  entity,
35254
36165
  isLoading = false,
@@ -35281,6 +36192,10 @@ var StatsOrganism = ({
35281
36192
  );
35282
36193
  };
35283
36194
  StatsOrganism.displayName = "StatsOrganism";
36195
+
36196
+ // components/organisms/StepFlowOrganism.tsx
36197
+ init_cn();
36198
+ init_Typography();
35284
36199
  var StepFlowOrganism = ({
35285
36200
  entity,
35286
36201
  isLoading = false,
@@ -35324,6 +36239,11 @@ var StepFlowOrganism = ({
35324
36239
  ] });
35325
36240
  };
35326
36241
  StepFlowOrganism.displayName = "StepFlowOrganism";
36242
+
36243
+ // components/organisms/ShowcaseOrganism.tsx
36244
+ init_cn();
36245
+ init_useEventBus();
36246
+ init_Typography();
35327
36247
  var ShowcaseOrganism = ({
35328
36248
  entity,
35329
36249
  isLoading = false,
@@ -35365,6 +36285,10 @@ var ShowcaseOrganism = ({
35365
36285
  ] });
35366
36286
  };
35367
36287
  ShowcaseOrganism.displayName = "ShowcaseOrganism";
36288
+
36289
+ // components/organisms/TeamOrganism.tsx
36290
+ init_cn();
36291
+ init_Typography();
35368
36292
  var TeamOrganism = ({
35369
36293
  entity,
35370
36294
  isLoading = false,
@@ -35404,6 +36328,11 @@ var TeamOrganism = ({
35404
36328
  ] });
35405
36329
  };
35406
36330
  TeamOrganism.displayName = "TeamOrganism";
36331
+
36332
+ // components/organisms/CaseStudyOrganism.tsx
36333
+ init_cn();
36334
+ init_useEventBus();
36335
+ init_Typography();
35407
36336
  var CaseStudyOrganism = ({
35408
36337
  entity,
35409
36338
  isLoading = false,
@@ -35445,6 +36374,9 @@ var CaseStudyOrganism = ({
35445
36374
  ] });
35446
36375
  };
35447
36376
  CaseStudyOrganism.displayName = "CaseStudyOrganism";
36377
+
36378
+ // components/templates/LandingPageTemplate.tsx
36379
+ init_cn();
35448
36380
  var LandingPageTemplate = ({
35449
36381
  entity,
35450
36382
  featureColumns = 3,
@@ -35541,6 +36473,9 @@ var LandingPageTemplate = ({
35541
36473
  ] });
35542
36474
  };
35543
36475
  LandingPageTemplate.displayName = "LandingPageTemplate";
36476
+
36477
+ // components/templates/PricingPageTemplate.tsx
36478
+ init_cn();
35544
36479
  var PricingPageTemplate = ({
35545
36480
  entity,
35546
36481
  className
@@ -35597,6 +36532,9 @@ var PricingPageTemplate = ({
35597
36532
  ] });
35598
36533
  };
35599
36534
  PricingPageTemplate.displayName = "PricingPageTemplate";
36535
+
36536
+ // components/templates/FeatureDetailPageTemplate.tsx
36537
+ init_cn();
35600
36538
  var FeatureDetailPageTemplate = ({
35601
36539
  entity,
35602
36540
  className
@@ -35639,6 +36577,10 @@ var FeatureDetailPageTemplate = ({
35639
36577
  ] });
35640
36578
  };
35641
36579
  FeatureDetailPageTemplate.displayName = "FeatureDetailPageTemplate";
36580
+
36581
+ // components/templates/AboutPageTemplate.tsx
36582
+ init_cn();
36583
+ init_Typography();
35642
36584
  var AboutPageTemplate = ({
35643
36585
  entity,
35644
36586
  className
@@ -35720,6 +36662,9 @@ var AboutPageTemplate = ({
35720
36662
  ] });
35721
36663
  };
35722
36664
  AboutPageTemplate.displayName = "AboutPageTemplate";
36665
+
36666
+ // components/index.ts
36667
+ init_cn();
35723
36668
  function useOrbitalHistory(options) {
35724
36669
  const { appId, authToken, userId, onHistoryChange, onRevertSuccess } = options;
35725
36670
  const getHeaders2 = useCallback(() => {
@@ -36583,6 +37528,9 @@ function useDeepAgentGeneration() {
36583
37528
  submitInterruptDecisions
36584
37529
  };
36585
37530
  }
37531
+
37532
+ // hooks/index.ts
37533
+ init_useEventBus();
36586
37534
  var DEFAULT_SLOTS = {
36587
37535
  main: null,
36588
37536
  sidebar: null,
@@ -36727,6 +37675,9 @@ function useUISlotManager() {
36727
37675
  getContent
36728
37676
  };
36729
37677
  }
37678
+
37679
+ // hooks/useUIEvents.ts
37680
+ init_useEventBus();
36730
37681
  var UI_PREFIX = "UI:";
36731
37682
  function useUIEvents(dispatch, validEvents, eventBusInstance) {
36732
37683
  const defaultEventBus = useEventBus();
@@ -37562,6 +38513,9 @@ function usePinchZoom(options = {}) {
37562
38513
  resetZoom
37563
38514
  };
37564
38515
  }
38516
+
38517
+ // hooks/useDraggable.ts
38518
+ init_useEventBus();
37565
38519
  var ALMADAR_DND_MIME = "application/x-almadar-dnd";
37566
38520
  function useDraggable({ payload, disabled = false }) {
37567
38521
  const [isDragging, setIsDragging] = useState(false);
@@ -37597,6 +38551,9 @@ function useDraggable({ payload, disabled = false }) {
37597
38551
  );
37598
38552
  return { dragProps, isDragging };
37599
38553
  }
38554
+
38555
+ // hooks/useDropZone.ts
38556
+ init_useEventBus();
37600
38557
  function parsePayload(e) {
37601
38558
  try {
37602
38559
  const raw = e.dataTransfer.getData(ALMADAR_DND_MIME);