@almadar/ui 6.16.0 → 6.18.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 +57 -4
- package/dist/avl/index.js +57 -4
- package/dist/components/index.cjs +12 -1
- package/dist/components/index.js +12 -1
- package/dist/providers/index.cjs +12 -1
- package/dist/providers/index.js +12 -1
- package/dist/runtime/index.cjs +57 -4
- package/dist/runtime/index.d.cts +10 -2
- package/dist/runtime/index.d.ts +10 -2
- package/dist/runtime/index.js +57 -4
- package/package.json +3 -3
package/dist/avl/index.cjs
CHANGED
|
@@ -22251,6 +22251,7 @@ var init_CodeBlock = __esm({
|
|
|
22251
22251
|
ref: scrollRef,
|
|
22252
22252
|
onCopy: handleSelectionCopy,
|
|
22253
22253
|
dir: "ltr",
|
|
22254
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
22254
22255
|
style: {
|
|
22255
22256
|
flex: 1,
|
|
22256
22257
|
minHeight: 0,
|
|
@@ -22408,7 +22409,12 @@ var init_MermaidDiagram = __esm({
|
|
|
22408
22409
|
mermaid.initialize({
|
|
22409
22410
|
startOnLoad: false,
|
|
22410
22411
|
securityLevel: "strict",
|
|
22411
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
22412
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
22413
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
22414
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
22415
|
+
// the catch below owns failure presentation (source + log), so the
|
|
22416
|
+
// library must not paint its own.
|
|
22417
|
+
suppressErrorRendering: true
|
|
22412
22418
|
});
|
|
22413
22419
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
22414
22420
|
let firstError = null;
|
|
@@ -54999,6 +55005,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
54999
55005
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
55000
55006
|
resolvedProps.children = _childChildren;
|
|
55001
55007
|
}
|
|
55008
|
+
const childKids = resolvedProps.children;
|
|
55009
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
55010
|
+
if (childlessStack) {
|
|
55011
|
+
return null;
|
|
55012
|
+
}
|
|
55002
55013
|
const childContent = {
|
|
55003
55014
|
id: childId,
|
|
55004
55015
|
pattern: child.type,
|
|
@@ -60617,6 +60628,30 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60617
60628
|
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
60618
60629
|
return /* @__PURE__ */ jsxRuntime.jsx(providers.EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
60619
60630
|
}
|
|
60631
|
+
function FitToBox({ children }) {
|
|
60632
|
+
const outerRef = React96.useRef(null);
|
|
60633
|
+
const innerRef = React96.useRef(null);
|
|
60634
|
+
const [scale, setScale] = React96.useState(1);
|
|
60635
|
+
React96.useEffect(() => {
|
|
60636
|
+
const outer = outerRef.current;
|
|
60637
|
+
const inner = innerRef.current;
|
|
60638
|
+
if (!outer || !inner) return;
|
|
60639
|
+
const update = () => {
|
|
60640
|
+
const sw = inner.scrollWidth;
|
|
60641
|
+
const sh = inner.scrollHeight;
|
|
60642
|
+
const cw = outer.clientWidth;
|
|
60643
|
+
const ch = outer.clientHeight;
|
|
60644
|
+
if (!sw || !sh || !cw || !ch) return;
|
|
60645
|
+
setScale(Math.min(1, cw / sw, ch / sh));
|
|
60646
|
+
};
|
|
60647
|
+
update();
|
|
60648
|
+
const ro = new ResizeObserver(update);
|
|
60649
|
+
ro.observe(outer);
|
|
60650
|
+
ro.observe(inner);
|
|
60651
|
+
return () => ro.disconnect();
|
|
60652
|
+
}, []);
|
|
60653
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
60654
|
+
}
|
|
60620
60655
|
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, persistence }) {
|
|
60621
60656
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
60622
60657
|
const allPageTraits = React96.useMemo(() => {
|
|
@@ -60802,6 +60837,7 @@ function OrbPreview({
|
|
|
60802
60837
|
getAccessToken,
|
|
60803
60838
|
initialPagePath,
|
|
60804
60839
|
isolated = false,
|
|
60840
|
+
fit = false,
|
|
60805
60841
|
user = null
|
|
60806
60842
|
}) {
|
|
60807
60843
|
if (serverUrl && transport) {
|
|
@@ -60958,7 +60994,7 @@ function OrbPreview({
|
|
|
60958
60994
|
Box,
|
|
60959
60995
|
{
|
|
60960
60996
|
ref: containerRef,
|
|
60961
|
-
className:
|
|
60997
|
+
className: `${fit ? "overflow-hidden" : "overflow-auto"} border border-[var(--color-border)] rounded-[var(--radius-md)] ${className ?? ""}`,
|
|
60962
60998
|
style: { height },
|
|
60963
60999
|
children: [
|
|
60964
61000
|
localFallback && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "px-3 py-2 bg-[var(--color-warning)] bg-opacity-10 border-b border-[var(--color-warning)] flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-[var(--color-warning-foreground)] flex-1", children: "Preview server unreachable \u2014 running locally. Server-side state and persistence are disabled." }) }),
|
|
@@ -60971,7 +61007,22 @@ function OrbPreview({
|
|
|
60971
61007
|
storageKey: `almadar:navstack:${parseResult.schema.name ?? "preview"}`,
|
|
60972
61008
|
children: [
|
|
60973
61009
|
/* @__PURE__ */ jsxRuntime.jsx(NavStackRefBridge, { apiRef: navStackRef }),
|
|
60974
|
-
/* @__PURE__ */ jsxRuntime.jsx(providers.OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsxRuntime.jsx(context.UISlotProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
61010
|
+
/* @__PURE__ */ jsxRuntime.jsx(providers.OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsxRuntime.jsx(context.UISlotProvider, { children: fit ? /* @__PURE__ */ jsxRuntime.jsx(FitToBox, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
61011
|
+
SchemaRunner,
|
|
61012
|
+
{
|
|
61013
|
+
schema: parseResult.schema,
|
|
61014
|
+
serverUrl,
|
|
61015
|
+
transport,
|
|
61016
|
+
getAccessToken,
|
|
61017
|
+
mockData: effectiveMockData,
|
|
61018
|
+
pageName: currentPage,
|
|
61019
|
+
routeParams,
|
|
61020
|
+
onNavigate: handleNavigateEffect,
|
|
61021
|
+
onNavigateBack: handleNavigateBack,
|
|
61022
|
+
onLocalFallback: handleLocalFallback,
|
|
61023
|
+
persistence
|
|
61024
|
+
}
|
|
61025
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
60975
61026
|
SchemaRunner,
|
|
60976
61027
|
{
|
|
60977
61028
|
schema: parseResult.schema,
|
|
@@ -61002,7 +61053,8 @@ function BrowserPlayground({
|
|
|
61002
61053
|
initialPagePath,
|
|
61003
61054
|
height,
|
|
61004
61055
|
className,
|
|
61005
|
-
paused
|
|
61056
|
+
paused,
|
|
61057
|
+
fit
|
|
61006
61058
|
}) {
|
|
61007
61059
|
const [runtime] = React96.useState(
|
|
61008
61060
|
() => new OrbitalServerRuntime.OrbitalServerRuntime({ mode, debug: false })
|
|
@@ -61064,6 +61116,7 @@ function BrowserPlayground({
|
|
|
61064
61116
|
initialPagePath,
|
|
61065
61117
|
height,
|
|
61066
61118
|
className,
|
|
61119
|
+
fit,
|
|
61067
61120
|
isolated: true
|
|
61068
61121
|
}
|
|
61069
61122
|
);
|
package/dist/avl/index.js
CHANGED
|
@@ -22175,6 +22175,7 @@ var init_CodeBlock = __esm({
|
|
|
22175
22175
|
ref: scrollRef,
|
|
22176
22176
|
onCopy: handleSelectionCopy,
|
|
22177
22177
|
dir: "ltr",
|
|
22178
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
22178
22179
|
style: {
|
|
22179
22180
|
flex: 1,
|
|
22180
22181
|
minHeight: 0,
|
|
@@ -22332,7 +22333,12 @@ var init_MermaidDiagram = __esm({
|
|
|
22332
22333
|
mermaid.initialize({
|
|
22333
22334
|
startOnLoad: false,
|
|
22334
22335
|
securityLevel: "strict",
|
|
22335
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
22336
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
22337
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
22338
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
22339
|
+
// the catch below owns failure presentation (source + log), so the
|
|
22340
|
+
// library must not paint its own.
|
|
22341
|
+
suppressErrorRendering: true
|
|
22336
22342
|
});
|
|
22337
22343
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
22338
22344
|
let firstError = null;
|
|
@@ -54923,6 +54929,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
54923
54929
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
54924
54930
|
resolvedProps.children = _childChildren;
|
|
54925
54931
|
}
|
|
54932
|
+
const childKids = resolvedProps.children;
|
|
54933
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
54934
|
+
if (childlessStack) {
|
|
54935
|
+
return null;
|
|
54936
|
+
}
|
|
54926
54937
|
const childContent = {
|
|
54927
54938
|
id: childId,
|
|
54928
54939
|
pattern: child.type,
|
|
@@ -60541,6 +60552,30 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60541
60552
|
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
60542
60553
|
return /* @__PURE__ */ jsx(EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
60543
60554
|
}
|
|
60555
|
+
function FitToBox({ children }) {
|
|
60556
|
+
const outerRef = useRef(null);
|
|
60557
|
+
const innerRef = useRef(null);
|
|
60558
|
+
const [scale, setScale] = useState(1);
|
|
60559
|
+
useEffect(() => {
|
|
60560
|
+
const outer = outerRef.current;
|
|
60561
|
+
const inner = innerRef.current;
|
|
60562
|
+
if (!outer || !inner) return;
|
|
60563
|
+
const update = () => {
|
|
60564
|
+
const sw = inner.scrollWidth;
|
|
60565
|
+
const sh = inner.scrollHeight;
|
|
60566
|
+
const cw = outer.clientWidth;
|
|
60567
|
+
const ch = outer.clientHeight;
|
|
60568
|
+
if (!sw || !sh || !cw || !ch) return;
|
|
60569
|
+
setScale(Math.min(1, cw / sw, ch / sh));
|
|
60570
|
+
};
|
|
60571
|
+
update();
|
|
60572
|
+
const ro = new ResizeObserver(update);
|
|
60573
|
+
ro.observe(outer);
|
|
60574
|
+
ro.observe(inner);
|
|
60575
|
+
return () => ro.disconnect();
|
|
60576
|
+
}, []);
|
|
60577
|
+
return /* @__PURE__ */ jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
60578
|
+
}
|
|
60544
60579
|
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, persistence }) {
|
|
60545
60580
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
60546
60581
|
const allPageTraits = useMemo(() => {
|
|
@@ -60726,6 +60761,7 @@ function OrbPreview({
|
|
|
60726
60761
|
getAccessToken,
|
|
60727
60762
|
initialPagePath,
|
|
60728
60763
|
isolated = false,
|
|
60764
|
+
fit = false,
|
|
60729
60765
|
user = null
|
|
60730
60766
|
}) {
|
|
60731
60767
|
if (serverUrl && transport) {
|
|
@@ -60882,7 +60918,7 @@ function OrbPreview({
|
|
|
60882
60918
|
Box,
|
|
60883
60919
|
{
|
|
60884
60920
|
ref: containerRef,
|
|
60885
|
-
className:
|
|
60921
|
+
className: `${fit ? "overflow-hidden" : "overflow-auto"} border border-[var(--color-border)] rounded-[var(--radius-md)] ${className ?? ""}`,
|
|
60886
60922
|
style: { height },
|
|
60887
60923
|
children: [
|
|
60888
60924
|
localFallback && /* @__PURE__ */ jsx(Box, { className: "px-3 py-2 bg-[var(--color-warning)] bg-opacity-10 border-b border-[var(--color-warning)] flex items-center gap-2", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-[var(--color-warning-foreground)] flex-1", children: "Preview server unreachable \u2014 running locally. Server-side state and persistence are disabled." }) }),
|
|
@@ -60895,7 +60931,22 @@ function OrbPreview({
|
|
|
60895
60931
|
storageKey: `almadar:navstack:${parseResult.schema.name ?? "preview"}`,
|
|
60896
60932
|
children: [
|
|
60897
60933
|
/* @__PURE__ */ jsx(NavStackRefBridge, { apiRef: navStackRef }),
|
|
60898
|
-
/* @__PURE__ */ jsx(OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsx(UISlotProvider, { children: /* @__PURE__ */ jsx(
|
|
60934
|
+
/* @__PURE__ */ jsx(OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsx(UISlotProvider, { children: fit ? /* @__PURE__ */ jsx(FitToBox, { children: /* @__PURE__ */ jsx(
|
|
60935
|
+
SchemaRunner,
|
|
60936
|
+
{
|
|
60937
|
+
schema: parseResult.schema,
|
|
60938
|
+
serverUrl,
|
|
60939
|
+
transport,
|
|
60940
|
+
getAccessToken,
|
|
60941
|
+
mockData: effectiveMockData,
|
|
60942
|
+
pageName: currentPage,
|
|
60943
|
+
routeParams,
|
|
60944
|
+
onNavigate: handleNavigateEffect,
|
|
60945
|
+
onNavigateBack: handleNavigateBack,
|
|
60946
|
+
onLocalFallback: handleLocalFallback,
|
|
60947
|
+
persistence
|
|
60948
|
+
}
|
|
60949
|
+
) }) : /* @__PURE__ */ jsx(
|
|
60899
60950
|
SchemaRunner,
|
|
60900
60951
|
{
|
|
60901
60952
|
schema: parseResult.schema,
|
|
@@ -60926,7 +60977,8 @@ function BrowserPlayground({
|
|
|
60926
60977
|
initialPagePath,
|
|
60927
60978
|
height,
|
|
60928
60979
|
className,
|
|
60929
|
-
paused
|
|
60980
|
+
paused,
|
|
60981
|
+
fit
|
|
60930
60982
|
}) {
|
|
60931
60983
|
const [runtime] = useState(
|
|
60932
60984
|
() => new OrbitalServerRuntime({ mode, debug: false })
|
|
@@ -60988,6 +61040,7 @@ function BrowserPlayground({
|
|
|
60988
61040
|
initialPagePath,
|
|
60989
61041
|
height,
|
|
60990
61042
|
className,
|
|
61043
|
+
fit,
|
|
60991
61044
|
isolated: true
|
|
60992
61045
|
}
|
|
60993
61046
|
);
|
|
@@ -15495,6 +15495,7 @@ var init_CodeBlock = __esm({
|
|
|
15495
15495
|
ref: scrollRef,
|
|
15496
15496
|
onCopy: handleSelectionCopy,
|
|
15497
15497
|
dir: "ltr",
|
|
15498
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
15498
15499
|
style: {
|
|
15499
15500
|
flex: 1,
|
|
15500
15501
|
minHeight: 0,
|
|
@@ -15652,7 +15653,12 @@ var init_MermaidDiagram = __esm({
|
|
|
15652
15653
|
mermaid.initialize({
|
|
15653
15654
|
startOnLoad: false,
|
|
15654
15655
|
securityLevel: "strict",
|
|
15655
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
15656
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
15657
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
15658
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
15659
|
+
// the catch below owns failure presentation (source + log), so the
|
|
15660
|
+
// library must not paint its own.
|
|
15661
|
+
suppressErrorRendering: true
|
|
15656
15662
|
});
|
|
15657
15663
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
15658
15664
|
let firstError = null;
|
|
@@ -54118,6 +54124,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
54118
54124
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
54119
54125
|
resolvedProps.children = _childChildren;
|
|
54120
54126
|
}
|
|
54127
|
+
const childKids = resolvedProps.children;
|
|
54128
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
54129
|
+
if (childlessStack) {
|
|
54130
|
+
return null;
|
|
54131
|
+
}
|
|
54121
54132
|
const childContent = {
|
|
54122
54133
|
id: childId,
|
|
54123
54134
|
pattern: child.type,
|
package/dist/components/index.js
CHANGED
|
@@ -15420,6 +15420,7 @@ var init_CodeBlock = __esm({
|
|
|
15420
15420
|
ref: scrollRef,
|
|
15421
15421
|
onCopy: handleSelectionCopy,
|
|
15422
15422
|
dir: "ltr",
|
|
15423
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
15423
15424
|
style: {
|
|
15424
15425
|
flex: 1,
|
|
15425
15426
|
minHeight: 0,
|
|
@@ -15577,7 +15578,12 @@ var init_MermaidDiagram = __esm({
|
|
|
15577
15578
|
mermaid.initialize({
|
|
15578
15579
|
startOnLoad: false,
|
|
15579
15580
|
securityLevel: "strict",
|
|
15580
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
15581
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
15582
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
15583
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
15584
|
+
// the catch below owns failure presentation (source + log), so the
|
|
15585
|
+
// library must not paint its own.
|
|
15586
|
+
suppressErrorRendering: true
|
|
15581
15587
|
});
|
|
15582
15588
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
15583
15589
|
let firstError = null;
|
|
@@ -54043,6 +54049,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
54043
54049
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
54044
54050
|
resolvedProps.children = _childChildren;
|
|
54045
54051
|
}
|
|
54052
|
+
const childKids = resolvedProps.children;
|
|
54053
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
54054
|
+
if (childlessStack) {
|
|
54055
|
+
return null;
|
|
54056
|
+
}
|
|
54046
54057
|
const childContent = {
|
|
54047
54058
|
id: childId,
|
|
54048
54059
|
pattern: child.type,
|
package/dist/providers/index.cjs
CHANGED
|
@@ -19700,6 +19700,7 @@ var init_CodeBlock = __esm({
|
|
|
19700
19700
|
ref: scrollRef,
|
|
19701
19701
|
onCopy: handleSelectionCopy,
|
|
19702
19702
|
dir: "ltr",
|
|
19703
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
19703
19704
|
style: {
|
|
19704
19705
|
flex: 1,
|
|
19705
19706
|
minHeight: 0,
|
|
@@ -19857,7 +19858,12 @@ var init_MermaidDiagram = __esm({
|
|
|
19857
19858
|
mermaid.initialize({
|
|
19858
19859
|
startOnLoad: false,
|
|
19859
19860
|
securityLevel: "strict",
|
|
19860
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
19861
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
19862
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
19863
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
19864
|
+
// the catch below owns failure presentation (source + log), so the
|
|
19865
|
+
// library must not paint its own.
|
|
19866
|
+
suppressErrorRendering: true
|
|
19861
19867
|
});
|
|
19862
19868
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
19863
19869
|
let firstError = null;
|
|
@@ -52838,6 +52844,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
52838
52844
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
52839
52845
|
resolvedProps.children = _childChildren;
|
|
52840
52846
|
}
|
|
52847
|
+
const childKids = resolvedProps.children;
|
|
52848
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
52849
|
+
if (childlessStack) {
|
|
52850
|
+
return null;
|
|
52851
|
+
}
|
|
52841
52852
|
const childContent = {
|
|
52842
52853
|
id: childId,
|
|
52843
52854
|
pattern: child.type,
|
package/dist/providers/index.js
CHANGED
|
@@ -19626,6 +19626,7 @@ var init_CodeBlock = __esm({
|
|
|
19626
19626
|
ref: scrollRef,
|
|
19627
19627
|
onCopy: handleSelectionCopy,
|
|
19628
19628
|
dir: "ltr",
|
|
19629
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
19629
19630
|
style: {
|
|
19630
19631
|
flex: 1,
|
|
19631
19632
|
minHeight: 0,
|
|
@@ -19783,7 +19784,12 @@ var init_MermaidDiagram = __esm({
|
|
|
19783
19784
|
mermaid.initialize({
|
|
19784
19785
|
startOnLoad: false,
|
|
19785
19786
|
securityLevel: "strict",
|
|
19786
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
19787
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
19788
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
19789
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
19790
|
+
// the catch below owns failure presentation (source + log), so the
|
|
19791
|
+
// library must not paint its own.
|
|
19792
|
+
suppressErrorRendering: true
|
|
19787
19793
|
});
|
|
19788
19794
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
19789
19795
|
let firstError = null;
|
|
@@ -52764,6 +52770,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
52764
52770
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
52765
52771
|
resolvedProps.children = _childChildren;
|
|
52766
52772
|
}
|
|
52773
|
+
const childKids = resolvedProps.children;
|
|
52774
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
52775
|
+
if (childlessStack) {
|
|
52776
|
+
return null;
|
|
52777
|
+
}
|
|
52767
52778
|
const childContent = {
|
|
52768
52779
|
id: childId,
|
|
52769
52780
|
pattern: child.type,
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -19779,6 +19779,7 @@ var init_CodeBlock = __esm({
|
|
|
19779
19779
|
ref: scrollRef,
|
|
19780
19780
|
onCopy: handleSelectionCopy,
|
|
19781
19781
|
dir: "ltr",
|
|
19782
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
19782
19783
|
style: {
|
|
19783
19784
|
flex: 1,
|
|
19784
19785
|
minHeight: 0,
|
|
@@ -19936,7 +19937,12 @@ var init_MermaidDiagram = __esm({
|
|
|
19936
19937
|
mermaid.initialize({
|
|
19937
19938
|
startOnLoad: false,
|
|
19938
19939
|
securityLevel: "strict",
|
|
19939
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
19940
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
19941
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
19942
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
19943
|
+
// the catch below owns failure presentation (source + log), so the
|
|
19944
|
+
// library must not paint its own.
|
|
19945
|
+
suppressErrorRendering: true
|
|
19940
19946
|
});
|
|
19941
19947
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
19942
19948
|
let firstError = null;
|
|
@@ -52497,6 +52503,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
52497
52503
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
52498
52504
|
resolvedProps.children = _childChildren;
|
|
52499
52505
|
}
|
|
52506
|
+
const childKids = resolvedProps.children;
|
|
52507
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
52508
|
+
if (childlessStack) {
|
|
52509
|
+
return null;
|
|
52510
|
+
}
|
|
52500
52511
|
const childContent = {
|
|
52501
52512
|
id: childId,
|
|
52502
52513
|
pattern: child.type,
|
|
@@ -54844,6 +54855,30 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
54844
54855
|
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
54845
54856
|
return /* @__PURE__ */ jsxRuntime.jsx(providers.EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
54846
54857
|
}
|
|
54858
|
+
function FitToBox({ children }) {
|
|
54859
|
+
const outerRef = React87.useRef(null);
|
|
54860
|
+
const innerRef = React87.useRef(null);
|
|
54861
|
+
const [scale, setScale] = React87.useState(1);
|
|
54862
|
+
React87.useEffect(() => {
|
|
54863
|
+
const outer = outerRef.current;
|
|
54864
|
+
const inner = innerRef.current;
|
|
54865
|
+
if (!outer || !inner) return;
|
|
54866
|
+
const update = () => {
|
|
54867
|
+
const sw = inner.scrollWidth;
|
|
54868
|
+
const sh = inner.scrollHeight;
|
|
54869
|
+
const cw = outer.clientWidth;
|
|
54870
|
+
const ch = outer.clientHeight;
|
|
54871
|
+
if (!sw || !sh || !cw || !ch) return;
|
|
54872
|
+
setScale(Math.min(1, cw / sw, ch / sh));
|
|
54873
|
+
};
|
|
54874
|
+
update();
|
|
54875
|
+
const ro = new ResizeObserver(update);
|
|
54876
|
+
ro.observe(outer);
|
|
54877
|
+
ro.observe(inner);
|
|
54878
|
+
return () => ro.disconnect();
|
|
54879
|
+
}, []);
|
|
54880
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
54881
|
+
}
|
|
54847
54882
|
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, persistence }) {
|
|
54848
54883
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
54849
54884
|
const allPageTraits = React87.useMemo(() => {
|
|
@@ -55029,6 +55064,7 @@ function OrbPreview({
|
|
|
55029
55064
|
getAccessToken,
|
|
55030
55065
|
initialPagePath,
|
|
55031
55066
|
isolated = false,
|
|
55067
|
+
fit = false,
|
|
55032
55068
|
user = null
|
|
55033
55069
|
}) {
|
|
55034
55070
|
if (serverUrl && transport) {
|
|
@@ -55185,7 +55221,7 @@ function OrbPreview({
|
|
|
55185
55221
|
Box,
|
|
55186
55222
|
{
|
|
55187
55223
|
ref: containerRef,
|
|
55188
|
-
className:
|
|
55224
|
+
className: `${fit ? "overflow-hidden" : "overflow-auto"} border border-[var(--color-border)] rounded-[var(--radius-md)] ${className ?? ""}`,
|
|
55189
55225
|
style: { height },
|
|
55190
55226
|
children: [
|
|
55191
55227
|
localFallback && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "px-3 py-2 bg-[var(--color-warning)] bg-opacity-10 border-b border-[var(--color-warning)] flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-[var(--color-warning-foreground)] flex-1", children: "Preview server unreachable \u2014 running locally. Server-side state and persistence are disabled." }) }),
|
|
@@ -55198,7 +55234,22 @@ function OrbPreview({
|
|
|
55198
55234
|
storageKey: `almadar:navstack:${parseResult.schema.name ?? "preview"}`,
|
|
55199
55235
|
children: [
|
|
55200
55236
|
/* @__PURE__ */ jsxRuntime.jsx(NavStackRefBridge, { apiRef: navStackRef }),
|
|
55201
|
-
/* @__PURE__ */ jsxRuntime.jsx(providers.OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsxRuntime.jsx(context.UISlotProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
55237
|
+
/* @__PURE__ */ jsxRuntime.jsx(providers.OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsxRuntime.jsx(context.UISlotProvider, { children: fit ? /* @__PURE__ */ jsxRuntime.jsx(FitToBox, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
55238
|
+
SchemaRunner,
|
|
55239
|
+
{
|
|
55240
|
+
schema: parseResult.schema,
|
|
55241
|
+
serverUrl,
|
|
55242
|
+
transport,
|
|
55243
|
+
getAccessToken,
|
|
55244
|
+
mockData: effectiveMockData,
|
|
55245
|
+
pageName: currentPage,
|
|
55246
|
+
routeParams,
|
|
55247
|
+
onNavigate: handleNavigateEffect,
|
|
55248
|
+
onNavigateBack: handleNavigateBack,
|
|
55249
|
+
onLocalFallback: handleLocalFallback,
|
|
55250
|
+
persistence
|
|
55251
|
+
}
|
|
55252
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
55202
55253
|
SchemaRunner,
|
|
55203
55254
|
{
|
|
55204
55255
|
schema: parseResult.schema,
|
|
@@ -55229,7 +55280,8 @@ function BrowserPlayground({
|
|
|
55229
55280
|
initialPagePath,
|
|
55230
55281
|
height,
|
|
55231
55282
|
className,
|
|
55232
|
-
paused
|
|
55283
|
+
paused,
|
|
55284
|
+
fit
|
|
55233
55285
|
}) {
|
|
55234
55286
|
const [runtime] = React87.useState(
|
|
55235
55287
|
() => new OrbitalServerRuntime.OrbitalServerRuntime({ mode, debug: false })
|
|
@@ -55291,6 +55343,7 @@ function BrowserPlayground({
|
|
|
55291
55343
|
initialPagePath,
|
|
55292
55344
|
height,
|
|
55293
55345
|
className,
|
|
55346
|
+
fit,
|
|
55294
55347
|
isolated: true
|
|
55295
55348
|
}
|
|
55296
55349
|
);
|
package/dist/runtime/index.d.cts
CHANGED
|
@@ -293,6 +293,12 @@ interface OrbPreviewProps {
|
|
|
293
293
|
* Default false (standalone previews own the global bridge).
|
|
294
294
|
*/
|
|
295
295
|
isolated?: boolean;
|
|
296
|
+
/**
|
|
297
|
+
* Scale the rendered content down (never up) so it fits the container
|
|
298
|
+
* without scrollbars. For fixed-intrinsic-size content (game canvases);
|
|
299
|
+
* leave off for flow layouts, which should keep their internal scroll.
|
|
300
|
+
*/
|
|
301
|
+
fit?: boolean;
|
|
296
302
|
}
|
|
297
303
|
/**
|
|
298
304
|
* Renders a live preview of an Orbital schema.
|
|
@@ -307,7 +313,7 @@ interface OrbPreviewProps {
|
|
|
307
313
|
* <OrbPreview schema={schema} serverUrl="/api/orbitals" />
|
|
308
314
|
* ```
|
|
309
315
|
*/
|
|
310
|
-
declare function OrbPreview({ schema, mockData, autoMock, height, className, serverUrl, transport, getAccessToken, initialPagePath, isolated, user, }: OrbPreviewProps): React__default.ReactElement;
|
|
316
|
+
declare function OrbPreview({ schema, mockData, autoMock, height, className, serverUrl, transport, getAccessToken, initialPagePath, isolated, fit, user, }: OrbPreviewProps): React__default.ReactElement;
|
|
311
317
|
declare namespace OrbPreview {
|
|
312
318
|
var displayName: string;
|
|
313
319
|
}
|
|
@@ -344,8 +350,10 @@ interface BrowserPlaygroundProps {
|
|
|
344
350
|
className?: string;
|
|
345
351
|
/** Pause the in-process runtime's tick scheduler. Default: undefined (running, same as today). */
|
|
346
352
|
paused?: boolean;
|
|
353
|
+
/** Scale content down (never up) to fit the container without scrollbars — for fixed-size content like game canvases. Forwarded to OrbPreview. */
|
|
354
|
+
fit?: boolean;
|
|
347
355
|
}
|
|
348
|
-
declare function BrowserPlayground({ schema, mode, initialPagePath, height, className, paused, }: BrowserPlaygroundProps): React__default.ReactElement;
|
|
356
|
+
declare function BrowserPlayground({ schema, mode, initialPagePath, height, className, paused, fit, }: BrowserPlaygroundProps): React__default.ReactElement;
|
|
349
357
|
|
|
350
358
|
/**
|
|
351
359
|
* OrbitalPluginHost — runs an ordinary behavior headless against the
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -293,6 +293,12 @@ interface OrbPreviewProps {
|
|
|
293
293
|
* Default false (standalone previews own the global bridge).
|
|
294
294
|
*/
|
|
295
295
|
isolated?: boolean;
|
|
296
|
+
/**
|
|
297
|
+
* Scale the rendered content down (never up) so it fits the container
|
|
298
|
+
* without scrollbars. For fixed-intrinsic-size content (game canvases);
|
|
299
|
+
* leave off for flow layouts, which should keep their internal scroll.
|
|
300
|
+
*/
|
|
301
|
+
fit?: boolean;
|
|
296
302
|
}
|
|
297
303
|
/**
|
|
298
304
|
* Renders a live preview of an Orbital schema.
|
|
@@ -307,7 +313,7 @@ interface OrbPreviewProps {
|
|
|
307
313
|
* <OrbPreview schema={schema} serverUrl="/api/orbitals" />
|
|
308
314
|
* ```
|
|
309
315
|
*/
|
|
310
|
-
declare function OrbPreview({ schema, mockData, autoMock, height, className, serverUrl, transport, getAccessToken, initialPagePath, isolated, user, }: OrbPreviewProps): React__default.ReactElement;
|
|
316
|
+
declare function OrbPreview({ schema, mockData, autoMock, height, className, serverUrl, transport, getAccessToken, initialPagePath, isolated, fit, user, }: OrbPreviewProps): React__default.ReactElement;
|
|
311
317
|
declare namespace OrbPreview {
|
|
312
318
|
var displayName: string;
|
|
313
319
|
}
|
|
@@ -344,8 +350,10 @@ interface BrowserPlaygroundProps {
|
|
|
344
350
|
className?: string;
|
|
345
351
|
/** Pause the in-process runtime's tick scheduler. Default: undefined (running, same as today). */
|
|
346
352
|
paused?: boolean;
|
|
353
|
+
/** Scale content down (never up) to fit the container without scrollbars — for fixed-size content like game canvases. Forwarded to OrbPreview. */
|
|
354
|
+
fit?: boolean;
|
|
347
355
|
}
|
|
348
|
-
declare function BrowserPlayground({ schema, mode, initialPagePath, height, className, paused, }: BrowserPlaygroundProps): React__default.ReactElement;
|
|
356
|
+
declare function BrowserPlayground({ schema, mode, initialPagePath, height, className, paused, fit, }: BrowserPlaygroundProps): React__default.ReactElement;
|
|
349
357
|
|
|
350
358
|
/**
|
|
351
359
|
* OrbitalPluginHost — runs an ordinary behavior headless against the
|
package/dist/runtime/index.js
CHANGED
|
@@ -19705,6 +19705,7 @@ var init_CodeBlock = __esm({
|
|
|
19705
19705
|
ref: scrollRef,
|
|
19706
19706
|
onCopy: handleSelectionCopy,
|
|
19707
19707
|
dir: "ltr",
|
|
19708
|
+
className: "[&_code]:!bg-transparent [&_code]:!p-0 [&_code]:!border-0 [&_code]:!shadow-none [&_span]:!bg-transparent",
|
|
19708
19709
|
style: {
|
|
19709
19710
|
flex: 1,
|
|
19710
19711
|
minHeight: 0,
|
|
@@ -19862,7 +19863,12 @@ var init_MermaidDiagram = __esm({
|
|
|
19862
19863
|
mermaid.initialize({
|
|
19863
19864
|
startOnLoad: false,
|
|
19864
19865
|
securityLevel: "strict",
|
|
19865
|
-
theme: resolvedMode === "dark" ? "dark" : "default"
|
|
19866
|
+
theme: resolvedMode === "dark" ? "dark" : "default",
|
|
19867
|
+
// Mermaid's default is to append its "Syntax error in text" bomb
|
|
19868
|
+
// graphic to <body> on a failed parse, outside any error boundary —
|
|
19869
|
+
// the catch below owns failure presentation (source + log), so the
|
|
19870
|
+
// library must not paint its own.
|
|
19871
|
+
suppressErrorRendering: true
|
|
19866
19872
|
});
|
|
19867
19873
|
const domId = `mermaid-${reactId.replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
19868
19874
|
let firstError = null;
|
|
@@ -52423,6 +52429,11 @@ function renderPatternChildren(children, onDismiss, parentId = "root", parentPat
|
|
|
52423
52429
|
if (_childChildren !== void 0 && nestedProps === void 0) {
|
|
52424
52430
|
resolvedProps.children = _childChildren;
|
|
52425
52431
|
}
|
|
52432
|
+
const childKids = resolvedProps.children;
|
|
52433
|
+
const childlessStack = (_childType === "stack" || _childType === "vstack" || _childType === "hstack") && resolvedProps.className === void 0 && resolvedProps.style === void 0 && (childKids === void 0 || childKids === null || Array.isArray(childKids) && !childKids.length);
|
|
52434
|
+
if (childlessStack) {
|
|
52435
|
+
return null;
|
|
52436
|
+
}
|
|
52426
52437
|
const childContent = {
|
|
52427
52438
|
id: childId,
|
|
52428
52439
|
pattern: child.type,
|
|
@@ -54770,6 +54781,30 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
54770
54781
|
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
54771
54782
|
return /* @__PURE__ */ jsx(EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
54772
54783
|
}
|
|
54784
|
+
function FitToBox({ children }) {
|
|
54785
|
+
const outerRef = useRef(null);
|
|
54786
|
+
const innerRef = useRef(null);
|
|
54787
|
+
const [scale, setScale] = useState(1);
|
|
54788
|
+
useEffect(() => {
|
|
54789
|
+
const outer = outerRef.current;
|
|
54790
|
+
const inner = innerRef.current;
|
|
54791
|
+
if (!outer || !inner) return;
|
|
54792
|
+
const update = () => {
|
|
54793
|
+
const sw = inner.scrollWidth;
|
|
54794
|
+
const sh = inner.scrollHeight;
|
|
54795
|
+
const cw = outer.clientWidth;
|
|
54796
|
+
const ch = outer.clientHeight;
|
|
54797
|
+
if (!sw || !sh || !cw || !ch) return;
|
|
54798
|
+
setScale(Math.min(1, cw / sw, ch / sh));
|
|
54799
|
+
};
|
|
54800
|
+
update();
|
|
54801
|
+
const ro = new ResizeObserver(update);
|
|
54802
|
+
ro.observe(outer);
|
|
54803
|
+
ro.observe(inner);
|
|
54804
|
+
return () => ro.disconnect();
|
|
54805
|
+
}, []);
|
|
54806
|
+
return /* @__PURE__ */ jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
54807
|
+
}
|
|
54773
54808
|
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, persistence }) {
|
|
54774
54809
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
54775
54810
|
const allPageTraits = useMemo(() => {
|
|
@@ -54955,6 +54990,7 @@ function OrbPreview({
|
|
|
54955
54990
|
getAccessToken,
|
|
54956
54991
|
initialPagePath,
|
|
54957
54992
|
isolated = false,
|
|
54993
|
+
fit = false,
|
|
54958
54994
|
user = null
|
|
54959
54995
|
}) {
|
|
54960
54996
|
if (serverUrl && transport) {
|
|
@@ -55111,7 +55147,7 @@ function OrbPreview({
|
|
|
55111
55147
|
Box,
|
|
55112
55148
|
{
|
|
55113
55149
|
ref: containerRef,
|
|
55114
|
-
className:
|
|
55150
|
+
className: `${fit ? "overflow-hidden" : "overflow-auto"} border border-[var(--color-border)] rounded-[var(--radius-md)] ${className ?? ""}`,
|
|
55115
55151
|
style: { height },
|
|
55116
55152
|
children: [
|
|
55117
55153
|
localFallback && /* @__PURE__ */ jsx(Box, { className: "px-3 py-2 bg-[var(--color-warning)] bg-opacity-10 border-b border-[var(--color-warning)] flex items-center gap-2", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-[var(--color-warning-foreground)] flex-1", children: "Preview server unreachable \u2014 running locally. Server-side state and persistence are disabled." }) }),
|
|
@@ -55124,7 +55160,22 @@ function OrbPreview({
|
|
|
55124
55160
|
storageKey: `almadar:navstack:${parseResult.schema.name ?? "preview"}`,
|
|
55125
55161
|
children: [
|
|
55126
55162
|
/* @__PURE__ */ jsx(NavStackRefBridge, { apiRef: navStackRef }),
|
|
55127
|
-
/* @__PURE__ */ jsx(OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsx(UISlotProvider, { children: /* @__PURE__ */ jsx(
|
|
55163
|
+
/* @__PURE__ */ jsx(OrbitalProvider, { initialData: effectiveMockData, skipTheme: true, verification: true, isolated, user, children: /* @__PURE__ */ jsx(UISlotProvider, { children: fit ? /* @__PURE__ */ jsx(FitToBox, { children: /* @__PURE__ */ jsx(
|
|
55164
|
+
SchemaRunner,
|
|
55165
|
+
{
|
|
55166
|
+
schema: parseResult.schema,
|
|
55167
|
+
serverUrl,
|
|
55168
|
+
transport,
|
|
55169
|
+
getAccessToken,
|
|
55170
|
+
mockData: effectiveMockData,
|
|
55171
|
+
pageName: currentPage,
|
|
55172
|
+
routeParams,
|
|
55173
|
+
onNavigate: handleNavigateEffect,
|
|
55174
|
+
onNavigateBack: handleNavigateBack,
|
|
55175
|
+
onLocalFallback: handleLocalFallback,
|
|
55176
|
+
persistence
|
|
55177
|
+
}
|
|
55178
|
+
) }) : /* @__PURE__ */ jsx(
|
|
55128
55179
|
SchemaRunner,
|
|
55129
55180
|
{
|
|
55130
55181
|
schema: parseResult.schema,
|
|
@@ -55155,7 +55206,8 @@ function BrowserPlayground({
|
|
|
55155
55206
|
initialPagePath,
|
|
55156
55207
|
height,
|
|
55157
55208
|
className,
|
|
55158
|
-
paused
|
|
55209
|
+
paused,
|
|
55210
|
+
fit
|
|
55159
55211
|
}) {
|
|
55160
55212
|
const [runtime] = useState(
|
|
55161
55213
|
() => new OrbitalServerRuntime({ mode, debug: false })
|
|
@@ -55217,6 +55269,7 @@ function BrowserPlayground({
|
|
|
55217
55269
|
initialPagePath,
|
|
55218
55270
|
height,
|
|
55219
55271
|
className,
|
|
55272
|
+
fit,
|
|
55220
55273
|
isolated: true
|
|
55221
55274
|
}
|
|
55222
55275
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almadar/ui",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.18.0",
|
|
4
4
|
"description": "React UI components, hooks, and providers for Almadar",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -121,8 +121,8 @@
|
|
|
121
121
|
"@almadar/core": "^10.92.0",
|
|
122
122
|
"@almadar/evaluator": "^2.45.0",
|
|
123
123
|
"@almadar/logger": "^1.12.0",
|
|
124
|
-
"@almadar/runtime": "^6.
|
|
125
|
-
"@almadar/std": "^16.
|
|
124
|
+
"@almadar/runtime": "^6.78.0",
|
|
125
|
+
"@almadar/std": "^16.214.0",
|
|
126
126
|
"@almadar/syntax": "^1.17.0",
|
|
127
127
|
"@dnd-kit/core": "^6.3.1",
|
|
128
128
|
"@dnd-kit/sortable": "^10.0.0",
|