@wfrog/vc-ui 1.12.4 → 1.13.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 (40) hide show
  1. package/dist/es/chunk/{Bw0Rhd-r.mjs → oAsZydDS.mjs} +6 -3
  2. package/dist/es/components/backbottom/backbottom.mjs +6 -6
  3. package/dist/es/components/explorer-column-table/explorer-column-table.mjs +5 -5
  4. package/dist/es/components/explorer-column-table/index.css +12 -12
  5. package/dist/es/components/explorer-list/explorer-list.d.ts +2 -1
  6. package/dist/es/components/explorer-list/explorer-list.mjs +18 -12
  7. package/dist/es/components/explorer-list/explorer-list.vue.d.ts +3 -2
  8. package/dist/es/components/explorer-list/index.css +18 -18
  9. package/dist/es/components/explorer-table/explorer-table.mjs +7 -7
  10. package/dist/es/components/explorer-table/index.css +14 -14
  11. package/dist/es/components/explorer-tree/explorer-tree.d.ts +2 -1
  12. package/dist/es/components/explorer-tree/explorer-tree.mjs +27 -7
  13. package/dist/es/components/explorer-tree/explorer-tree.vue.d.ts +2 -2
  14. package/dist/es/components/explorer-tree/index.css +19 -19
  15. package/dist/es/components/icon-picker/icon-picker.mjs +17 -17
  16. package/dist/es/components/icon-picker/index.css +27 -27
  17. package/dist/es/components/pca-picker/index.css +2 -2
  18. package/dist/es/components/pca-picker/pca-picker.mjs +1 -1
  19. package/dist/es/components/select/index.css +5 -2
  20. package/dist/es/components/select/select.mjs +9 -5
  21. package/dist/es/components/transfer-panel/index.css +22 -22
  22. package/dist/es/components/transfer-panel/transfer-panel.mjs +10 -10
  23. package/dist/es/components/tree-picker/index.css +2 -2
  24. package/dist/es/components/tree-picker/popover-cascader.css +9 -6
  25. package/dist/es/components/tree-picker/tree-picker.d.ts +2 -0
  26. package/dist/es/components/tree-picker/tree-picker.mjs +10 -9
  27. package/dist/es/components/tree-picker/tree-picker.vue.d.ts +1 -0
  28. package/dist/es/components/tree-select/docs/data.d.ts +2 -0
  29. package/dist/es/components/tree-select/index.css +48 -0
  30. package/dist/es/components/tree-select/index.d.ts +4 -0
  31. package/dist/es/components/tree-select/index.mjs +6 -0
  32. package/dist/es/components/tree-select/tree-select.d.ts +21 -0
  33. package/dist/es/components/tree-select/tree-select.mjs +222 -0
  34. package/dist/es/components/tree-select/tree-select.vue.d.ts +1029 -0
  35. package/dist/es/components/upload-file/upload-file.mjs +2 -2
  36. package/dist/es/index.d.ts +1 -0
  37. package/dist/es/index.mjs +5 -3
  38. package/dist/global.d.ts +1 -0
  39. package/dist/index.css +187 -133
  40. package/package.json +1 -1
@@ -1,34 +1,34 @@
1
1
  /* source: src/components/icon-picker/components/collections.vue,src/components/icon-picker/components/panel.vue,src/components/icon-picker/icon-picker.vue */
2
- ._wrapper_1r14t_1 {
2
+ ._wrapper_1do9r_1 {
3
3
  height: 100%;
4
4
  display: flex;
5
5
  flex-direction: column;
6
6
  }
7
- ._search-wrapper_1r14t_7 {
7
+ ._search-wrapper_1do9r_7 {
8
8
  position: sticky;
9
9
  top: 0;
10
10
  padding-bottom: 4px;
11
11
  background-color: var(--el-bg-color);
12
12
  }
13
- ._container_1r14t_14 {
13
+ ._container_1do9r_14 {
14
14
  display: flex;
15
15
  flex-direction: column;
16
16
  row-gap: 4px;
17
17
  }
18
- ._collection_1r14t_20 {
18
+ ._collection_1do9r_20 {
19
19
  border: 1px solid var(--el-input-border-color);
20
20
  border-radius: 4px;
21
21
  box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
22
22
  padding: 4px;
23
23
  cursor: pointer;
24
24
  }
25
- ._collection_1r14t_20._active_1r14t_27 {
26
- background-color: var(--el-color-primary-light-9);
25
+ ._collection_1do9r_20._active_1do9r_27 {
26
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
27
27
  }
28
- ._collection_1r14t_20:hover {
29
- background-color: var(--el-color-primary-light-7);
28
+ ._collection_1do9r_20:hover {
29
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
30
30
  }
31
- ._collection_1r14t_20 h5 {
31
+ ._collection_1do9r_20 h5 {
32
32
  font-size: 14px;
33
33
  overflow: hidden;
34
34
  text-overflow: ellipsis;
@@ -36,40 +36,40 @@
36
36
  margin: 0;
37
37
  color: var(--el-text-color-regular);
38
38
  }
39
- ._collection_1r14t_20 h5 span {
39
+ ._collection_1do9r_20 h5 span {
40
40
  color: var(--el-text-color-secondary);
41
41
  margin-right: 4px;
42
42
  }
43
- ._icons_1r14t_46 {
43
+ ._icons_1do9r_46 {
44
44
  font-size: 24px;
45
45
  display: flex;
46
46
  column-gap: 4px;
47
- }._panel_13zo4_1 {
47
+ }._panel_hn29n_1 {
48
48
  position: relative;
49
49
  }
50
- ._wrapper_13zo4_5 {
50
+ ._wrapper_hn29n_5 {
51
51
  background-color: var(--el-popover-bg-color);
52
52
  position: relative;
53
53
  z-index: 5;
54
54
  }
55
- ._search-input_13zo4_11 .el-input-group__prepend {
55
+ ._search-input_hn29n_11 .el-input-group__prepend {
56
56
  padding: 0 16px;
57
57
  }
58
- button._collections-button_13zo4_15 {
58
+ button._collections-button_hn29n_15 {
59
59
  padding: 0;
60
60
  width: 50px;
61
61
  display: inline-flex !important;
62
62
  justify-content: center;
63
63
  align-items: center;
64
64
  }
65
- button._collections-button_13zo4_15:hover .el-icon {
65
+ button._collections-button_hn29n_15:hover .el-icon {
66
66
  color: var(--el-color-primary);
67
67
  }
68
- button._collections-button_13zo4_15 .el-icon {
68
+ button._collections-button_hn29n_15 .el-icon {
69
69
  font-size: 24px;
70
70
  transition: color 0.3s;
71
71
  }
72
- ._collections-wrapper_13zo4_30 {
72
+ ._collections-wrapper_hn29n_30 {
73
73
  position: absolute;
74
74
  top: -13px;
75
75
  left: 0;
@@ -83,16 +83,16 @@ button._collections-button_13zo4_15 .el-icon {
83
83
  border: 1px solid var(--el-popover-border-color);
84
84
  box-sizing: border-box;
85
85
  }
86
- ._collections-wrapper_13zo4_30._shadow_13zo4_44 {
86
+ ._collections-wrapper_hn29n_30._shadow_hn29n_44 {
87
87
  box-shadow: var(--el-box-shadow-light);
88
88
  }
89
- ._collections-wrapper_13zo4_30._visible_13zo4_47 {
89
+ ._collections-wrapper_hn29n_30._visible_hn29n_47 {
90
90
  left: -212px;
91
91
  }
92
- ._collections-wrapper_13zo4_30._hidden_13zo4_50 {
92
+ ._collections-wrapper_hn29n_30._hidden_hn29n_50 {
93
93
  opacity: 0;
94
94
  }
95
- ._container_13zo4_54 {
95
+ ._container_hn29n_54 {
96
96
  list-style: none;
97
97
  padding: 8px 0 0;
98
98
  margin: 0;
@@ -103,19 +103,19 @@ button._collections-button_13zo4_15 .el-icon {
103
103
  height: 174px;
104
104
  font-size: 24px;
105
105
  }
106
- ._container_13zo4_54 li {
106
+ ._container_hn29n_54 li {
107
107
  padding: 4px;
108
108
  cursor: pointer;
109
109
  border-radius: 4px;
110
110
  line-height: 0;
111
111
  }
112
- ._container_13zo4_54 li:hover {
113
- background-color: var(--el-color-primary-light-7);
112
+ ._container_hn29n_54 li:hover {
113
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
114
114
  }
115
- ._divider_13zo4_75 {
115
+ ._divider_hn29n_75 {
116
116
  margin: 4px 0;
117
117
  }
118
- ._pagination_13zo4_79 {
118
+ ._pagination_hn29n_79 {
119
119
  justify-content: center;
120
120
  }._input_yhkzo_1 .el-input-group__prepend {
121
121
  padding: 0 4px;
@@ -50,7 +50,7 @@
50
50
  }
51
51
  .vc-pca-item.active {
52
52
  color: var(--el-color-primary);
53
- background-color: var(--el-color-primary-light-9);
53
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
54
54
  border-color: var(--el-color-primary-light-7);
55
55
  }
56
56
  .vc-pca-item.active.active-mark {
@@ -70,7 +70,7 @@
70
70
  }
71
71
  .vc-pca-item:hover {
72
72
  color: var(--el-color-primary);
73
- background-color: var(--el-color-primary-light-9);
73
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
74
74
  border-color: var(--el-color-primary-light-7);
75
75
  }._popover_qj0am_1 {
76
76
  width: auto !important;
@@ -21,7 +21,7 @@ import 'element-plus/es/components/col/style/css';
21
21
  import { _ as _export_sfc } from '../../chunk/pcqpp-6-.mjs';
22
22
  import 'element-plus/es/components/divider/style/css';
23
23
  import 'element-plus/es/components/text/style/css';
24
- import { P as PopoverCascader } from '../../chunk/Bw0Rhd-r.mjs';
24
+ import { P as PopoverCascader } from '../../chunk/oAsZydDS.mjs';
25
25
 
26
26
  /**
27
27
  * Gets the value at `path` of `object`. If the resolved value is
@@ -1,4 +1,7 @@
1
1
  /* source: src/components/select/select.vue */
2
- div._select-width_140qa_1 {
3
- width: var(--d4752262);
2
+ ._popper_jk1e7_1 .el-select-dropdown__item.is-hovering {
3
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
4
+ }
5
+ div._select-width_jk1e7_5 {
6
+ width: var(--f34400f4);
4
7
  }
@@ -14,7 +14,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  },
15
15
  setup(__props) {
16
16
  useCssVars((_ctx) => ({
17
- "d4752262": unref(myWidth)
17
+ "f34400f4": unref(myWidth)
18
18
  }));
19
19
  const props = __props;
20
20
  const myOptions = computed(() => {
@@ -25,22 +25,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  });
26
26
  const $style = useCssModule();
27
27
  const className = computed(() => ({
28
- [$style["select-width"]]: !!props.width
28
+ [$style["select-width"]]: !!props.width,
29
+ [$style.select]: true
29
30
  }));
30
31
  const myWidth = computed(() => props.width ? formatToPx(props.width) : "auto");
31
32
  return (_ctx, _cache) => {
32
33
  const _component_ElSelect = ElSelect;
33
34
  return openBlock(), createBlock(_component_ElSelect, {
34
35
  "collapse-tags": "",
36
+ "popper-class": unref($style).popper,
35
37
  class: normalizeClass(unref(className)),
36
38
  options: unref(myOptions)
37
- }, null, 8, ["class", "options"]);
39
+ }, null, 8, ["popper-class", "class", "options"]);
38
40
  };
39
41
  }
40
42
  });
41
43
 
42
- /* unplugin-vue-components disabled */const style0 = {
43
- "select-width": "_select-width_140qa_1"
44
+ /* unplugin-vue-components disabled */const popper = "_popper_jk1e7_1";
45
+ const style0 = {
46
+ popper: popper,
47
+ "select-width": "_select-width_jk1e7_5"
44
48
  };
45
49
 
46
50
  const cssModules = {
@@ -1,13 +1,13 @@
1
1
  /* source: src/components/transfer-panel/components/transfer-child-panel.vue,src/components/transfer-panel/transfer-panel.vue */
2
- ._transfer-child-panel_ipfuy_1 {
2
+ ._transfer-child-panel_hjbgd_1 {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  padding: 4px;
6
6
  position: relative;
7
7
  row-gap: 4px;
8
- width: var(--v39e6fbe3);
8
+ width: var(--v5cf19ff4);
9
9
  }
10
- ._item_ipfuy_10 {
10
+ ._item_hjbgd_10 {
11
11
  padding: 4px 8px;
12
12
  display: flex;
13
13
  justify-content: space-between;
@@ -18,41 +18,41 @@
18
18
  box-sizing: border-box;
19
19
  line-height: 1;
20
20
  }
21
- ._item_ipfuy_10._source_ipfuy_21 {
21
+ ._item_hjbgd_10._source_hjbgd_21 {
22
22
  cursor: pointer;
23
23
  }
24
- ._item_ipfuy_10:hover {
25
- background-color: var(--el-color-primary-light-9);
24
+ ._item_hjbgd_10:hover {
25
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
26
26
  }
27
- ._item_ipfuy_10:hover ._actions_ipfuy_27 {
27
+ ._item_hjbgd_10:hover ._actions_hjbgd_27 {
28
28
  display: inline-flex;
29
29
  align-items: flex-start;
30
30
  }
31
- ._item_ipfuy_10._active_ipfuy_31 {
31
+ ._item_hjbgd_10._active_hjbgd_31 {
32
32
  color: var(--el-color-primary);
33
- background-color: var(--el-color-primary-light-9);
33
+ background-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
34
34
  }
35
- ._label_ipfuy_36 {
35
+ ._label_hjbgd_36 {
36
36
  overflow: hidden;
37
37
  text-overflow: ellipsis;
38
38
  white-space: nowrap;
39
39
  }
40
- ._icon_ipfuy_42 {
40
+ ._icon_hjbgd_42 {
41
41
  margin-right: 4px;
42
42
  }
43
- ._actions_ipfuy_27 {
43
+ ._actions_hjbgd_27 {
44
44
  display: none;
45
45
  column-gap: 4px;
46
46
  }
47
- ._actions_ipfuy_27 > button {
47
+ ._actions_hjbgd_27 > button {
48
48
  margin-left: 0 !important;
49
49
  font-size: 1.2em;
50
50
  border: 1px solid var(--el-border-color-light) !important;
51
51
  }
52
- ._actions_ipfuy_27 > button:hover {
52
+ ._actions_hjbgd_27 > button:hover {
53
53
  border-color: var(--el-border-color-dark) !important;
54
54
  }
55
- ._operation_ipfuy_59 {
55
+ ._operation_hjbgd_59 {
56
56
  position: absolute;
57
57
  z-index: 10;
58
58
  bottom: 0;
@@ -65,26 +65,26 @@
65
65
  background-color: var(--el-bg-color-page);
66
66
  cursor: pointer;
67
67
  }
68
- ._operation_ipfuy_59:hover .el-text {
68
+ ._operation_hjbgd_59:hover .el-text {
69
69
  color: var(--el-color-primary);
70
70
  }
71
- ._transfer-child-panel_ipfuy_1._disabled_ipfuy_76 ._item_ipfuy_10 {
71
+ ._transfer-child-panel_hjbgd_1._disabled_hjbgd_76 ._item_hjbgd_10 {
72
72
  cursor: not-allowed;
73
73
  }
74
- ._transfer-child-panel_ipfuy_1._disabled_ipfuy_76 ._item_ipfuy_10:hover {
74
+ ._transfer-child-panel_hjbgd_1._disabled_hjbgd_76 ._item_hjbgd_10:hover {
75
75
  background-color: inherit;
76
76
  }
77
- ._transfer-child-panel_ipfuy_1._disabled_ipfuy_76 ._item_ipfuy_10._active_ipfuy_31 {
77
+ ._transfer-child-panel_hjbgd_1._disabled_hjbgd_76 ._item_hjbgd_10._active_hjbgd_31 {
78
78
  color: var(--el-color-info);
79
79
  background-color: var(--el-fill-color-light);
80
80
  }
81
- ._transfer-child-panel_ipfuy_1._disabled_ipfuy_76 ._actions_ipfuy_27 {
81
+ ._transfer-child-panel_hjbgd_1._disabled_hjbgd_76 ._actions_hjbgd_27 {
82
82
  display: none !important;
83
83
  }
84
- ._transfer-child-panel_ipfuy_1._disabled_ipfuy_76 ._operation_ipfuy_59 {
84
+ ._transfer-child-panel_hjbgd_1._disabled_hjbgd_76 ._operation_hjbgd_59 {
85
85
  cursor: not-allowed;
86
86
  }
87
- ._transfer-child-panel_ipfuy_1._disabled_ipfuy_76 ._operation_ipfuy_59:hover .el-text {
87
+ ._transfer-child-panel_hjbgd_1._disabled_hjbgd_76 ._operation_hjbgd_59:hover .el-text {
88
88
  color: var(--el-color-info);
89
89
  }._transfer-panel_1mztg_1 {
90
90
  display: flex;
@@ -29,7 +29,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
29
29
  emits: ["change", "update:modelValue"],
30
30
  setup(__props, { emit: __emit }) {
31
31
  useCssVars((_ctx) => ({
32
- "v39e6fbe3": _ctx.width
32
+ "v5cf19ff4": _ctx.width
33
33
  }));
34
34
  const props = __props;
35
35
  const emits = __emit;
@@ -187,16 +187,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
187
187
  }
188
188
  });
189
189
 
190
- /* unplugin-vue-components disabled */const item = "_item_ipfuy_10";
191
- const source = "_source_ipfuy_21";
192
- const actions = "_actions_ipfuy_27";
193
- const active = "_active_ipfuy_31";
194
- const label = "_label_ipfuy_36";
195
- const icon = "_icon_ipfuy_42";
196
- const operation = "_operation_ipfuy_59";
197
- const disabled = "_disabled_ipfuy_76";
190
+ /* unplugin-vue-components disabled */const item = "_item_hjbgd_10";
191
+ const source = "_source_hjbgd_21";
192
+ const actions = "_actions_hjbgd_27";
193
+ const active = "_active_hjbgd_31";
194
+ const label = "_label_hjbgd_36";
195
+ const icon = "_icon_hjbgd_42";
196
+ const operation = "_operation_hjbgd_59";
197
+ const disabled = "_disabled_hjbgd_76";
198
198
  const style0$1 = {
199
- "transfer-child-panel": "_transfer-child-panel_ipfuy_1",
199
+ "transfer-child-panel": "_transfer-child-panel_hjbgd_1",
200
200
  item: item,
201
201
  source: source,
202
202
  actions: actions,
@@ -10,7 +10,7 @@
10
10
  min-width: 80px;
11
11
  }
12
12
  ._wrapper_xrmgt_13 {
13
- width: var(--v7586a416);
13
+ width: var(--v1ccda07a);
14
14
  }
15
15
  ._wrapper_xrmgt_13 .el-tag .el-icon {
16
16
  display: none;
@@ -22,7 +22,7 @@
22
22
  box-shadow: 0 0 0 1px var(--el-input-focus-border-color, var(--el-color-primary)) inset !important;
23
23
  }
24
24
  ._cascader-width_xrmgt_27 {
25
- width: var(--v7586a416);
25
+ width: var(--v1ccda07a);
26
26
  }
27
27
  ._is-active_xrmgt_31 .el-input__inner {
28
28
  border-color: var(--color-primary);
@@ -1,23 +1,26 @@
1
1
  /* source: src/components/tree-picker/components/popover-cascader.vue */
2
- ._selected_1r65k_1 {
2
+ ._selected_62www_1 {
3
3
  box-sizing: border-box;
4
4
  flex: 1 1 180px;
5
5
  min-width: 180px;
6
6
  height: 206px;
7
7
  margin-right: 8px;
8
- border: 1px solid #e4e7ed;
8
+ border: 1px solid var(--el-border-color-light);
9
9
  border-radius: 4px;
10
10
  }
11
- ._selected_1r65k_1 .el-scrollbar {
11
+ ._selected_62www_1 .el-scrollbar {
12
12
  height: 100%;
13
13
  }
14
- ._selected_1r65k_1 .el-tree {
14
+ ._selected_62www_1 .el-tree {
15
15
  height: 100%;
16
16
  margin: 6px 20px 6px 0;
17
17
  }
18
- ._selected_1r65k_1 .el-scrollbar__wrap {
18
+ ._selected_62www_1 .el-scrollbar__wrap {
19
19
  overflow-x: hidden;
20
20
  }
21
- ._selected_1r65k_1 .el-tree__empty-block {
21
+ ._selected_62www_1 .el-tree__empty-block {
22
22
  transform: translateX(10px);
23
+ }
24
+ ._cascader-panel_62www_24 {
25
+ --el-cascader-node-background-hover: var(--vc-highlight-bg-color, var(--el-fill-color-light));
23
26
  }
@@ -4,12 +4,14 @@ export interface ITreePickerProps {
4
4
  placeholder?: string;
5
5
  disabled?: boolean;
6
6
  multiple?: boolean;
7
+ checkStrictly?: boolean;
7
8
  modelValue: string | number | string[] | number[] | undefined;
8
9
  options?: CascaderOption[];
9
10
  props?: CascaderProps;
10
11
  width?: string | number;
11
12
  filterable?: boolean;
12
13
  filterEmptyText?: string;
14
+ clearable?: boolean;
13
15
  }
14
16
  export interface ITreePickerEmits {
15
17
  (e: 'update:modelValue', value: string | number | string[] | number[] | undefined): void;
@@ -7,7 +7,7 @@ import 'element-plus/es/components/cascader/style/css';
7
7
  import { defineComponent, useCssVars, unref, computed, useCssModule, useTemplateRef, ref, createBlock, openBlock, withCtx, createElementVNode, normalizeClass, createVNode, mergeProps, isRef, createTextVNode, toDisplayString, nextTick } from 'vue';
8
8
  import { useFormDisabled, useFormItem } from 'element-plus';
9
9
  import { f as formatToPx } from '../../chunk/DZ5W9TaA.mjs';
10
- import { P as PopoverCascader } from '../../chunk/Bw0Rhd-r.mjs';
10
+ import { P as PopoverCascader } from '../../chunk/oAsZydDS.mjs';
11
11
  import { useVModel, useToggle, useThrottleFn, onClickOutside } from '@vueuse/core';
12
12
  import { _ as _export_sfc } from '../../chunk/pcqpp-6-.mjs';
13
13
 
@@ -18,17 +18,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  placeholder: { default: "请选择" },
19
19
  disabled: { type: Boolean, default: void 0 },
20
20
  multiple: { type: Boolean, default: false },
21
+ checkStrictly: { type: Boolean },
21
22
  modelValue: {},
22
23
  options: { default: () => [] },
23
24
  props: { default: () => ({}) },
24
25
  width: {},
25
26
  filterable: { type: Boolean },
26
- filterEmptyText: { default: "没有匹配到数据" }
27
+ filterEmptyText: { default: "没有匹配到数据" },
28
+ clearable: { type: Boolean, default: true }
27
29
  },
28
30
  emits: ["update:modelValue", "change", "blur"],
29
31
  setup(__props, { emit: __emit }) {
30
32
  useCssVars((_ctx) => ({
31
- "v7586a416": unref(myWidth)
33
+ "v1ccda07a": unref(myWidth)
32
34
  }));
33
35
  const props = __props;
34
36
  const emits = __emit;
@@ -43,6 +45,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
43
45
  children: props.props.children || "children",
44
46
  multiple: props.multiple,
45
47
  emitPath: false,
48
+ checkStrictly: props.checkStrictly,
46
49
  ...props.props
47
50
  }));
48
51
  const $style = useCssModule();
@@ -70,10 +73,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
70
73
  keyword.value = event.target.value;
71
74
  }
72
75
  function clear() {
73
- emits("update:modelValue", props.multiple ? [] : "");
74
- setTimeout(() => {
75
- nextTick(() => togglePopoverVisible(false));
76
- }, 0);
76
+ myValue.value = props.multiple ? [] : void 0;
77
+ setTimeout(() => togglePopoverVisible(false), 0);
77
78
  }
78
79
  function handleChange(val, node) {
79
80
  formItem?.validate?.("change").catch(() => {
@@ -111,7 +112,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
111
112
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(myValue) ? myValue.value = $event : null),
112
113
  "collapse-tags": "",
113
114
  "collapse-tags-tooltip": "",
114
- clearable: "",
115
+ clearable: __props.clearable,
115
116
  options: __props.options,
116
117
  placeholder: __props.placeholder,
117
118
  filterable: __props.filterable,
@@ -127,7 +128,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
127
128
  createTextVNode(toDisplayString(__props.filterEmptyText), 1)
128
129
  ]),
129
130
  _: 1
130
- }, 16, ["modelValue", "options", "placeholder", "filterable", "props", "class", "popper-class", "disabled"])
131
+ }, 16, ["modelValue", "clearable", "options", "placeholder", "filterable", "props", "class", "popper-class", "disabled"])
131
132
  ], 34)
132
133
  ]),
133
134
  default: withCtx(() => [
@@ -14,6 +14,7 @@ declare const _default: import('vue').DefineComponent<ITreePickerProps, {}, {},
14
14
  disabled: boolean;
15
15
  options: import('element-plus').CascaderOption[];
16
16
  multiple: boolean;
17
+ clearable: boolean;
17
18
  filterEmptyText: string;
18
19
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
19
20
  popoverRef: ({
@@ -0,0 +1,2 @@
1
+ import { CascaderOption } from 'element-plus/es/components/cascader-panel';
2
+ export declare const treeData: CascaderOption[];
@@ -0,0 +1,48 @@
1
+ /* source: src/components/tree-select/tree-select.vue */
2
+ ._popover_miab9_1 {
3
+ width: auto !important;
4
+ min-width: 80px !important;
5
+ padding: 0 !important;
6
+ }
7
+ ._container_miab9_7 {
8
+ min-width: 240px;
9
+ width: fit-content;
10
+ height: 225px;
11
+ }
12
+ ._container_miab9_7 .el-tree-node__content {
13
+ --el-tree-node-hover-bg-color: var(--vc-highlight-bg-color, var(--el-fill-color-light));
14
+ padding-right: 32px;
15
+ }
16
+ ._container_miab9_7 .el-scrollbar__wrap {
17
+ overflow-x: hidden;
18
+ }
19
+ ._scrollbar-view_miab9_20 {
20
+ padding: 4px 0;
21
+ }
22
+ ._wrapper_miab9_24 {
23
+ width: var(--v53d289be);
24
+ }
25
+ ._wrapper_miab9_24 .el-tag .el-icon {
26
+ display: none;
27
+ }
28
+ ._cascader_miab9_31 {
29
+ width: 100%;
30
+ }
31
+ ._cascader_miab9_31 .el-input__wrapper.is-focus {
32
+ box-shadow: 0 0 0 1px var(--el-input-focus-border-color, var(--el-color-primary)) inset !important;
33
+ }
34
+ ._cascader-width_miab9_38 {
35
+ width: var(--v53d289be);
36
+ }
37
+ ._is-active_miab9_42 .el-input__inner {
38
+ border-color: var(--color-primary);
39
+ }
40
+ ._is-active_miab9_42 .el-icon {
41
+ transform: rotateZ(-180deg) !important;
42
+ }
43
+ ._cascader-popover_miab9_49.el-cascader__dropdown {
44
+ display: none;
45
+ }
46
+ ._cascader-panel_miab9_53 .el-cascader-panel {
47
+ display: none;
48
+ }
@@ -0,0 +1,4 @@
1
+ import { SFCWithInstall } from '../../utils/typescript';
2
+ import { default as Component } from './tree-select.vue';
3
+ export declare const VcTreeSelect: SFCWithInstall<typeof Component>;
4
+ export default VcTreeSelect;
@@ -0,0 +1,6 @@
1
+ import { w as withInstall } from '../../chunk/DZ5W9TaA.mjs';
2
+ import { C as Component } from './tree-select.mjs';
3
+
4
+ const VcTreeSelect = withInstall(Component);
5
+
6
+ export { VcTreeSelect, VcTreeSelect as default };
@@ -0,0 +1,21 @@
1
+ import { TreeNodeData } from 'element-plus';
2
+ export type TreeSelectValue = string | number | (string | number)[] | undefined;
3
+ export interface ITreeSelectProps {
4
+ emptyText?: string;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ multiple?: boolean;
8
+ checkStrictly?: boolean;
9
+ modelValue: TreeSelectValue;
10
+ options?: TreeNodeData[];
11
+ props?: Record<string, any>;
12
+ width?: string | number;
13
+ filterable?: boolean;
14
+ filterEmptyText?: string;
15
+ clearable?: boolean;
16
+ }
17
+ export interface ITreeSelectEmits {
18
+ (e: 'update:modelValue', value: TreeSelectValue): void;
19
+ (e: 'change', value: TreeSelectValue, node?: any): void;
20
+ (e: 'blur', event: FocusEvent): void;
21
+ }