nvis-fe-cms-libs 2.0.5 → 2.0.6

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.
@@ -1499,14 +1499,14 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1499
1499
  `;
1500
1500
  return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid lg:grid-cols-3 gap-12", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lg:col-span-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface rounded-2xl p-8 shadow-lg border transition-colors duration-200", style: { borderColor: "var(--border-color)" }, children: [
1501
1501
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
1502
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-lg bg-gradient-brand flex items-center justify-center mr-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", className: "w-4 h-4 icon-gradient" }) }),
1502
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-lg bg-gradient-brand flex items-center justify-center mr-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }) }),
1503
1503
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1504
1504
  /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-subtitle font-bold text-main", children: t("form.title") || "Gửi yêu cầu tư vấn" }),
1505
1505
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", children: t("form.subtitle") || "Điền thông tin để nhận tư vấn miễn phí từ chuyên gia" })
1506
1506
  ] })
1507
1507
  ] }),
1508
1508
  submitStatus && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mb-6 p-4 rounded-xl border transition-colors duration-200 ${submitStatus === "success" ? "bg-emerald-50 dark:bg-emerald-900/30 text-emerald-800 dark:text-emerald-300" : "bg-red-50 dark:bg-red-900/30 text-red-800 dark:text-red-300"}`, style: { borderColor: submitStatus === "success" ? "#10b981" : "#ef4444" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center", children: [
1509
- submitStatus === "success" ? /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormCheck", className: "w-4 h-4 icon-gradient" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1509
+ submitStatus === "success" ? /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormCheck", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1510
1510
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small font-medium", children: submitMessage })
1511
1511
  ] }) }),
1512
1512
  /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [
@@ -1531,7 +1531,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1531
1531
  }
1532
1532
  ),
1533
1533
  formErrors.fullName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1534
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1534
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1535
1535
  formErrors.fullName
1536
1536
  ] })
1537
1537
  ] }),
@@ -1555,7 +1555,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1555
1555
  }
1556
1556
  ),
1557
1557
  formErrors.workEmail && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1558
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1558
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1559
1559
  formErrors.workEmail
1560
1560
  ] })
1561
1561
  ] })
@@ -1577,7 +1577,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1577
1577
  }
1578
1578
  ),
1579
1579
  formErrors.phoneNumber && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1580
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1580
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1581
1581
  formErrors.phoneNumber
1582
1582
  ] })
1583
1583
  ] }),
@@ -1597,7 +1597,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1597
1597
  }
1598
1598
  ),
1599
1599
  formErrors.companyName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1600
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1600
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1601
1601
  formErrors.companyName
1602
1602
  ] })
1603
1603
  ] })
@@ -1619,7 +1619,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1619
1619
  }
1620
1620
  ),
1621
1621
  formErrors.jobTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1622
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1622
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1623
1623
  formErrors.jobTitle
1624
1624
  ] })
1625
1625
  ] }),
@@ -1691,7 +1691,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1691
1691
  }
1692
1692
  ),
1693
1693
  formErrors.requestTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1694
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1694
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1695
1695
  formErrors.requestTitle
1696
1696
  ] })
1697
1697
  ] }),
@@ -1715,7 +1715,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1715
1715
  }
1716
1716
  ),
1717
1717
  formErrors.requestDescription && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
1718
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
1718
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1719
1719
  formErrors.requestDescription
1720
1720
  ] })
1721
1721
  ] }),
@@ -1726,10 +1726,10 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
1726
1726
  disabled: isSubmitting,
1727
1727
  className: "flex-1 btn-primary text-white py-4 px-6 rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center font-semibold",
1728
1728
  children: isSubmitting ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1729
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormLoader2", className: "w-4 h-4 icon-muted" }),
1729
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormLoader2", folder: "ContactFormSection", className: "w-4 h-4 icon-muted" }),
1730
1730
  t("form.submitting") || "Đang gửi..."
1731
1731
  ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1732
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", className: "w-4 h-4 icon-gradient" }),
1732
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
1733
1733
  t("form.submit") || "Gửi yêu cầu"
1734
1734
  ] })
1735
1735
  }
@@ -1744,7 +1744,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
1744
1744
  if (!contactData.length) return null;
1745
1745
  return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1746
1746
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-flex items-center px-4 py-2 rounded-full text-lg font-semibold mb-4 bg-surface", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: [
1747
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }),
1747
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }),
1748
1748
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-main", children: sectionTitle })
1749
1749
  ] }) }),
1750
1750
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 gap-8", children: contactData.map((contact, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "card", children: [
@@ -1757,7 +1757,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
1757
1757
  display: "flex",
1758
1758
  alignItems: "center",
1759
1759
  justifyContent: "center"
1760
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }) }),
1760
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
1761
1761
  /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "card-title text-subtitle mb-2", children: contact.name }),
1762
1762
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-block px-3 py-1 rounded-full text-small font-semibold bg-surface text-brand-primary", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: contact.position })
1763
1763
  ] }),
@@ -1784,7 +1784,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
1784
1784
  alignItems: "center",
1785
1785
  justifyContent: "center",
1786
1786
  marginRight: "0.75rem"
1787
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", className: "w-4 h-4 icon-gradient" }) }),
1787
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
1788
1788
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
1789
1789
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contact.info.phone") || "Điện thoại" }),
1790
1790
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.phone })
@@ -1814,7 +1814,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
1814
1814
  alignItems: "center",
1815
1815
  justifyContent: "center",
1816
1816
  marginRight: "0.75rem"
1817
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", className: "w-4 h-4 icon-gradient" }) }),
1817
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
1818
1818
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
1819
1819
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: "Email" }),
1820
1820
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.email })
@@ -1839,7 +1839,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
1839
1839
  alignItems: "center",
1840
1840
  justifyContent: "center",
1841
1841
  marginRight: "0.75rem"
1842
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", className: "w-4 h-4 icon-muted" }) }),
1842
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", folder: "ContactInfoSection", className: "w-4 h-4 icon-muted" }) }),
1843
1843
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
1844
1844
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contact.info.workingHours") || "Giờ làm việc" }),
1845
1845
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.workingHours || t("contact.info.defaultWorkingHours") || "T2-T6: 8:00-18:00" })
@@ -1897,7 +1897,7 @@ const ContactListAutoSection = ({ data, t, isDarkMode, getContactList, section }
1897
1897
  }
1898
1898
  return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1899
1899
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-flex items-center px-4 py-2 rounded-full text-lg font-semibold mb-4 bg-surface", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: [
1900
- /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }),
1900
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }),
1901
1901
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-main", children: sectionTitle })
1902
1902
  ] }) }),
1903
1903
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 gap-8", children: contacts.map((contact, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(ContactCard, { contact, t, isDarkMode }, contact.id || index2)) })
@@ -1914,7 +1914,7 @@ const ContactCard = ({ contact, t, isDarkMode }) => {
1914
1914
  display: "flex",
1915
1915
  alignItems: "center",
1916
1916
  justifyContent: "center"
1917
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }) }),
1917
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
1918
1918
  /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "card-title text-subtitle mb-2", children: contact.name || t("contactList.card.noName") || "Không có tên" }),
1919
1919
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-block px-3 py-1 rounded-full text-small font-semibold bg-surface text-brand-primary", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: contact.position || t("contactList.card.noPosition") || "Chưa có chức vụ" })
1920
1920
  ] }),
@@ -1941,7 +1941,7 @@ const ContactCard = ({ contact, t, isDarkMode }) => {
1941
1941
  alignItems: "center",
1942
1942
  justifyContent: "center",
1943
1943
  marginRight: "0.75rem"
1944
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", className: "w-4 h-4 icon-gradient" }) }),
1944
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
1945
1945
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
1946
1946
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contactList.card.phone") || "Điện thoại" }),
1947
1947
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.phone })
@@ -1971,7 +1971,7 @@ const ContactCard = ({ contact, t, isDarkMode }) => {
1971
1971
  alignItems: "center",
1972
1972
  justifyContent: "center",
1973
1973
  marginRight: "0.75rem"
1974
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", className: "w-4 h-4 icon-gradient" }) }),
1974
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
1975
1975
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
1976
1976
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: "Email" }),
1977
1977
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.email })
@@ -1996,7 +1996,7 @@ const ContactCard = ({ contact, t, isDarkMode }) => {
1996
1996
  alignItems: "center",
1997
1997
  justifyContent: "center",
1998
1998
  marginRight: "0.75rem"
1999
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", className: "w-4 h-4 icon-muted" }) }),
1999
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", folder: "ContactInfoSection", className: "w-4 h-4 icon-muted" }) }),
2000
2000
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
2001
2001
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contactList.card.workingHours") || "Giờ làm việc" }),
2002
2002
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.workingHours || t("contactList.card.defaultWorkingHours") || "T2-T6: 8:00-18:00" })
@@ -3391,52 +3391,18 @@ const DiagramSection = ({ data, t, isDarkMode }) => {
3391
3391
  ] })
3392
3392
  ] });
3393
3393
  };
3394
- const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description, isDarkMode }) => {
3394
+ const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description }) => {
3395
3395
  const [isHovered, setIsHovered] = useState(false);
3396
3396
  const [dragStartPos, setDragStartPos] = useState(null);
3397
3397
  const [hasMoved, setHasMoved] = useState(false);
3398
- const getColorStyles = (colorName) => {
3399
- const styles = {
3400
- blue: {
3401
- gradient: "linear-gradient(to bottom right, var(--brand-primary), var(--brand-primary))",
3402
- gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
3403
- border: "var(--brand-primary)",
3404
- shadowColor: "var(--brand-primary)"
3405
- },
3406
- teal: {
3407
- gradient: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
3408
- gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-strong-start), var(--gradient-brand-strong-end))",
3409
- border: "var(--gradient-brand-soft-start)",
3410
- shadowColor: "var(--gradient-brand-soft-start)"
3411
- },
3412
- purple: {
3413
- gradient: "linear-gradient(to bottom right, var(--brand-secondary), var(--gradient-accent-soft-start))",
3414
- gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
3415
- border: "var(--brand-secondary)",
3416
- shadowColor: "var(--brand-secondary)"
3417
- },
3418
- orange: {
3419
- gradient: "linear-gradient(to bottom right, var(--gradient-accent-strong-start), var(--gradient-accent-strong-end))",
3420
- gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
3421
- border: "var(--gradient-accent-strong-start)",
3422
- shadowColor: "var(--gradient-accent-strong-start)"
3423
- },
3424
- cyan: {
3425
- gradient: "linear-gradient(to bottom right, var(--gradient-brand-strong-start), var(--gradient-brand-strong-end))",
3426
- gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
3427
- border: "var(--gradient-brand-strong-start)",
3428
- shadowColor: "var(--gradient-brand-strong-start)"
3429
- },
3430
- indigo: {
3431
- gradient: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
3432
- gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-strong-start), var(--gradient-accent-strong-end))",
3433
- border: "var(--gradient-accent-soft-start)",
3434
- shadowColor: "var(--gradient-accent-soft-start)"
3435
- }
3436
- };
3437
- return styles[colorName] || styles.blue;
3398
+ const colorClasses = {
3399
+ blue: "bg-gradient-to-br from-blue-600 to-blue-700 hover:from-blue-500 hover:to-blue-600 border-blue-400/50 shadow-blue-500/30",
3400
+ teal: "bg-gradient-to-br from-teal-600 to-teal-700 hover:from-teal-500 hover:to-teal-600 border-teal-400/50 shadow-teal-500/30",
3401
+ purple: "bg-gradient-to-br from-purple-600 to-purple-700 hover:from-purple-500 hover:to-purple-600 border-purple-400/50 shadow-purple-500/30",
3402
+ orange: "bg-gradient-to-br from-orange-500 to-orange-600 hover:from-orange-400 hover:to-orange-500 border-orange-300/50 shadow-orange-500/30",
3403
+ cyan: "bg-gradient-to-br from-cyan-600 to-cyan-700 hover:from-cyan-500 hover:to-cyan-600 border-cyan-400/50 shadow-cyan-500/30",
3404
+ indigo: "bg-gradient-to-br from-indigo-600 to-indigo-700 hover:from-indigo-500 hover:to-indigo-600 border-indigo-400/50 shadow-indigo-500/30"
3438
3405
  };
3439
- const colorStyle = getColorStyles(color);
3440
3406
  const handleMouseDown = (e) => {
3441
3407
  setDragStartPos({ x: e.clientX, y: e.clientY });
3442
3408
  setHasMoved(false);
@@ -3519,45 +3485,12 @@ const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDrag
3519
3485
  onTouchMove: handleTouchMove,
3520
3486
  onTouchEnd: handleTouchEnd,
3521
3487
  children: [
3522
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
3523
- "div",
3524
- {
3525
- 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",
3526
- style: {
3527
- background: isHovered || isDragging ? colorStyle.gradientHover : colorStyle.gradient,
3528
- borderColor: colorStyle.border + "80",
3529
- boxShadow: `0 10px 40px rgba(var(--brand-primary), 0.3)`,
3530
- transform: isHovered || isDragging ? "scale(1.1)" : "scale(1)",
3531
- filter: isHovered || isDragging ? "brightness(1.1)" : "brightness(1)",
3532
- rotate: isDragging ? "2deg" : "0deg"
3533
- },
3534
- children: [
3535
- /* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-4 h-4 flex-shrink-0 text-inverse" }),
3536
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-inverse text-small whitespace-nowrap", children: text })
3537
- ]
3538
- }
3539
- ),
3540
- isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx(
3541
- "div",
3542
- {
3543
- className: "absolute inset-0 rounded-2xl blur-xl animate-pulse",
3544
- style: {
3545
- background: "rgba(255, 255, 255, 0.1)",
3546
- transform: "scale(1.5)"
3547
- }
3548
- }
3549
- ),
3550
- (isHovered || isDragging) && description && /* @__PURE__ */ jsxRuntimeExports.jsx(
3551
- "div",
3552
- {
3553
- 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"}`,
3554
- style: {
3555
- borderColor: "var(--border-color)",
3556
- opacity: 0.95
3557
- },
3558
- children: description
3559
- }
3560
- )
3488
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${colorClasses[color]} 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 ${isHovered || isDragging ? "scale-110 shadow-2xl brightness-110" : ""} ${isDragging ? "rotate-2" : ""}`, children: [
3489
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-4 h-4 text-white flex-shrink-0" }),
3490
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-white font-medium whitespace-nowrap text-xs sm:text-sm", children: text })
3491
+ ] }),
3492
+ isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-white/10 rounded-2xl blur-xl animate-pulse", style: { transform: "scale(1.5)" } }),
3493
+ (isHovered || isDragging) && description && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-full left-1/2 -translate-x-1/2 mt-2 px-3 py-2 bg-slate-900/95 text-white text-xs rounded-lg shadow-xl border border-slate-700 whitespace-nowrap z-50 max-w-xs", children: description })
3561
3494
  ]
3562
3495
  }
3563
3496
  );
@@ -3778,108 +3711,49 @@ const DiagramSection2 = ({ data, t, isDarkMode }) => {
3778
3711
  "div",
3779
3712
  {
3780
3713
  ref: containerRef,
3781
- className: "mind-map-container relative w-full h-screen overflow-hidden bg-section-soft",
3782
- style: {
3783
- touchAction: "none"
3784
- },
3714
+ className: `mind-map-container relative w-full h-screen ${isDarkMode ? "bg-gradient-to-br from-slate-950 via-indigo-950 to-purple-950" : "bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50"} overflow-hidden transition-colors duration-300`,
3715
+ style: { touchAction: "none" },
3785
3716
  children: [
3786
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
3787
- "div",
3788
- {
3789
- className: "absolute inset-0",
3790
- style: { opacity: isDarkMode ? 0.3 : 0.2 },
3791
- children: [
3792
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3793
- "div",
3794
- {
3795
- className: "absolute inset-0 bg-gradient-brand",
3796
- style: {
3797
- opacity: 0.2
3798
- }
3799
- }
3800
- ),
3801
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3802
- "div",
3803
- {
3804
- className: "absolute inset-0 bg-gradient-accent",
3805
- style: {
3806
- opacity: 0.1
3807
- }
3808
- }
3809
- )
3810
- ]
3811
- }
3812
- ),
3813
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3814
- "div",
3815
- {
3816
- className: "absolute inset-0 pointer-events-none",
3817
- style: { opacity: isDarkMode ? 0.6 : 0.4 },
3818
- children: [...Array(150)].map((_, i) => {
3819
- const colors = ["bg-brand-primary", "bg-brand-secondary"];
3820
- const randomColor = colors[Math.floor(Math.random() * colors.length)];
3821
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3822
- "div",
3823
- {
3824
- className: `absolute rounded-full ${randomColor}`,
3825
- style: {
3826
- left: `${Math.random() * 100}%`,
3827
- top: `${Math.random() * 100}%`,
3828
- width: `${Math.random() * 3 + 1}px`,
3829
- height: `${Math.random() * 3 + 1}px`,
3830
- animationName: "twinkle",
3831
- animationDelay: `${Math.random() * 5}s`,
3832
- animationDuration: `${4 + Math.random() * 6}s`,
3833
- animationIterationCount: "infinite",
3834
- animationTimingFunction: "ease-in-out"
3835
- }
3836
- },
3837
- i
3838
- );
3839
- })
3840
- }
3841
- ),
3842
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3717
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-30" : "opacity-20"}`, children: [
3718
+ /* @__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"}` }),
3719
+ /* @__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" }),
3720
+ /* @__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" })
3721
+ ] }),
3722
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 pointer-events-none ${isDarkMode ? "opacity-60" : "opacity-40"}`, children: [...Array(150)].map((_, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3843
3723
  "div",
3844
3724
  {
3845
- className: "absolute inset-0 pointer-events-none",
3846
- style: { opacity: isDarkMode ? 0.1 : 0.05 },
3847
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3848
- "div",
3849
- {
3850
- className: "absolute inset-0",
3851
- style: {
3852
- 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)",
3853
- backgroundSize: "40px 40px",
3854
- opacity: 0.15
3855
- }
3856
- }
3857
- )
3858
- }
3859
- ),
3860
- /* @__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: [
3861
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3862
- "div",
3863
- {
3864
- className: "absolute inset-0 blur-3xl w-20 h-20 sm:w-32 sm:h-32 bg-gradient-brand",
3865
- style: {
3866
- opacity: 0.2
3867
- }
3725
+ className: "absolute rounded-full animate-twinkle",
3726
+ style: {
3727
+ left: `${Math.random() * 100}%`,
3728
+ top: `${Math.random() * 100}%`,
3729
+ width: `${Math.random() * 3 + 1}px`,
3730
+ height: `${Math.random() * 3 + 1}px`,
3731
+ background: isDarkMode ? ["#60a5fa", "#818cf8", "#a78bfa", "#c084fc", "#e879f9"][Math.floor(Math.random() * 5)] : ["#3b82f6", "#6366f1", "#8b5cf6", "#a855f7", "#d946ef"][Math.floor(Math.random() * 5)],
3732
+ animationDelay: `${Math.random() * 5}s`,
3733
+ animationDuration: `${4 + Math.random() * 6}s`
3868
3734
  }
3869
- ),
3735
+ },
3736
+ i
3737
+ )) }),
3738
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-10" : "opacity-5"} pointer-events-none`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0", style: {
3739
+ backgroundImage: `radial-gradient(circle at 1px 1px, ${isDarkMode ? "rgba(255,255,255,0.15)" : "rgba(0,0,0,0.1)"} 1px, transparent 0)`,
3740
+ backgroundSize: "40px 40px"
3741
+ } }) }),
3742
+ /* @__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: [
3743
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-blue-500/20 to-purple-500/20 blur-3xl w-20 h-20 sm:w-32 sm:h-32" }),
3870
3744
  /* @__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" }) })
3871
3745
  ] }) }),
3872
3746
  /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "absolute inset-0 w-full h-full pointer-events-none", style: { zIndex: 1 }, children: [
3873
3747
  /* @__PURE__ */ jsxRuntimeExports.jsxs("defs", { children: [
3874
3748
  /* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "circuit-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
3875
- /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", style: { stopColor: "var(--brand-primary)", stopOpacity: 0.6 } }),
3876
- /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", style: { stopColor: "var(--gradient-brand-soft-start)", stopOpacity: 0.9 } }),
3877
- /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", style: { stopColor: "var(--gradient-brand-soft-end)", stopOpacity: 0.6 } })
3749
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0.6" }),
3750
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "#a78bfa", stopOpacity: "0.9" }),
3751
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "#c084fc", stopOpacity: "0.6" })
3878
3752
  ] }),
3879
3753
  /* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "sparkle-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
3880
- /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", style: { stopColor: "var(--brand-primary)" } }),
3881
- /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", style: { stopColor: "var(--gradient-brand-soft-start)" } }),
3882
- /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", style: { stopColor: "var(--gradient-brand-soft-end)" } })
3754
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "#60a5fa" }),
3755
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "#a78bfa" }),
3756
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "#c084fc" })
3883
3757
  ] }),
3884
3758
  /* @__PURE__ */ jsxRuntimeExports.jsxs("filter", { id: "glow", children: [
3885
3759
  /* @__PURE__ */ jsxRuntimeExports.jsx("feGaussianBlur", { stdDeviation: "4", result: "coloredBlur" }),
@@ -3894,11 +3768,11 @@ const DiagramSection2 = ({ data, t, isDarkMode }) => {
3894
3768
  "path",
3895
3769
  {
3896
3770
  d: line.path,
3897
- stroke: "var(--gradient-brand-soft-start)",
3771
+ stroke: "rgba(167, 139, 250, 0.2)",
3898
3772
  strokeWidth: "6",
3899
3773
  fill: "none",
3900
3774
  className: "transition-all duration-200",
3901
- style: { filter: "blur(8px)", opacity: 0.2 }
3775
+ style: { filter: "blur(8px)" }
3902
3776
  }
3903
3777
  ),
3904
3778
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -3930,8 +3804,7 @@ const DiagramSection2 = ({ data, t, isDarkMode }) => {
3930
3804
  delay: node.delay,
3931
3805
  onDragStart: handleNodeDragStart,
3932
3806
  isDragging: draggingNodeId === node.id,
3933
- onClick: handleNodeClick,
3934
- isDarkMode
3807
+ onClick: handleNodeClick
3935
3808
  },
3936
3809
  node.id
3937
3810
  )) }),
@@ -3965,51 +3838,15 @@ const DiagramSection2 = ({ data, t, isDarkMode }) => {
3965
3838
  },
3966
3839
  onTouchEnd: () => setIsDragging(false),
3967
3840
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
3968
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3969
- "div",
3970
- {
3971
- className: "absolute inset-0 rounded-full blur-2xl bg-brand-primary",
3972
- style: {
3973
- opacity: 0.3,
3974
- transform: "scale(1.5)"
3975
- }
3976
- }
3977
- ),
3978
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
3979
- "div",
3980
- {
3981
- 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",
3982
- style: {
3983
- borderColor: "rgba(var(--brand-primary-rgb), 0.5)",
3984
- transform: isDragging ? "scale(1.1)" : "scale(1)",
3985
- transition: "transform 0.3s ease"
3986
- },
3987
- children: [
3988
- /* @__PURE__ */ jsxRuntimeExports.jsx(
3989
- "div",
3990
- {
3991
- className: "p-2 sm:p-3 rounded-xl backdrop-blur-sm",
3992
- style: { backgroundColor: "rgba(255, 255, 255, 0.25)" },
3993
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Briefcase, { className: "w-5 h-5 sm:w-7 sm:h-7 text-inverse" })
3994
- }
3995
- ),
3996
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
3997
- /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-inverse text-body sm:text-subtitle", children: diagramName }),
3998
- diagramDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-inverse text-caption sm:text-small opacity-90", children: diagramDescription })
3999
- ] })
4000
- ]
4001
- }
4002
- ),
4003
- !isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx(
4004
- "div",
4005
- {
4006
- className: `absolute -bottom-8 left-1/2 transform -translate-x-1/2 text-caption whitespace-nowrap ${isDarkMode ? "text-brand-primary" : "text-brand-secondary"}`,
4007
- style: {
4008
- opacity: 0.6
4009
- },
4010
- children: safeT("diagram.dragToMove")
4011
- }
4012
- )
3841
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-indigo-400/30 rounded-full blur-2xl", style: { transform: "scale(1.5)" } }),
3842
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `relative bg-gradient-to-br from-indigo-500 via-blue-500 to-cyan-500 px-6 sm:px-10 py-3 sm:py-5 rounded-3xl shadow-2xl border-4 border-indigo-300/50 flex items-center gap-3 sm:gap-4 transition-transform backdrop-blur-md ${isDragging ? "scale-110" : ""}`, children: [
3843
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-white/25 p-2 sm:p-3 rounded-xl backdrop-blur-sm", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Briefcase, { className: "w-5 h-5 sm:w-7 sm:h-7 text-white" }) }),
3844
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
3845
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-white font-bold text-sm sm:text-xl leading-tight tracking-wide", children: diagramName }),
3846
+ diagramDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-white/90 font-medium text-xs sm:text-base leading-tight", children: diagramDescription })
3847
+ ] })
3848
+ ] }),
3849
+ !isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute -bottom-8 left-1/2 transform -translate-x-1/2 ${isDarkMode ? "text-indigo-300/60" : "text-indigo-600/60"} text-xs whitespace-nowrap`, children: safeT("diagram.dragToMove") })
4013
3850
  ] })
4014
3851
  }
4015
3852
  ),
@@ -4029,6 +3866,7 @@ const DiagramSection2 = ({ data, t, isDarkMode }) => {
4029
3866
  animation: fadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
4030
3867
  opacity: 0;
4031
3868
  }
3869
+ .animate-twinkle { animation: twinkle 5s ease-in-out infinite; }
4032
3870
  ` })
4033
3871
  ]
4034
3872
  }
@@ -4059,7 +3897,7 @@ const FaqItem = ({ faq, index: index2, isActive, onToggle, t }) => {
4059
3897
  ThemeIcon,
4060
3898
  {
4061
3899
  name: "icon-faqChevronDown",
4062
- folder: "common",
3900
+ folder: "FaqSection",
4063
3901
  className: `w-5 h-5 icon-muted transition-transform duration-500 ${isActive ? "rotate-180" : ""}`
4064
3902
  }
4065
3903
  ) })
@@ -4141,7 +3979,7 @@ const FaqSection = ({ data, t, isDarkMode, section }) => {
4141
3979
  },
4142
3980
  onMouseEnter: (e) => e.currentTarget.style.transform = "scale(1.1)",
4143
3981
  onMouseLeave: (e) => e.currentTarget.style.transform = "scale(1)",
4144
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-faqQuestion", className: "w-4 h-4 icon-gradient" })
3982
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-faqQuestion", folder: "FaqSection", className: "w-4 h-4 icon-gradient" })
4145
3983
  }
4146
3984
  ) }),
4147
3985
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12 animate-fade-in", children: [