diff --git a/package.json b/package.json index 122c894..ca03ef5 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "private": true, "scripts": { "preinstall": "npx only-allow pnpm", - "start": "cd packages/demo && npm run start" + "start": "npm run build:props && cd packages/demo && npm run start", + "build:props": "node ./scripts/build_props.mjs" }, "workspaces": [ "packages/*" @@ -12,7 +13,12 @@ "@commitlint/cli": "^17.3.0", "@commitlint/config-conventional": "^17.3.0", "eslint-config-psfe": "1.0.5", - "husky": "^8.0.2" + "husky": "^8.0.2", + "@babel/core": "^7.19.1", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/parser": "^7.21.2", + "babel-plugin-jsx": "^1.2.0", + "es-dirname": "^0.1.0" }, "dependencies": { "core-js": "^3.25.1", diff --git a/packages/demo/index.scss b/packages/demo/index.scss index f866dbd..5796069 100644 --- a/packages/demo/index.scss +++ b/packages/demo/index.scss @@ -22,5 +22,29 @@ html, height: 0; } +.pivot-props-table { + border-collapse: collapse; + width: 100%; + font-family: Arial, sans-serif; + font-size: 18px; + th, + td { + padding: 18px 0; + text-align: center; + } + th { + background-color: var(--semi-color-bg-0); + font-weight: bold; + width: auto; + border: 2px solid var(--semi-color-border); + } + td { + width: auto; + border: 2px solid var(--semi-color-border); + } + tr { + background-color: var(--semi-color-bg-0); + } +} diff --git a/packages/demo/loaders/index.js b/packages/demo/loaders/index.js index b691249..bc351f7 100644 --- a/packages/demo/loaders/index.js +++ b/packages/demo/loaders/index.js @@ -38,7 +38,7 @@ module.exports = function loader(source) { const CodeBlockReg = /([\n\r\s\S]*?)<\/CodeBlock>/g; const H1Reg = /# (\w+)/; // eslint-disable-next-line prefer-destructuring - const component = H1Reg.exec(sourceCode)[1]; + const component = H1Reg.exec(sourceCode) && H1Reg.exec(sourceCode)[1]; let m; let importComponentsList = ''; while ((m = CodeBlockReg.exec(newSource))) { diff --git a/packages/demo/src/components/Button/index.mdx b/packages/demo/src/components/Button/index.mdx index 63fb2a0..5fff583 100644 --- a/packages/demo/src/components/Button/index.mdx +++ b/packages/demo/src/components/Button/index.mdx @@ -1,3 +1,5 @@ +import Props from './props.mdx'; + # Button
普通样式
@@ -46,3 +48,5 @@ + + diff --git a/packages/demo/src/components/Button/props.mdx b/packages/demo/src/components/Button/props.mdx new file mode 100644 index 0000000..5d0fcec --- /dev/null +++ b/packages/demo/src/components/Button/props.mdx @@ -0,0 +1,4 @@ +import Table from '../table.tsx' + export const params = [{"key":"className","value":": string","optional":true,"version":"1.0.0","description":"自定义类名"},{"key":"style","value":": React.CSSProperties","optional":true,"version":"1.0.0","description":"自定义样式"},{"key":"children","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"按钮默认插槽","default":"undefined"},{"key":"style","value":": React.CSSProperties & ButtonCssTokens","optional":true,"version":"1.0.0","description":"自定义样式","default":"undefined"},{"key":"onClick","value":": React.MouseEventHandler","optional":true,"version":"1.0.0","description":"点击事件","default":"undefined"},{"key":"type","value":": 'primary' | 'default' | 'text' | 'link'","optional":true,"version":"1.0.0","description":"按钮类型","default":"'default'"},{"key":"size","value":": 'small' | 'middle' | 'large'","optional":true,"version":"1.0.0","description":"按钮是否禁用","default":"'middle'"},{"key":"disabled","value":": boolean","optional":true,"version":"1.0.0","description":"按钮尺寸","default":"false"},{"key":"loading","value":": boolean","optional":true,"version":"1.0.0","description":"按钮是否正在加载状态","default":"false"},{"key":"debounce","value":": number | {\n delay: number;\n immediate: boolean;\n}","optional":true,"version":"1.0.0","description":"按钮是否防抖,可选择是否立即执行","default":"0"},{"key":"delay","value":": number"},{"key":"immediate","value":": boolean"},{"key":"throttle","value":": number | {\n delay: number;\n immediate: boolean;\n}","optional":true,"version":"1.0.0","description":"按钮是否节流","default":"false"},{"key":"delay","value":": number"},{"key":"immediate","value":": boolean"}] + ## API 列表 + \ No newline at end of file diff --git a/packages/demo/src/components/Card/index.mdx b/packages/demo/src/components/Card/index.mdx index df78168..62aa369 100644 --- a/packages/demo/src/components/Card/index.mdx +++ b/packages/demo/src/components/Card/index.mdx @@ -1,5 +1,6 @@ import Actions from './svg/index.tsx'; import More from './svg/tab.tsx'; +import Props from './props.mdx'; # Card @@ -105,3 +106,5 @@ import More from './svg/tab.tsx'; + + diff --git a/packages/demo/src/components/Card/props.mdx b/packages/demo/src/components/Card/props.mdx new file mode 100644 index 0000000..fb995bf --- /dev/null +++ b/packages/demo/src/components/Card/props.mdx @@ -0,0 +1,4 @@ +import Table from '../table.tsx' + export const params = [{"key":"className","value":": string","optional":true,"version":"1.0.0","description":"自定义类名"},{"key":"style","value":": React.CSSProperties","optional":true,"version":"1.0.0","description":"自定义样式"},{"key":"style","value":": React.CSSProperties & CardCssTokens","optional":true,"version":"1.0.0","description":"自定义样式","default":"undefined"},{"key":"size","value":": 'small' | 'normal'","optional":true,"version":"1.0.0","description":"自定义大小","default":"undefined"},{"key":"loading","value":": boolean","optional":true,"version":"1.0.0","description":"卡片内容是否加载","default":"normal"},{"key":"title","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"卡片标题","default":"undefined"},{"key":"actions","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"卡片底部的操作组","default":"undefined"},{"key":"bordered","value":": boolean","optional":true,"version":"1.0.0","description":"是否有边框","default":"true"},{"key":"extra","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"卡片右上角标签","default":"undefined"},{"key":"time","value":": string","optional":true,"version":"1.0.0","description":"时间标签","default":"undefined"},{"key":"children","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"内容","default":"undefined"},{"key":"cover","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"封面","default":"undefined"},{"key":"boradius","value":": boolean","optional":true,"version":"1.0.0","description":"边框角","default":"true"},{"key":"Grid","value":": boolean","optional":true,"version":"1.0.0","description":"栅格","default":"false"},{"key":"avatar","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"头像","default":"true"}] + ## API 列表 +
\ No newline at end of file diff --git a/packages/demo/src/components/Draggable/index.mdx b/packages/demo/src/components/Draggable/index.mdx index 1192e45..1a98b86 100644 --- a/packages/demo/src/components/Draggable/index.mdx +++ b/packages/demo/src/components/Draggable/index.mdx @@ -1,3 +1,5 @@ +import Props from './props.mdx'; + # Draggable 拖拽 一个轻量级,高性能的用于 React 的可扩展拖放组件。 @@ -71,3 +73,5 @@ + + diff --git a/packages/demo/src/components/Draggable/props.mdx b/packages/demo/src/components/Draggable/props.mdx new file mode 100644 index 0000000..cd634ef --- /dev/null +++ b/packages/demo/src/components/Draggable/props.mdx @@ -0,0 +1,4 @@ +import Table from '../table.tsx' + export const params = [{"key":"className","value":": string","optional":true,"version":"1.0.0","description":"自定义类名"},{"key":"style","value":": React.CSSProperties","optional":true,"version":"1.0.0","description":"自定义样式"},{"key":"children","value":": React.ReactNode","optional":true,"version":"1.0.0","description":"列表子项默认插槽","default":"undefined"},{"key":"index","value":": number","optional":true,"version":"1.0.0","description":"列表子项索引值","default":"undefined"},{"key":"top","value":": number","optional":true,"version":"1.0.0","description":"拖动元素相对定位的top偏移值","default":"undefined"},{"key":"left","value":": number","optional":true,"version":"1.0.0","description":"拖动元素相对定位的left偏移值","default":"undefined"}] + ## API 列表 +
\ No newline at end of file diff --git a/packages/demo/src/components/Icon/index.mdx b/packages/demo/src/components/Icon/index.mdx index 3fa4d06..bd6fa7d 100644 --- a/packages/demo/src/components/Icon/index.mdx +++ b/packages/demo/src/components/Icon/index.mdx @@ -1,31 +1,35 @@ +import Props from './props.mdx'; + # Icon
基本用法
- +
主题样式
- +
定义颜色和透明度
- +
尺寸
- +
自定义样式与旋转
-