fantasia-ui 0.2.52 → 0.2.55

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 (64) hide show
  1. package/dist/fantasia-ui.css +93 -35
  2. package/dist/fantasia-ui.es.js +122 -83
  3. package/dist/fantasia-ui.umd.js +121 -82
  4. package/dist/types/packages/components/modules/FAffix.vue.d.ts +1 -1
  5. package/dist/types/packages/components/modules/FAlert.vue.d.ts +1 -1
  6. package/dist/types/packages/components/modules/FAvatar.vue.d.ts +1 -1
  7. package/dist/types/packages/components/modules/FBadge.vue.d.ts +1 -1
  8. package/dist/types/packages/components/modules/FBreadcrumb.vue.d.ts +3 -3
  9. package/dist/types/packages/components/modules/FButton.vue.d.ts +2 -2
  10. package/dist/types/packages/components/modules/FButtonGroup.vue.d.ts +2 -2
  11. package/dist/types/packages/components/modules/FCard.vue.d.ts +2 -2
  12. package/dist/types/packages/components/modules/FCheckbox.vue.d.ts +1 -1
  13. package/dist/types/packages/components/modules/FCol.vue.d.ts +1 -1
  14. package/dist/types/packages/components/modules/FCollapse.vue.d.ts +1 -1
  15. package/dist/types/packages/components/modules/FCollapseItem.vue.d.ts +1 -1
  16. package/dist/types/packages/components/modules/FColorPicker.vue.d.ts +1 -1
  17. package/dist/types/packages/components/modules/FContainer.vue.d.ts +1 -1
  18. package/dist/types/packages/components/modules/FDialog.vue.d.ts +9 -7
  19. package/dist/types/packages/components/modules/FDivider.vue.d.ts +2 -2
  20. package/dist/types/packages/components/modules/FDropdown.vue.d.ts +2 -2
  21. package/dist/types/packages/components/modules/FEditor.vue.d.ts +1 -1
  22. package/dist/types/packages/components/modules/FEmpty.vue.d.ts +1 -1
  23. package/dist/types/packages/components/modules/FForm.vue.d.ts +3 -3
  24. package/dist/types/packages/components/modules/FFormItem.vue.d.ts +1 -1
  25. package/dist/types/packages/components/modules/FIcon.vue.d.ts +1 -1
  26. package/dist/types/packages/components/modules/FImage.vue.d.ts +1 -1
  27. package/dist/types/packages/components/modules/FInput.vue.d.ts +1 -1
  28. package/dist/types/packages/components/modules/FInputNumber.vue.d.ts +1 -1
  29. package/dist/types/packages/components/modules/FLink.vue.d.ts +1 -1
  30. package/dist/types/packages/components/modules/FLoading.vue.d.ts +1 -1
  31. package/dist/types/packages/components/modules/FMarquee.vue.d.ts +1 -1
  32. package/dist/types/packages/components/modules/FMask.vue.d.ts +1 -1
  33. package/dist/types/packages/components/modules/FMessage.vue.d.ts +2 -2
  34. package/dist/types/packages/components/modules/FNotification.vue.d.ts +3 -3
  35. package/dist/types/packages/components/modules/FPagination.vue.d.ts +1 -1
  36. package/dist/types/packages/components/modules/FProgress.vue.d.ts +1 -1
  37. package/dist/types/packages/components/modules/FRadio.vue.d.ts +1 -1
  38. package/dist/types/packages/components/modules/FRadioGroup.vue.d.ts +1 -1
  39. package/dist/types/packages/components/modules/FRate.vue.d.ts +1 -1
  40. package/dist/types/packages/components/modules/FResult.vue.d.ts +2 -2
  41. package/dist/types/packages/components/modules/FRow.vue.d.ts +2 -2
  42. package/dist/types/packages/components/modules/FScrollbar.vue.d.ts +1 -1
  43. package/dist/types/packages/components/modules/FSelect.vue.d.ts +14 -11
  44. package/dist/types/packages/components/modules/FSlider.vue.d.ts +1 -1
  45. package/dist/types/packages/components/modules/FSpace.vue.d.ts +3 -3
  46. package/dist/types/packages/components/modules/FSteps.vue.d.ts +1 -1
  47. package/dist/types/packages/components/modules/FSwitch.vue.d.ts +1 -1
  48. package/dist/types/packages/components/modules/FTable.vue.d.ts +4 -4
  49. package/dist/types/packages/components/modules/FTabs.vue.d.ts +1 -1
  50. package/dist/types/packages/components/modules/FTag.vue.d.ts +2 -2
  51. package/dist/types/packages/components/modules/FText.vue.d.ts +1 -1
  52. package/dist/types/packages/components/modules/FTooltip.vue.d.ts +1 -1
  53. package/dist/types/packages/components/modules/FTransfer.vue.d.ts +1 -1
  54. package/dist/types/packages/components/modules/FTreeSelect.vue.d.ts +1 -1
  55. package/dist/types/packages/components/modules/FTypography.vue.d.ts +1 -1
  56. package/dist/types/packages/composables/modules/FDialog.d.ts +1 -1
  57. package/dist/types/packages/composables/modules/FMessage.d.ts +1 -1
  58. package/dist/types/packages/composables/modules/FNotification.d.ts +1 -1
  59. package/dist/types/packages/types/components/modules/f-dialog.d.ts +4 -0
  60. package/dist/types/packages/types/components/modules/f-menu.d.ts +1 -1
  61. package/dist/types/packages/types/components/modules/f-select.d.ts +16 -2
  62. package/dist/types/packages/types/components/modules/f-toolbar.d.ts +1 -1
  63. package/dist/types/packages/utils/validator.d.ts +1 -1
  64. package/package.json +1 -1
@@ -38,7 +38,7 @@ var __async = (__this, __arguments, generator) => {
38
38
  });
39
39
  };
40
40
  import { defineComponent, computed, createElementBlock, openBlock, normalizeStyle, unref, renderSlot, normalizeClass, createCommentVNode, Fragment, renderList, createElementVNode, toDisplayString, ref, watch, createVNode, withDirectives, Transition, withCtx, vShow, mergeModels, useModel, inject, createBlock, resolveDynamicComponent, nextTick, onUnmounted, Teleport, withModifiers, withKeys, isRef, vModelText, createTextVNode, TransitionGroup, useSlots, provide, onMounted, readonly, onBeforeUnmount, reactive, toRefs, createStaticVNode, h, render } from "vue";
41
- import { CloseCircleOutline, EyeOutline, EyeOffOutline, StarOutline, StarHalf, Star, ChevronDownOutline, ChevronBackOutline, EllipsisHorizontal, ChevronForwardOutline, CloseCircle, Close, Person, InformationCircleOutline, WarningOutline, AlertCircleOutline, CheckmarkCircleOutline, CloudUpload, DocumentOutline, RemoveOutline, AddOutline, ChevronUpOutline, InformationCircle, AlertCircle, CheckmarkCircle, Warning } from "@vicons/ionicons5";
41
+ import { CloseCircleOutline, EyeOutline, EyeOffOutline, StarOutline, StarHalf, Star, ChevronDownOutline, ChevronBackOutline, EllipsisHorizontal, ChevronForwardOutline, CloseCircle, Close, Person, InformationCircleOutline, WarningOutline, AlertCircleOutline, CheckmarkCircleOutline, CloudUpload, DocumentOutline, RemoveOutline, AddOutline, ChevronUpOutline, InformationCircle, AlertCircle, CheckmarkCircle, CloseOutline, Warning } from "@vicons/ionicons5";
42
42
  import { useEventListener } from "@vueuse/core";
43
43
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
44
44
  __name: "FIcon",
@@ -73,7 +73,7 @@ const _export_sfc = (sfc, props) => {
73
73
  };
74
74
  const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-baf7de0c"]]);
75
75
  const PictureError = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1780285609860'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='12961'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M894.4%20281.504a39.36%2039.36%200%200%200-27.104-11.808l-293.888-10.976-22.016%2046.88%2030.592%2087.2-55.2%2099.008%2022.4%2079.904%2056%2068.48%2081.024-70.496c7.808-6.88%2020.288-6.496%2027.104%201.216l103.904%20106.4c7.296%207.296%206.88%2019.2-0.928%2026.112a18.944%2018.944%200%200%201-13.76%204.896l-284.8-10.624-14.24%2038.72%2015.52%2034.592%20327.488%2011.808c21.504%200.8%2039.616-15.104%2040.096-35.52l18.208-439.296a34.368%2034.368%200%200%200-10.4-26.496zM684.096%20483.2c-32.32-1.184-57.28-26.88-56-57.088%201.28-30.592%2028.416-54.208%2060.288-52.992%2031.904%201.184%2057.312%2026.88%2056%2057.088-1.184%2030.208-28.384%2054.304-60.288%2052.992z%20m-211.104%20253.6l9.92-40.8-231.424%2015.104c-10.784%200.8-19.776-6.496-20.672-16.704a17.856%2017.856%200%200%201%204.672-13.504l171.52-186.272a18.048%2018.048%200%200%201%2014.208-6.112c5.184%200%2010.272%201.984%2014.176%205.696l57.28%2056.704-24.576-60.32%2044-104.288L472%20302.72l16.384-48.096-315.392%2020.8c-21.504%201.184-37.504%2018.784-36.192%2039.072l31.904%20439.424c0.384%209.792%205.184%2018.688%2013.408%2024.896%207.776%206.496%2017.696%209.792%2028%208.992l281.792-18.304-18.88-32.704z'%20p-id='12962'%3e%3c/path%3e%3c/svg%3e";
76
- const _hoisted_1$B = {
76
+ const _hoisted_1$C = {
77
77
  key: 0,
78
78
  class: "loop cubes"
79
79
  };
@@ -94,7 +94,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
94
94
  return openBlock(), createElementBlock("div", {
95
95
  class: normalizeClass(["flex-center-col size-full loading-container", { "global-mask": _ctx.mask }])
96
96
  }, [
97
- _ctx.type === "cubes" ? (openBlock(), createElementBlock("div", _hoisted_1$B, [
97
+ _ctx.type === "cubes" ? (openBlock(), createElementBlock("div", _hoisted_1$C, [
98
98
  (openBlock(), createElementBlock(Fragment, null, renderList(6, (i) => {
99
99
  return createElementVNode("div", {
100
100
  class: "item cubes",
@@ -111,7 +111,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
111
111
  }
112
112
  });
113
113
  const FLoading = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-20f58a50"]]);
114
- const _hoisted_1$A = { class: "f-image" };
114
+ const _hoisted_1$B = { class: "f-image" };
115
115
  const _hoisted_2$u = {
116
116
  key: 0,
117
117
  class: "f-image__placeholder"
@@ -138,7 +138,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
138
138
  const onLoad = () => status.value = "loaded";
139
139
  const onError = () => status.value = "error";
140
140
  return (_ctx, _cache) => {
141
- return openBlock(), createElementBlock("div", _hoisted_1$A, [
141
+ return openBlock(), createElementBlock("div", _hoisted_1$B, [
142
142
  createVNode(Transition, { name: "fade" }, {
143
143
  default: withCtx(() => [
144
144
  unref(status) === "loading" ? (openBlock(), createElementBlock("div", _hoisted_2$u, [
@@ -177,7 +177,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
177
177
  }
178
178
  });
179
179
  const FImage = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-e959ab10"]]);
180
- const _hoisted_1$z = ["type", "value", "placeholder"];
180
+ const _hoisted_1$A = ["type", "value", "placeholder"];
181
181
  const _hoisted_2$t = { class: "f-input__suffix" };
182
182
  const _sfc_main$N = /* @__PURE__ */ defineComponent({
183
183
  __name: "FInput",
@@ -244,7 +244,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
244
244
  onBlur,
245
245
  onFocus,
246
246
  class: "f-input__inner"
247
- }, null, 40, _hoisted_1$z),
247
+ }, null, 40, _hoisted_1$A),
248
248
  createElementVNode("div", _hoisted_2$t, [
249
249
  unref(showClearIcon) ? (openBlock(), createBlock(FIcon, {
250
250
  key: 0,
@@ -273,7 +273,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
273
273
  }
274
274
  });
275
275
  const FInput = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-68f468e1"]]);
276
- const _hoisted_1$y = ["onMousemove"];
276
+ const _hoisted_1$z = ["onMousemove"];
277
277
  const _hoisted_2$s = {
278
278
  key: 0,
279
279
  class: "f-rate__score"
@@ -361,7 +361,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
361
361
  ]),
362
362
  _: 2
363
363
  }, 1032, ["color", "size"])
364
- ], 40, _hoisted_1$y);
364
+ ], 40, _hoisted_1$z);
365
365
  }), 128)),
366
366
  props.showText ? (openBlock(), createElementBlock("span", _hoisted_2$s, toDisplayString(unref(scoreText)), 1)) : createCommentVNode("", true)
367
367
  ], 34);
@@ -369,14 +369,14 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
369
369
  }
370
370
  });
371
371
  const FRate = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-3b5c4f14"]]);
372
- const _hoisted_1$x = { class: "f-dropdown-wrapper" };
372
+ const _hoisted_1$y = { class: "f-dropdown-wrapper" };
373
373
  const _hoisted_2$r = { class: "f-dropdown-content" };
374
374
  const _hoisted_3$o = ["onClick"];
375
375
  const _hoisted_4$f = {
376
376
  key: 0,
377
377
  class: "opt-icon"
378
378
  };
379
- const _hoisted_5$c = { class: "opt-label" };
379
+ const _hoisted_5$b = { class: "opt-label" };
380
380
  const _sfc_main$L = /* @__PURE__ */ defineComponent({
381
381
  __name: "FDropdown",
382
382
  props: {
@@ -549,7 +549,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
549
549
  });
550
550
  useEventListener(window, "click", handleWindowClick);
551
551
  return (_ctx, _cache) => {
552
- return openBlock(), createElementBlock("div", _hoisted_1$x, [
552
+ return openBlock(), createElementBlock("div", _hoisted_1$y, [
553
553
  createElementVNode("div", {
554
554
  ref_key: "triggerRef",
555
555
  ref: triggerRef,
@@ -589,7 +589,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
589
589
  opt.icon ? (openBlock(), createElementBlock("span", _hoisted_4$f, [
590
590
  (openBlock(), createBlock(resolveDynamicComponent(opt.icon)))
591
591
  ])) : createCommentVNode("", true),
592
- createElementVNode("span", _hoisted_5$c, toDisplayString(opt.label), 1)
592
+ createElementVNode("span", _hoisted_5$b, toDisplayString(opt.label), 1)
593
593
  ], 10, _hoisted_3$o);
594
594
  }), 128)) : renderSlot(_ctx.$slots, "content", { key: 1 }, void 0, true)
595
595
  ])
@@ -603,17 +603,20 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
603
603
  }
604
604
  });
605
605
  const FDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-ecac3ad8"]]);
606
+ const _hoisted_1$x = { class: "f-select__suffix" };
606
607
  const _sfc_main$K = /* @__PURE__ */ defineComponent({
607
608
  __name: "FSelect",
608
609
  props: /* @__PURE__ */ mergeModels({
609
610
  options: {},
610
- placeholder: {},
611
- disabled: { type: Boolean }
611
+ placeholder: { default: "请选择" },
612
+ disabled: { type: Boolean, default: false },
613
+ clearable: { type: Boolean, default: false },
614
+ size: { default: "medium" }
612
615
  }, {
613
616
  "modelValue": {},
614
617
  "modelModifiers": {}
615
618
  }),
616
- emits: /* @__PURE__ */ mergeModels(["select", "change"], ["update:modelValue"]),
619
+ emits: /* @__PURE__ */ mergeModels(["select", "change", "clear"], ["update:modelValue"]),
617
620
  setup(__props, { emit: __emit }) {
618
621
  const props = __props;
619
622
  const emit = __emit;
@@ -621,13 +624,16 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
621
624
  const isOpen = ref(false);
622
625
  const dropdownRef = ref();
623
626
  const selectedLabel = computed(() => {
624
- var _a, _b;
627
+ var _a;
625
628
  const option = props.options.find((o) => o.key === modelValue.value);
626
- return (_b = option == null ? void 0 : option.label) != null ? _b : (_a = props.placeholder) != null ? _a : "请选择";
629
+ return (_a = option == null ? void 0 : option.label) != null ? _a : props.placeholder;
627
630
  });
628
631
  const hasValue = computed(() => {
629
632
  return modelValue.value !== void 0 && modelValue.value !== null && modelValue.value !== "";
630
633
  });
634
+ const showClear = computed(() => {
635
+ return props.clearable && hasValue.value && !props.disabled;
636
+ });
631
637
  const handleSelect = (key, option) => {
632
638
  const oldValue = modelValue.value;
633
639
  modelValue.value = key;
@@ -637,6 +643,11 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
637
643
  }
638
644
  isOpen.value = false;
639
645
  };
646
+ const handleClear = (e) => {
647
+ e.stopPropagation();
648
+ modelValue.value = void 0;
649
+ emit("clear");
650
+ };
640
651
  return (_ctx, _cache) => {
641
652
  return openBlock(), createBlock(FDropdown, {
642
653
  ref_key: "dropdownRef",
@@ -655,18 +666,31 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
655
666
  class: normalizeClass(["f-select", {
656
667
  "is-active": unref(hasValue),
657
668
  "is-open": unref(isOpen),
658
- "is-disabled": _ctx.disabled
669
+ "is-disabled": _ctx.disabled,
670
+ [`f-select--${_ctx.size}`]: _ctx.size
659
671
  }])
660
672
  }, [
661
673
  createElementVNode("span", {
662
674
  class: normalizeClass(["f-select__label", { "is-placeholder": !unref(hasValue) }])
663
675
  }, toDisplayString(unref(selectedLabel)), 3),
664
- createVNode(FIcon, { class: "f-select__arrow" }, {
665
- default: withCtx(() => [
666
- createVNode(unref(ChevronDownOutline))
667
- ]),
668
- _: 1
669
- })
676
+ createElementVNode("div", _hoisted_1$x, [
677
+ unref(showClear) ? (openBlock(), createBlock(FIcon, {
678
+ key: 0,
679
+ class: "f-select__clear",
680
+ onClick: handleClear
681
+ }, {
682
+ default: withCtx(() => [
683
+ createVNode(unref(CloseCircleOutline))
684
+ ]),
685
+ _: 1
686
+ })) : createCommentVNode("", true),
687
+ createVNode(FIcon, { class: "f-select__arrow" }, {
688
+ default: withCtx(() => [
689
+ createVNode(unref(ChevronDownOutline))
690
+ ]),
691
+ _: 1
692
+ })
693
+ ])
670
694
  ], 2)
671
695
  ]),
672
696
  _: 1
@@ -674,7 +698,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
674
698
  };
675
699
  }
676
700
  });
677
- const FSelect = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-d4fb19d1"]]);
701
+ const FSelect = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-046bf984"]]);
678
702
  const _hoisted_1$w = {
679
703
  key: 0,
680
704
  class: "f-pagination"
@@ -688,8 +712,8 @@ const _hoisted_3$n = {
688
712
  class: "f-pagination__size"
689
713
  };
690
714
  const _hoisted_4$e = ["value"];
691
- const _hoisted_5$b = ["value"];
692
- const _hoisted_6$9 = {
715
+ const _hoisted_5$a = ["value"];
716
+ const _hoisted_6$8 = {
693
717
  key: 3,
694
718
  class: "f-pagination__list"
695
719
  };
@@ -765,7 +789,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
765
789
  return openBlock(), createElementBlock("option", {
766
790
  key: s,
767
791
  value: s
768
- }, toDisplayString(s) + " 条/页", 9, _hoisted_5$b);
792
+ }, toDisplayString(s) + " 条/页", 9, _hoisted_5$a);
769
793
  }), 128))
770
794
  ], 40, _hoisted_4$e)
771
795
  ])) : item === "prev" ? (openBlock(), createElementBlock("button", {
@@ -779,7 +803,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
779
803
  ]),
780
804
  _: 1
781
805
  })
782
- ], 2)) : item === "pager" ? (openBlock(), createElementBlock("ul", _hoisted_6$9, [
806
+ ], 2)) : item === "pager" ? (openBlock(), createElementBlock("ul", _hoisted_6$8, [
783
807
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pages), (page, index) => {
784
808
  return openBlock(), createElementBlock(Fragment, { key: index }, [
785
809
  page === "..." ? (openBlock(), createElementBlock("li", _hoisted_7$5, [
@@ -845,11 +869,11 @@ const _hoisted_4$d = {
845
869
  key: 2,
846
870
  class: "f-card__body"
847
871
  };
848
- const _hoisted_5$a = {
872
+ const _hoisted_5$9 = {
849
873
  key: 3,
850
874
  class: "f-card__footer"
851
875
  };
852
- const _hoisted_6$8 = {
876
+ const _hoisted_6$7 = {
853
877
  key: 0,
854
878
  class: "f-card__header"
855
879
  };
@@ -894,11 +918,11 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
894
918
  _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_4$d, [
895
919
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
896
920
  ])) : createCommentVNode("", true),
897
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
921
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
898
922
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
899
923
  ])) : createCommentVNode("", true)
900
924
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
901
- _ctx.$slots.header || _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_6$8, [
925
+ _ctx.$slots.header || _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_6$7, [
902
926
  renderSlot(_ctx.$slots, "header", {}, void 0, true),
903
927
  _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_7$4, [
904
928
  renderSlot(_ctx.$slots, "header-extra", {}, void 0, true)
@@ -2215,7 +2239,7 @@ const _hoisted_4$a = {
2215
2239
  key: 0,
2216
2240
  class: "f-tree-select__expand"
2217
2241
  };
2218
- const _hoisted_5$9 = { class: "f-tree-select__text" };
2242
+ const _hoisted_5$8 = { class: "f-tree-select__text" };
2219
2243
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
2220
2244
  __name: "FTreeSelect",
2221
2245
  props: /* @__PURE__ */ mergeModels({
@@ -2308,7 +2332,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
2308
2332
  onClick: ($event) => node.children && node.children.length ? toggleExpand(node.key) : handleSelect(node)
2309
2333
  }, [
2310
2334
  node.children && node.children.length ? (openBlock(), createElementBlock("span", _hoisted_4$a, toDisplayString(unref(expandedKeys).includes(node.key) ? "−" : "+"), 1)) : createCommentVNode("", true),
2311
- createElementVNode("span", _hoisted_5$9, toDisplayString(node.label), 1)
2335
+ createElementVNode("span", _hoisted_5$8, toDisplayString(node.label), 1)
2312
2336
  ], 14, _hoisted_3$e);
2313
2337
  }), 128))
2314
2338
  ])) : createCommentVNode("", true)
@@ -2321,8 +2345,8 @@ const _hoisted_1$f = { class: "f-transfer__panel" };
2321
2345
  const _hoisted_2$d = { class: "f-transfer__header" };
2322
2346
  const _hoisted_3$d = { class: "f-transfer__list" };
2323
2347
  const _hoisted_4$9 = ["onClick"];
2324
- const _hoisted_5$8 = { class: "f-transfer__actions" };
2325
- const _hoisted_6$7 = ["disabled"];
2348
+ const _hoisted_5$7 = { class: "f-transfer__actions" };
2349
+ const _hoisted_6$6 = ["disabled"];
2326
2350
  const _hoisted_7$3 = ["disabled"];
2327
2351
  const _hoisted_8$2 = { class: "f-transfer__panel" };
2328
2352
  const _hoisted_9$2 = { class: "f-transfer__header" };
@@ -2396,13 +2420,13 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
2396
2420
  }), 128))
2397
2421
  ])
2398
2422
  ]),
2399
- createElementVNode("div", _hoisted_5$8, [
2423
+ createElementVNode("div", _hoisted_5$7, [
2400
2424
  createElementVNode("button", {
2401
2425
  type: "button",
2402
2426
  class: "f-transfer__btn",
2403
2427
  disabled: _ctx.disabled || unref(leftList).length === 0,
2404
2428
  onClick: _cache[0] || (_cache[0] = ($event) => moveSelected("right"))
2405
- }, " → ", 8, _hoisted_6$7),
2429
+ }, " → ", 8, _hoisted_6$6),
2406
2430
  createElementVNode("button", {
2407
2431
  type: "button",
2408
2432
  class: "f-transfer__btn",
@@ -2473,8 +2497,8 @@ const _hoisted_1$d = { class: "f-editor__toolbar" };
2473
2497
  const _hoisted_2$b = { class: "f-editor__status" };
2474
2498
  const _hoisted_3$b = { class: "f-editor__lines" };
2475
2499
  const _hoisted_4$8 = { class: "f-editor__code-wrapper" };
2476
- const _hoisted_5$7 = ["innerHTML"];
2477
- const _hoisted_6$6 = ["rows", "readonly", "placeholder"];
2500
+ const _hoisted_5$6 = ["innerHTML"];
2501
+ const _hoisted_6$5 = ["rows", "readonly", "placeholder"];
2478
2502
  const LINE_HEIGHT_PX = 17.6;
2479
2503
  const PADDING_TOP_PX = 12;
2480
2504
  const MIN_BODY_HEIGHT = 180;
@@ -2703,7 +2727,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2703
2727
  key: line.lineNo,
2704
2728
  class: "f-editor__line",
2705
2729
  innerHTML: line.html + "\n"
2706
- }, null, 8, _hoisted_5$7);
2730
+ }, null, 8, _hoisted_5$6);
2707
2731
  }), 128))
2708
2732
  ], 512),
2709
2733
  withDirectives(createElementVNode("textarea", {
@@ -2721,7 +2745,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
2721
2745
  onClick: updateCursorInfo,
2722
2746
  onKeyup: updateCursorInfo,
2723
2747
  onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur"))
2724
- }, null, 40, _hoisted_6$6), [
2748
+ }, null, 40, _hoisted_6$5), [
2725
2749
  [vModelText, model.value]
2726
2750
  ])
2727
2751
  ])
@@ -2741,8 +2765,8 @@ const _hoisted_4$7 = {
2741
2765
  key: 0,
2742
2766
  class: "f-table__col--index"
2743
2767
  };
2744
- const _hoisted_5$6 = { class: "f-table__head" };
2745
- const _hoisted_6$5 = {
2768
+ const _hoisted_5$5 = { class: "f-table__head" };
2769
+ const _hoisted_6$4 = {
2746
2770
  key: 0,
2747
2771
  class: "f-table__th f-table__th--index"
2748
2772
  };
@@ -2853,9 +2877,9 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2853
2877
  }, null, 4);
2854
2878
  }), 128))
2855
2879
  ]),
2856
- createElementVNode("thead", _hoisted_5$6, [
2880
+ createElementVNode("thead", _hoisted_5$5, [
2857
2881
  createElementVNode("tr", null, [
2858
- _ctx.showIndex ? (openBlock(), createElementBlock("th", _hoisted_6$5, "#")) : createCommentVNode("", true),
2882
+ _ctx.showIndex ? (openBlock(), createElementBlock("th", _hoisted_6$4, "#")) : createCommentVNode("", true),
2859
2883
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (col) => {
2860
2884
  return openBlock(), createElementBlock("th", {
2861
2885
  key: col.key,
@@ -2940,11 +2964,11 @@ const _hoisted_1$b = { class: "f-upload" };
2940
2964
  const _hoisted_2$9 = { class: "f-upload__label" };
2941
2965
  const _hoisted_3$9 = ["accept"];
2942
2966
  const _hoisted_4$6 = { class: "f-upload__hint" };
2943
- const _hoisted_5$5 = {
2967
+ const _hoisted_5$4 = {
2944
2968
  key: 1,
2945
2969
  class: "f-upload__button"
2946
2970
  };
2947
- const _hoisted_6$4 = ["accept"];
2971
+ const _hoisted_6$3 = ["accept"];
2948
2972
  const _hoisted_7$1 = {
2949
2973
  key: 2,
2950
2974
  class: "f-upload__file-item"
@@ -3031,13 +3055,13 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
3031
3055
  createElementVNode("span", _hoisted_4$6, toDisplayString(_ctx.hint), 1)
3032
3056
  ], true)
3033
3057
  ])
3034
- ], 34)) : (openBlock(), createElementBlock("label", _hoisted_5$5, [
3058
+ ], 34)) : (openBlock(), createElementBlock("label", _hoisted_5$4, [
3035
3059
  createElementVNode("input", {
3036
3060
  type: "file",
3037
3061
  accept: _ctx.accept,
3038
3062
  class: "f-upload__input",
3039
3063
  onChange: onFileChange
3040
- }, null, 40, _hoisted_6$4),
3064
+ }, null, 40, _hoisted_6$3),
3041
3065
  renderSlot(_ctx.$slots, "default", {}, () => [
3042
3066
  createElementVNode("span", null, toDisplayString(_ctx.buttonText), 1)
3043
3067
  ], true)
@@ -3235,8 +3259,8 @@ const _hoisted_2$7 = {
3235
3259
  };
3236
3260
  const _hoisted_3$7 = { class: "f-color-picker__sliders" };
3237
3261
  const _hoisted_4$5 = { class: "f-color-picker__slider-group" };
3238
- const _hoisted_5$4 = ["value"];
3239
- const _hoisted_6$3 = {
3262
+ const _hoisted_5$3 = ["value"];
3263
+ const _hoisted_6$2 = {
3240
3264
  key: 0,
3241
3265
  class: "f-color-picker__predefine"
3242
3266
  };
@@ -3532,8 +3556,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
3532
3556
  value: toColorString(),
3533
3557
  onChange: handleInputChange,
3534
3558
  onKeydown: _cache[0] || (_cache[0] = withKeys(($event) => $event.target.blur(), ["enter"]))
3535
- }, null, 40, _hoisted_5$4),
3536
- _ctx.predefine.length ? (openBlock(), createElementBlock("div", _hoisted_6$3, [
3559
+ }, null, 40, _hoisted_5$3),
3560
+ _ctx.predefine.length ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
3537
3561
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.predefine, (color) => {
3538
3562
  return openBlock(), createElementBlock("span", {
3539
3563
  key: color,
@@ -3559,7 +3583,7 @@ const _hoisted_3$6 = {
3559
3583
  class: "f-empty__image-default"
3560
3584
  };
3561
3585
  const _hoisted_4$4 = { class: "f-empty__description" };
3562
- const _hoisted_5$3 = {
3586
+ const _hoisted_5$2 = {
3563
3587
  key: 0,
3564
3588
  class: "f-empty__extra"
3565
3589
  };
@@ -3593,7 +3617,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3593
3617
  createTextVNode(toDisplayString(_ctx.description), 1)
3594
3618
  ])
3595
3619
  ]),
3596
- _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
3620
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
3597
3621
  renderSlot(_ctx.$slots, "default")
3598
3622
  ])) : createCommentVNode("", true)
3599
3623
  ]);
@@ -4006,8 +4030,8 @@ const _hoisted_4$3 = {
4006
4030
  key: 2,
4007
4031
  class: "f-input-number__stack"
4008
4032
  };
4009
- const _hoisted_5$2 = ["disabled"];
4010
- const _hoisted_6$2 = ["disabled"];
4033
+ const _hoisted_5$1 = ["disabled"];
4034
+ const _hoisted_6$1 = ["disabled"];
4011
4035
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4012
4036
  __name: "FInputNumber",
4013
4037
  props: /* @__PURE__ */ mergeModels({
@@ -4202,7 +4226,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4202
4226
  ]),
4203
4227
  _: 1
4204
4228
  })
4205
- ], 40, _hoisted_5$2),
4229
+ ], 40, _hoisted_5$1),
4206
4230
  createElementVNode("button", {
4207
4231
  type: "button",
4208
4232
  class: "f-input-number__stack-btn",
@@ -4218,7 +4242,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4218
4242
  ]),
4219
4243
  _: 1
4220
4244
  })
4221
- ], 40, _hoisted_6$2)
4245
+ ], 40, _hoisted_6$1)
4222
4246
  ])) : createCommentVNode("", true)
4223
4247
  ], 2);
4224
4248
  };
@@ -4238,11 +4262,11 @@ const _hoisted_4$2 = {
4238
4262
  key: 1,
4239
4263
  class: "f-result__subtitle"
4240
4264
  };
4241
- const _hoisted_5$1 = {
4265
+ const _hoisted_5 = {
4242
4266
  key: 2,
4243
4267
  class: "f-result__extra"
4244
4268
  };
4245
- const _hoisted_6$1 = {
4269
+ const _hoisted_6 = {
4246
4270
  key: 3,
4247
4271
  class: "f-result__content"
4248
4272
  };
@@ -4295,10 +4319,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4295
4319
  createTextVNode(toDisplayString(_ctx.subTitle), 1)
4296
4320
  ], true)
4297
4321
  ])) : createCommentVNode("", true),
4298
- _ctx.$slots.extra ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
4322
+ _ctx.$slots.extra ? (openBlock(), createElementBlock("div", _hoisted_5, [
4299
4323
  renderSlot(_ctx.$slots, "extra", {}, void 0, true)
4300
4324
  ])) : createCommentVNode("", true),
4301
- _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
4325
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_6, [
4302
4326
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
4303
4327
  ])) : createCommentVNode("", true)
4304
4328
  ], 2);
@@ -4435,15 +4459,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4435
4459
  }
4436
4460
  });
4437
4461
  const FSteps = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-a97e1683"]]);
4438
- const _hoisted_1$2 = {
4439
- key: 0,
4440
- class: "f-dialog__header"
4441
- };
4442
- const _hoisted_2$1 = { class: "f-dialog__icon" };
4443
- const _hoisted_3$1 = { class: "f-dialog__title" };
4444
- const _hoisted_4 = { class: "f-dialog__body" };
4445
- const _hoisted_5 = { key: 0 };
4446
- const _hoisted_6 = { class: "f-dialog__footer" };
4462
+ const _hoisted_1$2 = { class: "f-dialog__icon" };
4463
+ const _hoisted_2$1 = { class: "f-dialog__title" };
4464
+ const _hoisted_3$1 = { class: "f-dialog__body" };
4465
+ const _hoisted_4 = { key: 0 };
4447
4466
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4448
4467
  __name: "FDialog",
4449
4468
  props: /* @__PURE__ */ mergeModels({
@@ -4453,6 +4472,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4453
4472
  confirmText: { default: "确定" },
4454
4473
  cancelText: { default: "取消" },
4455
4474
  showCancel: { type: Boolean, default: true },
4475
+ showClose: { type: Boolean, default: true },
4476
+ divider: { type: Boolean, default: false },
4456
4477
  closeOnClickOutside: { type: Boolean, default: true },
4457
4478
  closeOnEsc: { type: Boolean, default: true }
4458
4479
  }, {
@@ -4517,9 +4538,25 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4517
4538
  key: 0,
4518
4539
  class: normalizeClass(["f-dialog", `f-dialog--${_ctx.type}`])
4519
4540
  }, [
4520
- _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
4541
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
4542
+ key: 0,
4543
+ type: "button",
4544
+ class: "f-dialog__close",
4545
+ onClick: handleClose
4546
+ }, [
4547
+ createVNode(FIcon, { size: 18 }, {
4548
+ default: withCtx(() => [
4549
+ createVNode(unref(CloseOutline))
4550
+ ]),
4551
+ _: 1
4552
+ })
4553
+ ])) : createCommentVNode("", true),
4554
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("div", {
4555
+ key: 1,
4556
+ class: normalizeClass(["f-dialog__header", { "has-divider": _ctx.divider }])
4557
+ }, [
4521
4558
  renderSlot(_ctx.$slots, "header", {}, () => [
4522
- createElementVNode("div", _hoisted_2$1, [
4559
+ createElementVNode("div", _hoisted_1$2, [
4523
4560
  createVNode(FIcon, null, {
4524
4561
  default: withCtx(() => [
4525
4562
  (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
@@ -4527,15 +4564,17 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4527
4564
  _: 1
4528
4565
  })
4529
4566
  ]),
4530
- createElementVNode("h3", _hoisted_3$1, toDisplayString(_ctx.title), 1)
4567
+ createElementVNode("h3", _hoisted_2$1, toDisplayString(_ctx.title), 1)
4531
4568
  ])
4532
- ])) : createCommentVNode("", true),
4533
- createElementVNode("div", _hoisted_4, [
4569
+ ], 2)) : createCommentVNode("", true),
4570
+ createElementVNode("div", _hoisted_3$1, [
4534
4571
  renderSlot(_ctx.$slots, "default", {}, () => [
4535
- _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
4572
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
4536
4573
  ])
4537
4574
  ]),
4538
- createElementVNode("div", _hoisted_6, [
4575
+ createElementVNode("div", {
4576
+ class: normalizeClass(["f-dialog__footer", { "has-divider": _ctx.divider }])
4577
+ }, [
4539
4578
  renderSlot(_ctx.$slots, "footer", {}, () => [
4540
4579
  _ctx.showCancel ? (openBlock(), createBlock(FButton, {
4541
4580
  key: 0,
@@ -4556,7 +4595,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4556
4595
  _: 1
4557
4596
  })
4558
4597
  ])
4559
- ])
4598
+ ], 2)
4560
4599
  ], 2)) : createCommentVNode("", true)
4561
4600
  ]),
4562
4601
  _: 3