nvis-fe-cms-libs 2.0.6 → 2.0.7
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.
|
@@ -3394,18 +3394,52 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3394
3394
|
] })
|
|
3395
3395
|
] });
|
|
3396
3396
|
};
|
|
3397
|
-
const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description }) => {
|
|
3397
|
+
const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description, isDarkMode }) => {
|
|
3398
3398
|
const [isHovered, setIsHovered] = require$$0.useState(false);
|
|
3399
3399
|
const [dragStartPos, setDragStartPos] = require$$0.useState(null);
|
|
3400
3400
|
const [hasMoved, setHasMoved] = require$$0.useState(false);
|
|
3401
|
-
const
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3401
|
+
const getColorStyles = (colorName) => {
|
|
3402
|
+
const styles = {
|
|
3403
|
+
blue: {
|
|
3404
|
+
gradient: "linear-gradient(to bottom right, var(--brand-primary), var(--brand-primary))",
|
|
3405
|
+
gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
|
|
3406
|
+
border: "var(--brand-primary)",
|
|
3407
|
+
shadowColor: "var(--brand-primary)"
|
|
3408
|
+
},
|
|
3409
|
+
teal: {
|
|
3410
|
+
gradient: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
|
|
3411
|
+
gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-strong-start), var(--gradient-brand-strong-end))",
|
|
3412
|
+
border: "var(--gradient-brand-soft-start)",
|
|
3413
|
+
shadowColor: "var(--gradient-brand-soft-start)"
|
|
3414
|
+
},
|
|
3415
|
+
purple: {
|
|
3416
|
+
gradient: "linear-gradient(to bottom right, var(--brand-secondary), var(--gradient-accent-soft-start))",
|
|
3417
|
+
gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
|
|
3418
|
+
border: "var(--brand-secondary)",
|
|
3419
|
+
shadowColor: "var(--brand-secondary)"
|
|
3420
|
+
},
|
|
3421
|
+
orange: {
|
|
3422
|
+
gradient: "linear-gradient(to bottom right, var(--gradient-accent-strong-start), var(--gradient-accent-strong-end))",
|
|
3423
|
+
gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
|
|
3424
|
+
border: "var(--gradient-accent-strong-start)",
|
|
3425
|
+
shadowColor: "var(--gradient-accent-strong-start)"
|
|
3426
|
+
},
|
|
3427
|
+
cyan: {
|
|
3428
|
+
gradient: "linear-gradient(to bottom right, var(--gradient-brand-strong-start), var(--gradient-brand-strong-end))",
|
|
3429
|
+
gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
|
|
3430
|
+
border: "var(--gradient-brand-strong-start)",
|
|
3431
|
+
shadowColor: "var(--gradient-brand-strong-start)"
|
|
3432
|
+
},
|
|
3433
|
+
indigo: {
|
|
3434
|
+
gradient: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
|
|
3435
|
+
gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-strong-start), var(--gradient-accent-strong-end))",
|
|
3436
|
+
border: "var(--gradient-accent-soft-start)",
|
|
3437
|
+
shadowColor: "var(--gradient-accent-soft-start)"
|
|
3438
|
+
}
|
|
3439
|
+
};
|
|
3440
|
+
return styles[colorName] || styles.blue;
|
|
3408
3441
|
};
|
|
3442
|
+
const colorStyle = getColorStyles(color);
|
|
3409
3443
|
const handleMouseDown = (e) => {
|
|
3410
3444
|
setDragStartPos({ x: e.clientX, y: e.clientY });
|
|
3411
3445
|
setHasMoved(false);
|
|
@@ -3488,12 +3522,45 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3488
3522
|
onTouchMove: handleTouchMove,
|
|
3489
3523
|
onTouchEnd: handleTouchEnd,
|
|
3490
3524
|
children: [
|
|
3491
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3525
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3526
|
+
"div",
|
|
3527
|
+
{
|
|
3528
|
+
className: "backdrop-blur-md px-4 py-2.5 rounded-2xl shadow-2xl border-2 flex items-center gap-2.5 cursor-pointer transform transition-all duration-300",
|
|
3529
|
+
style: {
|
|
3530
|
+
background: isHovered || isDragging ? colorStyle.gradientHover : colorStyle.gradient,
|
|
3531
|
+
borderColor: colorStyle.border + "80",
|
|
3532
|
+
boxShadow: `0 10px 40px ${colorStyle.shadowColor}4D`,
|
|
3533
|
+
transform: isHovered || isDragging ? "scale(1.1)" : "scale(1)",
|
|
3534
|
+
filter: isHovered || isDragging ? "brightness(1.1)" : "brightness(1)",
|
|
3535
|
+
rotate: isDragging ? "2deg" : "0deg"
|
|
3536
|
+
},
|
|
3537
|
+
children: [
|
|
3538
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-4 h-4 flex-shrink-0 text-inverse" }),
|
|
3539
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-inverse text-small whitespace-nowrap", children: text })
|
|
3540
|
+
]
|
|
3541
|
+
}
|
|
3542
|
+
),
|
|
3543
|
+
isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3544
|
+
"div",
|
|
3545
|
+
{
|
|
3546
|
+
className: "absolute inset-0 rounded-2xl blur-xl animate-pulse",
|
|
3547
|
+
style: {
|
|
3548
|
+
background: "rgba(255, 255, 255, 0.1)",
|
|
3549
|
+
transform: "scale(1.5)"
|
|
3550
|
+
}
|
|
3551
|
+
}
|
|
3552
|
+
),
|
|
3553
|
+
(isHovered || isDragging) && description && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3554
|
+
"div",
|
|
3555
|
+
{
|
|
3556
|
+
className: `absolute top-full left-1/2 -translate-x-1/2 mt-2 px-3 py-2 text-caption rounded-lg shadow-xl border whitespace-nowrap z-50 max-w-xs ${isDarkMode ? "bg-surface text-inverse" : "bg-body text-main"}`,
|
|
3557
|
+
style: {
|
|
3558
|
+
borderColor: "var(--border-color)",
|
|
3559
|
+
opacity: 0.95
|
|
3560
|
+
},
|
|
3561
|
+
children: description
|
|
3562
|
+
}
|
|
3563
|
+
)
|
|
3497
3564
|
]
|
|
3498
3565
|
}
|
|
3499
3566
|
);
|
|
@@ -3714,49 +3781,108 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3714
3781
|
"div",
|
|
3715
3782
|
{
|
|
3716
3783
|
ref: containerRef,
|
|
3717
|
-
className:
|
|
3718
|
-
style: {
|
|
3784
|
+
className: "mind-map-container relative w-full h-screen overflow-hidden bg-section-soft",
|
|
3785
|
+
style: {
|
|
3786
|
+
touchAction: "none"
|
|
3787
|
+
},
|
|
3719
3788
|
children: [
|
|
3720
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3721
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "bg-gradient-to-tr from-blue-600/20 via-purple-600/20 to-pink-600/20" : "bg-gradient-to-tr from-blue-400/20 via-purple-400/20 to-pink-400/20"}` }),
|
|
3722
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-cyan-500/10 via-transparent to-transparent" }),
|
|
3723
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_var(--tw-gradient-stops))] from-purple-500/10 via-transparent to-transparent" })
|
|
3724
|
-
] }),
|
|
3725
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 pointer-events-none ${isDarkMode ? "opacity-60" : "opacity-40"}`, children: [...Array(150)].map((_, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3789
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3726
3790
|
"div",
|
|
3727
3791
|
{
|
|
3728
|
-
className: "absolute
|
|
3729
|
-
style: {
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3792
|
+
className: "absolute inset-0",
|
|
3793
|
+
style: { opacity: isDarkMode ? 0.3 : 0.2 },
|
|
3794
|
+
children: [
|
|
3795
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3796
|
+
"div",
|
|
3797
|
+
{
|
|
3798
|
+
className: "absolute inset-0 bg-gradient-brand",
|
|
3799
|
+
style: {
|
|
3800
|
+
opacity: 0.2
|
|
3801
|
+
}
|
|
3802
|
+
}
|
|
3803
|
+
),
|
|
3804
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3805
|
+
"div",
|
|
3806
|
+
{
|
|
3807
|
+
className: "absolute inset-0 bg-gradient-accent",
|
|
3808
|
+
style: {
|
|
3809
|
+
opacity: 0.1
|
|
3810
|
+
}
|
|
3811
|
+
}
|
|
3812
|
+
)
|
|
3813
|
+
]
|
|
3814
|
+
}
|
|
3815
|
+
),
|
|
3816
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3817
|
+
"div",
|
|
3818
|
+
{
|
|
3819
|
+
className: "absolute inset-0 pointer-events-none",
|
|
3820
|
+
style: { opacity: isDarkMode ? 0.6 : 0.4 },
|
|
3821
|
+
children: [...Array(150)].map((_, i) => {
|
|
3822
|
+
const colors = ["bg-brand-primary", "bg-brand-secondary"];
|
|
3823
|
+
const randomColor = colors[Math.floor(Math.random() * colors.length)];
|
|
3824
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3825
|
+
"div",
|
|
3826
|
+
{
|
|
3827
|
+
className: `absolute rounded-full ${randomColor}`,
|
|
3828
|
+
style: {
|
|
3829
|
+
left: `${Math.random() * 100}%`,
|
|
3830
|
+
top: `${Math.random() * 100}%`,
|
|
3831
|
+
width: `${Math.random() * 3 + 1}px`,
|
|
3832
|
+
height: `${Math.random() * 3 + 1}px`,
|
|
3833
|
+
animationName: "twinkle",
|
|
3834
|
+
animationDelay: `${Math.random() * 5}s`,
|
|
3835
|
+
animationDuration: `${4 + Math.random() * 6}s`,
|
|
3836
|
+
animationIterationCount: "infinite",
|
|
3837
|
+
animationTimingFunction: "ease-in-out"
|
|
3838
|
+
}
|
|
3839
|
+
},
|
|
3840
|
+
i
|
|
3841
|
+
);
|
|
3842
|
+
})
|
|
3843
|
+
}
|
|
3844
|
+
),
|
|
3845
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3846
|
+
"div",
|
|
3847
|
+
{
|
|
3848
|
+
className: "absolute inset-0 pointer-events-none",
|
|
3849
|
+
style: { opacity: isDarkMode ? 0.1 : 0.05 },
|
|
3850
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3851
|
+
"div",
|
|
3852
|
+
{
|
|
3853
|
+
className: "absolute inset-0",
|
|
3854
|
+
style: {
|
|
3855
|
+
backgroundImage: isDarkMode ? "radial-gradient(circle at 1px 1px, var(--text-inverse) 1px, transparent 0)" : "radial-gradient(circle at 1px 1px, var(--text-main) 1px, transparent 0)",
|
|
3856
|
+
backgroundSize: "40px 40px",
|
|
3857
|
+
opacity: 0.15
|
|
3858
|
+
}
|
|
3859
|
+
}
|
|
3860
|
+
)
|
|
3861
|
+
}
|
|
3862
|
+
),
|
|
3745
3863
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute right-4 sm:right-16 bottom-4 sm:bottom-16 z-0 pointer-events-none", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
3746
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3864
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3865
|
+
"div",
|
|
3866
|
+
{
|
|
3867
|
+
className: "absolute inset-0 blur-3xl w-20 h-20 sm:w-32 sm:h-32 bg-gradient-brand",
|
|
3868
|
+
style: {
|
|
3869
|
+
opacity: 0.2
|
|
3870
|
+
}
|
|
3871
|
+
}
|
|
3872
|
+
),
|
|
3747
3873
|
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "60", height: "60", viewBox: "0 0 80 80", className: "relative sm:w-24 sm:h-24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M40 0 L45 35 L80 40 L45 45 L40 80 L35 45 L0 40 L35 35 Z", fill: "url(#sparkle-gradient)", opacity: "0.4" }) })
|
|
3748
3874
|
] }) }),
|
|
3749
3875
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "absolute inset-0 w-full h-full pointer-events-none", style: { zIndex: 1 }, children: [
|
|
3750
3876
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("defs", { children: [
|
|
3751
3877
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "circuit-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
|
|
3752
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "
|
|
3753
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "
|
|
3754
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "
|
|
3878
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", style: { stopColor: "var(--brand-primary)", stopOpacity: 0.6 } }),
|
|
3879
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", style: { stopColor: "var(--gradient-brand-soft-start)", stopOpacity: 0.9 } }),
|
|
3880
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", style: { stopColor: "var(--gradient-brand-soft-end)", stopOpacity: 0.6 } })
|
|
3755
3881
|
] }),
|
|
3756
3882
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "sparkle-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
3757
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "
|
|
3758
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "
|
|
3759
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "
|
|
3883
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", style: { stopColor: "var(--brand-primary)" } }),
|
|
3884
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", style: { stopColor: "var(--gradient-brand-soft-start)" } }),
|
|
3885
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", style: { stopColor: "var(--gradient-brand-soft-end)" } })
|
|
3760
3886
|
] }),
|
|
3761
3887
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("filter", { id: "glow", children: [
|
|
3762
3888
|
/* @__PURE__ */ jsxRuntimeExports.jsx("feGaussianBlur", { stdDeviation: "4", result: "coloredBlur" }),
|
|
@@ -3771,11 +3897,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3771
3897
|
"path",
|
|
3772
3898
|
{
|
|
3773
3899
|
d: line.path,
|
|
3774
|
-
stroke: "
|
|
3900
|
+
stroke: "var(--gradient-brand-soft-start)",
|
|
3775
3901
|
strokeWidth: "6",
|
|
3776
3902
|
fill: "none",
|
|
3777
3903
|
className: "transition-all duration-200",
|
|
3778
|
-
style: { filter: "blur(8px)" }
|
|
3904
|
+
style: { filter: "blur(8px)", opacity: 0.2 }
|
|
3779
3905
|
}
|
|
3780
3906
|
),
|
|
3781
3907
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -3807,7 +3933,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3807
3933
|
delay: node.delay,
|
|
3808
3934
|
onDragStart: handleNodeDragStart,
|
|
3809
3935
|
isDragging: draggingNodeId === node.id,
|
|
3810
|
-
onClick: handleNodeClick
|
|
3936
|
+
onClick: handleNodeClick,
|
|
3937
|
+
isDarkMode
|
|
3811
3938
|
},
|
|
3812
3939
|
node.id
|
|
3813
3940
|
)) }),
|
|
@@ -3841,15 +3968,52 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3841
3968
|
},
|
|
3842
3969
|
onTouchEnd: () => setIsDragging(false),
|
|
3843
3970
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
3844
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3971
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3972
|
+
"div",
|
|
3973
|
+
{
|
|
3974
|
+
className: "absolute inset-0 rounded-full blur-2xl bg-brand-primary",
|
|
3975
|
+
style: {
|
|
3976
|
+
opacity: 0.3,
|
|
3977
|
+
transform: "scale(1.5)"
|
|
3978
|
+
}
|
|
3979
|
+
}
|
|
3980
|
+
),
|
|
3981
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3982
|
+
"div",
|
|
3983
|
+
{
|
|
3984
|
+
className: "relative px-6 sm:px-10 py-3 sm:py-5 rounded-3xl shadow-2xl border-4 flex items-center gap-3 sm:gap-4 backdrop-blur-md bg-gradient-brand",
|
|
3985
|
+
style: {
|
|
3986
|
+
borderColor: "var(--brand-primary)",
|
|
3987
|
+
borderOpacity: 0.5,
|
|
3988
|
+
transform: isDragging ? "scale(1.1)" : "scale(1)",
|
|
3989
|
+
transition: "transform 0.3s ease"
|
|
3990
|
+
},
|
|
3991
|
+
children: [
|
|
3992
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3993
|
+
"div",
|
|
3994
|
+
{
|
|
3995
|
+
className: "p-2 sm:p-3 rounded-xl backdrop-blur-sm",
|
|
3996
|
+
style: { backgroundColor: "rgba(255, 255, 255, 0.25)" },
|
|
3997
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Briefcase, { className: "w-5 h-5 sm:w-7 sm:h-7 text-inverse" })
|
|
3998
|
+
}
|
|
3999
|
+
),
|
|
4000
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
|
|
4001
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-inverse text-body sm:text-subtitle", children: diagramName }),
|
|
4002
|
+
diagramDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-inverse text-caption sm:text-small opacity-90", children: diagramDescription })
|
|
4003
|
+
] })
|
|
4004
|
+
]
|
|
4005
|
+
}
|
|
4006
|
+
),
|
|
4007
|
+
!isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4008
|
+
"div",
|
|
4009
|
+
{
|
|
4010
|
+
className: `absolute -bottom-8 left-1/2 transform -translate-x-1/2 text-caption whitespace-nowrap ${isDarkMode ? "text-brand-primary" : "text-brand-secondary"}`,
|
|
4011
|
+
style: {
|
|
4012
|
+
opacity: 0.6
|
|
4013
|
+
},
|
|
4014
|
+
children: safeT("diagram.dragToMove")
|
|
4015
|
+
}
|
|
4016
|
+
)
|
|
3853
4017
|
] })
|
|
3854
4018
|
}
|
|
3855
4019
|
),
|
|
@@ -3869,7 +4033,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3869
4033
|
animation: fadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
3870
4034
|
opacity: 0;
|
|
3871
4035
|
}
|
|
3872
|
-
.animate-twinkle { animation: twinkle 5s ease-in-out infinite; }
|
|
3873
4036
|
` })
|
|
3874
4037
|
]
|
|
3875
4038
|
}
|
|
@@ -4128,14 +4291,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4128
4291
|
"div",
|
|
4129
4292
|
{
|
|
4130
4293
|
className: `transition-opacity duration-700 ${activeTab === index2 ? "opacity-100" : "opacity-0 absolute inset-0 pointer-events-none"}`,
|
|
4131
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${isDarkMode ? "bg-gradient-to-br from-slate-900/30 to-slate-950/30 border-slate-700/20" : "bg-white/40 border-white/30"} backdrop-blur-md rounded-3xl shadow-lg overflow-hidden border transition-colors duration-500`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-0
|
|
4132
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative h-[280px] lg:h-
|
|
4294
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${isDarkMode ? "bg-gradient-to-br from-slate-900/30 to-slate-950/30 border-slate-700/20" : "bg-white/40 border-white/30"} backdrop-blur-md rounded-3xl shadow-lg overflow-hidden border transition-colors duration-500`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-0", children: [
|
|
4295
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative h-[280px] lg:h-[500px] overflow-hidden group", children: [
|
|
4133
4296
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4134
4297
|
"img",
|
|
4135
4298
|
{
|
|
4136
4299
|
src: item.image || defaultImage,
|
|
4137
4300
|
alt: item.title,
|
|
4138
|
-
className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-110",
|
|
4301
|
+
className: "absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-110",
|
|
4139
4302
|
onError: (e) => {
|
|
4140
4303
|
e.target.src = defaultImage;
|
|
4141
4304
|
}
|
|
@@ -4144,10 +4307,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4144
4307
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 bg-gradient-to-br ${color} opacity-20` }),
|
|
4145
4308
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" })
|
|
4146
4309
|
] }),
|
|
4147
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-5 lg:p-8 flex flex-col justify-center", children: [
|
|
4310
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-5 lg:p-8 flex flex-col justify-center h-[280px] lg:h-[500px]", children: [
|
|
4148
4311
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-3xl lg:text-4xl font-black mb-3 text-gradient-brand", children: item.title }),
|
|
4149
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mb-6 text-muted", children: item.description }),
|
|
4150
|
-
item.features && item.features.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-6", children: item.features.map((feature, idx) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-2 group", children: [
|
|
4312
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mb-6 text-muted line-clamp-3 lg:line-clamp-4", children: item.description }),
|
|
4313
|
+
item.features && item.features.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-6 overflow-y-auto max-h-32 lg:max-h-48", children: item.features.map((feature, idx) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-2 group", children: [
|
|
4151
4314
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-0.5 w-4 h-4 rounded-full bg-gradient-accent flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-2.5 h-2.5 text-inverse", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M5 13l4 4L19 7" }) }) }),
|
|
4152
4315
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-muted group-hover:text-main font-medium text-xs transition-colors", children: feature })
|
|
4153
4316
|
] }, idx)) }),
|
|
@@ -4156,7 +4319,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4156
4319
|
{
|
|
4157
4320
|
href: item.slug,
|
|
4158
4321
|
rel: "noopener noreferrer",
|
|
4159
|
-
className: `group relative px-6 py-3 rounded-xl font-bold text-sm transition-all duration-300 transform hover:scale-105 hover:shadow-2xl overflow-hidden bg-gradient-to-r ${color} text-white shadow-xl w-full text-center`,
|
|
4322
|
+
className: `group relative px-6 py-3 rounded-xl font-bold text-sm transition-all duration-300 transform hover:scale-105 hover:shadow-2xl overflow-hidden bg-gradient-to-r ${color} text-white shadow-xl w-full text-center mt-auto`,
|
|
4160
4323
|
onClick: (e) => {
|
|
4161
4324
|
if (!e.ctrlKey && !e.metaKey && e.button !== 1) {
|
|
4162
4325
|
e.preventDefault();
|
|
@@ -4249,6 +4412,20 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4249
4412
|
linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
|
|
4250
4413
|
background-size: 50px 50px;
|
|
4251
4414
|
}
|
|
4415
|
+
|
|
4416
|
+
.line-clamp-3 {
|
|
4417
|
+
display: -webkit-box;
|
|
4418
|
+
-webkit-line-clamp: 3;
|
|
4419
|
+
-webkit-box-orient: vertical;
|
|
4420
|
+
overflow: hidden;
|
|
4421
|
+
}
|
|
4422
|
+
|
|
4423
|
+
.line-clamp-4 {
|
|
4424
|
+
display: -webkit-box;
|
|
4425
|
+
-webkit-line-clamp: 4;
|
|
4426
|
+
-webkit-box-orient: vertical;
|
|
4427
|
+
overflow: hidden;
|
|
4428
|
+
}
|
|
4252
4429
|
` })
|
|
4253
4430
|
]
|
|
4254
4431
|
}
|