@windrun-huaiin/third-ui 5.14.2 → 6.0.0

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.
Files changed (69) hide show
  1. package/dist/clerk/index.d.mts +2 -21
  2. package/dist/clerk/index.d.ts +2 -21
  3. package/dist/clerk/index.js +5 -2884
  4. package/dist/clerk/index.js.map +1 -1
  5. package/dist/clerk/index.mjs +3 -2872
  6. package/dist/clerk/index.mjs.map +1 -1
  7. package/dist/clerk/server.d.mts +28 -0
  8. package/dist/clerk/server.d.ts +28 -0
  9. package/dist/clerk/server.js +3025 -0
  10. package/dist/clerk/server.js.map +1 -0
  11. package/dist/clerk/server.mjs +2991 -0
  12. package/dist/clerk/server.mjs.map +1 -0
  13. package/dist/fuma/mdx/index.d.mts +1 -12
  14. package/dist/fuma/mdx/index.d.ts +1 -12
  15. package/dist/fuma/mdx/index.js +47 -262
  16. package/dist/fuma/mdx/index.js.map +1 -1
  17. package/dist/fuma/mdx/index.mjs +48 -261
  18. package/dist/fuma/mdx/index.mjs.map +1 -1
  19. package/dist/fuma/server.d.mts +15 -2
  20. package/dist/fuma/server.d.ts +15 -2
  21. package/dist/fuma/server.js +234 -49
  22. package/dist/fuma/server.js.map +1 -1
  23. package/dist/fuma/server.mjs +231 -48
  24. package/dist/fuma/server.mjs.map +1 -1
  25. package/dist/lib/server.d.mts +509 -465
  26. package/dist/lib/server.d.ts +509 -465
  27. package/dist/main/index.d.mts +5 -56
  28. package/dist/main/index.d.ts +5 -56
  29. package/dist/main/index.js +646 -1322
  30. package/dist/main/index.js.map +1 -1
  31. package/dist/main/index.mjs +675 -1342
  32. package/dist/main/index.mjs.map +1 -1
  33. package/dist/main/server.d.mts +64 -0
  34. package/dist/main/server.d.ts +64 -0
  35. package/dist/main/server.js +4166 -0
  36. package/dist/main/server.js.map +1 -0
  37. package/dist/main/server.mjs +4128 -0
  38. package/dist/main/server.mjs.map +1 -0
  39. package/package.json +12 -2
  40. package/src/clerk/clerk-organization-client.tsx +50 -0
  41. package/src/clerk/clerk-organization.tsx +21 -38
  42. package/src/clerk/clerk-page-generator.tsx +0 -2
  43. package/src/clerk/clerk-provider-client.tsx +1 -1
  44. package/src/clerk/clerk-user-client.tsx +64 -0
  45. package/src/clerk/clerk-user.tsx +29 -58
  46. package/src/clerk/index.ts +1 -4
  47. package/src/clerk/server.ts +3 -0
  48. package/src/fuma/{mdx/fuma-banner-suit.tsx → fuma-banner-suit.tsx} +3 -6
  49. package/src/fuma/mdx/banner.tsx +0 -1
  50. package/src/fuma/mdx/index.ts +0 -2
  51. package/src/fuma/mdx/toc-footer-wrapper.tsx +1 -0
  52. package/src/fuma/mdx/zia-file.tsx +0 -1
  53. package/src/fuma/server.ts +3 -1
  54. package/src/fuma/{mdx/site-x.tsx → site-x.tsx} +4 -5
  55. package/src/main/cta.tsx +33 -10
  56. package/src/main/faq-interactive.tsx +68 -0
  57. package/src/main/faq.tsx +62 -38
  58. package/src/main/features.tsx +40 -11
  59. package/src/main/footer.tsx +27 -16
  60. package/src/main/gallery-interactive.tsx +171 -0
  61. package/src/main/gallery.tsx +54 -101
  62. package/src/main/index.ts +1 -10
  63. package/src/main/language-detector.tsx +175 -0
  64. package/src/main/price-plan-interactive.tsx +273 -0
  65. package/src/main/price-plan.tsx +112 -129
  66. package/src/main/seo-content.tsx +46 -13
  67. package/src/main/server.ts +10 -0
  68. package/src/main/tips.tsx +48 -22
  69. package/src/main/usage.tsx +43 -11
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactElement, ReactNode } from 'react';
2
+ import { ReactElement, ReactNode, HTMLAttributes } from 'react';
3
3
  import { L as LLMCopyButtonProps, a as LLMCopyButton } from '../toc-base-BC7kXpDU.mjs';
4
4
 
5
5
  interface FumaPageParams {
@@ -61,4 +61,17 @@ declare function LLMCopyHandler(options: LLMCopyHandlerOptions): Promise<{
61
61
  status: number;
62
62
  }>;
63
63
 
64
- export { LLMCopyHandler, type LLMCopyHandlerOptions, createFumaPage };
64
+ declare function FumaBannerSuit({ locale, showBanner }: {
65
+ locale: string;
66
+ showBanner: boolean;
67
+ }): Promise<react_jsx_runtime.JSX.Element>;
68
+
69
+ type SiteXProps = Omit<HTMLAttributes<HTMLSpanElement>, 'type'> & {
70
+ locale: string;
71
+ type: 'site' | 'email';
72
+ namespace?: string;
73
+ tKey?: string;
74
+ };
75
+ declare function SiteX({ locale, type, namespace, tKey, className, ...props }: SiteXProps): Promise<react_jsx_runtime.JSX.Element | null>;
76
+
77
+ export { FumaBannerSuit, LLMCopyHandler, type LLMCopyHandlerOptions, SiteX, type SiteXProps, createFumaPage };
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactElement, ReactNode } from 'react';
2
+ import { ReactElement, ReactNode, HTMLAttributes } from 'react';
3
3
  import { L as LLMCopyButtonProps, a as LLMCopyButton } from '../toc-base-BC7kXpDU.js';
4
4
 
5
5
  interface FumaPageParams {
@@ -61,4 +61,17 @@ declare function LLMCopyHandler(options: LLMCopyHandlerOptions): Promise<{
61
61
  status: number;
62
62
  }>;
63
63
 
64
- export { LLMCopyHandler, type LLMCopyHandlerOptions, createFumaPage };
64
+ declare function FumaBannerSuit({ locale, showBanner }: {
65
+ locale: string;
66
+ showBanner: boolean;
67
+ }): Promise<react_jsx_runtime.JSX.Element>;
68
+
69
+ type SiteXProps = Omit<HTMLAttributes<HTMLSpanElement>, 'type'> & {
70
+ locale: string;
71
+ type: 'site' | 'email';
72
+ namespace?: string;
73
+ tKey?: string;
74
+ };
75
+ declare function SiteX({ locale, type, namespace, tKey, className, ...props }: SiteXProps): Promise<react_jsx_runtime.JSX.Element | null>;
76
+
77
+ export { FumaBannerSuit, LLMCopyHandler, type LLMCopyHandlerOptions, SiteX, type SiteXProps, createFumaPage };
@@ -6585,14 +6585,16 @@ var require_format = __commonJS({
6585
6585
  // src/fuma/server.ts
6586
6586
  var server_exports = {};
6587
6587
  __export(server_exports, {
6588
+ FumaBannerSuit: () => FumaBannerSuit,
6588
6589
  LLMCopyHandler: () => LLMCopyHandler,
6590
+ SiteX: () => SiteX,
6589
6591
  createFumaPage: () => createFumaPage
6590
6592
  });
6591
6593
  module.exports = __toCommonJS(server_exports);
6592
6594
 
6593
6595
  // src/fuma/fuma-page-genarator.tsx
6594
6596
  var import_page = require("fumadocs-ui/page");
6595
- var import_react42 = require("react");
6597
+ var import_react41 = require("react");
6596
6598
 
6597
6599
  // ../base-ui/src/assets/github.tsx
6598
6600
  var import_react = __toESM(require("react"), 1);
@@ -9481,62 +9483,29 @@ function LastUpdatedDate({ date }) {
9481
9483
  ] });
9482
9484
  }
9483
9485
 
9484
- // src/fuma/mdx/fuma-banner-suit.tsx
9485
- var import_next_intl = require("next-intl");
9486
-
9487
- // src/fuma/mdx/banner.tsx
9488
- var import_class_variance_authority2 = require("class-variance-authority");
9486
+ // src/fuma/mdx/fuma-github-info.tsx
9489
9487
  var import_react39 = require("react");
9490
9488
  var import_jsx_runtime42 = require("react/jsx-runtime");
9491
- var buttonVariants2 = (0, import_class_variance_authority2.cva)(
9492
- "inline-flex items-center justify-center rounded-md p-2 text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50",
9493
- {
9494
- variants: {
9495
- color: {
9496
- primary: "bg-primary text-primary-foreground hover:bg-primary/80",
9497
- outline: "border hover:bg-accent hover:text-accent-foreground",
9498
- ghost: "hover:bg-accent hover:text-accent-foreground",
9499
- secondary: "border bg-secondary text-secondary-foreground hover:bg-accent hover:text-accent-foreground"
9500
- },
9501
- size: {
9502
- sm: "gap-1 px-2 py-1.5 text-xs",
9503
- icon: "p-1.5 [&_svg]:size-5",
9504
- "icon-sm": "p-1.5 [&_svg]:size-4.5"
9505
- }
9506
- }
9507
- }
9508
- );
9509
-
9510
- // src/fuma/mdx/fuma-banner-suit.tsx
9511
- var import_jsx_runtime43 = require("react/jsx-runtime");
9512
-
9513
- // src/fuma/mdx/fuma-github-info.tsx
9514
- var import_react40 = require("react");
9515
- var import_jsx_runtime44 = require("react/jsx-runtime");
9516
-
9517
- // src/fuma/mdx/site-x.tsx
9518
- var import_next_intl2 = require("next-intl");
9519
- var import_jsx_runtime45 = require("react/jsx-runtime");
9520
9489
 
9521
9490
  // src/fuma/mdx/zia-file.tsx
9522
- var import_react41 = require("react");
9491
+ var import_react40 = require("react");
9523
9492
  var import_collapsible = require("fumadocs-ui/components/ui/collapsible");
9524
9493
  var import_link5 = __toESM(require("next/link"));
9525
- var import_jsx_runtime46 = require("react/jsx-runtime");
9494
+ var import_jsx_runtime43 = require("react/jsx-runtime");
9526
9495
 
9527
9496
  // src/fuma/mdx/toc-footer-wrapper.tsx
9528
- var import_jsx_runtime47 = require("react/jsx-runtime");
9497
+ var import_jsx_runtime44 = require("react/jsx-runtime");
9529
9498
  function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonComponent }) {
9530
9499
  const showEdit = githubBaseUrl && editPath;
9531
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col gap-y-2 items-start m-4", children: [
9532
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(LastUpdatedDate, { date: lastModified }),
9500
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-col gap-y-2 items-start m-4", children: [
9501
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LastUpdatedDate, { date: lastModified }),
9533
9502
  copyButtonComponent,
9534
- showEdit && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(EditOnGitHub, { url: `${githubBaseUrl}${editPath}` })
9503
+ showEdit && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(EditOnGitHub, { url: `${githubBaseUrl}${editPath}` })
9535
9504
  ] });
9536
9505
  }
9537
9506
 
9538
9507
  // src/fuma/fuma-page-genarator.tsx
9539
- var import_jsx_runtime48 = require("react/jsx-runtime");
9508
+ var import_jsx_runtime45 = require("react/jsx-runtime");
9540
9509
  function createFumaPage({
9541
9510
  sourceKey,
9542
9511
  mdxContentSource,
@@ -9553,20 +9522,20 @@ function createFumaPage({
9553
9522
  const { slug, locale } = yield params;
9554
9523
  const page = mdxContentSource.getPage(slug, locale);
9555
9524
  if (!page) {
9556
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(FallbackPage, { siteIcon });
9525
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FallbackPage, { siteIcon });
9557
9526
  }
9558
9527
  const path2 = githubBaseUrl ? `${mdxSourceDir}/${page.file.path}` : void 0;
9559
- const tocFooterElement = /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
9528
+ const tocFooterElement = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
9560
9529
  TocFooterWrapper,
9561
9530
  {
9562
9531
  lastModified: page.data.date,
9563
- copyButtonComponent: copyButtonComponent ? (0, import_react42.cloneElement)(copyButtonComponent, { sourceKey }) : void 0,
9532
+ copyButtonComponent: copyButtonComponent ? (0, import_react41.cloneElement)(copyButtonComponent, { sourceKey }) : void 0,
9564
9533
  editPath: path2,
9565
9534
  githubBaseUrl
9566
9535
  }
9567
9536
  );
9568
9537
  const MDX = page.data.body;
9569
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
9538
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
9570
9539
  import_page.DocsPage,
9571
9540
  {
9572
9541
  tableOfContent: { style: "clerk", single: false, footer: tocFooterElement },
@@ -9575,9 +9544,9 @@ function createFumaPage({
9575
9544
  full: page.data.full,
9576
9545
  article: { className: "max-sm:pb-16" },
9577
9546
  children: [
9578
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_page.DocsTitle, { children: page.data.title }),
9579
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_page.DocsDescription, { className: "mb-2", children: page.data.description }),
9580
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_page.DocsBody, { className: "text-fd-foreground/80", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MDX, { components: getMDXComponents() }) })
9547
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_page.DocsTitle, { children: page.data.title }),
9548
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_page.DocsDescription, { className: "mb-2", children: page.data.description }),
9549
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_page.DocsBody, { className: "text-fd-foreground/80", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MDX, { components: getMDXComponents() }) })
9581
9550
  ]
9582
9551
  }
9583
9552
  );
@@ -29976,9 +29945,225 @@ function LLMCopyHandler(options) {
29976
29945
  }
29977
29946
  });
29978
29947
  }
29948
+
29949
+ // src/fuma/fuma-banner-suit.tsx
29950
+ var import_server2 = require("next-intl/server");
29951
+
29952
+ // src/fuma/mdx/banner.tsx
29953
+ var import_class_variance_authority2 = require("class-variance-authority");
29954
+ var import_react42 = require("react");
29955
+ var import_jsx_runtime46 = require("react/jsx-runtime");
29956
+ var buttonVariants2 = (0, import_class_variance_authority2.cva)(
29957
+ "inline-flex items-center justify-center rounded-md p-2 text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50",
29958
+ {
29959
+ variants: {
29960
+ color: {
29961
+ primary: "bg-primary text-primary-foreground hover:bg-primary/80",
29962
+ outline: "border hover:bg-accent hover:text-accent-foreground",
29963
+ ghost: "hover:bg-accent hover:text-accent-foreground",
29964
+ secondary: "border bg-secondary text-secondary-foreground hover:bg-accent hover:text-accent-foreground"
29965
+ },
29966
+ size: {
29967
+ sm: "gap-1 px-2 py-1.5 text-xs",
29968
+ icon: "p-1.5 [&_svg]:size-5",
29969
+ "icon-sm": "p-1.5 [&_svg]:size-4.5"
29970
+ }
29971
+ }
29972
+ }
29973
+ );
29974
+ function Banner(_a) {
29975
+ var _b = _a, {
29976
+ id,
29977
+ variant = "rainbow",
29978
+ changeLayout = true,
29979
+ height = 3
29980
+ } = _b, props = __objRest(_b, [
29981
+ "id",
29982
+ "variant",
29983
+ "changeLayout",
29984
+ "height"
29985
+ ]);
29986
+ const [open, setOpen] = (0, import_react42.useState)(true);
29987
+ const globalKey = id ? `nd-banner-${id}` : null;
29988
+ const bannerHeight = `${height}rem`;
29989
+ (0, import_react42.useEffect)(() => {
29990
+ if (globalKey) setOpen(localStorage.getItem(globalKey) !== "true");
29991
+ }, [globalKey]);
29992
+ if (!open) return null;
29993
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
29994
+ "div",
29995
+ __spreadProps(__spreadValues({
29996
+ id
29997
+ }, props), {
29998
+ className: cn(
29999
+ "flex flex-row items-center justify-center px-4 text-center text-sm font-medium",
30000
+ "bg-neutral-100 dark:bg-neutral-900",
30001
+ !open && "hidden",
30002
+ props.className
30003
+ ),
30004
+ style: {
30005
+ // 将 fuma.css 中的 .sticky.top-0.z-40 样式完全移到这里
30006
+ position: "fixed",
30007
+ top: 0,
30008
+ left: 0,
30009
+ width: "100vw",
30010
+ zIndex: 1001,
30011
+ height: bannerHeight,
30012
+ minHeight: bannerHeight,
30013
+ maxHeight: bannerHeight,
30014
+ margin: 0,
30015
+ borderRadius: 0
30016
+ },
30017
+ children: [
30018
+ globalKey ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("style", { children: `.${globalKey} #${id} { display: none; }` }) : null,
30019
+ globalKey ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
30020
+ "script",
30021
+ {
30022
+ dangerouslySetInnerHTML: {
30023
+ __html: `if (localStorage.getItem('${globalKey}') === 'true') document.documentElement.classList.add('${globalKey}');`
30024
+ }
30025
+ }
30026
+ ) : null,
30027
+ variant === "rainbow" ? rainbowLayer : null,
30028
+ props.children,
30029
+ id ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
30030
+ "button",
30031
+ {
30032
+ type: "button",
30033
+ "aria-label": "Close Banner",
30034
+ onClick: () => {
30035
+ setOpen(false);
30036
+ if (globalKey) localStorage.setItem(globalKey, "true");
30037
+ },
30038
+ className: cn(
30039
+ buttonVariants2({
30040
+ color: "ghost",
30041
+ className: "absolute end-2 top-1/2 -translate-y-1/2 text-neutral-600 dark:text-neutral-400",
30042
+ size: "icon"
30043
+ })
30044
+ ),
30045
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(globalLucideIcons.X, {})
30046
+ }
30047
+ ) : null
30048
+ ]
30049
+ })
30050
+ );
30051
+ }
30052
+ var maskImage = "linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)";
30053
+ var rainbowLayer = /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
30054
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
30055
+ "div",
30056
+ {
30057
+ className: "absolute inset-0 z-[-1]",
30058
+ style: {
30059
+ maskImage,
30060
+ maskComposite: "intersect",
30061
+ animation: "fd-moving-banner 16s linear infinite",
30062
+ "--start": "rgba(0,87,255,0.5)",
30063
+ "--mid": "rgba(255,0,166,0.77)",
30064
+ "--end": "rgba(255,77,0,0.4)",
30065
+ "--via": "rgba(164,255,68,0.4)",
30066
+ animationDirection: "reverse",
30067
+ backgroundImage: "repeating-linear-gradient(60deg, var(--end), var(--start) 2%, var(--start) 5%, transparent 8%, transparent 14%, var(--via) 18%, var(--via) 22%, var(--mid) 28%, var(--mid) 30%, var(--via) 34%, var(--via) 36%, transparent, var(--end) calc(50% - 12px))",
30068
+ backgroundSize: "200% 100%",
30069
+ mixBlendMode: "difference"
30070
+ }
30071
+ }
30072
+ ),
30073
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
30074
+ "div",
30075
+ {
30076
+ className: "absolute inset-0 z-[-1]",
30077
+ style: {
30078
+ maskImage,
30079
+ maskComposite: "intersect",
30080
+ animation: "fd-moving-banner 20s linear infinite",
30081
+ "--start": "rgba(255,120,120,0.5)",
30082
+ "--mid": "rgba(36,188,255,0.4)",
30083
+ "--end": "rgba(64,0,255,0.51)",
30084
+ "--via": "rgba(255,89,0,0.56)",
30085
+ backgroundImage: "repeating-linear-gradient(45deg, var(--end), var(--start) 4%, var(--start) 8%, transparent 9%, transparent 14%, var(--mid) 16%, var(--mid) 20%, transparent, var(--via) 36%, var(--via) 40%, transparent 42%, var(--end) 46%, var(--end) calc(50% - 16.8px))",
30086
+ backgroundSize: "200% 100%",
30087
+ mixBlendMode: "color-dodge"
30088
+ }
30089
+ }
30090
+ ),
30091
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("style", { children: `@keyframes fd-moving-banner {
30092
+ from { background-position: 0% 0; }
30093
+ to { background-position: 100% 0; }
30094
+ }` })
30095
+ ] });
30096
+
30097
+ // src/fuma/fuma-banner-suit.tsx
30098
+ var import_jsx_runtime47 = require("react/jsx-runtime");
30099
+ function FumaBannerSuit(_0) {
30100
+ return __async(this, arguments, function* ({ locale, showBanner }) {
30101
+ const t = yield (0, import_server2.getTranslations)({ locale, namespace: "home" });
30102
+ const heightValue = showBanner ? 3 : 0.5;
30103
+ const height = `${heightValue}rem`;
30104
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: showBanner ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Banner, { variant: "rainbow", changeLayout: true, height: heightValue, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-xl", children: t("banner") }) }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
30105
+ "div",
30106
+ {
30107
+ className: "fixed top-0 left-0 w-screen z-[1001] m-0 rounded-none bg-neutral-100 dark:bg-neutral-900",
30108
+ style: {
30109
+ height,
30110
+ minHeight: height,
30111
+ maxHeight: height
30112
+ }
30113
+ }
30114
+ ) });
30115
+ });
30116
+ }
30117
+
30118
+ // src/fuma/site-x.tsx
30119
+ var import_server3 = require("next-intl/server");
30120
+ var import_jsx_runtime48 = require("react/jsx-runtime");
30121
+ function SiteX(_a) {
30122
+ return __async(this, null, function* () {
30123
+ var _b = _a, { locale, type, namespace, tKey, className } = _b, props = __objRest(_b, ["locale", "type", "namespace", "tKey", "className"]);
30124
+ let ns = namespace;
30125
+ let key = tKey;
30126
+ if (!ns) {
30127
+ ns = type === "site" ? "home" : "footer";
30128
+ }
30129
+ if (!key) {
30130
+ key = type === "site" ? "title" : "email";
30131
+ }
30132
+ const t = yield (0, import_server3.getTranslations)({ locale, namespace: ns });
30133
+ const text5 = t(key, { defaultValue: type === "site" ? "Site----" : "----@example.com" });
30134
+ if (type === "site") {
30135
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
30136
+ "strong",
30137
+ __spreadProps(__spreadValues({}, props), {
30138
+ className: cn(
30139
+ "font-extrabold text-sm",
30140
+ className
30141
+ ),
30142
+ children: text5
30143
+ })
30144
+ );
30145
+ }
30146
+ if (type === "email") {
30147
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
30148
+ "a",
30149
+ __spreadProps(__spreadValues({}, props), {
30150
+ href: `mailto:${text5}`,
30151
+ className: cn(
30152
+ "font-mono underline text-sm",
30153
+ className
30154
+ ),
30155
+ children: text5
30156
+ })
30157
+ );
30158
+ }
30159
+ return null;
30160
+ });
30161
+ }
29979
30162
  // Annotate the CommonJS export names for ESM import in node:
29980
30163
  0 && (module.exports = {
30164
+ FumaBannerSuit,
29981
30165
  LLMCopyHandler,
30166
+ SiteX,
29982
30167
  createFumaPage
29983
30168
  });
29984
30169
  /*! Bundled license information: