wz-h5-design 1.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/README.md +51 -0
- package/dist/Button/index.js +84 -0
- package/dist/Button/index.umd.cjs +1 -0
- package/dist/Button/style/index.css +1 -0
- package/dist/Button/style/index.js +1 -0
- package/dist/Button/style.css +1 -0
- package/dist/Card/index.js +32 -0
- package/dist/Card/index.umd.cjs +1 -0
- package/dist/Card/style/index.css +1 -0
- package/dist/Card/style/index.js +1 -0
- package/dist/Card/style.css +1 -0
- package/dist/Cascader/index.js +94 -0
- package/dist/Cascader/index.umd.cjs +1 -0
- package/dist/Cascader/style/index.css +1 -0
- package/dist/Cascader/style/index.js +1 -0
- package/dist/Cascader/style.css +1 -0
- package/dist/Cell/index.js +135 -0
- package/dist/Cell/index.umd.cjs +6 -0
- package/dist/Cell/style/index.css +1 -0
- package/dist/Cell/style/index.js +1 -0
- package/dist/Cell/style.css +1 -0
- package/dist/CheckList/index.js +34 -0
- package/dist/CheckList/index.umd.cjs +1 -0
- package/dist/CheckList/style/index.css +1 -0
- package/dist/CheckList/style/index.js +1 -0
- package/dist/CheckList/style.css +1 -0
- package/dist/Checkbox/index.js +84 -0
- package/dist/Checkbox/index.umd.cjs +1 -0
- package/dist/Checkbox/style/index.css +1 -0
- package/dist/Checkbox/style/index.js +1 -0
- package/dist/Checkbox/style.css +1 -0
- package/dist/Collapse/index.js +72 -0
- package/dist/Collapse/index.umd.cjs +1 -0
- package/dist/Collapse/style/index.css +1 -0
- package/dist/Collapse/style/index.js +1 -0
- package/dist/Collapse/style.css +1 -0
- package/dist/DatePicker/index.js +154 -0
- package/dist/DatePicker/index.umd.cjs +1 -0
- package/dist/DatePicker/style/index.css +1 -0
- package/dist/DatePicker/style/index.js +1 -0
- package/dist/DatePicker/style.css +1 -0
- package/dist/DateRangePicker/index.js +220 -0
- package/dist/DateRangePicker/index.umd.cjs +1 -0
- package/dist/DateRangePicker/style/index.css +1 -0
- package/dist/DateRangePicker/style/index.js +1 -0
- package/dist/DateRangePicker/style.css +1 -0
- package/dist/Dialog/index.js +216 -0
- package/dist/Dialog/index.umd.cjs +6 -0
- package/dist/Dialog/style/index.css +1 -0
- package/dist/Dialog/style/index.js +1 -0
- package/dist/Dialog/style.css +1 -0
- package/dist/Divider/index.js +27 -0
- package/dist/Divider/index.umd.cjs +1 -0
- package/dist/Divider/style/index.css +1 -0
- package/dist/Divider/style/index.js +1 -0
- package/dist/Divider/style.css +1 -0
- package/dist/DropDownMenu/index.js +111 -0
- package/dist/DropDownMenu/index.umd.cjs +1 -0
- package/dist/DropDownMenu/style/index.css +1 -0
- package/dist/DropDownMenu/style/index.js +1 -0
- package/dist/DropDownMenu/style.css +1 -0
- package/dist/Flex/index.js +85 -0
- package/dist/Flex/index.umd.cjs +1 -0
- package/dist/Flex/style/index.css +1 -0
- package/dist/Flex/style/index.js +1 -0
- package/dist/Flex/style.css +1 -0
- package/dist/Grid/index.js +54 -0
- package/dist/Grid/index.umd.cjs +1 -0
- package/dist/Grid/style/index.css +1 -0
- package/dist/Grid/style/index.js +1 -0
- package/dist/Grid/style.css +1 -0
- package/dist/GridView/index.js +90 -0
- package/dist/GridView/index.umd.cjs +1 -0
- package/dist/GridView/style/index.css +1 -0
- package/dist/GridView/style/index.js +1 -0
- package/dist/GridView/style.css +1 -0
- package/dist/Icon/index.js +31 -0
- package/dist/Icon/index.umd.cjs +1 -0
- package/dist/Icon/style/index.css +1 -0
- package/dist/Icon/style/index.js +1 -0
- package/dist/Icon/style.css +1 -0
- package/dist/Input/index.js +148 -0
- package/dist/Input/index.umd.cjs +1 -0
- package/dist/Input/style/index.css +1 -0
- package/dist/Input/style/index.js +1 -0
- package/dist/Input/style.css +1 -0
- package/dist/NavBar/index.js +175 -0
- package/dist/NavBar/index.umd.cjs +6 -0
- package/dist/NavBar/style/index.css +1 -0
- package/dist/NavBar/style/index.js +1 -0
- package/dist/NavBar/style.css +1 -0
- package/dist/Popup/index.js +124 -0
- package/dist/Popup/index.umd.cjs +1 -0
- package/dist/Popup/style/index.css +1 -0
- package/dist/Popup/style/index.js +1 -0
- package/dist/Popup/style.css +1 -0
- package/dist/Radio/index.js +82 -0
- package/dist/Radio/index.umd.cjs +1 -0
- package/dist/Radio/style/index.css +1 -0
- package/dist/Radio/style/index.js +1 -0
- package/dist/Radio/style.css +1 -0
- package/dist/Search/index.js +158 -0
- package/dist/Search/index.umd.cjs +1 -0
- package/dist/Search/style/index.css +1 -0
- package/dist/Search/style/index.js +1 -0
- package/dist/Search/style.css +1 -0
- package/dist/Stepper/index.js +140 -0
- package/dist/Stepper/index.umd.cjs +1 -0
- package/dist/Stepper/style/index.css +1 -0
- package/dist/Stepper/style/index.js +1 -0
- package/dist/Stepper/style.css +1 -0
- package/dist/Switch/index.js +53 -0
- package/dist/Switch/index.umd.cjs +1 -0
- package/dist/Switch/style/index.css +1 -0
- package/dist/Switch/style/index.js +1 -0
- package/dist/Switch/style.css +1 -0
- package/dist/Tabbar/index.js +159 -0
- package/dist/Tabbar/index.umd.cjs +6 -0
- package/dist/Tabbar/style/index.css +1 -0
- package/dist/Tabbar/style/index.js +1 -0
- package/dist/Tabbar/style.css +1 -0
- package/dist/Tabs/index.js +50 -0
- package/dist/Tabs/index.umd.cjs +1 -0
- package/dist/Tabs/style/index.css +1 -0
- package/dist/Tabs/style/index.js +1 -0
- package/dist/Tabs/style.css +1 -0
- package/dist/Tag/index.js +96 -0
- package/dist/Tag/index.umd.cjs +6 -0
- package/dist/Tag/style/index.css +1 -0
- package/dist/Tag/style/index.js +1 -0
- package/dist/Tag/style.css +1 -0
- package/dist/TimePicker/index.js +201 -0
- package/dist/TimePicker/index.umd.cjs +1 -0
- package/dist/TimePicker/style/index.css +1 -0
- package/dist/TimePicker/style/index.js +1 -0
- package/dist/TimePicker/style.css +1 -0
- package/dist/Tip/index.js +104 -0
- package/dist/Tip/index.umd.cjs +6 -0
- package/dist/Tip/style/index.css +1 -0
- package/dist/Tip/style/index.js +1 -0
- package/dist/Tip/style.css +1 -0
- package/dist/Toast/index.js +183 -0
- package/dist/Toast/index.umd.cjs +6 -0
- package/dist/Toast/style/index.css +1 -0
- package/dist/Toast/style/index.js +1 -0
- package/dist/Toast/style.css +1 -0
- package/dist/Tooltip/index.js +172 -0
- package/dist/Tooltip/index.umd.cjs +6 -0
- package/dist/Tooltip/style/index.css +1 -0
- package/dist/Tooltip/style/index.js +1 -0
- package/dist/Tooltip/style.css +1 -0
- package/dist/assets/fonts/qitu/iconfont.css +140 -0
- package/dist/assets/fonts/qitu/iconfont.ttf +0 -0
- package/dist/assets/fonts/qitu/iconfont.woff +0 -0
- package/dist/assets/fonts/qitu/iconfont.woff2 +0 -0
- package/dist/assets/fonts/qituyonghu/iconfont.css +64 -0
- package/dist/assets/fonts/qituyonghu/iconfont.ttf +0 -0
- package/dist/assets/fonts/qituyonghu/iconfont.woff +0 -0
- package/dist/assets/fonts/qituyonghu/iconfont.woff2 +0 -0
- package/dist/assets/fonts/wzdaili/iconfont.css +71 -0
- package/dist/assets/fonts/wzdaili/iconfont.ttf +0 -0
- package/dist/assets/fonts/wzdaili/iconfont.woff +0 -0
- package/dist/assets/fonts/wzdaili/iconfont.woff2 +0 -0
- package/dist/assets/fonts/wzyonghu/iconfont.css +97 -0
- package/dist/assets/fonts/wzyonghu/iconfont.ttf +0 -0
- package/dist/assets/fonts/wzyonghu/iconfont.woff +0 -0
- package/dist/assets/fonts/wzyonghu/iconfont.woff2 +0 -0
- package/dist/assets/fonts/yunying/iconfont.css +303 -0
- package/dist/assets/fonts/yunying/iconfont.ttf +0 -0
- package/dist/assets/fonts/yunying/iconfont.woff +0 -0
- package/dist/assets/fonts/yunying/iconfont.woff2 +0 -0
- package/dist/style.css +1 -0
- package/dist/types/components/Button/Button.d.ts +16 -0
- package/dist/types/components/Button/index.d.ts +5 -0
- package/dist/types/components/Card/Card.d.ts +15 -0
- package/dist/types/components/Card/index.d.ts +3 -0
- package/dist/types/components/Cascader/Cascader.d.ts +14 -0
- package/dist/types/components/Cascader/index.d.ts +3 -0
- package/dist/types/components/Cell/Cell.d.ts +24 -0
- package/dist/types/components/Cell/CellGroup.d.ts +8 -0
- package/dist/types/components/Cell/index.d.ts +8 -0
- package/dist/types/components/CheckList/CheckList.d.ts +11 -0
- package/dist/types/components/CheckList/index.d.ts +3 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +62 -0
- package/dist/types/components/Checkbox/index.d.ts +3 -0
- package/dist/types/components/Collapse/Collapse.d.ts +17 -0
- package/dist/types/components/Collapse/index.d.ts +3 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +13 -0
- package/dist/types/components/DatePicker/index.d.ts +3 -0
- package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +13 -0
- package/dist/types/components/DateRangePicker/index.d.ts +3 -0
- package/dist/types/components/Dialog/Dialog.d.ts +16 -0
- package/dist/types/components/Dialog/imperative.d.ts +8 -0
- package/dist/types/components/Dialog/index.d.ts +8 -0
- package/dist/types/components/Divider/Divider.d.ts +11 -0
- package/dist/types/components/Divider/index.d.ts +3 -0
- package/dist/types/components/DropDownMenu/DropdownMenu.d.ts +19 -0
- package/dist/types/components/DropDownMenu/index.d.ts +2 -0
- package/dist/types/components/Flex/Flex.d.ts +25 -0
- package/dist/types/components/Flex/index.d.ts +3 -0
- package/dist/types/components/Grid/Grid.d.ts +22 -0
- package/dist/types/components/Grid/index.d.ts +3 -0
- package/dist/types/components/GridView/GridView.d.ts +59 -0
- package/dist/types/components/GridView/index.d.ts +2 -0
- package/dist/types/components/Icon/Icon.d.ts +12 -0
- package/dist/types/components/Icon/icon-data.d.ts +42 -0
- package/dist/types/components/Icon/index.d.ts +3 -0
- package/dist/types/components/Input/Input.d.ts +17 -0
- package/dist/types/components/Input/index.d.ts +3 -0
- package/dist/types/components/NavBar/NavBar.d.ts +20 -0
- package/dist/types/components/NavBar/index.d.ts +3 -0
- package/dist/types/components/Popup/Popup.d.ts +23 -0
- package/dist/types/components/Popup/index.d.ts +3 -0
- package/dist/types/components/Radio/Radio.d.ts +62 -0
- package/dist/types/components/Radio/index.d.ts +3 -0
- package/dist/types/components/Search/Search.d.ts +26 -0
- package/dist/types/components/Search/index.d.ts +3 -0
- package/dist/types/components/Stepper/Stepper.d.ts +22 -0
- package/dist/types/components/Stepper/index.d.ts +3 -0
- package/dist/types/components/Switch/Switch.d.ts +16 -0
- package/dist/types/components/Switch/index.d.ts +3 -0
- package/dist/types/components/Tabbar/Tabbar.d.ts +39 -0
- package/dist/types/components/Tabbar/index.d.ts +3 -0
- package/dist/types/components/Tabs/Tabs.d.ts +25 -0
- package/dist/types/components/Tabs/index.d.ts +3 -0
- package/dist/types/components/Tag/Tag.d.ts +39 -0
- package/dist/types/components/Tag/index.d.ts +3 -0
- package/dist/types/components/TimePicker/TimePicker.d.ts +12 -0
- package/dist/types/components/TimePicker/index.d.ts +3 -0
- package/dist/types/components/Tip/Tip.d.ts +32 -0
- package/dist/types/components/Tip/index.d.ts +3 -0
- package/dist/types/components/Toast/Toast.d.ts +11 -0
- package/dist/types/components/Toast/index.d.ts +15 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +17 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -0
- package/dist/types/components/index.d.ts +31 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/utils/color.d.ts +1 -0
- package/dist/wz-h5-design.es.js +2449 -0
- package/dist/wz-h5-design.umd.js +6 -0
- package/package.json +84 -0
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
## 安装
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
npm install wz-h5-design
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
## 开发
|
|
8
|
+
|
|
9
|
+
### 安装依赖
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### 启动文档服务器
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm run docs:dev
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 产出组件库
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm run build:lib
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 构建文档
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm run docs:build
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 文档结构
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
├── docs # 文档目录
|
|
37
|
+
│ ├── guide # 指南文档
|
|
38
|
+
│ └── components # 组件文档
|
|
39
|
+
├── src # 源码目录
|
|
40
|
+
│ └── components # 组件目录
|
|
41
|
+
│ ├── Button # 按钮组件
|
|
42
|
+
│ │ ├── demos # 示例代码
|
|
43
|
+
│ │ ├── Button.tsx # 组件实现
|
|
44
|
+
│ │ ├── Button.scss # 组件样式
|
|
45
|
+
│ │ └── index.md # 组件文档
|
|
46
|
+
│ └── ... # 其他组件
|
|
47
|
+
├── .dumirc.ts # Dumi 配置
|
|
48
|
+
└── package.json # 项目配置
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
test
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useState, useRef, useMemo } from "react";
|
|
3
|
+
const Button = forwardRef(({
|
|
4
|
+
type = "primary",
|
|
5
|
+
size = "medium",
|
|
6
|
+
block = false,
|
|
7
|
+
disabled = false,
|
|
8
|
+
color = "",
|
|
9
|
+
textColor = "",
|
|
10
|
+
borderColor = "",
|
|
11
|
+
className = "",
|
|
12
|
+
style = {},
|
|
13
|
+
children,
|
|
14
|
+
onClick
|
|
15
|
+
}, ref) => {
|
|
16
|
+
const [isActive, setIsActive] = useState(false);
|
|
17
|
+
const timerRef = useRef(null);
|
|
18
|
+
const buttonStyle = useMemo(() => {
|
|
19
|
+
if (type === "cancel") return style;
|
|
20
|
+
if (type === "outline") {
|
|
21
|
+
return {
|
|
22
|
+
color: textColor || "var(--wz-primary-color)",
|
|
23
|
+
borderColor: borderColor || "var(--wz-primary-color)",
|
|
24
|
+
background: "transparent",
|
|
25
|
+
...style
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (type === "text") {
|
|
29
|
+
return {
|
|
30
|
+
color: textColor || style.color || "var(--wz-primary-color, #22C94D)",
|
|
31
|
+
background: "transparent",
|
|
32
|
+
border: "none",
|
|
33
|
+
boxShadow: "none",
|
|
34
|
+
...style
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (type === "primary") {
|
|
38
|
+
let s = { ...style };
|
|
39
|
+
s.background = color || "var(--wz-primary-gradient, var(--wz-primary-color))";
|
|
40
|
+
s.color = textColor || "#fff";
|
|
41
|
+
return s;
|
|
42
|
+
}
|
|
43
|
+
return style;
|
|
44
|
+
}, [type, color, textColor, borderColor, style]);
|
|
45
|
+
const handleClick = (e) => {
|
|
46
|
+
if (disabled) return;
|
|
47
|
+
setIsActive(true);
|
|
48
|
+
if (timerRef.current) window.clearTimeout(timerRef.current);
|
|
49
|
+
timerRef.current = window.setTimeout(() => setIsActive(false), 100);
|
|
50
|
+
onClick == null ? void 0 : onClick(e);
|
|
51
|
+
};
|
|
52
|
+
const btnClass = [
|
|
53
|
+
"wz-button",
|
|
54
|
+
`wz-button--${type}`,
|
|
55
|
+
`wz-button--${size}`,
|
|
56
|
+
block ? "wz-button--block" : "",
|
|
57
|
+
disabled ? "wz-button--disabled" : "",
|
|
58
|
+
isActive && !disabled ? "wz-button--active" : "",
|
|
59
|
+
className
|
|
60
|
+
].filter(Boolean).join(" ");
|
|
61
|
+
return /* @__PURE__ */ jsxs(
|
|
62
|
+
"button",
|
|
63
|
+
{
|
|
64
|
+
ref,
|
|
65
|
+
type: "button",
|
|
66
|
+
className: btnClass,
|
|
67
|
+
style: buttonStyle,
|
|
68
|
+
disabled,
|
|
69
|
+
onClick: handleClick,
|
|
70
|
+
children: [
|
|
71
|
+
children,
|
|
72
|
+
type === "primary" && isActive && /* @__PURE__ */ jsx("span", { className: "wz-button__mask" }),
|
|
73
|
+
type === "outline" && isActive && /* @__PURE__ */ jsx("span", { className: "wz-button__mask" }),
|
|
74
|
+
type === "outline" && disabled && /* @__PURE__ */ jsx("span", { className: "wz-button__mask--disabled" }),
|
|
75
|
+
type === "cancel" && isActive && /* @__PURE__ */ jsx("span", { className: "wz-button__mask--cancel" })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
});
|
|
80
|
+
Button.displayName = "Button";
|
|
81
|
+
export {
|
|
82
|
+
Button,
|
|
83
|
+
Button as default
|
|
84
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime"),require("react")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Button={},e.jsxRuntime,e.React)}(this,(function(e,t,r){"use strict";const o=r.forwardRef((({type:e="primary",size:o="medium",block:n=!1,disabled:a=!1,color:l="",textColor:s="",borderColor:u="",className:i="",style:c={},children:d,onClick:b},m)=>{const[f,p]=r.useState(!1),w=r.useRef(null),y=r.useMemo((()=>{if("cancel"===e)return c;if("outline"===e)return{color:s||"var(--wz-primary-color)",borderColor:u||"var(--wz-primary-color)",background:"transparent",...c};if("text"===e)return{color:s||c.color||"var(--wz-primary-color, #22C94D)",background:"transparent",border:"none",boxShadow:"none",...c};if("primary"===e){let e={...c};return e.background=l||"var(--wz-primary-gradient, var(--wz-primary-color))",e.color=s||"#fff",e}return c}),[e,l,s,u,c]),z=["wz-button",`wz-button--${e}`,`wz-button--${o}`,n?"wz-button--block":"",a?"wz-button--disabled":"",f&&!a?"wz-button--active":"",i].filter(Boolean).join(" ");return t.jsxs("button",{ref:m,type:"button",className:z,style:y,disabled:a,onClick:e=>{a||(p(!0),w.current&&window.clearTimeout(w.current),w.current=window.setTimeout((()=>p(!1)),100),null==b||b(e))},children:[d,"primary"===e&&f&&t.jsx("span",{className:"wz-button__mask"}),"outline"===e&&f&&t.jsx("span",{className:"wz-button__mask"}),"outline"===e&&a&&t.jsx("span",{className:"wz-button__mask--disabled"}),"cancel"===e&&f&&t.jsx("span",{className:"wz-button__mask--cancel"})]})}));o.displayName="Button",e.Button=o,e.default=o,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-button{box-sizing:border-box;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:23px;outline:none;justify-content:center;align-items:center;height:40px;padding:0 15px;font-family:"Alibaba PuHuiTi 2.0",Alibaba-PuHuiTi-Regular,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:18px;font-weight:600;line-height:23px;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.wz-button--primary{color:#fff;background:var(--wz-primary-gradient,linear-gradient(90deg,#0ac0f7 0%,#0596f7 100%));border:none;border-radius:23px}.wz-button--primary.wz-button--disabled{background:#c0c4cc}.wz-button--outline{color:var(--wz-primary-color,#22c94d);border:1px solid var(--wz-primary-color,#22c94d);background:0 0;border-radius:26px}.wz-button--cancel{color:#fff;background:#c0c4cc;border:none;border-radius:26px}.wz-button--block{width:100%;display:flex}.wz-button--large{height:45px;padding:0 20px;font-size:18px}.wz-button--medium{height:30px;padding:0 16px;font-size:14px}.wz-button--small{height:25px;padding:0 12px;font-size:13px}.wz-button--disabled{cursor:not-allowed;opacity:.6}.wz-button--active{opacity:.9}.wz-button__mask{pointer-events:none;border-radius:inherit;z-index:1;background:#00000014;width:100%;height:100%;position:absolute;top:0;left:0}.wz-button__mask--disabled{pointer-events:none;border-radius:inherit;z-index:10;background:#ffffff80;width:100%;height:100%;position:absolute;top:0;left:0}.wz-button__mask--cancel{pointer-events:none;border-radius:inherit;z-index:10;background:#0000000f;width:100%;height:100%;position:absolute;top:0;left:0}@media screen and (max-width:767px){.wz-button--small{height:30px;font-size:14px}.wz-button--medium{height:40px;font-size:15px}.wz-button--large{height:50px;font-size:16px}}.wz-button--text{color:var(--wz-primary-color,#22c94d);box-shadow:none;background:0 0;border:none;min-width:0;height:auto;padding:0 8px;font-size:16px;font-weight:600;transition:color .2s}.wz-button--text:active{color:#179a38;background:#f5f7f9}.wz-button--disabled.wz-button--text{color:#c0c4cc;background:0 0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-button{box-sizing:border-box;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:23px;outline:none;justify-content:center;align-items:center;height:40px;padding:0 15px;font-family:"Alibaba PuHuiTi 2.0",Alibaba-PuHuiTi-Regular,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:18px;font-weight:600;line-height:23px;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.wz-button--primary{color:#fff;background:var(--wz-primary-gradient,linear-gradient(90deg,#0ac0f7 0%,#0596f7 100%));border:none;border-radius:23px}.wz-button--primary.wz-button--disabled{background:#c0c4cc}.wz-button--outline{color:var(--wz-primary-color,#22c94d);border:1px solid var(--wz-primary-color,#22c94d);background:0 0;border-radius:26px}.wz-button--cancel{color:#fff;background:#c0c4cc;border:none;border-radius:26px}.wz-button--block{width:100%;display:flex}.wz-button--large{height:45px;padding:0 20px;font-size:18px}.wz-button--medium{height:30px;padding:0 16px;font-size:14px}.wz-button--small{height:25px;padding:0 12px;font-size:13px}.wz-button--disabled{cursor:not-allowed;opacity:.6}.wz-button--active{opacity:.9}.wz-button__mask{pointer-events:none;border-radius:inherit;z-index:1;background:#00000014;width:100%;height:100%;position:absolute;top:0;left:0}.wz-button__mask--disabled{pointer-events:none;border-radius:inherit;z-index:10;background:#ffffff80;width:100%;height:100%;position:absolute;top:0;left:0}.wz-button__mask--cancel{pointer-events:none;border-radius:inherit;z-index:10;background:#0000000f;width:100%;height:100%;position:absolute;top:0;left:0}@media screen and (max-width:767px){.wz-button--small{height:30px;font-size:14px}.wz-button--medium{height:40px;font-size:15px}.wz-button--large{height:50px;font-size:16px}}.wz-button--text{color:var(--wz-primary-color,#22c94d);box-shadow:none;background:0 0;border:none;min-width:0;height:auto;padding:0 8px;font-size:16px;font-weight:600;transition:color .2s}.wz-button--text:active{color:#179a38;background:#f5f7f9}.wz-button--disabled.wz-button--text{color:#c0c4cc;background:0 0}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const Card = ({
|
|
3
|
+
title,
|
|
4
|
+
extra,
|
|
5
|
+
cover,
|
|
6
|
+
actions,
|
|
7
|
+
bordered,
|
|
8
|
+
noDivider = false,
|
|
9
|
+
className = "",
|
|
10
|
+
style,
|
|
11
|
+
children,
|
|
12
|
+
onClick
|
|
13
|
+
}) => {
|
|
14
|
+
const cardClassName = [
|
|
15
|
+
"wz-card",
|
|
16
|
+
bordered !== void 0 ? "wz-card-bordered" : "",
|
|
17
|
+
noDivider ? "wz-card-no-divider" : "",
|
|
18
|
+
className
|
|
19
|
+
].filter(Boolean).join(" ");
|
|
20
|
+
return /* @__PURE__ */ jsxs("div", { className: cardClassName, style, onClick, children: [
|
|
21
|
+
cover && /* @__PURE__ */ jsx("div", { className: "wz-card-cover", children: cover }),
|
|
22
|
+
(title || extra) && /* @__PURE__ */ jsxs("div", { className: "wz-card-header", children: [
|
|
23
|
+
title && /* @__PURE__ */ jsx("div", { className: "wz-card-title", children: title }),
|
|
24
|
+
extra && /* @__PURE__ */ jsx("div", { className: "wz-card-extra", children: extra })
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ jsx("div", { className: "wz-card-body", children }),
|
|
27
|
+
actions && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "wz-card-actions", children: actions.map((action, index) => /* @__PURE__ */ jsx("div", { className: "wz-card-action", children: action }, index)) })
|
|
28
|
+
] });
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
Card as default
|
|
32
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d(require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["react/jsx-runtime"],d):(e="undefined"!=typeof globalThis?globalThis:e||self).Card=d(e.jsxRuntime)}(this,(function(e){"use strict";return({title:d,extra:i,cover:r,actions:s,bordered:c,noDivider:a=!1,className:n="",style:l,children:t,onClick:o})=>{const m=["wz-card",void 0!==c?"wz-card-bordered":"",a?"wz-card-no-divider":"",n].filter(Boolean).join(" ");return e.jsxs("div",{className:m,style:l,onClick:o,children:[r&&e.jsx("div",{className:"wz-card-cover",children:r}),(d||i)&&e.jsxs("div",{className:"wz-card-header",children:[d&&e.jsx("div",{className:"wz-card-title",children:d}),i&&e.jsx("div",{className:"wz-card-extra",children:i})]}),e.jsx("div",{className:"wz-card-body",children:t}),s&&s.length>0&&e.jsx("div",{className:"wz-card-actions",children:s.map(((d,i)=>e.jsx("div",{className:"wz-card-action",children:d},i)))})]})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-card{box-sizing:border-box;background-color:#fff;border-radius:10px;width:100%;transition:all .2s ease-in-out}.wz-card-bordered{border:1px solid #dcdfe6}.wz-card-no-divider .wz-card-header{border-bottom:none}.wz-card-no-divider .wz-card-actions{border-top:none}.wz-card-cover img{border-radius:4px 4px 0 0;width:100%;height:auto;display:block}.wz-card-header{border-bottom:1px solid #dcdfe6;justify-content:space-between;align-items:center;padding:12px;display:flex}.wz-card-title{color:#333;font-size:14px;font-weight:600}.wz-card-extra{color:#999;font-size:13px}.wz-card-body{color:#666;padding:12px;font-size:14px;line-height:1.5}.wz-card-actions{border-top:1px solid #dcdfe6;display:flex}.wz-card-action{text-align:center;color:#999;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none;flex:1;padding:12px;font-size:13px;transition:color .2s ease-in-out}.wz-card-action:not(:last-child){border-right:1px solid #dcdfe6}.wz-card-action:active{color:var(--wz-primary-color,#22c94d);background-color:#0000000d}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-card{box-sizing:border-box;background-color:#fff;border-radius:10px;width:100%;transition:all .2s ease-in-out}.wz-card-bordered{border:1px solid #dcdfe6}.wz-card-no-divider .wz-card-header{border-bottom:none}.wz-card-no-divider .wz-card-actions{border-top:none}.wz-card-cover img{border-radius:4px 4px 0 0;width:100%;height:auto;display:block}.wz-card-header{border-bottom:1px solid #dcdfe6;justify-content:space-between;align-items:center;padding:12px;display:flex}.wz-card-title{color:#333;font-size:14px;font-weight:600}.wz-card-extra{color:#999;font-size:13px}.wz-card-body{color:#666;padding:12px;font-size:14px;line-height:1.5}.wz-card-actions{border-top:1px solid #dcdfe6;display:flex}.wz-card-action{text-align:center;color:#999;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none;flex:1;padding:12px;font-size:13px;transition:color .2s ease-in-out}.wz-card-action:not(:last-child){border-right:1px solid #dcdfe6}.wz-card-action:active{color:var(--wz-primary-color,#22c94d);background-color:#0000000d}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect, useMemo } from "react";
|
|
3
|
+
const Cascader = ({
|
|
4
|
+
value,
|
|
5
|
+
onChange,
|
|
6
|
+
data
|
|
7
|
+
}) => {
|
|
8
|
+
const [selectedValues, setSelectedValues] = useState(value || []);
|
|
9
|
+
const [activeLevel, setActiveLevel] = useState(Math.min((value || []).length, 2));
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (value !== void 0) {
|
|
12
|
+
setSelectedValues(value);
|
|
13
|
+
setActiveLevel(Math.min(value.length, 2));
|
|
14
|
+
}
|
|
15
|
+
}, [value]);
|
|
16
|
+
const currentLevelData = useMemo(() => {
|
|
17
|
+
if (activeLevel === 0) {
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
let currentData = data;
|
|
21
|
+
for (let i = 0; i < activeLevel; i++) {
|
|
22
|
+
const selectedItem = currentData.find((item) => item.value === selectedValues[i]);
|
|
23
|
+
currentData = (selectedItem == null ? void 0 : selectedItem.children) || [];
|
|
24
|
+
}
|
|
25
|
+
return currentData;
|
|
26
|
+
}, [data, activeLevel, selectedValues]);
|
|
27
|
+
const selectedLabels = useMemo(() => {
|
|
28
|
+
let currentData = data;
|
|
29
|
+
const defaultLabels = ["请选择", "请选择", "请选择"];
|
|
30
|
+
return selectedValues.map((value2, index) => {
|
|
31
|
+
const selectedItem = currentData.find((item) => item.value === value2);
|
|
32
|
+
currentData = (selectedItem == null ? void 0 : selectedItem.children) || [];
|
|
33
|
+
return (selectedItem == null ? void 0 : selectedItem.label) || defaultLabels[index];
|
|
34
|
+
});
|
|
35
|
+
}, [data, selectedValues]);
|
|
36
|
+
const handleSelect = (item) => {
|
|
37
|
+
if (item.disabled) return;
|
|
38
|
+
const newSelectedValues = [...selectedValues];
|
|
39
|
+
newSelectedValues[activeLevel] = item.value;
|
|
40
|
+
newSelectedValues.length = activeLevel + 1;
|
|
41
|
+
setSelectedValues(newSelectedValues);
|
|
42
|
+
if (activeLevel === 0 && item.children) {
|
|
43
|
+
setActiveLevel(1);
|
|
44
|
+
} else if (activeLevel === 1 && item.children) {
|
|
45
|
+
setActiveLevel(2);
|
|
46
|
+
} else if (activeLevel === 2) {
|
|
47
|
+
onChange == null ? void 0 : onChange(newSelectedValues);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const handleLevelChange = (level) => {
|
|
51
|
+
if (level <= selectedValues.length) {
|
|
52
|
+
setActiveLevel(level);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return /* @__PURE__ */ jsxs("div", { className: "wz-cascader", children: [
|
|
56
|
+
/* @__PURE__ */ jsx("div", { className: "wz-cascader-levels", children: ["省", "市", "区"].map((label, index) => {
|
|
57
|
+
if (index > 0 && selectedValues.length < index) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return /* @__PURE__ */ jsx(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
className: `
|
|
64
|
+
wz-cascader-level
|
|
65
|
+
${activeLevel === index ? "active" : ""}
|
|
66
|
+
${selectedValues[index] ? "selected" : ""}
|
|
67
|
+
`,
|
|
68
|
+
onClick: () => handleLevelChange(index),
|
|
69
|
+
children: selectedValues[index] ? selectedLabels[index] : "请选择"
|
|
70
|
+
},
|
|
71
|
+
label
|
|
72
|
+
);
|
|
73
|
+
}) }),
|
|
74
|
+
/* @__PURE__ */ jsx("div", { className: "wz-cascader-content", children: /* @__PURE__ */ jsx("div", { className: "wz-cascader-options", children: currentLevelData.map((item) => /* @__PURE__ */ jsxs(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
className: `
|
|
78
|
+
wz-cascader-option
|
|
79
|
+
${selectedValues.includes(item.value) ? "selected" : ""}
|
|
80
|
+
${item.disabled ? "disabled" : ""}
|
|
81
|
+
`,
|
|
82
|
+
onClick: () => handleSelect(item),
|
|
83
|
+
children: [
|
|
84
|
+
item.label,
|
|
85
|
+
item.disabled && /* @__PURE__ */ jsx("span", { className: "wz-cascader-option-tip", children: "不可选" })
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
item.value
|
|
89
|
+
)) }) })
|
|
90
|
+
] });
|
|
91
|
+
};
|
|
92
|
+
export {
|
|
93
|
+
Cascader as default
|
|
94
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("react/jsx-runtime"),require("react")):"function"==typeof define&&define.amd?define(["react/jsx-runtime","react"],n):(e="undefined"!=typeof globalThis?globalThis:e||self).Cascader=n(e.jsxRuntime,e.React)}(this,(function(e,n){"use strict";return({value:l,onChange:a,data:s})=>{const[t,c]=n.useState(l||[]),[i,d]=n.useState(Math.min((l||[]).length,2));n.useEffect((()=>{void 0!==l&&(c(l),d(Math.min(l.length,2)))}),[l]);const r=n.useMemo((()=>{if(0===i)return s;let e=s;for(let n=0;n<i;n++){const l=e.find((e=>e.value===t[n]));e=(null==l?void 0:l.children)||[]}return e}),[s,i,t]),o=n.useMemo((()=>{let e=s;const n=["请选择","请选择","请选择"];return t.map(((l,a)=>{const s=e.find((e=>e.value===l));return e=(null==s?void 0:s.children)||[],(null==s?void 0:s.label)||n[a]}))}),[s,t]);return e.jsxs("div",{className:"wz-cascader",children:[e.jsx("div",{className:"wz-cascader-levels",children:["省","市","区"].map(((n,l)=>l>0&&t.length<l?null:e.jsx("div",{className:`\n wz-cascader-level \n ${i===l?"active":""}\n ${t[l]?"selected":""}\n `,onClick:()=>{var e;(e=l)<=t.length&&d(e)},children:t[l]?o[l]:"请选择"},n)))}),e.jsx("div",{className:"wz-cascader-content",children:e.jsx("div",{className:"wz-cascader-options",children:r.map((n=>e.jsxs("div",{className:`\n wz-cascader-option \n ${t.includes(n.value)?"selected":""}\n ${n.disabled?"disabled":""}\n `,onClick:()=>(e=>{if(e.disabled)return;const n=[...t];n[i]=e.value,n.length=i+1,c(n),0===i&&e.children?d(1):1===i&&e.children?d(2):2===i&&(null==a||a(n))})(n),children:[n.label,n.disabled&&e.jsx("span",{className:"wz-cascader-option-tip",children:"不可选"})]},n.value)))})})]})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-cascader{background-color:#fff;border-radius:8px;width:100%;position:relative}.wz-cascader-header{border-bottom:1px solid #f0f0f0;justify-content:flex-end;align-items:center;height:44px;padding-right:16px;display:flex;position:relative}.wz-cascader-close{cursor:pointer;color:#969799;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;display:flex}.wz-cascader-levels{border-bottom:1px solid #f0f0f0;gap:24px;padding:12px 16px;display:flex}.wz-cascader-level{text-align:left;color:#969799;cursor:pointer;flex:none;min-width:60px;transition:color .3s;position:relative}.wz-cascader-level.active{color:var(--wz-primary-color,#22c94d);font-weight:600}.wz-cascader-level.active:after{content:"";background-color:var(--wz-primary-color,#22c94d);transform-origin:50%;width:70px;height:2px;position:absolute;bottom:-10px;left:35%;transform:translate(-50%)scaleX(.6)}.wz-cascader-level.selected{color:var(--wz-primary-color,#22c94d)}.wz-cascader-content{display:flex}.wz-cascader-options{width:100%;max-height:240px;overflow-y:auto}.wz-cascader-option{text-align:left;cursor:pointer;padding:12px 16px;transition:background-color .3s;position:relative}.wz-cascader-option:hover{background-color:#f5f5f5}.wz-cascader-option.selected{color:var(--wz-primary-color,#22c94d)}.wz-cascader-option.disabled{color:#c8c9cc;cursor:not-allowed;background-color:#f2f3f5}.wz-cascader-option-tip{color:#969799;font-size:12px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-cascader{background-color:#fff;border-radius:8px;width:100%;position:relative}.wz-cascader-header{border-bottom:1px solid #f0f0f0;justify-content:flex-end;align-items:center;height:44px;padding-right:16px;display:flex;position:relative}.wz-cascader-close{cursor:pointer;color:#969799;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;display:flex}.wz-cascader-levels{border-bottom:1px solid #f0f0f0;gap:24px;padding:12px 16px;display:flex}.wz-cascader-level{text-align:left;color:#969799;cursor:pointer;flex:none;min-width:60px;transition:color .3s;position:relative}.wz-cascader-level.active{color:var(--wz-primary-color,#22c94d);font-weight:600}.wz-cascader-level.active:after{content:"";background-color:var(--wz-primary-color,#22c94d);transform-origin:50%;width:70px;height:2px;position:absolute;bottom:-10px;left:35%;transform:translate(-50%)scaleX(.6)}.wz-cascader-level.selected{color:var(--wz-primary-color,#22c94d)}.wz-cascader-content{display:flex}.wz-cascader-options{width:100%;max-height:240px;overflow-y:auto}.wz-cascader-option{text-align:left;cursor:pointer;padding:12px 16px;transition:background-color .3s;position:relative}.wz-cascader-option:hover{background-color:#f5f5f5}.wz-cascader-option.selected{color:var(--wz-primary-color,#22c94d)}.wz-cascader-option.disabled{color:#c8c9cc;cursor:not-allowed;background-color:#f2f3f5}.wz-cascader-option-tip{color:#969799;font-size:12px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
function getDefaultExportFromCjs(x) {
|
|
3
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
4
|
+
}
|
|
5
|
+
var classnames = { exports: {} };
|
|
6
|
+
/*!
|
|
7
|
+
Copyright (c) 2018 Jed Watson.
|
|
8
|
+
Licensed under the MIT License (MIT), see
|
|
9
|
+
http://jedwatson.github.io/classnames
|
|
10
|
+
*/
|
|
11
|
+
(function(module) {
|
|
12
|
+
(function() {
|
|
13
|
+
var hasOwn = {}.hasOwnProperty;
|
|
14
|
+
function classNames2() {
|
|
15
|
+
var classes = [];
|
|
16
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
17
|
+
var arg = arguments[i];
|
|
18
|
+
if (!arg) continue;
|
|
19
|
+
var argType = typeof arg;
|
|
20
|
+
if (argType === "string" || argType === "number") {
|
|
21
|
+
classes.push(arg);
|
|
22
|
+
} else if (Array.isArray(arg)) {
|
|
23
|
+
if (arg.length) {
|
|
24
|
+
var inner = classNames2.apply(null, arg);
|
|
25
|
+
if (inner) {
|
|
26
|
+
classes.push(inner);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
} else if (argType === "object") {
|
|
30
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
|
31
|
+
classes.push(arg.toString());
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
for (var key in arg) {
|
|
35
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
36
|
+
classes.push(key);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return classes.join(" ");
|
|
42
|
+
}
|
|
43
|
+
if (module.exports) {
|
|
44
|
+
classNames2.default = classNames2;
|
|
45
|
+
module.exports = classNames2;
|
|
46
|
+
} else {
|
|
47
|
+
window.classNames = classNames2;
|
|
48
|
+
}
|
|
49
|
+
})();
|
|
50
|
+
})(classnames);
|
|
51
|
+
var classnamesExports = classnames.exports;
|
|
52
|
+
const classNames = /* @__PURE__ */ getDefaultExportFromCjs(classnamesExports);
|
|
53
|
+
const Cell$1 = (props) => {
|
|
54
|
+
const {
|
|
55
|
+
title,
|
|
56
|
+
label,
|
|
57
|
+
value,
|
|
58
|
+
icon,
|
|
59
|
+
arrow = false,
|
|
60
|
+
border = true,
|
|
61
|
+
center = false,
|
|
62
|
+
disabled = false,
|
|
63
|
+
required = false,
|
|
64
|
+
className,
|
|
65
|
+
style,
|
|
66
|
+
titleStyle,
|
|
67
|
+
titleClassName,
|
|
68
|
+
labelStyle,
|
|
69
|
+
labelClassName,
|
|
70
|
+
valueStyle,
|
|
71
|
+
valueClassName,
|
|
72
|
+
onClick,
|
|
73
|
+
children
|
|
74
|
+
} = props;
|
|
75
|
+
const cellClassName = classNames(
|
|
76
|
+
"wz-cell",
|
|
77
|
+
{
|
|
78
|
+
"wz-cell-border": border,
|
|
79
|
+
"wz-cell-center": center,
|
|
80
|
+
"wz-cell-disabled": disabled
|
|
81
|
+
},
|
|
82
|
+
className
|
|
83
|
+
);
|
|
84
|
+
const renderTitle = () => {
|
|
85
|
+
if (title) {
|
|
86
|
+
return /* @__PURE__ */ jsxs("div", { className: classNames("wz-cell-title", titleClassName), style: titleStyle, children: [
|
|
87
|
+
required && /* @__PURE__ */ jsx("span", { className: "wz-cell-required", children: "*" }),
|
|
88
|
+
title,
|
|
89
|
+
value && /* @__PURE__ */ jsx("span", { className: classNames("wz-cell-value", valueClassName), style: valueStyle, children: value })
|
|
90
|
+
] });
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
};
|
|
94
|
+
const renderValue = () => {
|
|
95
|
+
return null;
|
|
96
|
+
};
|
|
97
|
+
const renderLabel = () => {
|
|
98
|
+
if (label) {
|
|
99
|
+
return /* @__PURE__ */ jsx("div", { className: classNames("wz-cell-label", labelClassName), style: labelStyle, children: label });
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
};
|
|
103
|
+
const renderLeftIcon = () => {
|
|
104
|
+
if (icon) {
|
|
105
|
+
return /* @__PURE__ */ jsx("div", { className: "wz-cell-icon", children: icon });
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
};
|
|
109
|
+
const renderRightIcon = () => {
|
|
110
|
+
if (arrow) {
|
|
111
|
+
return /* @__PURE__ */ jsx("div", { className: "wz-cell-arrow" });
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
};
|
|
115
|
+
return /* @__PURE__ */ jsxs("div", { className: cellClassName, style, onClick: disabled ? void 0 : onClick, children: [
|
|
116
|
+
renderLeftIcon(),
|
|
117
|
+
/* @__PURE__ */ jsxs("div", { className: "wz-cell-content", children: [
|
|
118
|
+
renderTitle(),
|
|
119
|
+
renderLabel()
|
|
120
|
+
] }),
|
|
121
|
+
renderValue(),
|
|
122
|
+
children && /* @__PURE__ */ jsx("div", { className: "wz-cell-extra", children }),
|
|
123
|
+
renderRightIcon()
|
|
124
|
+
] });
|
|
125
|
+
};
|
|
126
|
+
const CellGroup = (props) => {
|
|
127
|
+
const { className, style, children } = props;
|
|
128
|
+
return /* @__PURE__ */ jsx("div", { className: classNames("wz-cell-group", className), style, children });
|
|
129
|
+
};
|
|
130
|
+
const Cell = Cell$1;
|
|
131
|
+
Cell.Group = CellGroup;
|
|
132
|
+
export {
|
|
133
|
+
Cell,
|
|
134
|
+
CellGroup
|
|
135
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
!function(e,l){"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).Cell={},e.jsxRuntime)}(this,(function(e,l){"use strict";function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,r={exports:{}};
|
|
2
|
+
/*!
|
|
3
|
+
Copyright (c) 2018 Jed Watson.
|
|
4
|
+
Licensed under the MIT License (MIT), see
|
|
5
|
+
http://jedwatson.github.io/classnames
|
|
6
|
+
*/t=r,function(){var e={}.hasOwnProperty;function l(){for(var s=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var n=typeof r;if("string"===n||"number"===n)s.push(r);else if(Array.isArray(r)){if(r.length){var a=l.apply(null,r);a&&s.push(a)}}else if("object"===n){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){s.push(r.toString());continue}for(var i in r)e.call(r,i)&&r[i]&&s.push(i)}}}return s.join(" ")}t.exports?(l.default=l,t.exports=l):window.classNames=l}();const n=s(r.exports),a=e=>{const{className:s,style:t,children:r}=e;return l.jsx("div",{className:n("wz-cell-group",s),style:t,children:r})},i=e=>{const{title:s,label:t,value:r,icon:a,arrow:i=!1,border:c=!0,center:o=!1,disabled:d=!1,required:u=!1,className:p,style:f,titleStyle:y,titleClassName:m,labelStyle:h,labelClassName:v,valueStyle:x,valueClassName:j,onClick:w,children:b}=e,N=n("wz-cell",{"wz-cell-border":c,"wz-cell-center":o,"wz-cell-disabled":d},p);return l.jsxs("div",{className:N,style:f,onClick:d?void 0:w,children:[a?l.jsx("div",{className:"wz-cell-icon",children:a}):null,l.jsxs("div",{className:"wz-cell-content",children:[s?l.jsxs("div",{className:n("wz-cell-title",m),style:y,children:[u&&l.jsx("span",{className:"wz-cell-required",children:"*"}),s,r&&l.jsx("span",{className:n("wz-cell-value",j),style:x,children:r})]}):null,t?l.jsx("div",{className:n("wz-cell-label",v),style:h,children:t}):null]}),null,b&&l.jsx("div",{className:"wz-cell-extra",children:b}),i?l.jsx("div",{className:"wz-cell-arrow"}):null]})};i.Group=a,e.Cell=i,e.CellGroup=a,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-cell-group{background-color:#fff;border-radius:8px;overflow:hidden}.wz-cell-group .wz-cell{background-color:#0000;border-radius:0}.wz-cell{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:#fff;border-radius:8px;outline:none;align-items:center;padding:12px;line-height:1.5;display:flex;position:relative}.wz-cell-border:after{content:"";background-color:#dcdfe6;height:1px;position:absolute;bottom:0;left:12px;right:12px;transform:scaleY(.5)}.wz-cell-center{align-items:center}.wz-cell-disabled{opacity:.5;cursor:not-allowed}.wz-cell-icon{color:#666;align-items:center;margin-right:12px;font-size:16px;display:flex}.wz-cell-content{flex:1;min-width:0}.wz-cell-title{color:#333;align-items:center;font-size:14px;display:flex}.wz-cell-title .wz-cell-value{color:#666;white-space:nowrap;margin-left:8px;font-size:14px}.wz-cell-label{color:#999;margin-top:4px;font-size:13px}.wz-cell-value{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-left:8px;font-size:15px;overflow:hidden}.wz-cell-required{color:#ff4d4f;margin-right:4px;font-size:15px;font-weight:600}.wz-cell-arrow{border:1px solid #dcdfe6;border-width:1px 1px 0 0;width:12px;height:12px;margin-left:12px;transform:rotate(45deg)}.wz-cell-extra{color:#666;align-items:center;min-width:0;margin-left:8px;font-size:15px;display:flex}.wz-cell:has(.wz-cell-arrow):active{background-color:#f8f8f8}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-cell-group .wz-cell{background-color:#0000;border-radius:0}.wz-cell{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:#fff;border-radius:8px;outline:none;align-items:center;padding:12px;line-height:1.5;display:flex;position:relative}.wz-cell-border:after{content:"";background-color:#dcdfe6;height:1px;position:absolute;bottom:0;left:12px;right:12px;transform:scaleY(.5)}.wz-cell-center{align-items:center}.wz-cell-disabled{opacity:.5;cursor:not-allowed}.wz-cell-icon{color:#666;align-items:center;margin-right:12px;font-size:16px;display:flex}.wz-cell-content{flex:1;min-width:0}.wz-cell-title{color:#333;align-items:center;font-size:14px;display:flex}.wz-cell-title .wz-cell-value{color:#666;white-space:nowrap;margin-left:8px;font-size:14px}.wz-cell-label{color:#999;margin-top:4px;font-size:13px}.wz-cell-value{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-left:8px;font-size:15px;overflow:hidden}.wz-cell-required{color:#ff4d4f;margin-right:4px;font-size:15px;font-weight:600}.wz-cell-arrow{border:1px solid #dcdfe6;border-width:1px 1px 0 0;width:12px;height:12px;margin-left:12px;transform:rotate(45deg)}.wz-cell-extra{color:#666;align-items:center;min-width:0;margin-left:8px;font-size:15px;display:flex}.wz-cell:has(.wz-cell-arrow):active{background-color:#f8f8f8}.wz-cell-group{background-color:#fff;border-radius:8px;overflow:hidden}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const CheckList = ({ options, value, onChange, multiple = false, style, className = "" }) => {
|
|
3
|
+
const isChecked = (item) => {
|
|
4
|
+
if (multiple && Array.isArray(value)) return value.includes(item);
|
|
5
|
+
return value === item;
|
|
6
|
+
};
|
|
7
|
+
const handleClick = (item) => {
|
|
8
|
+
if (multiple) {
|
|
9
|
+
if (!Array.isArray(value)) return;
|
|
10
|
+
if (value.includes(item)) {
|
|
11
|
+
onChange(value.filter((v) => v !== item));
|
|
12
|
+
} else {
|
|
13
|
+
onChange([...value, item]);
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
onChange(item);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
return /* @__PURE__ */ jsx("div", { className: `wz-check-list ${className}`, style, children: options.map((item) => /* @__PURE__ */ jsxs(
|
|
20
|
+
"div",
|
|
21
|
+
{
|
|
22
|
+
className: "wz-check-list__item" + (isChecked(item) ? " wz-check-list__item--active" : ""),
|
|
23
|
+
onClick: () => handleClick(item),
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ jsx("span", { className: "wz-check-list__label", children: item }),
|
|
26
|
+
isChecked(item) && /* @__PURE__ */ jsx("span", { className: "wz-check-list__icon", children: "✔" })
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
item
|
|
30
|
+
)) });
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
CheckList as default
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s(require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["react/jsx-runtime"],s):(e="undefined"!=typeof globalThis?globalThis:e||self).CheckList=s(e.jsxRuntime)}(this,(function(e){"use strict";return({options:s,value:i,onChange:t,multiple:c=!1,style:l,className:n=""})=>{const r=e=>c&&Array.isArray(i)?i.includes(e):i===e;return e.jsx("div",{className:`wz-check-list ${n}`,style:l,children:s.map((s=>e.jsxs("div",{className:"wz-check-list__item"+(r(s)?" wz-check-list__item--active":""),onClick:()=>(e=>{if(c){if(!Array.isArray(i))return;i.includes(e)?t(i.filter((s=>s!==e))):t([...i,e])}else t(e)})(s),children:[e.jsx("span",{className:"wz-check-list__label",children:s}),r(s)&&e.jsx("span",{className:"wz-check-list__icon",children:"✔"})]},s)))})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-check-list{margin:0;padding:0}.wz-check-list__item{font-size:var(--wz-check-list-font-size,15px);color:#111;cursor:pointer;border-radius:var(--wz-check-list-radius,8px);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#fff;outline:none;justify-content:space-between;align-items:center;margin-bottom:2px;padding:15px 20px;transition:background .2s;display:flex}.wz-check-list__item--active{color:var(--wz-check-list-active-color,#1677ff);background:#fff;font-weight:700}.wz-check-list__label{flex:1}.wz-check-list__icon{color:var(--wz-check-list-active-color,#1677ff);margin-left:8px;font-size:16px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-check-list{margin:0;padding:0}.wz-check-list__item{font-size:var(--wz-check-list-font-size,15px);color:#111;cursor:pointer;border-radius:var(--wz-check-list-radius,8px);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#fff;outline:none;justify-content:space-between;align-items:center;margin-bottom:2px;padding:15px 20px;transition:background .2s;display:flex}.wz-check-list__item--active{color:var(--wz-check-list-active-color,#1677ff);background:#fff;font-weight:700}.wz-check-list__label{flex:1}.wz-check-list__icon{color:var(--wz-check-list-active-color,#1677ff);margin-left:8px;font-size:16px}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { useContext, createContext } from "react";
|
|
3
|
+
const CheckboxContext = createContext({});
|
|
4
|
+
const Checkbox = ({
|
|
5
|
+
size,
|
|
6
|
+
checked,
|
|
7
|
+
disabled,
|
|
8
|
+
onChange,
|
|
9
|
+
children,
|
|
10
|
+
value,
|
|
11
|
+
className = "",
|
|
12
|
+
style,
|
|
13
|
+
...rest
|
|
14
|
+
}) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const groupContext = useContext(CheckboxContext);
|
|
17
|
+
const isInGroup = !!groupContext.value;
|
|
18
|
+
const handleChange = (e) => {
|
|
19
|
+
var _a2;
|
|
20
|
+
if (!disabled && !groupContext.disabled) {
|
|
21
|
+
if (isInGroup) {
|
|
22
|
+
const newValue = e.target.checked ? [...groupContext.value || [], value] : (groupContext.value || []).filter((v) => v !== value);
|
|
23
|
+
(_a2 = groupContext.onChange) == null ? void 0 : _a2.call(groupContext, newValue);
|
|
24
|
+
} else {
|
|
25
|
+
onChange == null ? void 0 : onChange(e.target.checked);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const isChecked = isInGroup ? (_a = groupContext.value) == null ? void 0 : _a.includes(value) : checked;
|
|
30
|
+
const isDisabled = disabled || groupContext.disabled;
|
|
31
|
+
const checkboxSize = size || groupContext.size || "medium";
|
|
32
|
+
return /* @__PURE__ */ jsxs(
|
|
33
|
+
"label",
|
|
34
|
+
{
|
|
35
|
+
className: `wz-checkbox-wrapper ${isDisabled ? "wz-checkbox--disabled" : ""} wz-checkbox--${checkboxSize} ${className}`,
|
|
36
|
+
style,
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx(
|
|
39
|
+
"input",
|
|
40
|
+
{
|
|
41
|
+
type: "checkbox",
|
|
42
|
+
className: "wz-checkbox-input",
|
|
43
|
+
checked: isChecked,
|
|
44
|
+
disabled: isDisabled,
|
|
45
|
+
onChange: handleChange,
|
|
46
|
+
value,
|
|
47
|
+
...rest
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ jsx("span", { className: "wz-checkbox-inner" }),
|
|
51
|
+
children && /* @__PURE__ */ jsx("span", { className: "wz-checkbox-label", children })
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
const CheckboxGroup = ({
|
|
57
|
+
value,
|
|
58
|
+
defaultValue,
|
|
59
|
+
onChange,
|
|
60
|
+
disabled,
|
|
61
|
+
size,
|
|
62
|
+
children,
|
|
63
|
+
className = "",
|
|
64
|
+
style
|
|
65
|
+
}) => {
|
|
66
|
+
const [innerValue, setInnerValue] = React.useState(defaultValue || []);
|
|
67
|
+
const handleChange = (newValue) => {
|
|
68
|
+
setInnerValue(newValue);
|
|
69
|
+
onChange == null ? void 0 : onChange(newValue);
|
|
70
|
+
};
|
|
71
|
+
const contextValue = {
|
|
72
|
+
value: value !== void 0 ? value : innerValue,
|
|
73
|
+
onChange: handleChange,
|
|
74
|
+
disabled,
|
|
75
|
+
size
|
|
76
|
+
};
|
|
77
|
+
return /* @__PURE__ */ jsx(CheckboxContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { className: `wz-checkbox-group ${className}`, style, children }) });
|
|
78
|
+
};
|
|
79
|
+
Checkbox.Group = CheckboxGroup;
|
|
80
|
+
Checkbox.displayName = "Checkbox";
|
|
81
|
+
CheckboxGroup.displayName = "Checkbox.Group";
|
|
82
|
+
export {
|
|
83
|
+
Checkbox as default
|
|
84
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("react/jsx-runtime"),require("react")):"function"==typeof define&&define.amd?define(["react/jsx-runtime","react"],a):(e="undefined"!=typeof globalThis?globalThis:e||self).Checkbox=a(e.jsxRuntime,e.React)}(this,(function(e,a){"use strict";const l=a.createContext({}),s=({size:s,checked:c,disabled:n,onChange:i,children:t,value:d,className:o="",style:u,...r})=>{var h;const x=a.useContext(l),b=!!x.value,p=b?null==(h=x.value)?void 0:h.includes(d):c,f=n||x.disabled,m=s||x.size||"medium";return e.jsxs("label",{className:`wz-checkbox-wrapper ${f?"wz-checkbox--disabled":""} wz-checkbox--${m} ${o}`,style:u,children:[e.jsx("input",{type:"checkbox",className:"wz-checkbox-input",checked:p,disabled:f,onChange:e=>{var a;if(!n&&!x.disabled)if(b){const l=e.target.checked?[...x.value||[],d]:(x.value||[]).filter((e=>e!==d));null==(a=x.onChange)||a.call(x,l)}else null==i||i(e.target.checked)},value:d,...r}),e.jsx("span",{className:"wz-checkbox-inner"}),t&&e.jsx("span",{className:"wz-checkbox-label",children:t})]})},c=({value:s,defaultValue:c,onChange:n,disabled:i,size:t,children:d,className:o="",style:u})=>{const[r,h]=a.useState(c||[]),x={value:void 0!==s?s:r,onChange:e=>{h(e),null==n||n(e)},disabled:i,size:t};return e.jsx(l.Provider,{value:x,children:e.jsx("div",{className:`wz-checkbox-group ${o}`,style:u,children:d})})};return s.Group=c,s.displayName="Checkbox",c.displayName="Checkbox.Group",s}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-checkbox-group{flex-direction:column;gap:12px;display:inline-flex}.wz-checkbox-group.wz-checkbox-group--horizontal{flex-direction:row;align-items:center}.wz-checkbox-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;outline:none;align-items:center;padding:8px 0;font-family:"Alibaba PuHuiTi 2.0",Alibaba-PuHuiTi-Regular,PingFang SC,Microsoft YaHei,Arial,sans-serif;transition:all .2s ease-in-out;display:inline-flex;position:relative}.wz-checkbox-wrapper.wz-checkbox--small .wz-checkbox-inner{width:16px;height:16px}.wz-checkbox-wrapper.wz-checkbox--small .wz-checkbox-label{margin-left:8px;font-size:13px}.wz-checkbox-wrapper.wz-checkbox--medium .wz-checkbox-inner{width:18px;height:18px}.wz-checkbox-wrapper.wz-checkbox--medium .wz-checkbox-label{margin-left:12px;font-size:14px}.wz-checkbox-wrapper.wz-checkbox--large .wz-checkbox-inner{width:20px;height:20px}.wz-checkbox-wrapper.wz-checkbox--large .wz-checkbox-label{margin-left:16px;font-size:16px}.wz-checkbox-wrapper.wz-checkbox--disabled{cursor:not-allowed;opacity:.6}.wz-checkbox-wrapper.wz-checkbox--disabled .wz-checkbox-inner{background-color:#f5f7fa;border-color:#e4e7ed}.wz-checkbox-wrapper.wz-checkbox--disabled .wz-checkbox-label{color:#c0c4cc}.wz-checkbox-input{opacity:0;z-index:-1;width:0;height:0;margin:0;padding:0;position:absolute}.wz-checkbox-inner{background-color:#fff;border:1.5px solid #dcdfe6;border-radius:2px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-block;position:relative;box-shadow:0 1px 2px #0000000d}.wz-checkbox-inner:after{content:"";opacity:0;pointer-events:none;border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)scale(.7)rotate(45deg)}.wz-checkbox-input:checked+.wz-checkbox-inner{border-color:var(--wz-primary-color,#22c94d);background-color:var(--wz-primary-color,#22c94d);box-shadow:0 2px 4px #22c94d33}.wz-checkbox-input:checked+.wz-checkbox-inner:after{opacity:1;transform:translate(-50%,-60%)scale(1)rotate(45deg)}.wz-checkbox-input:focus+.wz-checkbox-inner{border-color:var(--wz-primary-color,#22c94d);box-shadow:0 0 0 3px #22c94d26}.wz-checkbox-wrapper:hover .wz-checkbox-inner{border-color:var(--wz-primary-color,#22c94d);box-shadow:0 2px 4px #22c94d1a}.wz-checkbox-label{color:#333;font-family:"Alibaba PuHuiTi 2.0",Alibaba-PuHuiTi-Regular,PingFang SC,Microsoft YaHei,Arial,sans-serif;line-height:1.5;transition:color .2s}.wz-checkbox-wrapper:hover .wz-checkbox-label{color:var(--wz-primary-color,#22c94d)}@media screen and (max-width:767px){.wz-checkbox-group{gap:8px}.wz-checkbox-wrapper.wz-checkbox--small .wz-checkbox-label{font-size:14px}.wz-checkbox-wrapper.wz-checkbox--medium .wz-checkbox-label{font-size:15px}.wz-checkbox-wrapper.wz-checkbox--large .wz-checkbox-label{font-size:16px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|