├── .gitignore ├── README.md ├── components ├── base │ ├── button.d.ts │ ├── button.jsx │ ├── button.scss │ ├── calendar │ │ ├── index.d.ts │ │ ├── index.jsx │ │ └── index.scss │ ├── editConfig.js │ ├── icon.d.ts │ ├── icon.jsx │ ├── icon.rn.jsx │ ├── icon.scss │ ├── image.jsx │ ├── image.scss │ ├── index.js │ ├── keyboard_avoiding │ │ ├── index.d.ts │ │ ├── index.jsx │ │ ├── index.rn.jsx │ │ └── index.scss │ ├── loading │ │ ├── index.d.ts │ │ ├── index.jsx │ │ ├── index.rn.jsx │ │ └── index.scss │ ├── panel.jsx │ ├── panel.scss │ ├── scroll_view │ │ ├── index.d.ts │ │ ├── index.h5.jsx │ │ ├── index.jsx │ │ ├── index.rn.jsx │ │ └── index.scss │ ├── swiper.jsx │ ├── swiper.scss │ ├── tab.jsx │ ├── tab.scss │ ├── text.jsx │ ├── text.scss │ ├── video.jsx │ ├── video.scss │ ├── view.jsx │ └── view.scss ├── design.js ├── editConfig.js ├── form │ ├── array.jsx │ ├── array_one.jsx │ ├── array_one.scss │ ├── array_two.jsx │ ├── array_two.scss │ ├── check.jsx │ ├── check.scss │ ├── color.jsx │ ├── color.scss │ ├── date.jsx │ ├── date.scss │ ├── editConfig.js │ ├── form.jsx │ ├── form.scss │ ├── index.js │ ├── input.jsx │ ├── input.scss │ ├── object.jsx │ ├── rate.jsx │ ├── rate.scss │ ├── select.jsx │ ├── select.scss │ ├── slider.jsx │ ├── slider.scss │ ├── steep.jsx │ ├── steep.scss │ ├── switch.jsx │ ├── switch.scss │ ├── time.jsx │ ├── time.scss │ ├── upload.jsx │ ├── upload.scss │ └── utils │ │ └── index.js ├── index.d.ts ├── index.js └── overlay │ ├── absolute.d.ts │ ├── absolute.jsx │ ├── index.js │ ├── modal.d.ts │ ├── modal.jsx │ ├── modal.scss │ ├── pull_view.d.ts │ ├── pull_view.jsx │ ├── pull_view.rn.jsx │ ├── pull_view.scss │ ├── status.jsx │ ├── status.rn.jsx │ ├── top_view.d.ts │ ├── top_view.jsx │ └── top_view.scss ├── design ├── attrForm │ ├── common │ │ ├── box.jsx │ │ ├── box.scss │ │ ├── group.jsx │ │ ├── group.scss │ │ ├── iconSelect.jsx │ │ ├── iconSelect.scss │ │ ├── input.jsx │ │ ├── input.scss │ │ ├── item.jsx │ │ ├── item.scss │ │ ├── switch.jsx │ │ ├── switch.scss │ │ ├── tab.jsx │ │ └── tab.scss │ ├── form.jsx │ ├── form.scss │ ├── index.js │ ├── style.jsx │ └── style.scss ├── components │ ├── AttrForm.jsx │ ├── attr.jsx │ ├── attr.scss │ ├── attrForm.scss │ ├── create.jsx │ ├── create.scss │ ├── del.jsx │ ├── del.scss │ ├── edit.d.ts │ ├── edit.jsx │ ├── edit.scss │ ├── export.jsx │ ├── export.scss │ ├── hover.jsx │ ├── hover.scss │ ├── menus.jsx │ ├── menus.scss │ ├── node.jsx │ ├── node.scss │ ├── preview.jsx │ └── preview.scss ├── index.d.ts ├── index.js ├── init.js ├── min.js ├── template │ ├── add.jsx │ ├── add.scss │ ├── auth.jsx │ ├── auth.scss │ ├── index.jsx │ ├── index.scss │ ├── list.jsx │ ├── list.scss │ └── utils │ │ ├── index.js │ │ ├── request.js │ │ └── user.js └── util │ ├── comp.js │ ├── config.d.ts │ ├── config.js │ ├── context.js │ ├── edit.js │ ├── editTypes.js │ ├── formCreate.d.ts │ ├── formCreate.js │ ├── history.js │ ├── node.js │ ├── styled.d.ts │ ├── styled.js │ └── util.js ├── doc ├── customComponent.md ├── icon.md └── images │ ├── image1.png │ └── qq.png ├── gulpfile.js ├── index.d.ts ├── index.js ├── package.json ├── render ├── ComponentItem.d.ts ├── ComponentItem.jsx ├── Create.d.ts ├── Create.jsx ├── index.d.ts ├── index.js ├── init.js ├── static │ ├── base.css │ └── icon │ │ ├── icon.css │ │ └── icon.js └── util │ ├── context.js │ ├── icon.d.ts │ ├── icon.js │ ├── node.d.ts │ ├── node.js │ ├── styled.d.ts │ └── styled.js ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # node.js 3 | # 4 | node_modules/ 5 | npm-debug.log 6 | yarn-error.log 7 | 8 | # typedoc 9 | docs/ 10 | -------------------------------------------------------------------------------- /components/base/button.d.ts: -------------------------------------------------------------------------------- 1 | import { CSSProperties, LegacyRef, ComponentType } from 'react' 2 | 3 | /** 圆角类型 */ 4 | interface radiusType { 5 | /** 直角 */ 6 | 'right-angle' 7 | /** 圆角 */ 8 | fillet 9 | /** 较小的圆角 */ 10 | 'fillet-min' 11 | } 12 | 13 | /** 尺寸 */ 14 | interface size { 15 | /** s号 */ 16 | s 17 | /** m号 */ 18 | m 19 | /** l号 */ 20 | l 21 | /** xl号 */ 22 | xl 23 | /** xxl号 */ 24 | xxl 25 | /** xxxl号 */ 26 | xxxl 27 | } 28 | 29 | 30 | interface ButtonProps { 31 | /** 按钮文字 */ 32 | text: string 33 | /** 按钮颜色 */ 34 | color?: string 35 | /** 圆角类型 */ 36 | radiusType?: keyof radiusType 37 | /** 按钮尺寸 */ 38 | size?: keyof size 39 | /** 镂空效果 */ 40 | plain?: boolean 41 | /** 是否禁用 */ 42 | disabled?: boolean 43 | /** 显示loading */ 44 | loading?: boolean 45 | /** 按钮样式 */ 46 | style?: CSSProperties 47 | /** 按钮文字样式 */ 48 | textStyle?: CSSProperties 49 | /** 按钮前置图片 */ 50 | beforeImage?: string 51 | /** 按钮后置图片 */ 52 | afterImage?: string 53 | /** 点击事件 */ 54 | onClick: () => any 55 | /** 引用 */ 56 | ref?: LegacyRef 57 | } 58 | 59 | /** 60 | * 统一样式的按钮 61 | * @example 62 | * ```jsx 63 | *