el-plus-crud 0.1.66 → 0.1.67
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/.eslintignore +18 -18
- package/.eslintrc.js +78 -78
- package/.lintstagedrc +3 -3
- package/.prettierrc.js +39 -39
- package/CHANGELOG.md +359 -345
- package/LICENSE +21 -21
- package/README.md +19 -19
- package/build.js +31 -31
- package/dist/el-plus-crud.mjs +3751 -3077
- package/docs/skills/el-plus-crud/SKILL.md +220 -0
- package/docs/skills/el-plus-crud-config/SKILL.md +324 -0
- package/docs/skills/el-plus-crud-dialog/SKILL.md +355 -0
- package/docs/skills/el-plus-crud-form/SKILL.md +466 -0
- package/docs/skills/el-plus-crud-form-group/SKILL.md +272 -0
- package/docs/skills/el-plus-crud-patterns/SKILL.md +347 -0
- package/docs/skills/el-plus-crud-table/SKILL.md +425 -0
- package/docs/skills/el-plus-crud-validation/SKILL.md +239 -0
- package/docs/superpowers/specs/2026-06-05-el-plus-form-dialog-group-design.md +166 -0
- package/example/App.vue +252 -252
- package/example/main.js +18 -18
- package/example/style.css +4 -4
- package/index.html +13 -13
- package/lib/components/el-plus-form/ElPlusForm.vue +9 -4
- package/lib/components/el-plus-form/ElPlusFormDialog.vue +167 -112
- package/lib/components/el-plus-form/components/ElPlusFormArea.vue +61 -61
- package/lib/components/el-plus-form/components/ElPlusFormBtn.vue +188 -119
- package/lib/components/el-plus-form/components/ElPlusFormBtns.vue +162 -157
- package/lib/components/el-plus-form/components/ElPlusFormCascader.vue +64 -64
- package/lib/components/el-plus-form/components/ElPlusFormCascaderPanel.vue +71 -71
- package/lib/components/el-plus-form/components/ElPlusFormCheckbox.vue +89 -89
- package/lib/components/el-plus-form/components/ElPlusFormCheckboxButton.vue +45 -45
- package/lib/components/el-plus-form/components/ElPlusFormColor.vue +38 -38
- package/lib/components/el-plus-form/components/ElPlusFormDate.vue +40 -40
- package/lib/components/el-plus-form/components/ElPlusFormDaterange.vue +47 -47
- package/lib/components/el-plus-form/components/ElPlusFormDatetime.vue +41 -41
- package/lib/components/el-plus-form/components/ElPlusFormDatetimerange.vue +47 -47
- package/lib/components/el-plus-form/components/ElPlusFormFile.vue +48 -48
- package/lib/components/el-plus-form/components/ElPlusFormFormula.vue +442 -442
- package/lib/components/el-plus-form/components/ElPlusFormLkuser.vue +523 -523
- package/lib/components/el-plus-form/components/ElPlusFormPassword.vue +45 -45
- package/lib/components/el-plus-form/components/ElPlusFormPercentinput.vue +181 -177
- package/lib/components/el-plus-form/components/ElPlusFormQuickInput.vue +97 -97
- package/lib/components/el-plus-form/components/ElPlusFormRate.vue +54 -54
- package/lib/components/el-plus-form/components/ElPlusFormStatus.vue +101 -101
- package/lib/components/el-plus-form/components/ElPlusFormSwitch.vue +71 -71
- package/lib/components/el-plus-form/components/ElPlusFormText.vue +112 -112
- package/lib/components/el-plus-form/components/ElPlusFormTree.vue +663 -136
- package/lib/components/el-plus-form/components/ElPlusFormTreeSelect.vue +61 -61
- package/lib/components/el-plus-form/components/ElPlusFormUpbtn.vue +151 -151
- package/lib/components/el-plus-form/components/ElPlusFormUpload.vue +1 -1
- package/lib/components/el-plus-form/components/components/file-icons/FileIcons.vue +7 -1
- package/lib/components/el-plus-form/components/components/file-icons/data/index.ts +27 -27
- package/lib/components/el-plus-form/components/components/file-icons/images/doc.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/file.svg +18 -18
- package/lib/components/el-plus-form/components/components/file-icons/images/jpg.svg +13 -13
- package/lib/components/el-plus-form/components/components/file-icons/images/pdf.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/png.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/ppt.svg +12 -12
- package/lib/components/el-plus-form/components/components/file-icons/images/xls.svg +12 -12
- package/lib/components/el-plus-form/components/components/tree/CustomTreeNode.vue +130 -0
- package/lib/components/el-plus-form/components/index.ts +17 -17
- package/lib/components/el-plus-form/data/file.ts +74 -74
- package/lib/components/el-plus-form/mixins/index.ts +127 -127
- package/lib/components/el-plus-form/util/validate.ts +348 -348
- package/lib/components/el-plus-table/ElPlusTable.vue +67 -12
- package/lib/components/el-plus-table/ElPlusTableColumn.vue +49 -48
- package/lib/components/el-plus-table/components/columnItem.vue +220 -220
- package/lib/components/el-plus-table/components/header.vue +47 -6
- package/lib/components/el-plus-table/components/settingColumn.vue +2 -1
- package/lib/components/el-plus-table/components/statisticInfo.vue +47 -47
- package/lib/index.d.ts +4 -4
- package/lib/index.ts +56 -56
- package/package.json +74 -71
- package/pnpm-lock.yaml +6204 -0
- package/pnpm-workspace.yaml +4 -0
- package/tsconfig.json +78 -78
- package/types/global.d.ts +13 -13
- package/types/index.d.ts +4 -0
- package/vite.config.ts +78 -78
package/.eslintignore
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
*.sh
|
|
3
|
-
node_modules
|
|
4
|
-
lib
|
|
5
|
-
*.md
|
|
6
|
-
*.scss
|
|
7
|
-
*.woff
|
|
8
|
-
*.ttf
|
|
9
|
-
.vscode
|
|
10
|
-
.idea
|
|
11
|
-
dist
|
|
12
|
-
docs
|
|
13
|
-
mock
|
|
14
|
-
public
|
|
15
|
-
bin
|
|
16
|
-
build
|
|
17
|
-
config
|
|
18
|
-
index.html
|
|
1
|
+
|
|
2
|
+
*.sh
|
|
3
|
+
node_modules
|
|
4
|
+
lib
|
|
5
|
+
*.md
|
|
6
|
+
*.scss
|
|
7
|
+
*.woff
|
|
8
|
+
*.ttf
|
|
9
|
+
.vscode
|
|
10
|
+
.idea
|
|
11
|
+
dist
|
|
12
|
+
docs
|
|
13
|
+
mock
|
|
14
|
+
public
|
|
15
|
+
bin
|
|
16
|
+
build
|
|
17
|
+
config
|
|
18
|
+
index.html
|
|
19
19
|
src/assets
|
package/.eslintrc.js
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
root: true,
|
|
3
|
-
env: {
|
|
4
|
-
browser: true,
|
|
5
|
-
es2021: true,
|
|
6
|
-
node: true
|
|
7
|
-
},
|
|
8
|
-
parser: 'vue-eslint-parser',
|
|
9
|
-
parserOptions: {
|
|
10
|
-
ecmaVersion: 12,
|
|
11
|
-
parser: '@typescript-eslint/parser',
|
|
12
|
-
sourceType: 'module'
|
|
13
|
-
},
|
|
14
|
-
extends: ['plugin:vue/vue3-essential', 'plugin:vue/essential', 'eslint:recommended'],
|
|
15
|
-
plugins: ['vue', '@typescript-eslint'],
|
|
16
|
-
overrides: [
|
|
17
|
-
{
|
|
18
|
-
files: ['*.ts', '*.tsx', '*.vue'],
|
|
19
|
-
rules: {
|
|
20
|
-
'no-undef': 'off'
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
rules: {
|
|
25
|
-
// http://eslint.cn/docs/rules/
|
|
26
|
-
// https://eslint.vuejs.org/rules/
|
|
27
|
-
// https://typescript-eslint.io/rules/no-unused-vars/
|
|
28
|
-
'@typescript-eslint/ban-ts-ignore': 'off',
|
|
29
|
-
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
30
|
-
'@typescript-eslint/no-explicit-any': 'off',
|
|
31
|
-
'@typescript-eslint/no-var-requires': 'off',
|
|
32
|
-
'@typescript-eslint/no-empty-function': 'off',
|
|
33
|
-
'@typescript-eslint/no-use-before-define': 'off',
|
|
34
|
-
'@typescript-eslint/ban-ts-comment': 'off',
|
|
35
|
-
'@typescript-eslint/ban-types': 'off',
|
|
36
|
-
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
37
|
-
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
38
|
-
'@typescript-eslint/no-redeclare': 'error',
|
|
39
|
-
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
|
|
40
|
-
'@typescript-eslint/no-unused-vars': [2],
|
|
41
|
-
'vue/custom-event-name-casing': 'off',
|
|
42
|
-
'vue/attributes-order': 'off',
|
|
43
|
-
'vue/one-component-per-file': 'off',
|
|
44
|
-
'vue/html-closing-bracket-newline': 'off',
|
|
45
|
-
'vue/max-attributes-per-line': 'off',
|
|
46
|
-
'vue/multiline-html-element-content-newline': 'off',
|
|
47
|
-
'vue/singleline-html-element-content-newline': 'off',
|
|
48
|
-
'vue/attribute-hyphenation': 'off',
|
|
49
|
-
'vue/html-self-closing': 'off',
|
|
50
|
-
'vue/no-multiple-template-root': 'off',
|
|
51
|
-
'vue/require-default-prop': 'off',
|
|
52
|
-
'vue/no-v-model-argument': 'off',
|
|
53
|
-
'vue/no-arrow-functions-in-watch': 'off',
|
|
54
|
-
'vue/no-template-key': 'off',
|
|
55
|
-
'vue/no-v-html': 'off',
|
|
56
|
-
'vue/comment-directive': 'off',
|
|
57
|
-
'vue/no-parsing-error': 'off',
|
|
58
|
-
'vue/no-deprecated-v-on-native-modifier': 'off',
|
|
59
|
-
'vue/no-mutating-props': 'off',
|
|
60
|
-
'vue/no-v-for-template-key': 'off',
|
|
61
|
-
'vue/multi-word-component-names': 'off',
|
|
62
|
-
'no-useless-escape': 'off',
|
|
63
|
-
'no-sparse-arrays': 'off',
|
|
64
|
-
'no-prototype-builtins': 'off',
|
|
65
|
-
'no-constant-condition': 'off',
|
|
66
|
-
'no-use-before-define': 'off',
|
|
67
|
-
'no-restricted-globals': 'off',
|
|
68
|
-
'no-restricted-syntax': 'off',
|
|
69
|
-
'generator-star-spacing': 'off',
|
|
70
|
-
'no-unreachable': 'off',
|
|
71
|
-
'no-multiple-template-root': 'off',
|
|
72
|
-
'no-unused-vars': 'error',
|
|
73
|
-
'no-v-model-argument': 'off',
|
|
74
|
-
'no-case-declarations': 'off',
|
|
75
|
-
'no-console': 'error',
|
|
76
|
-
'no-redeclare': 'off'
|
|
77
|
-
}
|
|
78
|
-
}
|
|
1
|
+
module.exports = {
|
|
2
|
+
root: true,
|
|
3
|
+
env: {
|
|
4
|
+
browser: true,
|
|
5
|
+
es2021: true,
|
|
6
|
+
node: true
|
|
7
|
+
},
|
|
8
|
+
parser: 'vue-eslint-parser',
|
|
9
|
+
parserOptions: {
|
|
10
|
+
ecmaVersion: 12,
|
|
11
|
+
parser: '@typescript-eslint/parser',
|
|
12
|
+
sourceType: 'module'
|
|
13
|
+
},
|
|
14
|
+
extends: ['plugin:vue/vue3-essential', 'plugin:vue/essential', 'eslint:recommended'],
|
|
15
|
+
plugins: ['vue', '@typescript-eslint'],
|
|
16
|
+
overrides: [
|
|
17
|
+
{
|
|
18
|
+
files: ['*.ts', '*.tsx', '*.vue'],
|
|
19
|
+
rules: {
|
|
20
|
+
'no-undef': 'off'
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
rules: {
|
|
25
|
+
// http://eslint.cn/docs/rules/
|
|
26
|
+
// https://eslint.vuejs.org/rules/
|
|
27
|
+
// https://typescript-eslint.io/rules/no-unused-vars/
|
|
28
|
+
'@typescript-eslint/ban-ts-ignore': 'off',
|
|
29
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
30
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
31
|
+
'@typescript-eslint/no-var-requires': 'off',
|
|
32
|
+
'@typescript-eslint/no-empty-function': 'off',
|
|
33
|
+
'@typescript-eslint/no-use-before-define': 'off',
|
|
34
|
+
'@typescript-eslint/ban-ts-comment': 'off',
|
|
35
|
+
'@typescript-eslint/ban-types': 'off',
|
|
36
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
37
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
38
|
+
'@typescript-eslint/no-redeclare': 'error',
|
|
39
|
+
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
|
|
40
|
+
'@typescript-eslint/no-unused-vars': [2],
|
|
41
|
+
'vue/custom-event-name-casing': 'off',
|
|
42
|
+
'vue/attributes-order': 'off',
|
|
43
|
+
'vue/one-component-per-file': 'off',
|
|
44
|
+
'vue/html-closing-bracket-newline': 'off',
|
|
45
|
+
'vue/max-attributes-per-line': 'off',
|
|
46
|
+
'vue/multiline-html-element-content-newline': 'off',
|
|
47
|
+
'vue/singleline-html-element-content-newline': 'off',
|
|
48
|
+
'vue/attribute-hyphenation': 'off',
|
|
49
|
+
'vue/html-self-closing': 'off',
|
|
50
|
+
'vue/no-multiple-template-root': 'off',
|
|
51
|
+
'vue/require-default-prop': 'off',
|
|
52
|
+
'vue/no-v-model-argument': 'off',
|
|
53
|
+
'vue/no-arrow-functions-in-watch': 'off',
|
|
54
|
+
'vue/no-template-key': 'off',
|
|
55
|
+
'vue/no-v-html': 'off',
|
|
56
|
+
'vue/comment-directive': 'off',
|
|
57
|
+
'vue/no-parsing-error': 'off',
|
|
58
|
+
'vue/no-deprecated-v-on-native-modifier': 'off',
|
|
59
|
+
'vue/no-mutating-props': 'off',
|
|
60
|
+
'vue/no-v-for-template-key': 'off',
|
|
61
|
+
'vue/multi-word-component-names': 'off',
|
|
62
|
+
'no-useless-escape': 'off',
|
|
63
|
+
'no-sparse-arrays': 'off',
|
|
64
|
+
'no-prototype-builtins': 'off',
|
|
65
|
+
'no-constant-condition': 'off',
|
|
66
|
+
'no-use-before-define': 'off',
|
|
67
|
+
'no-restricted-globals': 'off',
|
|
68
|
+
'no-restricted-syntax': 'off',
|
|
69
|
+
'generator-star-spacing': 'off',
|
|
70
|
+
'no-unreachable': 'off',
|
|
71
|
+
'no-multiple-template-root': 'off',
|
|
72
|
+
'no-unused-vars': 'error',
|
|
73
|
+
'no-v-model-argument': 'off',
|
|
74
|
+
'no-case-declarations': 'off',
|
|
75
|
+
'no-console': 'error',
|
|
76
|
+
'no-redeclare': 'off'
|
|
77
|
+
}
|
|
78
|
+
}
|
package/.lintstagedrc
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"*.{js,jsx,ts,tsx,vue,html}": ["prettier --write", "eslint"]
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"*.{js,jsx,ts,tsx,vue,html}": ["prettier --write", "eslint"]
|
|
3
|
+
}
|
package/.prettierrc.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
// 一行最多多少个字符
|
|
3
|
-
printWidth: 500,
|
|
4
|
-
// 指定每个缩进级别的空格数
|
|
5
|
-
tabWidth: 2,
|
|
6
|
-
// 使用制表符而不是空格缩进行
|
|
7
|
-
useTabs: false,
|
|
8
|
-
// 在语句末尾打印分号
|
|
9
|
-
semi: false,
|
|
10
|
-
// 使用单引号而不是双引号
|
|
11
|
-
singleQuote: true,
|
|
12
|
-
// 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
|
|
13
|
-
quoteProps: 'as-needed',
|
|
14
|
-
// 在JSX中使用单引号而不是双引号
|
|
15
|
-
jsxSingleQuote: false,
|
|
16
|
-
// 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
|
|
17
|
-
trailingComma: 'none',
|
|
18
|
-
// 在对象文字中的括号之间打印空格
|
|
19
|
-
bracketSpacing: true,
|
|
20
|
-
// jsx 标签的反尖括号需要换行
|
|
21
|
-
jsxBracketSameLine: false,
|
|
22
|
-
// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
|
|
23
|
-
arrowParens: 'always',
|
|
24
|
-
// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
|
|
25
|
-
rangeStart: 0,
|
|
26
|
-
rangeEnd: Infinity,
|
|
27
|
-
// 指定要使用的解析器,不需要写文件开头的 @prettier
|
|
28
|
-
requirePragma: false,
|
|
29
|
-
// 不需要自动在文件开头插入 @prettier
|
|
30
|
-
insertPragma: false,
|
|
31
|
-
// 使用默认的折行标准 always\never\preserve
|
|
32
|
-
proseWrap: 'preserve',
|
|
33
|
-
// 指定HTML文件的全局空格敏感度 css\strict\ignore
|
|
34
|
-
htmlWhitespaceSensitivity: 'css',
|
|
35
|
-
// Vue文件脚本和样式标签缩进
|
|
36
|
-
vueIndentScriptAndStyle: false,
|
|
37
|
-
// 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
|
|
38
|
-
endOfLine: 'lf'
|
|
39
|
-
}
|
|
1
|
+
module.exports = {
|
|
2
|
+
// 一行最多多少个字符
|
|
3
|
+
printWidth: 500,
|
|
4
|
+
// 指定每个缩进级别的空格数
|
|
5
|
+
tabWidth: 2,
|
|
6
|
+
// 使用制表符而不是空格缩进行
|
|
7
|
+
useTabs: false,
|
|
8
|
+
// 在语句末尾打印分号
|
|
9
|
+
semi: false,
|
|
10
|
+
// 使用单引号而不是双引号
|
|
11
|
+
singleQuote: true,
|
|
12
|
+
// 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
|
|
13
|
+
quoteProps: 'as-needed',
|
|
14
|
+
// 在JSX中使用单引号而不是双引号
|
|
15
|
+
jsxSingleQuote: false,
|
|
16
|
+
// 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
|
|
17
|
+
trailingComma: 'none',
|
|
18
|
+
// 在对象文字中的括号之间打印空格
|
|
19
|
+
bracketSpacing: true,
|
|
20
|
+
// jsx 标签的反尖括号需要换行
|
|
21
|
+
jsxBracketSameLine: false,
|
|
22
|
+
// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
|
|
23
|
+
arrowParens: 'always',
|
|
24
|
+
// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
|
|
25
|
+
rangeStart: 0,
|
|
26
|
+
rangeEnd: Infinity,
|
|
27
|
+
// 指定要使用的解析器,不需要写文件开头的 @prettier
|
|
28
|
+
requirePragma: false,
|
|
29
|
+
// 不需要自动在文件开头插入 @prettier
|
|
30
|
+
insertPragma: false,
|
|
31
|
+
// 使用默认的折行标准 always\never\preserve
|
|
32
|
+
proseWrap: 'preserve',
|
|
33
|
+
// 指定HTML文件的全局空格敏感度 css\strict\ignore
|
|
34
|
+
htmlWhitespaceSensitivity: 'css',
|
|
35
|
+
// Vue文件脚本和样式标签缩进
|
|
36
|
+
vueIndentScriptAndStyle: false,
|
|
37
|
+
// 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
|
|
38
|
+
endOfLine: 'lf'
|
|
39
|
+
}
|