uniapp-dyckui 4.1.1

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 (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +104 -0
  3. package/dist/assets/style.BFlsbpSj.css +1472 -0
  4. package/dist/index.cjs.js +1380 -0
  5. package/dist/index.cjs.js.map +1 -0
  6. package/dist/index.es.js +1380 -0
  7. package/dist/index.es.js.map +1 -0
  8. package/dist/src/components/MyComs/Button/index.d.ts +3 -0
  9. package/dist/src/components/MyComs/Button/index.vue.d.ts +93 -0
  10. package/dist/src/components/MyComs/Dialog/index.d.ts +3 -0
  11. package/dist/src/components/MyComs/Dialog/index.vue.d.ts +65 -0
  12. package/dist/src/components/MyComs/Divider/index.d.ts +3 -0
  13. package/dist/src/components/MyComs/Divider/index.vue.d.ts +53 -0
  14. package/dist/src/components/MyComs/DropdownSelect/dropdownSelect.d.ts +10 -0
  15. package/dist/src/components/MyComs/DropdownSelect/index.d.ts +4 -0
  16. package/dist/src/components/MyComs/DropdownSelect/index.vue.d.ts +26 -0
  17. package/dist/src/components/MyComs/DropdownSelect/type.d.ts +13 -0
  18. package/dist/src/components/MyComs/DropdownWithBadge/dropdownWithBadge.d.ts +5 -0
  19. package/dist/src/components/MyComs/DropdownWithBadge/index.d.ts +4 -0
  20. package/dist/src/components/MyComs/DropdownWithBadge/index.vue.d.ts +26 -0
  21. package/dist/src/components/MyComs/DropdownWithBadge/type.d.ts +9 -0
  22. package/dist/src/components/MyComs/FilterDrawer/hasBadge.d.ts +8 -0
  23. package/dist/src/components/MyComs/FilterDrawer/index.d.ts +5 -0
  24. package/dist/src/components/MyComs/FilterDrawer/index.vue.d.ts +26 -0
  25. package/dist/src/components/MyComs/FilterDrawer/type.d.ts +8 -0
  26. package/dist/src/components/MyComs/FilterDrawer/useFilterDrawer.d.ts +10 -0
  27. package/dist/src/components/MyComs/InfiniteScroll/index.d.ts +3 -0
  28. package/dist/src/components/MyComs/InfiniteScroll/index.vue.d.ts +65 -0
  29. package/dist/src/components/MyComs/Popup/index.d.ts +3 -0
  30. package/dist/src/components/MyComs/Popup/index.vue.d.ts +119 -0
  31. package/dist/src/components/MyComs/PullRefresh/index.d.ts +3 -0
  32. package/dist/src/components/MyComs/PullRefresh/index.vue.d.ts +117 -0
  33. package/dist/src/components/MyComs/Swiper/index.d.ts +3 -0
  34. package/dist/src/components/MyComs/Swiper/index.vue.d.ts +79 -0
  35. package/dist/src/components/MyComs/Toast/index.d.ts +3 -0
  36. package/dist/src/components/MyComs/Toast/index.vue.d.ts +108 -0
  37. package/dist/src/components/MyComs/index.d.ts +20 -0
  38. package/package.json +218 -0
  39. package/src/components/MyComs/Button/README.md +235 -0
  40. package/src/components/MyComs/Button/index.ts +3 -0
  41. package/src/components/MyComs/Button/index.vue +413 -0
  42. package/src/components/MyComs/Dialog/README.md +160 -0
  43. package/src/components/MyComs/Dialog/index.ts +2 -0
  44. package/src/components/MyComs/Dialog/index.vue +275 -0
  45. package/src/components/MyComs/Divider/README.md +0 -0
  46. package/src/components/MyComs/Divider/index.ts +2 -0
  47. package/src/components/MyComs/Divider/index.vue +106 -0
  48. package/src/components/MyComs/DropdownSelect/README.md +112 -0
  49. package/src/components/MyComs/DropdownSelect/dropdownSelect.less +75 -0
  50. package/src/components/MyComs/DropdownSelect/dropdownSelect.ts +59 -0
  51. package/src/components/MyComs/DropdownSelect/index.ts +4 -0
  52. package/src/components/MyComs/DropdownSelect/index.vue +88 -0
  53. package/src/components/MyComs/DropdownSelect/type.ts +15 -0
  54. package/src/components/MyComs/DropdownWithBadge/README.md +77 -0
  55. package/src/components/MyComs/DropdownWithBadge/dropdownWithBadge.less +11 -0
  56. package/src/components/MyComs/DropdownWithBadge/dropdownWithBadge.ts +10 -0
  57. package/src/components/MyComs/DropdownWithBadge/index.ts +4 -0
  58. package/src/components/MyComs/DropdownWithBadge/index.vue +39 -0
  59. package/src/components/MyComs/DropdownWithBadge/type.ts +12 -0
  60. package/src/components/MyComs/FilterDrawer/filterDrawer.less +117 -0
  61. package/src/components/MyComs/FilterDrawer/hasBadge.ts +41 -0
  62. package/src/components/MyComs/FilterDrawer/index.ts +5 -0
  63. package/src/components/MyComs/FilterDrawer/index.vue +53 -0
  64. package/src/components/MyComs/FilterDrawer/type.ts +9 -0
  65. package/src/components/MyComs/FilterDrawer/useFilterDrawer.ts +38 -0
  66. package/src/components/MyComs/InfiniteScroll/index.ts +2 -0
  67. package/src/components/MyComs/InfiniteScroll/index.vue +171 -0
  68. package/src/components/MyComs/Popup/README.md +684 -0
  69. package/src/components/MyComs/Popup/index.ts +2 -0
  70. package/src/components/MyComs/Popup/index.vue +835 -0
  71. package/src/components/MyComs/PullRefresh/README.md +600 -0
  72. package/src/components/MyComs/PullRefresh/index.ts +2 -0
  73. package/src/components/MyComs/PullRefresh/index.vue +599 -0
  74. package/src/components/MyComs/Swiper/README.md +202 -0
  75. package/src/components/MyComs/Swiper/index.ts +2 -0
  76. package/src/components/MyComs/Swiper/index.vue +245 -0
  77. package/src/components/MyComs/Toast/README.md +604 -0
  78. package/src/components/MyComs/Toast/index.ts +2 -0
  79. package/src/components/MyComs/Toast/index.vue +372 -0
  80. package/src/components/MyComs/index.ts +33 -0
package/package.json ADDED
@@ -0,0 +1,218 @@
1
+ {
2
+ "name": "uniapp-dyckui",
3
+ "type": "module",
4
+ "version": "4.1.1",
5
+ "unibest-version": "4.1.1",
6
+ "unibest-update-time": "2025-12-04",
7
+ "packageManager": "pnpm@10.10.0",
8
+ "description": "uniapp-dyckui - 基于 uni-app 的优质组件库",
9
+ "generate-time": "用户创建项目时生成",
10
+ "author": {
11
+ "name": "feige996",
12
+ "zhName": "菲鸽",
13
+ "email": "1020103647@qq.com",
14
+ "github": "https://github.com/feige996",
15
+ "gitee": "https://gitee.com/feige996"
16
+ },
17
+ "license": "MIT",
18
+ "homepage": "https://unibest.tech",
19
+ "repository": "https://github.com/feige996/unibest",
20
+ "bugs": {
21
+ "url": "https://github.com/feige996/unibest/issues",
22
+ "url-old": "https://github.com/codercup/unibest/issues"
23
+ },
24
+ "exports": {
25
+ ".": {
26
+ "types": "./dist/index.d.ts",
27
+ "import": "./dist/index.mjs",
28
+ "require": "./dist/index.cjs"
29
+ },
30
+ "./components/*": {
31
+ "types": "./dist/components/*.d.ts",
32
+ "import": "./dist/components/*.mjs",
33
+ "require": "./dist/components/*.cjs"
34
+ },
35
+ "./package.json": "./package.json"
36
+ },
37
+ "main": "dist/index.cjs",
38
+ "module": "dist/index.mjs",
39
+ "types": "dist/index.d.ts",
40
+ "files": [
41
+ "LICENSE",
42
+ "README.md",
43
+ "dist",
44
+ "src/components/MyComs"
45
+ ],
46
+ "engines": {
47
+ "node": ">=20",
48
+ "pnpm": ">=9"
49
+ },
50
+ "scripts": {
51
+ "build:lib": "vite build -c vite.config.library.ts",
52
+ "preinstall": "npx only-allow pnpm",
53
+ "uvm": "npx @dcloudio/uvm@latest",
54
+ "uvm-rm": "node ./scripts/postupgrade.js",
55
+ "postuvm": "echo upgrade uni-app success!",
56
+ "dev:app": "uni -p app",
57
+ "dev:app:test": "uni -p app --mode test",
58
+ "dev:app:prod": "uni -p app --mode production",
59
+ "dev:app-android": "uni -p app-android",
60
+ "dev:app-ios": "uni -p app-ios",
61
+ "dev:custom": "uni -p",
62
+ "predev": "pnpm init-baseFiles",
63
+ "dev": "uni",
64
+ "dev:test": "uni --mode test",
65
+ "dev:prod": "uni --mode production",
66
+ "dev:h5": "uni",
67
+ "dev:h5:test": "uni --mode test",
68
+ "dev:h5:prod": "uni --mode production",
69
+ "dev:h5:ssr": "uni --ssr",
70
+ "dev:mp": "uni -p mp-weixin",
71
+ "dev:mp:test": "uni -p mp-weixin --mode test",
72
+ "dev:mp:prod": "uni -p mp-weixin --mode production",
73
+ "dev:mp-alipay": "uni -p mp-alipay",
74
+ "dev:mp-baidu": "uni -p mp-baidu",
75
+ "dev:mp-jd": "uni -p mp-jd",
76
+ "dev:mp-kuaishou": "uni -p mp-kuaishou",
77
+ "dev:mp-lark": "uni -p mp-lark",
78
+ "dev:mp-qq": "uni -p mp-qq",
79
+ "dev:mp-toutiao": "uni -p mp-toutiao",
80
+ "dev:mp-weixin": "uni -p mp-weixin",
81
+ "dev:mp-xhs": "uni -p mp-xhs",
82
+ "dev:quickapp-webview": "uni -p quickapp-webview",
83
+ "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
84
+ "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
85
+ "build:app": "uni build -p app",
86
+ "build:app:test": "uni build -p app --mode test",
87
+ "build:app:prod": "uni build -p app --mode production",
88
+ "build:app-android": "uni build -p app-android",
89
+ "build:app-ios": "uni build -p app-ios",
90
+ "build:custom": "uni build -p",
91
+ "build:h5": "uni build",
92
+ "build:h5:test": "uni build --mode test",
93
+ "build:h5:prod": "uni build --mode production",
94
+ "build": "uni build",
95
+ "build:test": "uni build --mode test",
96
+ "build:prod": "uni build --mode production",
97
+ "build:h5:ssr": "uni build --ssr",
98
+ "build:mp-alipay": "uni build -p mp-alipay",
99
+ "build:mp": "uni build -p mp-weixin",
100
+ "build:mp:test": "uni build -p mp-weixin --mode test",
101
+ "build:mp:prod": "uni build -p mp-weixin --mode production",
102
+ "build:mp-baidu": "uni build -p mp-baidu",
103
+ "build:mp-jd": "uni build -p mp-jd",
104
+ "build:mp-kuaishou": "uni build -p mp-kuaishou",
105
+ "build:mp-lark": "uni build -p mp-lark",
106
+ "build:mp-qq": "uni build -p mp-qq",
107
+ "build:mp-toutiao": "uni build -p mp-toutiao",
108
+ "build:mp-weixin": "uni build -p mp-weixin",
109
+ "build:mp-xhs": "uni build -p mp-xhs",
110
+ "build:quickapp-webview": "uni build -p quickapp-webview",
111
+ "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
112
+ "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
113
+ "type-check": "vue-tsc --noEmit",
114
+ "openapi": "openapi-ts",
115
+ "init-husky": "git init && husky",
116
+ "init-baseFiles": "node ./scripts/create-base-files.js",
117
+ "init-json": "pnpm init-baseFiles",
118
+ "prepare": "pnpm init-husky & pnpm init-baseFiles",
119
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
120
+ },
121
+ "dependencies": {
122
+ "@alova/adapter-uniapp": "^2.0.14",
123
+ "@alova/shared": "^1.3.1",
124
+ "@dcloudio/uni-app": "3.0.0-4070620250821001",
125
+ "@dcloudio/uni-app-harmony": "3.0.0-4070620250821001",
126
+ "@dcloudio/uni-app-plus": "3.0.0-4070620250821001",
127
+ "@dcloudio/uni-components": "3.0.0-4070620250821001",
128
+ "@dcloudio/uni-h5": "3.0.0-4070620250821001",
129
+ "@dcloudio/uni-mp-alipay": "3.0.0-4070620250821001",
130
+ "@dcloudio/uni-mp-baidu": "3.0.0-4070620250821001",
131
+ "@dcloudio/uni-mp-harmony": "3.0.0-4070620250821001",
132
+ "@dcloudio/uni-mp-jd": "3.0.0-4070620250821001",
133
+ "@dcloudio/uni-mp-kuaishou": "3.0.0-4070620250821001",
134
+ "@dcloudio/uni-mp-lark": "3.0.0-4070620250821001",
135
+ "@dcloudio/uni-mp-qq": "3.0.0-4070620250821001",
136
+ "@dcloudio/uni-mp-toutiao": "3.0.0-4070620250821001",
137
+ "@dcloudio/uni-mp-weixin": "3.0.0-4070620250821001",
138
+ "@dcloudio/uni-mp-xhs": "3.0.0-4070620250821001",
139
+ "@dcloudio/uni-quickapp-webview": "3.0.0-4070620250821001",
140
+ "abortcontroller-polyfill": "^1.7.8",
141
+ "alova": "^3.3.3",
142
+ "dayjs": "1.11.10",
143
+ "pinia": "2.0.36",
144
+ "pinia-plugin-persistedstate": "3.2.1",
145
+ "vue": "^3.4.21",
146
+ "vue-i18n": "9.1.9",
147
+ "vue-router": "4.5.1",
148
+ "z-paging": "2.8.7"
149
+ },
150
+ "devDependencies": {
151
+ "@commitlint/cli": "^19.8.1",
152
+ "@commitlint/config-conventional": "^19.8.1",
153
+ "@dcloudio/types": "^3.4.8",
154
+ "@dcloudio/uni-automator": "3.0.0-4070620250821001",
155
+ "@dcloudio/uni-cli-shared": "3.0.0-4070620250821001",
156
+ "@dcloudio/uni-stacktracey": "3.0.0-4070620250821001",
157
+ "@dcloudio/vite-plugin-uni": "3.0.0-4070620250821001",
158
+ "@esbuild/darwin-arm64": "0.20.2",
159
+ "@esbuild/darwin-x64": "0.20.2",
160
+ "@iconify-json/carbon": "^1.2.4",
161
+ "@iconify/utils": "^3.0.2",
162
+ "@rollup/rollup-darwin-x64": "^4.28.0",
163
+ "@types/node": "^20.17.9",
164
+ "@uni-helper/eslint-config": "0.5.0",
165
+ "@uni-helper/plugin-uni": "0.1.0",
166
+ "@uni-helper/uni-env": "0.1.8",
167
+ "@uni-helper/uni-types": "1.0.0-alpha.6",
168
+ "@uni-helper/unocss-preset-uni": "0.2.11",
169
+ "@uni-helper/vite-plugin-uni-components": "0.2.3",
170
+ "@uni-helper/vite-plugin-uni-layouts": "0.1.11",
171
+ "@uni-helper/vite-plugin-uni-manifest": "0.2.11",
172
+ "@uni-helper/vite-plugin-uni-pages": "0.3.19",
173
+ "@uni-helper/vite-plugin-uni-platform": "0.0.5",
174
+ "@uni-ku/bundle-optimizer": "v1.3.15-beta.2",
175
+ "@uni-ku/root": "1.4.1",
176
+ "@unocss/eslint-plugin": "^66.2.3",
177
+ "@unocss/preset-legacy-compat": "66.0.0",
178
+ "@vue/runtime-core": "^3.4.21",
179
+ "@vue/tsconfig": "^0.1.3",
180
+ "autoprefixer": "^10.4.20",
181
+ "cross-env": "^10.0.0",
182
+ "eslint": "^9.31.0",
183
+ "eslint-plugin-format": "^1.0.1",
184
+ "husky": "^9.1.7",
185
+ "less": "^4.5.1",
186
+ "lint-staged": "^15.2.10",
187
+ "miniprogram-api-typings": "^4.1.0",
188
+ "openapi-ts-request": "^1.10.0",
189
+ "postcss": "^8.4.49",
190
+ "postcss-html": "^1.8.0",
191
+ "postcss-scss": "^4.0.9",
192
+ "rollup-plugin-visualizer": "^6.0.3",
193
+ "sass": "1.77.8",
194
+ "std-env": "^3.9.0",
195
+ "typescript": "~5.8.0",
196
+ "unocss": "66.0.0",
197
+ "unplugin-auto-import": "^20.0.0",
198
+ "vite": "5.2.8",
199
+ "vite-plugin-dts": "^3.9.1",
200
+ "vite-plugin-restart": "^1.0.0",
201
+ "vue-tsc": "^3.0.6"
202
+ },
203
+ "pnpm": {
204
+ "overrides": {
205
+ "unconfig": "7.3.2"
206
+ }
207
+ },
208
+ "overrides": {
209
+ "unconfig": "7.3.2"
210
+ },
211
+ "resolutions": {
212
+ "bin-wrapper": "npm:bin-wrapper-china",
213
+ "unconfig": "7.3.2"
214
+ },
215
+ "lint-staged": {
216
+ "*": "eslint --fix"
217
+ }
218
+ }
@@ -0,0 +1,235 @@
1
+ # Button 按钮组件
2
+
3
+ 一个基于 Vue 3 + TypeScript 开发的按钮组件,支持多种类型、尺寸、状态和样式,提供丰富的配置选项。
4
+
5
+ ## 基本用法
6
+
7
+ ### 引入组件
8
+
9
+ ```vue
10
+ <script setup>
11
+ import Button from '@/components/MyComs/Button/index.vue'
12
+ </script>
13
+ ```
14
+
15
+ ### 基础使用
16
+
17
+ ```vue
18
+ <template>
19
+ <Button type="primary">主要按钮</Button>
20
+ <Button type="success">成功按钮</Button>
21
+ <Button type="warning">警告按钮</Button>
22
+ <Button type="danger">危险按钮</Button>
23
+ <Button type="info">信息按钮</Button>
24
+ </template>
25
+ ```
26
+
27
+ ## API
28
+
29
+ ### Props
30
+
31
+ | 参数名 | 类型 | 默认值 | 说明 |
32
+ | --- | --- | --- | --- |
33
+ | type | `primary`/`success`/`warning`/`danger`/`info` | `primary` | 按钮类型 |
34
+ | size | `large`/`normal`/`small`/`mini` | `normal` | 按钮尺寸 |
35
+ | shape | `default`/`circle`/`round` | `default` | 按钮形状 |
36
+ | disabled | `boolean` | `false` | 是否禁用 |
37
+ | loading | `boolean` | `false` | 是否加载中 |
38
+ | block | `boolean` | `false` | 是否为块级元素 |
39
+ | round | `boolean` | `false` | 是否为圆角按钮 |
40
+ | plain | `boolean` | `false` | 是否为朴素按钮 |
41
+ | outline | `boolean` | `false` | 是否为描边按钮 |
42
+ | link | `boolean` | `false` | 是否为链接按钮 |
43
+ | icon | `string` | `''` | 图标类名 |
44
+ | customClass | `string` | `''` | 自定义类名 |
45
+ | customStyle | `Record<string, any>` | `{}` | 自定义样式 |
46
+
47
+ ### Events
48
+
49
+ | 事件名 | 说明 | 回调参数 |
50
+ | --- | --- | --- |
51
+ | click | 点击按钮时触发 | `event: MouseEvent` |
52
+
53
+ ### Slots
54
+
55
+ | 插槽名 | 说明 |
56
+ | --- | --- |
57
+ | default | 按钮文本内容 |
58
+
59
+ ## 示例
60
+
61
+ ### 按钮类型
62
+
63
+ ```vue
64
+ <Button type="primary">主要按钮</Button>
65
+ <Button type="success">成功按钮</Button>
66
+ <Button type="warning">警告按钮</Button>
67
+ <Button type="danger">危险按钮</Button>
68
+ <Button type="info">信息按钮</Button>
69
+ ```
70
+
71
+ ### 按钮尺寸
72
+
73
+ ```vue
74
+ <Button size="large">大按钮</Button>
75
+ <Button size="normal">普通按钮</Button>
76
+ <Button size="small">小按钮</Button>
77
+ <Button size="mini">迷你按钮</Button>
78
+ ```
79
+
80
+ ### 按钮状态
81
+
82
+ ```vue
83
+ <Button disabled>禁用按钮</Button>
84
+ <Button loading>加载中</Button>
85
+ <Button loading disabled>加载中且禁用</Button>
86
+ ```
87
+
88
+ ### 按钮样式
89
+
90
+ ```vue
91
+ <!-- 朴素按钮 -->
92
+ <Button plain>朴素按钮</Button>
93
+
94
+ <!-- 描边按钮 -->
95
+ <Button outline>描边按钮</Button>
96
+
97
+ <!-- 链接按钮 -->
98
+ <Button link>链接按钮</Button>
99
+ ```
100
+
101
+ ### 按钮形状
102
+
103
+ ```vue
104
+ <!-- 圆角按钮 -->
105
+ <Button round>圆角按钮</Button>
106
+
107
+ <!-- 圆形按钮 -->
108
+ <Button shape="circle" icon="icon-plus"></Button>
109
+ ```
110
+
111
+ ### 图标按钮
112
+
113
+ ```vue
114
+ <!-- 传统图标类名方式 -->
115
+ <Button icon="icon-search">搜索</Button>
116
+
117
+ <!-- 仅图标按钮 -->
118
+ <Button icon="icon-plus"></Button>
119
+
120
+ <!-- 使用自定义图标插槽 -->
121
+ <Button>
122
+ <template #icon>
123
+ <svg width="16" height="16" viewBox="0 0 1024 1024">
124
+ <!-- 图标路径 -->
125
+ </svg>
126
+ </template>
127
+ 搜索
128
+ </Button>
129
+
130
+ <!-- 仅使用自定义图标插槽 -->
131
+ <Button>
132
+ <template #icon>
133
+ <svg width="16" height="16" viewBox="0 0 1024 1024">
134
+ <!-- 图标路径 -->
135
+ </svg>
136
+ </template>
137
+ </Button>
138
+ ```
139
+
140
+ ### 块级按钮
141
+
142
+ ```vue
143
+ <Button block>块级按钮</Button>
144
+ <Button type="success" block>块级成功按钮</Button>
145
+ ```
146
+
147
+ ### 组合使用
148
+
149
+ ```vue
150
+ <!-- 类型 + 尺寸组合 -->
151
+ <Button type="primary" size="large">大尺寸主要按钮</Button>
152
+
153
+ <!-- 类型 + 样式组合 -->
154
+ <Button type="warning" plain>朴素警告按钮</Button>
155
+
156
+ <!-- 类型 + 形状组合 -->
157
+ <Button type="danger" round>圆角危险按钮</Button>
158
+
159
+ <!-- 禁用状态 + 类型组合 -->
160
+ <Button type="info" disabled>禁用信息按钮</Button>
161
+ ```
162
+
163
+ ### 点击事件
164
+
165
+ ```vue
166
+ <script setup>
167
+ import { ref } from 'vue'
168
+ import Button from '@/components/MyComs/Button/index.vue'
169
+
170
+ const handleClick = () => {
171
+ console.log('按钮被点击')
172
+ }
173
+ </script>
174
+
175
+ <template>
176
+ <Button @click="handleClick">点击我</Button>
177
+ </template>
178
+ ```
179
+
180
+ ## 样式覆盖
181
+
182
+ ### 自定义主题色
183
+
184
+ 可以通过修改 Less 变量来自定义主题色:
185
+
186
+ ```less
187
+ // 在项目的全局样式文件中
188
+ @primary-color: #409eff;
189
+ @success-color: #67c23a;
190
+ @warning-color: #e6a23c;
191
+ @danger-color: #f56c6c;
192
+ @info-color: #909399;
193
+ ```
194
+
195
+ ### 自定义单个按钮样式
196
+
197
+ ```vue
198
+ <Button :customStyle="{ backgroundColor: '#ff0000', borderColor: '#ff0000' }">
199
+ 自定义颜色按钮
200
+ </Button>
201
+ ```
202
+
203
+ ### 自定义类名
204
+
205
+ ```vue
206
+ <Button customClass="my-button">自定义类名按钮</Button>
207
+ ```
208
+
209
+ ```css
210
+ .my-button {
211
+ font-weight: bold;
212
+ text-transform: uppercase;
213
+ }
214
+ ```
215
+
216
+ ## 注意事项
217
+
218
+ 1. 当 `loading` 为 `true` 时,按钮会自动禁用并显示加载动画
219
+ 2. 图标需要配合项目中的图标库使用,如 Font Awesome、Element Plus 图标等
220
+ 3. 圆形按钮 (`shape="circle"`) 建议只用于纯图标按钮
221
+ 4. 链接按钮 (`link`) 不支持加载状态和禁用状态的样式
222
+ 5. 块级按钮 (`block`) 会占据父容器的全部宽度
223
+
224
+ ## 浏览器兼容性
225
+
226
+ 支持所有现代浏览器,包括 Chrome、Firefox、Safari、Edge 等。
227
+
228
+ ## 版本历史
229
+
230
+ ### v1.0.0
231
+ - 初始版本
232
+ - 支持 5 种按钮类型
233
+ - 支持 4 种按钮尺寸
234
+ - 支持多种按钮状态和样式
235
+ - 支持图标、加载动画等功能
@@ -0,0 +1,3 @@
1
+ import Button from './index.vue'
2
+
3
+ export default Button