@almadar/ui 2.46.0 → 2.47.0
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 +103 -7
- package/dist/avl/index.js +102 -7
- package/dist/components/atoms/Box.d.ts +4 -0
- package/dist/components/index.cjs +85 -11
- package/dist/components/index.js +84 -11
- package/dist/components/organisms/game/three/index.cjs +67 -0
- package/dist/components/organisms/game/three/index.js +66 -0
- package/dist/docs/index.cjs +67 -0
- package/dist/docs/index.d.cts +4 -0
- package/dist/docs/index.js +66 -0
- package/dist/hooks/index.cjs +72 -7
- package/dist/hooks/index.js +71 -7
- package/dist/lib/index.cjs +68 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +66 -1
- package/dist/lib/logger.d.ts +16 -0
- package/dist/marketing/index.cjs +67 -0
- package/dist/marketing/index.d.cts +4 -0
- package/dist/marketing/index.js +66 -0
- package/dist/providers/index.cjs +86 -2
- package/dist/providers/index.js +85 -2
- package/dist/runtime/index.cjs +91 -5
- package/dist/runtime/index.js +90 -5
- package/package.json +1 -1
package/dist/lib/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var clsx = require('clsx');
|
|
4
4
|
var tailwindMerge = require('tailwind-merge');
|
|
5
5
|
|
|
6
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
6
7
|
function cn(...inputs) {
|
|
7
8
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
8
9
|
}
|
|
@@ -427,7 +428,69 @@ function clearTraits() {
|
|
|
427
428
|
notifyListeners4();
|
|
428
429
|
}
|
|
429
430
|
|
|
431
|
+
// lib/logger.ts
|
|
432
|
+
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
433
|
+
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
434
|
+
var VITE_ENV = typeof globalThis !== "undefined" && globalThis.__vite_env__ ? globalThis.__vite_env__ : {};
|
|
435
|
+
function getViteEnv(key) {
|
|
436
|
+
try {
|
|
437
|
+
const meta = ({ url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)) });
|
|
438
|
+
return meta?.env?.[key];
|
|
439
|
+
} catch {
|
|
440
|
+
return void 0;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
function envGet(key, viteKey) {
|
|
444
|
+
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
445
|
+
}
|
|
446
|
+
var NODE_ENV = envGet("NODE_ENV", "VITE_NODE_ENV") ?? "development";
|
|
447
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL", "VITE_LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
448
|
+
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
449
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG", "VITE_ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
450
|
+
function matchesNamespace(namespace) {
|
|
451
|
+
if (DEBUG_FILTER.length === 0) return true;
|
|
452
|
+
return DEBUG_FILTER.some((pattern) => {
|
|
453
|
+
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
454
|
+
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
455
|
+
return namespace === pattern;
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
function createLogger(namespace) {
|
|
459
|
+
const nsAllowed = matchesNamespace(namespace);
|
|
460
|
+
const log2 = (level, message, data, correlationId) => {
|
|
461
|
+
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
462
|
+
if (level === "DEBUG" && !nsAllowed) return;
|
|
463
|
+
const prefix = `[${namespace}]`;
|
|
464
|
+
const logData = correlationId ? { ...data, cid: correlationId } : data;
|
|
465
|
+
switch (level) {
|
|
466
|
+
case "DEBUG":
|
|
467
|
+
console.debug(prefix, message, logData ?? "");
|
|
468
|
+
break;
|
|
469
|
+
case "INFO":
|
|
470
|
+
console.info(prefix, message, logData ?? "");
|
|
471
|
+
break;
|
|
472
|
+
case "WARN":
|
|
473
|
+
console.warn(prefix, message, logData ?? "");
|
|
474
|
+
break;
|
|
475
|
+
case "ERROR":
|
|
476
|
+
console.error(prefix, message, logData ?? "");
|
|
477
|
+
break;
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
return {
|
|
481
|
+
debug: (msg, data, cid) => log2("DEBUG", msg, data, cid),
|
|
482
|
+
info: (msg, data, cid) => log2("INFO", msg, data, cid),
|
|
483
|
+
warn: (msg, data, cid) => log2("WARN", msg, data, cid),
|
|
484
|
+
error: (msg, data, cid) => log2("ERROR", msg, data, cid)
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
var _cidCounter = 0;
|
|
488
|
+
function generateCorrelationId() {
|
|
489
|
+
return `evt-${Date.now()}-${++_cidCounter}`;
|
|
490
|
+
}
|
|
491
|
+
|
|
430
492
|
// lib/verificationRegistry.ts
|
|
493
|
+
var log = createLogger("almadar:bridge");
|
|
431
494
|
var MAX_TRANSITIONS = 500;
|
|
432
495
|
function getState() {
|
|
433
496
|
if (typeof window !== "undefined") {
|
|
@@ -471,6 +534,7 @@ function recordTransition(trace) {
|
|
|
471
534
|
...trace,
|
|
472
535
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
473
536
|
};
|
|
537
|
+
log.info("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
474
538
|
getState().transitions.push(entry);
|
|
475
539
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
476
540
|
getState().transitions.shift();
|
|
@@ -620,10 +684,12 @@ function waitForTransition(event, timeoutMs = 1e4) {
|
|
|
620
684
|
}
|
|
621
685
|
function bindEventBus(eventBus) {
|
|
622
686
|
if (typeof window === "undefined") return;
|
|
687
|
+
log.info("bindEventBus", { hasOnAny: !!eventBus.onAny });
|
|
623
688
|
exposeOnWindow();
|
|
624
689
|
if (window.__orbitalVerification) {
|
|
625
690
|
window.__orbitalVerification.sendEvent = (event, payload) => {
|
|
626
691
|
const prefixed = event.startsWith("UI:") ? event : `UI:${event}`;
|
|
692
|
+
log.debug("sendEvent", { event: prefixed, payloadKeys: payload ? Object.keys(payload) : [] });
|
|
627
693
|
eventBus.emit(prefixed, payload);
|
|
628
694
|
};
|
|
629
695
|
const eventLog = [];
|
|
@@ -1461,6 +1527,7 @@ exports.clearTicks = clearTicks;
|
|
|
1461
1527
|
exports.clearTraits = clearTraits;
|
|
1462
1528
|
exports.clearVerification = clearVerification;
|
|
1463
1529
|
exports.cn = cn;
|
|
1530
|
+
exports.createLogger = createLogger;
|
|
1464
1531
|
exports.debug = debug;
|
|
1465
1532
|
exports.debugCollision = debugCollision;
|
|
1466
1533
|
exports.debugError = debugError;
|
|
@@ -1477,6 +1544,7 @@ exports.extractOutputsFromTransitions = extractOutputsFromTransitions;
|
|
|
1477
1544
|
exports.extractStateMachine = extractStateMachine;
|
|
1478
1545
|
exports.formatGuard = formatGuard;
|
|
1479
1546
|
exports.formatNestedFieldLabel = formatNestedFieldLabel;
|
|
1547
|
+
exports.generateCorrelationId = generateCorrelationId;
|
|
1480
1548
|
exports.getAllChecks = getAllChecks;
|
|
1481
1549
|
exports.getAllTicks = getAllTicks;
|
|
1482
1550
|
exports.getAllTraits = getAllTraits;
|
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.js
CHANGED
|
@@ -425,7 +425,69 @@ function clearTraits() {
|
|
|
425
425
|
notifyListeners4();
|
|
426
426
|
}
|
|
427
427
|
|
|
428
|
+
// lib/logger.ts
|
|
429
|
+
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
430
|
+
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
431
|
+
var VITE_ENV = typeof globalThis !== "undefined" && globalThis.__vite_env__ ? globalThis.__vite_env__ : {};
|
|
432
|
+
function getViteEnv(key) {
|
|
433
|
+
try {
|
|
434
|
+
const meta = import.meta;
|
|
435
|
+
return meta?.env?.[key];
|
|
436
|
+
} catch {
|
|
437
|
+
return void 0;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
function envGet(key, viteKey) {
|
|
441
|
+
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
442
|
+
}
|
|
443
|
+
var NODE_ENV = envGet("NODE_ENV", "VITE_NODE_ENV") ?? "development";
|
|
444
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL", "VITE_LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
445
|
+
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
446
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG", "VITE_ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
447
|
+
function matchesNamespace(namespace) {
|
|
448
|
+
if (DEBUG_FILTER.length === 0) return true;
|
|
449
|
+
return DEBUG_FILTER.some((pattern) => {
|
|
450
|
+
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
451
|
+
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
452
|
+
return namespace === pattern;
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
function createLogger(namespace) {
|
|
456
|
+
const nsAllowed = matchesNamespace(namespace);
|
|
457
|
+
const log2 = (level, message, data, correlationId) => {
|
|
458
|
+
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
459
|
+
if (level === "DEBUG" && !nsAllowed) return;
|
|
460
|
+
const prefix = `[${namespace}]`;
|
|
461
|
+
const logData = correlationId ? { ...data, cid: correlationId } : data;
|
|
462
|
+
switch (level) {
|
|
463
|
+
case "DEBUG":
|
|
464
|
+
console.debug(prefix, message, logData ?? "");
|
|
465
|
+
break;
|
|
466
|
+
case "INFO":
|
|
467
|
+
console.info(prefix, message, logData ?? "");
|
|
468
|
+
break;
|
|
469
|
+
case "WARN":
|
|
470
|
+
console.warn(prefix, message, logData ?? "");
|
|
471
|
+
break;
|
|
472
|
+
case "ERROR":
|
|
473
|
+
console.error(prefix, message, logData ?? "");
|
|
474
|
+
break;
|
|
475
|
+
}
|
|
476
|
+
};
|
|
477
|
+
return {
|
|
478
|
+
debug: (msg, data, cid) => log2("DEBUG", msg, data, cid),
|
|
479
|
+
info: (msg, data, cid) => log2("INFO", msg, data, cid),
|
|
480
|
+
warn: (msg, data, cid) => log2("WARN", msg, data, cid),
|
|
481
|
+
error: (msg, data, cid) => log2("ERROR", msg, data, cid)
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
var _cidCounter = 0;
|
|
485
|
+
function generateCorrelationId() {
|
|
486
|
+
return `evt-${Date.now()}-${++_cidCounter}`;
|
|
487
|
+
}
|
|
488
|
+
|
|
428
489
|
// lib/verificationRegistry.ts
|
|
490
|
+
var log = createLogger("almadar:bridge");
|
|
429
491
|
var MAX_TRANSITIONS = 500;
|
|
430
492
|
function getState() {
|
|
431
493
|
if (typeof window !== "undefined") {
|
|
@@ -469,6 +531,7 @@ function recordTransition(trace) {
|
|
|
469
531
|
...trace,
|
|
470
532
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
471
533
|
};
|
|
534
|
+
log.info("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
472
535
|
getState().transitions.push(entry);
|
|
473
536
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
474
537
|
getState().transitions.shift();
|
|
@@ -618,10 +681,12 @@ function waitForTransition(event, timeoutMs = 1e4) {
|
|
|
618
681
|
}
|
|
619
682
|
function bindEventBus(eventBus) {
|
|
620
683
|
if (typeof window === "undefined") return;
|
|
684
|
+
log.info("bindEventBus", { hasOnAny: !!eventBus.onAny });
|
|
621
685
|
exposeOnWindow();
|
|
622
686
|
if (window.__orbitalVerification) {
|
|
623
687
|
window.__orbitalVerification.sendEvent = (event, payload) => {
|
|
624
688
|
const prefixed = event.startsWith("UI:") ? event : `UI:${event}`;
|
|
689
|
+
log.debug("sendEvent", { event: prefixed, payloadKeys: payload ? Object.keys(payload) : [] });
|
|
625
690
|
eventBus.emit(prefixed, payload);
|
|
626
691
|
};
|
|
627
692
|
const eventLog = [];
|
|
@@ -1446,4 +1511,4 @@ function parseContentSegments(content) {
|
|
|
1446
1511
|
return segments;
|
|
1447
1512
|
}
|
|
1448
1513
|
|
|
1449
|
-
export { ApiError, DEFAULT_CONFIG, apiClient, bindCanvasCapture, bindEventBus, bindTraitStateGetter, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, cn, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, extractOutputsFromTransitions, extractStateMachine, formatGuard, formatNestedFieldLabel, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEffectSummary, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getNestedValue, getRecentEvents, getRecentGuardEvaluations, getSnapshot, getSummary, getTick, getTrait, getTransitions, getTransitionsForTrait, initDebugShortcut, isDebugEnabled, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, parseContentSegments, parseMarkdownWithCodeBlocks, recordGuardEvaluation, recordServerResponse, recordTransition, registerCheck, registerTick, registerTrait, renderStateMachineToDomData, renderStateMachineToSvg, setDebugEnabled, setEntityProvider, setTickActive, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, subscribeToVerification, toggleDebug, unregisterTick, unregisterTrait, updateAssetStatus, updateBridgeHealth, updateCheck, updateGuardResult, updateTickExecution, updateTraitState, waitForTransition };
|
|
1514
|
+
export { ApiError, DEFAULT_CONFIG, apiClient, bindCanvasCapture, bindEventBus, bindTraitStateGetter, clearDebugEvents, clearEntityProvider, clearGuardHistory, clearTicks, clearTraits, clearVerification, cn, createLogger, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, extractOutputsFromTransitions, extractStateMachine, formatGuard, formatNestedFieldLabel, generateCorrelationId, getAllChecks, getAllTicks, getAllTraits, getBridgeHealth, getDebugEvents, getEffectSummary, getEntitiesByType, getEntityById, getEntitySnapshot, getEventsBySource, getEventsByType, getGuardEvaluationsForTrait, getGuardHistory, getNestedValue, getRecentEvents, getRecentGuardEvaluations, getSnapshot, getSummary, getTick, getTrait, getTransitions, getTransitionsForTrait, initDebugShortcut, isDebugEnabled, logDebugEvent, logEffectExecuted, logError, logEventFired, logInfo, logStateChange, logWarning, onDebugToggle, parseContentSegments, parseMarkdownWithCodeBlocks, recordGuardEvaluation, recordServerResponse, recordTransition, registerCheck, registerTick, registerTrait, renderStateMachineToDomData, renderStateMachineToSvg, setDebugEnabled, setEntityProvider, setTickActive, subscribeToDebugEvents, subscribeToGuardChanges, subscribeToTickChanges, subscribeToTraitChanges, subscribeToVerification, toggleDebug, unregisterTick, unregisterTrait, updateAssetStatus, updateBridgeHealth, updateCheck, updateGuardResult, updateTickExecution, updateTraitState, waitForTransition };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Almadar Structured Logger
|
|
3
|
+
*
|
|
4
|
+
* Namespace-based logging with level gating and correlation IDs.
|
|
5
|
+
* Pure TypeScript, zero React dependencies. Works in Node.js, Vite, and browser.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
export interface Logger {
|
|
10
|
+
debug: (msg: string, data?: Record<string, unknown>, cid?: string) => void;
|
|
11
|
+
info: (msg: string, data?: Record<string, unknown>, cid?: string) => void;
|
|
12
|
+
warn: (msg: string, data?: Record<string, unknown>, cid?: string) => void;
|
|
13
|
+
error: (msg: string, data?: Record<string, unknown>, cid?: string) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createLogger(namespace: string): Logger;
|
|
16
|
+
export declare function generateCorrelationId(): string;
|
package/dist/marketing/index.cjs
CHANGED
|
@@ -4,6 +4,7 @@ var React5 = require('react');
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var LucideIcons = require('lucide-react');
|
|
6
6
|
|
|
7
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
7
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
9
|
|
|
9
10
|
function _interopNamespace(e) {
|
|
@@ -2506,9 +2507,70 @@ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
|
2506
2507
|
function cn(...inputs) {
|
|
2507
2508
|
return twMerge(clsx(inputs));
|
|
2508
2509
|
}
|
|
2510
|
+
|
|
2511
|
+
// lib/logger.ts
|
|
2512
|
+
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
2513
|
+
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
2514
|
+
var VITE_ENV = typeof globalThis !== "undefined" && globalThis.__vite_env__ ? globalThis.__vite_env__ : {};
|
|
2515
|
+
function getViteEnv(key) {
|
|
2516
|
+
try {
|
|
2517
|
+
const meta = ({ url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)) });
|
|
2518
|
+
return meta?.env?.[key];
|
|
2519
|
+
} catch {
|
|
2520
|
+
return void 0;
|
|
2521
|
+
}
|
|
2522
|
+
}
|
|
2523
|
+
function envGet(key, viteKey) {
|
|
2524
|
+
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
2525
|
+
}
|
|
2526
|
+
var NODE_ENV = envGet("NODE_ENV", "VITE_NODE_ENV") ?? "development";
|
|
2527
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL", "VITE_LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
2528
|
+
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
2529
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG", "VITE_ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
2530
|
+
function matchesNamespace(namespace) {
|
|
2531
|
+
if (DEBUG_FILTER.length === 0) return true;
|
|
2532
|
+
return DEBUG_FILTER.some((pattern) => {
|
|
2533
|
+
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
2534
|
+
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
2535
|
+
return namespace === pattern;
|
|
2536
|
+
});
|
|
2537
|
+
}
|
|
2538
|
+
function createLogger(namespace) {
|
|
2539
|
+
const nsAllowed = matchesNamespace(namespace);
|
|
2540
|
+
const log2 = (level, message, data, correlationId) => {
|
|
2541
|
+
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
2542
|
+
if (level === "DEBUG" && !nsAllowed) return;
|
|
2543
|
+
const prefix = `[${namespace}]`;
|
|
2544
|
+
const logData = correlationId ? { ...data, cid: correlationId } : data;
|
|
2545
|
+
switch (level) {
|
|
2546
|
+
case "DEBUG":
|
|
2547
|
+
console.debug(prefix, message, logData ?? "");
|
|
2548
|
+
break;
|
|
2549
|
+
case "INFO":
|
|
2550
|
+
console.info(prefix, message, logData ?? "");
|
|
2551
|
+
break;
|
|
2552
|
+
case "WARN":
|
|
2553
|
+
console.warn(prefix, message, logData ?? "");
|
|
2554
|
+
break;
|
|
2555
|
+
case "ERROR":
|
|
2556
|
+
console.error(prefix, message, logData ?? "");
|
|
2557
|
+
break;
|
|
2558
|
+
}
|
|
2559
|
+
};
|
|
2560
|
+
return {
|
|
2561
|
+
debug: (msg, data, cid) => log2("DEBUG", msg, data, cid),
|
|
2562
|
+
info: (msg, data, cid) => log2("INFO", msg, data, cid),
|
|
2563
|
+
warn: (msg, data, cid) => log2("WARN", msg, data, cid),
|
|
2564
|
+
error: (msg, data, cid) => log2("ERROR", msg, data, cid)
|
|
2565
|
+
};
|
|
2566
|
+
}
|
|
2567
|
+
createLogger("almadar:eventbus");
|
|
2568
|
+
createLogger("almadar:eventbus:subscribe");
|
|
2509
2569
|
var EventBusContext = React5.createContext(null);
|
|
2510
2570
|
|
|
2511
2571
|
// hooks/useEventBus.ts
|
|
2572
|
+
var log = createLogger("almadar:eventbus");
|
|
2573
|
+
var subLog2 = createLogger("almadar:eventbus:subscribe");
|
|
2512
2574
|
function getGlobalEventBus() {
|
|
2513
2575
|
if (typeof window !== "undefined") {
|
|
2514
2576
|
return window.__kflowEventBus ?? null;
|
|
@@ -2525,6 +2587,7 @@ var fallbackEventBus = {
|
|
|
2525
2587
|
timestamp: Date.now()
|
|
2526
2588
|
};
|
|
2527
2589
|
const handlers = fallbackListeners.get(type);
|
|
2590
|
+
log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
|
|
2528
2591
|
if (handlers) {
|
|
2529
2592
|
handlers.forEach((handler) => {
|
|
2530
2593
|
try {
|
|
@@ -2547,6 +2610,7 @@ var fallbackEventBus = {
|
|
|
2547
2610
|
fallbackListeners.set(type, /* @__PURE__ */ new Set());
|
|
2548
2611
|
}
|
|
2549
2612
|
fallbackListeners.get(type).add(listener);
|
|
2613
|
+
subLog2.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
|
|
2550
2614
|
return () => {
|
|
2551
2615
|
const handlers = fallbackListeners.get(type);
|
|
2552
2616
|
if (handlers) {
|
|
@@ -2570,6 +2634,7 @@ var fallbackEventBus = {
|
|
|
2570
2634
|
},
|
|
2571
2635
|
onAny: (listener) => {
|
|
2572
2636
|
fallbackAnyListeners.add(listener);
|
|
2637
|
+
subLog2.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
|
|
2573
2638
|
return () => {
|
|
2574
2639
|
fallbackAnyListeners.delete(listener);
|
|
2575
2640
|
};
|
|
@@ -2704,6 +2769,7 @@ var Box = React5__default.default.forwardRef(
|
|
|
2704
2769
|
action,
|
|
2705
2770
|
actionPayload,
|
|
2706
2771
|
hoverEvent,
|
|
2772
|
+
maxWidth,
|
|
2707
2773
|
onClick,
|
|
2708
2774
|
onMouseEnter,
|
|
2709
2775
|
onMouseLeave,
|
|
@@ -2768,6 +2834,7 @@ var Box = React5__default.default.forwardRef(
|
|
|
2768
2834
|
onClick: isClickable ? handleClick : void 0,
|
|
2769
2835
|
onMouseEnter: hoverEvent || onMouseEnter ? handleMouseEnter : void 0,
|
|
2770
2836
|
onMouseLeave: hoverEvent || onMouseLeave ? handleMouseLeave : void 0,
|
|
2837
|
+
style: maxWidth ? { maxWidth, ...rest.style } : rest.style,
|
|
2771
2838
|
...rest,
|
|
2772
2839
|
children
|
|
2773
2840
|
}
|
|
@@ -52,6 +52,10 @@ interface BoxProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
52
52
|
actionPayload?: Record<string, unknown>;
|
|
53
53
|
/** Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave */
|
|
54
54
|
hoverEvent?: string;
|
|
55
|
+
/** Maximum width (CSS value, e.g., "550px", "80rem") */
|
|
56
|
+
maxWidth?: string;
|
|
57
|
+
/** Children elements */
|
|
58
|
+
children?: React.ReactNode;
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
61
|
* Box - Versatile container component with design tokens
|
package/dist/marketing/index.js
CHANGED
|
@@ -2482,9 +2482,70 @@ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
|
2482
2482
|
function cn(...inputs) {
|
|
2483
2483
|
return twMerge(clsx(inputs));
|
|
2484
2484
|
}
|
|
2485
|
+
|
|
2486
|
+
// lib/logger.ts
|
|
2487
|
+
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
2488
|
+
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
2489
|
+
var VITE_ENV = typeof globalThis !== "undefined" && globalThis.__vite_env__ ? globalThis.__vite_env__ : {};
|
|
2490
|
+
function getViteEnv(key) {
|
|
2491
|
+
try {
|
|
2492
|
+
const meta = import.meta;
|
|
2493
|
+
return meta?.env?.[key];
|
|
2494
|
+
} catch {
|
|
2495
|
+
return void 0;
|
|
2496
|
+
}
|
|
2497
|
+
}
|
|
2498
|
+
function envGet(key, viteKey) {
|
|
2499
|
+
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
2500
|
+
}
|
|
2501
|
+
var NODE_ENV = envGet("NODE_ENV", "VITE_NODE_ENV") ?? "development";
|
|
2502
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL", "VITE_LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
2503
|
+
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
2504
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG", "VITE_ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
2505
|
+
function matchesNamespace(namespace) {
|
|
2506
|
+
if (DEBUG_FILTER.length === 0) return true;
|
|
2507
|
+
return DEBUG_FILTER.some((pattern) => {
|
|
2508
|
+
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
2509
|
+
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
2510
|
+
return namespace === pattern;
|
|
2511
|
+
});
|
|
2512
|
+
}
|
|
2513
|
+
function createLogger(namespace) {
|
|
2514
|
+
const nsAllowed = matchesNamespace(namespace);
|
|
2515
|
+
const log2 = (level, message, data, correlationId) => {
|
|
2516
|
+
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
2517
|
+
if (level === "DEBUG" && !nsAllowed) return;
|
|
2518
|
+
const prefix = `[${namespace}]`;
|
|
2519
|
+
const logData = correlationId ? { ...data, cid: correlationId } : data;
|
|
2520
|
+
switch (level) {
|
|
2521
|
+
case "DEBUG":
|
|
2522
|
+
console.debug(prefix, message, logData ?? "");
|
|
2523
|
+
break;
|
|
2524
|
+
case "INFO":
|
|
2525
|
+
console.info(prefix, message, logData ?? "");
|
|
2526
|
+
break;
|
|
2527
|
+
case "WARN":
|
|
2528
|
+
console.warn(prefix, message, logData ?? "");
|
|
2529
|
+
break;
|
|
2530
|
+
case "ERROR":
|
|
2531
|
+
console.error(prefix, message, logData ?? "");
|
|
2532
|
+
break;
|
|
2533
|
+
}
|
|
2534
|
+
};
|
|
2535
|
+
return {
|
|
2536
|
+
debug: (msg, data, cid) => log2("DEBUG", msg, data, cid),
|
|
2537
|
+
info: (msg, data, cid) => log2("INFO", msg, data, cid),
|
|
2538
|
+
warn: (msg, data, cid) => log2("WARN", msg, data, cid),
|
|
2539
|
+
error: (msg, data, cid) => log2("ERROR", msg, data, cid)
|
|
2540
|
+
};
|
|
2541
|
+
}
|
|
2542
|
+
createLogger("almadar:eventbus");
|
|
2543
|
+
createLogger("almadar:eventbus:subscribe");
|
|
2485
2544
|
var EventBusContext = createContext(null);
|
|
2486
2545
|
|
|
2487
2546
|
// hooks/useEventBus.ts
|
|
2547
|
+
var log = createLogger("almadar:eventbus");
|
|
2548
|
+
var subLog2 = createLogger("almadar:eventbus:subscribe");
|
|
2488
2549
|
function getGlobalEventBus() {
|
|
2489
2550
|
if (typeof window !== "undefined") {
|
|
2490
2551
|
return window.__kflowEventBus ?? null;
|
|
@@ -2501,6 +2562,7 @@ var fallbackEventBus = {
|
|
|
2501
2562
|
timestamp: Date.now()
|
|
2502
2563
|
};
|
|
2503
2564
|
const handlers = fallbackListeners.get(type);
|
|
2565
|
+
log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
|
|
2504
2566
|
if (handlers) {
|
|
2505
2567
|
handlers.forEach((handler) => {
|
|
2506
2568
|
try {
|
|
@@ -2523,6 +2585,7 @@ var fallbackEventBus = {
|
|
|
2523
2585
|
fallbackListeners.set(type, /* @__PURE__ */ new Set());
|
|
2524
2586
|
}
|
|
2525
2587
|
fallbackListeners.get(type).add(listener);
|
|
2588
|
+
subLog2.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
|
|
2526
2589
|
return () => {
|
|
2527
2590
|
const handlers = fallbackListeners.get(type);
|
|
2528
2591
|
if (handlers) {
|
|
@@ -2546,6 +2609,7 @@ var fallbackEventBus = {
|
|
|
2546
2609
|
},
|
|
2547
2610
|
onAny: (listener) => {
|
|
2548
2611
|
fallbackAnyListeners.add(listener);
|
|
2612
|
+
subLog2.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
|
|
2549
2613
|
return () => {
|
|
2550
2614
|
fallbackAnyListeners.delete(listener);
|
|
2551
2615
|
};
|
|
@@ -2680,6 +2744,7 @@ var Box = React5.forwardRef(
|
|
|
2680
2744
|
action,
|
|
2681
2745
|
actionPayload,
|
|
2682
2746
|
hoverEvent,
|
|
2747
|
+
maxWidth,
|
|
2683
2748
|
onClick,
|
|
2684
2749
|
onMouseEnter,
|
|
2685
2750
|
onMouseLeave,
|
|
@@ -2744,6 +2809,7 @@ var Box = React5.forwardRef(
|
|
|
2744
2809
|
onClick: isClickable ? handleClick : void 0,
|
|
2745
2810
|
onMouseEnter: hoverEvent || onMouseEnter ? handleMouseEnter : void 0,
|
|
2746
2811
|
onMouseLeave: hoverEvent || onMouseLeave ? handleMouseLeave : void 0,
|
|
2812
|
+
style: maxWidth ? { maxWidth, ...rest.style } : rest.style,
|
|
2747
2813
|
...rest,
|
|
2748
2814
|
children
|
|
2749
2815
|
}
|