@funcho/ui 1.1.21 → 1.1.22

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.
@@ -1,6 +1,6 @@
1
- import { defineComponent, ref, computed, onMounted, resolveDirective, createElementBlock, openBlock, normalizeClass, unref, createCommentVNode, withDirectives, normalizeStyle, createVNode, createElementVNode, createBlock, withCtx, createTextVNode, toDisplayString, mergeProps, Fragment, renderList, createSlots, resolveDynamicComponent, h } from 'vue';
1
+ import { defineComponent, ref, computed, onMounted, resolveDirective, createElementBlock, openBlock, normalizeClass, unref, createVNode, withDirectives, createCommentVNode, withCtx, renderSlot, createBlock, mergeProps, Fragment, renderList, createSlots, resolveDynamicComponent, h } from 'vue';
2
2
  import { useNamespace } from '../../hooks/use-namespace.mjs';
3
- import { FcButton, FcDangerButton, FcLinkButton } from '../../components/Button/index.mjs';
3
+ import { FcDangerButton, FcLinkButton } from '../../components/Button/index.mjs';
4
4
  import '../../components/Dialog/index.mjs';
5
5
  import '../../components/ConfigProvider/index.mjs';
6
6
  import '../../components/Input/index.mjs';
@@ -57,7 +57,7 @@ import '../../components/Breadcrumb/index.mjs';
57
57
  import '../../components/BreadcrumbItem/index.mjs';
58
58
  import '../../components/Drawer/index.mjs';
59
59
  import '../../components/Popconfirm/index.mjs';
60
- import { FcIconComponent } from '../../components/IconComponent/index.mjs';
60
+ import '../../components/IconComponent/index.mjs';
61
61
  import '../../components/Popover/index.mjs';
62
62
  import '../../components/Result/index.mjs';
63
63
  import '../../components/Progress/index.mjs';
@@ -77,10 +77,10 @@ import '../../components/CodeEditor/index.mjs';
77
77
  import '../../components/RichEditor/index.mjs';
78
78
  import '../../components/LovText/index.mjs';
79
79
  import '../../components/DotStatus/index.mjs';
80
- import _sfc_main$1 from '../ProForm/ProForm.vue.mjs';
81
- /* empty css */
82
80
  import { useElementSize } from '@vueuse/core';
83
81
  import _sfc_main$2 from '../../components/VNodeRenderer/index.vue.mjs';
82
+ import _sfc_main$1 from '../QueryForm/QueryForm.vue.mjs';
83
+ /* empty css */
84
84
 
85
85
  const _sfc_main = /* @__PURE__ */ defineComponent({
86
86
  ...{
@@ -101,12 +101,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
101
  },
102
102
  setup(__props, { expose: __expose }) {
103
103
  const ns = useNamespace("data-table");
104
- const formRef = ref();
105
- const { height: formHeight } = useElementSize(formRef);
106
- const hasMoreContent = computed(() => {
107
- return formHeight.value > 28;
108
- });
109
- const isExpanded = ref(false);
110
104
  const props = __props;
111
105
  const renderActions = (actions, row, index) => {
112
106
  return h(
@@ -138,31 +132,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
138
132
  ]
139
133
  );
140
134
  };
141
- const renderTools = (tools) => {
142
- return tools.filter((tool) => {
143
- return typeof tool.hidden === "function" ? !tool.hidden() : !tool.hidden;
144
- }).map((tool) => {
145
- const vnode = h(
146
- FcButton,
147
- {
148
- type: tool.type || "primary",
149
- disabled: typeof tool.disabled === "function" ? tool.disabled() : tool.disabled,
150
- onClick: () => tool.onClick(null, 0)
151
- },
152
- { default: () => tool.label }
153
- );
154
- const dirs = (tool.directives || []).map((dir) => {
155
- const directiveInstance = resolveDirective(dir.name);
156
- if (!directiveInstance) return null;
157
- return [directiveInstance, dir.value, dir.arg, dir.modifiers];
158
- }).filter(Boolean);
159
- return dirs.length > 0 ? withDirectives(vnode, dirs) : vnode;
160
- });
161
- };
162
- const queryBoxRef = ref(null);
163
- const { height: queryBoxHeight } = useElementSize(queryBoxRef, void 0, {
164
- box: "border-box"
165
- });
135
+ const queryBoxRef = ref();
136
+ const queryBoxHeight = ref(0);
166
137
  const paginationBoxRef = ref(null);
167
138
  const { height: paginationBoxHeight } = useElementSize(paginationBoxRef, void 0, {
168
139
  box: "border-box"
@@ -172,30 +143,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
172
143
  const maxTableHeight = computed(() => {
173
144
  return (props.height || containerHeight.value) - ((queryBoxHeight.value > 0 ? queryBoxHeight.value + 8 : 0) + paginationBoxHeight.value);
174
145
  });
175
- const searchFormFields = computed(() => {
176
- return props.fields.map((field) => {
177
- const { type, attrs = {} } = field;
178
- if (!type || type === "" || type.includes("Input")) {
179
- attrs.onClear = handleSearchClick;
180
- attrs.onKeyup = (event) => {
181
- if (event.key === "Enter") {
182
- handleSearchClick();
183
- }
184
- };
185
- }
186
- if (type?.includes("Select") || type?.includes("Cascader") || type?.includes("DatePicker")) {
187
- attrs.onClear = handleSearchClick;
188
- attrs.onChange = handleSearchClick;
189
- }
190
- if (type?.includes("Radio") || type?.includes("Checkbox")) {
191
- attrs.onChange = handleSearchClick;
192
- }
193
- return {
194
- ...field,
195
- attrs
196
- };
197
- });
198
- });
199
146
  const pagination = ref({
200
147
  currentPage: 1,
201
148
  pageSize: 20,
@@ -211,7 +158,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
211
158
  if (tableLoading.value) {
212
159
  return;
213
160
  }
214
- const params = formRef.value?.model || {};
161
+ const params = queryBoxRef.value?.model || {};
215
162
  try {
216
163
  tableLoading.value = true;
217
164
  const { data } = await props.request(
@@ -230,7 +177,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
230
177
  loadData();
231
178
  });
232
179
  const handleResetClick = () => {
233
- formRef.value?.resetFields();
234
180
  pagination.value.currentPage = 1;
235
181
  loadData();
236
182
  };
@@ -254,65 +200,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
254
200
  ref: containerRef,
255
201
  class: normalizeClass(unref(ns).b())
256
202
  }, [
257
- __props.fields && __props.fields.length > 0 ? (openBlock(), createElementBlock("div", {
258
- key: 0,
203
+ createVNode(_sfc_main$1, {
259
204
  ref_key: "queryBoxRef",
260
205
  ref: queryBoxRef,
261
- class: normalizeClass({ [unref(ns).e("query-box")]: true, [unref(ns).is("expanded")]: isExpanded.value }),
262
- style: normalizeStyle({ "--query-box-max-height": unref(formHeight) + 16 + "px" })
263
- }, [
264
- createVNode(_sfc_main$1, {
265
- ref_key: "formRef",
266
- ref: formRef,
267
- inline: "",
268
- fields: searchFormFields.value,
269
- class: normalizeClass(unref(ns).e("query-form")),
270
- "label-position": "right",
271
- "label-width": hasMoreContent.value && isExpanded.value ? "auto" : "fit-content"
272
- }, null, 8, ["fields", "class", "label-width"]),
273
- createElementVNode("div", {
274
- class: normalizeClass(unref(ns).e("tools"))
275
- }, [
276
- hasMoreContent.value ? (openBlock(), createBlock(unref(FcButton), {
277
- key: 0,
278
- link: "",
279
- type: "primary",
280
- onClick: _cache[0] || (_cache[0] = ($event) => isExpanded.value = !isExpanded.value)
281
- }, {
282
- default: withCtx(() => [
283
- createTextVNode(toDisplayString(isExpanded.value ? "收起" : "展开"), 1),
284
- createVNode(unref(FcIconComponent), {
285
- name: isExpanded.value ? "ArrowUp" : "ArrowDown",
286
- size: 14
287
- }, null, 8, ["name"])
288
- ]),
289
- _: 1
290
- })) : createCommentVNode("", true),
291
- __props.fields && __props.fields.length > 2 ? (openBlock(), createBlock(unref(FcButton), {
292
- key: 1,
293
- disabled: tableLoading.value,
294
- onClick: handleResetClick
295
- }, {
296
- default: withCtx(() => [..._cache[3] || (_cache[3] = [
297
- createTextVNode(" 重置 ", -1)
298
- ])]),
299
- _: 1
300
- }, 8, ["disabled"])) : createCommentVNode("", true),
301
- createVNode(unref(FcButton), {
302
- type: "primary",
303
- disabled: tableLoading.value,
304
- onClick: handleSearchClick
305
- }, {
306
- default: withCtx(() => [..._cache[4] || (_cache[4] = [
307
- createTextVNode("查询", -1)
308
- ])]),
309
- _: 1
310
- }, 8, ["disabled"]),
311
- createVNode(_sfc_main$2, {
312
- content: () => renderTools(__props.tools)
313
- }, null, 8, ["content"])
314
- ], 2)
315
- ], 6)) : createCommentVNode("", true),
206
+ fields: __props.fields,
207
+ tools: __props.actions,
208
+ "btn-disabled": tableLoading.value,
209
+ onSearch: handleSearchClick,
210
+ onReset: handleResetClick,
211
+ onResize: _cache[0] || (_cache[0] = (e) => queryBoxHeight.value = e.height)
212
+ }, {
213
+ default: withCtx(() => [
214
+ !_ctx.$slots.tools ? renderSlot(_ctx.$slots, "tools", { key: 0 }) : createCommentVNode("", true)
215
+ ]),
216
+ _: 3
217
+ }, 8, ["fields", "tools", "btn-disabled"]),
316
218
  withDirectives((openBlock(), createBlock(unref(FcTable), mergeProps(_ctx.$attrs, {
317
219
  data: tableData.value,
318
220
  border: "",
@@ -364,7 +266,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
364
266
  [_directive_loading, tableLoading.value]
365
267
  ]),
366
268
  __props.isPagination ? (openBlock(), createElementBlock("div", {
367
- key: 1,
269
+ key: 0,
368
270
  ref_key: "paginationBoxRef",
369
271
  ref: paginationBoxRef,
370
272
  class: normalizeClass(unref(ns).e("pagination-box"))
@@ -0,0 +1,244 @@
1
+ import { defineComponent, ref, watch, computed, createElementBlock, createCommentVNode, openBlock, normalizeStyle, normalizeClass, unref, createVNode, createElementVNode, createBlock, renderSlot, withCtx, createTextVNode, toDisplayString, h, resolveDirective, withDirectives } from 'vue';
2
+ import { useNamespace } from '../../hooks/use-namespace.mjs';
3
+ import { FcButton } from '../../components/Button/index.mjs';
4
+ import '../../components/Dialog/index.mjs';
5
+ import '../../components/ConfigProvider/index.mjs';
6
+ import '../../components/Input/index.mjs';
7
+ import '../../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 '../../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 '../../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 { FcIconComponent } from '../../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 '../../components/LovText/index.mjs';
79
+ import '../../components/DotStatus/index.mjs';
80
+ import _sfc_main$1 from '../ProForm/ProForm.vue.mjs';
81
+ /* empty css */
82
+ import { useElementSize } from '@vueuse/core';
83
+ import _sfc_main$2 from '../../components/VNodeRenderer/index.vue.mjs';
84
+
85
+ const _sfc_main = /* @__PURE__ */ defineComponent({
86
+ ...{
87
+ name: "FcProQueryForm",
88
+ inheritAttrs: false
89
+ },
90
+ __name: "QueryForm",
91
+ props: {
92
+ fields: { default: () => [] },
93
+ tools: { default: () => [] },
94
+ btnDisabled: { type: Boolean, default: false }
95
+ },
96
+ emits: ["search", "reset", "resize"],
97
+ setup(__props, { expose: __expose, emit: __emit }) {
98
+ const ns = useNamespace("query-form");
99
+ const queryBoxRef = ref();
100
+ const { height: queryBoxHeight } = useElementSize(queryBoxRef, void 0, {
101
+ box: "border-box"
102
+ });
103
+ const emits = __emit;
104
+ watch(queryBoxHeight, (newHeight) => {
105
+ emits("resize", { height: newHeight });
106
+ });
107
+ const formRef = ref();
108
+ const { height: formHeight } = useElementSize(formRef);
109
+ const hasMoreContent = computed(() => {
110
+ return formHeight.value > 28;
111
+ });
112
+ const isExpanded = ref(false);
113
+ const props = __props;
114
+ const renderTools = (tools) => {
115
+ return tools.filter((tool) => {
116
+ return typeof tool.hidden === "function" ? !tool.hidden() : !tool.hidden;
117
+ }).map((tool) => {
118
+ const vnode = h(
119
+ FcButton,
120
+ {
121
+ type: tool.type || "primary",
122
+ disabled: typeof tool.disabled === "function" ? tool.disabled() : tool.disabled,
123
+ onClick: () => tool.onClick(null, 0)
124
+ },
125
+ { default: () => tool.label }
126
+ );
127
+ const dirs = (tool.directives || []).map((dir) => {
128
+ const directiveInstance = resolveDirective(dir.name);
129
+ if (!directiveInstance) return null;
130
+ return [directiveInstance, dir.value, dir.arg, dir.modifiers];
131
+ }).filter(Boolean);
132
+ return dirs.length > 0 ? withDirectives(vnode, dirs) : vnode;
133
+ });
134
+ };
135
+ const searchFormFields = computed(() => {
136
+ return props.fields.map((field) => {
137
+ const { type, attrs = {} } = field;
138
+ if (!type || type === "" || type.includes("Input")) {
139
+ attrs.onClear = handleSearchClick;
140
+ attrs.onKeyup = (event) => {
141
+ if (event.key === "Enter") {
142
+ handleSearchClick();
143
+ }
144
+ };
145
+ }
146
+ if (type?.includes("Select") || type?.includes("Cascader") || type?.includes("DatePicker")) {
147
+ attrs.onClear = handleSearchClick;
148
+ attrs.onChange = handleSearchClick;
149
+ }
150
+ if (type?.includes("Radio") || type?.includes("Checkbox")) {
151
+ attrs.onChange = handleSearchClick;
152
+ }
153
+ return {
154
+ ...field,
155
+ attrs
156
+ };
157
+ });
158
+ });
159
+ const handleResetClick = () => {
160
+ formRef.value?.resetFields();
161
+ emits("reset", formRef.value?.model || {});
162
+ };
163
+ const handleSearchClick = () => {
164
+ emits("search", formRef.value?.model || {});
165
+ };
166
+ __expose(
167
+ new Proxy(
168
+ {},
169
+ {
170
+ get(_, key) {
171
+ return formRef.value?.[key];
172
+ },
173
+ has(_, key) {
174
+ return key in formRef.value;
175
+ }
176
+ }
177
+ )
178
+ );
179
+ return (_ctx, _cache) => {
180
+ return __props.fields && __props.fields.length > 0 ? (openBlock(), createElementBlock("div", {
181
+ key: 0,
182
+ ref_key: "queryBoxRef",
183
+ ref: queryBoxRef,
184
+ class: normalizeClass({ [unref(ns).e("query-box")]: true, [unref(ns).is("expanded")]: isExpanded.value }),
185
+ style: normalizeStyle({ "--query-box-max-height": unref(formHeight) + 16 + "px" })
186
+ }, [
187
+ createVNode(_sfc_main$1, {
188
+ ref_key: "formRef",
189
+ ref: formRef,
190
+ inline: "",
191
+ fields: searchFormFields.value,
192
+ class: normalizeClass(unref(ns).e("query-form")),
193
+ "label-position": "right",
194
+ "label-width": hasMoreContent.value && isExpanded.value ? "auto" : "fit-content"
195
+ }, null, 8, ["fields", "class", "label-width"]),
196
+ createElementVNode("div", {
197
+ class: normalizeClass(unref(ns).e("tools"))
198
+ }, [
199
+ hasMoreContent.value ? (openBlock(), createBlock(unref(FcButton), {
200
+ key: 0,
201
+ link: "",
202
+ type: "primary",
203
+ onClick: _cache[0] || (_cache[0] = ($event) => isExpanded.value = !isExpanded.value)
204
+ }, {
205
+ default: withCtx(() => [
206
+ createTextVNode(toDisplayString(isExpanded.value ? "收起" : "展开"), 1),
207
+ createVNode(unref(FcIconComponent), {
208
+ name: isExpanded.value ? "ArrowUp" : "ArrowDown",
209
+ size: 14
210
+ }, null, 8, ["name"])
211
+ ]),
212
+ _: 1
213
+ })) : createCommentVNode("", true),
214
+ __props.fields && __props.fields.length > 2 ? (openBlock(), createBlock(unref(FcButton), {
215
+ key: 1,
216
+ disabled: __props.btnDisabled,
217
+ onClick: handleResetClick
218
+ }, {
219
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
220
+ createTextVNode(" 重置 ", -1)
221
+ ])]),
222
+ _: 1
223
+ }, 8, ["disabled"])) : createCommentVNode("", true),
224
+ createVNode(unref(FcButton), {
225
+ type: "primary",
226
+ disabled: __props.btnDisabled,
227
+ onClick: handleSearchClick
228
+ }, {
229
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [
230
+ createTextVNode("查询", -1)
231
+ ])]),
232
+ _: 1
233
+ }, 8, ["disabled"]),
234
+ createVNode(_sfc_main$2, {
235
+ content: () => renderTools(__props.tools)
236
+ }, null, 8, ["content"]),
237
+ renderSlot(_ctx.$slots, "tools")
238
+ ], 2)
239
+ ], 6)) : createCommentVNode("", true);
240
+ };
241
+ }
242
+ });
243
+
244
+ export { _sfc_main as default };
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './QueryForm.vue.mjs';
2
+ /* empty css */
3
+
4
+
5
+
6
+ export { _sfc_main as default };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from './QueryForm.vue.mjs';
2
+ /* empty css */
3
+ import { withInstall } from '../../_utils/with-install.mjs';
4
+
5
+ const FcProQueryForm = withInstall(_sfc_main);
6
+
7
+ export { FcProQueryForm, FcProQueryForm as default };
@@ -5,3 +5,4 @@ export { FcProTreeCheckFilter } from './TreeCheckFilter/index.mjs';
5
5
  export { FcProTreeTransfer } from './TreeTransfer/index.mjs';
6
6
  export { FcProEditFormCard } from './EditFormCard/index.mjs';
7
7
  export { FcProFormDialog } from './FormDialog/index.mjs';
8
+ export { FcProQueryForm } from './QueryForm/index.mjs';
@@ -1,6 +1,7 @@
1
- import { defineComponent, ref, createBlock, openBlock, unref, withCtx, createVNode, createElementBlock, Fragment, renderList, mergeProps, createTextVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, ref, createBlock, openBlock, unref, normalizeClass, withCtx, createVNode, createElementBlock, Fragment, renderList, mergeProps, createTextVNode, toDisplayString } from 'vue';
2
2
  import { ElDropdown, ElDropdownMenu, ElDropdownItem } from '../../node_modules/.pnpm/element-plus@2.13.5_patch_hash_415fe9eaeb4c26121ef1304c7dfbfaa75441fcd0d7ca1a8beb1acd12_87ac520f28bb40f5a8b03aa48269c150/node_modules/element-plus/es/components/dropdown/index.mjs';
3
3
  import '../../_virtual/dayjs.min.mjs';
4
+ import { useNamespace } from '../../hooks/use-namespace.mjs';
4
5
 
5
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
7
  ...{
@@ -12,6 +13,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
13
  },
13
14
  emits: ["command"],
14
15
  setup(__props, { expose: __expose, emit: __emit }) {
16
+ const ns = useNamespace("context-menu");
15
17
  const props = __props;
16
18
  const position = ref({
17
19
  top: 0,
@@ -58,6 +60,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
60
  ref: elRef,
59
61
  "virtual-ref": triggerRef.value,
60
62
  "show-arrow": false,
63
+ class: normalizeClass(unref(ns).b()),
61
64
  "popper-options": {
62
65
  modifiers: [{ name: "offset", options: { offset: [0, 0] } }]
63
66
  },
@@ -85,7 +88,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
85
88
  })
86
89
  ]),
87
90
  _: 1
88
- }, 8, ["virtual-ref"]);
91
+ }, 8, ["virtual-ref", "class"]);
89
92
  };
90
93
  }
91
94
  });
@@ -93,6 +93,7 @@ export { FcProTreeCheckFilter } from './business/TreeCheckFilter/index.mjs';
93
93
  export { FcProTreeTransfer } from './business/TreeTransfer/index.mjs';
94
94
  export { FcProEditFormCard } from './business/EditFormCard/index.mjs';
95
95
  export { FcProFormDialog } from './business/FormDialog/index.mjs';
96
+ export { FcProQueryForm } from './business/QueryForm/index.mjs';
96
97
 
97
98
  const components = Object.keys(index$1).map((key) => {
98
99
  return index$1[key];
@@ -1,3 +1,3 @@
1
- const version = "1.1.21";
1
+ const version = "1.1.22";
2
2
 
3
3
  export { version };
package/dist/style.css CHANGED
@@ -16863,6 +16863,10 @@ to {
16863
16863
  }
16864
16864
  .fc-mkui-dropdown__arrow.is-active {
16865
16865
  transform: rotateZ(180deg);
16866
+ }.fc-mkui-context-menu {
16867
+ display: block;
16868
+ height: 0;
16869
+ width: 0;
16866
16870
  }.fc-mkui-ace-editor {
16867
16871
  height: 100%;
16868
16872
  width: 100%;
@@ -17086,62 +17090,67 @@ to {
17086
17090
  .fc-mkui-pro-form__container .fc-mkui-pro-form__label-with-tooltip .fc-ui-icon {
17087
17091
  color: #7a7a7a;
17088
17092
  cursor: pointer;
17089
- }.fc-mkui-data-table {
17090
- height: 100%;
17091
- }
17092
- .fc-mkui-data-table .fc-ui-table {
17093
- border-radius: 2px;
17094
- }
17095
- .fc-mkui-data-table .fc-ui-table__inner-wrapper .fc-ui-table__cell {
17096
- border-right: none;
17097
- }
17098
- .fc-mkui-data-table .fc-ui-table__inner-wrapper::before {
17099
- background-color: #c5d6ff;
17100
- }
17101
- .fc-mkui-data-table .fc-ui-table__inner-wrapper::after {
17102
- background-color: #c5d6ff;
17103
- }
17104
- .fc-mkui-data-table .fc-ui-table--border::after {
17105
- background-color: #c5d6ff;
17106
- }
17107
- .fc-mkui-data-table .fc-ui-table__border-left-patch {
17108
- background-color: #c5d6ff;
17109
- }
17110
- .fc-mkui-data-table__query-box {
17093
+ }.fc-mkui-query-form__query-box {
17111
17094
  display: flex;
17112
17095
  justify-content: space-between;
17113
17096
  align-items: flex-start;
17114
17097
  background-color: #e8efff;
17115
17098
  border-radius: 2px;
17116
17099
  margin-bottom: 8px;
17117
- padding: 8px 16px;
17100
+ padding: 8px;
17118
17101
  max-height: 44px;
17119
17102
  overflow: hidden;
17120
17103
  transition: max-height 0.4s cubic-bezier(0.23, 1, 0.32, 1);
17121
17104
  }
17122
- .fc-mkui-data-table__query-box.is-expanded {
17105
+ .fc-mkui-query-form__query-box.is-expanded {
17123
17106
  max-height: var(--query-box-max-height);
17124
17107
  }
17125
- .fc-mkui-data-table .fc-mkui-data-table__query-form {
17108
+ .fc-mkui-query-form__query-form {
17126
17109
  flex: 1;
17127
17110
  display: grid;
17128
17111
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
17129
17112
  gap: 8px 24px;
17130
17113
  }
17131
- .fc-mkui-data-table .fc-mkui-data-table__query-form .fc-ui-form-item {
17114
+ .fc-mkui-query-form__query-form .fc-ui-form-item {
17132
17115
  margin: 0;
17133
17116
  }
17134
- .fc-mkui-data-table .fc-mkui-data-table__query-form .fc-ui-form-item .fc-ui-cascader .fc-ui-cascader__tags {
17117
+ .fc-mkui-query-form__query-form .fc-ui-form-item .fc-ui-cascader .fc-ui-cascader__tags {
17135
17118
  display: inline-flex;
17136
17119
  flex-wrap: nowrap;
17137
17120
  }
17138
- .fc-mkui-data-table .fc-mkui-data-table__query-form .fc-ui-form-item .fc-ui-cascader .fc-ui-cascader__tags .fc-ui-tag {
17121
+ .fc-mkui-query-form__query-form .fc-ui-form-item .fc-ui-cascader .fc-ui-cascader__tags .fc-ui-tag {
17139
17122
  max-width: calc(100% - 109px);
17140
17123
  }
17141
- .fc-mkui-data-table__tools {
17124
+ .fc-mkui-query-form__tools {
17142
17125
  margin-top: auto;
17143
17126
  flex-shrink: 0;
17144
17127
  padding-left: 20px;
17128
+ display: flex;
17129
+ align-items: center;
17130
+ gap: 10px;
17131
+ }
17132
+ .fc-mkui-query-form__tools .fc-ui-button {
17133
+ margin: 0;
17134
+ }.fc-mkui-data-table {
17135
+ height: 100%;
17136
+ }
17137
+ .fc-mkui-data-table .fc-ui-table {
17138
+ border-radius: 2px;
17139
+ }
17140
+ .fc-mkui-data-table .fc-ui-table__inner-wrapper .fc-ui-table__cell {
17141
+ border-right: none;
17142
+ }
17143
+ .fc-mkui-data-table .fc-ui-table__inner-wrapper::before {
17144
+ background-color: #c5d6ff;
17145
+ }
17146
+ .fc-mkui-data-table .fc-ui-table__inner-wrapper::after {
17147
+ background-color: #c5d6ff;
17148
+ }
17149
+ .fc-mkui-data-table .fc-ui-table--border::after {
17150
+ background-color: #c5d6ff;
17151
+ }
17152
+ .fc-mkui-data-table .fc-ui-table__border-left-patch {
17153
+ background-color: #c5d6ff;
17145
17154
  }
17146
17155
  .fc-mkui-data-table__pagination-box {
17147
17156
  padding-top: 8px;