@almadar/ui 5.2.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avl/index.cjs +137 -133
- package/dist/avl/index.js +137 -133
- package/dist/components/index.cjs +64 -60
- package/dist/components/index.js +64 -60
- package/dist/docs/index.cjs +15 -14
- package/dist/docs/index.js +15 -14
- package/dist/marketing/index.cjs +17 -13
- package/dist/marketing/index.js +17 -13
- package/dist/providers/index.cjs +64 -60
- package/dist/providers/index.js +64 -60
- package/dist/runtime/index.cjs +64 -60
- package/dist/runtime/index.js +64 -60
- package/package.json +1 -1
- package/tailwind-preset.cjs +0 -11
- package/themes/bloomberg-dense.css +403 -0
- package/themes/index.css +3 -0
- package/themes/linear-clean.css +403 -0
- package/themes/notion-editorial.css +403 -0
package/dist/avl/index.cjs
CHANGED
|
@@ -4885,16 +4885,16 @@ var init_ModuleCard = __esm({
|
|
|
4885
4885
|
children: [
|
|
4886
4886
|
/* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "target", position: react.Position.Left, className: "!w-2.5 !h-2.5 !bg-orange-400" }),
|
|
4887
4887
|
/* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "source", position: react.Position.Right, className: "!w-2.5 !h-2.5 !bg-orange-400" }),
|
|
4888
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
4888
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold text-[var(--color-foreground)]", children: orbitalName }) }),
|
|
4889
4889
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: `px-3 py-2 border-b border-[var(--color-border)] ${PERSISTENCE_BORDER[persistence] ?? ""}`, children: [
|
|
4890
4890
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 mb-1.5", children: [
|
|
4891
4891
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 18, height: 18, viewBox: "0 0 20 20", children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlEntity, { x: 10, y: 10, r: 8, persistence }) }),
|
|
4892
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
4893
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-
|
|
4892
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-[var(--color-foreground)]", children: entityName }),
|
|
4893
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-xs opacity-50", title: persistence, children: PERSISTENCE_ICON[persistence] ?? "" })
|
|
4894
4894
|
] }),
|
|
4895
4895
|
fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `grid gap-x-3 gap-y-0.5`, style: { gridTemplateColumns: `repeat(${cols}, 1fr)` }, children: fields.map((f3) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
4896
4896
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 14, height: 14, viewBox: "0 0 16 16", children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlFieldType, { x: 8, y: 8, kind: toFieldKind2(f3.type), size: 6 }) }),
|
|
4897
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
4897
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[var(--color-muted-foreground)] truncate", children: f3.name })
|
|
4898
4898
|
] }, f3.name)) })
|
|
4899
4899
|
] }),
|
|
4900
4900
|
traits2.map((trait) => {
|
|
@@ -4902,7 +4902,7 @@ var init_ModuleCard = __esm({
|
|
|
4902
4902
|
const traitEmits = externalLinks.filter((l) => l.direction === "out" && l.traitName === trait.name);
|
|
4903
4903
|
const traitListens = externalLinks.filter((l) => l.direction === "in" && l.traitName === trait.name);
|
|
4904
4904
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: [
|
|
4905
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
4905
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold text-[var(--color-foreground)] mb-1", children: trait.name }),
|
|
4906
4906
|
detail && /* @__PURE__ */ jsxRuntime.jsx(exports.MiniStateMachine, { data: detail, className: "mb-1" }),
|
|
4907
4907
|
(traitEmits.length > 0 || traitListens.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-[9px] mt-1", children: [
|
|
4908
4908
|
traitListens.map((l) => /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: exports.CONNECTION_COLORS.emitListen.color }, children: [
|
|
@@ -4921,7 +4921,7 @@ var init_ModuleCard = __esm({
|
|
|
4921
4921
|
}),
|
|
4922
4922
|
pages.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-1.5 flex items-center gap-2 flex-wrap", children: pages.map((p2) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-0.5", children: [
|
|
4923
4923
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 10, height: 10, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlPage, { x: 6, y: 6, size: 5 }) }),
|
|
4924
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
4924
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-mono text-[var(--color-muted-foreground)]", children: p2.route })
|
|
4925
4925
|
] }, p2.name)) })
|
|
4926
4926
|
]
|
|
4927
4927
|
}
|
|
@@ -6474,7 +6474,7 @@ var init_Icon = __esm({
|
|
|
6474
6474
|
sizeClasses = {
|
|
6475
6475
|
xs: "w-3 h-3",
|
|
6476
6476
|
sm: "w-4 h-4",
|
|
6477
|
-
md: "
|
|
6477
|
+
md: "h-icon-default w-icon-default",
|
|
6478
6478
|
lg: "w-6 h-6",
|
|
6479
6479
|
xl: "w-8 h-8"
|
|
6480
6480
|
};
|
|
@@ -6619,14 +6619,14 @@ var init_Button = __esm({
|
|
|
6619
6619
|
};
|
|
6620
6620
|
variantStyles2.destructive = variantStyles2.danger;
|
|
6621
6621
|
sizeStyles2 = {
|
|
6622
|
-
sm: "px-3
|
|
6623
|
-
md: "px-4
|
|
6624
|
-
lg: "px-6
|
|
6622
|
+
sm: "h-button-sm px-3 text-sm",
|
|
6623
|
+
md: "h-button-md px-4 text-sm",
|
|
6624
|
+
lg: "h-button-lg px-6 text-base"
|
|
6625
6625
|
};
|
|
6626
6626
|
iconSizeStyles = {
|
|
6627
|
-
sm: "h-
|
|
6627
|
+
sm: "h-icon-default w-icon-default",
|
|
6628
6628
|
md: "h-icon-default w-icon-default",
|
|
6629
|
-
lg: "h-
|
|
6629
|
+
lg: "h-icon-default w-icon-default"
|
|
6630
6630
|
};
|
|
6631
6631
|
Button = React98__namespace.default.forwardRef(
|
|
6632
6632
|
({
|
|
@@ -6664,7 +6664,7 @@ var init_Button = __esm({
|
|
|
6664
6664
|
disabled: disabled || isLoading,
|
|
6665
6665
|
className: cn(
|
|
6666
6666
|
"inline-flex items-center justify-center gap-2",
|
|
6667
|
-
"font-
|
|
6667
|
+
"font-medium",
|
|
6668
6668
|
"rounded-sm",
|
|
6669
6669
|
"cursor-pointer",
|
|
6670
6670
|
"transition-all duration-[var(--transition-normal)]",
|
|
@@ -7180,7 +7180,11 @@ var init_Badge = __esm({
|
|
|
7180
7180
|
};
|
|
7181
7181
|
Badge = React98__namespace.default.forwardRef(
|
|
7182
7182
|
({ className, variant = "default", size = "sm", amount, label, icon, children, onRemove, removeLabel, ...props }, ref) => {
|
|
7183
|
-
const iconSizes3 = {
|
|
7183
|
+
const iconSizes3 = {
|
|
7184
|
+
sm: "h-icon-default w-icon-default",
|
|
7185
|
+
md: "h-icon-default w-icon-default",
|
|
7186
|
+
lg: "h-icon-default w-icon-default"
|
|
7187
|
+
};
|
|
7184
7188
|
const resolvedIcon = typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: icon, className: iconSizes3[size] }) : icon;
|
|
7185
7189
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7186
7190
|
"span",
|
|
@@ -8214,10 +8218,11 @@ var init_Input = __esm({
|
|
|
8214
8218
|
const type = inputType || htmlType || "text";
|
|
8215
8219
|
const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
|
|
8216
8220
|
const showClearButton = clearable && value && String(value).length > 0;
|
|
8221
|
+
const isMultiline = type === "textarea";
|
|
8217
8222
|
const baseClassName = cn(
|
|
8218
8223
|
"block w-full rounded-sm transition-all duration-[var(--transition-fast)]",
|
|
8219
8224
|
"border-[length:var(--border-width-thin)] border-border",
|
|
8220
|
-
"px-3 py-2 text-sm",
|
|
8225
|
+
isMultiline ? "px-3 py-2 text-sm" : "h-input-md px-3 text-sm",
|
|
8221
8226
|
"bg-card hover:bg-muted focus:bg-card",
|
|
8222
8227
|
"text-foreground placeholder:text-muted-foreground",
|
|
8223
8228
|
"focus:outline-none focus:ring-1 focus:ring-ring focus:border-ring",
|
|
@@ -8269,7 +8274,7 @@ var init_Input = __esm({
|
|
|
8269
8274
|
checked: props.checked,
|
|
8270
8275
|
onChange,
|
|
8271
8276
|
className: cn(
|
|
8272
|
-
"h-
|
|
8277
|
+
"h-icon-default w-icon-default rounded-sm",
|
|
8273
8278
|
"border-border",
|
|
8274
8279
|
"text-primary focus:ring-ring",
|
|
8275
8280
|
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
@@ -8351,7 +8356,7 @@ var init_Textarea = __esm({
|
|
|
8351
8356
|
"placeholder:text-[var(--color-placeholder)]",
|
|
8352
8357
|
"focus:outline-none focus:ring-2 focus:ring-offset-0 focus:ring-ring",
|
|
8353
8358
|
"disabled:bg-muted disabled:text-muted-foreground disabled:cursor-not-allowed",
|
|
8354
|
-
"resize-y min-h-
|
|
8359
|
+
"resize-y min-h-20",
|
|
8355
8360
|
error ? "border-error focus:border-error" : "border-border focus:border-primary",
|
|
8356
8361
|
className
|
|
8357
8362
|
),
|
|
@@ -8454,21 +8459,21 @@ var init_Card = __esm({
|
|
|
8454
8459
|
"border-[length:var(--border-width)] border-border",
|
|
8455
8460
|
"shadow-elevation-card",
|
|
8456
8461
|
"transition-all duration-[var(--transition-normal)]",
|
|
8457
|
-
"hover:shadow-elevation-dialog hover
|
|
8462
|
+
"hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
|
|
8458
8463
|
].join(" "),
|
|
8459
8464
|
bordered: [
|
|
8460
8465
|
"bg-card",
|
|
8461
8466
|
"border-[length:var(--border-width)] border-border",
|
|
8462
8467
|
"shadow-elevation-card",
|
|
8463
8468
|
"transition-all duration-[var(--transition-normal)]",
|
|
8464
|
-
"hover:shadow-elevation-dialog hover
|
|
8469
|
+
"hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
|
|
8465
8470
|
].join(" "),
|
|
8466
8471
|
elevated: [
|
|
8467
8472
|
"bg-card",
|
|
8468
8473
|
"border-[length:var(--border-width)] border-border",
|
|
8469
8474
|
"shadow",
|
|
8470
8475
|
"transition-all duration-[var(--transition-normal)]",
|
|
8471
|
-
"hover:shadow-elevation-dialog hover
|
|
8476
|
+
"hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
|
|
8472
8477
|
].join(" "),
|
|
8473
8478
|
// Interactive variant with theme-specific hover effects
|
|
8474
8479
|
interactive: [
|
|
@@ -8518,7 +8523,7 @@ var init_Card = __esm({
|
|
|
8518
8523
|
...props,
|
|
8519
8524
|
children: [
|
|
8520
8525
|
(title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
|
|
8521
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg text-card-foreground font-
|
|
8526
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg text-card-foreground font-bold", children: title }),
|
|
8522
8527
|
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-1", children: subtitle })
|
|
8523
8528
|
] }),
|
|
8524
8529
|
children
|
|
@@ -8536,7 +8541,7 @@ var init_Card = __esm({
|
|
|
8536
8541
|
ref,
|
|
8537
8542
|
className: cn(
|
|
8538
8543
|
"text-lg text-card-foreground",
|
|
8539
|
-
"font-
|
|
8544
|
+
"font-bold",
|
|
8540
8545
|
className
|
|
8541
8546
|
),
|
|
8542
8547
|
...props
|
|
@@ -8674,7 +8679,7 @@ var init_Spinner = __esm({
|
|
|
8674
8679
|
init_Icon();
|
|
8675
8680
|
sizeStyles5 = {
|
|
8676
8681
|
xs: "h-3 w-3",
|
|
8677
|
-
sm: "h-
|
|
8682
|
+
sm: "h-icon-default w-icon-default",
|
|
8678
8683
|
md: "h-6 w-6",
|
|
8679
8684
|
lg: "h-8 w-8"
|
|
8680
8685
|
};
|
|
@@ -9694,10 +9699,9 @@ var init_LawReferenceTooltip = __esm({
|
|
|
9694
9699
|
{
|
|
9695
9700
|
padding: "sm",
|
|
9696
9701
|
rounded: "lg",
|
|
9697
|
-
shadow: "lg",
|
|
9698
9702
|
position: "absolute",
|
|
9699
9703
|
className: cn(
|
|
9700
|
-
"z-50 w-64 bg-foreground text-background",
|
|
9704
|
+
"z-50 w-64 bg-foreground text-background shadow-elevation-popover",
|
|
9701
9705
|
positionStyles2[position]
|
|
9702
9706
|
),
|
|
9703
9707
|
role: "tooltip",
|
|
@@ -9708,7 +9712,7 @@ var init_LawReferenceTooltip = __esm({
|
|
|
9708
9712
|
{
|
|
9709
9713
|
variant: "label",
|
|
9710
9714
|
weight: "semibold",
|
|
9711
|
-
className: "text-
|
|
9715
|
+
className: "text-warning",
|
|
9712
9716
|
children: [
|
|
9713
9717
|
reference.law,
|
|
9714
9718
|
" ",
|
|
@@ -9740,7 +9744,7 @@ var init_LawReferenceTooltip = __esm({
|
|
|
9740
9744
|
{
|
|
9741
9745
|
as: "a",
|
|
9742
9746
|
variant: "caption",
|
|
9743
|
-
className: "text-
|
|
9747
|
+
className: "text-info hover:text-info/80 underline cursor-pointer",
|
|
9744
9748
|
href: reference.link,
|
|
9745
9749
|
target: "_blank",
|
|
9746
9750
|
rel: "noopener noreferrer",
|
|
@@ -10146,12 +10150,12 @@ var init_RangeSlider = __esm({
|
|
|
10146
10150
|
"shadow-sm",
|
|
10147
10151
|
"pointer-events-none",
|
|
10148
10152
|
"transition-transform duration-100",
|
|
10149
|
-
isDragging && "scale-
|
|
10153
|
+
isDragging && "scale-[var(--hover-scale)]",
|
|
10150
10154
|
thumbSizes[size]
|
|
10151
10155
|
),
|
|
10152
10156
|
style: {
|
|
10153
10157
|
top: "50%",
|
|
10154
|
-
transform: `translateY(-50%) translateX(-50%)${isDragging ? " scale(
|
|
10158
|
+
transform: `translateY(-50%) translateX(-50%)${isDragging ? " scale(var(--hover-scale))" : ""}`,
|
|
10155
10159
|
left: `${percentage}%`
|
|
10156
10160
|
}
|
|
10157
10161
|
}
|
|
@@ -11941,7 +11945,7 @@ function ItemSlot({
|
|
|
11941
11945
|
className: cn(
|
|
11942
11946
|
"absolute -bottom-1 -right-1 flex items-center justify-center",
|
|
11943
11947
|
"min-w-[18px] h-[18px] rounded-full px-1",
|
|
11944
|
-
"bg-[var(--color-surface,#374151)] border border-gray-500 text-
|
|
11948
|
+
"bg-[var(--color-surface,#374151)] border border-gray-500 text-xs font-bold text-[var(--color-foreground)]"
|
|
11945
11949
|
),
|
|
11946
11950
|
children: quantity
|
|
11947
11951
|
}
|
|
@@ -12079,7 +12083,7 @@ var init_ComboCounter = __esm({
|
|
|
12079
12083
|
"components/atoms/game/ComboCounter.tsx"() {
|
|
12080
12084
|
init_cn();
|
|
12081
12085
|
sizeMap8 = {
|
|
12082
|
-
sm: { combo: "text-lg", label: "text-
|
|
12086
|
+
sm: { combo: "text-lg", label: "text-xs", multiplier: "text-xs" },
|
|
12083
12087
|
md: { combo: "text-2xl", label: "text-xs", multiplier: "text-sm" },
|
|
12084
12088
|
lg: { combo: "text-4xl", label: "text-sm", multiplier: "text-base" }
|
|
12085
12089
|
};
|
|
@@ -12147,7 +12151,7 @@ var init_XPBar = __esm({
|
|
|
12147
12151
|
"components/atoms/game/XPBar.tsx"() {
|
|
12148
12152
|
init_cn();
|
|
12149
12153
|
sizeMap9 = {
|
|
12150
|
-
sm: { bar: "h-2", text: "text-
|
|
12154
|
+
sm: { bar: "h-2", text: "text-xs", badge: "text-xs px-1.5 py-0.5" },
|
|
12151
12155
|
md: { bar: "h-3", text: "text-xs", badge: "text-xs px-2 py-0.5" },
|
|
12152
12156
|
lg: { bar: "h-4", text: "text-sm", badge: "text-sm px-2.5 py-1" }
|
|
12153
12157
|
};
|
|
@@ -12274,7 +12278,7 @@ function StatusEffect({
|
|
|
12274
12278
|
children: stacks
|
|
12275
12279
|
}
|
|
12276
12280
|
),
|
|
12277
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
12281
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground mt-0.5 text-center whitespace-nowrap", children: label })
|
|
12278
12282
|
] });
|
|
12279
12283
|
}
|
|
12280
12284
|
var sizeMap11, variantStyles7;
|
|
@@ -12282,8 +12286,8 @@ var init_StatusEffect = __esm({
|
|
|
12282
12286
|
"components/atoms/game/StatusEffect.tsx"() {
|
|
12283
12287
|
init_cn();
|
|
12284
12288
|
sizeMap11 = {
|
|
12285
|
-
sm: { container: "w-8 h-8", icon: "text-sm", badge: "text-
|
|
12286
|
-
md: { container: "w-10 h-10", icon: "text-base", badge: "text-xs -top-1 -right-1 w-5 h-5", timer: "text-
|
|
12289
|
+
sm: { container: "w-8 h-8", icon: "text-sm", badge: "text-xs -top-1 -right-1 w-4 h-4", timer: "text-[9px]" },
|
|
12290
|
+
md: { container: "w-10 h-10", icon: "text-base", badge: "text-xs -top-1 -right-1 w-5 h-5", timer: "text-xs" },
|
|
12287
12291
|
lg: { container: "w-12 h-12", icon: "text-lg", badge: "text-sm -top-1.5 -right-1.5 w-6 h-6", timer: "text-xs" }
|
|
12288
12292
|
};
|
|
12289
12293
|
variantStyles7 = {
|
|
@@ -12493,7 +12497,7 @@ var init_ActionButton = __esm({
|
|
|
12493
12497
|
init_Icon();
|
|
12494
12498
|
sizeMap13 = {
|
|
12495
12499
|
sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
|
|
12496
|
-
md: { button: "px-4 py-2 text-sm", hotkey: "text-
|
|
12500
|
+
md: { button: "px-4 py-2 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
|
|
12497
12501
|
lg: { button: "px-5 py-2.5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
|
|
12498
12502
|
};
|
|
12499
12503
|
variantStyles8 = {
|
|
@@ -26140,7 +26144,7 @@ var init_DashboardLayout = __esm({
|
|
|
26140
26144
|
{
|
|
26141
26145
|
as: "span",
|
|
26142
26146
|
className: cn(
|
|
26143
|
-
"absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 rounded-full text-
|
|
26147
|
+
"absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 rounded-full text-xs font-semibold text-white flex items-center justify-center",
|
|
26144
26148
|
action.variant === "danger" ? "bg-error" : action.variant === "primary" ? "bg-primary" : "bg-foreground"
|
|
26145
26149
|
),
|
|
26146
26150
|
children: action.badge
|
|
@@ -26163,7 +26167,7 @@ var init_DashboardLayout = __esm({
|
|
|
26163
26167
|
Box,
|
|
26164
26168
|
{
|
|
26165
26169
|
as: "span",
|
|
26166
|
-
className: "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 bg-error rounded-full text-
|
|
26170
|
+
className: "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 bg-error rounded-full text-xs font-semibold text-white flex items-center justify-center",
|
|
26167
26171
|
children: unreadCount > 99 ? "99+" : unreadCount
|
|
26168
26172
|
}
|
|
26169
26173
|
)
|
|
@@ -26365,14 +26369,14 @@ var init_DashboardLayout = __esm({
|
|
|
26365
26369
|
{
|
|
26366
26370
|
variant: "caption",
|
|
26367
26371
|
className: cn(
|
|
26368
|
-
"text-
|
|
26372
|
+
"text-xs leading-tight truncate max-w-full",
|
|
26369
26373
|
isActive ? "text-primary font-medium" : "text-muted-foreground"
|
|
26370
26374
|
),
|
|
26371
26375
|
as: "span",
|
|
26372
26376
|
children: item.label
|
|
26373
26377
|
}
|
|
26374
26378
|
),
|
|
26375
|
-
item.badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: isActive ? "primary" : "default", size: "sm", className: "text-
|
|
26379
|
+
item.badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: isActive ? "primary" : "default", size: "sm", className: "text-xs px-1 py-0 min-w-0", children: item.badge })
|
|
26376
26380
|
]
|
|
26377
26381
|
}
|
|
26378
26382
|
);
|
|
@@ -27954,7 +27958,7 @@ var init_FilterGroup = __esm({
|
|
|
27954
27958
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "md", align: "center", className: cn("flex-wrap", className), children: [
|
|
27955
27959
|
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
27956
27960
|
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
27957
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-
|
|
27961
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
|
|
27958
27962
|
filter.label,
|
|
27959
27963
|
":"
|
|
27960
27964
|
] }),
|
|
@@ -27970,7 +27974,7 @@ var init_FilterGroup = __esm({
|
|
|
27970
27974
|
type: "button",
|
|
27971
27975
|
onClick: () => handleFilterSelect(filter.field, null),
|
|
27972
27976
|
className: cn(
|
|
27973
|
-
"px-3 py-1.5 text-sm font-
|
|
27977
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
27974
27978
|
!selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
27975
27979
|
),
|
|
27976
27980
|
children: "All"
|
|
@@ -27982,7 +27986,7 @@ var init_FilterGroup = __esm({
|
|
|
27982
27986
|
type: "button",
|
|
27983
27987
|
onClick: () => handleFilterSelect(filter.field, option),
|
|
27984
27988
|
className: cn(
|
|
27985
|
-
"px-3 py-1.5 text-sm font-
|
|
27989
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
27986
27990
|
"border-l-[length:var(--border-width)] border-border",
|
|
27987
27991
|
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
27988
27992
|
),
|
|
@@ -28010,10 +28014,10 @@ var init_FilterGroup = __esm({
|
|
|
28010
28014
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
28011
28015
|
showIcon && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
|
|
28012
28016
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
28013
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-
|
|
28017
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
28014
28018
|
] }),
|
|
28015
28019
|
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
28016
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-
|
|
28020
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-bold text-muted-foreground uppercase tracking-wide", children: filter.label }),
|
|
28017
28021
|
resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
28018
28022
|
Input,
|
|
28019
28023
|
{
|
|
@@ -28195,12 +28199,12 @@ var init_FilterGroup = __esm({
|
|
|
28195
28199
|
className: "text-muted-foreground",
|
|
28196
28200
|
children: [
|
|
28197
28201
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
28198
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-
|
|
28202
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
28199
28203
|
]
|
|
28200
28204
|
}
|
|
28201
28205
|
),
|
|
28202
28206
|
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
|
|
28203
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-
|
|
28207
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-bold text-muted-foreground uppercase tracking-wide", children: filter.label }),
|
|
28204
28208
|
resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
28205
28209
|
Input,
|
|
28206
28210
|
{
|
|
@@ -30601,7 +30605,7 @@ function EnemyPlate({
|
|
|
30601
30605
|
Typography,
|
|
30602
30606
|
{
|
|
30603
30607
|
variant: "caption",
|
|
30604
|
-
className: "font-mono tabular-nums text-
|
|
30608
|
+
className: "font-mono tabular-nums text-muted-foreground text-xs shrink-0",
|
|
30605
30609
|
children: [
|
|
30606
30610
|
health,
|
|
30607
30611
|
"/",
|
|
@@ -30678,7 +30682,7 @@ function UnitCommandBar({
|
|
|
30678
30682
|
Typography,
|
|
30679
30683
|
{
|
|
30680
30684
|
variant: "caption",
|
|
30681
|
-
className: "text-
|
|
30685
|
+
className: "text-muted-foreground text-xs font-mono",
|
|
30682
30686
|
children: command.hotkey
|
|
30683
30687
|
}
|
|
30684
30688
|
)
|
|
@@ -42198,7 +42202,7 @@ var init_List = __esm({
|
|
|
42198
42202
|
{
|
|
42199
42203
|
as: "h3",
|
|
42200
42204
|
className: cn(
|
|
42201
|
-
"text-
|
|
42205
|
+
"text-base font-semibold text-foreground truncate flex-1",
|
|
42202
42206
|
"tracking-tight leading-snug",
|
|
42203
42207
|
item.completed && "line-through text-muted-foreground"
|
|
42204
42208
|
),
|
|
@@ -42222,7 +42226,7 @@ var init_List = __esm({
|
|
|
42222
42226
|
)
|
|
42223
42227
|
] })
|
|
42224
42228
|
] }),
|
|
42225
|
-
/* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "flex items-center gap-6 text-
|
|
42229
|
+
/* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "flex items-center gap-6 text-sm font-medium text-muted-foreground", children: [
|
|
42226
42230
|
dateFields.slice(0, 1).map((field) => {
|
|
42227
42231
|
const value = item._fields?.[field];
|
|
42228
42232
|
if (!value) return null;
|
|
@@ -42618,7 +42622,7 @@ var init_MediaGallery = __esm({
|
|
|
42618
42622
|
}
|
|
42619
42623
|
),
|
|
42620
42624
|
item.caption && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "absolute bottom-0 left-0 right-0 p-2 bg-gradient-to-t from-black/60 to-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-white truncate", children: item.caption }) }),
|
|
42621
|
-
selectable && isSelected && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "absolute top-2 right-2 w-5 h-5 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-white text-
|
|
42625
|
+
selectable && isSelected && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "absolute top-2 right-2 w-5 h-5 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-white text-xs", children: "\u2713" }) })
|
|
42622
42626
|
]
|
|
42623
42627
|
},
|
|
42624
42628
|
item.id
|
|
@@ -44014,13 +44018,13 @@ function WalkMinimap() {
|
|
|
44014
44018
|
})
|
|
44015
44019
|
] }) }),
|
|
44016
44020
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "px-2 py-1 border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", className: "items-center justify-between", children: [
|
|
44017
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", className: "text-
|
|
44021
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", className: "text-xs font-mono text-green-500", children: [
|
|
44018
44022
|
"Engine: ",
|
|
44019
44023
|
engineCount,
|
|
44020
44024
|
"/",
|
|
44021
44025
|
totalTransitions
|
|
44022
44026
|
] }),
|
|
44023
|
-
domCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", className: "text-
|
|
44027
|
+
domCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", className: "text-xs font-mono text-cyan-500", children: [
|
|
44024
44028
|
"DOM: ",
|
|
44025
44029
|
domCount
|
|
44026
44030
|
] }),
|
|
@@ -44534,7 +44538,7 @@ function VerificationTab({ checks, summary }) {
|
|
|
44534
44538
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "break-words", children: check.label }),
|
|
44535
44539
|
check.details && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-gray-500 break-words", children: check.details })
|
|
44536
44540
|
] }),
|
|
44537
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
44541
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground font-mono text-xs shrink-0", children: new Date(check.updatedAt).toLocaleTimeString("en-US", {
|
|
44538
44542
|
hour12: false,
|
|
44539
44543
|
hour: "2-digit",
|
|
44540
44544
|
minute: "2-digit",
|
|
@@ -44567,7 +44571,7 @@ var init_VerificationTab = __esm({
|
|
|
44567
44571
|
function EffectBadge({ effect }) {
|
|
44568
44572
|
const variant = EFFECT_STATUS_VARIANT[effect.status] || "default";
|
|
44569
44573
|
const icon = effect.status === "executed" ? "\u2713" : effect.status === "failed" ? "\u2717" : "-";
|
|
44570
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 text-
|
|
44574
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 text-xs font-mono bg-gray-100 dark:bg-gray-700 rounded px-1.5 py-0.5", children: [
|
|
44571
44575
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant, size: "sm", className: "!text-[9px] !px-1 !py-0", children: icon }),
|
|
44572
44576
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600 dark:text-gray-400", children: effect.type }),
|
|
44573
44577
|
effect.error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500 truncate max-w-[120px]", title: effect.error, children: effect.error })
|
|
@@ -44671,8 +44675,8 @@ function TransitionTimeline({ transitions }) {
|
|
|
44671
44675
|
] }),
|
|
44672
44676
|
isExpanded && trace.effects.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-2 mt-1 mb-2 pl-2 border-l border-gray-200 dark:border-gray-700 space-y-1", children: trace.effects.map((effect, eIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
44673
44677
|
/* @__PURE__ */ jsxRuntime.jsx(EffectBadge, { effect }),
|
|
44674
|
-
effect.args.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
44675
|
-
effect.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-
|
|
44678
|
+
effect.args.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground font-mono text-xs truncate max-w-[200px]", children: JSON.stringify(effect.args) }),
|
|
44679
|
+
effect.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: [
|
|
44676
44680
|
effect.durationMs,
|
|
44677
44681
|
"ms"
|
|
44678
44682
|
] })
|
|
@@ -44959,7 +44963,7 @@ var init_RuntimeDebugger = __esm({
|
|
|
44959
44963
|
});
|
|
44960
44964
|
function ServerResponseRow({ sr }) {
|
|
44961
44965
|
const entityEntries = Object.entries(sr.dataEntities);
|
|
44962
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-
|
|
44966
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-xs font-mono", children: [
|
|
44963
44967
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
44964
44968
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: sr.success ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400", children: [
|
|
44965
44969
|
sr.success ? "\u2713" : "\u2717",
|
|
@@ -45016,7 +45020,7 @@ function TransitionRow({ trace }) {
|
|
|
45016
45020
|
] })
|
|
45017
45021
|
] }),
|
|
45018
45022
|
trace.effects.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1 ml-6 mt-0.5", children: trace.effects.map((eff, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn(
|
|
45019
|
-
"px-1 rounded text-
|
|
45023
|
+
"px-1 rounded text-xs",
|
|
45020
45024
|
eff.status === "executed" ? "bg-green-500/15 text-green-600 dark:text-green-400" : eff.status === "failed" ? "bg-red-500/15 text-red-600 dark:text-red-400" : "bg-yellow-500/15 text-yellow-600 dark:text-yellow-400"
|
|
45021
45025
|
), children: [
|
|
45022
45026
|
eff.status === "executed" ? "\u2713" : eff.status === "failed" ? "\u2717" : "-",
|
|
@@ -58022,7 +58026,7 @@ var SystemNode = ({ data }) => {
|
|
|
58022
58026
|
/* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "source", position: react.Position.Right, className: "!w-2 !h-2 !bg-orange-400" }),
|
|
58023
58027
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 mb-1", children: [
|
|
58024
58028
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 14, height: 14, viewBox: "0 0 20 20", children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlEntity, { x: 10, y: 10, r: 8, persistence }) }),
|
|
58025
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
58029
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-[var(--color-foreground)] truncate flex-1", children: orbitalName })
|
|
58026
58030
|
] }),
|
|
58027
58031
|
fieldDots.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("svg", { width: fieldDots.length * 10 + 2, height: 10, viewBox: `0 0 ${fieldDots.length * 10 + 2} 10`, className: "mb-1", children: fieldDots.map((f3, i) => /* @__PURE__ */ jsxRuntime.jsx(exports.AvlFieldType, { x: i * 10 + 5, y: 5, kind: toFieldKind(f3.type), size: 4 }, f3.name)) }),
|
|
58028
58032
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
@@ -58076,28 +58080,28 @@ var DetailView = ({ data }) => {
|
|
|
58076
58080
|
] }) }),
|
|
58077
58081
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 py-3 space-y-3", children: [
|
|
58078
58082
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
58079
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
58083
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs uppercase tracking-wider text-[var(--color-muted-foreground)] mb-1", children: "Trigger" }),
|
|
58080
58084
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
58081
58085
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 16, height: 16, viewBox: "0 0 16 16", children: /* @__PURE__ */ jsxRuntime.jsx(AvlEvent, { x: 8, y: 8, size: 7 }) }),
|
|
58082
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
58086
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-[var(--color-foreground)]", children: transition.event })
|
|
58083
58087
|
] })
|
|
58084
58088
|
] }),
|
|
58085
58089
|
hasGuard && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
58086
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
58090
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs uppercase tracking-wider text-[var(--color-muted-foreground)] mb-1", children: "Guard" }),
|
|
58087
58091
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
58088
58092
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 14, height: 14, viewBox: "0 0 14 14", children: /* @__PURE__ */ jsxRuntime.jsx(AvlGuard, { x: 7, y: 7, size: 6 }) }),
|
|
58089
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
58093
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-mono text-[var(--color-muted-foreground)] opacity-60", children: typeof transition.guard === "string" ? transition.guard : JSON.stringify(transition.guard) })
|
|
58090
58094
|
] })
|
|
58091
58095
|
] }),
|
|
58092
58096
|
transition.effects.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
58093
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
58097
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs uppercase tracking-wider text-[var(--color-muted-foreground)] mb-1", children: "Effects" }),
|
|
58094
58098
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: transition.effects.map((effect, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-1.5", children: [
|
|
58095
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-
|
|
58099
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-[var(--color-muted-foreground)] w-3 text-right mt-0.5", children: [
|
|
58096
58100
|
i + 1,
|
|
58097
58101
|
"."
|
|
58098
58102
|
] }),
|
|
58099
58103
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 18, height: 18, viewBox: "0 0 20 20", children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlEffect, { x: 10, y: 10, effectType: effect.type, size: 8, showBackground: true }) }),
|
|
58100
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
58104
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[var(--color-foreground)]", children: effect.type })
|
|
58101
58105
|
] }, i)) })
|
|
58102
58106
|
] })
|
|
58103
58107
|
] })
|
|
@@ -58170,7 +58174,7 @@ var AvlTransitionEdge = ({
|
|
|
58170
58174
|
style: { transform: `translate(-50%, -50%) translate(${labelX}px, ${labelY}px)` },
|
|
58171
58175
|
children: [
|
|
58172
58176
|
data?.hasGuard && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-3 h-3 rotate-45 border border-amber-500 bg-amber-500/10 shrink-0", title: "Guard" }),
|
|
58173
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-0.5 text-
|
|
58177
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-card)] border border-[var(--color-border)] text-[var(--color-foreground)] truncate max-w-[160px]", children: data?.event ?? "" }),
|
|
58174
58178
|
data?.hasEffects && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-2.5 h-2.5 rounded-full bg-violet-500/80 shrink-0", title: "Effects" })
|
|
58175
58179
|
]
|
|
58176
58180
|
}
|
|
@@ -58226,7 +58230,7 @@ var AvlEventWireEdge = ({
|
|
|
58226
58230
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58227
58231
|
"div",
|
|
58228
58232
|
{
|
|
58229
|
-
className: "px-2 py-0.5 text-
|
|
58233
|
+
className: "px-2 py-0.5 text-xs font-medium rounded-full border truncate max-w-[180px]",
|
|
58230
58234
|
style: {
|
|
58231
58235
|
color: wireColor,
|
|
58232
58236
|
borderColor: wireColor,
|
|
@@ -61974,7 +61978,7 @@ var OrbPreviewNodeInner = (props) => {
|
|
|
61974
61978
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
61975
61979
|
Box,
|
|
61976
61980
|
{
|
|
61977
|
-
className: "absolute top-1.5 right-1.5 rounded px-1 py-[1px] text-
|
|
61981
|
+
className: "absolute top-1.5 right-1.5 rounded px-1 py-[1px] text-xs font-mono uppercase tracking-wider pointer-events-none",
|
|
61978
61982
|
style: {
|
|
61979
61983
|
backgroundColor: "var(--color-muted)",
|
|
61980
61984
|
color: "var(--color-muted-foreground)",
|
|
@@ -61994,7 +61998,7 @@ var OrbPreviewNodeInner = (props) => {
|
|
|
61994
61998
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
61995
61999
|
Box,
|
|
61996
62000
|
{
|
|
61997
|
-
className: "rounded-md px-2 py-1 text-
|
|
62001
|
+
className: "rounded-md px-2 py-1 text-xs font-medium flex items-center gap-1",
|
|
61998
62002
|
style: {
|
|
61999
62003
|
backgroundColor: "var(--color-card)",
|
|
62000
62004
|
color: "var(--color-foreground)",
|
|
@@ -62019,7 +62023,7 @@ var OrbPreviewNodeInner = (props) => {
|
|
|
62019
62023
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
62020
62024
|
Box,
|
|
62021
62025
|
{
|
|
62022
|
-
className: "rounded-md px-2 py-1 text-
|
|
62026
|
+
className: "rounded-md px-2 py-1 text-xs font-semibold",
|
|
62023
62027
|
style: {
|
|
62024
62028
|
backgroundColor: "var(--color-primary)",
|
|
62025
62029
|
color: "var(--color-primary-foreground)",
|
|
@@ -62080,12 +62084,12 @@ var OrbPreviewNodeInner = (props) => {
|
|
|
62080
62084
|
),
|
|
62081
62085
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col min-w-0 flex-1", children: [
|
|
62082
62086
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold truncate leading-tight", children: label }),
|
|
62083
|
-
sublabel && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground truncate text-
|
|
62087
|
+
sublabel && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground truncate text-xs leading-tight", children: sublabel })
|
|
62084
62088
|
] }),
|
|
62085
62089
|
eventSources.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex gap-0.5 shrink-0", children: eventSources.slice(0, 3).map((src) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
62086
62090
|
Box,
|
|
62087
62091
|
{
|
|
62088
|
-
className: "rounded-full px-1 py-0 text-
|
|
62092
|
+
className: "rounded-full px-1 py-0 text-xs font-medium leading-tight",
|
|
62089
62093
|
style: {
|
|
62090
62094
|
backgroundColor: "#F9731615",
|
|
62091
62095
|
color: "#F97316",
|
|
@@ -62310,8 +62314,8 @@ var BehaviorComposeNodeInner = (props) => {
|
|
|
62310
62314
|
),
|
|
62311
62315
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-2 px-3 py-1.5 border-b border-border/40 drag-handle cursor-grab", children: [
|
|
62312
62316
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col min-w-0 flex-1", children: [
|
|
62313
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold truncate leading-tight text-
|
|
62314
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground truncate text-
|
|
62317
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold truncate leading-tight text-xs", children: data.behaviorName }),
|
|
62318
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground truncate text-xs leading-tight", children: data.entityName })
|
|
62315
62319
|
] }),
|
|
62316
62320
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "neutral", className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-[9px] text-inherit", children: data.level }) })
|
|
62317
62321
|
] }),
|
|
@@ -62335,7 +62339,7 @@ var BehaviorComposeNodeInner = (props) => {
|
|
|
62335
62339
|
connectableEvents.slice(0, 4).map((ev) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
62336
62340
|
Box,
|
|
62337
62341
|
{
|
|
62338
|
-
className: "rounded-full px-1.5 py-0 text-
|
|
62342
|
+
className: "rounded-full px-1.5 py-0 text-xs font-medium leading-tight",
|
|
62339
62343
|
style: {
|
|
62340
62344
|
backgroundColor: "#F9731615",
|
|
62341
62345
|
color: "#F97316",
|
|
@@ -62349,7 +62353,7 @@ var BehaviorComposeNodeInner = (props) => {
|
|
|
62349
62353
|
connectableEvents.length > 4 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
62350
62354
|
Box,
|
|
62351
62355
|
{
|
|
62352
|
-
className: "rounded-full px-1.5 py-0 text-
|
|
62356
|
+
className: "rounded-full px-1.5 py-0 text-xs font-medium leading-tight",
|
|
62353
62357
|
style: { color: "var(--color-muted-foreground)" },
|
|
62354
62358
|
children: [
|
|
62355
62359
|
"+",
|
|
@@ -62363,7 +62367,7 @@ var BehaviorComposeNodeInner = (props) => {
|
|
|
62363
62367
|
data.stateCount,
|
|
62364
62368
|
" states"
|
|
62365
62369
|
] }),
|
|
62366
|
-
data.layer && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "neutral", className: "text-
|
|
62370
|
+
data.layer && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "neutral", className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-xs text-inherit", children: data.layer }) })
|
|
62367
62371
|
] }),
|
|
62368
62372
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
62369
62373
|
react.Handle,
|
|
@@ -62713,7 +62717,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62713
62717
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center gap-2", children: selectedPattern ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
62714
62718
|
Box,
|
|
62715
62719
|
{
|
|
62716
|
-
className: "rounded px-2 py-0.5 text-
|
|
62720
|
+
className: "rounded px-2 py-0.5 text-xs font-mono font-semibold",
|
|
62717
62721
|
style: { backgroundColor: "var(--color-primary)", color: "var(--color-primary-foreground)" },
|
|
62718
62722
|
children: headerTitle
|
|
62719
62723
|
}
|
|
@@ -62732,7 +62736,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62732
62736
|
"button",
|
|
62733
62737
|
{
|
|
62734
62738
|
onClick: () => setActiveTab(tab),
|
|
62735
|
-
className: `pb-2 text-
|
|
62739
|
+
className: `pb-2 text-xs font-medium border-b-2 cursor-pointer bg-transparent border-x-0 border-t-0 px-0 capitalize ${activeTab === tab ? "border-[var(--color-primary)] text-foreground" : "border-transparent text-muted-foreground hover:text-foreground"}`,
|
|
62736
62740
|
children: tab
|
|
62737
62741
|
},
|
|
62738
62742
|
tab
|
|
@@ -62779,7 +62783,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62779
62783
|
/* ── Inspector Tab ── */
|
|
62780
62784
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
62781
62785
|
selectedPattern && patternDef?.propsSchema && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 border-b border-border/40", children: [
|
|
62782
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62786
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: t("Props") }),
|
|
62783
62787
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex flex-col gap-1.5", children: Object.entries(patternDef.propsSchema).slice(0, 12).map(([propName, propSchema]) => {
|
|
62784
62788
|
const ps = propSchema;
|
|
62785
62789
|
const explicitValue = patternConfig ? patternConfig[propName] : void 0;
|
|
@@ -62796,16 +62800,16 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62796
62800
|
isImplicit: String(isImplicit)
|
|
62797
62801
|
}));
|
|
62798
62802
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-2", children: [
|
|
62799
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62803
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs w-20 shrink-0 font-mono", children: propName }),
|
|
62800
62804
|
editable ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
62801
62805
|
Input,
|
|
62802
62806
|
{
|
|
62803
62807
|
defaultValue: displayValue,
|
|
62804
62808
|
placeholder: ps.types?.join(" | ") ?? "string",
|
|
62805
|
-
className: "flex-1 text-
|
|
62809
|
+
className: "flex-1 text-xs h-6",
|
|
62806
62810
|
onBlur: (e) => handlePropChange(propName, e.target.value)
|
|
62807
62811
|
}
|
|
62808
|
-
) : /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-
|
|
62812
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-xs text-muted-foreground", children: [
|
|
62809
62813
|
displayValue || "\u2014",
|
|
62810
62814
|
ps.required ? " *" : ""
|
|
62811
62815
|
] })
|
|
@@ -62813,11 +62817,11 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62813
62817
|
}) })
|
|
62814
62818
|
] }),
|
|
62815
62819
|
userType === "architect" && (selectedPattern && isEntityPattern || !selectedPattern && !isExpanded) && entity && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 border-b border-border/40", children: [
|
|
62816
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62820
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: t("Entity") }),
|
|
62817
62821
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-2 mb-2", children: [
|
|
62818
62822
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 14, height: 14, children: /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: 7, cy: 7, r: 5, fill: "var(--color-primary)" }) }),
|
|
62819
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold text-
|
|
62820
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62823
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold text-xs", children: entity.name }),
|
|
62824
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: entity.persistence })
|
|
62821
62825
|
] }),
|
|
62822
62826
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex flex-col gap-1", children: entity.fields.map((f3) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
62823
62827
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 12, height: 12, children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlFieldType, { x: 6, y: 6, kind: FIELD_TYPE_MAP[f3.type] ?? "string", size: 4 }) }),
|
|
@@ -62826,7 +62830,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62826
62830
|
Input,
|
|
62827
62831
|
{
|
|
62828
62832
|
defaultValue: f3.name,
|
|
62829
|
-
className: "flex-1 text-
|
|
62833
|
+
className: "flex-1 text-xs font-mono h-6",
|
|
62830
62834
|
onBlur: (e) => {
|
|
62831
62835
|
if (e.target.value !== f3.name) {
|
|
62832
62836
|
handleUpdateField(f3.name, { name: e.target.value });
|
|
@@ -62840,7 +62844,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62840
62844
|
value: f3.type,
|
|
62841
62845
|
options: FIELD_TYPE_OPTIONS,
|
|
62842
62846
|
onChange: (e) => handleUpdateField(f3.name, { type: e.target.value }),
|
|
62843
|
-
className: "w-20 text-
|
|
62847
|
+
className: "w-20 text-xs h-6"
|
|
62844
62848
|
}
|
|
62845
62849
|
),
|
|
62846
62850
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -62854,8 +62858,8 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62854
62858
|
}
|
|
62855
62859
|
)
|
|
62856
62860
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
62857
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
62858
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62861
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs font-mono flex-1", children: f3.name }),
|
|
62862
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: f3.type }),
|
|
62859
62863
|
f3.required && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-primary text-[9px]", children: t("req") })
|
|
62860
62864
|
] })
|
|
62861
62865
|
] }, f3.name)) }),
|
|
@@ -62865,7 +62869,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62865
62869
|
variant: "ghost",
|
|
62866
62870
|
size: "sm",
|
|
62867
62871
|
onClick: handleAddField,
|
|
62868
|
-
className: "mt-2 text-
|
|
62872
|
+
className: "mt-2 text-xs w-full",
|
|
62869
62873
|
children: [
|
|
62870
62874
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "plus", size: "xs", className: "mr-1" }),
|
|
62871
62875
|
t("Add Field")
|
|
@@ -62874,14 +62878,14 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62874
62878
|
)
|
|
62875
62879
|
] }),
|
|
62876
62880
|
editable && !selectedPattern && !isExpanded && node.layer === "Services" && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 border-b border-border/40", children: [
|
|
62877
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62881
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: t("Service Mode") }),
|
|
62878
62882
|
/* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", className: "items-center", children: [
|
|
62879
62883
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
62880
62884
|
Button,
|
|
62881
62885
|
{
|
|
62882
62886
|
variant: hasRenderUi ? "primary" : "ghost",
|
|
62883
62887
|
size: "sm",
|
|
62884
|
-
className: "flex-1 text-
|
|
62888
|
+
className: "flex-1 text-xs",
|
|
62885
62889
|
onClick: () => {
|
|
62886
62890
|
if (!hasRenderUi) eventBus.emit("UI:SERVICE_MODE_TOGGLE", { orbitalName: node.orbitalName, standalone: true });
|
|
62887
62891
|
},
|
|
@@ -62896,7 +62900,7 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62896
62900
|
{
|
|
62897
62901
|
variant: hasRenderUi ? "ghost" : "primary",
|
|
62898
62902
|
size: "sm",
|
|
62899
|
-
className: "flex-1 text-
|
|
62903
|
+
className: "flex-1 text-xs",
|
|
62900
62904
|
onClick: () => {
|
|
62901
62905
|
if (hasRenderUi) eventBus.emit("UI:SERVICE_MODE_TOGGLE", { orbitalName: node.orbitalName, standalone: false });
|
|
62902
62906
|
},
|
|
@@ -62907,34 +62911,34 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62907
62911
|
}
|
|
62908
62912
|
)
|
|
62909
62913
|
] }),
|
|
62910
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62914
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs mt-1", children: hasRenderUi ? t("Renders its own UI") : t("Headless, wired to other behaviors") })
|
|
62911
62915
|
] }),
|
|
62912
62916
|
!selectedPattern && !isExpanded && traits2.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 border-b border-border/40", children: [
|
|
62913
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62917
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: "Traits" }),
|
|
62914
62918
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex flex-col gap-1", children: traits2.map((t2) => /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-2", children: [
|
|
62915
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
62916
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62919
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs font-semibold", children: t2.name }),
|
|
62920
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: [
|
|
62917
62921
|
t2.stateCount,
|
|
62918
62922
|
" states"
|
|
62919
62923
|
] })
|
|
62920
62924
|
] }, t2.name)) })
|
|
62921
62925
|
] }),
|
|
62922
62926
|
isExpanded && fromState && toState && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 border-b border-border/40", children: [
|
|
62923
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62927
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: "Transition" }),
|
|
62924
62928
|
/* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "100%", height: 44, viewBox: "0 0 280 44", children: [
|
|
62925
62929
|
/* @__PURE__ */ jsxRuntime.jsx(exports.AvlState, { x: 8, y: 8, name: fromState, role: getStateRole(fromState), width: 90, height: 26 }),
|
|
62926
62930
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: 104, y1: 21, x2: 158, y2: 21, stroke: "#1E293B", strokeWidth: 2, markerEnd: "url(#orb-arrow)" }),
|
|
62927
62931
|
/* @__PURE__ */ jsxRuntime.jsx(exports.AvlState, { x: 164, y: 8, name: toState, role: getStateRole(toState), width: 90, height: 26 }),
|
|
62928
62932
|
/* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("marker", { id: "orb-arrow", markerWidth: 8, markerHeight: 6, refX: 8, refY: 3, orient: "auto", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0,0 L8,3 L0,6 Z", fill: "#1E293B" }) }) })
|
|
62929
62933
|
] }),
|
|
62930
|
-
traitName && /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62934
|
+
traitName && /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: [
|
|
62931
62935
|
traitName,
|
|
62932
62936
|
entityName ? ` on ${entityName}` : ""
|
|
62933
62937
|
] })
|
|
62934
62938
|
] }),
|
|
62935
62939
|
isExpanded && transitionEvent && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "px-4 py-2 border-b border-border/40", children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-2", children: [
|
|
62936
62940
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 16, height: 16, children: /* @__PURE__ */ jsxRuntime.jsx(AvlEvent, { x: 8, y: 8, size: 12 }) }),
|
|
62937
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold text-
|
|
62941
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold text-xs", children: transitionEvent })
|
|
62938
62942
|
] }) }),
|
|
62939
62943
|
userType === "architect" && (transition?.guard ?? guard ?? editable) && isExpanded && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "px-4 py-2 border-b border-border/40", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
62940
62944
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: 16, height: 16, children: /* @__PURE__ */ jsxRuntime.jsx(AvlGuard, { x: 8, y: 8, size: 12 }) }),
|
|
@@ -62943,13 +62947,13 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62943
62947
|
{
|
|
62944
62948
|
defaultValue: formatExpression(transition?.guard ?? guard),
|
|
62945
62949
|
placeholder: t("Guard expression"),
|
|
62946
|
-
className: "flex-1 text-
|
|
62950
|
+
className: "flex-1 text-xs font-mono h-6",
|
|
62947
62951
|
onBlur: (e) => handleGuardChange(e.target.value)
|
|
62948
62952
|
}
|
|
62949
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-mono text-
|
|
62953
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-mono text-xs text-muted-foreground", children: formatExpression(transition?.guard ?? guard) })
|
|
62950
62954
|
] }) }),
|
|
62951
62955
|
userType === "architect" && (effectTypes.length > 0 || editable) && isExpanded && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 border-b border-border/40", children: [
|
|
62952
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62956
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: [
|
|
62953
62957
|
t("Effects"),
|
|
62954
62958
|
" (",
|
|
62955
62959
|
effectTypes.length,
|
|
@@ -62960,12 +62964,12 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62960
62964
|
const category = exports.EFFECT_TYPE_TO_CATEGORY[type];
|
|
62961
62965
|
const catColor = category ? exports.EFFECT_CATEGORY_COLORS[category] : void 0;
|
|
62962
62966
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
62963
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62967
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs w-4 text-right shrink-0", children: [
|
|
62964
62968
|
i + 1,
|
|
62965
62969
|
"."
|
|
62966
62970
|
] }),
|
|
62967
62971
|
isKnown && /* @__PURE__ */ jsxRuntime.jsx("svg", { width: 16, height: 16, children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlEffect, { x: 8, y: 8, effectType: type, size: 6, showBackground: true }) }),
|
|
62968
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
62972
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs flex-1", style: { color: catColor?.color }, children: effectSummary(type) }),
|
|
62969
62973
|
editable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
62970
62974
|
Button,
|
|
62971
62975
|
{
|
|
@@ -62981,9 +62985,9 @@ function OrbInspector({ node, schema, editable = false, userType = "builder", th
|
|
|
62981
62985
|
editable && /* @__PURE__ */ jsxRuntime.jsx(AddEffectButton, { onAdd: handleAddEffect })
|
|
62982
62986
|
] }),
|
|
62983
62987
|
userType === "architect" && patterns$1.length > 0 && !selectedPattern && /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3", children: [
|
|
62984
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62985
|
-
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "bg-muted/20 rounded-md p-3 font-mono text-
|
|
62986
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
62988
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: "render-ui" }),
|
|
62989
|
+
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "bg-muted/20 rounded-md p-3 font-mono text-xs leading-relaxed overflow-x-auto", children: patterns$1.map((entry, i) => /* @__PURE__ */ jsxRuntime.jsxs(Box, { children: [
|
|
62990
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: [
|
|
62987
62991
|
"slot: ",
|
|
62988
62992
|
entry.slot
|
|
62989
62993
|
] }),
|
|
@@ -63004,7 +63008,7 @@ function AddEffectButton({ onAdd }) {
|
|
|
63004
63008
|
variant: "ghost",
|
|
63005
63009
|
size: "sm",
|
|
63006
63010
|
onClick: () => setOpen((prev) => !prev),
|
|
63007
|
-
className: "text-
|
|
63011
|
+
className: "text-xs w-full",
|
|
63008
63012
|
children: [
|
|
63009
63013
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "plus", size: "xs", className: "mr-1" }),
|
|
63010
63014
|
t("Add Effect")
|
|
@@ -63014,14 +63018,14 @@ function AddEffectButton({ onAdd }) {
|
|
|
63014
63018
|
open && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "absolute z-20 top-full left-0 right-0 mt-1 bg-card border border-border rounded-md shadow-lg overflow-hidden", children: EFFECT_TYPE_OPTIONS.map((opt) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
63015
63019
|
Box,
|
|
63016
63020
|
{
|
|
63017
|
-
className: "px-3 py-1.5 text-
|
|
63021
|
+
className: "px-3 py-1.5 text-xs cursor-pointer hover:bg-muted/50 flex items-center gap-2",
|
|
63018
63022
|
onClick: () => {
|
|
63019
63023
|
onAdd(opt.value);
|
|
63020
63024
|
setOpen(false);
|
|
63021
63025
|
},
|
|
63022
63026
|
children: [
|
|
63023
63027
|
KNOWN_EFFECTS.has(opt.value) && /* @__PURE__ */ jsxRuntime.jsx("svg", { width: 14, height: 14, children: /* @__PURE__ */ jsxRuntime.jsx(exports.AvlEffect, { x: 7, y: 7, effectType: opt.value, size: 5, showBackground: true }) }),
|
|
63024
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
63028
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs", children: opt.label })
|
|
63025
63029
|
]
|
|
63026
63030
|
},
|
|
63027
63031
|
opt.value
|
|
@@ -63034,14 +63038,14 @@ function OrbPatternTree({ config, depth }) {
|
|
|
63034
63038
|
if (typeof type !== "string") return null;
|
|
63035
63039
|
const propEntries = Object.entries(props).filter(([k]) => k !== "type");
|
|
63036
63040
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { style: { paddingLeft: depth * 12 }, children: [
|
|
63037
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-primary font-semibold text-
|
|
63041
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-primary font-semibold text-xs", children: type }),
|
|
63038
63042
|
propEntries.slice(0, 5).map(([key, val]) => {
|
|
63039
63043
|
const display = typeof val === "string" ? val.startsWith("@") ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-500", children: val }) : `"${val}"` : Array.isArray(val) && typeof val[0] === "string" && val[0].includes("/") ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-amber-600", children: [
|
|
63040
63044
|
"(",
|
|
63041
63045
|
val.join(" "),
|
|
63042
63046
|
")"
|
|
63043
63047
|
] }) : String(val);
|
|
63044
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex gap-1 text-
|
|
63048
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex gap-1 text-xs", children: [
|
|
63045
63049
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
|
|
63046
63050
|
key,
|
|
63047
63051
|
":"
|
|
@@ -63068,7 +63072,7 @@ var PHASE_2_TOKEN_FALLBACK = {
|
|
|
63068
63072
|
function StylesTab({ patternType, patternDef, patternConfig, editable, onPropChange, themeManifest, isDesignSystem }) {
|
|
63069
63073
|
const { t } = useTranslate();
|
|
63070
63074
|
if (!patternType) {
|
|
63071
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
63075
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: t("Select a pattern to view its style tokens.") }) });
|
|
63072
63076
|
}
|
|
63073
63077
|
const tier = patternDef?.category ?? "Pattern";
|
|
63074
63078
|
const tokens = PHASE_2_TOKEN_FALLBACK[patternType] ?? [];
|
|
@@ -63078,7 +63082,7 @@ function StylesTab({ patternType, patternDef, patternConfig, editable, onPropCha
|
|
|
63078
63082
|
const currentSize = patternConfig && typeof patternConfig.size === "string" ? patternConfig.size : void 0;
|
|
63079
63083
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "px-4 py-3 flex flex-col gap-4", children: [
|
|
63080
63084
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-2", children: [
|
|
63081
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold text-
|
|
63085
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-semibold text-xs", children: patternType }),
|
|
63082
63086
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
63083
63087
|
Box,
|
|
63084
63088
|
{
|
|
@@ -63089,11 +63093,11 @@ function StylesTab({ patternType, patternDef, patternConfig, editable, onPropCha
|
|
|
63089
63093
|
)
|
|
63090
63094
|
] }),
|
|
63091
63095
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { children: [
|
|
63092
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
63093
|
-
tokens.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
63096
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: t("Tokens") }),
|
|
63097
|
+
tokens.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs italic", children: t("No token contract declared for this pattern.") }) : /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex flex-col gap-1", children: tokens.map((token) => /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-mono text-xs", children: token }) }, token)) })
|
|
63094
63098
|
] }),
|
|
63095
63099
|
variantEnum && variantEnum.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Box, { children: [
|
|
63096
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
63100
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: t("Variant") }),
|
|
63097
63101
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex flex-wrap gap-1", children: variantEnum.map((variant) => {
|
|
63098
63102
|
const isActive = variant === currentVariant || !currentVariant && variant === "default";
|
|
63099
63103
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -63101,7 +63105,7 @@ function StylesTab({ patternType, patternDef, patternConfig, editable, onPropCha
|
|
|
63101
63105
|
{
|
|
63102
63106
|
as: editable ? "button" : "div",
|
|
63103
63107
|
onClick: editable ? () => onPropChange("variant", variant) : void 0,
|
|
63104
|
-
className: `rounded px-2 py-0.5 text-
|
|
63108
|
+
className: `rounded px-2 py-0.5 text-xs font-mono ${editable ? "cursor-pointer hover:opacity-80 transition-opacity" : ""}`,
|
|
63105
63109
|
style: {
|
|
63106
63110
|
backgroundColor: isActive ? "var(--color-primary)" : "var(--color-muted)",
|
|
63107
63111
|
color: isActive ? "var(--color-primary-foreground)" : "var(--color-muted-foreground)"
|
|
@@ -63113,7 +63117,7 @@ function StylesTab({ patternType, patternDef, patternConfig, editable, onPropCha
|
|
|
63113
63117
|
}) })
|
|
63114
63118
|
] }),
|
|
63115
63119
|
sizeEnum && sizeEnum.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Box, { children: [
|
|
63116
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-
|
|
63120
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-muted-foreground text-xs uppercase tracking-wider mb-2", children: t("Size") }),
|
|
63117
63121
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex flex-wrap gap-1", children: sizeEnum.map((size) => {
|
|
63118
63122
|
const isActive = size === currentSize || !currentSize && size === "md";
|
|
63119
63123
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -63121,7 +63125,7 @@ function StylesTab({ patternType, patternDef, patternConfig, editable, onPropCha
|
|
|
63121
63125
|
{
|
|
63122
63126
|
as: editable ? "button" : "div",
|
|
63123
63127
|
onClick: editable ? () => onPropChange("size", size) : void 0,
|
|
63124
|
-
className: `rounded px-2 py-0.5 text-
|
|
63128
|
+
className: `rounded px-2 py-0.5 text-xs font-mono ${editable ? "cursor-pointer hover:opacity-80 transition-opacity" : ""}`,
|
|
63125
63129
|
style: {
|
|
63126
63130
|
backgroundColor: isActive ? "var(--color-primary)" : "var(--color-muted)",
|
|
63127
63131
|
color: isActive ? "var(--color-primary-foreground)" : "var(--color-muted-foreground)"
|
|
@@ -63144,12 +63148,12 @@ var TOKEN_GROUPS = [
|
|
|
63144
63148
|
function TokenEditorSection({ themeManifest, onPropChange }) {
|
|
63145
63149
|
const tokens = themeManifest.tokens ?? {};
|
|
63146
63150
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col gap-3 pt-2 border-t border-border/40", children: [
|
|
63147
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
63151
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs uppercase tracking-wider text-muted-foreground", children: "Project theme tokens" }),
|
|
63148
63152
|
TOKEN_GROUPS.map(({ group, label }) => {
|
|
63149
63153
|
const entries = Object.entries(tokens[group] ?? {});
|
|
63150
63154
|
if (entries.length === 0) return null;
|
|
63151
63155
|
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col gap-1.5", children: [
|
|
63152
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-
|
|
63156
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "text-xs font-mono text-muted-foreground", children: label }),
|
|
63153
63157
|
entries.map(([key, value]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
63154
63158
|
TokenRow,
|
|
63155
63159
|
{
|
|
@@ -63174,13 +63178,13 @@ function TokenRow({ group, tokenKey, value, isColor, onPropChange }) {
|
|
|
63174
63178
|
style: { backgroundColor: value }
|
|
63175
63179
|
}
|
|
63176
63180
|
),
|
|
63177
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-mono text-
|
|
63181
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", className: "font-mono text-xs text-muted-foreground w-24 shrink-0 truncate", children: tokenKey }),
|
|
63178
63182
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
63179
63183
|
Input,
|
|
63180
63184
|
{
|
|
63181
63185
|
value,
|
|
63182
63186
|
onChange: (e) => onPropChange(`__token__.${group}.${tokenKey}`, e.target.value),
|
|
63183
|
-
className: "flex-1 text-
|
|
63187
|
+
className: "flex-1 text-xs font-mono"
|
|
63184
63188
|
}
|
|
63185
63189
|
)
|
|
63186
63190
|
] });
|
|
@@ -63785,7 +63789,7 @@ function FlowCanvasInner({
|
|
|
63785
63789
|
reactFlow.fitView({ duration: 300, padding: 0.25 });
|
|
63786
63790
|
});
|
|
63787
63791
|
},
|
|
63788
|
-
className: `px-2 py-1 text-
|
|
63792
|
+
className: `px-2 py-1 text-xs font-medium rounded cursor-pointer border-none transition-colors ${active ? "bg-primary text-primary-foreground" : "bg-transparent text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,
|
|
63789
63793
|
title: `${p2.label} (${p2.width}px)`,
|
|
63790
63794
|
"aria-label": `Switch to ${p2.label} view`,
|
|
63791
63795
|
children: p2.label
|
|
@@ -63863,7 +63867,7 @@ var ZoomBreadcrumb = ({
|
|
|
63863
63867
|
if (eventName && band === "detail") {
|
|
63864
63868
|
segments.push({ icon: "\u26A1", label: eventName });
|
|
63865
63869
|
}
|
|
63866
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1 px-2 py-1 rounded-md bg-card/90 border border-border text-
|
|
63870
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1 px-2 py-1 rounded-md bg-card/90 border border-border text-xs text-muted-foreground backdrop-blur-sm", children: segments.map((seg, i) => /* @__PURE__ */ jsxRuntime.jsxs(React98__namespace.default.Fragment, { children: [
|
|
63867
63871
|
i > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-40", children: ">" }),
|
|
63868
63872
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-60", children: seg.icon }),
|
|
63869
63873
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: seg.label })
|
|
@@ -63915,11 +63919,11 @@ var ZoomLegend = ({ band }) => {
|
|
|
63915
63919
|
"button",
|
|
63916
63920
|
{
|
|
63917
63921
|
onClick: () => setCollapsed(!collapsed),
|
|
63918
|
-
className: "px-2 py-1 text-
|
|
63922
|
+
className: "px-2 py-1 text-xs rounded-md bg-card/90 border border-border text-muted-foreground backdrop-blur-sm cursor-pointer hover:bg-card",
|
|
63919
63923
|
children: collapsed ? "Legend" : "Hide"
|
|
63920
63924
|
}
|
|
63921
63925
|
),
|
|
63922
|
-
!collapsed && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 px-2 py-1.5 rounded-md bg-card/95 border border-border backdrop-blur-sm space-y-0.5", children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-
|
|
63926
|
+
!collapsed && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 px-2 py-1.5 rounded-md bg-card/95 border border-border backdrop-blur-sm space-y-0.5", children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
63923
63927
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-70 w-6 text-center", children: item.icon }),
|
|
63924
63928
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: item.label })
|
|
63925
63929
|
] }, i)) })
|