@almadar/ui 2.24.3 → 2.24.5
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/components/index.cjs +24 -18
- package/dist/components/index.js +24 -18
- package/dist/components/organisms/game/three/index.cjs +2 -2
- package/dist/components/organisms/game/three/index.js +2 -2
- package/dist/docs/index.cjs +8 -6
- package/dist/docs/index.js +8 -6
- package/dist/marketing/index.cjs +9 -7
- package/dist/marketing/index.js +9 -7
- package/dist/providers/index.cjs +12 -8
- package/dist/providers/index.js +12 -8
- package/dist/runtime/index.cjs +23 -17
- package/dist/runtime/index.js +23 -17
- package/package.json +1 -1
- package/themes/wireframe.css +5 -5
|
@@ -232,15 +232,15 @@ Icon.displayName = "Icon";
|
|
|
232
232
|
var variantStyles = {
|
|
233
233
|
primary: [
|
|
234
234
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
235
|
-
"border-
|
|
235
|
+
"border-none",
|
|
236
236
|
"shadow-[var(--shadow-sm)]",
|
|
237
237
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
238
238
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
239
239
|
].join(" "),
|
|
240
240
|
secondary: [
|
|
241
|
-
"bg-
|
|
242
|
-
"border-
|
|
243
|
-
"hover:bg-[var(--color-
|
|
241
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
242
|
+
"border-none",
|
|
243
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
244
244
|
"active:scale-[var(--active-scale)]"
|
|
245
245
|
].join(" "),
|
|
246
246
|
ghost: [
|
|
@@ -590,14 +590,16 @@ var Checkbox = React88__namespace.default.forwardRef(
|
|
|
590
590
|
Checkbox.displayName = "Checkbox";
|
|
591
591
|
var variantStyles2 = {
|
|
592
592
|
default: [
|
|
593
|
-
"bg-[var(--color-card)]
|
|
593
|
+
"bg-[var(--color-card)]",
|
|
594
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
595
|
+
"shadow-[var(--shadow-sm)]",
|
|
594
596
|
"transition-all duration-[var(--transition-normal)]",
|
|
595
597
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
596
598
|
].join(" "),
|
|
597
599
|
bordered: [
|
|
598
600
|
"bg-[var(--color-card)]",
|
|
599
601
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
600
|
-
"shadow-
|
|
602
|
+
"shadow-[var(--shadow-sm)]",
|
|
601
603
|
"transition-all duration-[var(--transition-normal)]",
|
|
602
604
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
603
605
|
].join(" "),
|
|
@@ -3003,6 +3005,7 @@ var TypewriterText = ({
|
|
|
3003
3005
|
className,
|
|
3004
3006
|
onComplete
|
|
3005
3007
|
}) => {
|
|
3008
|
+
const safeText = typeof text === "string" ? text : String(text ?? "");
|
|
3006
3009
|
const [charCount, setCharCount] = React88.useState(0);
|
|
3007
3010
|
const [started, setStarted] = React88.useState(startDelay === 0);
|
|
3008
3011
|
const onCompleteRef = React88.useRef(onComplete);
|
|
@@ -3026,14 +3029,14 @@ var TypewriterText = ({
|
|
|
3026
3029
|
}, [text]);
|
|
3027
3030
|
React88.useEffect(() => {
|
|
3028
3031
|
if (!started) return void 0;
|
|
3029
|
-
if (charCount >=
|
|
3032
|
+
if (charCount >= safeText.length) {
|
|
3030
3033
|
onCompleteRef.current?.();
|
|
3031
3034
|
return void 0;
|
|
3032
3035
|
}
|
|
3033
3036
|
const interval = window.setInterval(() => {
|
|
3034
3037
|
setCharCount((prev) => {
|
|
3035
3038
|
const next = prev + 1;
|
|
3036
|
-
if (next >=
|
|
3039
|
+
if (next >= safeText.length) {
|
|
3037
3040
|
window.clearInterval(interval);
|
|
3038
3041
|
}
|
|
3039
3042
|
return next;
|
|
@@ -3043,8 +3046,8 @@ var TypewriterText = ({
|
|
|
3043
3046
|
window.clearInterval(interval);
|
|
3044
3047
|
};
|
|
3045
3048
|
}, [started, text, speed, charCount]);
|
|
3046
|
-
const isComplete = charCount >=
|
|
3047
|
-
const displayedText =
|
|
3049
|
+
const isComplete = charCount >= safeText.length;
|
|
3050
|
+
const displayedText = safeText.slice(0, charCount);
|
|
3048
3051
|
return /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "body", className: cn("inline", className), children: [
|
|
3049
3052
|
displayedText,
|
|
3050
3053
|
!isComplete && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8255,6 +8258,7 @@ WizardNavigation.displayName = "WizardNavigation";
|
|
|
8255
8258
|
var MarkdownContent = React88__namespace.default.memo(
|
|
8256
8259
|
({ content, direction, className }) => {
|
|
8257
8260
|
const { t: _t } = useTranslate();
|
|
8261
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
8258
8262
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8259
8263
|
Box,
|
|
8260
8264
|
{
|
|
@@ -8344,7 +8348,7 @@ var MarkdownContent = React88__namespace.default.memo(
|
|
|
8344
8348
|
);
|
|
8345
8349
|
}
|
|
8346
8350
|
},
|
|
8347
|
-
children:
|
|
8351
|
+
children: safeContent
|
|
8348
8352
|
}
|
|
8349
8353
|
)
|
|
8350
8354
|
}
|
|
@@ -8355,13 +8359,14 @@ var MarkdownContent = React88__namespace.default.memo(
|
|
|
8355
8359
|
MarkdownContent.displayName = "MarkdownContent";
|
|
8356
8360
|
var CodeBlock = React88__namespace.default.memo(
|
|
8357
8361
|
({
|
|
8358
|
-
code,
|
|
8362
|
+
code: rawCode,
|
|
8359
8363
|
language = "text",
|
|
8360
8364
|
showCopyButton = true,
|
|
8361
8365
|
showLanguageBadge = true,
|
|
8362
8366
|
maxHeight = "60vh",
|
|
8363
8367
|
className
|
|
8364
8368
|
}) => {
|
|
8369
|
+
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
8365
8370
|
const eventBus = useEventBus();
|
|
8366
8371
|
const { t: _t } = useTranslate();
|
|
8367
8372
|
const scrollRef = React88.useRef(null);
|
|
@@ -10700,21 +10705,22 @@ function CombatLog({
|
|
|
10700
10705
|
] })
|
|
10701
10706
|
] }) }),
|
|
10702
10707
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { ref: scrollRef, overflow: "auto", className: "flex-1 max-h-64", children: visibleEvents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(Box, { padding: "md", className: "text-center opacity-50", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", children: "No events yet" }) }) : /* @__PURE__ */ jsxRuntime.jsx(Box, { padding: "xs", className: "space-y-1", children: visibleEvents.map((event) => {
|
|
10703
|
-
const
|
|
10704
|
-
const
|
|
10708
|
+
const eventType = event.type && event.type in eventIcons ? event.type : "attack";
|
|
10709
|
+
const EventIcon = eventIcons[eventType];
|
|
10710
|
+
const colorClass = eventColors[eventType];
|
|
10705
10711
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10706
10712
|
Box,
|
|
10707
10713
|
{
|
|
10708
10714
|
display: "flex",
|
|
10709
10715
|
padding: "xs",
|
|
10710
10716
|
rounded: "sm",
|
|
10711
|
-
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors",
|
|
10717
|
+
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors", eventType === "death" && "opacity-60"),
|
|
10712
10718
|
children: [
|
|
10713
10719
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("flex-shrink-0 mt-0.5", colorClass), children: /* @__PURE__ */ jsxRuntime.jsx(EventIcon, { className: "h-4 w-4" }) }),
|
|
10714
10720
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex-1 min-w-0", children: [
|
|
10715
10721
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "block", children: event.message }),
|
|
10716
|
-
event.value !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: eventBadgeVariants[
|
|
10717
|
-
|
|
10722
|
+
event.value !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: eventBadgeVariants[eventType], size: "sm", className: "mt-1", children: [
|
|
10723
|
+
eventType === "heal" ? "+" : eventType === "attack" ? "-" : "",
|
|
10718
10724
|
event.value
|
|
10719
10725
|
] })
|
|
10720
10726
|
] }),
|
|
@@ -15426,7 +15432,7 @@ var HeroSection = ({
|
|
|
15426
15432
|
src: image.src,
|
|
15427
15433
|
alt: image.alt,
|
|
15428
15434
|
className: cn(
|
|
15429
|
-
imagePosition === "right" ? "
|
|
15435
|
+
imagePosition === "right" ? "w-full max-w-[280px] max-h-[280px]" : "w-full min-h-[400px]"
|
|
15430
15436
|
)
|
|
15431
15437
|
}
|
|
15432
15438
|
);
|
package/dist/components/index.js
CHANGED
|
@@ -202,15 +202,15 @@ Icon.displayName = "Icon";
|
|
|
202
202
|
var variantStyles = {
|
|
203
203
|
primary: [
|
|
204
204
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
205
|
-
"border-
|
|
205
|
+
"border-none",
|
|
206
206
|
"shadow-[var(--shadow-sm)]",
|
|
207
207
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
208
208
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
209
209
|
].join(" "),
|
|
210
210
|
secondary: [
|
|
211
|
-
"bg-
|
|
212
|
-
"border-
|
|
213
|
-
"hover:bg-[var(--color-
|
|
211
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
212
|
+
"border-none",
|
|
213
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
214
214
|
"active:scale-[var(--active-scale)]"
|
|
215
215
|
].join(" "),
|
|
216
216
|
ghost: [
|
|
@@ -560,14 +560,16 @@ var Checkbox = React88__default.forwardRef(
|
|
|
560
560
|
Checkbox.displayName = "Checkbox";
|
|
561
561
|
var variantStyles2 = {
|
|
562
562
|
default: [
|
|
563
|
-
"bg-[var(--color-card)]
|
|
563
|
+
"bg-[var(--color-card)]",
|
|
564
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
565
|
+
"shadow-[var(--shadow-sm)]",
|
|
564
566
|
"transition-all duration-[var(--transition-normal)]",
|
|
565
567
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
566
568
|
].join(" "),
|
|
567
569
|
bordered: [
|
|
568
570
|
"bg-[var(--color-card)]",
|
|
569
571
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
570
|
-
"shadow-
|
|
572
|
+
"shadow-[var(--shadow-sm)]",
|
|
571
573
|
"transition-all duration-[var(--transition-normal)]",
|
|
572
574
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
573
575
|
].join(" "),
|
|
@@ -2973,6 +2975,7 @@ var TypewriterText = ({
|
|
|
2973
2975
|
className,
|
|
2974
2976
|
onComplete
|
|
2975
2977
|
}) => {
|
|
2978
|
+
const safeText = typeof text === "string" ? text : String(text ?? "");
|
|
2976
2979
|
const [charCount, setCharCount] = useState(0);
|
|
2977
2980
|
const [started, setStarted] = useState(startDelay === 0);
|
|
2978
2981
|
const onCompleteRef = useRef(onComplete);
|
|
@@ -2996,14 +2999,14 @@ var TypewriterText = ({
|
|
|
2996
2999
|
}, [text]);
|
|
2997
3000
|
useEffect(() => {
|
|
2998
3001
|
if (!started) return void 0;
|
|
2999
|
-
if (charCount >=
|
|
3002
|
+
if (charCount >= safeText.length) {
|
|
3000
3003
|
onCompleteRef.current?.();
|
|
3001
3004
|
return void 0;
|
|
3002
3005
|
}
|
|
3003
3006
|
const interval = window.setInterval(() => {
|
|
3004
3007
|
setCharCount((prev) => {
|
|
3005
3008
|
const next = prev + 1;
|
|
3006
|
-
if (next >=
|
|
3009
|
+
if (next >= safeText.length) {
|
|
3007
3010
|
window.clearInterval(interval);
|
|
3008
3011
|
}
|
|
3009
3012
|
return next;
|
|
@@ -3013,8 +3016,8 @@ var TypewriterText = ({
|
|
|
3013
3016
|
window.clearInterval(interval);
|
|
3014
3017
|
};
|
|
3015
3018
|
}, [started, text, speed, charCount]);
|
|
3016
|
-
const isComplete = charCount >=
|
|
3017
|
-
const displayedText =
|
|
3019
|
+
const isComplete = charCount >= safeText.length;
|
|
3020
|
+
const displayedText = safeText.slice(0, charCount);
|
|
3018
3021
|
return /* @__PURE__ */ jsxs(Typography, { variant: "body", className: cn("inline", className), children: [
|
|
3019
3022
|
displayedText,
|
|
3020
3023
|
!isComplete && /* @__PURE__ */ jsx(
|
|
@@ -8225,6 +8228,7 @@ WizardNavigation.displayName = "WizardNavigation";
|
|
|
8225
8228
|
var MarkdownContent = React88__default.memo(
|
|
8226
8229
|
({ content, direction, className }) => {
|
|
8227
8230
|
const { t: _t } = useTranslate();
|
|
8231
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
8228
8232
|
return /* @__PURE__ */ jsx(
|
|
8229
8233
|
Box,
|
|
8230
8234
|
{
|
|
@@ -8314,7 +8318,7 @@ var MarkdownContent = React88__default.memo(
|
|
|
8314
8318
|
);
|
|
8315
8319
|
}
|
|
8316
8320
|
},
|
|
8317
|
-
children:
|
|
8321
|
+
children: safeContent
|
|
8318
8322
|
}
|
|
8319
8323
|
)
|
|
8320
8324
|
}
|
|
@@ -8325,13 +8329,14 @@ var MarkdownContent = React88__default.memo(
|
|
|
8325
8329
|
MarkdownContent.displayName = "MarkdownContent";
|
|
8326
8330
|
var CodeBlock = React88__default.memo(
|
|
8327
8331
|
({
|
|
8328
|
-
code,
|
|
8332
|
+
code: rawCode,
|
|
8329
8333
|
language = "text",
|
|
8330
8334
|
showCopyButton = true,
|
|
8331
8335
|
showLanguageBadge = true,
|
|
8332
8336
|
maxHeight = "60vh",
|
|
8333
8337
|
className
|
|
8334
8338
|
}) => {
|
|
8339
|
+
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
8335
8340
|
const eventBus = useEventBus();
|
|
8336
8341
|
const { t: _t } = useTranslate();
|
|
8337
8342
|
const scrollRef = useRef(null);
|
|
@@ -10670,21 +10675,22 @@ function CombatLog({
|
|
|
10670
10675
|
] })
|
|
10671
10676
|
] }) }),
|
|
10672
10677
|
/* @__PURE__ */ jsx(Box, { ref: scrollRef, overflow: "auto", className: "flex-1 max-h-64", children: visibleEvents.length === 0 ? /* @__PURE__ */ jsx(Box, { padding: "md", className: "text-center opacity-50", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "No events yet" }) }) : /* @__PURE__ */ jsx(Box, { padding: "xs", className: "space-y-1", children: visibleEvents.map((event) => {
|
|
10673
|
-
const
|
|
10674
|
-
const
|
|
10678
|
+
const eventType = event.type && event.type in eventIcons ? event.type : "attack";
|
|
10679
|
+
const EventIcon = eventIcons[eventType];
|
|
10680
|
+
const colorClass = eventColors[eventType];
|
|
10675
10681
|
return /* @__PURE__ */ jsxs(
|
|
10676
10682
|
Box,
|
|
10677
10683
|
{
|
|
10678
10684
|
display: "flex",
|
|
10679
10685
|
padding: "xs",
|
|
10680
10686
|
rounded: "sm",
|
|
10681
|
-
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors",
|
|
10687
|
+
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors", eventType === "death" && "opacity-60"),
|
|
10682
10688
|
children: [
|
|
10683
10689
|
/* @__PURE__ */ jsx(Box, { className: cn("flex-shrink-0 mt-0.5", colorClass), children: /* @__PURE__ */ jsx(EventIcon, { className: "h-4 w-4" }) }),
|
|
10684
10690
|
/* @__PURE__ */ jsxs(Box, { className: "flex-1 min-w-0", children: [
|
|
10685
10691
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", className: "block", children: event.message }),
|
|
10686
|
-
event.value !== void 0 && /* @__PURE__ */ jsxs(Badge, { variant: eventBadgeVariants[
|
|
10687
|
-
|
|
10692
|
+
event.value !== void 0 && /* @__PURE__ */ jsxs(Badge, { variant: eventBadgeVariants[eventType], size: "sm", className: "mt-1", children: [
|
|
10693
|
+
eventType === "heal" ? "+" : eventType === "attack" ? "-" : "",
|
|
10688
10694
|
event.value
|
|
10689
10695
|
] })
|
|
10690
10696
|
] }),
|
|
@@ -15396,7 +15402,7 @@ var HeroSection = ({
|
|
|
15396
15402
|
src: image.src,
|
|
15397
15403
|
alt: image.alt,
|
|
15398
15404
|
className: cn(
|
|
15399
|
-
imagePosition === "right" ? "
|
|
15405
|
+
imagePosition === "right" ? "w-full max-w-[280px] max-h-[280px]" : "w-full min-h-[400px]"
|
|
15400
15406
|
)
|
|
15401
15407
|
}
|
|
15402
15408
|
);
|
|
@@ -4204,7 +4204,7 @@ var Avl3DCrossWire = ({
|
|
|
4204
4204
|
}, [from, to]);
|
|
4205
4205
|
return /* @__PURE__ */ jsxRuntime.jsxs("group", { children: [
|
|
4206
4206
|
/* @__PURE__ */ jsxRuntime.jsxs("mesh", { children: [
|
|
4207
|
-
/* @__PURE__ */ jsxRuntime.jsx("tubeGeometry", { args:
|
|
4207
|
+
/* @__PURE__ */ jsxRuntime.jsx("tubeGeometry", { args: tubeArgs }),
|
|
4208
4208
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4209
4209
|
"meshStandardMaterial",
|
|
4210
4210
|
{
|
|
@@ -4917,7 +4917,7 @@ var Avl3DTransitionArc = ({
|
|
|
4917
4917
|
document.body.style.cursor = "auto";
|
|
4918
4918
|
},
|
|
4919
4919
|
children: [
|
|
4920
|
-
/* @__PURE__ */ jsxRuntime.jsx("tubeGeometry", { args:
|
|
4920
|
+
/* @__PURE__ */ jsxRuntime.jsx("tubeGeometry", { args: tubeArgs }),
|
|
4921
4921
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4922
4922
|
"meshStandardMaterial",
|
|
4923
4923
|
{
|
|
@@ -4180,7 +4180,7 @@ var Avl3DCrossWire = ({
|
|
|
4180
4180
|
}, [from, to]);
|
|
4181
4181
|
return /* @__PURE__ */ jsxs("group", { children: [
|
|
4182
4182
|
/* @__PURE__ */ jsxs("mesh", { children: [
|
|
4183
|
-
/* @__PURE__ */ jsx("tubeGeometry", { args:
|
|
4183
|
+
/* @__PURE__ */ jsx("tubeGeometry", { args: tubeArgs }),
|
|
4184
4184
|
/* @__PURE__ */ jsx(
|
|
4185
4185
|
"meshStandardMaterial",
|
|
4186
4186
|
{
|
|
@@ -4893,7 +4893,7 @@ var Avl3DTransitionArc = ({
|
|
|
4893
4893
|
document.body.style.cursor = "auto";
|
|
4894
4894
|
},
|
|
4895
4895
|
children: [
|
|
4896
|
-
/* @__PURE__ */ jsx("tubeGeometry", { args:
|
|
4896
|
+
/* @__PURE__ */ jsx("tubeGeometry", { args: tubeArgs }),
|
|
4897
4897
|
/* @__PURE__ */ jsx(
|
|
4898
4898
|
"meshStandardMaterial",
|
|
4899
4899
|
{
|
package/dist/docs/index.cjs
CHANGED
|
@@ -3041,15 +3041,15 @@ Icon.displayName = "Icon";
|
|
|
3041
3041
|
var variantStyles2 = {
|
|
3042
3042
|
primary: [
|
|
3043
3043
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
3044
|
-
"border-
|
|
3044
|
+
"border-none",
|
|
3045
3045
|
"shadow-[var(--shadow-sm)]",
|
|
3046
3046
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
3047
3047
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
3048
3048
|
].join(" "),
|
|
3049
3049
|
secondary: [
|
|
3050
|
-
"bg-
|
|
3051
|
-
"border-
|
|
3052
|
-
"hover:bg-[var(--color-
|
|
3050
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
3051
|
+
"border-none",
|
|
3052
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
3053
3053
|
"active:scale-[var(--active-scale)]"
|
|
3054
3054
|
].join(" "),
|
|
3055
3055
|
ghost: [
|
|
@@ -3176,14 +3176,16 @@ var Button = React4__default.default.forwardRef(
|
|
|
3176
3176
|
Button.displayName = "Button";
|
|
3177
3177
|
var variantStyles3 = {
|
|
3178
3178
|
default: [
|
|
3179
|
-
"bg-[var(--color-card)]
|
|
3179
|
+
"bg-[var(--color-card)]",
|
|
3180
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3181
|
+
"shadow-[var(--shadow-sm)]",
|
|
3180
3182
|
"transition-all duration-[var(--transition-normal)]",
|
|
3181
3183
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3182
3184
|
].join(" "),
|
|
3183
3185
|
bordered: [
|
|
3184
3186
|
"bg-[var(--color-card)]",
|
|
3185
3187
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3186
|
-
"shadow-
|
|
3188
|
+
"shadow-[var(--shadow-sm)]",
|
|
3187
3189
|
"transition-all duration-[var(--transition-normal)]",
|
|
3188
3190
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3189
3191
|
].join(" "),
|
package/dist/docs/index.js
CHANGED
|
@@ -3017,15 +3017,15 @@ Icon.displayName = "Icon";
|
|
|
3017
3017
|
var variantStyles2 = {
|
|
3018
3018
|
primary: [
|
|
3019
3019
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
3020
|
-
"border-
|
|
3020
|
+
"border-none",
|
|
3021
3021
|
"shadow-[var(--shadow-sm)]",
|
|
3022
3022
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
3023
3023
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
3024
3024
|
].join(" "),
|
|
3025
3025
|
secondary: [
|
|
3026
|
-
"bg-
|
|
3027
|
-
"border-
|
|
3028
|
-
"hover:bg-[var(--color-
|
|
3026
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
3027
|
+
"border-none",
|
|
3028
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
3029
3029
|
"active:scale-[var(--active-scale)]"
|
|
3030
3030
|
].join(" "),
|
|
3031
3031
|
ghost: [
|
|
@@ -3152,14 +3152,16 @@ var Button = React4.forwardRef(
|
|
|
3152
3152
|
Button.displayName = "Button";
|
|
3153
3153
|
var variantStyles3 = {
|
|
3154
3154
|
default: [
|
|
3155
|
-
"bg-[var(--color-card)]
|
|
3155
|
+
"bg-[var(--color-card)]",
|
|
3156
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3157
|
+
"shadow-[var(--shadow-sm)]",
|
|
3156
3158
|
"transition-all duration-[var(--transition-normal)]",
|
|
3157
3159
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3158
3160
|
].join(" "),
|
|
3159
3161
|
bordered: [
|
|
3160
3162
|
"bg-[var(--color-card)]",
|
|
3161
3163
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3162
|
-
"shadow-
|
|
3164
|
+
"shadow-[var(--shadow-sm)]",
|
|
3163
3165
|
"transition-all duration-[var(--transition-normal)]",
|
|
3164
3166
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3165
3167
|
].join(" "),
|
package/dist/marketing/index.cjs
CHANGED
|
@@ -3041,15 +3041,15 @@ Icon.displayName = "Icon";
|
|
|
3041
3041
|
var variantStyles2 = {
|
|
3042
3042
|
primary: [
|
|
3043
3043
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
3044
|
-
"border-
|
|
3044
|
+
"border-none",
|
|
3045
3045
|
"shadow-[var(--shadow-sm)]",
|
|
3046
3046
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
3047
3047
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
3048
3048
|
].join(" "),
|
|
3049
3049
|
secondary: [
|
|
3050
|
-
"bg-
|
|
3051
|
-
"border-
|
|
3052
|
-
"hover:bg-[var(--color-
|
|
3050
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
3051
|
+
"border-none",
|
|
3052
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
3053
3053
|
"active:scale-[var(--active-scale)]"
|
|
3054
3054
|
].join(" "),
|
|
3055
3055
|
ghost: [
|
|
@@ -3240,14 +3240,16 @@ var Badge = React5__default.default.forwardRef(
|
|
|
3240
3240
|
Badge.displayName = "Badge";
|
|
3241
3241
|
var variantStyles4 = {
|
|
3242
3242
|
default: [
|
|
3243
|
-
"bg-[var(--color-card)]
|
|
3243
|
+
"bg-[var(--color-card)]",
|
|
3244
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3245
|
+
"shadow-[var(--shadow-sm)]",
|
|
3244
3246
|
"transition-all duration-[var(--transition-normal)]",
|
|
3245
3247
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3246
3248
|
].join(" "),
|
|
3247
3249
|
bordered: [
|
|
3248
3250
|
"bg-[var(--color-card)]",
|
|
3249
3251
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3250
|
-
"shadow-
|
|
3252
|
+
"shadow-[var(--shadow-sm)]",
|
|
3251
3253
|
"transition-all duration-[var(--transition-normal)]",
|
|
3252
3254
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3253
3255
|
].join(" "),
|
|
@@ -3687,7 +3689,7 @@ var HeroSection = ({
|
|
|
3687
3689
|
src: image.src,
|
|
3688
3690
|
alt: image.alt,
|
|
3689
3691
|
className: cn(
|
|
3690
|
-
imagePosition === "right" ? "
|
|
3692
|
+
imagePosition === "right" ? "w-full max-w-[280px] max-h-[280px]" : "w-full min-h-[400px]"
|
|
3691
3693
|
)
|
|
3692
3694
|
}
|
|
3693
3695
|
);
|
package/dist/marketing/index.js
CHANGED
|
@@ -3017,15 +3017,15 @@ Icon.displayName = "Icon";
|
|
|
3017
3017
|
var variantStyles2 = {
|
|
3018
3018
|
primary: [
|
|
3019
3019
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
3020
|
-
"border-
|
|
3020
|
+
"border-none",
|
|
3021
3021
|
"shadow-[var(--shadow-sm)]",
|
|
3022
3022
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
3023
3023
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
3024
3024
|
].join(" "),
|
|
3025
3025
|
secondary: [
|
|
3026
|
-
"bg-
|
|
3027
|
-
"border-
|
|
3028
|
-
"hover:bg-[var(--color-
|
|
3026
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
3027
|
+
"border-none",
|
|
3028
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
3029
3029
|
"active:scale-[var(--active-scale)]"
|
|
3030
3030
|
].join(" "),
|
|
3031
3031
|
ghost: [
|
|
@@ -3216,14 +3216,16 @@ var Badge = React5.forwardRef(
|
|
|
3216
3216
|
Badge.displayName = "Badge";
|
|
3217
3217
|
var variantStyles4 = {
|
|
3218
3218
|
default: [
|
|
3219
|
-
"bg-[var(--color-card)]
|
|
3219
|
+
"bg-[var(--color-card)]",
|
|
3220
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3221
|
+
"shadow-[var(--shadow-sm)]",
|
|
3220
3222
|
"transition-all duration-[var(--transition-normal)]",
|
|
3221
3223
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3222
3224
|
].join(" "),
|
|
3223
3225
|
bordered: [
|
|
3224
3226
|
"bg-[var(--color-card)]",
|
|
3225
3227
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3226
|
-
"shadow-
|
|
3228
|
+
"shadow-[var(--shadow-sm)]",
|
|
3227
3229
|
"transition-all duration-[var(--transition-normal)]",
|
|
3228
3230
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3229
3231
|
].join(" "),
|
|
@@ -3663,7 +3665,7 @@ var HeroSection = ({
|
|
|
3663
3665
|
src: image.src,
|
|
3664
3666
|
alt: image.alt,
|
|
3665
3667
|
className: cn(
|
|
3666
|
-
imagePosition === "right" ? "
|
|
3668
|
+
imagePosition === "right" ? "w-full max-w-[280px] max-h-[280px]" : "w-full min-h-[400px]"
|
|
3667
3669
|
)
|
|
3668
3670
|
}
|
|
3669
3671
|
);
|
package/dist/providers/index.cjs
CHANGED
|
@@ -908,15 +908,15 @@ Typography.displayName = "Typography";
|
|
|
908
908
|
var variantStyles2 = {
|
|
909
909
|
primary: [
|
|
910
910
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
911
|
-
"border-
|
|
911
|
+
"border-none",
|
|
912
912
|
"shadow-[var(--shadow-sm)]",
|
|
913
913
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
914
914
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
915
915
|
].join(" "),
|
|
916
916
|
secondary: [
|
|
917
|
-
"bg-
|
|
918
|
-
"border-
|
|
919
|
-
"hover:bg-[var(--color-
|
|
917
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
918
|
+
"border-none",
|
|
919
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
920
920
|
"active:scale-[var(--active-scale)]"
|
|
921
921
|
].join(" "),
|
|
922
922
|
ghost: [
|
|
@@ -1330,14 +1330,16 @@ var Checkbox = React110__namespace.default.forwardRef(
|
|
|
1330
1330
|
Checkbox.displayName = "Checkbox";
|
|
1331
1331
|
var variantStyles4 = {
|
|
1332
1332
|
default: [
|
|
1333
|
-
"bg-[var(--color-card)]
|
|
1333
|
+
"bg-[var(--color-card)]",
|
|
1334
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
1335
|
+
"shadow-[var(--shadow-sm)]",
|
|
1334
1336
|
"transition-all duration-[var(--transition-normal)]",
|
|
1335
1337
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
1336
1338
|
].join(" "),
|
|
1337
1339
|
bordered: [
|
|
1338
1340
|
"bg-[var(--color-card)]",
|
|
1339
1341
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
1340
|
-
"shadow-
|
|
1342
|
+
"shadow-[var(--shadow-sm)]",
|
|
1341
1343
|
"transition-all duration-[var(--transition-normal)]",
|
|
1342
1344
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
1343
1345
|
].join(" "),
|
|
@@ -2796,6 +2798,7 @@ exposeOnWindow();
|
|
|
2796
2798
|
var MarkdownContent = React110__namespace.default.memo(
|
|
2797
2799
|
({ content, direction, className }) => {
|
|
2798
2800
|
const { t: _t } = useTranslate();
|
|
2801
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
2799
2802
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2800
2803
|
Box,
|
|
2801
2804
|
{
|
|
@@ -2885,7 +2888,7 @@ var MarkdownContent = React110__namespace.default.memo(
|
|
|
2885
2888
|
);
|
|
2886
2889
|
}
|
|
2887
2890
|
},
|
|
2888
|
-
children:
|
|
2891
|
+
children: safeContent
|
|
2889
2892
|
}
|
|
2890
2893
|
)
|
|
2891
2894
|
}
|
|
@@ -2896,13 +2899,14 @@ var MarkdownContent = React110__namespace.default.memo(
|
|
|
2896
2899
|
MarkdownContent.displayName = "MarkdownContent";
|
|
2897
2900
|
var CodeBlock = React110__namespace.default.memo(
|
|
2898
2901
|
({
|
|
2899
|
-
code,
|
|
2902
|
+
code: rawCode,
|
|
2900
2903
|
language = "text",
|
|
2901
2904
|
showCopyButton = true,
|
|
2902
2905
|
showLanguageBadge = true,
|
|
2903
2906
|
maxHeight = "60vh",
|
|
2904
2907
|
className
|
|
2905
2908
|
}) => {
|
|
2909
|
+
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
2906
2910
|
const eventBus = useEventBus();
|
|
2907
2911
|
const { t: _t } = useTranslate();
|
|
2908
2912
|
const scrollRef = React110.useRef(null);
|
package/dist/providers/index.js
CHANGED
|
@@ -878,15 +878,15 @@ Typography.displayName = "Typography";
|
|
|
878
878
|
var variantStyles2 = {
|
|
879
879
|
primary: [
|
|
880
880
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
881
|
-
"border-
|
|
881
|
+
"border-none",
|
|
882
882
|
"shadow-[var(--shadow-sm)]",
|
|
883
883
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
884
884
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
885
885
|
].join(" "),
|
|
886
886
|
secondary: [
|
|
887
|
-
"bg-
|
|
888
|
-
"border-
|
|
889
|
-
"hover:bg-[var(--color-
|
|
887
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
888
|
+
"border-none",
|
|
889
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
890
890
|
"active:scale-[var(--active-scale)]"
|
|
891
891
|
].join(" "),
|
|
892
892
|
ghost: [
|
|
@@ -1300,14 +1300,16 @@ var Checkbox = React110__default.forwardRef(
|
|
|
1300
1300
|
Checkbox.displayName = "Checkbox";
|
|
1301
1301
|
var variantStyles4 = {
|
|
1302
1302
|
default: [
|
|
1303
|
-
"bg-[var(--color-card)]
|
|
1303
|
+
"bg-[var(--color-card)]",
|
|
1304
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
1305
|
+
"shadow-[var(--shadow-sm)]",
|
|
1304
1306
|
"transition-all duration-[var(--transition-normal)]",
|
|
1305
1307
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
1306
1308
|
].join(" "),
|
|
1307
1309
|
bordered: [
|
|
1308
1310
|
"bg-[var(--color-card)]",
|
|
1309
1311
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
1310
|
-
"shadow-
|
|
1312
|
+
"shadow-[var(--shadow-sm)]",
|
|
1311
1313
|
"transition-all duration-[var(--transition-normal)]",
|
|
1312
1314
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
1313
1315
|
].join(" "),
|
|
@@ -2766,6 +2768,7 @@ exposeOnWindow();
|
|
|
2766
2768
|
var MarkdownContent = React110__default.memo(
|
|
2767
2769
|
({ content, direction, className }) => {
|
|
2768
2770
|
const { t: _t } = useTranslate();
|
|
2771
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
2769
2772
|
return /* @__PURE__ */ jsx(
|
|
2770
2773
|
Box,
|
|
2771
2774
|
{
|
|
@@ -2855,7 +2858,7 @@ var MarkdownContent = React110__default.memo(
|
|
|
2855
2858
|
);
|
|
2856
2859
|
}
|
|
2857
2860
|
},
|
|
2858
|
-
children:
|
|
2861
|
+
children: safeContent
|
|
2859
2862
|
}
|
|
2860
2863
|
)
|
|
2861
2864
|
}
|
|
@@ -2866,13 +2869,14 @@ var MarkdownContent = React110__default.memo(
|
|
|
2866
2869
|
MarkdownContent.displayName = "MarkdownContent";
|
|
2867
2870
|
var CodeBlock = React110__default.memo(
|
|
2868
2871
|
({
|
|
2869
|
-
code,
|
|
2872
|
+
code: rawCode,
|
|
2870
2873
|
language = "text",
|
|
2871
2874
|
showCopyButton = true,
|
|
2872
2875
|
showLanguageBadge = true,
|
|
2873
2876
|
maxHeight = "60vh",
|
|
2874
2877
|
className
|
|
2875
2878
|
}) => {
|
|
2879
|
+
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
2876
2880
|
const eventBus = useEventBus();
|
|
2877
2881
|
const { t: _t } = useTranslate();
|
|
2878
2882
|
const scrollRef = useRef(null);
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -2614,15 +2614,15 @@ Drawer.displayName = "Drawer";
|
|
|
2614
2614
|
var variantStyles2 = {
|
|
2615
2615
|
primary: [
|
|
2616
2616
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
2617
|
-
"border-
|
|
2617
|
+
"border-none",
|
|
2618
2618
|
"shadow-[var(--shadow-sm)]",
|
|
2619
2619
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
2620
2620
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
2621
2621
|
].join(" "),
|
|
2622
2622
|
secondary: [
|
|
2623
|
-
"bg-
|
|
2624
|
-
"border-
|
|
2625
|
-
"hover:bg-[var(--color-
|
|
2623
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
2624
|
+
"border-none",
|
|
2625
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
2626
2626
|
"active:scale-[var(--active-scale)]"
|
|
2627
2627
|
].join(" "),
|
|
2628
2628
|
ghost: [
|
|
@@ -3132,14 +3132,16 @@ var Checkbox = React114__namespace.default.forwardRef(
|
|
|
3132
3132
|
Checkbox.displayName = "Checkbox";
|
|
3133
3133
|
var variantStyles4 = {
|
|
3134
3134
|
default: [
|
|
3135
|
-
"bg-[var(--color-card)]
|
|
3135
|
+
"bg-[var(--color-card)]",
|
|
3136
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3137
|
+
"shadow-[var(--shadow-sm)]",
|
|
3136
3138
|
"transition-all duration-[var(--transition-normal)]",
|
|
3137
3139
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3138
3140
|
].join(" "),
|
|
3139
3141
|
bordered: [
|
|
3140
3142
|
"bg-[var(--color-card)]",
|
|
3141
3143
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3142
|
-
"shadow-
|
|
3144
|
+
"shadow-[var(--shadow-sm)]",
|
|
3143
3145
|
"transition-all duration-[var(--transition-normal)]",
|
|
3144
3146
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3145
3147
|
].join(" "),
|
|
@@ -4826,6 +4828,7 @@ var TypewriterText = ({
|
|
|
4826
4828
|
className,
|
|
4827
4829
|
onComplete
|
|
4828
4830
|
}) => {
|
|
4831
|
+
const safeText = typeof text === "string" ? text : String(text ?? "");
|
|
4829
4832
|
const [charCount, setCharCount] = React114.useState(0);
|
|
4830
4833
|
const [started, setStarted] = React114.useState(startDelay === 0);
|
|
4831
4834
|
const onCompleteRef = React114.useRef(onComplete);
|
|
@@ -4849,14 +4852,14 @@ var TypewriterText = ({
|
|
|
4849
4852
|
}, [text]);
|
|
4850
4853
|
React114.useEffect(() => {
|
|
4851
4854
|
if (!started) return void 0;
|
|
4852
|
-
if (charCount >=
|
|
4855
|
+
if (charCount >= safeText.length) {
|
|
4853
4856
|
onCompleteRef.current?.();
|
|
4854
4857
|
return void 0;
|
|
4855
4858
|
}
|
|
4856
4859
|
const interval = window.setInterval(() => {
|
|
4857
4860
|
setCharCount((prev) => {
|
|
4858
4861
|
const next = prev + 1;
|
|
4859
|
-
if (next >=
|
|
4862
|
+
if (next >= safeText.length) {
|
|
4860
4863
|
window.clearInterval(interval);
|
|
4861
4864
|
}
|
|
4862
4865
|
return next;
|
|
@@ -4866,8 +4869,8 @@ var TypewriterText = ({
|
|
|
4866
4869
|
window.clearInterval(interval);
|
|
4867
4870
|
};
|
|
4868
4871
|
}, [started, text, speed, charCount]);
|
|
4869
|
-
const isComplete = charCount >=
|
|
4870
|
-
const displayedText =
|
|
4872
|
+
const isComplete = charCount >= safeText.length;
|
|
4873
|
+
const displayedText = safeText.slice(0, charCount);
|
|
4871
4874
|
return /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "body", className: cn("inline", className), children: [
|
|
4872
4875
|
displayedText,
|
|
4873
4876
|
!isComplete && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9253,6 +9256,7 @@ ScaledDiagram.displayName = "ScaledDiagram";
|
|
|
9253
9256
|
var MarkdownContent = React114__namespace.default.memo(
|
|
9254
9257
|
({ content, direction, className }) => {
|
|
9255
9258
|
const { t: _t } = useTranslate();
|
|
9259
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
9256
9260
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9257
9261
|
Box,
|
|
9258
9262
|
{
|
|
@@ -9342,7 +9346,7 @@ var MarkdownContent = React114__namespace.default.memo(
|
|
|
9342
9346
|
);
|
|
9343
9347
|
}
|
|
9344
9348
|
},
|
|
9345
|
-
children:
|
|
9349
|
+
children: safeContent
|
|
9346
9350
|
}
|
|
9347
9351
|
)
|
|
9348
9352
|
}
|
|
@@ -9353,13 +9357,14 @@ var MarkdownContent = React114__namespace.default.memo(
|
|
|
9353
9357
|
MarkdownContent.displayName = "MarkdownContent";
|
|
9354
9358
|
var CodeBlock = React114__namespace.default.memo(
|
|
9355
9359
|
({
|
|
9356
|
-
code,
|
|
9360
|
+
code: rawCode,
|
|
9357
9361
|
language = "text",
|
|
9358
9362
|
showCopyButton = true,
|
|
9359
9363
|
showLanguageBadge = true,
|
|
9360
9364
|
maxHeight = "60vh",
|
|
9361
9365
|
className
|
|
9362
9366
|
}) => {
|
|
9367
|
+
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
9363
9368
|
const eventBus = useEventBus();
|
|
9364
9369
|
const { t: _t } = useTranslate();
|
|
9365
9370
|
const scrollRef = React114.useRef(null);
|
|
@@ -15301,21 +15306,22 @@ function CombatLog({
|
|
|
15301
15306
|
] })
|
|
15302
15307
|
] }) }),
|
|
15303
15308
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { ref: scrollRef, overflow: "auto", className: "flex-1 max-h-64", children: visibleEvents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(Box, { padding: "md", className: "text-center opacity-50", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", children: "No events yet" }) }) : /* @__PURE__ */ jsxRuntime.jsx(Box, { padding: "xs", className: "space-y-1", children: visibleEvents.map((event) => {
|
|
15304
|
-
const
|
|
15305
|
-
const
|
|
15309
|
+
const eventType = event.type && event.type in eventIcons ? event.type : "attack";
|
|
15310
|
+
const EventIcon = eventIcons[eventType];
|
|
15311
|
+
const colorClass = eventColors[eventType];
|
|
15306
15312
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15307
15313
|
Box,
|
|
15308
15314
|
{
|
|
15309
15315
|
display: "flex",
|
|
15310
15316
|
padding: "xs",
|
|
15311
15317
|
rounded: "sm",
|
|
15312
|
-
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors",
|
|
15318
|
+
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors", eventType === "death" && "opacity-60"),
|
|
15313
15319
|
children: [
|
|
15314
15320
|
/* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("flex-shrink-0 mt-0.5", colorClass), children: /* @__PURE__ */ jsxRuntime.jsx(EventIcon, { className: "h-4 w-4" }) }),
|
|
15315
15321
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex-1 min-w-0", children: [
|
|
15316
15322
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "block", children: event.message }),
|
|
15317
|
-
event.value !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: eventBadgeVariants[
|
|
15318
|
-
|
|
15323
|
+
event.value !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: eventBadgeVariants[eventType], size: "sm", className: "mt-1", children: [
|
|
15324
|
+
eventType === "heal" ? "+" : eventType === "attack" ? "-" : "",
|
|
15319
15325
|
event.value
|
|
15320
15326
|
] })
|
|
15321
15327
|
] }),
|
package/dist/runtime/index.js
CHANGED
|
@@ -2584,15 +2584,15 @@ Drawer.displayName = "Drawer";
|
|
|
2584
2584
|
var variantStyles2 = {
|
|
2585
2585
|
primary: [
|
|
2586
2586
|
"bg-[var(--color-primary)] text-[var(--color-primary-foreground)]",
|
|
2587
|
-
"border-
|
|
2587
|
+
"border-none",
|
|
2588
2588
|
"shadow-[var(--shadow-sm)]",
|
|
2589
2589
|
"hover:bg-[var(--color-primary-hover)] hover:shadow-[var(--shadow-hover)]",
|
|
2590
2590
|
"active:scale-[var(--active-scale)] active:shadow-[var(--shadow-active)]"
|
|
2591
2591
|
].join(" "),
|
|
2592
2592
|
secondary: [
|
|
2593
|
-
"bg-
|
|
2594
|
-
"border-
|
|
2595
|
-
"hover:bg-[var(--color-
|
|
2593
|
+
"bg-[var(--color-muted)] text-[var(--color-foreground)]",
|
|
2594
|
+
"border-none",
|
|
2595
|
+
"hover:bg-[var(--color-muted-foreground)]/15 hover:text-[var(--color-foreground)]",
|
|
2596
2596
|
"active:scale-[var(--active-scale)]"
|
|
2597
2597
|
].join(" "),
|
|
2598
2598
|
ghost: [
|
|
@@ -3102,14 +3102,16 @@ var Checkbox = React114__default.forwardRef(
|
|
|
3102
3102
|
Checkbox.displayName = "Checkbox";
|
|
3103
3103
|
var variantStyles4 = {
|
|
3104
3104
|
default: [
|
|
3105
|
-
"bg-[var(--color-card)]
|
|
3105
|
+
"bg-[var(--color-card)]",
|
|
3106
|
+
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3107
|
+
"shadow-[var(--shadow-sm)]",
|
|
3106
3108
|
"transition-all duration-[var(--transition-normal)]",
|
|
3107
3109
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3108
3110
|
].join(" "),
|
|
3109
3111
|
bordered: [
|
|
3110
3112
|
"bg-[var(--color-card)]",
|
|
3111
3113
|
"border-[length:var(--border-width)] border-[var(--color-border)]",
|
|
3112
|
-
"shadow-
|
|
3114
|
+
"shadow-[var(--shadow-sm)]",
|
|
3113
3115
|
"transition-all duration-[var(--transition-normal)]",
|
|
3114
3116
|
"hover:shadow-[var(--shadow-hover)] hover:-translate-y-0.5"
|
|
3115
3117
|
].join(" "),
|
|
@@ -4796,6 +4798,7 @@ var TypewriterText = ({
|
|
|
4796
4798
|
className,
|
|
4797
4799
|
onComplete
|
|
4798
4800
|
}) => {
|
|
4801
|
+
const safeText = typeof text === "string" ? text : String(text ?? "");
|
|
4799
4802
|
const [charCount, setCharCount] = useState(0);
|
|
4800
4803
|
const [started, setStarted] = useState(startDelay === 0);
|
|
4801
4804
|
const onCompleteRef = useRef(onComplete);
|
|
@@ -4819,14 +4822,14 @@ var TypewriterText = ({
|
|
|
4819
4822
|
}, [text]);
|
|
4820
4823
|
useEffect(() => {
|
|
4821
4824
|
if (!started) return void 0;
|
|
4822
|
-
if (charCount >=
|
|
4825
|
+
if (charCount >= safeText.length) {
|
|
4823
4826
|
onCompleteRef.current?.();
|
|
4824
4827
|
return void 0;
|
|
4825
4828
|
}
|
|
4826
4829
|
const interval = window.setInterval(() => {
|
|
4827
4830
|
setCharCount((prev) => {
|
|
4828
4831
|
const next = prev + 1;
|
|
4829
|
-
if (next >=
|
|
4832
|
+
if (next >= safeText.length) {
|
|
4830
4833
|
window.clearInterval(interval);
|
|
4831
4834
|
}
|
|
4832
4835
|
return next;
|
|
@@ -4836,8 +4839,8 @@ var TypewriterText = ({
|
|
|
4836
4839
|
window.clearInterval(interval);
|
|
4837
4840
|
};
|
|
4838
4841
|
}, [started, text, speed, charCount]);
|
|
4839
|
-
const isComplete = charCount >=
|
|
4840
|
-
const displayedText =
|
|
4842
|
+
const isComplete = charCount >= safeText.length;
|
|
4843
|
+
const displayedText = safeText.slice(0, charCount);
|
|
4841
4844
|
return /* @__PURE__ */ jsxs(Typography, { variant: "body", className: cn("inline", className), children: [
|
|
4842
4845
|
displayedText,
|
|
4843
4846
|
!isComplete && /* @__PURE__ */ jsx(
|
|
@@ -9223,6 +9226,7 @@ ScaledDiagram.displayName = "ScaledDiagram";
|
|
|
9223
9226
|
var MarkdownContent = React114__default.memo(
|
|
9224
9227
|
({ content, direction, className }) => {
|
|
9225
9228
|
const { t: _t } = useTranslate();
|
|
9229
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
9226
9230
|
return /* @__PURE__ */ jsx(
|
|
9227
9231
|
Box,
|
|
9228
9232
|
{
|
|
@@ -9312,7 +9316,7 @@ var MarkdownContent = React114__default.memo(
|
|
|
9312
9316
|
);
|
|
9313
9317
|
}
|
|
9314
9318
|
},
|
|
9315
|
-
children:
|
|
9319
|
+
children: safeContent
|
|
9316
9320
|
}
|
|
9317
9321
|
)
|
|
9318
9322
|
}
|
|
@@ -9323,13 +9327,14 @@ var MarkdownContent = React114__default.memo(
|
|
|
9323
9327
|
MarkdownContent.displayName = "MarkdownContent";
|
|
9324
9328
|
var CodeBlock = React114__default.memo(
|
|
9325
9329
|
({
|
|
9326
|
-
code,
|
|
9330
|
+
code: rawCode,
|
|
9327
9331
|
language = "text",
|
|
9328
9332
|
showCopyButton = true,
|
|
9329
9333
|
showLanguageBadge = true,
|
|
9330
9334
|
maxHeight = "60vh",
|
|
9331
9335
|
className
|
|
9332
9336
|
}) => {
|
|
9337
|
+
const code = typeof rawCode === "string" ? rawCode : String(rawCode ?? "");
|
|
9333
9338
|
const eventBus = useEventBus();
|
|
9334
9339
|
const { t: _t } = useTranslate();
|
|
9335
9340
|
const scrollRef = useRef(null);
|
|
@@ -15271,21 +15276,22 @@ function CombatLog({
|
|
|
15271
15276
|
] })
|
|
15272
15277
|
] }) }),
|
|
15273
15278
|
/* @__PURE__ */ jsx(Box, { ref: scrollRef, overflow: "auto", className: "flex-1 max-h-64", children: visibleEvents.length === 0 ? /* @__PURE__ */ jsx(Box, { padding: "md", className: "text-center opacity-50", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", children: "No events yet" }) }) : /* @__PURE__ */ jsx(Box, { padding: "xs", className: "space-y-1", children: visibleEvents.map((event) => {
|
|
15274
|
-
const
|
|
15275
|
-
const
|
|
15279
|
+
const eventType = event.type && event.type in eventIcons ? event.type : "attack";
|
|
15280
|
+
const EventIcon = eventIcons[eventType];
|
|
15281
|
+
const colorClass = eventColors[eventType];
|
|
15276
15282
|
return /* @__PURE__ */ jsxs(
|
|
15277
15283
|
Box,
|
|
15278
15284
|
{
|
|
15279
15285
|
display: "flex",
|
|
15280
15286
|
padding: "xs",
|
|
15281
15287
|
rounded: "sm",
|
|
15282
|
-
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors",
|
|
15288
|
+
className: cn("items-start gap-2 hover:bg-[var(--color-muted)] transition-colors", eventType === "death" && "opacity-60"),
|
|
15283
15289
|
children: [
|
|
15284
15290
|
/* @__PURE__ */ jsx(Box, { className: cn("flex-shrink-0 mt-0.5", colorClass), children: /* @__PURE__ */ jsx(EventIcon, { className: "h-4 w-4" }) }),
|
|
15285
15291
|
/* @__PURE__ */ jsxs(Box, { className: "flex-1 min-w-0", children: [
|
|
15286
15292
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", className: "block", children: event.message }),
|
|
15287
|
-
event.value !== void 0 && /* @__PURE__ */ jsxs(Badge, { variant: eventBadgeVariants[
|
|
15288
|
-
|
|
15293
|
+
event.value !== void 0 && /* @__PURE__ */ jsxs(Badge, { variant: eventBadgeVariants[eventType], size: "sm", className: "mt-1", children: [
|
|
15294
|
+
eventType === "heal" ? "+" : eventType === "attack" ? "-" : "",
|
|
15289
15295
|
event.value
|
|
15290
15296
|
] })
|
|
15291
15297
|
] }),
|
package/package.json
CHANGED
package/themes/wireframe.css
CHANGED
|
@@ -138,11 +138,11 @@
|
|
|
138
138
|
--color-muted: #262626;
|
|
139
139
|
--color-muted-foreground: #a3a3a3;
|
|
140
140
|
|
|
141
|
-
--color-background: #
|
|
142
|
-
--color-foreground: #
|
|
143
|
-
--color-card: #
|
|
144
|
-
--color-card-foreground: #
|
|
145
|
-
--color-surface: #
|
|
141
|
+
--color-background: #111117;
|
|
142
|
+
--color-foreground: #f5f5f5;
|
|
143
|
+
--color-card: #1c1c22;
|
|
144
|
+
--color-card-foreground: #f5f5f5;
|
|
145
|
+
--color-surface: #28282e;
|
|
146
146
|
--color-border: #ffffff;
|
|
147
147
|
--color-input: #ffffff;
|
|
148
148
|
--color-ring: #ffffff;
|