1.2.11 • Published 1 year ago

rollup-project-test v1.2.11

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

组件库

目录结构

|-- .babelrc  					#babel配置
|-- .eslintignore
|-- .eslintrc				#eslint配置
|-- .gitignore
|-- package-lock.json
|-- package.json
|-- README.md				    #说明文档
|-- rollup.config.dev.js	    #开发环境打包配置
|-- rollup.config.js			#生产环境打包配置
|-- dist						#打包产物
|-- dumi
|   |-- .dumirc.js				#dumi配置
|   |-- .dumi
|   |-- docs					#组件库文档目录
|   |   |-- index.md		    #组件库文档首页
|   |-- src						#组件库目录结构
|       |-- index.js
|       |-- Button
|           |-- index.jsx
|           |-- index.md
|-- public						#测试用
|   |-- App.jsx
|   |-- bundle.js
|   |-- index.html
|   |-- index.js
|-- src							#组件库源码
    |-- index.js				#入口
    |-- components			    #组件
    |   |-- Button
    |   |   |-- index.jsx
    |   |   |-- index.less
    |   |-- Swtich
    |-- global					#全局样式
    |   |-- default.less
    |   |-- index.js
    |   |-- index.less
    |-- tools					#工具
        |-- class.js

scripts

  "scripts": {
    "dev": "cross-env NODE_ENV=development rollup --config rollup.config.dev.js -w",
    "build": "cross-env NODE_ENV=production rollup --config rollup.config.js --bundleConfigAsCjs" ,
    "pub": "rollup --config rollup.config.js --bundleConfigAsCjs && npm version patch && npm publish",
    "dumi": "cross-env APP_ROOT=dumi dumi dev",
    "dumi-build": "cross-env APP_ROOT=dumi dumi build"
  }
  npm run dev	#在开发环境下测试组件
  npm run build	#生成打包文档
  npm run pub	#打包上传至npm的快捷命令
  npm run dumi	#在线浏览组件库文档
  npm run dumi-build	#打包组件库文档

Button

属性

属性说明类型默认值
color按钮的颜色'default' |'primary'|'success' |'warning'|'danger''default'
fill填充模式'solid' |'outline' |'none''solid'
size大小'mini' | 'samll' | 'middle' | 'large''middle'
block是否是块级元素booleanfalse
disabled是否禁用booleanfalse
type原生 button 元素的 type 属性'submit'| 'reset' |'button''button'
onClick点击事件event-
shape按钮的形状'default' | 'rounded' | 'rectangular''default'

CSS变量

属性说明默认值全局变量
--text-color文字颜色var(--gao-color-text)--gao-button-text-color
--background-color背景颜色var(--gao-color-white)--gao-button-background-color
--border-radius圆角大小4px--gao-button-border-radius
--border-width边框宽度1px--gao-button-border-width
--border-style边框样式solid--gao-button-border-style
--border-color边框颜色var(--gao-border-color)--gao-button-border-color

示例

import React from 'react'
import Button from 'rollup-project-test';

export default () =>{
    return (
        <>
            color<br/>
            <Button></Button>  &nbsp;
            <Button color='danger'>danger</Button>  &nbsp;  
            <Button color='success'>success</Button>  &nbsp;  
            <Button color='warning'>warning</Button>  &nbsp;  
            <Button color='primary'>primary</Button>  &nbsp;  

            <br/><br/>block<br/>
            <Button block color='primary'>block</Button>

            <br/><br/>disabled<br/>
            <Button disabled color='primary'>disabled</Button>

            <br/><br/>fill<br/>  
            <Button color='primary' fill='solid'>solid</Button>  &nbsp;  
            <Button color='primary' fill='outline'>outline</Button>  &nbsp;  
            <Button color='primary' fill='none'>none</Button>

            <br/><br/>size<br/>  
            <Button color='primary' size='mini'>mini</Button>  &nbsp;
            <Button color='primary' size='small'>small</Button>  &nbsp;
            <Button color='primary' size='middle'>middle</Button>  &nbsp;
            <Button color='primary' size='large'>large</Button>

            <br/><br/>shape<br/>  
            <Button color='primary' shape='default'>default</Button>  &nbsp;
            <Button color='primary' shape='rounded'>rounded</Button>  &nbsp;
            <Button color='primary' shape='rectangular'>rectangular</Button>

            <br/><br/>type<br/>  
            <Button color='primary' type='button'>button</Button>  &nbsp;
            <Button color='primary' type='reset'>reset</Button>  &nbsp;
            <Button color='primary' type='submit'>submit</Button>
            
            <br/><br/>onClick<br/>
            <Button color='primary' onClick={()=>{alert('hello')}}>onClick</Button>
        </>
    )
};

结果

image-20230111152336547

Switch

属性

参数说明类型默认值
checked指定当前是否打开booleanfalse
defaultChecked初始是否打开booleanfalse
loading加载状态booleanfalse
disabled禁用状态booleanfalse
onChange变化时回调函数function-
checkedText选中时的内容ReactNode-
uncheckedText非选中时的内容ReactNode-

CSS变量

属性说明默认值
--checked-color填充颜色var(--gao-color-primary)
--width宽度51px
--height高度31px
--border-width边框宽度2px

示例

结果

Modal

属性

属性说明类型默认值
actions操作按钮列表Action[][]
afterCloseModal 完全关闭后的回调() => void-
afterShow完全展示后触发() => void-
bodyClassNameModal 内容类名string-
bodyStyleModal 内容样式React.CSSProperties-
closeOnAction点击操作按钮后后是否关闭booleanfalse
closeOnMaskClick是否支持点击遮罩关闭弹窗booleanfalse
content弹窗内容React.ReactNode-
destroyOnClose不可见时卸载内容booleanfalse
disableBodyScroll背景蒙层是否禁用 body 滚动booleantrue
forceRender被隐藏时是否渲染 DOM 结构booleanfalse
getContainer自定义弹窗的父容器HTMLElement | (() => HTMLElement) | nullnull
header顶部区域React.ReactNode-
image图片 urlstring-
maskClassNameModal 遮罩类名string-
maskStyleModal 遮罩样式React.CSSProperties-
onAction点击操作按钮时触发(action: Action, index: number) => void | Promise<void>-
onClose关闭时触发() => void-
showCloseButton是否在右上角显示关闭图标按钮booleanfalse
stopPropagation阻止某些事件的冒泡PropagationEvent[]['click']
title弹窗标题React.ReactNode-
visible显示隐藏booleanfalse

action

属性说明类型默认值
classNameAction 类名string-
danger是否为危险状态booleanfalse
disabled是否为禁用状态booleanfalse
key唯一标记string | number-
onClick点击时触发() => void | Promise<void>-
primary是否为主要状态booleanfalse
styleAction 样式React.CSSProperties-

全局变量

方法一:在 CSS 文件中设置

给 Button组件加一个自定义的 className

<Button className='test'></Button> 

然后在 CSS 文件中设置 CSS 变量

.test{
    --border-radius: 1000px;
}

方法二:直接通过 style 属性设置

直接通过组件的 style 属性,适合小范围的调整:

<Button style={{
  '--border-radius': '2px'
}}/>

方法三:通过全局变量进行设置

假如需要对整个项目中所有的 Button 都进行样式的调整,那么对每一个按钮进行 CSS 变量的设置显然是不现实的。在这种情况下,可以通过"全局 CSS 变量"(也就是上面表格中的最后一列)进行统一的设置:

:root:root {
  --gao-button-border-radius: 1000px;
}
1.2.0

1 year ago

1.2.8

1 year ago

1.1.9

1 year ago

1.2.7

1 year ago

1.2.6

1 year ago

1.1.7

1 year ago

1.2.5

1 year ago

1.1.6

1 year ago

1.2.4

1 year ago

1.1.5

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.9

1 year ago

1.2.10

1 year ago

1.2.11

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago