@windrun-huaiin/third-ui 5.12.1 → 5.12.2

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
  }
@@ -3621,14 +3654,14 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3621
3654
  whiteSpace: "pre-line",
3622
3655
  transform: "translateY(-50%)"
3623
3656
  };
3624
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { style, children: content });
3657
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { style, children: content });
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 justify-center items-center gap-8 mb-12", children: [
3663
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-row-reverse items-center gap-2 w-[180px] justify-end", children: [
3664
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3632
3665
  "button",
3633
3666
  {
3634
3667
  className: cn(
@@ -3644,8 +3677,8 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3644
3677
  (() => {
3645
3678
  const opt = billingSwitch.options.find((opt2) => opt2.key === "monthly");
3646
3679
  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(
3680
+ if (!(opt && bOpt && opt.discountText && bOpt.discount !== 0)) return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "min-w-[80px] px-2 py-1 text-xs rounded invisible" });
3681
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: cn(
3649
3682
  "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
3683
  billingKey !== "monthly" && "invisible"
3651
3684
  ), children: opt.discountText.replace(
@@ -3654,8 +3687,8 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3654
3687
  ) });
3655
3688
  })()
3656
3689
  ] }),
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)(
3690
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 w-[180px] justify-start", children: [
3691
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3659
3692
  "button",
3660
3693
  {
3661
3694
  className: cn(
@@ -3671,8 +3704,8 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3671
3704
  (() => {
3672
3705
  const opt = billingSwitch.options.find((opt2) => opt2.key === "yearly");
3673
3706
  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(
3707
+ if (!(opt && bOpt && opt.discountText && bOpt.discount !== 0)) return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "min-w-[80px] px-2 py-1 text-xs rounded invisible" });
3708
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: cn(
3676
3709
  "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
3710
  billingKey !== "yearly" && "invisible"
3678
3711
  ), children: opt.discountText.replace(
@@ -3682,9 +3715,9 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3682
3715
  })()
3683
3716
  ] })
3684
3717
  ] }),
3685
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: plans.map((plan, _idx) => {
3718
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: plans.map((plan, _idx) => {
3686
3719
  var _a2, _b2, _c;
3687
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3720
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
3688
3721
  "div",
3689
3722
  {
3690
3723
  className: cn(
@@ -3694,17 +3727,17 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3694
3727
  ),
3695
3728
  style: { minHeight: maxFeaturesCount * 100 },
3696
3729
  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))
3730
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3731
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: plan.title }),
3732
+ 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
3733
  ] }),
3701
3734
  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: [
3735
+ /* @__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: [
3736
+ 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" }),
3737
+ 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 }),
3738
+ feature ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "relative group cursor-pointer text-sm text-gray-800 dark:text-gray-200", children: [
3706
3739
  feature.description,
3707
- feature.tooltip && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3740
+ feature.tooltip && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3708
3741
  "span",
3709
3742
  {
3710
3743
  className: "ml-1 align-middle inline-flex",
@@ -3720,13 +3753,13 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3720
3753
  setTooltip((t2) => __spreadProps(__spreadValues({}, t2), { x: e.clientX, y: e.clientY }));
3721
3754
  },
3722
3755
  onMouseLeave: () => setTooltip((t2) => __spreadProps(__spreadValues({}, t2), { show: false })),
3723
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.FAQ, { className: "w-4 h-4" })
3756
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(globalLucideIcons.FAQ, { className: "w-4 h-4" })
3724
3757
  }
3725
3758
  )
3726
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: "\xA0" })
3759
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: "\xA0" })
3727
3760
  ] }, i)) }),
3728
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex-1" }),
3729
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3761
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex-1" }),
3762
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3730
3763
  "button",
3731
3764
  {
3732
3765
  className: cn(
@@ -3749,7 +3782,7 @@ function PricePlan({ currency = "$", pricePlanConfig, sectionClassName }) {
3749
3782
  plan.key
3750
3783
  );
3751
3784
  }) }),
3752
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Tooltip, __spreadValues({}, tooltip))
3785
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Tooltip, __spreadValues({}, tooltip))
3753
3786
  ] });
3754
3787
  }
3755
3788
 
@@ -3765,13 +3798,13 @@ var React58 = __toESM(require("react"), 1);
3765
3798
 
3766
3799
  // ../../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
3800
  var React38 = __toESM(require("react"), 1);
3768
- var import_jsx_runtime47 = require("react/jsx-runtime");
3801
+ var import_jsx_runtime48 = require("react/jsx-runtime");
3769
3802
  function createContext2(rootComponentName, defaultContext) {
3770
3803
  const Context = React38.createContext(defaultContext);
3771
3804
  const Provider = (props) => {
3772
3805
  const _a = props, { children } = _a, context = __objRest(_a, ["children"]);
3773
3806
  const value = React38.useMemo(() => context, Object.values(context));
3774
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Context.Provider, { value, children });
3807
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Context.Provider, { value, children });
3775
3808
  };
3776
3809
  Provider.displayName = rootComponentName + "Provider";
3777
3810
  function useContext22(consumerName) {
@@ -3793,7 +3826,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
3793
3826
  const _a = props, { scope, children } = _a, context = __objRest(_a, ["scope", "children"]);
3794
3827
  const Context = ((_b = scope == null ? void 0 : scope[scopeName]) == null ? void 0 : _b[index]) || BaseContext;
3795
3828
  const value = React38.useMemo(() => context, Object.values(context));
3796
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Context.Provider, { value, children });
3829
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Context.Provider, { value, children });
3797
3830
  };
3798
3831
  Provider.displayName = rootComponentName + "Provider";
3799
3832
  function useContext22(consumerName, scope) {
@@ -3951,7 +3984,7 @@ var React45 = __toESM(require("react"), 1);
3951
3984
  // ../../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
3985
  var React42 = __toESM(require("react"), 1);
3953
3986
  var ReactDOM = __toESM(require("react-dom"), 1);
3954
- var import_jsx_runtime48 = require("react/jsx-runtime");
3987
+ var import_jsx_runtime49 = require("react/jsx-runtime");
3955
3988
  var NODES = [
3956
3989
  "a",
3957
3990
  "button",
@@ -3979,7 +4012,7 @@ var Primitive = NODES.reduce((primitive, node) => {
3979
4012
  if (typeof window !== "undefined") {
3980
4013
  window[Symbol.for("radix-ui")] = true;
3981
4014
  }
3982
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Comp, __spreadProps(__spreadValues({}, primitiveProps), { ref: forwardedRef }));
4015
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Comp, __spreadProps(__spreadValues({}, primitiveProps), { ref: forwardedRef }));
3983
4016
  });
3984
4017
  Node2.displayName = `Primitive.${node}`;
3985
4018
  return __spreadProps(__spreadValues({}, primitive), { [node]: Node2 });
@@ -4017,7 +4050,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis == nul
4017
4050
  }
4018
4051
 
4019
4052
  // ../../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");
4053
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4021
4054
  var DISMISSABLE_LAYER_NAME = "DismissableLayer";
4022
4055
  var CONTEXT_UPDATE = "dismissableLayer.update";
4023
4056
  var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
@@ -4112,7 +4145,7 @@ var DismissableLayer = React45.forwardRef(
4112
4145
  document.addEventListener(CONTEXT_UPDATE, handleUpdate);
4113
4146
  return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
4114
4147
  }, []);
4115
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4148
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4116
4149
  Primitive.div,
4117
4150
  __spreadProps(__spreadValues({}, layerProps), {
4118
4151
  ref: composedRefs,
@@ -4144,7 +4177,7 @@ var DismissableLayerBranch = React45.forwardRef((props, forwardedRef) => {
4144
4177
  };
4145
4178
  }
4146
4179
  }, [context.branches]);
4147
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Primitive.div, __spreadProps(__spreadValues({}, props), { ref: composedRefs }));
4180
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Primitive.div, __spreadProps(__spreadValues({}, props), { ref: composedRefs }));
4148
4181
  });
4149
4182
  DismissableLayerBranch.displayName = BRANCH_NAME;
4150
4183
  function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
@@ -4228,7 +4261,7 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
4228
4261
 
4229
4262
  // ../../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
4263
  var React46 = __toESM(require("react"), 1);
4231
- var import_jsx_runtime50 = require("react/jsx-runtime");
4264
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4232
4265
  var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
4233
4266
  var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
4234
4267
  var EVENT_OPTIONS = { bubbles: false, cancelable: true };
@@ -4351,7 +4384,7 @@ var FocusScope = React46.forwardRef((props, forwardedRef) => {
4351
4384
  },
4352
4385
  [loop, trapped, focusScope.paused]
4353
4386
  );
4354
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Primitive.div, __spreadProps(__spreadValues({ tabIndex: -1 }, scopeProps), { ref: composedRefs, onKeyDown: handleKeyDown }));
4387
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Primitive.div, __spreadProps(__spreadValues({ tabIndex: -1 }, scopeProps), { ref: composedRefs, onKeyDown: handleKeyDown }));
4355
4388
  });
4356
4389
  FocusScope.displayName = FOCUS_SCOPE_NAME;
4357
4390
  function focusFirst(candidates, { select = false } = {}) {
@@ -4438,7 +4471,7 @@ function removeLinks(items) {
4438
4471
  // ../../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
4472
  var React47 = __toESM(require("react"), 1);
4440
4473
  var import_react_dom = __toESM(require("react-dom"), 1);
4441
- var import_jsx_runtime51 = require("react/jsx-runtime");
4474
+ var import_jsx_runtime52 = require("react/jsx-runtime");
4442
4475
  var PORTAL_NAME = "Portal";
4443
4476
  var Portal = React47.forwardRef((props, forwardedRef) => {
4444
4477
  var _b;
@@ -4446,7 +4479,7 @@ var Portal = React47.forwardRef((props, forwardedRef) => {
4446
4479
  const [mounted, setMounted] = React47.useState(false);
4447
4480
  useLayoutEffect2(() => setMounted(true), []);
4448
4481
  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;
4482
+ return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Primitive.div, __spreadProps(__spreadValues({}, portalProps), { ref: forwardedRef })), container) : null;
4450
4483
  });
4451
4484
  Portal.displayName = PORTAL_NAME;
4452
4485
 
@@ -5443,7 +5476,7 @@ var hideOthers = function(originalTarget, parentNode, markerName) {
5443
5476
  };
5444
5477
 
5445
5478
  // ../../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");
5479
+ var import_jsx_runtime53 = require("react/jsx-runtime");
5447
5480
  var DIALOG_NAME = "Dialog";
5448
5481
  var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
5449
5482
  var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
@@ -5464,7 +5497,7 @@ var Dialog = (props) => {
5464
5497
  onChange: onOpenChange,
5465
5498
  caller: DIALOG_NAME
5466
5499
  });
5467
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5500
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5468
5501
  DialogProvider,
5469
5502
  {
5470
5503
  scope: __scopeDialog,
@@ -5488,7 +5521,7 @@ var DialogTrigger = React57.forwardRef(
5488
5521
  const _a = props, { __scopeDialog } = _a, triggerProps = __objRest(_a, ["__scopeDialog"]);
5489
5522
  const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
5490
5523
  const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
5491
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5524
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5492
5525
  Primitive.button,
5493
5526
  __spreadProps(__spreadValues({
5494
5527
  type: "button",
@@ -5511,7 +5544,7 @@ var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {
5511
5544
  var DialogPortal = (props) => {
5512
5545
  const { __scopeDialog, forceMount, children, container } = props;
5513
5546
  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 }) })) });
5547
+ 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
5548
  };
5516
5549
  DialogPortal.displayName = PORTAL_NAME2;
5517
5550
  var OVERLAY_NAME = "DialogOverlay";
@@ -5520,7 +5553,7 @@ var DialogOverlay = React57.forwardRef(
5520
5553
  const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
5521
5554
  const _a = props, { forceMount = portalContext.forceMount } = _a, overlayProps = __objRest(_a, ["forceMount"]);
5522
5555
  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;
5556
+ 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
5557
  }
5525
5558
  );
5526
5559
  DialogOverlay.displayName = OVERLAY_NAME;
@@ -5532,7 +5565,7 @@ var DialogOverlayImpl = React57.forwardRef(
5532
5565
  return (
5533
5566
  // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
5534
5567
  // 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)(
5568
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5536
5569
  Primitive.div,
5537
5570
  __spreadProps(__spreadValues({
5538
5571
  "data-state": getState(context.open)
@@ -5550,7 +5583,7 @@ var DialogContent = React57.forwardRef(
5550
5583
  const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
5551
5584
  const _a = props, { forceMount = portalContext.forceMount } = _a, contentProps = __objRest(_a, ["forceMount"]);
5552
5585
  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 })) });
5586
+ 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
5587
  }
5555
5588
  );
5556
5589
  DialogContent.displayName = CONTENT_NAME;
@@ -5563,7 +5596,7 @@ var DialogContentModal = React57.forwardRef(
5563
5596
  const content = contentRef.current;
5564
5597
  if (content) return hideOthers(content);
5565
5598
  }, []);
5566
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5599
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5567
5600
  DialogContentImpl,
5568
5601
  __spreadProps(__spreadValues({}, props), {
5569
5602
  ref: composedRefs,
@@ -5593,7 +5626,7 @@ var DialogContentNonModal = React57.forwardRef(
5593
5626
  const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
5594
5627
  const hasInteractedOutsideRef = React57.useRef(false);
5595
5628
  const hasPointerDownOutsideRef = React57.useRef(false);
5596
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5629
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5597
5630
  DialogContentImpl,
5598
5631
  __spreadProps(__spreadValues({}, props), {
5599
5632
  ref: forwardedRef,
@@ -5636,8 +5669,8 @@ var DialogContentImpl = React57.forwardRef(
5636
5669
  const contentRef = React57.useRef(null);
5637
5670
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
5638
5671
  useFocusGuards();
5639
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
5640
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5672
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
5673
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5641
5674
  FocusScope,
5642
5675
  {
5643
5676
  asChild: true,
@@ -5645,7 +5678,7 @@ var DialogContentImpl = React57.forwardRef(
5645
5678
  trapped: trapFocus,
5646
5679
  onMountAutoFocus: onOpenAutoFocus,
5647
5680
  onUnmountAutoFocus: onCloseAutoFocus,
5648
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5681
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5649
5682
  DismissableLayer,
5650
5683
  __spreadProps(__spreadValues({
5651
5684
  role: "dialog",
@@ -5660,9 +5693,9 @@ var DialogContentImpl = React57.forwardRef(
5660
5693
  )
5661
5694
  }
5662
5695
  ),
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 })
5696
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
5697
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TitleWarning, { titleId: context.titleId }),
5698
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
5666
5699
  ] })
5667
5700
  ] });
5668
5701
  }
@@ -5672,7 +5705,7 @@ var DialogTitle = React57.forwardRef(
5672
5705
  (props, forwardedRef) => {
5673
5706
  const _a = props, { __scopeDialog } = _a, titleProps = __objRest(_a, ["__scopeDialog"]);
5674
5707
  const context = useDialogContext(TITLE_NAME, __scopeDialog);
5675
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Primitive.h2, __spreadProps(__spreadValues({ id: context.titleId }, titleProps), { ref: forwardedRef }));
5708
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Primitive.h2, __spreadProps(__spreadValues({ id: context.titleId }, titleProps), { ref: forwardedRef }));
5676
5709
  }
5677
5710
  );
5678
5711
  DialogTitle.displayName = TITLE_NAME;
@@ -5681,7 +5714,7 @@ var DialogDescription = React57.forwardRef(
5681
5714
  (props, forwardedRef) => {
5682
5715
  const _a = props, { __scopeDialog } = _a, descriptionProps = __objRest(_a, ["__scopeDialog"]);
5683
5716
  const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
5684
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Primitive.p, __spreadProps(__spreadValues({ id: context.descriptionId }, descriptionProps), { ref: forwardedRef }));
5717
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Primitive.p, __spreadProps(__spreadValues({ id: context.descriptionId }, descriptionProps), { ref: forwardedRef }));
5685
5718
  }
5686
5719
  );
5687
5720
  DialogDescription.displayName = DESCRIPTION_NAME;
@@ -5690,7 +5723,7 @@ var DialogClose = React57.forwardRef(
5690
5723
  (props, forwardedRef) => {
5691
5724
  const _a = props, { __scopeDialog } = _a, closeProps = __objRest(_a, ["__scopeDialog"]);
5692
5725
  const context = useDialogContext(CLOSE_NAME, __scopeDialog);
5693
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5726
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5694
5727
  Primitive.button,
5695
5728
  __spreadProps(__spreadValues({
5696
5729
  type: "button"
@@ -5750,7 +5783,7 @@ var Description = DialogDescription;
5750
5783
  var Close = DialogClose;
5751
5784
 
5752
5785
  // ../../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");
5786
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5754
5787
  var ROOT_NAME = "AlertDialog";
5755
5788
  var [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [
5756
5789
  createDialogScope
@@ -5759,7 +5792,7 @@ var useDialogScope = createDialogScope();
5759
5792
  var AlertDialog = (props) => {
5760
5793
  const _a = props, { __scopeAlertDialog } = _a, alertDialogProps = __objRest(_a, ["__scopeAlertDialog"]);
5761
5794
  const dialogScope = useDialogScope(__scopeAlertDialog);
5762
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Root, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), alertDialogProps), { modal: true }));
5795
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Root, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), alertDialogProps), { modal: true }));
5763
5796
  };
5764
5797
  AlertDialog.displayName = ROOT_NAME;
5765
5798
  var TRIGGER_NAME2 = "AlertDialogTrigger";
@@ -5767,7 +5800,7 @@ var AlertDialogTrigger = React58.forwardRef(
5767
5800
  (props, forwardedRef) => {
5768
5801
  const _a = props, { __scopeAlertDialog } = _a, triggerProps = __objRest(_a, ["__scopeAlertDialog"]);
5769
5802
  const dialogScope = useDialogScope(__scopeAlertDialog);
5770
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Trigger, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), triggerProps), { ref: forwardedRef }));
5803
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Trigger, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), triggerProps), { ref: forwardedRef }));
5771
5804
  }
5772
5805
  );
5773
5806
  AlertDialogTrigger.displayName = TRIGGER_NAME2;
@@ -5775,7 +5808,7 @@ var PORTAL_NAME3 = "AlertDialogPortal";
5775
5808
  var AlertDialogPortal = (props) => {
5776
5809
  const _a = props, { __scopeAlertDialog } = _a, portalProps = __objRest(_a, ["__scopeAlertDialog"]);
5777
5810
  const dialogScope = useDialogScope(__scopeAlertDialog);
5778
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Portal2, __spreadValues(__spreadValues({}, dialogScope), portalProps));
5811
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Portal2, __spreadValues(__spreadValues({}, dialogScope), portalProps));
5779
5812
  };
5780
5813
  AlertDialogPortal.displayName = PORTAL_NAME3;
5781
5814
  var OVERLAY_NAME2 = "AlertDialogOverlay";
@@ -5783,7 +5816,7 @@ var AlertDialogOverlay = React58.forwardRef(
5783
5816
  (props, forwardedRef) => {
5784
5817
  const _a = props, { __scopeAlertDialog } = _a, overlayProps = __objRest(_a, ["__scopeAlertDialog"]);
5785
5818
  const dialogScope = useDialogScope(__scopeAlertDialog);
5786
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Overlay, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), overlayProps), { ref: forwardedRef }));
5819
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Overlay, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), overlayProps), { ref: forwardedRef }));
5787
5820
  }
5788
5821
  );
5789
5822
  AlertDialogOverlay.displayName = OVERLAY_NAME2;
@@ -5797,13 +5830,13 @@ var AlertDialogContent = React58.forwardRef(
5797
5830
  const contentRef = React58.useRef(null);
5798
5831
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
5799
5832
  const cancelRef = React58.useRef(null);
5800
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5833
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5801
5834
  WarningProvider,
5802
5835
  {
5803
5836
  contentName: CONTENT_NAME2,
5804
5837
  titleName: TITLE_NAME2,
5805
5838
  docsSlug: "alert-dialog",
5806
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5839
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5807
5840
  Content,
5808
5841
  __spreadProps(__spreadValues(__spreadValues({
5809
5842
  role: "alertdialog"
@@ -5817,8 +5850,8 @@ var AlertDialogContent = React58.forwardRef(
5817
5850
  onPointerDownOutside: (event) => event.preventDefault(),
5818
5851
  onInteractOutside: (event) => event.preventDefault(),
5819
5852
  children: [
5820
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Slottable, { children }),
5821
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DescriptionWarning2, { contentRef })
5853
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Slottable, { children }),
5854
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(DescriptionWarning2, { contentRef })
5822
5855
  ]
5823
5856
  })
5824
5857
  ) })
@@ -5832,7 +5865,7 @@ var AlertDialogTitle = React58.forwardRef(
5832
5865
  (props, forwardedRef) => {
5833
5866
  const _a = props, { __scopeAlertDialog } = _a, titleProps = __objRest(_a, ["__scopeAlertDialog"]);
5834
5867
  const dialogScope = useDialogScope(__scopeAlertDialog);
5835
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Title, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), titleProps), { ref: forwardedRef }));
5868
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Title, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), titleProps), { ref: forwardedRef }));
5836
5869
  }
5837
5870
  );
5838
5871
  AlertDialogTitle.displayName = TITLE_NAME2;
@@ -5840,7 +5873,7 @@ var DESCRIPTION_NAME2 = "AlertDialogDescription";
5840
5873
  var AlertDialogDescription = React58.forwardRef((props, forwardedRef) => {
5841
5874
  const _a = props, { __scopeAlertDialog } = _a, descriptionProps = __objRest(_a, ["__scopeAlertDialog"]);
5842
5875
  const dialogScope = useDialogScope(__scopeAlertDialog);
5843
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Description, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), descriptionProps), { ref: forwardedRef }));
5876
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Description, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), descriptionProps), { ref: forwardedRef }));
5844
5877
  });
5845
5878
  AlertDialogDescription.displayName = DESCRIPTION_NAME2;
5846
5879
  var ACTION_NAME = "AlertDialogAction";
@@ -5848,7 +5881,7 @@ var AlertDialogAction = React58.forwardRef(
5848
5881
  (props, forwardedRef) => {
5849
5882
  const _a = props, { __scopeAlertDialog } = _a, actionProps = __objRest(_a, ["__scopeAlertDialog"]);
5850
5883
  const dialogScope = useDialogScope(__scopeAlertDialog);
5851
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), actionProps), { ref: forwardedRef }));
5884
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), actionProps), { ref: forwardedRef }));
5852
5885
  }
5853
5886
  );
5854
5887
  AlertDialogAction.displayName = ACTION_NAME;
@@ -5859,7 +5892,7 @@ var AlertDialogCancel = React58.forwardRef(
5859
5892
  const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);
5860
5893
  const dialogScope = useDialogScope(__scopeAlertDialog);
5861
5894
  const ref = useComposedRefs(forwardedRef, cancelRef);
5862
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), cancelProps), { ref }));
5895
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Close, __spreadProps(__spreadValues(__spreadValues({}, dialogScope), cancelProps), { ref }));
5863
5896
  }
5864
5897
  );
5865
5898
  AlertDialogCancel.displayName = CANCEL_NAME;
@@ -5890,12 +5923,12 @@ var Title2 = AlertDialogTitle;
5890
5923
  var Description2 = AlertDialogDescription;
5891
5924
 
5892
5925
  // ../base-ui/src/ui/alert-dialog.tsx
5893
- var import_jsx_runtime54 = require("react/jsx-runtime");
5926
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5894
5927
  var AlertDialog2 = Root2;
5895
5928
  var AlertDialogPortal2 = Portal22;
5896
5929
  var AlertDialogOverlay2 = React59.forwardRef((_a, ref) => {
5897
5930
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5898
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5931
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5899
5932
  Overlay2,
5900
5933
  __spreadProps(__spreadValues({
5901
5934
  className: cn(
@@ -5910,9 +5943,9 @@ var AlertDialogOverlay2 = React59.forwardRef((_a, ref) => {
5910
5943
  AlertDialogOverlay2.displayName = Overlay2.displayName;
5911
5944
  var AlertDialogContent2 = React59.forwardRef((_a, ref) => {
5912
5945
  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)(
5946
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(AlertDialogPortal2, { children: [
5947
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlertDialogOverlay2, {}),
5948
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5916
5949
  Content2,
5917
5950
  __spreadValues({
5918
5951
  ref,
@@ -5931,7 +5964,7 @@ var AlertDialogHeader = (_a) => {
5931
5964
  } = _b, props = __objRest(_b, [
5932
5965
  "className"
5933
5966
  ]);
5934
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5967
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5935
5968
  "div",
5936
5969
  __spreadValues({
5937
5970
  className: cn(
@@ -5948,7 +5981,7 @@ var AlertDialogFooter = (_a) => {
5948
5981
  } = _b, props = __objRest(_b, [
5949
5982
  "className"
5950
5983
  ]);
5951
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5984
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5952
5985
  "div",
5953
5986
  __spreadValues({
5954
5987
  className: cn(
@@ -5961,7 +5994,7 @@ var AlertDialogFooter = (_a) => {
5961
5994
  AlertDialogFooter.displayName = "AlertDialogFooter";
5962
5995
  var AlertDialogTitle2 = React59.forwardRef((_a, ref) => {
5963
5996
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5964
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5997
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5965
5998
  Title2,
5966
5999
  __spreadValues({
5967
6000
  ref,
@@ -5972,7 +6005,7 @@ var AlertDialogTitle2 = React59.forwardRef((_a, ref) => {
5972
6005
  AlertDialogTitle2.displayName = Title2.displayName;
5973
6006
  var AlertDialogDescription2 = React59.forwardRef((_a, ref) => {
5974
6007
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5975
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6008
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5976
6009
  Description2,
5977
6010
  __spreadValues({
5978
6011
  ref,
@@ -5983,7 +6016,7 @@ var AlertDialogDescription2 = React59.forwardRef((_a, ref) => {
5983
6016
  AlertDialogDescription2.displayName = Description2.displayName;
5984
6017
  var AlertDialogAction2 = React59.forwardRef((_a, ref) => {
5985
6018
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5986
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6019
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5987
6020
  Action,
5988
6021
  __spreadValues({
5989
6022
  ref,
@@ -5994,7 +6027,7 @@ var AlertDialogAction2 = React59.forwardRef((_a, ref) => {
5994
6027
  AlertDialogAction2.displayName = Action.displayName;
5995
6028
  var AlertDialogCancel2 = React59.forwardRef((_a, ref) => {
5996
6029
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5997
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
6030
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5998
6031
  Cancel,
5999
6032
  __spreadValues({
6000
6033
  ref,
@@ -6009,7 +6042,7 @@ var AlertDialogCancel2 = React59.forwardRef((_a, ref) => {
6009
6042
  AlertDialogCancel2.displayName = Cancel.displayName;
6010
6043
 
6011
6044
  // src/main/ads-alert-dialog.tsx
6012
- var import_jsx_runtime55 = require("react/jsx-runtime");
6045
+ var import_jsx_runtime56 = require("react/jsx-runtime");
6013
6046
  function AdsAlertDialog({
6014
6047
  open,
6015
6048
  onOpenChange,
@@ -6023,32 +6056,32 @@ function AdsAlertDialog({
6023
6056
  onConfirm
6024
6057
  }) {
6025
6058
  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)(
6059
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialog2, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
6027
6060
  AlertDialogContent2,
6028
6061
  {
6029
6062
  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
6063
  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 })
6064
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center justify-between mb-2", children: [
6065
+ /* @__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: [
6066
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.Info, { className: "w-5 h-5" }),
6067
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "truncate", children: title })
6035
6068
  ] }) }),
6036
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6069
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6037
6070
  "button",
6038
6071
  {
6039
6072
  className: "text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-200 text-xl ml-4",
6040
6073
  onClick: () => onOpenChange(false),
6041
6074
  "aria-label": "Close",
6042
6075
  tabIndex: 0,
6043
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(globalLucideIcons.X, { className: "w-5 h-5" })
6076
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.X, { className: "w-5 h-5" })
6044
6077
  }
6045
6078
  )
6046
6079
  ] }),
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)(
6080
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogDescription2, { className: "text-base font-medium text-neutral-800 dark:text-neutral-100 mb-2", children: description }),
6081
+ 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: [
6082
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.ImageOff, { className: "w-12 h-12 mb-2" }),
6083
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: "Image loading failed" })
6084
+ ] }) : 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
6085
  import_image2.default,
6053
6086
  {
6054
6087
  src: imgSrc,
@@ -6061,7 +6094,7 @@ function AdsAlertDialog({
6061
6094
  onError: () => setImgError(true),
6062
6095
  sizes: "(max-width: 400px) 100vw, 400px"
6063
6096
  }
6064
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6097
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6065
6098
  import_image2.default,
6066
6099
  {
6067
6100
  src: imgSrc,
@@ -6075,8 +6108,8 @@ function AdsAlertDialog({
6075
6108
  sizes: "(max-width: 400px) 100vw, 400px"
6076
6109
  }
6077
6110
  ) }),
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)(
6111
+ (cancelText || confirmText) && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex justify-end gap-2 mt-2", children: [
6112
+ cancelText && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6080
6113
  "button",
6081
6114
  {
6082
6115
  onClick: () => {
@@ -6087,7 +6120,7 @@ function AdsAlertDialog({
6087
6120
  children: cancelText
6088
6121
  }
6089
6122
  ),
6090
- confirmText && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
6123
+ confirmText && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6091
6124
  AlertDialogAction2,
6092
6125
  {
6093
6126
  onClick: () => {
@@ -6106,7 +6139,7 @@ function AdsAlertDialog({
6106
6139
 
6107
6140
  // src/main/x-button.tsx
6108
6141
  var import_react43 = require("react");
6109
- var import_jsx_runtime56 = require("react/jsx-runtime");
6142
+ var import_jsx_runtime57 = require("react/jsx-runtime");
6110
6143
  function XButton(props) {
6111
6144
  var _a, _b;
6112
6145
  const [isLoading, setIsLoading] = (0, import_react43.useState)(false);
@@ -6144,19 +6177,19 @@ function XButton(props) {
6144
6177
  const { button, loadingText: loadingText2, minWidth = "min-w-[110px]", className: className2 = "" } = props;
6145
6178
  const isDisabled = button.disabled || isLoading;
6146
6179
  const actualLoadingText2 = loadingText2 || ((_a = button.text) == null ? void 0 : _a.trim()) || "Loading...";
6147
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6180
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6148
6181
  "button",
6149
6182
  {
6150
6183
  onClick: () => handleButtonClick(button.onClick),
6151
6184
  disabled: isDisabled,
6152
6185
  className: `${minWidth} ${baseButtonClass} rounded-full ${isDisabled ? disabledClass : ""} ${className2}`,
6153
6186
  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: [
6187
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6188
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(globalLucideIcons.Loader2, { className: "w-5 h-5 mr-1 animate-spin" }),
6189
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: actualLoadingText2 })
6190
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6158
6191
  button.icon,
6159
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: button.text })
6192
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: button.text })
6160
6193
  ] })
6161
6194
  }
6162
6195
  );
@@ -6164,8 +6197,8 @@ function XButton(props) {
6164
6197
  const { mainButton, menuItems, loadingText, menuWidth = "w-40", className = "", mainButtonClassName = "", dropdownButtonClassName = "" } = props;
6165
6198
  const isMainDisabled = mainButton.disabled || isLoading;
6166
6199
  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)(
6200
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: `relative flex bg-neutral-200 dark:bg-neutral-800 rounded-full ${className}`, children: [
6201
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6169
6202
  "button",
6170
6203
  {
6171
6204
  onClick: () => handleButtonClick(mainButton.onClick),
@@ -6175,16 +6208,16 @@ function XButton(props) {
6175
6208
  if (e.button === 2) e.preventDefault();
6176
6209
  },
6177
6210
  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: [
6211
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6212
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(globalLucideIcons.Loader2, { className: "w-5 h-5 mr-1 animate-spin" }),
6213
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: actualLoadingText })
6214
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
6182
6215
  mainButton.icon,
6183
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: mainButton.text })
6216
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: mainButton.text })
6184
6217
  ] })
6185
6218
  }
6186
6219
  ),
6187
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6220
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6188
6221
  "span",
6189
6222
  {
6190
6223
  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 +6227,15 @@ function XButton(props) {
6194
6227
  },
6195
6228
  tabIndex: 0,
6196
6229
  style: { borderTopLeftRadius: 0, borderBottomLeftRadius: 0 },
6197
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(globalLucideIcons.ChevronDown, { className: "w-6 h-6" })
6230
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(globalLucideIcons.ChevronDown, { className: "w-6 h-6" })
6198
6231
  }
6199
6232
  ),
6200
- menuOpen && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6233
+ menuOpen && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6201
6234
  "div",
6202
6235
  {
6203
6236
  ref: menuRef,
6204
6237
  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)(
6238
+ children: menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
6206
6239
  "button",
6207
6240
  {
6208
6241
  onClick: () => {
@@ -6213,11 +6246,11 @@ function XButton(props) {
6213
6246
  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
6247
  style: item.splitTopBorder ? { borderTop: "1px solid #AC62FD" } : void 0,
6215
6248
  children: [
6216
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { className: "flex items-center", children: [
6249
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { className: "flex items-center", children: [
6217
6250
  item.icon,
6218
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: item.text })
6251
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: item.text })
6219
6252
  ] }),
6220
- item.tag && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
6253
+ item.tag && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6221
6254
  "span",
6222
6255
  {
6223
6256
  className: "absolute right-3 top-1 text-[10px] font-semibold",
@@ -6236,7 +6269,7 @@ function XButton(props) {
6236
6269
 
6237
6270
  // src/main/ai-prompt-textarea.tsx
6238
6271
  var import_react44 = require("react");
6239
- var import_jsx_runtime57 = require("react/jsx-runtime");
6272
+ var import_jsx_runtime58 = require("react/jsx-runtime");
6240
6273
  function AIPromptTextarea({
6241
6274
  value,
6242
6275
  onChange,
@@ -6324,12 +6357,12 @@ function AIPromptTextarea({
6324
6357
  };
6325
6358
  const renderTitle = () => {
6326
6359
  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 })
6360
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "space-y-1", children: [
6361
+ title && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xl font-semibold text-foreground", children: title }),
6362
+ (description == null ? void 0 : description.trim()) && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-sm text-gray-400 ml-2", children: description })
6330
6363
  ] });
6331
6364
  };
6332
- const renderTextarea = (isEmbedded = false) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
6365
+ const renderTextarea = (isEmbedded = false) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6333
6366
  "textarea",
6334
6367
  {
6335
6368
  ref: textareaRef,
@@ -6348,7 +6381,7 @@ function AIPromptTextarea({
6348
6381
  );
6349
6382
  const renderWordCount = () => {
6350
6383
  if (!showWordCount) return null;
6351
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
6384
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
6352
6385
  "span",
6353
6386
  {
6354
6387
  className: `text-sm ${wordCount >= maxWords ? "text-red-500" : wordCount > maxWords * 0.75 ? "text-orange-500" : "text-muted-foreground"} ${isWordLimit ? "animate-bounce" : ""}`,
@@ -6364,16 +6397,16 @@ function AIPromptTextarea({
6364
6397
  ) });
6365
6398
  };
6366
6399
  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) })
6400
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "space-y-2", children: [
6401
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "border-2 border-border rounded-lg bg-transparent", children: [
6402
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "p-4 pb-2", children: renderTitle() }),
6403
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("hr", { className: "border-t-1 border-border" }),
6404
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "p-1", children: renderTextarea(true) })
6372
6405
  ] }),
6373
6406
  renderWordCount()
6374
6407
  ] });
6375
6408
  }
6376
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "space-y-2", children: [
6409
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "space-y-2", children: [
6377
6410
  renderTitle(),
6378
6411
  renderTextarea(),
6379
6412
  renderWordCount()
@@ -6395,7 +6428,9 @@ function AIPromptTextarea({
6395
6428
  SeoContent,
6396
6429
  Tips,
6397
6430
  Usage,
6398
- XButton
6431
+ XButton,
6432
+ createRichTextRenderer,
6433
+ richText
6399
6434
  });
6400
6435
  /*! Bundled license information:
6401
6436