@windrun-huaiin/third-ui 5.14.1 → 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 +49 -263
- package/dist/fuma/mdx/index.js.map +1 -1
- package/dist/fuma/mdx/index.mjs +50 -262
- 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/mermaid.tsx +3 -1
- 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,
|
|
@@ -2800,8 +2798,9 @@ function Mermaid({ chart, title, watermarkEnabled, watermarkText, enablePreview
|
|
|
2800
2798
|
const delta = e.deltaY > 0 ? -0.1 : 0.1;
|
|
2801
2799
|
setScale((prev) => clamp(prev + delta, 0.25, 10));
|
|
2802
2800
|
} else {
|
|
2801
|
+
e.preventDefault();
|
|
2803
2802
|
e.stopPropagation();
|
|
2804
|
-
setTranslate((prev) => ({ x: prev.x, y: prev.y - e.deltaY }));
|
|
2803
|
+
setTranslate((prev) => ({ x: prev.x - e.deltaX, y: prev.y - e.deltaY }));
|
|
2805
2804
|
}
|
|
2806
2805
|
}, []);
|
|
2807
2806
|
const onPointerDown = (0, import_react35.useCallback)((e) => {
|
|
@@ -3606,188 +3605,20 @@ function LastUpdatedDate({ date }) {
|
|
|
3606
3605
|
] });
|
|
3607
3606
|
}
|
|
3608
3607
|
|
|
3609
|
-
// src/fuma/mdx/fuma-
|
|
3610
|
-
var import_next_intl = require("next-intl");
|
|
3611
|
-
|
|
3612
|
-
// src/fuma/mdx/banner.tsx
|
|
3613
|
-
var import_class_variance_authority2 = require("class-variance-authority");
|
|
3608
|
+
// src/fuma/mdx/fuma-github-info.tsx
|
|
3614
3609
|
var import_react39 = require("react");
|
|
3615
3610
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3616
|
-
var buttonVariants2 = (0, import_class_variance_authority2.cva)(
|
|
3617
|
-
"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",
|
|
3618
|
-
{
|
|
3619
|
-
variants: {
|
|
3620
|
-
color: {
|
|
3621
|
-
primary: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
3622
|
-
outline: "border hover:bg-accent hover:text-accent-foreground",
|
|
3623
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
3624
|
-
secondary: "border bg-secondary text-secondary-foreground hover:bg-accent hover:text-accent-foreground"
|
|
3625
|
-
},
|
|
3626
|
-
size: {
|
|
3627
|
-
sm: "gap-1 px-2 py-1.5 text-xs",
|
|
3628
|
-
icon: "p-1.5 [&_svg]:size-5",
|
|
3629
|
-
"icon-sm": "p-1.5 [&_svg]:size-4.5"
|
|
3630
|
-
}
|
|
3631
|
-
}
|
|
3632
|
-
}
|
|
3633
|
-
);
|
|
3634
|
-
function Banner(_a) {
|
|
3635
|
-
var _b = _a, {
|
|
3636
|
-
id,
|
|
3637
|
-
variant = "rainbow",
|
|
3638
|
-
changeLayout = true,
|
|
3639
|
-
height = 3
|
|
3640
|
-
} = _b, props = __objRest(_b, [
|
|
3641
|
-
"id",
|
|
3642
|
-
"variant",
|
|
3643
|
-
"changeLayout",
|
|
3644
|
-
"height"
|
|
3645
|
-
]);
|
|
3646
|
-
const [open, setOpen] = (0, import_react39.useState)(true);
|
|
3647
|
-
const globalKey = id ? `nd-banner-${id}` : null;
|
|
3648
|
-
const bannerHeight = `${height}rem`;
|
|
3649
|
-
const headerStartHeight = `${height + 5.5}rem`;
|
|
3650
|
-
(0, import_react39.useEffect)(() => {
|
|
3651
|
-
if (globalKey) setOpen(localStorage.getItem(globalKey) !== "true");
|
|
3652
|
-
}, [globalKey]);
|
|
3653
|
-
if (!open) return null;
|
|
3654
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3655
|
-
"div",
|
|
3656
|
-
__spreadProps(__spreadValues({
|
|
3657
|
-
id
|
|
3658
|
-
}, props), {
|
|
3659
|
-
className: cn(
|
|
3660
|
-
"flex flex-row items-center justify-center px-4 text-center text-sm font-medium",
|
|
3661
|
-
"bg-neutral-100 dark:bg-neutral-900",
|
|
3662
|
-
!open && "hidden",
|
|
3663
|
-
props.className
|
|
3664
|
-
),
|
|
3665
|
-
style: {
|
|
3666
|
-
// 将 fuma.css 中的 .sticky.top-0.z-40 样式完全移到这里
|
|
3667
|
-
position: "fixed",
|
|
3668
|
-
top: 0,
|
|
3669
|
-
left: 0,
|
|
3670
|
-
width: "100vw",
|
|
3671
|
-
zIndex: 1001,
|
|
3672
|
-
height: bannerHeight,
|
|
3673
|
-
minHeight: bannerHeight,
|
|
3674
|
-
maxHeight: bannerHeight,
|
|
3675
|
-
margin: 0,
|
|
3676
|
-
borderRadius: 0
|
|
3677
|
-
},
|
|
3678
|
-
children: [
|
|
3679
|
-
globalKey ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `.${globalKey} #${id} { display: none; }` }) : null,
|
|
3680
|
-
globalKey ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3681
|
-
"script",
|
|
3682
|
-
{
|
|
3683
|
-
dangerouslySetInnerHTML: {
|
|
3684
|
-
__html: `if (localStorage.getItem('${globalKey}') === 'true') document.documentElement.classList.add('${globalKey}');`
|
|
3685
|
-
}
|
|
3686
|
-
}
|
|
3687
|
-
) : null,
|
|
3688
|
-
variant === "rainbow" ? rainbowLayer : null,
|
|
3689
|
-
props.children,
|
|
3690
|
-
id ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3691
|
-
"button",
|
|
3692
|
-
{
|
|
3693
|
-
type: "button",
|
|
3694
|
-
"aria-label": "Close Banner",
|
|
3695
|
-
onClick: () => {
|
|
3696
|
-
setOpen(false);
|
|
3697
|
-
if (globalKey) localStorage.setItem(globalKey, "true");
|
|
3698
|
-
},
|
|
3699
|
-
className: cn(
|
|
3700
|
-
buttonVariants2({
|
|
3701
|
-
color: "ghost",
|
|
3702
|
-
className: "absolute end-2 top-1/2 -translate-y-1/2 text-neutral-600 dark:text-neutral-400",
|
|
3703
|
-
size: "icon"
|
|
3704
|
-
})
|
|
3705
|
-
),
|
|
3706
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(globalLucideIcons.X, {})
|
|
3707
|
-
}
|
|
3708
|
-
) : null
|
|
3709
|
-
]
|
|
3710
|
-
})
|
|
3711
|
-
);
|
|
3712
|
-
}
|
|
3713
|
-
var maskImage = "linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)";
|
|
3714
|
-
var rainbowLayer = /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
3715
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3716
|
-
"div",
|
|
3717
|
-
{
|
|
3718
|
-
className: "absolute inset-0 z-[-1]",
|
|
3719
|
-
style: {
|
|
3720
|
-
maskImage,
|
|
3721
|
-
maskComposite: "intersect",
|
|
3722
|
-
animation: "fd-moving-banner 16s linear infinite",
|
|
3723
|
-
"--start": "rgba(0,87,255,0.5)",
|
|
3724
|
-
"--mid": "rgba(255,0,166,0.77)",
|
|
3725
|
-
"--end": "rgba(255,77,0,0.4)",
|
|
3726
|
-
"--via": "rgba(164,255,68,0.4)",
|
|
3727
|
-
animationDirection: "reverse",
|
|
3728
|
-
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))",
|
|
3729
|
-
backgroundSize: "200% 100%",
|
|
3730
|
-
mixBlendMode: "difference"
|
|
3731
|
-
}
|
|
3732
|
-
}
|
|
3733
|
-
),
|
|
3734
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3735
|
-
"div",
|
|
3736
|
-
{
|
|
3737
|
-
className: "absolute inset-0 z-[-1]",
|
|
3738
|
-
style: {
|
|
3739
|
-
maskImage,
|
|
3740
|
-
maskComposite: "intersect",
|
|
3741
|
-
animation: "fd-moving-banner 20s linear infinite",
|
|
3742
|
-
"--start": "rgba(255,120,120,0.5)",
|
|
3743
|
-
"--mid": "rgba(36,188,255,0.4)",
|
|
3744
|
-
"--end": "rgba(64,0,255,0.51)",
|
|
3745
|
-
"--via": "rgba(255,89,0,0.56)",
|
|
3746
|
-
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))",
|
|
3747
|
-
backgroundSize: "200% 100%",
|
|
3748
|
-
mixBlendMode: "color-dodge"
|
|
3749
|
-
}
|
|
3750
|
-
}
|
|
3751
|
-
),
|
|
3752
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `@keyframes fd-moving-banner {
|
|
3753
|
-
from { background-position: 0% 0; }
|
|
3754
|
-
to { background-position: 100% 0; }
|
|
3755
|
-
}` })
|
|
3756
|
-
] });
|
|
3757
|
-
|
|
3758
|
-
// src/fuma/mdx/fuma-banner-suit.tsx
|
|
3759
|
-
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3760
|
-
function FumaBannerSuit({ showBanner }) {
|
|
3761
|
-
const t = (0, import_next_intl.useTranslations)("home");
|
|
3762
|
-
const heightValue = showBanner ? 3 : 0.5;
|
|
3763
|
-
const height = `${heightValue}rem`;
|
|
3764
|
-
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)(
|
|
3765
|
-
"div",
|
|
3766
|
-
{
|
|
3767
|
-
className: "fixed top-0 left-0 w-screen z-[1001] m-0 rounded-none bg-neutral-100 dark:bg-neutral-900",
|
|
3768
|
-
style: {
|
|
3769
|
-
height,
|
|
3770
|
-
minHeight: height,
|
|
3771
|
-
maxHeight: height
|
|
3772
|
-
}
|
|
3773
|
-
}
|
|
3774
|
-
) });
|
|
3775
|
-
}
|
|
3776
|
-
|
|
3777
|
-
// src/fuma/mdx/fuma-github-info.tsx
|
|
3778
|
-
var import_react40 = require("react");
|
|
3779
|
-
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3780
3611
|
function GitHubInfoSkeleton({ owner, repo, className }) {
|
|
3781
|
-
return /* @__PURE__ */ (0,
|
|
3782
|
-
/* @__PURE__ */ (0,
|
|
3783
|
-
/* @__PURE__ */ (0,
|
|
3784
|
-
/* @__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" })
|
|
3785
3616
|
] }),
|
|
3786
|
-
/* @__PURE__ */ (0,
|
|
3617
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-3 bg-fd-muted rounded w-8" })
|
|
3787
3618
|
] });
|
|
3788
3619
|
}
|
|
3789
3620
|
function GitHubInfoFallback({ owner, repo, className }) {
|
|
3790
|
-
return /* @__PURE__ */ (0,
|
|
3621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3791
3622
|
"a",
|
|
3792
3623
|
{
|
|
3793
3624
|
href: `https://github.com/${owner}/${repo}`,
|
|
@@ -3795,17 +3626,17 @@ function GitHubInfoFallback({ owner, repo, className }) {
|
|
|
3795
3626
|
target: "_blank",
|
|
3796
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}`,
|
|
3797
3628
|
children: [
|
|
3798
|
-
/* @__PURE__ */ (0,
|
|
3799
|
-
/* @__PURE__ */ (0,
|
|
3800
|
-
/* @__PURE__ */ (0,
|
|
3801
|
-
/* @__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" })
|
|
3802
3633
|
] }),
|
|
3803
3634
|
owner,
|
|
3804
3635
|
"/",
|
|
3805
3636
|
repo
|
|
3806
3637
|
] }),
|
|
3807
|
-
/* @__PURE__ */ (0,
|
|
3808
|
-
/* @__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" }),
|
|
3809
3640
|
"GitHub"
|
|
3810
3641
|
] })
|
|
3811
3642
|
]
|
|
@@ -3819,7 +3650,7 @@ function GitHubInfoSuccess({
|
|
|
3819
3650
|
className
|
|
3820
3651
|
}) {
|
|
3821
3652
|
const humanizedStars = humanizeNumber(stars);
|
|
3822
|
-
return /* @__PURE__ */ (0,
|
|
3653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3823
3654
|
"a",
|
|
3824
3655
|
{
|
|
3825
3656
|
href: `https://github.com/${owner}/${repo}`,
|
|
@@ -3827,17 +3658,17 @@ function GitHubInfoSuccess({
|
|
|
3827
3658
|
target: "_blank",
|
|
3828
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}`,
|
|
3829
3660
|
children: [
|
|
3830
|
-
/* @__PURE__ */ (0,
|
|
3831
|
-
/* @__PURE__ */ (0,
|
|
3832
|
-
/* @__PURE__ */ (0,
|
|
3833
|
-
/* @__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" })
|
|
3834
3665
|
] }),
|
|
3835
3666
|
owner,
|
|
3836
3667
|
"/",
|
|
3837
3668
|
repo
|
|
3838
3669
|
] }),
|
|
3839
|
-
/* @__PURE__ */ (0,
|
|
3840
|
-
/* @__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" }),
|
|
3841
3672
|
humanizedStars
|
|
3842
3673
|
] })
|
|
3843
3674
|
]
|
|
@@ -3859,10 +3690,10 @@ function humanizeNumber(num) {
|
|
|
3859
3690
|
return num.toString();
|
|
3860
3691
|
}
|
|
3861
3692
|
function FumaGithubInfo({ owner, repo, token, className }) {
|
|
3862
|
-
const [data, setData] = (0,
|
|
3863
|
-
const [loading, setLoading] = (0,
|
|
3864
|
-
const [error, setError] = (0,
|
|
3865
|
-
(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)(() => {
|
|
3866
3697
|
const fetchRepoData = () => __async(null, null, function* () {
|
|
3867
3698
|
try {
|
|
3868
3699
|
setLoading(true);
|
|
@@ -3906,12 +3737,12 @@ function FumaGithubInfo({ owner, repo, token, className }) {
|
|
|
3906
3737
|
fetchRepoData();
|
|
3907
3738
|
}, [owner, repo, token]);
|
|
3908
3739
|
if (loading) {
|
|
3909
|
-
return /* @__PURE__ */ (0,
|
|
3740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GitHubInfoSkeleton, { owner, repo, className });
|
|
3910
3741
|
}
|
|
3911
3742
|
if (error || !data) {
|
|
3912
|
-
return /* @__PURE__ */ (0,
|
|
3743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GitHubInfoFallback, { owner, repo, className });
|
|
3913
3744
|
}
|
|
3914
|
-
return /* @__PURE__ */ (0,
|
|
3745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3915
3746
|
GitHubInfoSuccess,
|
|
3916
3747
|
{
|
|
3917
3748
|
owner,
|
|
@@ -3922,60 +3753,17 @@ function FumaGithubInfo({ owner, repo, token, className }) {
|
|
|
3922
3753
|
);
|
|
3923
3754
|
}
|
|
3924
3755
|
|
|
3925
|
-
// src/fuma/mdx/site-x.tsx
|
|
3926
|
-
var import_next_intl2 = require("next-intl");
|
|
3927
|
-
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3928
|
-
function SiteX(_a) {
|
|
3929
|
-
var _b = _a, { type, namespace, tKey, className } = _b, props = __objRest(_b, ["type", "namespace", "tKey", "className"]);
|
|
3930
|
-
let ns = namespace;
|
|
3931
|
-
let key = tKey;
|
|
3932
|
-
if (!ns) {
|
|
3933
|
-
ns = type === "site" ? "home" : "footer";
|
|
3934
|
-
}
|
|
3935
|
-
if (!key) {
|
|
3936
|
-
key = type === "site" ? "title" : "email";
|
|
3937
|
-
}
|
|
3938
|
-
const t = (0, import_next_intl2.useTranslations)(ns);
|
|
3939
|
-
const text = t(key, { defaultValue: type === "site" ? "Site----" : "----@example.com" });
|
|
3940
|
-
if (type === "site") {
|
|
3941
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3942
|
-
"strong",
|
|
3943
|
-
__spreadProps(__spreadValues({}, props), {
|
|
3944
|
-
className: cn(
|
|
3945
|
-
"font-extrabold text-sm",
|
|
3946
|
-
className
|
|
3947
|
-
),
|
|
3948
|
-
children: text
|
|
3949
|
-
})
|
|
3950
|
-
);
|
|
3951
|
-
}
|
|
3952
|
-
if (type === "email") {
|
|
3953
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3954
|
-
"a",
|
|
3955
|
-
__spreadProps(__spreadValues({}, props), {
|
|
3956
|
-
href: `mailto:${text}`,
|
|
3957
|
-
className: cn(
|
|
3958
|
-
"font-mono underline text-sm",
|
|
3959
|
-
className
|
|
3960
|
-
),
|
|
3961
|
-
children: text
|
|
3962
|
-
})
|
|
3963
|
-
);
|
|
3964
|
-
}
|
|
3965
|
-
return null;
|
|
3966
|
-
}
|
|
3967
|
-
|
|
3968
3756
|
// src/fuma/mdx/zia-file.tsx
|
|
3969
|
-
var
|
|
3757
|
+
var import_react40 = require("react");
|
|
3970
3758
|
var import_collapsible = require("fumadocs-ui/components/ui/collapsible");
|
|
3971
3759
|
var import_link5 = __toESM(require("next/link"));
|
|
3972
|
-
var
|
|
3760
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3973
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";
|
|
3974
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";
|
|
3975
3763
|
function ZiaFile(_a) {
|
|
3976
3764
|
var _b = _a, {
|
|
3977
3765
|
name,
|
|
3978
|
-
icon = /* @__PURE__ */ (0,
|
|
3766
|
+
icon = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(globalLucideIcons.File, {}),
|
|
3979
3767
|
className,
|
|
3980
3768
|
anotion,
|
|
3981
3769
|
href
|
|
@@ -3989,16 +3777,16 @@ function ZiaFile(_a) {
|
|
|
3989
3777
|
const validHref = typeof href === "string" && href.trim() !== "";
|
|
3990
3778
|
const validAnotion = typeof anotion === "string" && anotion.trim() !== "";
|
|
3991
3779
|
if (validHref) {
|
|
3992
|
-
return /* @__PURE__ */ (0,
|
|
3780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_link5.default, { href, className: cn(itemVariants, className), children: [
|
|
3993
3781
|
icon,
|
|
3994
|
-
/* @__PURE__ */ (0,
|
|
3995
|
-
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 })
|
|
3996
3784
|
] });
|
|
3997
3785
|
}
|
|
3998
|
-
return /* @__PURE__ */ (0,
|
|
3786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", __spreadProps(__spreadValues({ className: cn(itemVariants, className) }, rest), { children: [
|
|
3999
3787
|
icon,
|
|
4000
|
-
/* @__PURE__ */ (0,
|
|
4001
|
-
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 })
|
|
4002
3790
|
] }));
|
|
4003
3791
|
}
|
|
4004
3792
|
function ZiaFolder(_a) {
|
|
@@ -4015,32 +3803,31 @@ function ZiaFolder(_a) {
|
|
|
4015
3803
|
"className",
|
|
4016
3804
|
"children"
|
|
4017
3805
|
]);
|
|
4018
|
-
const [open, setOpen] = (0,
|
|
3806
|
+
const [open, setOpen] = (0, import_react40.useState)(defaultOpen);
|
|
4019
3807
|
const validAnotion = typeof anotion === "string" && anotion.trim() !== "";
|
|
4020
|
-
return /* @__PURE__ */ (0,
|
|
4021
|
-
/* @__PURE__ */ (0,
|
|
4022
|
-
open ? /* @__PURE__ */ (0,
|
|
4023
|
-
/* @__PURE__ */ (0,
|
|
4024
|
-
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 })
|
|
4025
3813
|
] }),
|
|
4026
|
-
/* @__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 }) })
|
|
4027
3815
|
] }));
|
|
4028
3816
|
}
|
|
4029
3817
|
|
|
4030
3818
|
// src/fuma/mdx/toc-footer-wrapper.tsx
|
|
4031
|
-
var
|
|
3819
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4032
3820
|
function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonComponent }) {
|
|
4033
3821
|
const showEdit = githubBaseUrl && editPath;
|
|
4034
|
-
return /* @__PURE__ */ (0,
|
|
4035
|
-
/* @__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 }),
|
|
4036
3824
|
copyButtonComponent,
|
|
4037
|
-
showEdit && /* @__PURE__ */ (0,
|
|
3825
|
+
showEdit && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(EditOnGitHub, { url: `${githubBaseUrl}${editPath}` })
|
|
4038
3826
|
] });
|
|
4039
3827
|
}
|
|
4040
3828
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4041
3829
|
0 && (module.exports = {
|
|
4042
3830
|
EditOnGitHub,
|
|
4043
|
-
FumaBannerSuit,
|
|
4044
3831
|
FumaGithubInfo,
|
|
4045
3832
|
GradientButton,
|
|
4046
3833
|
ImageGrid,
|
|
@@ -4048,7 +3835,6 @@ function TocFooterWrapper({ lastModified, editPath, githubBaseUrl, copyButtonCom
|
|
|
4048
3835
|
LLMCopyButton,
|
|
4049
3836
|
LastUpdatedDate,
|
|
4050
3837
|
Mermaid,
|
|
4051
|
-
SiteX,
|
|
4052
3838
|
TocFooterWrapper,
|
|
4053
3839
|
TrophyCard,
|
|
4054
3840
|
ZiaCard,
|