@almadar/shell-web 1.2.1 → 1.3.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/AvlGlyph-N2MSWT7H.js +5 -0
- package/dist/{AvlStateMachine-KVZMFHFU.js → AvlStateMachine-HDWKFV7C.js} +3 -3
- package/dist/AvlTransitionDetail-CRMZLMFV.js +10 -0
- package/dist/AvlTransitionExplainer-NJLDP7X5.js +11 -0
- package/dist/BehaviorView-EFKTS3KZ.js +10 -0
- package/dist/{FileTree-B3GDAjaQ.d.ts → FileTree-CSdbAdcJ.d.ts} +8 -0
- package/dist/FlowCanvas-S3ODHQXS.js +23 -0
- package/dist/{GameAudioProvider-BgWOOYT3.d.ts → GameAudioProvider-B8FBcGVE.d.ts} +1 -1
- package/dist/{KernelEngineContext-BPx-q0iw.d.ts → KernelEngineContext-6l6vkc50.d.ts} +1 -1
- package/dist/{LayersPanel-PSXI4EHG.js → LayersPanel-YHXNS36U.js} +4 -4
- package/dist/ModuleCard-6UW7YBAH.js +6 -0
- package/dist/OrbInspector-RQU5P2T6.js +23 -0
- package/dist/OrbPreview-V4VLWNMT.css +1754 -0
- package/dist/OrbPreview-WKC3ORIK.js +23 -0
- package/dist/{Select-BJ8Fgc8A.d.ts → Select-DuX0Gvwo.d.ts} +14 -8
- package/dist/UISlotRenderer-7IGRYWII.js +23 -0
- package/dist/auth/react/index.js +4 -0
- package/dist/avl/index.d.ts +2 -2
- package/dist/avl/index.js +25 -25
- package/dist/{chunk-LKL5RULQ.js → chunk-3OF2X6GG.js} +2 -2
- package/dist/{chunk-V5SVGUYN.js → chunk-3WSTUUJ7.js} +1 -1
- package/dist/{chunk-B23EZH2P.js → chunk-4IFO6QJL.js} +3 -3
- package/dist/{chunk-RDPELAFQ.js → chunk-4UAAP6ZN.js} +2 -2
- package/dist/{chunk-LINJRTNB.js → chunk-6MZ224GN.js} +2 -2
- package/dist/{chunk-3YUMGEEW.js → chunk-AYQKZFUH.js} +1 -1
- package/dist/{chunk-3DA36FOA.js → chunk-BY2UJWVR.js} +1 -1
- package/dist/{chunk-S3LS3B7N.js → chunk-CB4POLGP.js} +1 -1
- package/dist/{chunk-2LNXLMK3.js → chunk-FZOX7XTU.js} +41 -41
- package/dist/{chunk-ZDRDJKYB.js → chunk-MXN32OVV.js} +212 -20
- package/dist/{chunk-TAEOMNDK.js → chunk-NIOQT2IE.js} +44914 -44206
- package/dist/{chunk-CCO2ZH7F.js → chunk-NVSUTIJ2.js} +2 -2
- package/dist/{chunk-DPDKBY6Z.js → chunk-OEWVBYW5.js} +1 -0
- package/dist/{chunk-UFQLHCFJ.js → chunk-OHWEWQL3.js} +1 -1
- package/dist/{chunk-D5FJU4XC.js → chunk-OOG33EGF.js} +46 -14
- package/dist/{chunk-AU7O65OX.js → chunk-OXHXISFA.js} +1 -1
- package/dist/{chunk-PWXZN5G5.js → chunk-PD5QUVRE.js} +2 -2
- package/dist/{chunk-6RXP5ZXE.js → chunk-PHIQOASV.js} +5 -5
- package/dist/{chunk-GHAF7QUD.js → chunk-QZ6TDP6I.js} +1 -1
- package/dist/{chunk-JEN4EIUF.js → chunk-RCB4CKRK.js} +1 -1
- package/dist/{chunk-AL2XXMYR.js → chunk-RQH6O76X.js} +20 -6
- package/dist/{chunk-7UCL26QB.js → chunk-TJEB4PII.js} +3 -3
- package/dist/{chunk-KTYOYEVA.js → chunk-YU2ZNLGI.js} +1 -1
- package/dist/components/index.d.ts +295 -22
- package/dist/components/index.js +27 -22
- package/dist/context/index.js +3 -3
- package/dist/core.d.ts +23 -6
- package/dist/core.js +1 -1
- package/dist/{fx-Bx5RqplG.d.ts → fx-Bc3yEVED.d.ts} +2 -2
- package/dist/hooks/index.js +4 -4
- package/dist/index.d.ts +18 -5
- package/dist/index.js +4 -4
- package/dist/{kernel-client-NMZ56JVU.js → kernel-client-NM6S72DO.js} +74 -33
- package/dist/{kernel-wire-CRsHtLsf.d.ts → kernel-wire-Ds7xSZzx.d.ts} +6 -0
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.js +3 -3
- package/dist/providers/index.d.ts +5 -5
- package/dist/providers/index.js +15 -15
- package/dist/runtime/index.d.ts +6 -2
- package/dist/runtime/index.js +14 -14
- package/dist/ssr/index.cjs +27 -4
- package/dist/ssr/index.d.cts +6 -0
- package/dist/ssr/index.d.ts +6 -0
- package/dist/ssr/index.js +27 -4
- package/dist/test-support.js +2 -2
- package/dist/{verificationRegistry-BLuQU1JV.d.ts → verificationRegistry-Dz5N0oxx.d.ts} +199 -8
- package/package.json +9 -9
- package/src/core/locales/ar.json +8 -1
- package/src/core/locales/en.json +8 -1
- package/src/core/locales/sl.json +8 -1
- package/dist/AvlGlyph-KZMJDBEB.js +0 -5
- package/dist/AvlTransitionDetail-7DVGV27I.js +0 -10
- package/dist/AvlTransitionExplainer-RMJ5LQLK.js +0 -11
- package/dist/BehaviorView-EYRPME67.js +0 -10
- package/dist/FlowCanvas-J54627TC.js +0 -23
- package/dist/ModuleCard-TNRLL45H.js +0 -6
- package/dist/OrbInspector-UBEQWWZ2.js +0 -23
- package/dist/UISlotRenderer-5OURMAP2.js +0 -23
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AvlFieldType, AvlState, AvlPage, AvlEntity } from './chunk-
|
|
1
|
+
import { AvlFieldType, AvlState, AvlPage, AvlEntity } from './chunk-OEWVBYW5.js';
|
|
2
2
|
import { OPERATOR_CATEGORY_COLORS, AvlEffect } from './chunk-3UQNFRYV.js';
|
|
3
|
-
import { useTranslate, Box, Typography, domPassthrough } from './chunk-
|
|
3
|
+
import { useTranslate, Box, Typography, domPassthrough } from './chunk-OOG33EGF.js';
|
|
4
4
|
import React, { useRef, useState, useLayoutEffect } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FileTree } from './chunk-
|
|
1
|
+
import { FileTree } from './chunk-RQH6O76X.js';
|
|
2
2
|
import { parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, traitTransitionRenderUi } from './chunk-PCR37T3U.js';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -3,7 +3,7 @@ import React44__default, { useRef, useEffect, createContext, useCallback, useSta
|
|
|
3
3
|
import { clsx } from 'clsx';
|
|
4
4
|
import { extendTailwindMerge } from 'tailwind-merge';
|
|
5
5
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
6
|
-
import { createLogger } from '@almadar/logger';
|
|
6
|
+
import { createLogger, isLogLevelEnabled } from '@almadar/logger';
|
|
7
7
|
import { X, Loader2, HelpCircle, ArrowDownNarrowWide, ArrowUpNarrowWide, Share2, RefreshCw, VolumeX, Volume2, Square, Trash2 } from 'lucide-react';
|
|
8
8
|
import dynamicIconImports from 'lucide-react/dynamicIconImports.mjs';
|
|
9
9
|
import themeToggleEn from '@almadar/std/ui-theme-toggle-locales/en';
|
|
@@ -252,11 +252,9 @@ function hasMatchMedia() {
|
|
|
252
252
|
function usePrefersReducedMotion() {
|
|
253
253
|
return useMediaQuery("(prefers-reduced-motion: reduce)");
|
|
254
254
|
}
|
|
255
|
-
var
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
var listenerTags = /* @__PURE__ */ new WeakMap();
|
|
259
|
-
function captureSubscriberTag(listener) {
|
|
255
|
+
var TAG_READERS = ["almadar:eventbus", "almadar:eventbus:subscribe"];
|
|
256
|
+
function subscriberTag(listener) {
|
|
257
|
+
if (!TAG_READERS.some((ns) => isLogLevelEnabled("DEBUG", ns))) return void 0;
|
|
260
258
|
const fnName = listener.name;
|
|
261
259
|
if (typeof fnName === "string" && fnName.length > 0 && fnName !== "listener") {
|
|
262
260
|
return fnName;
|
|
@@ -266,14 +264,18 @@ function captureSubscriberTag(listener) {
|
|
|
266
264
|
for (const raw of lines.slice(2)) {
|
|
267
265
|
const line = raw.trim();
|
|
268
266
|
if (!line) continue;
|
|
269
|
-
if (line.includes("EventBusProvider") || line.includes("useEventBus")) continue;
|
|
270
|
-
if (line.includes("
|
|
267
|
+
if (line.includes("EventBusProvider") || line.includes("useEventBus") || line.includes("subscriber-tag")) continue;
|
|
268
|
+
if (line.includes("subscriberTag")) continue;
|
|
271
269
|
const match = line.match(/([^/\\)]+\.(?:tsx?|jsx?))(?::(\d+))?/);
|
|
272
270
|
if (match) return match[2] ? `${match[1]}:${match[2]}` : match[1];
|
|
273
271
|
return line.slice(0, 120);
|
|
274
272
|
}
|
|
275
273
|
return "unknown";
|
|
276
274
|
}
|
|
275
|
+
var busLog = createLogger("almadar:eventbus");
|
|
276
|
+
var subLog = createLogger("almadar:eventbus:subscribe");
|
|
277
|
+
var EventBusContext = globalThis.__almadarUiEventBusContext ?? (globalThis.__almadarUiEventBusContext = createContext(null));
|
|
278
|
+
var listenerTags = /* @__PURE__ */ new WeakMap();
|
|
277
279
|
function EventBusProvider({ children, isolated = false }) {
|
|
278
280
|
const listenersRef = useRef(/* @__PURE__ */ new Map());
|
|
279
281
|
const anyListenersRef = useRef(/* @__PURE__ */ new Set());
|
|
@@ -347,7 +349,10 @@ function EventBusProvider({ children, isolated = false }) {
|
|
|
347
349
|
}
|
|
348
350
|
const listeners2 = listenersRef.current.get(type);
|
|
349
351
|
listeners2.add(listener);
|
|
350
|
-
if (!listenerTags.has(listener))
|
|
352
|
+
if (!listenerTags.has(listener)) {
|
|
353
|
+
const tag = subscriberTag(listener);
|
|
354
|
+
if (tag !== void 0) listenerTags.set(listener, tag);
|
|
355
|
+
}
|
|
351
356
|
subLog.debug("subscribe", { type, totalListeners: listeners2.size, tag: listenerTags.get(listener) });
|
|
352
357
|
return () => {
|
|
353
358
|
listeners2.delete(listener);
|
|
@@ -370,7 +375,10 @@ function EventBusProvider({ children, isolated = false }) {
|
|
|
370
375
|
}, []);
|
|
371
376
|
const onAny = useCallback((listener) => {
|
|
372
377
|
anyListenersRef.current.add(listener);
|
|
373
|
-
if (!listenerTags.has(listener))
|
|
378
|
+
if (!listenerTags.has(listener)) {
|
|
379
|
+
const tag = subscriberTag(listener);
|
|
380
|
+
if (tag !== void 0) listenerTags.set(listener, tag);
|
|
381
|
+
}
|
|
374
382
|
subLog.debug("subscribe:any", { totalAnyListeners: anyListenersRef.current.size, tag: listenerTags.get(listener) });
|
|
375
383
|
return () => {
|
|
376
384
|
anyListenersRef.current.delete(listener);
|
|
@@ -2784,6 +2792,10 @@ var en_default = {
|
|
|
2784
2792
|
"upload.error.maxFiles": "Maximum {{count}} files allowed",
|
|
2785
2793
|
"upload.error.invalidType": "Invalid file type: {{name}}",
|
|
2786
2794
|
"upload.error.tooLarge": "File too large: {{name}} (max {{size}})",
|
|
2795
|
+
"upload.error.partial": "Some files could not be added: {{details}}",
|
|
2796
|
+
"upload.reason.invalidType": "invalid type",
|
|
2797
|
+
"upload.reason.tooLarge": "too large, max {{size}}",
|
|
2798
|
+
"upload.reason.overLimit": "over the {{count}} file limit",
|
|
2787
2799
|
"optionConstraint.requiredOne": "Required, pick 1",
|
|
2788
2800
|
"optionConstraint.optionalOne": "Optional, pick up to 1",
|
|
2789
2801
|
"optionConstraint.pickExactly": "Pick exactly {{count}}",
|
|
@@ -3279,6 +3291,7 @@ var en_default = {
|
|
|
3279
3291
|
"selection.note": "Note",
|
|
3280
3292
|
"selection.toolbar": "Selection actions",
|
|
3281
3293
|
"qrScanner.apiUnavailable": "Camera API not available in this environment",
|
|
3294
|
+
"qrScanner.decoderUnavailable": "No barcode reader is available in this browser",
|
|
3282
3295
|
"aria.videoEmbed": "Video player",
|
|
3283
3296
|
"videoEmbed.apiUnavailable": "The video player could not be loaded",
|
|
3284
3297
|
"videoEmbed.invalidVideo": "The video address is not valid",
|
|
@@ -3602,7 +3615,9 @@ var en_default = {
|
|
|
3602
3615
|
"themeToggle.light": "Light",
|
|
3603
3616
|
"themeToggle.dark": "Dark",
|
|
3604
3617
|
"agentActivity.toolDone": "{{tool}} \u2014 done",
|
|
3605
|
-
"agentActivity.toolFailed": "{{tool}} \u2014 failed"
|
|
3618
|
+
"agentActivity.toolFailed": "{{tool}} \u2014 failed",
|
|
3619
|
+
"aria.annotatedMedia": "Media to review",
|
|
3620
|
+
"aria.annotatedTimeline": "Comment timeline"
|
|
3606
3621
|
};
|
|
3607
3622
|
|
|
3608
3623
|
// src/core/lib/format.ts
|
|
@@ -4173,6 +4188,10 @@ var ar_default = {
|
|
|
4173
4188
|
"upload.error.maxFiles": "\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647 {{count}} \u0645\u0644\u0641\u0627\u062A",
|
|
4174
4189
|
"upload.error.invalidType": "\u0646\u0648\u0639 \u0645\u0644\u0641 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D: {{name}}",
|
|
4175
4190
|
"upload.error.tooLarge": "\u0627\u0644\u0645\u0644\u0641 \u0643\u0628\u064A\u0631 \u062C\u062F\u064B\u0627: {{name}} (\u0627\u0644\u0623\u0642\u0635\u0649 {{size}})",
|
|
4191
|
+
"upload.error.partial": "\u062A\u0639\u0630\u0651\u0631\u062A \u0625\u0636\u0627\u0641\u0629 \u0628\u0639\u0636 \u0627\u0644\u0645\u0644\u0641\u0627\u062A: {{details}}",
|
|
4192
|
+
"upload.reason.invalidType": "\u0646\u0648\u0639 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",
|
|
4193
|
+
"upload.reason.tooLarge": "\u0643\u0628\u064A\u0631 \u062C\u062F\u064B\u0627\u060C \u0627\u0644\u0623\u0642\u0635\u0649 {{size}}",
|
|
4194
|
+
"upload.reason.overLimit": "\u064A\u062A\u062C\u0627\u0648\u0632 \u062D\u062F {{count}} \u0645\u0644\u0641\u0627\u062A",
|
|
4176
4195
|
"optionConstraint.requiredOne": "\u0645\u0637\u0644\u0648\u0628\u060C \u0627\u062E\u062A\u0631 1",
|
|
4177
4196
|
"optionConstraint.optionalOne": "\u0627\u062E\u062A\u064A\u0627\u0631\u064A\u060C \u0627\u062E\u062A\u0631 \u062D\u062A\u0649 1",
|
|
4178
4197
|
"optionConstraint.pickExactly": "\u0627\u062E\u062A\u0631 \u0628\u0627\u0644\u0636\u0628\u0637 {{count}}",
|
|
@@ -4672,6 +4691,7 @@ var ar_default = {
|
|
|
4672
4691
|
"selection.note": "\u0645\u0644\u0627\u062D\u0638\u0629",
|
|
4673
4692
|
"selection.toolbar": "\u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u062A\u062D\u062F\u064A\u062F",
|
|
4674
4693
|
"qrScanner.apiUnavailable": "\u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0643\u0627\u0645\u064A\u0631\u0627 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629 \u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0628\u064A\u0626\u0629",
|
|
4694
|
+
"qrScanner.decoderUnavailable": "\u0642\u0627\u0631\u0626 \u0627\u0644\u0631\u0645\u0648\u0632 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u062A\u0635\u0641\u062D",
|
|
4675
4695
|
"aria.videoEmbed": "\u0645\u0634\u063A\u0644 \u0627\u0644\u0641\u064A\u062F\u064A\u0648",
|
|
4676
4696
|
"videoEmbed.apiUnavailable": "\u062A\u0639\u0630\u0631 \u062A\u062D\u0645\u064A\u0644 \u0645\u0634\u063A\u0644 \u0627\u0644\u0641\u064A\u062F\u064A\u0648",
|
|
4677
4697
|
"videoEmbed.invalidVideo": "\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0641\u064A\u062F\u064A\u0648 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",
|
|
@@ -4995,7 +5015,9 @@ var ar_default = {
|
|
|
4995
5015
|
"themeToggle.light": "\u0641\u0627\u062A\u062D",
|
|
4996
5016
|
"themeToggle.dark": "\u062F\u0627\u0643\u0646",
|
|
4997
5017
|
"agentActivity.toolDone": "{{tool}} \u2014 \u062A\u0645",
|
|
4998
|
-
"agentActivity.toolFailed": "{{tool}} \u2014 \u062A\u0639\u0630\u0651\u0631"
|
|
5018
|
+
"agentActivity.toolFailed": "{{tool}} \u2014 \u062A\u0639\u0630\u0651\u0631",
|
|
5019
|
+
"aria.annotatedMedia": "\u0648\u0633\u0627\u0626\u0637 \u0644\u0644\u0645\u0631\u0627\u062C\u0639\u0629",
|
|
5020
|
+
"aria.annotatedTimeline": "\u0627\u0644\u062E\u0637 \u0627\u0644\u0632\u0645\u0646\u064A \u0644\u0644\u062A\u0639\u0644\u064A\u0642\u0627\u062A"
|
|
4999
5021
|
};
|
|
5000
5022
|
|
|
5001
5023
|
// src/core/locales/sl.json
|
|
@@ -5460,6 +5482,10 @@ var sl_default = {
|
|
|
5460
5482
|
"upload.error.maxFiles": "Dovoljenih je najve\u010D {{count}} datotek",
|
|
5461
5483
|
"upload.error.invalidType": "Neveljavna vrsta datoteke: {{name}}",
|
|
5462
5484
|
"upload.error.tooLarge": "Datoteka prevelika: {{name}} (najve\u010D {{size}})",
|
|
5485
|
+
"upload.error.partial": "Nekaterih datotek ni bilo mogo\u010De dodati: {{details}}",
|
|
5486
|
+
"upload.reason.invalidType": "neveljavna vrsta",
|
|
5487
|
+
"upload.reason.tooLarge": "prevelika, najve\u010D {{size}}",
|
|
5488
|
+
"upload.reason.overLimit": "presega omejitev {{count}} datotek",
|
|
5463
5489
|
"optionConstraint.requiredOne": "Obvezno, izberite 1",
|
|
5464
5490
|
"optionConstraint.optionalOne": "Neobvezno, izberite do 1",
|
|
5465
5491
|
"optionConstraint.pickExactly": "Izberite natanko {{count}}",
|
|
@@ -5959,6 +5985,7 @@ var sl_default = {
|
|
|
5959
5985
|
"selection.note": "Opomba",
|
|
5960
5986
|
"selection.toolbar": "Dejanja izbora",
|
|
5961
5987
|
"qrScanner.apiUnavailable": "API kamere v tem okolju ni na voljo",
|
|
5988
|
+
"qrScanner.decoderUnavailable": "Bralnik kod v tem brskalniku ni na voljo",
|
|
5962
5989
|
"aria.videoEmbed": "Video predvajalnik",
|
|
5963
5990
|
"videoEmbed.apiUnavailable": "Video predvajalnika ni bilo mogo\u010De nalo\u017Eiti",
|
|
5964
5991
|
"videoEmbed.invalidVideo": "Naslov videa ni veljaven",
|
|
@@ -6282,7 +6309,9 @@ var sl_default = {
|
|
|
6282
6309
|
"themeToggle.light": "Svetla",
|
|
6283
6310
|
"themeToggle.dark": "Temna",
|
|
6284
6311
|
"agentActivity.toolDone": "{{tool}} \u2014 kon\u010Dano",
|
|
6285
|
-
"agentActivity.toolFailed": "{{tool}} \u2014 ni uspelo"
|
|
6312
|
+
"agentActivity.toolFailed": "{{tool}} \u2014 ni uspelo",
|
|
6313
|
+
"aria.annotatedMedia": "Gradivo za pregled",
|
|
6314
|
+
"aria.annotatedTimeline": "\u010Casovnica komentarjev"
|
|
6286
6315
|
};
|
|
6287
6316
|
var { $meta: _meta2, ...coreMessages2 } = en_default;
|
|
6288
6317
|
var withThemeToggle = (messages, labels) => ({
|
|
@@ -8694,6 +8723,7 @@ var Stack = ({
|
|
|
8694
8723
|
};
|
|
8695
8724
|
const isHorizontal = direction === "horizontal";
|
|
8696
8725
|
const directionClass = responsive && isHorizontal ? reverse ? "flex-col-reverse md:flex-row-reverse" : "flex-col md:flex-row" : isHorizontal ? reverse ? "flex-row-reverse" : "flex-row" : reverse ? "flex-col-reverse" : "flex-col";
|
|
8726
|
+
const fullWidthChildren = align === "center" ? isHorizontal ? responsive && "max-md:[&>.w-full]:self-stretch" : "[&>.w-full]:self-stretch" : void 0;
|
|
8697
8727
|
return React44__default.createElement(
|
|
8698
8728
|
Component,
|
|
8699
8729
|
{
|
|
@@ -8703,6 +8733,7 @@ var Stack = ({
|
|
|
8703
8733
|
directionClass,
|
|
8704
8734
|
gapStyles[gap],
|
|
8705
8735
|
alignStyles[align],
|
|
8736
|
+
fullWidthChildren,
|
|
8706
8737
|
justifyStyles[justify],
|
|
8707
8738
|
wrap && "flex-wrap",
|
|
8708
8739
|
flex && "flex-1",
|
|
@@ -10122,7 +10153,8 @@ var Switch = React44.forwardRef(
|
|
|
10122
10153
|
// proportional regardless of a theme's density scale.
|
|
10123
10154
|
"relative inline-flex h-[1.5rem] w-[2.75rem] shrink-0 cursor-pointer items-center rounded-full border-heavy border-transparent transition-colors duration-fast",
|
|
10124
10155
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
10125
|
-
|
|
10156
|
+
// The off track must clear 3:1 against the page (WCAG 1.4.11); the muted surface colour does not.
|
|
10157
|
+
isChecked ? "bg-primary" : "bg-muted-foreground",
|
|
10126
10158
|
disabled && "cursor-not-allowed opacity-50"
|
|
10127
10159
|
),
|
|
10128
10160
|
children: /* @__PURE__ */ jsx(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { applyFrame } from '@almadar/shell-runtime/kernel/frame-applier';
|
|
2
2
|
|
|
3
3
|
function runTickFrame(ports, now) {
|
|
4
|
-
return applyFrame(ports.kernel.frame(now()), ports.client, ports.post);
|
|
4
|
+
return applyFrame(ports.kernel.frame(now()), ports.client, ports.post, ports.held);
|
|
5
5
|
}
|
|
6
6
|
function createTickDriver(ports) {
|
|
7
7
|
let handle;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { claimDelivery } from './chunk-
|
|
2
|
-
import { useEventBus, getTraitPresence, beginPending, endPending } from './chunk-
|
|
1
|
+
import { claimDelivery } from './chunk-CB4POLGP.js';
|
|
2
|
+
import { useEventBus, getTraitPresence, beginPending, endPending } from './chunk-OOG33EGF.js';
|
|
3
3
|
import { createContext, useState, useCallback, useEffect, useMemo, useRef, useContext, useSyncExternalStore } from 'react';
|
|
4
4
|
import { createLogger } from '@almadar/logger';
|
|
5
5
|
import { mergeEntityFrame } from '@almadar/core';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { JsonTreeEditor } from './chunk-
|
|
2
|
-
import { transitionPlayback, Accordion } from './chunk-
|
|
3
|
-
import { EmptyState } from './chunk-
|
|
1
|
+
import { JsonTreeEditor } from './chunk-RCB4CKRK.js';
|
|
2
|
+
import { transitionPlayback, Accordion } from './chunk-BY2UJWVR.js';
|
|
3
|
+
import { EmptyState } from './chunk-AYQKZFUH.js';
|
|
4
4
|
import { useContainerWidth, roundedEdgePath } from './chunk-HA2BYO5E.js';
|
|
5
5
|
import { parseTraitLevel } from './chunk-PCR37T3U.js';
|
|
6
|
-
import { AvlExplain, AvlEffectChip } from './chunk-
|
|
6
|
+
import { AvlExplain, AvlEffectChip } from './chunk-3WSTUUJ7.js';
|
|
7
7
|
import { AVL_INK, AVL_FONT, effectZoneOf, avlTint, AvlEffect, OPERATOR_CATEGORY_COLORS, avlBlend } from './chunk-3UQNFRYV.js';
|
|
8
|
-
import { useTranslate, useMediaQuery, Box, Typography, Card, VStack, HStack, Badge, Button } from './chunk-
|
|
8
|
+
import { useTranslate, useMediaQuery, Box, Typography, Card, VStack, HStack, Badge, Button } from './chunk-OOG33EGF.js';
|
|
9
9
|
import { useRef, useMemo, useState } from 'react';
|
|
10
10
|
import { formatSExpr, JsonValueSchema, isJsonObject, isBinding } from '@almadar/core';
|
|
11
11
|
import { operatorVisualForm, getStdOperatorMeta } from '@almadar/std/registry';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn, Typography, useTranslate, VStack, HStack, Icon, Button, Switch, Input } from './chunk-
|
|
1
|
+
import { cn, Typography, useTranslate, VStack, HStack, Icon, Button, Switch, Input } from './chunk-OOG33EGF.js';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useDraggable, useDropZone } from './chunk-
|
|
2
|
-
import { Box, domPassthrough, useTranslate, Icon, pressableProps, Typography } from './chunk-
|
|
1
|
+
import { useDraggable, useDropZone } from './chunk-QZ6TDP6I.js';
|
|
2
|
+
import { Box, domPassthrough, useTranslate, Icon, pressableProps, Typography } from './chunk-OOG33EGF.js';
|
|
3
3
|
import React, { createContext, useState, useCallback, useRef, useEffect, useContext } from 'react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -242,6 +242,7 @@ var FlatTreeNodeItem = ({
|
|
|
242
242
|
onNodeReorder,
|
|
243
243
|
selectedId,
|
|
244
244
|
look,
|
|
245
|
+
foldsOnClick,
|
|
245
246
|
isExpanded,
|
|
246
247
|
onToggle
|
|
247
248
|
}) => {
|
|
@@ -257,9 +258,13 @@ var FlatTreeNodeItem = ({
|
|
|
257
258
|
if (isSelected) rowRef.current?.scrollIntoView({ block: "center" });
|
|
258
259
|
}, [isSelected]);
|
|
259
260
|
const handleClick = useCallback(() => {
|
|
261
|
+
if (hasChildren && foldsOnClick) {
|
|
262
|
+
onToggle(item.id, expanded);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
260
265
|
if (hasChildren && !onNodeSelect) onToggle(item.id, expanded);
|
|
261
266
|
onNodeSelect?.(item.id);
|
|
262
|
-
}, [hasChildren, expanded, item.id, onNodeSelect, onToggle]);
|
|
267
|
+
}, [hasChildren, foldsOnClick, expanded, item.id, onNodeSelect, onToggle]);
|
|
263
268
|
const handleChevron = useCallback((e) => {
|
|
264
269
|
e.stopPropagation();
|
|
265
270
|
onToggle(item.id, expanded);
|
|
@@ -373,6 +378,7 @@ var FlatTreeNodeItem = ({
|
|
|
373
378
|
onNodeReorder,
|
|
374
379
|
selectedId,
|
|
375
380
|
look,
|
|
381
|
+
foldsOnClick,
|
|
376
382
|
isExpanded,
|
|
377
383
|
onToggle
|
|
378
384
|
},
|
|
@@ -396,6 +402,7 @@ var FlatFileTree = ({
|
|
|
396
402
|
expandedPaths,
|
|
397
403
|
look = "files",
|
|
398
404
|
onNodeSelect,
|
|
405
|
+
onNodeToggle,
|
|
399
406
|
onNodeAction,
|
|
400
407
|
nodeActionIcon,
|
|
401
408
|
nodeActionLabel,
|
|
@@ -423,16 +430,20 @@ var FlatFileTree = ({
|
|
|
423
430
|
});
|
|
424
431
|
}, [selectedId, selectedAncestors, listedKey, listed]);
|
|
425
432
|
const isExpanded = useCallback(
|
|
426
|
-
(id, depth) => overrides.get(id) ?? (depth < 1 || selectedAncestors.has(id) || listed.has(id)),
|
|
427
|
-
[overrides, selectedAncestors, listed]
|
|
433
|
+
(id, depth) => onNodeToggle ? listed.has(id) : overrides.get(id) ?? (depth < 1 || selectedAncestors.has(id) || listed.has(id)),
|
|
434
|
+
[onNodeToggle, overrides, selectedAncestors, listed]
|
|
428
435
|
);
|
|
429
436
|
const onToggle = useCallback((id, effective) => {
|
|
437
|
+
if (onNodeToggle) {
|
|
438
|
+
onNodeToggle(id, !effective);
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
430
441
|
setOverrides((prev) => {
|
|
431
442
|
const next = new Map(prev);
|
|
432
443
|
next.set(id, !effective);
|
|
433
444
|
return next;
|
|
434
445
|
});
|
|
435
|
-
}, []);
|
|
446
|
+
}, [onNodeToggle]);
|
|
436
447
|
if (items.length === 0) return null;
|
|
437
448
|
const ids = new Set(items.map((node) => node.id));
|
|
438
449
|
const childrenByParent = /* @__PURE__ */ new Map();
|
|
@@ -461,6 +472,7 @@ var FlatFileTree = ({
|
|
|
461
472
|
onNodeReorder,
|
|
462
473
|
selectedId,
|
|
463
474
|
look,
|
|
475
|
+
foldsOnClick: onNodeToggle !== void 0,
|
|
464
476
|
isExpanded,
|
|
465
477
|
onToggle
|
|
466
478
|
},
|
|
@@ -477,6 +489,7 @@ var FileTree = ({
|
|
|
477
489
|
onNodeExpand,
|
|
478
490
|
expandedPaths,
|
|
479
491
|
onNodeSelect,
|
|
492
|
+
onNodeToggle,
|
|
480
493
|
onNodeAction,
|
|
481
494
|
nodeActionIcon,
|
|
482
495
|
nodeActionLabel,
|
|
@@ -495,6 +508,7 @@ var FileTree = ({
|
|
|
495
508
|
expandedPaths,
|
|
496
509
|
look,
|
|
497
510
|
onNodeSelect,
|
|
511
|
+
onNodeToggle,
|
|
498
512
|
onNodeAction,
|
|
499
513
|
nodeActionIcon,
|
|
500
514
|
nodeActionLabel,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AvlState, AvlEntity, AvlFieldType, AvlPage } from './chunk-
|
|
2
|
-
import { AvlExplain, useEffectLines } from './chunk-
|
|
1
|
+
import { AvlState, AvlEntity, AvlFieldType, AvlPage } from './chunk-OEWVBYW5.js';
|
|
2
|
+
import { AvlExplain, useEffectLines } from './chunk-3WSTUUJ7.js';
|
|
3
3
|
import { getStateRole, AvlEffect, CONNECTION_COLORS } from './chunk-3UQNFRYV.js';
|
|
4
|
-
import { useTranslate, Box, cn, domPassthrough } from './chunk-
|
|
4
|
+
import { useTranslate, Box, cn, domPassthrough } from './chunk-OOG33EGF.js';
|
|
5
5
|
import { useNodeId, ReactFlowProvider, Handle, Position } from '@xyflow/react';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|