@windrun-huaiin/third-ui 5.12.1 → 5.12.3

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.
@@ -94,7 +94,9 @@ __export(main_exports, {
94
94
  SeoContent: () => SeoContent,
95
95
  Tips: () => Tips,
96
96
  Usage: () => Usage,
97
- XButton: () => XButton
97
+ XButton: () => XButton,
98
+ createRichTextRenderer: () => createRichTextRenderer,
99
+ richText: () => richText
98
100
  });
99
101
  module.exports = __toCommonJS(main_exports);
100
102
 
@@ -2861,24 +2863,52 @@ function Gallery({ sectionClassName, button }) {
2861
2863
 
2862
2864
  // src/main/usage.tsx
2863
2865
  var import_next_intl2 = require("next-intl");
2866
+
2867
+ // src/main/rich-text-expert.tsx
2864
2868
  var import_jsx_runtime34 = require("react/jsx-runtime");
2869
+ var defaultTagRenderers = {
2870
+ // text Stong
2871
+ strong: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("strong", { children: chunks }),
2872
+ // text Emphasis
2873
+ em: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("em", { children: chunks }),
2874
+ // text Underline
2875
+ u: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("u", { children: chunks }),
2876
+ // text Mark
2877
+ mark: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("mark", { className: "bg-purple-300 dark:bg-purple-500 text-neutral-800 dark:text-neutral-300 px-1 rounded", children: chunks }),
2878
+ // text Delete
2879
+ del: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("del", { children: chunks }),
2880
+ // text Subscript
2881
+ sub: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("sub", { children: chunks }),
2882
+ // text Superscript
2883
+ sup: (chunks) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("sup", { children: chunks })
2884
+ };
2885
+ function createRichTextRenderer(customRenderers) {
2886
+ const renderers = __spreadValues(__spreadValues({}, defaultTagRenderers), customRenderers);
2887
+ return function richText2(t, key) {
2888
+ return t.rich(key, renderers);
2889
+ };
2890
+ }
2891
+ var richText = createRichTextRenderer();
2892
+
2893
+ // src/main/usage.tsx
2894
+ var import_jsx_runtime35 = require("react/jsx-runtime");
2865
2895
  function Usage({ sectionClassName }) {
2866
2896
  const t = (0, import_next_intl2.useTranslations)("usage");
2867
2897
  const steps = t.raw("steps");
2868
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("section", { id: "usage", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2869
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: [
2898
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("section", { id: "usage", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2899
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: [
2870
2900
  t("title"),
2871
2901
  " ",
2872
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2902
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2873
2903
  ] }),
2874
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto whitespace-nowrap", children: t("description") }),
2875
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 gap-y-12", children: steps.map((step, idx) => {
2904
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto whitespace-nowrap", children: richText(t, "description") }),
2905
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 gap-y-12", children: steps.map((step, idx) => {
2876
2906
  const Icon2 = getGlobalIcon(step.iconKey);
2877
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex items-start", children: [
2878
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex-shrink-0 mr-4", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Icon2, { className: "w-8 h-8 text-purple-500" }) }),
2879
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { children: [
2880
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("h3", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100 flex items-center", children: `${idx + 1}. ${step.title}` }),
2881
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-gray-700 dark:text-gray-300", children: step.description })
2907
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-start", children: [
2908
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex-shrink-0 mr-4", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon2, { className: "w-8 h-8 text-purple-500" }) }),
2909
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
2910
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h3", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100 flex items-center", children: `${idx + 1}. ${step.title}` }),
2911
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-gray-700 dark:text-gray-300", children: richText(t, `steps.${idx}.description`) })
2882
2912
  ] })
2883
2913
  ] }, idx);
2884
2914
  }) }) })
@@ -2887,27 +2917,27 @@ function Usage({ sectionClassName }) {
2887
2917
 
2888
2918
  // src/main/features.tsx
2889
2919
  var import_next_intl3 = require("next-intl");
2890
- var import_jsx_runtime35 = require("react/jsx-runtime");
2920
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2891
2921
  function Features({ sectionClassName }) {
2892
2922
  const t = (0, import_next_intl3.useTranslations)("features");
2893
2923
  const featureItems = t.raw("items");
2894
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("section", { id: "features", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-18", sectionClassName), children: [
2895
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: [
2924
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("section", { id: "features", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-18", sectionClassName), children: [
2925
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: [
2896
2926
  t("title"),
2897
2927
  " ",
2898
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2928
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2899
2929
  ] }),
2900
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto whitespace-nowrap", children: t("description") }),
2901
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 gap-y-12", children: featureItems.map((feature, index) => {
2930
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto whitespace-nowrap", children: richText(t, "description") }),
2931
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 gap-y-12", children: featureItems.map((feature, index) => {
2902
2932
  const Icon2 = getGlobalIcon(feature.iconKey);
2903
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2933
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2904
2934
  "div",
2905
2935
  {
2906
2936
  className: "bg-white dark:bg-gray-800/60 p-8 rounded-xl border border-gray-200 dark:border-gray-700 hover:border-purple-300 dark:hover:border-purple-500/50 transition shadow-sm dark:shadow-none",
2907
2937
  children: [
2908
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "text-4xl mb-4 flex items-center justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon2, { className: "w-8 h-8" }) }),
2909
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h3", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100", children: feature.title }),
2910
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-gray-700 dark:text-gray-300", children: feature.description })
2938
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "text-4xl mb-4 flex items-center justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon2, { className: "w-8 h-8" }) }),
2939
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("h3", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100", children: feature.title }),
2940
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-gray-700 dark:text-gray-300", children: richText(t, `items.${index}.description`) })
2911
2941
  ]
2912
2942
  },
2913
2943
  index
@@ -2918,30 +2948,33 @@ function Features({ sectionClassName }) {
2918
2948
 
2919
2949
  // src/main/tips.tsx
2920
2950
  var import_next_intl4 = require("next-intl");
2921
- var import_jsx_runtime36 = require("react/jsx-runtime");
2951
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2922
2952
  function Tips({ sectionClassName }) {
2923
2953
  const t = (0, import_next_intl4.useTranslations)("tips");
2924
2954
  const sections = t.raw("sections");
2925
2955
  const midPoint = Math.ceil(sections.length / 2);
2926
2956
  const leftColumn = sections.slice(0, midPoint);
2927
2957
  const rightColumn = sections.slice(midPoint);
2928
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("section", { id: "tips", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2929
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-16", children: [
2958
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("section", { id: "tips", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2959
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-16", children: [
2930
2960
  t("title"),
2931
2961
  " ",
2932
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2962
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2933
2963
  ] }),
2934
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-12 bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: [leftColumn, rightColumn].map((column, colIndex) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "space-y-8", children: column.map((tip, tipIndex) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "space-y-4", children: [
2935
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("h3", { className: "text-2xl font-semibold", children: tip.title }),
2936
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "", children: tip.description })
2937
- ] }, tipIndex)) }, colIndex)) })
2964
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-12 bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: [leftColumn, rightColumn].map((column, colIndex) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "space-y-8", children: column.map((tip, tipIndex) => {
2965
+ const actualIndex = colIndex === 0 ? tipIndex : tipIndex + midPoint;
2966
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "space-y-4", children: [
2967
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("h3", { className: "text-2xl font-semibold", children: tip.title }),
2968
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "", children: richText(t, `sections.${actualIndex}.description`) })
2969
+ ] }, tipIndex);
2970
+ }) }, colIndex)) })
2938
2971
  ] });
2939
2972
  }
2940
2973
 
2941
2974
  // src/main/faq.tsx
2942
2975
  var import_react36 = require("react");
2943
2976
  var import_next_intl5 = require("next-intl");
2944
- var import_jsx_runtime37 = require("react/jsx-runtime");
2977
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2945
2978
  function FAQ({ sectionClassName }) {
2946
2979
  const t = (0, import_next_intl5.useTranslations)("faq");
2947
2980
  const items = t.raw("items");
@@ -2953,30 +2986,30 @@ function FAQ({ sectionClassName }) {
2953
2986
  return next;
2954
2987
  });
2955
2988
  };
2956
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("section", { id: "faq", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2957
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: t("title") }),
2958
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto", children: t("description") }),
2959
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "space-y-6", children: items.map((item, idx) => {
2989
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("section", { id: "faq", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2990
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: t("title") }),
2991
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto", children: richText(t, "description") }),
2992
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "space-y-6", children: items.map((item, idx) => {
2960
2993
  const isOpen = openArr[idx];
2961
2994
  const Icon2 = isOpen ? globalLucideIcons.ChevronDown : globalLucideIcons.ChevronRight;
2962
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
2995
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2963
2996
  "div",
2964
2997
  {
2965
2998
  className: "bg-white dark:bg-gray-800/60 p-6 rounded-xl border border-gray-200 dark:border-gray-700 hover:border-purple-300 dark:hover:border-purple-500/50 transition shadow-sm dark:shadow-none",
2966
2999
  children: [
2967
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3000
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2968
3001
  "button",
2969
3002
  {
2970
3003
  className: "w-full flex items-center justify-between text-left focus:outline-none",
2971
3004
  onClick: () => handleToggle(idx),
2972
3005
  "aria-expanded": isOpen,
2973
3006
  children: [
2974
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: item.question }),
2975
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon2, { className: "w-6 h-6 text-gray-400 ml-2 transition-transform duration-200" })
3007
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: item.question }),
3008
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon2, { className: "w-6 h-6 text-gray-400 ml-2 transition-transform duration-200" })
2976
3009
  ]
2977
3010
  }
2978
3011
  ),
2979
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "mt-4 text-gray-700 dark:text-gray-300 text-base", children: item.answer })
3012
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "mt-4 text-gray-700 dark:text-gray-300 text-base", children: richText(t, `items.${idx}.answer`) })
2980
3013
  ]
2981
3014
  },
2982
3015
  idx
@@ -2987,25 +3020,25 @@ function FAQ({ sectionClassName }) {
2987
3020
 
2988
3021
  // src/main/seo-content.tsx
2989
3022
  var import_next_intl6 = require("next-intl");
2990
- var import_jsx_runtime38 = require("react/jsx-runtime");
3023
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2991
3024
  function SeoContent({ sectionClassName }) {
2992
3025
  const t = (0, import_next_intl6.useTranslations)("seoContent");
2993
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("section", { id: "seo", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
2994
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("h1", { className: "text-3xl md:text-4xl font-bold text-center mb-8", children: [
3026
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("section", { id: "seo", className: cn("px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
3027
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-8", children: [
2995
3028
  t("title"),
2996
3029
  " ",
2997
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
3030
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-purple-500", children: t("eyesOn") })
2998
3031
  ] }),
2999
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h3", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-lg", children: t("description") }),
3000
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: [
3001
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "space-y-10", children: [
3002
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-gray-600 dark:text-gray-400 text-lg", children: t("intro") }),
3003
- t.raw("sections").map((section, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { children: [
3004
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h2", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100 flex items-center", children: section.title }),
3005
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-gray-700 dark:text-gray-300", children: section.content })
3032
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("h3", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-lg", children: t("description") }),
3033
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: [
3034
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "space-y-10", children: [
3035
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "text-gray-600 dark:text-gray-400 text-lg", children: richText(t, "intro") }),
3036
+ t.raw("sections").map((section, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
3037
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("h2", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100 flex items-center", children: section.title }),
3038
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "text-gray-700 dark:text-gray-300", children: richText(t, `sections.${index}.content`) })
3006
3039
  ] }, index))
3007
3040
  ] }),
3008
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "mt-10 text-gray-600 dark:text-gray-400 text-lg", children: t("conclusion") })
3041
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "mt-10 text-gray-600 dark:text-gray-400 text-lg", children: richText(t, "conclusion") })
3009
3042
  ] })
3010
3043
  ] });
3011
3044
  }
@@ -3054,7 +3087,7 @@ function useComposedRefs(...refs) {
3054
3087
  }
3055
3088
 
3056
3089
  // ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.mjs
3057
- var import_jsx_runtime39 = require("react/jsx-runtime");
3090
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3058
3091
  // @__NO_SIDE_EFFECTS__
3059
3092
  function createSlot(ownerName) {
3060
3093
  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
@@ -3072,9 +3105,9 @@ function createSlot(ownerName) {
3072
3105
  return child;
3073
3106
  }
3074
3107
  });
3075
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children: React34.isValidElement(newElement) ? React34.cloneElement(newElement, void 0, newChildren) : null }));
3108
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children: React34.isValidElement(newElement) ? React34.cloneElement(newElement, void 0, newChildren) : null }));
3076
3109
  }
3077
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children }));
3110
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SlotClone, __spreadProps(__spreadValues({}, slotProps), { ref: forwardedRef, children }));
3078
3111
  });
3079
3112
  Slot22.displayName = `${ownerName}.Slot`;
3080
3113
  return Slot22;
@@ -3101,7 +3134,7 @@ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
3101
3134
  // @__NO_SIDE_EFFECTS__
3102
3135
  function createSlottable(ownerName) {
3103
3136
  const Slottable2 = ({ children }) => {
3104
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children });
3137
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children });
3105
3138
  };
3106
3139
  Slottable2.displayName = `${ownerName}.Slottable`;
3107
3140
  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
@@ -3151,7 +3184,7 @@ function getElementRef(element) {
3151
3184
 
3152
3185
  // ../base-ui/src/ui/button.tsx
3153
3186
  var import_class_variance_authority = require("class-variance-authority");
3154
- var import_jsx_runtime40 = require("react/jsx-runtime");
3187
+ var import_jsx_runtime41 = require("react/jsx-runtime");
3155
3188
  var buttonVariants = (0, import_class_variance_authority.cva)(
3156
3189
  "inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
3157
3190
  {
@@ -3182,7 +3215,7 @@ var Button = React35.forwardRef(
3182
3215
  var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
3183
3216
  const Comp = asChild ? Slot : "button";
3184
3217
  if (asChild) {
3185
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3218
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3186
3219
  Comp,
3187
3220
  __spreadProps(__spreadValues({
3188
3221
  className: cn(buttonVariants({ variant, size, className })),
@@ -3193,7 +3226,7 @@ var Button = React35.forwardRef(
3193
3226
  })
3194
3227
  );
3195
3228
  }
3196
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
3229
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
3197
3230
  Comp,
3198
3231
  __spreadProps(__spreadValues({
3199
3232
  className: cn(buttonVariants({ variant, size, className })),
@@ -3202,7 +3235,7 @@ var Button = React35.forwardRef(
3202
3235
  }, props), {
3203
3236
  children: [
3204
3237
  children,
3205
- loading && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
3238
+ loading && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
3206
3239
  ]
3207
3240
  })
3208
3241
  );
@@ -3213,7 +3246,7 @@ Button.displayName = "Button";
3213
3246
  // src/fuma/mdx/gradient-button.tsx
3214
3247
  var import_link2 = __toESM(require("next/link"));
3215
3248
  var import_react37 = __toESM(require("react"));
3216
- var import_jsx_runtime41 = require("react/jsx-runtime");
3249
+ var import_jsx_runtime42 = require("react/jsx-runtime");
3217
3250
  function GradientButton({
3218
3251
  title,
3219
3252
  icon,
@@ -3261,15 +3294,15 @@ function GradientButton({
3261
3294
  });
3262
3295
  const isDisabled = disabled || isLoading;
3263
3296
  const displayTitle = isLoading ? actualLoadingText : title;
3264
- const displayIcon = isLoading ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.Loader2, { className: "h-4 w-4 text-white animate-spin" }) : icon ? import_react37.default.cloneElement(icon, {
3297
+ const displayIcon = isLoading ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.Loader2, { className: "h-4 w-4 text-white animate-spin" }) : icon ? import_react37.default.cloneElement(icon, {
3265
3298
  className: "h-4 w-4 text-white"
3266
- }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(globalLucideIcons.ArrowRight, { className: "h-4 w-4 text-white" });
3267
- const buttonContent = onClick ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
3268
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { children: displayIcon }),
3269
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "ml-1", children: displayTitle })
3270
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
3271
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { children: displayTitle }),
3272
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "ml-1", children: displayIcon })
3299
+ }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.ArrowRight, { className: "h-4 w-4 text-white" });
3300
+ const buttonContent = onClick ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
3301
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { children: displayIcon }),
3302
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ml-1", children: displayTitle })
3303
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
3304
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { children: displayTitle }),
3305
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ml-1", children: displayIcon })
3273
3306
  ] });
3274
3307
  const buttonClassName = `
3275
3308
  bg-gradient-to-r
@@ -3283,9 +3316,9 @@ function GradientButton({
3283
3316
  ${isDisabled ? "opacity-50 cursor-not-allowed" : ""}
3284
3317
  ${className}
3285
3318
  `;
3286
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `flex flex-col sm:flex-row gap-3 ${getAlignmentClass()}`, children: onClick ? (
3319
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: `flex flex-col sm:flex-row gap-3 ${getAlignmentClass()}`, children: onClick ? (
3287
3320
  // for click
3288
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3321
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3289
3322
  Button,
3290
3323
  {
3291
3324
  size: "lg",
@@ -3297,14 +3330,14 @@ function GradientButton({
3297
3330
  )
3298
3331
  ) : (
3299
3332
  // for Link
3300
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3333
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3301
3334
  Button,
3302
3335
  {
3303
3336
  asChild: true,
3304
3337
  size: "lg",
3305
3338
  className: buttonClassName,
3306
3339
  disabled: isDisabled,
3307
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3340
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3308
3341
  import_link2.default,
3309
3342
  __spreadProps(__spreadValues({
3310
3343
  href: href || "#",
@@ -3321,22 +3354,22 @@ function GradientButton({
3321
3354
 
3322
3355
  // src/main/cta.tsx
3323
3356
  var import_next_intl7 = require("next-intl");
3324
- var import_jsx_runtime42 = require("react/jsx-runtime");
3357
+ var import_jsx_runtime43 = require("react/jsx-runtime");
3325
3358
  function CTA({ sectionClassName }) {
3326
3359
  const t = (0, import_next_intl7.useTranslations)("cta");
3327
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("section", { id: "cta", className: cn("px-16 py-20 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "\n bg-gradient-to-r from-[#f7f8fa] via-[#e0c3fc] to-[#b2fefa]\n dark:bg-gradient-to-r dark:from-[#2d0b4e] dark:via-[#6a3fa0] dark:to-[#3a185a]\n rounded-2xl p-12 text-center\n bg-[length:200%_auto] animate-cta-gradient-wave\n ", children: [
3328
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold mb-6", children: [
3360
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("section", { id: "cta", className: cn("px-16 py-20 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "\n bg-gradient-to-r from-[#f7f8fa] via-[#e0c3fc] to-[#b2fefa]\n dark:bg-gradient-to-r dark:from-[#2d0b4e] dark:via-[#6a3fa0] dark:to-[#3a185a]\n rounded-2xl p-12 text-center\n bg-[length:200%_auto] animate-cta-gradient-wave\n ", children: [
3361
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("h2", { className: "text-3xl md:text-4xl font-bold mb-6", children: [
3329
3362
  t("title"),
3330
3363
  " ",
3331
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-purple-400", children: t("eyesOn") }),
3364
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "text-purple-400", children: t("eyesOn") }),
3332
3365
  "?"
3333
3366
  ] }),
3334
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("p", { className: "text-2xl mx-auto mb-8", children: [
3335
- t("description1"),
3336
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("br", {}),
3337
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-purple-400", children: t("description2") })
3367
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("p", { className: "text-2xl mx-auto mb-8", children: [
3368
+ richText(t, "description1"),
3369
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("br", {}),
3370
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "text-purple-400", children: t("description2") })
3338
3371
  ] }),
3339
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3372
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
3340
3373
  GradientButton,
3341
3374
  {
3342
3375
  title: t("button"),
@@ -3350,42 +3383,42 @@ function CTA({ sectionClassName }) {
3350
3383
  // src/main/footer.tsx
3351
3384
  var import_next_intl8 = require("next-intl");
3352
3385
  var import_link3 = __toESM(require("next/link"));
3353
- var import_jsx_runtime43 = require("react/jsx-runtime");
3386
+ var import_jsx_runtime44 = require("react/jsx-runtime");
3354
3387
  function Footer() {
3355
3388
  const tFooter = (0, import_next_intl8.useTranslations)("footer");
3356
3389
  const locale = (0, import_next_intl8.useLocale)();
3357
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mb-10 w-full mx-auto border-t-purple-700/80 border-t-1", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("footer", { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "w-full flex flex-col items-center justify-center px-4 py-8 space-y-3", children: [
3358
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center justify-center space-x-6 text-xs", children: [
3359
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_link3.default, { href: `/${locale}/legal/terms`, className: "flex items-center space-x-1 hover:underline", children: [
3360
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.ReceiptText, { className: "h-3.5 w-3.5" }),
3361
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: tFooter("terms", { defaultValue: "Terms of Service" }) })
3390
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "mb-10 w-full mx-auto border-t-purple-700/80 border-t-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("footer", { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "w-full flex flex-col items-center justify-center px-4 py-8 space-y-3", children: [
3391
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex items-center justify-center space-x-6 text-xs", children: [
3392
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_link3.default, { href: `/${locale}/legal/terms`, className: "flex items-center space-x-1 hover:underline", children: [
3393
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.ReceiptText, { className: "h-3.5 w-3.5" }),
3394
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: tFooter("terms", { defaultValue: "Terms of Service" }) })
3362
3395
  ] }),
3363
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_link3.default, { href: `/${locale}/legal/privacy`, className: "flex items-center space-x-1 hover:underline", children: [
3364
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.ShieldUser, { className: "h-3.5 w-3.5" }),
3365
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: tFooter("privacy", { defaultValue: "Privacy Policy" }) })
3396
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_link3.default, { href: `/${locale}/legal/privacy`, className: "flex items-center space-x-1 hover:underline", children: [
3397
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.ShieldUser, { className: "h-3.5 w-3.5" }),
3398
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: tFooter("privacy", { defaultValue: "Privacy Policy" }) })
3366
3399
  ] }),
3367
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "relative group", children: [
3368
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "absolute left-2/3 -translate-x-1/4 bottom-full mb-1 hidden group-hover:block bg-zinc-600 text-white text-xs rounded px-3 py-1 whitespace-nowrap z-10 shadow-lg", children: tFooter("email") }),
3369
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
3400
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "relative group", children: [
3401
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "absolute left-2/3 -translate-x-1/4 bottom-full mb-1 hidden group-hover:block bg-zinc-600 text-white text-xs rounded px-3 py-1 whitespace-nowrap z-10 shadow-lg", children: tFooter("email") }),
3402
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
3370
3403
  "a",
3371
3404
  {
3372
3405
  href: `mailto:${tFooter("email")}`,
3373
3406
  className: "flex items-center space-x-1 underline cursor-pointer px-2",
3374
3407
  children: [
3375
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.Mail, { className: "h-3.5 w-3.5" }),
3376
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: tFooter("contactUs", { defaultValue: "Contact Us" }) })
3408
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.Mail, { className: "h-3.5 w-3.5" }),
3409
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: tFooter("contactUs", { defaultValue: "Contact Us" }) })
3377
3410
  ]
3378
3411
  }
3379
3412
  )
3380
3413
  ] })
3381
3414
  ] }),
3382
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "text-xs text-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: tFooter("copyright", { year: (/* @__PURE__ */ new Date()).getFullYear(), name: tFooter("company") }) }) })
3415
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "text-xs text-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: tFooter("copyright", { year: (/* @__PURE__ */ new Date()).getFullYear(), name: tFooter("company") }) }) })
3383
3416
  ] }) }) });
3384
3417
  }
3385
3418
 
3386
3419
  // src/main/go-to-top.tsx
3387
3420
  var import_react38 = require("react");
3388
- var import_jsx_runtime44 = require("react/jsx-runtime");
3421
+ var import_jsx_runtime45 = require("react/jsx-runtime");
3389
3422
  function GoToTop() {
3390
3423
  const [isVisible, setIsVisible] = (0, import_react38.useState)(false);
3391
3424
  (0, import_react38.useEffect)(() => {
@@ -3405,19 +3438,19 @@ function GoToTop() {
3405
3438
  behavior: "smooth"
3406
3439
  });
3407
3440
  };
3408
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: isVisible && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
3441
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: isVisible && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3409
3442
  "button",
3410
3443
  {
3411
3444
  onClick: scrollToTop,
3412
3445
  className: "fixed bottom-6 right-6 p-3 bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600 dark:hover:to-pink-700 text-white rounded-full shadow-lg hover:shadow-xl transition-all duration-300 z-50",
3413
3446
  "aria-label": "Go to top",
3414
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(globalLucideIcons.ArrowUp, { size: 20, className: "text-white" })
3447
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(globalLucideIcons.ArrowUp, { size: 20, className: "text-white" })
3415
3448
  }
3416
3449
  ) });
3417
3450
  }
3418
3451
 
3419
3452
  // src/main/loading.tsx
3420
- var import_jsx_runtime45 = require("react/jsx-runtime");
3453
+ var import_jsx_runtime46 = require("react/jsx-runtime");
3421
3454
  var NUM_ROWS = 15;
3422
3455
  var NUM_COLS = 15;
3423
3456
  var DOT_SIZE = 6;
@@ -3462,7 +3495,7 @@ function Loading() {
3462
3495
  }
3463
3496
  const containerWidth = (NUM_COLS - 1) * SPACING + DOT_SIZE;
3464
3497
  const containerHeight = (NUM_ROWS - 1) * SPACING + DOT_SIZE;
3465
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex flex-col items-center justify-center min-h-screen bg-neutral-900", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
3498
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex flex-col items-center justify-center min-h-screen bg-neutral-900", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3466
3499
  "div",
3467
3500
  {
3468
3501
  style: {
@@ -3475,7 +3508,7 @@ function Loading() {
3475
3508
  // Clip dots outside the circle
3476
3509
  },
3477
3510
  children: [
3478
- dots.map((dot) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3511
+ dots.map((dot) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3479
3512
  "div",
3480
3513
  {
3481
3514
  style: {
@@ -3497,12 +3530,12 @@ function Loading() {
3497
3530
  },
3498
3531
  dot.id
3499
3532
  )),
3500
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3533
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3501
3534
  "div",
3502
3535
  {
3503
3536
  className: "absolute inset-0 flex items-center justify-center",
3504
3537
  style: { pointerEvents: "none" },
3505
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-xl font-semibold text-white", children: "Loading..." })
3538
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "text-xl font-semibold text-white", children: "Loading..." })
3506
3539
  }
3507
3540
  )
3508
3541
  ]
@@ -3534,7 +3567,7 @@ function NProgressBar() {
3534
3567
  var import_react40 = require("react");
3535
3568
  var import_next_intl9 = require("next-intl");
3536
3569
  var import_navigation2 = require("next/navigation");
3537
- var import_jsx_runtime46 = require("react/jsx-runtime");
3570
+ var import_jsx_runtime47 = require("react/jsx-runtime");
3538
3571
  function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3539
3572
  var _a, _b;
3540
3573
  const t = (0, import_next_intl9.useTranslations)("pricePlan");
@@ -3566,9 +3599,9 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3566
3599
  const priceValue = prices[plan.key];
3567
3600
  const billingSubTitle = ((_a2 = billingSwitch.options.find((opt) => opt.key === billingKey)) == null ? void 0 : _a2.subTitle) || "";
3568
3601
  if (typeof priceValue !== "number" || isNaN(priceValue)) {
3569
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col items-start w-full", children: [
3570
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex items-end gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-4xl font-extrabold text-gray-900 dark:text-gray-100", children: priceValue }) }),
3571
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex items-center gap-2 min-h-[24px] mt-1", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: cn("text-xs text-gray-700 dark:text-gray-300 font-medium", plan.showBillingSubTitle === false && "opacity-0 select-none"), children: plan.showBillingSubTitle === false ? "" : billingSubTitle }) })
3602
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col items-start w-full", children: [
3603
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex items-end gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-4xl font-extrabold text-gray-900 dark:text-gray-100", children: priceValue }) }),
3604
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex items-center gap-2 min-h-[24px] mt-1", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: cn("text-xs text-gray-700 dark:text-gray-300 font-medium", plan.showBillingSubTitle === false && "opacity-0 select-none"), children: plan.showBillingSubTitle === false ? "" : billingSubTitle }) })
3572
3605
  ] });
3573
3606
  }
3574
3607
  const originValue = Number(priceValue);
@@ -3582,23 +3615,23 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3582
3615
  discountText = currentBillingDisplay.discountText.replace("{percent}", String(Math.round(Math.abs(discount) * 100)));
3583
3616
  }
3584
3617
  const showNaN = saleValue < 0;
3585
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col items-start w-full", children: [
3586
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-end gap-2", children: [
3587
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "text-4xl font-extrabold text-gray-900 dark:text-gray-100", children: [
3618
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col items-start w-full", children: [
3619
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-end gap-2", children: [
3620
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "text-4xl font-extrabold text-gray-900 dark:text-gray-100", children: [
3588
3621
  currency,
3589
3622
  showNaN ? "NaN" : hasDiscount ? formatPrice(saleValue) : formatPrice(originValue)
3590
3623
  ] }),
3591
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-lg text-gray-700 dark:text-gray-300 font-medium mb-1", children: unit })
3624
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-lg text-gray-700 dark:text-gray-300 font-medium mb-1", children: unit })
3592
3625
  ] }),
3593
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center gap-2 min-h-[24px] mt-1", children: [
3594
- hasDiscount && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
3595
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "text-base text-gray-400 line-through", children: [
3626
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 min-h-[24px] mt-1", children: [
3627
+ hasDiscount && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
3628
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "text-base text-gray-400 line-through", children: [
3596
3629
  currency,
3597
3630
  showNaN ? "NaN" : formatPrice(originValue)
3598
3631
  ] }),
3599
- discountText && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "px-2 py-0.5 text-xs rounded bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200 font-semibold align-middle", children: discountText })
3632
+ discountText && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "px-2 py-0.5 text-xs rounded bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200 font-semibold align-middle", children: discountText })
3600
3633
  ] }),
3601
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: cn("text-xs text-gray-700 dark:text-gray-300 font-medium", plan.showBillingSubTitle === false && "opacity-0 select-none"), children: plan.showBillingSubTitle === false ? "" : billingSubTitle })
3634
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: cn("text-xs text-gray-700 dark:text-gray-300 font-medium", plan.showBillingSubTitle === false && "opacity-0 select-none"), children: plan.showBillingSubTitle === false ? "" : billingSubTitle })
3602
3635
  ] })
3603
3636
  ] });
3604
3637
  }
@@ -3610,81 +3643,62 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3610
3643
  top: Math.max(8, y),
3611
3644
  zIndex: 9999,
3612
3645
  maxWidth: 200,
3613
- background: "#222",
3614
- color: "#fff",
3615
- borderRadius: 10,
3616
- padding: "16px",
3617
- boxShadow: "0 4px 24px 0 rgba(0,0,0,0.25)",
3618
- fontSize: 15,
3619
- lineHeight: 1.6,
3646
+ transform: "translateY(-50%)",
3620
3647
  pointerEvents: "none",
3621
- whiteSpace: "pre-line",
3622
- transform: "translateY(-50%)"
3648
+ whiteSpace: "pre-line"
3623
3649
  };
3624
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { style, children: content });
3650
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3651
+ "div",
3652
+ {
3653
+ style,
3654
+ className: "bg-gray-700 dark:bg-gray-200 text-gray-100 dark:text-gray-800 text-xs leading-relaxed px-3 py-2 rounded-lg shadow-lg border border-gray-300 dark:border-gray-600 backdrop-blur-sm",
3655
+ children: content
3656
+ }
3657
+ );
3625
3658
  };
3626
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("section", { id: "pricing", className: cn("px-4 py-10 md:px-16 md:py-16 mx-auto max-w-7xl scroll-mt-10", sectionClassName), children: [
3627
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-3", children: t("title") }),
3628
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-8 text-base md:text-lg mx-auto", children: t("subtitle") }),
3629
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex justify-center items-center gap-8 mb-12", children: [
3630
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-row-reverse items-center gap-2 w-[180px] justify-end", children: [
3631
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3659
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { id: "pricing", className: cn("px-4 py-10 md:px-16 md:py-16 mx-auto max-w-7xl scroll-mt-10", sectionClassName), children: [
3660
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h2", { className: "text-3xl md:text-4xl font-bold text-center mb-3", children: t("title") }),
3661
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-center text-gray-600 dark:text-gray-400 mb-8 text-base md:text-lg mx-auto", children: t("subtitle") }),
3662
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col items-center", children: [
3663
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex items-center relative mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex bg-white dark:bg-gray-900 border border-gray-300 dark:border-gray-700 rounded-full p-1", children: [
3664
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3632
3665
  "button",
3633
3666
  {
3634
3667
  className: cn(
3635
- "min-w-[120px] px-6 py-2 rounded-full font-medium border transition text-lg",
3636
- billingKey === "monthly" ? "text-white bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600" : "bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-700 text-gray-800 dark:text-gray-200 hover:border-purple-400",
3637
- "mr-4"
3668
+ "min-w-[120px] px-6 py-2 font-medium transition text-lg relative",
3669
+ billingKey === "monthly" ? "text-white bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600 rounded-full shadow-sm" : "text-gray-800 dark:text-gray-200 hover:text-gray-900 dark:hover:text-gray-100 rounded-full"
3638
3670
  ),
3639
3671
  onClick: () => setBillingKey("monthly"),
3640
3672
  type: "button",
3641
3673
  children: ((_a = billingSwitch.options.find((opt) => opt.key === "monthly")) == null ? void 0 : _a.name) || "Monthly"
3642
3674
  }
3643
3675
  ),
3644
- (() => {
3645
- const opt = billingSwitch.options.find((opt2) => opt2.key === "monthly");
3646
- const bOpt = billingOptions.find((opt2) => opt2.key === "monthly");
3647
- if (!(opt && bOpt && opt.discountText && bOpt.discount !== 0)) return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "min-w-[80px] px-2 py-1 text-xs rounded invisible" });
3648
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: cn(
3649
- "min-w-[80px] px-2 py-1 text-xs rounded bg-yellow-100 text-yellow-800 font-semibold align-middle text-center inline-flex items-center justify-center whitespace-nowrap",
3650
- billingKey !== "monthly" && "invisible"
3651
- ), children: opt.discountText.replace(
3652
- "{percent}",
3653
- String(Math.round(Math.abs(bOpt.discount) * 100))
3654
- ) });
3655
- })()
3656
- ] }),
3657
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center gap-2 w-[180px] justify-start", children: [
3658
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3676
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3659
3677
  "button",
3660
3678
  {
3661
3679
  className: cn(
3662
- "min-w-[120px] px-6 py-2 rounded-full font-medium border transition text-lg",
3663
- billingKey === "yearly" ? "text-white bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600" : "bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-700 text-gray-800 dark:text-gray-200 hover:border-purple-400",
3664
- "ml-4"
3680
+ "min-w-[120px] px-6 py-2 font-medium transition text-lg relative",
3681
+ billingKey === "yearly" ? "text-white bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600 rounded-full shadow-sm" : "text-gray-800 dark:text-gray-200 hover:text-gray-900 dark:hover:text-gray-100 rounded-full"
3665
3682
  ),
3666
3683
  onClick: () => setBillingKey("yearly"),
3667
3684
  type: "button",
3668
3685
  children: ((_b = billingSwitch.options.find((opt) => opt.key === "yearly")) == null ? void 0 : _b.name) || "Yearly"
3669
3686
  }
3670
- ),
3671
- (() => {
3672
- const opt = billingSwitch.options.find((opt2) => opt2.key === "yearly");
3673
- const bOpt = billingOptions.find((opt2) => opt2.key === "yearly");
3674
- if (!(opt && bOpt && opt.discountText && bOpt.discount !== 0)) return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "min-w-[80px] px-2 py-1 text-xs rounded invisible" });
3675
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: cn(
3676
- "min-w-[80px] px-2 py-1 text-xs rounded bg-yellow-100 text-yellow-800 font-semibold align-middle text-center inline-flex items-center justify-center whitespace-nowrap",
3677
- billingKey !== "yearly" && "invisible"
3678
- ), children: opt.discountText.replace(
3679
- "{percent}",
3680
- String(Math.round(Math.abs(bOpt.discount) * 100))
3681
- ) });
3682
- })()
3683
- ] })
3687
+ )
3688
+ ] }) }),
3689
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "h-8 flex items-center justify-center mb-3", children: (() => {
3690
+ const opt = billingSwitch.options.find((opt2) => opt2.key === billingKey);
3691
+ const bOpt = billingOptions.find((opt2) => opt2.key === billingKey);
3692
+ if (!(opt && bOpt && opt.discountText && bOpt.discount !== 0)) return null;
3693
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "px-2 py-1 text-xs rounded bg-yellow-100 text-yellow-800 font-semibold align-middle text-center inline-flex items-center justify-center whitespace-nowrap", children: opt.discountText.replace(
3694
+ "{percent}",
3695
+ String(Math.round(Math.abs(bOpt.discount) * 100))
3696
+ ) });
3697
+ })() })
3684
3698
  ] }),
3685
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: plans.map((plan, _idx) => {
3699
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: plans.map((plan, _idx) => {
3686
3700
  var _a2, _b2, _c;
3687
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3701
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
3688
3702
  "div",
3689
3703
  {
3690
3704
  className: cn(
@@ -3694,17 +3708,17 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3694
3708
  ),
3695
3709
  style: { minHeight: maxFeaturesCount * 100 },
3696
3710
  children: [
3697
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3698
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: plan.title }),
3699
- plan.titleTags && plan.titleTags.map((tag, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "px-2 py-0.5 text-xs rounded bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200 font-semibold align-middle", children: tag }, i))
3711
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3712
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: plan.title }),
3713
+ plan.titleTags && plan.titleTags.map((tag, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "px-2 py-0.5 text-xs rounded bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200 font-semibold align-middle", children: tag }, i))
3700
3714
  ] }),
3701
3715
  renderPrice(plan),
3702
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("ul", { className: "flex-1 mb-6 mt-4", children: getFeatureRows(plan).map((feature, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("li", { className: "flex items-center gap-2 mb-2 min-h-[28px]", children: [
3703
- feature ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "inline-flex items-center justify-center w-5 h-5 rounded-full bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-200 mr-1", children: feature.icon ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: feature.icon }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "font-bold", children: "\u2713" }) }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "inline-flex items-center justify-center w-5 h-5 rounded-full mr-1", children: "\xA0" }),
3704
- feature && feature.tag && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "px-1 py-0.5 text-[6px] rounded bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 font-semibold align-middle", children: feature.tag }),
3705
- feature ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "relative group cursor-pointer text-sm text-gray-800 dark:text-gray-200", children: [
3716
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("ul", { className: "flex-1 mb-6 mt-4", children: getFeatureRows(plan).map((feature, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("li", { className: "flex items-center gap-2 mb-2 min-h-[28px]", children: [
3717
+ feature ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "inline-flex items-center justify-center w-5 h-5 rounded-full bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-200 mr-1", children: feature.icon ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: feature.icon }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "font-bold", children: "\u2713" }) }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "inline-flex items-center justify-center w-5 h-5 rounded-full mr-1", children: "\xA0" }),
3718
+ feature && feature.tag && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "px-1 py-0.5 text-[6px] rounded bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 font-semibold align-middle", children: feature.tag }),
3719
+ feature ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "relative group cursor-pointer text-sm text-gray-800 dark:text-gray-200", children: [
3706
3720
  feature.description,
3707
- feature.tooltip && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3721
+ feature.tooltip && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3708
3722
  "span",
3709
3723
  {
3710
3724
  className: "ml-1 align-middle inline-flex",
@@ -3720,13 +3734,13 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3720
3734
  setTooltip((t2) => __spreadProps(__spreadValues({}, t2), { x: e.clientX, y: e.clientY }));
3721
3735
  },
3722
3736
  onMouseLeave: () => setTooltip((t2) => __spreadProps(__spreadValues({}, t2), { show: false })),
3723
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.FAQ, { className: "w-4 h-4" })
3737
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(globalLucideIcons.FAQ, { className: "w-4 h-4" })
3724
3738
  }
3725
3739
  )
3726
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: "\xA0" })
3740
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: "\xA0" })
3727
3741
  ] }, i)) }),
3728
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex-1" }),
3729
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3742
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex-1" }),
3743
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3730
3744
  "button",
3731
3745
  {
3732
3746
  className: cn(
@@ -3749,7 +3763,7 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3749
3763
  plan.key
3750
3764
  );
3751
3765
  }) }),
3752
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Tooltip, __spreadValues({}, tooltip))
3766
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Tooltip, __spreadValues({}, tooltip))
3753
3767
  ] });
3754
3768
  }
3755
3769
 
@@ -3765,13 +3779,13 @@ var React58 = __toESM(require("react"), 1);
3765
3779
 
3766
3780
  // ../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.1.2_react@19.1.0/node_modules/@radix-ui/react-context/dist/index.mjs
3767
3781
  var React38 = __toESM(require("react"), 1);
3768
- var import_jsx_runtime47 = require("react/jsx-runtime");
3782
+ var import_jsx_runtime48 = require("react/jsx-runtime");
3769
3783
  function createContext2(rootComponentName, defaultContext) {
3770
3784
  const Context = React38.createContext(defaultContext);
3771
3785
  const Provider = (props) => {
3772
3786
  const _a = props, { children } = _a, context = __objRest(_a, ["children"]);
3773
3787
  const value = React38.useMemo(() => context, Object.values(context));
3774
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Context.Provider, { value, children });
3788
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Context.Provider, { value, children });
3775
3789
  };
3776
3790
  Provider.displayName = rootComponentName + "Provider";
3777
3791
  function useContext22(consumerName) {
@@ -3793,7 +3807,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
3793
3807
  const _a = props, { scope, children } = _a, context = __objRest(_a, ["scope", "children"]);
3794
3808
  const Context = ((_b = scope == null ? void 0 : scope[scopeName]) == null ? void 0 : _b[index]) || BaseContext;
3795
3809
  const value = React38.useMemo(() => context, Object.values(context));
3796
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Context.Provider, { value, children });
3810
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Context.Provider, { value, children });
3797
3811
  };
3798
3812
  Provider.displayName = rootComponentName + "Provider";
3799
3813
  function useContext22(consumerName, scope) {
@@ -3951,7 +3965,7 @@ var React45 = __toESM(require("react"), 1);
3951
3965
  // ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.1.3_@types+react@19.1.2__@types+rea_43250ccbc78c27b15284efcf829a65d5/node_modules/@radix-ui/react-primitive/dist/index.mjs
3952
3966
  var React42 = __toESM(require("react"), 1);
3953
3967
  var ReactDOM = __toESM(require("react-dom"), 1);
3954
- var import_jsx_runtime48 = require("react/jsx-runtime");
3968
+ var import_jsx_runtime49 = require("react/jsx-runtime");
3955
3969
  var NODES = [
3956
3970
  "a",
3957
3971
  "button",
@@ -3979,7 +3993,7 @@ var Primitive = NODES.reduce((primitive, node) => {
3979
3993
  if (typeof window !== "undefined") {
3980
3994
  window[Symbol.for("radix-ui")] = true;
3981
3995
  }
3982
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Comp, __spreadProps(__spreadValues({}, primitiveProps), { ref: forwardedRef }));
3996
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Comp, __spreadProps(__spreadValues({}, primitiveProps), { ref: forwardedRef }));
3983
3997
  });
3984
3998
  Node2.displayName = `Primitive.${node}`;
3985
3999
  return __spreadProps(__spreadValues({}, primitive), { [node]: Node2 });
@@ -4017,7 +4031,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis == nul
4017
4031
  }
4018
4032
 
4019
4033
  // ../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.3_@types+react@19.1.2__@_048ea5800fbfacb7489e4b7d728b493c/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
4020
- var import_jsx_runtime49 = require("react/jsx-runtime");
4034
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4021
4035
  var DISMISSABLE_LAYER_NAME = "DismissableLayer";
4022
4036
  var CONTEXT_UPDATE = "dismissableLayer.update";
4023
4037
  var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
@@ -4112,7 +4126,7 @@ var DismissableLayer = React45.forwardRef(
4112
4126
  document.addEventListener(CONTEXT_UPDATE, handleUpdate);
4113
4127
  return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
4114
4128
  }, []);
4115
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4129
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4116
4130
  Primitive.div,
4117
4131
  __spreadProps(__spreadValues({}, layerProps), {
4118
4132
  ref: composedRefs,
@@ -4144,7 +4158,7 @@ var DismissableLayerBranch = React45.forwardRef((props, forwardedRef) => {
4144
4158
  };
4145
4159
  }
4146
4160
  }, [context.branches]);
4147
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Primitive.div, __spreadProps(__spreadValues({}, props), { ref: composedRefs }));
4161
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Primitive.div, __spreadProps(__spreadValues({}, props), { ref: composedRefs }));
4148
4162
  });
4149
4163
  DismissableLayerBranch.displayName = BRANCH_NAME;
4150
4164
  function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
@@ -4228,7 +4242,7 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
4228
4242
 
4229
4243
  // ../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@19.1.3_@types+react@19.1.2__@types+r_1ff7b04b7c975087a2da2b1568ac976e/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
4230
4244
  var React46 = __toESM(require("react"), 1);
4231
- var import_jsx_runtime50 = require("react/jsx-runtime");
4245
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4232
4246
  var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
4233
4247
  var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
4234
4248
  var EVENT_OPTIONS = { bubbles: false, cancelable: true };
@@ -4351,7 +4365,7 @@ var FocusScope = React46.forwardRef((props, forwardedRef) => {
4351
4365
  },
4352
4366
  [loop, trapped, focusScope.paused]
4353
4367
  );
4354
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Primitive.div, __spreadProps(__spreadValues({ tabIndex: -1 }, scopeProps), { ref: composedRefs, onKeyDown: handleKeyDown }));
4368
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Primitive.div, __spreadProps(__spreadValues({ tabIndex: -1 }, scopeProps), { ref: composedRefs, onKeyDown: handleKeyDown }));
4355
4369
  });
4356
4370
  FocusScope.displayName = FOCUS_SCOPE_NAME;
4357
4371
  function focusFirst(candidates, { select = false } = {}) {
@@ -4438,7 +4452,7 @@ function removeLinks(items) {
4438
4452
  // ../../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@19.1.3_@types+react@19.1.2__@types+react@_a0745de0839b0b019298ec068509a840/node_modules/@radix-ui/react-portal/dist/index.mjs
4439
4453
  var React47 = __toESM(require("react"), 1);
4440
4454
  var import_react_dom = __toESM(require("react-dom"), 1);
4441
- var import_jsx_runtime51 = require("react/jsx-runtime");
4455
+ var import_jsx_runtime52 = require("react/jsx-runtime");
4442
4456
  var PORTAL_NAME = "Portal";
4443
4457
  var Portal = React47.forwardRef((props, forwardedRef) => {
4444
4458
  var _b;
@@ -4446,7 +4460,7 @@ var Portal = React47.forwardRef((props, forwardedRef) => {
4446
4460
  const [mounted, setMounted] = React47.useState(false);
4447
4461
  useLayoutEffect2(() => setMounted(true), []);
4448
4462
  const container = containerProp || mounted && ((_b = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : _b.body);
4449
- return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Primitive.div, __spreadProps(__spreadValues({}, portalProps), { ref: forwardedRef })), container) : null;
4463
+ return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Primitive.div, __spreadProps(__spreadValues({}, portalProps), { ref: forwardedRef })), container) : null;
4450
4464
  });
4451
4465
  Portal.displayName = PORTAL_NAME;
4452
4466
 
@@ -5443,7 +5457,7 @@ var hideOthers = function(originalTarget, parentNode, markerName) {
5443
5457
  };
5444
5458
 
5445
5459
  // ../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.3_@types+react@19.1.2__@types+react_848f83211ce5e4d8275fe0d3e11a9387/node_modules/@radix-ui/react-dialog/dist/index.mjs
5446
- var import_jsx_runtime52 = require("react/jsx-runtime");
5460
+ var import_jsx_runtime53 = require("react/jsx-runtime");
5447
5461
  var DIALOG_NAME = "Dialog";
5448
5462
  var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
5449
5463
  var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
@@ -5464,7 +5478,7 @@ var Dialog = (props) => {
5464
5478
  onChange: onOpenChange,
5465
5479
  caller: DIALOG_NAME
5466
5480
  });
5467
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5481
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5468
5482
  DialogProvider,
5469
5483
  {
5470
5484
  scope: __scopeDialog,
@@ -5488,7 +5502,7 @@ var DialogTrigger = React57.forwardRef(
5488
5502
  const _a = props, { __scopeDialog } = _a, triggerProps = __objRest(_a, ["__scopeDialog"]);
5489
5503
  const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
5490
5504
  const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
5491
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5505
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5492
5506
  Primitive.button,
5493
5507
  __spreadProps(__spreadValues({
5494
5508
  type: "button",
@@ -5511,7 +5525,7 @@ var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {
5511
5525
  var DialogPortal = (props) => {
5512
5526
  const { __scopeDialog, forceMount, children, container } = props;
5513
5527
  const context = useDialogContext(PORTAL_NAME2, __scopeDialog);
5514
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React57.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Portal, { asChild: true, container, children: child }) })) });
5528
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React57.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Portal, { asChild: true, container, children: child }) })) });
5515
5529
  };
5516
5530
  DialogPortal.displayName = PORTAL_NAME2;
5517
5531
  var OVERLAY_NAME = "DialogOverlay";
@@ -5520,7 +5534,7 @@ var DialogOverlay = React57.forwardRef(
5520
5534
  const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
5521
5535
  const _a = props, { forceMount = portalContext.forceMount } = _a, overlayProps = __objRest(_a, ["forceMount"]);
5522
5536
  const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
5523
- return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DialogOverlayImpl, __spreadProps(__spreadValues({}, overlayProps), { ref: forwardedRef })) }) : null;
5537
+ return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogOverlayImpl, __spreadProps(__spreadValues({}, overlayProps), { ref: forwardedRef })) }) : null;
5524
5538
  }
5525
5539
  );
5526
5540
  DialogOverlay.displayName = OVERLAY_NAME;
@@ -5532,7 +5546,7 @@ var DialogOverlayImpl = React57.forwardRef(
5532
5546
  return (
5533
5547
  // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
5534
5548
  // ie. when `Overlay` and `Content` are siblings
5535
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5549
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5536
5550
  Primitive.div,
5537
5551
  __spreadProps(__spreadValues({
5538
5552
  "data-state": getState(context.open)
@@ -5550,7 +5564,7 @@ var DialogContent = React57.forwardRef(
5550
5564
  const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
5551
5565
  const _a = props, { forceMount = portalContext.forceMount } = _a, contentProps = __objRest(_a, ["forceMount"]);
5552
5566
  const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
5553
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DialogContentModal, __spreadProps(__spreadValues({}, contentProps), { ref: forwardedRef })) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DialogContentNonModal, __spreadProps(__spreadValues({}, contentProps), { ref: forwardedRef })) });
5567
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogContentModal, __spreadProps(__spreadValues({}, contentProps), { ref: forwardedRef })) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogContentNonModal, __spreadProps(__spreadValues({}, contentProps), { ref: forwardedRef })) });
5554
5568
  }
5555
5569
  );
5556
5570
  DialogContent.displayName = CONTENT_NAME;
@@ -5563,7 +5577,7 @@ var DialogContentModal = React57.forwardRef(
5563
5577
  const content = contentRef.current;
5564
5578
  if (content) return hideOthers(content);
5565
5579
  }, []);
5566
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5580
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5567
5581
  DialogContentImpl,
5568
5582
  __spreadProps(__spreadValues({}, props), {
5569
5583
  ref: composedRefs,
@@ -5593,7 +5607,7 @@ var DialogContentNonModal = React57.forwardRef(
5593
5607
  const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
5594
5608
  const hasInteractedOutsideRef = React57.useRef(false);
5595
5609
  const hasPointerDownOutsideRef = React57.useRef(false);
5596
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5610
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5597
5611
  DialogContentImpl,
5598
5612
  __spreadProps(__spreadValues({}, props), {
5599
5613
  ref: forwardedRef,
@@ -5636,8 +5650,8 @@ var DialogContentImpl = React57.forwardRef(
5636
5650
  const contentRef = React57.useRef(null);
5637
5651
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
5638
5652
  useFocusGuards();
5639
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
5640
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5653
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
5654
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5641
5655
  FocusScope,
5642
5656
  {
5643
5657
  asChild: true,
@@ -5645,7 +5659,7 @@ var DialogContentImpl = React57.forwardRef(
5645
5659
  trapped: trapFocus,
5646
5660
  onMountAutoFocus: onOpenAutoFocus,
5647
5661
  onUnmountAutoFocus: onCloseAutoFocus,
5648
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5662
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5649
5663
  DismissableLayer,
5650
5664
  __spreadProps(__spreadValues({
5651
5665
  role: "dialog",
@@ -5660,9 +5674,9 @@ var DialogContentImpl = React57.forwardRef(
5660
5674
  )
5661
5675
  }
5662
5676
  ),
5663
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
5664
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(TitleWarning, { titleId: context.titleId }),
5665
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
5677
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
5678
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TitleWarning, { titleId: context.titleId }),
5679
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
5666
5680
  ] })
5667
5681
  ] });
5668
5682
  }
@@ -5672,7 +5686,7 @@ var DialogTitle = React57.forwardRef(
5672
5686
  (props, forwardedRef) => {
5673
5687
  const _a = props, { __scopeDialog } = _a, titleProps = __objRest(_a, ["__scopeDialog"]);
5674
5688
  const context = useDialogContext(TITLE_NAME, __scopeDialog);
5675
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Primitive.h2, __spreadProps(__spreadValues({ id: context.titleId }, titleProps), { ref: forwardedRef }));
5689
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Primitive.h2, __spreadProps(__spreadValues({ id: context.titleId }, titleProps), { ref: forwardedRef }));
5676
5690
  }
5677
5691
  );
5678
5692
  DialogTitle.displayName = TITLE_NAME;
@@ -5681,7 +5695,7 @@ var DialogDescription = React57.forwardRef(
5681
5695
  (props, forwardedRef) => {
5682
5696
  const _a = props, { __scopeDialog } = _a, descriptionProps = __objRest(_a, ["__scopeDialog"]);
5683
5697
  const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
5684
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Primitive.p, __spreadProps(__spreadValues({ id: context.descriptionId }, descriptionProps), { ref: forwardedRef }));
5698
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Primitive.p, __spreadProps(__spreadValues({ id: context.descriptionId }, descriptionProps), { ref: forwardedRef }));
5685
5699
  }
5686
5700
  );
5687
5701
  DialogDescription.displayName = DESCRIPTION_NAME;
@@ -5690,7 +5704,7 @@ var DialogClose = React57.forwardRef(
5690
5704
  (props, forwardedRef) => {
5691
5705
  const _a = props, { __scopeDialog } = _a, closeProps = __objRest(_a, ["__scopeDialog"]);
5692
5706
  const context = useDialogContext(CLOSE_NAME, __scopeDialog);
5693
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5707
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5694
5708
  Primitive.button,
5695
5709
  __spreadProps(__spreadValues({
5696
5710
  type: "button"
@@ -5750,7 +5764,7 @@ var Description = DialogDescription;
5750
5764
  var Close = DialogClose;
5751
5765
 
5752
5766
  // ../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.14_@types+react-dom@19.1.3_@types+react@19.1.2__@types_c6ff7006a888f63e36d2502e019661c3/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs
5753
- var import_jsx_runtime53 = require("react/jsx-runtime");
5767
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5754
5768
  var ROOT_NAME = "AlertDialog";
5755
5769
  var [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [
5756
5770
  createDialogScope
@@ -5759,7 +5773,7 @@ var useDialogScope = createDialogScope();
5759
5773
  var AlertDialog = (props) => {
5760
5774
  const _a = props, { __scopeAlertDialog } = _a, alertDialogProps = __objRest(_a, ["__scopeAlertDialog"]);
5761
5775
  const dialogScope = useDialogScope(__scopeAlertDialog);
5762
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Root, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), alertDialogProps), { modal: true }));
5776
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Root, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), alertDialogProps), { modal: true }));
5763
5777
  };
5764
5778
  AlertDialog.displayName = ROOT_NAME;
5765
5779
  var TRIGGER_NAME2 = "AlertDialogTrigger";
@@ -5767,7 +5781,7 @@ var AlertDialogTrigger = React58.forwardRef(
5767
5781
  (props, forwardedRef) => {
5768
5782
  const _a = props, { __scopeAlertDialog } = _a, triggerProps = __objRest(_a, ["__scopeAlertDialog"]);
5769
5783
  const dialogScope = useDialogScope(__scopeAlertDialog);
5770
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Trigger, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), triggerProps), { ref: forwardedRef }));
5784
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Trigger, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), triggerProps), { ref: forwardedRef }));
5771
5785
  }
5772
5786
  );
5773
5787
  AlertDialogTrigger.displayName = TRIGGER_NAME2;
@@ -5775,7 +5789,7 @@ var PORTAL_NAME3 = "AlertDialogPortal";
5775
5789
  var AlertDialogPortal = (props) => {
5776
5790
  const _a = props, { __scopeAlertDialog } = _a, portalProps = __objRest(_a, ["__scopeAlertDialog"]);
5777
5791
  const dialogScope = useDialogScope(__scopeAlertDialog);
5778
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Portal2, __spreadValues(__spreadValues({}, dialogScope), portalProps));
5792
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Portal2, __spreadValues(__spreadValues({}, dialogScope), portalProps));
5779
5793
  };
5780
5794
  AlertDialogPortal.displayName = PORTAL_NAME3;
5781
5795
  var OVERLAY_NAME2 = "AlertDialogOverlay";
@@ -5783,7 +5797,7 @@ var AlertDialogOverlay = React58.forwardRef(
5783
5797
  (props, forwardedRef) => {
5784
5798
  const _a = props, { __scopeAlertDialog } = _a, overlayProps = __objRest(_a, ["__scopeAlertDialog"]);
5785
5799
  const dialogScope = useDialogScope(__scopeAlertDialog);
5786
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Overlay, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), overlayProps), { ref: forwardedRef }));
5800
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Overlay, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), overlayProps), { ref: forwardedRef }));
5787
5801
  }
5788
5802
  );
5789
5803
  AlertDialogOverlay.displayName = OVERLAY_NAME2;
@@ -5797,13 +5811,13 @@ var AlertDialogContent = React58.forwardRef(
5797
5811
  const contentRef = React58.useRef(null);
5798
5812
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
5799
5813
  const cancelRef = React58.useRef(null);
5800
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5814
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5801
5815
  WarningProvider,
5802
5816
  {
5803
5817
  contentName: CONTENT_NAME2,
5804
5818
  titleName: TITLE_NAME2,
5805
5819
  docsSlug: "alert-dialog",
5806
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5820
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5807
5821
  Content,
5808
5822
  __spreadProps(__spreadValues(__spreadValues({
5809
5823
  role: "alertdialog"
@@ -5817,8 +5831,8 @@ var AlertDialogContent = React58.forwardRef(
5817
5831
  onPointerDownOutside: (event) => event.preventDefault(),
5818
5832
  onInteractOutside: (event) => event.preventDefault(),
5819
5833
  children: [
5820
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Slottable, { children }),
5821
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DescriptionWarning2, { contentRef })
5834
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Slottable, { children }),
5835
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(DescriptionWarning2, { contentRef })
5822
5836
  ]
5823
5837
  })
5824
5838
  ) })
@@ -5832,7 +5846,7 @@ var AlertDialogTitle = React58.forwardRef(
5832
5846
  (props, forwardedRef) => {
5833
5847
  const _a = props, { __scopeAlertDialog } = _a, titleProps = __objRest(_a, ["__scopeAlertDialog"]);
5834
5848
  const dialogScope = useDialogScope(__scopeAlertDialog);
5835
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Title, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), titleProps), { ref: forwardedRef }));
5849
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Title, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), titleProps), { ref: forwardedRef }));
5836
5850
  }
5837
5851
  );
5838
5852
  AlertDialogTitle.displayName = TITLE_NAME2;
@@ -5840,7 +5854,7 @@ var DESCRIPTION_NAME2 = "AlertDialogDescription";
5840
5854
  var AlertDialogDescription = React58.forwardRef((props, forwardedRef) => {
5841
5855
  const _a = props, { __scopeAlertDialog } = _a, descriptionProps = __objRest(_a, ["__scopeAlertDialog"]);
5842
5856
  const dialogScope = useDialogScope(__scopeAlertDialog);
5843
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Description, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), descriptionProps), { ref: forwardedRef }));
5857
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Description, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), descriptionProps), { ref: forwardedRef }));
5844
5858
  });
5845
5859
  AlertDialogDescription.displayName = DESCRIPTION_NAME2;
5846
5860
  var ACTION_NAME = "AlertDialogAction";
@@ -5848,7 +5862,7 @@ var AlertDialogAction = React58.forwardRef(
5848
5862
  (props, forwardedRef) => {
5849
5863
  const _a = props, { __scopeAlertDialog } = _a, actionProps = __objRest(_a, ["__scopeAlertDialog"]);
5850
5864
  const dialogScope = useDialogScope(__scopeAlertDialog);
5851
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), actionProps), { ref: forwardedRef }));
5865
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), actionProps), { ref: forwardedRef }));
5852
5866
  }
5853
5867
  );
5854
5868
  AlertDialogAction.displayName = ACTION_NAME;
@@ -5859,7 +5873,7 @@ var AlertDialogCancel = React58.forwardRef(
5859
5873
  const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);
5860
5874
  const dialogScope = useDialogScope(__scopeAlertDialog);
5861
5875
  const ref = useComposedRefs(forwardedRef, cancelRef);
5862
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), cancelProps), { ref }));
5876
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), cancelProps), { ref }));
5863
5877
  }
5864
5878
  );
5865
5879
  AlertDialogCancel.displayName = CANCEL_NAME;
@@ -5890,12 +5904,12 @@ var Title2 = AlertDialogTitle;
5890
5904
  var Description2 = AlertDialogDescription;
5891
5905
 
5892
5906
  // ../base-ui/src/ui/alert-dialog.tsx
5893
- var import_jsx_runtime54 = require("react/jsx-runtime");
5907
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5894
5908
  var AlertDialog2 = Root2;
5895
5909
  var AlertDialogPortal2 = Portal22;
5896
5910
  var AlertDialogOverlay2 = React59.forwardRef((_a, ref) => {
5897
5911
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5898
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5912
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5899
5913
  Overlay2,
5900
5914
  __spreadProps(__spreadValues({
5901
5915
  className: cn(
@@ -5910,9 +5924,9 @@ var AlertDialogOverlay2 = React59.forwardRef((_a, ref) => {
5910
5924
  AlertDialogOverlay2.displayName = Overlay2.displayName;
5911
5925
  var AlertDialogContent2 = React59.forwardRef((_a, ref) => {
5912
5926
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5913
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(AlertDialogPortal2, { children: [
5914
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(AlertDialogOverlay2, {}),
5915
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5927
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(AlertDialogPortal2, { children: [
5928
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlertDialogOverlay2, {}),
5929
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5916
5930
  Content2,
5917
5931
  __spreadValues({
5918
5932
  ref,
@@ -5931,7 +5945,7 @@ var AlertDialogHeader = (_a) => {
5931
5945
  } = _b, props = __objRest(_b, [
5932
5946
  "className"
5933
5947
  ]);
5934
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5948
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5935
5949
  "div",
5936
5950
  __spreadValues({
5937
5951
  className: cn(
@@ -5948,7 +5962,7 @@ var AlertDialogFooter = (_a) => {
5948
5962
  } = _b, props = __objRest(_b, [
5949
5963
  "className"
5950
5964
  ]);
5951
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5965
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5952
5966
  "div",
5953
5967
  __spreadValues({
5954
5968
  className: cn(
@@ -5961,7 +5975,7 @@ var AlertDialogFooter = (_a) => {
5961
5975
  AlertDialogFooter.displayName = "AlertDialogFooter";
5962
5976
  var AlertDialogTitle2 = React59.forwardRef((_a, ref) => {
5963
5977
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5964
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5978
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5965
5979
  Title2,
5966
5980
  __spreadValues({
5967
5981
  ref,
@@ -5972,7 +5986,7 @@ var AlertDialogTitle2 = React59.forwardRef((_a, ref) => {
5972
5986
  AlertDialogTitle2.displayName = Title2.displayName;
5973
5987
  var AlertDialogDescription2 = React59.forwardRef((_a, ref) => {
5974
5988
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5975
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5989
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5976
5990
  Description2,
5977
5991
  __spreadValues({
5978
5992
  ref,
@@ -5983,7 +5997,7 @@ var AlertDialogDescription2 = React59.forwardRef((_a, ref) => {
5983
5997
  AlertDialogDescription2.displayName = Description2.displayName;
5984
5998
  var AlertDialogAction2 = React59.forwardRef((_a, ref) => {
5985
5999
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5986
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6000
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5987
6001
  Action,
5988
6002
  __spreadValues({
5989
6003
  ref,
@@ -5994,7 +6008,7 @@ var AlertDialogAction2 = React59.forwardRef((_a, ref) => {
5994
6008
  AlertDialogAction2.displayName = Action.displayName;
5995
6009
  var AlertDialogCancel2 = React59.forwardRef((_a, ref) => {
5996
6010
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5997
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6011
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5998
6012
  Cancel,
5999
6013
  __spreadValues({
6000
6014
  ref,
@@ -6009,7 +6023,7 @@ var AlertDialogCancel2 = React59.forwardRef((_a, ref) => {
6009
6023
  AlertDialogCancel2.displayName = Cancel.displayName;
6010
6024
 
6011
6025
  // src/main/ads-alert-dialog.tsx
6012
- var import_jsx_runtime55 = require("react/jsx-runtime");
6026
+ var import_jsx_runtime56 = require("react/jsx-runtime");
6013
6027
  function AdsAlertDialog({
6014
6028
  open,
6015
6029
  onOpenChange,
@@ -6023,32 +6037,32 @@ function AdsAlertDialog({
6023
6037
  onConfirm
6024
6038
  }) {
6025
6039
  const [imgError, setImgError] = (0, import_react42.useState)(false);
6026
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlertDialog2, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
6040
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialog2, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
6027
6041
  AlertDialogContent2,
6028
6042
  {
6029
6043
  className: "fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 bg-white dark:bg-neutral-900 rounded-2xl shadow-2xl border border-neutral-200 dark:border-neutral-700 max-w-md w-full min-w-[320px] p-4 flex flex-col items-stretch",
6030
6044
  children: [
6031
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center justify-between mb-2", children: [
6032
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlertDialogTitle2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center gap-1 min-w-0 text-xl font-semibold", children: [
6033
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.Info, { className: "w-5 h-5" }),
6034
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "truncate", children: title })
6045
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center justify-between mb-2", children: [
6046
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogTitle2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center gap-1 min-w-0 text-xl font-semibold", children: [
6047
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.Info, { className: "w-5 h-5" }),
6048
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "truncate", children: title })
6035
6049
  ] }) }),
6036
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6050
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6037
6051
  "button",
6038
6052
  {
6039
6053
  className: "text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-200 text-xl ml-4",
6040
6054
  onClick: () => onOpenChange(false),
6041
6055
  "aria-label": "Close",
6042
6056
  tabIndex: 0,
6043
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.X, { className: "w-5 h-5" })
6057
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.X, { className: "w-5 h-5" })
6044
6058
  }
6045
6059
  )
6046
6060
  ] }),
6047
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlertDialogDescription2, { className: "text-base font-medium text-neutral-800 dark:text-neutral-100 mb-2", children: description }),
6048
- imgSrc && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "w-full max-w-[400px] h-[220px] relative flex items-center justify-center mb-2", children: imgError ? /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center bg-gray-100 dark:bg-neutral-800 border border-dashed border-neutral-300 dark:border-neutral-700 rounded-lg text-neutral-400 text-sm", children: [
6049
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.ImageOff, { className: "w-12 h-12 mb-2" }),
6050
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: "Image loading failed" })
6051
- ] }) : imgHref ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("a", { href: imgHref, target: "_blank", rel: "noopener noreferrer", className: "block w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6061
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogDescription2, { className: "text-base font-medium text-neutral-800 dark:text-neutral-100 mb-2", children: description }),
6062
+ imgSrc && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "w-full max-w-[400px] h-[220px] relative flex items-center justify-center mb-2", children: imgError ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center bg-gray-100 dark:bg-neutral-800 border border-dashed border-neutral-300 dark:border-neutral-700 rounded-lg text-neutral-400 text-sm", children: [
6063
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.ImageOff, { className: "w-12 h-12 mb-2" }),
6064
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: "Image loading failed" })
6065
+ ] }) : imgHref ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("a", { href: imgHref, target: "_blank", rel: "noopener noreferrer", className: "block w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6052
6066
  import_image2.default,
6053
6067
  {
6054
6068
  src: imgSrc,
@@ -6061,7 +6075,7 @@ function AdsAlertDialog({
6061
6075
  onError: () => setImgError(true),
6062
6076
  sizes: "(max-width: 400px) 100vw, 400px"
6063
6077
  }
6064
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6078
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6065
6079
  import_image2.default,
6066
6080
  {
6067
6081
  src: imgSrc,
@@ -6075,8 +6089,8 @@ function AdsAlertDialog({
6075
6089
  sizes: "(max-width: 400px) 100vw, 400px"
6076
6090
  }
6077
6091
  ) }),
6078
- (cancelText || confirmText) && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex justify-end gap-2 mt-2", children: [
6079
- cancelText && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6092
+ (cancelText || confirmText) && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex justify-end gap-2 mt-2", children: [
6093
+ cancelText && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6080
6094
  "button",
6081
6095
  {
6082
6096
  onClick: () => {
@@ -6087,7 +6101,7 @@ function AdsAlertDialog({
6087
6101
  children: cancelText
6088
6102
  }
6089
6103
  ),
6090
- confirmText && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6104
+ confirmText && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6091
6105
  AlertDialogAction2,
6092
6106
  {
6093
6107
  onClick: () => {
@@ -6106,7 +6120,7 @@ function AdsAlertDialog({
6106
6120
 
6107
6121
  // src/main/x-button.tsx
6108
6122
  var import_react43 = require("react");
6109
- var import_jsx_runtime56 = require("react/jsx-runtime");
6123
+ var import_jsx_runtime57 = require("react/jsx-runtime");
6110
6124
  function XButton(props) {
6111
6125
  var _a, _b;
6112
6126
  const [isLoading, setIsLoading] = (0, import_react43.useState)(false);
@@ -6144,19 +6158,19 @@ function XButton(props) {
6144
6158
  const { button, loadingText: loadingText2, minWidth = "min-w-[110px]", className: className2 = "" } = props;
6145
6159
  const isDisabled = button.disabled || isLoading;
6146
6160
  const actualLoadingText2 = loadingText2 || ((_a = button.text) == null ? void 0 : _a.trim()) || "Loading...";
6147
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6161
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6148
6162
  "button",
6149
6163
  {
6150
6164
  onClick: () => handleButtonClick(button.onClick),
6151
6165
  disabled: isDisabled,
6152
6166
  className: `${minWidth} ${baseButtonClass} rounded-full ${isDisabled ? disabledClass : ""} ${className2}`,
6153
6167
  title: button.text,
6154
- children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
6155
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.Loader2, { className: "w-5 h-5 mr-1 animate-spin" }),
6156
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: actualLoadingText2 })
6157
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
6168
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6169
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(globalLucideIcons.Loader2, { className: "w-5 h-5 mr-1 animate-spin" }),
6170
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: actualLoadingText2 })
6171
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6158
6172
  button.icon,
6159
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: button.text })
6173
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: button.text })
6160
6174
  ] })
6161
6175
  }
6162
6176
  );
@@ -6164,8 +6178,8 @@ function XButton(props) {
6164
6178
  const { mainButton, menuItems, loadingText, menuWidth = "w-40", className = "", mainButtonClassName = "", dropdownButtonClassName = "" } = props;
6165
6179
  const isMainDisabled = mainButton.disabled || isLoading;
6166
6180
  const actualLoadingText = loadingText || ((_b = mainButton.text) == null ? void 0 : _b.trim()) || "Loading...";
6167
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: `relative flex bg-neutral-200 dark:bg-neutral-800 rounded-full ${className}`, children: [
6168
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6181
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: `relative flex bg-neutral-200 dark:bg-neutral-800 rounded-full ${className}`, children: [
6182
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6169
6183
  "button",
6170
6184
  {
6171
6185
  onClick: () => handleButtonClick(mainButton.onClick),
@@ -6175,16 +6189,16 @@ function XButton(props) {
6175
6189
  if (e.button === 2) e.preventDefault();
6176
6190
  },
6177
6191
  style: { borderTopRightRadius: 0, borderBottomRightRadius: 0 },
6178
- children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
6179
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.Loader2, { className: "w-5 h-5 mr-1 animate-spin" }),
6180
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: actualLoadingText })
6181
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
6192
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6193
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(globalLucideIcons.Loader2, { className: "w-5 h-5 mr-1 animate-spin" }),
6194
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: actualLoadingText })
6195
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6182
6196
  mainButton.icon,
6183
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: mainButton.text })
6197
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: mainButton.text })
6184
6198
  ] })
6185
6199
  }
6186
6200
  ),
6187
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6201
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6188
6202
  "span",
6189
6203
  {
6190
6204
  className: `flex items-center justify-center w-10 py-2 cursor-pointer transition hover:bg-neutral-300 dark:hover:bg-neutral-700 rounded-r-full ${dropdownButtonClassName}`,
@@ -6194,15 +6208,15 @@ function XButton(props) {
6194
6208
  },
6195
6209
  tabIndex: 0,
6196
6210
  style: { borderTopLeftRadius: 0, borderBottomLeftRadius: 0 },
6197
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.ChevronDown, { className: "w-6 h-6" })
6211
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(globalLucideIcons.ChevronDown, { className: "w-6 h-6" })
6198
6212
  }
6199
6213
  ),
6200
- menuOpen && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6214
+ menuOpen && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6201
6215
  "div",
6202
6216
  {
6203
6217
  ref: menuRef,
6204
6218
  className: `absolute right-0 top-full ${menuWidth} bg-white dark:bg-neutral-800 text-neutral-800 dark:text-white text-sm rounded-xl shadow-lg z-50 border border-neutral-200 dark:border-neutral-700 overflow-hidden animate-fade-in`,
6205
- children: menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
6219
+ children: menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
6206
6220
  "button",
6207
6221
  {
6208
6222
  onClick: () => {
@@ -6213,11 +6227,11 @@ function XButton(props) {
6213
6227
  className: `flex items-center w-full px-4 py-3 transition hover:bg-neutral-300 dark:hover:bg-neutral-600 text-left relative ${item.disabled ? disabledClass : ""}`,
6214
6228
  style: item.splitTopBorder ? { borderTop: "1px solid #AC62FD" } : void 0,
6215
6229
  children: [
6216
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { className: "flex items-center", children: [
6230
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { className: "flex items-center", children: [
6217
6231
  item.icon,
6218
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: item.text })
6232
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: item.text })
6219
6233
  ] }),
6220
- item.tag && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6234
+ item.tag && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6221
6235
  "span",
6222
6236
  {
6223
6237
  className: "absolute right-3 top-1 text-[10px] font-semibold",
@@ -6236,7 +6250,7 @@ function XButton(props) {
6236
6250
 
6237
6251
  // src/main/ai-prompt-textarea.tsx
6238
6252
  var import_react44 = require("react");
6239
- var import_jsx_runtime57 = require("react/jsx-runtime");
6253
+ var import_jsx_runtime58 = require("react/jsx-runtime");
6240
6254
  function AIPromptTextarea({
6241
6255
  value,
6242
6256
  onChange,
@@ -6324,12 +6338,12 @@ function AIPromptTextarea({
6324
6338
  };
6325
6339
  const renderTitle = () => {
6326
6340
  if (!(title == null ? void 0 : title.trim())) return null;
6327
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "space-y-1", children: [
6328
- title && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-xl font-semibold text-foreground", children: title }),
6329
- (description == null ? void 0 : description.trim()) && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-sm text-gray-400 ml-2", children: description })
6341
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "space-y-1", children: [
6342
+ title && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xl font-semibold text-foreground", children: title }),
6343
+ (description == null ? void 0 : description.trim()) && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-sm text-gray-400 ml-2", children: description })
6330
6344
  ] });
6331
6345
  };
6332
- const renderTextarea = (isEmbedded = false) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6346
+ const renderTextarea = (isEmbedded = false) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6333
6347
  "textarea",
6334
6348
  {
6335
6349
  ref: textareaRef,
@@ -6348,7 +6362,7 @@ function AIPromptTextarea({
6348
6362
  );
6349
6363
  const renderWordCount = () => {
6350
6364
  if (!showWordCount) return null;
6351
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
6365
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6352
6366
  "span",
6353
6367
  {
6354
6368
  className: `text-sm ${wordCount >= maxWords ? "text-red-500" : wordCount > maxWords * 0.75 ? "text-orange-500" : "text-muted-foreground"} ${isWordLimit ? "animate-bounce" : ""}`,
@@ -6364,16 +6378,16 @@ function AIPromptTextarea({
6364
6378
  ) });
6365
6379
  };
6366
6380
  if (embed && title) {
6367
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "space-y-2", children: [
6368
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "border-2 border-border rounded-lg bg-transparent", children: [
6369
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "p-4 pb-2", children: renderTitle() }),
6370
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("hr", { className: "border-t-1 border-border" }),
6371
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "p-1", children: renderTextarea(true) })
6381
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "space-y-2", children: [
6382
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "border-2 border-border rounded-lg bg-transparent", children: [
6383
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "p-4 pb-2", children: renderTitle() }),
6384
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("hr", { className: "border-t-1 border-border" }),
6385
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "p-1", children: renderTextarea(true) })
6372
6386
  ] }),
6373
6387
  renderWordCount()
6374
6388
  ] });
6375
6389
  }
6376
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "space-y-2", children: [
6390
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "space-y-2", children: [
6377
6391
  renderTitle(),
6378
6392
  renderTextarea(),
6379
6393
  renderWordCount()
@@ -6395,7 +6409,9 @@ function AIPromptTextarea({
6395
6409
  SeoContent,
6396
6410
  Tips,
6397
6411
  Usage,
6398
- XButton
6412
+ XButton,
6413
+ createRichTextRenderer,
6414
+ richText
6399
6415
  });
6400
6416
  /*! Bundled license information:
6401
6417