@funcho/ui 1.1.8 → 1.1.10

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 (27) hide show
  1. package/dist/cjs/business/ProForm/ProForm.vue.js +12 -2
  2. package/dist/cjs/business/TreeCheckFilter/TreeCheckFilter.vue.js +212 -0
  3. package/dist/cjs/business/TreeCheckFilter/TreeCheckFilter.vue3.js +10 -0
  4. package/dist/cjs/business/TreeCheckFilter/index.js +12 -0
  5. package/dist/cjs/business/TreeTransfer/TreeTransfer.vue.js +194 -0
  6. package/dist/cjs/business/TreeTransfer/TreeTransfer.vue3.js +10 -0
  7. package/dist/cjs/business/TreeTransfer/index.js +12 -0
  8. package/dist/cjs/business/index.js +4 -0
  9. package/dist/cjs/index.js +10 -6
  10. package/dist/cjs/packages/ui/package.json.js +1 -1
  11. package/dist/esm/business/ProForm/ProForm.vue.mjs +12 -2
  12. package/dist/esm/business/TreeCheckFilter/TreeCheckFilter.vue.mjs +208 -0
  13. package/dist/esm/business/TreeCheckFilter/TreeCheckFilter.vue3.mjs +6 -0
  14. package/dist/esm/business/TreeCheckFilter/index.mjs +7 -0
  15. package/dist/esm/business/TreeTransfer/TreeTransfer.vue.mjs +190 -0
  16. package/dist/esm/business/TreeTransfer/TreeTransfer.vue3.mjs +6 -0
  17. package/dist/esm/business/TreeTransfer/index.mjs +7 -0
  18. package/dist/esm/business/index.mjs +2 -0
  19. package/dist/esm/index.mjs +2 -0
  20. package/dist/esm/packages/ui/package.json.mjs +1 -1
  21. package/dist/style.css +62 -1
  22. package/dist/types/business/TreeCheckFilter/TreeCheckFilter.types.d.ts +1 -0
  23. package/dist/types/business/TreeCheckFilter/TreeCheckFilter.vue.d.ts +6160 -0
  24. package/dist/types/business/TreeCheckFilter/index.d.ts +12298 -0
  25. package/dist/types/business/TreeTransfer/TreeTransfer.types.d.ts +1 -0
  26. package/dist/types/business/index.d.ts +2 -0
  27. package/package.json +4 -4
@@ -0,0 +1,208 @@
1
+ import { defineComponent, ref, createElementBlock, openBlock, normalizeClass, unref, createCommentVNode, createElementVNode, createBlock, withKeys, normalizeStyle, createVNode, withCtx, mergeProps } from 'vue';
2
+ import { useNamespace } from '../../hooks/use-namespace.mjs';
3
+ import '../../components/Button/index.mjs';
4
+ import '../../components/Dialog/index.mjs';
5
+ import '../../components/ConfigProvider/index.mjs';
6
+ import { FcInput } from '../../components/Input/index.mjs';
7
+ import { FcTree } from '../../components/Tree/index.mjs';
8
+ import '../../components/Tabs/index.mjs';
9
+ import '../../components/TabPane/index.mjs';
10
+ import '../../components/Steps/index.mjs';
11
+ import '../../components/Step/index.mjs';
12
+ import '../../components/InputNumber/index.mjs';
13
+ import '../../components/Select/index.mjs';
14
+ import '../../components/Option/index.mjs';
15
+ import '../../components/DatePicker/index.mjs';
16
+ import '../../components/DatePickerPanel/index.mjs';
17
+ import '../../components/Tooltip/index.mjs';
18
+ import '../../components/Icon/index.mjs';
19
+ import '../../components/Notification/index.mjs';
20
+ import '../../components/Link/index.mjs';
21
+ import '../../components/Text/index.mjs';
22
+ import { FcScrollbar } from '../../components/Scrollbar/index.mjs';
23
+ import '../../components/Splitter/index.mjs';
24
+ import '../../components/SplitterPanel/index.mjs';
25
+ import '../../components/Autocomplete/index.mjs';
26
+ import '../../components/Cascader/index.mjs';
27
+ import '../../components/CascaderPanel/index.mjs';
28
+ import { FcCheckbox } from '../../components/Checkbox/index.mjs';
29
+ import '../../components/CheckboxGroup/index.mjs';
30
+ import '../../components/CheckboxButton/index.mjs';
31
+ import '../../components/Form/index.mjs';
32
+ import '../../components/FormItem/index.mjs';
33
+ import '../../components/InputTag/index.mjs';
34
+ import '../../components/Radio/index.mjs';
35
+ import '../../components/RadioGroup/index.mjs';
36
+ import '../../components/SelectV2/index.mjs';
37
+ import '../../components/Switch/index.mjs';
38
+ import '../../components/TimePicker/index.mjs';
39
+ import '../../components/TimeSelect/index.mjs';
40
+ import '../../components/TreeSelect/index.mjs';
41
+ import '../../components/Upload/index.mjs';
42
+ import '../../components/Avatar/index.mjs';
43
+ import '../../components/AvatarGroup/index.mjs';
44
+ import '../../components/Badge/index.mjs';
45
+ import '../../components/Card/index.mjs';
46
+ import '../../components/Descriptions/index.mjs';
47
+ import '../../components/DescriptionsItem/index.mjs';
48
+ import '../../components/Empty/index.mjs';
49
+ import '../../components/Image/index.mjs';
50
+ import '../../components/ImageViewer/index.mjs';
51
+ import '../../components/Pagination/index.mjs';
52
+ import '../../components/Table/index.mjs';
53
+ import '../../components/TableColumn/index.mjs';
54
+ import '../../components/TableV2/index.mjs';
55
+ import '../../components/Tag/index.mjs';
56
+ import '../../components/Breadcrumb/index.mjs';
57
+ import '../../components/BreadcrumbItem/index.mjs';
58
+ import '../../components/Drawer/index.mjs';
59
+ import '../../components/Popconfirm/index.mjs';
60
+ import '../../components/IconComponent/index.mjs';
61
+ import '../../components/Popover/index.mjs';
62
+ import '../../components/Result/index.mjs';
63
+ import '../../components/Progress/index.mjs';
64
+ import '../../components/Divider/index.mjs';
65
+ import '../../components/Dropdown/index.mjs';
66
+ import '../../components/DropdownMenu/index.mjs';
67
+ import '../../components/DropdownItem/index.mjs';
68
+ import '../../components/Menu/index.mjs';
69
+ import '../../components/SubMenu/index.mjs';
70
+ import '../../components/MenuItem/index.mjs';
71
+ import '../../components/RadioButton/index.mjs';
72
+ import '../../components/MenuItemGroup/index.mjs';
73
+ import '../../components/Collapse/index.mjs';
74
+ import '../../components/CollapseItem/index.mjs';
75
+ import '../../components/ContextMenu/index.mjs';
76
+ import '../../components/CodeEditor/index.mjs';
77
+ import '../../components/RichEditor/index.mjs';
78
+ import { Search } from '@funcho/icons-vue';
79
+ import { useElementSize } from '@vueuse/core';
80
+
81
+ const _sfc_main = /* @__PURE__ */ defineComponent({
82
+ ...{
83
+ name: "FcProTreeCheckFilter",
84
+ inheritAttrs: false
85
+ },
86
+ __name: "TreeCheckFilter",
87
+ props: {
88
+ border: { type: Boolean, default: true },
89
+ label: { default: "全选" },
90
+ data: { default: () => [] },
91
+ nodeKey: { default: "value" },
92
+ showCheckbox: { type: Boolean, default: true },
93
+ showSearch: { type: Boolean, default: true }
94
+ },
95
+ setup(__props, { expose: __expose }) {
96
+ const ns = useNamespace("pro-tree-check-filter");
97
+ const treeCheckFilterHeader = ref(null);
98
+ const { height: treeCheckFilterHeaderHeight } = useElementSize(treeCheckFilterHeader, void 0, {
99
+ box: "border-box"
100
+ });
101
+ const props = __props;
102
+ const checkAll = ref(false);
103
+ const indeterminate = ref(false);
104
+ const queryValue = ref("");
105
+ const treeRef = ref();
106
+ const handelSearch = () => {
107
+ treeRef.value?.filter(queryValue.value);
108
+ };
109
+ const filterNode = (value, data) => {
110
+ if (!value) return true;
111
+ return data.label.includes(value);
112
+ };
113
+ const handleCheckAllChange = () => {
114
+ if (checkAll.value) {
115
+ treeRef.value?.setCheckedNodes([]);
116
+ checkAll.value = false;
117
+ indeterminate.value = false;
118
+ } else {
119
+ const currentCheckedKeys = treeRef.value?.getCheckedKeys();
120
+ const nodesMap = treeRef.value?.store.nodesMap || {};
121
+ const visibleKeys = [];
122
+ Object.values(nodesMap).forEach((node) => {
123
+ if (node.level > 0 && node.visible && node.isLeaf && !node.disabled) {
124
+ visibleKeys.push(node.data[props.nodeKey]);
125
+ }
126
+ });
127
+ const finalKeys = Array.from(/* @__PURE__ */ new Set([...currentCheckedKeys, ...visibleKeys]));
128
+ treeRef.value?.setCheckedKeys(finalKeys);
129
+ checkAll.value = isAllAvailableChecked();
130
+ indeterminate.value = !checkAll.value && finalKeys.length > 0;
131
+ }
132
+ };
133
+ const handleTreeCheckChange = () => {
134
+ const currentCheckedKeys = treeRef.value?.getCheckedKeys();
135
+ checkAll.value = isAllAvailableChecked();
136
+ indeterminate.value = !checkAll.value && currentCheckedKeys.length > 0;
137
+ };
138
+ const isAllAvailableChecked = () => {
139
+ const nodesMap = treeRef.value?.store.nodesMap || {};
140
+ const availableNodes = Object.values(nodesMap).filter((node) => node.level > 0 && !node.disabled);
141
+ if (availableNodes.length === 0) return false;
142
+ return availableNodes.every((node) => node.checked);
143
+ };
144
+ __expose(
145
+ new Proxy(
146
+ {},
147
+ {
148
+ get(_, key) {
149
+ return treeRef.value?.[key];
150
+ },
151
+ has(_, key) {
152
+ return key in treeRef.value;
153
+ }
154
+ }
155
+ )
156
+ );
157
+ return (_ctx, _cache) => {
158
+ return openBlock(), createElementBlock("div", {
159
+ class: normalizeClass({ [unref(ns).b()]: true, [unref(ns).is("border")]: __props.border })
160
+ }, [
161
+ __props.showCheckbox || __props.showSearch ? (openBlock(), createElementBlock("div", {
162
+ key: 0,
163
+ ref_key: "treeCheckFilterHeader",
164
+ ref: treeCheckFilterHeader,
165
+ class: normalizeClass(unref(ns).e("header"))
166
+ }, [
167
+ __props.showCheckbox ? (openBlock(), createBlock(unref(FcCheckbox), {
168
+ key: 0,
169
+ "model-value": checkAll.value,
170
+ label: __props.label,
171
+ indeterminate: indeterminate.value,
172
+ onClick: handleCheckAllChange
173
+ }, null, 8, ["model-value", "label", "indeterminate"])) : createCommentVNode("", true),
174
+ __props.showSearch ? (openBlock(), createBlock(unref(FcInput), {
175
+ key: 1,
176
+ modelValue: queryValue.value,
177
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => queryValue.value = $event),
178
+ placeholder: "请输入关键词",
179
+ "prefix-icon": unref(Search),
180
+ onClear: handelSearch,
181
+ onKeyup: withKeys(handelSearch, ["enter"])
182
+ }, null, 8, ["modelValue", "prefix-icon"])) : createCommentVNode("", true)
183
+ ], 2)) : createCommentVNode("", true),
184
+ createElementVNode("div", {
185
+ class: normalizeClass(unref(ns).e("body")),
186
+ style: normalizeStyle({ height: `calc(100% - ${unref(treeCheckFilterHeaderHeight)}px)` })
187
+ }, [
188
+ createVNode(unref(FcScrollbar), { height: "100%" }, {
189
+ default: withCtx(() => [
190
+ createVNode(unref(FcTree), mergeProps(_ctx.$attrs, {
191
+ ref_key: "treeRef",
192
+ ref: treeRef,
193
+ "show-checkbox": "",
194
+ data: __props.data,
195
+ "filter-node-method": filterNode,
196
+ "node-key": __props.nodeKey,
197
+ onCheck: handleTreeCheckChange
198
+ }), null, 16, ["data", "node-key"])
199
+ ]),
200
+ _: 1
201
+ })
202
+ ], 6)
203
+ ], 2);
204
+ };
205
+ }
206
+ });
207
+
208
+ export { _sfc_main as default };
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './TreeCheckFilter.vue.mjs';
2
+ /* empty css */
3
+
4
+
5
+
6
+ export { _sfc_main as default };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from './TreeCheckFilter.vue.mjs';
2
+ /* empty css */
3
+ import { withInstall } from '../../_utils/with-install.mjs';
4
+
5
+ const FcProTreeCheckFilter = withInstall(_sfc_main);
6
+
7
+ export { FcProTreeCheckFilter, FcProTreeCheckFilter as default };
@@ -0,0 +1,190 @@
1
+ import { defineComponent, ref, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, createVNode, mergeProps, createBlock, createCommentVNode, withCtx } from 'vue';
2
+ import { useNamespace } from '../../hooks/use-namespace.mjs';
3
+ import _sfc_main$1 from '../TreeCheckFilter/TreeCheckFilter.vue.mjs';
4
+ /* empty css */
5
+ import '../../components/Button/index.mjs';
6
+ import '../../components/Dialog/index.mjs';
7
+ import '../../components/ConfigProvider/index.mjs';
8
+ import '../../components/Input/index.mjs';
9
+ import '../../components/Tree/index.mjs';
10
+ import '../../components/Tabs/index.mjs';
11
+ import '../../components/TabPane/index.mjs';
12
+ import '../../components/Steps/index.mjs';
13
+ import '../../components/Step/index.mjs';
14
+ import '../../components/InputNumber/index.mjs';
15
+ import '../../components/Select/index.mjs';
16
+ import '../../components/Option/index.mjs';
17
+ import '../../components/DatePicker/index.mjs';
18
+ import '../../components/DatePickerPanel/index.mjs';
19
+ import { FcTooltip } from '../../components/Tooltip/index.mjs';
20
+ import '../../components/Icon/index.mjs';
21
+ import { FcNotification } from '../../components/Notification/index.mjs';
22
+ import '../../components/Link/index.mjs';
23
+ import '../../components/Text/index.mjs';
24
+ import '../../components/Scrollbar/index.mjs';
25
+ import '../../components/Splitter/index.mjs';
26
+ import '../../components/SplitterPanel/index.mjs';
27
+ import '../../components/Autocomplete/index.mjs';
28
+ import '../../components/Cascader/index.mjs';
29
+ import '../../components/CascaderPanel/index.mjs';
30
+ import '../../components/Checkbox/index.mjs';
31
+ import '../../components/CheckboxGroup/index.mjs';
32
+ import '../../components/CheckboxButton/index.mjs';
33
+ import '../../components/Form/index.mjs';
34
+ import '../../components/FormItem/index.mjs';
35
+ import '../../components/InputTag/index.mjs';
36
+ import '../../components/Radio/index.mjs';
37
+ import '../../components/RadioGroup/index.mjs';
38
+ import '../../components/SelectV2/index.mjs';
39
+ import '../../components/Switch/index.mjs';
40
+ import '../../components/TimePicker/index.mjs';
41
+ import '../../components/TimeSelect/index.mjs';
42
+ import '../../components/TreeSelect/index.mjs';
43
+ import '../../components/Upload/index.mjs';
44
+ import '../../components/Avatar/index.mjs';
45
+ import '../../components/AvatarGroup/index.mjs';
46
+ import '../../components/Badge/index.mjs';
47
+ import '../../components/Card/index.mjs';
48
+ import '../../components/Descriptions/index.mjs';
49
+ import '../../components/DescriptionsItem/index.mjs';
50
+ import '../../components/Empty/index.mjs';
51
+ import '../../components/Image/index.mjs';
52
+ import '../../components/ImageViewer/index.mjs';
53
+ import '../../components/Pagination/index.mjs';
54
+ import '../../components/Table/index.mjs';
55
+ import '../../components/TableColumn/index.mjs';
56
+ import '../../components/TableV2/index.mjs';
57
+ import '../../components/Tag/index.mjs';
58
+ import '../../components/Breadcrumb/index.mjs';
59
+ import '../../components/BreadcrumbItem/index.mjs';
60
+ import '../../components/Drawer/index.mjs';
61
+ import '../../components/Popconfirm/index.mjs';
62
+ import { FcIconComponent } from '../../components/IconComponent/index.mjs';
63
+ import '../../components/Popover/index.mjs';
64
+ import '../../components/Result/index.mjs';
65
+ import '../../components/Progress/index.mjs';
66
+ import '../../components/Divider/index.mjs';
67
+ import '../../components/Dropdown/index.mjs';
68
+ import '../../components/DropdownMenu/index.mjs';
69
+ import '../../components/DropdownItem/index.mjs';
70
+ import '../../components/Menu/index.mjs';
71
+ import '../../components/SubMenu/index.mjs';
72
+ import '../../components/MenuItem/index.mjs';
73
+ import '../../components/RadioButton/index.mjs';
74
+ import '../../components/MenuItemGroup/index.mjs';
75
+ import '../../components/Collapse/index.mjs';
76
+ import '../../components/CollapseItem/index.mjs';
77
+ import '../../components/ContextMenu/index.mjs';
78
+ import '../../components/CodeEditor/index.mjs';
79
+ import '../../components/RichEditor/index.mjs';
80
+
81
+ const _sfc_main = /* @__PURE__ */ defineComponent({
82
+ ...{
83
+ name: "FcProTreeTransfer",
84
+ inheritAttrs: false
85
+ },
86
+ __name: "TreeTransfer",
87
+ props: {
88
+ leftProps: { default: () => ({}) },
89
+ rightProps: { default: () => ({}) }
90
+ },
91
+ emits: ["add", "remove"],
92
+ setup(__props, { emit: __emit }) {
93
+ const ns = useNamespace("pro-tree-transfer");
94
+ const leftTreeRef = ref();
95
+ const rightTreeRef = ref();
96
+ const emits = __emit;
97
+ const handleAddClick = () => {
98
+ const keys = leftTreeRef.value?.getCheckedKeys(false) || [];
99
+ if (keys.length === 0) {
100
+ FcNotification({
101
+ type: "warning",
102
+ message: "请选择左侧内容"
103
+ });
104
+ return;
105
+ }
106
+ const nodes = leftTreeRef.value?.getCheckedNodes(false, false) || [];
107
+ emits("add", leftTreeRef.value, nodes, keys);
108
+ };
109
+ const handleRemoveClick = () => {
110
+ const keys = rightTreeRef.value?.getCheckedKeys(false) || [];
111
+ if (keys.length === 0) {
112
+ FcNotification({
113
+ type: "warning",
114
+ message: "请选择右侧内容"
115
+ });
116
+ return;
117
+ }
118
+ const nodes = rightTreeRef.value?.getCheckedNodes(false, false) || [];
119
+ emits("remove", rightTreeRef.value, nodes, keys);
120
+ };
121
+ return (_ctx, _cache) => {
122
+ return openBlock(), createElementBlock("div", {
123
+ class: normalizeClass(unref(ns).b())
124
+ }, [
125
+ createElementVNode("div", {
126
+ class: normalizeClass(unref(ns).e("left"))
127
+ }, [
128
+ createVNode(_sfc_main$1, mergeProps({
129
+ ref_key: "leftTreeRef",
130
+ ref: leftTreeRef
131
+ }, __props.leftProps), null, 16)
132
+ ], 2),
133
+ createElementVNode("div", {
134
+ class: normalizeClass(unref(ns).e("center"))
135
+ }, [
136
+ !__props.leftProps.hiddenBtn ? (openBlock(), createBlock(unref(FcTooltip), {
137
+ key: 0,
138
+ content: __props.leftProps.tooltip || "新增",
139
+ placement: "top",
140
+ "fallback-placements": ["top", "bottom", "left", "right"]
141
+ }, {
142
+ default: withCtx(() => [
143
+ createElementVNode("div", {
144
+ class: normalizeClass(unref(ns).e("right")),
145
+ onClick: handleAddClick
146
+ }, [
147
+ createVNode(unref(FcIconComponent), {
148
+ name: "FcRightArrow",
149
+ size: "32",
150
+ color: "#165dff"
151
+ })
152
+ ], 2)
153
+ ]),
154
+ _: 1
155
+ }, 8, ["content"])) : createCommentVNode("", true),
156
+ !__props.rightProps.hiddenBtn ? (openBlock(), createBlock(unref(FcTooltip), {
157
+ key: 1,
158
+ content: __props.rightProps.tooltip || "删除",
159
+ placement: "top",
160
+ "fallback-placements": ["top", "bottom", "left", "right"]
161
+ }, {
162
+ default: withCtx(() => [
163
+ createElementVNode("div", {
164
+ class: normalizeClass(unref(ns).e("left")),
165
+ onClick: handleRemoveClick
166
+ }, [
167
+ createVNode(unref(FcIconComponent), {
168
+ name: "FcLeftArrow",
169
+ size: "32",
170
+ color: "#ff3232"
171
+ })
172
+ ], 2)
173
+ ]),
174
+ _: 1
175
+ }, 8, ["content"])) : createCommentVNode("", true)
176
+ ], 2),
177
+ createElementVNode("div", {
178
+ class: normalizeClass(unref(ns).e("right"))
179
+ }, [
180
+ createVNode(_sfc_main$1, mergeProps({
181
+ ref_key: "rightTreeRef",
182
+ ref: rightTreeRef
183
+ }, __props.rightProps), null, 16)
184
+ ], 2)
185
+ ], 2);
186
+ };
187
+ }
188
+ });
189
+
190
+ export { _sfc_main as default };
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './TreeTransfer.vue.mjs';
2
+ /* empty css */
3
+
4
+
5
+
6
+ export { _sfc_main as default };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from './TreeTransfer.vue.mjs';
2
+ /* empty css */
3
+ import { withInstall } from '../../_utils/with-install.mjs';
4
+
5
+ const FcProTreeTransfer = withInstall(_sfc_main);
6
+
7
+ export { FcProTreeTransfer, FcProTreeTransfer as default };
@@ -1,3 +1,5 @@
1
1
  export { FcProSidebarMainLayout } from './SidebarMainLayout/index.mjs';
2
2
  export { FcProDataTable } from './DataTable/index.mjs';
3
3
  export { FcProForm } from './ProForm/index.mjs';
4
+ export { FcProTreeCheckFilter } from './TreeCheckFilter/index.mjs';
5
+ export { FcProTreeTransfer } from './TreeTransfer/index.mjs';
@@ -87,6 +87,8 @@ export { FcRichEditor, FcRichEditorInput } from './components/RichEditor/index.m
87
87
  export { FcProSidebarMainLayout } from './business/SidebarMainLayout/index.mjs';
88
88
  export { FcProDataTable } from './business/DataTable/index.mjs';
89
89
  export { FcProForm } from './business/ProForm/index.mjs';
90
+ export { FcProTreeCheckFilter } from './business/TreeCheckFilter/index.mjs';
91
+ export { FcProTreeTransfer } from './business/TreeTransfer/index.mjs';
90
92
 
91
93
  const components = Object.keys(index$1).map((key) => {
92
94
  return index$1[key];
@@ -1,3 +1,3 @@
1
- const version = "1.1.8";
1
+ const version = "1.1.10";
2
2
 
3
3
  export { version };
package/dist/style.css CHANGED
@@ -17107,7 +17107,7 @@ to {
17107
17107
  .fc-mkui-data-table .fc-mkui-data-table__query-form {
17108
17108
  flex: 1;
17109
17109
  display: grid;
17110
- grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
17110
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
17111
17111
  gap: 8px 24px;
17112
17112
  }
17113
17113
  .fc-mkui-data-table .fc-mkui-data-table__query-form .fc-ui-form-item {
@@ -17136,4 +17136,65 @@ to {
17136
17136
  }
17137
17137
  .fc-mkui-data-table__actions .fc-ui-button {
17138
17138
  margin: 0;
17139
+ }.fc-mkui-pro-tree-check-filter {
17140
+ height: 100%;
17141
+ }
17142
+ .fc-mkui-pro-tree-check-filter.is-border {
17143
+ border: 1px solid #c5d6ff;
17144
+ border-radius: 2px;
17145
+ }
17146
+ .fc-mkui-pro-tree-check-filter__header {
17147
+ display: flex;
17148
+ align-items: center;
17149
+ gap: 30%;
17150
+ padding: 10px;
17151
+ border-bottom: 1px solid #c5d6ff;
17152
+ }.fc-mkui-pro-tree-transfer {
17153
+ display: flex;
17154
+ width: 100%;
17155
+ height: 100%;
17156
+ }
17157
+ .fc-mkui-pro-tree-transfer__left {
17158
+ flex: 1;
17159
+ }
17160
+ .fc-mkui-pro-tree-transfer__left .fc-mkui-pro-tree-check-filter.is-border {
17161
+ border-top-right-radius: 0;
17162
+ border-bottom-right-radius: 0;
17163
+ }
17164
+ .fc-mkui-pro-tree-transfer__right {
17165
+ flex: 1;
17166
+ }
17167
+ .fc-mkui-pro-tree-transfer__right .fc-mkui-pro-tree-check-filter.is-border {
17168
+ border-top-left-radius: 0;
17169
+ border-bottom-left-radius: 0;
17170
+ }
17171
+ .fc-mkui-pro-tree-transfer__center {
17172
+ display: flex;
17173
+ flex-direction: column;
17174
+ width: 52px;
17175
+ flex-shrink: 0;
17176
+ border-top: 1px solid #c5d6ff;
17177
+ border-bottom: 1px solid #c5d6ff;
17178
+ }
17179
+ .fc-mkui-pro-tree-transfer__center .fc-mkui-pro-tree-transfer__right {
17180
+ flex: 1;
17181
+ display: flex;
17182
+ align-items: center;
17183
+ justify-content: center;
17184
+ transition: all 0.3s;
17185
+ }
17186
+ .fc-mkui-pro-tree-transfer__center .fc-mkui-pro-tree-transfer__right:hover {
17187
+ background: #f5f7fa;
17188
+ cursor: pointer;
17189
+ }
17190
+ .fc-mkui-pro-tree-transfer__center .fc-mkui-pro-tree-transfer__left {
17191
+ flex: 1;
17192
+ display: flex;
17193
+ align-items: center;
17194
+ justify-content: center;
17195
+ transition: all 0.3s;
17196
+ }
17197
+ .fc-mkui-pro-tree-transfer__center .fc-mkui-pro-tree-transfer__left:hover {
17198
+ background: #f5f7fa;
17199
+ cursor: pointer;
17139
17200
  }