@almadar/ui 2.48.9 → 2.50.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 +342 -5
- package/dist/avl/index.d.cts +32 -1
- package/dist/avl/index.d.ts +1 -1
- package/dist/avl/index.js +343 -7
- package/dist/components/index.cjs +24 -1
- package/dist/components/index.js +25 -2
- package/dist/components/organisms/avl/AvlOrbitalsCosmicZoom.d.ts +31 -0
- package/dist/components/organisms/avl/index.d.ts +1 -0
- package/dist/providers/index.cjs +24 -1
- package/dist/providers/index.js +25 -2
- package/dist/runtime/index.cjs +24 -1
- package/dist/runtime/index.js +25 -2
- package/package.json +2 -2
package/dist/avl/index.cjs
CHANGED
|
@@ -19388,7 +19388,7 @@ var MapViewImpl = React125.lazy(async () => {
|
|
|
19388
19388
|
shadowSize: [41, 41]
|
|
19389
19389
|
});
|
|
19390
19390
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
19391
|
-
const { useEffect: useEffect87, useRef: useRef87, useCallback:
|
|
19391
|
+
const { useEffect: useEffect87, useRef: useRef87, useCallback: useCallback124, useState: useState124 } = React125__namespace.default;
|
|
19392
19392
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
19393
19393
|
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
19394
19394
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
@@ -19432,8 +19432,8 @@ var MapViewImpl = React125.lazy(async () => {
|
|
|
19432
19432
|
showAttribution = true
|
|
19433
19433
|
}) {
|
|
19434
19434
|
const eventBus = useEventBus3();
|
|
19435
|
-
const [clickedPosition, setClickedPosition] =
|
|
19436
|
-
const handleMapClick =
|
|
19435
|
+
const [clickedPosition, setClickedPosition] = useState124(null);
|
|
19436
|
+
const handleMapClick = useCallback124((lat, lng) => {
|
|
19437
19437
|
if (showClickedPin) {
|
|
19438
19438
|
setClickedPosition({ lat, lng });
|
|
19439
19439
|
}
|
|
@@ -19442,7 +19442,7 @@ var MapViewImpl = React125.lazy(async () => {
|
|
|
19442
19442
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
19443
19443
|
}
|
|
19444
19444
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
19445
|
-
const handleMarkerClick =
|
|
19445
|
+
const handleMarkerClick = useCallback124((marker) => {
|
|
19446
19446
|
onMarkerClick?.(marker);
|
|
19447
19447
|
if (markerClickEvent) {
|
|
19448
19448
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -22031,6 +22031,7 @@ SyntaxHighlighter__default.default.registerLanguage("toml", langToml__default.de
|
|
|
22031
22031
|
SyntaxHighlighter__default.default.registerLanguage("go", langGo__default.default);
|
|
22032
22032
|
SyntaxHighlighter__default.default.registerLanguage("graphql", langGraphql__default.default);
|
|
22033
22033
|
SyntaxHighlighter__default.default.registerLanguage("orb", syntax.orbLanguage);
|
|
22034
|
+
SyntaxHighlighter__default.default.registerLanguage("lolo", syntax.loloLanguage);
|
|
22034
22035
|
var orbStyleOverrides = {
|
|
22035
22036
|
"orb-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
22036
22037
|
"orb-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -22052,6 +22053,27 @@ var orbStyleOverrides = {
|
|
|
22052
22053
|
"orb-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
22053
22054
|
};
|
|
22054
22055
|
var orbStyle = { ...dark__default.default, ...orbStyleOverrides };
|
|
22056
|
+
var loloStyleOverrides = {
|
|
22057
|
+
"lolo-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
22058
|
+
"lolo-event": { color: syntax.ORB_COLORS.dark.event },
|
|
22059
|
+
"lolo-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
22060
|
+
"keyword": { color: syntax.ORB_COLORS.dark.loloKeyword },
|
|
22061
|
+
"lolo-constructor": { color: syntax.ORB_COLORS.dark.loloConstructor },
|
|
22062
|
+
"lolo-arrow": { color: syntax.ORB_COLORS.dark.loloArrow },
|
|
22063
|
+
"lolo-reference": { color: syntax.ORB_COLORS.dark.loloReference },
|
|
22064
|
+
"lolo-type": { color: syntax.ORB_COLORS.dark.fieldType },
|
|
22065
|
+
"lolo-persistence": { color: syntax.ORB_COLORS.dark.persistence },
|
|
22066
|
+
"lolo-unknown-op": { color: syntax.ORB_COLORS.dark.error },
|
|
22067
|
+
"lolo-op-arithmetic": { color: syntax.ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
22068
|
+
"lolo-op-comparison": { color: syntax.ORB_COLORS.dark.comparison },
|
|
22069
|
+
"lolo-op-logic": { color: syntax.ORB_COLORS.dark.logic },
|
|
22070
|
+
"lolo-op-string": { color: syntax.ORB_COLORS.dark.string },
|
|
22071
|
+
"lolo-op-collection": { color: syntax.ORB_COLORS.dark.collection },
|
|
22072
|
+
"lolo-op-time": { color: syntax.ORB_COLORS.dark.time },
|
|
22073
|
+
"lolo-op-control": { color: syntax.ORB_COLORS.dark.control },
|
|
22074
|
+
"lolo-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
22075
|
+
};
|
|
22076
|
+
var loloStyle = { ...dark__default.default, ...loloStyleOverrides };
|
|
22055
22077
|
function computeFoldRegions(code) {
|
|
22056
22078
|
const lines = code.split("\n");
|
|
22057
22079
|
const regions = [];
|
|
@@ -22100,7 +22122,8 @@ var CodeBlock = React125__namespace.default.memo(
|
|
|
22100
22122
|
}) => {
|
|
22101
22123
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
22102
22124
|
const isOrb = language === "orb";
|
|
22103
|
-
const
|
|
22125
|
+
const isLolo = language === "lolo";
|
|
22126
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
|
|
22104
22127
|
const eventBus = useEventBus();
|
|
22105
22128
|
const { t: _t } = useTranslate();
|
|
22106
22129
|
const scrollRef = React125.useRef(null);
|
|
@@ -49017,6 +49040,319 @@ var AvlCosmicZoom = (props) => {
|
|
|
49017
49040
|
);
|
|
49018
49041
|
};
|
|
49019
49042
|
AvlCosmicZoom.displayName = "AvlCosmicZoom";
|
|
49043
|
+
|
|
49044
|
+
// components/organisms/avl/AvlOrbitalsCosmicZoom.tsx
|
|
49045
|
+
init_avl_schema_parser();
|
|
49046
|
+
init_Box();
|
|
49047
|
+
init_Typography();
|
|
49048
|
+
var UNIT_DISPLAY_W = 240;
|
|
49049
|
+
var UNIT_DISPLAY_H = 160;
|
|
49050
|
+
function layoutOrbitals(count, containerW, containerH) {
|
|
49051
|
+
if (count === 0) return [];
|
|
49052
|
+
if (count === 1) return [{ cx: containerW / 2, cy: containerH / 2 }];
|
|
49053
|
+
const cols = Math.min(count, Math.ceil(Math.sqrt(count)));
|
|
49054
|
+
const rows = Math.ceil(count / cols);
|
|
49055
|
+
const cellW = containerW / (cols + 0.3);
|
|
49056
|
+
const cellH = containerH / (rows + 0.3);
|
|
49057
|
+
const originX = (containerW - cols * cellW) / 2 + cellW / 2;
|
|
49058
|
+
const originY = (containerH - rows * cellH) / 2 + cellH / 2;
|
|
49059
|
+
return Array.from({ length: count }, (_, i) => ({
|
|
49060
|
+
cx: originX + i % cols * cellW,
|
|
49061
|
+
cy: originY + Math.floor(i / cols) * cellH
|
|
49062
|
+
}));
|
|
49063
|
+
}
|
|
49064
|
+
var avlOczWireId = 0;
|
|
49065
|
+
var EventWireOverlay = ({
|
|
49066
|
+
orbitalViews,
|
|
49067
|
+
crossLinks,
|
|
49068
|
+
color,
|
|
49069
|
+
animated,
|
|
49070
|
+
containerW,
|
|
49071
|
+
containerH
|
|
49072
|
+
}) => {
|
|
49073
|
+
const ids = React125__namespace.default.useMemo(() => {
|
|
49074
|
+
avlOczWireId += 1;
|
|
49075
|
+
return { arrow: `avl-ocz-wire-${avlOczWireId}-arrow` };
|
|
49076
|
+
}, []);
|
|
49077
|
+
const posMap = React125.useMemo(() => {
|
|
49078
|
+
const m = /* @__PURE__ */ new Map();
|
|
49079
|
+
for (const ov of orbitalViews) m.set(ov.name, { cx: ov.cx, cy: ov.cy });
|
|
49080
|
+
return m;
|
|
49081
|
+
}, [orbitalViews]);
|
|
49082
|
+
const wiresByPair = React125.useMemo(() => {
|
|
49083
|
+
const map = /* @__PURE__ */ new Map();
|
|
49084
|
+
for (const link of crossLinks) {
|
|
49085
|
+
const key = `${link.emitterOrbital}__${link.listenerOrbital}`;
|
|
49086
|
+
const arr = map.get(key) ?? [];
|
|
49087
|
+
arr.push(link);
|
|
49088
|
+
map.set(key, arr);
|
|
49089
|
+
}
|
|
49090
|
+
return map;
|
|
49091
|
+
}, [crossLinks]);
|
|
49092
|
+
const orbitalR = UNIT_DISPLAY_W * 0.38;
|
|
49093
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
49094
|
+
"svg",
|
|
49095
|
+
{
|
|
49096
|
+
style: {
|
|
49097
|
+
position: "absolute",
|
|
49098
|
+
inset: 0,
|
|
49099
|
+
width: "100%",
|
|
49100
|
+
height: "100%",
|
|
49101
|
+
pointerEvents: "none",
|
|
49102
|
+
overflow: "visible"
|
|
49103
|
+
},
|
|
49104
|
+
viewBox: `0 0 ${containerW} ${containerH}`,
|
|
49105
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
49106
|
+
children: [
|
|
49107
|
+
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
49108
|
+
"marker",
|
|
49109
|
+
{
|
|
49110
|
+
id: ids.arrow,
|
|
49111
|
+
markerWidth: "8",
|
|
49112
|
+
markerHeight: "6",
|
|
49113
|
+
refX: "7",
|
|
49114
|
+
refY: "3",
|
|
49115
|
+
orient: "auto",
|
|
49116
|
+
markerUnits: "strokeWidth",
|
|
49117
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0,0 L8,3 L0,6 Z", fill: color, opacity: 0.6 })
|
|
49118
|
+
}
|
|
49119
|
+
) }),
|
|
49120
|
+
animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
|
|
49121
|
+
@keyframes avl-ocz-flow {
|
|
49122
|
+
from { stroke-dashoffset: 20; }
|
|
49123
|
+
to { stroke-dashoffset: 0; }
|
|
49124
|
+
}
|
|
49125
|
+
` }),
|
|
49126
|
+
Array.from(wiresByPair.entries()).map(
|
|
49127
|
+
([pairKey, links]) => links.map((link, wireIdx) => {
|
|
49128
|
+
const fromPos = posMap.get(link.emitterOrbital);
|
|
49129
|
+
const toPos = posMap.get(link.listenerOrbital);
|
|
49130
|
+
if (!fromPos || !toPos) return null;
|
|
49131
|
+
const dx = toPos.cx - fromPos.cx;
|
|
49132
|
+
const dy = toPos.cy - fromPos.cy;
|
|
49133
|
+
const dist = Math.sqrt(dx * dx + dy * dy) || 1;
|
|
49134
|
+
const nx = dx / dist;
|
|
49135
|
+
const ny = dy / dist;
|
|
49136
|
+
const x1 = fromPos.cx + nx * orbitalR;
|
|
49137
|
+
const y1 = fromPos.cy + ny * orbitalR;
|
|
49138
|
+
const x2 = toPos.cx - nx * (orbitalR + 6);
|
|
49139
|
+
const y2 = toPos.cy - ny * (orbitalR + 6);
|
|
49140
|
+
const offset = 25 + wireIdx * 18;
|
|
49141
|
+
const { cpx, cpy } = curveControlPoint(x1, y1, x2, y2, offset);
|
|
49142
|
+
const pathD = `M${x1},${y1} Q${cpx},${cpy} ${x2},${y2}`;
|
|
49143
|
+
const t = 0.5;
|
|
49144
|
+
const lx = (1 - t) * (1 - t) * x1 + 2 * (1 - t) * t * cpx + t * t * x2;
|
|
49145
|
+
const ly = (1 - t) * (1 - t) * y1 + 2 * (1 - t) * t * cpy + t * t * y2;
|
|
49146
|
+
const labelW = link.eventName.length * 5.5 + 12;
|
|
49147
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
49148
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
49149
|
+
"path",
|
|
49150
|
+
{
|
|
49151
|
+
d: pathD,
|
|
49152
|
+
fill: "none",
|
|
49153
|
+
stroke: color,
|
|
49154
|
+
strokeWidth: 1.2,
|
|
49155
|
+
strokeDasharray: animated ? "6 4" : "4 3",
|
|
49156
|
+
markerEnd: `url(#${ids.arrow})`,
|
|
49157
|
+
opacity: 0.5,
|
|
49158
|
+
style: animated ? { animation: "avl-ocz-flow 1.5s linear infinite" } : void 0
|
|
49159
|
+
}
|
|
49160
|
+
),
|
|
49161
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
49162
|
+
"rect",
|
|
49163
|
+
{
|
|
49164
|
+
x: lx - labelW / 2,
|
|
49165
|
+
y: ly - 8,
|
|
49166
|
+
width: labelW,
|
|
49167
|
+
height: 14,
|
|
49168
|
+
rx: 3,
|
|
49169
|
+
fill: "var(--color-background, #fff)",
|
|
49170
|
+
stroke: color,
|
|
49171
|
+
strokeWidth: 0.5,
|
|
49172
|
+
opacity: 0.9
|
|
49173
|
+
}
|
|
49174
|
+
),
|
|
49175
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
49176
|
+
"text",
|
|
49177
|
+
{
|
|
49178
|
+
x: lx,
|
|
49179
|
+
y: ly + 3,
|
|
49180
|
+
textAnchor: "middle",
|
|
49181
|
+
fill: color,
|
|
49182
|
+
fontSize: 7,
|
|
49183
|
+
fontWeight: 600,
|
|
49184
|
+
fontFamily: "monospace",
|
|
49185
|
+
opacity: 0.8,
|
|
49186
|
+
children: link.eventName
|
|
49187
|
+
}
|
|
49188
|
+
)
|
|
49189
|
+
] }, `${pairKey}-${wireIdx}`);
|
|
49190
|
+
})
|
|
49191
|
+
)
|
|
49192
|
+
]
|
|
49193
|
+
}
|
|
49194
|
+
);
|
|
49195
|
+
};
|
|
49196
|
+
var InfoPanel = ({ view, crossLinks, color }) => {
|
|
49197
|
+
const emitsOut = crossLinks.filter((l) => l.emitterOrbital === view.name);
|
|
49198
|
+
const listensIn = crossLinks.filter((l) => l.listenerOrbital === view.name);
|
|
49199
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
49200
|
+
Box,
|
|
49201
|
+
{
|
|
49202
|
+
position: "absolute",
|
|
49203
|
+
rounded: "lg",
|
|
49204
|
+
paddingX: "md",
|
|
49205
|
+
paddingY: "sm",
|
|
49206
|
+
bg: "overlay",
|
|
49207
|
+
style: {
|
|
49208
|
+
left: view.cx - 120,
|
|
49209
|
+
top: view.cy + UNIT_DISPLAY_H / 2 + 4,
|
|
49210
|
+
width: 240,
|
|
49211
|
+
border: `1px solid ${color}`,
|
|
49212
|
+
zIndex: 20,
|
|
49213
|
+
pointerEvents: "none"
|
|
49214
|
+
},
|
|
49215
|
+
children: [
|
|
49216
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { weight: "semibold", style: { marginBottom: 4, color }, children: view.name }),
|
|
49217
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49218
|
+
"Entity: ",
|
|
49219
|
+
view.entityName,
|
|
49220
|
+
" (",
|
|
49221
|
+
view.fieldCount,
|
|
49222
|
+
" fields, ",
|
|
49223
|
+
view.persistence,
|
|
49224
|
+
")"
|
|
49225
|
+
] }),
|
|
49226
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49227
|
+
"Traits: ",
|
|
49228
|
+
view.traits.map((t) => t.name).join(", ") || "none"
|
|
49229
|
+
] }),
|
|
49230
|
+
view.pages.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49231
|
+
"Pages: ",
|
|
49232
|
+
view.pages.map((p2) => p2.name).join(", ")
|
|
49233
|
+
] }),
|
|
49234
|
+
emitsOut.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49235
|
+
"Emits \u2192 ",
|
|
49236
|
+
emitsOut.map((l) => `${l.eventName} \u2192 ${l.listenerOrbital}`).join(", ")
|
|
49237
|
+
] }),
|
|
49238
|
+
listensIn.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49239
|
+
"Listens \u2190 ",
|
|
49240
|
+
listensIn.map((l) => `${l.eventName} \u2190 ${l.emitterOrbital}`).join(", ")
|
|
49241
|
+
] })
|
|
49242
|
+
]
|
|
49243
|
+
}
|
|
49244
|
+
);
|
|
49245
|
+
};
|
|
49246
|
+
var AvlOrbitalsCosmicZoom = ({
|
|
49247
|
+
schema: schemaProp,
|
|
49248
|
+
className,
|
|
49249
|
+
color = "var(--color-primary, #4A90D9)",
|
|
49250
|
+
animated = true,
|
|
49251
|
+
width = "100%",
|
|
49252
|
+
height = 450
|
|
49253
|
+
}) => {
|
|
49254
|
+
const parsedSchema = React125.useMemo(() => {
|
|
49255
|
+
if (typeof schemaProp === "string") return JSON.parse(schemaProp);
|
|
49256
|
+
return schemaProp;
|
|
49257
|
+
}, [schemaProp]);
|
|
49258
|
+
const { orbitals, crossLinks } = React125.useMemo(
|
|
49259
|
+
() => parseApplicationLevel(parsedSchema),
|
|
49260
|
+
[parsedSchema]
|
|
49261
|
+
);
|
|
49262
|
+
const containerW = typeof width === "number" ? width : 800;
|
|
49263
|
+
const containerH = typeof height === "number" ? height : 450;
|
|
49264
|
+
const positions = React125.useMemo(
|
|
49265
|
+
() => layoutOrbitals(orbitals.length, containerW, containerH),
|
|
49266
|
+
[orbitals.length, containerW, containerH]
|
|
49267
|
+
);
|
|
49268
|
+
const orbitalViews = React125.useMemo(
|
|
49269
|
+
() => orbitals.map((o, i) => ({
|
|
49270
|
+
name: o.name,
|
|
49271
|
+
entityName: o.entityName,
|
|
49272
|
+
fieldCount: o.fieldCount,
|
|
49273
|
+
persistence: o.persistence || "persistent",
|
|
49274
|
+
traits: o.traitNames.map((n) => ({ name: n })),
|
|
49275
|
+
pages: o.pageNames.map((n) => ({ name: n })),
|
|
49276
|
+
cx: positions[i]?.cx ?? 0,
|
|
49277
|
+
cy: positions[i]?.cy ?? 0
|
|
49278
|
+
})),
|
|
49279
|
+
[orbitals, positions]
|
|
49280
|
+
);
|
|
49281
|
+
const [selected, setSelected] = React125.useState(null);
|
|
49282
|
+
const handleSelect = React125.useCallback(
|
|
49283
|
+
(name) => setSelected((prev) => prev === name ? null : name),
|
|
49284
|
+
[]
|
|
49285
|
+
);
|
|
49286
|
+
const selectedView = orbitalViews.find((o) => o.name === selected);
|
|
49287
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
49288
|
+
Box,
|
|
49289
|
+
{
|
|
49290
|
+
className,
|
|
49291
|
+
position: "relative",
|
|
49292
|
+
overflow: "visible",
|
|
49293
|
+
style: { width, height: containerH },
|
|
49294
|
+
children: [
|
|
49295
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
49296
|
+
EventWireOverlay,
|
|
49297
|
+
{
|
|
49298
|
+
orbitalViews,
|
|
49299
|
+
crossLinks,
|
|
49300
|
+
color,
|
|
49301
|
+
animated,
|
|
49302
|
+
containerW,
|
|
49303
|
+
containerH
|
|
49304
|
+
}
|
|
49305
|
+
),
|
|
49306
|
+
orbitalViews.map((view) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
49307
|
+
Box,
|
|
49308
|
+
{
|
|
49309
|
+
role: "button",
|
|
49310
|
+
tabIndex: 0,
|
|
49311
|
+
onClick: () => handleSelect(view.name),
|
|
49312
|
+
onKeyDown: (e) => {
|
|
49313
|
+
if (e.key === "Enter" || e.key === " ") handleSelect(view.name);
|
|
49314
|
+
},
|
|
49315
|
+
"aria-label": `Orbital: ${view.name}`,
|
|
49316
|
+
position: "absolute",
|
|
49317
|
+
style: {
|
|
49318
|
+
left: view.cx - UNIT_DISPLAY_W / 2,
|
|
49319
|
+
top: view.cy - UNIT_DISPLAY_H / 2,
|
|
49320
|
+
width: UNIT_DISPLAY_W,
|
|
49321
|
+
height: UNIT_DISPLAY_H,
|
|
49322
|
+
cursor: "pointer",
|
|
49323
|
+
transition: "transform 0.2s ease, filter 0.2s ease",
|
|
49324
|
+
transform: selected === view.name ? "scale(1.05)" : "scale(1)",
|
|
49325
|
+
filter: selected && selected !== view.name ? "opacity(0.5)" : "none",
|
|
49326
|
+
zIndex: selected === view.name ? 10 : 1
|
|
49327
|
+
},
|
|
49328
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
49329
|
+
AvlOrbitalUnit,
|
|
49330
|
+
{
|
|
49331
|
+
entityName: view.entityName,
|
|
49332
|
+
fields: view.fieldCount,
|
|
49333
|
+
persistence: view.persistence,
|
|
49334
|
+
traits: view.traits,
|
|
49335
|
+
pages: view.pages,
|
|
49336
|
+
color,
|
|
49337
|
+
animated: animated && selected === view.name
|
|
49338
|
+
}
|
|
49339
|
+
)
|
|
49340
|
+
},
|
|
49341
|
+
view.name
|
|
49342
|
+
)),
|
|
49343
|
+
selectedView && /* @__PURE__ */ jsxRuntime.jsx(
|
|
49344
|
+
InfoPanel,
|
|
49345
|
+
{
|
|
49346
|
+
view: selectedView,
|
|
49347
|
+
crossLinks,
|
|
49348
|
+
color
|
|
49349
|
+
}
|
|
49350
|
+
)
|
|
49351
|
+
]
|
|
49352
|
+
}
|
|
49353
|
+
);
|
|
49354
|
+
};
|
|
49355
|
+
AvlOrbitalsCosmicZoom.displayName = "AvlOrbitalsCosmicZoom";
|
|
49020
49356
|
init_types();
|
|
49021
49357
|
var SWIM_GUTTER2 = 120;
|
|
49022
49358
|
var CENTER_W2 = 360;
|
|
@@ -49455,6 +49791,7 @@ exports.AvlOperator = AvlOperator;
|
|
|
49455
49791
|
exports.AvlOrbital = AvlOrbital;
|
|
49456
49792
|
exports.AvlOrbitalNode = AvlOrbitalNode;
|
|
49457
49793
|
exports.AvlOrbitalUnit = AvlOrbitalUnit;
|
|
49794
|
+
exports.AvlOrbitalsCosmicZoom = AvlOrbitalsCosmicZoom;
|
|
49458
49795
|
exports.AvlPage = AvlPage;
|
|
49459
49796
|
exports.AvlPageEdge = AvlPageEdge;
|
|
49460
49797
|
exports.AvlPersistence = AvlPersistence;
|
package/dist/avl/index.d.cts
CHANGED
|
@@ -1340,6 +1340,37 @@ interface AvlCosmicZoomProps {
|
|
|
1340
1340
|
}
|
|
1341
1341
|
declare const AvlCosmicZoom: React__default.FC<AvlCosmicZoomProps>;
|
|
1342
1342
|
|
|
1343
|
+
/**
|
|
1344
|
+
* AvlOrbitalsCosmicZoom — Orbital Interaction Visualization
|
|
1345
|
+
*
|
|
1346
|
+
* Composed organism: renders AvlOrbitalUnit molecules positioned on a canvas,
|
|
1347
|
+
* connected by cross-orbital event wire arrows. No React Flow dependency.
|
|
1348
|
+
* Designed for documentation use.
|
|
1349
|
+
*
|
|
1350
|
+
* Composition:
|
|
1351
|
+
* - AvlOrbitalUnit (molecule) for each orbital
|
|
1352
|
+
* - SVG overlay for event wires between orbitals
|
|
1353
|
+
* - Click to select an orbital and show info panel
|
|
1354
|
+
*
|
|
1355
|
+
* @packageDocumentation
|
|
1356
|
+
*/
|
|
1357
|
+
|
|
1358
|
+
interface AvlOrbitalsCosmicZoomProps {
|
|
1359
|
+
/** The orbital schema (parsed object or JSON string) */
|
|
1360
|
+
schema: OrbitalSchema | string;
|
|
1361
|
+
/** CSS class for the outer container */
|
|
1362
|
+
className?: string;
|
|
1363
|
+
/** Primary color for the visualization */
|
|
1364
|
+
color?: string;
|
|
1365
|
+
/** Enable animations (default: true) */
|
|
1366
|
+
animated?: boolean;
|
|
1367
|
+
/** Container width */
|
|
1368
|
+
width?: number | string;
|
|
1369
|
+
/** Container height */
|
|
1370
|
+
height?: number | string;
|
|
1371
|
+
}
|
|
1372
|
+
declare const AvlOrbitalsCosmicZoom: React__default.FC<AvlOrbitalsCosmicZoomProps>;
|
|
1373
|
+
|
|
1343
1374
|
/**
|
|
1344
1375
|
* AvlTraitScene V2 - Zoom Level 3
|
|
1345
1376
|
*
|
|
@@ -1402,4 +1433,4 @@ interface AvlClickTargetProps {
|
|
|
1402
1433
|
}
|
|
1403
1434
|
declare const AvlClickTarget: React__default.FC<AvlClickTargetProps>;
|
|
1404
1435
|
|
|
1405
|
-
export { AVL_FIELD_TYPE_SHAPES, AVL_OPERATOR_COLORS, type ApplicationLevelData, AvlApplication, type AvlApplicationProps, AvlBackwardEdge, type AvlBaseProps, AvlBehaviorGlyph, type AvlBehaviorGlyphProps, AvlBinding, AvlBindingEdge, type AvlBindingProps, AvlBindingRef, type AvlBindingRefProps, AvlClickTarget, type AvlClickTargetProps, AvlClosedCircuit, type AvlClosedCircuitProps, type AvlClosedCircuitState, type AvlClosedCircuitTransition, AvlCosmicZoom, type AvlCosmicZoomProps, type AvlEdgeData, AvlEffect, type AvlEffectProps, type AvlEffectType, AvlEmitListen, type AvlEmitListenProps, AvlEntity, type AvlEntityProps, AvlEvent, type AvlEventProps, AvlEventWireEdge, type AvlEventWireEdgeData, AvlExprTree, type AvlExprTreeNode, type AvlExprTreeProps, AvlField, type AvlFieldProps, AvlFieldType, type AvlFieldTypeKind, type AvlFieldTypeProps, AvlGuard, type AvlGuardProps, AvlLiteral, type AvlLiteralProps, type AvlNodeData, AvlOperator, type AvlOperatorNamespace, type AvlOperatorProps, AvlOrbital, AvlOrbitalNode, type AvlOrbitalProps, AvlOrbitalUnit, type AvlOrbitalUnitPage, type AvlOrbitalUnitProps, type AvlOrbitalUnitTrait, AvlPage, AvlPageEdge, type AvlPageProps, AvlPersistence, type AvlPersistenceKind, type AvlPersistenceProps, AvlSExpr, type AvlSExprProps, AvlSlotMap, type AvlSlotMapProps, type AvlSlotMapSlot, AvlState, AvlStateMachine, type AvlStateMachineProps, type AvlStateMachineState, type AvlStateMachineTransition, type AvlStateProps, AvlSwimLane, type AvlSwimLaneProps, AvlTrait, type AvlTraitProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransition, AvlTransitionEdge, type AvlTransitionEdgeData, AvlTransitionLane, type AvlTransitionLaneProps, type AvlTransitionProps, AvlTransitionScene, type AvlTransitionSceneProps, type BehaviorCanvasEntry, BehaviorComposeNode, type BehaviorComposeNodeData, type BehaviorGlyphChild, type BehaviorGlyphConnection, type BehaviorLevel, type BehaviorRegistryRecord, BehaviorView, type BehaviorWireEdgeData, CONNECTION_COLORS, type ComposeViewLevel, type ConnectableEvent, type CrossLink, DOMAIN_COLORS, DetailView, EFFECT_CATEGORY_COLORS, EFFECT_TYPE_TO_CATEGORY, type EffectCategory, type ElkLayout, type EventEdgeData, EventFlowEdge, FlowCanvas, type FlowCanvasProps, type GlyphSize, type LayoutEdge, type LayoutNode, MiniStateMachine, ModuleCard, OrbInspector, type OrbInspectorProps, OrbPreviewNode, type OrbitalLevelData, type PatternEventSource, type PreviewNodeData, type RenderUIEntry, STATE_COLORS, type StateRole, SystemNode, type TraitLevelData, type TransitionLevelData, type ViewLevel, ZOOM_BAND_THRESHOLDS, type ZoomBand, ZoomBandContext, ZoomBreadcrumb, type ZoomBreadcrumbProps, ZoomLegend, type ZoomLegendProps, type ZoomLevel, arcPath, behaviorsToComposeGraph, computeTraitLayout, computeZoomBand, curveControlPoint, edgePath, getStateRole, gridPositions, orbitalToExpandedGraph, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, radialPositions, registryEntryToCanvasEntry, ringPositions, schemaToFlowGraph, schemaToOverviewGraph, useZoomBand, zoomProgress };
|
|
1436
|
+
export { AVL_FIELD_TYPE_SHAPES, AVL_OPERATOR_COLORS, type ApplicationLevelData, AvlApplication, type AvlApplicationProps, AvlBackwardEdge, type AvlBaseProps, AvlBehaviorGlyph, type AvlBehaviorGlyphProps, AvlBinding, AvlBindingEdge, type AvlBindingProps, AvlBindingRef, type AvlBindingRefProps, AvlClickTarget, type AvlClickTargetProps, AvlClosedCircuit, type AvlClosedCircuitProps, type AvlClosedCircuitState, type AvlClosedCircuitTransition, AvlCosmicZoom, type AvlCosmicZoomProps, type AvlEdgeData, AvlEffect, type AvlEffectProps, type AvlEffectType, AvlEmitListen, type AvlEmitListenProps, AvlEntity, type AvlEntityProps, AvlEvent, type AvlEventProps, AvlEventWireEdge, type AvlEventWireEdgeData, AvlExprTree, type AvlExprTreeNode, type AvlExprTreeProps, AvlField, type AvlFieldProps, AvlFieldType, type AvlFieldTypeKind, type AvlFieldTypeProps, AvlGuard, type AvlGuardProps, AvlLiteral, type AvlLiteralProps, type AvlNodeData, AvlOperator, type AvlOperatorNamespace, type AvlOperatorProps, AvlOrbital, AvlOrbitalNode, type AvlOrbitalProps, AvlOrbitalUnit, type AvlOrbitalUnitPage, type AvlOrbitalUnitProps, type AvlOrbitalUnitTrait, AvlOrbitalsCosmicZoom, type AvlOrbitalsCosmicZoomProps, AvlPage, AvlPageEdge, type AvlPageProps, AvlPersistence, type AvlPersistenceKind, type AvlPersistenceProps, AvlSExpr, type AvlSExprProps, AvlSlotMap, type AvlSlotMapProps, type AvlSlotMapSlot, AvlState, AvlStateMachine, type AvlStateMachineProps, type AvlStateMachineState, type AvlStateMachineTransition, type AvlStateProps, AvlSwimLane, type AvlSwimLaneProps, AvlTrait, type AvlTraitProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransition, AvlTransitionEdge, type AvlTransitionEdgeData, AvlTransitionLane, type AvlTransitionLaneProps, type AvlTransitionProps, AvlTransitionScene, type AvlTransitionSceneProps, type BehaviorCanvasEntry, BehaviorComposeNode, type BehaviorComposeNodeData, type BehaviorGlyphChild, type BehaviorGlyphConnection, type BehaviorLevel, type BehaviorRegistryRecord, BehaviorView, type BehaviorWireEdgeData, CONNECTION_COLORS, type ComposeViewLevel, type ConnectableEvent, type CrossLink, DOMAIN_COLORS, DetailView, EFFECT_CATEGORY_COLORS, EFFECT_TYPE_TO_CATEGORY, type EffectCategory, type ElkLayout, type EventEdgeData, EventFlowEdge, FlowCanvas, type FlowCanvasProps, type GlyphSize, type LayoutEdge, type LayoutNode, MiniStateMachine, ModuleCard, OrbInspector, type OrbInspectorProps, OrbPreviewNode, type OrbitalLevelData, type PatternEventSource, type PreviewNodeData, type RenderUIEntry, STATE_COLORS, type StateRole, SystemNode, type TraitLevelData, type TransitionLevelData, type ViewLevel, ZOOM_BAND_THRESHOLDS, type ZoomBand, ZoomBandContext, ZoomBreadcrumb, type ZoomBreadcrumbProps, ZoomLegend, type ZoomLegendProps, type ZoomLevel, arcPath, behaviorsToComposeGraph, computeTraitLayout, computeZoomBand, curveControlPoint, edgePath, getStateRole, gridPositions, orbitalToExpandedGraph, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, radialPositions, registryEntryToCanvasEntry, ringPositions, schemaToFlowGraph, schemaToOverviewGraph, useZoomBand, zoomProgress };
|
package/dist/avl/index.d.ts
CHANGED
|
@@ -59,4 +59,4 @@ export { type ComposeViewLevel, type BehaviorComposeNodeData, type BehaviorWireE
|
|
|
59
59
|
export { BehaviorComposeNode } from '../components/molecules/avl/BehaviorComposeNode';
|
|
60
60
|
export { behaviorsToComposeGraph, registryEntryToCanvasEntry, type BehaviorRegistryRecord } from '../components/molecules/avl/avl-behavior-compose-converter';
|
|
61
61
|
export { OrbInspector, type OrbInspectorProps } from '../components/organisms/avl/OrbInspector';
|
|
62
|
-
export { FlowCanvas, type FlowCanvasProps, ZoomBreadcrumb, type ZoomBreadcrumbProps, ZoomLegend, type ZoomLegendProps, AvlCosmicZoom, type AvlCosmicZoomProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransitionScene, type AvlTransitionSceneProps, AvlClickTarget, type AvlClickTargetProps, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, type ApplicationLevelData, type OrbitalLevelData, type TraitLevelData, type TransitionLevelData, type CrossLink, type ZoomLevel, } from '../components/organisms/avl';
|
|
62
|
+
export { FlowCanvas, type FlowCanvasProps, ZoomBreadcrumb, type ZoomBreadcrumbProps, ZoomLegend, type ZoomLegendProps, AvlCosmicZoom, type AvlCosmicZoomProps, AvlOrbitalsCosmicZoom, type AvlOrbitalsCosmicZoomProps, AvlTraitScene, type AvlTraitSceneProps, AvlTransitionScene, type AvlTransitionSceneProps, AvlClickTarget, type AvlClickTargetProps, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, type ApplicationLevelData, type OrbitalLevelData, type TraitLevelData, type TransitionLevelData, type CrossLink, type ZoomLevel, } from '../components/organisms/avl';
|
package/dist/avl/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import remarkMath from 'remark-math';
|
|
|
24
24
|
import rehypeKatex from 'rehype-katex';
|
|
25
25
|
import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism-light';
|
|
26
26
|
import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus';
|
|
27
|
-
import { orbLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
27
|
+
import { orbLanguage, loloLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
28
28
|
import langJson from 'react-syntax-highlighter/dist/esm/languages/prism/json';
|
|
29
29
|
import langJavascript from 'react-syntax-highlighter/dist/esm/languages/prism/javascript';
|
|
30
30
|
import langTypescript from 'react-syntax-highlighter/dist/esm/languages/prism/typescript';
|
|
@@ -19342,7 +19342,7 @@ var MapViewImpl = lazy(async () => {
|
|
|
19342
19342
|
shadowSize: [41, 41]
|
|
19343
19343
|
});
|
|
19344
19344
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
19345
|
-
const { useEffect: useEffect87, useRef: useRef87, useCallback:
|
|
19345
|
+
const { useEffect: useEffect87, useRef: useRef87, useCallback: useCallback124, useState: useState124 } = React125__default;
|
|
19346
19346
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
19347
19347
|
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
19348
19348
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
@@ -19386,8 +19386,8 @@ var MapViewImpl = lazy(async () => {
|
|
|
19386
19386
|
showAttribution = true
|
|
19387
19387
|
}) {
|
|
19388
19388
|
const eventBus = useEventBus3();
|
|
19389
|
-
const [clickedPosition, setClickedPosition] =
|
|
19390
|
-
const handleMapClick =
|
|
19389
|
+
const [clickedPosition, setClickedPosition] = useState124(null);
|
|
19390
|
+
const handleMapClick = useCallback124((lat, lng) => {
|
|
19391
19391
|
if (showClickedPin) {
|
|
19392
19392
|
setClickedPosition({ lat, lng });
|
|
19393
19393
|
}
|
|
@@ -19396,7 +19396,7 @@ var MapViewImpl = lazy(async () => {
|
|
|
19396
19396
|
eventBus.emit(`UI:${mapClickEvent}`, { latitude: lat, longitude: lng });
|
|
19397
19397
|
}
|
|
19398
19398
|
}, [onMapClick, mapClickEvent, eventBus, showClickedPin]);
|
|
19399
|
-
const handleMarkerClick =
|
|
19399
|
+
const handleMarkerClick = useCallback124((marker) => {
|
|
19400
19400
|
onMarkerClick?.(marker);
|
|
19401
19401
|
if (markerClickEvent) {
|
|
19402
19402
|
eventBus.emit(`UI:${markerClickEvent}`, { ...marker });
|
|
@@ -21985,6 +21985,7 @@ SyntaxHighlighter.registerLanguage("toml", langToml);
|
|
|
21985
21985
|
SyntaxHighlighter.registerLanguage("go", langGo);
|
|
21986
21986
|
SyntaxHighlighter.registerLanguage("graphql", langGraphql);
|
|
21987
21987
|
SyntaxHighlighter.registerLanguage("orb", orbLanguage);
|
|
21988
|
+
SyntaxHighlighter.registerLanguage("lolo", loloLanguage);
|
|
21988
21989
|
var orbStyleOverrides = {
|
|
21989
21990
|
"orb-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
21990
21991
|
"orb-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -22006,6 +22007,27 @@ var orbStyleOverrides = {
|
|
|
22006
22007
|
"orb-op-async": { color: ORB_COLORS.dark.async }
|
|
22007
22008
|
};
|
|
22008
22009
|
var orbStyle = { ...dark, ...orbStyleOverrides };
|
|
22010
|
+
var loloStyleOverrides = {
|
|
22011
|
+
"lolo-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
22012
|
+
"lolo-event": { color: ORB_COLORS.dark.event },
|
|
22013
|
+
"lolo-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
22014
|
+
"keyword": { color: ORB_COLORS.dark.loloKeyword },
|
|
22015
|
+
"lolo-constructor": { color: ORB_COLORS.dark.loloConstructor },
|
|
22016
|
+
"lolo-arrow": { color: ORB_COLORS.dark.loloArrow },
|
|
22017
|
+
"lolo-reference": { color: ORB_COLORS.dark.loloReference },
|
|
22018
|
+
"lolo-type": { color: ORB_COLORS.dark.fieldType },
|
|
22019
|
+
"lolo-persistence": { color: ORB_COLORS.dark.persistence },
|
|
22020
|
+
"lolo-unknown-op": { color: ORB_COLORS.dark.error },
|
|
22021
|
+
"lolo-op-arithmetic": { color: ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
22022
|
+
"lolo-op-comparison": { color: ORB_COLORS.dark.comparison },
|
|
22023
|
+
"lolo-op-logic": { color: ORB_COLORS.dark.logic },
|
|
22024
|
+
"lolo-op-string": { color: ORB_COLORS.dark.string },
|
|
22025
|
+
"lolo-op-collection": { color: ORB_COLORS.dark.collection },
|
|
22026
|
+
"lolo-op-time": { color: ORB_COLORS.dark.time },
|
|
22027
|
+
"lolo-op-control": { color: ORB_COLORS.dark.control },
|
|
22028
|
+
"lolo-op-async": { color: ORB_COLORS.dark.async }
|
|
22029
|
+
};
|
|
22030
|
+
var loloStyle = { ...dark, ...loloStyleOverrides };
|
|
22009
22031
|
function computeFoldRegions(code) {
|
|
22010
22032
|
const lines = code.split("\n");
|
|
22011
22033
|
const regions = [];
|
|
@@ -22054,7 +22076,8 @@ var CodeBlock = React125__default.memo(
|
|
|
22054
22076
|
}) => {
|
|
22055
22077
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
22056
22078
|
const isOrb = language === "orb";
|
|
22057
|
-
const
|
|
22079
|
+
const isLolo = language === "lolo";
|
|
22080
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark;
|
|
22058
22081
|
const eventBus = useEventBus();
|
|
22059
22082
|
const { t: _t } = useTranslate();
|
|
22060
22083
|
const scrollRef = useRef(null);
|
|
@@ -48971,6 +48994,319 @@ var AvlCosmicZoom = (props) => {
|
|
|
48971
48994
|
);
|
|
48972
48995
|
};
|
|
48973
48996
|
AvlCosmicZoom.displayName = "AvlCosmicZoom";
|
|
48997
|
+
|
|
48998
|
+
// components/organisms/avl/AvlOrbitalsCosmicZoom.tsx
|
|
48999
|
+
init_avl_schema_parser();
|
|
49000
|
+
init_Box();
|
|
49001
|
+
init_Typography();
|
|
49002
|
+
var UNIT_DISPLAY_W = 240;
|
|
49003
|
+
var UNIT_DISPLAY_H = 160;
|
|
49004
|
+
function layoutOrbitals(count, containerW, containerH) {
|
|
49005
|
+
if (count === 0) return [];
|
|
49006
|
+
if (count === 1) return [{ cx: containerW / 2, cy: containerH / 2 }];
|
|
49007
|
+
const cols = Math.min(count, Math.ceil(Math.sqrt(count)));
|
|
49008
|
+
const rows = Math.ceil(count / cols);
|
|
49009
|
+
const cellW = containerW / (cols + 0.3);
|
|
49010
|
+
const cellH = containerH / (rows + 0.3);
|
|
49011
|
+
const originX = (containerW - cols * cellW) / 2 + cellW / 2;
|
|
49012
|
+
const originY = (containerH - rows * cellH) / 2 + cellH / 2;
|
|
49013
|
+
return Array.from({ length: count }, (_, i) => ({
|
|
49014
|
+
cx: originX + i % cols * cellW,
|
|
49015
|
+
cy: originY + Math.floor(i / cols) * cellH
|
|
49016
|
+
}));
|
|
49017
|
+
}
|
|
49018
|
+
var avlOczWireId = 0;
|
|
49019
|
+
var EventWireOverlay = ({
|
|
49020
|
+
orbitalViews,
|
|
49021
|
+
crossLinks,
|
|
49022
|
+
color,
|
|
49023
|
+
animated,
|
|
49024
|
+
containerW,
|
|
49025
|
+
containerH
|
|
49026
|
+
}) => {
|
|
49027
|
+
const ids = React125__default.useMemo(() => {
|
|
49028
|
+
avlOczWireId += 1;
|
|
49029
|
+
return { arrow: `avl-ocz-wire-${avlOczWireId}-arrow` };
|
|
49030
|
+
}, []);
|
|
49031
|
+
const posMap = useMemo(() => {
|
|
49032
|
+
const m = /* @__PURE__ */ new Map();
|
|
49033
|
+
for (const ov of orbitalViews) m.set(ov.name, { cx: ov.cx, cy: ov.cy });
|
|
49034
|
+
return m;
|
|
49035
|
+
}, [orbitalViews]);
|
|
49036
|
+
const wiresByPair = useMemo(() => {
|
|
49037
|
+
const map = /* @__PURE__ */ new Map();
|
|
49038
|
+
for (const link of crossLinks) {
|
|
49039
|
+
const key = `${link.emitterOrbital}__${link.listenerOrbital}`;
|
|
49040
|
+
const arr = map.get(key) ?? [];
|
|
49041
|
+
arr.push(link);
|
|
49042
|
+
map.set(key, arr);
|
|
49043
|
+
}
|
|
49044
|
+
return map;
|
|
49045
|
+
}, [crossLinks]);
|
|
49046
|
+
const orbitalR = UNIT_DISPLAY_W * 0.38;
|
|
49047
|
+
return /* @__PURE__ */ jsxs(
|
|
49048
|
+
"svg",
|
|
49049
|
+
{
|
|
49050
|
+
style: {
|
|
49051
|
+
position: "absolute",
|
|
49052
|
+
inset: 0,
|
|
49053
|
+
width: "100%",
|
|
49054
|
+
height: "100%",
|
|
49055
|
+
pointerEvents: "none",
|
|
49056
|
+
overflow: "visible"
|
|
49057
|
+
},
|
|
49058
|
+
viewBox: `0 0 ${containerW} ${containerH}`,
|
|
49059
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
49060
|
+
children: [
|
|
49061
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx(
|
|
49062
|
+
"marker",
|
|
49063
|
+
{
|
|
49064
|
+
id: ids.arrow,
|
|
49065
|
+
markerWidth: "8",
|
|
49066
|
+
markerHeight: "6",
|
|
49067
|
+
refX: "7",
|
|
49068
|
+
refY: "3",
|
|
49069
|
+
orient: "auto",
|
|
49070
|
+
markerUnits: "strokeWidth",
|
|
49071
|
+
children: /* @__PURE__ */ jsx("path", { d: "M0,0 L8,3 L0,6 Z", fill: color, opacity: 0.6 })
|
|
49072
|
+
}
|
|
49073
|
+
) }),
|
|
49074
|
+
animated && /* @__PURE__ */ jsx("style", { children: `
|
|
49075
|
+
@keyframes avl-ocz-flow {
|
|
49076
|
+
from { stroke-dashoffset: 20; }
|
|
49077
|
+
to { stroke-dashoffset: 0; }
|
|
49078
|
+
}
|
|
49079
|
+
` }),
|
|
49080
|
+
Array.from(wiresByPair.entries()).map(
|
|
49081
|
+
([pairKey, links]) => links.map((link, wireIdx) => {
|
|
49082
|
+
const fromPos = posMap.get(link.emitterOrbital);
|
|
49083
|
+
const toPos = posMap.get(link.listenerOrbital);
|
|
49084
|
+
if (!fromPos || !toPos) return null;
|
|
49085
|
+
const dx = toPos.cx - fromPos.cx;
|
|
49086
|
+
const dy = toPos.cy - fromPos.cy;
|
|
49087
|
+
const dist = Math.sqrt(dx * dx + dy * dy) || 1;
|
|
49088
|
+
const nx = dx / dist;
|
|
49089
|
+
const ny = dy / dist;
|
|
49090
|
+
const x1 = fromPos.cx + nx * orbitalR;
|
|
49091
|
+
const y1 = fromPos.cy + ny * orbitalR;
|
|
49092
|
+
const x2 = toPos.cx - nx * (orbitalR + 6);
|
|
49093
|
+
const y2 = toPos.cy - ny * (orbitalR + 6);
|
|
49094
|
+
const offset = 25 + wireIdx * 18;
|
|
49095
|
+
const { cpx, cpy } = curveControlPoint(x1, y1, x2, y2, offset);
|
|
49096
|
+
const pathD = `M${x1},${y1} Q${cpx},${cpy} ${x2},${y2}`;
|
|
49097
|
+
const t = 0.5;
|
|
49098
|
+
const lx = (1 - t) * (1 - t) * x1 + 2 * (1 - t) * t * cpx + t * t * x2;
|
|
49099
|
+
const ly = (1 - t) * (1 - t) * y1 + 2 * (1 - t) * t * cpy + t * t * y2;
|
|
49100
|
+
const labelW = link.eventName.length * 5.5 + 12;
|
|
49101
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
49102
|
+
/* @__PURE__ */ jsx(
|
|
49103
|
+
"path",
|
|
49104
|
+
{
|
|
49105
|
+
d: pathD,
|
|
49106
|
+
fill: "none",
|
|
49107
|
+
stroke: color,
|
|
49108
|
+
strokeWidth: 1.2,
|
|
49109
|
+
strokeDasharray: animated ? "6 4" : "4 3",
|
|
49110
|
+
markerEnd: `url(#${ids.arrow})`,
|
|
49111
|
+
opacity: 0.5,
|
|
49112
|
+
style: animated ? { animation: "avl-ocz-flow 1.5s linear infinite" } : void 0
|
|
49113
|
+
}
|
|
49114
|
+
),
|
|
49115
|
+
/* @__PURE__ */ jsx(
|
|
49116
|
+
"rect",
|
|
49117
|
+
{
|
|
49118
|
+
x: lx - labelW / 2,
|
|
49119
|
+
y: ly - 8,
|
|
49120
|
+
width: labelW,
|
|
49121
|
+
height: 14,
|
|
49122
|
+
rx: 3,
|
|
49123
|
+
fill: "var(--color-background, #fff)",
|
|
49124
|
+
stroke: color,
|
|
49125
|
+
strokeWidth: 0.5,
|
|
49126
|
+
opacity: 0.9
|
|
49127
|
+
}
|
|
49128
|
+
),
|
|
49129
|
+
/* @__PURE__ */ jsx(
|
|
49130
|
+
"text",
|
|
49131
|
+
{
|
|
49132
|
+
x: lx,
|
|
49133
|
+
y: ly + 3,
|
|
49134
|
+
textAnchor: "middle",
|
|
49135
|
+
fill: color,
|
|
49136
|
+
fontSize: 7,
|
|
49137
|
+
fontWeight: 600,
|
|
49138
|
+
fontFamily: "monospace",
|
|
49139
|
+
opacity: 0.8,
|
|
49140
|
+
children: link.eventName
|
|
49141
|
+
}
|
|
49142
|
+
)
|
|
49143
|
+
] }, `${pairKey}-${wireIdx}`);
|
|
49144
|
+
})
|
|
49145
|
+
)
|
|
49146
|
+
]
|
|
49147
|
+
}
|
|
49148
|
+
);
|
|
49149
|
+
};
|
|
49150
|
+
var InfoPanel = ({ view, crossLinks, color }) => {
|
|
49151
|
+
const emitsOut = crossLinks.filter((l) => l.emitterOrbital === view.name);
|
|
49152
|
+
const listensIn = crossLinks.filter((l) => l.listenerOrbital === view.name);
|
|
49153
|
+
return /* @__PURE__ */ jsxs(
|
|
49154
|
+
Box,
|
|
49155
|
+
{
|
|
49156
|
+
position: "absolute",
|
|
49157
|
+
rounded: "lg",
|
|
49158
|
+
paddingX: "md",
|
|
49159
|
+
paddingY: "sm",
|
|
49160
|
+
bg: "overlay",
|
|
49161
|
+
style: {
|
|
49162
|
+
left: view.cx - 120,
|
|
49163
|
+
top: view.cy + UNIT_DISPLAY_H / 2 + 4,
|
|
49164
|
+
width: 240,
|
|
49165
|
+
border: `1px solid ${color}`,
|
|
49166
|
+
zIndex: 20,
|
|
49167
|
+
pointerEvents: "none"
|
|
49168
|
+
},
|
|
49169
|
+
children: [
|
|
49170
|
+
/* @__PURE__ */ jsx(Typography, { weight: "semibold", style: { marginBottom: 4, color }, children: view.name }),
|
|
49171
|
+
/* @__PURE__ */ jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49172
|
+
"Entity: ",
|
|
49173
|
+
view.entityName,
|
|
49174
|
+
" (",
|
|
49175
|
+
view.fieldCount,
|
|
49176
|
+
" fields, ",
|
|
49177
|
+
view.persistence,
|
|
49178
|
+
")"
|
|
49179
|
+
] }),
|
|
49180
|
+
/* @__PURE__ */ jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49181
|
+
"Traits: ",
|
|
49182
|
+
view.traits.map((t) => t.name).join(", ") || "none"
|
|
49183
|
+
] }),
|
|
49184
|
+
view.pages.length > 0 && /* @__PURE__ */ jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49185
|
+
"Pages: ",
|
|
49186
|
+
view.pages.map((p2) => p2.name).join(", ")
|
|
49187
|
+
] }),
|
|
49188
|
+
emitsOut.length > 0 && /* @__PURE__ */ jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49189
|
+
"Emits \u2192 ",
|
|
49190
|
+
emitsOut.map((l) => `${l.eventName} \u2192 ${l.listenerOrbital}`).join(", ")
|
|
49191
|
+
] }),
|
|
49192
|
+
listensIn.length > 0 && /* @__PURE__ */ jsxs(Text, { variant: "small", style: { opacity: 0.7, color }, children: [
|
|
49193
|
+
"Listens \u2190 ",
|
|
49194
|
+
listensIn.map((l) => `${l.eventName} \u2190 ${l.emitterOrbital}`).join(", ")
|
|
49195
|
+
] })
|
|
49196
|
+
]
|
|
49197
|
+
}
|
|
49198
|
+
);
|
|
49199
|
+
};
|
|
49200
|
+
var AvlOrbitalsCosmicZoom = ({
|
|
49201
|
+
schema: schemaProp,
|
|
49202
|
+
className,
|
|
49203
|
+
color = "var(--color-primary, #4A90D9)",
|
|
49204
|
+
animated = true,
|
|
49205
|
+
width = "100%",
|
|
49206
|
+
height = 450
|
|
49207
|
+
}) => {
|
|
49208
|
+
const parsedSchema = useMemo(() => {
|
|
49209
|
+
if (typeof schemaProp === "string") return JSON.parse(schemaProp);
|
|
49210
|
+
return schemaProp;
|
|
49211
|
+
}, [schemaProp]);
|
|
49212
|
+
const { orbitals, crossLinks } = useMemo(
|
|
49213
|
+
() => parseApplicationLevel(parsedSchema),
|
|
49214
|
+
[parsedSchema]
|
|
49215
|
+
);
|
|
49216
|
+
const containerW = typeof width === "number" ? width : 800;
|
|
49217
|
+
const containerH = typeof height === "number" ? height : 450;
|
|
49218
|
+
const positions = useMemo(
|
|
49219
|
+
() => layoutOrbitals(orbitals.length, containerW, containerH),
|
|
49220
|
+
[orbitals.length, containerW, containerH]
|
|
49221
|
+
);
|
|
49222
|
+
const orbitalViews = useMemo(
|
|
49223
|
+
() => orbitals.map((o, i) => ({
|
|
49224
|
+
name: o.name,
|
|
49225
|
+
entityName: o.entityName,
|
|
49226
|
+
fieldCount: o.fieldCount,
|
|
49227
|
+
persistence: o.persistence || "persistent",
|
|
49228
|
+
traits: o.traitNames.map((n) => ({ name: n })),
|
|
49229
|
+
pages: o.pageNames.map((n) => ({ name: n })),
|
|
49230
|
+
cx: positions[i]?.cx ?? 0,
|
|
49231
|
+
cy: positions[i]?.cy ?? 0
|
|
49232
|
+
})),
|
|
49233
|
+
[orbitals, positions]
|
|
49234
|
+
);
|
|
49235
|
+
const [selected, setSelected] = useState(null);
|
|
49236
|
+
const handleSelect = useCallback(
|
|
49237
|
+
(name) => setSelected((prev) => prev === name ? null : name),
|
|
49238
|
+
[]
|
|
49239
|
+
);
|
|
49240
|
+
const selectedView = orbitalViews.find((o) => o.name === selected);
|
|
49241
|
+
return /* @__PURE__ */ jsxs(
|
|
49242
|
+
Box,
|
|
49243
|
+
{
|
|
49244
|
+
className,
|
|
49245
|
+
position: "relative",
|
|
49246
|
+
overflow: "visible",
|
|
49247
|
+
style: { width, height: containerH },
|
|
49248
|
+
children: [
|
|
49249
|
+
/* @__PURE__ */ jsx(
|
|
49250
|
+
EventWireOverlay,
|
|
49251
|
+
{
|
|
49252
|
+
orbitalViews,
|
|
49253
|
+
crossLinks,
|
|
49254
|
+
color,
|
|
49255
|
+
animated,
|
|
49256
|
+
containerW,
|
|
49257
|
+
containerH
|
|
49258
|
+
}
|
|
49259
|
+
),
|
|
49260
|
+
orbitalViews.map((view) => /* @__PURE__ */ jsx(
|
|
49261
|
+
Box,
|
|
49262
|
+
{
|
|
49263
|
+
role: "button",
|
|
49264
|
+
tabIndex: 0,
|
|
49265
|
+
onClick: () => handleSelect(view.name),
|
|
49266
|
+
onKeyDown: (e) => {
|
|
49267
|
+
if (e.key === "Enter" || e.key === " ") handleSelect(view.name);
|
|
49268
|
+
},
|
|
49269
|
+
"aria-label": `Orbital: ${view.name}`,
|
|
49270
|
+
position: "absolute",
|
|
49271
|
+
style: {
|
|
49272
|
+
left: view.cx - UNIT_DISPLAY_W / 2,
|
|
49273
|
+
top: view.cy - UNIT_DISPLAY_H / 2,
|
|
49274
|
+
width: UNIT_DISPLAY_W,
|
|
49275
|
+
height: UNIT_DISPLAY_H,
|
|
49276
|
+
cursor: "pointer",
|
|
49277
|
+
transition: "transform 0.2s ease, filter 0.2s ease",
|
|
49278
|
+
transform: selected === view.name ? "scale(1.05)" : "scale(1)",
|
|
49279
|
+
filter: selected && selected !== view.name ? "opacity(0.5)" : "none",
|
|
49280
|
+
zIndex: selected === view.name ? 10 : 1
|
|
49281
|
+
},
|
|
49282
|
+
children: /* @__PURE__ */ jsx(
|
|
49283
|
+
AvlOrbitalUnit,
|
|
49284
|
+
{
|
|
49285
|
+
entityName: view.entityName,
|
|
49286
|
+
fields: view.fieldCount,
|
|
49287
|
+
persistence: view.persistence,
|
|
49288
|
+
traits: view.traits,
|
|
49289
|
+
pages: view.pages,
|
|
49290
|
+
color,
|
|
49291
|
+
animated: animated && selected === view.name
|
|
49292
|
+
}
|
|
49293
|
+
)
|
|
49294
|
+
},
|
|
49295
|
+
view.name
|
|
49296
|
+
)),
|
|
49297
|
+
selectedView && /* @__PURE__ */ jsx(
|
|
49298
|
+
InfoPanel,
|
|
49299
|
+
{
|
|
49300
|
+
view: selectedView,
|
|
49301
|
+
crossLinks,
|
|
49302
|
+
color
|
|
49303
|
+
}
|
|
49304
|
+
)
|
|
49305
|
+
]
|
|
49306
|
+
}
|
|
49307
|
+
);
|
|
49308
|
+
};
|
|
49309
|
+
AvlOrbitalsCosmicZoom.displayName = "AvlOrbitalsCosmicZoom";
|
|
48974
49310
|
init_types();
|
|
48975
49311
|
var SWIM_GUTTER2 = 120;
|
|
48976
49312
|
var CENTER_W2 = 360;
|
|
@@ -49386,4 +49722,4 @@ AvlClickTarget.displayName = "AvlClickTarget";
|
|
|
49386
49722
|
init_avl_schema_parser();
|
|
49387
49723
|
init_avl_zoom_state();
|
|
49388
49724
|
|
|
49389
|
-
export { AVL_FIELD_TYPE_SHAPES, AVL_OPERATOR_COLORS, AvlApplication, AvlBackwardEdge, AvlBehaviorGlyph, AvlBinding, AvlBindingEdge, AvlBindingRef, AvlClickTarget, AvlClosedCircuit, AvlCosmicZoom, AvlEffect, AvlEmitListen, AvlEntity, AvlEvent, AvlEventWireEdge, AvlExprTree, AvlField, AvlFieldType, AvlGuard, AvlLiteral, AvlOperator, AvlOrbital, AvlOrbitalNode, AvlOrbitalUnit, AvlPage, AvlPageEdge, AvlPersistence, AvlSExpr, AvlSlotMap, AvlState, AvlStateMachine, AvlSwimLane, AvlTrait, AvlTraitScene, AvlTransition, AvlTransitionEdge, AvlTransitionLane, AvlTransitionScene, BehaviorComposeNode, BehaviorView, CONNECTION_COLORS, DOMAIN_COLORS, DetailView, EFFECT_CATEGORY_COLORS, EFFECT_TYPE_TO_CATEGORY, EventFlowEdge, FlowCanvas, MiniStateMachine, ModuleCard, OrbInspector, OrbPreviewNode, STATE_COLORS, SystemNode, ZOOM_BAND_THRESHOLDS, ZoomBandContext, ZoomBreadcrumb, ZoomLegend, arcPath, behaviorsToComposeGraph, computeTraitLayout, computeZoomBand, curveControlPoint, edgePath, getStateRole, gridPositions, orbitalToExpandedGraph, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, radialPositions, registryEntryToCanvasEntry, ringPositions, schemaToFlowGraph, schemaToOverviewGraph, useZoomBand, zoomProgress };
|
|
49725
|
+
export { AVL_FIELD_TYPE_SHAPES, AVL_OPERATOR_COLORS, AvlApplication, AvlBackwardEdge, AvlBehaviorGlyph, AvlBinding, AvlBindingEdge, AvlBindingRef, AvlClickTarget, AvlClosedCircuit, AvlCosmicZoom, AvlEffect, AvlEmitListen, AvlEntity, AvlEvent, AvlEventWireEdge, AvlExprTree, AvlField, AvlFieldType, AvlGuard, AvlLiteral, AvlOperator, AvlOrbital, AvlOrbitalNode, AvlOrbitalUnit, AvlOrbitalsCosmicZoom, AvlPage, AvlPageEdge, AvlPersistence, AvlSExpr, AvlSlotMap, AvlState, AvlStateMachine, AvlSwimLane, AvlTrait, AvlTraitScene, AvlTransition, AvlTransitionEdge, AvlTransitionLane, AvlTransitionScene, BehaviorComposeNode, BehaviorView, CONNECTION_COLORS, DOMAIN_COLORS, DetailView, EFFECT_CATEGORY_COLORS, EFFECT_TYPE_TO_CATEGORY, EventFlowEdge, FlowCanvas, MiniStateMachine, ModuleCard, OrbInspector, OrbPreviewNode, STATE_COLORS, SystemNode, ZOOM_BAND_THRESHOLDS, ZoomBandContext, ZoomBreadcrumb, ZoomLegend, arcPath, behaviorsToComposeGraph, computeTraitLayout, computeZoomBand, curveControlPoint, edgePath, getStateRole, gridPositions, orbitalToExpandedGraph, parseApplicationLevel, parseOrbitalLevel, parseTraitLevel, parseTransitionLevel, radialPositions, registryEntryToCanvasEntry, ringPositions, schemaToFlowGraph, schemaToOverviewGraph, useZoomBand, zoomProgress };
|
|
@@ -9122,6 +9122,7 @@ SyntaxHighlighter__default.default.registerLanguage("toml", langToml__default.de
|
|
|
9122
9122
|
SyntaxHighlighter__default.default.registerLanguage("go", langGo__default.default);
|
|
9123
9123
|
SyntaxHighlighter__default.default.registerLanguage("graphql", langGraphql__default.default);
|
|
9124
9124
|
SyntaxHighlighter__default.default.registerLanguage("orb", syntax.orbLanguage);
|
|
9125
|
+
SyntaxHighlighter__default.default.registerLanguage("lolo", syntax.loloLanguage);
|
|
9125
9126
|
var orbStyleOverrides = {
|
|
9126
9127
|
"orb-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9127
9128
|
"orb-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -9143,6 +9144,27 @@ var orbStyleOverrides = {
|
|
|
9143
9144
|
"orb-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
9144
9145
|
};
|
|
9145
9146
|
var orbStyle = { ...dark__default.default, ...orbStyleOverrides };
|
|
9147
|
+
var loloStyleOverrides = {
|
|
9148
|
+
"lolo-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9149
|
+
"lolo-event": { color: syntax.ORB_COLORS.dark.event },
|
|
9150
|
+
"lolo-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
9151
|
+
"keyword": { color: syntax.ORB_COLORS.dark.loloKeyword },
|
|
9152
|
+
"lolo-constructor": { color: syntax.ORB_COLORS.dark.loloConstructor },
|
|
9153
|
+
"lolo-arrow": { color: syntax.ORB_COLORS.dark.loloArrow },
|
|
9154
|
+
"lolo-reference": { color: syntax.ORB_COLORS.dark.loloReference },
|
|
9155
|
+
"lolo-type": { color: syntax.ORB_COLORS.dark.fieldType },
|
|
9156
|
+
"lolo-persistence": { color: syntax.ORB_COLORS.dark.persistence },
|
|
9157
|
+
"lolo-unknown-op": { color: syntax.ORB_COLORS.dark.error },
|
|
9158
|
+
"lolo-op-arithmetic": { color: syntax.ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
9159
|
+
"lolo-op-comparison": { color: syntax.ORB_COLORS.dark.comparison },
|
|
9160
|
+
"lolo-op-logic": { color: syntax.ORB_COLORS.dark.logic },
|
|
9161
|
+
"lolo-op-string": { color: syntax.ORB_COLORS.dark.string },
|
|
9162
|
+
"lolo-op-collection": { color: syntax.ORB_COLORS.dark.collection },
|
|
9163
|
+
"lolo-op-time": { color: syntax.ORB_COLORS.dark.time },
|
|
9164
|
+
"lolo-op-control": { color: syntax.ORB_COLORS.dark.control },
|
|
9165
|
+
"lolo-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
9166
|
+
};
|
|
9167
|
+
var loloStyle = { ...dark__default.default, ...loloStyleOverrides };
|
|
9146
9168
|
function computeFoldRegions(code) {
|
|
9147
9169
|
const lines = code.split("\n");
|
|
9148
9170
|
const regions = [];
|
|
@@ -9191,7 +9213,8 @@ var CodeBlock = React90__namespace.default.memo(
|
|
|
9191
9213
|
}) => {
|
|
9192
9214
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
9193
9215
|
const isOrb = language === "orb";
|
|
9194
|
-
const
|
|
9216
|
+
const isLolo = language === "lolo";
|
|
9217
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
|
|
9195
9218
|
const eventBus = useEventBus();
|
|
9196
9219
|
const { t: _t } = useTranslate();
|
|
9197
9220
|
const scrollRef = React90.useRef(null);
|
package/dist/components/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import remarkMath from 'remark-math';
|
|
|
14
14
|
import rehypeKatex from 'rehype-katex';
|
|
15
15
|
import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism-light';
|
|
16
16
|
import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus';
|
|
17
|
-
import { orbLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
17
|
+
import { orbLanguage, loloLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
18
18
|
import langJson from 'react-syntax-highlighter/dist/esm/languages/prism/json';
|
|
19
19
|
import langJavascript from 'react-syntax-highlighter/dist/esm/languages/prism/javascript';
|
|
20
20
|
import langTypescript from 'react-syntax-highlighter/dist/esm/languages/prism/typescript';
|
|
@@ -9077,6 +9077,7 @@ SyntaxHighlighter.registerLanguage("toml", langToml);
|
|
|
9077
9077
|
SyntaxHighlighter.registerLanguage("go", langGo);
|
|
9078
9078
|
SyntaxHighlighter.registerLanguage("graphql", langGraphql);
|
|
9079
9079
|
SyntaxHighlighter.registerLanguage("orb", orbLanguage);
|
|
9080
|
+
SyntaxHighlighter.registerLanguage("lolo", loloLanguage);
|
|
9080
9081
|
var orbStyleOverrides = {
|
|
9081
9082
|
"orb-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9082
9083
|
"orb-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -9098,6 +9099,27 @@ var orbStyleOverrides = {
|
|
|
9098
9099
|
"orb-op-async": { color: ORB_COLORS.dark.async }
|
|
9099
9100
|
};
|
|
9100
9101
|
var orbStyle = { ...dark, ...orbStyleOverrides };
|
|
9102
|
+
var loloStyleOverrides = {
|
|
9103
|
+
"lolo-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9104
|
+
"lolo-event": { color: ORB_COLORS.dark.event },
|
|
9105
|
+
"lolo-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
9106
|
+
"keyword": { color: ORB_COLORS.dark.loloKeyword },
|
|
9107
|
+
"lolo-constructor": { color: ORB_COLORS.dark.loloConstructor },
|
|
9108
|
+
"lolo-arrow": { color: ORB_COLORS.dark.loloArrow },
|
|
9109
|
+
"lolo-reference": { color: ORB_COLORS.dark.loloReference },
|
|
9110
|
+
"lolo-type": { color: ORB_COLORS.dark.fieldType },
|
|
9111
|
+
"lolo-persistence": { color: ORB_COLORS.dark.persistence },
|
|
9112
|
+
"lolo-unknown-op": { color: ORB_COLORS.dark.error },
|
|
9113
|
+
"lolo-op-arithmetic": { color: ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
9114
|
+
"lolo-op-comparison": { color: ORB_COLORS.dark.comparison },
|
|
9115
|
+
"lolo-op-logic": { color: ORB_COLORS.dark.logic },
|
|
9116
|
+
"lolo-op-string": { color: ORB_COLORS.dark.string },
|
|
9117
|
+
"lolo-op-collection": { color: ORB_COLORS.dark.collection },
|
|
9118
|
+
"lolo-op-time": { color: ORB_COLORS.dark.time },
|
|
9119
|
+
"lolo-op-control": { color: ORB_COLORS.dark.control },
|
|
9120
|
+
"lolo-op-async": { color: ORB_COLORS.dark.async }
|
|
9121
|
+
};
|
|
9122
|
+
var loloStyle = { ...dark, ...loloStyleOverrides };
|
|
9101
9123
|
function computeFoldRegions(code) {
|
|
9102
9124
|
const lines = code.split("\n");
|
|
9103
9125
|
const regions = [];
|
|
@@ -9146,7 +9168,8 @@ var CodeBlock = React90__default.memo(
|
|
|
9146
9168
|
}) => {
|
|
9147
9169
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
9148
9170
|
const isOrb = language === "orb";
|
|
9149
|
-
const
|
|
9171
|
+
const isLolo = language === "lolo";
|
|
9172
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark;
|
|
9150
9173
|
const eventBus = useEventBus();
|
|
9151
9174
|
const { t: _t } = useTranslate();
|
|
9152
9175
|
const scrollRef = useRef(null);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AvlOrbitalsCosmicZoom — Orbital Interaction Visualization
|
|
3
|
+
*
|
|
4
|
+
* Composed organism: renders AvlOrbitalUnit molecules positioned on a canvas,
|
|
5
|
+
* connected by cross-orbital event wire arrows. No React Flow dependency.
|
|
6
|
+
* Designed for documentation use.
|
|
7
|
+
*
|
|
8
|
+
* Composition:
|
|
9
|
+
* - AvlOrbitalUnit (molecule) for each orbital
|
|
10
|
+
* - SVG overlay for event wires between orbitals
|
|
11
|
+
* - Click to select an orbital and show info panel
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
import React from 'react';
|
|
16
|
+
import type { OrbitalSchema } from '@almadar/core';
|
|
17
|
+
export interface AvlOrbitalsCosmicZoomProps {
|
|
18
|
+
/** The orbital schema (parsed object or JSON string) */
|
|
19
|
+
schema: OrbitalSchema | string;
|
|
20
|
+
/** CSS class for the outer container */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Primary color for the visualization */
|
|
23
|
+
color?: string;
|
|
24
|
+
/** Enable animations (default: true) */
|
|
25
|
+
animated?: boolean;
|
|
26
|
+
/** Container width */
|
|
27
|
+
width?: number | string;
|
|
28
|
+
/** Container height */
|
|
29
|
+
height?: number | string;
|
|
30
|
+
}
|
|
31
|
+
export declare const AvlOrbitalsCosmicZoom: React.FC<AvlOrbitalsCosmicZoomProps>;
|
|
@@ -10,6 +10,7 @@ export { OrbInspector, type OrbInspectorProps } from './OrbInspector';
|
|
|
10
10
|
export { ZoomBreadcrumb, type ZoomBreadcrumbProps } from './ZoomBreadcrumb';
|
|
11
11
|
export { ZoomLegend, type ZoomLegendProps } from './ZoomLegend';
|
|
12
12
|
export { AvlCosmicZoom, type AvlCosmicZoomProps } from './AvlCosmicZoom';
|
|
13
|
+
export { AvlOrbitalsCosmicZoom, type AvlOrbitalsCosmicZoomProps } from './AvlOrbitalsCosmicZoom';
|
|
13
14
|
export { AvlTraitScene, type AvlTraitSceneProps } from './AvlTraitScene';
|
|
14
15
|
export { AvlTransitionScene, type AvlTransitionSceneProps } from './AvlTransitionScene';
|
|
15
16
|
export { AvlClickTarget, type AvlClickTargetProps } from './AvlClickTarget';
|
package/dist/providers/index.cjs
CHANGED
|
@@ -4007,6 +4007,7 @@ SyntaxHighlighter__default.default.registerLanguage("toml", langToml__default.de
|
|
|
4007
4007
|
SyntaxHighlighter__default.default.registerLanguage("go", langGo__default.default);
|
|
4008
4008
|
SyntaxHighlighter__default.default.registerLanguage("graphql", langGraphql__default.default);
|
|
4009
4009
|
SyntaxHighlighter__default.default.registerLanguage("orb", syntax.orbLanguage);
|
|
4010
|
+
SyntaxHighlighter__default.default.registerLanguage("lolo", syntax.loloLanguage);
|
|
4010
4011
|
var orbStyleOverrides = {
|
|
4011
4012
|
"orb-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
4012
4013
|
"orb-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -4028,6 +4029,27 @@ var orbStyleOverrides = {
|
|
|
4028
4029
|
"orb-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
4029
4030
|
};
|
|
4030
4031
|
var orbStyle = { ...dark__default.default, ...orbStyleOverrides };
|
|
4032
|
+
var loloStyleOverrides = {
|
|
4033
|
+
"lolo-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
4034
|
+
"lolo-event": { color: syntax.ORB_COLORS.dark.event },
|
|
4035
|
+
"lolo-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
4036
|
+
"keyword": { color: syntax.ORB_COLORS.dark.loloKeyword },
|
|
4037
|
+
"lolo-constructor": { color: syntax.ORB_COLORS.dark.loloConstructor },
|
|
4038
|
+
"lolo-arrow": { color: syntax.ORB_COLORS.dark.loloArrow },
|
|
4039
|
+
"lolo-reference": { color: syntax.ORB_COLORS.dark.loloReference },
|
|
4040
|
+
"lolo-type": { color: syntax.ORB_COLORS.dark.fieldType },
|
|
4041
|
+
"lolo-persistence": { color: syntax.ORB_COLORS.dark.persistence },
|
|
4042
|
+
"lolo-unknown-op": { color: syntax.ORB_COLORS.dark.error },
|
|
4043
|
+
"lolo-op-arithmetic": { color: syntax.ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
4044
|
+
"lolo-op-comparison": { color: syntax.ORB_COLORS.dark.comparison },
|
|
4045
|
+
"lolo-op-logic": { color: syntax.ORB_COLORS.dark.logic },
|
|
4046
|
+
"lolo-op-string": { color: syntax.ORB_COLORS.dark.string },
|
|
4047
|
+
"lolo-op-collection": { color: syntax.ORB_COLORS.dark.collection },
|
|
4048
|
+
"lolo-op-time": { color: syntax.ORB_COLORS.dark.time },
|
|
4049
|
+
"lolo-op-control": { color: syntax.ORB_COLORS.dark.control },
|
|
4050
|
+
"lolo-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
4051
|
+
};
|
|
4052
|
+
var loloStyle = { ...dark__default.default, ...loloStyleOverrides };
|
|
4031
4053
|
function computeFoldRegions(code) {
|
|
4032
4054
|
const lines = code.split("\n");
|
|
4033
4055
|
const regions = [];
|
|
@@ -4076,7 +4098,8 @@ var CodeBlock = React114__namespace.default.memo(
|
|
|
4076
4098
|
}) => {
|
|
4077
4099
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
4078
4100
|
const isOrb = language === "orb";
|
|
4079
|
-
const
|
|
4101
|
+
const isLolo = language === "lolo";
|
|
4102
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
|
|
4080
4103
|
const eventBus = useEventBus();
|
|
4081
4104
|
const { t: _t } = useTranslate();
|
|
4082
4105
|
const scrollRef = React114.useRef(null);
|
package/dist/providers/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import remarkMath from 'remark-math';
|
|
|
17
17
|
import rehypeKatex from 'rehype-katex';
|
|
18
18
|
import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism-light';
|
|
19
19
|
import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus';
|
|
20
|
-
import { orbLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
20
|
+
import { orbLanguage, loloLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
21
21
|
import langJson from 'react-syntax-highlighter/dist/esm/languages/prism/json';
|
|
22
22
|
import langJavascript from 'react-syntax-highlighter/dist/esm/languages/prism/javascript';
|
|
23
23
|
import langTypescript from 'react-syntax-highlighter/dist/esm/languages/prism/typescript';
|
|
@@ -3962,6 +3962,7 @@ SyntaxHighlighter.registerLanguage("toml", langToml);
|
|
|
3962
3962
|
SyntaxHighlighter.registerLanguage("go", langGo);
|
|
3963
3963
|
SyntaxHighlighter.registerLanguage("graphql", langGraphql);
|
|
3964
3964
|
SyntaxHighlighter.registerLanguage("orb", orbLanguage);
|
|
3965
|
+
SyntaxHighlighter.registerLanguage("lolo", loloLanguage);
|
|
3965
3966
|
var orbStyleOverrides = {
|
|
3966
3967
|
"orb-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
3967
3968
|
"orb-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -3983,6 +3984,27 @@ var orbStyleOverrides = {
|
|
|
3983
3984
|
"orb-op-async": { color: ORB_COLORS.dark.async }
|
|
3984
3985
|
};
|
|
3985
3986
|
var orbStyle = { ...dark, ...orbStyleOverrides };
|
|
3987
|
+
var loloStyleOverrides = {
|
|
3988
|
+
"lolo-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
3989
|
+
"lolo-event": { color: ORB_COLORS.dark.event },
|
|
3990
|
+
"lolo-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
3991
|
+
"keyword": { color: ORB_COLORS.dark.loloKeyword },
|
|
3992
|
+
"lolo-constructor": { color: ORB_COLORS.dark.loloConstructor },
|
|
3993
|
+
"lolo-arrow": { color: ORB_COLORS.dark.loloArrow },
|
|
3994
|
+
"lolo-reference": { color: ORB_COLORS.dark.loloReference },
|
|
3995
|
+
"lolo-type": { color: ORB_COLORS.dark.fieldType },
|
|
3996
|
+
"lolo-persistence": { color: ORB_COLORS.dark.persistence },
|
|
3997
|
+
"lolo-unknown-op": { color: ORB_COLORS.dark.error },
|
|
3998
|
+
"lolo-op-arithmetic": { color: ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
3999
|
+
"lolo-op-comparison": { color: ORB_COLORS.dark.comparison },
|
|
4000
|
+
"lolo-op-logic": { color: ORB_COLORS.dark.logic },
|
|
4001
|
+
"lolo-op-string": { color: ORB_COLORS.dark.string },
|
|
4002
|
+
"lolo-op-collection": { color: ORB_COLORS.dark.collection },
|
|
4003
|
+
"lolo-op-time": { color: ORB_COLORS.dark.time },
|
|
4004
|
+
"lolo-op-control": { color: ORB_COLORS.dark.control },
|
|
4005
|
+
"lolo-op-async": { color: ORB_COLORS.dark.async }
|
|
4006
|
+
};
|
|
4007
|
+
var loloStyle = { ...dark, ...loloStyleOverrides };
|
|
3986
4008
|
function computeFoldRegions(code) {
|
|
3987
4009
|
const lines = code.split("\n");
|
|
3988
4010
|
const regions = [];
|
|
@@ -4031,7 +4053,8 @@ var CodeBlock = React114__default.memo(
|
|
|
4031
4053
|
}) => {
|
|
4032
4054
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
4033
4055
|
const isOrb = language === "orb";
|
|
4034
|
-
const
|
|
4056
|
+
const isLolo = language === "lolo";
|
|
4057
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark;
|
|
4035
4058
|
const eventBus = useEventBus();
|
|
4036
4059
|
const { t: _t } = useTranslate();
|
|
4037
4060
|
const scrollRef = useRef(null);
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -9927,6 +9927,7 @@ SyntaxHighlighter__default.default.registerLanguage("toml", langToml__default.de
|
|
|
9927
9927
|
SyntaxHighlighter__default.default.registerLanguage("go", langGo__default.default);
|
|
9928
9928
|
SyntaxHighlighter__default.default.registerLanguage("graphql", langGraphql__default.default);
|
|
9929
9929
|
SyntaxHighlighter__default.default.registerLanguage("orb", syntax.orbLanguage);
|
|
9930
|
+
SyntaxHighlighter__default.default.registerLanguage("lolo", syntax.loloLanguage);
|
|
9930
9931
|
var orbStyleOverrides = {
|
|
9931
9932
|
"orb-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9932
9933
|
"orb-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -9948,6 +9949,27 @@ var orbStyleOverrides = {
|
|
|
9948
9949
|
"orb-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
9949
9950
|
};
|
|
9950
9951
|
var orbStyle = { ...dark__default.default, ...orbStyleOverrides };
|
|
9952
|
+
var loloStyleOverrides = {
|
|
9953
|
+
"lolo-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9954
|
+
"lolo-event": { color: syntax.ORB_COLORS.dark.event },
|
|
9955
|
+
"lolo-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
9956
|
+
"keyword": { color: syntax.ORB_COLORS.dark.loloKeyword },
|
|
9957
|
+
"lolo-constructor": { color: syntax.ORB_COLORS.dark.loloConstructor },
|
|
9958
|
+
"lolo-arrow": { color: syntax.ORB_COLORS.dark.loloArrow },
|
|
9959
|
+
"lolo-reference": { color: syntax.ORB_COLORS.dark.loloReference },
|
|
9960
|
+
"lolo-type": { color: syntax.ORB_COLORS.dark.fieldType },
|
|
9961
|
+
"lolo-persistence": { color: syntax.ORB_COLORS.dark.persistence },
|
|
9962
|
+
"lolo-unknown-op": { color: syntax.ORB_COLORS.dark.error },
|
|
9963
|
+
"lolo-op-arithmetic": { color: syntax.ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
9964
|
+
"lolo-op-comparison": { color: syntax.ORB_COLORS.dark.comparison },
|
|
9965
|
+
"lolo-op-logic": { color: syntax.ORB_COLORS.dark.logic },
|
|
9966
|
+
"lolo-op-string": { color: syntax.ORB_COLORS.dark.string },
|
|
9967
|
+
"lolo-op-collection": { color: syntax.ORB_COLORS.dark.collection },
|
|
9968
|
+
"lolo-op-time": { color: syntax.ORB_COLORS.dark.time },
|
|
9969
|
+
"lolo-op-control": { color: syntax.ORB_COLORS.dark.control },
|
|
9970
|
+
"lolo-op-async": { color: syntax.ORB_COLORS.dark.async }
|
|
9971
|
+
};
|
|
9972
|
+
var loloStyle = { ...dark__default.default, ...loloStyleOverrides };
|
|
9951
9973
|
function computeFoldRegions(code) {
|
|
9952
9974
|
const lines = code.split("\n");
|
|
9953
9975
|
const regions = [];
|
|
@@ -9996,7 +10018,8 @@ var CodeBlock = React114__namespace.default.memo(
|
|
|
9996
10018
|
}) => {
|
|
9997
10019
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
9998
10020
|
const isOrb = language === "orb";
|
|
9999
|
-
const
|
|
10021
|
+
const isLolo = language === "lolo";
|
|
10022
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
|
|
10000
10023
|
const eventBus = useEventBus();
|
|
10001
10024
|
const { t: _t } = useTranslate();
|
|
10002
10025
|
const scrollRef = React114.useRef(null);
|
package/dist/runtime/index.js
CHANGED
|
@@ -20,7 +20,7 @@ import remarkMath from 'remark-math';
|
|
|
20
20
|
import rehypeKatex from 'rehype-katex';
|
|
21
21
|
import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism-light';
|
|
22
22
|
import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus';
|
|
23
|
-
import { orbLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
23
|
+
import { orbLanguage, loloLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
24
24
|
import langJson from 'react-syntax-highlighter/dist/esm/languages/prism/json';
|
|
25
25
|
import langJavascript from 'react-syntax-highlighter/dist/esm/languages/prism/javascript';
|
|
26
26
|
import langTypescript from 'react-syntax-highlighter/dist/esm/languages/prism/typescript';
|
|
@@ -9882,6 +9882,7 @@ SyntaxHighlighter.registerLanguage("toml", langToml);
|
|
|
9882
9882
|
SyntaxHighlighter.registerLanguage("go", langGo);
|
|
9883
9883
|
SyntaxHighlighter.registerLanguage("graphql", langGraphql);
|
|
9884
9884
|
SyntaxHighlighter.registerLanguage("orb", orbLanguage);
|
|
9885
|
+
SyntaxHighlighter.registerLanguage("lolo", loloLanguage);
|
|
9885
9886
|
var orbStyleOverrides = {
|
|
9886
9887
|
"orb-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9887
9888
|
"orb-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -9903,6 +9904,27 @@ var orbStyleOverrides = {
|
|
|
9903
9904
|
"orb-op-async": { color: ORB_COLORS.dark.async }
|
|
9904
9905
|
};
|
|
9905
9906
|
var orbStyle = { ...dark, ...orbStyleOverrides };
|
|
9907
|
+
var loloStyleOverrides = {
|
|
9908
|
+
"lolo-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
9909
|
+
"lolo-event": { color: ORB_COLORS.dark.event },
|
|
9910
|
+
"lolo-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
9911
|
+
"keyword": { color: ORB_COLORS.dark.loloKeyword },
|
|
9912
|
+
"lolo-constructor": { color: ORB_COLORS.dark.loloConstructor },
|
|
9913
|
+
"lolo-arrow": { color: ORB_COLORS.dark.loloArrow },
|
|
9914
|
+
"lolo-reference": { color: ORB_COLORS.dark.loloReference },
|
|
9915
|
+
"lolo-type": { color: ORB_COLORS.dark.fieldType },
|
|
9916
|
+
"lolo-persistence": { color: ORB_COLORS.dark.persistence },
|
|
9917
|
+
"lolo-unknown-op": { color: ORB_COLORS.dark.error },
|
|
9918
|
+
"lolo-op-arithmetic": { color: ORB_COLORS.dark.arithmetic, fontWeight: "bold" },
|
|
9919
|
+
"lolo-op-comparison": { color: ORB_COLORS.dark.comparison },
|
|
9920
|
+
"lolo-op-logic": { color: ORB_COLORS.dark.logic },
|
|
9921
|
+
"lolo-op-string": { color: ORB_COLORS.dark.string },
|
|
9922
|
+
"lolo-op-collection": { color: ORB_COLORS.dark.collection },
|
|
9923
|
+
"lolo-op-time": { color: ORB_COLORS.dark.time },
|
|
9924
|
+
"lolo-op-control": { color: ORB_COLORS.dark.control },
|
|
9925
|
+
"lolo-op-async": { color: ORB_COLORS.dark.async }
|
|
9926
|
+
};
|
|
9927
|
+
var loloStyle = { ...dark, ...loloStyleOverrides };
|
|
9906
9928
|
function computeFoldRegions(code) {
|
|
9907
9929
|
const lines = code.split("\n");
|
|
9908
9930
|
const regions = [];
|
|
@@ -9951,7 +9973,8 @@ var CodeBlock = React114__default.memo(
|
|
|
9951
9973
|
}) => {
|
|
9952
9974
|
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
9953
9975
|
const isOrb = language === "orb";
|
|
9954
|
-
const
|
|
9976
|
+
const isLolo = language === "lolo";
|
|
9977
|
+
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark;
|
|
9955
9978
|
const eventBus = useEventBus();
|
|
9956
9979
|
const { t: _t } = useTranslate();
|
|
9957
9980
|
const scrollRef = useRef(null);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almadar/ui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.50.0",
|
|
4
4
|
"description": "React UI components, hooks, and providers for Almadar",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/components/index.js",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"@almadar/evaluator": ">=2.5.4",
|
|
123
123
|
"@almadar/patterns": ">=2.10.0",
|
|
124
124
|
"@almadar/std": ">=5.2.0",
|
|
125
|
-
"@almadar/syntax": ">=1.
|
|
125
|
+
"@almadar/syntax": ">=1.2.0",
|
|
126
126
|
"@almadar/runtime": ">=2.0.0",
|
|
127
127
|
"@xyflow/react": "12.10.1",
|
|
128
128
|
"clsx": "^2.1.0",
|