ff-ui-plus 2.0.7
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/.nvmrc +1 -0
- package/.prettierrc.cjs +41 -0
- package/.stylelintignore +5 -0
- package/LICENSE +21 -0
- package/README.md +265 -0
- package/commitlint.config.cjs +162 -0
- package/global.d.ts +27 -0
- package/index.html +16 -0
- package/lib.sh +9 -0
- package/lint-staged.config.cjs +8 -0
- package/package.json +149 -0
- package/packages/components/adaptive-page/index.ts +5 -0
- package/packages/components/adaptive-page/src/index.vue +85 -0
- package/packages/components/adaptive-page/src/type.ts +9 -0
- package/packages/components/adaptive-page/style/css.ts +1 -0
- package/packages/components/adaptive-page/style/index.ts +1 -0
- package/packages/components/button/index.ts +5 -0
- package/packages/components/button/src/index.vue +41 -0
- package/packages/components/button/src/type.ts +11 -0
- package/packages/components/button/style/css.ts +1 -0
- package/packages/components/button/style/index.ts +1 -0
- package/packages/components/chart/index.ts +5 -0
- package/packages/components/chart/src/index.vue +121 -0
- package/packages/components/chart/src/type.ts +7 -0
- package/packages/components/chart/style/css.ts +1 -0
- package/packages/components/chart/style/index.ts +1 -0
- package/packages/components/checkbox/index.ts +3 -0
- package/packages/components/checkbox/src/checkbox.d.ts +5 -0
- package/packages/components/checkbox/src/index.vue +67 -0
- package/packages/components/checkbox/style/css.ts +1 -0
- package/packages/components/checkbox/style/index.ts +1 -0
- package/packages/components/date-picker/index.ts +5 -0
- package/packages/components/date-picker/src/index.vue +228 -0
- package/packages/components/date-picker/src/type.ts +22 -0
- package/packages/components/date-picker/style/css.ts +1 -0
- package/packages/components/date-picker/style/index.ts +1 -0
- package/packages/components/detail/index.ts +5 -0
- package/packages/components/detail/src/index.vue +102 -0
- package/packages/components/detail/src/renderLabel.vue +15 -0
- package/packages/components/detail/src/renderTooltip.vue +15 -0
- package/packages/components/detail/src/type.ts +28 -0
- package/packages/components/detail/style/css.ts +1 -0
- package/packages/components/detail/style/index.ts +1 -0
- package/packages/components/form/index.ts +5 -0
- package/packages/components/form/src/index.vue +407 -0
- package/packages/components/form/src/renderBtn.vue +15 -0
- package/packages/components/form/src/renderComp.vue +15 -0
- package/packages/components/form/src/type.ts +26 -0
- package/packages/components/form/style/css.ts +1 -0
- package/packages/components/form/style/index.ts +1 -0
- package/packages/components/index.ts +20 -0
- package/packages/components/input/index.ts +5 -0
- package/packages/components/input/src/index.vue +225 -0
- package/packages/components/input/src/type.ts +14 -0
- package/packages/components/input/style/css.ts +1 -0
- package/packages/components/input/style/index.ts +1 -0
- package/packages/components/layout-page/index.ts +4 -0
- package/packages/components/layout-page/src/index.vue +74 -0
- package/packages/components/layout-page/style/css.ts +1 -0
- package/packages/components/layout-page/style/index.ts +1 -0
- package/packages/components/layout-page-item/index.ts +3 -0
- package/packages/components/layout-page-item/src/index.vue +16 -0
- package/packages/components/layout-page-item/style/css.ts +1 -0
- package/packages/components/layout-page-item/style/index.ts +1 -0
- package/packages/components/module-form/index.ts +4 -0
- package/packages/components/module-form/src/index.vue +243 -0
- package/packages/components/module-form/src/moduleDetail.vue +61 -0
- package/packages/components/module-form/src/moduleForm.vue +88 -0
- package/packages/components/module-form/src/type.ts +16 -0
- package/packages/components/module-form/style/css.ts +1 -0
- package/packages/components/module-form/style/index.ts +1 -0
- package/packages/components/package.json +9 -0
- package/packages/components/query-condition/index.ts +4 -0
- package/packages/components/query-condition/src/index.vue +478 -0
- package/packages/components/query-condition/src/moreChoose.vue +159 -0
- package/packages/components/query-condition/src/renderComp.vue +15 -0
- package/packages/components/query-condition/src/type.ts +22 -0
- package/packages/components/query-condition/src/useComputed.ts +94 -0
- package/packages/components/query-condition/style/css.ts +1 -0
- package/packages/components/query-condition/style/index.ts +1 -0
- package/packages/components/radio/index.ts +3 -0
- package/packages/components/radio/src/index.vue +73 -0
- package/packages/components/radio/src/radio.d.ts +12 -0
- package/packages/components/radio/style/css.ts +1 -0
- package/packages/components/radio/style/index.ts +1 -0
- package/packages/components/select/index.ts +4 -0
- package/packages/components/select/src/index.vue +240 -0
- package/packages/components/select/src/type.ts +43 -0
- package/packages/components/select/style/css.ts +1 -0
- package/packages/components/select/style/index.ts +1 -0
- package/packages/components/select-icon/index.ts +4 -0
- package/packages/components/select-icon/src/index.vue +128 -0
- package/packages/components/select-icon/style/css.ts +1 -0
- package/packages/components/select-icon/style/index.ts +1 -0
- package/packages/components/select-table/index.ts +4 -0
- package/packages/components/select-table/src/ClickOutside.ts +106 -0
- package/packages/components/select-table/src/index.vue +851 -0
- package/packages/components/select-table/src/renderCol.vue +20 -0
- package/packages/components/select-table/src/type.ts +56 -0
- package/packages/components/select-table/src/useVirtualized.ts +86 -0
- package/packages/components/select-table/style/css.ts +1 -0
- package/packages/components/select-table/style/index.ts +1 -0
- package/packages/components/step-wizard/index.ts +4 -0
- package/packages/components/step-wizard/src/index.vue +99 -0
- package/packages/components/step-wizard/src/type.ts +17 -0
- package/packages/components/step-wizard/style/css.ts +1 -0
- package/packages/components/step-wizard/style/index.ts +1 -0
- package/packages/components/table/index.ts +5 -0
- package/packages/components/table/src/ColumnSet.vue +176 -0
- package/packages/components/table/src/TTableColumn.vue +100 -0
- package/packages/components/table/src/densitySet.vue +91 -0
- package/packages/components/table/src/firstColumn.vue +132 -0
- package/packages/components/table/src/index.vue +926 -0
- package/packages/components/table/src/operator.vue +246 -0
- package/packages/components/table/src/renderCol.vue +20 -0
- package/packages/components/table/src/renderHeader.vue +18 -0
- package/packages/components/table/src/singleEdit.vue +354 -0
- package/packages/components/table/src/singleEditCell.vue +303 -0
- package/packages/components/table/src/tableProps.ts +162 -0
- package/packages/components/table/src/useExpose.ts +74 -0
- package/packages/components/table/src/useVirtualized.ts +70 -0
- package/packages/components/table/style/css.ts +1 -0
- package/packages/components/table/style/index.ts +1 -0
- package/packages/components/tabs/index.ts +4 -0
- package/packages/components/tabs/src/index.vue +50 -0
- package/packages/components/tabs/style/css.ts +1 -0
- package/packages/components/tabs/style/index.ts +1 -0
- package/packages/components/timer-btn/index.ts +4 -0
- package/packages/components/timer-btn/src/index.vue +57 -0
- package/packages/components/timer-btn/style/css.ts +1 -0
- package/packages/components/timer-btn/style/index.ts +1 -0
- package/packages/components/utils/index.ts +142 -0
- package/packages/components/utils/install.ts +16 -0
- package/packages/eslint-config/build.config.ts +16 -0
- package/packages/eslint-config/dist/index.cjs +122 -0
- package/packages/eslint-config/dist/index.d.cts +92 -0
- package/packages/eslint-config/dist/index.d.mts +92 -0
- package/packages/eslint-config/dist/index.d.ts +92 -0
- package/packages/eslint-config/dist/index.mjs +120 -0
- package/packages/eslint-config/package.json +34 -0
- package/packages/eslint-config/src/index.ts +121 -0
- package/packages/ff-ui-plus/component.ts +55 -0
- package/packages/ff-ui-plus/defaults.ts +4 -0
- package/packages/ff-ui-plus/index.ts +9 -0
- package/packages/ff-ui-plus/make-installer.ts +10 -0
- package/packages/ff-ui-plus/package.json +117 -0
- package/packages/ff-ui-plus/version.ts +1 -0
- package/packages/hooks/index.ts +1 -0
- package/packages/hooks/package.json +9 -0
- package/packages/hooks/useLocale.ts +53 -0
- package/packages/locale/index.ts +11 -0
- package/packages/locale/lang/en.ts +157 -0
- package/packages/locale/lang/zh-cn.ts +155 -0
- package/packages/locale/package.json +12 -0
- package/packages/resolver/package.json +23 -0
- package/packages/resolver/src/index.ts +99 -0
- package/packages/theme-chalk/build.ts +76 -0
- package/packages/theme-chalk/dist/index.css +1 -0
- package/packages/theme-chalk/dist/src/adaptive-page.scss +48 -0
- package/packages/theme-chalk/dist/src/button.scss +23 -0
- package/packages/theme-chalk/dist/src/chart.scss +10 -0
- package/packages/theme-chalk/dist/src/checkbox.scss +0 -0
- package/packages/theme-chalk/dist/src/date-picker.scss +3 -0
- package/packages/theme-chalk/dist/src/detail.scss +7 -0
- package/packages/theme-chalk/dist/src/form.scss +104 -0
- package/packages/theme-chalk/dist/src/index.scss +19 -0
- package/packages/theme-chalk/dist/src/input.scss +0 -0
- package/packages/theme-chalk/dist/src/layout-page-item.scss +10 -0
- package/packages/theme-chalk/dist/src/layout-page.scss +37 -0
- package/packages/theme-chalk/dist/src/module-form.scss +335 -0
- package/packages/theme-chalk/dist/src/query-condition.scss +132 -0
- package/packages/theme-chalk/dist/src/radio.scss +0 -0
- package/packages/theme-chalk/dist/src/select-icon.scss +61 -0
- package/packages/theme-chalk/dist/src/select-table.scss +71 -0
- package/packages/theme-chalk/dist/src/select.scss +7 -0
- package/packages/theme-chalk/dist/src/step-wizard.scss +51 -0
- package/packages/theme-chalk/dist/src/table.scss +381 -0
- package/packages/theme-chalk/dist/src/tabs.scss +20 -0
- package/packages/theme-chalk/dist/src/timer-btn.scss +21 -0
- package/packages/theme-chalk/dist/t-adaptive-page.css +1 -0
- package/packages/theme-chalk/dist/t-button.css +1 -0
- package/packages/theme-chalk/dist/t-chart.css +1 -0
- package/packages/theme-chalk/dist/t-checkbox.css +0 -0
- package/packages/theme-chalk/dist/t-date-picker.css +1 -0
- package/packages/theme-chalk/dist/t-detail.css +1 -0
- package/packages/theme-chalk/dist/t-form.css +1 -0
- package/packages/theme-chalk/dist/t-input.css +0 -0
- package/packages/theme-chalk/dist/t-layout-page-item.css +1 -0
- package/packages/theme-chalk/dist/t-layout-page.css +1 -0
- package/packages/theme-chalk/dist/t-module-form.css +1 -0
- package/packages/theme-chalk/dist/t-query-condition.css +1 -0
- package/packages/theme-chalk/dist/t-radio.css +0 -0
- package/packages/theme-chalk/dist/t-select-icon.css +1 -0
- package/packages/theme-chalk/dist/t-select-table.css +1 -0
- package/packages/theme-chalk/dist/t-select.css +1 -0
- package/packages/theme-chalk/dist/t-step-wizard.css +1 -0
- package/packages/theme-chalk/dist/t-table.css +1 -0
- package/packages/theme-chalk/dist/t-tabs.css +1 -0
- package/packages/theme-chalk/dist/t-timer-btn.css +1 -0
- package/packages/theme-chalk/mixins/config.scss +8 -0
- package/packages/theme-chalk/mixins/function.scss +71 -0
- package/packages/theme-chalk/mixins/mixins.scss +79 -0
- package/packages/theme-chalk/package.json +21 -0
- package/packages/theme-chalk/src/adaptive-page.scss +48 -0
- package/packages/theme-chalk/src/button.scss +23 -0
- package/packages/theme-chalk/src/chart.scss +10 -0
- package/packages/theme-chalk/src/checkbox.scss +0 -0
- package/packages/theme-chalk/src/date-picker.scss +3 -0
- package/packages/theme-chalk/src/detail.scss +7 -0
- package/packages/theme-chalk/src/form.scss +104 -0
- package/packages/theme-chalk/src/index.scss +19 -0
- package/packages/theme-chalk/src/input.scss +0 -0
- package/packages/theme-chalk/src/layout-page-item.scss +10 -0
- package/packages/theme-chalk/src/layout-page.scss +37 -0
- package/packages/theme-chalk/src/module-form.scss +335 -0
- package/packages/theme-chalk/src/query-condition.scss +132 -0
- package/packages/theme-chalk/src/radio.scss +0 -0
- package/packages/theme-chalk/src/select-icon.scss +61 -0
- package/packages/theme-chalk/src/select-table.scss +71 -0
- package/packages/theme-chalk/src/select.scss +7 -0
- package/packages/theme-chalk/src/step-wizard.scss +51 -0
- package/packages/theme-chalk/src/table.scss +381 -0
- package/packages/theme-chalk/src/tabs.scss +20 -0
- package/packages/theme-chalk/src/timer-btn.scss +21 -0
- package/packages/types/global.ts +34 -0
- package/packages/types/index.ts +1 -0
- package/packages/types/package.json +10 -0
- package/packages/utils/build.config.ts +23 -0
- package/packages/utils/dist/cookie.cjs +1 -0
- package/packages/utils/dist/cookie.d.cts +16 -0
- package/packages/utils/dist/cookie.d.mts +16 -0
- package/packages/utils/dist/cookie.d.ts +16 -0
- package/packages/utils/dist/cookie.mjs +1 -0
- package/packages/utils/dist/day.cjs +1 -0
- package/packages/utils/dist/day.d.cts +37 -0
- package/packages/utils/dist/day.d.mts +37 -0
- package/packages/utils/dist/day.d.ts +37 -0
- package/packages/utils/dist/day.mjs +1 -0
- package/packages/utils/dist/file.cjs +1 -0
- package/packages/utils/dist/file.d.cts +61 -0
- package/packages/utils/dist/file.d.mts +61 -0
- package/packages/utils/dist/file.d.ts +61 -0
- package/packages/utils/dist/file.mjs +1 -0
- package/packages/utils/dist/index.cjs +1 -0
- package/packages/utils/dist/index.d.cts +13 -0
- package/packages/utils/dist/index.d.mts +13 -0
- package/packages/utils/dist/index.d.ts +13 -0
- package/packages/utils/dist/index.mjs +1 -0
- package/packages/utils/dist/is.cjs +1 -0
- package/packages/utils/dist/is.d.cts +117 -0
- package/packages/utils/dist/is.d.mts +117 -0
- package/packages/utils/dist/is.d.ts +117 -0
- package/packages/utils/dist/is.mjs +1 -0
- package/packages/utils/dist/letter.cjs +1 -0
- package/packages/utils/dist/letter.d.cts +12 -0
- package/packages/utils/dist/letter.d.mts +12 -0
- package/packages/utils/dist/letter.d.ts +12 -0
- package/packages/utils/dist/letter.mjs +1 -0
- package/packages/utils/dist/number.cjs +1 -0
- package/packages/utils/dist/number.d.cts +23 -0
- package/packages/utils/dist/number.d.mts +23 -0
- package/packages/utils/dist/number.d.ts +23 -0
- package/packages/utils/dist/number.mjs +1 -0
- package/packages/utils/dist/openExe.cjs +1 -0
- package/packages/utils/dist/openExe.d.cts +9 -0
- package/packages/utils/dist/openExe.d.mts +9 -0
- package/packages/utils/dist/openExe.d.ts +9 -0
- package/packages/utils/dist/openExe.mjs +1 -0
- package/packages/utils/dist/storage.cjs +1 -0
- package/packages/utils/dist/storage.d.cts +46 -0
- package/packages/utils/dist/storage.d.mts +46 -0
- package/packages/utils/dist/storage.d.ts +46 -0
- package/packages/utils/dist/storage.mjs +1 -0
- package/packages/utils/dist/validate.cjs +1 -0
- package/packages/utils/dist/validate.d.cts +32 -0
- package/packages/utils/dist/validate.d.mts +32 -0
- package/packages/utils/dist/validate.d.ts +32 -0
- package/packages/utils/dist/validate.mjs +1 -0
- package/packages/utils/dist/ws.cjs +1 -0
- package/packages/utils/dist/ws.d.cts +86 -0
- package/packages/utils/dist/ws.d.mts +86 -0
- package/packages/utils/dist/ws.d.ts +86 -0
- package/packages/utils/dist/ws.mjs +1 -0
- package/packages/utils/package.json +42 -0
- package/packages/utils/src/cookie.ts +24 -0
- package/packages/utils/src/day.ts +66 -0
- package/packages/utils/src/file.ts +173 -0
- package/packages/utils/src/index.ts +10 -0
- package/packages/utils/src/is.ts +159 -0
- package/packages/utils/src/letter.ts +15 -0
- package/packages/utils/src/number.ts +37 -0
- package/packages/utils/src/openExe.ts +45 -0
- package/packages/utils/src/storage.ts +77 -0
- package/packages/utils/src/validate.ts +55 -0
- package/packages/utils/src/ws.ts +191 -0
- package/pnpm-workspace.yaml +3 -0
- package/publish.sh +37 -0
- package/resolver.sh +9 -0
- package/scripts/build/all.ts +152 -0
- package/scripts/build/build.config.ts +10 -0
- package/scripts/build/dist/index.cjs +7 -0
- package/scripts/build/dist/index.d.ts +2 -0
- package/scripts/build/dist/index.mjs +12 -0
- package/scripts/build/index.ts +63 -0
- package/scripts/build/modules.ts +141 -0
- package/scripts/build/package.json +14 -0
- package/scripts/release/gen-version.ts +12 -0
- package/scripts/release/index.ts +209 -0
- package/scripts/utils/excludeFiles.ts +14 -0
- package/scripts/utils/index.ts +88 -0
- package/scripts/utils/main.ts +14 -0
- package/scripts/utils/paths.ts +40 -0
- package/scripts/utils/plugin.ts +61 -0
- package/tsconfig.base.json +23 -0
- package/tsconfig.vitest.json +11 -0
- package/tsconfig.web.json +18 -0
- package/typings/env.d.ts +22 -0
- package/typings/index.d.ts +161 -0
- package/vitest.config.ts +22 -0
package/package.json
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ff-ui-plus",
|
|
3
|
+
"version": "2.0.7",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"description": "Vue3 中基于Element-plus二次封装基础组件文档",
|
|
8
|
+
"author": "zhangpengfeia",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"private": false,
|
|
11
|
+
"workspaces": {
|
|
12
|
+
"packages": [
|
|
13
|
+
"packages/*",
|
|
14
|
+
"docs"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@element-plus/icons-vue": "^2.3.1",
|
|
19
|
+
"dayjs": "^1.11.7",
|
|
20
|
+
"element-plus": "^2.7.8",
|
|
21
|
+
"esbuild": "0.24.0",
|
|
22
|
+
"lodash-es": "^4.17.21",
|
|
23
|
+
"sortablejs": "^1.15.0",
|
|
24
|
+
"vite": "^5.2.9",
|
|
25
|
+
"vue": "^3.4.21",
|
|
26
|
+
"vue-tsc": "1.8.27",
|
|
27
|
+
"@ff-ui-plus/resolver": "0.0.2",
|
|
28
|
+
"@ff-ui-plus/components": "0.0.1",
|
|
29
|
+
"@ff-ui-plus/eslint-config": "0.0.2",
|
|
30
|
+
"@ff-ui-plus/theme-chalk": "0.0.7",
|
|
31
|
+
"@ff-ui-plus/hooks": "0.0.1",
|
|
32
|
+
"@ff-ui-plus/locale": "0.0.1",
|
|
33
|
+
"@ff-ui-plus/types": "1.0.0",
|
|
34
|
+
"@ff-ui-plus/utils": "0.0.2"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@commitlint/cli": "^17.6.3",
|
|
38
|
+
"@commitlint/config-conventional": "^17.6.3",
|
|
39
|
+
"@inquirer/prompts": "^1.2.3",
|
|
40
|
+
"@pnpm/find-workspace-packages": "^6.0.8",
|
|
41
|
+
"@pnpm/types": "^9.0.0",
|
|
42
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
43
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
44
|
+
"@types/fs-extra": "^11.0.1",
|
|
45
|
+
"@types/jsdom": "^21.1.1",
|
|
46
|
+
"@types/lodash-es": "^4.17.7",
|
|
47
|
+
"@types/node": "^20.1.4",
|
|
48
|
+
"@types/sortablejs": "^1.15.1",
|
|
49
|
+
"@vitejs/plugin-vue": "^5.0.4",
|
|
50
|
+
"@vitejs/plugin-vue-jsx": "^3.1.0",
|
|
51
|
+
"@vitest/coverage-v8": "^1.5.0",
|
|
52
|
+
"@vue/test-utils": "^2.4.5",
|
|
53
|
+
"autoprefixer": "^10.4.14",
|
|
54
|
+
"chalk": "4.1.2",
|
|
55
|
+
"commitizen": "^4.3.0",
|
|
56
|
+
"compare-func": "^2.0.0",
|
|
57
|
+
"consola": "^3.1.0",
|
|
58
|
+
"conventional-changelog-cli": "^3.0.0",
|
|
59
|
+
"conventional-changelog-custom-config": "^0.3.1",
|
|
60
|
+
"cssnano": "^6.0.1",
|
|
61
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
62
|
+
"cz-customizable": "^7.0.0",
|
|
63
|
+
"cz-git": "^1.6.1",
|
|
64
|
+
"enquirer": "^2.3.6",
|
|
65
|
+
"execa": "5.1.0",
|
|
66
|
+
"fast-glob": "^3.2.12",
|
|
67
|
+
"fs-extra": "^11.1.1",
|
|
68
|
+
"husky": "^8.0.3",
|
|
69
|
+
"jsdom": "^22.1.0",
|
|
70
|
+
"lint-staged": "^13.2.2",
|
|
71
|
+
"minimist": "^1.2.8",
|
|
72
|
+
"ora": "^6.3.1",
|
|
73
|
+
"postcss": "^8.4.24",
|
|
74
|
+
"prettier": "^2.8.8",
|
|
75
|
+
"rimraf": "^5.0.0",
|
|
76
|
+
"rollup": "^4.14.3",
|
|
77
|
+
"rollup-plugin-banner2": "^1.2.3",
|
|
78
|
+
"rollup-plugin-esbuild": "^6.1.1",
|
|
79
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
80
|
+
"rollup-plugin-scss": "^4.0.0",
|
|
81
|
+
"sass": "1.32.13",
|
|
82
|
+
"sass-loader": "13.1.0",
|
|
83
|
+
"semver": "^7.5.1",
|
|
84
|
+
"tsx": "^4.7.2",
|
|
85
|
+
"typescript": "^5.4.5",
|
|
86
|
+
"unbuild": "^2.0.0",
|
|
87
|
+
"vite-plugin-dts": "^3.8.3",
|
|
88
|
+
"vitest": "^1.5.0"
|
|
89
|
+
},
|
|
90
|
+
"peerDependencies": {
|
|
91
|
+
"element-plus": "^2.7.8",
|
|
92
|
+
"vue": "^3.2.0"
|
|
93
|
+
},
|
|
94
|
+
"engines": {
|
|
95
|
+
"node": ">= 18"
|
|
96
|
+
},
|
|
97
|
+
"config": {
|
|
98
|
+
"commitizen": {
|
|
99
|
+
"path": "node_modules/cz-git",
|
|
100
|
+
"useEmoji": true
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"lint-staged": {
|
|
104
|
+
"*.{vue,js,ts,jsx,tsx}": [
|
|
105
|
+
"pnpm run lint"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"repository": {
|
|
109
|
+
"type": "git",
|
|
110
|
+
"url": "https://github.com/zhangpengfeia/ff-ui-plus.git"
|
|
111
|
+
},
|
|
112
|
+
"homepage": "https://zhangpengfeia.github.io/ff-ui-plus/",
|
|
113
|
+
"keywords": [
|
|
114
|
+
"element-ui",
|
|
115
|
+
"element-plus",
|
|
116
|
+
"vite",
|
|
117
|
+
"vite3",
|
|
118
|
+
"vitepress",
|
|
119
|
+
"vue",
|
|
120
|
+
"vue3",
|
|
121
|
+
"ff-ui",
|
|
122
|
+
"ff-ui-plus",
|
|
123
|
+
"wocwin",
|
|
124
|
+
"二次封装组件",
|
|
125
|
+
"封装组件",
|
|
126
|
+
"components"
|
|
127
|
+
],
|
|
128
|
+
"scripts": {
|
|
129
|
+
"preinstall": "npx only-allow pnpm",
|
|
130
|
+
"postinstall": "pnpm stub:build && pnpm build:utils && pnpm build:eslint-config",
|
|
131
|
+
"stub:build": "pnpm run -C scripts/build stub",
|
|
132
|
+
"build": "pnpm run clean && pnpm run build:theme && pnpm run build:main",
|
|
133
|
+
"build:resolver": "rimraf packages/resolver/dist && pnpm run -C packages/resolver build",
|
|
134
|
+
"build:utils": "pnpm run -C packages/utils build",
|
|
135
|
+
"build:main": "pnpm run -C scripts/build build",
|
|
136
|
+
"build:theme": "pnpm run -C packages/theme-chalk build",
|
|
137
|
+
"build:eslint-config": "pnpm run -C packages/eslint-config build",
|
|
138
|
+
"clean": "rimraf dist && rimraf packages/theme-chalk/dist",
|
|
139
|
+
"pub": "npm publish --registry=https://registry.npmjs.org/",
|
|
140
|
+
"deploy": "./deploy.sh",
|
|
141
|
+
"resolver": "resolver.sh",
|
|
142
|
+
"lib-pub": "lib.sh",
|
|
143
|
+
"prettier": "prettier --write \"packages/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
|
|
144
|
+
"docs:prettier": "prettier --write \"docs/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
|
|
145
|
+
"docs:dev": "pnpm run -C docs dev",
|
|
146
|
+
"docs:build": "pnpm run -C docs build",
|
|
147
|
+
"lint:lint-staged": "lint-staged"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="t_adaptive_page">
|
|
3
|
+
<div
|
|
4
|
+
:style="{ width: isShow('leftContent') ? `${leftWidth}px` : '0px' }"
|
|
5
|
+
v-if="isShow('leftContent')"
|
|
6
|
+
class="left_content"
|
|
7
|
+
>
|
|
8
|
+
<div class="left_tree">
|
|
9
|
+
<slot name="leftContent" />
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
<t-layout-page class="right_content" :style="pageStyle">
|
|
13
|
+
<t-layout-page-item class="table_search" :style="queryPageStyle" v-if="$attrs.opts">
|
|
14
|
+
<t-query-condition v-bind="$attrs" ref="TQueryConditionPage">
|
|
15
|
+
<template v-for="(_index, name) in slots" #[name]="data">
|
|
16
|
+
<slot :name="name" v-bind="data" />
|
|
17
|
+
</template>
|
|
18
|
+
</t-query-condition>
|
|
19
|
+
</t-layout-page-item>
|
|
20
|
+
<slot name="content" />
|
|
21
|
+
<t-layout-page-item
|
|
22
|
+
class="table_main"
|
|
23
|
+
:class="{ 't_table_self-filling': isTTableSelfFilling }"
|
|
24
|
+
:style="tablePageStyle"
|
|
25
|
+
>
|
|
26
|
+
<t-table
|
|
27
|
+
v-bind="{ columnSetting, name, ...$attrs }"
|
|
28
|
+
:isSlotToolbar="isShow('toolbar')"
|
|
29
|
+
:isSlotTitle="isShow('title')"
|
|
30
|
+
ref="TTablePage"
|
|
31
|
+
>
|
|
32
|
+
<template v-for="(_index, name) in slots" #[name]="data">
|
|
33
|
+
<slot :name="name" v-bind="data" />
|
|
34
|
+
</template>
|
|
35
|
+
</t-table>
|
|
36
|
+
</t-layout-page-item>
|
|
37
|
+
</t-layout-page>
|
|
38
|
+
<slot name="footer" />
|
|
39
|
+
</div>
|
|
40
|
+
</template>
|
|
41
|
+
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import TLayoutPage from "../../layout-page/src/index.vue"
|
|
44
|
+
import TLayoutPageItem from "../../layout-page-item/src/index.vue"
|
|
45
|
+
import TTable from "../../table/src/index.vue"
|
|
46
|
+
import TQueryCondition from "../../query-condition/src/index.vue"
|
|
47
|
+
import { getCurrentInstance, onMounted, ref, useSlots } from "vue"
|
|
48
|
+
import type { TAdaptivePageProps } from "./type"
|
|
49
|
+
|
|
50
|
+
defineOptions({
|
|
51
|
+
name: "TAdaptivePage"
|
|
52
|
+
})
|
|
53
|
+
withDefaults(defineProps<TAdaptivePageProps>(), {
|
|
54
|
+
leftWidth: 260,
|
|
55
|
+
pageStyle: () => ({}),
|
|
56
|
+
columnSetting: false,
|
|
57
|
+
name: "",
|
|
58
|
+
queryPageStyle: () => ({}),
|
|
59
|
+
tablePageStyle: () => ({}),
|
|
60
|
+
isTTableSelfFilling: false
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
const slots = useSlots()
|
|
64
|
+
|
|
65
|
+
const isShow = (name: string) => {
|
|
66
|
+
return Object.keys(slots).includes(name)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const instance = getCurrentInstance() as any
|
|
70
|
+
const TQueryConditionPage = ref<InstanceType<typeof TQueryCondition> | null>(null)
|
|
71
|
+
const TTablePage = ref<InstanceType<typeof TTable> | null>(null)
|
|
72
|
+
|
|
73
|
+
onMounted(() => {
|
|
74
|
+
const exposedObj = {
|
|
75
|
+
...TQueryConditionPage.value?.$.exposed,
|
|
76
|
+
...TTablePage.value?.$.exposed
|
|
77
|
+
}
|
|
78
|
+
const entries = Object.entries(exposedObj)
|
|
79
|
+
for (const [key, value] of entries) {
|
|
80
|
+
instance.exposed[key] = value
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
defineExpose({ ...instance.exposed, TQueryConditionPage, TTablePage })
|
|
85
|
+
</script>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface TAdaptivePageProps {
|
|
2
|
+
leftWidth?: number | string
|
|
3
|
+
pageStyle?: Record<string, string>
|
|
4
|
+
columnSetting?: boolean
|
|
5
|
+
name?: string // 表格开启columnSetting后,设置缓存数据唯一标识
|
|
6
|
+
queryPageStyle?: Record<string, string>
|
|
7
|
+
tablePageStyle?: Record<string, string>
|
|
8
|
+
isTTableSelfFilling?: boolean
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/t-adaptive-page.css"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/src/adaptive-page.scss"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-tooltip v-if="tip" :content="tip" :placement="placement" v-bind="tipProps">
|
|
3
|
+
<el-button v-bind="$attrs" class="t-button-tip" @click="handleClick">
|
|
4
|
+
<slot />
|
|
5
|
+
</el-button>
|
|
6
|
+
</el-tooltip>
|
|
7
|
+
<el-button v-else v-bind="$attrs" @click="handleClick">
|
|
8
|
+
<slot />
|
|
9
|
+
</el-button>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script setup lang="ts">
|
|
13
|
+
import { ref } from "vue"
|
|
14
|
+
import type { TButtonSelfProps as TButtonProps } from "./type"
|
|
15
|
+
|
|
16
|
+
defineOptions({
|
|
17
|
+
name: "TButton"
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
const props = withDefaults(defineProps<TButtonProps>(), {
|
|
21
|
+
time: 1000,
|
|
22
|
+
tip: "",
|
|
23
|
+
placement: "top",
|
|
24
|
+
tipProps: () => ({}),
|
|
25
|
+
isDebounce: true
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
// 抛出事件
|
|
29
|
+
const emits = defineEmits(["click"])
|
|
30
|
+
|
|
31
|
+
const record = ref(0)
|
|
32
|
+
|
|
33
|
+
const handleClick = () => {
|
|
34
|
+
if (!props.isDebounce) return emits("click")
|
|
35
|
+
const newTime = new Date()
|
|
36
|
+
if (newTime.getTime() - record.value > props.time) {
|
|
37
|
+
emits("click")
|
|
38
|
+
}
|
|
39
|
+
record.value = newTime.getTime()
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ButtonProps } from "element-plus"
|
|
2
|
+
import type { Mutable } from "element-plus/es/utils"
|
|
3
|
+
|
|
4
|
+
export interface TButtonSelfProps {
|
|
5
|
+
time?: number
|
|
6
|
+
tip?: string
|
|
7
|
+
placement?: string
|
|
8
|
+
tipProps?: Record<string, any>
|
|
9
|
+
isDebounce?: boolean
|
|
10
|
+
}
|
|
11
|
+
export type TButtonProps = TButtonSelfProps & Partial<Mutable<ButtonProps>>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/t-button.css"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/src/button.scss"
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="t-chart" v-bind="$attrs">
|
|
3
|
+
<div v-show="!formatEmpty" class="t-chart-container" :id="id" ref="echartRef" />
|
|
4
|
+
<slot v-if="formatEmpty" name="empty">
|
|
5
|
+
<el-empty v-bind="$attrs" :description="description" />
|
|
6
|
+
</slot>
|
|
7
|
+
<slot></slot>
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script setup lang="ts">
|
|
12
|
+
import {
|
|
13
|
+
onMounted,
|
|
14
|
+
getCurrentInstance,
|
|
15
|
+
ref,
|
|
16
|
+
watch,
|
|
17
|
+
nextTick,
|
|
18
|
+
onBeforeUnmount,
|
|
19
|
+
markRaw,
|
|
20
|
+
useAttrs,
|
|
21
|
+
computed
|
|
22
|
+
} from "vue"
|
|
23
|
+
import { useResizeObserver } from "@vueuse/core"
|
|
24
|
+
import { debounce, toLine } from "../../utils"
|
|
25
|
+
import type { TChartProps } from "./type"
|
|
26
|
+
|
|
27
|
+
defineOptions({
|
|
28
|
+
name: "TChart"
|
|
29
|
+
})
|
|
30
|
+
const { proxy } = getCurrentInstance() as any
|
|
31
|
+
|
|
32
|
+
const props = withDefaults(defineProps<TChartProps>(), {
|
|
33
|
+
options: () => ({}),
|
|
34
|
+
id: () => Math.random().toString(36).substring(2, 8),
|
|
35
|
+
theme: "",
|
|
36
|
+
isEmpty: false,
|
|
37
|
+
description: "暂无数据"
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const echartRef = ref<HTMLDivElement>()
|
|
41
|
+
const chart = ref()
|
|
42
|
+
const emits = defineEmits()
|
|
43
|
+
const events = Object.entries(useAttrs())
|
|
44
|
+
|
|
45
|
+
// 图表初始化
|
|
46
|
+
const renderChart = () => {
|
|
47
|
+
chart.value = markRaw(proxy.$echarts.init(echartRef.value, props.theme))
|
|
48
|
+
setOption(props.options)
|
|
49
|
+
// 返回chart实例
|
|
50
|
+
emits("chart", chart.value)
|
|
51
|
+
|
|
52
|
+
// 监听图表事件
|
|
53
|
+
events.forEach(([key, value]) => {
|
|
54
|
+
if (key.startsWith("on") && !key.startsWith("onChart")) {
|
|
55
|
+
const on = toLine(key).substring(3)
|
|
56
|
+
chart.value.on(on, (...args: any) => emits(on, ...args))
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
// 监听元素变化
|
|
61
|
+
useResizeObserver(echartRef.value, resizeChart)
|
|
62
|
+
// 大小自适应
|
|
63
|
+
// window.addEventListener('resize', resizeChart)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// 重绘图表函数
|
|
67
|
+
const resizeChart = debounce(
|
|
68
|
+
() => {
|
|
69
|
+
chart.value?.resize()
|
|
70
|
+
},
|
|
71
|
+
300,
|
|
72
|
+
true
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
// 设置图表函数
|
|
76
|
+
const setOption = debounce(
|
|
77
|
+
async data => {
|
|
78
|
+
if (!chart.value) return
|
|
79
|
+
chart.value.setOption(data, true, true)
|
|
80
|
+
await nextTick()
|
|
81
|
+
resizeChart()
|
|
82
|
+
},
|
|
83
|
+
300,
|
|
84
|
+
true
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
const formatEmpty = computed(() => {
|
|
88
|
+
if (typeof props.isEmpty === "function") {
|
|
89
|
+
return props.isEmpty(props.options)
|
|
90
|
+
}
|
|
91
|
+
return props.isEmpty
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
watch(
|
|
95
|
+
() => props.options,
|
|
96
|
+
async nw => {
|
|
97
|
+
await nextTick()
|
|
98
|
+
setOption(nw)
|
|
99
|
+
},
|
|
100
|
+
{ deep: true }
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
watch(
|
|
104
|
+
() => props.theme,
|
|
105
|
+
async () => {
|
|
106
|
+
chart.value.dispose()
|
|
107
|
+
renderChart()
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
onMounted(() => {
|
|
112
|
+
renderChart()
|
|
113
|
+
})
|
|
114
|
+
onBeforeUnmount(() => {
|
|
115
|
+
// 取消监听
|
|
116
|
+
// window.removeEventListener('resize', resizeChart)
|
|
117
|
+
// 销毁echarts实例
|
|
118
|
+
chart.value.dispose()
|
|
119
|
+
chart.value = null
|
|
120
|
+
})
|
|
121
|
+
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/t-chart.css"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/src/chart.scss"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-checkbox-group v-bind="$attrs" :size="size">
|
|
3
|
+
<slot>
|
|
4
|
+
<component
|
|
5
|
+
v-for="(item, index) in options"
|
|
6
|
+
v-bind="item"
|
|
7
|
+
:is="checkType"
|
|
8
|
+
:key="index"
|
|
9
|
+
:value="item[optionsProps.value]"
|
|
10
|
+
:border="border"
|
|
11
|
+
:disabled="item[optionsProps.disabled]"
|
|
12
|
+
>
|
|
13
|
+
<slot :name="item.slot" v-bind="item">
|
|
14
|
+
{{ item[optionsProps.label] }}
|
|
15
|
+
</slot>
|
|
16
|
+
</component>
|
|
17
|
+
</slot>
|
|
18
|
+
</el-checkbox-group>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
import { computed, ref } from "vue"
|
|
23
|
+
import type { PropType } from "vue"
|
|
24
|
+
import type { OptionsProps } from "./checkbox"
|
|
25
|
+
defineOptions({
|
|
26
|
+
name: "TCheckbox"
|
|
27
|
+
})
|
|
28
|
+
const checkProps = defineProps({
|
|
29
|
+
type: {
|
|
30
|
+
type: String as PropType<"check" | "button">,
|
|
31
|
+
validator: (value: string) => ["check", "button"].includes(value),
|
|
32
|
+
default: "check"
|
|
33
|
+
},
|
|
34
|
+
options: {
|
|
35
|
+
type: Array as any,
|
|
36
|
+
default: () => []
|
|
37
|
+
},
|
|
38
|
+
size: {
|
|
39
|
+
type: String as PropType<"large" | "default" | "small">,
|
|
40
|
+
validator: (value: string) => ["large", "default", "small"].includes(value),
|
|
41
|
+
default: "default"
|
|
42
|
+
},
|
|
43
|
+
border: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: false
|
|
46
|
+
},
|
|
47
|
+
props: {
|
|
48
|
+
type: Object,
|
|
49
|
+
default: () => ({})
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
const checkType = computed(() => {
|
|
53
|
+
const obj = {
|
|
54
|
+
check: "el-checkbox",
|
|
55
|
+
button: "el-checkbox-button"
|
|
56
|
+
}
|
|
57
|
+
return obj[checkProps.type] ?? "el-checkbox"
|
|
58
|
+
})
|
|
59
|
+
const optionsProps = ref<OptionsProps>({
|
|
60
|
+
...{
|
|
61
|
+
value: "value",
|
|
62
|
+
label: "label",
|
|
63
|
+
disabled: "disabled"
|
|
64
|
+
},
|
|
65
|
+
...checkProps.props
|
|
66
|
+
})
|
|
67
|
+
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/t-checkbox.css"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@ff-ui-plus/theme-chalk/src/checkbox.scss"
|