bm-admin-ui 1.0.82-alpha → 1.0.83-alpha

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 (41) hide show
  1. package/es/components/attachment/index.js +273 -0
  2. package/es/components/breadcrumb/index.js +158 -0
  3. package/es/components/button/index.js +49 -0
  4. package/es/components/edit-form/index.js +1186 -0
  5. package/es/components/editor/index.js +12554 -0
  6. package/es/components/feedback/index.js +295 -0
  7. package/es/components/float-table/index.js +3511 -0
  8. package/es/components/flow-designer/index.js +1317 -0
  9. package/es/components/form-create/index.js +20978 -0
  10. package/es/components/form-designer/index.js +4514 -0
  11. package/es/components/index.js +19 -0
  12. package/es/components/input-tags-display/index.js +226 -0
  13. package/es/components/over-tooltips/index.js +133 -0
  14. package/es/components/search-filter/index.js +441 -0
  15. package/es/components/select-all/index.js +165 -0
  16. package/es/components/shops-filter/index.js +453 -0
  17. package/es/components/staffs-selector/index.js +728 -0
  18. package/es/components/timeline/index.js +168 -0
  19. package/es/components/upload/index.js +909 -0
  20. package/es/components/videoView/index.js +100 -0
  21. package/lib/components/attachment/index.js +278 -0
  22. package/lib/components/breadcrumb/index.js +168 -0
  23. package/lib/components/button/index.js +58 -0
  24. package/lib/components/edit-form/index.js +1195 -0
  25. package/lib/components/editor/index.js +12559 -0
  26. package/lib/components/feedback/index.js +309 -0
  27. package/lib/components/float-table/index.js +3516 -0
  28. package/lib/components/flow-designer/index.js +1329 -0
  29. package/lib/components/form-create/index.js +20990 -0
  30. package/lib/components/form-designer/index.js +4525 -0
  31. package/lib/components/index.js +140 -0
  32. package/lib/components/input-tags-display/index.js +237 -0
  33. package/lib/components/over-tooltips/index.js +138 -0
  34. package/lib/components/search-filter/index.js +451 -0
  35. package/lib/components/select-all/index.js +174 -0
  36. package/lib/components/shops-filter/index.js +465 -0
  37. package/lib/components/staffs-selector/index.js +733 -0
  38. package/lib/components/timeline/index.js +174 -0
  39. package/lib/components/upload/index.js +914 -0
  40. package/lib/components/videoView/index.js +105 -0
  41. package/package.json +1 -1
@@ -0,0 +1,441 @@
1
+ import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
+ import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeStyle, unref, createTextVNode, toDisplayString, createBlock, createCommentVNode, createElementVNode, createVNode, withCtx, getCurrentInstance, reactive, watch, mergeProps, isRef, withModifiers, h, onBeforeUnmount, nextTick, normalizeClass } from 'vue';
3
+ import FormCreateCtr from '@form-create/ant-design-vue';
4
+ import { UpOutlined, DownOutlined, SearchOutlined } from '@ant-design/icons-vue';
5
+ import ASelect from 'ant-design-vue/lib/select';
6
+
7
+ const searchResetBtnProps = {
8
+ showExpandBtn: {
9
+ type: Boolean,
10
+ default: false,
11
+ },
12
+ showSearchIcon: {
13
+ type: Boolean,
14
+ default: false,
15
+ },
16
+ expandPlacement: {
17
+ type: String,
18
+ default: 'left',
19
+ },
20
+ expandText: {
21
+ type: String,
22
+ default: '展开',
23
+ },
24
+ collapseText: {
25
+ type: String,
26
+ default: '收起',
27
+ },
28
+ gutter: {
29
+ type: Array,
30
+ default() {
31
+ return [24, 16];
32
+ },
33
+ },
34
+ loading: {
35
+ type: Boolean,
36
+ default: false,
37
+ },
38
+ };
39
+ const searchFilterProps = Object.assign({ userRule: {
40
+ type: Array,
41
+ default() {
42
+ return [];
43
+ },
44
+ }, labelCol: {
45
+ type: Object,
46
+ default() {
47
+ return {
48
+ flex: '0 0 auto',
49
+ };
50
+ },
51
+ }, value: {
52
+ type: Object,
53
+ default() {
54
+ return {};
55
+ },
56
+ }, ruleSpan: {
57
+ type: Object,
58
+ default() {
59
+ return {};
60
+ },
61
+ }, fixedCount: {
62
+ type: Number,
63
+ default: 999999,
64
+ }, fixedFields: {
65
+ type: Array,
66
+ default() {
67
+ return [];
68
+ },
69
+ } }, searchResetBtnProps);
70
+
71
+ var _export_sfc = (sfc, props) => {
72
+ const target = sfc.__vccOpts || sfc;
73
+ for (const [key, val] of props) {
74
+ target[key] = val;
75
+ }
76
+ return target;
77
+ };
78
+
79
+ const _hoisted_1$1 = { class: "bm-search-filter-actions" };
80
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
81
+ __name: "search-reset-btn",
82
+ props: searchResetBtnProps,
83
+ emits: ["submit", "reset", "expand"],
84
+ setup(__props, { emit: emits }) {
85
+ const props = __props;
86
+ const isExpand = ref(false);
87
+ const wrapperStyle = computed(() => {
88
+ let gutter = props.gutter?.[0] || 24;
89
+ return { paddingLeft: gutter / 2 + "px", paddingRight: gutter / 2 + "px" };
90
+ });
91
+ function handleExpandBtnChange() {
92
+ isExpand.value = !isExpand.value;
93
+ emits("expand", isExpand.value);
94
+ }
95
+ function handleSubmit() {
96
+ emits("submit");
97
+ }
98
+ function handleReset() {
99
+ emits("reset");
100
+ }
101
+ return (_ctx, _cache) => {
102
+ const _component_a_button = resolveComponent("a-button");
103
+ return openBlock(), createElementBlock("div", {
104
+ class: "bm-search-filter-btn",
105
+ style: normalizeStyle(unref(wrapperStyle))
106
+ }, [
107
+ props.showExpandBtn ? (openBlock(), createElementBlock("span", {
108
+ key: 0,
109
+ class: "bm-search-filter-expand",
110
+ onClick: handleExpandBtnChange
111
+ }, [
112
+ createTextVNode(toDisplayString(isExpand.value ? props.collapseText : props.expandText), 1),
113
+ isExpand.value ? (openBlock(), createBlock(unref(UpOutlined), { key: 0 })) : (openBlock(), createBlock(unref(DownOutlined), { key: 1 }))
114
+ ])) : createCommentVNode("v-if", true),
115
+ createElementVNode("span", _hoisted_1$1, [
116
+ createVNode(_component_a_button, { onClick: handleReset }, {
117
+ default: withCtx(() => [
118
+ createTextVNode("\u91CD\u7F6E")
119
+ ]),
120
+ _: 1
121
+ }),
122
+ createVNode(_component_a_button, {
123
+ type: "primary",
124
+ loading: props.loading,
125
+ onClick: handleSubmit
126
+ }, {
127
+ default: withCtx(() => [
128
+ props.showSearchIcon && !props.loading ? (openBlock(), createBlock(unref(SearchOutlined), { key: 0 })) : createCommentVNode("v-if", true),
129
+ createTextVNode("\u67E5\u8BE2 ")
130
+ ]),
131
+ _: 1
132
+ }, 8, ["loading"])
133
+ ])
134
+ ], 4);
135
+ };
136
+ }
137
+ });
138
+ var SearchResetBtn = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "search-reset-btn.vue"]]);
139
+
140
+ const _hoisted_1 = { class: "bm-select-header" };
141
+ const _hoisted_2 = { class: "bm-select-header-btn" };
142
+ const _hoisted_3 = ["onClick"];
143
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode("span", { class: "checkbox-label" }, "\u5168\u9009", -1);
144
+ const _hoisted_5 = ["onClick"];
145
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode("span", { class: "checkbox-label" }, "\u53CD\u9009", -1);
146
+ const _hoisted_7 = { class: "blue" };
147
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
148
+ __name: "form-select-all",
149
+ props: {
150
+ modelValue: {
151
+ type: Array || String || Number || void 0
152
+ },
153
+ disabled: Boolean
154
+ },
155
+ emits: ["onSelectAll", "onChange", "update:modelValue"],
156
+ setup(__props, { emit }) {
157
+ const props = __props;
158
+ const instance = getCurrentInstance();
159
+ const state = reactive({
160
+ search: {
161
+ indeterminate: false,
162
+ checkedAll: false,
163
+ checkedReverse: false
164
+ }
165
+ });
166
+ let selectValue = ref([]);
167
+ watch(
168
+ () => props.modelValue,
169
+ (val) => {
170
+ selectValue.value = val;
171
+ },
172
+ {
173
+ immediate: true
174
+ }
175
+ );
176
+ const selectAll = (e) => {
177
+ let key = "value";
178
+ if (instance?.attrs.fieldNames || instance?.attrs["field-names"])
179
+ key = (instance?.attrs).fieldNames?.value || (instance?.attrs)["field-names"].value;
180
+ state.search.checkedAll = !state.search.checkedAll;
181
+ state.search.indeterminate = false;
182
+ state.search.checkedReverse = false;
183
+ if (state.search.checkedAll) {
184
+ selectValue.value = (instance?.attrs.options).map(
185
+ (v) => {
186
+ return v[key];
187
+ }
188
+ );
189
+ } else {
190
+ selectValue.value = [];
191
+ }
192
+ emit("update:modelValue", selectValue.value);
193
+ emit("onSelectAll", {
194
+ type: "all",
195
+ value: selectValue.value
196
+ });
197
+ };
198
+ const reverseAll = (e) => {
199
+ let key = "value";
200
+ if (instance?.attrs.fieldNames || instance?.attrs["field-names"])
201
+ key = (instance?.attrs).fieldNames?.value || (instance?.attrs)["field-names"].value;
202
+ if (selectValue.value.length <= 0)
203
+ return state.search.checkedReverse = false;
204
+ state.search.checkedReverse = !state.search.checkedReverse;
205
+ if (state.search.checkedReverse) {
206
+ state.search.indeterminate = false;
207
+ state.search.checkedAll = false;
208
+ } else {
209
+ state.search.indeterminate = !!selectValue.value.length && selectValue.value.length < (instance?.attrs.options).length;
210
+ state.search.checkedAll = selectValue.value.length === (instance?.attrs.options).length;
211
+ }
212
+ selectValue.value = (instance?.attrs.options).filter(
213
+ (v) => !selectValue.value.some((ele) => ele === v[key])
214
+ ).map((x) => x[key]);
215
+ emit("update:modelValue", selectValue.value);
216
+ emit("onSelectAll", {
217
+ type: "reverse",
218
+ value: selectValue.value
219
+ });
220
+ };
221
+ const onChange = (value, option) => {
222
+ state.search.checkedReverse = false;
223
+ state.search.indeterminate = !!value.length && value.length < (instance?.attrs.options).length;
224
+ state.search.checkedAll = value.length === (instance?.attrs.options).length;
225
+ emit("update:modelValue", value);
226
+ emit("onChange", {
227
+ value,
228
+ option
229
+ });
230
+ };
231
+ const VNodes = (_, { attrs }) => {
232
+ return h(attrs.vnodes);
233
+ };
234
+ return (_ctx, _cache) => {
235
+ const _component_a_checkbox = resolveComponent("a-checkbox");
236
+ const _component_a_form_item_rest = resolveComponent("a-form-item-rest");
237
+ return openBlock(), createBlock(unref(ASelect), mergeProps({
238
+ value: unref(selectValue),
239
+ "onUpdate:value": _cache[4] || (_cache[4] = ($event) => isRef(selectValue) ? selectValue.value = $event : selectValue = $event),
240
+ class: "bm-select search"
241
+ }, _ctx.$attrs, {
242
+ mode: "multiple",
243
+ disabled: props.disabled,
244
+ placeholder: unref(instance)?.attrs.placeholder ? unref(instance)?.attrs.placeholder : "\u8BF7\u9009\u62E9",
245
+ "get-popup-container": (nodes) => nodes.parentNode,
246
+ onChange
247
+ }), {
248
+ dropdownRender: withCtx(({ menuNode: menu }) => [
249
+ createElementVNode("div", _hoisted_1, [
250
+ createVNode(_component_a_form_item_rest, null, {
251
+ default: withCtx(() => [
252
+ createElementVNode("div", _hoisted_2, [
253
+ createElementVNode("div", {
254
+ onClick: withModifiers(selectAll, ["prevent"]),
255
+ onMousedown: _cache[1] || (_cache[1] = (e) => e.preventDefault())
256
+ }, [
257
+ createVNode(_component_a_checkbox, {
258
+ checked: state.search.checkedAll,
259
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.search.checkedAll = $event),
260
+ indeterminate: state.search.indeterminate
261
+ }, null, 8, ["checked", "indeterminate"]),
262
+ _hoisted_4
263
+ ], 40, _hoisted_3),
264
+ createElementVNode("div", {
265
+ onClick: withModifiers(reverseAll, ["prevent"]),
266
+ onMousedown: _cache[3] || (_cache[3] = (e) => e.preventDefault())
267
+ }, [
268
+ createVNode(_component_a_checkbox, {
269
+ checked: state.search.checkedReverse,
270
+ "onUpdate:checked": _cache[2] || (_cache[2] = ($event) => state.search.checkedReverse = $event)
271
+ }, null, 8, ["checked"]),
272
+ _hoisted_6
273
+ ], 40, _hoisted_5)
274
+ ])
275
+ ]),
276
+ _: 1
277
+ }),
278
+ createElementVNode("div", null, [
279
+ createTextVNode(" \u5DF2\u9009\u62E9 "),
280
+ createElementVNode("span", _hoisted_7, toDisplayString(unref(selectValue)?.length || 0), 1),
281
+ createTextVNode(" \u9879 ")
282
+ ])
283
+ ]),
284
+ createVNode(VNodes, { vnodes: menu }, null, 8, ["vnodes"])
285
+ ]),
286
+ _: 1
287
+ }, 16, ["value", "disabled", "placeholder", "get-popup-container"]);
288
+ };
289
+ }
290
+ });
291
+ var SelectAll = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "form-select-all.vue"]]);
292
+
293
+ const __default__ = {
294
+ name: "BmSearchFilter"
295
+ };
296
+ const _sfc_main = /* @__PURE__ */ defineComponent({
297
+ ...__default__,
298
+ props: searchFilterProps,
299
+ emits: ["update:value", "submit", "reset", "expand"],
300
+ setup(__props, { expose, emit: emits }) {
301
+ const props = __props;
302
+ FormCreateCtr.component("SearchResetBtn", SearchResetBtn);
303
+ FormCreateCtr.component("SelectAll", SelectAll);
304
+ FormCreateCtr.maker.create("SelectAll", "field", "\u5168\u9009\u53CD\u9009\u7EC4\u4EF6").value([]);
305
+ const isExpand = ref(false);
306
+ const searchResetBtnRule = reactive([
307
+ {
308
+ type: "SearchResetBtn",
309
+ props: {
310
+ showExpandBtn: props.showExpandBtn,
311
+ showSearchIcon: props.showSearchIcon,
312
+ expandText: props.expandText,
313
+ collapseText: props.collapseText,
314
+ gutter: props.gutter,
315
+ loading: props.loading
316
+ },
317
+ on: {
318
+ submit() {
319
+ emits("submit", fApi.value.formData());
320
+ },
321
+ reset() {
322
+ fApi.value?.resetFields?.();
323
+ emits("reset");
324
+ },
325
+ expand(value) {
326
+ isExpand.value = value;
327
+ emits("expand", value);
328
+ }
329
+ }
330
+ }
331
+ ]);
332
+ const fApi = ref({});
333
+ const option = reactive({
334
+ col: {
335
+ span: 8
336
+ },
337
+ row: {
338
+ gutter: props.gutter
339
+ },
340
+ form: {
341
+ labelCol: props.labelCol,
342
+ labelAlign: "right",
343
+ wrapperCol: {
344
+ span: 24
345
+ }
346
+ },
347
+ submitBtn: false
348
+ });
349
+ const rule = computed(() => {
350
+ if (!props.userRule)
351
+ return [];
352
+ return [...props.userRule, ...searchResetBtnRule];
353
+ });
354
+ function handleShowExpandBtn(val) {
355
+ searchResetBtnRule[0].props.showExpandBtn = val;
356
+ }
357
+ function handleChange() {
358
+ emits("update:value", fApi.value.formData());
359
+ }
360
+ function handleResize() {
361
+ const bodyClientWidth = document.body.clientWidth;
362
+ if (bodyClientWidth < 1680) {
363
+ option.col.span = 8;
364
+ } else {
365
+ option.col.span = 6;
366
+ }
367
+ props.userRule.forEach((rule2) => {
368
+ if (!rule2.field || rule2.col)
369
+ return;
370
+ const spanNum = props.ruleSpan[rule2.field];
371
+ if (spanNum) {
372
+ (rule2.col = rule2.col || {}).span = option.col.span * spanNum;
373
+ }
374
+ });
375
+ }
376
+ handleResize();
377
+ window.addEventListener("resize", handleResize);
378
+ onBeforeUnmount(() => {
379
+ window.removeEventListener("resize", handleResize);
380
+ });
381
+ watch(
382
+ () => props.showExpandBtn,
383
+ (val) => {
384
+ handleShowExpandBtn(val);
385
+ },
386
+ {
387
+ immediate: true
388
+ }
389
+ );
390
+ const expandRule = computed(() => {
391
+ const fixedCount = props.fixedCount && props.fixedCount >= 0 ? props.fixedCount : 0;
392
+ const fixedFields = props.fixedFields?.length ? props.fixedFields : [];
393
+ return (props.userRule || []).filter((ruleItem, index) => {
394
+ return index + 1 > fixedCount && !fixedFields.includes(ruleItem.field || ruleItem.name);
395
+ });
396
+ });
397
+ function handleChangeExpand(value) {
398
+ if (value) {
399
+ expandRule.value.forEach((ruleItem) => {
400
+ ruleItem.hidden = false;
401
+ });
402
+ } else {
403
+ expandRule.value.forEach((ruleItem) => {
404
+ ruleItem.hidden = true;
405
+ });
406
+ }
407
+ }
408
+ watch(
409
+ isExpand,
410
+ (val) => {
411
+ nextTick(() => handleChangeExpand(val));
412
+ },
413
+ {
414
+ immediate: true
415
+ }
416
+ );
417
+ expose({
418
+ fApi
419
+ });
420
+ return (_ctx, _cache) => {
421
+ const _component_form_create = resolveComponent("form-create");
422
+ return openBlock(), createElementBlock("div", {
423
+ class: normalizeClass(["bm-search-filter", ["bm-search-filter-expand-" + props.expandPlacement]])
424
+ }, [
425
+ createVNode(_component_form_create, {
426
+ api: fApi.value,
427
+ "onUpdate:api": _cache[0] || (_cache[0] = ($event) => fApi.value = $event),
428
+ "model-value": props.value,
429
+ rule: unref(rule),
430
+ option,
431
+ onChange: handleChange
432
+ }, null, 8, ["api", "model-value", "rule", "option"])
433
+ ], 2);
434
+ };
435
+ }
436
+ });
437
+ var SearchFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "search-filter.vue"]]);
438
+
439
+ const BmSearchFilter = withInstall(SearchFilter);
440
+
441
+ export { BmSearchFilter, BmSearchFilter as default };
@@ -0,0 +1,165 @@
1
+ import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
+ import { defineComponent, getCurrentInstance, reactive, ref, watch, resolveComponent, openBlock, createBlock, unref, mergeProps, isRef, withCtx, createElementVNode, withModifiers, createVNode, createTextVNode, toDisplayString, h } from 'vue';
3
+ import ASelect from 'ant-design-vue/lib/select';
4
+
5
+ var _export_sfc = (sfc, props) => {
6
+ const target = sfc.__vccOpts || sfc;
7
+ for (const [key, val] of props) {
8
+ target[key] = val;
9
+ }
10
+ return target;
11
+ };
12
+
13
+ const _hoisted_1 = { class: "bm-select-header" };
14
+ const _hoisted_2 = { class: "bm-select-header-btn" };
15
+ const _hoisted_3 = ["onClick"];
16
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode("span", { class: "checkbox-label" }, "\u5168\u9009", -1);
17
+ const _hoisted_5 = ["onClick"];
18
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode("span", { class: "checkbox-label" }, "\u53CD\u9009", -1);
19
+ const _hoisted_7 = { class: "blue" };
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ __name: "selectAll",
22
+ props: {
23
+ value: {
24
+ type: Array || String || Number || void 0,
25
+ required: true
26
+ },
27
+ showSelectAll: {
28
+ type: Boolean,
29
+ default: false
30
+ }
31
+ },
32
+ emits: ["onSelectAll", "update:value", "onChange"],
33
+ setup(__props, { emit }) {
34
+ const props = __props;
35
+ const instance = getCurrentInstance();
36
+ const state = reactive({
37
+ search: {
38
+ indeterminate: false,
39
+ checkedAll: false,
40
+ checkedReverse: false
41
+ }
42
+ });
43
+ let selectValue = ref([]);
44
+ watch(
45
+ () => props.value,
46
+ (val) => {
47
+ selectValue.value = val;
48
+ },
49
+ {
50
+ immediate: true
51
+ }
52
+ );
53
+ const selectAll = (e) => {
54
+ let key = "value";
55
+ if (instance?.attrs.fieldNames || instance?.attrs["field-names"])
56
+ key = (instance?.attrs).fieldNames?.value || (instance?.attrs)["field-names"].value;
57
+ state.search.checkedAll = !state.search.checkedAll;
58
+ state.search.indeterminate = false;
59
+ state.search.checkedReverse = false;
60
+ if (state.search.checkedAll) {
61
+ selectValue.value = (instance?.attrs.options).map(
62
+ (v) => {
63
+ return v[key];
64
+ }
65
+ );
66
+ } else {
67
+ selectValue.value = [];
68
+ }
69
+ emit("update:value", selectValue.value);
70
+ emit("onSelectAll", {
71
+ type: "all",
72
+ value: selectValue.value
73
+ });
74
+ };
75
+ const reverseAll = (e) => {
76
+ let key = "value";
77
+ if (instance?.attrs.fieldNames || instance?.attrs["field-names"])
78
+ key = (instance?.attrs).fieldNames?.value || (instance?.attrs)["field-names"].value;
79
+ if (selectValue.value.length <= 0)
80
+ return state.search.checkedReverse = false;
81
+ state.search.checkedReverse = !state.search.checkedReverse;
82
+ if (state.search.checkedReverse) {
83
+ state.search.indeterminate = false;
84
+ state.search.checkedAll = false;
85
+ } else {
86
+ state.search.indeterminate = !!selectValue.value.length && selectValue.value.length < (instance?.attrs.options).length;
87
+ state.search.checkedAll = selectValue.value.length === (instance?.attrs.options).length;
88
+ }
89
+ selectValue.value = (instance?.attrs.options).filter(
90
+ (v) => !selectValue.value.some((ele) => ele === v[key])
91
+ ).map((x) => x[key]);
92
+ emit("update:value", selectValue.value);
93
+ emit("onSelectAll", {
94
+ type: "reverse",
95
+ value: selectValue.value
96
+ });
97
+ };
98
+ const onChange = (value, option) => {
99
+ state.search.checkedReverse = false;
100
+ state.search.indeterminate = !!value.length && value.length < (instance?.attrs.options).length;
101
+ state.search.checkedAll = value.length === (instance?.attrs.options).length;
102
+ emit("update:value", value);
103
+ emit("onChange", {
104
+ value,
105
+ option
106
+ });
107
+ };
108
+ const VNodes = (_, { attrs }) => {
109
+ return h(attrs.vnodes);
110
+ };
111
+ return (_ctx, _cache) => {
112
+ const _component_a_checkbox = resolveComponent("a-checkbox");
113
+ return openBlock(), createBlock(unref(ASelect), mergeProps({
114
+ value: unref(selectValue),
115
+ "onUpdate:value": _cache[4] || (_cache[4] = ($event) => isRef(selectValue) ? selectValue.value = $event : selectValue = $event),
116
+ class: "bm-select"
117
+ }, _ctx.$attrs, {
118
+ mode: "multiple",
119
+ placeholder: unref(instance)?.attrs.placeholder ? unref(instance)?.attrs.placeholder : "\u8BF7\u9009\u62E9",
120
+ "get-popup-container": (nodes) => nodes.parentNode,
121
+ onChange
122
+ }), {
123
+ dropdownRender: withCtx(({ menuNode: menu }) => [
124
+ createElementVNode("div", _hoisted_1, [
125
+ createElementVNode("div", _hoisted_2, [
126
+ createElementVNode("div", {
127
+ onClick: withModifiers(selectAll, ["prevent"]),
128
+ onMousedown: _cache[1] || (_cache[1] = (e) => e.preventDefault())
129
+ }, [
130
+ createVNode(_component_a_checkbox, {
131
+ checked: state.search.checkedAll,
132
+ "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.search.checkedAll = $event),
133
+ indeterminate: state.search.indeterminate
134
+ }, null, 8, ["checked", "indeterminate"]),
135
+ _hoisted_4
136
+ ], 40, _hoisted_3),
137
+ createElementVNode("div", {
138
+ onClick: withModifiers(reverseAll, ["prevent"]),
139
+ onMousedown: _cache[3] || (_cache[3] = (e) => e.preventDefault())
140
+ }, [
141
+ createVNode(_component_a_checkbox, {
142
+ checked: state.search.checkedReverse,
143
+ "onUpdate:checked": _cache[2] || (_cache[2] = ($event) => state.search.checkedReverse = $event)
144
+ }, null, 8, ["checked"]),
145
+ _hoisted_6
146
+ ], 40, _hoisted_5)
147
+ ]),
148
+ createElementVNode("div", null, [
149
+ createTextVNode(" \u5DF2\u9009\u62E9 "),
150
+ createElementVNode("span", _hoisted_7, toDisplayString(unref(selectValue)?.length || 0), 1),
151
+ createTextVNode(" \u9879 ")
152
+ ])
153
+ ]),
154
+ createVNode(VNodes, { vnodes: menu }, null, 8, ["vnodes"])
155
+ ]),
156
+ _: 1
157
+ }, 16, ["value", "placeholder", "get-popup-container"]);
158
+ };
159
+ }
160
+ });
161
+ var selectAll = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "selectAll.vue"]]);
162
+
163
+ const BmSelectAll = withInstall(selectAll);
164
+
165
+ export { BmSelectAll, BmSelectAll as default };