@almadar/ui 5.21.9 → 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 +159 -793
- package/dist/avl/index.js +7 -641
- package/dist/components/game/organisms/three/index.cjs +2 -488
- package/dist/components/game/organisms/three/index.js +1 -487
- package/dist/components/index.cjs +175 -2482
- package/dist/components/index.js +30 -2290
- package/dist/docs/index.cjs +2 -1
- package/dist/docs/index.js +2 -1
- package/dist/hooks/index.cjs +2 -1
- package/dist/hooks/index.js +2 -1
- package/dist/locales/index.cjs +6 -3
- package/dist/locales/index.js +6 -3
- package/dist/providers/index.cjs +144 -762
- package/dist/providers/index.js +4 -622
- package/dist/runtime/index.cjs +583 -1204
- package/dist/runtime/index.js +444 -1065
- package/locales/ar.json +2 -1
- package/locales/en.json +2 -1
- package/locales/sl.json +2 -1
- 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,927 +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
|
-
};
|
|
770
|
-
}
|
|
771
|
-
});
|
|
772
|
-
function useTranslate() {
|
|
773
|
-
return useContext(I18nContext);
|
|
774
|
-
}
|
|
775
|
-
var _meta, coreMessages, coreLocale, I18nContext;
|
|
776
|
-
var init_useTranslate = __esm({
|
|
777
|
-
"hooks/useTranslate.ts"() {
|
|
778
|
-
"use client";
|
|
779
|
-
init_en();
|
|
780
|
-
({ $meta: _meta, ...coreMessages } = en_default);
|
|
781
|
-
coreLocale = coreMessages;
|
|
782
|
-
I18nContext = createContext({
|
|
783
|
-
locale: "en",
|
|
784
|
-
direction: "ltr",
|
|
785
|
-
t: (key) => coreLocale[key] ?? key
|
|
786
|
-
// core locale fallback
|
|
787
|
-
});
|
|
788
|
-
I18nContext.displayName = "I18nContext";
|
|
789
|
-
I18nContext.Provider;
|
|
790
|
-
}
|
|
791
|
-
});
|
|
792
|
-
|
|
793
|
-
// hooks/useAuthContext.ts
|
|
794
|
-
function useAuthContext() {
|
|
795
|
-
return {
|
|
796
|
-
user: null,
|
|
797
|
-
loading: false,
|
|
798
|
-
signIn: void 0,
|
|
799
|
-
signOut: void 0
|
|
800
|
-
};
|
|
801
|
-
}
|
|
802
|
-
var init_useAuthContext = __esm({
|
|
803
|
-
"hooks/useAuthContext.ts"() {
|
|
804
|
-
}
|
|
805
|
-
});
|
|
806
|
-
function useSwipeGesture(callbacks, options = {}) {
|
|
807
|
-
const { threshold = 50, velocityThreshold = 0.3, preventDefault = false } = options;
|
|
808
|
-
const startX = useRef(0);
|
|
809
|
-
const startY = useRef(0);
|
|
810
|
-
const startTime = useRef(0);
|
|
811
|
-
const currentX = useRef(0);
|
|
812
|
-
const tracking = useRef(false);
|
|
813
|
-
const offsetXRef = useRef(0);
|
|
814
|
-
const isSwipingRef = useRef(false);
|
|
815
|
-
const onPointerDown = useCallback((e) => {
|
|
816
|
-
startX.current = e.clientX;
|
|
817
|
-
startY.current = e.clientY;
|
|
818
|
-
currentX.current = e.clientX;
|
|
819
|
-
startTime.current = Date.now();
|
|
820
|
-
tracking.current = true;
|
|
821
|
-
isSwipingRef.current = false;
|
|
822
|
-
offsetXRef.current = 0;
|
|
823
|
-
e.target.setPointerCapture?.(e.pointerId);
|
|
824
|
-
}, []);
|
|
825
|
-
const onPointerMove = useCallback((e) => {
|
|
826
|
-
if (!tracking.current) return;
|
|
827
|
-
if (preventDefault) e.preventDefault();
|
|
828
|
-
currentX.current = e.clientX;
|
|
829
|
-
const dx = e.clientX - startX.current;
|
|
830
|
-
const dy = e.clientY - startY.current;
|
|
831
|
-
if (Math.abs(dx) > 10 && Math.abs(dx) > Math.abs(dy)) {
|
|
832
|
-
isSwipingRef.current = true;
|
|
833
|
-
offsetXRef.current = dx;
|
|
834
|
-
}
|
|
835
|
-
}, [preventDefault]);
|
|
836
|
-
const onPointerUp = useCallback((e) => {
|
|
837
|
-
if (!tracking.current) return;
|
|
838
|
-
tracking.current = false;
|
|
839
|
-
const dx = e.clientX - startX.current;
|
|
840
|
-
const dy = e.clientY - startY.current;
|
|
841
|
-
const elapsed = Date.now() - startTime.current;
|
|
842
|
-
const velocity = Math.abs(dx) / Math.max(elapsed, 1);
|
|
843
|
-
offsetXRef.current = 0;
|
|
844
|
-
isSwipingRef.current = false;
|
|
845
|
-
if (Math.abs(dx) < threshold && velocity < velocityThreshold) return;
|
|
846
|
-
if (Math.abs(dx) > Math.abs(dy)) {
|
|
847
|
-
if (dx < -threshold) callbacks.onSwipeLeft?.();
|
|
848
|
-
else if (dx > threshold) callbacks.onSwipeRight?.();
|
|
849
|
-
} else {
|
|
850
|
-
if (dy < -threshold) callbacks.onSwipeUp?.();
|
|
851
|
-
else if (dy > threshold) callbacks.onSwipeDown?.();
|
|
852
|
-
}
|
|
853
|
-
}, [threshold, velocityThreshold, callbacks]);
|
|
854
|
-
const onPointerCancel = useCallback(() => {
|
|
855
|
-
tracking.current = false;
|
|
856
|
-
offsetXRef.current = 0;
|
|
857
|
-
isSwipingRef.current = false;
|
|
858
|
-
}, []);
|
|
859
|
-
return {
|
|
860
|
-
onPointerDown,
|
|
861
|
-
onPointerMove,
|
|
862
|
-
onPointerUp,
|
|
863
|
-
onPointerCancel,
|
|
864
|
-
offsetX: offsetXRef.current,
|
|
865
|
-
isSwiping: isSwipingRef.current
|
|
866
|
-
};
|
|
867
|
-
}
|
|
868
|
-
var init_useSwipeGesture = __esm({
|
|
869
|
-
"hooks/useSwipeGesture.ts"() {
|
|
870
|
-
"use client";
|
|
871
|
-
}
|
|
872
|
-
});
|
|
873
|
-
function useLongPress(onLongPress, options = {}) {
|
|
874
|
-
const { duration = 500, moveThreshold = 10 } = options;
|
|
875
|
-
const timerRef = useRef(null);
|
|
876
|
-
const startPos = useRef({ x: 0, y: 0 });
|
|
877
|
-
const isPressedRef = useRef(false);
|
|
878
|
-
const firedRef = useRef(false);
|
|
879
|
-
const cancel = useCallback(() => {
|
|
880
|
-
if (timerRef.current) {
|
|
881
|
-
clearTimeout(timerRef.current);
|
|
882
|
-
timerRef.current = null;
|
|
883
|
-
}
|
|
884
|
-
isPressedRef.current = false;
|
|
885
|
-
}, []);
|
|
886
|
-
const onPointerDown = useCallback((e) => {
|
|
887
|
-
firedRef.current = false;
|
|
888
|
-
startPos.current = { x: e.clientX, y: e.clientY };
|
|
889
|
-
isPressedRef.current = true;
|
|
890
|
-
timerRef.current = setTimeout(() => {
|
|
891
|
-
firedRef.current = true;
|
|
892
|
-
isPressedRef.current = false;
|
|
893
|
-
onLongPress();
|
|
894
|
-
}, duration);
|
|
895
|
-
}, [duration, onLongPress]);
|
|
896
|
-
const onPointerMove = useCallback((e) => {
|
|
897
|
-
if (!isPressedRef.current) return;
|
|
898
|
-
const dx = e.clientX - startPos.current.x;
|
|
899
|
-
const dy = e.clientY - startPos.current.y;
|
|
900
|
-
if (Math.sqrt(dx * dx + dy * dy) > moveThreshold) {
|
|
901
|
-
cancel();
|
|
902
|
-
}
|
|
903
|
-
}, [moveThreshold, cancel]);
|
|
904
|
-
const onPointerUp = useCallback(() => {
|
|
905
|
-
cancel();
|
|
906
|
-
}, [cancel]);
|
|
907
|
-
const onPointerCancel = useCallback(() => {
|
|
908
|
-
cancel();
|
|
909
|
-
}, [cancel]);
|
|
910
|
-
return {
|
|
911
|
-
onPointerDown,
|
|
912
|
-
onPointerMove,
|
|
913
|
-
onPointerUp,
|
|
914
|
-
onPointerCancel,
|
|
915
|
-
isPressed: isPressedRef.current
|
|
916
|
-
};
|
|
917
|
-
}
|
|
918
|
-
var init_useLongPress = __esm({
|
|
919
|
-
"hooks/useLongPress.ts"() {
|
|
920
|
-
"use client";
|
|
921
|
-
}
|
|
922
|
-
});
|
|
923
|
-
function useDragReorder(initialItems, onReorder) {
|
|
924
|
-
const [items, setItems] = useState(initialItems);
|
|
925
|
-
const [dragIndex, setDragIndex] = useState(-1);
|
|
926
|
-
const [dragOverIndex, setDragOverIndex] = useState(-1);
|
|
927
|
-
const itemsRef = useRef(initialItems);
|
|
928
|
-
if (initialItems !== itemsRef.current) {
|
|
929
|
-
itemsRef.current = initialItems;
|
|
930
|
-
setItems(initialItems);
|
|
931
|
-
}
|
|
932
|
-
const isDragging = dragIndex >= 0;
|
|
933
|
-
const handleDragStart = useCallback((index) => (e) => {
|
|
934
|
-
e.preventDefault();
|
|
935
|
-
setDragIndex(index);
|
|
936
|
-
setDragOverIndex(index);
|
|
937
|
-
e.target.setPointerCapture?.(e.pointerId);
|
|
938
|
-
}, []);
|
|
939
|
-
const handleDragMove = useCallback((index) => (e) => {
|
|
940
|
-
if (dragIndex < 0) return;
|
|
941
|
-
const target = document.elementFromPoint(e.clientX, e.clientY);
|
|
942
|
-
if (!target) return;
|
|
943
|
-
let el = target;
|
|
944
|
-
while (el && !el.dataset.dragIndex) {
|
|
945
|
-
el = el.parentElement;
|
|
946
|
-
}
|
|
947
|
-
if (el?.dataset.dragIndex) {
|
|
948
|
-
const overIndex = parseInt(el.dataset.dragIndex, 10);
|
|
949
|
-
if (!isNaN(overIndex) && overIndex !== dragOverIndex) {
|
|
950
|
-
setDragOverIndex(overIndex);
|
|
951
|
-
}
|
|
952
|
-
}
|
|
953
|
-
}, [dragIndex, dragOverIndex]);
|
|
954
|
-
const handleDragEnd = useCallback(() => {
|
|
955
|
-
if (dragIndex >= 0 && dragOverIndex >= 0 && dragIndex !== dragOverIndex) {
|
|
956
|
-
const newItems = [...items];
|
|
957
|
-
const [movedItem] = newItems.splice(dragIndex, 1);
|
|
958
|
-
newItems.splice(dragOverIndex, 0, movedItem);
|
|
959
|
-
setItems(newItems);
|
|
960
|
-
onReorder(dragIndex, dragOverIndex, items[dragIndex]);
|
|
961
|
-
}
|
|
962
|
-
setDragIndex(-1);
|
|
963
|
-
setDragOverIndex(-1);
|
|
964
|
-
}, [dragIndex, dragOverIndex, items, onReorder]);
|
|
965
|
-
const getDragHandleProps = useCallback((index) => ({
|
|
966
|
-
onPointerDown: handleDragStart(index),
|
|
967
|
-
style: { cursor: "grab", touchAction: "none" },
|
|
968
|
-
"aria-grabbed": dragIndex === index,
|
|
969
|
-
role: "button"
|
|
970
|
-
}), [handleDragStart, dragIndex]);
|
|
971
|
-
const getItemProps = useCallback((index) => ({
|
|
972
|
-
onPointerMove: handleDragMove(index),
|
|
973
|
-
onPointerUp: handleDragEnd,
|
|
974
|
-
"aria-dropeffect": "move",
|
|
975
|
-
"data-drag-index": String(index),
|
|
976
|
-
style: {
|
|
977
|
-
opacity: dragIndex === index ? 0.5 : 1,
|
|
978
|
-
transition: isDragging ? "transform 150ms ease" : void 0,
|
|
979
|
-
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
|
|
980
|
-
}
|
|
981
|
-
}), [handleDragMove, handleDragEnd, dragIndex, dragOverIndex, isDragging]);
|
|
982
|
-
return {
|
|
983
|
-
items,
|
|
984
|
-
dragIndex,
|
|
985
|
-
dragOverIndex,
|
|
986
|
-
isDragging,
|
|
987
|
-
getDragHandleProps,
|
|
988
|
-
getItemProps
|
|
989
|
-
};
|
|
990
|
-
}
|
|
991
|
-
var init_useDragReorder = __esm({
|
|
992
|
-
"hooks/useDragReorder.ts"() {
|
|
993
|
-
"use client";
|
|
994
|
-
}
|
|
995
|
-
});
|
|
996
|
-
function useInfiniteScroll(onLoadMore, options = {}) {
|
|
997
|
-
const { rootMargin = "200px", hasMore = true, isLoading = false } = options;
|
|
998
|
-
const observerRef = useRef(null);
|
|
999
|
-
const callbackRef = useRef(onLoadMore);
|
|
1000
|
-
callbackRef.current = onLoadMore;
|
|
1001
|
-
const hasMoreRef = useRef(hasMore);
|
|
1002
|
-
hasMoreRef.current = hasMore;
|
|
1003
|
-
const isLoadingRef = useRef(isLoading);
|
|
1004
|
-
isLoadingRef.current = isLoading;
|
|
1005
|
-
useEffect(() => {
|
|
1006
|
-
return () => {
|
|
1007
|
-
observerRef.current?.disconnect();
|
|
1008
|
-
};
|
|
1009
|
-
}, []);
|
|
1010
|
-
const sentinelRef = useCallback((node) => {
|
|
1011
|
-
observerRef.current?.disconnect();
|
|
1012
|
-
if (!node) return;
|
|
1013
|
-
observerRef.current = new IntersectionObserver(
|
|
1014
|
-
(entries) => {
|
|
1015
|
-
const entry = entries[0];
|
|
1016
|
-
if (entry.isIntersecting && hasMoreRef.current && !isLoadingRef.current) {
|
|
1017
|
-
callbackRef.current();
|
|
1018
|
-
}
|
|
1019
|
-
},
|
|
1020
|
-
{ rootMargin }
|
|
1021
|
-
);
|
|
1022
|
-
observerRef.current.observe(node);
|
|
1023
|
-
}, [rootMargin]);
|
|
1024
|
-
return { sentinelRef };
|
|
1025
|
-
}
|
|
1026
|
-
var init_useInfiniteScroll = __esm({
|
|
1027
|
-
"hooks/useInfiniteScroll.ts"() {
|
|
1028
|
-
"use client";
|
|
1029
|
-
}
|
|
1030
|
-
});
|
|
1031
|
-
function usePullToRefresh(onRefresh, options = {}) {
|
|
1032
|
-
const { threshold = 60, maxPull = 120 } = options;
|
|
1033
|
-
const [pullDistance, setPullDistance] = useState(0);
|
|
1034
|
-
const [isPulling, setIsPulling] = useState(false);
|
|
1035
|
-
const [isRefreshing, setIsRefreshing] = useState(false);
|
|
1036
|
-
const startY = useRef(0);
|
|
1037
|
-
const scrollTopRef = useRef(0);
|
|
1038
|
-
const onTouchStart = useCallback((e) => {
|
|
1039
|
-
const container = e.currentTarget;
|
|
1040
|
-
scrollTopRef.current = container.scrollTop;
|
|
1041
|
-
if (scrollTopRef.current <= 0) {
|
|
1042
|
-
startY.current = e.touches[0].clientY;
|
|
1043
|
-
setIsPulling(true);
|
|
1044
|
-
}
|
|
1045
|
-
}, []);
|
|
1046
|
-
const onTouchMove = useCallback((e) => {
|
|
1047
|
-
if (!isPulling || isRefreshing) return;
|
|
1048
|
-
const container = e.currentTarget;
|
|
1049
|
-
if (container.scrollTop > 0) {
|
|
1050
|
-
setPullDistance(0);
|
|
1051
|
-
return;
|
|
1052
|
-
}
|
|
1053
|
-
const dy = e.touches[0].clientY - startY.current;
|
|
1054
|
-
if (dy > 0) {
|
|
1055
|
-
const distance = Math.min(dy * 0.5, maxPull);
|
|
1056
|
-
setPullDistance(distance);
|
|
1057
|
-
}
|
|
1058
|
-
}, [isPulling, isRefreshing, maxPull]);
|
|
1059
|
-
const onTouchEnd = useCallback(() => {
|
|
1060
|
-
if (!isPulling) return;
|
|
1061
|
-
setIsPulling(false);
|
|
1062
|
-
if (pullDistance >= threshold && !isRefreshing) {
|
|
1063
|
-
setIsRefreshing(true);
|
|
1064
|
-
setPullDistance(threshold);
|
|
1065
|
-
onRefresh();
|
|
1066
|
-
} else {
|
|
1067
|
-
setPullDistance(0);
|
|
1068
|
-
}
|
|
1069
|
-
}, [isPulling, pullDistance, threshold, isRefreshing, onRefresh]);
|
|
1070
|
-
const endRefresh = useCallback(() => {
|
|
1071
|
-
setIsRefreshing(false);
|
|
1072
|
-
setPullDistance(0);
|
|
1073
|
-
}, []);
|
|
1074
|
-
const containerProps = {
|
|
1075
|
-
onTouchStart,
|
|
1076
|
-
onTouchMove,
|
|
1077
|
-
onTouchEnd,
|
|
1078
|
-
style: {
|
|
1079
|
-
transform: pullDistance > 0 ? `translateY(${pullDistance}px)` : void 0,
|
|
1080
|
-
transition: isPulling ? "none" : "transform 300ms ease-out"
|
|
1081
|
-
}
|
|
1082
|
-
};
|
|
1083
|
-
return {
|
|
1084
|
-
pullDistance,
|
|
1085
|
-
isPulling,
|
|
1086
|
-
isRefreshing,
|
|
1087
|
-
containerProps,
|
|
1088
|
-
endRefresh
|
|
1089
|
-
};
|
|
1090
|
-
}
|
|
1091
|
-
var init_usePullToRefresh = __esm({
|
|
1092
|
-
"hooks/usePullToRefresh.ts"() {
|
|
1093
|
-
"use client";
|
|
1094
|
-
}
|
|
1095
|
-
});
|
|
1096
|
-
function EntitySchemaProvider({
|
|
1097
|
-
entities,
|
|
1098
|
-
traitLinkedEntities,
|
|
1099
|
-
orbitalsByTrait,
|
|
1100
|
-
children
|
|
1101
|
-
}) {
|
|
1102
|
-
const entitiesMap = useMemo(() => {
|
|
1103
|
-
const map = /* @__PURE__ */ new Map();
|
|
1104
|
-
for (const entity of entities) {
|
|
1105
|
-
map.set(entity.name, entity);
|
|
1106
|
-
}
|
|
1107
|
-
return map;
|
|
1108
|
-
}, [entities]);
|
|
1109
|
-
const linkedMap = useMemo(() => {
|
|
1110
|
-
return traitLinkedEntities ?? /* @__PURE__ */ new Map();
|
|
1111
|
-
}, [traitLinkedEntities]);
|
|
1112
|
-
const orbitalsMap = useMemo(() => {
|
|
1113
|
-
return orbitalsByTrait ?? /* @__PURE__ */ new Map();
|
|
1114
|
-
}, [orbitalsByTrait]);
|
|
1115
|
-
const contextValue = useMemo(
|
|
1116
|
-
() => ({
|
|
1117
|
-
entities: entitiesMap,
|
|
1118
|
-
traitLinkedEntities: linkedMap,
|
|
1119
|
-
orbitalsByTrait: orbitalsMap
|
|
1120
|
-
}),
|
|
1121
|
-
[entitiesMap, linkedMap, orbitalsMap]
|
|
1122
|
-
);
|
|
1123
|
-
return /* @__PURE__ */ jsx(EntitySchemaContext.Provider, { value: contextValue, children });
|
|
1124
|
-
}
|
|
1125
|
-
function useEntitySchema() {
|
|
1126
|
-
const context = useContext(EntitySchemaContext);
|
|
1127
|
-
if (!context) {
|
|
1128
|
-
throw new Error("useEntitySchema must be used within an EntitySchemaProvider");
|
|
1129
|
-
}
|
|
1130
|
-
return context;
|
|
1131
|
-
}
|
|
1132
|
-
function useEntityDefinition(entityName) {
|
|
1133
|
-
const { entities } = useEntitySchema();
|
|
1134
|
-
return entities.get(entityName);
|
|
1135
|
-
}
|
|
1136
|
-
function useEntitySchemaOptional() {
|
|
1137
|
-
return useContext(EntitySchemaContext);
|
|
1138
|
-
}
|
|
1139
|
-
var EntitySchemaContext;
|
|
1140
|
-
var init_EntitySchemaContext = __esm({
|
|
1141
|
-
"runtime/EntitySchemaContext.tsx"() {
|
|
1142
|
-
EntitySchemaContext = createContext(null);
|
|
1143
|
-
}
|
|
1144
|
-
});
|
|
1145
|
-
function cn(...inputs) {
|
|
1146
|
-
return twMerge(clsx(inputs));
|
|
1147
|
-
}
|
|
1148
|
-
var init_cn = __esm({
|
|
1149
|
-
"lib/cn.ts"() {
|
|
1150
|
-
}
|
|
1151
|
-
});
|
|
1152
288
|
var paddingStyles, paddingXStyles, paddingYStyles, marginStyles, marginXStyles, marginYStyles, bgStyles, roundedStyles, shadowStyles, displayStyles, overflowStyles, positionStyles, Box;
|
|
1153
289
|
var init_Box = __esm({
|
|
1154
290
|
"components/core/atoms/Box.tsx"() {
|
|
@@ -2520,7 +1656,6 @@ var init_Modal = __esm({
|
|
|
2520
1656
|
init_Overlay();
|
|
2521
1657
|
init_cn();
|
|
2522
1658
|
init_useEventBus();
|
|
2523
|
-
init_useTranslate();
|
|
2524
1659
|
sizeClasses2 = {
|
|
2525
1660
|
sm: "max-w-md",
|
|
2526
1661
|
md: "max-w-2xl",
|
|
@@ -2742,7 +1877,6 @@ var init_Drawer = __esm({
|
|
|
2742
1877
|
init_Overlay();
|
|
2743
1878
|
init_cn();
|
|
2744
1879
|
init_useEventBus();
|
|
2745
|
-
init_useTranslate();
|
|
2746
1880
|
sizeWidths = {
|
|
2747
1881
|
sm: "w-full sm:w-80",
|
|
2748
1882
|
// 320px
|
|
@@ -3015,7 +2149,6 @@ var init_Toast = __esm({
|
|
|
3015
2149
|
init_Badge();
|
|
3016
2150
|
init_cn();
|
|
3017
2151
|
init_useEventBus();
|
|
3018
|
-
init_useTranslate();
|
|
3019
2152
|
variantClasses = {
|
|
3020
2153
|
success: "bg-card border-[length:var(--border-width)] border-success",
|
|
3021
2154
|
error: "bg-card border-[length:var(--border-width)] border-error",
|
|
@@ -3977,7 +3110,6 @@ var init_Input = __esm({
|
|
|
3977
3110
|
"components/core/atoms/Input.tsx"() {
|
|
3978
3111
|
init_cn();
|
|
3979
3112
|
init_Icon();
|
|
3980
|
-
init_useTranslate();
|
|
3981
3113
|
Input = React84__default.forwardRef(
|
|
3982
3114
|
({
|
|
3983
3115
|
className,
|
|
@@ -4361,7 +3493,6 @@ var init_FilterPill = __esm({
|
|
|
4361
3493
|
"components/core/atoms/FilterPill.tsx"() {
|
|
4362
3494
|
init_cn();
|
|
4363
3495
|
init_useEventBus();
|
|
4364
|
-
init_useTranslate();
|
|
4365
3496
|
init_Icon();
|
|
4366
3497
|
variantStyles5 = {
|
|
4367
3498
|
default: [
|
|
@@ -5748,7 +4879,6 @@ var init_LawReferenceTooltip = __esm({
|
|
|
5748
4879
|
init_Typography();
|
|
5749
4880
|
init_Divider();
|
|
5750
4881
|
init_cn();
|
|
5751
|
-
init_useTranslate();
|
|
5752
4882
|
positionStyles2 = {
|
|
5753
4883
|
top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
|
|
5754
4884
|
bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
|
|
@@ -6359,6 +5489,41 @@ var init_AnimatedCounter = __esm({
|
|
|
6359
5489
|
AnimatedCounter.displayName = "AnimatedCounter";
|
|
6360
5490
|
}
|
|
6361
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
|
+
});
|
|
6362
5527
|
var InfiniteScrollSentinel;
|
|
6363
5528
|
var init_InfiniteScrollSentinel = __esm({
|
|
6364
5529
|
"components/core/atoms/InfiniteScrollSentinel.tsx"() {
|
|
@@ -8707,7 +7872,6 @@ var init_ErrorState = __esm({
|
|
|
8707
7872
|
init_Typography();
|
|
8708
7873
|
init_Icon();
|
|
8709
7874
|
init_useEventBus();
|
|
8710
|
-
init_useTranslate();
|
|
8711
7875
|
ErrorState = ({
|
|
8712
7876
|
title,
|
|
8713
7877
|
message,
|
|
@@ -8750,7 +7914,6 @@ var init_ErrorBoundary = __esm({
|
|
|
8750
7914
|
"use client";
|
|
8751
7915
|
init_cn();
|
|
8752
7916
|
init_ErrorState();
|
|
8753
|
-
init_useTranslate();
|
|
8754
7917
|
DefaultFallback = ({ error, onRetry }) => {
|
|
8755
7918
|
const { t } = useTranslate();
|
|
8756
7919
|
return /* @__PURE__ */ jsx(
|
|
@@ -8900,7 +8063,6 @@ var init_Skeleton = __esm({
|
|
|
8900
8063
|
"components/core/molecules/Skeleton.tsx"() {
|
|
8901
8064
|
"use client";
|
|
8902
8065
|
init_cn();
|
|
8903
|
-
init_useTranslate();
|
|
8904
8066
|
init_Box();
|
|
8905
8067
|
init_Stack();
|
|
8906
8068
|
init_Stack();
|
|
@@ -9577,7 +8739,6 @@ var AboutPageTemplate;
|
|
|
9577
8739
|
var init_AboutPageTemplate = __esm({
|
|
9578
8740
|
"components/marketing/templates/AboutPageTemplate.tsx"() {
|
|
9579
8741
|
init_cn();
|
|
9580
|
-
init_useTranslate();
|
|
9581
8742
|
init_Stack();
|
|
9582
8743
|
init_Box();
|
|
9583
8744
|
init_Typography();
|
|
@@ -9682,7 +8843,6 @@ var init_Alert = __esm({
|
|
|
9682
8843
|
init_Icon();
|
|
9683
8844
|
init_Typography();
|
|
9684
8845
|
init_useEventBus();
|
|
9685
|
-
init_useTranslate();
|
|
9686
8846
|
variantBorderClasses = {
|
|
9687
8847
|
info: "border-info",
|
|
9688
8848
|
success: "border-success",
|
|
@@ -10042,7 +9202,6 @@ var init_Menu = __esm({
|
|
|
10042
9202
|
init_Badge();
|
|
10043
9203
|
init_cn();
|
|
10044
9204
|
init_useEventBus();
|
|
10045
|
-
init_useTranslate();
|
|
10046
9205
|
Menu = ({
|
|
10047
9206
|
trigger,
|
|
10048
9207
|
items,
|
|
@@ -10330,7 +9489,6 @@ var init_FloatingActionButton = __esm({
|
|
|
10330
9489
|
init_Typography();
|
|
10331
9490
|
init_cn();
|
|
10332
9491
|
init_useEventBus();
|
|
10333
|
-
init_useTranslate();
|
|
10334
9492
|
FloatingActionButton = ({
|
|
10335
9493
|
action,
|
|
10336
9494
|
actionPayload,
|
|
@@ -10514,7 +9672,7 @@ var init_MapView = __esm({
|
|
|
10514
9672
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
10515
9673
|
const { useEffect: useEffect71, useRef: useRef66, useCallback: useCallback113, useState: useState103 } = React84__default;
|
|
10516
9674
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
10517
|
-
const { useEventBus:
|
|
9675
|
+
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
10518
9676
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
10519
9677
|
const map = useMap();
|
|
10520
9678
|
const prevRef = useRef66({ centerLat, centerLng, zoom });
|
|
@@ -10556,7 +9714,7 @@ var init_MapView = __esm({
|
|
|
10556
9714
|
className,
|
|
10557
9715
|
showAttribution = true
|
|
10558
9716
|
}) {
|
|
10559
|
-
const eventBus =
|
|
9717
|
+
const eventBus = useEventBus3();
|
|
10560
9718
|
const [clickedPosition, setClickedPosition] = useState103(null);
|
|
10561
9719
|
const handleMapClick = useCallback113((lat, lng) => {
|
|
10562
9720
|
if (showClickedPin) {
|
|
@@ -11252,7 +10410,6 @@ var init_ActionTile = __esm({
|
|
|
11252
10410
|
"components/game/organisms/puzzles/sequencer/ActionTile.tsx"() {
|
|
11253
10411
|
init_atoms2();
|
|
11254
10412
|
init_cn();
|
|
11255
|
-
init_useTranslate();
|
|
11256
10413
|
DRAG_MIME = "application/x-almadar-slot-item";
|
|
11257
10414
|
SIZE_CONFIG = {
|
|
11258
10415
|
sm: { px: "px-2 py-1", icon: "text-lg", text: "text-xs" },
|
|
@@ -11290,7 +10447,6 @@ var init_ActionPalette = __esm({
|
|
|
11290
10447
|
"components/game/organisms/puzzles/sequencer/ActionPalette.tsx"() {
|
|
11291
10448
|
init_atoms2();
|
|
11292
10449
|
init_cn();
|
|
11293
|
-
init_useTranslate();
|
|
11294
10450
|
init_ActionTile();
|
|
11295
10451
|
ActionPalette.displayName = "ActionPalette";
|
|
11296
10452
|
}
|
|
@@ -11300,7 +10456,6 @@ var init_AuthLayout = __esm({
|
|
|
11300
10456
|
"components/core/templates/AuthLayout.tsx"() {
|
|
11301
10457
|
"use client";
|
|
11302
10458
|
init_cn();
|
|
11303
|
-
init_useTranslate();
|
|
11304
10459
|
init_Box();
|
|
11305
10460
|
init_Stack();
|
|
11306
10461
|
init_Typography();
|
|
@@ -11445,7 +10600,6 @@ var init_LoadingState = __esm({
|
|
|
11445
10600
|
init_atoms2();
|
|
11446
10601
|
init_Stack();
|
|
11447
10602
|
init_Typography();
|
|
11448
|
-
init_useTranslate();
|
|
11449
10603
|
LoadingState = ({
|
|
11450
10604
|
title,
|
|
11451
10605
|
message,
|
|
@@ -12629,7 +11783,6 @@ var init_IsometricCanvas = __esm({
|
|
|
12629
11783
|
"use client";
|
|
12630
11784
|
init_cn();
|
|
12631
11785
|
init_useEventBus();
|
|
12632
|
-
init_useTranslate();
|
|
12633
11786
|
init_Box();
|
|
12634
11787
|
init_Stack();
|
|
12635
11788
|
init_Icon();
|
|
@@ -12993,7 +12146,6 @@ var init_BattleBoard = __esm({
|
|
|
12993
12146
|
"use client";
|
|
12994
12147
|
init_cn();
|
|
12995
12148
|
init_useEventBus();
|
|
12996
|
-
init_useTranslate();
|
|
12997
12149
|
init_Box();
|
|
12998
12150
|
init_Button();
|
|
12999
12151
|
init_Typography();
|
|
@@ -13753,7 +12905,6 @@ var log6, SWIM_GUTTER, CENTER_W, BehaviorView;
|
|
|
13753
12905
|
var init_BehaviorView = __esm({
|
|
13754
12906
|
"components/avl/molecules/BehaviorView.tsx"() {
|
|
13755
12907
|
"use client";
|
|
13756
|
-
init_useTranslate();
|
|
13757
12908
|
init_AvlState();
|
|
13758
12909
|
init_AvlTransitionLane();
|
|
13759
12910
|
init_AvlSwimLane();
|
|
@@ -13868,7 +13019,6 @@ var MIN_DIAGRAM_WIDTH, ScaledDiagram;
|
|
|
13868
13019
|
var init_ScaledDiagram = __esm({
|
|
13869
13020
|
"components/core/molecules/ScaledDiagram.tsx"() {
|
|
13870
13021
|
init_Box();
|
|
13871
|
-
init_useTranslate();
|
|
13872
13022
|
init_cn();
|
|
13873
13023
|
MIN_DIAGRAM_WIDTH = 200;
|
|
13874
13024
|
ScaledDiagram = ({
|
|
@@ -14011,7 +13161,6 @@ var init_CodeBlock = __esm({
|
|
|
14011
13161
|
init_Textarea();
|
|
14012
13162
|
init_Icon();
|
|
14013
13163
|
init_useEventBus();
|
|
14014
|
-
init_useTranslate();
|
|
14015
13164
|
SyntaxHighlighter.registerLanguage("json", langJson);
|
|
14016
13165
|
SyntaxHighlighter.registerLanguage("javascript", langJavascript);
|
|
14017
13166
|
SyntaxHighlighter.registerLanguage("js", langJavascript);
|
|
@@ -14518,7 +13667,6 @@ var init_MarkdownContent = __esm({
|
|
|
14518
13667
|
init_katex_min();
|
|
14519
13668
|
init_Box();
|
|
14520
13669
|
init_CodeBlock();
|
|
14521
|
-
init_useTranslate();
|
|
14522
13670
|
init_cn();
|
|
14523
13671
|
MarkdownContent = React84__default.memo(
|
|
14524
13672
|
({ content, direction, className }) => {
|
|
@@ -14685,6 +13833,56 @@ var init_MarkdownContent = __esm({
|
|
|
14685
13833
|
MarkdownContent.displayName = "MarkdownContent";
|
|
14686
13834
|
}
|
|
14687
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
|
+
});
|
|
14688
13886
|
function Card2({
|
|
14689
13887
|
title,
|
|
14690
13888
|
subtitle,
|
|
@@ -14773,7 +13971,6 @@ var init_Card2 = __esm({
|
|
|
14773
13971
|
"components/core/molecules/Card.tsx"() {
|
|
14774
13972
|
"use client";
|
|
14775
13973
|
init_useEventBus();
|
|
14776
|
-
init_useTranslate();
|
|
14777
13974
|
init_useLongPress();
|
|
14778
13975
|
Card2.displayName = "Card";
|
|
14779
13976
|
}
|
|
@@ -14787,7 +13984,6 @@ var init_QuizBlock = __esm({
|
|
|
14787
13984
|
init_Button();
|
|
14788
13985
|
init_Icon();
|
|
14789
13986
|
init_Box();
|
|
14790
|
-
init_useTranslate();
|
|
14791
13987
|
init_cn();
|
|
14792
13988
|
QuizBlock = ({
|
|
14793
13989
|
question,
|
|
@@ -14830,7 +14026,6 @@ var init_StateMachineView = __esm({
|
|
|
14830
14026
|
init_Typography();
|
|
14831
14027
|
init_Button();
|
|
14832
14028
|
init_Icon();
|
|
14833
|
-
init_useTranslate();
|
|
14834
14029
|
init_useEventBus();
|
|
14835
14030
|
init_cn();
|
|
14836
14031
|
StateNode = ({ state, config }) => {
|
|
@@ -16197,7 +15392,6 @@ var init_JazariStateMachine = __esm({
|
|
|
16197
15392
|
init_StateMachineView();
|
|
16198
15393
|
init_visualizer();
|
|
16199
15394
|
init_svg_paths();
|
|
16200
|
-
init_useTranslate();
|
|
16201
15395
|
init_cn();
|
|
16202
15396
|
JAZARI_VISUALIZER_CONFIG = {
|
|
16203
15397
|
...DEFAULT_CONFIG,
|
|
@@ -16353,7 +15547,6 @@ var init_ContentRenderer = __esm({
|
|
|
16353
15547
|
init_ScaledDiagram();
|
|
16354
15548
|
init_JazariStateMachine();
|
|
16355
15549
|
init_parseContentSegments();
|
|
16356
|
-
init_useTranslate();
|
|
16357
15550
|
init_cn();
|
|
16358
15551
|
ContentRenderer = ({
|
|
16359
15552
|
content,
|
|
@@ -16447,7 +15640,6 @@ var init_BookChapterView = __esm({
|
|
|
16447
15640
|
init_ScaledDiagram();
|
|
16448
15641
|
init_ContentRenderer();
|
|
16449
15642
|
init_JazariStateMachine();
|
|
16450
|
-
init_useTranslate();
|
|
16451
15643
|
init_cn();
|
|
16452
15644
|
BookChapterView = ({
|
|
16453
15645
|
chapter,
|
|
@@ -16486,7 +15678,6 @@ var init_BookCoverPage = __esm({
|
|
|
16486
15678
|
init_Typography();
|
|
16487
15679
|
init_Button();
|
|
16488
15680
|
init_Box();
|
|
16489
|
-
init_useTranslate();
|
|
16490
15681
|
init_cn();
|
|
16491
15682
|
BookCoverPage = ({
|
|
16492
15683
|
title,
|
|
@@ -16566,7 +15757,6 @@ var init_BookNavBar = __esm({
|
|
|
16566
15757
|
init_Typography();
|
|
16567
15758
|
init_ProgressBar();
|
|
16568
15759
|
init_Box();
|
|
16569
|
-
init_useTranslate();
|
|
16570
15760
|
init_cn();
|
|
16571
15761
|
BookNavBar = ({
|
|
16572
15762
|
currentPage,
|
|
@@ -16668,7 +15858,6 @@ var init_BookTableOfContents = __esm({
|
|
|
16668
15858
|
init_Button();
|
|
16669
15859
|
init_Box();
|
|
16670
15860
|
init_Badge();
|
|
16671
|
-
init_useTranslate();
|
|
16672
15861
|
init_cn();
|
|
16673
15862
|
BookTableOfContents = ({
|
|
16674
15863
|
parts,
|
|
@@ -16728,7 +15917,6 @@ var init_EmptyState = __esm({
|
|
|
16728
15917
|
init_Stack();
|
|
16729
15918
|
init_Typography();
|
|
16730
15919
|
init_useEventBus();
|
|
16731
|
-
init_useTranslate();
|
|
16732
15920
|
ICON_NAME_ALIASES = {
|
|
16733
15921
|
check: "check-circle",
|
|
16734
15922
|
error: "x-circle",
|
|
@@ -16899,7 +16087,6 @@ var init_BookViewer = __esm({
|
|
|
16899
16087
|
init_Box();
|
|
16900
16088
|
init_Stack();
|
|
16901
16089
|
init_useEventBus();
|
|
16902
|
-
init_useTranslate();
|
|
16903
16090
|
init_cn();
|
|
16904
16091
|
init_BookCoverPage();
|
|
16905
16092
|
init_BookTableOfContents();
|
|
@@ -17331,7 +16518,6 @@ var init_BranchingLogicBuilder = __esm({
|
|
|
17331
16518
|
init_FilterPill();
|
|
17332
16519
|
init_Box();
|
|
17333
16520
|
init_useEventBus();
|
|
17334
|
-
init_useTranslate();
|
|
17335
16521
|
init_cn();
|
|
17336
16522
|
END_OF_SURVEY = "end-of-survey";
|
|
17337
16523
|
RuleRow = ({
|
|
@@ -17784,7 +16970,6 @@ var init_Breadcrumb = __esm({
|
|
|
17784
16970
|
init_Typography();
|
|
17785
16971
|
init_cn();
|
|
17786
16972
|
init_useEventBus();
|
|
17787
|
-
init_useTranslate();
|
|
17788
16973
|
Breadcrumb = ({
|
|
17789
16974
|
items,
|
|
17790
16975
|
separator = "chevron-right",
|
|
@@ -18020,7 +17205,6 @@ var init_BuilderBoard = __esm({
|
|
|
18020
17205
|
"components/game/organisms/puzzles/builder/BuilderBoard.tsx"() {
|
|
18021
17206
|
init_atoms2();
|
|
18022
17207
|
init_useEventBus();
|
|
18023
|
-
init_useTranslate();
|
|
18024
17208
|
BuilderBoard.displayName = "BuilderBoard";
|
|
18025
17209
|
}
|
|
18026
17210
|
});
|
|
@@ -18147,6 +17331,73 @@ var init_ButtonGroup = __esm({
|
|
|
18147
17331
|
ButtonGroup.displayName = "ButtonGroup";
|
|
18148
17332
|
}
|
|
18149
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
|
+
});
|
|
18150
17401
|
function dayWindowForViewport(width) {
|
|
18151
17402
|
if (width <= 640) return 1;
|
|
18152
17403
|
if (width <= 1024) return 3;
|
|
@@ -18431,7 +17682,6 @@ var init_CalendarGrid = __esm({
|
|
|
18431
17682
|
init_TimeSlotCell();
|
|
18432
17683
|
init_useEventBus();
|
|
18433
17684
|
init_useSwipeGesture();
|
|
18434
|
-
init_useTranslate();
|
|
18435
17685
|
SHORT_DATE = { month: "short", day: "numeric" };
|
|
18436
17686
|
CalendarGrid.displayName = "CalendarGrid";
|
|
18437
17687
|
}
|
|
@@ -19740,7 +18990,6 @@ var init_Pagination = __esm({
|
|
|
19740
18990
|
init_Stack();
|
|
19741
18991
|
init_cn();
|
|
19742
18992
|
init_useEventBus();
|
|
19743
|
-
init_useTranslate();
|
|
19744
18993
|
Pagination = ({
|
|
19745
18994
|
currentPage,
|
|
19746
18995
|
totalPages,
|
|
@@ -19944,7 +19193,6 @@ var init_CardGrid = __esm({
|
|
|
19944
19193
|
init_cn();
|
|
19945
19194
|
init_getNestedValue();
|
|
19946
19195
|
init_useEventBus();
|
|
19947
|
-
init_useTranslate();
|
|
19948
19196
|
init_atoms2();
|
|
19949
19197
|
init_Badge();
|
|
19950
19198
|
init_Box();
|
|
@@ -20173,7 +19421,6 @@ var init_Carousel = __esm({
|
|
|
20173
19421
|
init_cn();
|
|
20174
19422
|
init_useEventBus();
|
|
20175
19423
|
init_useSwipeGesture();
|
|
20176
|
-
init_useTranslate();
|
|
20177
19424
|
init_Box();
|
|
20178
19425
|
init_Stack();
|
|
20179
19426
|
init_Button();
|
|
@@ -20410,7 +19657,6 @@ var init_CaseStudyOrganism = __esm({
|
|
|
20410
19657
|
"use client";
|
|
20411
19658
|
init_cn();
|
|
20412
19659
|
init_useEventBus();
|
|
20413
|
-
init_useTranslate();
|
|
20414
19660
|
init_Stack();
|
|
20415
19661
|
init_Typography();
|
|
20416
19662
|
init_SimpleGrid();
|
|
@@ -20615,7 +19861,6 @@ var init_Chart = __esm({
|
|
|
20615
19861
|
init_ErrorState();
|
|
20616
19862
|
init_EmptyState();
|
|
20617
19863
|
init_useEventBus();
|
|
20618
|
-
init_useTranslate();
|
|
20619
19864
|
CHART_COLORS = [
|
|
20620
19865
|
"var(--color-primary)",
|
|
20621
19866
|
"var(--color-success)",
|
|
@@ -21523,7 +20768,6 @@ var init_ClassifierBoard = __esm({
|
|
|
21523
20768
|
"components/game/organisms/puzzles/classifier/ClassifierBoard.tsx"() {
|
|
21524
20769
|
init_atoms2();
|
|
21525
20770
|
init_useEventBus();
|
|
21526
|
-
init_useTranslate();
|
|
21527
20771
|
ClassifierBoard.displayName = "ClassifierBoard";
|
|
21528
20772
|
}
|
|
21529
20773
|
});
|
|
@@ -21555,7 +20799,6 @@ var init_CodeView = __esm({
|
|
|
21555
20799
|
"components/game/organisms/puzzles/state-architect/CodeView.tsx"() {
|
|
21556
20800
|
init_atoms2();
|
|
21557
20801
|
init_cn();
|
|
21558
|
-
init_useTranslate();
|
|
21559
20802
|
CodeView.displayName = "CodeView";
|
|
21560
20803
|
}
|
|
21561
20804
|
});
|
|
@@ -21569,7 +20812,6 @@ var init_Tabs = __esm({
|
|
|
21569
20812
|
init_Box();
|
|
21570
20813
|
init_cn();
|
|
21571
20814
|
init_useEventBus();
|
|
21572
|
-
init_useTranslate();
|
|
21573
20815
|
Tabs = ({
|
|
21574
20816
|
items,
|
|
21575
20817
|
tabs,
|
|
@@ -21746,7 +20988,6 @@ var init_CodeViewer = __esm({
|
|
|
21746
20988
|
init_EmptyState();
|
|
21747
20989
|
init_Tabs();
|
|
21748
20990
|
init_useEventBus();
|
|
21749
|
-
init_useTranslate();
|
|
21750
20991
|
DIFF_STYLES = {
|
|
21751
20992
|
add: {
|
|
21752
20993
|
bg: "bg-success/10",
|
|
@@ -22118,7 +21359,6 @@ var init_ConfirmDialog = __esm({
|
|
|
22118
21359
|
init_Box();
|
|
22119
21360
|
init_Stack();
|
|
22120
21361
|
init_cn();
|
|
22121
|
-
init_useTranslate();
|
|
22122
21362
|
variantConfig = {
|
|
22123
21363
|
danger: {
|
|
22124
21364
|
icon: Trash2,
|
|
@@ -22600,7 +21840,6 @@ var init_DashboardGrid = __esm({
|
|
|
22600
21840
|
"components/core/organisms/layout/DashboardGrid.tsx"() {
|
|
22601
21841
|
init_cn();
|
|
22602
21842
|
init_Box();
|
|
22603
|
-
init_useTranslate();
|
|
22604
21843
|
gapStyles5 = {
|
|
22605
21844
|
sm: "gap-2",
|
|
22606
21845
|
md: "gap-4",
|
|
@@ -22655,6 +21894,20 @@ var init_DashboardGrid = __esm({
|
|
|
22655
21894
|
DashboardGrid.displayName = "DashboardGrid";
|
|
22656
21895
|
}
|
|
22657
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
|
+
});
|
|
22658
21911
|
var CurrentPagePathContext, CurrentPagePathProvider, useCurrentPagePath;
|
|
22659
21912
|
var init_CurrentPagePathContext = __esm({
|
|
22660
21913
|
"context/CurrentPagePathContext.tsx"() {
|
|
@@ -22680,7 +21933,6 @@ var init_DashboardLayout = __esm({
|
|
|
22680
21933
|
init_Icon();
|
|
22681
21934
|
init_useAuthContext();
|
|
22682
21935
|
init_useEventBus();
|
|
22683
|
-
init_useTranslate();
|
|
22684
21936
|
init_CurrentPagePathContext();
|
|
22685
21937
|
DashboardLayout = ({
|
|
22686
21938
|
appName = "{{APP_TITLE}}",
|
|
@@ -24025,7 +23277,6 @@ var init_DataGrid = __esm({
|
|
|
24025
23277
|
init_cn();
|
|
24026
23278
|
init_getNestedValue();
|
|
24027
23279
|
init_useEventBus();
|
|
24028
|
-
init_useTranslate();
|
|
24029
23280
|
init_Box();
|
|
24030
23281
|
init_Stack();
|
|
24031
23282
|
init_Typography();
|
|
@@ -24464,7 +23715,6 @@ var init_DataList = __esm({
|
|
|
24464
23715
|
init_cn();
|
|
24465
23716
|
init_getNestedValue();
|
|
24466
23717
|
init_useEventBus();
|
|
24467
|
-
init_useTranslate();
|
|
24468
23718
|
init_Box();
|
|
24469
23719
|
init_Stack();
|
|
24470
23720
|
init_Typography();
|
|
@@ -24519,7 +23769,6 @@ var init_FileTree = __esm({
|
|
|
24519
23769
|
init_Box();
|
|
24520
23770
|
init_Typography();
|
|
24521
23771
|
init_Icon();
|
|
24522
|
-
init_useTranslate();
|
|
24523
23772
|
TreeNodeItem = ({
|
|
24524
23773
|
node,
|
|
24525
23774
|
depth,
|
|
@@ -24649,6 +23898,70 @@ var init_FormField = __esm({
|
|
|
24649
23898
|
FormField.displayName = "FormField";
|
|
24650
23899
|
}
|
|
24651
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
|
+
});
|
|
24652
23965
|
var resolveFilterType, lookStyles6, FilterGroup;
|
|
24653
23966
|
var init_FilterGroup = __esm({
|
|
24654
23967
|
"components/core/molecules/FilterGroup.tsx"() {
|
|
@@ -24662,7 +23975,6 @@ var init_FilterGroup = __esm({
|
|
|
24662
23975
|
init_Icon();
|
|
24663
23976
|
init_useEventBus();
|
|
24664
23977
|
init_useQuerySingleton();
|
|
24665
|
-
init_useTranslate();
|
|
24666
23978
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
24667
23979
|
lookStyles6 = {
|
|
24668
23980
|
toolbar: "",
|
|
@@ -25304,13 +24616,12 @@ var init_RelationSelect = __esm({
|
|
|
25304
24616
|
init_Spinner();
|
|
25305
24617
|
init_Typography();
|
|
25306
24618
|
init_debug();
|
|
25307
|
-
init_useTranslate();
|
|
25308
24619
|
isRelationsDebugEnabled = () => isDebugEnabled();
|
|
25309
24620
|
RelationSelect = ({
|
|
25310
24621
|
value,
|
|
25311
24622
|
onChange,
|
|
25312
24623
|
options = [],
|
|
25313
|
-
placeholder
|
|
24624
|
+
placeholder,
|
|
25314
24625
|
required = false,
|
|
25315
24626
|
disabled = false,
|
|
25316
24627
|
isLoading = false,
|
|
@@ -25322,6 +24633,7 @@ var init_RelationSelect = __esm({
|
|
|
25322
24633
|
emptyMessage
|
|
25323
24634
|
}) => {
|
|
25324
24635
|
const { t } = useTranslate();
|
|
24636
|
+
const resolvedPlaceholder = placeholder ?? t("relationSelect.selectPlaceholder");
|
|
25325
24637
|
const resolvedSearchPlaceholder = searchPlaceholder ?? t("common.search");
|
|
25326
24638
|
const resolvedEmptyMessage = emptyMessage ?? t("empty.noOptionsFound");
|
|
25327
24639
|
const [isOpen, setIsOpen] = useState(false);
|
|
@@ -25431,7 +24743,7 @@ var init_RelationSelect = __esm({
|
|
|
25431
24743
|
children: isLoading ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25432
24744
|
/* @__PURE__ */ jsx(Spinner, { size: "sm" }),
|
|
25433
24745
|
/* @__PURE__ */ jsx(Typography, { as: "span", children: t("common.loading") })
|
|
25434
|
-
] }) : selectedOption ? selectedOption.label :
|
|
24746
|
+
] }) : selectedOption ? selectedOption.label : resolvedPlaceholder
|
|
25435
24747
|
}
|
|
25436
24748
|
),
|
|
25437
24749
|
/* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
@@ -25528,7 +24840,6 @@ var init_SearchInput = __esm({
|
|
|
25528
24840
|
init_cn();
|
|
25529
24841
|
init_useEventBus();
|
|
25530
24842
|
init_useQuerySingleton();
|
|
25531
|
-
init_useTranslate();
|
|
25532
24843
|
SearchInput = ({
|
|
25533
24844
|
value,
|
|
25534
24845
|
onSearch,
|
|
@@ -25631,7 +24942,6 @@ var init_SidePanel = __esm({
|
|
|
25631
24942
|
init_Typography();
|
|
25632
24943
|
init_cn();
|
|
25633
24944
|
init_useEventBus();
|
|
25634
|
-
init_useTranslate();
|
|
25635
24945
|
SidePanel = ({
|
|
25636
24946
|
title,
|
|
25637
24947
|
children,
|
|
@@ -25810,7 +25120,6 @@ var init_WizardNavigation = __esm({
|
|
|
25810
25120
|
init_Icon();
|
|
25811
25121
|
init_cn();
|
|
25812
25122
|
init_useEventBus();
|
|
25813
|
-
init_useTranslate();
|
|
25814
25123
|
WizardNavigation = ({
|
|
25815
25124
|
currentStep,
|
|
25816
25125
|
totalSteps,
|
|
@@ -25898,7 +25207,6 @@ var init_RepeatableFormSection = __esm({
|
|
|
25898
25207
|
init_Card();
|
|
25899
25208
|
init_Icon();
|
|
25900
25209
|
init_useEventBus();
|
|
25901
|
-
init_useTranslate();
|
|
25902
25210
|
RepeatableFormSection = ({
|
|
25903
25211
|
sectionType,
|
|
25904
25212
|
title,
|
|
@@ -26029,7 +25337,6 @@ var actionTypeLabelKeys, actionTypeIcons, ViolationAlert;
|
|
|
26029
25337
|
var init_ViolationAlert = __esm({
|
|
26030
25338
|
"components/core/molecules/ViolationAlert.tsx"() {
|
|
26031
25339
|
init_cn();
|
|
26032
|
-
init_useTranslate();
|
|
26033
25340
|
init_Box();
|
|
26034
25341
|
init_Stack();
|
|
26035
25342
|
init_Typography();
|
|
@@ -26535,7 +25842,6 @@ var init_LineChart = __esm({
|
|
|
26535
25842
|
"use client";
|
|
26536
25843
|
init_cn();
|
|
26537
25844
|
init_atoms2();
|
|
26538
|
-
init_useTranslate();
|
|
26539
25845
|
LineChart2 = ({
|
|
26540
25846
|
data,
|
|
26541
25847
|
width = 400,
|
|
@@ -28491,7 +27797,6 @@ var init_GraphView = __esm({
|
|
|
28491
27797
|
"use client";
|
|
28492
27798
|
init_cn();
|
|
28493
27799
|
init_atoms2();
|
|
28494
|
-
init_useTranslate();
|
|
28495
27800
|
GROUP_COLORS = [
|
|
28496
27801
|
"#3b82f6",
|
|
28497
27802
|
// blue-500
|
|
@@ -28817,7 +28122,6 @@ var init_NumberStepper = __esm({
|
|
|
28817
28122
|
init_cn();
|
|
28818
28123
|
init_Icon();
|
|
28819
28124
|
init_useEventBus();
|
|
28820
|
-
init_useTranslate();
|
|
28821
28125
|
sizeStyles10 = {
|
|
28822
28126
|
sm: {
|
|
28823
28127
|
button: "w-7 h-7",
|
|
@@ -29158,7 +28462,6 @@ var init_UploadDropZone = __esm({
|
|
|
29158
28462
|
init_Icon();
|
|
29159
28463
|
init_Typography();
|
|
29160
28464
|
init_useEventBus();
|
|
29161
|
-
init_useTranslate();
|
|
29162
28465
|
UploadDropZone = ({
|
|
29163
28466
|
accept,
|
|
29164
28467
|
maxSize,
|
|
@@ -29325,7 +28628,6 @@ var init_Lightbox = __esm({
|
|
|
29325
28628
|
init_Icon();
|
|
29326
28629
|
init_cn();
|
|
29327
28630
|
init_useEventBus();
|
|
29328
|
-
init_useTranslate();
|
|
29329
28631
|
Lightbox = ({
|
|
29330
28632
|
images = [],
|
|
29331
28633
|
currentIndex = 0,
|
|
@@ -29810,7 +29112,6 @@ var init_TableView = __esm({
|
|
|
29810
29112
|
init_cn();
|
|
29811
29113
|
init_getNestedValue();
|
|
29812
29114
|
init_useEventBus();
|
|
29813
|
-
init_useTranslate();
|
|
29814
29115
|
init_Box();
|
|
29815
29116
|
init_Stack();
|
|
29816
29117
|
init_Typography();
|
|
@@ -30014,7 +29315,6 @@ var init_Meter = __esm({
|
|
|
30014
29315
|
init_LoadingState();
|
|
30015
29316
|
init_ErrorState();
|
|
30016
29317
|
init_useEventBus();
|
|
30017
|
-
init_useTranslate();
|
|
30018
29318
|
DEFAULT_THRESHOLDS = [
|
|
30019
29319
|
{ value: 30, color: "var(--color-error)" },
|
|
30020
29320
|
{ value: 70, color: "var(--color-warning)" },
|
|
@@ -30395,6 +29695,79 @@ var init_SwipeableRow = __esm({
|
|
|
30395
29695
|
SwipeableRow.displayName = "SwipeableRow";
|
|
30396
29696
|
}
|
|
30397
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
|
+
});
|
|
30398
29771
|
function useSafeEventBus10() {
|
|
30399
29772
|
try {
|
|
30400
29773
|
return useEventBus();
|
|
@@ -30505,6 +29878,71 @@ var init_SortableList = __esm({
|
|
|
30505
29878
|
SortableList.displayName = "SortableList";
|
|
30506
29879
|
}
|
|
30507
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
|
+
});
|
|
30508
29946
|
function useSafeEventBus11() {
|
|
30509
29947
|
try {
|
|
30510
29948
|
return useEventBus();
|
|
@@ -31823,7 +31261,6 @@ var init_VoteStack = __esm({
|
|
|
31823
31261
|
init_cn();
|
|
31824
31262
|
init_Icon();
|
|
31825
31263
|
init_useEventBus();
|
|
31826
|
-
init_useTranslate();
|
|
31827
31264
|
sizeStyles12 = {
|
|
31828
31265
|
sm: {
|
|
31829
31266
|
button: "w-7 h-7",
|
|
@@ -32278,7 +31715,6 @@ var init_QrScanner = __esm({
|
|
|
32278
31715
|
init_atoms2();
|
|
32279
31716
|
init_Icon();
|
|
32280
31717
|
init_useEventBus();
|
|
32281
|
-
init_useTranslate();
|
|
32282
31718
|
QrScanner = ({
|
|
32283
31719
|
onScan,
|
|
32284
31720
|
scanEvent,
|
|
@@ -32505,7 +31941,6 @@ var init_OptionConstraintGroup = __esm({
|
|
|
32505
31941
|
"components/core/molecules/OptionConstraintGroup.tsx"() {
|
|
32506
31942
|
init_cn();
|
|
32507
31943
|
init_useEventBus();
|
|
32508
|
-
init_useTranslate();
|
|
32509
31944
|
init_Typography();
|
|
32510
31945
|
init_Box();
|
|
32511
31946
|
init_Label();
|
|
@@ -33461,7 +32896,6 @@ var init_RichBlockEditor = __esm({
|
|
|
33461
32896
|
init_Input();
|
|
33462
32897
|
init_Icon();
|
|
33463
32898
|
init_useEventBus();
|
|
33464
|
-
init_useTranslate();
|
|
33465
32899
|
TOOLBAR_ENTRIES = [
|
|
33466
32900
|
{ type: "paragraph", labelKey: "richBlockEditor.toolbar.text", icon: Type },
|
|
33467
32901
|
{ type: "heading-1", labelKey: "richBlockEditor.toolbar.h1", icon: Heading1 },
|
|
@@ -33652,7 +33086,6 @@ var init_ReplyTree = __esm({
|
|
|
33652
33086
|
"use client";
|
|
33653
33087
|
init_cn();
|
|
33654
33088
|
init_useEventBus();
|
|
33655
|
-
init_useTranslate();
|
|
33656
33089
|
init_atoms2();
|
|
33657
33090
|
init_VoteStack();
|
|
33658
33091
|
ReplyTreeNode = ({
|
|
@@ -33960,7 +33393,6 @@ var init_VersionDiff = __esm({
|
|
|
33960
33393
|
"use client";
|
|
33961
33394
|
init_cn();
|
|
33962
33395
|
init_useEventBus();
|
|
33963
|
-
init_useTranslate();
|
|
33964
33396
|
init_atoms2();
|
|
33965
33397
|
init_Stack();
|
|
33966
33398
|
INLINE_STYLES = {
|
|
@@ -34276,7 +33708,6 @@ var init_DocBreadcrumb = __esm({
|
|
|
34276
33708
|
init_Stack();
|
|
34277
33709
|
init_Typography();
|
|
34278
33710
|
init_Icon();
|
|
34279
|
-
init_useTranslate();
|
|
34280
33711
|
DocBreadcrumb = ({
|
|
34281
33712
|
items,
|
|
34282
33713
|
className
|
|
@@ -34705,7 +34136,6 @@ var init_DocSearch = __esm({
|
|
|
34705
34136
|
init_Typography();
|
|
34706
34137
|
init_Icon();
|
|
34707
34138
|
init_Input();
|
|
34708
|
-
init_useTranslate();
|
|
34709
34139
|
}
|
|
34710
34140
|
});
|
|
34711
34141
|
var DocSidebarCategory, DocSidebar;
|
|
@@ -34718,7 +34148,6 @@ var init_DocSidebar = __esm({
|
|
|
34718
34148
|
init_Stack();
|
|
34719
34149
|
init_Typography();
|
|
34720
34150
|
init_Icon();
|
|
34721
|
-
init_useTranslate();
|
|
34722
34151
|
DocSidebarCategory = ({ item, depth }) => {
|
|
34723
34152
|
const [expanded, setExpanded] = useState(
|
|
34724
34153
|
() => item.items?.some(function hasActive(child) {
|
|
@@ -34825,7 +34254,6 @@ var init_DocTOC = __esm({
|
|
|
34825
34254
|
init_Box();
|
|
34826
34255
|
init_Stack();
|
|
34827
34256
|
init_Typography();
|
|
34828
|
-
init_useTranslate();
|
|
34829
34257
|
DocTOC = ({
|
|
34830
34258
|
items,
|
|
34831
34259
|
activeId,
|
|
@@ -35560,7 +34988,6 @@ var init_Header = __esm({
|
|
|
35560
34988
|
init_Stack();
|
|
35561
34989
|
init_Typography();
|
|
35562
34990
|
init_cn();
|
|
35563
|
-
init_useTranslate();
|
|
35564
34991
|
lookStyles8 = {
|
|
35565
34992
|
"compact-bar": "",
|
|
35566
34993
|
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
@@ -35880,7 +35307,6 @@ var init_Sidebar = __esm({
|
|
|
35880
35307
|
init_Typography();
|
|
35881
35308
|
init_cn();
|
|
35882
35309
|
init_useEventBus();
|
|
35883
|
-
init_useTranslate();
|
|
35884
35310
|
SidebarNavItem = ({ item, collapsed }) => {
|
|
35885
35311
|
const Icon3 = item.icon;
|
|
35886
35312
|
const isActive = item.active ?? item.isActive;
|
|
@@ -36134,7 +35560,6 @@ var init_WizardContainer = __esm({
|
|
|
36134
35560
|
init_Stack();
|
|
36135
35561
|
init_Icon();
|
|
36136
35562
|
init_cn();
|
|
36137
|
-
init_useTranslate();
|
|
36138
35563
|
WizardContainer = ({
|
|
36139
35564
|
steps,
|
|
36140
35565
|
currentStep: controlledStep,
|
|
@@ -36708,7 +36133,6 @@ var init_SignaturePad = __esm({
|
|
|
36708
36133
|
init_LoadingState();
|
|
36709
36134
|
init_ErrorState();
|
|
36710
36135
|
init_useEventBus();
|
|
36711
|
-
init_useTranslate();
|
|
36712
36136
|
SignaturePad = ({
|
|
36713
36137
|
label,
|
|
36714
36138
|
helperText,
|
|
@@ -36902,7 +36326,6 @@ var init_DocumentViewer = __esm({
|
|
|
36902
36326
|
init_EmptyState();
|
|
36903
36327
|
init_Tabs();
|
|
36904
36328
|
init_useEventBus();
|
|
36905
|
-
init_useTranslate();
|
|
36906
36329
|
DocumentViewer = ({
|
|
36907
36330
|
title,
|
|
36908
36331
|
src,
|
|
@@ -37107,7 +36530,6 @@ var init_GraphCanvas = __esm({
|
|
|
37107
36530
|
init_ErrorState();
|
|
37108
36531
|
init_EmptyState();
|
|
37109
36532
|
init_useEventBus();
|
|
37110
|
-
init_useTranslate();
|
|
37111
36533
|
GROUP_COLORS2 = [
|
|
37112
36534
|
"var(--color-primary)",
|
|
37113
36535
|
"var(--color-success)",
|
|
@@ -37845,7 +37267,6 @@ var init_DataTable = __esm({
|
|
|
37845
37267
|
init_molecules2();
|
|
37846
37268
|
init_Icon();
|
|
37847
37269
|
init_useEventBus();
|
|
37848
|
-
init_useTranslate();
|
|
37849
37270
|
init_types3();
|
|
37850
37271
|
lookStyles9 = {
|
|
37851
37272
|
dense: "",
|
|
@@ -37992,7 +37413,6 @@ var init_DebuggerBoard = __esm({
|
|
|
37992
37413
|
"components/game/organisms/puzzles/debugger/DebuggerBoard.tsx"() {
|
|
37993
37414
|
init_atoms2();
|
|
37994
37415
|
init_useEventBus();
|
|
37995
|
-
init_useTranslate();
|
|
37996
37416
|
DebuggerBoard.displayName = "DebuggerBoard";
|
|
37997
37417
|
}
|
|
37998
37418
|
});
|
|
@@ -38163,7 +37583,6 @@ var init_DetailPanel = __esm({
|
|
|
38163
37583
|
init_cn();
|
|
38164
37584
|
init_getNestedValue();
|
|
38165
37585
|
init_useEventBus();
|
|
38166
|
-
init_useTranslate();
|
|
38167
37586
|
ReactMarkdown2 = lazy(() => import('react-markdown'));
|
|
38168
37587
|
DetailPanel = ({
|
|
38169
37588
|
title: propTitle,
|
|
@@ -38742,7 +38161,6 @@ var init_TraitStateViewer = __esm({
|
|
|
38742
38161
|
"components/game/organisms/TraitStateViewer.tsx"() {
|
|
38743
38162
|
"use client";
|
|
38744
38163
|
init_cn();
|
|
38745
|
-
init_useTranslate();
|
|
38746
38164
|
init_Box();
|
|
38747
38165
|
init_Typography();
|
|
38748
38166
|
init_Stack();
|
|
@@ -38801,7 +38219,6 @@ var init_RuleEditor = __esm({
|
|
|
38801
38219
|
"components/game/organisms/puzzles/event-handler/RuleEditor.tsx"() {
|
|
38802
38220
|
init_atoms2();
|
|
38803
38221
|
init_cn();
|
|
38804
|
-
init_useTranslate();
|
|
38805
38222
|
RuleEditor.displayName = "RuleEditor";
|
|
38806
38223
|
}
|
|
38807
38224
|
});
|
|
@@ -38876,7 +38293,6 @@ var init_ObjectRulePanel = __esm({
|
|
|
38876
38293
|
"components/game/organisms/puzzles/event-handler/ObjectRulePanel.tsx"() {
|
|
38877
38294
|
init_atoms2();
|
|
38878
38295
|
init_cn();
|
|
38879
|
-
init_useTranslate();
|
|
38880
38296
|
init_TraitStateViewer();
|
|
38881
38297
|
init_RuleEditor();
|
|
38882
38298
|
nextRuleId = 1;
|
|
@@ -38921,7 +38337,6 @@ var init_EventLog = __esm({
|
|
|
38921
38337
|
"components/game/organisms/puzzles/event-handler/EventLog.tsx"() {
|
|
38922
38338
|
init_atoms2();
|
|
38923
38339
|
init_cn();
|
|
38924
|
-
init_useTranslate();
|
|
38925
38340
|
STATUS_STYLES = {
|
|
38926
38341
|
pending: "text-muted-foreground",
|
|
38927
38342
|
active: "text-primary animate-pulse",
|
|
@@ -39135,7 +38550,6 @@ var init_EventHandlerBoard = __esm({
|
|
|
39135
38550
|
init_atoms2();
|
|
39136
38551
|
init_cn();
|
|
39137
38552
|
init_useEventBus();
|
|
39138
|
-
init_useTranslate();
|
|
39139
38553
|
init_TraitStateViewer();
|
|
39140
38554
|
init_ObjectRulePanel();
|
|
39141
38555
|
init_EventLog();
|
|
@@ -39205,7 +38619,6 @@ var init_FeatureGridOrganism = __esm({
|
|
|
39205
38619
|
"use client";
|
|
39206
38620
|
init_cn();
|
|
39207
38621
|
init_useEventBus();
|
|
39208
|
-
init_useTranslate();
|
|
39209
38622
|
init_Stack();
|
|
39210
38623
|
init_Typography();
|
|
39211
38624
|
init_FeatureGrid();
|
|
@@ -39388,7 +38801,6 @@ var init_Form = __esm({
|
|
|
39388
38801
|
init_RelationSelect();
|
|
39389
38802
|
init_Alert();
|
|
39390
38803
|
init_useEventBus();
|
|
39391
|
-
init_useTranslate();
|
|
39392
38804
|
init_debug();
|
|
39393
38805
|
layoutStyles = {
|
|
39394
38806
|
vertical: "flex flex-col",
|
|
@@ -40548,7 +39960,6 @@ var init_HeroOrganism = __esm({
|
|
|
40548
39960
|
"use client";
|
|
40549
39961
|
init_cn();
|
|
40550
39962
|
init_useEventBus();
|
|
40551
|
-
init_useTranslate();
|
|
40552
39963
|
init_HeroSection();
|
|
40553
39964
|
init_LoadingState();
|
|
40554
39965
|
init_ErrorState();
|
|
@@ -40654,7 +40065,6 @@ var LandingPageTemplate;
|
|
|
40654
40065
|
var init_LandingPageTemplate = __esm({
|
|
40655
40066
|
"components/marketing/templates/LandingPageTemplate.tsx"() {
|
|
40656
40067
|
init_cn();
|
|
40657
|
-
init_useTranslate();
|
|
40658
40068
|
init_Stack();
|
|
40659
40069
|
init_Box();
|
|
40660
40070
|
init_Container();
|
|
@@ -40854,7 +40264,6 @@ var init_List = __esm({
|
|
|
40854
40264
|
init_cn();
|
|
40855
40265
|
init_getNestedValue();
|
|
40856
40266
|
init_useEventBus();
|
|
40857
|
-
init_useTranslate();
|
|
40858
40267
|
init_types3();
|
|
40859
40268
|
STATUS_STYLES2 = {
|
|
40860
40269
|
complete: {
|
|
@@ -41349,7 +40758,6 @@ var init_MasterDetail = __esm({
|
|
|
41349
40758
|
"components/core/organisms/MasterDetail.tsx"() {
|
|
41350
40759
|
"use client";
|
|
41351
40760
|
init_DataTable();
|
|
41352
|
-
init_useTranslate();
|
|
41353
40761
|
MasterDetail.displayName = "MasterDetail";
|
|
41354
40762
|
}
|
|
41355
40763
|
});
|
|
@@ -41358,7 +40766,6 @@ var init_MasterDetailLayout = __esm({
|
|
|
41358
40766
|
"components/core/organisms/layout/MasterDetailLayout.tsx"() {
|
|
41359
40767
|
init_cn();
|
|
41360
40768
|
init_Typography();
|
|
41361
|
-
init_useTranslate();
|
|
41362
40769
|
DefaultEmptyDetail = () => {
|
|
41363
40770
|
const { t } = useTranslate();
|
|
41364
40771
|
return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center h-full border-2 border-dashed border-border", children: /* @__PURE__ */ jsx(
|
|
@@ -41419,7 +40826,6 @@ var init_MediaGallery = __esm({
|
|
|
41419
40826
|
init_ErrorState();
|
|
41420
40827
|
init_EmptyState();
|
|
41421
40828
|
init_useEventBus();
|
|
41422
|
-
init_useTranslate();
|
|
41423
40829
|
COLUMN_CLASSES = {
|
|
41424
40830
|
2: "grid-cols-2",
|
|
41425
40831
|
3: "grid-cols-2 sm:grid-cols-3",
|
|
@@ -41820,7 +41226,6 @@ var init_NegotiatorBoard = __esm({
|
|
|
41820
41226
|
"components/game/organisms/puzzles/negotiator/NegotiatorBoard.tsx"() {
|
|
41821
41227
|
init_atoms2();
|
|
41822
41228
|
init_useEventBus();
|
|
41823
|
-
init_useTranslate();
|
|
41824
41229
|
NegotiatorBoard.displayName = "NegotiatorBoard";
|
|
41825
41230
|
}
|
|
41826
41231
|
});
|
|
@@ -41830,7 +41235,6 @@ var init_PricingOrganism = __esm({
|
|
|
41830
41235
|
"use client";
|
|
41831
41236
|
init_cn();
|
|
41832
41237
|
init_useEventBus();
|
|
41833
|
-
init_useTranslate();
|
|
41834
41238
|
init_Stack();
|
|
41835
41239
|
init_Typography();
|
|
41836
41240
|
init_PricingGrid();
|
|
@@ -41880,7 +41284,6 @@ var PricingPageTemplate;
|
|
|
41880
41284
|
var init_PricingPageTemplate = __esm({
|
|
41881
41285
|
"components/marketing/templates/PricingPageTemplate.tsx"() {
|
|
41882
41286
|
init_cn();
|
|
41883
|
-
init_useTranslate();
|
|
41884
41287
|
init_Stack();
|
|
41885
41288
|
init_Box();
|
|
41886
41289
|
init_Container();
|
|
@@ -42463,7 +41866,6 @@ var init_TraitsTab = __esm({
|
|
|
42463
41866
|
init_Typography();
|
|
42464
41867
|
init_Stack();
|
|
42465
41868
|
init_EmptyState();
|
|
42466
|
-
init_useTranslate();
|
|
42467
41869
|
TraitsTab.displayName = "TraitsTab";
|
|
42468
41870
|
}
|
|
42469
41871
|
});
|
|
@@ -42541,7 +41943,6 @@ var init_TicksTab = __esm({
|
|
|
42541
41943
|
init_Stack();
|
|
42542
41944
|
init_Card();
|
|
42543
41945
|
init_EmptyState();
|
|
42544
|
-
init_useTranslate();
|
|
42545
41946
|
TicksTab.displayName = "TicksTab";
|
|
42546
41947
|
}
|
|
42547
41948
|
});
|
|
@@ -42615,7 +42016,6 @@ var init_EntitiesTab = __esm({
|
|
|
42615
42016
|
init_Typography();
|
|
42616
42017
|
init_Stack();
|
|
42617
42018
|
init_EmptyState();
|
|
42618
|
-
init_useTranslate();
|
|
42619
42019
|
EntitiesTab.displayName = "EntitiesTab";
|
|
42620
42020
|
}
|
|
42621
42021
|
});
|
|
@@ -42732,7 +42132,6 @@ var init_EventFlowTab = __esm({
|
|
|
42732
42132
|
init_Button();
|
|
42733
42133
|
init_Checkbox();
|
|
42734
42134
|
init_EmptyState();
|
|
42735
|
-
init_useTranslate();
|
|
42736
42135
|
TYPE_BADGES = {
|
|
42737
42136
|
trait: { variant: "primary", icon: "\u{1F504}" },
|
|
42738
42137
|
tick: { variant: "warning", icon: "\u23F1\uFE0F" },
|
|
@@ -42827,7 +42226,6 @@ var init_GuardsPanel = __esm({
|
|
|
42827
42226
|
init_ButtonGroup();
|
|
42828
42227
|
init_Button();
|
|
42829
42228
|
init_EmptyState();
|
|
42830
|
-
init_useTranslate();
|
|
42831
42229
|
GuardsPanel.displayName = "GuardsPanel";
|
|
42832
42230
|
}
|
|
42833
42231
|
});
|
|
@@ -42903,7 +42301,6 @@ var init_VerificationTab = __esm({
|
|
|
42903
42301
|
init_Typography();
|
|
42904
42302
|
init_Stack();
|
|
42905
42303
|
init_EmptyState();
|
|
42906
|
-
init_useTranslate();
|
|
42907
42304
|
STATUS_CONFIG = {
|
|
42908
42305
|
pass: { variant: "success", icon: "\u2713", label: "PASS" },
|
|
42909
42306
|
fail: { variant: "danger", icon: "\u2717", label: "FAIL" },
|
|
@@ -43039,7 +42436,6 @@ var init_TransitionTimeline = __esm({
|
|
|
43039
42436
|
init_Typography();
|
|
43040
42437
|
init_EmptyState();
|
|
43041
42438
|
init_Checkbox();
|
|
43042
|
-
init_useTranslate();
|
|
43043
42439
|
EFFECT_STATUS_VARIANT = {
|
|
43044
42440
|
executed: "success",
|
|
43045
42441
|
failed: "danger",
|
|
@@ -43129,7 +42525,6 @@ var init_ServerBridgeTab = __esm({
|
|
|
43129
42525
|
init_Stack();
|
|
43130
42526
|
init_Card();
|
|
43131
42527
|
init_EmptyState();
|
|
43132
|
-
init_useTranslate();
|
|
43133
42528
|
ServerBridgeTab.displayName = "ServerBridgeTab";
|
|
43134
42529
|
}
|
|
43135
42530
|
});
|
|
@@ -43294,7 +42689,6 @@ var init_EventDispatcherTab = __esm({
|
|
|
43294
42689
|
init_Stack();
|
|
43295
42690
|
init_EmptyState();
|
|
43296
42691
|
init_useEventBus();
|
|
43297
|
-
init_useTranslate();
|
|
43298
42692
|
EventDispatcherTab.displayName = "EventDispatcherTab";
|
|
43299
42693
|
}
|
|
43300
42694
|
});
|
|
@@ -43669,7 +43063,6 @@ var init_RuntimeDebugger2 = __esm({
|
|
|
43669
43063
|
init_TransitionTimeline();
|
|
43670
43064
|
init_ServerBridgeTab();
|
|
43671
43065
|
init_EventDispatcherTab();
|
|
43672
|
-
init_useTranslate();
|
|
43673
43066
|
init_RuntimeDebugger();
|
|
43674
43067
|
RuntimeDebugger.displayName = "RuntimeDebugger";
|
|
43675
43068
|
}
|
|
@@ -44156,7 +43549,6 @@ var init_SequencerBoard = __esm({
|
|
|
44156
43549
|
init_atoms2();
|
|
44157
43550
|
init_cn();
|
|
44158
43551
|
init_useEventBus();
|
|
44159
|
-
init_useTranslate();
|
|
44160
43552
|
init_TraitStateViewer();
|
|
44161
43553
|
init_SequenceBar();
|
|
44162
43554
|
init_ActionPalette();
|
|
@@ -44175,7 +43567,6 @@ var init_ShowcaseOrganism = __esm({
|
|
|
44175
43567
|
"use client";
|
|
44176
43568
|
init_cn();
|
|
44177
43569
|
init_useEventBus();
|
|
44178
|
-
init_useTranslate();
|
|
44179
43570
|
init_Stack();
|
|
44180
43571
|
init_Typography();
|
|
44181
43572
|
init_SimpleGrid();
|
|
@@ -44734,7 +44125,6 @@ var init_SimulatorBoard = __esm({
|
|
|
44734
44125
|
"components/game/organisms/puzzles/simulator/SimulatorBoard.tsx"() {
|
|
44735
44126
|
init_atoms2();
|
|
44736
44127
|
init_useEventBus();
|
|
44737
|
-
init_useTranslate();
|
|
44738
44128
|
SimulatorBoard.displayName = "SimulatorBoard";
|
|
44739
44129
|
}
|
|
44740
44130
|
});
|
|
@@ -44839,7 +44229,6 @@ var init_StatCard = __esm({
|
|
|
44839
44229
|
init_Button();
|
|
44840
44230
|
init_Sparkline();
|
|
44841
44231
|
init_useEventBus();
|
|
44842
|
-
init_useTranslate();
|
|
44843
44232
|
init_Icon();
|
|
44844
44233
|
StatCard = ({
|
|
44845
44234
|
label: propLabel,
|
|
@@ -45195,7 +44584,6 @@ var init_VariablePanel = __esm({
|
|
|
45195
44584
|
"components/game/organisms/puzzles/state-architect/VariablePanel.tsx"() {
|
|
45196
44585
|
init_atoms2();
|
|
45197
44586
|
init_cn();
|
|
45198
|
-
init_useTranslate();
|
|
45199
44587
|
VariablePanel.displayName = "VariablePanel";
|
|
45200
44588
|
}
|
|
45201
44589
|
});
|
|
@@ -45512,7 +44900,6 @@ var init_StateArchitectBoard = __esm({
|
|
|
45512
44900
|
init_atoms2();
|
|
45513
44901
|
init_cn();
|
|
45514
44902
|
init_useEventBus();
|
|
45515
|
-
init_useTranslate();
|
|
45516
44903
|
init_TraitStateViewer();
|
|
45517
44904
|
init_StateNode();
|
|
45518
44905
|
init_TransitionArrow();
|
|
@@ -45532,7 +44919,6 @@ var init_StatsOrganism = __esm({
|
|
|
45532
44919
|
"components/marketing/organisms/StatsOrganism.tsx"() {
|
|
45533
44920
|
"use client";
|
|
45534
44921
|
init_cn();
|
|
45535
|
-
init_useTranslate();
|
|
45536
44922
|
init_StatsGrid();
|
|
45537
44923
|
init_LoadingState();
|
|
45538
44924
|
init_ErrorState();
|
|
@@ -45575,7 +44961,6 @@ var init_StepFlowOrganism = __esm({
|
|
|
45575
44961
|
"components/core/organisms/StepFlowOrganism.tsx"() {
|
|
45576
44962
|
"use client";
|
|
45577
44963
|
init_cn();
|
|
45578
|
-
init_useTranslate();
|
|
45579
44964
|
init_Stack();
|
|
45580
44965
|
init_Typography();
|
|
45581
44966
|
init_StepFlow();
|
|
@@ -45745,7 +45130,6 @@ var init_TeamOrganism = __esm({
|
|
|
45745
45130
|
"components/marketing/organisms/TeamOrganism.tsx"() {
|
|
45746
45131
|
"use client";
|
|
45747
45132
|
init_cn();
|
|
45748
|
-
init_useTranslate();
|
|
45749
45133
|
init_Stack();
|
|
45750
45134
|
init_Typography();
|
|
45751
45135
|
init_SimpleGrid();
|
|
@@ -45803,7 +45187,6 @@ var init_Timeline = __esm({
|
|
|
45803
45187
|
init_LoadingState();
|
|
45804
45188
|
init_ErrorState();
|
|
45805
45189
|
init_EmptyState();
|
|
45806
|
-
init_useTranslate();
|
|
45807
45190
|
lookStyles10 = {
|
|
45808
45191
|
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
45809
45192
|
"vertical-spacious": "",
|
|
@@ -47875,7 +47258,6 @@ var init_UISlotRenderer = __esm({
|
|
|
47875
47258
|
init_Box();
|
|
47876
47259
|
init_Typography();
|
|
47877
47260
|
init_useEventBus();
|
|
47878
|
-
init_useTranslate();
|
|
47879
47261
|
init_slot_types();
|
|
47880
47262
|
init_cn();
|
|
47881
47263
|
init_ErrorBoundary();
|
|
@@ -47931,10 +47313,7 @@ var init_UISlotRenderer = __esm({
|
|
|
47931
47313
|
UISlotRenderer.displayName = "UISlotRenderer";
|
|
47932
47314
|
}
|
|
47933
47315
|
});
|
|
47934
|
-
|
|
47935
|
-
// hooks/index.ts
|
|
47936
|
-
init_useEventBus();
|
|
47937
|
-
var log2 = createLogger("almadar:ui:effects:client-handlers");
|
|
47316
|
+
var log = createLogger("almadar:ui:effects:client-handlers");
|
|
47938
47317
|
function createClientEffectHandlers(options) {
|
|
47939
47318
|
const { eventBus, slotSetter, navigate, notify, callService } = options;
|
|
47940
47319
|
return {
|
|
@@ -47943,10 +47322,10 @@ function createClientEffectHandlers(options) {
|
|
|
47943
47322
|
eventBus.emit(prefixedEvent, payload);
|
|
47944
47323
|
},
|
|
47945
47324
|
persist: async () => {
|
|
47946
|
-
|
|
47325
|
+
log.warn("persist is server-side only, ignored on client");
|
|
47947
47326
|
},
|
|
47948
47327
|
set: () => {
|
|
47949
|
-
|
|
47328
|
+
log.warn("set is server-side only, ignored on client");
|
|
47950
47329
|
},
|
|
47951
47330
|
callService: async (service, action, params) => {
|
|
47952
47331
|
if (callService) return callService(service, action, params);
|
|
@@ -47975,10 +47354,10 @@ function createClientEffectHandlers(options) {
|
|
|
47975
47354
|
slotSetter.addPattern(slot, pattern, props);
|
|
47976
47355
|
},
|
|
47977
47356
|
navigate: navigate ?? ((path) => {
|
|
47978
|
-
|
|
47357
|
+
log.warn("No navigate handler, ignoring", { path });
|
|
47979
47358
|
}),
|
|
47980
47359
|
notify: notify ?? ((msg, type) => {
|
|
47981
|
-
|
|
47360
|
+
log.debug("notify", { type, message: msg });
|
|
47982
47361
|
})
|
|
47983
47362
|
};
|
|
47984
47363
|
}
|
|
@@ -48128,7 +47507,7 @@ function normalizeEventKey(eventKey) {
|
|
|
48128
47507
|
return eventKey.startsWith("UI:") ? eventKey.slice(3) : eventKey;
|
|
48129
47508
|
}
|
|
48130
47509
|
function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
48131
|
-
const eventBus = useEventBus();
|
|
47510
|
+
const eventBus = useEventBus$1();
|
|
48132
47511
|
const { entities } = useEntitySchema();
|
|
48133
47512
|
const traitConfigsByName = options?.traitConfigsByName;
|
|
48134
47513
|
const orbitalsByTrait = options?.orbitalsByTrait;
|