@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.
- package/dist/clerk/index.d.mts +2 -21
- package/dist/clerk/index.d.ts +2 -21
- package/dist/clerk/index.js +5 -2884
- package/dist/clerk/index.js.map +1 -1
- package/dist/clerk/index.mjs +3 -2872
- package/dist/clerk/index.mjs.map +1 -1
- package/dist/clerk/server.d.mts +28 -0
- package/dist/clerk/server.d.ts +28 -0
- package/dist/clerk/server.js +3025 -0
- package/dist/clerk/server.js.map +1 -0
- package/dist/clerk/server.mjs +2991 -0
- package/dist/clerk/server.mjs.map +1 -0
- package/dist/fuma/mdx/index.d.mts +1 -12
- package/dist/fuma/mdx/index.d.ts +1 -12
- package/dist/fuma/mdx/index.js +47 -262
- package/dist/fuma/mdx/index.js.map +1 -1
- package/dist/fuma/mdx/index.mjs +48 -261
- package/dist/fuma/mdx/index.mjs.map +1 -1
- package/dist/fuma/server.d.mts +15 -2
- package/dist/fuma/server.d.ts +15 -2
- package/dist/fuma/server.js +234 -49
- package/dist/fuma/server.js.map +1 -1
- package/dist/fuma/server.mjs +231 -48
- package/dist/fuma/server.mjs.map +1 -1
- package/dist/lib/server.d.mts +509 -465
- package/dist/lib/server.d.ts +509 -465
- package/dist/main/index.d.mts +5 -56
- package/dist/main/index.d.ts +5 -56
- package/dist/main/index.js +646 -1322
- package/dist/main/index.js.map +1 -1
- package/dist/main/index.mjs +675 -1342
- package/dist/main/index.mjs.map +1 -1
- package/dist/main/server.d.mts +64 -0
- package/dist/main/server.d.ts +64 -0
- package/dist/main/server.js +4166 -0
- package/dist/main/server.js.map +1 -0
- package/dist/main/server.mjs +4128 -0
- package/dist/main/server.mjs.map +1 -0
- package/package.json +12 -2
- package/src/clerk/clerk-organization-client.tsx +50 -0
- package/src/clerk/clerk-organization.tsx +21 -38
- package/src/clerk/clerk-page-generator.tsx +0 -2
- package/src/clerk/clerk-provider-client.tsx +1 -1
- package/src/clerk/clerk-user-client.tsx +64 -0
- package/src/clerk/clerk-user.tsx +29 -58
- package/src/clerk/index.ts +1 -4
- package/src/clerk/server.ts +3 -0
- package/src/fuma/{mdx/fuma-banner-suit.tsx → fuma-banner-suit.tsx} +3 -6
- package/src/fuma/mdx/banner.tsx +0 -1
- package/src/fuma/mdx/index.ts +0 -2
- package/src/fuma/mdx/toc-footer-wrapper.tsx +1 -0
- package/src/fuma/mdx/zia-file.tsx +0 -1
- package/src/fuma/server.ts +3 -1
- package/src/fuma/{mdx/site-x.tsx → site-x.tsx} +4 -5
- package/src/main/cta.tsx +33 -10
- package/src/main/faq-interactive.tsx +68 -0
- package/src/main/faq.tsx +62 -38
- package/src/main/features.tsx +40 -11
- package/src/main/footer.tsx +27 -16
- package/src/main/gallery-interactive.tsx +171 -0
- package/src/main/gallery.tsx +54 -101
- package/src/main/index.ts +1 -10
- package/src/main/language-detector.tsx +175 -0
- package/src/main/price-plan-interactive.tsx +273 -0
- package/src/main/price-plan.tsx +112 -129
- package/src/main/seo-content.tsx +46 -13
- package/src/main/server.ts +10 -0
- package/src/main/tips.tsx +48 -22
- package/src/main/usage.tsx +43 -11
|
@@ -72,10 +72,6 @@ interface GradientButtonProps {
|
|
|
72
72
|
}
|
|
73
73
|
declare function GradientButton({ title, icon, align, disabled, className, href, openInNewTab, onClick, loadingText, preventDoubleClick, }: GradientButtonProps): react_jsx_runtime.JSX.Element;
|
|
74
74
|
|
|
75
|
-
declare function FumaBannerSuit({ showBanner }: {
|
|
76
|
-
showBanner: boolean;
|
|
77
|
-
}): react_jsx_runtime.JSX.Element;
|
|
78
|
-
|
|
79
75
|
interface FumaGithubInfoProps {
|
|
80
76
|
owner: string;
|
|
81
77
|
repo: string;
|
|
@@ -94,13 +90,6 @@ interface FumaGithubInfoProps {
|
|
|
94
90
|
*/
|
|
95
91
|
declare function FumaGithubInfo({ owner, repo, token, className }: FumaGithubInfoProps): react_jsx_runtime.JSX.Element;
|
|
96
92
|
|
|
97
|
-
type SiteXProps = Omit<HTMLAttributes<HTMLSpanElement>, 'type'> & {
|
|
98
|
-
type: 'site' | 'email';
|
|
99
|
-
namespace?: string;
|
|
100
|
-
tKey?: string;
|
|
101
|
-
};
|
|
102
|
-
declare function SiteX({ type, namespace, tKey, className, ...props }: SiteXProps): react_jsx_runtime.JSX.Element | null;
|
|
103
|
-
|
|
104
93
|
interface ZiaFileProps extends HTMLAttributes<HTMLDivElement> {
|
|
105
94
|
name: string;
|
|
106
95
|
icon?: ReactNode;
|
|
@@ -124,4 +113,4 @@ interface TocFooterProps {
|
|
|
124
113
|
}
|
|
125
114
|
declare function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonComponent }: TocFooterProps): react_jsx_runtime.JSX.Element;
|
|
126
115
|
|
|
127
|
-
export {
|
|
116
|
+
export { FumaGithubInfo, GradientButton, type GradientButtonProps, ImageGrid, ImageZoom, type ImageZoomProps, Mermaid, TocFooterWrapper, TrophyCard, ZiaCard, type ZiaCardProps, ZiaFile, type ZiaFileProps, ZiaFolder, type ZiaFolderProps };
|
package/dist/fuma/mdx/index.d.ts
CHANGED
|
@@ -72,10 +72,6 @@ interface GradientButtonProps {
|
|
|
72
72
|
}
|
|
73
73
|
declare function GradientButton({ title, icon, align, disabled, className, href, openInNewTab, onClick, loadingText, preventDoubleClick, }: GradientButtonProps): react_jsx_runtime.JSX.Element;
|
|
74
74
|
|
|
75
|
-
declare function FumaBannerSuit({ showBanner }: {
|
|
76
|
-
showBanner: boolean;
|
|
77
|
-
}): react_jsx_runtime.JSX.Element;
|
|
78
|
-
|
|
79
75
|
interface FumaGithubInfoProps {
|
|
80
76
|
owner: string;
|
|
81
77
|
repo: string;
|
|
@@ -94,13 +90,6 @@ interface FumaGithubInfoProps {
|
|
|
94
90
|
*/
|
|
95
91
|
declare function FumaGithubInfo({ owner, repo, token, className }: FumaGithubInfoProps): react_jsx_runtime.JSX.Element;
|
|
96
92
|
|
|
97
|
-
type SiteXProps = Omit<HTMLAttributes<HTMLSpanElement>, 'type'> & {
|
|
98
|
-
type: 'site' | 'email';
|
|
99
|
-
namespace?: string;
|
|
100
|
-
tKey?: string;
|
|
101
|
-
};
|
|
102
|
-
declare function SiteX({ type, namespace, tKey, className, ...props }: SiteXProps): react_jsx_runtime.JSX.Element | null;
|
|
103
|
-
|
|
104
93
|
interface ZiaFileProps extends HTMLAttributes<HTMLDivElement> {
|
|
105
94
|
name: string;
|
|
106
95
|
icon?: ReactNode;
|
|
@@ -124,4 +113,4 @@ interface TocFooterProps {
|
|
|
124
113
|
}
|
|
125
114
|
declare function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonComponent }: TocFooterProps): react_jsx_runtime.JSX.Element;
|
|
126
115
|
|
|
127
|
-
export {
|
|
116
|
+
export { FumaGithubInfo, GradientButton, type GradientButtonProps, ImageGrid, ImageZoom, type ImageZoomProps, Mermaid, TocFooterWrapper, TrophyCard, ZiaCard, type ZiaCardProps, ZiaFile, type ZiaFileProps, ZiaFolder, type ZiaFolderProps };
|
package/dist/fuma/mdx/index.js
CHANGED
|
@@ -81,7 +81,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
81
81
|
var mdx_exports = {};
|
|
82
82
|
__export(mdx_exports, {
|
|
83
83
|
EditOnGitHub: () => EditOnGitHub,
|
|
84
|
-
FumaBannerSuit: () => FumaBannerSuit,
|
|
85
84
|
FumaGithubInfo: () => FumaGithubInfo,
|
|
86
85
|
GradientButton: () => GradientButton,
|
|
87
86
|
ImageGrid: () => ImageGrid,
|
|
@@ -89,7 +88,6 @@ __export(mdx_exports, {
|
|
|
89
88
|
LLMCopyButton: () => LLMCopyButton,
|
|
90
89
|
LastUpdatedDate: () => LastUpdatedDate,
|
|
91
90
|
Mermaid: () => Mermaid,
|
|
92
|
-
SiteX: () => SiteX,
|
|
93
91
|
TocFooterWrapper: () => TocFooterWrapper,
|
|
94
92
|
TrophyCard: () => TrophyCard,
|
|
95
93
|
ZiaCard: () => ZiaCard,
|
|
@@ -3607,188 +3605,20 @@ function LastUpdatedDate({ date }) {
|
|
|
3607
3605
|
] });
|
|
3608
3606
|
}
|
|
3609
3607
|
|
|
3610
|
-
// src/fuma/mdx/fuma-
|
|
3611
|
-
var import_next_intl = require("next-intl");
|
|
3612
|
-
|
|
3613
|
-
// src/fuma/mdx/banner.tsx
|
|
3614
|
-
var import_class_variance_authority2 = require("class-variance-authority");
|
|
3608
|
+
// src/fuma/mdx/fuma-github-info.tsx
|
|
3615
3609
|
var import_react39 = require("react");
|
|
3616
3610
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3617
|
-
var buttonVariants2 = (0, import_class_variance_authority2.cva)(
|
|
3618
|
-
"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",
|
|
3619
|
-
{
|
|
3620
|
-
variants: {
|
|
3621
|
-
color: {
|
|
3622
|
-
primary: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
3623
|
-
outline: "border hover:bg-accent hover:text-accent-foreground",
|
|
3624
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
3625
|
-
secondary: "border bg-secondary text-secondary-foreground hover:bg-accent hover:text-accent-foreground"
|
|
3626
|
-
},
|
|
3627
|
-
size: {
|
|
3628
|
-
sm: "gap-1 px-2 py-1.5 text-xs",
|
|
3629
|
-
icon: "p-1.5 [&_svg]:size-5",
|
|
3630
|
-
"icon-sm": "p-1.5 [&_svg]:size-4.5"
|
|
3631
|
-
}
|
|
3632
|
-
}
|
|
3633
|
-
}
|
|
3634
|
-
);
|
|
3635
|
-
function Banner(_a) {
|
|
3636
|
-
var _b = _a, {
|
|
3637
|
-
id,
|
|
3638
|
-
variant = "rainbow",
|
|
3639
|
-
changeLayout = true,
|
|
3640
|
-
height = 3
|
|
3641
|
-
} = _b, props = __objRest(_b, [
|
|
3642
|
-
"id",
|
|
3643
|
-
"variant",
|
|
3644
|
-
"changeLayout",
|
|
3645
|
-
"height"
|
|
3646
|
-
]);
|
|
3647
|
-
const [open, setOpen] = (0, import_react39.useState)(true);
|
|
3648
|
-
const globalKey = id ? `nd-banner-${id}` : null;
|
|
3649
|
-
const bannerHeight = `${height}rem`;
|
|
3650
|
-
const headerStartHeight = `${height + 5.5}rem`;
|
|
3651
|
-
(0, import_react39.useEffect)(() => {
|
|
3652
|
-
if (globalKey) setOpen(localStorage.getItem(globalKey) !== "true");
|
|
3653
|
-
}, [globalKey]);
|
|
3654
|
-
if (!open) return null;
|
|
3655
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3656
|
-
"div",
|
|
3657
|
-
__spreadProps(__spreadValues({
|
|
3658
|
-
id
|
|
3659
|
-
}, props), {
|
|
3660
|
-
className: cn(
|
|
3661
|
-
"flex flex-row items-center justify-center px-4 text-center text-sm font-medium",
|
|
3662
|
-
"bg-neutral-100 dark:bg-neutral-900",
|
|
3663
|
-
!open && "hidden",
|
|
3664
|
-
props.className
|
|
3665
|
-
),
|
|
3666
|
-
style: {
|
|
3667
|
-
// 将 fuma.css 中的 .sticky.top-0.z-40 样式完全移到这里
|
|
3668
|
-
position: "fixed",
|
|
3669
|
-
top: 0,
|
|
3670
|
-
left: 0,
|
|
3671
|
-
width: "100vw",
|
|
3672
|
-
zIndex: 1001,
|
|
3673
|
-
height: bannerHeight,
|
|
3674
|
-
minHeight: bannerHeight,
|
|
3675
|
-
maxHeight: bannerHeight,
|
|
3676
|
-
margin: 0,
|
|
3677
|
-
borderRadius: 0
|
|
3678
|
-
},
|
|
3679
|
-
children: [
|
|
3680
|
-
globalKey ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `.${globalKey} #${id} { display: none; }` }) : null,
|
|
3681
|
-
globalKey ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3682
|
-
"script",
|
|
3683
|
-
{
|
|
3684
|
-
dangerouslySetInnerHTML: {
|
|
3685
|
-
__html: `if (localStorage.getItem('${globalKey}') === 'true') document.documentElement.classList.add('${globalKey}');`
|
|
3686
|
-
}
|
|
3687
|
-
}
|
|
3688
|
-
) : null,
|
|
3689
|
-
variant === "rainbow" ? rainbowLayer : null,
|
|
3690
|
-
props.children,
|
|
3691
|
-
id ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3692
|
-
"button",
|
|
3693
|
-
{
|
|
3694
|
-
type: "button",
|
|
3695
|
-
"aria-label": "Close Banner",
|
|
3696
|
-
onClick: () => {
|
|
3697
|
-
setOpen(false);
|
|
3698
|
-
if (globalKey) localStorage.setItem(globalKey, "true");
|
|
3699
|
-
},
|
|
3700
|
-
className: cn(
|
|
3701
|
-
buttonVariants2({
|
|
3702
|
-
color: "ghost",
|
|
3703
|
-
className: "absolute end-2 top-1/2 -translate-y-1/2 text-neutral-600 dark:text-neutral-400",
|
|
3704
|
-
size: "icon"
|
|
3705
|
-
})
|
|
3706
|
-
),
|
|
3707
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.X, {})
|
|
3708
|
-
}
|
|
3709
|
-
) : null
|
|
3710
|
-
]
|
|
3711
|
-
})
|
|
3712
|
-
);
|
|
3713
|
-
}
|
|
3714
|
-
var maskImage = "linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)";
|
|
3715
|
-
var rainbowLayer = /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
3716
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3717
|
-
"div",
|
|
3718
|
-
{
|
|
3719
|
-
className: "absolute inset-0 z-[-1]",
|
|
3720
|
-
style: {
|
|
3721
|
-
maskImage,
|
|
3722
|
-
maskComposite: "intersect",
|
|
3723
|
-
animation: "fd-moving-banner 16s linear infinite",
|
|
3724
|
-
"--start": "rgba(0,87,255,0.5)",
|
|
3725
|
-
"--mid": "rgba(255,0,166,0.77)",
|
|
3726
|
-
"--end": "rgba(255,77,0,0.4)",
|
|
3727
|
-
"--via": "rgba(164,255,68,0.4)",
|
|
3728
|
-
animationDirection: "reverse",
|
|
3729
|
-
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))",
|
|
3730
|
-
backgroundSize: "200% 100%",
|
|
3731
|
-
mixBlendMode: "difference"
|
|
3732
|
-
}
|
|
3733
|
-
}
|
|
3734
|
-
),
|
|
3735
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3736
|
-
"div",
|
|
3737
|
-
{
|
|
3738
|
-
className: "absolute inset-0 z-[-1]",
|
|
3739
|
-
style: {
|
|
3740
|
-
maskImage,
|
|
3741
|
-
maskComposite: "intersect",
|
|
3742
|
-
animation: "fd-moving-banner 20s linear infinite",
|
|
3743
|
-
"--start": "rgba(255,120,120,0.5)",
|
|
3744
|
-
"--mid": "rgba(36,188,255,0.4)",
|
|
3745
|
-
"--end": "rgba(64,0,255,0.51)",
|
|
3746
|
-
"--via": "rgba(255,89,0,0.56)",
|
|
3747
|
-
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))",
|
|
3748
|
-
backgroundSize: "200% 100%",
|
|
3749
|
-
mixBlendMode: "color-dodge"
|
|
3750
|
-
}
|
|
3751
|
-
}
|
|
3752
|
-
),
|
|
3753
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `@keyframes fd-moving-banner {
|
|
3754
|
-
from { background-position: 0% 0; }
|
|
3755
|
-
to { background-position: 100% 0; }
|
|
3756
|
-
}` })
|
|
3757
|
-
] });
|
|
3758
|
-
|
|
3759
|
-
// src/fuma/mdx/fuma-banner-suit.tsx
|
|
3760
|
-
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3761
|
-
function FumaBannerSuit({ showBanner }) {
|
|
3762
|
-
const t = (0, import_next_intl.useTranslations)("home");
|
|
3763
|
-
const heightValue = showBanner ? 3 : 0.5;
|
|
3764
|
-
const height = `${heightValue}rem`;
|
|
3765
|
-
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: showBanner ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Banner, { variant: "rainbow", changeLayout: true, height: heightValue, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-xl", children: t("banner") }) }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3766
|
-
"div",
|
|
3767
|
-
{
|
|
3768
|
-
className: "fixed top-0 left-0 w-screen z-[1001] m-0 rounded-none bg-neutral-100 dark:bg-neutral-900",
|
|
3769
|
-
style: {
|
|
3770
|
-
height,
|
|
3771
|
-
minHeight: height,
|
|
3772
|
-
maxHeight: height
|
|
3773
|
-
}
|
|
3774
|
-
}
|
|
3775
|
-
) });
|
|
3776
|
-
}
|
|
3777
|
-
|
|
3778
|
-
// src/fuma/mdx/fuma-github-info.tsx
|
|
3779
|
-
var import_react40 = require("react");
|
|
3780
|
-
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3781
3611
|
function GitHubInfoSkeleton({ owner, repo, className }) {
|
|
3782
|
-
return /* @__PURE__ */ (0,
|
|
3783
|
-
/* @__PURE__ */ (0,
|
|
3784
|
-
/* @__PURE__ */ (0,
|
|
3785
|
-
/* @__PURE__ */ (0,
|
|
3612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: `flex flex-col gap-1.5 p-2 rounded-lg text-sm text-fd-foreground/80 lg:flex-row lg:items-center animate-pulse ${className}`, children: [
|
|
3613
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
3614
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "size-3.5 bg-fd-muted rounded" }),
|
|
3615
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-4 bg-fd-muted rounded w-20" })
|
|
3786
3616
|
] }),
|
|
3787
|
-
/* @__PURE__ */ (0,
|
|
3617
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-3 bg-fd-muted rounded w-8" })
|
|
3788
3618
|
] });
|
|
3789
3619
|
}
|
|
3790
3620
|
function GitHubInfoFallback({ owner, repo, className }) {
|
|
3791
|
-
return /* @__PURE__ */ (0,
|
|
3621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3792
3622
|
"a",
|
|
3793
3623
|
{
|
|
3794
3624
|
href: `https://github.com/${owner}/${repo}`,
|
|
@@ -3796,17 +3626,17 @@ function GitHubInfoFallback({ owner, repo, className }) {
|
|
|
3796
3626
|
target: "_blank",
|
|
3797
3627
|
className: `flex flex-col gap-1.5 p-2 rounded-lg text-sm text-fd-foreground/80 transition-colors lg:flex-row lg:items-center hover:text-fd-accent-foreground hover:bg-fd-accent ${className}`,
|
|
3798
3628
|
children: [
|
|
3799
|
-
/* @__PURE__ */ (0,
|
|
3800
|
-
/* @__PURE__ */ (0,
|
|
3801
|
-
/* @__PURE__ */ (0,
|
|
3802
|
-
/* @__PURE__ */ (0,
|
|
3629
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("p", { className: "flex items-center gap-2 truncate", children: [
|
|
3630
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("svg", { fill: "currentColor", viewBox: "0 0 24 24", className: "size-3.5", children: [
|
|
3631
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("title", { children: "GitHub" }),
|
|
3632
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })
|
|
3803
3633
|
] }),
|
|
3804
3634
|
owner,
|
|
3805
3635
|
"/",
|
|
3806
3636
|
repo
|
|
3807
3637
|
] }),
|
|
3808
|
-
/* @__PURE__ */ (0,
|
|
3809
|
-
/* @__PURE__ */ (0,
|
|
3638
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("p", { className: "flex text-xs items-center gap-1 text-fd-muted-foreground", children: [
|
|
3639
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.ExternalLink, { className: "size-3" }),
|
|
3810
3640
|
"GitHub"
|
|
3811
3641
|
] })
|
|
3812
3642
|
]
|
|
@@ -3820,7 +3650,7 @@ function GitHubInfoSuccess({
|
|
|
3820
3650
|
className
|
|
3821
3651
|
}) {
|
|
3822
3652
|
const humanizedStars = humanizeNumber(stars);
|
|
3823
|
-
return /* @__PURE__ */ (0,
|
|
3653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3824
3654
|
"a",
|
|
3825
3655
|
{
|
|
3826
3656
|
href: `https://github.com/${owner}/${repo}`,
|
|
@@ -3828,17 +3658,17 @@ function GitHubInfoSuccess({
|
|
|
3828
3658
|
target: "_blank",
|
|
3829
3659
|
className: `flex flex-col gap-1.5 p-2 rounded-lg text-sm text-fd-foreground/80 transition-colors lg:flex-row lg:items-center hover:text-fd-accent-foreground hover:bg-fd-accent ${className}`,
|
|
3830
3660
|
children: [
|
|
3831
|
-
/* @__PURE__ */ (0,
|
|
3832
|
-
/* @__PURE__ */ (0,
|
|
3833
|
-
/* @__PURE__ */ (0,
|
|
3834
|
-
/* @__PURE__ */ (0,
|
|
3661
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("p", { className: "flex items-center gap-2 truncate", children: [
|
|
3662
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("svg", { fill: "currentColor", viewBox: "0 0 24 24", className: "size-3.5", children: [
|
|
3663
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("title", { children: "GitHub" }),
|
|
3664
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })
|
|
3835
3665
|
] }),
|
|
3836
3666
|
owner,
|
|
3837
3667
|
"/",
|
|
3838
3668
|
repo
|
|
3839
3669
|
] }),
|
|
3840
|
-
/* @__PURE__ */ (0,
|
|
3841
|
-
/* @__PURE__ */ (0,
|
|
3670
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("p", { className: "flex text-xs items-center gap-1 text-fd-muted-foreground", children: [
|
|
3671
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.Star, { className: "size-3" }),
|
|
3842
3672
|
humanizedStars
|
|
3843
3673
|
] })
|
|
3844
3674
|
]
|
|
@@ -3860,10 +3690,10 @@ function humanizeNumber(num) {
|
|
|
3860
3690
|
return num.toString();
|
|
3861
3691
|
}
|
|
3862
3692
|
function FumaGithubInfo({ owner, repo, token, className }) {
|
|
3863
|
-
const [data, setData] = (0,
|
|
3864
|
-
const [loading, setLoading] = (0,
|
|
3865
|
-
const [error, setError] = (0,
|
|
3866
|
-
(0,
|
|
3693
|
+
const [data, setData] = (0, import_react39.useState)(null);
|
|
3694
|
+
const [loading, setLoading] = (0, import_react39.useState)(true);
|
|
3695
|
+
const [error, setError] = (0, import_react39.useState)(null);
|
|
3696
|
+
(0, import_react39.useEffect)(() => {
|
|
3867
3697
|
const fetchRepoData = () => __async(null, null, function* () {
|
|
3868
3698
|
try {
|
|
3869
3699
|
setLoading(true);
|
|
@@ -3907,12 +3737,12 @@ function FumaGithubInfo({ owner, repo, token, className }) {
|
|
|
3907
3737
|
fetchRepoData();
|
|
3908
3738
|
}, [owner, repo, token]);
|
|
3909
3739
|
if (loading) {
|
|
3910
|
-
return /* @__PURE__ */ (0,
|
|
3740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GitHubInfoSkeleton, { owner, repo, className });
|
|
3911
3741
|
}
|
|
3912
3742
|
if (error || !data) {
|
|
3913
|
-
return /* @__PURE__ */ (0,
|
|
3743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GitHubInfoFallback, { owner, repo, className });
|
|
3914
3744
|
}
|
|
3915
|
-
return /* @__PURE__ */ (0,
|
|
3745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3916
3746
|
GitHubInfoSuccess,
|
|
3917
3747
|
{
|
|
3918
3748
|
owner,
|
|
@@ -3923,60 +3753,17 @@ function FumaGithubInfo({ owner, repo, token, className }) {
|
|
|
3923
3753
|
);
|
|
3924
3754
|
}
|
|
3925
3755
|
|
|
3926
|
-
// src/fuma/mdx/site-x.tsx
|
|
3927
|
-
var import_next_intl2 = require("next-intl");
|
|
3928
|
-
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3929
|
-
function SiteX(_a) {
|
|
3930
|
-
var _b = _a, { type, namespace, tKey, className } = _b, props = __objRest(_b, ["type", "namespace", "tKey", "className"]);
|
|
3931
|
-
let ns = namespace;
|
|
3932
|
-
let key = tKey;
|
|
3933
|
-
if (!ns) {
|
|
3934
|
-
ns = type === "site" ? "home" : "footer";
|
|
3935
|
-
}
|
|
3936
|
-
if (!key) {
|
|
3937
|
-
key = type === "site" ? "title" : "email";
|
|
3938
|
-
}
|
|
3939
|
-
const t = (0, import_next_intl2.useTranslations)(ns);
|
|
3940
|
-
const text = t(key, { defaultValue: type === "site" ? "Site----" : "----@example.com" });
|
|
3941
|
-
if (type === "site") {
|
|
3942
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3943
|
-
"strong",
|
|
3944
|
-
__spreadProps(__spreadValues({}, props), {
|
|
3945
|
-
className: cn(
|
|
3946
|
-
"font-extrabold text-sm",
|
|
3947
|
-
className
|
|
3948
|
-
),
|
|
3949
|
-
children: text
|
|
3950
|
-
})
|
|
3951
|
-
);
|
|
3952
|
-
}
|
|
3953
|
-
if (type === "email") {
|
|
3954
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3955
|
-
"a",
|
|
3956
|
-
__spreadProps(__spreadValues({}, props), {
|
|
3957
|
-
href: `mailto:${text}`,
|
|
3958
|
-
className: cn(
|
|
3959
|
-
"font-mono underline text-sm",
|
|
3960
|
-
className
|
|
3961
|
-
),
|
|
3962
|
-
children: text
|
|
3963
|
-
})
|
|
3964
|
-
);
|
|
3965
|
-
}
|
|
3966
|
-
return null;
|
|
3967
|
-
}
|
|
3968
|
-
|
|
3969
3756
|
// src/fuma/mdx/zia-file.tsx
|
|
3970
|
-
var
|
|
3757
|
+
var import_react40 = require("react");
|
|
3971
3758
|
var import_collapsible = require("fumadocs-ui/components/ui/collapsible");
|
|
3972
3759
|
var import_link5 = __toESM(require("next/link"));
|
|
3973
|
-
var
|
|
3760
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3974
3761
|
var itemVariants = "flex flex-row items-center gap-2 rounded-md px-2 py-1.5 text-sm hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4";
|
|
3975
3762
|
var anotionClass = "ms-2 px-2 py-0.5 rounded text-xs font-semibold bg-fd-accent/80 text-fd-accent-foreground dark:bg-white/20 dark:text-white";
|
|
3976
3763
|
function ZiaFile(_a) {
|
|
3977
3764
|
var _b = _a, {
|
|
3978
3765
|
name,
|
|
3979
|
-
icon = /* @__PURE__ */ (0,
|
|
3766
|
+
icon = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.File, {}),
|
|
3980
3767
|
className,
|
|
3981
3768
|
anotion,
|
|
3982
3769
|
href
|
|
@@ -3990,16 +3777,16 @@ function ZiaFile(_a) {
|
|
|
3990
3777
|
const validHref = typeof href === "string" && href.trim() !== "";
|
|
3991
3778
|
const validAnotion = typeof anotion === "string" && anotion.trim() !== "";
|
|
3992
3779
|
if (validHref) {
|
|
3993
|
-
return /* @__PURE__ */ (0,
|
|
3780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_link5.default, { href, className: cn(itemVariants, className), children: [
|
|
3994
3781
|
icon,
|
|
3995
|
-
/* @__PURE__ */ (0,
|
|
3996
|
-
validAnotion && /* @__PURE__ */ (0,
|
|
3782
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: name }),
|
|
3783
|
+
validAnotion && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: anotionClass, children: anotion })
|
|
3997
3784
|
] });
|
|
3998
3785
|
}
|
|
3999
|
-
return /* @__PURE__ */ (0,
|
|
3786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", __spreadProps(__spreadValues({ className: cn(itemVariants, className) }, rest), { children: [
|
|
4000
3787
|
icon,
|
|
4001
|
-
/* @__PURE__ */ (0,
|
|
4002
|
-
validAnotion && /* @__PURE__ */ (0,
|
|
3788
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: name }),
|
|
3789
|
+
validAnotion && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: anotionClass, children: anotion })
|
|
4003
3790
|
] }));
|
|
4004
3791
|
}
|
|
4005
3792
|
function ZiaFolder(_a) {
|
|
@@ -4016,32 +3803,31 @@ function ZiaFolder(_a) {
|
|
|
4016
3803
|
"className",
|
|
4017
3804
|
"children"
|
|
4018
3805
|
]);
|
|
4019
|
-
const [open, setOpen] = (0,
|
|
3806
|
+
const [open, setOpen] = (0, import_react40.useState)(defaultOpen);
|
|
4020
3807
|
const validAnotion = typeof anotion === "string" && anotion.trim() !== "";
|
|
4021
|
-
return /* @__PURE__ */ (0,
|
|
4022
|
-
/* @__PURE__ */ (0,
|
|
4023
|
-
open ? /* @__PURE__ */ (0,
|
|
4024
|
-
/* @__PURE__ */ (0,
|
|
4025
|
-
validAnotion && /* @__PURE__ */ (0,
|
|
3808
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_collapsible.Collapsible, __spreadProps(__spreadValues({ open, onOpenChange: setOpen }, props), { children: [
|
|
3809
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_collapsible.CollapsibleTrigger, { className: cn(itemVariants, className, "w-full"), children: [
|
|
3810
|
+
open ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.FolderOpen, {}) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.Folder, {}),
|
|
3811
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: name }),
|
|
3812
|
+
validAnotion && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: anotionClass, children: anotion })
|
|
4026
3813
|
] }),
|
|
4027
|
-
/* @__PURE__ */ (0,
|
|
3814
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_collapsible.CollapsibleContent, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "ms-2 flex flex-col border-l ps-2", children }) })
|
|
4028
3815
|
] }));
|
|
4029
3816
|
}
|
|
4030
3817
|
|
|
4031
3818
|
// src/fuma/mdx/toc-footer-wrapper.tsx
|
|
4032
|
-
var
|
|
3819
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4033
3820
|
function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonComponent }) {
|
|
4034
3821
|
const showEdit = githubBaseUrl && editPath;
|
|
4035
|
-
return /* @__PURE__ */ (0,
|
|
4036
|
-
/* @__PURE__ */ (0,
|
|
3822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-col gap-y-2 items-start m-4", children: [
|
|
3823
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LastUpdatedDate, { date: lastModified }),
|
|
4037
3824
|
copyButtonComponent,
|
|
4038
|
-
showEdit && /* @__PURE__ */ (0,
|
|
3825
|
+
showEdit && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(EditOnGitHub, { url: `${githubBaseUrl}${editPath}` })
|
|
4039
3826
|
] });
|
|
4040
3827
|
}
|
|
4041
3828
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4042
3829
|
0 && (module.exports = {
|
|
4043
3830
|
EditOnGitHub,
|
|
4044
|
-
FumaBannerSuit,
|
|
4045
3831
|
FumaGithubInfo,
|
|
4046
3832
|
GradientButton,
|
|
4047
3833
|
ImageGrid,
|
|
@@ -4049,7 +3835,6 @@ function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonCom
|
|
|
4049
3835
|
LLMCopyButton,
|
|
4050
3836
|
LastUpdatedDate,
|
|
4051
3837
|
Mermaid,
|
|
4052
|
-
SiteX,
|
|
4053
3838
|
TocFooterWrapper,
|
|
4054
3839
|
TrophyCard,
|
|
4055
3840
|
ZiaCard,
|