@almadar/ui 2.48.4 → 2.48.5
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 +117 -25
- package/dist/avl/index.js +117 -25
- package/dist/components/index.cjs +37 -177
- package/dist/components/index.js +36 -176
- package/dist/components/organisms/game/three/index.cjs +5 -14
- package/dist/components/organisms/game/three/index.js +5 -14
- package/dist/docs/index.cjs +5 -14
- package/dist/docs/index.js +5 -14
- package/dist/hooks/index.cjs +233 -246
- package/dist/hooks/index.js +8 -21
- package/dist/lib/index.cjs +5 -14
- package/dist/lib/index.js +5 -14
- package/dist/marketing/index.cjs +5 -14
- package/dist/marketing/index.js +5 -14
- package/dist/providers/index.cjs +5 -14
- package/dist/providers/index.js +5 -14
- package/dist/runtime/OrbPreview.d.ts +25 -5
- package/dist/runtime/index.cjs +1173 -1783
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +417 -1030
- package/dist/runtime/prepareSchemaForPreview.d.ts +71 -0
- package/package.json +1 -1
|
@@ -95,22 +95,13 @@ function cn(...inputs) {
|
|
|
95
95
|
// lib/logger.ts
|
|
96
96
|
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
97
97
|
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
try {
|
|
101
|
-
const meta = (0, eval)('typeof import.meta !== "undefined" && import.meta');
|
|
102
|
-
return meta ? meta.env?.[key] : void 0;
|
|
103
|
-
} catch {
|
|
104
|
-
return void 0;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
function envGet(key, viteKey) {
|
|
108
|
-
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
98
|
+
function envGet(key) {
|
|
99
|
+
return ENV[key] ?? ENV[`VITE_${key}`];
|
|
109
100
|
}
|
|
110
|
-
var NODE_ENV = envGet("NODE_ENV"
|
|
111
|
-
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL"
|
|
101
|
+
var NODE_ENV = envGet("NODE_ENV") ?? "development";
|
|
102
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
112
103
|
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
113
|
-
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG"
|
|
104
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
114
105
|
function matchesNamespace(namespace) {
|
|
115
106
|
if (DEBUG_FILTER.length === 0) return true;
|
|
116
107
|
return DEBUG_FILTER.some((pattern) => {
|
|
@@ -5939,43 +5930,43 @@ function useQuerySingleton(query) {
|
|
|
5939
5930
|
if (!query) {
|
|
5940
5931
|
return null;
|
|
5941
5932
|
}
|
|
5942
|
-
const
|
|
5933
|
+
const store = React90.useMemo(() => getOrCreateStore(query), [query]);
|
|
5943
5934
|
React90.useMemo(() => {
|
|
5944
5935
|
const listener = () => forceUpdate({});
|
|
5945
|
-
|
|
5936
|
+
store.listeners.add(listener);
|
|
5946
5937
|
return () => {
|
|
5947
|
-
|
|
5938
|
+
store.listeners.delete(listener);
|
|
5948
5939
|
};
|
|
5949
|
-
}, [
|
|
5950
|
-
const
|
|
5951
|
-
|
|
5952
|
-
}, [
|
|
5940
|
+
}, [store]);
|
|
5941
|
+
const notifyListeners = React90.useCallback(() => {
|
|
5942
|
+
store.listeners.forEach((listener) => listener());
|
|
5943
|
+
}, [store]);
|
|
5953
5944
|
const setSearch = React90.useCallback((value) => {
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
}, [
|
|
5945
|
+
store.search = value;
|
|
5946
|
+
notifyListeners();
|
|
5947
|
+
}, [store, notifyListeners]);
|
|
5957
5948
|
const setFilter = React90.useCallback((key, value) => {
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
}, [
|
|
5949
|
+
store.filters = { ...store.filters, [key]: value };
|
|
5950
|
+
notifyListeners();
|
|
5951
|
+
}, [store, notifyListeners]);
|
|
5961
5952
|
const clearFilters = React90.useCallback(() => {
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
}, [
|
|
5953
|
+
store.filters = {};
|
|
5954
|
+
store.search = "";
|
|
5955
|
+
notifyListeners();
|
|
5956
|
+
}, [store, notifyListeners]);
|
|
5966
5957
|
const setSort = React90.useCallback((field, direction) => {
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
}, [
|
|
5958
|
+
store.sortField = field;
|
|
5959
|
+
store.sortDirection = direction;
|
|
5960
|
+
notifyListeners();
|
|
5961
|
+
}, [store, notifyListeners]);
|
|
5971
5962
|
return {
|
|
5972
|
-
search:
|
|
5963
|
+
search: store.search,
|
|
5973
5964
|
setSearch,
|
|
5974
|
-
filters:
|
|
5965
|
+
filters: store.filters,
|
|
5975
5966
|
setFilter,
|
|
5976
5967
|
clearFilters,
|
|
5977
|
-
sortField:
|
|
5978
|
-
sortDirection:
|
|
5968
|
+
sortField: store.sortField,
|
|
5969
|
+
sortDirection: store.sortDirection,
|
|
5979
5970
|
setSort
|
|
5980
5971
|
};
|
|
5981
5972
|
}
|
|
@@ -29217,134 +29208,6 @@ function calculateDamage(attack, defense, isDefending = false, criticalChance =
|
|
|
29217
29208
|
function generateCombatMessage(event) {
|
|
29218
29209
|
return event.message;
|
|
29219
29210
|
}
|
|
29220
|
-
var storeLog = createLogger("almadar:entity:store");
|
|
29221
|
-
var store = /* @__PURE__ */ new Map();
|
|
29222
|
-
var storeListeners = /* @__PURE__ */ new Set();
|
|
29223
|
-
var watchCallbacks = /* @__PURE__ */ new Map();
|
|
29224
|
-
function extractId(record) {
|
|
29225
|
-
const r = record;
|
|
29226
|
-
return String(r.id ?? r._id ?? r.key ?? "");
|
|
29227
|
-
}
|
|
29228
|
-
function materialize(snap) {
|
|
29229
|
-
return snap.ids.map((id) => snap.entities.get(id));
|
|
29230
|
-
}
|
|
29231
|
-
function notifyListeners(entityType, prev) {
|
|
29232
|
-
for (const listener of storeListeners) {
|
|
29233
|
-
listener();
|
|
29234
|
-
}
|
|
29235
|
-
const cbs = watchCallbacks.get(entityType);
|
|
29236
|
-
if (cbs) {
|
|
29237
|
-
const oldData = prev ? materialize(prev) : [];
|
|
29238
|
-
const cur = store.get(entityType);
|
|
29239
|
-
const newData = cur ? materialize(cur) : [];
|
|
29240
|
-
for (const cb of cbs) {
|
|
29241
|
-
try {
|
|
29242
|
-
cb(oldData, newData);
|
|
29243
|
-
} catch {
|
|
29244
|
-
}
|
|
29245
|
-
}
|
|
29246
|
-
}
|
|
29247
|
-
}
|
|
29248
|
-
function setAll(entityType, records) {
|
|
29249
|
-
const entities2 = /* @__PURE__ */ new Map();
|
|
29250
|
-
const ids = [];
|
|
29251
|
-
for (const r of records) {
|
|
29252
|
-
const rec = r;
|
|
29253
|
-
const id = extractId(rec);
|
|
29254
|
-
if (id) {
|
|
29255
|
-
entities2.set(id, rec);
|
|
29256
|
-
ids.push(id);
|
|
29257
|
-
}
|
|
29258
|
-
}
|
|
29259
|
-
const prev = store.get(entityType);
|
|
29260
|
-
const newVersion = (prev?.version ?? 0) + 1;
|
|
29261
|
-
store.set(entityType, { entities: entities2, ids, version: newVersion });
|
|
29262
|
-
storeLog.debug("setAll", { entityType, recordCount: records.length, version: newVersion });
|
|
29263
|
-
notifyListeners(entityType, prev);
|
|
29264
|
-
}
|
|
29265
|
-
function upsertOne(entityType, record) {
|
|
29266
|
-
const id = extractId(record);
|
|
29267
|
-
if (!id) return;
|
|
29268
|
-
const prev = store.get(entityType);
|
|
29269
|
-
const snapshot = prev ? { entities: new Map(prev.entities), ids: [...prev.ids], version: prev.version } : { entities: /* @__PURE__ */ new Map(), ids: [], version: 0 };
|
|
29270
|
-
snapshot.entities.set(id, record);
|
|
29271
|
-
if (!snapshot.ids.includes(id)) snapshot.ids.push(id);
|
|
29272
|
-
snapshot.version++;
|
|
29273
|
-
store.set(entityType, snapshot);
|
|
29274
|
-
storeLog.debug("upsertOne", { entityType, id, version: snapshot.version });
|
|
29275
|
-
notifyListeners(entityType, prev);
|
|
29276
|
-
}
|
|
29277
|
-
function addOne(entityType, record) {
|
|
29278
|
-
upsertOne(entityType, record);
|
|
29279
|
-
}
|
|
29280
|
-
function updateOne(entityType, id, changes) {
|
|
29281
|
-
const prev = store.get(entityType);
|
|
29282
|
-
if (!prev?.entities.has(id)) return;
|
|
29283
|
-
const snapshot = {
|
|
29284
|
-
entities: new Map(prev.entities),
|
|
29285
|
-
ids: [...prev.ids],
|
|
29286
|
-
version: prev.version
|
|
29287
|
-
};
|
|
29288
|
-
snapshot.entities.set(id, { ...snapshot.entities.get(id), ...changes });
|
|
29289
|
-
snapshot.version++;
|
|
29290
|
-
store.set(entityType, snapshot);
|
|
29291
|
-
storeLog.debug("updateOne", { entityType, id, changedFields: Object.keys(changes), version: snapshot.version });
|
|
29292
|
-
notifyListeners(entityType, prev);
|
|
29293
|
-
}
|
|
29294
|
-
function removeOne(entityType, id) {
|
|
29295
|
-
const prev = store.get(entityType);
|
|
29296
|
-
if (!prev) return;
|
|
29297
|
-
const snapshot = {
|
|
29298
|
-
entities: new Map(prev.entities),
|
|
29299
|
-
ids: prev.ids.filter((i) => i !== id),
|
|
29300
|
-
version: prev.version
|
|
29301
|
-
};
|
|
29302
|
-
snapshot.entities.delete(id);
|
|
29303
|
-
snapshot.version++;
|
|
29304
|
-
store.set(entityType, snapshot);
|
|
29305
|
-
storeLog.debug("removeOne", { entityType, id, remainingCount: snapshot.ids.length, version: snapshot.version });
|
|
29306
|
-
notifyListeners(entityType, prev);
|
|
29307
|
-
}
|
|
29308
|
-
function getSnapshot2(entityType) {
|
|
29309
|
-
const snap = store.get(entityType);
|
|
29310
|
-
if (!snap) return [];
|
|
29311
|
-
return materialize(snap);
|
|
29312
|
-
}
|
|
29313
|
-
function getById(entityType, id) {
|
|
29314
|
-
return store.get(entityType)?.entities.get(id) ?? null;
|
|
29315
|
-
}
|
|
29316
|
-
function getVersion(entityType) {
|
|
29317
|
-
return store.get(entityType)?.version ?? 0;
|
|
29318
|
-
}
|
|
29319
|
-
function subscribeToStore(listener) {
|
|
29320
|
-
storeListeners.add(listener);
|
|
29321
|
-
return () => {
|
|
29322
|
-
storeListeners.delete(listener);
|
|
29323
|
-
};
|
|
29324
|
-
}
|
|
29325
|
-
function useEntityRef(entityType) {
|
|
29326
|
-
const versionRef = React90.useRef(0);
|
|
29327
|
-
const dataRef = React90.useRef([]);
|
|
29328
|
-
const getSnapshotStable = React90__namespace.default.useCallback(() => {
|
|
29329
|
-
const currentVersion = getVersion(entityType);
|
|
29330
|
-
if (currentVersion !== versionRef.current) {
|
|
29331
|
-
versionRef.current = currentVersion;
|
|
29332
|
-
dataRef.current = getSnapshot2(entityType);
|
|
29333
|
-
}
|
|
29334
|
-
return dataRef.current;
|
|
29335
|
-
}, [entityType]);
|
|
29336
|
-
return React90.useSyncExternalStore(subscribeToStore, getSnapshotStable, () => []);
|
|
29337
|
-
}
|
|
29338
|
-
var contextValue = {
|
|
29339
|
-
setAll,
|
|
29340
|
-
upsertOne,
|
|
29341
|
-
addOne,
|
|
29342
|
-
updateOne,
|
|
29343
|
-
removeOne,
|
|
29344
|
-
getSnapshot: getSnapshot2,
|
|
29345
|
-
getById
|
|
29346
|
-
};
|
|
29347
|
-
React90.createContext(contextValue);
|
|
29348
29211
|
var EntitySchemaContext = React90.createContext(null);
|
|
29349
29212
|
function useEntitySchemaOptional() {
|
|
29350
29213
|
return React90.useContext(EntitySchemaContext);
|
|
@@ -35071,7 +34934,7 @@ function SlotContentRenderer({
|
|
|
35071
34934
|
}) {
|
|
35072
34935
|
const entityProp = content.props.entity;
|
|
35073
34936
|
const entityType = typeof entityProp === "string" ? entityProp : "";
|
|
35074
|
-
const storeData = useEntityRef(entityType);
|
|
34937
|
+
const storeData = providers.useEntityRef(entityType);
|
|
35075
34938
|
const schemaCtx = useEntitySchemaOptional();
|
|
35076
34939
|
const entityDef = entityType && schemaCtx ? schemaCtx.entities.get(entityType) : void 0;
|
|
35077
34940
|
const PatternComponent = getComponentForPattern(content.pattern);
|
|
@@ -36910,9 +36773,6 @@ function useUISlotManager() {
|
|
|
36910
36773
|
getContent
|
|
36911
36774
|
};
|
|
36912
36775
|
}
|
|
36913
|
-
var SelectionContext = React90.createContext(null);
|
|
36914
|
-
|
|
36915
|
-
// hooks/useUIEvents.ts
|
|
36916
36776
|
var UI_PREFIX = "UI:";
|
|
36917
36777
|
function useUIEvents(dispatch, validEvents, eventBusInstance) {
|
|
36918
36778
|
const defaultEventBus = useEventBus();
|
|
@@ -36990,7 +36850,7 @@ function useSelectedEntity(eventBusInstance) {
|
|
|
36990
36850
|
return [localSelected, setLocalSelected];
|
|
36991
36851
|
}
|
|
36992
36852
|
function useSelectionContext() {
|
|
36993
|
-
const context = React90.useContext(SelectionContext);
|
|
36853
|
+
const context = React90.useContext(providers.SelectionContext);
|
|
36994
36854
|
return context;
|
|
36995
36855
|
}
|
|
36996
36856
|
var EntityDataContext = React90.createContext(null);
|
|
@@ -37632,13 +37492,13 @@ function clearEntities() {
|
|
|
37632
37492
|
entities = /* @__PURE__ */ new Map();
|
|
37633
37493
|
notify();
|
|
37634
37494
|
}
|
|
37635
|
-
function
|
|
37495
|
+
function getSnapshot2() {
|
|
37636
37496
|
return entities;
|
|
37637
37497
|
}
|
|
37638
37498
|
|
|
37639
37499
|
// hooks/useEntities.ts
|
|
37640
37500
|
function useEntities() {
|
|
37641
|
-
const entities2 = React90.useSyncExternalStore(subscribe,
|
|
37501
|
+
const entities2 = React90.useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37642
37502
|
return {
|
|
37643
37503
|
entities: entities2,
|
|
37644
37504
|
getEntity,
|
|
@@ -37653,15 +37513,15 @@ function useEntities() {
|
|
|
37653
37513
|
};
|
|
37654
37514
|
}
|
|
37655
37515
|
function useEntity2(id) {
|
|
37656
|
-
const entities2 = React90.useSyncExternalStore(subscribe,
|
|
37516
|
+
const entities2 = React90.useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37657
37517
|
return entities2.get(id);
|
|
37658
37518
|
}
|
|
37659
37519
|
function useEntitiesByType(type) {
|
|
37660
|
-
const entities2 = React90.useSyncExternalStore(subscribe,
|
|
37520
|
+
const entities2 = React90.useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37661
37521
|
return [...entities2.values()].filter((e) => e.type === type);
|
|
37662
37522
|
}
|
|
37663
37523
|
function useSingletonEntity(type) {
|
|
37664
|
-
const entities2 = React90.useSyncExternalStore(subscribe,
|
|
37524
|
+
const entities2 = React90.useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37665
37525
|
return [...entities2.values()].find((e) => e.type === type);
|
|
37666
37526
|
}
|
|
37667
37527
|
function usePlayer() {
|
package/dist/components/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { clsx } from 'clsx';
|
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import * as LucideIcons from 'lucide-react';
|
|
6
6
|
import { Loader2, ChevronDown, X, ArrowRight, TrendingDown, TrendingUp, Check, Copy, AlertCircle, User, Sun, Moon, FileQuestion, Inbox, Search, Info, XCircle, CheckCircle, AlertTriangle, ChevronRight, Filter, Plus, ChevronLeft, HelpCircle, ChevronUp, Zap, Sword, Move, Heart, Shield, Minus, Star, FileWarning, Upload, MoreHorizontal, ArrowLeft, Menu as Menu$1, ArrowUp, ArrowDown, MoreVertical, Package, Trash2, List as List$1, Printer, Play, RotateCcw, Send, Wrench, Bug, Pause, SkipForward, Code, FileText, WrapText, Settings, Bell, LogOut, ZoomOut, ZoomIn, Download, Image as Image$1, Eraser, Circle, Clock, CheckCircle2, Calendar, Pencil, Eye, Tag, DollarSign } from 'lucide-react';
|
|
7
|
-
import { EventBusContext } from '@almadar/ui/providers';
|
|
7
|
+
import { EventBusContext, useEntityRef, SelectionContext } from '@almadar/ui/providers';
|
|
8
8
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
import { evaluate, createMinimalContext } from '@almadar/evaluator';
|
|
10
10
|
import { createPortal } from 'react-dom';
|
|
@@ -49,22 +49,13 @@ function cn(...inputs) {
|
|
|
49
49
|
// lib/logger.ts
|
|
50
50
|
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
51
51
|
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
try {
|
|
55
|
-
const meta = (0, eval)('typeof import.meta !== "undefined" && import.meta');
|
|
56
|
-
return meta ? meta.env?.[key] : void 0;
|
|
57
|
-
} catch {
|
|
58
|
-
return void 0;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function envGet(key, viteKey) {
|
|
62
|
-
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
52
|
+
function envGet(key) {
|
|
53
|
+
return ENV[key] ?? ENV[`VITE_${key}`];
|
|
63
54
|
}
|
|
64
|
-
var NODE_ENV = envGet("NODE_ENV"
|
|
65
|
-
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL"
|
|
55
|
+
var NODE_ENV = envGet("NODE_ENV") ?? "development";
|
|
56
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
66
57
|
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
67
|
-
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG"
|
|
58
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
68
59
|
function matchesNamespace(namespace) {
|
|
69
60
|
if (DEBUG_FILTER.length === 0) return true;
|
|
70
61
|
return DEBUG_FILTER.some((pattern) => {
|
|
@@ -5893,43 +5884,43 @@ function useQuerySingleton(query) {
|
|
|
5893
5884
|
if (!query) {
|
|
5894
5885
|
return null;
|
|
5895
5886
|
}
|
|
5896
|
-
const
|
|
5887
|
+
const store = useMemo(() => getOrCreateStore(query), [query]);
|
|
5897
5888
|
useMemo(() => {
|
|
5898
5889
|
const listener = () => forceUpdate({});
|
|
5899
|
-
|
|
5890
|
+
store.listeners.add(listener);
|
|
5900
5891
|
return () => {
|
|
5901
|
-
|
|
5892
|
+
store.listeners.delete(listener);
|
|
5902
5893
|
};
|
|
5903
|
-
}, [
|
|
5904
|
-
const
|
|
5905
|
-
|
|
5906
|
-
}, [
|
|
5894
|
+
}, [store]);
|
|
5895
|
+
const notifyListeners = useCallback(() => {
|
|
5896
|
+
store.listeners.forEach((listener) => listener());
|
|
5897
|
+
}, [store]);
|
|
5907
5898
|
const setSearch = useCallback((value) => {
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
}, [
|
|
5899
|
+
store.search = value;
|
|
5900
|
+
notifyListeners();
|
|
5901
|
+
}, [store, notifyListeners]);
|
|
5911
5902
|
const setFilter = useCallback((key, value) => {
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
}, [
|
|
5903
|
+
store.filters = { ...store.filters, [key]: value };
|
|
5904
|
+
notifyListeners();
|
|
5905
|
+
}, [store, notifyListeners]);
|
|
5915
5906
|
const clearFilters = useCallback(() => {
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
}, [
|
|
5907
|
+
store.filters = {};
|
|
5908
|
+
store.search = "";
|
|
5909
|
+
notifyListeners();
|
|
5910
|
+
}, [store, notifyListeners]);
|
|
5920
5911
|
const setSort = useCallback((field, direction) => {
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
5924
|
-
}, [
|
|
5912
|
+
store.sortField = field;
|
|
5913
|
+
store.sortDirection = direction;
|
|
5914
|
+
notifyListeners();
|
|
5915
|
+
}, [store, notifyListeners]);
|
|
5925
5916
|
return {
|
|
5926
|
-
search:
|
|
5917
|
+
search: store.search,
|
|
5927
5918
|
setSearch,
|
|
5928
|
-
filters:
|
|
5919
|
+
filters: store.filters,
|
|
5929
5920
|
setFilter,
|
|
5930
5921
|
clearFilters,
|
|
5931
|
-
sortField:
|
|
5932
|
-
sortDirection:
|
|
5922
|
+
sortField: store.sortField,
|
|
5923
|
+
sortDirection: store.sortDirection,
|
|
5933
5924
|
setSort
|
|
5934
5925
|
};
|
|
5935
5926
|
}
|
|
@@ -29171,134 +29162,6 @@ function calculateDamage(attack, defense, isDefending = false, criticalChance =
|
|
|
29171
29162
|
function generateCombatMessage(event) {
|
|
29172
29163
|
return event.message;
|
|
29173
29164
|
}
|
|
29174
|
-
var storeLog = createLogger("almadar:entity:store");
|
|
29175
|
-
var store = /* @__PURE__ */ new Map();
|
|
29176
|
-
var storeListeners = /* @__PURE__ */ new Set();
|
|
29177
|
-
var watchCallbacks = /* @__PURE__ */ new Map();
|
|
29178
|
-
function extractId(record) {
|
|
29179
|
-
const r = record;
|
|
29180
|
-
return String(r.id ?? r._id ?? r.key ?? "");
|
|
29181
|
-
}
|
|
29182
|
-
function materialize(snap) {
|
|
29183
|
-
return snap.ids.map((id) => snap.entities.get(id));
|
|
29184
|
-
}
|
|
29185
|
-
function notifyListeners(entityType, prev) {
|
|
29186
|
-
for (const listener of storeListeners) {
|
|
29187
|
-
listener();
|
|
29188
|
-
}
|
|
29189
|
-
const cbs = watchCallbacks.get(entityType);
|
|
29190
|
-
if (cbs) {
|
|
29191
|
-
const oldData = prev ? materialize(prev) : [];
|
|
29192
|
-
const cur = store.get(entityType);
|
|
29193
|
-
const newData = cur ? materialize(cur) : [];
|
|
29194
|
-
for (const cb of cbs) {
|
|
29195
|
-
try {
|
|
29196
|
-
cb(oldData, newData);
|
|
29197
|
-
} catch {
|
|
29198
|
-
}
|
|
29199
|
-
}
|
|
29200
|
-
}
|
|
29201
|
-
}
|
|
29202
|
-
function setAll(entityType, records) {
|
|
29203
|
-
const entities2 = /* @__PURE__ */ new Map();
|
|
29204
|
-
const ids = [];
|
|
29205
|
-
for (const r of records) {
|
|
29206
|
-
const rec = r;
|
|
29207
|
-
const id = extractId(rec);
|
|
29208
|
-
if (id) {
|
|
29209
|
-
entities2.set(id, rec);
|
|
29210
|
-
ids.push(id);
|
|
29211
|
-
}
|
|
29212
|
-
}
|
|
29213
|
-
const prev = store.get(entityType);
|
|
29214
|
-
const newVersion = (prev?.version ?? 0) + 1;
|
|
29215
|
-
store.set(entityType, { entities: entities2, ids, version: newVersion });
|
|
29216
|
-
storeLog.debug("setAll", { entityType, recordCount: records.length, version: newVersion });
|
|
29217
|
-
notifyListeners(entityType, prev);
|
|
29218
|
-
}
|
|
29219
|
-
function upsertOne(entityType, record) {
|
|
29220
|
-
const id = extractId(record);
|
|
29221
|
-
if (!id) return;
|
|
29222
|
-
const prev = store.get(entityType);
|
|
29223
|
-
const snapshot = prev ? { entities: new Map(prev.entities), ids: [...prev.ids], version: prev.version } : { entities: /* @__PURE__ */ new Map(), ids: [], version: 0 };
|
|
29224
|
-
snapshot.entities.set(id, record);
|
|
29225
|
-
if (!snapshot.ids.includes(id)) snapshot.ids.push(id);
|
|
29226
|
-
snapshot.version++;
|
|
29227
|
-
store.set(entityType, snapshot);
|
|
29228
|
-
storeLog.debug("upsertOne", { entityType, id, version: snapshot.version });
|
|
29229
|
-
notifyListeners(entityType, prev);
|
|
29230
|
-
}
|
|
29231
|
-
function addOne(entityType, record) {
|
|
29232
|
-
upsertOne(entityType, record);
|
|
29233
|
-
}
|
|
29234
|
-
function updateOne(entityType, id, changes) {
|
|
29235
|
-
const prev = store.get(entityType);
|
|
29236
|
-
if (!prev?.entities.has(id)) return;
|
|
29237
|
-
const snapshot = {
|
|
29238
|
-
entities: new Map(prev.entities),
|
|
29239
|
-
ids: [...prev.ids],
|
|
29240
|
-
version: prev.version
|
|
29241
|
-
};
|
|
29242
|
-
snapshot.entities.set(id, { ...snapshot.entities.get(id), ...changes });
|
|
29243
|
-
snapshot.version++;
|
|
29244
|
-
store.set(entityType, snapshot);
|
|
29245
|
-
storeLog.debug("updateOne", { entityType, id, changedFields: Object.keys(changes), version: snapshot.version });
|
|
29246
|
-
notifyListeners(entityType, prev);
|
|
29247
|
-
}
|
|
29248
|
-
function removeOne(entityType, id) {
|
|
29249
|
-
const prev = store.get(entityType);
|
|
29250
|
-
if (!prev) return;
|
|
29251
|
-
const snapshot = {
|
|
29252
|
-
entities: new Map(prev.entities),
|
|
29253
|
-
ids: prev.ids.filter((i) => i !== id),
|
|
29254
|
-
version: prev.version
|
|
29255
|
-
};
|
|
29256
|
-
snapshot.entities.delete(id);
|
|
29257
|
-
snapshot.version++;
|
|
29258
|
-
store.set(entityType, snapshot);
|
|
29259
|
-
storeLog.debug("removeOne", { entityType, id, remainingCount: snapshot.ids.length, version: snapshot.version });
|
|
29260
|
-
notifyListeners(entityType, prev);
|
|
29261
|
-
}
|
|
29262
|
-
function getSnapshot2(entityType) {
|
|
29263
|
-
const snap = store.get(entityType);
|
|
29264
|
-
if (!snap) return [];
|
|
29265
|
-
return materialize(snap);
|
|
29266
|
-
}
|
|
29267
|
-
function getById(entityType, id) {
|
|
29268
|
-
return store.get(entityType)?.entities.get(id) ?? null;
|
|
29269
|
-
}
|
|
29270
|
-
function getVersion(entityType) {
|
|
29271
|
-
return store.get(entityType)?.version ?? 0;
|
|
29272
|
-
}
|
|
29273
|
-
function subscribeToStore(listener) {
|
|
29274
|
-
storeListeners.add(listener);
|
|
29275
|
-
return () => {
|
|
29276
|
-
storeListeners.delete(listener);
|
|
29277
|
-
};
|
|
29278
|
-
}
|
|
29279
|
-
function useEntityRef(entityType) {
|
|
29280
|
-
const versionRef = useRef(0);
|
|
29281
|
-
const dataRef = useRef([]);
|
|
29282
|
-
const getSnapshotStable = React90__default.useCallback(() => {
|
|
29283
|
-
const currentVersion = getVersion(entityType);
|
|
29284
|
-
if (currentVersion !== versionRef.current) {
|
|
29285
|
-
versionRef.current = currentVersion;
|
|
29286
|
-
dataRef.current = getSnapshot2(entityType);
|
|
29287
|
-
}
|
|
29288
|
-
return dataRef.current;
|
|
29289
|
-
}, [entityType]);
|
|
29290
|
-
return useSyncExternalStore(subscribeToStore, getSnapshotStable, () => []);
|
|
29291
|
-
}
|
|
29292
|
-
var contextValue = {
|
|
29293
|
-
setAll,
|
|
29294
|
-
upsertOne,
|
|
29295
|
-
addOne,
|
|
29296
|
-
updateOne,
|
|
29297
|
-
removeOne,
|
|
29298
|
-
getSnapshot: getSnapshot2,
|
|
29299
|
-
getById
|
|
29300
|
-
};
|
|
29301
|
-
createContext(contextValue);
|
|
29302
29165
|
var EntitySchemaContext = createContext(null);
|
|
29303
29166
|
function useEntitySchemaOptional() {
|
|
29304
29167
|
return useContext(EntitySchemaContext);
|
|
@@ -36864,9 +36727,6 @@ function useUISlotManager() {
|
|
|
36864
36727
|
getContent
|
|
36865
36728
|
};
|
|
36866
36729
|
}
|
|
36867
|
-
var SelectionContext = createContext(null);
|
|
36868
|
-
|
|
36869
|
-
// hooks/useUIEvents.ts
|
|
36870
36730
|
var UI_PREFIX = "UI:";
|
|
36871
36731
|
function useUIEvents(dispatch, validEvents, eventBusInstance) {
|
|
36872
36732
|
const defaultEventBus = useEventBus();
|
|
@@ -37586,13 +37446,13 @@ function clearEntities() {
|
|
|
37586
37446
|
entities = /* @__PURE__ */ new Map();
|
|
37587
37447
|
notify();
|
|
37588
37448
|
}
|
|
37589
|
-
function
|
|
37449
|
+
function getSnapshot2() {
|
|
37590
37450
|
return entities;
|
|
37591
37451
|
}
|
|
37592
37452
|
|
|
37593
37453
|
// hooks/useEntities.ts
|
|
37594
37454
|
function useEntities() {
|
|
37595
|
-
const entities2 = useSyncExternalStore(subscribe,
|
|
37455
|
+
const entities2 = useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37596
37456
|
return {
|
|
37597
37457
|
entities: entities2,
|
|
37598
37458
|
getEntity,
|
|
@@ -37607,15 +37467,15 @@ function useEntities() {
|
|
|
37607
37467
|
};
|
|
37608
37468
|
}
|
|
37609
37469
|
function useEntity2(id) {
|
|
37610
|
-
const entities2 = useSyncExternalStore(subscribe,
|
|
37470
|
+
const entities2 = useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37611
37471
|
return entities2.get(id);
|
|
37612
37472
|
}
|
|
37613
37473
|
function useEntitiesByType(type) {
|
|
37614
|
-
const entities2 = useSyncExternalStore(subscribe,
|
|
37474
|
+
const entities2 = useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37615
37475
|
return [...entities2.values()].filter((e) => e.type === type);
|
|
37616
37476
|
}
|
|
37617
37477
|
function useSingletonEntity(type) {
|
|
37618
|
-
const entities2 = useSyncExternalStore(subscribe,
|
|
37478
|
+
const entities2 = useSyncExternalStore(subscribe, getSnapshot2, getSnapshot2);
|
|
37619
37479
|
return [...entities2.values()].find((e) => e.type === type);
|
|
37620
37480
|
}
|
|
37621
37481
|
function usePlayer() {
|
|
@@ -1379,22 +1379,13 @@ function useRaycaster(options) {
|
|
|
1379
1379
|
// lib/logger.ts
|
|
1380
1380
|
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
1381
1381
|
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
try {
|
|
1385
|
-
const meta = (0, eval)('typeof import.meta !== "undefined" && import.meta');
|
|
1386
|
-
return meta ? meta.env?.[key] : void 0;
|
|
1387
|
-
} catch {
|
|
1388
|
-
return void 0;
|
|
1389
|
-
}
|
|
1390
|
-
}
|
|
1391
|
-
function envGet(key, viteKey) {
|
|
1392
|
-
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
1382
|
+
function envGet(key) {
|
|
1383
|
+
return ENV[key] ?? ENV[`VITE_${key}`];
|
|
1393
1384
|
}
|
|
1394
|
-
var NODE_ENV = envGet("NODE_ENV"
|
|
1395
|
-
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL"
|
|
1385
|
+
var NODE_ENV = envGet("NODE_ENV") ?? "development";
|
|
1386
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
1396
1387
|
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
1397
|
-
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG"
|
|
1388
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
1398
1389
|
function matchesNamespace(namespace) {
|
|
1399
1390
|
if (DEBUG_FILTER.length === 0) return true;
|
|
1400
1391
|
return DEBUG_FILTER.some((pattern) => {
|
|
@@ -1355,22 +1355,13 @@ function useRaycaster(options) {
|
|
|
1355
1355
|
// lib/logger.ts
|
|
1356
1356
|
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
1357
1357
|
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
try {
|
|
1361
|
-
const meta = (0, eval)('typeof import.meta !== "undefined" && import.meta');
|
|
1362
|
-
return meta ? meta.env?.[key] : void 0;
|
|
1363
|
-
} catch {
|
|
1364
|
-
return void 0;
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1367
|
-
function envGet(key, viteKey) {
|
|
1368
|
-
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
1358
|
+
function envGet(key) {
|
|
1359
|
+
return ENV[key] ?? ENV[`VITE_${key}`];
|
|
1369
1360
|
}
|
|
1370
|
-
var NODE_ENV = envGet("NODE_ENV"
|
|
1371
|
-
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL"
|
|
1361
|
+
var NODE_ENV = envGet("NODE_ENV") ?? "development";
|
|
1362
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
1372
1363
|
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
1373
|
-
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG"
|
|
1364
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
1374
1365
|
function matchesNamespace(namespace) {
|
|
1375
1366
|
if (DEBUG_FILTER.length === 0) return true;
|
|
1376
1367
|
return DEBUG_FILTER.some((pattern) => {
|
package/dist/docs/index.cjs
CHANGED
|
@@ -2510,22 +2510,13 @@ function cn(...inputs) {
|
|
|
2510
2510
|
// lib/logger.ts
|
|
2511
2511
|
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
2512
2512
|
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
try {
|
|
2516
|
-
const meta = (0, eval)('typeof import.meta !== "undefined" && import.meta');
|
|
2517
|
-
return meta ? meta.env?.[key] : void 0;
|
|
2518
|
-
} catch {
|
|
2519
|
-
return void 0;
|
|
2520
|
-
}
|
|
2521
|
-
}
|
|
2522
|
-
function envGet(key, viteKey) {
|
|
2523
|
-
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
2513
|
+
function envGet(key) {
|
|
2514
|
+
return ENV[key] ?? ENV[`VITE_${key}`];
|
|
2524
2515
|
}
|
|
2525
|
-
var NODE_ENV = envGet("NODE_ENV"
|
|
2526
|
-
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL"
|
|
2516
|
+
var NODE_ENV = envGet("NODE_ENV") ?? "development";
|
|
2517
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
2527
2518
|
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
2528
|
-
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG"
|
|
2519
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
2529
2520
|
function matchesNamespace(namespace) {
|
|
2530
2521
|
if (DEBUG_FILTER.length === 0) return true;
|
|
2531
2522
|
return DEBUG_FILTER.some((pattern) => {
|