nvis-fe-cms-libs 1.1.33 → 1.1.34
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.
|
@@ -513,7 +513,7 @@ const SectionWrapper = ({
|
|
|
513
513
|
className = "",
|
|
514
514
|
children
|
|
515
515
|
}) => {
|
|
516
|
-
const defaultVariant = "
|
|
516
|
+
const defaultVariant = "softLight";
|
|
517
517
|
const currentVariant = variant || defaultVariant;
|
|
518
518
|
const variants = {
|
|
519
519
|
blue: {
|
|
@@ -4410,98 +4410,148 @@ const PageHighlightSection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
|
|
|
4410
4410
|
];
|
|
4411
4411
|
const defaultImage = "https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=1200&h=800&fit=crop&q=80";
|
|
4412
4412
|
if (!highlightData.length) {
|
|
4413
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-20 ${isDarkMode ? "bg-
|
|
4413
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-20 ${isDarkMode ? "bg-slate-950" : "bg-white"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 text-center", children: [
|
|
4414
4414
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: `text-lg font-semibold mb-2 ${isDarkMode ? "text-white" : "text-gray-900"}`, children: t("highlight.noData.title") || "Chưa có dữ liệu" }),
|
|
4415
4415
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`, children: t("highlight.noData.description") || "Hiện tại chưa có sản phẩm nào được thiết lập." })
|
|
4416
4416
|
] }) });
|
|
4417
4417
|
}
|
|
4418
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
4419
|
-
"div",
|
|
4420
|
-
{
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4418
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: `relative overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950" : "bg-gradient-to-br from-white via-blue-50/30 to-purple-50/30"}`, children: [
|
|
4419
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 overflow-hidden pointer-events-none opacity-30", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute top-0 left-0 w-full h-full ${isDarkMode ? "bg-grid-white" : "bg-grid-slate"}` }) }),
|
|
4420
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
|
|
4421
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4422
|
+
"div",
|
|
4423
|
+
{
|
|
4424
|
+
className: `absolute top-20 right-10 w-96 h-96 rounded-full blur-3xl opacity-20 animate-blob ${isDarkMode ? "bg-blue-500" : "bg-blue-400"}`
|
|
4425
|
+
}
|
|
4426
|
+
),
|
|
4427
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4428
|
+
"div",
|
|
4429
|
+
{
|
|
4430
|
+
className: `absolute top-40 -left-20 w-96 h-96 rounded-full blur-3xl opacity-20 animate-blob animation-delay-2000 ${isDarkMode ? "bg-purple-500" : "bg-purple-400"}`
|
|
4431
|
+
}
|
|
4432
|
+
),
|
|
4433
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4434
|
+
"div",
|
|
4435
|
+
{
|
|
4436
|
+
className: `absolute -bottom-20 right-40 w-96 h-96 rounded-full blur-3xl opacity-20 animate-blob animation-delay-4000 ${isDarkMode ? "bg-pink-500" : "bg-pink-400"}`
|
|
4437
|
+
}
|
|
4438
|
+
)
|
|
4439
|
+
] }),
|
|
4440
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative w-full px-4 sm:px-6 lg:px-8 py-16 sm:py-24", children: [
|
|
4441
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative w-full", children: highlightData.map((item, index2) => {
|
|
4442
|
+
const color = gradientColors[index2 % gradientColors.length];
|
|
4443
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4444
|
+
"div",
|
|
4445
|
+
{
|
|
4446
|
+
className: `transition-opacity duration-700 ${activeTab === index2 ? "opacity-100" : "opacity-0 absolute inset-0 pointer-events-none"}`,
|
|
4447
|
+
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 min-h-[420px] lg:h-auto", children: [
|
|
4448
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative h-[280px] lg:h-full overflow-hidden group", children: [
|
|
4449
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4450
|
+
"img",
|
|
4451
|
+
{
|
|
4452
|
+
src: item.image || defaultImage,
|
|
4453
|
+
alt: item.title,
|
|
4454
|
+
className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-110",
|
|
4455
|
+
onError: (e) => {
|
|
4456
|
+
e.target.src = defaultImage;
|
|
4457
|
+
}
|
|
4458
|
+
}
|
|
4459
|
+
),
|
|
4460
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 bg-gradient-to-br ${color} opacity-20` }),
|
|
4461
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" }),
|
|
4462
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-8 left-8", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `inline-block bg-gradient-to-r ${color} text-white px-6 py-3 rounded-full text-sm font-bold shadow-xl`, children: item.tag }) })
|
|
4463
|
+
] }),
|
|
4464
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-5 lg:p-8 flex flex-col justify-center", children: [
|
|
4465
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: `text-3xl lg:text-4xl font-black mb-3 bg-gradient-to-r ${color} bg-clip-text text-transparent`, children: item.title }),
|
|
4466
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `${isDarkMode ? "text-gray-300" : "text-gray-600"} text-base leading-relaxed mb-5`, children: item.description }),
|
|
4467
|
+
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: [
|
|
4468
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mt-0.5 w-4 h-4 rounded-full bg-gradient-to-r ${color} flex items-center justify-center flex-shrink-0`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-2.5 h-2.5 text-white", 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" }) }) }),
|
|
4469
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${isDarkMode ? "text-gray-300 group-hover:text-white" : "text-gray-700 group-hover:text-gray-900"} font-medium text-xs transition-colors`, children: feature })
|
|
4470
|
+
] }, idx)) }),
|
|
4471
|
+
item.tagKeys.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mb-6", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2", children: item.tagKeys.map((tag, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4472
|
+
"span",
|
|
4473
|
+
{
|
|
4474
|
+
className: `px-3 py-1 rounded-lg text-xs font-semibold transition-all duration-300 ${isDarkMode ? "bg-gray-700/50 text-gray-300 hover:bg-gray-700" : "bg-gray-100 text-gray-700 hover:bg-gray-200"}`,
|
|
4475
|
+
children: tag.key
|
|
4476
|
+
},
|
|
4477
|
+
idx
|
|
4478
|
+
)) }) }),
|
|
4479
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
4480
|
+
"button",
|
|
4481
|
+
{
|
|
4482
|
+
onClick: () => handleNavigate(item.slug),
|
|
4483
|
+
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`,
|
|
4484
|
+
children: [
|
|
4485
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "relative z-10 flex items-center justify-center gap-2", children: [
|
|
4486
|
+
t("highlight.cta") || "Khám phá",
|
|
4487
|
+
" ",
|
|
4488
|
+
item.title,
|
|
4489
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 group-hover:translate-x-1 transition-transform", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17 8l4 4m0 0l-4 4m4-4H3" }) })
|
|
4490
|
+
] }),
|
|
4491
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-white/20 transform scale-x-0 group-hover:scale-x-100 transition-transform origin-left" })
|
|
4492
|
+
]
|
|
4493
|
+
}
|
|
4494
|
+
)
|
|
4495
|
+
] })
|
|
4496
|
+
] }) })
|
|
4497
|
+
},
|
|
4498
|
+
index2
|
|
4499
|
+
);
|
|
4500
|
+
}) }),
|
|
4501
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap justify-center gap-4 mt-12", children: highlightData.map((item, index2) => {
|
|
4502
|
+
const color = gradientColors[index2 % gradientColors.length];
|
|
4503
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
4504
|
+
"button",
|
|
4505
|
+
{
|
|
4506
|
+
onClick: () => setActiveTab(index2),
|
|
4507
|
+
className: `group relative px-8 py-4 rounded-xl font-bold text-lg transition-all duration-300 transform hover:scale-105 overflow-hidden ${activeTab === index2 ? `bg-gradient-to-r ${color} text-white shadow-xl` : isDarkMode ? "bg-gray-800/50 text-gray-300 hover:shadow-xl shadow-lg border border-gray-700/50 backdrop-blur-sm" : "bg-white text-gray-700 hover:shadow-xl shadow-lg"}`,
|
|
4508
|
+
children: [
|
|
4509
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "relative z-10", children: item.title }),
|
|
4510
|
+
activeTab !== index2 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 bg-gradient-to-r ${color} opacity-0 group-hover:opacity-100 transition-opacity duration-300` })
|
|
4511
|
+
]
|
|
4512
|
+
},
|
|
4513
|
+
index2
|
|
4514
|
+
);
|
|
4515
|
+
}) })
|
|
4516
|
+
] }),
|
|
4517
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
|
|
4518
|
+
@keyframes blob {
|
|
4519
|
+
0%, 100% {
|
|
4520
|
+
transform: translate(0px, 0px) scale(1);
|
|
4521
|
+
}
|
|
4522
|
+
33% {
|
|
4523
|
+
transform: translate(30px, -50px) scale(1.1);
|
|
4524
|
+
}
|
|
4525
|
+
66% {
|
|
4526
|
+
transform: translate(-20px, 20px) scale(0.9);
|
|
4527
|
+
}
|
|
4528
|
+
}
|
|
4529
|
+
|
|
4530
|
+
.animate-blob {
|
|
4531
|
+
animation: blob 7s ease-in-out infinite;
|
|
4532
|
+
}
|
|
4533
|
+
|
|
4534
|
+
.animation-delay-2000 {
|
|
4535
|
+
animation-delay: 2s;
|
|
4536
|
+
}
|
|
4537
|
+
|
|
4538
|
+
.animation-delay-4000 {
|
|
4539
|
+
animation-delay: 4s;
|
|
4540
|
+
}
|
|
4541
|
+
|
|
4542
|
+
.bg-grid-white {
|
|
4543
|
+
background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
|
|
4544
|
+
linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
|
|
4545
|
+
background-size: 50px 50px;
|
|
4546
|
+
}
|
|
4547
|
+
|
|
4548
|
+
.bg-grid-slate {
|
|
4549
|
+
background-image: linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),
|
|
4550
|
+
linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
|
|
4551
|
+
background-size: 50px 50px;
|
|
4552
|
+
}
|
|
4553
|
+
` })
|
|
4554
|
+
] });
|
|
4505
4555
|
};
|
|
4506
4556
|
const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl = "" }) => {
|
|
4507
4557
|
var _a;
|