import React, { useState, useEffect } from 'react'; import { CodeBlock as CodeBlockBase } from '../../src'; export const useIsMobile = (breakpoint = 768) => { const [isMobile, setIsMobile] = useState(() => window.innerWidth < breakpoint); useEffect(() => { const handler = () => setIsMobile(window.innerWidth < breakpoint); window.addEventListener('resize', handler); return () => window.removeEventListener('resize', handler); }, [breakpoint]); return isMobile; }; export interface ApiRow { prop: string; desc: string; type: string; defaultVal?: string; required?: boolean; } export const sectionStyle: React.CSSProperties = { marginBottom: 36, padding: 24, background: '#fff', borderRadius: 12, border: '1px solid #e8e2d6', }; export const sectionTitleStyle: React.CSSProperties = { fontSize: 18, fontWeight: 600, color: '#725d42', display: 'flex', alignItems: 'center', gap: 8, }; export const tagStyle: React.CSSProperties = { fontSize: 10, padding: '2px 8px', borderRadius: 20, background: '#f0e8d8', color: '#a08060', fontWeight: 500, }; export const labelStyle: React.CSSProperties = { fontSize: 14, color: '#a0936e', marginTop: 20, marginBottom: 20, fontWeight: 500, }; export const textStyle: React.CSSProperties = { fontSize: 13, color: '#8a7b66', margin: 0, }; export const demoBodyStyle: React.CSSProperties = { display: 'flex', flexDirection: 'column', }; export const demoBoxStyle: React.CSSProperties = { marginTop: 12, padding: 16, background: '#faf8f3', borderRadius: 12, border: '1px solid #e8e2d6', }; export const demoDashedBoxStyle: React.CSSProperties = { display: 'flex', gap: 16, alignItems: 'center', justifyContent: 'space-between', padding: 16, background: 'rgb(250, 248, 242)', border: '1px dashed rgb(224, 216, 200)', borderRadius: 18, }; const codeLabelStyle: React.CSSProperties = { fontSize: 14, fontWeight: 600, color: '#e7e4e0', marginBottom: 0, padding: '6px 12px', background: '#3d3028', borderRadius: '10px 10px 0 0', display: 'inline-block', }; export const ApiTable: React.FC<{ rows: ApiRow[] }> = ({ rows }) => (
API
{rows.map((row, i) => ( ))}
属性 说明 类型 默认值
{row.prop} {row.required && *} {row.desc} {row.type} {row.defaultVal}
); export const CodeBlock: React.FC<{ code: string }> = ({ code }) => (
使用示例
);