@almadar/ui 5.21.10 → 5.21.11
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.
- package/dist/avl/index.cjs +156 -792
- package/dist/avl/index.js +4 -640
- package/dist/components/game/organisms/three/index.cjs +2 -489
- package/dist/components/game/organisms/three/index.js +1 -488
- package/dist/components/index.cjs +172 -2481
- package/dist/components/index.js +27 -2289
- package/dist/providers/index.cjs +141 -761
- package/dist/providers/index.js +1 -621
- package/dist/runtime/index.cjs +580 -1203
- package/dist/runtime/index.js +441 -1064
- package/package.json +1 -1
package/dist/runtime/index.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as React84 from 'react';
|
|
2
|
-
import React84__default, { createContext,
|
|
3
|
-
import { EventBusContext, useTraitScope, OrbitalProvider, TraitScopeProvider, VerificationProvider } from '@almadar/ui/providers';
|
|
4
|
-
import { createLogger, isLogLevelEnabled } from '@almadar/logger';
|
|
2
|
+
import React84__default, { createContext, useMemo, useContext, useRef, useEffect, useCallback, Suspense, useState, useSyncExternalStore, useLayoutEffect, lazy, useId } from 'react';
|
|
5
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
4
|
import { clsx } from 'clsx';
|
|
7
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
|
+
import { EventBusContext, useTraitScope, OrbitalProvider, TraitScopeProvider, VerificationProvider } from '@almadar/ui/providers';
|
|
7
|
+
import { createLogger, isLogLevelEnabled } from '@almadar/logger';
|
|
8
8
|
import * as LucideIcons2 from 'lucide-react';
|
|
9
9
|
import { Loader2, X, List, Printer, ChevronRight, ChevronLeft, GitBranch, Pencil, Eye, Plus, ArrowRight, Trash, Code, FileText, WrapText, Check, Copy, AlertTriangle, Trash2, ZoomOut, ZoomIn, Download, RotateCcw, Menu as Menu$1, Package, Calendar, MoreHorizontal, Image as Image$1, Upload, ArrowLeft, HelpCircle, Search, Type, Heading1, Heading2, Heading3, ListOrdered, Quote, Minus, Eraser, TrendingUp, TrendingDown, AlertCircle, Circle, Clock, CheckCircle2, CheckCircle, XCircle, Play, Pause, SkipForward, Bug, Send, ChevronUp, ChevronDown, Wrench, Tag, User, DollarSign, Zap, Sword, Move, Heart, Shield } from 'lucide-react';
|
|
10
10
|
import * as PhosphorIcons from '@phosphor-icons/react';
|
|
11
11
|
import * as TablerIcons from '@tabler/icons-react';
|
|
12
12
|
import * as FaIcons from 'react-icons/fa';
|
|
13
13
|
import { createPortal } from 'react-dom';
|
|
14
|
+
import { useTranslate, useEventBus as useEventBus$1 } from '@almadar/ui/hooks';
|
|
14
15
|
import { evaluate, createMinimalContext } from '@almadar/evaluator';
|
|
15
16
|
import { useUISlots, UISlotProvider } from '@almadar/ui/context';
|
|
16
17
|
import { Link, Outlet, useLocation } from 'react-router-dom';
|
|
@@ -69,6 +70,62 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
69
70
|
};
|
|
70
71
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
71
72
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
73
|
+
function EntitySchemaProvider({
|
|
74
|
+
entities,
|
|
75
|
+
traitLinkedEntities,
|
|
76
|
+
orbitalsByTrait,
|
|
77
|
+
children
|
|
78
|
+
}) {
|
|
79
|
+
const entitiesMap = useMemo(() => {
|
|
80
|
+
const map = /* @__PURE__ */ new Map();
|
|
81
|
+
for (const entity of entities) {
|
|
82
|
+
map.set(entity.name, entity);
|
|
83
|
+
}
|
|
84
|
+
return map;
|
|
85
|
+
}, [entities]);
|
|
86
|
+
const linkedMap = useMemo(() => {
|
|
87
|
+
return traitLinkedEntities ?? /* @__PURE__ */ new Map();
|
|
88
|
+
}, [traitLinkedEntities]);
|
|
89
|
+
const orbitalsMap = useMemo(() => {
|
|
90
|
+
return orbitalsByTrait ?? /* @__PURE__ */ new Map();
|
|
91
|
+
}, [orbitalsByTrait]);
|
|
92
|
+
const contextValue = useMemo(
|
|
93
|
+
() => ({
|
|
94
|
+
entities: entitiesMap,
|
|
95
|
+
traitLinkedEntities: linkedMap,
|
|
96
|
+
orbitalsByTrait: orbitalsMap
|
|
97
|
+
}),
|
|
98
|
+
[entitiesMap, linkedMap, orbitalsMap]
|
|
99
|
+
);
|
|
100
|
+
return /* @__PURE__ */ jsx(EntitySchemaContext.Provider, { value: contextValue, children });
|
|
101
|
+
}
|
|
102
|
+
function useEntitySchema() {
|
|
103
|
+
const context = useContext(EntitySchemaContext);
|
|
104
|
+
if (!context) {
|
|
105
|
+
throw new Error("useEntitySchema must be used within an EntitySchemaProvider");
|
|
106
|
+
}
|
|
107
|
+
return context;
|
|
108
|
+
}
|
|
109
|
+
function useEntityDefinition(entityName) {
|
|
110
|
+
const { entities } = useEntitySchema();
|
|
111
|
+
return entities.get(entityName);
|
|
112
|
+
}
|
|
113
|
+
function useEntitySchemaOptional() {
|
|
114
|
+
return useContext(EntitySchemaContext);
|
|
115
|
+
}
|
|
116
|
+
var EntitySchemaContext;
|
|
117
|
+
var init_EntitySchemaContext = __esm({
|
|
118
|
+
"runtime/EntitySchemaContext.tsx"() {
|
|
119
|
+
EntitySchemaContext = createContext(null);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
function cn(...inputs) {
|
|
123
|
+
return twMerge(clsx(inputs));
|
|
124
|
+
}
|
|
125
|
+
var init_cn = __esm({
|
|
126
|
+
"lib/cn.ts"() {
|
|
127
|
+
}
|
|
128
|
+
});
|
|
72
129
|
|
|
73
130
|
// hooks/useEventBus.ts
|
|
74
131
|
var useEventBus_exports = {};
|
|
@@ -153,11 +210,11 @@ function useEmitEvent() {
|
|
|
153
210
|
[eventBus]
|
|
154
211
|
);
|
|
155
212
|
}
|
|
156
|
-
var
|
|
213
|
+
var log2, subLog, scopeLog, fallbackListeners, fallbackAnyListeners, fallbackEventBus, useEventSubscription, useEventBus_default;
|
|
157
214
|
var init_useEventBus = __esm({
|
|
158
215
|
"hooks/useEventBus.ts"() {
|
|
159
216
|
"use client";
|
|
160
|
-
|
|
217
|
+
log2 = createLogger("almadar:eventbus");
|
|
161
218
|
subLog = createLogger("almadar:eventbus:subscribe");
|
|
162
219
|
scopeLog = createLogger("almadar:ui:trait-scope");
|
|
163
220
|
fallbackListeners = /* @__PURE__ */ new Map();
|
|
@@ -171,13 +228,13 @@ var init_useEventBus = __esm({
|
|
|
171
228
|
source
|
|
172
229
|
};
|
|
173
230
|
const handlers = fallbackListeners.get(type);
|
|
174
|
-
|
|
231
|
+
log2.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
|
|
175
232
|
if (handlers) {
|
|
176
233
|
handlers.forEach((handler) => {
|
|
177
234
|
try {
|
|
178
235
|
handler(event);
|
|
179
236
|
} catch (error) {
|
|
180
|
-
|
|
237
|
+
log2.error("Error in listener", { type, error: error instanceof Error ? error : String(error) });
|
|
181
238
|
}
|
|
182
239
|
});
|
|
183
240
|
}
|
|
@@ -185,7 +242,7 @@ var init_useEventBus = __esm({
|
|
|
185
242
|
try {
|
|
186
243
|
handler(event);
|
|
187
244
|
} catch (error) {
|
|
188
|
-
|
|
245
|
+
log2.error("Error in onAny listener", { type, error: error instanceof Error ? error : String(error) });
|
|
189
246
|
}
|
|
190
247
|
});
|
|
191
248
|
},
|
|
@@ -228,928 +285,6 @@ var init_useEventBus = __esm({
|
|
|
228
285
|
useEventBus_default = useEventBus;
|
|
229
286
|
}
|
|
230
287
|
});
|
|
231
|
-
function getOrCreateStore(query) {
|
|
232
|
-
if (!queryStores.has(query)) {
|
|
233
|
-
queryStores.set(query, {
|
|
234
|
-
search: "",
|
|
235
|
-
filters: {},
|
|
236
|
-
sortField: void 0,
|
|
237
|
-
sortDirection: void 0,
|
|
238
|
-
listeners: /* @__PURE__ */ new Set()
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
return queryStores.get(query);
|
|
242
|
-
}
|
|
243
|
-
function useQuerySingleton(query) {
|
|
244
|
-
const [, forceUpdate] = useState({});
|
|
245
|
-
if (!query) {
|
|
246
|
-
return null;
|
|
247
|
-
}
|
|
248
|
-
const store = useMemo(() => getOrCreateStore(query), [query]);
|
|
249
|
-
useMemo(() => {
|
|
250
|
-
const listener = () => forceUpdate({});
|
|
251
|
-
store.listeners.add(listener);
|
|
252
|
-
return () => {
|
|
253
|
-
store.listeners.delete(listener);
|
|
254
|
-
};
|
|
255
|
-
}, [store]);
|
|
256
|
-
const notifyListeners3 = useCallback(() => {
|
|
257
|
-
store.listeners.forEach((listener) => listener());
|
|
258
|
-
}, [store]);
|
|
259
|
-
const setSearch = useCallback((value) => {
|
|
260
|
-
store.search = value;
|
|
261
|
-
notifyListeners3();
|
|
262
|
-
}, [store, notifyListeners3]);
|
|
263
|
-
const setFilter = useCallback((key, value) => {
|
|
264
|
-
store.filters = { ...store.filters, [key]: value };
|
|
265
|
-
notifyListeners3();
|
|
266
|
-
}, [store, notifyListeners3]);
|
|
267
|
-
const clearFilters = useCallback(() => {
|
|
268
|
-
store.filters = {};
|
|
269
|
-
store.search = "";
|
|
270
|
-
notifyListeners3();
|
|
271
|
-
}, [store, notifyListeners3]);
|
|
272
|
-
const setSort = useCallback((field, direction) => {
|
|
273
|
-
store.sortField = field;
|
|
274
|
-
store.sortDirection = direction;
|
|
275
|
-
notifyListeners3();
|
|
276
|
-
}, [store, notifyListeners3]);
|
|
277
|
-
return {
|
|
278
|
-
search: store.search,
|
|
279
|
-
setSearch,
|
|
280
|
-
filters: store.filters,
|
|
281
|
-
setFilter,
|
|
282
|
-
clearFilters,
|
|
283
|
-
sortField: store.sortField,
|
|
284
|
-
sortDirection: store.sortDirection,
|
|
285
|
-
setSort
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
var queryStores;
|
|
289
|
-
var init_useQuerySingleton = __esm({
|
|
290
|
-
"hooks/useQuerySingleton.ts"() {
|
|
291
|
-
"use client";
|
|
292
|
-
queryStores = /* @__PURE__ */ new Map();
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
// locales/en.json
|
|
297
|
-
var en_default;
|
|
298
|
-
var init_en = __esm({
|
|
299
|
-
"locales/en.json"() {
|
|
300
|
-
en_default = {
|
|
301
|
-
$meta: {
|
|
302
|
-
locale: "en",
|
|
303
|
-
direction: "ltr"
|
|
304
|
-
},
|
|
305
|
-
"common.save": "Save",
|
|
306
|
-
"common.cancel": "Cancel",
|
|
307
|
-
"common.delete": "Delete",
|
|
308
|
-
"common.close": "Close",
|
|
309
|
-
"common.confirm": "Are you sure?",
|
|
310
|
-
"common.create": "Create",
|
|
311
|
-
"common.edit": "Edit",
|
|
312
|
-
"common.view": "View",
|
|
313
|
-
"common.add": "Add",
|
|
314
|
-
"common.remove": "Remove",
|
|
315
|
-
"common.search": "Search...",
|
|
316
|
-
"common.filter": "Filter",
|
|
317
|
-
"common.actions": "Actions",
|
|
318
|
-
"common.yes": "Yes",
|
|
319
|
-
"common.no": "No",
|
|
320
|
-
"common.selected": "selected",
|
|
321
|
-
"common.ok": "OK",
|
|
322
|
-
"common.done": "Done",
|
|
323
|
-
"common.apply": "Apply",
|
|
324
|
-
"common.reset": "Reset",
|
|
325
|
-
"common.refresh": "Refresh",
|
|
326
|
-
"common.export": "Export",
|
|
327
|
-
"common.import": "Import",
|
|
328
|
-
"common.copy": "Copy",
|
|
329
|
-
"common.settings": "Settings",
|
|
330
|
-
"nav.previous": "Previous",
|
|
331
|
-
"nav.next": "Next",
|
|
332
|
-
"nav.back": "Back",
|
|
333
|
-
"nav.home": "Home",
|
|
334
|
-
"form.submit": "Submit",
|
|
335
|
-
"form.saving": "Saving...",
|
|
336
|
-
"form.required": "This field is required",
|
|
337
|
-
"form.invalidEmail": "Enter a valid email address",
|
|
338
|
-
"form.selectPlaceholder": "Select {{label}}...",
|
|
339
|
-
"form.searchPlaceholder": "Search {{entity}}...",
|
|
340
|
-
"table.empty.title": "No items found",
|
|
341
|
-
"table.empty.description": "No items to display.",
|
|
342
|
-
"table.search.placeholder": "Search...",
|
|
343
|
-
"table.pagination.showing": "Showing {{start}} to {{end}} of {{total}} results",
|
|
344
|
-
"table.pagination.page": "Page {{page}} of {{totalPages}}",
|
|
345
|
-
"table.bulk.selected": "{{count}} selected",
|
|
346
|
-
"table.loading": "Loading...",
|
|
347
|
-
"status.loading": "Loading...",
|
|
348
|
-
"status.scheduled": "Scheduled",
|
|
349
|
-
"status.inProgress": "In Progress",
|
|
350
|
-
"status.completed": "Completed",
|
|
351
|
-
"status.cancelled": "Cancelled",
|
|
352
|
-
"status.pending": "Pending",
|
|
353
|
-
"status.active": "Active",
|
|
354
|
-
"status.inactive": "Inactive",
|
|
355
|
-
"status.draft": "Draft",
|
|
356
|
-
"status.archived": "Archived",
|
|
357
|
-
"error.generic": "Something went wrong",
|
|
358
|
-
"error.retry": "Try again",
|
|
359
|
-
"error.notFound": "Not found",
|
|
360
|
-
"error.loadFailed": "Failed to load: {{message}}",
|
|
361
|
-
"error.configMissing": "Configuration not found for: {{id}}",
|
|
362
|
-
"common.loading": "Loading...",
|
|
363
|
-
"common.showMore": "Show More",
|
|
364
|
-
"common.showLess": "Show Less",
|
|
365
|
-
"common.noResults": "No results found",
|
|
366
|
-
"common.saveChanges": "Save Changes",
|
|
367
|
-
"common.retry": "Retry",
|
|
368
|
-
"common.open": "Open",
|
|
369
|
-
"common.back": "Back",
|
|
370
|
-
"empty.noItems": "No items",
|
|
371
|
-
"empty.noData": "No data available",
|
|
372
|
-
"empty.noItemsYet": "No items yet",
|
|
373
|
-
"empty.noItemsAdded": "No items added yet",
|
|
374
|
-
"empty.noOptionsFound": "No options found",
|
|
375
|
-
"list.addItemPlaceholder": "Add new item...",
|
|
376
|
-
"error.occurred": "An error occurred",
|
|
377
|
-
"error.failedToLoad": "Failed to load data",
|
|
378
|
-
"wizard.back": "Back",
|
|
379
|
-
"wizard.next": "Next",
|
|
380
|
-
"wizard.complete": "Complete",
|
|
381
|
-
"wizard.stepOf": "Step {{current}} of {{total}}",
|
|
382
|
-
"pagination.previous": "Previous",
|
|
383
|
-
"pagination.next": "Next",
|
|
384
|
-
"pagination.total": "Total:",
|
|
385
|
-
"pagination.show": "Show:",
|
|
386
|
-
"pagination.goTo": "Go to:",
|
|
387
|
-
"pagination.go": "Go",
|
|
388
|
-
"auth.signIn": "Sign in",
|
|
389
|
-
"auth.signOut": "Sign out",
|
|
390
|
-
"dialog.confirm": "Confirm",
|
|
391
|
-
"dialog.cancel": "Cancel",
|
|
392
|
-
"dialog.loading": "Loading...",
|
|
393
|
-
"dialog.delete.title": "Delete {{item}}?",
|
|
394
|
-
"dialog.delete.message": "This action cannot be undone.",
|
|
395
|
-
"trait.availableActions": "Available Actions",
|
|
396
|
-
"trait.transitions": "Transitions",
|
|
397
|
-
"trait.availableNow": "Available now",
|
|
398
|
-
"book.startReading": "Start Reading",
|
|
399
|
-
"book.tableOfContents": "Table of Contents",
|
|
400
|
-
"book.partNumber": "Part {{number}}",
|
|
401
|
-
"book.print": "Print",
|
|
402
|
-
"book.previousPage": "Previous page",
|
|
403
|
-
"book.nextPage": "Next page",
|
|
404
|
-
"quiz.showAnswer": "Show answer",
|
|
405
|
-
"quiz.hideAnswer": "Hide answer",
|
|
406
|
-
"aria.closeModal": "Close modal",
|
|
407
|
-
"aria.closeToast": "Dismiss toast",
|
|
408
|
-
"aria.closeAlert": "Dismiss alert",
|
|
409
|
-
"aria.removeFilter": "Remove filter",
|
|
410
|
-
"aria.closeDrawer": "Close drawer",
|
|
411
|
-
"aria.closePanel": "Close panel",
|
|
412
|
-
"aria.previousImage": "Previous image",
|
|
413
|
-
"aria.nextImage": "Next image",
|
|
414
|
-
"aria.dismiss": "Dismiss",
|
|
415
|
-
"aria.previousSlide": "Previous slide",
|
|
416
|
-
"aria.nextSlide": "Next slide",
|
|
417
|
-
"aria.previousDays": "Previous days",
|
|
418
|
-
"aria.nextDays": "Next days",
|
|
419
|
-
"aria.decrease": "Decrease",
|
|
420
|
-
"aria.increase": "Increase",
|
|
421
|
-
"aria.breadcrumb": "Breadcrumb",
|
|
422
|
-
"aria.tableOfContents": "Table of contents",
|
|
423
|
-
"aria.docsSidebar": "Documentation sidebar",
|
|
424
|
-
"aria.selectAllRows": "Select all rows",
|
|
425
|
-
"aria.selectAll": "Select all",
|
|
426
|
-
"aria.upvote": "Upvote",
|
|
427
|
-
"aria.downvote": "Downvote",
|
|
428
|
-
"aria.qrScanner": "QR scanner",
|
|
429
|
-
"aria.mockScanDev": "Mock scan (dev)",
|
|
430
|
-
"aria.openMenu": "Open menu",
|
|
431
|
-
"aria.closeMenu": "Close menu",
|
|
432
|
-
"aria.openSidebar": "Open sidebar",
|
|
433
|
-
"sidebar.expand": "Expand sidebar",
|
|
434
|
-
"sidebar.collapse": "Collapse sidebar",
|
|
435
|
-
"sidebar.close": "Close sidebar",
|
|
436
|
-
"loading.items": "Loading items...",
|
|
437
|
-
"card.imageAlt": "Image",
|
|
438
|
-
"canvas.emptyMessage": "No content",
|
|
439
|
-
"canvas.errorTitle": "Canvas error",
|
|
440
|
-
"book.noData": "No data",
|
|
441
|
-
"common.notifications": "Notifications",
|
|
442
|
-
"common.remaining": "{{count}} remaining",
|
|
443
|
-
"error.somethingWentWrong": "Something went wrong",
|
|
444
|
-
"error.loadingItems": "Loading items...",
|
|
445
|
-
"error.noItemsFound": "No items found",
|
|
446
|
-
"debug.noEntityData": "No entity data",
|
|
447
|
-
"debug.noEntities": "No entities",
|
|
448
|
-
"debug.noTicks": "No ticks registered",
|
|
449
|
-
"debug.noActiveTraits": "No active traits",
|
|
450
|
-
"debug.noGuardEvaluations": "No guard evaluations",
|
|
451
|
-
"debug.noBridgeData": "No bridge data",
|
|
452
|
-
"debug.status": "Status",
|
|
453
|
-
"debug.eventsForwarded": "Events Forwarded (Client \u2192 Server)",
|
|
454
|
-
"debug.eventsReceived": "Events Received (Server \u2192 Client)",
|
|
455
|
-
"debug.lastHeartbeat": "Last Heartbeat",
|
|
456
|
-
"debug.noEventsYet": "No events yet",
|
|
457
|
-
"debug.noTransitionsRecorded": "No transitions recorded",
|
|
458
|
-
"debug.noVerificationChecks": "No verification checks yet",
|
|
459
|
-
"display.chartError": "Chart error",
|
|
460
|
-
"display.codeViewerError": "Code viewer error",
|
|
461
|
-
"display.noCode": "No code",
|
|
462
|
-
"display.documentError": "Document error",
|
|
463
|
-
"display.noDocument": "No document",
|
|
464
|
-
"display.graphError": "Graph error",
|
|
465
|
-
"display.noGraphData": "No graph data",
|
|
466
|
-
"display.galleryError": "Gallery error",
|
|
467
|
-
"display.noMedia": "No media",
|
|
468
|
-
"display.meterError": "Meter error",
|
|
469
|
-
"display.signaturePadError": "Signature pad error",
|
|
470
|
-
"display.timelineError": "Timeline error",
|
|
471
|
-
"display.noEvents": "No events",
|
|
472
|
-
"template.features": "Features",
|
|
473
|
-
"template.howItWorks": "How It Works",
|
|
474
|
-
"template.showcase": "Showcase",
|
|
475
|
-
"template.faq": "Frequently Asked Questions",
|
|
476
|
-
"template.ourTeam": "Our Team",
|
|
477
|
-
"template.caseStudies": "Case Studies",
|
|
478
|
-
"richBlockEditor.toolbar.text": "Text",
|
|
479
|
-
"richBlockEditor.toolbar.h1": "H1",
|
|
480
|
-
"richBlockEditor.toolbar.h2": "H2",
|
|
481
|
-
"richBlockEditor.toolbar.h3": "H3",
|
|
482
|
-
"richBlockEditor.toolbar.bulletList": "Bullet list",
|
|
483
|
-
"richBlockEditor.toolbar.numbered": "Numbered",
|
|
484
|
-
"richBlockEditor.toolbar.quote": "Quote",
|
|
485
|
-
"richBlockEditor.toolbar.code": "Code",
|
|
486
|
-
"richBlockEditor.toolbar.divider": "Divider",
|
|
487
|
-
"richBlockEditor.toolbar.image": "Image",
|
|
488
|
-
"richBlockEditor.blockType.paragraph": "Text",
|
|
489
|
-
"richBlockEditor.blockType.heading1": "Heading 1",
|
|
490
|
-
"richBlockEditor.blockType.heading2": "Heading 2",
|
|
491
|
-
"richBlockEditor.blockType.heading3": "Heading 3",
|
|
492
|
-
"richBlockEditor.blockType.bulletList": "Bullet list",
|
|
493
|
-
"richBlockEditor.blockType.numberedList": "Numbered list",
|
|
494
|
-
"richBlockEditor.blockType.quote": "Quote",
|
|
495
|
-
"richBlockEditor.blockType.code": "Code",
|
|
496
|
-
"richBlockEditor.blockType.divider": "Divider",
|
|
497
|
-
"richBlockEditor.blockType.image": "Image",
|
|
498
|
-
"richBlockEditor.blockActions": "Block actions",
|
|
499
|
-
"richBlockEditor.duplicate": "Duplicate",
|
|
500
|
-
"richBlockEditor.turnInto": "Turn into",
|
|
501
|
-
"richBlockEditor.placeholder.heading1": "Heading 1",
|
|
502
|
-
"richBlockEditor.placeholder.heading2": "Heading 2",
|
|
503
|
-
"richBlockEditor.placeholder.heading3": "Heading 3",
|
|
504
|
-
"richBlockEditor.placeholder.quote": "Quote",
|
|
505
|
-
"richBlockEditor.placeholder.code": "Enter code",
|
|
506
|
-
"richBlockEditor.placeholder.paragraph": "Start writing...",
|
|
507
|
-
"richBlockEditor.placeholder.listItem": "List item",
|
|
508
|
-
"richBlockEditor.placeholder.caption": "Caption (optional)",
|
|
509
|
-
"richBlockEditor.aria.heading1Block": "Heading 1 block",
|
|
510
|
-
"richBlockEditor.aria.heading2Block": "Heading 2 block",
|
|
511
|
-
"richBlockEditor.aria.heading3Block": "Heading 3 block",
|
|
512
|
-
"richBlockEditor.aria.quoteBlock": "Quote block",
|
|
513
|
-
"richBlockEditor.aria.codeBlock": "Code block",
|
|
514
|
-
"richBlockEditor.aria.codeLanguage": "Code language",
|
|
515
|
-
"richBlockEditor.aria.imageUrl": "Image URL",
|
|
516
|
-
"richBlockEditor.aria.imageCaption": "Image caption",
|
|
517
|
-
"richBlockEditor.aria.listItem": "List item",
|
|
518
|
-
"richBlockEditor.aria.removeListItem": "Remove list item",
|
|
519
|
-
"richBlockEditor.aria.paragraphBlock": "Paragraph block",
|
|
520
|
-
"richBlockEditor.embeddedImage": "Embedded image",
|
|
521
|
-
"richBlockEditor.noImageUrl": "No image URL set",
|
|
522
|
-
"richBlockEditor.addItem": "Add item",
|
|
523
|
-
"richBlockEditor.insertParagraphBelow": "Insert paragraph below",
|
|
524
|
-
"richBlockEditor.editorToolbar": "Block editor toolbar",
|
|
525
|
-
"richBlockEditor.insertEntry": "Insert {{label}}",
|
|
526
|
-
"versionDiff.compare": "Compare",
|
|
527
|
-
"versionDiff.to": "to",
|
|
528
|
-
"versionDiff.beforeRevision": "Before revision",
|
|
529
|
-
"versionDiff.afterRevision": "After revision",
|
|
530
|
-
"versionDiff.switchToInline": "Switch to inline view",
|
|
531
|
-
"versionDiff.switchToSideBySide": "Switch to side-by-side view",
|
|
532
|
-
"versionDiff.revert": "Revert",
|
|
533
|
-
"versionDiff.byAuthor": " by {{author}}",
|
|
534
|
-
"violationAlert.actionType.measure": "Corrective Measure",
|
|
535
|
-
"violationAlert.actionType.admin": "Administrative Action",
|
|
536
|
-
"violationAlert.actionType.penalty": "Penalty Proceedings",
|
|
537
|
-
"violationAlert.fallbackMessage": "Violation",
|
|
538
|
-
"violationAlert.adminLabel": "Admin:",
|
|
539
|
-
"violationAlert.penaltyLabel": "Penalty:",
|
|
540
|
-
"violationAlert.goToField": "Go to field",
|
|
541
|
-
"branchingLogic.title": "Branching logic",
|
|
542
|
-
"branchingLogic.if": "If",
|
|
543
|
-
"branchingLogic.goTo": "go to",
|
|
544
|
-
"branchingLogic.rules": "Rules",
|
|
545
|
-
"branchingLogic.logicGraph": "Logic graph",
|
|
546
|
-
"branchingLogic.addRule": "Add rule",
|
|
547
|
-
"branchingLogic.deleteRule": "Delete rule",
|
|
548
|
-
"branchingLogic.endOfSurvey": "End of survey",
|
|
549
|
-
"branchingLogic.brokenReference": "Broken reference",
|
|
550
|
-
"branchingLogic.selectQuestion": "Select question",
|
|
551
|
-
"branchingLogic.selectTarget": "Select target",
|
|
552
|
-
"branchingLogic.selectValue": "Select value",
|
|
553
|
-
"branchingLogic.addValue": "Add value",
|
|
554
|
-
"branchingLogic.value": "Value",
|
|
555
|
-
"branchingLogic.typeValuePressEnter": "Type value, press Enter",
|
|
556
|
-
"branchingLogic.operatorEquals": "equals",
|
|
557
|
-
"branchingLogic.operatorNotEquals": "does not equal",
|
|
558
|
-
"branchingLogic.operatorContains": "contains",
|
|
559
|
-
"branchingLogic.operatorIn": "is one of",
|
|
560
|
-
"branchingLogic.graphAriaLabel": "Branching logic graph",
|
|
561
|
-
"branchingLogic.ruleCountOne": "{{count}} rule",
|
|
562
|
-
"branchingLogic.ruleCountOther": "{{count}} rules",
|
|
563
|
-
"branchingLogic.brokenCount": "{{count}} broken",
|
|
564
|
-
"branchingLogic.emptyNoQuestions": "Add questions before building branching rules.",
|
|
565
|
-
"branchingLogic.emptyNoRules": "No rules yet. Add a rule to define branching logic.",
|
|
566
|
-
"filterGroup.filters": "Filters",
|
|
567
|
-
"filterGroup.all": "All",
|
|
568
|
-
"filterGroup.clear": "Clear",
|
|
569
|
-
"filterGroup.clearAll": "Clear all",
|
|
570
|
-
"filterGroup.from": "From",
|
|
571
|
-
"filterGroup.to": "To",
|
|
572
|
-
"filterGroup.allOf": "All {{label}}",
|
|
573
|
-
"filterGroup.activeCount": "{{count}} active",
|
|
574
|
-
"debug.guardEvaluationsHint": "Guard evaluations will appear when transitions or ticks with guards execute",
|
|
575
|
-
"debug.expression": "Expression",
|
|
576
|
-
"debug.inputs": "Inputs",
|
|
577
|
-
"debug.trait": "Trait",
|
|
578
|
-
"debug.filterAll": "All",
|
|
579
|
-
"debug.filterPassed": "Passed",
|
|
580
|
-
"debug.filterFailed": "Failed",
|
|
581
|
-
"debug.traitsInitHint": "Traits will appear when the state machine initializes",
|
|
582
|
-
"debug.traitsMountHint": "Traits will appear when components using them are mounted",
|
|
583
|
-
"debug.activeStates": "Active States",
|
|
584
|
-
"debug.availableEvents": "Available Events",
|
|
585
|
-
"debug.noTransitionsFromState": "No transitions from current state",
|
|
586
|
-
"debug.guarded": "guarded",
|
|
587
|
-
"debug.otherEvents": "Other Events (not available from current state)",
|
|
588
|
-
"debug.recentTransitions": "Recent Transitions",
|
|
589
|
-
"debug.transitionsCount": "{{count}} transitions",
|
|
590
|
-
"debug.states": "States",
|
|
591
|
-
"debug.transitions": "Transitions",
|
|
592
|
-
"debug.guards": "Guards",
|
|
593
|
-
"debug.debugModeHint": "Debug mode may not be enabled",
|
|
594
|
-
"debug.entitiesSpawnHint": "Entities will appear when spawned",
|
|
595
|
-
"debug.singleton": "Singleton",
|
|
596
|
-
"debug.singletonsCount": "Singletons ({{count}})",
|
|
597
|
-
"debug.runtimeCount": "Runtime ({{count}})",
|
|
598
|
-
"debug.moreEntities": "+{{count}} more entities",
|
|
599
|
-
"debug.persistent": "Persistent",
|
|
600
|
-
"debug.loadedCount": "{{count}} loaded",
|
|
601
|
-
"debug.notLoaded": "not loaded",
|
|
602
|
-
"debug.eventsExecuteHint": "Events will appear as traits, ticks, and other systems execute",
|
|
603
|
-
"debug.allCount": "All ({{count}})",
|
|
604
|
-
"debug.autoScroll": "Auto-scroll",
|
|
605
|
-
"debug.transitionsProcessHint": "Transitions will appear as the state machine processes events",
|
|
606
|
-
"debug.transitionsRecorded": "{{count}} transitions recorded",
|
|
607
|
-
"debug.guardLabel": "guard:",
|
|
608
|
-
"debug.effectsCount": "{{count}} effects",
|
|
609
|
-
"debug.bridgeInitHint": "The ServerBridge has not been initialized. Bridge health will appear once the runtime connects to the server.",
|
|
610
|
-
"debug.never": "Never",
|
|
611
|
-
"debug.connected": "Connected",
|
|
612
|
-
"debug.disconnected": "Disconnected",
|
|
613
|
-
"debug.lastError": "Last Error",
|
|
614
|
-
"debug.totalEventsProcessed": "{{count}} total events processed",
|
|
615
|
-
"debug.server": "server",
|
|
616
|
-
"debug.clientEffectsCount": "{{count}} clientEffects",
|
|
617
|
-
"debug.emitLabel": "emit:",
|
|
618
|
-
"debug.rowsCount": "{{count}} rows",
|
|
619
|
-
"debug.serverResponse": "server response",
|
|
620
|
-
"debug.collapseVerificationTimeline": "Collapse verification timeline",
|
|
621
|
-
"debug.expandVerificationTimeline": "Expand verification timeline",
|
|
622
|
-
"debug.failCount": "{{count}} fail",
|
|
623
|
-
"debug.ok": "OK",
|
|
624
|
-
"debug.localCount": "{{count}} local",
|
|
625
|
-
"debug.serverCount": "{{count}} server",
|
|
626
|
-
"debug.waitingForTransitions": "Waiting for transitions...",
|
|
627
|
-
"debug.tabDispatch": "Dispatch",
|
|
628
|
-
"debug.tabVerify": "Verify",
|
|
629
|
-
"debug.tabVerifyAlert": "Verify (!)",
|
|
630
|
-
"debug.tabTimeline": "Timeline",
|
|
631
|
-
"debug.tabBridge": "Bridge",
|
|
632
|
-
"debug.tabTraits": "Traits",
|
|
633
|
-
"debug.tabTicks": "Ticks",
|
|
634
|
-
"debug.tabEntities": "Entities",
|
|
635
|
-
"debug.tabEvents": "Events",
|
|
636
|
-
"debug.tabGuards": "Guards",
|
|
637
|
-
"debug.debugger": "Debugger",
|
|
638
|
-
"debug.failedCount": "{{count}} failed",
|
|
639
|
-
"debug.traitsCount": "{{count}} traits",
|
|
640
|
-
"debug.idle": "Idle",
|
|
641
|
-
"debug.openDebugger": "Open Debugger (`)",
|
|
642
|
-
"debug.kflowVerifier": "KFlow Verifier",
|
|
643
|
-
"debug.allPassing": "All passing",
|
|
644
|
-
"debug.runtime": "Runtime",
|
|
645
|
-
"debug.close": "Close (`)",
|
|
646
|
-
"debug.toggleHint": "Press ` to toggle | window.__orbitalVerification for automation",
|
|
647
|
-
"replyTree.expandReplies": "Expand replies",
|
|
648
|
-
"replyTree.collapseReplies": "Collapse replies",
|
|
649
|
-
"replyTree.voteOnReplyBy": "Vote on reply by {{author}}",
|
|
650
|
-
"replyTree.replyTo": "Reply to {{author}}",
|
|
651
|
-
"replyTree.replyToPlaceholder": "Reply to {{author}}\u2026",
|
|
652
|
-
"replyTree.reply": "Reply",
|
|
653
|
-
"replyTree.flagReplyBy": "Flag reply by {{author}}",
|
|
654
|
-
"replyTree.flag": "Flag",
|
|
655
|
-
"replyTree.send": "Send",
|
|
656
|
-
"replyTree.continueThread": "Continue thread",
|
|
657
|
-
"replyTree.noRepliesYet": "No replies yet.",
|
|
658
|
-
"signaturePad.label": "Signature",
|
|
659
|
-
"signaturePad.helperText": "Draw your signature above",
|
|
660
|
-
"signaturePad.clear": "Clear",
|
|
661
|
-
"signaturePad.confirm": "Confirm",
|
|
662
|
-
"qrScanner.cameraUnavailable": "Camera unavailable",
|
|
663
|
-
"qrScanner.paused": "Paused",
|
|
664
|
-
"qrScanner.resumeScanning": "Resume scanning",
|
|
665
|
-
"qrScanner.pauseScanning": "Pause scanning",
|
|
666
|
-
"qrScanner.switchToFrontCamera": "Switch to front camera",
|
|
667
|
-
"qrScanner.switchToRearCamera": "Switch to rear camera",
|
|
668
|
-
"qrScanner.mockScan": "Mock Scan",
|
|
669
|
-
"docSearch.placeholder": "Search documentation...",
|
|
670
|
-
"stateMachine.loading": "Loading state machine\u2026",
|
|
671
|
-
"stateMachine.noStateMachine": "No state machine to visualize",
|
|
672
|
-
"avl.trigger": "Trigger",
|
|
673
|
-
"avl.guard": "Guard",
|
|
674
|
-
"avl.effects": "Effects",
|
|
675
|
-
"avl.props": "Props",
|
|
676
|
-
"avl.entity": "Entity",
|
|
677
|
-
"avl.traits": "Traits",
|
|
678
|
-
"avl.transition": "Transition",
|
|
679
|
-
"avl.onEntity": "on {{entity}}",
|
|
680
|
-
"avl.linkedTo": "linked to {{entity}}",
|
|
681
|
-
"avl.pressEscToZoomOut": "Press Esc to zoom out",
|
|
682
|
-
"avl.zoomIn": "Zoom in",
|
|
683
|
-
"avl.zoomOut": "Zoom out",
|
|
684
|
-
"avl.orbitalLabel": "Orbital: {{name}}",
|
|
685
|
-
"avl.orbitalLabelHighlighted": "Orbital: {{name}} (highlighted)",
|
|
686
|
-
"avl.noTraitData": "No trait data",
|
|
687
|
-
"avl.computingLayout": "Computing layout...",
|
|
688
|
-
"avl.noStateMachine": "No state machine",
|
|
689
|
-
"avl.listensFor": "listens for {{event}}",
|
|
690
|
-
"avl.emits": "emits {{event}}",
|
|
691
|
-
"avl.pageLayout": "Page Layout",
|
|
692
|
-
"avl.overlaySuffix": "(overlay)",
|
|
693
|
-
"orbPreview.previewBadge": "Preview",
|
|
694
|
-
"orbPreview.doubleClickToOpen": "Double-click to open",
|
|
695
|
-
"orbPreview.dropToAddAndOpen": "Drop to add and open",
|
|
696
|
-
"orbPreview.dispatching": "Coordinator is dispatching to this orbital",
|
|
697
|
-
"orbPreview.noPreview": "No preview available",
|
|
698
|
-
"orbPreview.screensCount": "{{count}} screens",
|
|
699
|
-
"detailView.noTransitionData": "No transition data",
|
|
700
|
-
"orbInspector.required": "req",
|
|
701
|
-
"orbInspector.addField": "Add Field",
|
|
702
|
-
"orbInspector.serviceMode": "Service Mode",
|
|
703
|
-
"orbInspector.standalone": "Standalone",
|
|
704
|
-
"orbInspector.embedded": "Embedded",
|
|
705
|
-
"orbInspector.rendersOwnUi": "Renders its own UI",
|
|
706
|
-
"orbInspector.headless": "Headless, wired to other behaviors",
|
|
707
|
-
"orbInspector.addEffect": "Add Effect",
|
|
708
|
-
"orbInspector.guardExpression": "Guard expression",
|
|
709
|
-
"orbInspector.selectPatternForStyles": "Select a pattern to view its style tokens.",
|
|
710
|
-
"orbInspector.tokens": "Tokens",
|
|
711
|
-
"orbInspector.noTokenContract": "No token contract declared for this pattern.",
|
|
712
|
-
"orbInspector.variant": "Variant",
|
|
713
|
-
"orbInspector.size": "Size",
|
|
714
|
-
"orbInspector.statesCount": "{{count}} states",
|
|
715
|
-
"orbInspector.onEntity": " on {{entity}}",
|
|
716
|
-
"orbInspector.projectThemeTokens": "Project theme tokens",
|
|
717
|
-
"orbInspector.tokenGroup.colors": "Colors",
|
|
718
|
-
"orbInspector.tokenGroup.radii": "Radii",
|
|
719
|
-
"orbInspector.tokenGroup.spacing": "Spacing",
|
|
720
|
-
"orbInspector.tokenGroup.shadows": "Shadows",
|
|
721
|
-
"orbInspector.tab.inspector": "Inspector",
|
|
722
|
-
"orbInspector.tab.styles": "Styles",
|
|
723
|
-
"orbInspector.tab.code": "Code",
|
|
724
|
-
"canvas.goBackToOverview": "Go back to overview",
|
|
725
|
-
"canvas.overview": "Overview",
|
|
726
|
-
"canvas.expanded": "Expanded",
|
|
727
|
-
"canvas.modulesCount": "{{count}} modules",
|
|
728
|
-
"canvas.screensCount": "{{count}} screens",
|
|
729
|
-
"canvas.switchToView": "Switch to {{label}} view",
|
|
730
|
-
"lawReference.viewFullText": "View full law text",
|
|
731
|
-
"statCard.defaultLabel": "Stat",
|
|
732
|
-
"statCard.vsLastPeriod": "vs last period",
|
|
733
|
-
"mediaGallery.upload": "Upload",
|
|
734
|
-
"mediaGallery.noMediaDescription": "No media items to display.",
|
|
735
|
-
"pagination.jumpPlaceholder": "Page",
|
|
736
|
-
"table.selectRow": "Select row {{id}}",
|
|
737
|
-
"card.selectItem": "Select {{item}}",
|
|
738
|
-
"card.itemFallback": "item",
|
|
739
|
-
"fileTree.noFiles": "No files",
|
|
740
|
-
"masterDetail.selectItem": "Select an item to view details",
|
|
741
|
-
"empty.createFirst": "Create your first item to get started.",
|
|
742
|
-
"upload.dropOrBrowse": "Drop files here or click to browse",
|
|
743
|
-
"upload.dropFilesHere": "Drop files here",
|
|
744
|
-
"upload.accepted": "Accepted: {{accept}}",
|
|
745
|
-
"upload.maxSize": "Max size: {{size}}",
|
|
746
|
-
"upload.maxFiles": "Up to {{count}} files",
|
|
747
|
-
"upload.error.maxFiles": "Maximum {{count}} files allowed",
|
|
748
|
-
"upload.error.invalidType": "Invalid file type: {{name}}",
|
|
749
|
-
"upload.error.tooLarge": "File too large: {{name}} (max {{size}})",
|
|
750
|
-
"optionConstraint.requiredOne": "Required, pick 1",
|
|
751
|
-
"optionConstraint.optionalOne": "Optional, pick up to 1",
|
|
752
|
-
"optionConstraint.pickExactly": "Pick exactly {{count}}",
|
|
753
|
-
"optionConstraint.pickRange": "Pick {{min}}-{{max}}",
|
|
754
|
-
"optionConstraint.pickAtLeast": "Pick at least {{count}}",
|
|
755
|
-
"optionConstraint.pickUpTo": "Pick up to {{count}}",
|
|
756
|
-
"optionConstraint.optional": "Optional",
|
|
757
|
-
"optionConstraint.outOfStock": "Out of stock",
|
|
758
|
-
"optionConstraint.error.pickOne": "Pick 1 option",
|
|
759
|
-
"optionConstraint.error.pickOnlyOne": "Pick only 1 option",
|
|
760
|
-
"optionConstraint.error.pickMore": "Pick at least {{count}} more",
|
|
761
|
-
"optionConstraint.error.removeOptions": "Remove {{count}} options",
|
|
762
|
-
"stateMachine.pinned": "Pinned",
|
|
763
|
-
"stateMachine.eventCount": "{{count}} events",
|
|
764
|
-
"stateMachine.externalEffects": "External Effects",
|
|
765
|
-
"stateMachine.legend.initial": "Initial",
|
|
766
|
-
"stateMachine.legend.final": "Final",
|
|
767
|
-
"stateMachine.legend.state": "State",
|
|
768
|
-
"stateMachine.legend.multiEvent": "Multi-event",
|
|
769
|
-
"relationSelect.selectPlaceholder": "Select..."
|
|
770
|
-
};
|
|
771
|
-
}
|
|
772
|
-
});
|
|
773
|
-
function useTranslate() {
|
|
774
|
-
return useContext(I18nContext);
|
|
775
|
-
}
|
|
776
|
-
var _meta, coreMessages, coreLocale, I18nContext;
|
|
777
|
-
var init_useTranslate = __esm({
|
|
778
|
-
"hooks/useTranslate.ts"() {
|
|
779
|
-
"use client";
|
|
780
|
-
init_en();
|
|
781
|
-
({ $meta: _meta, ...coreMessages } = en_default);
|
|
782
|
-
coreLocale = coreMessages;
|
|
783
|
-
I18nContext = createContext({
|
|
784
|
-
locale: "en",
|
|
785
|
-
direction: "ltr",
|
|
786
|
-
t: (key) => coreLocale[key] ?? key
|
|
787
|
-
// core locale fallback
|
|
788
|
-
});
|
|
789
|
-
I18nContext.displayName = "I18nContext";
|
|
790
|
-
I18nContext.Provider;
|
|
791
|
-
}
|
|
792
|
-
});
|
|
793
|
-
|
|
794
|
-
// hooks/useAuthContext.ts
|
|
795
|
-
function useAuthContext() {
|
|
796
|
-
return {
|
|
797
|
-
user: null,
|
|
798
|
-
loading: false,
|
|
799
|
-
signIn: void 0,
|
|
800
|
-
signOut: void 0
|
|
801
|
-
};
|
|
802
|
-
}
|
|
803
|
-
var init_useAuthContext = __esm({
|
|
804
|
-
"hooks/useAuthContext.ts"() {
|
|
805
|
-
}
|
|
806
|
-
});
|
|
807
|
-
function useSwipeGesture(callbacks, options = {}) {
|
|
808
|
-
const { threshold = 50, velocityThreshold = 0.3, preventDefault = false } = options;
|
|
809
|
-
const startX = useRef(0);
|
|
810
|
-
const startY = useRef(0);
|
|
811
|
-
const startTime = useRef(0);
|
|
812
|
-
const currentX = useRef(0);
|
|
813
|
-
const tracking = useRef(false);
|
|
814
|
-
const offsetXRef = useRef(0);
|
|
815
|
-
const isSwipingRef = useRef(false);
|
|
816
|
-
const onPointerDown = useCallback((e) => {
|
|
817
|
-
startX.current = e.clientX;
|
|
818
|
-
startY.current = e.clientY;
|
|
819
|
-
currentX.current = e.clientX;
|
|
820
|
-
startTime.current = Date.now();
|
|
821
|
-
tracking.current = true;
|
|
822
|
-
isSwipingRef.current = false;
|
|
823
|
-
offsetXRef.current = 0;
|
|
824
|
-
e.target.setPointerCapture?.(e.pointerId);
|
|
825
|
-
}, []);
|
|
826
|
-
const onPointerMove = useCallback((e) => {
|
|
827
|
-
if (!tracking.current) return;
|
|
828
|
-
if (preventDefault) e.preventDefault();
|
|
829
|
-
currentX.current = e.clientX;
|
|
830
|
-
const dx = e.clientX - startX.current;
|
|
831
|
-
const dy = e.clientY - startY.current;
|
|
832
|
-
if (Math.abs(dx) > 10 && Math.abs(dx) > Math.abs(dy)) {
|
|
833
|
-
isSwipingRef.current = true;
|
|
834
|
-
offsetXRef.current = dx;
|
|
835
|
-
}
|
|
836
|
-
}, [preventDefault]);
|
|
837
|
-
const onPointerUp = useCallback((e) => {
|
|
838
|
-
if (!tracking.current) return;
|
|
839
|
-
tracking.current = false;
|
|
840
|
-
const dx = e.clientX - startX.current;
|
|
841
|
-
const dy = e.clientY - startY.current;
|
|
842
|
-
const elapsed = Date.now() - startTime.current;
|
|
843
|
-
const velocity = Math.abs(dx) / Math.max(elapsed, 1);
|
|
844
|
-
offsetXRef.current = 0;
|
|
845
|
-
isSwipingRef.current = false;
|
|
846
|
-
if (Math.abs(dx) < threshold && velocity < velocityThreshold) return;
|
|
847
|
-
if (Math.abs(dx) > Math.abs(dy)) {
|
|
848
|
-
if (dx < -threshold) callbacks.onSwipeLeft?.();
|
|
849
|
-
else if (dx > threshold) callbacks.onSwipeRight?.();
|
|
850
|
-
} else {
|
|
851
|
-
if (dy < -threshold) callbacks.onSwipeUp?.();
|
|
852
|
-
else if (dy > threshold) callbacks.onSwipeDown?.();
|
|
853
|
-
}
|
|
854
|
-
}, [threshold, velocityThreshold, callbacks]);
|
|
855
|
-
const onPointerCancel = useCallback(() => {
|
|
856
|
-
tracking.current = false;
|
|
857
|
-
offsetXRef.current = 0;
|
|
858
|
-
isSwipingRef.current = false;
|
|
859
|
-
}, []);
|
|
860
|
-
return {
|
|
861
|
-
onPointerDown,
|
|
862
|
-
onPointerMove,
|
|
863
|
-
onPointerUp,
|
|
864
|
-
onPointerCancel,
|
|
865
|
-
offsetX: offsetXRef.current,
|
|
866
|
-
isSwiping: isSwipingRef.current
|
|
867
|
-
};
|
|
868
|
-
}
|
|
869
|
-
var init_useSwipeGesture = __esm({
|
|
870
|
-
"hooks/useSwipeGesture.ts"() {
|
|
871
|
-
"use client";
|
|
872
|
-
}
|
|
873
|
-
});
|
|
874
|
-
function useLongPress(onLongPress, options = {}) {
|
|
875
|
-
const { duration = 500, moveThreshold = 10 } = options;
|
|
876
|
-
const timerRef = useRef(null);
|
|
877
|
-
const startPos = useRef({ x: 0, y: 0 });
|
|
878
|
-
const isPressedRef = useRef(false);
|
|
879
|
-
const firedRef = useRef(false);
|
|
880
|
-
const cancel = useCallback(() => {
|
|
881
|
-
if (timerRef.current) {
|
|
882
|
-
clearTimeout(timerRef.current);
|
|
883
|
-
timerRef.current = null;
|
|
884
|
-
}
|
|
885
|
-
isPressedRef.current = false;
|
|
886
|
-
}, []);
|
|
887
|
-
const onPointerDown = useCallback((e) => {
|
|
888
|
-
firedRef.current = false;
|
|
889
|
-
startPos.current = { x: e.clientX, y: e.clientY };
|
|
890
|
-
isPressedRef.current = true;
|
|
891
|
-
timerRef.current = setTimeout(() => {
|
|
892
|
-
firedRef.current = true;
|
|
893
|
-
isPressedRef.current = false;
|
|
894
|
-
onLongPress();
|
|
895
|
-
}, duration);
|
|
896
|
-
}, [duration, onLongPress]);
|
|
897
|
-
const onPointerMove = useCallback((e) => {
|
|
898
|
-
if (!isPressedRef.current) return;
|
|
899
|
-
const dx = e.clientX - startPos.current.x;
|
|
900
|
-
const dy = e.clientY - startPos.current.y;
|
|
901
|
-
if (Math.sqrt(dx * dx + dy * dy) > moveThreshold) {
|
|
902
|
-
cancel();
|
|
903
|
-
}
|
|
904
|
-
}, [moveThreshold, cancel]);
|
|
905
|
-
const onPointerUp = useCallback(() => {
|
|
906
|
-
cancel();
|
|
907
|
-
}, [cancel]);
|
|
908
|
-
const onPointerCancel = useCallback(() => {
|
|
909
|
-
cancel();
|
|
910
|
-
}, [cancel]);
|
|
911
|
-
return {
|
|
912
|
-
onPointerDown,
|
|
913
|
-
onPointerMove,
|
|
914
|
-
onPointerUp,
|
|
915
|
-
onPointerCancel,
|
|
916
|
-
isPressed: isPressedRef.current
|
|
917
|
-
};
|
|
918
|
-
}
|
|
919
|
-
var init_useLongPress = __esm({
|
|
920
|
-
"hooks/useLongPress.ts"() {
|
|
921
|
-
"use client";
|
|
922
|
-
}
|
|
923
|
-
});
|
|
924
|
-
function useDragReorder(initialItems, onReorder) {
|
|
925
|
-
const [items, setItems] = useState(initialItems);
|
|
926
|
-
const [dragIndex, setDragIndex] = useState(-1);
|
|
927
|
-
const [dragOverIndex, setDragOverIndex] = useState(-1);
|
|
928
|
-
const itemsRef = useRef(initialItems);
|
|
929
|
-
if (initialItems !== itemsRef.current) {
|
|
930
|
-
itemsRef.current = initialItems;
|
|
931
|
-
setItems(initialItems);
|
|
932
|
-
}
|
|
933
|
-
const isDragging = dragIndex >= 0;
|
|
934
|
-
const handleDragStart = useCallback((index) => (e) => {
|
|
935
|
-
e.preventDefault();
|
|
936
|
-
setDragIndex(index);
|
|
937
|
-
setDragOverIndex(index);
|
|
938
|
-
e.target.setPointerCapture?.(e.pointerId);
|
|
939
|
-
}, []);
|
|
940
|
-
const handleDragMove = useCallback((index) => (e) => {
|
|
941
|
-
if (dragIndex < 0) return;
|
|
942
|
-
const target = document.elementFromPoint(e.clientX, e.clientY);
|
|
943
|
-
if (!target) return;
|
|
944
|
-
let el = target;
|
|
945
|
-
while (el && !el.dataset.dragIndex) {
|
|
946
|
-
el = el.parentElement;
|
|
947
|
-
}
|
|
948
|
-
if (el?.dataset.dragIndex) {
|
|
949
|
-
const overIndex = parseInt(el.dataset.dragIndex, 10);
|
|
950
|
-
if (!isNaN(overIndex) && overIndex !== dragOverIndex) {
|
|
951
|
-
setDragOverIndex(overIndex);
|
|
952
|
-
}
|
|
953
|
-
}
|
|
954
|
-
}, [dragIndex, dragOverIndex]);
|
|
955
|
-
const handleDragEnd = useCallback(() => {
|
|
956
|
-
if (dragIndex >= 0 && dragOverIndex >= 0 && dragIndex !== dragOverIndex) {
|
|
957
|
-
const newItems = [...items];
|
|
958
|
-
const [movedItem] = newItems.splice(dragIndex, 1);
|
|
959
|
-
newItems.splice(dragOverIndex, 0, movedItem);
|
|
960
|
-
setItems(newItems);
|
|
961
|
-
onReorder(dragIndex, dragOverIndex, items[dragIndex]);
|
|
962
|
-
}
|
|
963
|
-
setDragIndex(-1);
|
|
964
|
-
setDragOverIndex(-1);
|
|
965
|
-
}, [dragIndex, dragOverIndex, items, onReorder]);
|
|
966
|
-
const getDragHandleProps = useCallback((index) => ({
|
|
967
|
-
onPointerDown: handleDragStart(index),
|
|
968
|
-
style: { cursor: "grab", touchAction: "none" },
|
|
969
|
-
"aria-grabbed": dragIndex === index,
|
|
970
|
-
role: "button"
|
|
971
|
-
}), [handleDragStart, dragIndex]);
|
|
972
|
-
const getItemProps = useCallback((index) => ({
|
|
973
|
-
onPointerMove: handleDragMove(index),
|
|
974
|
-
onPointerUp: handleDragEnd,
|
|
975
|
-
"aria-dropeffect": "move",
|
|
976
|
-
"data-drag-index": String(index),
|
|
977
|
-
style: {
|
|
978
|
-
opacity: dragIndex === index ? 0.5 : 1,
|
|
979
|
-
transition: isDragging ? "transform 150ms ease" : void 0,
|
|
980
|
-
transform: isDragging && dragOverIndex >= 0 ? index === dragIndex ? "scale(1.02)" : index > dragIndex && index <= dragOverIndex ? "translateY(-100%)" : index < dragIndex && index >= dragOverIndex ? "translateY(100%)" : void 0 : void 0
|
|
981
|
-
}
|
|
982
|
-
}), [handleDragMove, handleDragEnd, dragIndex, dragOverIndex, isDragging]);
|
|
983
|
-
return {
|
|
984
|
-
items,
|
|
985
|
-
dragIndex,
|
|
986
|
-
dragOverIndex,
|
|
987
|
-
isDragging,
|
|
988
|
-
getDragHandleProps,
|
|
989
|
-
getItemProps
|
|
990
|
-
};
|
|
991
|
-
}
|
|
992
|
-
var init_useDragReorder = __esm({
|
|
993
|
-
"hooks/useDragReorder.ts"() {
|
|
994
|
-
"use client";
|
|
995
|
-
}
|
|
996
|
-
});
|
|
997
|
-
function useInfiniteScroll(onLoadMore, options = {}) {
|
|
998
|
-
const { rootMargin = "200px", hasMore = true, isLoading = false } = options;
|
|
999
|
-
const observerRef = useRef(null);
|
|
1000
|
-
const callbackRef = useRef(onLoadMore);
|
|
1001
|
-
callbackRef.current = onLoadMore;
|
|
1002
|
-
const hasMoreRef = useRef(hasMore);
|
|
1003
|
-
hasMoreRef.current = hasMore;
|
|
1004
|
-
const isLoadingRef = useRef(isLoading);
|
|
1005
|
-
isLoadingRef.current = isLoading;
|
|
1006
|
-
useEffect(() => {
|
|
1007
|
-
return () => {
|
|
1008
|
-
observerRef.current?.disconnect();
|
|
1009
|
-
};
|
|
1010
|
-
}, []);
|
|
1011
|
-
const sentinelRef = useCallback((node) => {
|
|
1012
|
-
observerRef.current?.disconnect();
|
|
1013
|
-
if (!node) return;
|
|
1014
|
-
observerRef.current = new IntersectionObserver(
|
|
1015
|
-
(entries) => {
|
|
1016
|
-
const entry = entries[0];
|
|
1017
|
-
if (entry.isIntersecting && hasMoreRef.current && !isLoadingRef.current) {
|
|
1018
|
-
callbackRef.current();
|
|
1019
|
-
}
|
|
1020
|
-
},
|
|
1021
|
-
{ rootMargin }
|
|
1022
|
-
);
|
|
1023
|
-
observerRef.current.observe(node);
|
|
1024
|
-
}, [rootMargin]);
|
|
1025
|
-
return { sentinelRef };
|
|
1026
|
-
}
|
|
1027
|
-
var init_useInfiniteScroll = __esm({
|
|
1028
|
-
"hooks/useInfiniteScroll.ts"() {
|
|
1029
|
-
"use client";
|
|
1030
|
-
}
|
|
1031
|
-
});
|
|
1032
|
-
function usePullToRefresh(onRefresh, options = {}) {
|
|
1033
|
-
const { threshold = 60, maxPull = 120 } = options;
|
|
1034
|
-
const [pullDistance, setPullDistance] = useState(0);
|
|
1035
|
-
const [isPulling, setIsPulling] = useState(false);
|
|
1036
|
-
const [isRefreshing, setIsRefreshing] = useState(false);
|
|
1037
|
-
const startY = useRef(0);
|
|
1038
|
-
const scrollTopRef = useRef(0);
|
|
1039
|
-
const onTouchStart = useCallback((e) => {
|
|
1040
|
-
const container = e.currentTarget;
|
|
1041
|
-
scrollTopRef.current = container.scrollTop;
|
|
1042
|
-
if (scrollTopRef.current <= 0) {
|
|
1043
|
-
startY.current = e.touches[0].clientY;
|
|
1044
|
-
setIsPulling(true);
|
|
1045
|
-
}
|
|
1046
|
-
}, []);
|
|
1047
|
-
const onTouchMove = useCallback((e) => {
|
|
1048
|
-
if (!isPulling || isRefreshing) return;
|
|
1049
|
-
const container = e.currentTarget;
|
|
1050
|
-
if (container.scrollTop > 0) {
|
|
1051
|
-
setPullDistance(0);
|
|
1052
|
-
return;
|
|
1053
|
-
}
|
|
1054
|
-
const dy = e.touches[0].clientY - startY.current;
|
|
1055
|
-
if (dy > 0) {
|
|
1056
|
-
const distance = Math.min(dy * 0.5, maxPull);
|
|
1057
|
-
setPullDistance(distance);
|
|
1058
|
-
}
|
|
1059
|
-
}, [isPulling, isRefreshing, maxPull]);
|
|
1060
|
-
const onTouchEnd = useCallback(() => {
|
|
1061
|
-
if (!isPulling) return;
|
|
1062
|
-
setIsPulling(false);
|
|
1063
|
-
if (pullDistance >= threshold && !isRefreshing) {
|
|
1064
|
-
setIsRefreshing(true);
|
|
1065
|
-
setPullDistance(threshold);
|
|
1066
|
-
onRefresh();
|
|
1067
|
-
} else {
|
|
1068
|
-
setPullDistance(0);
|
|
1069
|
-
}
|
|
1070
|
-
}, [isPulling, pullDistance, threshold, isRefreshing, onRefresh]);
|
|
1071
|
-
const endRefresh = useCallback(() => {
|
|
1072
|
-
setIsRefreshing(false);
|
|
1073
|
-
setPullDistance(0);
|
|
1074
|
-
}, []);
|
|
1075
|
-
const containerProps = {
|
|
1076
|
-
onTouchStart,
|
|
1077
|
-
onTouchMove,
|
|
1078
|
-
onTouchEnd,
|
|
1079
|
-
style: {
|
|
1080
|
-
transform: pullDistance > 0 ? `translateY(${pullDistance}px)` : void 0,
|
|
1081
|
-
transition: isPulling ? "none" : "transform 300ms ease-out"
|
|
1082
|
-
}
|
|
1083
|
-
};
|
|
1084
|
-
return {
|
|
1085
|
-
pullDistance,
|
|
1086
|
-
isPulling,
|
|
1087
|
-
isRefreshing,
|
|
1088
|
-
containerProps,
|
|
1089
|
-
endRefresh
|
|
1090
|
-
};
|
|
1091
|
-
}
|
|
1092
|
-
var init_usePullToRefresh = __esm({
|
|
1093
|
-
"hooks/usePullToRefresh.ts"() {
|
|
1094
|
-
"use client";
|
|
1095
|
-
}
|
|
1096
|
-
});
|
|
1097
|
-
function EntitySchemaProvider({
|
|
1098
|
-
entities,
|
|
1099
|
-
traitLinkedEntities,
|
|
1100
|
-
orbitalsByTrait,
|
|
1101
|
-
children
|
|
1102
|
-
}) {
|
|
1103
|
-
const entitiesMap = useMemo(() => {
|
|
1104
|
-
const map = /* @__PURE__ */ new Map();
|
|
1105
|
-
for (const entity of entities) {
|
|
1106
|
-
map.set(entity.name, entity);
|
|
1107
|
-
}
|
|
1108
|
-
return map;
|
|
1109
|
-
}, [entities]);
|
|
1110
|
-
const linkedMap = useMemo(() => {
|
|
1111
|
-
return traitLinkedEntities ?? /* @__PURE__ */ new Map();
|
|
1112
|
-
}, [traitLinkedEntities]);
|
|
1113
|
-
const orbitalsMap = useMemo(() => {
|
|
1114
|
-
return orbitalsByTrait ?? /* @__PURE__ */ new Map();
|
|
1115
|
-
}, [orbitalsByTrait]);
|
|
1116
|
-
const contextValue = useMemo(
|
|
1117
|
-
() => ({
|
|
1118
|
-
entities: entitiesMap,
|
|
1119
|
-
traitLinkedEntities: linkedMap,
|
|
1120
|
-
orbitalsByTrait: orbitalsMap
|
|
1121
|
-
}),
|
|
1122
|
-
[entitiesMap, linkedMap, orbitalsMap]
|
|
1123
|
-
);
|
|
1124
|
-
return /* @__PURE__ */ jsx(EntitySchemaContext.Provider, { value: contextValue, children });
|
|
1125
|
-
}
|
|
1126
|
-
function useEntitySchema() {
|
|
1127
|
-
const context = useContext(EntitySchemaContext);
|
|
1128
|
-
if (!context) {
|
|
1129
|
-
throw new Error("useEntitySchema must be used within an EntitySchemaProvider");
|
|
1130
|
-
}
|
|
1131
|
-
return context;
|
|
1132
|
-
}
|
|
1133
|
-
function useEntityDefinition(entityName) {
|
|
1134
|
-
const { entities } = useEntitySchema();
|
|
1135
|
-
return entities.get(entityName);
|
|
1136
|
-
}
|
|
1137
|
-
function useEntitySchemaOptional() {
|
|
1138
|
-
return useContext(EntitySchemaContext);
|
|
1139
|
-
}
|
|
1140
|
-
var EntitySchemaContext;
|
|
1141
|
-
var init_EntitySchemaContext = __esm({
|
|
1142
|
-
"runtime/EntitySchemaContext.tsx"() {
|
|
1143
|
-
EntitySchemaContext = createContext(null);
|
|
1144
|
-
}
|
|
1145
|
-
});
|
|
1146
|
-
function cn(...inputs) {
|
|
1147
|
-
return twMerge(clsx(inputs));
|
|
1148
|
-
}
|
|
1149
|
-
var init_cn = __esm({
|
|
1150
|
-
"lib/cn.ts"() {
|
|
1151
|
-
}
|
|
1152
|
-
});
|
|
1153
288
|
var paddingStyles, paddingXStyles, paddingYStyles, marginStyles, marginXStyles, marginYStyles, bgStyles, roundedStyles, shadowStyles, displayStyles, overflowStyles, positionStyles, Box;
|
|
1154
289
|
var init_Box = __esm({
|
|
1155
290
|
"components/core/atoms/Box.tsx"() {
|
|
@@ -2521,7 +1656,6 @@ var init_Modal = __esm({
|
|
|
2521
1656
|
init_Overlay();
|
|
2522
1657
|
init_cn();
|
|
2523
1658
|
init_useEventBus();
|
|
2524
|
-
init_useTranslate();
|
|
2525
1659
|
sizeClasses2 = {
|
|
2526
1660
|
sm: "max-w-md",
|
|
2527
1661
|
md: "max-w-2xl",
|
|
@@ -2743,7 +1877,6 @@ var init_Drawer = __esm({
|
|
|
2743
1877
|
init_Overlay();
|
|
2744
1878
|
init_cn();
|
|
2745
1879
|
init_useEventBus();
|
|
2746
|
-
init_useTranslate();
|
|
2747
1880
|
sizeWidths = {
|
|
2748
1881
|
sm: "w-full sm:w-80",
|
|
2749
1882
|
// 320px
|
|
@@ -3016,7 +2149,6 @@ var init_Toast = __esm({
|
|
|
3016
2149
|
init_Badge();
|
|
3017
2150
|
init_cn();
|
|
3018
2151
|
init_useEventBus();
|
|
3019
|
-
init_useTranslate();
|
|
3020
2152
|
variantClasses = {
|
|
3021
2153
|
success: "bg-card border-[length:var(--border-width)] border-success",
|
|
3022
2154
|
error: "bg-card border-[length:var(--border-width)] border-error",
|
|
@@ -3978,7 +3110,6 @@ var init_Input = __esm({
|
|
|
3978
3110
|
"components/core/atoms/Input.tsx"() {
|
|
3979
3111
|
init_cn();
|
|
3980
3112
|
init_Icon();
|
|
3981
|
-
init_useTranslate();
|
|
3982
3113
|
Input = React84__default.forwardRef(
|
|
3983
3114
|
({
|
|
3984
3115
|
className,
|
|
@@ -4362,7 +3493,6 @@ var init_FilterPill = __esm({
|
|
|
4362
3493
|
"components/core/atoms/FilterPill.tsx"() {
|
|
4363
3494
|
init_cn();
|
|
4364
3495
|
init_useEventBus();
|
|
4365
|
-
init_useTranslate();
|
|
4366
3496
|
init_Icon();
|
|
4367
3497
|
variantStyles5 = {
|
|
4368
3498
|
default: [
|
|
@@ -5749,7 +4879,6 @@ var init_LawReferenceTooltip = __esm({
|
|
|
5749
4879
|
init_Typography();
|
|
5750
4880
|
init_Divider();
|
|
5751
4881
|
init_cn();
|
|
5752
|
-
init_useTranslate();
|
|
5753
4882
|
positionStyles2 = {
|
|
5754
4883
|
top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
|
|
5755
4884
|
bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
|
|
@@ -6360,6 +5489,41 @@ var init_AnimatedCounter = __esm({
|
|
|
6360
5489
|
AnimatedCounter.displayName = "AnimatedCounter";
|
|
6361
5490
|
}
|
|
6362
5491
|
});
|
|
5492
|
+
function useInfiniteScroll(onLoadMore, options = {}) {
|
|
5493
|
+
const { rootMargin = "200px", hasMore = true, isLoading = false } = options;
|
|
5494
|
+
const observerRef = useRef(null);
|
|
5495
|
+
const callbackRef = useRef(onLoadMore);
|
|
5496
|
+
callbackRef.current = onLoadMore;
|
|
5497
|
+
const hasMoreRef = useRef(hasMore);
|
|
5498
|
+
hasMoreRef.current = hasMore;
|
|
5499
|
+
const isLoadingRef = useRef(isLoading);
|
|
5500
|
+
isLoadingRef.current = isLoading;
|
|
5501
|
+
useEffect(() => {
|
|
5502
|
+
return () => {
|
|
5503
|
+
observerRef.current?.disconnect();
|
|
5504
|
+
};
|
|
5505
|
+
}, []);
|
|
5506
|
+
const sentinelRef = useCallback((node) => {
|
|
5507
|
+
observerRef.current?.disconnect();
|
|
5508
|
+
if (!node) return;
|
|
5509
|
+
observerRef.current = new IntersectionObserver(
|
|
5510
|
+
(entries) => {
|
|
5511
|
+
const entry = entries[0];
|
|
5512
|
+
if (entry.isIntersecting && hasMoreRef.current && !isLoadingRef.current) {
|
|
5513
|
+
callbackRef.current();
|
|
5514
|
+
}
|
|
5515
|
+
},
|
|
5516
|
+
{ rootMargin }
|
|
5517
|
+
);
|
|
5518
|
+
observerRef.current.observe(node);
|
|
5519
|
+
}, [rootMargin]);
|
|
5520
|
+
return { sentinelRef };
|
|
5521
|
+
}
|
|
5522
|
+
var init_useInfiniteScroll = __esm({
|
|
5523
|
+
"hooks/useInfiniteScroll.ts"() {
|
|
5524
|
+
"use client";
|
|
5525
|
+
}
|
|
5526
|
+
});
|
|
6363
5527
|
var InfiniteScrollSentinel;
|
|
6364
5528
|
var init_InfiniteScrollSentinel = __esm({
|
|
6365
5529
|
"components/core/atoms/InfiniteScrollSentinel.tsx"() {
|
|
@@ -8708,7 +7872,6 @@ var init_ErrorState = __esm({
|
|
|
8708
7872
|
init_Typography();
|
|
8709
7873
|
init_Icon();
|
|
8710
7874
|
init_useEventBus();
|
|
8711
|
-
init_useTranslate();
|
|
8712
7875
|
ErrorState = ({
|
|
8713
7876
|
title,
|
|
8714
7877
|
message,
|
|
@@ -8751,7 +7914,6 @@ var init_ErrorBoundary = __esm({
|
|
|
8751
7914
|
"use client";
|
|
8752
7915
|
init_cn();
|
|
8753
7916
|
init_ErrorState();
|
|
8754
|
-
init_useTranslate();
|
|
8755
7917
|
DefaultFallback = ({ error, onRetry }) => {
|
|
8756
7918
|
const { t } = useTranslate();
|
|
8757
7919
|
return /* @__PURE__ */ jsx(
|
|
@@ -8901,7 +8063,6 @@ var init_Skeleton = __esm({
|
|
|
8901
8063
|
"components/core/molecules/Skeleton.tsx"() {
|
|
8902
8064
|
"use client";
|
|
8903
8065
|
init_cn();
|
|
8904
|
-
init_useTranslate();
|
|
8905
8066
|
init_Box();
|
|
8906
8067
|
init_Stack();
|
|
8907
8068
|
init_Stack();
|
|
@@ -9578,7 +8739,6 @@ var AboutPageTemplate;
|
|
|
9578
8739
|
var init_AboutPageTemplate = __esm({
|
|
9579
8740
|
"components/marketing/templates/AboutPageTemplate.tsx"() {
|
|
9580
8741
|
init_cn();
|
|
9581
|
-
init_useTranslate();
|
|
9582
8742
|
init_Stack();
|
|
9583
8743
|
init_Box();
|
|
9584
8744
|
init_Typography();
|
|
@@ -9683,7 +8843,6 @@ var init_Alert = __esm({
|
|
|
9683
8843
|
init_Icon();
|
|
9684
8844
|
init_Typography();
|
|
9685
8845
|
init_useEventBus();
|
|
9686
|
-
init_useTranslate();
|
|
9687
8846
|
variantBorderClasses = {
|
|
9688
8847
|
info: "border-info",
|
|
9689
8848
|
success: "border-success",
|
|
@@ -10043,7 +9202,6 @@ var init_Menu = __esm({
|
|
|
10043
9202
|
init_Badge();
|
|
10044
9203
|
init_cn();
|
|
10045
9204
|
init_useEventBus();
|
|
10046
|
-
init_useTranslate();
|
|
10047
9205
|
Menu = ({
|
|
10048
9206
|
trigger,
|
|
10049
9207
|
items,
|
|
@@ -10331,7 +9489,6 @@ var init_FloatingActionButton = __esm({
|
|
|
10331
9489
|
init_Typography();
|
|
10332
9490
|
init_cn();
|
|
10333
9491
|
init_useEventBus();
|
|
10334
|
-
init_useTranslate();
|
|
10335
9492
|
FloatingActionButton = ({
|
|
10336
9493
|
action,
|
|
10337
9494
|
actionPayload,
|
|
@@ -10515,7 +9672,7 @@ var init_MapView = __esm({
|
|
|
10515
9672
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
10516
9673
|
const { useEffect: useEffect71, useRef: useRef66, useCallback: useCallback113, useState: useState103 } = React84__default;
|
|
10517
9674
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
10518
|
-
const { useEventBus:
|
|
9675
|
+
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
10519
9676
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
10520
9677
|
const map = useMap();
|
|
10521
9678
|
const prevRef = useRef66({ centerLat, centerLng, zoom });
|
|
@@ -10557,7 +9714,7 @@ var init_MapView = __esm({
|
|
|
10557
9714
|
className,
|
|
10558
9715
|
showAttribution = true
|
|
10559
9716
|
}) {
|
|
10560
|
-
const eventBus =
|
|
9717
|
+
const eventBus = useEventBus3();
|
|
10561
9718
|
const [clickedPosition, setClickedPosition] = useState103(null);
|
|
10562
9719
|
const handleMapClick = useCallback113((lat, lng) => {
|
|
10563
9720
|
if (showClickedPin) {
|
|
@@ -11253,7 +10410,6 @@ var init_ActionTile = __esm({
|
|
|
11253
10410
|
"components/game/organisms/puzzles/sequencer/ActionTile.tsx"() {
|
|
11254
10411
|
init_atoms2();
|
|
11255
10412
|
init_cn();
|
|
11256
|
-
init_useTranslate();
|
|
11257
10413
|
DRAG_MIME = "application/x-almadar-slot-item";
|
|
11258
10414
|
SIZE_CONFIG = {
|
|
11259
10415
|
sm: { px: "px-2 py-1", icon: "text-lg", text: "text-xs" },
|
|
@@ -11291,7 +10447,6 @@ var init_ActionPalette = __esm({
|
|
|
11291
10447
|
"components/game/organisms/puzzles/sequencer/ActionPalette.tsx"() {
|
|
11292
10448
|
init_atoms2();
|
|
11293
10449
|
init_cn();
|
|
11294
|
-
init_useTranslate();
|
|
11295
10450
|
init_ActionTile();
|
|
11296
10451
|
ActionPalette.displayName = "ActionPalette";
|
|
11297
10452
|
}
|
|
@@ -11301,7 +10456,6 @@ var init_AuthLayout = __esm({
|
|
|
11301
10456
|
"components/core/templates/AuthLayout.tsx"() {
|
|
11302
10457
|
"use client";
|
|
11303
10458
|
init_cn();
|
|
11304
|
-
init_useTranslate();
|
|
11305
10459
|
init_Box();
|
|
11306
10460
|
init_Stack();
|
|
11307
10461
|
init_Typography();
|
|
@@ -11446,7 +10600,6 @@ var init_LoadingState = __esm({
|
|
|
11446
10600
|
init_atoms2();
|
|
11447
10601
|
init_Stack();
|
|
11448
10602
|
init_Typography();
|
|
11449
|
-
init_useTranslate();
|
|
11450
10603
|
LoadingState = ({
|
|
11451
10604
|
title,
|
|
11452
10605
|
message,
|
|
@@ -12630,7 +11783,6 @@ var init_IsometricCanvas = __esm({
|
|
|
12630
11783
|
"use client";
|
|
12631
11784
|
init_cn();
|
|
12632
11785
|
init_useEventBus();
|
|
12633
|
-
init_useTranslate();
|
|
12634
11786
|
init_Box();
|
|
12635
11787
|
init_Stack();
|
|
12636
11788
|
init_Icon();
|
|
@@ -12994,7 +12146,6 @@ var init_BattleBoard = __esm({
|
|
|
12994
12146
|
"use client";
|
|
12995
12147
|
init_cn();
|
|
12996
12148
|
init_useEventBus();
|
|
12997
|
-
init_useTranslate();
|
|
12998
12149
|
init_Box();
|
|
12999
12150
|
init_Button();
|
|
13000
12151
|
init_Typography();
|
|
@@ -13754,7 +12905,6 @@ var log6, SWIM_GUTTER, CENTER_W, BehaviorView;
|
|
|
13754
12905
|
var init_BehaviorView = __esm({
|
|
13755
12906
|
"components/avl/molecules/BehaviorView.tsx"() {
|
|
13756
12907
|
"use client";
|
|
13757
|
-
init_useTranslate();
|
|
13758
12908
|
init_AvlState();
|
|
13759
12909
|
init_AvlTransitionLane();
|
|
13760
12910
|
init_AvlSwimLane();
|
|
@@ -13869,7 +13019,6 @@ var MIN_DIAGRAM_WIDTH, ScaledDiagram;
|
|
|
13869
13019
|
var init_ScaledDiagram = __esm({
|
|
13870
13020
|
"components/core/molecules/ScaledDiagram.tsx"() {
|
|
13871
13021
|
init_Box();
|
|
13872
|
-
init_useTranslate();
|
|
13873
13022
|
init_cn();
|
|
13874
13023
|
MIN_DIAGRAM_WIDTH = 200;
|
|
13875
13024
|
ScaledDiagram = ({
|
|
@@ -14012,7 +13161,6 @@ var init_CodeBlock = __esm({
|
|
|
14012
13161
|
init_Textarea();
|
|
14013
13162
|
init_Icon();
|
|
14014
13163
|
init_useEventBus();
|
|
14015
|
-
init_useTranslate();
|
|
14016
13164
|
SyntaxHighlighter.registerLanguage("json", langJson);
|
|
14017
13165
|
SyntaxHighlighter.registerLanguage("javascript", langJavascript);
|
|
14018
13166
|
SyntaxHighlighter.registerLanguage("js", langJavascript);
|
|
@@ -14519,7 +13667,6 @@ var init_MarkdownContent = __esm({
|
|
|
14519
13667
|
init_katex_min();
|
|
14520
13668
|
init_Box();
|
|
14521
13669
|
init_CodeBlock();
|
|
14522
|
-
init_useTranslate();
|
|
14523
13670
|
init_cn();
|
|
14524
13671
|
MarkdownContent = React84__default.memo(
|
|
14525
13672
|
({ content, direction, className }) => {
|
|
@@ -14686,6 +13833,56 @@ var init_MarkdownContent = __esm({
|
|
|
14686
13833
|
MarkdownContent.displayName = "MarkdownContent";
|
|
14687
13834
|
}
|
|
14688
13835
|
});
|
|
13836
|
+
function useLongPress(onLongPress, options = {}) {
|
|
13837
|
+
const { duration = 500, moveThreshold = 10 } = options;
|
|
13838
|
+
const timerRef = useRef(null);
|
|
13839
|
+
const startPos = useRef({ x: 0, y: 0 });
|
|
13840
|
+
const isPressedRef = useRef(false);
|
|
13841
|
+
const firedRef = useRef(false);
|
|
13842
|
+
const cancel = useCallback(() => {
|
|
13843
|
+
if (timerRef.current) {
|
|
13844
|
+
clearTimeout(timerRef.current);
|
|
13845
|
+
timerRef.current = null;
|
|
13846
|
+
}
|
|
13847
|
+
isPressedRef.current = false;
|
|
13848
|
+
}, []);
|
|
13849
|
+
const onPointerDown = useCallback((e) => {
|
|
13850
|
+
firedRef.current = false;
|
|
13851
|
+
startPos.current = { x: e.clientX, y: e.clientY };
|
|
13852
|
+
isPressedRef.current = true;
|
|
13853
|
+
timerRef.current = setTimeout(() => {
|
|
13854
|
+
firedRef.current = true;
|
|
13855
|
+
isPressedRef.current = false;
|
|
13856
|
+
onLongPress();
|
|
13857
|
+
}, duration);
|
|
13858
|
+
}, [duration, onLongPress]);
|
|
13859
|
+
const onPointerMove = useCallback((e) => {
|
|
13860
|
+
if (!isPressedRef.current) return;
|
|
13861
|
+
const dx = e.clientX - startPos.current.x;
|
|
13862
|
+
const dy = e.clientY - startPos.current.y;
|
|
13863
|
+
if (Math.sqrt(dx * dx + dy * dy) > moveThreshold) {
|
|
13864
|
+
cancel();
|
|
13865
|
+
}
|
|
13866
|
+
}, [moveThreshold, cancel]);
|
|
13867
|
+
const onPointerUp = useCallback(() => {
|
|
13868
|
+
cancel();
|
|
13869
|
+
}, [cancel]);
|
|
13870
|
+
const onPointerCancel = useCallback(() => {
|
|
13871
|
+
cancel();
|
|
13872
|
+
}, [cancel]);
|
|
13873
|
+
return {
|
|
13874
|
+
onPointerDown,
|
|
13875
|
+
onPointerMove,
|
|
13876
|
+
onPointerUp,
|
|
13877
|
+
onPointerCancel,
|
|
13878
|
+
isPressed: isPressedRef.current
|
|
13879
|
+
};
|
|
13880
|
+
}
|
|
13881
|
+
var init_useLongPress = __esm({
|
|
13882
|
+
"hooks/useLongPress.ts"() {
|
|
13883
|
+
"use client";
|
|
13884
|
+
}
|
|
13885
|
+
});
|
|
14689
13886
|
function Card2({
|
|
14690
13887
|
title,
|
|
14691
13888
|
subtitle,
|
|
@@ -14774,7 +13971,6 @@ var init_Card2 = __esm({
|
|
|
14774
13971
|
"components/core/molecules/Card.tsx"() {
|
|
14775
13972
|
"use client";
|
|
14776
13973
|
init_useEventBus();
|
|
14777
|
-
init_useTranslate();
|
|
14778
13974
|
init_useLongPress();
|
|
14779
13975
|
Card2.displayName = "Card";
|
|
14780
13976
|
}
|
|
@@ -14788,7 +13984,6 @@ var init_QuizBlock = __esm({
|
|
|
14788
13984
|
init_Button();
|
|
14789
13985
|
init_Icon();
|
|
14790
13986
|
init_Box();
|
|
14791
|
-
init_useTranslate();
|
|
14792
13987
|
init_cn();
|
|
14793
13988
|
QuizBlock = ({
|
|
14794
13989
|
question,
|
|
@@ -14831,7 +14026,6 @@ var init_StateMachineView = __esm({
|
|
|
14831
14026
|
init_Typography();
|
|
14832
14027
|
init_Button();
|
|
14833
14028
|
init_Icon();
|
|
14834
|
-
init_useTranslate();
|
|
14835
14029
|
init_useEventBus();
|
|
14836
14030
|
init_cn();
|
|
14837
14031
|
StateNode = ({ state, config }) => {
|
|
@@ -16198,7 +15392,6 @@ var init_JazariStateMachine = __esm({
|
|
|
16198
15392
|
init_StateMachineView();
|
|
16199
15393
|
init_visualizer();
|
|
16200
15394
|
init_svg_paths();
|
|
16201
|
-
init_useTranslate();
|
|
16202
15395
|
init_cn();
|
|
16203
15396
|
JAZARI_VISUALIZER_CONFIG = {
|
|
16204
15397
|
...DEFAULT_CONFIG,
|
|
@@ -16354,7 +15547,6 @@ var init_ContentRenderer = __esm({
|
|
|
16354
15547
|
init_ScaledDiagram();
|
|
16355
15548
|
init_JazariStateMachine();
|
|
16356
15549
|
init_parseContentSegments();
|
|
16357
|
-
init_useTranslate();
|
|
16358
15550
|
init_cn();
|
|
16359
15551
|
ContentRenderer = ({
|
|
16360
15552
|
content,
|
|
@@ -16448,7 +15640,6 @@ var init_BookChapterView = __esm({
|
|
|
16448
15640
|
init_ScaledDiagram();
|
|
16449
15641
|
init_ContentRenderer();
|
|
16450
15642
|
init_JazariStateMachine();
|
|
16451
|
-
init_useTranslate();
|
|
16452
15643
|
init_cn();
|
|
16453
15644
|
BookChapterView = ({
|
|
16454
15645
|
chapter,
|
|
@@ -16487,7 +15678,6 @@ var init_BookCoverPage = __esm({
|
|
|
16487
15678
|
init_Typography();
|
|
16488
15679
|
init_Button();
|
|
16489
15680
|
init_Box();
|
|
16490
|
-
init_useTranslate();
|
|
16491
15681
|
init_cn();
|
|
16492
15682
|
BookCoverPage = ({
|
|
16493
15683
|
title,
|
|
@@ -16567,7 +15757,6 @@ var init_BookNavBar = __esm({
|
|
|
16567
15757
|
init_Typography();
|
|
16568
15758
|
init_ProgressBar();
|
|
16569
15759
|
init_Box();
|
|
16570
|
-
init_useTranslate();
|
|
16571
15760
|
init_cn();
|
|
16572
15761
|
BookNavBar = ({
|
|
16573
15762
|
currentPage,
|
|
@@ -16669,7 +15858,6 @@ var init_BookTableOfContents = __esm({
|
|
|
16669
15858
|
init_Button();
|
|
16670
15859
|
init_Box();
|
|
16671
15860
|
init_Badge();
|
|
16672
|
-
init_useTranslate();
|
|
16673
15861
|
init_cn();
|
|
16674
15862
|
BookTableOfContents = ({
|
|
16675
15863
|
parts,
|
|
@@ -16729,7 +15917,6 @@ var init_EmptyState = __esm({
|
|
|
16729
15917
|
init_Stack();
|
|
16730
15918
|
init_Typography();
|
|
16731
15919
|
init_useEventBus();
|
|
16732
|
-
init_useTranslate();
|
|
16733
15920
|
ICON_NAME_ALIASES = {
|
|
16734
15921
|
check: "check-circle",
|
|
16735
15922
|
error: "x-circle",
|
|
@@ -16900,7 +16087,6 @@ var init_BookViewer = __esm({
|
|
|
16900
16087
|
init_Box();
|
|
16901
16088
|
init_Stack();
|
|
16902
16089
|
init_useEventBus();
|
|
16903
|
-
init_useTranslate();
|
|
16904
16090
|
init_cn();
|
|
16905
16091
|
init_BookCoverPage();
|
|
16906
16092
|
init_BookTableOfContents();
|
|
@@ -17332,7 +16518,6 @@ var init_BranchingLogicBuilder = __esm({
|
|
|
17332
16518
|
init_FilterPill();
|
|
17333
16519
|
init_Box();
|
|
17334
16520
|
init_useEventBus();
|
|
17335
|
-
init_useTranslate();
|
|
17336
16521
|
init_cn();
|
|
17337
16522
|
END_OF_SURVEY = "end-of-survey";
|
|
17338
16523
|
RuleRow = ({
|
|
@@ -17785,7 +16970,6 @@ var init_Breadcrumb = __esm({
|
|
|
17785
16970
|
init_Typography();
|
|
17786
16971
|
init_cn();
|
|
17787
16972
|
init_useEventBus();
|
|
17788
|
-
init_useTranslate();
|
|
17789
16973
|
Breadcrumb = ({
|
|
17790
16974
|
items,
|
|
17791
16975
|
separator = "chevron-right",
|
|
@@ -18021,7 +17205,6 @@ var init_BuilderBoard = __esm({
|
|
|
18021
17205
|
"components/game/organisms/puzzles/builder/BuilderBoard.tsx"() {
|
|
18022
17206
|
init_atoms2();
|
|
18023
17207
|
init_useEventBus();
|
|
18024
|
-
init_useTranslate();
|
|
18025
17208
|
BuilderBoard.displayName = "BuilderBoard";
|
|
18026
17209
|
}
|
|
18027
17210
|
});
|
|
@@ -18148,6 +17331,73 @@ var init_ButtonGroup = __esm({
|
|
|
18148
17331
|
ButtonGroup.displayName = "ButtonGroup";
|
|
18149
17332
|
}
|
|
18150
17333
|
});
|
|
17334
|
+
function useSwipeGesture(callbacks, options = {}) {
|
|
17335
|
+
const { threshold = 50, velocityThreshold = 0.3, preventDefault = false } = options;
|
|
17336
|
+
const startX = useRef(0);
|
|
17337
|
+
const startY = useRef(0);
|
|
17338
|
+
const startTime = useRef(0);
|
|
17339
|
+
const currentX = useRef(0);
|
|
17340
|
+
const tracking = useRef(false);
|
|
17341
|
+
const offsetXRef = useRef(0);
|
|
17342
|
+
const isSwipingRef = useRef(false);
|
|
17343
|
+
const onPointerDown = useCallback((e) => {
|
|
17344
|
+
startX.current = e.clientX;
|
|
17345
|
+
startY.current = e.clientY;
|
|
17346
|
+
currentX.current = e.clientX;
|
|
17347
|
+
startTime.current = Date.now();
|
|
17348
|
+
tracking.current = true;
|
|
17349
|
+
isSwipingRef.current = false;
|
|
17350
|
+
offsetXRef.current = 0;
|
|
17351
|
+
e.target.setPointerCapture?.(e.pointerId);
|
|
17352
|
+
}, []);
|
|
17353
|
+
const onPointerMove = useCallback((e) => {
|
|
17354
|
+
if (!tracking.current) return;
|
|
17355
|
+
if (preventDefault) e.preventDefault();
|
|
17356
|
+
currentX.current = e.clientX;
|
|
17357
|
+
const dx = e.clientX - startX.current;
|
|
17358
|
+
const dy = e.clientY - startY.current;
|
|
17359
|
+
if (Math.abs(dx) > 10 && Math.abs(dx) > Math.abs(dy)) {
|
|
17360
|
+
isSwipingRef.current = true;
|
|
17361
|
+
offsetXRef.current = dx;
|
|
17362
|
+
}
|
|
17363
|
+
}, [preventDefault]);
|
|
17364
|
+
const onPointerUp = useCallback((e) => {
|
|
17365
|
+
if (!tracking.current) return;
|
|
17366
|
+
tracking.current = false;
|
|
17367
|
+
const dx = e.clientX - startX.current;
|
|
17368
|
+
const dy = e.clientY - startY.current;
|
|
17369
|
+
const elapsed = Date.now() - startTime.current;
|
|
17370
|
+
const velocity = Math.abs(dx) / Math.max(elapsed, 1);
|
|
17371
|
+
offsetXRef.current = 0;
|
|
17372
|
+
isSwipingRef.current = false;
|
|
17373
|
+
if (Math.abs(dx) < threshold && velocity < velocityThreshold) return;
|
|
17374
|
+
if (Math.abs(dx) > Math.abs(dy)) {
|
|
17375
|
+
if (dx < -threshold) callbacks.onSwipeLeft?.();
|
|
17376
|
+
else if (dx > threshold) callbacks.onSwipeRight?.();
|
|
17377
|
+
} else {
|
|
17378
|
+
if (dy < -threshold) callbacks.onSwipeUp?.();
|
|
17379
|
+
else if (dy > threshold) callbacks.onSwipeDown?.();
|
|
17380
|
+
}
|
|
17381
|
+
}, [threshold, velocityThreshold, callbacks]);
|
|
17382
|
+
const onPointerCancel = useCallback(() => {
|
|
17383
|
+
tracking.current = false;
|
|
17384
|
+
offsetXRef.current = 0;
|
|
17385
|
+
isSwipingRef.current = false;
|
|
17386
|
+
}, []);
|
|
17387
|
+
return {
|
|
17388
|
+
onPointerDown,
|
|
17389
|
+
onPointerMove,
|
|
17390
|
+
onPointerUp,
|
|
17391
|
+
onPointerCancel,
|
|
17392
|
+
offsetX: offsetXRef.current,
|
|
17393
|
+
isSwiping: isSwipingRef.current
|
|
17394
|
+
};
|
|
17395
|
+
}
|
|
17396
|
+
var init_useSwipeGesture = __esm({
|
|
17397
|
+
"hooks/useSwipeGesture.ts"() {
|
|
17398
|
+
"use client";
|
|
17399
|
+
}
|
|
17400
|
+
});
|
|
18151
17401
|
function dayWindowForViewport(width) {
|
|
18152
17402
|
if (width <= 640) return 1;
|
|
18153
17403
|
if (width <= 1024) return 3;
|
|
@@ -18432,7 +17682,6 @@ var init_CalendarGrid = __esm({
|
|
|
18432
17682
|
init_TimeSlotCell();
|
|
18433
17683
|
init_useEventBus();
|
|
18434
17684
|
init_useSwipeGesture();
|
|
18435
|
-
init_useTranslate();
|
|
18436
17685
|
SHORT_DATE = { month: "short", day: "numeric" };
|
|
18437
17686
|
CalendarGrid.displayName = "CalendarGrid";
|
|
18438
17687
|
}
|
|
@@ -19741,7 +18990,6 @@ var init_Pagination = __esm({
|
|
|
19741
18990
|
init_Stack();
|
|
19742
18991
|
init_cn();
|
|
19743
18992
|
init_useEventBus();
|
|
19744
|
-
init_useTranslate();
|
|
19745
18993
|
Pagination = ({
|
|
19746
18994
|
currentPage,
|
|
19747
18995
|
totalPages,
|
|
@@ -19945,7 +19193,6 @@ var init_CardGrid = __esm({
|
|
|
19945
19193
|
init_cn();
|
|
19946
19194
|
init_getNestedValue();
|
|
19947
19195
|
init_useEventBus();
|
|
19948
|
-
init_useTranslate();
|
|
19949
19196
|
init_atoms2();
|
|
19950
19197
|
init_Badge();
|
|
19951
19198
|
init_Box();
|
|
@@ -20174,7 +19421,6 @@ var init_Carousel = __esm({
|
|
|
20174
19421
|
init_cn();
|
|
20175
19422
|
init_useEventBus();
|
|
20176
19423
|
init_useSwipeGesture();
|
|
20177
|
-
init_useTranslate();
|
|
20178
19424
|
init_Box();
|
|
20179
19425
|
init_Stack();
|
|
20180
19426
|
init_Button();
|
|
@@ -20411,7 +19657,6 @@ var init_CaseStudyOrganism = __esm({
|
|
|
20411
19657
|
"use client";
|
|
20412
19658
|
init_cn();
|
|
20413
19659
|
init_useEventBus();
|
|
20414
|
-
init_useTranslate();
|
|
20415
19660
|
init_Stack();
|
|
20416
19661
|
init_Typography();
|
|
20417
19662
|
init_SimpleGrid();
|
|
@@ -20616,7 +19861,6 @@ var init_Chart = __esm({
|
|
|
20616
19861
|
init_ErrorState();
|
|
20617
19862
|
init_EmptyState();
|
|
20618
19863
|
init_useEventBus();
|
|
20619
|
-
init_useTranslate();
|
|
20620
19864
|
CHART_COLORS = [
|
|
20621
19865
|
"var(--color-primary)",
|
|
20622
19866
|
"var(--color-success)",
|
|
@@ -21524,7 +20768,6 @@ var init_ClassifierBoard = __esm({
|
|
|
21524
20768
|
"components/game/organisms/puzzles/classifier/ClassifierBoard.tsx"() {
|
|
21525
20769
|
init_atoms2();
|
|
21526
20770
|
init_useEventBus();
|
|
21527
|
-
init_useTranslate();
|
|
21528
20771
|
ClassifierBoard.displayName = "ClassifierBoard";
|
|
21529
20772
|
}
|
|
21530
20773
|
});
|
|
@@ -21556,7 +20799,6 @@ var init_CodeView = __esm({
|
|
|
21556
20799
|
"components/game/organisms/puzzles/state-architect/CodeView.tsx"() {
|
|
21557
20800
|
init_atoms2();
|
|
21558
20801
|
init_cn();
|
|
21559
|
-
init_useTranslate();
|
|
21560
20802
|
CodeView.displayName = "CodeView";
|
|
21561
20803
|
}
|
|
21562
20804
|
});
|
|
@@ -21570,7 +20812,6 @@ var init_Tabs = __esm({
|
|
|
21570
20812
|
init_Box();
|
|
21571
20813
|
init_cn();
|
|
21572
20814
|
init_useEventBus();
|
|
21573
|
-
init_useTranslate();
|
|
21574
20815
|
Tabs = ({
|
|
21575
20816
|
items,
|
|
21576
20817
|
tabs,
|
|
@@ -21747,7 +20988,6 @@ var init_CodeViewer = __esm({
|
|
|
21747
20988
|
init_EmptyState();
|
|
21748
20989
|
init_Tabs();
|
|
21749
20990
|
init_useEventBus();
|
|
21750
|
-
init_useTranslate();
|
|
21751
20991
|
DIFF_STYLES = {
|
|
21752
20992
|
add: {
|
|
21753
20993
|
bg: "bg-success/10",
|
|
@@ -22119,7 +21359,6 @@ var init_ConfirmDialog = __esm({
|
|
|
22119
21359
|
init_Box();
|
|
22120
21360
|
init_Stack();
|
|
22121
21361
|
init_cn();
|
|
22122
|
-
init_useTranslate();
|
|
22123
21362
|
variantConfig = {
|
|
22124
21363
|
danger: {
|
|
22125
21364
|
icon: Trash2,
|
|
@@ -22601,7 +21840,6 @@ var init_DashboardGrid = __esm({
|
|
|
22601
21840
|
"components/core/organisms/layout/DashboardGrid.tsx"() {
|
|
22602
21841
|
init_cn();
|
|
22603
21842
|
init_Box();
|
|
22604
|
-
init_useTranslate();
|
|
22605
21843
|
gapStyles5 = {
|
|
22606
21844
|
sm: "gap-2",
|
|
22607
21845
|
md: "gap-4",
|
|
@@ -22656,6 +21894,20 @@ var init_DashboardGrid = __esm({
|
|
|
22656
21894
|
DashboardGrid.displayName = "DashboardGrid";
|
|
22657
21895
|
}
|
|
22658
21896
|
});
|
|
21897
|
+
|
|
21898
|
+
// hooks/useAuthContext.ts
|
|
21899
|
+
function useAuthContext() {
|
|
21900
|
+
return {
|
|
21901
|
+
user: null,
|
|
21902
|
+
loading: false,
|
|
21903
|
+
signIn: void 0,
|
|
21904
|
+
signOut: void 0
|
|
21905
|
+
};
|
|
21906
|
+
}
|
|
21907
|
+
var init_useAuthContext = __esm({
|
|
21908
|
+
"hooks/useAuthContext.ts"() {
|
|
21909
|
+
}
|
|
21910
|
+
});
|
|
22659
21911
|
var CurrentPagePathContext, CurrentPagePathProvider, useCurrentPagePath;
|
|
22660
21912
|
var init_CurrentPagePathContext = __esm({
|
|
22661
21913
|
"context/CurrentPagePathContext.tsx"() {
|
|
@@ -22681,7 +21933,6 @@ var init_DashboardLayout = __esm({
|
|
|
22681
21933
|
init_Icon();
|
|
22682
21934
|
init_useAuthContext();
|
|
22683
21935
|
init_useEventBus();
|
|
22684
|
-
init_useTranslate();
|
|
22685
21936
|
init_CurrentPagePathContext();
|
|
22686
21937
|
DashboardLayout = ({
|
|
22687
21938
|
appName = "{{APP_TITLE}}",
|
|
@@ -24026,7 +23277,6 @@ var init_DataGrid = __esm({
|
|
|
24026
23277
|
init_cn();
|
|
24027
23278
|
init_getNestedValue();
|
|
24028
23279
|
init_useEventBus();
|
|
24029
|
-
init_useTranslate();
|
|
24030
23280
|
init_Box();
|
|
24031
23281
|
init_Stack();
|
|
24032
23282
|
init_Typography();
|
|
@@ -24465,7 +23715,6 @@ var init_DataList = __esm({
|
|
|
24465
23715
|
init_cn();
|
|
24466
23716
|
init_getNestedValue();
|
|
24467
23717
|
init_useEventBus();
|
|
24468
|
-
init_useTranslate();
|
|
24469
23718
|
init_Box();
|
|
24470
23719
|
init_Stack();
|
|
24471
23720
|
init_Typography();
|
|
@@ -24520,7 +23769,6 @@ var init_FileTree = __esm({
|
|
|
24520
23769
|
init_Box();
|
|
24521
23770
|
init_Typography();
|
|
24522
23771
|
init_Icon();
|
|
24523
|
-
init_useTranslate();
|
|
24524
23772
|
TreeNodeItem = ({
|
|
24525
23773
|
node,
|
|
24526
23774
|
depth,
|
|
@@ -24650,6 +23898,70 @@ var init_FormField = __esm({
|
|
|
24650
23898
|
FormField.displayName = "FormField";
|
|
24651
23899
|
}
|
|
24652
23900
|
});
|
|
23901
|
+
function getOrCreateStore(query) {
|
|
23902
|
+
if (!queryStores.has(query)) {
|
|
23903
|
+
queryStores.set(query, {
|
|
23904
|
+
search: "",
|
|
23905
|
+
filters: {},
|
|
23906
|
+
sortField: void 0,
|
|
23907
|
+
sortDirection: void 0,
|
|
23908
|
+
listeners: /* @__PURE__ */ new Set()
|
|
23909
|
+
});
|
|
23910
|
+
}
|
|
23911
|
+
return queryStores.get(query);
|
|
23912
|
+
}
|
|
23913
|
+
function useQuerySingleton(query) {
|
|
23914
|
+
const [, forceUpdate] = useState({});
|
|
23915
|
+
if (!query) {
|
|
23916
|
+
return null;
|
|
23917
|
+
}
|
|
23918
|
+
const store = useMemo(() => getOrCreateStore(query), [query]);
|
|
23919
|
+
useMemo(() => {
|
|
23920
|
+
const listener = () => forceUpdate({});
|
|
23921
|
+
store.listeners.add(listener);
|
|
23922
|
+
return () => {
|
|
23923
|
+
store.listeners.delete(listener);
|
|
23924
|
+
};
|
|
23925
|
+
}, [store]);
|
|
23926
|
+
const notifyListeners3 = useCallback(() => {
|
|
23927
|
+
store.listeners.forEach((listener) => listener());
|
|
23928
|
+
}, [store]);
|
|
23929
|
+
const setSearch = useCallback((value) => {
|
|
23930
|
+
store.search = value;
|
|
23931
|
+
notifyListeners3();
|
|
23932
|
+
}, [store, notifyListeners3]);
|
|
23933
|
+
const setFilter = useCallback((key, value) => {
|
|
23934
|
+
store.filters = { ...store.filters, [key]: value };
|
|
23935
|
+
notifyListeners3();
|
|
23936
|
+
}, [store, notifyListeners3]);
|
|
23937
|
+
const clearFilters = useCallback(() => {
|
|
23938
|
+
store.filters = {};
|
|
23939
|
+
store.search = "";
|
|
23940
|
+
notifyListeners3();
|
|
23941
|
+
}, [store, notifyListeners3]);
|
|
23942
|
+
const setSort = useCallback((field, direction) => {
|
|
23943
|
+
store.sortField = field;
|
|
23944
|
+
store.sortDirection = direction;
|
|
23945
|
+
notifyListeners3();
|
|
23946
|
+
}, [store, notifyListeners3]);
|
|
23947
|
+
return {
|
|
23948
|
+
search: store.search,
|
|
23949
|
+
setSearch,
|
|
23950
|
+
filters: store.filters,
|
|
23951
|
+
setFilter,
|
|
23952
|
+
clearFilters,
|
|
23953
|
+
sortField: store.sortField,
|
|
23954
|
+
sortDirection: store.sortDirection,
|
|
23955
|
+
setSort
|
|
23956
|
+
};
|
|
23957
|
+
}
|
|
23958
|
+
var queryStores;
|
|
23959
|
+
var init_useQuerySingleton = __esm({
|
|
23960
|
+
"hooks/useQuerySingleton.ts"() {
|
|
23961
|
+
"use client";
|
|
23962
|
+
queryStores = /* @__PURE__ */ new Map();
|
|
23963
|
+
}
|
|
23964
|
+
});
|
|
24653
23965
|
var resolveFilterType, lookStyles6, FilterGroup;
|
|
24654
23966
|
var init_FilterGroup = __esm({
|
|
24655
23967
|
"components/core/molecules/FilterGroup.tsx"() {
|
|
@@ -24663,7 +23975,6 @@ var init_FilterGroup = __esm({
|
|
|
24663
23975
|
init_Icon();
|
|
24664
23976
|
init_useEventBus();
|
|
24665
23977
|
init_useQuerySingleton();
|
|
24666
|
-
init_useTranslate();
|
|
24667
23978
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
24668
23979
|
lookStyles6 = {
|
|
24669
23980
|
toolbar: "",
|
|
@@ -25305,7 +24616,6 @@ var init_RelationSelect = __esm({
|
|
|
25305
24616
|
init_Spinner();
|
|
25306
24617
|
init_Typography();
|
|
25307
24618
|
init_debug();
|
|
25308
|
-
init_useTranslate();
|
|
25309
24619
|
isRelationsDebugEnabled = () => isDebugEnabled();
|
|
25310
24620
|
RelationSelect = ({
|
|
25311
24621
|
value,
|
|
@@ -25530,7 +24840,6 @@ var init_SearchInput = __esm({
|
|
|
25530
24840
|
init_cn();
|
|
25531
24841
|
init_useEventBus();
|
|
25532
24842
|
init_useQuerySingleton();
|
|
25533
|
-
init_useTranslate();
|
|
25534
24843
|
SearchInput = ({
|
|
25535
24844
|
value,
|
|
25536
24845
|
onSearch,
|
|
@@ -25633,7 +24942,6 @@ var init_SidePanel = __esm({
|
|
|
25633
24942
|
init_Typography();
|
|
25634
24943
|
init_cn();
|
|
25635
24944
|
init_useEventBus();
|
|
25636
|
-
init_useTranslate();
|
|
25637
24945
|
SidePanel = ({
|
|
25638
24946
|
title,
|
|
25639
24947
|
children,
|
|
@@ -25812,7 +25120,6 @@ var init_WizardNavigation = __esm({
|
|
|
25812
25120
|
init_Icon();
|
|
25813
25121
|
init_cn();
|
|
25814
25122
|
init_useEventBus();
|
|
25815
|
-
init_useTranslate();
|
|
25816
25123
|
WizardNavigation = ({
|
|
25817
25124
|
currentStep,
|
|
25818
25125
|
totalSteps,
|
|
@@ -25900,7 +25207,6 @@ var init_RepeatableFormSection = __esm({
|
|
|
25900
25207
|
init_Card();
|
|
25901
25208
|
init_Icon();
|
|
25902
25209
|
init_useEventBus();
|
|
25903
|
-
init_useTranslate();
|
|
25904
25210
|
RepeatableFormSection = ({
|
|
25905
25211
|
sectionType,
|
|
25906
25212
|
title,
|
|
@@ -26031,7 +25337,6 @@ var actionTypeLabelKeys, actionTypeIcons, ViolationAlert;
|
|
|
26031
25337
|
var init_ViolationAlert = __esm({
|
|
26032
25338
|
"components/core/molecules/ViolationAlert.tsx"() {
|
|
26033
25339
|
init_cn();
|
|
26034
|
-
init_useTranslate();
|
|
26035
25340
|
init_Box();
|
|
26036
25341
|
init_Stack();
|
|
26037
25342
|
init_Typography();
|
|
@@ -26537,7 +25842,6 @@ var init_LineChart = __esm({
|
|
|
26537
25842
|
"use client";
|
|
26538
25843
|
init_cn();
|
|
26539
25844
|
init_atoms2();
|
|
26540
|
-
init_useTranslate();
|
|
26541
25845
|
LineChart2 = ({
|
|
26542
25846
|
data,
|
|
26543
25847
|
width = 400,
|
|
@@ -28493,7 +27797,6 @@ var init_GraphView = __esm({
|
|
|
28493
27797
|
"use client";
|
|
28494
27798
|
init_cn();
|
|
28495
27799
|
init_atoms2();
|
|
28496
|
-
init_useTranslate();
|
|
28497
27800
|
GROUP_COLORS = [
|
|
28498
27801
|
"#3b82f6",
|
|
28499
27802
|
// blue-500
|
|
@@ -28819,7 +28122,6 @@ var init_NumberStepper = __esm({
|
|
|
28819
28122
|
init_cn();
|
|
28820
28123
|
init_Icon();
|
|
28821
28124
|
init_useEventBus();
|
|
28822
|
-
init_useTranslate();
|
|
28823
28125
|
sizeStyles10 = {
|
|
28824
28126
|
sm: {
|
|
28825
28127
|
button: "w-7 h-7",
|
|
@@ -29160,7 +28462,6 @@ var init_UploadDropZone = __esm({
|
|
|
29160
28462
|
init_Icon();
|
|
29161
28463
|
init_Typography();
|
|
29162
28464
|
init_useEventBus();
|
|
29163
|
-
init_useTranslate();
|
|
29164
28465
|
UploadDropZone = ({
|
|
29165
28466
|
accept,
|
|
29166
28467
|
maxSize,
|
|
@@ -29327,7 +28628,6 @@ var init_Lightbox = __esm({
|
|
|
29327
28628
|
init_Icon();
|
|
29328
28629
|
init_cn();
|
|
29329
28630
|
init_useEventBus();
|
|
29330
|
-
init_useTranslate();
|
|
29331
28631
|
Lightbox = ({
|
|
29332
28632
|
images = [],
|
|
29333
28633
|
currentIndex = 0,
|
|
@@ -29812,7 +29112,6 @@ var init_TableView = __esm({
|
|
|
29812
29112
|
init_cn();
|
|
29813
29113
|
init_getNestedValue();
|
|
29814
29114
|
init_useEventBus();
|
|
29815
|
-
init_useTranslate();
|
|
29816
29115
|
init_Box();
|
|
29817
29116
|
init_Stack();
|
|
29818
29117
|
init_Typography();
|
|
@@ -30016,7 +29315,6 @@ var init_Meter = __esm({
|
|
|
30016
29315
|
init_LoadingState();
|
|
30017
29316
|
init_ErrorState();
|
|
30018
29317
|
init_useEventBus();
|
|
30019
|
-
init_useTranslate();
|
|
30020
29318
|
DEFAULT_THRESHOLDS = [
|
|
30021
29319
|
{ value: 30, color: "var(--color-error)" },
|
|
30022
29320
|
{ value: 70, color: "var(--color-warning)" },
|
|
@@ -30397,6 +29695,79 @@ var init_SwipeableRow = __esm({
|
|
|
30397
29695
|
SwipeableRow.displayName = "SwipeableRow";
|
|
30398
29696
|
}
|
|
30399
29697
|
});
|
|
29698
|
+
function useDragReorder(initialItems, onReorder) {
|
|
29699
|
+
const [items, setItems] = useState(initialItems);
|
|
29700
|
+
const [dragIndex, setDragIndex] = useState(-1);
|
|
29701
|
+
const [dragOverIndex, setDragOverIndex] = useState(-1);
|
|
29702
|
+
const itemsRef = useRef(initialItems);
|
|
29703
|
+
if (initialItems !== itemsRef.current) {
|
|
29704
|
+
itemsRef.current = initialItems;
|
|
29705
|
+
setItems(initialItems);
|
|
29706
|
+
}
|
|
29707
|
+
const isDragging = dragIndex >= 0;
|
|
29708
|
+
const handleDragStart = useCallback((index) => (e) => {
|
|
29709
|
+
e.preventDefault();
|
|
29710
|
+
setDragIndex(index);
|
|
29711
|
+
setDragOverIndex(index);
|
|
29712
|
+
e.target.setPointerCapture?.(e.pointerId);
|
|
29713
|
+
}, []);
|
|
29714
|
+
const handleDragMove = useCallback((index) => (e) => {
|
|
29715
|
+
if (dragIndex < 0) return;
|
|
29716
|
+
const target = document.elementFromPoint(e.clientX, e.clientY);
|
|
29717
|
+
if (!target) return;
|
|
29718
|
+
let el = target;
|
|
29719
|
+
while (el && !el.dataset.dragIndex) {
|
|
29720
|
+
el = el.parentElement;
|
|
29721
|
+
}
|
|
29722
|
+
if (el?.dataset.dragIndex) {
|
|
29723
|
+
const overIndex = parseInt(el.dataset.dragIndex, 10);
|
|
29724
|
+
if (!isNaN(overIndex) && overIndex !== dragOverIndex) {
|
|
29725
|
+
setDragOverIndex(overIndex);
|
|
29726
|
+
}
|
|
29727
|
+
}
|
|
29728
|
+
}, [dragIndex, dragOverIndex]);
|
|
29729
|
+
const handleDragEnd = useCallback(() => {
|
|
29730
|
+
if (dragIndex >= 0 && dragOverIndex >= 0 && dragIndex !== dragOverIndex) {
|
|
29731
|
+
const newItems = [...items];
|
|
29732
|
+
const [movedItem] = newItems.splice(dragIndex, 1);
|
|
29733
|
+
newItems.splice(dragOverIndex, 0, movedItem);
|
|
29734
|
+
setItems(newItems);
|
|
29735
|
+
onReorder(dragIndex, dragOverIndex, items[dragIndex]);
|
|
29736
|
+
}
|
|
29737
|
+
setDragIndex(-1);
|
|
29738
|
+
setDragOverIndex(-1);
|
|
29739
|
+
}, [dragIndex, dragOverIndex, items, onReorder]);
|
|
29740
|
+
const getDragHandleProps = useCallback((index) => ({
|
|
29741
|
+
onPointerDown: handleDragStart(index),
|
|
29742
|
+
style: { cursor: "grab", touchAction: "none" },
|
|
29743
|
+
"aria-grabbed": dragIndex === index,
|
|
29744
|
+
role: "button"
|
|
29745
|
+
}), [handleDragStart, dragIndex]);
|
|
29746
|
+
const getItemProps = useCallback((index) => ({
|
|
29747
|
+
onPointerMove: handleDragMove(index),
|
|
29748
|
+
onPointerUp: handleDragEnd,
|
|
29749
|
+
"aria-dropeffect": "move",
|
|
29750
|
+
"data-drag-index": String(index),
|
|
29751
|
+
style: {
|
|
29752
|
+
opacity: dragIndex === index ? 0.5 : 1,
|
|
29753
|
+
transition: isDragging ? "transform 150ms ease" : void 0,
|
|
29754
|
+
transform: isDragging && dragOverIndex >= 0 ? index === dragIndex ? "scale(1.02)" : index > dragIndex && index <= dragOverIndex ? "translateY(-100%)" : index < dragIndex && index >= dragOverIndex ? "translateY(100%)" : void 0 : void 0
|
|
29755
|
+
}
|
|
29756
|
+
}), [handleDragMove, handleDragEnd, dragIndex, dragOverIndex, isDragging]);
|
|
29757
|
+
return {
|
|
29758
|
+
items,
|
|
29759
|
+
dragIndex,
|
|
29760
|
+
dragOverIndex,
|
|
29761
|
+
isDragging,
|
|
29762
|
+
getDragHandleProps,
|
|
29763
|
+
getItemProps
|
|
29764
|
+
};
|
|
29765
|
+
}
|
|
29766
|
+
var init_useDragReorder = __esm({
|
|
29767
|
+
"hooks/useDragReorder.ts"() {
|
|
29768
|
+
"use client";
|
|
29769
|
+
}
|
|
29770
|
+
});
|
|
30400
29771
|
function useSafeEventBus10() {
|
|
30401
29772
|
try {
|
|
30402
29773
|
return useEventBus();
|
|
@@ -30507,6 +29878,71 @@ var init_SortableList = __esm({
|
|
|
30507
29878
|
SortableList.displayName = "SortableList";
|
|
30508
29879
|
}
|
|
30509
29880
|
});
|
|
29881
|
+
function usePullToRefresh(onRefresh, options = {}) {
|
|
29882
|
+
const { threshold = 60, maxPull = 120 } = options;
|
|
29883
|
+
const [pullDistance, setPullDistance] = useState(0);
|
|
29884
|
+
const [isPulling, setIsPulling] = useState(false);
|
|
29885
|
+
const [isRefreshing, setIsRefreshing] = useState(false);
|
|
29886
|
+
const startY = useRef(0);
|
|
29887
|
+
const scrollTopRef = useRef(0);
|
|
29888
|
+
const onTouchStart = useCallback((e) => {
|
|
29889
|
+
const container = e.currentTarget;
|
|
29890
|
+
scrollTopRef.current = container.scrollTop;
|
|
29891
|
+
if (scrollTopRef.current <= 0) {
|
|
29892
|
+
startY.current = e.touches[0].clientY;
|
|
29893
|
+
setIsPulling(true);
|
|
29894
|
+
}
|
|
29895
|
+
}, []);
|
|
29896
|
+
const onTouchMove = useCallback((e) => {
|
|
29897
|
+
if (!isPulling || isRefreshing) return;
|
|
29898
|
+
const container = e.currentTarget;
|
|
29899
|
+
if (container.scrollTop > 0) {
|
|
29900
|
+
setPullDistance(0);
|
|
29901
|
+
return;
|
|
29902
|
+
}
|
|
29903
|
+
const dy = e.touches[0].clientY - startY.current;
|
|
29904
|
+
if (dy > 0) {
|
|
29905
|
+
const distance = Math.min(dy * 0.5, maxPull);
|
|
29906
|
+
setPullDistance(distance);
|
|
29907
|
+
}
|
|
29908
|
+
}, [isPulling, isRefreshing, maxPull]);
|
|
29909
|
+
const onTouchEnd = useCallback(() => {
|
|
29910
|
+
if (!isPulling) return;
|
|
29911
|
+
setIsPulling(false);
|
|
29912
|
+
if (pullDistance >= threshold && !isRefreshing) {
|
|
29913
|
+
setIsRefreshing(true);
|
|
29914
|
+
setPullDistance(threshold);
|
|
29915
|
+
onRefresh();
|
|
29916
|
+
} else {
|
|
29917
|
+
setPullDistance(0);
|
|
29918
|
+
}
|
|
29919
|
+
}, [isPulling, pullDistance, threshold, isRefreshing, onRefresh]);
|
|
29920
|
+
const endRefresh = useCallback(() => {
|
|
29921
|
+
setIsRefreshing(false);
|
|
29922
|
+
setPullDistance(0);
|
|
29923
|
+
}, []);
|
|
29924
|
+
const containerProps = {
|
|
29925
|
+
onTouchStart,
|
|
29926
|
+
onTouchMove,
|
|
29927
|
+
onTouchEnd,
|
|
29928
|
+
style: {
|
|
29929
|
+
transform: pullDistance > 0 ? `translateY(${pullDistance}px)` : void 0,
|
|
29930
|
+
transition: isPulling ? "none" : "transform 300ms ease-out"
|
|
29931
|
+
}
|
|
29932
|
+
};
|
|
29933
|
+
return {
|
|
29934
|
+
pullDistance,
|
|
29935
|
+
isPulling,
|
|
29936
|
+
isRefreshing,
|
|
29937
|
+
containerProps,
|
|
29938
|
+
endRefresh
|
|
29939
|
+
};
|
|
29940
|
+
}
|
|
29941
|
+
var init_usePullToRefresh = __esm({
|
|
29942
|
+
"hooks/usePullToRefresh.ts"() {
|
|
29943
|
+
"use client";
|
|
29944
|
+
}
|
|
29945
|
+
});
|
|
30510
29946
|
function useSafeEventBus11() {
|
|
30511
29947
|
try {
|
|
30512
29948
|
return useEventBus();
|
|
@@ -31825,7 +31261,6 @@ var init_VoteStack = __esm({
|
|
|
31825
31261
|
init_cn();
|
|
31826
31262
|
init_Icon();
|
|
31827
31263
|
init_useEventBus();
|
|
31828
|
-
init_useTranslate();
|
|
31829
31264
|
sizeStyles12 = {
|
|
31830
31265
|
sm: {
|
|
31831
31266
|
button: "w-7 h-7",
|
|
@@ -32280,7 +31715,6 @@ var init_QrScanner = __esm({
|
|
|
32280
31715
|
init_atoms2();
|
|
32281
31716
|
init_Icon();
|
|
32282
31717
|
init_useEventBus();
|
|
32283
|
-
init_useTranslate();
|
|
32284
31718
|
QrScanner = ({
|
|
32285
31719
|
onScan,
|
|
32286
31720
|
scanEvent,
|
|
@@ -32507,7 +31941,6 @@ var init_OptionConstraintGroup = __esm({
|
|
|
32507
31941
|
"components/core/molecules/OptionConstraintGroup.tsx"() {
|
|
32508
31942
|
init_cn();
|
|
32509
31943
|
init_useEventBus();
|
|
32510
|
-
init_useTranslate();
|
|
32511
31944
|
init_Typography();
|
|
32512
31945
|
init_Box();
|
|
32513
31946
|
init_Label();
|
|
@@ -33463,7 +32896,6 @@ var init_RichBlockEditor = __esm({
|
|
|
33463
32896
|
init_Input();
|
|
33464
32897
|
init_Icon();
|
|
33465
32898
|
init_useEventBus();
|
|
33466
|
-
init_useTranslate();
|
|
33467
32899
|
TOOLBAR_ENTRIES = [
|
|
33468
32900
|
{ type: "paragraph", labelKey: "richBlockEditor.toolbar.text", icon: Type },
|
|
33469
32901
|
{ type: "heading-1", labelKey: "richBlockEditor.toolbar.h1", icon: Heading1 },
|
|
@@ -33654,7 +33086,6 @@ var init_ReplyTree = __esm({
|
|
|
33654
33086
|
"use client";
|
|
33655
33087
|
init_cn();
|
|
33656
33088
|
init_useEventBus();
|
|
33657
|
-
init_useTranslate();
|
|
33658
33089
|
init_atoms2();
|
|
33659
33090
|
init_VoteStack();
|
|
33660
33091
|
ReplyTreeNode = ({
|
|
@@ -33962,7 +33393,6 @@ var init_VersionDiff = __esm({
|
|
|
33962
33393
|
"use client";
|
|
33963
33394
|
init_cn();
|
|
33964
33395
|
init_useEventBus();
|
|
33965
|
-
init_useTranslate();
|
|
33966
33396
|
init_atoms2();
|
|
33967
33397
|
init_Stack();
|
|
33968
33398
|
INLINE_STYLES = {
|
|
@@ -34278,7 +33708,6 @@ var init_DocBreadcrumb = __esm({
|
|
|
34278
33708
|
init_Stack();
|
|
34279
33709
|
init_Typography();
|
|
34280
33710
|
init_Icon();
|
|
34281
|
-
init_useTranslate();
|
|
34282
33711
|
DocBreadcrumb = ({
|
|
34283
33712
|
items,
|
|
34284
33713
|
className
|
|
@@ -34707,7 +34136,6 @@ var init_DocSearch = __esm({
|
|
|
34707
34136
|
init_Typography();
|
|
34708
34137
|
init_Icon();
|
|
34709
34138
|
init_Input();
|
|
34710
|
-
init_useTranslate();
|
|
34711
34139
|
}
|
|
34712
34140
|
});
|
|
34713
34141
|
var DocSidebarCategory, DocSidebar;
|
|
@@ -34720,7 +34148,6 @@ var init_DocSidebar = __esm({
|
|
|
34720
34148
|
init_Stack();
|
|
34721
34149
|
init_Typography();
|
|
34722
34150
|
init_Icon();
|
|
34723
|
-
init_useTranslate();
|
|
34724
34151
|
DocSidebarCategory = ({ item, depth }) => {
|
|
34725
34152
|
const [expanded, setExpanded] = useState(
|
|
34726
34153
|
() => item.items?.some(function hasActive(child) {
|
|
@@ -34827,7 +34254,6 @@ var init_DocTOC = __esm({
|
|
|
34827
34254
|
init_Box();
|
|
34828
34255
|
init_Stack();
|
|
34829
34256
|
init_Typography();
|
|
34830
|
-
init_useTranslate();
|
|
34831
34257
|
DocTOC = ({
|
|
34832
34258
|
items,
|
|
34833
34259
|
activeId,
|
|
@@ -35562,7 +34988,6 @@ var init_Header = __esm({
|
|
|
35562
34988
|
init_Stack();
|
|
35563
34989
|
init_Typography();
|
|
35564
34990
|
init_cn();
|
|
35565
|
-
init_useTranslate();
|
|
35566
34991
|
lookStyles8 = {
|
|
35567
34992
|
"compact-bar": "",
|
|
35568
34993
|
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
@@ -35882,7 +35307,6 @@ var init_Sidebar = __esm({
|
|
|
35882
35307
|
init_Typography();
|
|
35883
35308
|
init_cn();
|
|
35884
35309
|
init_useEventBus();
|
|
35885
|
-
init_useTranslate();
|
|
35886
35310
|
SidebarNavItem = ({ item, collapsed }) => {
|
|
35887
35311
|
const Icon3 = item.icon;
|
|
35888
35312
|
const isActive = item.active ?? item.isActive;
|
|
@@ -36136,7 +35560,6 @@ var init_WizardContainer = __esm({
|
|
|
36136
35560
|
init_Stack();
|
|
36137
35561
|
init_Icon();
|
|
36138
35562
|
init_cn();
|
|
36139
|
-
init_useTranslate();
|
|
36140
35563
|
WizardContainer = ({
|
|
36141
35564
|
steps,
|
|
36142
35565
|
currentStep: controlledStep,
|
|
@@ -36710,7 +36133,6 @@ var init_SignaturePad = __esm({
|
|
|
36710
36133
|
init_LoadingState();
|
|
36711
36134
|
init_ErrorState();
|
|
36712
36135
|
init_useEventBus();
|
|
36713
|
-
init_useTranslate();
|
|
36714
36136
|
SignaturePad = ({
|
|
36715
36137
|
label,
|
|
36716
36138
|
helperText,
|
|
@@ -36904,7 +36326,6 @@ var init_DocumentViewer = __esm({
|
|
|
36904
36326
|
init_EmptyState();
|
|
36905
36327
|
init_Tabs();
|
|
36906
36328
|
init_useEventBus();
|
|
36907
|
-
init_useTranslate();
|
|
36908
36329
|
DocumentViewer = ({
|
|
36909
36330
|
title,
|
|
36910
36331
|
src,
|
|
@@ -37109,7 +36530,6 @@ var init_GraphCanvas = __esm({
|
|
|
37109
36530
|
init_ErrorState();
|
|
37110
36531
|
init_EmptyState();
|
|
37111
36532
|
init_useEventBus();
|
|
37112
|
-
init_useTranslate();
|
|
37113
36533
|
GROUP_COLORS2 = [
|
|
37114
36534
|
"var(--color-primary)",
|
|
37115
36535
|
"var(--color-success)",
|
|
@@ -37847,7 +37267,6 @@ var init_DataTable = __esm({
|
|
|
37847
37267
|
init_molecules2();
|
|
37848
37268
|
init_Icon();
|
|
37849
37269
|
init_useEventBus();
|
|
37850
|
-
init_useTranslate();
|
|
37851
37270
|
init_types3();
|
|
37852
37271
|
lookStyles9 = {
|
|
37853
37272
|
dense: "",
|
|
@@ -37994,7 +37413,6 @@ var init_DebuggerBoard = __esm({
|
|
|
37994
37413
|
"components/game/organisms/puzzles/debugger/DebuggerBoard.tsx"() {
|
|
37995
37414
|
init_atoms2();
|
|
37996
37415
|
init_useEventBus();
|
|
37997
|
-
init_useTranslate();
|
|
37998
37416
|
DebuggerBoard.displayName = "DebuggerBoard";
|
|
37999
37417
|
}
|
|
38000
37418
|
});
|
|
@@ -38165,7 +37583,6 @@ var init_DetailPanel = __esm({
|
|
|
38165
37583
|
init_cn();
|
|
38166
37584
|
init_getNestedValue();
|
|
38167
37585
|
init_useEventBus();
|
|
38168
|
-
init_useTranslate();
|
|
38169
37586
|
ReactMarkdown2 = lazy(() => import('react-markdown'));
|
|
38170
37587
|
DetailPanel = ({
|
|
38171
37588
|
title: propTitle,
|
|
@@ -38744,7 +38161,6 @@ var init_TraitStateViewer = __esm({
|
|
|
38744
38161
|
"components/game/organisms/TraitStateViewer.tsx"() {
|
|
38745
38162
|
"use client";
|
|
38746
38163
|
init_cn();
|
|
38747
|
-
init_useTranslate();
|
|
38748
38164
|
init_Box();
|
|
38749
38165
|
init_Typography();
|
|
38750
38166
|
init_Stack();
|
|
@@ -38803,7 +38219,6 @@ var init_RuleEditor = __esm({
|
|
|
38803
38219
|
"components/game/organisms/puzzles/event-handler/RuleEditor.tsx"() {
|
|
38804
38220
|
init_atoms2();
|
|
38805
38221
|
init_cn();
|
|
38806
|
-
init_useTranslate();
|
|
38807
38222
|
RuleEditor.displayName = "RuleEditor";
|
|
38808
38223
|
}
|
|
38809
38224
|
});
|
|
@@ -38878,7 +38293,6 @@ var init_ObjectRulePanel = __esm({
|
|
|
38878
38293
|
"components/game/organisms/puzzles/event-handler/ObjectRulePanel.tsx"() {
|
|
38879
38294
|
init_atoms2();
|
|
38880
38295
|
init_cn();
|
|
38881
|
-
init_useTranslate();
|
|
38882
38296
|
init_TraitStateViewer();
|
|
38883
38297
|
init_RuleEditor();
|
|
38884
38298
|
nextRuleId = 1;
|
|
@@ -38923,7 +38337,6 @@ var init_EventLog = __esm({
|
|
|
38923
38337
|
"components/game/organisms/puzzles/event-handler/EventLog.tsx"() {
|
|
38924
38338
|
init_atoms2();
|
|
38925
38339
|
init_cn();
|
|
38926
|
-
init_useTranslate();
|
|
38927
38340
|
STATUS_STYLES = {
|
|
38928
38341
|
pending: "text-muted-foreground",
|
|
38929
38342
|
active: "text-primary animate-pulse",
|
|
@@ -39137,7 +38550,6 @@ var init_EventHandlerBoard = __esm({
|
|
|
39137
38550
|
init_atoms2();
|
|
39138
38551
|
init_cn();
|
|
39139
38552
|
init_useEventBus();
|
|
39140
|
-
init_useTranslate();
|
|
39141
38553
|
init_TraitStateViewer();
|
|
39142
38554
|
init_ObjectRulePanel();
|
|
39143
38555
|
init_EventLog();
|
|
@@ -39207,7 +38619,6 @@ var init_FeatureGridOrganism = __esm({
|
|
|
39207
38619
|
"use client";
|
|
39208
38620
|
init_cn();
|
|
39209
38621
|
init_useEventBus();
|
|
39210
|
-
init_useTranslate();
|
|
39211
38622
|
init_Stack();
|
|
39212
38623
|
init_Typography();
|
|
39213
38624
|
init_FeatureGrid();
|
|
@@ -39390,7 +38801,6 @@ var init_Form = __esm({
|
|
|
39390
38801
|
init_RelationSelect();
|
|
39391
38802
|
init_Alert();
|
|
39392
38803
|
init_useEventBus();
|
|
39393
|
-
init_useTranslate();
|
|
39394
38804
|
init_debug();
|
|
39395
38805
|
layoutStyles = {
|
|
39396
38806
|
vertical: "flex flex-col",
|
|
@@ -40550,7 +39960,6 @@ var init_HeroOrganism = __esm({
|
|
|
40550
39960
|
"use client";
|
|
40551
39961
|
init_cn();
|
|
40552
39962
|
init_useEventBus();
|
|
40553
|
-
init_useTranslate();
|
|
40554
39963
|
init_HeroSection();
|
|
40555
39964
|
init_LoadingState();
|
|
40556
39965
|
init_ErrorState();
|
|
@@ -40656,7 +40065,6 @@ var LandingPageTemplate;
|
|
|
40656
40065
|
var init_LandingPageTemplate = __esm({
|
|
40657
40066
|
"components/marketing/templates/LandingPageTemplate.tsx"() {
|
|
40658
40067
|
init_cn();
|
|
40659
|
-
init_useTranslate();
|
|
40660
40068
|
init_Stack();
|
|
40661
40069
|
init_Box();
|
|
40662
40070
|
init_Container();
|
|
@@ -40856,7 +40264,6 @@ var init_List = __esm({
|
|
|
40856
40264
|
init_cn();
|
|
40857
40265
|
init_getNestedValue();
|
|
40858
40266
|
init_useEventBus();
|
|
40859
|
-
init_useTranslate();
|
|
40860
40267
|
init_types3();
|
|
40861
40268
|
STATUS_STYLES2 = {
|
|
40862
40269
|
complete: {
|
|
@@ -41351,7 +40758,6 @@ var init_MasterDetail = __esm({
|
|
|
41351
40758
|
"components/core/organisms/MasterDetail.tsx"() {
|
|
41352
40759
|
"use client";
|
|
41353
40760
|
init_DataTable();
|
|
41354
|
-
init_useTranslate();
|
|
41355
40761
|
MasterDetail.displayName = "MasterDetail";
|
|
41356
40762
|
}
|
|
41357
40763
|
});
|
|
@@ -41360,7 +40766,6 @@ var init_MasterDetailLayout = __esm({
|
|
|
41360
40766
|
"components/core/organisms/layout/MasterDetailLayout.tsx"() {
|
|
41361
40767
|
init_cn();
|
|
41362
40768
|
init_Typography();
|
|
41363
|
-
init_useTranslate();
|
|
41364
40769
|
DefaultEmptyDetail = () => {
|
|
41365
40770
|
const { t } = useTranslate();
|
|
41366
40771
|
return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-full border-2 border-dashed border-border", children: /* @__PURE__ */ jsx(
|
|
@@ -41421,7 +40826,6 @@ var init_MediaGallery = __esm({
|
|
|
41421
40826
|
init_ErrorState();
|
|
41422
40827
|
init_EmptyState();
|
|
41423
40828
|
init_useEventBus();
|
|
41424
|
-
init_useTranslate();
|
|
41425
40829
|
COLUMN_CLASSES = {
|
|
41426
40830
|
2: "grid-cols-2",
|
|
41427
40831
|
3: "grid-cols-2 sm:grid-cols-3",
|
|
@@ -41822,7 +41226,6 @@ var init_NegotiatorBoard = __esm({
|
|
|
41822
41226
|
"components/game/organisms/puzzles/negotiator/NegotiatorBoard.tsx"() {
|
|
41823
41227
|
init_atoms2();
|
|
41824
41228
|
init_useEventBus();
|
|
41825
|
-
init_useTranslate();
|
|
41826
41229
|
NegotiatorBoard.displayName = "NegotiatorBoard";
|
|
41827
41230
|
}
|
|
41828
41231
|
});
|
|
@@ -41832,7 +41235,6 @@ var init_PricingOrganism = __esm({
|
|
|
41832
41235
|
"use client";
|
|
41833
41236
|
init_cn();
|
|
41834
41237
|
init_useEventBus();
|
|
41835
|
-
init_useTranslate();
|
|
41836
41238
|
init_Stack();
|
|
41837
41239
|
init_Typography();
|
|
41838
41240
|
init_PricingGrid();
|
|
@@ -41882,7 +41284,6 @@ var PricingPageTemplate;
|
|
|
41882
41284
|
var init_PricingPageTemplate = __esm({
|
|
41883
41285
|
"components/marketing/templates/PricingPageTemplate.tsx"() {
|
|
41884
41286
|
init_cn();
|
|
41885
|
-
init_useTranslate();
|
|
41886
41287
|
init_Stack();
|
|
41887
41288
|
init_Box();
|
|
41888
41289
|
init_Container();
|
|
@@ -42465,7 +41866,6 @@ var init_TraitsTab = __esm({
|
|
|
42465
41866
|
init_Typography();
|
|
42466
41867
|
init_Stack();
|
|
42467
41868
|
init_EmptyState();
|
|
42468
|
-
init_useTranslate();
|
|
42469
41869
|
TraitsTab.displayName = "TraitsTab";
|
|
42470
41870
|
}
|
|
42471
41871
|
});
|
|
@@ -42543,7 +41943,6 @@ var init_TicksTab = __esm({
|
|
|
42543
41943
|
init_Stack();
|
|
42544
41944
|
init_Card();
|
|
42545
41945
|
init_EmptyState();
|
|
42546
|
-
init_useTranslate();
|
|
42547
41946
|
TicksTab.displayName = "TicksTab";
|
|
42548
41947
|
}
|
|
42549
41948
|
});
|
|
@@ -42617,7 +42016,6 @@ var init_EntitiesTab = __esm({
|
|
|
42617
42016
|
init_Typography();
|
|
42618
42017
|
init_Stack();
|
|
42619
42018
|
init_EmptyState();
|
|
42620
|
-
init_useTranslate();
|
|
42621
42019
|
EntitiesTab.displayName = "EntitiesTab";
|
|
42622
42020
|
}
|
|
42623
42021
|
});
|
|
@@ -42734,7 +42132,6 @@ var init_EventFlowTab = __esm({
|
|
|
42734
42132
|
init_Button();
|
|
42735
42133
|
init_Checkbox();
|
|
42736
42134
|
init_EmptyState();
|
|
42737
|
-
init_useTranslate();
|
|
42738
42135
|
TYPE_BADGES = {
|
|
42739
42136
|
trait: { variant: "primary", icon: "\u{1F504}" },
|
|
42740
42137
|
tick: { variant: "warning", icon: "\u23F1\uFE0F" },
|
|
@@ -42829,7 +42226,6 @@ var init_GuardsPanel = __esm({
|
|
|
42829
42226
|
init_ButtonGroup();
|
|
42830
42227
|
init_Button();
|
|
42831
42228
|
init_EmptyState();
|
|
42832
|
-
init_useTranslate();
|
|
42833
42229
|
GuardsPanel.displayName = "GuardsPanel";
|
|
42834
42230
|
}
|
|
42835
42231
|
});
|
|
@@ -42905,7 +42301,6 @@ var init_VerificationTab = __esm({
|
|
|
42905
42301
|
init_Typography();
|
|
42906
42302
|
init_Stack();
|
|
42907
42303
|
init_EmptyState();
|
|
42908
|
-
init_useTranslate();
|
|
42909
42304
|
STATUS_CONFIG = {
|
|
42910
42305
|
pass: { variant: "success", icon: "\u2713", label: "PASS" },
|
|
42911
42306
|
fail: { variant: "danger", icon: "\u2717", label: "FAIL" },
|
|
@@ -43041,7 +42436,6 @@ var init_TransitionTimeline = __esm({
|
|
|
43041
42436
|
init_Typography();
|
|
43042
42437
|
init_EmptyState();
|
|
43043
42438
|
init_Checkbox();
|
|
43044
|
-
init_useTranslate();
|
|
43045
42439
|
EFFECT_STATUS_VARIANT = {
|
|
43046
42440
|
executed: "success",
|
|
43047
42441
|
failed: "danger",
|
|
@@ -43131,7 +42525,6 @@ var init_ServerBridgeTab = __esm({
|
|
|
43131
42525
|
init_Stack();
|
|
43132
42526
|
init_Card();
|
|
43133
42527
|
init_EmptyState();
|
|
43134
|
-
init_useTranslate();
|
|
43135
42528
|
ServerBridgeTab.displayName = "ServerBridgeTab";
|
|
43136
42529
|
}
|
|
43137
42530
|
});
|
|
@@ -43296,7 +42689,6 @@ var init_EventDispatcherTab = __esm({
|
|
|
43296
42689
|
init_Stack();
|
|
43297
42690
|
init_EmptyState();
|
|
43298
42691
|
init_useEventBus();
|
|
43299
|
-
init_useTranslate();
|
|
43300
42692
|
EventDispatcherTab.displayName = "EventDispatcherTab";
|
|
43301
42693
|
}
|
|
43302
42694
|
});
|
|
@@ -43671,7 +43063,6 @@ var init_RuntimeDebugger2 = __esm({
|
|
|
43671
43063
|
init_TransitionTimeline();
|
|
43672
43064
|
init_ServerBridgeTab();
|
|
43673
43065
|
init_EventDispatcherTab();
|
|
43674
|
-
init_useTranslate();
|
|
43675
43066
|
init_RuntimeDebugger();
|
|
43676
43067
|
RuntimeDebugger.displayName = "RuntimeDebugger";
|
|
43677
43068
|
}
|
|
@@ -44158,7 +43549,6 @@ var init_SequencerBoard = __esm({
|
|
|
44158
43549
|
init_atoms2();
|
|
44159
43550
|
init_cn();
|
|
44160
43551
|
init_useEventBus();
|
|
44161
|
-
init_useTranslate();
|
|
44162
43552
|
init_TraitStateViewer();
|
|
44163
43553
|
init_SequenceBar();
|
|
44164
43554
|
init_ActionPalette();
|
|
@@ -44177,7 +43567,6 @@ var init_ShowcaseOrganism = __esm({
|
|
|
44177
43567
|
"use client";
|
|
44178
43568
|
init_cn();
|
|
44179
43569
|
init_useEventBus();
|
|
44180
|
-
init_useTranslate();
|
|
44181
43570
|
init_Stack();
|
|
44182
43571
|
init_Typography();
|
|
44183
43572
|
init_SimpleGrid();
|
|
@@ -44736,7 +44125,6 @@ var init_SimulatorBoard = __esm({
|
|
|
44736
44125
|
"components/game/organisms/puzzles/simulator/SimulatorBoard.tsx"() {
|
|
44737
44126
|
init_atoms2();
|
|
44738
44127
|
init_useEventBus();
|
|
44739
|
-
init_useTranslate();
|
|
44740
44128
|
SimulatorBoard.displayName = "SimulatorBoard";
|
|
44741
44129
|
}
|
|
44742
44130
|
});
|
|
@@ -44841,7 +44229,6 @@ var init_StatCard = __esm({
|
|
|
44841
44229
|
init_Button();
|
|
44842
44230
|
init_Sparkline();
|
|
44843
44231
|
init_useEventBus();
|
|
44844
|
-
init_useTranslate();
|
|
44845
44232
|
init_Icon();
|
|
44846
44233
|
StatCard = ({
|
|
44847
44234
|
label: propLabel,
|
|
@@ -45197,7 +44584,6 @@ var init_VariablePanel = __esm({
|
|
|
45197
44584
|
"components/game/organisms/puzzles/state-architect/VariablePanel.tsx"() {
|
|
45198
44585
|
init_atoms2();
|
|
45199
44586
|
init_cn();
|
|
45200
|
-
init_useTranslate();
|
|
45201
44587
|
VariablePanel.displayName = "VariablePanel";
|
|
45202
44588
|
}
|
|
45203
44589
|
});
|
|
@@ -45514,7 +44900,6 @@ var init_StateArchitectBoard = __esm({
|
|
|
45514
44900
|
init_atoms2();
|
|
45515
44901
|
init_cn();
|
|
45516
44902
|
init_useEventBus();
|
|
45517
|
-
init_useTranslate();
|
|
45518
44903
|
init_TraitStateViewer();
|
|
45519
44904
|
init_StateNode();
|
|
45520
44905
|
init_TransitionArrow();
|
|
@@ -45534,7 +44919,6 @@ var init_StatsOrganism = __esm({
|
|
|
45534
44919
|
"components/marketing/organisms/StatsOrganism.tsx"() {
|
|
45535
44920
|
"use client";
|
|
45536
44921
|
init_cn();
|
|
45537
|
-
init_useTranslate();
|
|
45538
44922
|
init_StatsGrid();
|
|
45539
44923
|
init_LoadingState();
|
|
45540
44924
|
init_ErrorState();
|
|
@@ -45577,7 +44961,6 @@ var init_StepFlowOrganism = __esm({
|
|
|
45577
44961
|
"components/core/organisms/StepFlowOrganism.tsx"() {
|
|
45578
44962
|
"use client";
|
|
45579
44963
|
init_cn();
|
|
45580
|
-
init_useTranslate();
|
|
45581
44964
|
init_Stack();
|
|
45582
44965
|
init_Typography();
|
|
45583
44966
|
init_StepFlow();
|
|
@@ -45747,7 +45130,6 @@ var init_TeamOrganism = __esm({
|
|
|
45747
45130
|
"components/marketing/organisms/TeamOrganism.tsx"() {
|
|
45748
45131
|
"use client";
|
|
45749
45132
|
init_cn();
|
|
45750
|
-
init_useTranslate();
|
|
45751
45133
|
init_Stack();
|
|
45752
45134
|
init_Typography();
|
|
45753
45135
|
init_SimpleGrid();
|
|
@@ -45805,7 +45187,6 @@ var init_Timeline = __esm({
|
|
|
45805
45187
|
init_LoadingState();
|
|
45806
45188
|
init_ErrorState();
|
|
45807
45189
|
init_EmptyState();
|
|
45808
|
-
init_useTranslate();
|
|
45809
45190
|
lookStyles10 = {
|
|
45810
45191
|
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
45811
45192
|
"vertical-spacious": "",
|
|
@@ -47877,7 +47258,6 @@ var init_UISlotRenderer = __esm({
|
|
|
47877
47258
|
init_Box();
|
|
47878
47259
|
init_Typography();
|
|
47879
47260
|
init_useEventBus();
|
|
47880
|
-
init_useTranslate();
|
|
47881
47261
|
init_slot_types();
|
|
47882
47262
|
init_cn();
|
|
47883
47263
|
init_ErrorBoundary();
|
|
@@ -47933,10 +47313,7 @@ var init_UISlotRenderer = __esm({
|
|
|
47933
47313
|
UISlotRenderer.displayName = "UISlotRenderer";
|
|
47934
47314
|
}
|
|
47935
47315
|
});
|
|
47936
|
-
|
|
47937
|
-
// hooks/index.ts
|
|
47938
|
-
init_useEventBus();
|
|
47939
|
-
var log2 = createLogger("almadar:ui:effects:client-handlers");
|
|
47316
|
+
var log = createLogger("almadar:ui:effects:client-handlers");
|
|
47940
47317
|
function createClientEffectHandlers(options) {
|
|
47941
47318
|
const { eventBus, slotSetter, navigate, notify, callService } = options;
|
|
47942
47319
|
return {
|
|
@@ -47945,10 +47322,10 @@ function createClientEffectHandlers(options) {
|
|
|
47945
47322
|
eventBus.emit(prefixedEvent, payload);
|
|
47946
47323
|
},
|
|
47947
47324
|
persist: async () => {
|
|
47948
|
-
|
|
47325
|
+
log.warn("persist is server-side only, ignored on client");
|
|
47949
47326
|
},
|
|
47950
47327
|
set: () => {
|
|
47951
|
-
|
|
47328
|
+
log.warn("set is server-side only, ignored on client");
|
|
47952
47329
|
},
|
|
47953
47330
|
callService: async (service, action, params) => {
|
|
47954
47331
|
if (callService) return callService(service, action, params);
|
|
@@ -47977,10 +47354,10 @@ function createClientEffectHandlers(options) {
|
|
|
47977
47354
|
slotSetter.addPattern(slot, pattern, props);
|
|
47978
47355
|
},
|
|
47979
47356
|
navigate: navigate ?? ((path) => {
|
|
47980
|
-
|
|
47357
|
+
log.warn("No navigate handler, ignoring", { path });
|
|
47981
47358
|
}),
|
|
47982
47359
|
notify: notify ?? ((msg, type) => {
|
|
47983
|
-
|
|
47360
|
+
log.debug("notify", { type, message: msg });
|
|
47984
47361
|
})
|
|
47985
47362
|
};
|
|
47986
47363
|
}
|
|
@@ -48130,7 +47507,7 @@ function normalizeEventKey(eventKey) {
|
|
|
48130
47507
|
return eventKey.startsWith("UI:") ? eventKey.slice(3) : eventKey;
|
|
48131
47508
|
}
|
|
48132
47509
|
function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
48133
|
-
const eventBus = useEventBus();
|
|
47510
|
+
const eventBus = useEventBus$1();
|
|
48134
47511
|
const { entities } = useEntitySchema();
|
|
48135
47512
|
const traitConfigsByName = options?.traitConfigsByName;
|
|
48136
47513
|
const orbitalsByTrait = options?.orbitalsByTrait;
|