@windrun-huaiin/third-ui 26.0.0 → 28.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/ai/ai-prompt-textarea.d.ts +72 -0
- package/dist/ai/ai-prompt-textarea.js +114 -0
- package/dist/ai/ai-prompt-textarea.mjs +112 -0
- package/dist/ai/index.d.ts +1 -0
- package/dist/ai/index.js +2 -0
- package/dist/ai/index.mjs +1 -0
- package/dist/clerk/clerk-provider-client.js +0 -1
- package/dist/clerk/clerk-provider-client.mjs +0 -1
- package/dist/clerk/fingerprint/fingerprint-client.js +0 -4
- package/dist/clerk/fingerprint/fingerprint-client.mjs +0 -4
- package/dist/clerk/fingerprint/use-fingerprint.js +0 -6
- package/dist/clerk/fingerprint/use-fingerprint.mjs +0 -6
- package/dist/clerk/signin-with-fingerprint-client.js +0 -9
- package/dist/clerk/signin-with-fingerprint-client.mjs +0 -9
- package/dist/clerk/signup-button-with-fingerprint-client.js +0 -16
- package/dist/clerk/signup-button-with-fingerprint-client.mjs +0 -16
- package/dist/clerk/signup-with-fingerprint-client.js +0 -9
- package/dist/clerk/signup-with-fingerprint-client.mjs +0 -9
- package/dist/fuma/base/custom-header.js +10 -8
- package/dist/fuma/base/custom-header.mjs +10 -8
- package/dist/fuma/base/custom-home-layout.d.ts +0 -4
- package/dist/fuma/base/docs-root-provider.d.ts +19 -0
- package/dist/fuma/base/docs-root-provider.js +17 -0
- package/dist/fuma/base/docs-root-provider.mjs +15 -0
- package/dist/fuma/base/index.d.ts +5 -0
- package/dist/fuma/base/index.js +16 -7
- package/dist/fuma/base/index.mjs +5 -1
- package/dist/fuma/base/nav-config.d.ts +10 -0
- package/dist/fuma/base/nav-config.js +32 -0
- package/dist/fuma/base/nav-config.mjs +28 -0
- package/dist/fuma/base/site-docs-layout.d.ts +11 -0
- package/dist/fuma/base/site-docs-layout.js +15 -0
- package/dist/fuma/base/site-docs-layout.mjs +13 -0
- package/dist/fuma/base/site-home-layout.d.ts +24 -0
- package/dist/fuma/base/site-home-layout.js +16 -0
- package/dist/fuma/base/site-home-layout.mjs +14 -0
- package/dist/fuma/base/site-layout-shared.d.ts +89 -0
- package/dist/fuma/base/site-layout-shared.js +48 -0
- package/dist/fuma/base/site-layout-shared.mjs +42 -0
- package/dist/fuma/base/site-layout.d.ts +4 -116
- package/dist/fuma/base/site-layout.js +2 -2
- package/dist/fuma/base/site-layout.mjs +2 -2
- package/dist/fuma/fuma-page-genarator.d.ts +1 -1
- package/dist/fuma/fuma-page-genarator.js +65 -10
- package/dist/fuma/fuma-page-genarator.mjs +61 -6
- package/dist/fuma/llm-copy-handler.js +0 -9
- package/dist/fuma/llm-copy-handler.mjs +0 -9
- package/dist/fuma/mdx/index.d.ts +0 -1
- package/dist/fuma/mdx/index.js +0 -2
- package/dist/fuma/mdx/index.mjs +0 -1
- package/dist/fuma/mdx/suno-embed.js +3 -1
- package/dist/fuma/mdx/suno-embed.mjs +3 -1
- package/dist/fuma/mdx/toc-base.js +0 -1
- package/dist/fuma/mdx/toc-base.mjs +0 -1
- package/dist/fuma/server/features/widgets.js +5 -1
- package/dist/fuma/server/features/widgets.mjs +5 -1
- package/dist/fuma/server/llm-copy-handler.d.ts +2 -0
- package/dist/fuma/server/llm-copy-handler.js +7 -0
- package/dist/fuma/server/llm-copy-handler.mjs +1 -0
- package/dist/fuma/server/page-generator.d.ts +2 -0
- package/dist/fuma/server/page-generator.js +7 -0
- package/dist/fuma/server/page-generator.mjs +1 -0
- package/dist/lib/seo-metadata.js +3 -3
- package/dist/lib/seo-metadata.mjs +1 -1
- package/dist/lib/seo-util.js +4 -4
- package/dist/lib/seo-util.mjs +1 -1
- package/dist/lib/site-docs-helper.d.ts +51 -0
- package/dist/lib/site-docs-helper.js +68 -0
- package/dist/lib/site-docs-helper.mjs +66 -0
- package/dist/main/alert-dialog/index.js +14 -0
- package/dist/main/alert-dialog/index.mjs +5 -0
- package/dist/main/buttons/gradient-button.d.ts +20 -0
- package/dist/main/buttons/gradient-button.js +88 -0
- package/dist/main/buttons/gradient-button.mjs +86 -0
- package/dist/main/buttons/index.d.ts +3 -0
- package/dist/main/buttons/index.js +12 -0
- package/dist/main/buttons/index.mjs +4 -0
- package/dist/main/buttons/x-button.d.ts +39 -0
- package/dist/main/buttons/x-button.js +92 -0
- package/dist/main/buttons/x-button.mjs +90 -0
- package/dist/main/buttons/x-toggle-button.d.ts +32 -0
- package/dist/main/buttons/x-toggle-button.js +95 -0
- package/dist/main/buttons/x-toggle-button.mjs +74 -0
- package/dist/main/credit/credit-nav-button.js +25 -1
- package/dist/main/credit/credit-nav-button.mjs +25 -1
- package/dist/main/credit/credit-overview-client.js +3 -2
- package/dist/main/credit/credit-overview-client.mjs +3 -2
- package/dist/main/credit/index.d.ts +4 -0
- package/dist/main/credit/index.js +10 -0
- package/dist/main/credit/index.mjs +3 -0
- package/dist/main/credit/server.d.ts +2 -0
- package/dist/main/credit/server.js +7 -0
- package/dist/main/credit/server.mjs +1 -0
- package/dist/main/cta.js +4 -2
- package/dist/main/cta.mjs +4 -2
- package/dist/main/footer.js +3 -3
- package/dist/main/footer.mjs +1 -1
- package/dist/main/hero/index.d.ts +2 -0
- package/dist/main/hero/index.js +10 -0
- package/dist/main/hero/index.mjs +3 -0
- package/dist/main/home/server.d.ts +7 -0
- package/dist/main/home/server.js +19 -0
- package/dist/main/home/server.mjs +7 -0
- package/dist/main/index.d.ts +0 -15
- package/dist/main/index.js +0 -43
- package/dist/main/index.mjs +0 -21
- package/dist/main/loading/index.d.ts +1 -0
- package/dist/main/loading/index.js +9 -0
- package/dist/main/loading/index.mjs +2 -0
- package/dist/main/loading-frame/index.d.ts +1 -0
- package/dist/main/loading-frame/index.js +9 -0
- package/dist/main/loading-frame/index.mjs +2 -0
- package/dist/main/money-price/index.d.ts +4 -0
- package/dist/main/money-price/index.js +15 -0
- package/dist/main/money-price/index.mjs +4 -0
- package/dist/main/money-price/money-price-button.d.ts +1 -1
- package/dist/main/money-price/money-price-button.js +12 -9
- package/dist/main/money-price/money-price-button.mjs +12 -9
- package/dist/main/money-price/money-price-interactive.d.ts +1 -1
- package/dist/main/money-price/money-price-interactive.js +22 -25
- package/dist/main/money-price/money-price-interactive.mjs +22 -25
- package/dist/main/money-price/money-price-types.d.ts +2 -0
- package/dist/main/money-price/server.d.ts +5 -0
- package/dist/main/money-price/server.js +18 -0
- package/dist/main/money-price/server.mjs +4 -0
- package/package.json +94 -4
- package/src/ai/index.ts +1 -0
- package/src/clerk/clerk-provider-client.tsx +1 -3
- package/src/clerk/fingerprint/fingerprint-client.ts +0 -4
- package/src/clerk/fingerprint/use-fingerprint.ts +0 -6
- package/src/clerk/signin-with-fingerprint-client.tsx +0 -10
- package/src/clerk/signup-button-with-fingerprint-client.tsx +0 -17
- package/src/clerk/signup-with-fingerprint-client.tsx +0 -10
- package/src/fuma/base/custom-header.tsx +12 -8
- package/src/fuma/base/custom-home-layout.tsx +3 -6
- package/src/fuma/base/docs-root-provider.tsx +58 -0
- package/src/fuma/base/index.ts +5 -0
- package/src/fuma/base/nav-config.ts +81 -0
- package/src/fuma/base/site-docs-layout.tsx +35 -0
- package/src/fuma/base/site-home-layout.tsx +78 -0
- package/src/fuma/base/site-layout-shared.tsx +190 -0
- package/src/fuma/base/site-layout.tsx +4 -289
- package/src/fuma/fuma-banner-suit.tsx +1 -1
- package/src/fuma/fuma-page-genarator.tsx +61 -8
- package/src/fuma/llm-copy-handler.ts +0 -11
- package/src/fuma/mdx/index.ts +0 -1
- package/src/fuma/mdx/suno-embed.tsx +1 -1
- package/src/fuma/mdx/toc-base.tsx +0 -1
- package/src/fuma/mdx/toc-footer-wrapper.tsx +2 -2
- package/src/fuma/server/features/widgets.tsx +1 -1
- package/src/fuma/server/llm-copy-handler.ts +2 -0
- package/src/fuma/server/page-generator.ts +2 -0
- package/src/lib/seo-metadata.ts +1 -1
- package/src/lib/seo-util.ts +2 -2
- package/src/lib/server.ts +1 -1
- package/src/{fuma/mdx → main/buttons}/gradient-button.tsx +10 -21
- package/src/main/buttons/index.ts +5 -0
- package/src/main/{x-button.tsx → buttons/x-button.tsx} +28 -42
- package/src/main/credit/credit-nav-button.tsx +36 -3
- package/src/main/credit/credit-overview-client.tsx +1 -1
- package/src/main/credit/index.ts +11 -0
- package/src/main/credit/server.ts +7 -0
- package/src/main/cta.tsx +1 -1
- package/src/main/footer.tsx +1 -2
- package/src/main/hero/index.ts +4 -0
- package/src/main/home/server.ts +7 -0
- package/src/main/index.ts +1 -20
- package/src/main/language-detector.tsx +0 -1
- package/src/main/loading/index.ts +3 -0
- package/src/main/loading-frame/index.ts +3 -0
- package/src/main/money-price/index.ts +18 -0
- package/src/main/money-price/money-price-button.tsx +17 -9
- package/src/main/money-price/money-price-interactive.tsx +30 -25
- package/src/main/money-price/money-price-types.ts +2 -0
- package/src/main/money-price/server.ts +22 -0
- package/dist/fuma/mdx/features.d.ts +0 -8
- package/dist/fuma/mdx/features.js +0 -92
- package/dist/fuma/mdx/features.mjs +0 -85
- package/dist/fuma/mdx/image-grid.d.ts +0 -6
- package/dist/fuma/mdx/image-grid.js +0 -17
- package/dist/fuma/mdx/image-grid.mjs +0 -15
- package/dist/fuma/mdx/image-zoom.d.ts +0 -22
- package/dist/fuma/mdx/image-zoom.js +0 -39
- package/dist/fuma/mdx/image-zoom.mjs +0 -37
- package/dist/fuma/mdx/markdown-component-map.d.ts +0 -3
- package/dist/fuma/mdx/markdown-component-map.js +0 -79
- package/dist/fuma/mdx/markdown-component-map.mjs +0 -77
- package/dist/fuma/mdx/math.d.ts +0 -17
- package/dist/fuma/mdx/math.js +0 -60
- package/dist/fuma/mdx/math.mjs +0 -57
- package/dist/fuma/mdx/mermaid.d.ts +0 -13
- package/dist/fuma/mdx/mermaid.js +0 -360
- package/dist/fuma/mdx/mermaid.mjs +0 -358
- package/dist/fuma/mdx/site-mdx-components.d.ts +0 -13
- package/dist/fuma/mdx/site-mdx-components.js +0 -19
- package/dist/fuma/mdx/site-mdx-components.mjs +0 -17
- package/dist/fuma/mdx/site-mdx-presets.d.ts +0 -13
- package/dist/fuma/mdx/site-mdx-presets.js +0 -49
- package/dist/fuma/mdx/site-mdx-presets.mjs +0 -45
- package/dist/fuma/server/optional-features.d.ts +0 -6
- package/dist/fuma/server/optional-features.js +0 -17
- package/dist/fuma/server/optional-features.mjs +0 -6
- package/dist/fuma/server/site-mdx-components.d.ts +0 -13
- package/dist/fuma/server/site-mdx-components.js +0 -18
- package/dist/fuma/server/site-mdx-components.mjs +0 -16
- package/dist/fuma/server/site-mdx-presets.d.ts +0 -195
- package/dist/fuma/server/site-mdx-presets.js +0 -55
- package/dist/fuma/server/site-mdx-presets.mjs +0 -52
- /package/src/{main → ai}/ai-prompt-textarea.tsx +0 -0
- /package/src/main/{x-toggle-button.tsx → buttons/x-toggle-button.tsx} +0 -0
|
@@ -21,6 +21,10 @@ import { redirectToCustomerPortal } from './customer-portal';
|
|
|
21
21
|
import { themeButtonGradientClass, themeButtonGradientHoverClass, themeIconColor } from '@windrun-huaiin/base-ui/lib';
|
|
22
22
|
|
|
23
23
|
type BillingType = string;
|
|
24
|
+
type ProcessingTarget = {
|
|
25
|
+
plan: string;
|
|
26
|
+
billing: string;
|
|
27
|
+
} | null;
|
|
24
28
|
|
|
25
29
|
interface BillingOption {
|
|
26
30
|
key: string;
|
|
@@ -43,6 +47,7 @@ export function MoneyPriceInteractive({
|
|
|
43
47
|
initialBillingType,
|
|
44
48
|
disableAutoDetectBilling = false,
|
|
45
49
|
initUserContext,
|
|
50
|
+
isInitLoading = false,
|
|
46
51
|
}: MoneyPriceInteractiveProps) {
|
|
47
52
|
const { redirectToSignIn, redirectToSignUp, user: clerkUser, openSignUp } = useClerk();
|
|
48
53
|
const router = useRouter();
|
|
@@ -144,24 +149,21 @@ export function MoneyPriceInteractive({
|
|
|
144
149
|
priceIdsByCycle,
|
|
145
150
|
]);
|
|
146
151
|
|
|
147
|
-
const
|
|
148
|
-
if (
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return
|
|
152
|
+
const explicitInitialBilling = useMemo<BillingType | null>(() => {
|
|
153
|
+
if (
|
|
154
|
+
initialBillingType &&
|
|
155
|
+
billingOptions.some(option => option.key === initialBillingType)
|
|
156
|
+
) {
|
|
157
|
+
return initialBillingType;
|
|
153
158
|
}
|
|
154
|
-
return
|
|
155
|
-
}, [initialBillingType,
|
|
159
|
+
return null;
|
|
160
|
+
}, [initialBillingType, billingOptions]);
|
|
156
161
|
|
|
157
|
-
const [
|
|
162
|
+
const [userSelectedBillingType, setUserSelectedBillingType] = useState<BillingType | null>(null);
|
|
163
|
+
const billingType = userSelectedBillingType ?? explicitInitialBilling ?? detectedBillingType ?? resolvedInitialBilling;
|
|
158
164
|
const navigationLockRef = useRef(false);
|
|
159
165
|
|
|
160
|
-
|
|
161
|
-
setBillingType(prev => (prev === initialBillingCandidate ? prev : initialBillingCandidate));
|
|
162
|
-
}, [initialBillingCandidate]);
|
|
163
|
-
|
|
164
|
-
const [isProcessing, setIsProcessing] = useState(false);
|
|
166
|
+
const [processingTarget, setProcessingTarget] = useState<ProcessingTarget>(null);
|
|
165
167
|
const [isTouchDevice, setIsTouchDevice] = useState(false);
|
|
166
168
|
|
|
167
169
|
useEffect(() => {
|
|
@@ -231,23 +233,22 @@ export function MoneyPriceInteractive({
|
|
|
231
233
|
|
|
232
234
|
const handleAction = useCallback(async (plan: string, billing: string) => {
|
|
233
235
|
const isSubscriptionFlow = billing !== 'onetime';
|
|
236
|
+
const hasActiveSubscription =
|
|
237
|
+
userContext.isAuthenticated &&
|
|
238
|
+
(userContext.subscriptionStatus === UserState.ProUser ||
|
|
239
|
+
userContext.subscriptionStatus === UserState.UltraUser);
|
|
234
240
|
|
|
235
|
-
if (isSubscriptionFlow && !enableSubscriptionUpgrade) {
|
|
241
|
+
if (isSubscriptionFlow && hasActiveSubscription && !enableSubscriptionUpgrade) {
|
|
236
242
|
return;
|
|
237
243
|
}
|
|
238
244
|
|
|
239
245
|
navigationLockRef.current = false;
|
|
240
|
-
|
|
246
|
+
setProcessingTarget({ plan, billing });
|
|
241
247
|
const markNavigating = () => {
|
|
242
248
|
navigationLockRef.current = true;
|
|
243
249
|
};
|
|
244
250
|
|
|
245
251
|
try {
|
|
246
|
-
const hasActiveSubscription =
|
|
247
|
-
userContext.isAuthenticated &&
|
|
248
|
-
(userContext.subscriptionStatus === UserState.ProUser ||
|
|
249
|
-
userContext.subscriptionStatus === UserState.UltraUser);
|
|
250
|
-
|
|
251
252
|
const shouldUsePortal = isSubscriptionFlow && hasActiveSubscription;
|
|
252
253
|
|
|
253
254
|
if (shouldUsePortal) {
|
|
@@ -327,7 +328,7 @@ export function MoneyPriceInteractive({
|
|
|
327
328
|
console.error('Error during upgrade:', error);
|
|
328
329
|
} finally {
|
|
329
330
|
if (!navigationLockRef.current) {
|
|
330
|
-
|
|
331
|
+
setProcessingTarget(null);
|
|
331
332
|
}
|
|
332
333
|
}
|
|
333
334
|
}, [
|
|
@@ -419,7 +420,7 @@ export function MoneyPriceInteractive({
|
|
|
419
420
|
)}
|
|
420
421
|
type="button"
|
|
421
422
|
data-billing-button={option.key}
|
|
422
|
-
onClick={() =>
|
|
423
|
+
onClick={() => setUserSelectedBillingType(option.key)}
|
|
423
424
|
>
|
|
424
425
|
{option.name}
|
|
425
426
|
</button>
|
|
@@ -560,8 +561,12 @@ export function MoneyPriceInteractive({
|
|
|
560
561
|
onAuth={handleAuth}
|
|
561
562
|
onAction={handleAction}
|
|
562
563
|
texts={data.buttonTexts}
|
|
563
|
-
isProcessing={
|
|
564
|
-
|
|
564
|
+
isProcessing={
|
|
565
|
+
processingTarget?.plan === planKey &&
|
|
566
|
+
processingTarget?.billing === billingType
|
|
567
|
+
}
|
|
568
|
+
isAnyProcessing={!!processingTarget}
|
|
569
|
+
isInitLoading={isInitLoading}
|
|
565
570
|
enableSubscriptionUpgrade={enableSubscriptionUpgrade}
|
|
566
571
|
/>
|
|
567
572
|
</div>
|
|
@@ -119,6 +119,7 @@ export interface MoneyPriceInteractiveProps {
|
|
|
119
119
|
initialBillingType?: string;
|
|
120
120
|
disableAutoDetectBilling?: boolean;
|
|
121
121
|
initUserContext?: InitUserContext;
|
|
122
|
+
isInitLoading?: boolean;
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
// 按钮组件属性
|
|
@@ -137,6 +138,7 @@ export interface MoneyPriceButtonProps {
|
|
|
137
138
|
upgrade: string;
|
|
138
139
|
};
|
|
139
140
|
isProcessing?: boolean;
|
|
141
|
+
isAnyProcessing?: boolean;
|
|
140
142
|
isInitLoading: boolean;
|
|
141
143
|
enableSubscriptionUpgrade?: boolean;
|
|
142
144
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { MoneyPrice } from './money-price';
|
|
2
|
+
export {
|
|
3
|
+
getActiveProviderConfigUtil,
|
|
4
|
+
getCreditsFromPriceIdUtil,
|
|
5
|
+
getPriceConfigUtil,
|
|
6
|
+
} from './money-price-config-util';
|
|
7
|
+
export { buildMoneyPriceData } from './money-price-data';
|
|
8
|
+
export type {
|
|
9
|
+
MoneyPriceConfig,
|
|
10
|
+
MoneyPriceProps,
|
|
11
|
+
MoneyPriceInteractiveProps,
|
|
12
|
+
MoneyPriceButtonProps,
|
|
13
|
+
MoneyPriceData,
|
|
14
|
+
InitUserContext,
|
|
15
|
+
PaymentProvider,
|
|
16
|
+
PaymentProviderConfig,
|
|
17
|
+
EnhancePricePlan,
|
|
18
|
+
SubscriptionProductConfig,
|
|
19
|
+
CreditPackProductConfig,
|
|
20
|
+
UserContext,
|
|
21
|
+
} from './money-price-types';
|
|
22
|
+
export { UserState } from './money-price-types';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { MDXComponents } from 'mdx/types';
|
|
2
|
-
import type { ReactNode } from 'react';
|
|
3
|
-
export declare function createBaseMdxComponents(imageFallbackSrc?: string): MDXComponents;
|
|
4
|
-
export declare function createCodeMdxComponents(iconMap: Record<string, ReactNode>): MDXComponents;
|
|
5
|
-
export declare function createMathMdxComponents(): MDXComponents;
|
|
6
|
-
export declare function createMermaidMdxComponents(watermarkEnabled?: boolean, watermarkText?: string): MDXComponents;
|
|
7
|
-
export declare function createTypeTableMdxComponents(): MDXComponents;
|
|
8
|
-
export declare function createWidgetMdxComponents(cdnBaseUrl?: string, imageFallbackSrc?: string): MDXComponents;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var codeblock = require('fumadocs-ui/components/codeblock');
|
|
5
|
-
var typeTable = require('fumadocs-ui/components/type-table');
|
|
6
|
-
var fumadocsTypescript = require('fumadocs-typescript');
|
|
7
|
-
var ui = require('fumadocs-typescript/ui');
|
|
8
|
-
var markdownComponentMap = require('../share/markdown-component-map.js');
|
|
9
|
-
var imageZoom = require('../heavy/image-zoom.js');
|
|
10
|
-
var imageGrid = require('../heavy/image-grid.js');
|
|
11
|
-
var math = require('../heavy/math.js');
|
|
12
|
-
var mermaid = require('../heavy/mermaid.js');
|
|
13
|
-
var trophyCard = require('./trophy-card.js');
|
|
14
|
-
var ziaCard = require('./zia-card.js');
|
|
15
|
-
var gradientButton = require('./gradient-button.js');
|
|
16
|
-
var ziaFile = require('./zia-file.js');
|
|
17
|
-
var sunoEmbed = require('./suno-embed.js');
|
|
18
|
-
|
|
19
|
-
const typeTableGenerator = fumadocsTypescript.createGenerator();
|
|
20
|
-
function tryToMatchIcon(props, iconMap) {
|
|
21
|
-
var _a;
|
|
22
|
-
let lang;
|
|
23
|
-
const dataLanguage = props['data-language'];
|
|
24
|
-
if (dataLanguage && dataLanguage.trim() !== '') {
|
|
25
|
-
lang = dataLanguage.trim().toLowerCase();
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
const title = props.title;
|
|
29
|
-
if (title) {
|
|
30
|
-
const titleParts = title.split('.');
|
|
31
|
-
if (titleParts.length > 1 && titleParts[0] !== '') {
|
|
32
|
-
const extension = (_a = titleParts.pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
33
|
-
if (extension) {
|
|
34
|
-
lang = extension;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (lang && iconMap[lang]) {
|
|
40
|
-
return iconMap[lang];
|
|
41
|
-
}
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
function createBaseMdxComponents(imageFallbackSrc) {
|
|
45
|
-
return Object.assign(Object.assign({}, markdownComponentMap.baseMarkdownComponents), { img: (props) => (jsxRuntime.jsx(imageZoom.ImageZoom, Object.assign({}, props, { fallbackSrc: imageFallbackSrc }))) });
|
|
46
|
-
}
|
|
47
|
-
function createCodeMdxComponents(iconMap) {
|
|
48
|
-
return {
|
|
49
|
-
pre: (props) => {
|
|
50
|
-
const customIcon = tryToMatchIcon(props, iconMap);
|
|
51
|
-
return (jsxRuntime.jsx(codeblock.CodeBlock, Object.assign({}, props, (customIcon && { icon: customIcon }), { children: jsxRuntime.jsx(codeblock.Pre, { children: props.children }) })));
|
|
52
|
-
},
|
|
53
|
-
CodeBlock: codeblock.CodeBlock,
|
|
54
|
-
Pre: codeblock.Pre,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
function createMathMdxComponents() {
|
|
58
|
-
return {
|
|
59
|
-
MathBlock: math.MathBlock,
|
|
60
|
-
InlineMath: math.InlineMath,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
function createMermaidMdxComponents(watermarkEnabled, watermarkText) {
|
|
64
|
-
return {
|
|
65
|
-
Mermaid: (props) => (jsxRuntime.jsx(mermaid.Mermaid, Object.assign({}, props, { watermarkEnabled: watermarkEnabled, watermarkText: watermarkText }))),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function createTypeTableMdxComponents() {
|
|
69
|
-
return {
|
|
70
|
-
TypeTable: typeTable.TypeTable,
|
|
71
|
-
AutoTypeTable: (props) => (jsxRuntime.jsx(ui.AutoTypeTable, Object.assign({}, props, { generator: typeTableGenerator }))),
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function createWidgetMdxComponents(cdnBaseUrl, imageFallbackSrc) {
|
|
75
|
-
return {
|
|
76
|
-
TrophyCard: trophyCard.TrophyCard,
|
|
77
|
-
ZiaCard: ziaCard.ZiaCard,
|
|
78
|
-
GradientButton: gradientButton.GradientButton,
|
|
79
|
-
ZiaFile: ziaFile.ZiaFile,
|
|
80
|
-
ZiaFolder: ziaFile.ZiaFolder,
|
|
81
|
-
SunoEmbed: sunoEmbed.SunoEmbed,
|
|
82
|
-
ImageGrid: (props) => (jsxRuntime.jsx(imageGrid.ImageGrid, Object.assign({}, props, { cdnBaseUrl: cdnBaseUrl }))),
|
|
83
|
-
ImageZoom: (props) => (jsxRuntime.jsx(imageZoom.ImageZoom, Object.assign({}, props, { fallbackSrc: imageFallbackSrc }))),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
exports.createBaseMdxComponents = createBaseMdxComponents;
|
|
88
|
-
exports.createCodeMdxComponents = createCodeMdxComponents;
|
|
89
|
-
exports.createMathMdxComponents = createMathMdxComponents;
|
|
90
|
-
exports.createMermaidMdxComponents = createMermaidMdxComponents;
|
|
91
|
-
exports.createTypeTableMdxComponents = createTypeTableMdxComponents;
|
|
92
|
-
exports.createWidgetMdxComponents = createWidgetMdxComponents;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Pre, CodeBlock } from 'fumadocs-ui/components/codeblock';
|
|
3
|
-
import { TypeTable } from 'fumadocs-ui/components/type-table';
|
|
4
|
-
import { createGenerator } from 'fumadocs-typescript';
|
|
5
|
-
import { AutoTypeTable } from 'fumadocs-typescript/ui';
|
|
6
|
-
import { baseMarkdownComponents } from '../share/markdown-component-map.mjs';
|
|
7
|
-
import { ImageZoom } from '../heavy/image-zoom.mjs';
|
|
8
|
-
import { ImageGrid } from '../heavy/image-grid.mjs';
|
|
9
|
-
import { InlineMath, MathBlock } from '../heavy/math.mjs';
|
|
10
|
-
import { Mermaid } from '../heavy/mermaid.mjs';
|
|
11
|
-
import { TrophyCard } from './trophy-card.mjs';
|
|
12
|
-
import { ZiaCard } from './zia-card.mjs';
|
|
13
|
-
import { GradientButton } from './gradient-button.mjs';
|
|
14
|
-
import { ZiaFolder, ZiaFile } from './zia-file.mjs';
|
|
15
|
-
import { SunoEmbed } from './suno-embed.mjs';
|
|
16
|
-
|
|
17
|
-
const typeTableGenerator = createGenerator();
|
|
18
|
-
function tryToMatchIcon(props, iconMap) {
|
|
19
|
-
var _a;
|
|
20
|
-
let lang;
|
|
21
|
-
const dataLanguage = props['data-language'];
|
|
22
|
-
if (dataLanguage && dataLanguage.trim() !== '') {
|
|
23
|
-
lang = dataLanguage.trim().toLowerCase();
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
const title = props.title;
|
|
27
|
-
if (title) {
|
|
28
|
-
const titleParts = title.split('.');
|
|
29
|
-
if (titleParts.length > 1 && titleParts[0] !== '') {
|
|
30
|
-
const extension = (_a = titleParts.pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
31
|
-
if (extension) {
|
|
32
|
-
lang = extension;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (lang && iconMap[lang]) {
|
|
38
|
-
return iconMap[lang];
|
|
39
|
-
}
|
|
40
|
-
return undefined;
|
|
41
|
-
}
|
|
42
|
-
function createBaseMdxComponents(imageFallbackSrc) {
|
|
43
|
-
return Object.assign(Object.assign({}, baseMarkdownComponents), { img: (props) => (jsx(ImageZoom, Object.assign({}, props, { fallbackSrc: imageFallbackSrc }))) });
|
|
44
|
-
}
|
|
45
|
-
function createCodeMdxComponents(iconMap) {
|
|
46
|
-
return {
|
|
47
|
-
pre: (props) => {
|
|
48
|
-
const customIcon = tryToMatchIcon(props, iconMap);
|
|
49
|
-
return (jsx(CodeBlock, Object.assign({}, props, (customIcon && { icon: customIcon }), { children: jsx(Pre, { children: props.children }) })));
|
|
50
|
-
},
|
|
51
|
-
CodeBlock,
|
|
52
|
-
Pre,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function createMathMdxComponents() {
|
|
56
|
-
return {
|
|
57
|
-
MathBlock,
|
|
58
|
-
InlineMath,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function createMermaidMdxComponents(watermarkEnabled, watermarkText) {
|
|
62
|
-
return {
|
|
63
|
-
Mermaid: (props) => (jsx(Mermaid, Object.assign({}, props, { watermarkEnabled: watermarkEnabled, watermarkText: watermarkText }))),
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function createTypeTableMdxComponents() {
|
|
67
|
-
return {
|
|
68
|
-
TypeTable,
|
|
69
|
-
AutoTypeTable: (props) => (jsx(AutoTypeTable, Object.assign({}, props, { generator: typeTableGenerator }))),
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function createWidgetMdxComponents(cdnBaseUrl, imageFallbackSrc) {
|
|
73
|
-
return {
|
|
74
|
-
TrophyCard,
|
|
75
|
-
ZiaCard,
|
|
76
|
-
GradientButton,
|
|
77
|
-
ZiaFile,
|
|
78
|
-
ZiaFolder,
|
|
79
|
-
SunoEmbed,
|
|
80
|
-
ImageGrid: (props) => (jsx(ImageGrid, Object.assign({}, props, { cdnBaseUrl: cdnBaseUrl }))),
|
|
81
|
-
ImageZoom: (props) => (jsx(ImageZoom, Object.assign({}, props, { fallbackSrc: imageFallbackSrc }))),
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export { createBaseMdxComponents, createCodeMdxComponents, createMathMdxComponents, createMermaidMdxComponents, createTypeTableMdxComponents, createWidgetMdxComponents };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var imageZoom = require('./image-zoom.js');
|
|
6
|
-
|
|
7
|
-
function ImageGrid({ type = "url", images, altPrefix = '', cdnBaseUrl, }) {
|
|
8
|
-
return (jsxRuntime.jsx("div", { style: {
|
|
9
|
-
display: 'grid',
|
|
10
|
-
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
11
|
-
gap: '16px',
|
|
12
|
-
justifyItems: 'center',
|
|
13
|
-
alignItems: 'center',
|
|
14
|
-
}, children: images.map((img, idx) => (jsxRuntime.jsx(imageZoom.ImageZoom, { src: img.startsWith('http://') || img.startsWith('https://') ? img : (type === "url" ? `${cdnBaseUrl === null || cdnBaseUrl === void 0 ? void 0 : cdnBaseUrl.replace(/\/+$/, '')}/${img.replace(/^\/+/, '')}` : img), alt: `${altPrefix}-${idx + 1}` }, img))) }));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
exports.ImageGrid = ImageGrid;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { ImageZoom } from './image-zoom.mjs';
|
|
4
|
-
|
|
5
|
-
function ImageGrid({ type = "url", images, altPrefix = '', cdnBaseUrl, }) {
|
|
6
|
-
return (jsx("div", { style: {
|
|
7
|
-
display: 'grid',
|
|
8
|
-
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
9
|
-
gap: '16px',
|
|
10
|
-
justifyItems: 'center',
|
|
11
|
-
alignItems: 'center',
|
|
12
|
-
}, children: images.map((img, idx) => (jsx(ImageZoom, { src: img.startsWith('http://') || img.startsWith('https://') ? img : (type === "url" ? `${cdnBaseUrl === null || cdnBaseUrl === void 0 ? void 0 : cdnBaseUrl.replace(/\/+$/, '')}/${img.replace(/^\/+/, '')}` : img), alt: `${altPrefix}-${idx + 1}` }, img))) }));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { ImageGrid };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type ImageProps } from 'fumadocs-core/framework';
|
|
2
|
-
import { type ImgHTMLAttributes } from 'react';
|
|
3
|
-
import { type UncontrolledProps } from 'react-medium-image-zoom';
|
|
4
|
-
export type ImageZoomProps = ImageProps & {
|
|
5
|
-
/**
|
|
6
|
-
* Image props when zoom in
|
|
7
|
-
*/
|
|
8
|
-
zoomInProps?: ImgHTMLAttributes<HTMLImageElement>;
|
|
9
|
-
/**
|
|
10
|
-
* Props for `react-medium-image-zoom`
|
|
11
|
-
*/
|
|
12
|
-
rmiz?: UncontrolledProps;
|
|
13
|
-
/**
|
|
14
|
-
* placeholder image path
|
|
15
|
-
*/
|
|
16
|
-
fallbackSrc?: string;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* @example
|
|
20
|
-
* <ImageZoom src="URL" fallbackSrc="/my-placeholder.png" />
|
|
21
|
-
*/
|
|
22
|
-
export declare function ImageZoom({ zoomInProps, children, rmiz, fallbackSrc, ...props }: ImageZoomProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var tslib = require('tslib');
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var framework = require('fumadocs-core/framework');
|
|
7
|
-
var React = require('react');
|
|
8
|
-
var Zoom = require('react-medium-image-zoom');
|
|
9
|
-
|
|
10
|
-
function getImageSrc(src) {
|
|
11
|
-
if (typeof src === 'string')
|
|
12
|
-
return src;
|
|
13
|
-
if (typeof src === 'object') {
|
|
14
|
-
// Next.js
|
|
15
|
-
if ('default' in src)
|
|
16
|
-
return src.default.src;
|
|
17
|
-
return src.src;
|
|
18
|
-
}
|
|
19
|
-
return '';
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @example
|
|
23
|
-
* <ImageZoom src="URL" fallbackSrc="/my-placeholder.png" />
|
|
24
|
-
*/
|
|
25
|
-
function ImageZoom(_a) {
|
|
26
|
-
var _b;
|
|
27
|
-
var { zoomInProps, children, rmiz, fallbackSrc = 'https://r2.d8ger.com/default.webp' } = _a, props = tslib.__rest(_a, ["zoomInProps", "children", "rmiz", "fallbackSrc"]);
|
|
28
|
-
const [imgSrc, setImgSrc] = React.useState(getImageSrc(props.src));
|
|
29
|
-
// fallback logic
|
|
30
|
-
const handleError = () => {
|
|
31
|
-
console.warn('ImageZoom check error:', imgSrc, fallbackSrc);
|
|
32
|
-
if (imgSrc !== fallbackSrc) {
|
|
33
|
-
setImgSrc(fallbackSrc);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
return (jsxRuntime.jsx(Zoom, Object.assign({ zoomMargin: 20, wrapElement: "span" }, rmiz, { zoomImg: Object.assign(Object.assign({ src: imgSrc, sizes: undefined }, zoomInProps), { onError: handleError }), children: children !== null && children !== void 0 ? children : (jsxRuntime.jsx(framework.Image, Object.assign({}, props, { src: imgSrc, onError: handleError, sizes: "(max-width: 400px) 100vw, 300px", style: { width: '100%', height: 'auto', maxWidth: 300 }, alt: (_b = props.alt) !== null && _b !== void 0 ? _b : '', width: 300, height: 225 }))) })));
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
exports.ImageZoom = ImageZoom;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { __rest } from 'tslib';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
import { Image } from 'fumadocs-core/framework';
|
|
5
|
-
import { useState } from 'react';
|
|
6
|
-
import Zoom from 'react-medium-image-zoom';
|
|
7
|
-
|
|
8
|
-
function getImageSrc(src) {
|
|
9
|
-
if (typeof src === 'string')
|
|
10
|
-
return src;
|
|
11
|
-
if (typeof src === 'object') {
|
|
12
|
-
// Next.js
|
|
13
|
-
if ('default' in src)
|
|
14
|
-
return src.default.src;
|
|
15
|
-
return src.src;
|
|
16
|
-
}
|
|
17
|
-
return '';
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @example
|
|
21
|
-
* <ImageZoom src="URL" fallbackSrc="/my-placeholder.png" />
|
|
22
|
-
*/
|
|
23
|
-
function ImageZoom(_a) {
|
|
24
|
-
var _b;
|
|
25
|
-
var { zoomInProps, children, rmiz, fallbackSrc = 'https://r2.d8ger.com/default.webp' } = _a, props = __rest(_a, ["zoomInProps", "children", "rmiz", "fallbackSrc"]);
|
|
26
|
-
const [imgSrc, setImgSrc] = useState(getImageSrc(props.src));
|
|
27
|
-
// fallback logic
|
|
28
|
-
const handleError = () => {
|
|
29
|
-
console.warn('ImageZoom check error:', imgSrc, fallbackSrc);
|
|
30
|
-
if (imgSrc !== fallbackSrc) {
|
|
31
|
-
setImgSrc(fallbackSrc);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
return (jsx(Zoom, Object.assign({ zoomMargin: 20, wrapElement: "span" }, rmiz, { zoomImg: Object.assign(Object.assign({ src: imgSrc, sizes: undefined }, zoomInProps), { onError: handleError }), children: children !== null && children !== void 0 ? children : (jsx(Image, Object.assign({}, props, { src: imgSrc, onError: handleError, sizes: "(max-width: 400px) 100vw, 300px", style: { width: '100%', height: 'auto', maxWidth: 300 }, alt: (_b = props.alt) !== null && _b !== void 0 ? _b : '', width: 300, height: 225 }))) })));
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { ImageZoom };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var utils = require('@windrun-huaiin/lib/utils');
|
|
6
|
-
var defaultMdxComponents = require('fumadocs-ui/mdx');
|
|
7
|
-
var imageZoom = require('../heavy/image-zoom.js');
|
|
8
|
-
require('katex');
|
|
9
|
-
require('@windrun-huaiin/base-ui/icons');
|
|
10
|
-
require('next-themes');
|
|
11
|
-
require('roughjs');
|
|
12
|
-
require('react');
|
|
13
|
-
require('@windrun-huaiin/base-ui/lib');
|
|
14
|
-
|
|
15
|
-
function normalizeMarkdownProps(props) {
|
|
16
|
-
const { class: legacyClassName, className } = props, restProps = tslib.__rest(props, ["class", "className"]);
|
|
17
|
-
return Object.assign(Object.assign({}, restProps), { className: utils.cn(typeof legacyClassName === 'string' ? legacyClassName : undefined, className) });
|
|
18
|
-
}
|
|
19
|
-
const baseMarkdownComponents = Object.assign(Object.assign({}, defaultMdxComponents), { a: (_a) => {
|
|
20
|
-
var _b, _c;
|
|
21
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
22
|
-
return (jsxRuntime.jsx("a", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('underline underline-offset-4 transition hover:opacity-80', normalizeMarkdownProps(props).className, className), target: (_b = props.target) !== null && _b !== void 0 ? _b : '_blank', rel: (_c = props.rel) !== null && _c !== void 0 ? _c : 'noreferrer noopener' })));
|
|
23
|
-
}, blockquote: (_a) => {
|
|
24
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
25
|
-
return (jsxRuntime.jsx("blockquote", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('border-l-2 border-border pl-4 text-muted-foreground', normalizeMarkdownProps(props).className, className) })));
|
|
26
|
-
}, code: (_a) => {
|
|
27
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
28
|
-
return (jsxRuntime.jsx("code", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('rounded-md bg-muted px-1.5 py-0.5 font-mono text-[0.9em]', normalizeMarkdownProps(props).className, className) })));
|
|
29
|
-
}, h1: (_a) => {
|
|
30
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
31
|
-
return (jsxRuntime.jsx("h1", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('text-2xl font-semibold tracking-tight', normalizeMarkdownProps(props).className, className) })));
|
|
32
|
-
}, h2: (_a) => {
|
|
33
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
34
|
-
return (jsxRuntime.jsx("h2", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('text-xl font-semibold tracking-tight', normalizeMarkdownProps(props).className, className) })));
|
|
35
|
-
}, h3: (_a) => {
|
|
36
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
37
|
-
return (jsxRuntime.jsx("h3", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('text-lg font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
38
|
-
}, h4: (_a) => {
|
|
39
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
40
|
-
return (jsxRuntime.jsx("h4", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('text-base font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
41
|
-
}, h5: (_a) => {
|
|
42
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
43
|
-
return (jsxRuntime.jsx("h5", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('text-sm font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
44
|
-
}, h6: (_a) => {
|
|
45
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
46
|
-
return (jsxRuntime.jsx("h6", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('text-sm font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
47
|
-
}, hr: (_a) => {
|
|
48
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
49
|
-
return (jsxRuntime.jsx("hr", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('border-border', normalizeMarkdownProps(props).className, className) })));
|
|
50
|
-
}, img: (_a) => {
|
|
51
|
-
var { className, alt, src } = _a, props = tslib.__rest(_a, ["className", "alt", "src"]);
|
|
52
|
-
return (jsxRuntime.jsx(imageZoom.ImageZoom, Object.assign({}, normalizeMarkdownProps(props), { alt: typeof alt === 'string' ? alt : '', src: typeof src === 'string' ? src : '', className: utils.cn('overflow-hidden rounded-2xl', normalizeMarkdownProps(props).className, className) })));
|
|
53
|
-
}, li: (_a) => {
|
|
54
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
55
|
-
return (jsxRuntime.jsx("li", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('leading-7', normalizeMarkdownProps(props).className, className) })));
|
|
56
|
-
}, ol: (_a) => {
|
|
57
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
58
|
-
return (jsxRuntime.jsx("ol", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('list-decimal space-y-2 pl-6', normalizeMarkdownProps(props).className, className) })));
|
|
59
|
-
}, p: (_a) => {
|
|
60
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
61
|
-
return (jsxRuntime.jsx("p", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('leading-7', normalizeMarkdownProps(props).className, className) })));
|
|
62
|
-
}, pre: (_a) => {
|
|
63
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
64
|
-
return (jsxRuntime.jsx("pre", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('overflow-x-auto rounded-2xl border border-border bg-muted px-4 py-3 text-sm', normalizeMarkdownProps(props).className, className) })));
|
|
65
|
-
}, table: (_a) => {
|
|
66
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
67
|
-
return (jsxRuntime.jsx("div", { className: "overflow-x-auto", children: jsxRuntime.jsx("table", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('w-full border-collapse text-sm', normalizeMarkdownProps(props).className, className) })) }));
|
|
68
|
-
}, td: (_a) => {
|
|
69
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
70
|
-
return (jsxRuntime.jsx("td", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('border border-border px-3 py-2 align-top', normalizeMarkdownProps(props).className, className) })));
|
|
71
|
-
}, th: (_a) => {
|
|
72
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
73
|
-
return (jsxRuntime.jsx("th", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('border border-border px-3 py-2 text-left font-medium', normalizeMarkdownProps(props).className, className) })));
|
|
74
|
-
}, ul: (_a) => {
|
|
75
|
-
var { className } = _a, props = tslib.__rest(_a, ["className"]);
|
|
76
|
-
return (jsxRuntime.jsx("ul", Object.assign({}, normalizeMarkdownProps(props), { className: utils.cn('list-disc space-y-2 pl-6', normalizeMarkdownProps(props).className, className) })));
|
|
77
|
-
} });
|
|
78
|
-
|
|
79
|
-
exports.baseMarkdownComponents = baseMarkdownComponents;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { __rest } from 'tslib';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { cn } from '@windrun-huaiin/lib/utils';
|
|
4
|
-
import defaultMdxComponents from 'fumadocs-ui/mdx';
|
|
5
|
-
import { ImageZoom } from '../heavy/image-zoom.mjs';
|
|
6
|
-
import 'katex';
|
|
7
|
-
import '@windrun-huaiin/base-ui/icons';
|
|
8
|
-
import 'next-themes';
|
|
9
|
-
import 'roughjs';
|
|
10
|
-
import 'react';
|
|
11
|
-
import '@windrun-huaiin/base-ui/lib';
|
|
12
|
-
|
|
13
|
-
function normalizeMarkdownProps(props) {
|
|
14
|
-
const { class: legacyClassName, className } = props, restProps = __rest(props, ["class", "className"]);
|
|
15
|
-
return Object.assign(Object.assign({}, restProps), { className: cn(typeof legacyClassName === 'string' ? legacyClassName : undefined, className) });
|
|
16
|
-
}
|
|
17
|
-
const baseMarkdownComponents = Object.assign(Object.assign({}, defaultMdxComponents), { a: (_a) => {
|
|
18
|
-
var _b, _c;
|
|
19
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
20
|
-
return (jsx("a", Object.assign({}, normalizeMarkdownProps(props), { className: cn('underline underline-offset-4 transition hover:opacity-80', normalizeMarkdownProps(props).className, className), target: (_b = props.target) !== null && _b !== void 0 ? _b : '_blank', rel: (_c = props.rel) !== null && _c !== void 0 ? _c : 'noreferrer noopener' })));
|
|
21
|
-
}, blockquote: (_a) => {
|
|
22
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
23
|
-
return (jsx("blockquote", Object.assign({}, normalizeMarkdownProps(props), { className: cn('border-l-2 border-border pl-4 text-muted-foreground', normalizeMarkdownProps(props).className, className) })));
|
|
24
|
-
}, code: (_a) => {
|
|
25
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
26
|
-
return (jsx("code", Object.assign({}, normalizeMarkdownProps(props), { className: cn('rounded-md bg-muted px-1.5 py-0.5 font-mono text-[0.9em]', normalizeMarkdownProps(props).className, className) })));
|
|
27
|
-
}, h1: (_a) => {
|
|
28
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
29
|
-
return (jsx("h1", Object.assign({}, normalizeMarkdownProps(props), { className: cn('text-2xl font-semibold tracking-tight', normalizeMarkdownProps(props).className, className) })));
|
|
30
|
-
}, h2: (_a) => {
|
|
31
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
32
|
-
return (jsx("h2", Object.assign({}, normalizeMarkdownProps(props), { className: cn('text-xl font-semibold tracking-tight', normalizeMarkdownProps(props).className, className) })));
|
|
33
|
-
}, h3: (_a) => {
|
|
34
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
35
|
-
return (jsx("h3", Object.assign({}, normalizeMarkdownProps(props), { className: cn('text-lg font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
36
|
-
}, h4: (_a) => {
|
|
37
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
38
|
-
return (jsx("h4", Object.assign({}, normalizeMarkdownProps(props), { className: cn('text-base font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
39
|
-
}, h5: (_a) => {
|
|
40
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
41
|
-
return (jsx("h5", Object.assign({}, normalizeMarkdownProps(props), { className: cn('text-sm font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
42
|
-
}, h6: (_a) => {
|
|
43
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
44
|
-
return (jsx("h6", Object.assign({}, normalizeMarkdownProps(props), { className: cn('text-sm font-semibold', normalizeMarkdownProps(props).className, className) })));
|
|
45
|
-
}, hr: (_a) => {
|
|
46
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
47
|
-
return (jsx("hr", Object.assign({}, normalizeMarkdownProps(props), { className: cn('border-border', normalizeMarkdownProps(props).className, className) })));
|
|
48
|
-
}, img: (_a) => {
|
|
49
|
-
var { className, alt, src } = _a, props = __rest(_a, ["className", "alt", "src"]);
|
|
50
|
-
return (jsx(ImageZoom, Object.assign({}, normalizeMarkdownProps(props), { alt: typeof alt === 'string' ? alt : '', src: typeof src === 'string' ? src : '', className: cn('overflow-hidden rounded-2xl', normalizeMarkdownProps(props).className, className) })));
|
|
51
|
-
}, li: (_a) => {
|
|
52
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
53
|
-
return (jsx("li", Object.assign({}, normalizeMarkdownProps(props), { className: cn('leading-7', normalizeMarkdownProps(props).className, className) })));
|
|
54
|
-
}, ol: (_a) => {
|
|
55
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
56
|
-
return (jsx("ol", Object.assign({}, normalizeMarkdownProps(props), { className: cn('list-decimal space-y-2 pl-6', normalizeMarkdownProps(props).className, className) })));
|
|
57
|
-
}, p: (_a) => {
|
|
58
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
59
|
-
return (jsx("p", Object.assign({}, normalizeMarkdownProps(props), { className: cn('leading-7', normalizeMarkdownProps(props).className, className) })));
|
|
60
|
-
}, pre: (_a) => {
|
|
61
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
62
|
-
return (jsx("pre", Object.assign({}, normalizeMarkdownProps(props), { className: cn('overflow-x-auto rounded-2xl border border-border bg-muted px-4 py-3 text-sm', normalizeMarkdownProps(props).className, className) })));
|
|
63
|
-
}, table: (_a) => {
|
|
64
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
65
|
-
return (jsx("div", { className: "overflow-x-auto", children: jsx("table", Object.assign({}, normalizeMarkdownProps(props), { className: cn('w-full border-collapse text-sm', normalizeMarkdownProps(props).className, className) })) }));
|
|
66
|
-
}, td: (_a) => {
|
|
67
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
68
|
-
return (jsx("td", Object.assign({}, normalizeMarkdownProps(props), { className: cn('border border-border px-3 py-2 align-top', normalizeMarkdownProps(props).className, className) })));
|
|
69
|
-
}, th: (_a) => {
|
|
70
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
71
|
-
return (jsx("th", Object.assign({}, normalizeMarkdownProps(props), { className: cn('border border-border px-3 py-2 text-left font-medium', normalizeMarkdownProps(props).className, className) })));
|
|
72
|
-
}, ul: (_a) => {
|
|
73
|
-
var { className } = _a, props = __rest(_a, ["className"]);
|
|
74
|
-
return (jsx("ul", Object.assign({}, normalizeMarkdownProps(props), { className: cn('list-disc space-y-2 pl-6', normalizeMarkdownProps(props).className, className) })));
|
|
75
|
-
} });
|
|
76
|
-
|
|
77
|
-
export { baseMarkdownComponents };
|