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.
Files changed (241) hide show
  1. package/README.md +51 -0
  2. package/dist/Button/index.js +84 -0
  3. package/dist/Button/index.umd.cjs +1 -0
  4. package/dist/Button/style/index.css +1 -0
  5. package/dist/Button/style/index.js +1 -0
  6. package/dist/Button/style.css +1 -0
  7. package/dist/Card/index.js +32 -0
  8. package/dist/Card/index.umd.cjs +1 -0
  9. package/dist/Card/style/index.css +1 -0
  10. package/dist/Card/style/index.js +1 -0
  11. package/dist/Card/style.css +1 -0
  12. package/dist/Cascader/index.js +94 -0
  13. package/dist/Cascader/index.umd.cjs +1 -0
  14. package/dist/Cascader/style/index.css +1 -0
  15. package/dist/Cascader/style/index.js +1 -0
  16. package/dist/Cascader/style.css +1 -0
  17. package/dist/Cell/index.js +135 -0
  18. package/dist/Cell/index.umd.cjs +6 -0
  19. package/dist/Cell/style/index.css +1 -0
  20. package/dist/Cell/style/index.js +1 -0
  21. package/dist/Cell/style.css +1 -0
  22. package/dist/CheckList/index.js +34 -0
  23. package/dist/CheckList/index.umd.cjs +1 -0
  24. package/dist/CheckList/style/index.css +1 -0
  25. package/dist/CheckList/style/index.js +1 -0
  26. package/dist/CheckList/style.css +1 -0
  27. package/dist/Checkbox/index.js +84 -0
  28. package/dist/Checkbox/index.umd.cjs +1 -0
  29. package/dist/Checkbox/style/index.css +1 -0
  30. package/dist/Checkbox/style/index.js +1 -0
  31. package/dist/Checkbox/style.css +1 -0
  32. package/dist/Collapse/index.js +72 -0
  33. package/dist/Collapse/index.umd.cjs +1 -0
  34. package/dist/Collapse/style/index.css +1 -0
  35. package/dist/Collapse/style/index.js +1 -0
  36. package/dist/Collapse/style.css +1 -0
  37. package/dist/DatePicker/index.js +154 -0
  38. package/dist/DatePicker/index.umd.cjs +1 -0
  39. package/dist/DatePicker/style/index.css +1 -0
  40. package/dist/DatePicker/style/index.js +1 -0
  41. package/dist/DatePicker/style.css +1 -0
  42. package/dist/DateRangePicker/index.js +220 -0
  43. package/dist/DateRangePicker/index.umd.cjs +1 -0
  44. package/dist/DateRangePicker/style/index.css +1 -0
  45. package/dist/DateRangePicker/style/index.js +1 -0
  46. package/dist/DateRangePicker/style.css +1 -0
  47. package/dist/Dialog/index.js +216 -0
  48. package/dist/Dialog/index.umd.cjs +6 -0
  49. package/dist/Dialog/style/index.css +1 -0
  50. package/dist/Dialog/style/index.js +1 -0
  51. package/dist/Dialog/style.css +1 -0
  52. package/dist/Divider/index.js +27 -0
  53. package/dist/Divider/index.umd.cjs +1 -0
  54. package/dist/Divider/style/index.css +1 -0
  55. package/dist/Divider/style/index.js +1 -0
  56. package/dist/Divider/style.css +1 -0
  57. package/dist/DropDownMenu/index.js +111 -0
  58. package/dist/DropDownMenu/index.umd.cjs +1 -0
  59. package/dist/DropDownMenu/style/index.css +1 -0
  60. package/dist/DropDownMenu/style/index.js +1 -0
  61. package/dist/DropDownMenu/style.css +1 -0
  62. package/dist/Flex/index.js +85 -0
  63. package/dist/Flex/index.umd.cjs +1 -0
  64. package/dist/Flex/style/index.css +1 -0
  65. package/dist/Flex/style/index.js +1 -0
  66. package/dist/Flex/style.css +1 -0
  67. package/dist/Grid/index.js +54 -0
  68. package/dist/Grid/index.umd.cjs +1 -0
  69. package/dist/Grid/style/index.css +1 -0
  70. package/dist/Grid/style/index.js +1 -0
  71. package/dist/Grid/style.css +1 -0
  72. package/dist/GridView/index.js +90 -0
  73. package/dist/GridView/index.umd.cjs +1 -0
  74. package/dist/GridView/style/index.css +1 -0
  75. package/dist/GridView/style/index.js +1 -0
  76. package/dist/GridView/style.css +1 -0
  77. package/dist/Icon/index.js +31 -0
  78. package/dist/Icon/index.umd.cjs +1 -0
  79. package/dist/Icon/style/index.css +1 -0
  80. package/dist/Icon/style/index.js +1 -0
  81. package/dist/Icon/style.css +1 -0
  82. package/dist/Input/index.js +148 -0
  83. package/dist/Input/index.umd.cjs +1 -0
  84. package/dist/Input/style/index.css +1 -0
  85. package/dist/Input/style/index.js +1 -0
  86. package/dist/Input/style.css +1 -0
  87. package/dist/NavBar/index.js +175 -0
  88. package/dist/NavBar/index.umd.cjs +6 -0
  89. package/dist/NavBar/style/index.css +1 -0
  90. package/dist/NavBar/style/index.js +1 -0
  91. package/dist/NavBar/style.css +1 -0
  92. package/dist/Popup/index.js +124 -0
  93. package/dist/Popup/index.umd.cjs +1 -0
  94. package/dist/Popup/style/index.css +1 -0
  95. package/dist/Popup/style/index.js +1 -0
  96. package/dist/Popup/style.css +1 -0
  97. package/dist/Radio/index.js +82 -0
  98. package/dist/Radio/index.umd.cjs +1 -0
  99. package/dist/Radio/style/index.css +1 -0
  100. package/dist/Radio/style/index.js +1 -0
  101. package/dist/Radio/style.css +1 -0
  102. package/dist/Search/index.js +158 -0
  103. package/dist/Search/index.umd.cjs +1 -0
  104. package/dist/Search/style/index.css +1 -0
  105. package/dist/Search/style/index.js +1 -0
  106. package/dist/Search/style.css +1 -0
  107. package/dist/Stepper/index.js +140 -0
  108. package/dist/Stepper/index.umd.cjs +1 -0
  109. package/dist/Stepper/style/index.css +1 -0
  110. package/dist/Stepper/style/index.js +1 -0
  111. package/dist/Stepper/style.css +1 -0
  112. package/dist/Switch/index.js +53 -0
  113. package/dist/Switch/index.umd.cjs +1 -0
  114. package/dist/Switch/style/index.css +1 -0
  115. package/dist/Switch/style/index.js +1 -0
  116. package/dist/Switch/style.css +1 -0
  117. package/dist/Tabbar/index.js +159 -0
  118. package/dist/Tabbar/index.umd.cjs +6 -0
  119. package/dist/Tabbar/style/index.css +1 -0
  120. package/dist/Tabbar/style/index.js +1 -0
  121. package/dist/Tabbar/style.css +1 -0
  122. package/dist/Tabs/index.js +50 -0
  123. package/dist/Tabs/index.umd.cjs +1 -0
  124. package/dist/Tabs/style/index.css +1 -0
  125. package/dist/Tabs/style/index.js +1 -0
  126. package/dist/Tabs/style.css +1 -0
  127. package/dist/Tag/index.js +96 -0
  128. package/dist/Tag/index.umd.cjs +6 -0
  129. package/dist/Tag/style/index.css +1 -0
  130. package/dist/Tag/style/index.js +1 -0
  131. package/dist/Tag/style.css +1 -0
  132. package/dist/TimePicker/index.js +201 -0
  133. package/dist/TimePicker/index.umd.cjs +1 -0
  134. package/dist/TimePicker/style/index.css +1 -0
  135. package/dist/TimePicker/style/index.js +1 -0
  136. package/dist/TimePicker/style.css +1 -0
  137. package/dist/Tip/index.js +104 -0
  138. package/dist/Tip/index.umd.cjs +6 -0
  139. package/dist/Tip/style/index.css +1 -0
  140. package/dist/Tip/style/index.js +1 -0
  141. package/dist/Tip/style.css +1 -0
  142. package/dist/Toast/index.js +183 -0
  143. package/dist/Toast/index.umd.cjs +6 -0
  144. package/dist/Toast/style/index.css +1 -0
  145. package/dist/Toast/style/index.js +1 -0
  146. package/dist/Toast/style.css +1 -0
  147. package/dist/Tooltip/index.js +172 -0
  148. package/dist/Tooltip/index.umd.cjs +6 -0
  149. package/dist/Tooltip/style/index.css +1 -0
  150. package/dist/Tooltip/style/index.js +1 -0
  151. package/dist/Tooltip/style.css +1 -0
  152. package/dist/assets/fonts/qitu/iconfont.css +140 -0
  153. package/dist/assets/fonts/qitu/iconfont.ttf +0 -0
  154. package/dist/assets/fonts/qitu/iconfont.woff +0 -0
  155. package/dist/assets/fonts/qitu/iconfont.woff2 +0 -0
  156. package/dist/assets/fonts/qituyonghu/iconfont.css +64 -0
  157. package/dist/assets/fonts/qituyonghu/iconfont.ttf +0 -0
  158. package/dist/assets/fonts/qituyonghu/iconfont.woff +0 -0
  159. package/dist/assets/fonts/qituyonghu/iconfont.woff2 +0 -0
  160. package/dist/assets/fonts/wzdaili/iconfont.css +71 -0
  161. package/dist/assets/fonts/wzdaili/iconfont.ttf +0 -0
  162. package/dist/assets/fonts/wzdaili/iconfont.woff +0 -0
  163. package/dist/assets/fonts/wzdaili/iconfont.woff2 +0 -0
  164. package/dist/assets/fonts/wzyonghu/iconfont.css +97 -0
  165. package/dist/assets/fonts/wzyonghu/iconfont.ttf +0 -0
  166. package/dist/assets/fonts/wzyonghu/iconfont.woff +0 -0
  167. package/dist/assets/fonts/wzyonghu/iconfont.woff2 +0 -0
  168. package/dist/assets/fonts/yunying/iconfont.css +303 -0
  169. package/dist/assets/fonts/yunying/iconfont.ttf +0 -0
  170. package/dist/assets/fonts/yunying/iconfont.woff +0 -0
  171. package/dist/assets/fonts/yunying/iconfont.woff2 +0 -0
  172. package/dist/style.css +1 -0
  173. package/dist/types/components/Button/Button.d.ts +16 -0
  174. package/dist/types/components/Button/index.d.ts +5 -0
  175. package/dist/types/components/Card/Card.d.ts +15 -0
  176. package/dist/types/components/Card/index.d.ts +3 -0
  177. package/dist/types/components/Cascader/Cascader.d.ts +14 -0
  178. package/dist/types/components/Cascader/index.d.ts +3 -0
  179. package/dist/types/components/Cell/Cell.d.ts +24 -0
  180. package/dist/types/components/Cell/CellGroup.d.ts +8 -0
  181. package/dist/types/components/Cell/index.d.ts +8 -0
  182. package/dist/types/components/CheckList/CheckList.d.ts +11 -0
  183. package/dist/types/components/CheckList/index.d.ts +3 -0
  184. package/dist/types/components/Checkbox/Checkbox.d.ts +62 -0
  185. package/dist/types/components/Checkbox/index.d.ts +3 -0
  186. package/dist/types/components/Collapse/Collapse.d.ts +17 -0
  187. package/dist/types/components/Collapse/index.d.ts +3 -0
  188. package/dist/types/components/DatePicker/DatePicker.d.ts +13 -0
  189. package/dist/types/components/DatePicker/index.d.ts +3 -0
  190. package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +13 -0
  191. package/dist/types/components/DateRangePicker/index.d.ts +3 -0
  192. package/dist/types/components/Dialog/Dialog.d.ts +16 -0
  193. package/dist/types/components/Dialog/imperative.d.ts +8 -0
  194. package/dist/types/components/Dialog/index.d.ts +8 -0
  195. package/dist/types/components/Divider/Divider.d.ts +11 -0
  196. package/dist/types/components/Divider/index.d.ts +3 -0
  197. package/dist/types/components/DropDownMenu/DropdownMenu.d.ts +19 -0
  198. package/dist/types/components/DropDownMenu/index.d.ts +2 -0
  199. package/dist/types/components/Flex/Flex.d.ts +25 -0
  200. package/dist/types/components/Flex/index.d.ts +3 -0
  201. package/dist/types/components/Grid/Grid.d.ts +22 -0
  202. package/dist/types/components/Grid/index.d.ts +3 -0
  203. package/dist/types/components/GridView/GridView.d.ts +59 -0
  204. package/dist/types/components/GridView/index.d.ts +2 -0
  205. package/dist/types/components/Icon/Icon.d.ts +12 -0
  206. package/dist/types/components/Icon/icon-data.d.ts +42 -0
  207. package/dist/types/components/Icon/index.d.ts +3 -0
  208. package/dist/types/components/Input/Input.d.ts +17 -0
  209. package/dist/types/components/Input/index.d.ts +3 -0
  210. package/dist/types/components/NavBar/NavBar.d.ts +20 -0
  211. package/dist/types/components/NavBar/index.d.ts +3 -0
  212. package/dist/types/components/Popup/Popup.d.ts +23 -0
  213. package/dist/types/components/Popup/index.d.ts +3 -0
  214. package/dist/types/components/Radio/Radio.d.ts +62 -0
  215. package/dist/types/components/Radio/index.d.ts +3 -0
  216. package/dist/types/components/Search/Search.d.ts +26 -0
  217. package/dist/types/components/Search/index.d.ts +3 -0
  218. package/dist/types/components/Stepper/Stepper.d.ts +22 -0
  219. package/dist/types/components/Stepper/index.d.ts +3 -0
  220. package/dist/types/components/Switch/Switch.d.ts +16 -0
  221. package/dist/types/components/Switch/index.d.ts +3 -0
  222. package/dist/types/components/Tabbar/Tabbar.d.ts +39 -0
  223. package/dist/types/components/Tabbar/index.d.ts +3 -0
  224. package/dist/types/components/Tabs/Tabs.d.ts +25 -0
  225. package/dist/types/components/Tabs/index.d.ts +3 -0
  226. package/dist/types/components/Tag/Tag.d.ts +39 -0
  227. package/dist/types/components/Tag/index.d.ts +3 -0
  228. package/dist/types/components/TimePicker/TimePicker.d.ts +12 -0
  229. package/dist/types/components/TimePicker/index.d.ts +3 -0
  230. package/dist/types/components/Tip/Tip.d.ts +32 -0
  231. package/dist/types/components/Tip/index.d.ts +3 -0
  232. package/dist/types/components/Toast/Toast.d.ts +11 -0
  233. package/dist/types/components/Toast/index.d.ts +15 -0
  234. package/dist/types/components/Tooltip/Tooltip.d.ts +17 -0
  235. package/dist/types/components/Tooltip/index.d.ts +3 -0
  236. package/dist/types/components/index.d.ts +31 -0
  237. package/dist/types/index.d.ts +7 -0
  238. package/dist/types/utils/color.d.ts +1 -0
  239. package/dist/wz-h5-design.es.js +2449 -0
  240. package/dist/wz-h5-design.umd.js +6 -0
  241. 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';