fit2cloud-ui-plus 0.0.1-beta.17 → 0.0.1-beta.18

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 (44) hide show
  1. package/lib/fit2cloud-ui-plus.es.js +818 -79
  2. package/lib/fit2cloud-ui-plus.umd.js +1 -1
  3. package/package.json +2 -2
  4. package/src/components/search-bar/FuComplexSearch.vue +102 -170
  5. package/src/components/search-bar/FuQuickSearch.vue +17 -10
  6. package/src/components/search-bar/FuSearchBar.vue +154 -158
  7. package/src/components/search-bar/FuSearchBarButton.vue +12 -14
  8. package/src/components/search-bar/FuSearchContions.vue +24 -16
  9. package/src/components/search-bar/complex-components/FuComplexDate.vue +5 -6
  10. package/src/components/search-bar/complex-components/FuComplexDateTime.vue +20 -17
  11. package/src/components/search-bar/complex-components/FuComplexInput.vue +7 -2
  12. package/src/components/search-bar/complex-components/FuComplexSelect.vue +14 -9
  13. package/src/components/search-bar/index.ts +20 -0
  14. package/src/components/search-bar/types.ts +1 -1
  15. package/src/styles/common/function.scss +14 -4
  16. package/src/styles/common/mixins.scss +9 -4
  17. package/src/styles/common/variables.scss +33 -11
  18. package/src/styles/components/filter-bar.scss +9 -10
  19. package/src/styles/components/search-bar.scss +27 -71
  20. package/src/styles/components/table.scss +5 -5
  21. package/src/styles/index.scss +2 -0
  22. package/src/styles/var.scss +8 -0
  23. package/types/examples/pages/search-bar/attributes.d.ts +63 -0
  24. package/types/examples/pages/search-bar/demo/BaseSearchbar.vue.d.ts +31 -0
  25. package/types/examples/pages/search-bar/demo/ComplexSearchDemo.vue.d.ts +40 -0
  26. package/types/examples/pages/search-bar/demo/EchoConditionsDemo.vue.d.ts +32 -0
  27. package/types/examples/pages/search-bar/demo/QuickSearchDemo.vue.d.ts +7 -0
  28. package/types/examples/pages/search-bar/demo/SearchBarButtonDemo.vue.d.ts +32 -0
  29. package/types/examples/pages/search-bar/index.vue.d.ts +2 -0
  30. package/types/src/components/search-bar/FuComplexSearch.vue.d.ts +21 -1
  31. package/types/src/components/search-bar/FuQuickSearch.vue.d.ts +3 -7
  32. package/types/src/components/search-bar/FuSearchBar.vue.d.ts +57 -1
  33. package/types/src/components/search-bar/FuSearchBarButton.vue.d.ts +13 -11
  34. package/types/src/components/search-bar/FuSearchContions.vue.d.ts +25 -11
  35. package/types/src/components/search-bar/index.d.ts +2 -0
  36. package/types/src/components/search-bar/types.d.ts +1 -1
  37. package/src/components/read-write-switch/index.d.ts +0 -2
  38. package/src/components/read-write-switch/types.d.ts +0 -4
  39. package/src/components/search-bar/complex-components/index.js +0 -16
  40. package/src/components/search-bar/complex-components/mixins.js +0 -26
  41. package/src/components/search-bar/index.js +0 -16
  42. package/src/components/table/index.d.ts +0 -2
  43. package/src/components/table/table-column-select/utils.d.ts +0 -8
  44. package/src/components/table/types.d.ts +0 -2
@@ -17,7 +17,7 @@ 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, withDirectives, createTextVNode, createCommentVNode, vShow, renderSlot, resolveDynamicComponent, toHandlers, nextTick, normalizeClass, withModifiers, h, normalizeStyle, Transition, useSlots, isVNode, Comment, onUpdated, normalizeProps, guardReactiveProps } from "vue";
20
+ import { defineComponent, ref, watch, resolveComponent, openBlock, createBlock, mergeProps, getCurrentInstance, inject, computed, unref, isRef, createElementBlock, Fragment, renderList, createElementVNode, toDisplayString, createVNode, withCtx, provide, 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
23
  var _export_sfc = (sfc, props) => {
@@ -27,8 +27,8 @@ var _export_sfc = (sfc, props) => {
27
27
  }
28
28
  return target;
29
29
  };
30
- const __default__$h = { name: "FuFilterInput" };
31
- const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$h), {
30
+ const __default__$q = { name: "FuFilterInput" };
31
+ const _sfc_main$y = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$q), {
32
32
  props: {
33
33
  size: {
34
34
  type: String,
@@ -77,7 +77,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
77
77
  };
78
78
  }
79
79
  }));
80
- var FuFilterInput = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterInput.vue"]]);
80
+ var FuFilterInput = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterInput.vue"]]);
81
81
  const globalConfig = ref();
82
82
  function useGlobalConfig(key, defaultValue = void 0) {
83
83
  const config = getCurrentInstance() ? inject(Symbol(), globalConfig) : globalConfig;
@@ -534,9 +534,9 @@ const useLocale = () => {
534
534
  const locale = useGlobalConfig("locale");
535
535
  return buildLocaleContext(computed(() => locale.value || Chinese));
536
536
  };
537
- const _hoisted_1$c = { class: "fu-filter-conditions" };
538
- const _hoisted_2$7 = { class: "condition-text" };
539
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
537
+ const _hoisted_1$k = { class: "fu-filter-conditions" };
538
+ const _hoisted_2$e = { class: "condition-text" };
539
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
540
540
  __name: "FuFilterConditions",
541
541
  props: {
542
542
  conditions: Array
@@ -555,13 +555,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
555
555
  return (_ctx, _cache) => {
556
556
  const _component_CloseBold = resolveComponent("CloseBold");
557
557
  const _component_el_icon = resolveComponent("el-icon");
558
- return openBlock(), createElementBlock("div", _hoisted_1$c, [
558
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
559
559
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.conditions, (condition, index) => {
560
560
  return openBlock(), createElementBlock("div", {
561
561
  class: "fu-filter-conditions__item",
562
562
  key: index
563
563
  }, [
564
- createElementVNode("div", _hoisted_2$7, toDisplayString(text(condition)), 1),
564
+ createElementVNode("div", _hoisted_2$e, toDisplayString(text(condition)), 1),
565
565
  createVNode(_component_el_icon, {
566
566
  class: "fu-scale-click",
567
567
  onClick: ($event) => remove(index)
@@ -577,16 +577,16 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
577
577
  };
578
578
  }
579
579
  });
580
- var FuFilterConditions = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterConditions.vue"]]);
580
+ var FuFilterConditions = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterConditions.vue"]]);
581
581
  const selectKey = Symbol("SelectKey");
582
- const referenceKey = Symbol("ReferenceKey");
583
- const _hoisted_1$b = { class: "fu-filter__result" };
584
- const _hoisted_2$6 = { style: { "opacity": "0.6" } };
585
- const _hoisted_3$4 = /* @__PURE__ */ createElementVNode("div", { class: "fu-filter__split" }, null, -1);
582
+ const referenceKey$1 = Symbol("ReferenceKey");
583
+ const _hoisted_1$j = { class: "fu-filter__result" };
584
+ const _hoisted_2$d = { style: { "opacity": "0.6" } };
585
+ const _hoisted_3$b = /* @__PURE__ */ createElementVNode("div", { class: "fu-filter__split" }, null, -1);
586
586
  const _hoisted_4$2 = { class: "drawer-body" };
587
587
  const _hoisted_5$1 = { class: "drawer-footer" };
588
- const __default__$g = { name: "FuFilter" };
589
- const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$g), {
588
+ const __default__$p = { name: "FuFilter" };
589
+ const _sfc_main$w = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$p), {
590
590
  props: {
591
591
  size: {
592
592
  type: String,
@@ -693,7 +693,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
693
693
  const show = computed(() => {
694
694
  return conditions.value.length > 0 && props.showEmpty === false || props.showEmpty;
695
695
  });
696
- provide(referenceKey, references);
696
+ provide(referenceKey$1, references);
697
697
  onMounted(() => {
698
698
  drawer.value = false;
699
699
  });
@@ -714,11 +714,11 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
714
714
  ref_key: "filterRef",
715
715
  ref: filterRef
716
716
  }, [
717
- createElementVNode("div", _hoisted_1$b, [
717
+ createElementVNode("div", _hoisted_1$j, [
718
718
  createTextVNode(toDisplayString(__props.count) + " ", 1),
719
- createElementVNode("span", _hoisted_2$6, toDisplayString(unref(t)("fu.filter_bar.results")), 1)
719
+ createElementVNode("span", _hoisted_2$d, toDisplayString(unref(t)("fu.filter_bar.results")), 1)
720
720
  ]),
721
- _hoisted_3$4,
721
+ _hoisted_3$b,
722
722
  scroll.value ? (openBlock(), createElementBlock("div", {
723
723
  key: 0,
724
724
  class: "fu-filter__scroll",
@@ -816,15 +816,15 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
816
816
  };
817
817
  }
818
818
  }));
819
- var FuFilter = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilter.vue"]]);
820
- const _hoisted_1$a = { class: "fu-filter-bar" };
821
- const _hoisted_2$5 = { class: "fu-filter-bar__top" };
822
- const _hoisted_3$3 = { class: "top_left" };
819
+ var FuFilter = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilter.vue"]]);
820
+ const _hoisted_1$i = { class: "fu-filter-bar" };
821
+ const _hoisted_2$c = { class: "fu-filter-bar__top" };
822
+ const _hoisted_3$a = { class: "top_left" };
823
823
  const _hoisted_4$1 = { class: "top_right" };
824
824
  const _hoisted_5 = { key: 0 };
825
825
  const _hoisted_6 = { class: "fu-filter-bar__bottom" };
826
- const __default__$f = { name: "FuFilterBar" };
827
- const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$f), {
826
+ const __default__$o = { name: "FuFilterBar" };
827
+ const _sfc_main$v = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$o), {
828
828
  props: {
829
829
  size: {
830
830
  type: String,
@@ -875,9 +875,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
875
875
  });
876
876
  return (_ctx, _cache) => {
877
877
  const _component_el_button = resolveComponent("el-button");
878
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
879
- createElementVNode("div", _hoisted_2$5, [
880
- createElementVNode("div", _hoisted_3$3, [
878
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
879
+ createElementVNode("div", _hoisted_2$c, [
880
+ createElementVNode("div", _hoisted_3$a, [
881
881
  renderSlot(_ctx.$slots, "tl")
882
882
  ]),
883
883
  createElementVNode("div", _hoisted_4$1, [
@@ -925,9 +925,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
925
925
  };
926
926
  }
927
927
  }));
928
- var FuFilterBar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterBar.vue"]]);
929
- const _hoisted_1$9 = ["onClick"];
930
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
928
+ var FuFilterBar = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/FuFilterBar.vue"]]);
929
+ const _hoisted_1$h = ["onClick"];
930
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
931
931
  __name: "FuFilterOption",
932
932
  props: {
933
933
  value: {
@@ -959,17 +959,17 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
959
959
  return openBlock(), createElementBlock("div", {
960
960
  class: normalizeClass(["fu-filter-option", { "is-selected": unref(selected), "is-disabled": __props.disabled }]),
961
961
  onClick: withModifiers(click, ["stop"])
962
- }, toDisplayString(__props.label || __props.value), 11, _hoisted_1$9);
962
+ }, toDisplayString(__props.label || __props.value), 11, _hoisted_1$h);
963
963
  };
964
964
  }
965
965
  });
966
- var FuFilterOption = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterOption.vue"]]);
967
- const _hoisted_1$8 = { class: "fu-filter-component" };
968
- const _hoisted_2$4 = { class: "fu-filter-component__label" };
969
- const _hoisted_3$2 = { class: "fu-filter-component__content" };
966
+ var FuFilterOption = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterOption.vue"]]);
967
+ const _hoisted_1$g = { class: "fu-filter-component" };
968
+ const _hoisted_2$b = { class: "fu-filter-component__label" };
969
+ const _hoisted_3$9 = { class: "fu-filter-component__content" };
970
970
  const _hoisted_4 = { class: "fu-filter-option" };
971
- const __default__$e = { name: "FuFilterSelect" };
972
- const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$e), {
971
+ const __default__$n = { name: "FuFilterSelect" };
972
+ const _sfc_main$t = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$n), {
973
973
  props: {
974
974
  size: {
975
975
  type: String,
@@ -1064,7 +1064,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1064
1064
  setSelected,
1065
1065
  selection
1066
1066
  });
1067
- const references = inject(referenceKey);
1067
+ const references = inject(referenceKey$1);
1068
1068
  const field = props.field;
1069
1069
  const reference = { field, init, getCondition };
1070
1070
  references == null ? void 0 : references.value.push(reference);
@@ -1078,9 +1078,9 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1078
1078
  const _component_Plus = resolveComponent("Plus");
1079
1079
  const _component_el_icon = resolveComponent("el-icon");
1080
1080
  const _component_el_popover = resolveComponent("el-popover");
1081
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
1082
- createElementVNode("div", _hoisted_2$4, toDisplayString(__props.label), 1),
1083
- createElementVNode("div", _hoisted_3$2, [
1081
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [
1082
+ createElementVNode("div", _hoisted_2$b, toDisplayString(__props.label), 1),
1083
+ createElementVNode("div", _hoisted_3$9, [
1084
1084
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(showOptions), (o) => {
1085
1085
  return openBlock(), createBlock(FuFilterOption, {
1086
1086
  label: o.label,
@@ -1145,7 +1145,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1145
1145
  };
1146
1146
  }
1147
1147
  }));
1148
- var FuFilterSelect = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterSelect.vue"]]);
1148
+ var FuFilterSelect = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterSelect.vue"]]);
1149
1149
  const getCheckDate = (timestamp) => {
1150
1150
  if (!timestamp)
1151
1151
  return false;
@@ -1175,11 +1175,11 @@ const dateFormat = (timestamp) => {
1175
1175
  const d = (dt.getDate() + "").padStart(2, "0");
1176
1176
  return `${y}-${m}-${d}`;
1177
1177
  };
1178
- const _hoisted_1$7 = { class: "fu-filter-component" };
1179
- const _hoisted_2$3 = { class: "fu-filter-component__label" };
1180
- const _hoisted_3$1 = { class: "fu-filter-component__content" };
1181
- const __default__$d = { name: "FuFilterDate" };
1182
- const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$d), {
1178
+ const _hoisted_1$f = { class: "fu-filter-component" };
1179
+ const _hoisted_2$a = { class: "fu-filter-component__label" };
1180
+ const _hoisted_3$8 = { class: "fu-filter-component__content" };
1181
+ const __default__$m = { name: "FuFilterDate" };
1182
+ const _sfc_main$s = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$m), {
1183
1183
  props: {
1184
1184
  size: {
1185
1185
  type: String,
@@ -1211,7 +1211,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1211
1211
  function init(v) {
1212
1212
  value.value = v !== void 0 ? v : "";
1213
1213
  }
1214
- const references = inject(referenceKey);
1214
+ const references = inject(referenceKey$1);
1215
1215
  const field = props.field;
1216
1216
  const reference = { field, init, getCondition };
1217
1217
  references == null ? void 0 : references.value.push(reference);
@@ -1221,9 +1221,9 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1221
1221
  });
1222
1222
  return (_ctx, _cache) => {
1223
1223
  const _component_el_date_picker = resolveComponent("el-date-picker");
1224
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
1225
- createElementVNode("div", _hoisted_2$3, toDisplayString(__props.label), 1),
1226
- createElementVNode("div", _hoisted_3$1, [
1224
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [
1225
+ createElementVNode("div", _hoisted_2$a, toDisplayString(__props.label), 1),
1226
+ createElementVNode("div", _hoisted_3$8, [
1227
1227
  createCommentVNode("configSize"),
1228
1228
  createVNode(_component_el_date_picker, mergeProps({
1229
1229
  class: "fu-filter-date",
@@ -1242,12 +1242,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1242
1242
  };
1243
1243
  }
1244
1244
  }));
1245
- var FuFilterDate = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterDate.vue"]]);
1246
- const _hoisted_1$6 = { class: "fu-filter-component" };
1247
- const _hoisted_2$2 = { class: "fu-filter-component__label" };
1248
- const _hoisted_3 = { class: "fu-filter-component__content" };
1249
- const __default__$c = { name: "FuFilterDateTime" };
1250
- const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$c), {
1245
+ var FuFilterDate = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterDate.vue"]]);
1246
+ const _hoisted_1$e = { class: "fu-filter-component" };
1247
+ const _hoisted_2$9 = { class: "fu-filter-component__label" };
1248
+ const _hoisted_3$7 = { class: "fu-filter-component__content" };
1249
+ const __default__$l = { name: "FuFilterDateTime" };
1250
+ const _sfc_main$r = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$l), {
1251
1251
  props: {
1252
1252
  size: {
1253
1253
  type: String,
@@ -1279,7 +1279,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1279
1279
  function init(v) {
1280
1280
  value.value = v !== void 0 ? v : "";
1281
1281
  }
1282
- const references = inject(referenceKey);
1282
+ const references = inject(referenceKey$1);
1283
1283
  const field = props.field;
1284
1284
  const reference = { field, init, getCondition };
1285
1285
  references == null ? void 0 : references.value.push(reference);
@@ -1289,9 +1289,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1289
1289
  });
1290
1290
  return (_ctx, _cache) => {
1291
1291
  const _component_el_date_picker = resolveComponent("el-date-picker");
1292
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
1293
- createElementVNode("div", _hoisted_2$2, toDisplayString(__props.label), 1),
1294
- createElementVNode("div", _hoisted_3, [
1292
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [
1293
+ createElementVNode("div", _hoisted_2$9, toDisplayString(__props.label), 1),
1294
+ createElementVNode("div", _hoisted_3$7, [
1295
1295
  createCommentVNode(' :size="configSize" '),
1296
1296
  createVNode(_component_el_date_picker, mergeProps({
1297
1297
  class: "fu-filter-date",
@@ -1310,7 +1310,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1310
1310
  };
1311
1311
  }
1312
1312
  }));
1313
- var FuFilterDateTime = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterDateTime.vue"]]);
1313
+ var FuFilterDateTime = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/filter-bar/filter-components/FuFilterDateTime.vue"]]);
1314
1314
  FuFilterBar.install = (app) => {
1315
1315
  app.component(FuFilterBar.name, FuFilterBar);
1316
1316
  app.component(FuFilter.name, FuFilter);
@@ -1339,7 +1339,7 @@ const uuid = function() {
1339
1339
  });
1340
1340
  };
1341
1341
  const TRIGGERS = ["manual", "onClick", "onDblclick"];
1342
- const _sfc_main$h = defineComponent({
1342
+ const _sfc_main$q = defineComponent({
1343
1343
  name: "FuReadWriteSwitch",
1344
1344
  props: {
1345
1345
  modelValue: Boolean,
@@ -1407,9 +1407,9 @@ const _sfc_main$h = defineComponent({
1407
1407
  };
1408
1408
  }
1409
1409
  });
1410
- var FuReadWriteSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuReadWriteSwitch.vue"]]);
1411
- const __default__$b = { name: "FuInputRwSwitch" };
1412
- const _sfc_main$g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$b), {
1410
+ var FuReadWriteSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuReadWriteSwitch.vue"]]);
1411
+ const __default__$k = { name: "FuInputRwSwitch" };
1412
+ const _sfc_main$p = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$k), {
1413
1413
  props: {
1414
1414
  modelValue: [String, Number],
1415
1415
  writeTrigger: {
@@ -1460,9 +1460,9 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1460
1460
  };
1461
1461
  }
1462
1462
  }));
1463
- var FuInputRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuInputRwSwitch.vue"]]);
1464
- const __default__$a = { name: "FuSelectRwSwitch" };
1465
- const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$a), {
1463
+ var FuInputRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuInputRwSwitch.vue"]]);
1464
+ const __default__$j = { name: "FuSelectRwSwitch" };
1465
+ const _sfc_main$o = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$j), {
1466
1466
  props: {
1467
1467
  modelValue: [String, Number],
1468
1468
  options: {
@@ -1538,7 +1538,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
1538
1538
  };
1539
1539
  }
1540
1540
  }));
1541
- var FuSelectRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuSelectRwSwitch.vue"]]);
1541
+ var FuSelectRwSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/read-write-switch/FuSelectRwSwitch.vue"]]);
1542
1542
  FuReadWriteSwitch.install = (app) => {
1543
1543
  app.component(FuReadWriteSwitch.name, FuReadWriteSwitch);
1544
1544
  app.component(FuInputRwSwitch.name, FuInputRwSwitch);
@@ -1548,6 +1548,745 @@ var __glob_1_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
1548
1548
  __proto__: null,
1549
1549
  "default": FuReadWriteSwitch
1550
1550
  }, Symbol.toStringTag, { value: "Module" }));
1551
+ const _hoisted_1$d = ["placeholder"];
1552
+ const __default__$i = { name: "FuQuickSearch" };
1553
+ const _sfc_main$n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$i), {
1554
+ props: {
1555
+ size: {
1556
+ type: String,
1557
+ validator: validateSize
1558
+ },
1559
+ modelValue: String,
1560
+ placeholder: String,
1561
+ useIcon: {
1562
+ type: Boolean,
1563
+ default: true
1564
+ }
1565
+ },
1566
+ emits: ["update:modelValue", "change"],
1567
+ setup(__props, { emit }) {
1568
+ const props = __props;
1569
+ const focused = ref(false);
1570
+ const value = computed({
1571
+ get: () => props.modelValue,
1572
+ set: (val) => {
1573
+ emit("update:modelValue", val);
1574
+ }
1575
+ });
1576
+ function focus() {
1577
+ focused.value = true;
1578
+ }
1579
+ function blur(e) {
1580
+ if (focused.value) {
1581
+ emit("change", value.value, e);
1582
+ }
1583
+ focused.value = false;
1584
+ }
1585
+ function keydown(e) {
1586
+ const { code } = e;
1587
+ if (code === "Enter") {
1588
+ focused.value = false;
1589
+ emit("change", value.value, e);
1590
+ }
1591
+ }
1592
+ return (_ctx, _cache) => {
1593
+ const _component_Search = resolveComponent("Search");
1594
+ const _component_el_icon = resolveComponent("el-icon");
1595
+ return openBlock(), createElementBlock("div", {
1596
+ class: normalizeClass(["fu-quick-search", "fu-quick-search--" + __props.size])
1597
+ }, [
1598
+ __props.useIcon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
1599
+ default: withCtx(() => [
1600
+ createVNode(_component_Search)
1601
+ ]),
1602
+ _: 1
1603
+ })) : createCommentVNode("v-if", true),
1604
+ createElementVNode("label", null, [
1605
+ withDirectives(createElementVNode("input", {
1606
+ placeholder: __props.placeholder,
1607
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(value) ? value.value = $event : null),
1608
+ onBlur: blur,
1609
+ onFocus: focus,
1610
+ onKeydown: keydown
1611
+ }, null, 40, _hoisted_1$d), [
1612
+ [vModelText, unref(value)]
1613
+ ])
1614
+ ])
1615
+ ], 2);
1616
+ };
1617
+ }
1618
+ }));
1619
+ var FuQuickSearch = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuQuickSearch.vue"]]);
1620
+ const referenceKey = Symbol("ReferenceKey");
1621
+ const _hoisted_1$c = { class: "fu-complex-components" };
1622
+ const _hoisted_2$8 = { class: "fu-complex-components__body" };
1623
+ const _hoisted_3$6 = { class: "fu-complex-components__footer" };
1624
+ const __default__$h = { name: "FuComplexSearch" };
1625
+ const _sfc_main$m = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$h), {
1626
+ props: {
1627
+ size: {
1628
+ type: String,
1629
+ validator: validateSize
1630
+ },
1631
+ components: Array
1632
+ },
1633
+ emits: ["close", "change"],
1634
+ setup(__props, { expose, emit }) {
1635
+ const active = ref(false);
1636
+ const references = inject(referenceKey);
1637
+ const showComplex = computed(() => {
1638
+ return references ? references.value.length > 0 : false;
1639
+ });
1640
+ const { t } = useLocale();
1641
+ function hide() {
1642
+ emit("close");
1643
+ }
1644
+ function toggle() {
1645
+ active.value = !active.value;
1646
+ if (active.value) {
1647
+ references == null ? void 0 : references.value.forEach((r) => r.init());
1648
+ }
1649
+ }
1650
+ function close() {
1651
+ active.value = false;
1652
+ }
1653
+ function ok() {
1654
+ close();
1655
+ exec();
1656
+ }
1657
+ function exec() {
1658
+ let conditions = [];
1659
+ references == null ? void 0 : references.value.forEach((r) => {
1660
+ let condition = r.getCondition();
1661
+ if (condition && condition.value !== void 0) {
1662
+ conditions.push(condition);
1663
+ }
1664
+ });
1665
+ emit("change", conditions);
1666
+ }
1667
+ function setConditions(conditionObj) {
1668
+ let result = [];
1669
+ if (conditionObj) {
1670
+ Object.keys(conditionObj).forEach((key) => {
1671
+ let c = conditionObj[key];
1672
+ references == null ? void 0 : references.value.forEach((r) => {
1673
+ if (r.field === key) {
1674
+ r.init(c.value);
1675
+ const condition = r.getCondition();
1676
+ if (condition) {
1677
+ result.push(condition);
1678
+ }
1679
+ }
1680
+ });
1681
+ });
1682
+ }
1683
+ return result;
1684
+ }
1685
+ expose({
1686
+ setConditions,
1687
+ close
1688
+ });
1689
+ return (_ctx, _cache) => {
1690
+ const _component_el_button = resolveComponent("el-button");
1691
+ const _component_el_popover = resolveComponent("el-popover");
1692
+ return openBlock(), createBlock(_component_el_popover, {
1693
+ visible: active.value,
1694
+ "show-arrow": false,
1695
+ onHide: hide,
1696
+ width: "auto",
1697
+ "popper-class": "fu-complex-components"
1698
+ }, {
1699
+ reference: withCtx(() => [
1700
+ withDirectives(createVNode(_component_el_button, {
1701
+ circle: "",
1702
+ icon: "ArrowRightBold",
1703
+ onClick: toggle,
1704
+ size: __props.size,
1705
+ class: normalizeClass(["fu-complex-components-trigger", { "is-active": active.value }])
1706
+ }, null, 8, ["size", "class"]), [
1707
+ [vShow, unref(showComplex)]
1708
+ ])
1709
+ ]),
1710
+ default: withCtx(() => [
1711
+ createElementVNode("div", _hoisted_1$c, [
1712
+ createElementVNode("div", _hoisted_2$8, [
1713
+ renderSlot(_ctx.$slots, "default", {}, () => [
1714
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.components, (c) => {
1715
+ return openBlock(), createBlock(resolveDynamicComponent(c.component), mergeProps(c, { size: __props.size }), null, 16, ["size"]);
1716
+ }), 256))
1717
+ ])
1718
+ ]),
1719
+ createElementVNode("div", _hoisted_3$6, [
1720
+ createVNode(_component_el_button, {
1721
+ onClick: close,
1722
+ size: __props.size
1723
+ }, {
1724
+ default: withCtx(() => [
1725
+ createTextVNode(toDisplayString(unref(t)("fu.search_bar.cancel")), 1)
1726
+ ]),
1727
+ _: 1
1728
+ }, 8, ["size"]),
1729
+ createVNode(_component_el_button, {
1730
+ type: "primary",
1731
+ onClick: ok,
1732
+ size: __props.size
1733
+ }, {
1734
+ default: withCtx(() => [
1735
+ createTextVNode(toDisplayString(unref(t)("fu.search_bar.ok")), 1)
1736
+ ]),
1737
+ _: 1
1738
+ }, 8, ["size"])
1739
+ ])
1740
+ ])
1741
+ ]),
1742
+ _: 3
1743
+ }, 8, ["visible"]);
1744
+ };
1745
+ }
1746
+ }));
1747
+ var FuComplexSearch = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuComplexSearch.vue"]]);
1748
+ const __default__$g = { name: "FuSearchBarButton" };
1749
+ const _sfc_main$l = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$g), {
1750
+ props: {
1751
+ size: {
1752
+ type: String,
1753
+ validator: validateSize
1754
+ },
1755
+ tooltip: String
1756
+ },
1757
+ setup(__props) {
1758
+ return (_ctx, _cache) => {
1759
+ const _component_el_button = resolveComponent("el-button");
1760
+ const _component_el_tooltip = resolveComponent("el-tooltip");
1761
+ return openBlock(), createBlock(_component_el_tooltip, {
1762
+ content: __props.tooltip,
1763
+ disabled: !__props.tooltip
1764
+ }, {
1765
+ default: withCtx(() => [
1766
+ createVNode(_component_el_button, mergeProps({
1767
+ class: "fu-search-bar-button",
1768
+ circle: "",
1769
+ size: __props.size
1770
+ }, _ctx.$attrs), null, 16, ["size"])
1771
+ ]),
1772
+ _: 1
1773
+ }, 8, ["content", "disabled"]);
1774
+ };
1775
+ }
1776
+ }));
1777
+ var FuSearchBarButton = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuSearchBarButton.vue"]]);
1778
+ const _hoisted_1$b = { class: "fu-search-conditions__item" };
1779
+ const _hoisted_2$7 = { key: 0 };
1780
+ const _hoisted_3$5 = { class: "condition-value" };
1781
+ const __default__$f = { name: "FuSearchConditions" };
1782
+ const _sfc_main$k = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$f), {
1783
+ props: {
1784
+ size: {
1785
+ type: String,
1786
+ validator: validateSize
1787
+ },
1788
+ conditions: {
1789
+ type: Array,
1790
+ required: true
1791
+ }
1792
+ },
1793
+ emits: ["change"],
1794
+ setup(__props, { emit }) {
1795
+ const props = __props;
1796
+ function remove(index) {
1797
+ props.conditions.splice(index, 1);
1798
+ emit("change", props.conditions);
1799
+ }
1800
+ return (_ctx, _cache) => {
1801
+ const _component_Close = resolveComponent("Close");
1802
+ const _component_el_icon = resolveComponent("el-icon");
1803
+ return openBlock(), createElementBlock("div", {
1804
+ class: normalizeClass(["fu-search-conditions", "fu-search-conditions--" + __props.size])
1805
+ }, [
1806
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.conditions, (condition, index) => {
1807
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
1808
+ condition.label ? (openBlock(), createElementBlock("div", _hoisted_2$7, toDisplayString(condition.label), 1)) : createCommentVNode("v-if", true),
1809
+ createElementVNode("div", _hoisted_3$5, toDisplayString(condition.valueLabel), 1),
1810
+ createVNode(_component_el_icon, {
1811
+ class: "condition-remove",
1812
+ onClick: ($event) => remove(index)
1813
+ }, {
1814
+ default: withCtx(() => [
1815
+ createVNode(_component_Close)
1816
+ ]),
1817
+ _: 2
1818
+ }, 1032, ["onClick"])
1819
+ ]);
1820
+ }), 256))
1821
+ ], 2);
1822
+ };
1823
+ }
1824
+ }));
1825
+ var FuSearchConditions = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuSearchContions.vue"]]);
1826
+ const _hoisted_1$a = { class: "fu-search-bar" };
1827
+ const _hoisted_2$6 = { class: "fu-search-bar__content" };
1828
+ const _hoisted_3$4 = { class: "fu-search-bar__buttons" };
1829
+ const __default__$e = { name: "FuSearchBar" };
1830
+ const _sfc_main$j = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$e), {
1831
+ props: {
1832
+ size: {
1833
+ type: String,
1834
+ validator: validateSize
1835
+ },
1836
+ quickKey: {
1837
+ type: String,
1838
+ default: "quick"
1839
+ },
1840
+ quickPlaceholder: String,
1841
+ useCleanButton: {
1842
+ type: Boolean,
1843
+ default: true
1844
+ },
1845
+ useRefreshButton: {
1846
+ type: Boolean,
1847
+ default: false
1848
+ },
1849
+ useQuickSearch: {
1850
+ type: Boolean,
1851
+ default: true
1852
+ },
1853
+ components: Array
1854
+ },
1855
+ emits: ["close", "exec"],
1856
+ setup(__props, { expose, emit }) {
1857
+ const props = __props;
1858
+ const complexRef = ref(null);
1859
+ const quick = ref("");
1860
+ const conditions = ref([]);
1861
+ const references = ref([]);
1862
+ provide(referenceKey, references);
1863
+ const placeholder = computed(() => {
1864
+ return props.quickPlaceholder ? props.quickPlaceholder : t("fu.search_bar.search");
1865
+ });
1866
+ const showComplex = computed(() => {
1867
+ return references.value.length > 0;
1868
+ });
1869
+ const showClean = computed(() => {
1870
+ return props.useCleanButton && (conditions.value.length > 0 || quick.value);
1871
+ });
1872
+ const showRefresh = computed(() => {
1873
+ return props.useRefreshButton && showComplex.value;
1874
+ });
1875
+ const condition = computed(() => {
1876
+ var _a2;
1877
+ const obj = {};
1878
+ if (quick.value) {
1879
+ obj[props.quickKey] = quick.value;
1880
+ }
1881
+ if (((_a2 = conditions.value) == null ? void 0 : _a2.length) > 0) {
1882
+ conditions.value.forEach((c) => {
1883
+ const { field, value } = c;
1884
+ obj[c.field] = { field, value };
1885
+ });
1886
+ }
1887
+ return obj;
1888
+ });
1889
+ const { t } = useLocale();
1890
+ function closePopover() {
1891
+ emit("close");
1892
+ }
1893
+ function clean() {
1894
+ quick.value = "";
1895
+ conditions.value = [];
1896
+ emit("exec", condition.value);
1897
+ }
1898
+ function change(ccs) {
1899
+ conditions.value = merge(conditions.value, ccs);
1900
+ exec();
1901
+ }
1902
+ function refresh() {
1903
+ var _a2;
1904
+ (_a2 = complexRef.value) == null ? void 0 : _a2.close();
1905
+ exec();
1906
+ }
1907
+ function exec() {
1908
+ emit("exec", condition.value);
1909
+ }
1910
+ function merge(source, target) {
1911
+ let conditions2 = source.concat(target);
1912
+ let conditionMap = /* @__PURE__ */ new Map();
1913
+ for (let condition2 of conditions2) {
1914
+ conditionMap.set(condition2.field, condition2);
1915
+ }
1916
+ let result = [];
1917
+ conditionMap.forEach((v) => {
1918
+ result.push(v);
1919
+ });
1920
+ return result;
1921
+ }
1922
+ function setConditions(conditionObj) {
1923
+ var _a2;
1924
+ conditions.value = ((_a2 = complexRef.value) == null ? void 0 : _a2.setConditions(conditionObj)) || [];
1925
+ if (props.useQuickSearch && conditionObj[props.quickKey] !== void 0) {
1926
+ quick.value = conditionObj[props.quickKey].value;
1927
+ exec();
1928
+ } else {
1929
+ refresh();
1930
+ }
1931
+ }
1932
+ expose({
1933
+ setConditions
1934
+ });
1935
+ return (_ctx, _cache) => {
1936
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
1937
+ createElementVNode("div", _hoisted_2$6, [
1938
+ createVNode(FuComplexSearch, {
1939
+ ref_key: "complexRef",
1940
+ ref: complexRef,
1941
+ components: __props.components,
1942
+ onChange: change,
1943
+ size: __props.size,
1944
+ onClose: closePopover
1945
+ }, {
1946
+ default: withCtx(() => [
1947
+ renderSlot(_ctx.$slots, "complex")
1948
+ ]),
1949
+ _: 3
1950
+ }, 8, ["components", "size"]),
1951
+ unref(showComplex) ? (openBlock(), createBlock(FuSearchConditions, {
1952
+ key: 0,
1953
+ conditions: conditions.value,
1954
+ size: __props.size,
1955
+ onChange: change
1956
+ }, null, 8, ["conditions", "size"])) : createCommentVNode("v-if", true),
1957
+ __props.useQuickSearch ? (openBlock(), createBlock(FuQuickSearch, {
1958
+ key: 1,
1959
+ size: __props.size,
1960
+ "use-icon": !unref(showComplex),
1961
+ placeholder: unref(placeholder),
1962
+ modelValue: quick.value,
1963
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => quick.value = $event),
1964
+ onChange: exec
1965
+ }, null, 8, ["size", "use-icon", "placeholder", "modelValue"])) : createCommentVNode("v-if", true)
1966
+ ]),
1967
+ createElementVNode("div", _hoisted_3$4, [
1968
+ renderSlot(_ctx.$slots, "buttons", {}, () => [
1969
+ unref(showClean) ? (openBlock(), createBlock(FuSearchBarButton, {
1970
+ key: 0,
1971
+ icon: "Close",
1972
+ onClick: clean,
1973
+ size: __props.size,
1974
+ tooltip: unref(t)("fu.search_bar.clean")
1975
+ }, null, 8, ["size", "tooltip"])) : createCommentVNode("v-if", true),
1976
+ unref(showRefresh) ? (openBlock(), createBlock(FuSearchBarButton, {
1977
+ key: 1,
1978
+ icon: "Refresh",
1979
+ onClick: refresh,
1980
+ size: __props.size,
1981
+ tooltip: unref(t)("fu.search_bar.refresh")
1982
+ }, null, 8, ["size", "tooltip"])) : createCommentVNode("v-if", true),
1983
+ renderSlot(_ctx.$slots, "default")
1984
+ ])
1985
+ ])
1986
+ ]);
1987
+ };
1988
+ }
1989
+ }));
1990
+ var FuSearchBar = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/FuSearchBar.vue"]]);
1991
+ const _hoisted_1$9 = { class: "fu-complex-component" };
1992
+ const _hoisted_2$5 = { class: "fu-complex-component__label" };
1993
+ const _hoisted_3$3 = { class: "fu-complex-component__content" };
1994
+ const __default__$d = { name: "FuComplexSelect" };
1995
+ const _sfc_main$i = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$d), {
1996
+ props: {
1997
+ size: {
1998
+ type: String,
1999
+ validator: validateSize
2000
+ },
2001
+ multiple: {
2002
+ type: Boolean,
2003
+ default: false
2004
+ },
2005
+ label: String,
2006
+ field: {
2007
+ type: String,
2008
+ required: true
2009
+ },
2010
+ options: {
2011
+ type: Array,
2012
+ default: []
2013
+ }
2014
+ },
2015
+ emits: ["init"],
2016
+ setup(__props, { expose, emit }) {
2017
+ const props = __props;
2018
+ const selection = ref(props.multiple ? [] : "");
2019
+ const valueLabel = computed(() => {
2020
+ if (Array.isArray(selection.value)) {
2021
+ let values = [];
2022
+ selection.value.forEach((v) => {
2023
+ values.push(getValueLabel(v));
2024
+ });
2025
+ return values.join(", ");
2026
+ }
2027
+ return getValueLabel(selection.value);
2028
+ });
2029
+ const { t } = useLocale();
2030
+ function getValueLabel(value) {
2031
+ for (let o of props.options) {
2032
+ if (o.value === value) {
2033
+ return o.label;
2034
+ }
2035
+ }
2036
+ return value;
2037
+ }
2038
+ function getCondition() {
2039
+ if (!selection.value || Array.isArray(selection.value) && selection.value.length === 0)
2040
+ return;
2041
+ let { field: field2, label } = props;
2042
+ return { field: field2, label, value: selection.value, valueLabel: valueLabel.value };
2043
+ }
2044
+ function init(v) {
2045
+ selection.value = v !== void 0 ? v : props.multiple ? [] : "";
2046
+ emit("init");
2047
+ }
2048
+ const references = inject(referenceKey);
2049
+ const field = props.field;
2050
+ const reference = { field, init, getCondition };
2051
+ references == null ? void 0 : references.value.push(reference);
2052
+ expose({
2053
+ getCondition,
2054
+ init
2055
+ });
2056
+ return (_ctx, _cache) => {
2057
+ const _component_el_option = resolveComponent("el-option");
2058
+ const _component_el_select = resolveComponent("el-select");
2059
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
2060
+ createElementVNode("div", _hoisted_2$5, toDisplayString(__props.label), 1),
2061
+ createElementVNode("div", _hoisted_3$3, [
2062
+ createVNode(_component_el_select, mergeProps({
2063
+ class: "fu-complex-select",
2064
+ placeholder: unref(t)("fu.search_bar.please_select"),
2065
+ modelValue: selection.value,
2066
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selection.value = $event),
2067
+ size: __props.size
2068
+ }, _ctx.$attrs, { clearable: "" }), {
2069
+ default: withCtx(() => [
2070
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (o) => {
2071
+ return openBlock(), createBlock(_component_el_option, {
2072
+ key: o.value,
2073
+ label: o.label,
2074
+ value: o.value
2075
+ }, null, 8, ["label", "value"]);
2076
+ }), 128))
2077
+ ]),
2078
+ _: 1
2079
+ }, 16, ["placeholder", "modelValue", "size"])
2080
+ ])
2081
+ ]);
2082
+ };
2083
+ }
2084
+ }));
2085
+ var FuComplexSelect = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexSelect.vue"]]);
2086
+ const _hoisted_1$8 = { class: "fu-complex-component" };
2087
+ const _hoisted_2$4 = { class: "fu-complex-component__label" };
2088
+ const _hoisted_3$2 = { class: "fu-complex-component__content" };
2089
+ const __default__$c = { name: "FuComplexInput" };
2090
+ const _sfc_main$h = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$c), {
2091
+ props: {
2092
+ size: {
2093
+ type: String,
2094
+ validator: validateSize
2095
+ },
2096
+ label: String,
2097
+ field: {
2098
+ type: String,
2099
+ required: true
2100
+ }
2101
+ },
2102
+ setup(__props, { expose }) {
2103
+ const props = __props;
2104
+ const inputValue = ref("");
2105
+ const { t } = useLocale();
2106
+ function getCondition() {
2107
+ if (!inputValue.value)
2108
+ return;
2109
+ let { field: field2, label } = props;
2110
+ let value = inputValue.value;
2111
+ let valueLabel = inputValue.value;
2112
+ return { field: field2, label, value, valueLabel };
2113
+ }
2114
+ function init(v) {
2115
+ inputValue.value = v !== void 0 ? v : "";
2116
+ }
2117
+ const references = inject(referenceKey);
2118
+ const field = props.field;
2119
+ const reference = { field, init, getCondition };
2120
+ references == null ? void 0 : references.value.push(reference);
2121
+ expose({
2122
+ getCondition,
2123
+ init
2124
+ });
2125
+ return (_ctx, _cache) => {
2126
+ const _component_el_input = resolveComponent("el-input");
2127
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
2128
+ createElementVNode("div", _hoisted_2$4, toDisplayString(__props.label), 1),
2129
+ createElementVNode("div", _hoisted_3$2, [
2130
+ createVNode(_component_el_input, mergeProps({
2131
+ modelValue: inputValue.value,
2132
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
2133
+ placeholder: unref(t)("fu.search_bar.please_input"),
2134
+ size: __props.size
2135
+ }, _ctx.$attrs), null, 16, ["modelValue", "placeholder", "size"])
2136
+ ])
2137
+ ]);
2138
+ };
2139
+ }
2140
+ }));
2141
+ var FuComplexInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexInput.vue"]]);
2142
+ const _hoisted_1$7 = { class: "fu-complex-component" };
2143
+ const _hoisted_2$3 = { class: "fu-complex-component__label" };
2144
+ const _hoisted_3$1 = { class: "fu-complex-component__content" };
2145
+ const __default__$b = { name: "FuComplexDate" };
2146
+ const _sfc_main$g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$b), {
2147
+ props: {
2148
+ size: {
2149
+ type: String,
2150
+ validator: validateSize
2151
+ },
2152
+ label: String,
2153
+ field: {
2154
+ type: String,
2155
+ required: true
2156
+ },
2157
+ valueFormat: {
2158
+ type: String,
2159
+ default: "x"
2160
+ }
2161
+ },
2162
+ setup(__props, { expose }) {
2163
+ const props = __props;
2164
+ const value = ref("");
2165
+ const valueLabel = computed(() => {
2166
+ return dateFormat(value.value[0]) + " ~ " + dateFormat(value.value[1]);
2167
+ });
2168
+ const { t } = useLocale();
2169
+ function getCondition() {
2170
+ if (!String(value.value))
2171
+ return;
2172
+ let { field: field2, label } = props;
2173
+ return { field: field2, label, value: value.value, valueLabel: valueLabel.value };
2174
+ }
2175
+ function init(v) {
2176
+ value.value = v !== void 0 ? v : "";
2177
+ }
2178
+ const references = inject(referenceKey);
2179
+ const field = props.field;
2180
+ const reference = { field, init, getCondition };
2181
+ references == null ? void 0 : references.value.push(reference);
2182
+ expose({
2183
+ getCondition,
2184
+ init
2185
+ });
2186
+ return (_ctx, _cache) => {
2187
+ const _component_el_date_picker = resolveComponent("el-date-picker");
2188
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
2189
+ createElementVNode("div", _hoisted_2$3, toDisplayString(__props.label), 1),
2190
+ createElementVNode("div", _hoisted_3$1, [
2191
+ createVNode(_component_el_date_picker, mergeProps({
2192
+ class: "fu-complex-date",
2193
+ modelValue: value.value,
2194
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
2195
+ }, _ctx.$attrs, {
2196
+ size: __props.size,
2197
+ placeholder: unref(t)("fu.search_bar.select_date"),
2198
+ type: "daterange",
2199
+ "value-format": __props.valueFormat,
2200
+ "start-placeholder": unref(t)("fu.search_bar.start_date"),
2201
+ "end-placeholder": unref(t)("fu.search_bar.end_date")
2202
+ }), null, 16, ["modelValue", "size", "placeholder", "value-format", "start-placeholder", "end-placeholder"])
2203
+ ])
2204
+ ]);
2205
+ };
2206
+ }
2207
+ }));
2208
+ var FuComplexDate = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexDate.vue"]]);
2209
+ const _hoisted_1$6 = { class: "fu-complex-component" };
2210
+ const _hoisted_2$2 = { class: "fu-complex-component__label" };
2211
+ const _hoisted_3 = { class: "fu-complex-component__content" };
2212
+ const __default__$a = { name: "FuComplexDateTime" };
2213
+ const _sfc_main$f = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$a), {
2214
+ props: {
2215
+ size: {
2216
+ type: String,
2217
+ validator: validateSize
2218
+ },
2219
+ label: String,
2220
+ field: {
2221
+ type: String,
2222
+ required: true
2223
+ },
2224
+ valueFormat: {
2225
+ type: String,
2226
+ default: "x"
2227
+ }
2228
+ },
2229
+ setup(__props, { expose }) {
2230
+ const props = __props;
2231
+ const { t } = useLocale();
2232
+ const value = ref("");
2233
+ const valueLabel = computed(() => {
2234
+ return datetimeFormat(value.value[0]) + " ~ " + datetimeFormat(value.value[1]);
2235
+ });
2236
+ function getCondition() {
2237
+ if (!String(value.value))
2238
+ return;
2239
+ let { field: field2, label } = props;
2240
+ return { field: field2, label, value: value.value, valueLabel: valueLabel.value };
2241
+ }
2242
+ function init(v) {
2243
+ value.value = v !== void 0 ? v : "";
2244
+ }
2245
+ const references = inject(referenceKey);
2246
+ const field = props.field;
2247
+ const reference = { field, init, getCondition };
2248
+ references == null ? void 0 : references.value.push(reference);
2249
+ expose({
2250
+ getCondition,
2251
+ init
2252
+ });
2253
+ return (_ctx, _cache) => {
2254
+ const _component_el_date_picker = resolveComponent("el-date-picker");
2255
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
2256
+ createElementVNode("div", _hoisted_2$2, toDisplayString(__props.label), 1),
2257
+ createElementVNode("div", _hoisted_3, [
2258
+ createCommentVNode(' :size="configSize" '),
2259
+ createVNode(_component_el_date_picker, mergeProps({
2260
+ class: "fu-complex-date-time",
2261
+ modelValue: value.value,
2262
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
2263
+ }, _ctx.$attrs, {
2264
+ size: __props.size,
2265
+ placeholder: unref(t)("fu.search_bar.select_date_time"),
2266
+ type: "datetimerange",
2267
+ "value-format": __props.valueFormat,
2268
+ "start-placeholder": unref(t)("fu.search_bar.start_date_time"),
2269
+ "end-placeholder": unref(t)("fu.search_bar.end_date_time")
2270
+ }), null, 16, ["modelValue", "size", "placeholder", "value-format", "start-placeholder", "end-placeholder"])
2271
+ ])
2272
+ ]);
2273
+ };
2274
+ }
2275
+ }));
2276
+ var FuComplexDateTime = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__file", "/Users/mokun/fit2cloud2.0/fit2cloud-ui-plus/src/components/search-bar/complex-components/FuComplexDateTime.vue"]]);
2277
+ FuSearchBar.install = (app) => {
2278
+ app.component(FuQuickSearch.name, FuQuickSearch);
2279
+ app.component(FuSearchBar.name, FuSearchBar);
2280
+ app.component(FuSearchBarButton.name, FuSearchBarButton);
2281
+ app.component(FuComplexSelect.name, FuComplexSelect);
2282
+ app.component(FuComplexInput.name, FuComplexInput);
2283
+ app.component(FuComplexDate.name, FuComplexDate);
2284
+ app.component(FuComplexDateTime.name, FuComplexDateTime);
2285
+ };
2286
+ var __glob_1_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2287
+ __proto__: null,
2288
+ "default": FuSearchBar
2289
+ }, Symbol.toStringTag, { value: "Module" }));
1551
2290
  var _a;
1552
2291
  const isClient = typeof window !== "undefined";
1553
2292
  isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
@@ -2146,7 +2885,7 @@ FuSpeedDial.install = (app) => {
2146
2885
  app.component(FuSpeedDial.name, FuSpeedDial);
2147
2886
  app.component(FuSpeedDialItem.name, FuSpeedDialItem);
2148
2887
  };
2149
- var __glob_1_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2888
+ var __glob_1_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2150
2889
  __proto__: null,
2151
2890
  "default": FuSpeedDial
2152
2891
  }, Symbol.toStringTag, { value: "Module" }));
@@ -2361,7 +3100,7 @@ var FuSplitPane = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "/Users/m
2361
3100
  FuSplitPane.install = (app) => {
2362
3101
  app.component(FuSplitPane.name, FuSplitPane);
2363
3102
  };
2364
- var __glob_1_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3103
+ var __glob_1_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2365
3104
  __proto__: null,
2366
3105
  "default": FuSplitPane
2367
3106
  }, Symbol.toStringTag, { value: "Module" }));
@@ -3289,7 +4028,7 @@ FuTable.install = (app) => {
3289
4028
  app.component(FuTableButton.name, FuTableButton);
3290
4029
  app.component(FuTableMoreButton.name, FuTableMoreButton);
3291
4030
  };
3292
- var __glob_1_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4031
+ var __glob_1_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3293
4032
  __proto__: null,
3294
4033
  "default": FuTable
3295
4034
  }, Symbol.toStringTag, { value: "Module" }));
@@ -3440,12 +4179,12 @@ var FuTabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/mokun/fi
3440
4179
  FuTabs.install = (app) => {
3441
4180
  app.component(FuTabs.name, FuTabs);
3442
4181
  };
3443
- var __glob_1_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4182
+ var __glob_1_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3444
4183
  __proto__: null,
3445
4184
  "default": FuTabs
3446
4185
  }, Symbol.toStringTag, { value: "Module" }));
3447
4186
  const name = "fit2cloud-ui-plus";
3448
- const version = "0.0.1-beta.17";
4187
+ const version = "0.0.1-beta.18";
3449
4188
  const main = "./lib/fit2cloud-ui-plus.es.js";
3450
4189
  const files = [
3451
4190
  "lib",
@@ -3468,7 +4207,7 @@ const scripts = {
3468
4207
  };
3469
4208
  const dependencies = {
3470
4209
  "@element-plus/icons-vue": "^1.1.4",
3471
- "element-plus": "^2.2.13",
4210
+ "element-plus": "^2.2.14",
3472
4211
  "github-markdown-css": "^5.1.0",
3473
4212
  "prism-theme-vars": "^0.2.3",
3474
4213
  prismjs: "^1.28.0",
@@ -3501,7 +4240,7 @@ var PackageJSON = {
3501
4240
  dependencies,
3502
4241
  devDependencies
3503
4242
  };
3504
- 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 };
4243
+ const components = { "./components/filter-bar/index.ts": __glob_1_0, "./components/read-write-switch/index.ts": __glob_1_1, "./components/search-bar/index.ts": __glob_1_2, "./components/speed-dial/index.ts": __glob_1_3, "./components/split-pane/index.ts": __glob_1_4, "./components/table/index.ts": __glob_1_5, "./components/tabs/index.ts": __glob_1_6 };
3505
4244
  const install = (app) => {
3506
4245
  Object.keys(components).forEach((key) => {
3507
4246
  let component = components[key].default;