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
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useState, useRef, useMemo } from "react";
|
|
3
|
+
import { createRoot } from "react-dom/client";
|
|
4
|
+
function getDefaultExportFromCjs(x) {
|
|
5
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
6
|
+
}
|
|
7
|
+
var classnames = { exports: {} };
|
|
8
|
+
/*!
|
|
9
|
+
Copyright (c) 2018 Jed Watson.
|
|
10
|
+
Licensed under the MIT License (MIT), see
|
|
11
|
+
http://jedwatson.github.io/classnames
|
|
12
|
+
*/
|
|
13
|
+
(function(module) {
|
|
14
|
+
(function() {
|
|
15
|
+
var hasOwn = {}.hasOwnProperty;
|
|
16
|
+
function classNames2() {
|
|
17
|
+
var classes = [];
|
|
18
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
19
|
+
var arg = arguments[i];
|
|
20
|
+
if (!arg) continue;
|
|
21
|
+
var argType = typeof arg;
|
|
22
|
+
if (argType === "string" || argType === "number") {
|
|
23
|
+
classes.push(arg);
|
|
24
|
+
} else if (Array.isArray(arg)) {
|
|
25
|
+
if (arg.length) {
|
|
26
|
+
var inner = classNames2.apply(null, arg);
|
|
27
|
+
if (inner) {
|
|
28
|
+
classes.push(inner);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
} else if (argType === "object") {
|
|
32
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
|
33
|
+
classes.push(arg.toString());
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
for (var key in arg) {
|
|
37
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
38
|
+
classes.push(key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return classes.join(" ");
|
|
44
|
+
}
|
|
45
|
+
if (module.exports) {
|
|
46
|
+
classNames2.default = classNames2;
|
|
47
|
+
module.exports = classNames2;
|
|
48
|
+
} else {
|
|
49
|
+
window.classNames = classNames2;
|
|
50
|
+
}
|
|
51
|
+
})();
|
|
52
|
+
})(classnames);
|
|
53
|
+
var classnamesExports = classnames.exports;
|
|
54
|
+
const classNames = /* @__PURE__ */ getDefaultExportFromCjs(classnamesExports);
|
|
55
|
+
const Button = forwardRef(({
|
|
56
|
+
type = "primary",
|
|
57
|
+
size = "medium",
|
|
58
|
+
block = false,
|
|
59
|
+
disabled = false,
|
|
60
|
+
color = "",
|
|
61
|
+
textColor = "",
|
|
62
|
+
borderColor = "",
|
|
63
|
+
className = "",
|
|
64
|
+
style = {},
|
|
65
|
+
children,
|
|
66
|
+
onClick
|
|
67
|
+
}, ref) => {
|
|
68
|
+
const [isActive, setIsActive] = useState(false);
|
|
69
|
+
const timerRef = useRef(null);
|
|
70
|
+
const buttonStyle = useMemo(() => {
|
|
71
|
+
if (type === "cancel") return style;
|
|
72
|
+
if (type === "outline") {
|
|
73
|
+
return {
|
|
74
|
+
color: textColor || "var(--wz-primary-color)",
|
|
75
|
+
borderColor: borderColor || "var(--wz-primary-color)",
|
|
76
|
+
background: "transparent",
|
|
77
|
+
...style
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (type === "text") {
|
|
81
|
+
return {
|
|
82
|
+
color: textColor || style.color || "var(--wz-primary-color, #22C94D)",
|
|
83
|
+
background: "transparent",
|
|
84
|
+
border: "none",
|
|
85
|
+
boxShadow: "none",
|
|
86
|
+
...style
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (type === "primary") {
|
|
90
|
+
let s = { ...style };
|
|
91
|
+
s.background = color || "var(--wz-primary-gradient, var(--wz-primary-color))";
|
|
92
|
+
s.color = textColor || "#fff";
|
|
93
|
+
return s;
|
|
94
|
+
}
|
|
95
|
+
return style;
|
|
96
|
+
}, [type, color, textColor, borderColor, style]);
|
|
97
|
+
const handleClick = (e) => {
|
|
98
|
+
if (disabled) return;
|
|
99
|
+
setIsActive(true);
|
|
100
|
+
if (timerRef.current) window.clearTimeout(timerRef.current);
|
|
101
|
+
timerRef.current = window.setTimeout(() => setIsActive(false), 100);
|
|
102
|
+
onClick == null ? void 0 : onClick(e);
|
|
103
|
+
};
|
|
104
|
+
const btnClass = [
|
|
105
|
+
"wz-button",
|
|
106
|
+
`wz-button--${type}`,
|
|
107
|
+
`wz-button--${size}`,
|
|
108
|
+
block ? "wz-button--block" : "",
|
|
109
|
+
disabled ? "wz-button--disabled" : "",
|
|
110
|
+
isActive && !disabled ? "wz-button--active" : "",
|
|
111
|
+
className
|
|
112
|
+
].filter(Boolean).join(" ");
|
|
113
|
+
return /* @__PURE__ */ jsxs(
|
|
114
|
+
"button",
|
|
115
|
+
{
|
|
116
|
+
ref,
|
|
117
|
+
type: "button",
|
|
118
|
+
className: btnClass,
|
|
119
|
+
style: buttonStyle,
|
|
120
|
+
disabled,
|
|
121
|
+
onClick: handleClick,
|
|
122
|
+
children: [
|
|
123
|
+
children,
|
|
124
|
+
type === "primary" && isActive && /* @__PURE__ */ jsx("span", { className: "wz-button__mask" }),
|
|
125
|
+
type === "outline" && isActive && /* @__PURE__ */ jsx("span", { className: "wz-button__mask" }),
|
|
126
|
+
type === "outline" && disabled && /* @__PURE__ */ jsx("span", { className: "wz-button__mask--disabled" }),
|
|
127
|
+
type === "cancel" && isActive && /* @__PURE__ */ jsx("span", { className: "wz-button__mask--cancel" })
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
});
|
|
132
|
+
Button.displayName = "Button";
|
|
133
|
+
const Dialog$1 = ({
|
|
134
|
+
visible,
|
|
135
|
+
title,
|
|
136
|
+
content,
|
|
137
|
+
onClose,
|
|
138
|
+
actions,
|
|
139
|
+
closeOnAction,
|
|
140
|
+
closeOnMaskClick
|
|
141
|
+
}) => {
|
|
142
|
+
const onMaskClick = () => {
|
|
143
|
+
if (closeOnMaskClick) {
|
|
144
|
+
onClose == null ? void 0 : onClose();
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const onActionClick = (onClick) => {
|
|
148
|
+
onClick == null ? void 0 : onClick();
|
|
149
|
+
if (closeOnAction) {
|
|
150
|
+
onClose == null ? void 0 : onClose();
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
return /* @__PURE__ */ jsxs("div", { className: classNames("wz-dialog-root", { visible }), children: [
|
|
154
|
+
/* @__PURE__ */ jsx("div", { className: "wz-dialog-mask", onClick: onMaskClick }),
|
|
155
|
+
/* @__PURE__ */ jsxs("div", { className: "wz-dialog-wrap", children: [
|
|
156
|
+
title && /* @__PURE__ */ jsx("div", { className: "wz-dialog-header", children: /* @__PURE__ */ jsx("div", { className: "wz-dialog-title", children: title }) }),
|
|
157
|
+
/* @__PURE__ */ jsx("div", { className: "wz-dialog-content", children: content }),
|
|
158
|
+
/* @__PURE__ */ jsx("div", { className: "wz-dialog-footer", children: actions == null ? void 0 : actions.map((action) => /* @__PURE__ */ jsx(
|
|
159
|
+
Button,
|
|
160
|
+
{
|
|
161
|
+
className: "wz-dialog-button",
|
|
162
|
+
onClick: () => onActionClick(action.onClick),
|
|
163
|
+
children: action.text
|
|
164
|
+
},
|
|
165
|
+
action.key
|
|
166
|
+
)) })
|
|
167
|
+
] })
|
|
168
|
+
] });
|
|
169
|
+
};
|
|
170
|
+
const renderDialog = (props) => {
|
|
171
|
+
const container = document.createElement("div");
|
|
172
|
+
document.body.appendChild(container);
|
|
173
|
+
const root = createRoot(container);
|
|
174
|
+
const unmount = () => {
|
|
175
|
+
root.unmount();
|
|
176
|
+
document.body.removeChild(container);
|
|
177
|
+
};
|
|
178
|
+
root.render(/* @__PURE__ */ jsx(Dialog$1, { ...props, visible: true, onClose: unmount }));
|
|
179
|
+
};
|
|
180
|
+
const alert = (props) => {
|
|
181
|
+
renderDialog({
|
|
182
|
+
...props,
|
|
183
|
+
closeOnAction: true,
|
|
184
|
+
actions: [
|
|
185
|
+
{
|
|
186
|
+
key: "confirm",
|
|
187
|
+
text: "确定",
|
|
188
|
+
onClick: props.onConfirm
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
const confirm = (props) => {
|
|
194
|
+
renderDialog({
|
|
195
|
+
...props,
|
|
196
|
+
closeOnAction: true,
|
|
197
|
+
actions: [
|
|
198
|
+
{
|
|
199
|
+
key: "cancel",
|
|
200
|
+
text: "取消",
|
|
201
|
+
onClick: props.onCancel
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
key: "confirm",
|
|
205
|
+
text: "确定",
|
|
206
|
+
onClick: props.onConfirm
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
const Dialog = Object.assign(Dialog$1, { alert, confirm });
|
|
212
|
+
export {
|
|
213
|
+
Dialog,
|
|
214
|
+
alert,
|
|
215
|
+
confirm
|
|
216
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom/client")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","react","react-dom/client"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).Dialog={},e.jsxRuntime,e.React,e.client)}(this,(function(e,o,t,n){"use strict";function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var i,l={exports:{}};
|
|
2
|
+
/*!
|
|
3
|
+
Copyright (c) 2018 Jed Watson.
|
|
4
|
+
Licensed under the MIT License (MIT), see
|
|
5
|
+
http://jedwatson.github.io/classnames
|
|
6
|
+
*/i=l,function(){var e={}.hasOwnProperty;function o(){for(var t=[],n=0;n<arguments.length;n++){var r=arguments[n];if(r){var i=typeof r;if("string"===i||"number"===i)t.push(r);else if(Array.isArray(r)){if(r.length){var l=o.apply(null,r);l&&t.push(l)}}else if("object"===i){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){t.push(r.toString());continue}for(var a in r)e.call(r,a)&&r[a]&&t.push(a)}}}return t.join(" ")}i.exports?(o.default=o,i.exports=o):window.classNames=o}();const a=r(l.exports),s=t.forwardRef((({type:e="primary",size:n="medium",block:r=!1,disabled:i=!1,color:l="",textColor:a="",borderColor:s="",className:c="",style:u={},children:d,onClick:m},f)=>{const[p,b]=t.useState(!1),w=t.useRef(null),y=t.useMemo((()=>{if("cancel"===e)return u;if("outline"===e)return{color:a||"var(--wz-primary-color)",borderColor:s||"var(--wz-primary-color)",background:"transparent",...u};if("text"===e)return{color:a||u.color||"var(--wz-primary-color, #22C94D)",background:"transparent",border:"none",boxShadow:"none",...u};if("primary"===e){let e={...u};return e.background=l||"var(--wz-primary-gradient, var(--wz-primary-color))",e.color=a||"#fff",e}return u}),[e,l,a,s,u]),x=["wz-button",`wz-button--${e}`,`wz-button--${n}`,r?"wz-button--block":"",i?"wz-button--disabled":"",p&&!i?"wz-button--active":"",c].filter(Boolean).join(" ");return o.jsxs("button",{ref:f,type:"button",className:x,style:y,disabled:i,onClick:e=>{i||(b(!0),w.current&&window.clearTimeout(w.current),w.current=window.setTimeout((()=>b(!1)),100),null==m||m(e))},children:[d,"primary"===e&&p&&o.jsx("span",{className:"wz-button__mask"}),"outline"===e&&p&&o.jsx("span",{className:"wz-button__mask"}),"outline"===e&&i&&o.jsx("span",{className:"wz-button__mask--disabled"}),"cancel"===e&&p&&o.jsx("span",{className:"wz-button__mask--cancel"})]})}));s.displayName="Button";const c=({visible:e,title:t,content:n,onClose:r,actions:i,closeOnAction:l,closeOnMaskClick:c})=>o.jsxs("div",{className:a("wz-dialog-root",{visible:e}),children:[o.jsx("div",{className:"wz-dialog-mask",onClick:()=>{c&&(null==r||r())}}),o.jsxs("div",{className:"wz-dialog-wrap",children:[t&&o.jsx("div",{className:"wz-dialog-header",children:o.jsx("div",{className:"wz-dialog-title",children:t})}),o.jsx("div",{className:"wz-dialog-content",children:n}),o.jsx("div",{className:"wz-dialog-footer",children:null==i?void 0:i.map((e=>o.jsx(s,{className:"wz-dialog-button",onClick:()=>{return null==(o=e.onClick)||o(),void(l&&(null==r||r()));var o},children:e.text},e.key)))})]})]}),u=e=>{const t=document.createElement("div");document.body.appendChild(t);const r=n.createRoot(t);r.render(o.jsx(c,{...e,visible:!0,onClose:()=>{r.unmount(),document.body.removeChild(t)}}))},d=e=>{u({...e,closeOnAction:!0,actions:[{key:"confirm",text:"确定",onClick:e.onConfirm}]})},m=e=>{u({...e,closeOnAction:!0,actions:[{key:"cancel",text:"取消",onClick:e.onCancel},{key:"confirm",text:"确定",onClick:e.onConfirm}]})},f=Object.assign(c,{alert:d,confirm:m});e.Dialog=f,e.alert=d,e.confirm=m,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-dialog-root{z-index:1000;visibility:hidden;opacity:0;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.wz-dialog-root.visible{visibility:visible;opacity:1}.wz-dialog-mask{background-color:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.wz-dialog-wrap{background-color:#fff;border-radius:8px;width:85%;max-width:300px;padding-top:24px;position:relative;overflow:hidden}.wz-dialog-header{text-align:center;padding:0 24px 8px}.wz-dialog-title{font-size:18px;font-weight:500}.wz-dialog-content{text-align:center;color:#666;padding:8px 24px 24px;font-size:14px}.wz-dialog-footer{padding:0 24px 24px;display:flex}.wz-dialog-footer .wz-dialog-button{color:#fff;background-color:#00b578;border-radius:100px;flex:1}.wz-dialog-footer .wz-dialog-button:not(:last-child){margin-right:12px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-dialog-root{z-index:1000;visibility:hidden;opacity:0;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.wz-dialog-root.visible{visibility:visible;opacity:1}.wz-dialog-mask{background-color:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.wz-dialog-wrap{background-color:#fff;border-radius:8px;width:85%;max-width:300px;padding-top:24px;position:relative;overflow:hidden}.wz-dialog-header{text-align:center;padding:0 24px 8px}.wz-dialog-title{font-size:18px;font-weight:500}.wz-dialog-content{text-align:center;color:#666;padding:8px 24px 24px;font-size:14px}.wz-dialog-footer{padding:0 24px 24px;display:flex}.wz-dialog-footer .wz-dialog-button{color:#fff;background-color:#00b578;border-radius:100px;flex:1}.wz-dialog-footer .wz-dialog-button:not(:last-child){margin-right:12px}.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,27 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const Divider = ({
|
|
3
|
+
direction = "horizontal",
|
|
4
|
+
color = "#eee",
|
|
5
|
+
length,
|
|
6
|
+
margin,
|
|
7
|
+
style,
|
|
8
|
+
className = ""
|
|
9
|
+
}) => {
|
|
10
|
+
const isVertical = direction === "vertical";
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
className: `wz-divider wz-divider--${direction} ${className}`,
|
|
15
|
+
style: {
|
|
16
|
+
background: color,
|
|
17
|
+
width: isVertical ? 1 : length || "100%",
|
|
18
|
+
height: isVertical ? length || 24 : 1,
|
|
19
|
+
margin,
|
|
20
|
+
...style
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
Divider as default
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["react/jsx-runtime"],i):(e="undefined"!=typeof globalThis?globalThis:e||self).Divider=i(e.jsxRuntime)}(this,(function(e){"use strict";return({direction:i="horizontal",color:t="#eee",length:n,margin:r,style:o,className:d=""})=>{const s="vertical"===i;return e.jsx("div",{className:`wz-divider wz-divider--${i} ${d}`,style:{background:t,width:s?1:n||"100%",height:s?n||24:1,margin:r,...o}})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-divider{background:#eee;border:none;display:block}.wz-divider--vertical{width:1px;min-height:16px}.wz-divider--horizontal{width:100%;height:1px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-divider{background:#eee;border:none;display:block}.wz-divider--vertical{width:1px;min-height:16px}.wz-divider--horizontal{width:100%;height:1px}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
const Icon = ({
|
|
4
|
+
name,
|
|
5
|
+
size = 24,
|
|
6
|
+
color = "currentColor",
|
|
7
|
+
className = "",
|
|
8
|
+
style,
|
|
9
|
+
onClick,
|
|
10
|
+
type = "yunying"
|
|
11
|
+
// 默认使用yunying图标库
|
|
12
|
+
}) => {
|
|
13
|
+
const iconStyle = {
|
|
14
|
+
fontSize: typeof size === "number" ? `${size}px` : size,
|
|
15
|
+
color,
|
|
16
|
+
...style
|
|
17
|
+
};
|
|
18
|
+
const iconFontClass = `iconfont-${type}`;
|
|
19
|
+
const iconPrefix = "icon-";
|
|
20
|
+
const iconClass = `${iconPrefix}${name}`;
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
"i",
|
|
23
|
+
{
|
|
24
|
+
className: `wz-icon ${iconFontClass} ${iconClass} ${className}`,
|
|
25
|
+
style: iconStyle,
|
|
26
|
+
onClick
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
const DropdownMenu = ({
|
|
31
|
+
items,
|
|
32
|
+
extension,
|
|
33
|
+
onChange,
|
|
34
|
+
value,
|
|
35
|
+
defaultValue = {}
|
|
36
|
+
}) => {
|
|
37
|
+
const [activeItem, setActiveItem] = useState(null);
|
|
38
|
+
const [selectedValues, setSelectedValues] = useState(defaultValue);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (value !== void 0) {
|
|
41
|
+
setSelectedValues(value);
|
|
42
|
+
}
|
|
43
|
+
}, [value]);
|
|
44
|
+
const isControlled = value !== void 0;
|
|
45
|
+
const getCurrentValues = () => isControlled ? value : selectedValues;
|
|
46
|
+
const handleItemClick = (index) => {
|
|
47
|
+
setActiveItem(activeItem === index ? null : index);
|
|
48
|
+
};
|
|
49
|
+
const handleOptionClick = (itemIndex, optionValue) => {
|
|
50
|
+
const newValues = { ...getCurrentValues(), [itemIndex]: optionValue };
|
|
51
|
+
if (!isControlled) {
|
|
52
|
+
setSelectedValues(newValues);
|
|
53
|
+
}
|
|
54
|
+
setActiveItem(null);
|
|
55
|
+
if (onChange) {
|
|
56
|
+
onChange(itemIndex, optionValue, newValues);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const handleMaskClick = () => {
|
|
60
|
+
setActiveItem(null);
|
|
61
|
+
};
|
|
62
|
+
const getSelectedItemText = (itemIndex) => {
|
|
63
|
+
const currentValues = getCurrentValues();
|
|
64
|
+
const selectedValue = currentValues[itemIndex];
|
|
65
|
+
if (selectedValue === void 0) {
|
|
66
|
+
return items[itemIndex].title;
|
|
67
|
+
}
|
|
68
|
+
const selectedOption = items[itemIndex].options.find(
|
|
69
|
+
(option) => option.value === selectedValue
|
|
70
|
+
);
|
|
71
|
+
return selectedOption ? selectedOption.text : items[itemIndex].title;
|
|
72
|
+
};
|
|
73
|
+
return /* @__PURE__ */ jsxs("div", { className: "wz-dropdown-menu-wrapper", children: [
|
|
74
|
+
/* @__PURE__ */ jsxs("div", { className: "wz-dropdown-menu", children: [
|
|
75
|
+
items.map((item, index) => /* @__PURE__ */ jsxs(
|
|
76
|
+
"div",
|
|
77
|
+
{
|
|
78
|
+
className: `wz-dropdown-item ${activeItem === index ? "active" : ""}`,
|
|
79
|
+
onClick: () => handleItemClick(index),
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ jsx("span", { children: getSelectedItemText(index) }),
|
|
82
|
+
item.icon || /* @__PURE__ */ jsx(
|
|
83
|
+
Icon,
|
|
84
|
+
{
|
|
85
|
+
name: "dropdown",
|
|
86
|
+
size: 12
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
index
|
|
92
|
+
)),
|
|
93
|
+
extension && /* @__PURE__ */ jsx("div", { className: "wz-dropdown-extension", children: extension })
|
|
94
|
+
] }),
|
|
95
|
+
activeItem !== null && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
96
|
+
/* @__PURE__ */ jsx("div", { className: "wz-dropdown-mask", onClick: handleMaskClick }),
|
|
97
|
+
/* @__PURE__ */ jsx("div", { className: "wz-dropdown-popup", children: items[activeItem].options.map((option) => /* @__PURE__ */ jsx(
|
|
98
|
+
"div",
|
|
99
|
+
{
|
|
100
|
+
className: `wz-dropdown-option ${getCurrentValues()[activeItem] === option.value ? "selected" : ""}`,
|
|
101
|
+
onClick: () => handleOptionClick(activeItem, option.value),
|
|
102
|
+
children: option.text
|
|
103
|
+
},
|
|
104
|
+
option.value
|
|
105
|
+
)) })
|
|
106
|
+
] })
|
|
107
|
+
] });
|
|
108
|
+
};
|
|
109
|
+
export {
|
|
110
|
+
DropdownMenu
|
|
111
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react/jsx-runtime"),require("react")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","react"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).DropDownMenu={},e.jsxRuntime,e.React)}(this,(function(e,n,o){"use strict";const t=({name:e,size:o=24,color:t="currentColor",className:s="",style:i,onClick:l,type:r="yunying"})=>{const c={fontSize:"number"==typeof o?`${o}px`:o,color:t,...i},d=`iconfont-${r}`,a=`icon-${e}`;return n.jsx("i",{className:`wz-icon ${d} ${a} ${s}`,style:c,onClick:l})};e.DropdownMenu=({items:e,extension:s,onChange:i,value:l,defaultValue:r={}})=>{const[c,d]=o.useState(null),[a,u]=o.useState(r);o.useEffect((()=>{void 0!==l&&u(l)}),[l]);const p=void 0!==l,m=()=>p?l:a,f=n=>{const o=m()[n];if(void 0===o)return e[n].title;const t=e[n].options.find((e=>e.value===o));return t?t.text:e[n].title};return n.jsxs("div",{className:"wz-dropdown-menu-wrapper",children:[n.jsxs("div",{className:"wz-dropdown-menu",children:[e.map(((e,o)=>n.jsxs("div",{className:"wz-dropdown-item "+(c===o?"active":""),onClick:()=>(e=>{d(c===e?null:e)})(o),children:[n.jsx("span",{children:f(o)}),e.icon||n.jsx(t,{name:"dropdown",size:12})]},o))),s&&n.jsx("div",{className:"wz-dropdown-extension",children:s})]}),null!==c&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"wz-dropdown-mask",onClick:()=>{d(null)}}),n.jsx("div",{className:"wz-dropdown-popup",children:e[c].options.map((e=>n.jsx("div",{className:"wz-dropdown-option "+(m()[c]===e.value?"selected":""),onClick:()=>((e,n)=>{const o={...m(),[e]:n};p||u(o),d(null),i&&i(e,n,o)})(c,e.value),children:e.text},e.value)))})]})]})},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--wz-z-index-base:1;--wz-z-index-dropdown:100;--wz-z-index-navbar:999;--wz-z-index-tabbar:999;--wz-z-index-popup:1000;--wz-z-index-dialog:1000;--wz-z-index-toast:9999}.wz-dropdown-menu-wrapper{position:relative}.wz-dropdown-menu{z-index:var(--wz-z-index-dropdown,100);background-color:#fff;align-items:center;gap:4px;height:48px;padding:0 4px;display:flex;position:relative;box-shadow:0 2px 12px #6465661f}.wz-dropdown-item{color:#333;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;min-width:60px;padding:0 14px;font-size:13px;font-weight:400;line-height:20px;transition:color .3s;display:flex}.wz-dropdown-item:nth-child(2){padding:0 10px}.wz-dropdown-item:nth-child(n+3){padding:0 18px}.wz-dropdown-item.active{color:#1677ff}.wz-dropdown-item .wz-icon{margin-left:4px}.wz-dropdown-extension{align-items:center;gap:8px;margin-left:auto;padding:0 4px;display:flex}.wz-dropdown-extension .wz-dropdown-btn-icon{align-items:center;margin-right:4px;display:inline-flex}.wz-dropdown-mask{z-index:calc(var(--wz-z-index-dropdown,100) - 1);background-color:#0000;position:fixed;top:0;bottom:0;left:0;right:0}.wz-dropdown-popup{z-index:var(--wz-z-index-dropdown,100);background-color:#fff;border-radius:0 0 8px 8px;max-height:240px;position:absolute;top:48px;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.wz-dropdown-option{color:#333;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:12px 18px;font-size:14px;transition:background-color .3s}.wz-dropdown-option:hover{background-color:#f5f5f5}.wz-dropdown-option.selected{color:#1677ff;font-weight:500}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--wz-z-index-base:1;--wz-z-index-dropdown:100;--wz-z-index-navbar:999;--wz-z-index-tabbar:999;--wz-z-index-popup:1000;--wz-z-index-dialog:1000;--wz-z-index-toast:9999}.wz-dropdown-menu-wrapper{position:relative}.wz-dropdown-menu{z-index:var(--wz-z-index-dropdown,100);background-color:#fff;align-items:center;gap:4px;height:48px;padding:0 4px;display:flex;position:relative;box-shadow:0 2px 12px #6465661f}.wz-dropdown-item{color:#333;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;min-width:60px;padding:0 14px;font-size:13px;font-weight:400;line-height:20px;transition:color .3s;display:flex}.wz-dropdown-item:nth-child(2){padding:0 10px}.wz-dropdown-item:nth-child(n+3){padding:0 18px}.wz-dropdown-item.active{color:#1677ff}.wz-dropdown-item .wz-icon{margin-left:4px}.wz-dropdown-extension{align-items:center;gap:8px;margin-left:auto;padding:0 4px;display:flex}.wz-dropdown-extension .wz-dropdown-btn-icon{align-items:center;margin-right:4px;display:inline-flex}.wz-dropdown-mask{z-index:calc(var(--wz-z-index-dropdown,100) - 1);background-color:#0000;position:fixed;top:0;bottom:0;left:0;right:0}.wz-dropdown-popup{z-index:var(--wz-z-index-dropdown,100);background-color:#fff;border-radius:0 0 8px 8px;max-height:240px;position:absolute;top:48px;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.wz-dropdown-option{color:#333;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:12px 18px;font-size:14px;transition:background-color .3s}.wz-dropdown-option:hover{background-color:#f5f5f5}.wz-dropdown-option.selected{color:#1677ff;font-weight:500}.wz-icon{justify-content:center;align-items:center;transition:color .2s ease-in-out;display:inline-flex}.wz-icon-home:before{content:""}.wz-icon-search:before{content:""}.wz-icon-person:before{content:""}.wz-icon-settings:before{content:""}.wz-icon-notifications:before{content:""}.wz-icon-message:before{content:""}.wz-icon-favorite:before{content:""}.wz-icon-star:before{content:""}.wz-icon-close:before{content:""}.wz-icon-check:before{content:""}.wz-icon-arrow-back:before{content:""}.wz-icon-arrow-forward:before{content:""}.wz-icon-menu:before{content:""}.wz-icon-more:before{content:""}.wz-icon-add:before{content:""}.wz-icon-edit:before{content:""}.wz-icon-delete:before{content:""}.wz-icon-share:before{content:""}.wz-icon-download:before{content:""}.wz-icon-upload:before{content:""}.wz-icon-refresh:before{content:""}.wz-icon-help:before{content:""}.wz-icon-info:before{content:""}.wz-icon-warning:before{content:""}.wz-icon-error:before{content:""}.wz-icon-success:before{content:""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const alignMap = {
|
|
3
|
+
start: "flex-start",
|
|
4
|
+
center: "center",
|
|
5
|
+
end: "flex-end",
|
|
6
|
+
stretch: "stretch",
|
|
7
|
+
baseline: "baseline"
|
|
8
|
+
};
|
|
9
|
+
const justifyMap = {
|
|
10
|
+
start: "flex-start",
|
|
11
|
+
center: "center",
|
|
12
|
+
end: "flex-end",
|
|
13
|
+
between: "space-between",
|
|
14
|
+
around: "space-around",
|
|
15
|
+
evenly: "space-evenly"
|
|
16
|
+
};
|
|
17
|
+
const FlexItem = ({
|
|
18
|
+
span,
|
|
19
|
+
order,
|
|
20
|
+
offset,
|
|
21
|
+
className = "",
|
|
22
|
+
style = {},
|
|
23
|
+
children
|
|
24
|
+
}) => {
|
|
25
|
+
if (process.env.NODE_ENV !== "production") {
|
|
26
|
+
if (span !== void 0 && (span < 0 || span > 1)) {
|
|
27
|
+
console.warn(
|
|
28
|
+
`[Flex.Item] span 应该在 0-1 之间,当前值为 ${span}。例如:0.5 表示 50%`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
if (offset !== void 0 && (offset < 0 || offset > 1)) {
|
|
32
|
+
console.warn(
|
|
33
|
+
`[Flex.Item] offset 应该在 0-1 之间,当前值为 ${offset}。例如:0.25 表示 25%`
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const itemStyle = {
|
|
38
|
+
flexBasis: span !== void 0 ? `${span * 100}%` : void 0,
|
|
39
|
+
flexGrow: span !== void 0 ? 0 : void 0,
|
|
40
|
+
flexShrink: span !== void 0 ? 0 : void 0,
|
|
41
|
+
order,
|
|
42
|
+
marginLeft: offset !== void 0 ? `${offset * 100}%` : void 0,
|
|
43
|
+
...style
|
|
44
|
+
};
|
|
45
|
+
return /* @__PURE__ */ jsx(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: `wz-flex-item${className ? " " + className : ""}`,
|
|
49
|
+
style: itemStyle,
|
|
50
|
+
children
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
const Flex = ({
|
|
55
|
+
direction = "row",
|
|
56
|
+
align = "stretch",
|
|
57
|
+
justify = "start",
|
|
58
|
+
wrap = "nowrap",
|
|
59
|
+
gap = 0,
|
|
60
|
+
className = "",
|
|
61
|
+
style = {},
|
|
62
|
+
children
|
|
63
|
+
}) => {
|
|
64
|
+
const flexStyle = {
|
|
65
|
+
display: "flex",
|
|
66
|
+
flexDirection: direction,
|
|
67
|
+
alignItems: alignMap[align],
|
|
68
|
+
justifyContent: justifyMap[justify],
|
|
69
|
+
flexWrap: wrap,
|
|
70
|
+
gap: typeof gap === "number" ? `${gap}px` : gap,
|
|
71
|
+
...style
|
|
72
|
+
};
|
|
73
|
+
return /* @__PURE__ */ jsx(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
className: `wz-flex${className ? " " + className : ""}`,
|
|
77
|
+
style: flexStyle,
|
|
78
|
+
children
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
};
|
|
82
|
+
Flex.Item = FlexItem;
|
|
83
|
+
export {
|
|
84
|
+
Flex
|
|
85
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Flex={},e.jsxRuntime)}(this,(function(e,t){"use strict";const n={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch",baseline:"baseline"},s={start:"flex-start",center:"center",end:"flex-end",between:"space-between",around:"space-around",evenly:"space-evenly"},r=({direction:e="row",align:r="stretch",justify:i="start",wrap:l="nowrap",gap:o=0,className:a="",style:d={},children:c})=>{const f={display:"flex",flexDirection:e,alignItems:n[r],justifyContent:s[i],flexWrap:l,gap:"number"==typeof o?`${o}px`:o,...d};return t.jsx("div",{className:"wz-flex"+(a?" "+a:""),style:f,children:c})};r.Item=({span:e,order:n,offset:s,className:r="",style:i={},children:l})=>{process.env.NODE_ENV;const o={flexBasis:void 0!==e?100*e+"%":void 0,flexGrow:void 0!==e?0:void 0,flexShrink:void 0!==e?0:void 0,order:n,marginLeft:void 0!==s?100*s+"%":void 0,...i};return t.jsx("div",{className:"wz-flex-item"+(r?" "+r:""),style:o,children:l})},e.Flex=r,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-flex{box-sizing:border-box;display:flex}.wz-flex-item{box-sizing:border-box}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-flex{box-sizing:border-box;display:flex}.wz-flex-item{box-sizing:border-box}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
const GridContext = createContext(24);
|
|
4
|
+
const GridItem = ({
|
|
5
|
+
span = 1,
|
|
6
|
+
offset = 0,
|
|
7
|
+
order,
|
|
8
|
+
className = "",
|
|
9
|
+
style = {},
|
|
10
|
+
children
|
|
11
|
+
}) => {
|
|
12
|
+
const cols = useContext(GridContext);
|
|
13
|
+
if (process.env.NODE_ENV !== "production") {
|
|
14
|
+
if (span < 1 || span > cols) {
|
|
15
|
+
console.warn(
|
|
16
|
+
`[Grid.Item] span 应该在 1-${cols} 之间,当前值为 ${span}`
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
if (offset < 0 || offset > cols) {
|
|
20
|
+
console.warn(
|
|
21
|
+
`[Grid.Item] offset 应该在 0-${cols} 之间,当前值为 ${offset}`
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const width = `${span / cols * 100}%`;
|
|
26
|
+
const marginLeft = offset ? `${offset / cols * 100}%` : void 0;
|
|
27
|
+
return /* @__PURE__ */ jsx(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
className: `wz-grid-item${className ? " " + className : ""}`,
|
|
31
|
+
style: { width, marginLeft, order, ...style },
|
|
32
|
+
children
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
const Grid = ({
|
|
37
|
+
cols = 24,
|
|
38
|
+
gap = 0,
|
|
39
|
+
className = "",
|
|
40
|
+
style = {},
|
|
41
|
+
children
|
|
42
|
+
}) => {
|
|
43
|
+
const gridStyle = {
|
|
44
|
+
display: "flex",
|
|
45
|
+
flexWrap: "wrap",
|
|
46
|
+
gap: typeof gap === "number" ? `${gap}px` : gap,
|
|
47
|
+
...style
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ jsx(GridContext.Provider, { value: cols, children: /* @__PURE__ */ jsx("div", { className: `wz-grid${className ? " " + className : ""}`, style: gridStyle, children }) });
|
|
50
|
+
};
|
|
51
|
+
Grid.Item = GridItem;
|
|
52
|
+
export {
|
|
53
|
+
Grid as default
|
|
54
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react/jsx-runtime"),require("react")):"function"==typeof define&&define.amd?define(["react/jsx-runtime","react"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Grid=t(e.jsxRuntime,e.React)}(this,(function(e,t){"use strict";const r=t.createContext(24),s=({cols:t=24,gap:s=0,className:n="",style:i={},children:o})=>{const c={display:"flex",flexWrap:"wrap",gap:"number"==typeof s?`${s}px`:s,...i};return e.jsx(r.Provider,{value:t,children:e.jsx("div",{className:"wz-grid"+(n?" "+n:""),style:c,children:o})})};return s.Item=({span:s=1,offset:n=0,order:i,className:o="",style:c={},children:d})=>{const a=t.useContext(r);process.env.NODE_ENV;const l=s/a*100+"%",f=n?n/a*100+"%":void 0;return e.jsx("div",{className:"wz-grid-item"+(o?" "+o:""),style:{width:l,marginLeft:f,order:i,...c},children:d})},s}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-grid{box-sizing:border-box;flex-wrap:wrap;display:flex}.wz-grid-item{box-sizing:border-box}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.css';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.wz-grid{box-sizing:border-box;flex-wrap:wrap;display:flex}.wz-grid-item{box-sizing:border-box}
|