fit2cloud-ui-plus 0.0.1-beta.16 → 0.0.1-beta.19

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 (83) hide show
  1. package/lib/fit2cloud-ui-plus.es.js +1057 -242
  2. package/lib/fit2cloud-ui-plus.umd.js +1 -1
  3. package/package.json +2 -2
  4. package/src/components/filter-bar/FuFilter.vue +3 -2
  5. package/src/components/filter-bar/FuFilterBar.vue +5 -5
  6. package/src/components/filter-bar/FuFilterInput.vue +4 -1
  7. package/src/components/filter-bar/filter-components/FuFilterDate.vue +17 -13
  8. package/src/components/filter-bar/filter-components/FuFilterDateTime.vue +4 -4
  9. package/src/components/filter-bar/filter-components/FuFilterSelect.vue +5 -4
  10. package/src/components/read-write-switch/FuSelectRwSwitch.vue +23 -10
  11. package/src/components/search-bar/FuComplexSearch.vue +66 -132
  12. package/src/components/search-bar/FuQuickSearch.vue +21 -51
  13. package/src/components/search-bar/FuSearchBar.vue +120 -125
  14. package/src/components/search-bar/FuSearchBarButton.vue +15 -14
  15. package/src/components/search-bar/FuSearchContions.vue +26 -15
  16. package/src/components/search-bar/complex-components/FuComplexDate.vue +8 -7
  17. package/src/components/search-bar/complex-components/FuComplexDateTime.vue +23 -17
  18. package/src/components/search-bar/complex-components/FuComplexInput.vue +10 -3
  19. package/src/components/search-bar/complex-components/FuComplexSelect.vue +17 -10
  20. package/src/components/search-bar/index.ts +20 -0
  21. package/src/components/search-bar/types.ts +1 -1
  22. package/src/hooks/index.ts +0 -1
  23. package/src/hooks/use-global-config/index.ts +26 -8
  24. package/src/hooks/use-locale/index.ts +1 -1
  25. package/src/hooks/use-size/index.ts +11 -5
  26. package/src/index.ts +5 -2
  27. package/src/styles/common/function.scss +14 -4
  28. package/src/styles/common/mixins.scss +9 -4
  29. package/src/styles/common/variables.scss +33 -11
  30. package/src/styles/components/filter-bar.scss +9 -10
  31. package/src/styles/components/search-bar.scss +27 -71
  32. package/src/styles/components/table.scss +5 -5
  33. package/src/styles/index.scss +2 -0
  34. package/src/styles/var.scss +8 -0
  35. package/types/examples/pages/search/attributes.d.ts +57 -0
  36. package/types/examples/pages/search/demo/BaseSearchbar.vue.d.ts +66 -0
  37. package/types/examples/pages/search/demo/ComplexComponentsDemo.vue.d.ts +60 -0
  38. package/types/examples/pages/search/demo/ComplexSearchDemo.vue.d.ts +84 -0
  39. package/types/examples/pages/search/demo/CustomComponentsDemo.vue.d.ts +50 -0
  40. package/types/examples/pages/search/demo/EchoConditionsDemo.vue.d.ts +52 -0
  41. package/types/examples/pages/search/demo/QuickSearchDemo.vue.d.ts +18 -0
  42. package/types/examples/pages/search/demo/SearchBarButtonDemo.vue.d.ts +54 -0
  43. package/types/examples/pages/search/index.vue.d.ts +150 -0
  44. package/types/examples/pages/search-bar/attributes.d.ts +63 -0
  45. package/types/examples/pages/search-bar/demo/BaseSearchbar.vue.d.ts +31 -0
  46. package/types/examples/pages/search-bar/demo/ComplexSearchDemo.vue.d.ts +40 -0
  47. package/types/examples/pages/search-bar/demo/EchoConditionsDemo.vue.d.ts +32 -0
  48. package/types/examples/pages/search-bar/demo/QuickSearchDemo.vue.d.ts +7 -0
  49. package/types/examples/pages/search-bar/demo/SearchBarButtonDemo.vue.d.ts +32 -0
  50. package/types/examples/pages/search-bar/index.vue.d.ts +2 -0
  51. package/types/examples/pages/table/demo/TablePagination.vue.d.ts +1 -1
  52. package/types/src/components/filter-bar/FuFilter.vue.d.ts +3 -0
  53. package/types/src/components/filter-bar/FuFilterBar.vue.d.ts +12 -1
  54. package/types/src/components/filter-bar/FuFilterInput.vue.d.ts +17 -0
  55. package/types/src/components/filter-bar/index.d.ts +2 -2
  56. package/types/src/components/read-write-switch/FuSelectRwSwitch.vue.d.ts +11 -1
  57. package/types/src/components/search-bar/FuComplexSearch.vue.d.ts +22 -0
  58. package/types/src/components/search-bar/FuQuickSearch.vue.d.ts +29 -0
  59. package/types/src/components/search-bar/FuSearchBar.vue.d.ts +58 -0
  60. package/types/src/components/search-bar/FuSearchBarButton.vue.d.ts +14 -0
  61. package/types/src/components/search-bar/FuSearchContions.vue.d.ts +26 -0
  62. package/types/src/components/search-bar/complex-components/FuComplexDate.vue.d.ts +36 -0
  63. package/types/src/components/search-bar/complex-components/FuComplexDateTime.vue.d.ts +36 -0
  64. package/types/src/components/search-bar/complex-components/FuComplexInput.vue.d.ts +26 -0
  65. package/types/src/components/search-bar/complex-components/FuComplexSelect.vue.d.ts +50 -0
  66. package/types/src/components/search-bar/complex-components/index.d.ts +0 -0
  67. package/types/src/components/search-bar/complex-components/mixins.d.ts +6 -0
  68. package/types/src/components/search-bar/index.d.ts +2 -0
  69. package/types/src/components/search-bar/types.d.ts +17 -0
  70. package/types/src/hooks/use-global-config/index.d.ts +9 -1
  71. package/types/src/hooks/use-size/index.d.ts +5 -1
  72. package/types/src/index.d.ts +2 -1
  73. package/src/components/read-write-switch/index.d.ts +0 -2
  74. package/src/components/read-write-switch/types.d.ts +0 -4
  75. package/src/components/search-bar/complex-components/index.js +0 -16
  76. package/src/components/search-bar/complex-components/mixins.js +0 -26
  77. package/src/components/search-bar/index.js +0 -16
  78. package/src/components/table/index.d.ts +0 -2
  79. package/src/components/table/table-column-select/utils.d.ts +0 -8
  80. package/src/components/table/types.d.ts +0 -2
  81. package/src/hooks/use-global-config/index.d.ts +0 -1
  82. package/src/hooks/use-locale/index.d.ts +0 -14
  83. package/src/hooks/use-size/index.d.ts +0 -5
@@ -17,65 +17,13 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, ref, watch, resolveComponent, openBlock, createBlock, mergeProps, getCurrentInstance, inject, computed, unref, isRef, createElementBlock, Fragment, renderList, createElementVNode, toDisplayString, createVNode, withCtx, provide, onMounted, createTextVNode, createCommentVNode, renderSlot, resolveDynamicComponent, toHandlers, nextTick, normalizeClass, withModifiers, h, normalizeStyle, Transition, useSlots, withDirectives, isVNode, Comment, onUpdated, vShow, normalizeProps, guardReactiveProps } from "vue";
20
+ import { ref, getCurrentInstance, inject, computed, provide, unref, isRef, defineComponent, watch, resolveComponent, openBlock, createBlock, mergeProps, createElementBlock, Fragment, renderList, createElementVNode, toDisplayString, createVNode, withCtx, onMounted, withDirectives, createTextVNode, createCommentVNode, vShow, renderSlot, resolveDynamicComponent, toHandlers, nextTick, normalizeClass, withModifiers, h, vModelText, normalizeStyle, Transition, useSlots, isVNode, Comment, onUpdated, normalizeProps, guardReactiveProps } from "vue";
21
21
  const COMPONENTS_SIZE = ["", "default", "small", "large"];
22
22
  const validateSize = (val) => ["", ...COMPONENTS_SIZE].includes(val);
23
- var _export_sfc = (sfc, props) => {
24
- const target = sfc.__vccOpts || sfc;
25
- for (const [key, val] of props) {
26
- target[key] = val;
27
- }
28
- return target;
29
- };
30
- const __default__$h = { name: "FuSearchInput" };
31
- const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$h), {
32
- props: {
33
- size: {
34
- type: String,
35
- validator: validateSize
36
- },
37
- value: String
38
- },
39
- emits: ["input", "change"],
40
- setup(__props, { emit }) {
41
- const props = __props;
42
- const quick = ref("");
43
- watch(() => props.value, (val) => {
44
- quick.value = val;
45
- });
46
- function input(e) {
47
- emit("input", quick.value, e);
48
- }
49
- function blur(e) {
50
- emit("change", quick.value, e);
51
- }
52
- function keydown(e) {
53
- const event = e;
54
- if (event.key === "Enter") {
55
- emit("change", quick.value, e);
56
- }
57
- }
58
- return (_ctx, _cache) => {
59
- const _component_el_input = resolveComponent("el-input");
60
- return openBlock(), createBlock(_component_el_input, mergeProps({
61
- class: "fu-search-input",
62
- "prefix-icon": "Search",
63
- modelValue: quick.value,
64
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => quick.value = $event),
65
- onInput: input,
66
- onBlur: blur,
67
- onKeydown: keydown
68
- }, _ctx.$attrs, {
69
- clearable: "",
70
- size: __props.size
71
- }), null, 16, ["modelValue", "size"]);
72
- };
73
- }
74
- }));
75
- var FuSearchInput = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterInput.vue"]]);
76
23
  const globalConfig = ref();
24
+ const globalConfigKey = Symbol("GlobalConfigKey");
77
25
  function useGlobalConfig(key, defaultValue = void 0) {
78
- const config = getCurrentInstance() ? inject(Symbol(), globalConfig) : globalConfig;
26
+ const config = getCurrentInstance() ? inject(globalConfigKey, globalConfig) : globalConfig;
79
27
  if (key) {
80
28
  return computed(() => {
81
29
  var _a2, _b;
@@ -85,6 +33,19 @@ function useGlobalConfig(key, defaultValue = void 0) {
85
33
  return config;
86
34
  }
87
35
  }
36
+ const provideGlobalConfig = (config, app) => {
37
+ var _a2;
38
+ const inSetup = !!getCurrentInstance();
39
+ const provideFn = (_a2 = app == null ? void 0 : app.provide) != null ? _a2 : inSetup ? provide : void 0;
40
+ const context = computed(() => {
41
+ return unref(config);
42
+ });
43
+ provideFn == null ? void 0 : provideFn(globalConfigKey, context);
44
+ if (!globalConfig.value) {
45
+ globalConfig.value = context.value;
46
+ }
47
+ return context;
48
+ };
88
49
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
89
50
  var freeGlobal$1 = freeGlobal;
90
51
  var freeSelf = typeof self == "object" && self && self.Object === Object && self;
@@ -529,9 +490,85 @@ const useLocale = () => {
529
490
  const locale = useGlobalConfig("locale");
530
491
  return buildLocaleContext(computed(() => locale.value || Chinese));
531
492
  };
532
- const _hoisted_1$c = { class: "fu-filter-conditions" };
533
- const _hoisted_2$7 = { class: "condition-text" };
534
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
493
+ const useProp = (name2) => {
494
+ const vm = getCurrentInstance();
495
+ return computed(() => {
496
+ var _a2, _b;
497
+ return (_b = ((_a2 = vm.proxy) == null ? void 0 : _a2.$props)[name2]) != null ? _b : void 0;
498
+ });
499
+ };
500
+ const useSize = (fallback, ignore = {}) => {
501
+ const emptyRef = ref(void 0);
502
+ const size = ignore.prop ? emptyRef : useProp("size");
503
+ const globalConfig2 = ignore.global ? emptyRef : useGlobalConfig("size");
504
+ return computed(() => size.value || unref(fallback) || globalConfig2.value || "");
505
+ };
506
+ const useSizeProp = {
507
+ type: String,
508
+ validator: validateSize
509
+ };
510
+ var _export_sfc = (sfc, props) => {
511
+ const target = sfc.__vccOpts || sfc;
512
+ for (const [key, val] of props) {
513
+ target[key] = val;
514
+ }
515
+ return target;
516
+ };
517
+ const __default__$q = { name: "FuFilterInput" };
518
+ const _sfc_main$y = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$q), {
519
+ props: {
520
+ size: {
521
+ type: String,
522
+ validator: validateSize
523
+ },
524
+ modelValue: String
525
+ },
526
+ emits: ["update:modelValue", "change"],
527
+ setup(__props, { emit }) {
528
+ const props = __props;
529
+ const quick = ref("");
530
+ const configSize = useSize();
531
+ watch(() => props.modelValue, (val) => {
532
+ quick.value = val;
533
+ });
534
+ function input(e) {
535
+ emit("update:modelValue", quick.value, e);
536
+ }
537
+ function blur(e) {
538
+ emit("change", quick.value, e);
539
+ }
540
+ function clear() {
541
+ emit("update:modelValue", quick.value);
542
+ emit("change", quick.value);
543
+ }
544
+ function keydown(e) {
545
+ const event = e;
546
+ if (event.key === "Enter") {
547
+ emit("change", quick.value, e);
548
+ }
549
+ }
550
+ return (_ctx, _cache) => {
551
+ const _component_el_input = resolveComponent("el-input");
552
+ return openBlock(), createBlock(_component_el_input, mergeProps({
553
+ class: "fu-filter-input",
554
+ "prefix-icon": "Search",
555
+ modelValue: quick.value,
556
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => quick.value = $event),
557
+ onInput: input,
558
+ onBlur: blur,
559
+ onKeydown: keydown,
560
+ onClear: clear
561
+ }, _ctx.$attrs, {
562
+ clearable: "",
563
+ size: unref(configSize)
564
+ }), null, 16, ["modelValue", "size"]);
565
+ };
566
+ }
567
+ }));
568
+ var FuFilterInput = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterInput.vue"]]);
569
+ const _hoisted_1$k = { class: "fu-filter-conditions" };
570
+ const _hoisted_2$e = { class: "condition-text" };
571
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
535
572
  __name: "FuFilterConditions",
536
573
  props: {
537
574
  conditions: Array
@@ -550,13 +587,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
550
587
  return (_ctx, _cache) => {
551
588
  const _component_CloseBold = resolveComponent("CloseBold");
552
589
  const _component_el_icon = resolveComponent("el-icon");
553
- return openBlock(), createElementBlock("div", _hoisted_1$c, [
590
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
554
591
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.conditions, (condition, index) => {
555
592
  return openBlock(), createElementBlock("div", {
556
593
  class: "fu-filter-conditions__item",
557
594
  key: index
558
595
  }, [
559
- createElementVNode("div", _hoisted_2$7, toDisplayString(text(condition)), 1),
596
+ createElementVNode("div", _hoisted_2$e, toDisplayString(text(condition)), 1),
560
597
  createVNode(_component_el_icon, {
561
598
  class: "fu-scale-click",
562
599
  onClick: ($event) => remove(index)
@@ -572,16 +609,16 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
572
609
  };
573
610
  }
574
611
  });
575
- var FuFilterConditions = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterConditions.vue"]]);
612
+ var FuFilterConditions = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterConditions.vue"]]);
576
613
  const selectKey = Symbol("SelectKey");
577
- const referenceKey = Symbol("ReferenceKey");
578
- const _hoisted_1$b = { class: "fu-filter__result" };
579
- const _hoisted_2$6 = { style: { "opacity": "0.6" } };
580
- const _hoisted_3$4 = /* @__PURE__ */ createElementVNode("div", { class: "fu-filter__split" }, null, -1);
614
+ const referenceKey$1 = Symbol("ReferenceKey");
615
+ const _hoisted_1$j = { class: "fu-filter__result" };
616
+ const _hoisted_2$d = { style: { "opacity": "0.6" } };
617
+ const _hoisted_3$b = /* @__PURE__ */ createElementVNode("div", { class: "fu-filter__split" }, null, -1);
581
618
  const _hoisted_4$2 = { class: "drawer-body" };
582
619
  const _hoisted_5$1 = { class: "drawer-footer" };
583
- const __default__$g = { name: "FuFilter" };
584
- const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$g), {
620
+ const __default__$p = { name: "FuFilter" };
621
+ const _sfc_main$w = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$p), {
585
622
  props: {
586
623
  size: {
587
624
  type: String,
@@ -595,13 +632,16 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
595
632
  drawerWidth: {
596
633
  type: [Number, String],
597
634
  default: "680px"
598
- }
635
+ },
636
+ showEmpty: Boolean
599
637
  },
600
638
  emits: ["filter"],
601
639
  setup(__props, { expose, emit }) {
640
+ const props = __props;
602
641
  const { t } = useLocale();
603
642
  const filterRef = ref(null);
604
643
  const conditionsRef = ref(null);
644
+ const configSize = useSize();
605
645
  const drawer = ref(true);
606
646
  const scroll = ref(false);
607
647
  const conditions = ref([]);
@@ -683,7 +723,10 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
683
723
  const el = filterRef.value;
684
724
  return el === null ? 0 : el.getBoundingClientRect().width - 210;
685
725
  });
686
- provide(referenceKey, references);
726
+ const show = computed(() => {
727
+ return conditions.value.length > 0 && props.showEmpty === false || props.showEmpty;
728
+ });
729
+ provide(referenceKey$1, references);
687
730
  onMounted(() => {
688
731
  drawer.value = false;
689
732
  });
@@ -698,61 +741,65 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
698
741
  const _component_Delete = resolveComponent("Delete");
699
742
  const _component_el_button = resolveComponent("el-button");
700
743
  const _component_el_drawer = resolveComponent("el-drawer");
701
- return openBlock(), createElementBlock("div", {
702
- class: "fu-filter",
703
- ref_key: "filterRef",
704
- ref: filterRef
705
- }, [
706
- createElementVNode("div", _hoisted_1$b, [
707
- createTextVNode(toDisplayString(__props.count) + " ", 1),
708
- createElementVNode("span", _hoisted_2$6, toDisplayString(unref(t)("fu.filter_bar.results")), 1)
709
- ]),
710
- _hoisted_3$4,
711
- scroll.value ? (openBlock(), createElementBlock("div", {
712
- key: 0,
713
- class: "fu-filter__scroll",
714
- onMousedown: left,
715
- onMouseup: mouseup
716
- }, [
717
- createVNode(_component_el_icon, null, {
718
- default: withCtx(() => [
719
- createVNode(_component_ArrowLeftBold)
720
- ]),
721
- _: 1
722
- })
723
- ], 32)) : createCommentVNode("v-if", true),
724
- createVNode(FuFilterConditions, {
725
- conditions: conditions.value,
726
- onChange: change,
727
- ref_key: "conditionsRef",
728
- ref: conditionsRef
729
- }, null, 8, ["conditions"]),
730
- scroll.value ? (openBlock(), createElementBlock("div", {
731
- key: 1,
732
- class: "fu-filter__scroll",
733
- onMousedown: right,
734
- onMouseup: mouseup
735
- }, [
736
- createVNode(_component_el_icon, null, {
737
- default: withCtx(() => [
738
- createVNode(_component_ArrowRightBold)
739
- ]),
740
- _: 1
741
- })
742
- ], 32)) : createCommentVNode("v-if", true),
743
- conditions.value.length > 0 ? (openBlock(), createElementBlock("div", {
744
- key: 2,
745
- class: "fu-filter__clear fu-scale-click",
746
- onClick: clear
744
+ return openBlock(), createElementBlock(Fragment, null, [
745
+ withDirectives(createElementVNode("div", {
746
+ class: "fu-filter",
747
+ ref_key: "filterRef",
748
+ ref: filterRef
747
749
  }, [
748
- createVNode(_component_el_icon, null, {
749
- default: withCtx(() => [
750
- createVNode(_component_Delete)
751
- ]),
752
- _: 1
753
- }),
754
- createTextVNode(" " + toDisplayString(unref(t)("fu.filter_bar.clear")), 1)
755
- ])) : createCommentVNode("v-if", true),
750
+ createElementVNode("div", _hoisted_1$j, [
751
+ createTextVNode(toDisplayString(__props.count) + " ", 1),
752
+ createElementVNode("span", _hoisted_2$d, toDisplayString(unref(t)("fu.filter_bar.results")), 1)
753
+ ]),
754
+ _hoisted_3$b,
755
+ scroll.value ? (openBlock(), createElementBlock("div", {
756
+ key: 0,
757
+ class: "fu-filter__scroll",
758
+ onMousedown: left,
759
+ onMouseup: mouseup
760
+ }, [
761
+ createVNode(_component_el_icon, null, {
762
+ default: withCtx(() => [
763
+ createVNode(_component_ArrowLeftBold)
764
+ ]),
765
+ _: 1
766
+ })
767
+ ], 32)) : createCommentVNode("v-if", true),
768
+ createVNode(FuFilterConditions, {
769
+ conditions: conditions.value,
770
+ onChange: change,
771
+ ref_key: "conditionsRef",
772
+ ref: conditionsRef
773
+ }, null, 8, ["conditions"]),
774
+ scroll.value ? (openBlock(), createElementBlock("div", {
775
+ key: 1,
776
+ class: "fu-filter__scroll",
777
+ onMousedown: right,
778
+ onMouseup: mouseup
779
+ }, [
780
+ createVNode(_component_el_icon, null, {
781
+ default: withCtx(() => [
782
+ createVNode(_component_ArrowRightBold)
783
+ ]),
784
+ _: 1
785
+ })
786
+ ], 32)) : createCommentVNode("v-if", true),
787
+ conditions.value.length > 0 ? (openBlock(), createElementBlock("div", {
788
+ key: 2,
789
+ class: "fu-filter__clear fu-scale-click",
790
+ onClick: clear
791
+ }, [
792
+ createVNode(_component_el_icon, null, {
793
+ default: withCtx(() => [
794
+ createVNode(_component_Delete)
795
+ ]),
796
+ _: 1
797
+ }),
798
+ createTextVNode(" " + toDisplayString(unref(t)("fu.filter_bar.clear")), 1)
799
+ ])) : createCommentVNode("v-if", true)
800
+ ], 512), [
801
+ [vShow, unref(show)]
802
+ ]),
756
803
  createVNode(_component_el_drawer, {
757
804
  size: __props.drawerWidth,
758
805
  "custom-class": "fu-filter__drawer",
@@ -768,7 +815,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
768
815
  return openBlock(), createBlock(resolveDynamicComponent(c.component), mergeProps({ key: i }, c, {
769
816
  ref_for: true,
770
817
  ref: c.field
771
- }, toHandlers(c), { size: __props.size }), null, 16, ["size"]);
818
+ }, toHandlers(c), { size: unref(configSize) }), null, 16, ["size"]);
772
819
  }), 128))
773
820
  ])
774
821
  ]),
@@ -798,19 +845,19 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
798
845
  ]),
799
846
  _: 3
800
847
  }, 8, ["size", "title", "modelValue"])
801
- ], 512);
848
+ ], 64);
802
849
  };
803
850
  }
804
851
  }));
805
- var FuFilter = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilter.vue"]]);
806
- const _hoisted_1$a = { class: "fu-filter-bar" };
807
- const _hoisted_2$5 = { class: "fu-filter-bar__top" };
808
- const _hoisted_3$3 = { class: "top_left" };
852
+ var FuFilter = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilter.vue"]]);
853
+ const _hoisted_1$i = { class: "fu-filter-bar" };
854
+ const _hoisted_2$c = { class: "fu-filter-bar__top" };
855
+ const _hoisted_3$a = { class: "top_left" };
809
856
  const _hoisted_4$1 = { class: "top_right" };
810
857
  const _hoisted_5 = { key: 0 };
811
858
  const _hoisted_6 = { class: "fu-filter-bar__bottom" };
812
- const __default__$f = { name: "FuFilterBar" };
813
- const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$f), {
859
+ const __default__$o = { name: "FuFilterBar" };
860
+ const _sfc_main$v = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$o), {
814
861
  props: {
815
862
  size: {
816
863
  type: String,
@@ -818,11 +865,16 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
818
865
  },
819
866
  resultCount: Number,
820
867
  quickPlaceholder: String,
821
- components: Array
868
+ components: Array,
869
+ showEmpty: {
870
+ type: Boolean,
871
+ default: false
872
+ }
822
873
  },
823
874
  emits: ["exec"],
824
875
  setup(__props, { expose, emit }) {
825
876
  const { t } = useLocale();
877
+ const configSize = useSize();
826
878
  const quick = ref("");
827
879
  const conditions = ref([]);
828
880
  const filterRef = ref();
@@ -842,43 +894,48 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
842
894
  (_a2 = filterRef.value) == null ? void 0 : _a2.setConditions(conditionObj2);
843
895
  }
844
896
  const conditionObj = computed(() => {
845
- let obj = { quick: quick.value };
897
+ let obj = {};
898
+ if (quick.value) {
899
+ obj.quick = quick.value;
900
+ }
846
901
  conditions.value.forEach((c) => {
847
902
  obj[c.field] = c;
848
903
  });
849
904
  return obj;
850
905
  });
851
906
  expose({
852
- setConditions
907
+ setConditions,
908
+ open
853
909
  });
854
910
  return (_ctx, _cache) => {
855
911
  const _component_el_button = resolveComponent("el-button");
856
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
857
- createElementVNode("div", _hoisted_2$5, [
858
- createElementVNode("div", _hoisted_3$3, [
912
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
913
+ createElementVNode("div", _hoisted_2$c, [
914
+ createElementVNode("div", _hoisted_3$a, [
859
915
  renderSlot(_ctx.$slots, "tl")
860
916
  ]),
861
917
  createElementVNode("div", _hoisted_4$1, [
862
- renderSlot(_ctx.$slots, "tr", {}, () => [
863
- createVNode(FuSearchInput, {
864
- size: __props.size,
918
+ renderSlot(_ctx.$slots, "tr", { condition: unref(conditionObj) }, () => [
919
+ createVNode(FuFilterInput, {
920
+ size: unref(configSize),
865
921
  modelValue: quick.value,
866
922
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => quick.value = $event),
867
923
  placeholder: __props.quickPlaceholder,
868
924
  onChange: change
869
- }, null, 8, ["size", "modelValue", "placeholder"]),
870
- createVNode(_component_el_button, {
871
- onClick: open,
872
- icon: "Filter",
873
- size: __props.size
874
- }, {
875
- default: withCtx(() => [
876
- createTextVNode(toDisplayString(unref(t)("fu.filter_bar.filter")) + " ", 1),
877
- conditions.value.length > 0 ? (openBlock(), createElementBlock("span", _hoisted_5, "(" + toDisplayString(conditions.value.length) + ")", 1)) : createCommentVNode("v-if", true)
878
- ]),
879
- _: 1
880
- }, 8, ["size"])
925
+ }, null, 8, ["size", "modelValue", "placeholder"])
881
926
  ]),
927
+ createVNode(_component_el_button, {
928
+ class: "fu-filter-button",
929
+ onClick: open,
930
+ icon: "Filter",
931
+ size: unref(configSize)
932
+ }, {
933
+ default: withCtx(() => [
934
+ createTextVNode(toDisplayString(unref(t)("fu.filter_bar.filter")) + " ", 1),
935
+ conditions.value.length > 0 ? (openBlock(), createElementBlock("span", _hoisted_5, "(" + toDisplayString(conditions.value.length) + ")", 1)) : createCommentVNode("v-if", true)
936
+ ]),
937
+ _: 1
938
+ }, 8, ["size"]),
882
939
  renderSlot(_ctx.$slots, "buttons")
883
940
  ])
884
941
  ]),
@@ -889,21 +946,22 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
889
946
  onFilter: filter,
890
947
  count: __props.resultCount,
891
948
  components: __props.components,
892
- size: __props.size
949
+ size: unref(configSize),
950
+ "show-empty": __props.showEmpty
893
951
  }, {
894
952
  default: withCtx(() => [
895
953
  renderSlot(_ctx.$slots, "default")
896
954
  ]),
897
955
  _: 3
898
- }, 8, ["count", "components", "size"])
956
+ }, 8, ["count", "components", "size", "show-empty"])
899
957
  ])
900
958
  ]);
901
959
  };
902
960
  }
903
961
  }));
904
- var FuFilterBar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterBar.vue"]]);
905
- const _hoisted_1$9 = ["onClick"];
906
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
962
+ var FuFilterBar = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterBar.vue"]]);
963
+ const _hoisted_1$h = ["onClick"];
964
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
907
965
  __name: "FuFilterOption",
908
966
  props: {
909
967
  value: {
@@ -935,17 +993,17 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
935
993
  return openBlock(), createElementBlock("div", {
936
994
  class: normalizeClass(["fu-filter-option", { "is-selected": unref(selected), "is-disabled": __props.disabled }]),
937
995
  onClick: withModifiers(click, ["stop"])
938
- }, toDisplayString(__props.label || __props.value), 11, _hoisted_1$9);
996
+ }, toDisplayString(__props.label || __props.value), 11, _hoisted_1$h);
939
997
  };
940
998
  }
941
999
  });
942
- var FuFilterOption = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterOption.vue"]]);
943
- const _hoisted_1$8 = { class: "fu-filter-component" };
944
- const _hoisted_2$4 = { class: "fu-filter-component__label" };
945
- const _hoisted_3$2 = { class: "fu-filter-component__content" };
1000
+ var FuFilterOption = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterOption.vue"]]);
1001
+ const _hoisted_1$g = { class: "fu-filter-component" };
1002
+ const _hoisted_2$b = { class: "fu-filter-component__label" };
1003
+ const _hoisted_3$9 = { class: "fu-filter-component__content" };
946
1004
  const _hoisted_4 = { class: "fu-filter-option" };
947
- const __default__$e = { name: "FuFilterSelect" };
948
- const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$e), {
1005
+ const __default__$n = { name: "FuFilterSelect" };
1006
+ const _sfc_main$t = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$n), {
949
1007
  props: {
950
1008
  size: {
951
1009
  type: String,
@@ -976,8 +1034,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
976
1034
  emits: ["change"],
977
1035
  setup(__props, { expose, emit }) {
978
1036
  const props = __props;
979
- const { t } = useLocale();
980
1037
  const selection = ref(props.multiple ? [] : "");
1038
+ const configSize = useSize();
981
1039
  const showOptions = computed(() => {
982
1040
  return props.options.filter((o, i) => {
983
1041
  let show = props.showLimit < 0 ? true : i < props.showLimit;
@@ -998,6 +1056,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
998
1056
  }
999
1057
  return getValueLabel(selection.value);
1000
1058
  });
1059
+ const { t } = useLocale();
1001
1060
  function change(v) {
1002
1061
  if (v.includes("")) {
1003
1062
  selection.value = props.options.map((o) => o.value);
@@ -1040,7 +1099,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1040
1099
  setSelected,
1041
1100
  selection
1042
1101
  });
1043
- const references = inject(referenceKey);
1102
+ const references = inject(referenceKey$1);
1044
1103
  const field = props.field;
1045
1104
  const reference = { field, init, getCondition };
1046
1105
  references == null ? void 0 : references.value.push(reference);
@@ -1054,9 +1113,9 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1054
1113
  const _component_Plus = resolveComponent("Plus");
1055
1114
  const _component_el_icon = resolveComponent("el-icon");
1056
1115
  const _component_el_popover = resolveComponent("el-popover");
1057
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
1058
- createElementVNode("div", _hoisted_2$4, toDisplayString(__props.label), 1),
1059
- createElementVNode("div", _hoisted_3$2, [
1116
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [
1117
+ createElementVNode("div", _hoisted_2$b, toDisplayString(__props.label), 1),
1118
+ createElementVNode("div", _hoisted_3$9, [
1060
1119
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(showOptions), (o) => {
1061
1120
  return openBlock(), createBlock(FuFilterOption, {
1062
1121
  label: o.label,
@@ -1090,7 +1149,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1090
1149
  multiple: __props.multiple,
1091
1150
  onChange: change,
1092
1151
  teleported: false,
1093
- size: __props.size,
1152
+ size: unref(configSize),
1094
1153
  placeholder: unref(t)("fu.search_bar.please_select")
1095
1154
  }), {
1096
1155
  default: withCtx(() => [
@@ -1121,7 +1180,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1121
1180
  };
1122
1181
  }
1123
1182
  }));
1124
- var FuFilterSelect = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterSelect.vue"]]);
1183
+ var FuFilterSelect = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterSelect.vue"]]);
1125
1184
  const getCheckDate = (timestamp) => {
1126
1185
  if (!timestamp)
1127
1186
  return false;
@@ -1151,11 +1210,11 @@ const dateFormat = (timestamp) => {
1151
1210
  const d = (dt.getDate() + "").padStart(2, "0");
1152
1211
  return `${y}-${m}-${d}`;
1153
1212
  };
1154
- const _hoisted_1$7 = { class: "fu-filter-component" };
1155
- const _hoisted_2$3 = { class: "fu-filter-component__label" };
1156
- const _hoisted_3$1 = { class: "fu-filter-component__content" };
1157
- const __default__$d = { name: "FuFilterDate" };
1158
- const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$d), {
1213
+ const _hoisted_1$f = { class: "fu-filter-component" };
1214
+ const _hoisted_2$a = { class: "fu-filter-component__label" };
1215
+ const _hoisted_3$8 = { class: "fu-filter-component__content" };
1216
+ const __default__$m = { name: "FuFilterDate" };
1217
+ const _sfc_main$s = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$m), {
1159
1218
  props: {
1160
1219
  size: {
1161
1220
  type: String,
@@ -1173,11 +1232,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1173
1232
  },
1174
1233
  setup(__props, { expose }) {
1175
1234
  const props = __props;
1176
- const { t } = useLocale();
1177
1235
  const value = ref("");
1236
+ const configSize = useSize();
1178
1237
  const valueLabel = computed(() => {
1179
1238
  return dateFormat(value.value[0]) + " - " + dateFormat(value.value[1]);
1180
1239
  });
1240
+ const { t } = useLocale();
1181
1241
  function getCondition() {
1182
1242
  if (!String(value.value))
1183
1243
  return;
@@ -1187,7 +1247,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1187
1247
  function init(v) {
1188
1248
  value.value = v !== void 0 ? v : "";
1189
1249
  }
1190
- const references = inject(referenceKey);
1250
+ const references = inject(referenceKey$1);
1191
1251
  const field = props.field;
1192
1252
  const reference = { field, init, getCondition };
1193
1253
  references == null ? void 0 : references.value.push(reference);
@@ -1197,16 +1257,16 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1197
1257
  });
1198
1258
  return (_ctx, _cache) => {
1199
1259
  const _component_el_date_picker = resolveComponent("el-date-picker");
1200
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
1201
- createElementVNode("div", _hoisted_2$3, toDisplayString(__props.label), 1),
1202
- createElementVNode("div", _hoisted_3$1, [
1260
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [
1261
+ createElementVNode("div", _hoisted_2$a, toDisplayString(__props.label), 1),
1262
+ createElementVNode("div", _hoisted_3$8, [
1203
1263
  createCommentVNode("configSize"),
1204
1264
  createVNode(_component_el_date_picker, mergeProps({
1205
1265
  class: "fu-filter-date",
1206
1266
  modelValue: value.value,
1207
1267
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
1208
1268
  }, _ctx.$attrs, {
1209
- size: __props.size,
1269
+ size: unref(configSize),
1210
1270
  placeholder: unref(t)("fu.search_bar.select_date"),
1211
1271
  type: "daterange",
1212
1272
  "value-format": __props.valueFormat,
@@ -1218,12 +1278,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1218
1278
  };
1219
1279
  }
1220
1280
  }));
1221
- var FuFilterDate = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuComplexDate.vue"]]);
1222
- const _hoisted_1$6 = { class: "fu-filter-component" };
1223
- const _hoisted_2$2 = { class: "fu-filter-component__label" };
1224
- const _hoisted_3 = { class: "fu-filter-component__content" };
1225
- const __default__$c = { name: "FuFilterDateTime" };
1226
- const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$c), {
1281
+ var FuFilterDate = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterDate.vue"]]);
1282
+ const _hoisted_1$e = { class: "fu-filter-component" };
1283
+ const _hoisted_2$9 = { class: "fu-filter-component__label" };
1284
+ const _hoisted_3$7 = { class: "fu-filter-component__content" };
1285
+ const __default__$l = { name: "FuFilterDateTime" };
1286
+ const _sfc_main$r = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$l), {
1227
1287
  props: {
1228
1288
  size: {
1229
1289
  type: String,
@@ -1241,11 +1301,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1241
1301
  },
1242
1302
  setup(__props, { expose }) {
1243
1303
  const props = __props;
1244
- const { t } = useLocale();
1245
1304
  const value = ref("");
1305
+ const configSize = useSize();
1246
1306
  const valueLabel = computed(() => {
1247
1307
  return datetimeFormat(value.value[0]) + " - " + datetimeFormat(value.value[1]);
1248
1308
  });
1309
+ const { t } = useLocale();
1249
1310
  function getCondition() {
1250
1311
  if (!String(value.value))
1251
1312
  return;
@@ -1255,7 +1316,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1255
1316
  function init(v) {
1256
1317
  value.value = v !== void 0 ? v : "";
1257
1318
  }
1258
- const references = inject(referenceKey);
1319
+ const references = inject(referenceKey$1);
1259
1320
  const field = props.field;
1260
1321
  const reference = { field, init, getCondition };
1261
1322
  references == null ? void 0 : references.value.push(reference);
@@ -1265,16 +1326,16 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1265
1326
  });
1266
1327
  return (_ctx, _cache) => {
1267
1328
  const _component_el_date_picker = resolveComponent("el-date-picker");
1268
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
1269
- createElementVNode("div", _hoisted_2$2, toDisplayString(__props.label), 1),
1270
- createElementVNode("div", _hoisted_3, [
1329
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [
1330
+ createElementVNode("div", _hoisted_2$9, toDisplayString(__props.label), 1),
1331
+ createElementVNode("div", _hoisted_3$7, [
1271
1332
  createCommentVNode(' :size="configSize" '),
1272
1333
  createVNode(_component_el_date_picker, mergeProps({
1273
1334
  class: "fu-filter-date",
1274
1335
  modelValue: value.value,
1275
1336
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
1276
1337
  }, _ctx.$attrs, {
1277
- size: __props.size,
1338
+ size: unref(configSize),
1278
1339
  placeholder: unref(t)("fu.search_bar.select_date_time"),
1279
1340
  type: "datetimerange",
1280
1341
  "value-format": __props.valueFormat,
@@ -1286,18 +1347,18 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1286
1347
  };
1287
1348
  }
1288
1349
  }));
1289
- var FuFilterDateTime = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuComplexDateTime.vue"]]);
1290
- FuSearchInput.install = (app) => {
1350
+ var FuFilterDateTime = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterDateTime.vue"]]);
1351
+ FuFilterBar.install = (app) => {
1291
1352
  app.component(FuFilterBar.name, FuFilterBar);
1292
1353
  app.component(FuFilter.name, FuFilter);
1293
- app.component(FuSearchInput.name, FuSearchInput);
1354
+ app.component(FuFilterInput.name, FuFilterInput);
1294
1355
  app.component(FuFilterSelect.name, FuFilterSelect);
1295
1356
  app.component(FuFilterDate.name, FuFilterDate);
1296
1357
  app.component(FuFilterDateTime.name, FuFilterDateTime);
1297
1358
  };
1298
- var __glob_1_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1359
+ var __glob_2_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1299
1360
  __proto__: null,
1300
- "default": FuSearchInput
1361
+ "default": FuFilterBar
1301
1362
  }, Symbol.toStringTag, { value: "Module" }));
1302
1363
  const uuid = function() {
1303
1364
  let d = new Date().getTime();
@@ -1315,7 +1376,7 @@ const uuid = function() {
1315
1376
  });
1316
1377
  };
1317
1378
  const TRIGGERS = ["manual", "onClick", "onDblclick"];
1318
- const _sfc_main$h = defineComponent({
1379
+ const _sfc_main$q = defineComponent({
1319
1380
  name: "FuReadWriteSwitch",
1320
1381
  props: {
1321
1382
  modelValue: Boolean,
@@ -1383,9 +1444,9 @@ const _sfc_main$h = defineComponent({
1383
1444
  };
1384
1445
  }
1385
1446
  });
1386
- var FuReadWriteSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuReadWriteSwitch.vue"]]);
1387
- const __default__$b = { name: "FuInputRwSwitch" };
1388
- const _sfc_main$g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$b), {
1447
+ var FuReadWriteSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuReadWriteSwitch.vue"]]);
1448
+ const __default__$k = { name: "FuInputRwSwitch" };
1449
+ const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$k), {
1389
1450
  props: {
1390
1451
  modelValue: [String, Number],
1391
1452
  writeTrigger: {
@@ -1436,15 +1497,19 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1436
1497
  };
1437
1498
  }
1438
1499
  }));
1439
- var FuInputRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuInputRwSwitch.vue"]]);
1440
- const __default__$a = { name: "FuSelectRwSwitch" };
1441
- const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$a), {
1500
+ var FuInputRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuInputRwSwitch.vue"]]);
1501
+ const __default__$j = { name: "FuSelectRwSwitch" };
1502
+ const _sfc_main$o = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$j), {
1442
1503
  props: {
1443
1504
  modelValue: [String, Number],
1444
1505
  options: {
1445
1506
  type: Array,
1446
1507
  default: []
1447
1508
  },
1509
+ blurTime: {
1510
+ type: Number,
1511
+ default: 150
1512
+ },
1448
1513
  writeTrigger: {
1449
1514
  type: String,
1450
1515
  default: "onClick",
@@ -1453,7 +1518,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1453
1518
  }
1454
1519
  }
1455
1520
  },
1456
- emits: ["input", "blur", "change"],
1521
+ emits: ["input", "blur", "change", "update:modelValue"],
1457
1522
  setup(__props, { emit }) {
1458
1523
  const props = __props;
1459
1524
  const data = ref(props.modelValue);
@@ -1464,20 +1529,22 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1464
1529
  emit("input", data.value, e);
1465
1530
  }
1466
1531
  function blur(read, e) {
1467
- setTimeout(() => {
1468
- read();
1469
- }, 100);
1470
- emit("blur", data.value, e);
1532
+ if (props.blurTime > 0) {
1533
+ setTimeout(() => {
1534
+ read();
1535
+ }, props.blurTime);
1536
+ emit("blur", e);
1537
+ }
1471
1538
  }
1472
1539
  function change(read, e) {
1540
+ emit("update:modelValue", data.value, e);
1473
1541
  emit("change", data.value, e);
1474
1542
  read();
1475
1543
  }
1476
1544
  return (_ctx, _cache) => {
1477
1545
  const _component_el_option = resolveComponent("el-option");
1478
1546
  const _component_el_select = resolveComponent("el-select");
1479
- const _component_fu_read_write_switch = resolveComponent("fu-read-write-switch");
1480
- return openBlock(), createBlock(_component_fu_read_write_switch, {
1547
+ return openBlock(), createBlock(FuReadWriteSwitch, {
1481
1548
  "write-trigger": __props.writeTrigger,
1482
1549
  data: data.value
1483
1550
  }, {
@@ -1514,16 +1581,761 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1514
1581
  };
1515
1582
  }
1516
1583
  }));
1517
- var FuSelectRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuSelectRwSwitch.vue"]]);
1584
+ var FuSelectRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuSelectRwSwitch.vue"]]);
1518
1585
  FuReadWriteSwitch.install = (app) => {
1519
1586
  app.component(FuReadWriteSwitch.name, FuReadWriteSwitch);
1520
1587
  app.component(FuInputRwSwitch.name, FuInputRwSwitch);
1521
1588
  app.component(FuSelectRwSwitch.name, FuSelectRwSwitch);
1522
1589
  };
1523
- var __glob_1_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1590
+ var __glob_2_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1524
1591
  __proto__: null,
1525
1592
  "default": FuReadWriteSwitch
1526
1593
  }, Symbol.toStringTag, { value: "Module" }));
1594
+ const _hoisted_1$d = ["placeholder"];
1595
+ const __default__$i = { name: "FuQuickSearch" };
1596
+ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$i), {
1597
+ props: {
1598
+ size: {
1599
+ type: String,
1600
+ validator: validateSize
1601
+ },
1602
+ modelValue: String,
1603
+ placeholder: String,
1604
+ useIcon: {
1605
+ type: Boolean,
1606
+ default: true
1607
+ }
1608
+ },
1609
+ emits: ["update:modelValue", "change"],
1610
+ setup(__props, { emit }) {
1611
+ const props = __props;
1612
+ const focused = ref(false);
1613
+ const configSize = useSize();
1614
+ const value = computed({
1615
+ get: () => props.modelValue,
1616
+ set: (val) => {
1617
+ emit("update:modelValue", val);
1618
+ }
1619
+ });
1620
+ function focus() {
1621
+ focused.value = true;
1622
+ }
1623
+ function blur(e) {
1624
+ if (focused.value) {
1625
+ emit("change", value.value, e);
1626
+ }
1627
+ focused.value = false;
1628
+ }
1629
+ function keydown(e) {
1630
+ const { code } = e;
1631
+ if (code === "Enter") {
1632
+ focused.value = false;
1633
+ emit("change", value.value, e);
1634
+ }
1635
+ }
1636
+ return (_ctx, _cache) => {
1637
+ const _component_Search = resolveComponent("Search");
1638
+ const _component_el_icon = resolveComponent("el-icon");
1639
+ return openBlock(), createElementBlock("div", {
1640
+ class: normalizeClass(["fu-quick-search", "fu-quick-search--" + unref(configSize)])
1641
+ }, [
1642
+ __props.useIcon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
1643
+ default: withCtx(() => [
1644
+ createVNode(_component_Search)
1645
+ ]),
1646
+ _: 1
1647
+ })) : createCommentVNode("v-if", true),
1648
+ createElementVNode("label", null, [
1649
+ withDirectives(createElementVNode("input", {
1650
+ placeholder: __props.placeholder,
1651
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(value) ? value.value = $event : null),
1652
+ onBlur: blur,
1653
+ onFocus: focus,
1654
+ onKeydown: keydown
1655
+ }, null, 40, _hoisted_1$d), [
1656
+ [vModelText, unref(value)]
1657
+ ])
1658
+ ])
1659
+ ], 2);
1660
+ };
1661
+ }
1662
+ }));
1663
+ var FuQuickSearch = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuQuickSearch.vue"]]);
1664
+ const referenceKey = Symbol("ReferenceKey");
1665
+ const _hoisted_1$c = { class: "fu-complex-components" };
1666
+ const _hoisted_2$8 = { class: "fu-complex-components__body" };
1667
+ const _hoisted_3$6 = { class: "fu-complex-components__footer" };
1668
+ const __default__$h = { name: "FuComplexSearch" };
1669
+ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$h), {
1670
+ props: {
1671
+ size: {
1672
+ type: String,
1673
+ validator: validateSize
1674
+ },
1675
+ components: Array
1676
+ },
1677
+ emits: ["close", "change"],
1678
+ setup(__props, { expose, emit }) {
1679
+ const active = ref(false);
1680
+ const references = inject(referenceKey);
1681
+ const configSize = useSize();
1682
+ const showComplex = computed(() => {
1683
+ return references ? references.value.length > 0 : false;
1684
+ });
1685
+ const { t } = useLocale();
1686
+ function hide() {
1687
+ emit("close");
1688
+ }
1689
+ function toggle() {
1690
+ active.value = !active.value;
1691
+ if (active.value) {
1692
+ references == null ? void 0 : references.value.forEach((r) => r.init());
1693
+ }
1694
+ }
1695
+ function close() {
1696
+ active.value = false;
1697
+ }
1698
+ function ok() {
1699
+ close();
1700
+ exec();
1701
+ }
1702
+ function exec() {
1703
+ let conditions = [];
1704
+ references == null ? void 0 : references.value.forEach((r) => {
1705
+ let condition = r.getCondition();
1706
+ if (condition && condition.value !== void 0) {
1707
+ conditions.push(condition);
1708
+ }
1709
+ });
1710
+ emit("change", conditions);
1711
+ }
1712
+ function setConditions(conditionObj) {
1713
+ let result = [];
1714
+ if (conditionObj) {
1715
+ Object.keys(conditionObj).forEach((key) => {
1716
+ let c = conditionObj[key];
1717
+ references == null ? void 0 : references.value.forEach((r) => {
1718
+ if (r.field === key) {
1719
+ r.init(c.value);
1720
+ const condition = r.getCondition();
1721
+ if (condition) {
1722
+ result.push(condition);
1723
+ }
1724
+ }
1725
+ });
1726
+ });
1727
+ }
1728
+ return result;
1729
+ }
1730
+ expose({
1731
+ setConditions,
1732
+ close
1733
+ });
1734
+ return (_ctx, _cache) => {
1735
+ const _component_el_button = resolveComponent("el-button");
1736
+ const _component_el_popover = resolveComponent("el-popover");
1737
+ return openBlock(), createBlock(_component_el_popover, {
1738
+ visible: active.value,
1739
+ "show-arrow": false,
1740
+ onHide: hide,
1741
+ width: "auto",
1742
+ "popper-class": "fu-complex-components"
1743
+ }, {
1744
+ reference: withCtx(() => [
1745
+ withDirectives(createVNode(_component_el_button, {
1746
+ circle: "",
1747
+ icon: "ArrowRightBold",
1748
+ onClick: toggle,
1749
+ size: unref(configSize),
1750
+ class: normalizeClass(["fu-complex-components-trigger", { "is-active": active.value }])
1751
+ }, null, 8, ["size", "class"]), [
1752
+ [vShow, unref(showComplex)]
1753
+ ])
1754
+ ]),
1755
+ default: withCtx(() => [
1756
+ createElementVNode("div", _hoisted_1$c, [
1757
+ createElementVNode("div", _hoisted_2$8, [
1758
+ renderSlot(_ctx.$slots, "default", {}, () => [
1759
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.components, (c) => {
1760
+ return openBlock(), createBlock(resolveDynamicComponent(c.component), mergeProps(c, { size: unref(configSize) }), null, 16, ["size"]);
1761
+ }), 256))
1762
+ ])
1763
+ ]),
1764
+ createElementVNode("div", _hoisted_3$6, [
1765
+ createVNode(_component_el_button, {
1766
+ onClick: close,
1767
+ size: unref(configSize)
1768
+ }, {
1769
+ default: withCtx(() => [
1770
+ createTextVNode(toDisplayString(unref(t)("fu.search_bar.cancel")), 1)
1771
+ ]),
1772
+ _: 1
1773
+ }, 8, ["size"]),
1774
+ createVNode(_component_el_button, {
1775
+ type: "primary",
1776
+ onClick: ok,
1777
+ size: unref(configSize)
1778
+ }, {
1779
+ default: withCtx(() => [
1780
+ createTextVNode(toDisplayString(unref(t)("fu.search_bar.ok")), 1)
1781
+ ]),
1782
+ _: 1
1783
+ }, 8, ["size"])
1784
+ ])
1785
+ ])
1786
+ ]),
1787
+ _: 3
1788
+ }, 8, ["visible"]);
1789
+ };
1790
+ }
1791
+ }));
1792
+ var FuComplexSearch = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuComplexSearch.vue"]]);
1793
+ const __default__$g = { name: "FuSearchBarButton" };
1794
+ const _sfc_main$l = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$g), {
1795
+ props: {
1796
+ size: {
1797
+ type: String,
1798
+ validator: validateSize
1799
+ },
1800
+ tooltip: String
1801
+ },
1802
+ setup(__props) {
1803
+ const configSize = useSize();
1804
+ return (_ctx, _cache) => {
1805
+ const _component_el_button = resolveComponent("el-button");
1806
+ const _component_el_tooltip = resolveComponent("el-tooltip");
1807
+ return openBlock(), createBlock(_component_el_tooltip, {
1808
+ content: __props.tooltip,
1809
+ disabled: !__props.tooltip
1810
+ }, {
1811
+ default: withCtx(() => [
1812
+ createVNode(_component_el_button, mergeProps({
1813
+ class: "fu-search-bar-button",
1814
+ circle: "",
1815
+ size: unref(configSize)
1816
+ }, _ctx.$attrs), null, 16, ["size"])
1817
+ ]),
1818
+ _: 1
1819
+ }, 8, ["content", "disabled"]);
1820
+ };
1821
+ }
1822
+ }));
1823
+ var FuSearchBarButton = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuSearchBarButton.vue"]]);
1824
+ const _hoisted_1$b = { class: "fu-search-conditions__item" };
1825
+ const _hoisted_2$7 = { key: 0 };
1826
+ const _hoisted_3$5 = { class: "condition-value" };
1827
+ const __default__$f = { name: "FuSearchConditions" };
1828
+ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$f), {
1829
+ props: {
1830
+ size: {
1831
+ type: String,
1832
+ validator: validateSize
1833
+ },
1834
+ conditions: {
1835
+ type: Array,
1836
+ required: true
1837
+ }
1838
+ },
1839
+ emits: ["change"],
1840
+ setup(__props, { emit }) {
1841
+ const props = __props;
1842
+ const configSize = useSize();
1843
+ function remove(index) {
1844
+ props.conditions.splice(index, 1);
1845
+ emit("change", props.conditions);
1846
+ }
1847
+ return (_ctx, _cache) => {
1848
+ const _component_Close = resolveComponent("Close");
1849
+ const _component_el_icon = resolveComponent("el-icon");
1850
+ return openBlock(), createElementBlock("div", {
1851
+ class: normalizeClass(["fu-search-conditions", "fu-search-conditions--" + unref(configSize)])
1852
+ }, [
1853
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.conditions, (condition, index) => {
1854
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
1855
+ condition.label ? (openBlock(), createElementBlock("div", _hoisted_2$7, toDisplayString(condition.label), 1)) : createCommentVNode("v-if", true),
1856
+ createElementVNode("div", _hoisted_3$5, toDisplayString(condition.valueLabel), 1),
1857
+ createVNode(_component_el_icon, {
1858
+ class: "condition-remove",
1859
+ onClick: ($event) => remove(index)
1860
+ }, {
1861
+ default: withCtx(() => [
1862
+ createVNode(_component_Close)
1863
+ ]),
1864
+ _: 2
1865
+ }, 1032, ["onClick"])
1866
+ ]);
1867
+ }), 256))
1868
+ ], 2);
1869
+ };
1870
+ }
1871
+ }));
1872
+ var FuSearchConditions = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuSearchContions.vue"]]);
1873
+ const _hoisted_1$a = { class: "fu-search-bar" };
1874
+ const _hoisted_2$6 = { class: "fu-search-bar__content" };
1875
+ const _hoisted_3$4 = { class: "fu-search-bar__buttons" };
1876
+ const __default__$e = { name: "FuSearchBar" };
1877
+ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$e), {
1878
+ props: {
1879
+ size: useSizeProp,
1880
+ quickKey: {
1881
+ type: String,
1882
+ default: "quick"
1883
+ },
1884
+ quickPlaceholder: String,
1885
+ useCleanButton: {
1886
+ type: Boolean,
1887
+ default: true
1888
+ },
1889
+ useRefreshButton: {
1890
+ type: Boolean,
1891
+ default: false
1892
+ },
1893
+ useQuickSearch: {
1894
+ type: Boolean,
1895
+ default: true
1896
+ },
1897
+ components: Array
1898
+ },
1899
+ emits: ["close", "exec"],
1900
+ setup(__props, { expose, emit }) {
1901
+ const props = __props;
1902
+ const complexRef = ref(null);
1903
+ const quick = ref("");
1904
+ const conditions = ref([]);
1905
+ const references = ref([]);
1906
+ provide(referenceKey, references);
1907
+ const configSize = useSize();
1908
+ const placeholder = computed(() => {
1909
+ return props.quickPlaceholder ? props.quickPlaceholder : t("fu.search_bar.search");
1910
+ });
1911
+ const showComplex = computed(() => {
1912
+ return references.value.length > 0;
1913
+ });
1914
+ const showClean = computed(() => {
1915
+ return props.useCleanButton && (conditions.value.length > 0 || quick.value);
1916
+ });
1917
+ const showRefresh = computed(() => {
1918
+ return props.useRefreshButton && showComplex.value;
1919
+ });
1920
+ const condition = computed(() => {
1921
+ var _a2;
1922
+ const obj = {};
1923
+ if (quick.value) {
1924
+ obj[props.quickKey] = quick.value;
1925
+ }
1926
+ if (((_a2 = conditions.value) == null ? void 0 : _a2.length) > 0) {
1927
+ conditions.value.forEach((c) => {
1928
+ const { field, value } = c;
1929
+ obj[c.field] = { field, value };
1930
+ });
1931
+ }
1932
+ return obj;
1933
+ });
1934
+ const { t } = useLocale();
1935
+ function closePopover() {
1936
+ emit("close");
1937
+ }
1938
+ function clean() {
1939
+ quick.value = "";
1940
+ conditions.value = [];
1941
+ emit("exec", condition.value);
1942
+ }
1943
+ function change(ccs) {
1944
+ conditions.value = merge(conditions.value, ccs);
1945
+ exec();
1946
+ }
1947
+ function refresh() {
1948
+ var _a2;
1949
+ (_a2 = complexRef.value) == null ? void 0 : _a2.close();
1950
+ exec();
1951
+ }
1952
+ function exec() {
1953
+ emit("exec", condition.value);
1954
+ }
1955
+ function merge(source, target) {
1956
+ let conditions2 = source.concat(target);
1957
+ let conditionMap = /* @__PURE__ */ new Map();
1958
+ for (let condition2 of conditions2) {
1959
+ conditionMap.set(condition2.field, condition2);
1960
+ }
1961
+ let result = [];
1962
+ conditionMap.forEach((v) => {
1963
+ result.push(v);
1964
+ });
1965
+ return result;
1966
+ }
1967
+ function setConditions(conditionObj) {
1968
+ var _a2;
1969
+ conditions.value = ((_a2 = complexRef.value) == null ? void 0 : _a2.setConditions(conditionObj)) || [];
1970
+ if (props.useQuickSearch && conditionObj[props.quickKey] !== void 0) {
1971
+ quick.value = conditionObj[props.quickKey].value;
1972
+ exec();
1973
+ } else {
1974
+ refresh();
1975
+ }
1976
+ }
1977
+ expose({
1978
+ setConditions
1979
+ });
1980
+ return (_ctx, _cache) => {
1981
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
1982
+ createElementVNode("div", _hoisted_2$6, [
1983
+ createVNode(FuComplexSearch, {
1984
+ ref_key: "complexRef",
1985
+ ref: complexRef,
1986
+ components: __props.components,
1987
+ onChange: change,
1988
+ size: unref(configSize),
1989
+ onClose: closePopover
1990
+ }, {
1991
+ default: withCtx(() => [
1992
+ renderSlot(_ctx.$slots, "complex")
1993
+ ]),
1994
+ _: 3
1995
+ }, 8, ["components", "size"]),
1996
+ unref(showComplex) ? (openBlock(), createBlock(FuSearchConditions, {
1997
+ key: 0,
1998
+ conditions: conditions.value,
1999
+ size: unref(configSize),
2000
+ onChange: change
2001
+ }, null, 8, ["conditions", "size"])) : createCommentVNode("v-if", true),
2002
+ __props.useQuickSearch ? (openBlock(), createBlock(FuQuickSearch, {
2003
+ key: 1,
2004
+ size: unref(configSize),
2005
+ "use-icon": !unref(showComplex),
2006
+ placeholder: unref(placeholder),
2007
+ modelValue: quick.value,
2008
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => quick.value = $event),
2009
+ onChange: exec
2010
+ }, null, 8, ["size", "use-icon", "placeholder", "modelValue"])) : createCommentVNode("v-if", true)
2011
+ ]),
2012
+ createElementVNode("div", _hoisted_3$4, [
2013
+ renderSlot(_ctx.$slots, "buttons", {}, () => [
2014
+ unref(showClean) ? (openBlock(), createBlock(FuSearchBarButton, {
2015
+ key: 0,
2016
+ icon: "Close",
2017
+ onClick: clean,
2018
+ size: unref(configSize),
2019
+ tooltip: unref(t)("fu.search_bar.clean")
2020
+ }, null, 8, ["size", "tooltip"])) : createCommentVNode("v-if", true),
2021
+ unref(showRefresh) ? (openBlock(), createBlock(FuSearchBarButton, {
2022
+ key: 1,
2023
+ icon: "Refresh",
2024
+ onClick: refresh,
2025
+ size: unref(configSize),
2026
+ tooltip: unref(t)("fu.search_bar.refresh")
2027
+ }, null, 8, ["size", "tooltip"])) : createCommentVNode("v-if", true),
2028
+ renderSlot(_ctx.$slots, "default")
2029
+ ])
2030
+ ])
2031
+ ]);
2032
+ };
2033
+ }
2034
+ }));
2035
+ var FuSearchBar = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuSearchBar.vue"]]);
2036
+ const _hoisted_1$9 = { class: "fu-complex-component" };
2037
+ const _hoisted_2$5 = { class: "fu-complex-component__label" };
2038
+ const _hoisted_3$3 = { class: "fu-complex-component__content" };
2039
+ const __default__$d = { name: "FuComplexSelect" };
2040
+ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$d), {
2041
+ props: {
2042
+ size: {
2043
+ type: String,
2044
+ validator: validateSize
2045
+ },
2046
+ multiple: {
2047
+ type: Boolean,
2048
+ default: false
2049
+ },
2050
+ label: String,
2051
+ field: {
2052
+ type: String,
2053
+ required: true
2054
+ },
2055
+ options: {
2056
+ type: Array,
2057
+ default: []
2058
+ }
2059
+ },
2060
+ emits: ["init"],
2061
+ setup(__props, { expose, emit }) {
2062
+ const props = __props;
2063
+ const selection = ref(props.multiple ? [] : "");
2064
+ const configSize = useSize();
2065
+ const valueLabel = computed(() => {
2066
+ if (Array.isArray(selection.value)) {
2067
+ let values = [];
2068
+ selection.value.forEach((v) => {
2069
+ values.push(getValueLabel(v));
2070
+ });
2071
+ return values.join(", ");
2072
+ }
2073
+ return getValueLabel(selection.value);
2074
+ });
2075
+ const { t } = useLocale();
2076
+ function getValueLabel(value) {
2077
+ for (let o of props.options) {
2078
+ if (o.value === value) {
2079
+ return o.label;
2080
+ }
2081
+ }
2082
+ return value;
2083
+ }
2084
+ function getCondition() {
2085
+ if (!selection.value || Array.isArray(selection.value) && selection.value.length === 0)
2086
+ return;
2087
+ let { field: field2, label } = props;
2088
+ return { field: field2, label, value: selection.value, valueLabel: valueLabel.value };
2089
+ }
2090
+ function init(v) {
2091
+ selection.value = v !== void 0 ? v : props.multiple ? [] : "";
2092
+ emit("init");
2093
+ }
2094
+ const references = inject(referenceKey);
2095
+ const field = props.field;
2096
+ const reference = { field, init, getCondition };
2097
+ references == null ? void 0 : references.value.push(reference);
2098
+ expose({
2099
+ getCondition,
2100
+ init
2101
+ });
2102
+ return (_ctx, _cache) => {
2103
+ const _component_el_option = resolveComponent("el-option");
2104
+ const _component_el_select = resolveComponent("el-select");
2105
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
2106
+ createElementVNode("div", _hoisted_2$5, toDisplayString(__props.label), 1),
2107
+ createElementVNode("div", _hoisted_3$3, [
2108
+ createVNode(_component_el_select, mergeProps({
2109
+ class: "fu-complex-select",
2110
+ placeholder: unref(t)("fu.search_bar.please_select"),
2111
+ modelValue: selection.value,
2112
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selection.value = $event),
2113
+ size: unref(configSize)
2114
+ }, _ctx.$attrs, { clearable: "" }), {
2115
+ default: withCtx(() => [
2116
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (o) => {
2117
+ return openBlock(), createBlock(_component_el_option, {
2118
+ key: o.value,
2119
+ label: o.label,
2120
+ value: o.value
2121
+ }, null, 8, ["label", "value"]);
2122
+ }), 128))
2123
+ ]),
2124
+ _: 1
2125
+ }, 16, ["placeholder", "modelValue", "size"])
2126
+ ])
2127
+ ]);
2128
+ };
2129
+ }
2130
+ }));
2131
+ var FuComplexSelect = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexSelect.vue"]]);
2132
+ const _hoisted_1$8 = { class: "fu-complex-component" };
2133
+ const _hoisted_2$4 = { class: "fu-complex-component__label" };
2134
+ const _hoisted_3$2 = { class: "fu-complex-component__content" };
2135
+ const __default__$c = { name: "FuComplexInput" };
2136
+ const _sfc_main$h = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$c), {
2137
+ props: {
2138
+ size: {
2139
+ type: String,
2140
+ validator: validateSize
2141
+ },
2142
+ label: String,
2143
+ field: {
2144
+ type: String,
2145
+ required: true
2146
+ }
2147
+ },
2148
+ setup(__props, { expose }) {
2149
+ const props = __props;
2150
+ const inputValue = ref("");
2151
+ const configSize = useSize();
2152
+ const { t } = useLocale();
2153
+ function getCondition() {
2154
+ if (!inputValue.value)
2155
+ return;
2156
+ let { field: field2, label } = props;
2157
+ let value = inputValue.value;
2158
+ let valueLabel = inputValue.value;
2159
+ return { field: field2, label, value, valueLabel };
2160
+ }
2161
+ function init(v) {
2162
+ inputValue.value = v !== void 0 ? v : "";
2163
+ }
2164
+ const references = inject(referenceKey);
2165
+ const field = props.field;
2166
+ const reference = { field, init, getCondition };
2167
+ references == null ? void 0 : references.value.push(reference);
2168
+ expose({
2169
+ getCondition,
2170
+ init
2171
+ });
2172
+ return (_ctx, _cache) => {
2173
+ const _component_el_input = resolveComponent("el-input");
2174
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
2175
+ createElementVNode("div", _hoisted_2$4, toDisplayString(__props.label), 1),
2176
+ createElementVNode("div", _hoisted_3$2, [
2177
+ createVNode(_component_el_input, mergeProps({
2178
+ modelValue: inputValue.value,
2179
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
2180
+ placeholder: unref(t)("fu.search_bar.please_input"),
2181
+ size: unref(configSize)
2182
+ }, _ctx.$attrs), null, 16, ["modelValue", "placeholder", "size"])
2183
+ ])
2184
+ ]);
2185
+ };
2186
+ }
2187
+ }));
2188
+ var FuComplexInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexInput.vue"]]);
2189
+ const _hoisted_1$7 = { class: "fu-complex-component" };
2190
+ const _hoisted_2$3 = { class: "fu-complex-component__label" };
2191
+ const _hoisted_3$1 = { class: "fu-complex-component__content" };
2192
+ const __default__$b = { name: "FuComplexDate" };
2193
+ const _sfc_main$g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$b), {
2194
+ props: {
2195
+ size: {
2196
+ type: String,
2197
+ validator: validateSize
2198
+ },
2199
+ label: String,
2200
+ field: {
2201
+ type: String,
2202
+ required: true
2203
+ },
2204
+ valueFormat: {
2205
+ type: String,
2206
+ default: "x"
2207
+ }
2208
+ },
2209
+ setup(__props, { expose }) {
2210
+ const props = __props;
2211
+ const value = ref("");
2212
+ const valueLabel = computed(() => {
2213
+ return dateFormat(value.value[0]) + " ~ " + dateFormat(value.value[1]);
2214
+ });
2215
+ const { t } = useLocale();
2216
+ const configSize = useSize();
2217
+ function getCondition() {
2218
+ if (!String(value.value))
2219
+ return;
2220
+ let { field: field2, label } = props;
2221
+ return { field: field2, label, value: value.value, valueLabel: valueLabel.value };
2222
+ }
2223
+ function init(v) {
2224
+ value.value = v !== void 0 ? v : "";
2225
+ }
2226
+ const references = inject(referenceKey);
2227
+ const field = props.field;
2228
+ const reference = { field, init, getCondition };
2229
+ references == null ? void 0 : references.value.push(reference);
2230
+ expose({
2231
+ getCondition,
2232
+ init
2233
+ });
2234
+ return (_ctx, _cache) => {
2235
+ const _component_el_date_picker = resolveComponent("el-date-picker");
2236
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
2237
+ createElementVNode("div", _hoisted_2$3, toDisplayString(__props.label), 1),
2238
+ createElementVNode("div", _hoisted_3$1, [
2239
+ createVNode(_component_el_date_picker, mergeProps({
2240
+ class: "fu-complex-date",
2241
+ modelValue: value.value,
2242
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
2243
+ }, _ctx.$attrs, {
2244
+ size: unref(configSize),
2245
+ placeholder: unref(t)("fu.search_bar.select_date"),
2246
+ type: "daterange",
2247
+ "value-format": __props.valueFormat,
2248
+ "start-placeholder": unref(t)("fu.search_bar.start_date"),
2249
+ "end-placeholder": unref(t)("fu.search_bar.end_date")
2250
+ }), null, 16, ["modelValue", "size", "placeholder", "value-format", "start-placeholder", "end-placeholder"])
2251
+ ])
2252
+ ]);
2253
+ };
2254
+ }
2255
+ }));
2256
+ var FuComplexDate = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexDate.vue"]]);
2257
+ const _hoisted_1$6 = { class: "fu-complex-component" };
2258
+ const _hoisted_2$2 = { class: "fu-complex-component__label" };
2259
+ const _hoisted_3 = { class: "fu-complex-component__content" };
2260
+ const __default__$a = { name: "FuComplexDateTime" };
2261
+ const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$a), {
2262
+ props: {
2263
+ size: {
2264
+ type: String,
2265
+ validator: validateSize
2266
+ },
2267
+ label: String,
2268
+ field: {
2269
+ type: String,
2270
+ required: true
2271
+ },
2272
+ valueFormat: {
2273
+ type: String,
2274
+ default: "x"
2275
+ }
2276
+ },
2277
+ setup(__props, { expose }) {
2278
+ const props = __props;
2279
+ const value = ref("");
2280
+ const configSize = useSize();
2281
+ const valueLabel = computed(() => {
2282
+ return datetimeFormat(value.value[0]) + " ~ " + datetimeFormat(value.value[1]);
2283
+ });
2284
+ const { t } = useLocale();
2285
+ function getCondition() {
2286
+ if (!String(value.value))
2287
+ return;
2288
+ let { field: field2, label } = props;
2289
+ return { field: field2, label, value: value.value, valueLabel: valueLabel.value };
2290
+ }
2291
+ function init(v) {
2292
+ value.value = v !== void 0 ? v : "";
2293
+ }
2294
+ const references = inject(referenceKey);
2295
+ const field = props.field;
2296
+ const reference = { field, init, getCondition };
2297
+ references == null ? void 0 : references.value.push(reference);
2298
+ expose({
2299
+ getCondition,
2300
+ init
2301
+ });
2302
+ return (_ctx, _cache) => {
2303
+ const _component_el_date_picker = resolveComponent("el-date-picker");
2304
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
2305
+ createElementVNode("div", _hoisted_2$2, toDisplayString(__props.label), 1),
2306
+ createElementVNode("div", _hoisted_3, [
2307
+ createCommentVNode(' :size="configSize" '),
2308
+ createVNode(_component_el_date_picker, mergeProps({
2309
+ class: "fu-complex-date-time",
2310
+ modelValue: value.value,
2311
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
2312
+ }, _ctx.$attrs, {
2313
+ size: unref(configSize),
2314
+ placeholder: unref(t)("fu.search_bar.select_date_time"),
2315
+ type: "datetimerange",
2316
+ "value-format": __props.valueFormat,
2317
+ "start-placeholder": unref(t)("fu.search_bar.start_date_time"),
2318
+ "end-placeholder": unref(t)("fu.search_bar.end_date_time")
2319
+ }), null, 16, ["modelValue", "size", "placeholder", "value-format", "start-placeholder", "end-placeholder"])
2320
+ ])
2321
+ ]);
2322
+ };
2323
+ }
2324
+ }));
2325
+ var FuComplexDateTime = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexDateTime.vue"]]);
2326
+ FuSearchBar.install = (app) => {
2327
+ app.component(FuQuickSearch.name, FuQuickSearch);
2328
+ app.component(FuSearchBar.name, FuSearchBar);
2329
+ app.component(FuSearchBarButton.name, FuSearchBarButton);
2330
+ app.component(FuComplexSelect.name, FuComplexSelect);
2331
+ app.component(FuComplexInput.name, FuComplexInput);
2332
+ app.component(FuComplexDate.name, FuComplexDate);
2333
+ app.component(FuComplexDateTime.name, FuComplexDateTime);
2334
+ };
2335
+ var __glob_2_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2336
+ __proto__: null,
2337
+ "default": FuSearchBar
2338
+ }, Symbol.toStringTag, { value: "Module" }));
1527
2339
  var _a;
1528
2340
  const isClient = typeof window !== "undefined";
1529
2341
  isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
@@ -1664,7 +2476,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
1664
2476
  };
1665
2477
  }
1666
2478
  });
1667
- var FuSpeedDialButton = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDialButton.vue"]]);
2479
+ var FuSpeedDialButton = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDialButton.vue"]]);
1668
2480
  const SpeedDialKey = Symbol("SpeedDialKey");
1669
2481
  const _hoisted_1$5 = { class: "fu-speed-dial-action-button" };
1670
2482
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
@@ -1756,7 +2568,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
1756
2568
  };
1757
2569
  }
1758
2570
  });
1759
- var FuSpeedDialActionButton = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDialActionButton.vue"]]);
2571
+ var FuSpeedDialActionButton = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDialActionButton.vue"]]);
1760
2572
  const __default__$9 = { name: "FuSpeedDialItem" };
1761
2573
  const _sfc_main$c = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$9), {
1762
2574
  props: {
@@ -1847,7 +2659,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1847
2659
  };
1848
2660
  }
1849
2661
  }));
1850
- var FuSpeedDialItem = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDialItem.vue"]]);
2662
+ var FuSpeedDialItem = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDialItem.vue"]]);
1851
2663
  const _hoisted_1$4 = { class: "fu-speed-dial__content" };
1852
2664
  const __default__$8 = { name: "FuSpeedDial" };
1853
2665
  const _sfc_main$b = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$8), {
@@ -2117,12 +2929,12 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2117
2929
  };
2118
2930
  }
2119
2931
  }));
2120
- var FuSpeedDial = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDial.vue"]]);
2932
+ var FuSpeedDial = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/speed-dial/FuSpeedDial.vue"]]);
2121
2933
  FuSpeedDial.install = (app) => {
2122
2934
  app.component(FuSpeedDial.name, FuSpeedDial);
2123
2935
  app.component(FuSpeedDialItem.name, FuSpeedDialItem);
2124
2936
  };
2125
- var __glob_1_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2937
+ var __glob_2_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2126
2938
  __proto__: null,
2127
2939
  "default": FuSpeedDial
2128
2940
  }, Symbol.toStringTag, { value: "Module" }));
@@ -2333,11 +3145,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2333
3145
  };
2334
3146
  }
2335
3147
  }));
2336
- var FuSplitPane = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/split-pane/FuSplitPane.vue"]]);
3148
+ var FuSplitPane = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/split-pane/FuSplitPane.vue"]]);
2337
3149
  FuSplitPane.install = (app) => {
2338
3150
  app.component(FuSplitPane.name, FuSplitPane);
2339
3151
  };
2340
- var __glob_1_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3152
+ var __glob_2_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2341
3153
  __proto__: null,
2342
3154
  "default": FuSplitPane
2343
3155
  }, Symbol.toStringTag, { value: "Module" }));
@@ -2427,7 +3239,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2427
3239
  };
2428
3240
  const updateNodes = (nodes) => {
2429
3241
  nodes.forEach((node) => {
2430
- if (!node.type.key) {
3242
+ if (isValidElementNode(node) && !node.type.key) {
2431
3243
  node.type.key = getLabel(node);
2432
3244
  }
2433
3245
  });
@@ -2529,7 +3341,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2529
3341
  };
2530
3342
  }
2531
3343
  }));
2532
- var FuTable = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/FuTable.vue"]]);
3344
+ var FuTable = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/FuTable.vue"]]);
2533
3345
  const tableColumnSelect = (localKey) => {
2534
3346
  const columnsKey = computed(() => {
2535
3347
  return localKey ? "FU-T-" + localKey : "";
@@ -2701,7 +3513,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2701
3513
  };
2702
3514
  }
2703
3515
  });
2704
- var FuTableColumnSelectPopover = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-column-select/FuTableColumnSelectPopover.vue"]]);
3516
+ var FuTableColumnSelectPopover = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-column-select/FuTableColumnSelectPopover.vue"]]);
2705
3517
  const _hoisted_1$1 = { style: { "display": "inline-block" } };
2706
3518
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2707
3519
  __name: "FuTableColumnSelectDialog",
@@ -2835,7 +3647,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2835
3647
  };
2836
3648
  }
2837
3649
  });
2838
- var FuTableColumnSelectDialog = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-column-select/FuTableColumnSelectDialog.vue"]]);
3650
+ var FuTableColumnSelectDialog = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-column-select/FuTableColumnSelectDialog.vue"]]);
2839
3651
  const _sfc_main$6 = defineComponent({
2840
3652
  name: "FuTableColumnSelect",
2841
3653
  props: ["type"],
@@ -2850,7 +3662,7 @@ const _sfc_main$6 = defineComponent({
2850
3662
  };
2851
3663
  }
2852
3664
  });
2853
- var FuTableColumnSelect = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-column-select/FuTableColumnSelect.vue"]]);
3665
+ var FuTableColumnSelect = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-column-select/FuTableColumnSelect.vue"]]);
2854
3666
  const __default__$5 = { name: "FuTablePagination" };
2855
3667
  const _sfc_main$5 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$5), {
2856
3668
  props: {
@@ -2899,7 +3711,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2899
3711
  };
2900
3712
  }
2901
3713
  }));
2902
- var FuTablePagination = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/FuTablePagination.vue"]]);
3714
+ var FuTablePagination = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/FuTablePagination.vue"]]);
2903
3715
  const __default__$4 = { name: "FuTableButton" };
2904
3716
  const _sfc_main$4 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
2905
3717
  props: {
@@ -2928,7 +3740,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
2928
3740
  };
2929
3741
  }
2930
3742
  }));
2931
- var FuTableButton = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-operations/FuTableButton.vue"]]);
3743
+ var FuTableButton = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-operations/FuTableButton.vue"]]);
2932
3744
  const __default__$3 = { name: "FuTableMoreButton" };
2933
3745
  const _sfc_main$3 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
2934
3746
  props: {
@@ -3014,7 +3826,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
3014
3826
  };
3015
3827
  }
3016
3828
  }));
3017
- var FuTableMoreButton = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-operations/FuTableMoreButton.vue"]]);
3829
+ var FuTableMoreButton = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-operations/FuTableMoreButton.vue"]]);
3018
3830
  const __default__$2 = { name: "FuTableOperations" };
3019
3831
  const _sfc_main$2 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
3020
3832
  props: {
@@ -3121,7 +3933,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
3121
3933
  };
3122
3934
  }
3123
3935
  }));
3124
- var FuTableOperations = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-operations/FuTableOperations.vue"]]);
3936
+ var FuTableOperations = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/table-operations/FuTableOperations.vue"]]);
3125
3937
  const _hoisted_1 = { class: "fu-dropdown-link" };
3126
3938
  const _hoisted_2 = {
3127
3939
  key: 0,
@@ -3255,7 +4067,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
3255
4067
  };
3256
4068
  }
3257
4069
  }));
3258
- var FuTableColumnDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/FuTableColumnDropdown.vue"]]);
4070
+ var FuTableColumnDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/table/FuTableColumnDropdown.vue"]]);
3259
4071
  FuTable.install = (app) => {
3260
4072
  app.component(FuTable.name, FuTable);
3261
4073
  app.component(FuTablePagination.name, FuTablePagination);
@@ -3265,7 +4077,7 @@ FuTable.install = (app) => {
3265
4077
  app.component(FuTableButton.name, FuTableButton);
3266
4078
  app.component(FuTableMoreButton.name, FuTableMoreButton);
3267
4079
  };
3268
- var __glob_1_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4080
+ var __glob_2_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3269
4081
  __proto__: null,
3270
4082
  "default": FuTable
3271
4083
  }, Symbol.toStringTag, { value: "Module" }));
@@ -3324,10 +4136,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
3324
4136
  addable: false
3325
4137
  }, _ctx.$attrs), {
3326
4138
  default: withCtx(() => [
3327
- renderSlot(_ctx.$slots, "default"),
3328
4139
  __props.addable ? (openBlock(), createBlock(_component_el_tab_pane, {
3329
4140
  name: "add",
3330
- key: "add"
4141
+ key: "add",
4142
+ lazy: true
3331
4143
  }, {
3332
4144
  label: withCtx(() => [
3333
4145
  renderSlot(_ctx.$slots, "add", {}, () => [
@@ -3404,23 +4216,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
3404
4216
  ])
3405
4217
  ]),
3406
4218
  _: 3
3407
- })) : createCommentVNode("v-if", true)
4219
+ })) : createCommentVNode("v-if", true),
4220
+ renderSlot(_ctx.$slots, "default")
3408
4221
  ]),
3409
4222
  _: 3
3410
4223
  }, 16);
3411
4224
  };
3412
4225
  }
3413
4226
  }));
3414
- var FuTabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/q4speed/fit2cloud2.0/fit2cloud-ui-plus/src/components/tabs/FuTabs.vue"]]);
4227
+ var FuTabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/tabs/FuTabs.vue"]]);
3415
4228
  FuTabs.install = (app) => {
3416
4229
  app.component(FuTabs.name, FuTabs);
3417
4230
  };
3418
- var __glob_1_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4231
+ var __glob_2_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3419
4232
  __proto__: null,
3420
4233
  "default": FuTabs
3421
4234
  }, Symbol.toStringTag, { value: "Module" }));
3422
4235
  const name = "fit2cloud-ui-plus";
3423
- const version = "0.0.1-beta.12";
4236
+ const version = "0.0.1-beta.19";
3424
4237
  const main = "./lib/fit2cloud-ui-plus.es.js";
3425
4238
  const files = [
3426
4239
  "lib",
@@ -3438,11 +4251,12 @@ const scripts = {
3438
4251
  dev: "vite",
3439
4252
  build: "vite build",
3440
4253
  "build-lib": "vite build --mode lib && vue-tsc --emitDeclarationOnly",
4254
+ "build-docs": "vite build --mode docs",
3441
4255
  preview: "vite preview"
3442
4256
  };
3443
4257
  const dependencies = {
3444
4258
  "@element-plus/icons-vue": "^1.1.4",
3445
- "element-plus": "^2.2.2",
4259
+ "element-plus": "^2.2.14",
3446
4260
  "github-markdown-css": "^5.1.0",
3447
4261
  "prism-theme-vars": "^0.2.3",
3448
4262
  prismjs: "^1.28.0",
@@ -3475,12 +4289,13 @@ var PackageJSON = {
3475
4289
  dependencies,
3476
4290
  devDependencies
3477
4291
  };
3478
- const components = { "./components/filter-bar/index.ts": __glob_1_0, "./components/read-write-switch/index.ts": __glob_1_1, "./components/speed-dial/index.ts": __glob_1_2, "./components/split-pane/index.ts": __glob_1_3, "./components/table/index.ts": __glob_1_4, "./components/tabs/index.ts": __glob_1_5 };
3479
- const install = (app) => {
4292
+ const components = { "./components/filter-bar/index.ts": __glob_2_0, "./components/read-write-switch/index.ts": __glob_2_1, "./components/search-bar/index.ts": __glob_2_2, "./components/speed-dial/index.ts": __glob_2_3, "./components/split-pane/index.ts": __glob_2_4, "./components/table/index.ts": __glob_2_5, "./components/tabs/index.ts": __glob_2_6 };
4293
+ const install = (app, config) => {
3480
4294
  Object.keys(components).forEach((key) => {
3481
4295
  let component = components[key].default;
3482
4296
  app.use(component);
3483
4297
  });
4298
+ provideGlobalConfig(config);
3484
4299
  };
3485
4300
  const plugin = {
3486
4301
  name: "Fit2CloudUIPlus",