fantasia-ui 0.2.44 → 0.2.47

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.
@@ -40,7 +40,7 @@ var __async = (__this, __arguments, generator) => {
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, onMounted, onBeforeUnmount, render, h, provide, readonly, reactive, toRefs, createStaticVNode } from "vue";
41
41
  import { CloseCircleOutline, EyeOutline, EyeOffOutline, StarOutline, StarHalf, Star, ChevronDownOutline, ChevronBackOutline, EllipsisHorizontal, ChevronForwardOutline, CloseCircle, Close, Person, CloseOutline, InformationCircleOutline, AlertCircleOutline, WarningOutline, CheckmarkCircleOutline, InformationCircle, Warning, CheckmarkCircle, CloudUpload, DocumentOutline, RemoveOutline, AddOutline, ChevronUpOutline, AlertCircle } from "@vicons/ionicons5";
42
42
  import { useEventListener } from "@vueuse/core";
43
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
43
+ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
44
44
  __name: "FIcon",
45
45
  props: {
46
46
  color: {},
@@ -64,24 +64,24 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
64
64
  };
65
65
  }
66
66
  });
67
- const _export_sfc$4 = (sfc, props) => {
67
+ const _export_sfc$7 = (sfc, props) => {
68
68
  const target = sfc.__vccOpts || sfc;
69
69
  for (const [key, val] of props) {
70
70
  target[key] = val;
71
71
  }
72
72
  return target;
73
73
  };
74
- const FIcon$4 = /* @__PURE__ */ _export_sfc$4(_sfc_main$N, [["__scopeId", "data-v-baf7de0c"]]);
74
+ const FIcon$7 = /* @__PURE__ */ _export_sfc$7(_sfc_main$Y, [["__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$y = {
76
+ const _hoisted_1$D = {
77
77
  key: 0,
78
78
  class: "loop cubes"
79
79
  };
80
- const _hoisted_2$s = {
80
+ const _hoisted_2$x = {
81
81
  key: 2,
82
82
  class: "msg"
83
83
  };
84
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
84
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
85
85
  __name: "FLoading",
86
86
  props: {
87
87
  type: { default: "dots" },
@@ -94,7 +94,7 @@ const _sfc_main$I = /* @__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$y, [
97
+ _ctx.type === "cubes" ? (openBlock(), createElementBlock("div", _hoisted_1$D, [
98
98
  (openBlock(), createElementBlock(Fragment, null, renderList(6, (i) => {
99
99
  return createElementVNode("div", {
100
100
  class: "item cubes",
@@ -105,23 +105,23 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
105
105
  key: 1,
106
106
  class: normalizeClass(["loader", _ctx.type])
107
107
  }, null, 2)),
108
- props.text ? (openBlock(), createElementBlock("p", _hoisted_2$s, toDisplayString(props.text), 1)) : createCommentVNode("", true)
108
+ props.text ? (openBlock(), createElementBlock("p", _hoisted_2$x, toDisplayString(props.text), 1)) : createCommentVNode("", true)
109
109
  ], 2);
110
110
  };
111
111
  }
112
112
  });
113
- const FLoading = /* @__PURE__ */ _export_sfc$4(_sfc_main$I, [["__scopeId", "data-v-20f58a50"]]);
114
- const _hoisted_1$x = { class: "f-image" };
115
- const _hoisted_2$r = {
113
+ const FLoading = /* @__PURE__ */ _export_sfc$7(_sfc_main$W, [["__scopeId", "data-v-20f58a50"]]);
114
+ const _hoisted_1$C = { class: "f-image" };
115
+ const _hoisted_2$w = {
116
116
  key: 0,
117
117
  class: "f-image__placeholder"
118
118
  };
119
- const _hoisted_3$n = {
119
+ const _hoisted_3$r = {
120
120
  key: 0,
121
121
  class: "f-image__error"
122
122
  };
123
- const _hoisted_4$g = ["src", "loading"];
124
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
123
+ const _hoisted_4$j = ["src", "loading"];
124
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
125
125
  __name: "FImage",
126
126
  props: {
127
127
  src: {},
@@ -138,10 +138,10 @@ const _sfc_main$H = /* @__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$x, [
141
+ return openBlock(), createElementBlock("div", _hoisted_1$C, [
142
142
  createVNode(Transition, { name: "fade" }, {
143
143
  default: withCtx(() => [
144
- unref(status) === "loading" ? (openBlock(), createElementBlock("div", _hoisted_2$r, [
144
+ unref(status) === "loading" ? (openBlock(), createElementBlock("div", _hoisted_2$w, [
145
145
  createVNode(FLoading, { type: "classic first" })
146
146
  ])) : createCommentVNode("", true)
147
147
  ]),
@@ -149,9 +149,9 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
149
149
  }),
150
150
  createVNode(Transition, { name: "fade" }, {
151
151
  default: withCtx(() => [
152
- unref(status) === "error" ? (openBlock(), createElementBlock("div", _hoisted_3$n, [
152
+ unref(status) === "error" ? (openBlock(), createElementBlock("div", _hoisted_3$r, [
153
153
  renderSlot(_ctx.$slots, "error", {}, () => [
154
- createVNode(FIcon$4, { size: "48px" }, {
154
+ createVNode(FIcon$7, { size: "48px" }, {
155
155
  default: withCtx(() => [
156
156
  createVNode(unref(PictureError))
157
157
  ]),
@@ -169,17 +169,17 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
169
169
  class: "f-image__img",
170
170
  onLoad,
171
171
  onError
172
- }, null, 44, _hoisted_4$g), [
172
+ }, null, 44, _hoisted_4$j), [
173
173
  [vShow, unref(status) === "loaded"]
174
174
  ])
175
175
  ]);
176
176
  };
177
177
  }
178
178
  });
179
- const FImage = /* @__PURE__ */ _export_sfc$4(_sfc_main$H, [["__scopeId", "data-v-e959ab10"]]);
180
- const _hoisted_1$w = ["type", "value", "placeholder"];
181
- const _hoisted_2$q = { class: "f-input__suffix" };
182
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
179
+ const FImage = /* @__PURE__ */ _export_sfc$7(_sfc_main$V, [["__scopeId", "data-v-e959ab10"]]);
180
+ const _hoisted_1$B = ["type", "value", "placeholder"];
181
+ const _hoisted_2$v = { class: "f-input__suffix" };
182
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
183
183
  __name: "FInput",
184
184
  props: /* @__PURE__ */ mergeModels({
185
185
  type: {},
@@ -244,9 +244,9 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
244
244
  onBlur,
245
245
  onFocus,
246
246
  class: "f-input__inner"
247
- }, null, 40, _hoisted_1$w),
248
- createElementVNode("div", _hoisted_2$q, [
249
- unref(showClearIcon) ? (openBlock(), createBlock(FIcon$4, {
247
+ }, null, 40, _hoisted_1$B),
248
+ createElementVNode("div", _hoisted_2$v, [
249
+ unref(showClearIcon) ? (openBlock(), createBlock(FIcon$7, {
250
250
  key: 0,
251
251
  onClick: clearValue,
252
252
  class: "icon-btn"
@@ -256,7 +256,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
256
256
  ]),
257
257
  _: 1
258
258
  })) : createCommentVNode("", true),
259
- unref(showPasswordIcon) ? (openBlock(), createBlock(FIcon$4, {
259
+ unref(showPasswordIcon) ? (openBlock(), createBlock(FIcon$7, {
260
260
  key: 1,
261
261
  onClick: togglePassword,
262
262
  class: "icon-btn"
@@ -272,13 +272,13 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
272
272
  };
273
273
  }
274
274
  });
275
- const FInput = /* @__PURE__ */ _export_sfc$4(_sfc_main$G, [["__scopeId", "data-v-68f468e1"]]);
276
- const _hoisted_1$v = ["onMousemove"];
277
- const _hoisted_2$p = {
275
+ const FInput = /* @__PURE__ */ _export_sfc$7(_sfc_main$U, [["__scopeId", "data-v-68f468e1"]]);
276
+ const _hoisted_1$A = ["onMousemove"];
277
+ const _hoisted_2$u = {
278
278
  key: 0,
279
279
  class: "f-rate__score"
280
280
  };
281
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
281
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
282
282
  __name: "FRate",
283
283
  props: /* @__PURE__ */ mergeModels({
284
284
  modelValue: {},
@@ -352,7 +352,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
352
352
  onMousemove: ($event) => onMouseMove($event, index),
353
353
  onClick
354
354
  }, [
355
- createVNode(FIcon$4, {
355
+ createVNode(FIcon$7, {
356
356
  color: getStarColor(index),
357
357
  size: unref(starSize)
358
358
  }, {
@@ -361,23 +361,23 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
361
361
  ]),
362
362
  _: 2
363
363
  }, 1032, ["color", "size"])
364
- ], 40, _hoisted_1$v);
364
+ ], 40, _hoisted_1$A);
365
365
  }), 128)),
366
- props.showText ? (openBlock(), createElementBlock("span", _hoisted_2$p, toDisplayString(unref(scoreText)), 1)) : createCommentVNode("", true)
366
+ props.showText ? (openBlock(), createElementBlock("span", _hoisted_2$u, toDisplayString(unref(scoreText)), 1)) : createCommentVNode("", true)
367
367
  ], 34);
368
368
  };
369
369
  }
370
370
  });
371
- const FRate = /* @__PURE__ */ _export_sfc$4(_sfc_main$F, [["__scopeId", "data-v-3b5c4f14"]]);
372
- const _hoisted_1$u = { class: "f-dropdown-wrapper" };
373
- const _hoisted_2$o = { class: "f-dropdown-content" };
374
- const _hoisted_3$m = ["onClick"];
375
- const _hoisted_4$f = {
371
+ const FRate = /* @__PURE__ */ _export_sfc$7(_sfc_main$T, [["__scopeId", "data-v-3b5c4f14"]]);
372
+ const _hoisted_1$z = { class: "f-dropdown-wrapper" };
373
+ const _hoisted_2$t = { class: "f-dropdown-content" };
374
+ const _hoisted_3$q = ["onClick"];
375
+ const _hoisted_4$i = {
376
376
  key: 0,
377
377
  class: "opt-icon"
378
378
  };
379
- const _hoisted_5$d = { class: "opt-label" };
380
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
379
+ const _hoisted_5$g = { class: "opt-label" };
380
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
381
381
  __name: "FDropdown",
382
382
  props: {
383
383
  placement: { default: "right-start" },
@@ -549,7 +549,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
549
549
  });
550
550
  useEventListener(window, "click", handleWindowClick);
551
551
  return (_ctx, _cache) => {
552
- return openBlock(), createElementBlock("div", _hoisted_1$u, [
552
+ return openBlock(), createElementBlock("div", _hoisted_1$z, [
553
553
  createElementVNode("div", {
554
554
  ref_key: "triggerRef",
555
555
  ref: triggerRef,
@@ -579,18 +579,18 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
579
579
  class: "f-dropdown-bridge",
580
580
  style: normalizeStyle(unref(bridgeStyle))
581
581
  }, null, 4)) : createCommentVNode("", true),
582
- createElementVNode("div", _hoisted_2$o, [
582
+ createElementVNode("div", _hoisted_2$t, [
583
583
  _ctx.options && _ctx.options.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.options, (opt) => {
584
584
  return openBlock(), createElementBlock("div", {
585
585
  key: opt.key,
586
586
  class: normalizeClass(["f-dropdown-option", { "is-disabled": opt.disabled }]),
587
587
  onClick: ($event) => handleOptionClick(opt)
588
588
  }, [
589
- opt.icon ? (openBlock(), createElementBlock("span", _hoisted_4$f, [
589
+ opt.icon ? (openBlock(), createElementBlock("span", _hoisted_4$i, [
590
590
  (openBlock(), createBlock(resolveDynamicComponent(opt.icon)))
591
591
  ])) : createCommentVNode("", true),
592
- createElementVNode("span", _hoisted_5$d, toDisplayString(opt.label), 1)
593
- ], 10, _hoisted_3$m);
592
+ createElementVNode("span", _hoisted_5$g, toDisplayString(opt.label), 1)
593
+ ], 10, _hoisted_3$q);
594
594
  }), 128)) : renderSlot(_ctx.$slots, "content", { key: 1 }, void 0, true)
595
595
  ])
596
596
  ], 36)) : createCommentVNode("", true)
@@ -602,8 +602,8 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
602
602
  };
603
603
  }
604
604
  });
605
- const FDropdown = /* @__PURE__ */ _export_sfc$4(_sfc_main$E, [["__scopeId", "data-v-834f9929"]]);
606
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
605
+ const FDropdown = /* @__PURE__ */ _export_sfc$7(_sfc_main$S, [["__scopeId", "data-v-ecac3ad8"]]);
606
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
607
607
  __name: "FSelect",
608
608
  props: /* @__PURE__ */ mergeModels({
609
609
  options: {},
@@ -661,7 +661,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
661
661
  createElementVNode("span", {
662
662
  class: normalizeClass(["f-select__label", { "is-placeholder": !unref(hasValue) }])
663
663
  }, toDisplayString(unref(selectedLabel)), 3),
664
- createVNode(FIcon$4, { class: "f-select__arrow" }, {
664
+ createVNode(FIcon$7, { class: "f-select__arrow" }, {
665
665
  default: withCtx(() => [
666
666
  createVNode(unref(ChevronDownOutline))
667
667
  ]),
@@ -674,36 +674,36 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
674
674
  };
675
675
  }
676
676
  });
677
- const FSelect = /* @__PURE__ */ _export_sfc$4(_sfc_main$D, [["__scopeId", "data-v-fc1ceb39"]]);
678
- const _hoisted_1$t = {
677
+ const FSelect = /* @__PURE__ */ _export_sfc$7(_sfc_main$R, [["__scopeId", "data-v-d4fb19d1"]]);
678
+ const _hoisted_1$y = {
679
679
  key: 0,
680
680
  class: "f-pagination"
681
681
  };
682
- const _hoisted_2$n = {
682
+ const _hoisted_2$s = {
683
683
  key: 0,
684
684
  class: "f-pagination__total"
685
685
  };
686
- const _hoisted_3$l = {
686
+ const _hoisted_3$p = {
687
687
  key: 1,
688
688
  class: "f-pagination__size"
689
689
  };
690
- const _hoisted_4$e = ["value"];
691
- const _hoisted_5$c = ["value"];
692
- const _hoisted_6$7 = {
690
+ const _hoisted_4$h = ["value"];
691
+ const _hoisted_5$f = ["value"];
692
+ const _hoisted_6$8 = {
693
693
  key: 3,
694
694
  class: "f-pagination__list"
695
695
  };
696
- const _hoisted_7$3 = {
696
+ const _hoisted_7$5 = {
697
697
  key: 0,
698
698
  class: "page-btn ellipsis"
699
699
  };
700
- const _hoisted_8$2 = ["onClick"];
701
- const _hoisted_9$2 = {
700
+ const _hoisted_8$4 = ["onClick"];
701
+ const _hoisted_9$4 = {
702
702
  key: 5,
703
703
  class: "f-pagination__jump"
704
704
  };
705
- const _hoisted_10$2 = ["max"];
706
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
705
+ const _hoisted_10$3 = ["max"];
706
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
707
707
  __name: "FPagination",
708
708
  props: /* @__PURE__ */ mergeModels({
709
709
  total: {},
@@ -752,10 +752,10 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
752
752
  jumpInput.value = "";
753
753
  };
754
754
  return (_ctx, _cache) => {
755
- return !_ctx.hideOnSingle || unref(pageCount) > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$t, [
755
+ return !_ctx.hideOnSingle || unref(pageCount) > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$y, [
756
756
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(layoutItems), (item) => {
757
757
  return openBlock(), createElementBlock(Fragment, { key: item }, [
758
- item === "total" ? (openBlock(), createElementBlock("span", _hoisted_2$n, " 共 " + toDisplayString(_ctx.total) + " 条 ", 1)) : item === "sizes" ? (openBlock(), createElementBlock("div", _hoisted_3$l, [
758
+ item === "total" ? (openBlock(), createElementBlock("span", _hoisted_2$s, " 共 " + toDisplayString(_ctx.total) + " 条 ", 1)) : item === "sizes" ? (openBlock(), createElementBlock("div", _hoisted_3$p, [
759
759
  createElementVNode("select", {
760
760
  class: "size-select",
761
761
  value: _ctx.pageSize,
@@ -765,25 +765,25 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
765
765
  return openBlock(), createElementBlock("option", {
766
766
  key: s,
767
767
  value: s
768
- }, toDisplayString(s) + " 条/页", 9, _hoisted_5$c);
768
+ }, toDisplayString(s) + " 条/页", 9, _hoisted_5$f);
769
769
  }), 128))
770
- ], 40, _hoisted_4$e)
770
+ ], 40, _hoisted_4$h)
771
771
  ])) : item === "prev" ? (openBlock(), createElementBlock("button", {
772
772
  key: 2,
773
773
  class: normalizeClass(["page-btn", { disabled: currentPage.value === 1 }]),
774
774
  onClick: _cache[0] || (_cache[0] = ($event) => go(currentPage.value - 1))
775
775
  }, [
776
- createVNode(FIcon$4, null, {
776
+ createVNode(FIcon$7, null, {
777
777
  default: withCtx(() => [
778
778
  createVNode(unref(ChevronBackOutline))
779
779
  ]),
780
780
  _: 1
781
781
  })
782
- ], 2)) : item === "pager" ? (openBlock(), createElementBlock("ul", _hoisted_6$7, [
782
+ ], 2)) : item === "pager" ? (openBlock(), createElementBlock("ul", _hoisted_6$8, [
783
783
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pages), (page, index) => {
784
784
  return openBlock(), createElementBlock(Fragment, { key: index }, [
785
- page === "..." ? (openBlock(), createElementBlock("li", _hoisted_7$3, [
786
- createVNode(FIcon$4, null, {
785
+ page === "..." ? (openBlock(), createElementBlock("li", _hoisted_7$5, [
786
+ createVNode(FIcon$7, null, {
787
787
  default: withCtx(() => [
788
788
  createVNode(unref(EllipsisHorizontal))
789
789
  ]),
@@ -793,7 +793,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
793
793
  key: 1,
794
794
  class: normalizeClass(["page-btn", { active: currentPage.value === page }]),
795
795
  onClick: ($event) => go(page)
796
- }, toDisplayString(page), 11, _hoisted_8$2))
796
+ }, toDisplayString(page), 11, _hoisted_8$4))
797
797
  ], 64);
798
798
  }), 128))
799
799
  ])) : item === "next" ? (openBlock(), createElementBlock("button", {
@@ -801,13 +801,13 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
801
801
  class: normalizeClass(["page-btn", { disabled: currentPage.value === unref(pageCount) }]),
802
802
  onClick: _cache[1] || (_cache[1] = ($event) => go(currentPage.value + 1))
803
803
  }, [
804
- createVNode(FIcon$4, null, {
804
+ createVNode(FIcon$7, null, {
805
805
  default: withCtx(() => [
806
806
  createVNode(unref(ChevronForwardOutline))
807
807
  ]),
808
808
  _: 1
809
809
  })
810
- ], 2)) : item === "jumper" ? (openBlock(), createElementBlock("div", _hoisted_9$2, [
810
+ ], 2)) : item === "jumper" ? (openBlock(), createElementBlock("div", _hoisted_9$4, [
811
811
  _cache[3] || (_cache[3] = createElementVNode("span", { class: "jump-label" }, "前往", -1)),
812
812
  withDirectives(createElementVNode("input", {
813
813
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(jumpInput) ? jumpInput.value = $event : null),
@@ -817,7 +817,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
817
817
  max: unref(pageCount),
818
818
  onKeydown: withKeys(onJump, ["enter"]),
819
819
  onBlur: onJump
820
- }, null, 40, _hoisted_10$2), [
820
+ }, null, 40, _hoisted_10$3), [
821
821
  [vModelText, unref(jumpInput)]
822
822
  ]),
823
823
  _cache[4] || (_cache[4] = createElementVNode("span", { class: "jump-label" }, "页", -1))
@@ -828,49 +828,49 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
828
828
  };
829
829
  }
830
830
  });
831
- const FPagination = /* @__PURE__ */ _export_sfc$4(_sfc_main$C, [["__scopeId", "data-v-930f8b20"]]);
832
- const _hoisted_1$s = {
831
+ const FPagination = /* @__PURE__ */ _export_sfc$7(_sfc_main$Q, [["__scopeId", "data-v-930f8b20"]]);
832
+ const _hoisted_1$x = {
833
833
  key: 0,
834
834
  class: "f-card__header"
835
835
  };
836
- const _hoisted_2$m = {
836
+ const _hoisted_2$r = {
837
837
  key: 0,
838
838
  class: "f-card__header-extra"
839
839
  };
840
- const _hoisted_3$k = {
840
+ const _hoisted_3$o = {
841
841
  key: 1,
842
842
  class: "f-card__cover"
843
843
  };
844
- const _hoisted_4$d = {
844
+ const _hoisted_4$g = {
845
845
  key: 2,
846
846
  class: "f-card__body"
847
847
  };
848
- const _hoisted_5$b = {
848
+ const _hoisted_5$e = {
849
849
  key: 3,
850
850
  class: "f-card__footer"
851
851
  };
852
- const _hoisted_6$6 = {
852
+ const _hoisted_6$7 = {
853
853
  key: 0,
854
854
  class: "f-card__header"
855
855
  };
856
- const _hoisted_7$2 = {
856
+ const _hoisted_7$4 = {
857
857
  key: 0,
858
858
  class: "f-card__header-extra"
859
859
  };
860
- const _hoisted_8$1 = {
860
+ const _hoisted_8$3 = {
861
861
  key: 1,
862
862
  class: "f-card__cover"
863
863
  };
864
- const _hoisted_9$1 = { class: "f-card__content" };
865
- const _hoisted_10$1 = {
864
+ const _hoisted_9$3 = { class: "f-card__content" };
865
+ const _hoisted_10$2 = {
866
866
  key: 0,
867
867
  class: "f-card__body"
868
868
  };
869
- const _hoisted_11$1 = {
869
+ const _hoisted_11$2 = {
870
870
  key: 1,
871
871
  class: "f-card__footer"
872
872
  };
873
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
873
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
874
874
  __name: "FCard",
875
875
  props: {
876
876
  hoverable: { type: Boolean, default: true },
@@ -882,36 +882,36 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
882
882
  class: normalizeClass(["f-card", [`f-card--${_ctx.direction}`, { "is-hoverable": _ctx.hoverable }]])
883
883
  }, [
884
884
  _ctx.direction === "vertical" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
885
- _ctx.$slots.header || _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_1$s, [
885
+ _ctx.$slots.header || _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_1$x, [
886
886
  renderSlot(_ctx.$slots, "header", {}, void 0, true),
887
- _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_2$m, [
887
+ _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_2$r, [
888
888
  renderSlot(_ctx.$slots, "header-extra", {}, void 0, true)
889
889
  ])) : createCommentVNode("", true)
890
890
  ])) : createCommentVNode("", true),
891
- _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_3$k, [
891
+ _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_3$o, [
892
892
  renderSlot(_ctx.$slots, "cover", {}, void 0, true)
893
893
  ])) : createCommentVNode("", true),
894
- _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_4$d, [
894
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_4$g, [
895
895
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
896
896
  ])) : createCommentVNode("", true),
897
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5$b, [
897
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_5$e, [
898
898
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
899
899
  ])) : createCommentVNode("", true)
900
900
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
901
- _ctx.$slots.header || _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_6$6, [
901
+ _ctx.$slots.header || _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_6$7, [
902
902
  renderSlot(_ctx.$slots, "header", {}, void 0, true),
903
- _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
903
+ _ctx.$slots["header-extra"] ? (openBlock(), createElementBlock("div", _hoisted_7$4, [
904
904
  renderSlot(_ctx.$slots, "header-extra", {}, void 0, true)
905
905
  ])) : createCommentVNode("", true)
906
906
  ])) : createCommentVNode("", true),
907
- _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_8$1, [
907
+ _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_8$3, [
908
908
  renderSlot(_ctx.$slots, "cover", {}, void 0, true)
909
909
  ])) : createCommentVNode("", true),
910
- createElementVNode("div", _hoisted_9$1, [
911
- _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_10$1, [
910
+ createElementVNode("div", _hoisted_9$3, [
911
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_10$2, [
912
912
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
913
913
  ])) : createCommentVNode("", true),
914
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_11$1, [
914
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_11$2, [
915
915
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
916
916
  ])) : createCommentVNode("", true)
917
917
  ])
@@ -920,12 +920,12 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
920
920
  };
921
921
  }
922
922
  });
923
- const FCard = /* @__PURE__ */ _export_sfc$4(_sfc_main$B, [["__scopeId", "data-v-a66fa373"]]);
924
- const _hoisted_1$r = {
923
+ const FCard = /* @__PURE__ */ _export_sfc$7(_sfc_main$P, [["__scopeId", "data-v-a66fa373"]]);
924
+ const _hoisted_1$w = {
925
925
  key: 0,
926
926
  class: "f-tag__dot"
927
927
  };
928
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
928
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
929
929
  __name: "FTag",
930
930
  props: {
931
931
  color: {},
@@ -949,9 +949,9 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
949
949
  onMouseenter: _cache[1] || (_cache[1] = ($event) => isHover.value = true),
950
950
  onMouseleave: _cache[2] || (_cache[2] = ($event) => isHover.value = false)
951
951
  }, [
952
- _ctx.type === "dot" ? (openBlock(), createElementBlock("span", _hoisted_1$r)) : createCommentVNode("", true),
952
+ _ctx.type === "dot" ? (openBlock(), createElementBlock("span", _hoisted_1$w)) : createCommentVNode("", true),
953
953
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
954
- _ctx.closable ? (openBlock(), createBlock(FIcon$4, {
954
+ _ctx.closable ? (openBlock(), createBlock(FIcon$7, {
955
955
  key: 1,
956
956
  class: "f-tag__close",
957
957
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("close"), ["stop"]))
@@ -965,8 +965,8 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
965
965
  };
966
966
  }
967
967
  });
968
- const FTag = /* @__PURE__ */ _export_sfc$4(_sfc_main$A, [["__scopeId", "data-v-02bd5aa6"]]);
969
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
968
+ const FTag = /* @__PURE__ */ _export_sfc$7(_sfc_main$I, [["__scopeId", "data-v-02bd5aa6"]]);
969
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
970
970
  __name: "FTooltip",
971
971
  props: {
972
972
  content: {},
@@ -1031,7 +1031,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1031
1031
  const padding = 8;
1032
1032
  left = Math.max(padding, Math.min(left, window.innerWidth - tooltip.width - padding));
1033
1033
  top = Math.max(padding, Math.min(top, window.innerHeight - tooltip.height - padding));
1034
- position.value = { top: top + window.scrollY, left: left + window.scrollX };
1034
+ position.value = { top, left };
1035
1035
  };
1036
1036
  onUnmounted(hide);
1037
1037
  return (_ctx, _cache) => {
@@ -1070,13 +1070,13 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1070
1070
  };
1071
1071
  }
1072
1072
  });
1073
- const FTooltip = /* @__PURE__ */ _export_sfc$4(_sfc_main$z, [["__scopeId", "data-v-be9acca7"]]);
1074
- const _hoisted_1$q = { class: "f-progress" };
1075
- const _hoisted_2$l = {
1073
+ const FTooltip = /* @__PURE__ */ _export_sfc$7(_sfc_main$H, [["__scopeId", "data-v-e6b28326"]]);
1074
+ const _hoisted_1$v = { class: "f-progress" };
1075
+ const _hoisted_2$q = {
1076
1076
  key: 0,
1077
1077
  class: "f-progress__text"
1078
1078
  };
1079
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
1079
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1080
1080
  __name: "FProgress",
1081
1081
  props: {
1082
1082
  percent: {},
@@ -1088,7 +1088,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1088
1088
  const props = __props;
1089
1089
  const clampedPercent = computed(() => Math.min(100, Math.max(0, props.percent)));
1090
1090
  return (_ctx, _cache) => {
1091
- return openBlock(), createElementBlock("div", _hoisted_1$q, [
1091
+ return openBlock(), createElementBlock("div", _hoisted_1$v, [
1092
1092
  createElementVNode("div", {
1093
1093
  class: "f-progress__track",
1094
1094
  style: normalizeStyle({ height: `${_ctx.height}px` })
@@ -1101,17 +1101,17 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1101
1101
  })
1102
1102
  }, null, 4)
1103
1103
  ], 4),
1104
- _ctx.showText ? (openBlock(), createElementBlock("span", _hoisted_2$l, toDisplayString(unref(clampedPercent)) + "%", 1)) : createCommentVNode("", true)
1104
+ _ctx.showText ? (openBlock(), createElementBlock("span", _hoisted_2$q, toDisplayString(unref(clampedPercent)) + "%", 1)) : createCommentVNode("", true)
1105
1105
  ]);
1106
1106
  };
1107
1107
  }
1108
1108
  });
1109
- const FProgress = /* @__PURE__ */ _export_sfc$4(_sfc_main$y, [["__scopeId", "data-v-c2164d6e"]]);
1110
- const _hoisted_1$p = { class: "f-tabs__nav-container" };
1111
- const _hoisted_2$k = { class: "f-tabs__nav" };
1112
- const _hoisted_3$j = ["onClick"];
1113
- const _hoisted_4$c = { class: "f-tabs__label" };
1114
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
1109
+ const FProgress = /* @__PURE__ */ _export_sfc$7(_sfc_main$G, [["__scopeId", "data-v-c2164d6e"]]);
1110
+ const _hoisted_1$u = { class: "f-tabs__nav-container" };
1111
+ const _hoisted_2$p = { class: "f-tabs__nav" };
1112
+ const _hoisted_3$n = ["onClick"];
1113
+ const _hoisted_4$f = { class: "f-tabs__label" };
1114
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1115
1115
  __name: "FTabs",
1116
1116
  props: {
1117
1117
  tabs: {},
@@ -1144,8 +1144,8 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1144
1144
  return openBlock(), createElementBlock("div", {
1145
1145
  class: normalizeClass(["f-tabs", [`f-tabs--${_ctx.type}`]])
1146
1146
  }, [
1147
- createElementVNode("div", _hoisted_1$p, [
1148
- createElementVNode("div", _hoisted_2$k, [
1147
+ createElementVNode("div", _hoisted_1$u, [
1148
+ createElementVNode("div", _hoisted_2$p, [
1149
1149
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.tabs, (tab) => {
1150
1150
  return openBlock(), createElementBlock("div", {
1151
1151
  key: tab.name,
@@ -1155,8 +1155,8 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1155
1155
  }]),
1156
1156
  onClick: ($event) => setActiveTab(tab.name, tab.disabled)
1157
1157
  }, [
1158
- createElementVNode("span", _hoisted_4$c, toDisplayString(tab.label), 1)
1159
- ], 10, _hoisted_3$j);
1158
+ createElementVNode("span", _hoisted_4$f, toDisplayString(tab.label), 1)
1159
+ ], 10, _hoisted_3$n);
1160
1160
  }), 128))
1161
1161
  ])
1162
1162
  ]),
@@ -1174,17 +1174,17 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1174
1174
  };
1175
1175
  }
1176
1176
  });
1177
- const FTabs = /* @__PURE__ */ _export_sfc$4(_sfc_main$x, [["__scopeId", "data-v-268fc654"]]);
1178
- const _hoisted_1$o = {
1177
+ const FTabs = /* @__PURE__ */ _export_sfc$7(_sfc_main$F, [["__scopeId", "data-v-268fc654"]]);
1178
+ const _hoisted_1$t = {
1179
1179
  class: "f-breadcrumb__current",
1180
1180
  "aria-current": "page"
1181
1181
  };
1182
- const _hoisted_2$j = ["href"];
1183
- const _hoisted_3$i = {
1182
+ const _hoisted_2$o = ["href"];
1183
+ const _hoisted_3$m = {
1184
1184
  key: 3,
1185
1185
  class: "f-breadcrumb__text"
1186
1186
  };
1187
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
1187
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1188
1188
  __name: "FBreadcrumb",
1189
1189
  props: {
1190
1190
  items: { default: () => [] },
@@ -1212,12 +1212,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1212
1212
  key: 1,
1213
1213
  item
1214
1214
  }, () => [
1215
- createElementVNode("span", _hoisted_1$o, toDisplayString(item.label), 1)
1215
+ createElementVNode("span", _hoisted_1$t, toDisplayString(item.label), 1)
1216
1216
  ], true) : item.href ? (openBlock(), createElementBlock("a", {
1217
1217
  key: 2,
1218
1218
  href: item.href,
1219
1219
  class: "f-breadcrumb__link"
1220
- }, toDisplayString(item.label), 9, _hoisted_2$j)) : (openBlock(), createElementBlock("span", _hoisted_3$i, toDisplayString(item.label), 1))
1220
+ }, toDisplayString(item.label), 9, _hoisted_2$o)) : (openBlock(), createElementBlock("span", _hoisted_3$m, toDisplayString(item.label), 1))
1221
1221
  ], 64);
1222
1222
  }), 128))
1223
1223
  ]),
@@ -1227,8 +1227,8 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1227
1227
  };
1228
1228
  }
1229
1229
  });
1230
- const FBreadcrumb = /* @__PURE__ */ _export_sfc$4(_sfc_main$w, [["__scopeId", "data-v-55b15358"]]);
1231
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
1230
+ const FBreadcrumb = /* @__PURE__ */ _export_sfc$7(_sfc_main$E, [["__scopeId", "data-v-55b15358"]]);
1231
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1232
1232
  __name: "FCol",
1233
1233
  props: {
1234
1234
  span: { default: 24 },
@@ -1269,8 +1269,8 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1269
1269
  };
1270
1270
  }
1271
1271
  });
1272
- const FCol = /* @__PURE__ */ _export_sfc$4(_sfc_main$v, [["__scopeId", "data-v-5a8b0cb4"]]);
1273
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
1272
+ const FCol = /* @__PURE__ */ _export_sfc$7(_sfc_main$D, [["__scopeId", "data-v-5a8b0cb4"]]);
1273
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1274
1274
  __name: "FRow",
1275
1275
  props: {
1276
1276
  gutter: { default: 0 },
@@ -1323,14 +1323,14 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1323
1323
  };
1324
1324
  }
1325
1325
  });
1326
- const FRow = /* @__PURE__ */ _export_sfc$4(_sfc_main$u, [["__scopeId", "data-v-72f62339"]]);
1327
- const _hoisted_1$n = { class: "f-space__item" };
1328
- const _hoisted_2$i = {
1326
+ const FRow = /* @__PURE__ */ _export_sfc$7(_sfc_main$C, [["__scopeId", "data-v-72f62339"]]);
1327
+ const _hoisted_1$s = { class: "f-space__item" };
1328
+ const _hoisted_2$n = {
1329
1329
  key: 0,
1330
1330
  class: "f-space__split",
1331
1331
  "aria-hidden": "true"
1332
1332
  };
1333
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
1333
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1334
1334
  __name: "FSpace",
1335
1335
  props: {
1336
1336
  direction: { default: "horizontal" },
@@ -1384,18 +1384,18 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
1384
1384
  }, [
1385
1385
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(children), (child, index) => {
1386
1386
  return openBlock(), createElementBlock(Fragment, { key: index }, [
1387
- createElementVNode("div", _hoisted_1$n, [
1387
+ createElementVNode("div", _hoisted_1$s, [
1388
1388
  (openBlock(), createBlock(resolveDynamicComponent(child)))
1389
1389
  ]),
1390
- _ctx.split && index < unref(children).length - 1 ? (openBlock(), createElementBlock("span", _hoisted_2$i, toDisplayString(_ctx.split), 1)) : createCommentVNode("", true)
1390
+ _ctx.split && index < unref(children).length - 1 ? (openBlock(), createElementBlock("span", _hoisted_2$n, toDisplayString(_ctx.split), 1)) : createCommentVNode("", true)
1391
1391
  ], 64);
1392
1392
  }), 128))
1393
1393
  ], 4);
1394
1394
  };
1395
1395
  }
1396
1396
  });
1397
- const FSpace = /* @__PURE__ */ _export_sfc$4(_sfc_main$t, [["__scopeId", "data-v-5fb3b1a0"]]);
1398
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
1397
+ const FSpace = /* @__PURE__ */ _export_sfc$7(_sfc_main$B, [["__scopeId", "data-v-5fb3b1a0"]]);
1398
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1399
1399
  __name: "FContainer",
1400
1400
  props: {
1401
1401
  gap: { default: 12 }
@@ -1415,8 +1415,8 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1415
1415
  };
1416
1416
  }
1417
1417
  });
1418
- const FContainer = /* @__PURE__ */ _export_sfc$4(_sfc_main$s, [["__scopeId", "data-v-08450ddf"]]);
1419
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
1418
+ const FContainer = /* @__PURE__ */ _export_sfc$7(_sfc_main$A, [["__scopeId", "data-v-08450ddf"]]);
1419
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1420
1420
  __name: "FDivider",
1421
1421
  props: {
1422
1422
  color: {},
@@ -1443,9 +1443,9 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1443
1443
  };
1444
1444
  }
1445
1445
  });
1446
- const FDivider = /* @__PURE__ */ _export_sfc$4(_sfc_main$r, [["__scopeId", "data-v-512ee743"]]);
1447
- const _hoisted_1$m = ["src", "alt"];
1448
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1446
+ const FDivider = /* @__PURE__ */ _export_sfc$7(_sfc_main$z, [["__scopeId", "data-v-512ee743"]]);
1447
+ const _hoisted_1$r = ["src", "alt"];
1448
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1449
1449
  __name: "FAvatar",
1450
1450
  props: {
1451
1451
  src: {},
@@ -1477,7 +1477,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1477
1477
  key: 0,
1478
1478
  src: _ctx.src,
1479
1479
  alt: _ctx.alt
1480
- }, null, 8, _hoisted_1$m)) : (openBlock(), createBlock(FIcon$4, {
1480
+ }, null, 8, _hoisted_1$r)) : (openBlock(), createBlock(FIcon$7, {
1481
1481
  key: 1,
1482
1482
  size: 24
1483
1483
  }, {
@@ -1490,7 +1490,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1490
1490
  };
1491
1491
  }
1492
1492
  });
1493
- const FAvatar = /* @__PURE__ */ _export_sfc$4(_sfc_main$q, [["__scopeId", "data-v-b3665268"]]);
1493
+ const FAvatar = /* @__PURE__ */ _export_sfc$7(_sfc_main$y, [["__scopeId", "data-v-b3665268"]]);
1494
1494
  var __defProp2 = Object.defineProperty;
1495
1495
  var __defProps2 = Object.defineProperties;
1496
1496
  var __getOwnPropDescs2 = Object.getOwnPropertyDescriptors;
@@ -1510,7 +1510,7 @@ var __spreadValues2 = (a, b) => {
1510
1510
  return a;
1511
1511
  };
1512
1512
  var __spreadProps2 = (a, b) => __defProps2(a, __getOwnPropDescs2(b));
1513
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
1513
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1514
1514
  __name: "FIcon",
1515
1515
  props: {
1516
1516
  color: {},
@@ -1534,14 +1534,14 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
1534
1534
  };
1535
1535
  }
1536
1536
  });
1537
- const _export_sfc$3 = (sfc, props) => {
1537
+ const _export_sfc$6 = (sfc, props) => {
1538
1538
  const target = sfc.__vccOpts || sfc;
1539
1539
  for (const [key, val] of props) {
1540
1540
  target[key] = val;
1541
1541
  }
1542
1542
  return target;
1543
1543
  };
1544
- const FIcon$3 = /* @__PURE__ */ _export_sfc$3(_sfc_main$M, [["__scopeId", "data-v-baf7de0c"]]);
1544
+ const FIcon$6 = /* @__PURE__ */ _export_sfc$6(_sfc_main$X, [["__scopeId", "data-v-baf7de0c"]]);
1545
1545
  var __defProp22 = Object.defineProperty;
1546
1546
  var __getOwnPropSymbols22 = Object.getOwnPropertySymbols;
1547
1547
  var __hasOwnProp22 = Object.prototype.hasOwnProperty;
@@ -1558,7 +1558,7 @@ var __spreadValues22 = (a, b) => {
1558
1558
  }
1559
1559
  return a;
1560
1560
  };
1561
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
1561
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
1562
1562
  __name: "FIcon",
1563
1563
  props: {
1564
1564
  color: {},
@@ -1582,14 +1582,14 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
1582
1582
  };
1583
1583
  }
1584
1584
  });
1585
- const _export_sfc$2 = (sfc, props) => {
1585
+ const _export_sfc$5 = (sfc, props) => {
1586
1586
  const target = sfc.__vccOpts || sfc;
1587
1587
  for (const [key, val] of props) {
1588
1588
  target[key] = val;
1589
1589
  }
1590
1590
  return target;
1591
1591
  };
1592
- const FIcon$2 = /* @__PURE__ */ _export_sfc$2(_sfc_main$L, [["__scopeId", "data-v-baf7de0c"]]);
1592
+ const FIcon$5 = /* @__PURE__ */ _export_sfc$5(_sfc_main$O, [["__scopeId", "data-v-baf7de0c"]]);
1593
1593
  var __defProp222 = Object.defineProperty;
1594
1594
  var __getOwnPropSymbols222 = Object.getOwnPropertySymbols;
1595
1595
  var __hasOwnProp222 = Object.prototype.hasOwnProperty;
@@ -1606,7 +1606,7 @@ var __spreadValues222 = (a, b) => {
1606
1606
  }
1607
1607
  return a;
1608
1608
  };
1609
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
1609
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
1610
1610
  __name: "FIcon",
1611
1611
  props: {
1612
1612
  color: {},
@@ -1630,14 +1630,14 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1630
1630
  };
1631
1631
  }
1632
1632
  });
1633
- const _export_sfc = (sfc, props) => {
1633
+ const _export_sfc$4 = (sfc, props) => {
1634
1634
  const target = sfc.__vccOpts || sfc;
1635
1635
  for (const [key, val] of props) {
1636
1636
  target[key] = val;
1637
1637
  }
1638
1638
  return target;
1639
1639
  };
1640
- const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-baf7de0c"]]);
1640
+ const FIcon$4 = /* @__PURE__ */ _export_sfc$4(_sfc_main$N, [["__scopeId", "data-v-baf7de0c"]]);
1641
1641
  var __defProp2222 = Object.defineProperty;
1642
1642
  var __getOwnPropSymbols2222 = Object.getOwnPropertySymbols;
1643
1643
  var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
@@ -1654,7 +1654,7 @@ var __spreadValues2222 = (a, b) => {
1654
1654
  }
1655
1655
  return a;
1656
1656
  };
1657
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
1657
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
1658
1658
  __name: "FIcon",
1659
1659
  props: {
1660
1660
  color: {},
@@ -1678,14 +1678,14 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1678
1678
  };
1679
1679
  }
1680
1680
  });
1681
- const _export_sfc$1 = (sfc, props) => {
1681
+ const _export_sfc$3 = (sfc, props) => {
1682
1682
  const target = sfc.__vccOpts || sfc;
1683
1683
  for (const [key, val] of props) {
1684
1684
  target[key] = val;
1685
1685
  }
1686
1686
  return target;
1687
1687
  };
1688
- const FIcon$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["__scopeId", "data-v-baf7de0c"]]);
1688
+ const FIcon$3 = /* @__PURE__ */ _export_sfc$3(_sfc_main$M, [["__scopeId", "data-v-baf7de0c"]]);
1689
1689
  var __defProp22222 = Object.defineProperty;
1690
1690
  var __getOwnPropSymbols22222 = Object.getOwnPropertySymbols;
1691
1691
  var __hasOwnProp22222 = Object.prototype.hasOwnProperty;
@@ -1702,6 +1702,38 @@ var __spreadValues22222 = (a, b) => {
1702
1702
  }
1703
1703
  return a;
1704
1704
  };
1705
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
1706
+ __name: "FIcon",
1707
+ props: {
1708
+ color: {},
1709
+ size: { default: "1em" }
1710
+ },
1711
+ setup(__props) {
1712
+ const props = __props;
1713
+ const style = computed(() => ({
1714
+ width: typeof props.size === "number" ? `${props.size}px` : props.size,
1715
+ height: typeof props.size === "number" ? `${props.size}px` : props.size,
1716
+ color: props.color
1717
+ }));
1718
+ return (_ctx, _cache) => {
1719
+ return openBlock(), createElementBlock("span", {
1720
+ role: "img",
1721
+ class: "f-icon",
1722
+ style: normalizeStyle(unref(style))
1723
+ }, [
1724
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
1725
+ ], 4);
1726
+ };
1727
+ }
1728
+ });
1729
+ const _export_sfc$2 = (sfc, props) => {
1730
+ const target = sfc.__vccOpts || sfc;
1731
+ for (const [key, val] of props) {
1732
+ target[key] = val;
1733
+ }
1734
+ return target;
1735
+ };
1736
+ const FIcon$2 = /* @__PURE__ */ _export_sfc$2(_sfc_main$L, [["__scopeId", "data-v-baf7de0c"]]);
1705
1737
  var __defProp222222 = Object.defineProperty;
1706
1738
  var __getOwnPropSymbols222222 = Object.getOwnPropertySymbols;
1707
1739
  var __hasOwnProp222222 = Object.prototype.hasOwnProperty;
@@ -1718,6 +1750,38 @@ var __spreadValues222222 = (a, b) => {
1718
1750
  }
1719
1751
  return a;
1720
1752
  };
1753
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1754
+ __name: "FIcon",
1755
+ props: {
1756
+ color: {},
1757
+ size: { default: "1em" }
1758
+ },
1759
+ setup(__props) {
1760
+ const props = __props;
1761
+ const style = computed(() => ({
1762
+ width: typeof props.size === "number" ? `${props.size}px` : props.size,
1763
+ height: typeof props.size === "number" ? `${props.size}px` : props.size,
1764
+ color: props.color
1765
+ }));
1766
+ return (_ctx, _cache) => {
1767
+ return openBlock(), createElementBlock("span", {
1768
+ role: "img",
1769
+ class: "f-icon",
1770
+ style: normalizeStyle(unref(style))
1771
+ }, [
1772
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
1773
+ ], 4);
1774
+ };
1775
+ }
1776
+ });
1777
+ const _export_sfc = (sfc, props) => {
1778
+ const target = sfc.__vccOpts || sfc;
1779
+ for (const [key, val] of props) {
1780
+ target[key] = val;
1781
+ }
1782
+ return target;
1783
+ };
1784
+ const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-baf7de0c"]]);
1721
1785
  var __defProp2222222 = Object.defineProperty;
1722
1786
  var __getOwnPropSymbols2222222 = Object.getOwnPropertySymbols;
1723
1787
  var __hasOwnProp2222222 = Object.prototype.hasOwnProperty;
@@ -1734,6 +1798,38 @@ var __spreadValues2222222 = (a, b) => {
1734
1798
  }
1735
1799
  return a;
1736
1800
  };
1801
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1802
+ __name: "FIcon",
1803
+ props: {
1804
+ color: {},
1805
+ size: { default: "1em" }
1806
+ },
1807
+ setup(__props) {
1808
+ const props = __props;
1809
+ const style = computed(() => ({
1810
+ width: typeof props.size === "number" ? `${props.size}px` : props.size,
1811
+ height: typeof props.size === "number" ? `${props.size}px` : props.size,
1812
+ color: props.color
1813
+ }));
1814
+ return (_ctx, _cache) => {
1815
+ return openBlock(), createElementBlock("span", {
1816
+ role: "img",
1817
+ class: "f-icon",
1818
+ style: normalizeStyle(unref(style))
1819
+ }, [
1820
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
1821
+ ], 4);
1822
+ };
1823
+ }
1824
+ });
1825
+ const _export_sfc$1 = (sfc, props) => {
1826
+ const target = sfc.__vccOpts || sfc;
1827
+ for (const [key, val] of props) {
1828
+ target[key] = val;
1829
+ }
1830
+ return target;
1831
+ };
1832
+ const FIcon$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["__scopeId", "data-v-baf7de0c"]]);
1737
1833
  var __defProp22222222 = Object.defineProperty;
1738
1834
  var __getOwnPropSymbols22222222 = Object.getOwnPropertySymbols;
1739
1835
  var __hasOwnProp22222222 = Object.prototype.hasOwnProperty;
@@ -1766,6 +1862,54 @@ var __spreadValues222222222 = (a, b) => {
1766
1862
  }
1767
1863
  return a;
1768
1864
  };
1865
+ var __defProp2222222222 = Object.defineProperty;
1866
+ var __getOwnPropSymbols2222222222 = Object.getOwnPropertySymbols;
1867
+ var __hasOwnProp2222222222 = Object.prototype.hasOwnProperty;
1868
+ var __propIsEnum2222222222 = Object.prototype.propertyIsEnumerable;
1869
+ var __defNormalProp2222222222 = (obj, key, value) => key in obj ? __defProp2222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1870
+ var __spreadValues2222222222 = (a, b) => {
1871
+ for (var prop in b || (b = {}))
1872
+ if (__hasOwnProp2222222222.call(b, prop))
1873
+ __defNormalProp2222222222(a, prop, b[prop]);
1874
+ if (__getOwnPropSymbols2222222222)
1875
+ for (var prop of __getOwnPropSymbols2222222222(b)) {
1876
+ if (__propIsEnum2222222222.call(b, prop))
1877
+ __defNormalProp2222222222(a, prop, b[prop]);
1878
+ }
1879
+ return a;
1880
+ };
1881
+ var __defProp22222222222 = Object.defineProperty;
1882
+ var __getOwnPropSymbols22222222222 = Object.getOwnPropertySymbols;
1883
+ var __hasOwnProp22222222222 = Object.prototype.hasOwnProperty;
1884
+ var __propIsEnum22222222222 = Object.prototype.propertyIsEnumerable;
1885
+ var __defNormalProp22222222222 = (obj, key, value) => key in obj ? __defProp22222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1886
+ var __spreadValues22222222222 = (a, b) => {
1887
+ for (var prop in b || (b = {}))
1888
+ if (__hasOwnProp22222222222.call(b, prop))
1889
+ __defNormalProp22222222222(a, prop, b[prop]);
1890
+ if (__getOwnPropSymbols22222222222)
1891
+ for (var prop of __getOwnPropSymbols22222222222(b)) {
1892
+ if (__propIsEnum22222222222.call(b, prop))
1893
+ __defNormalProp22222222222(a, prop, b[prop]);
1894
+ }
1895
+ return a;
1896
+ };
1897
+ var __defProp222222222222 = Object.defineProperty;
1898
+ var __getOwnPropSymbols222222222222 = Object.getOwnPropertySymbols;
1899
+ var __hasOwnProp222222222222 = Object.prototype.hasOwnProperty;
1900
+ var __propIsEnum222222222222 = Object.prototype.propertyIsEnumerable;
1901
+ var __defNormalProp222222222222 = (obj, key, value) => key in obj ? __defProp222222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1902
+ var __spreadValues222222222222 = (a, b) => {
1903
+ for (var prop in b || (b = {}))
1904
+ if (__hasOwnProp222222222222.call(b, prop))
1905
+ __defNormalProp222222222222(a, prop, b[prop]);
1906
+ if (__getOwnPropSymbols222222222222)
1907
+ for (var prop of __getOwnPropSymbols222222222222(b)) {
1908
+ if (__propIsEnum222222222222.call(b, prop))
1909
+ __defNormalProp222222222222(a, prop, b[prop]);
1910
+ }
1911
+ return a;
1912
+ };
1769
1913
  const _hoisted_1$f$1 = { class: "f-checkbox__wrapper" };
1770
1914
  const _hoisted_2$d$1 = ["checked", "disabled"];
1771
1915
  const _hoisted_3$d$1 = {
@@ -1778,7 +1922,7 @@ const _hoisted_3$d$1 = {
1778
1922
  label: {},
1779
1923
  disabled: { type: Boolean }
1780
1924
  }, {
1781
- "modelValue": __spreadValues222222222({ type: Boolean }, { default: false }),
1925
+ "modelValue": __spreadValues222222222222({ type: Boolean }, { default: false }),
1782
1926
  "modelModifiers": {}
1783
1927
  }),
1784
1928
  emits: ["update:modelValue"],
@@ -1815,7 +1959,7 @@ const _hoisted_3$d$1 = {
1815
1959
  maskColor: { default: "black" },
1816
1960
  showMask: { type: Boolean, default: true }
1817
1961
  }, {
1818
- "modelValue": __spreadValues222222222({ type: Boolean }, { default: false }),
1962
+ "modelValue": __spreadValues222222222222({ type: Boolean }, { default: false }),
1819
1963
  "modelModifiers": {}
1820
1964
  }),
1821
1965
  emits: ["update:modelValue"],
@@ -1863,35 +2007,35 @@ const _hoisted_3$d$1 = {
1863
2007
  };
1864
2008
  }
1865
2009
  });
1866
- var __defProp2222222222 = Object.defineProperty;
1867
- var __getOwnPropSymbols2222222222 = Object.getOwnPropertySymbols;
1868
- var __hasOwnProp2222222222 = Object.prototype.hasOwnProperty;
1869
- var __propIsEnum2222222222 = Object.prototype.propertyIsEnumerable;
1870
- var __defNormalProp2222222222 = (obj, key, value) => key in obj ? __defProp2222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1871
- var __spreadValues2222222222 = (a, b) => {
2010
+ var __defProp2222222222222 = Object.defineProperty;
2011
+ var __getOwnPropSymbols2222222222222 = Object.getOwnPropertySymbols;
2012
+ var __hasOwnProp2222222222222 = Object.prototype.hasOwnProperty;
2013
+ var __propIsEnum2222222222222 = Object.prototype.propertyIsEnumerable;
2014
+ var __defNormalProp2222222222222 = (obj, key, value) => key in obj ? __defProp2222222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2015
+ var __spreadValues2222222222222 = (a, b) => {
1872
2016
  for (var prop in b || (b = {}))
1873
- if (__hasOwnProp2222222222.call(b, prop))
1874
- __defNormalProp2222222222(a, prop, b[prop]);
1875
- if (__getOwnPropSymbols2222222222)
1876
- for (var prop of __getOwnPropSymbols2222222222(b)) {
1877
- if (__propIsEnum2222222222.call(b, prop))
1878
- __defNormalProp2222222222(a, prop, b[prop]);
2017
+ if (__hasOwnProp2222222222222.call(b, prop))
2018
+ __defNormalProp2222222222222(a, prop, b[prop]);
2019
+ if (__getOwnPropSymbols2222222222222)
2020
+ for (var prop of __getOwnPropSymbols2222222222222(b)) {
2021
+ if (__propIsEnum2222222222222.call(b, prop))
2022
+ __defNormalProp2222222222222(a, prop, b[prop]);
1879
2023
  }
1880
2024
  return a;
1881
2025
  };
1882
- var __defProp22222222222 = Object.defineProperty;
1883
- var __getOwnPropSymbols22222222222 = Object.getOwnPropertySymbols;
1884
- var __hasOwnProp22222222222 = Object.prototype.hasOwnProperty;
1885
- var __propIsEnum22222222222 = Object.prototype.propertyIsEnumerable;
1886
- var __defNormalProp22222222222 = (obj, key, value) => key in obj ? __defProp22222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1887
- var __spreadValues22222222222 = (a, b) => {
2026
+ var __defProp22222222222222 = Object.defineProperty;
2027
+ var __getOwnPropSymbols22222222222222 = Object.getOwnPropertySymbols;
2028
+ var __hasOwnProp22222222222222 = Object.prototype.hasOwnProperty;
2029
+ var __propIsEnum22222222222222 = Object.prototype.propertyIsEnumerable;
2030
+ var __defNormalProp22222222222222 = (obj, key, value) => key in obj ? __defProp22222222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2031
+ var __spreadValues22222222222222 = (a, b) => {
1888
2032
  for (var prop in b || (b = {}))
1889
- if (__hasOwnProp22222222222.call(b, prop))
1890
- __defNormalProp22222222222(a, prop, b[prop]);
1891
- if (__getOwnPropSymbols22222222222)
1892
- for (var prop of __getOwnPropSymbols22222222222(b)) {
1893
- if (__propIsEnum22222222222.call(b, prop))
1894
- __defNormalProp22222222222(a, prop, b[prop]);
2033
+ if (__hasOwnProp22222222222222.call(b, prop))
2034
+ __defNormalProp22222222222222(a, prop, b[prop]);
2035
+ if (__getOwnPropSymbols22222222222222)
2036
+ for (var prop of __getOwnPropSymbols22222222222222(b)) {
2037
+ if (__propIsEnum22222222222222.call(b, prop))
2038
+ __defNormalProp22222222222222(a, prop, b[prop]);
1895
2039
  }
1896
2040
  return a;
1897
2041
  };
@@ -1907,7 +2051,7 @@ const _hoisted_3$b$1 = {
1907
2051
  label: {},
1908
2052
  disabled: { type: Boolean }
1909
2053
  }, {
1910
- "modelValue": __spreadValues22222222222({ type: Boolean }, { default: false }),
2054
+ "modelValue": __spreadValues22222222222222({ type: Boolean }, { default: false }),
1911
2055
  "modelModifiers": {}
1912
2056
  }),
1913
2057
  emits: ["update:modelValue"],
@@ -1944,7 +2088,7 @@ const _hoisted_3$b$1 = {
1944
2088
  maskColor: { default: "black" },
1945
2089
  showMask: { type: Boolean, default: true }
1946
2090
  }, {
1947
- "modelValue": __spreadValues22222222222({ type: Boolean }, { default: false }),
2091
+ "modelValue": __spreadValues22222222222222({ type: Boolean }, { default: false }),
1948
2092
  "modelModifiers": {}
1949
2093
  }),
1950
2094
  emits: ["update:modelValue"],
@@ -2004,7 +2148,7 @@ const _hoisted_3$b$2 = {
2004
2148
  label: {},
2005
2149
  disabled: { type: Boolean }
2006
2150
  }, {
2007
- "modelValue": __spreadValues2222222222({ type: Boolean }, { default: false }),
2151
+ "modelValue": __spreadValues2222222222222({ type: Boolean }, { default: false }),
2008
2152
  "modelModifiers": {}
2009
2153
  }),
2010
2154
  emits: ["update:modelValue"],
@@ -2041,7 +2185,7 @@ const _hoisted_3$b$2 = {
2041
2185
  maskColor: { default: "black" },
2042
2186
  showMask: { type: Boolean, default: true }
2043
2187
  }, {
2044
- "modelValue": __spreadValues2222222222({ type: Boolean }, { default: false }),
2188
+ "modelValue": __spreadValues2222222222222({ type: Boolean }, { default: false }),
2045
2189
  "modelModifiers": {}
2046
2190
  }),
2047
2191
  emits: ["update:modelValue"],
@@ -2101,7 +2245,7 @@ const _hoisted_3$b$3 = {
2101
2245
  label: {},
2102
2246
  disabled: { type: Boolean }
2103
2247
  }, {
2104
- "modelValue": __spreadValues22222222({ type: Boolean }, { default: false }),
2248
+ "modelValue": __spreadValues22222222222({ type: Boolean }, { default: false }),
2105
2249
  "modelModifiers": {}
2106
2250
  }),
2107
2251
  emits: ["update:modelValue"],
@@ -2138,7 +2282,7 @@ const _hoisted_3$b$3 = {
2138
2282
  maskColor: { default: "black" },
2139
2283
  showMask: { type: Boolean, default: true }
2140
2284
  }, {
2141
- "modelValue": __spreadValues22222222({ type: Boolean }, { default: false }),
2285
+ "modelValue": __spreadValues22222222222({ type: Boolean }, { default: false }),
2142
2286
  "modelModifiers": {}
2143
2287
  }),
2144
2288
  emits: ["update:modelValue"],
@@ -2198,7 +2342,7 @@ const _hoisted_3$b$4 = {
2198
2342
  label: {},
2199
2343
  disabled: { type: Boolean }
2200
2344
  }, {
2201
- "modelValue": __spreadValues2222222({ type: Boolean }, { default: false }),
2345
+ "modelValue": __spreadValues2222222222({ type: Boolean }, { default: false }),
2202
2346
  "modelModifiers": {}
2203
2347
  }),
2204
2348
  emits: ["update:modelValue"],
@@ -2235,7 +2379,7 @@ const _hoisted_3$b$4 = {
2235
2379
  maskColor: { default: "black" },
2236
2380
  showMask: { type: Boolean, default: true }
2237
2381
  }, {
2238
- "modelValue": __spreadValues2222222({ type: Boolean }, { default: false }),
2382
+ "modelValue": __spreadValues2222222222({ type: Boolean }, { default: false }),
2239
2383
  "modelModifiers": {}
2240
2384
  }),
2241
2385
  emits: ["update:modelValue"],
@@ -2295,7 +2439,7 @@ const _hoisted_3$b$5 = {
2295
2439
  label: {},
2296
2440
  disabled: { type: Boolean }
2297
2441
  }, {
2298
- "modelValue": __spreadValues222222({ type: Boolean }, { default: false }),
2442
+ "modelValue": __spreadValues222222222({ type: Boolean }, { default: false }),
2299
2443
  "modelModifiers": {}
2300
2444
  }),
2301
2445
  emits: ["update:modelValue"],
@@ -2332,7 +2476,7 @@ const _hoisted_3$b$5 = {
2332
2476
  maskColor: { default: "black" },
2333
2477
  showMask: { type: Boolean, default: true }
2334
2478
  }, {
2335
- "modelValue": __spreadValues222222({ type: Boolean }, { default: false }),
2479
+ "modelValue": __spreadValues222222222({ type: Boolean }, { default: false }),
2336
2480
  "modelModifiers": {}
2337
2481
  }),
2338
2482
  emits: ["update:modelValue"],
@@ -2392,7 +2536,7 @@ const _hoisted_3$b$6 = {
2392
2536
  label: {},
2393
2537
  disabled: { type: Boolean }
2394
2538
  }, {
2395
- "modelValue": __spreadValues22222({ type: Boolean }, { default: false }),
2539
+ "modelValue": __spreadValues22222222({ type: Boolean }, { default: false }),
2396
2540
  "modelModifiers": {}
2397
2541
  }),
2398
2542
  emits: ["update:modelValue"],
@@ -2429,7 +2573,7 @@ const _hoisted_3$b$6 = {
2429
2573
  maskColor: { default: "black" },
2430
2574
  showMask: { type: Boolean, default: true }
2431
2575
  }, {
2432
- "modelValue": __spreadValues22222({ type: Boolean }, { default: false }),
2576
+ "modelValue": __spreadValues22222222({ type: Boolean }, { default: false }),
2433
2577
  "modelModifiers": {}
2434
2578
  }),
2435
2579
  emits: ["update:modelValue"],
@@ -2489,7 +2633,7 @@ const _hoisted_3$b$7 = {
2489
2633
  label: {},
2490
2634
  disabled: { type: Boolean }
2491
2635
  }, {
2492
- "modelValue": __spreadValues2222({ type: Boolean }, { default: false }),
2636
+ "modelValue": __spreadValues2222222({ type: Boolean }, { default: false }),
2493
2637
  "modelModifiers": {}
2494
2638
  }),
2495
2639
  emits: ["update:modelValue"],
@@ -2526,7 +2670,7 @@ const _hoisted_3$b$7 = {
2526
2670
  maskColor: { default: "black" },
2527
2671
  showMask: { type: Boolean, default: true }
2528
2672
  }, {
2529
- "modelValue": __spreadValues2222({ type: Boolean }, { default: false }),
2673
+ "modelValue": __spreadValues2222222({ type: Boolean }, { default: false }),
2530
2674
  "modelModifiers": {}
2531
2675
  }),
2532
2676
  emits: ["update:modelValue"],
@@ -2699,7 +2843,7 @@ const _hoisted_3$c$1 = {
2699
2843
  label: {},
2700
2844
  disabled: { type: Boolean }
2701
2845
  }, {
2702
- "modelValue": __spreadValues222({ type: Boolean }, { default: false }),
2846
+ "modelValue": __spreadValues222222({ type: Boolean }, { default: false }),
2703
2847
  "modelModifiers": {}
2704
2848
  }),
2705
2849
  emits: ["update:modelValue"],
@@ -2729,14 +2873,14 @@ const _hoisted_3$c$1 = {
2729
2873
  };
2730
2874
  }
2731
2875
  });
2732
- const _hoisted_1$j = {
2876
+ const _hoisted_1$j$1 = {
2733
2877
  key: 0,
2734
2878
  class: "f-dialog__icon"
2735
2879
  };
2736
- const _hoisted_2$f = { class: "f-dialog__title" };
2737
- const _hoisted_3$f = { class: "f-dialog__body" };
2738
- const _hoisted_4$9 = { key: 0 };
2739
- const _hoisted_5$8 = {
2880
+ const _hoisted_2$f$1 = { class: "f-dialog__title" };
2881
+ const _hoisted_3$f$1 = { class: "f-dialog__body" };
2882
+ const _hoisted_4$9$1 = { key: 0 };
2883
+ const _hoisted_5$8$1 = {
2740
2884
  key: 2,
2741
2885
  class: "f-dialog__footer"
2742
2886
  };
@@ -2758,7 +2902,7 @@ const _hoisted_5$8 = {
2758
2902
  destroyOnClose: { type: Boolean, default: false },
2759
2903
  beforeClose: {}
2760
2904
  }, {
2761
- "modelValue": __spreadValues222({ type: Boolean }, { required: true }),
2905
+ "modelValue": __spreadValues222222({ type: Boolean }, { required: true }),
2762
2906
  "modelModifiers": {}
2763
2907
  }),
2764
2908
  emits: /* @__PURE__ */ mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
@@ -2854,7 +2998,7 @@ const _hoisted_5$8 = {
2854
2998
  class: normalizeClass(["f-dialog__header", { "has-icon": unref(hasIcon) }])
2855
2999
  }, [
2856
3000
  renderSlot(_ctx.$slots, "header", {}, () => [
2857
- unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
3001
+ unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$j$1, [
2858
3002
  createVNode(FIcon, null, {
2859
3003
  default: withCtx(() => [
2860
3004
  (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
@@ -2862,15 +3006,15 @@ const _hoisted_5$8 = {
2862
3006
  _: 1
2863
3007
  })
2864
3008
  ])) : createCommentVNode("", true),
2865
- createElementVNode("h3", _hoisted_2$f, toDisplayString(_ctx.title), 1)
3009
+ createElementVNode("h3", _hoisted_2$f$1, toDisplayString(_ctx.title), 1)
2866
3010
  ], true)
2867
3011
  ], 2)) : createCommentVNode("", true),
2868
- createElementVNode("div", _hoisted_3$f, [
3012
+ createElementVNode("div", _hoisted_3$f$1, [
2869
3013
  renderSlot(_ctx.$slots, "default", {}, () => [
2870
- _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$9, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
3014
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$9$1, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
2871
3015
  ], true)
2872
3016
  ]),
2873
- _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$8, [
3017
+ _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$8$1, [
2874
3018
  renderSlot(_ctx.$slots, "footer", {}, () => [
2875
3019
  _ctx.showCancel ? (openBlock(), createBlock(FButton$1, {
2876
3020
  key: 0,
@@ -3029,7 +3173,7 @@ const _hoisted_3$c$2 = {
3029
3173
  label: {},
3030
3174
  disabled: { type: Boolean }
3031
3175
  }, {
3032
- "modelValue": __spreadValues22({ type: Boolean }, { default: false }),
3176
+ "modelValue": __spreadValues22222({ type: Boolean }, { default: false }),
3033
3177
  "modelModifiers": {}
3034
3178
  }),
3035
3179
  emits: ["update:modelValue"],
@@ -3059,14 +3203,14 @@ const _hoisted_3$c$2 = {
3059
3203
  };
3060
3204
  }
3061
3205
  });
3062
- const _hoisted_1$k = {
3206
+ const _hoisted_1$k$1 = {
3063
3207
  key: 0,
3064
3208
  class: "f-dialog__icon"
3065
3209
  };
3066
- const _hoisted_2$g = { class: "f-dialog__title" };
3067
- const _hoisted_3$g = { class: "f-dialog__body" };
3068
- const _hoisted_4$a = { key: 0 };
3069
- const _hoisted_5$9 = {
3210
+ const _hoisted_2$g$1 = { class: "f-dialog__title" };
3211
+ const _hoisted_3$g$1 = { class: "f-dialog__body" };
3212
+ const _hoisted_4$a$1 = { key: 0 };
3213
+ const _hoisted_5$9$1 = {
3070
3214
  key: 2,
3071
3215
  class: "f-dialog__footer"
3072
3216
  };
@@ -3088,7 +3232,7 @@ const _hoisted_5$9 = {
3088
3232
  destroyOnClose: { type: Boolean, default: false },
3089
3233
  beforeClose: {}
3090
3234
  }, {
3091
- "modelValue": __spreadValues22({ type: Boolean }, { required: true }),
3235
+ "modelValue": __spreadValues22222({ type: Boolean }, { required: true }),
3092
3236
  "modelModifiers": {}
3093
3237
  }),
3094
3238
  emits: /* @__PURE__ */ mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
@@ -3184,7 +3328,7 @@ const _hoisted_5$9 = {
3184
3328
  class: normalizeClass(["f-dialog__header", { "has-icon": unref(hasIcon) }])
3185
3329
  }, [
3186
3330
  renderSlot(_ctx.$slots, "header", {}, () => [
3187
- unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
3331
+ unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$k$1, [
3188
3332
  createVNode(FIcon$2, null, {
3189
3333
  default: withCtx(() => [
3190
3334
  (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
@@ -3192,15 +3336,15 @@ const _hoisted_5$9 = {
3192
3336
  _: 1
3193
3337
  })
3194
3338
  ])) : createCommentVNode("", true),
3195
- createElementVNode("h3", _hoisted_2$g, toDisplayString(_ctx.title), 1)
3339
+ createElementVNode("h3", _hoisted_2$g$1, toDisplayString(_ctx.title), 1)
3196
3340
  ], true)
3197
3341
  ], 2)) : createCommentVNode("", true),
3198
- createElementVNode("div", _hoisted_3$g, [
3342
+ createElementVNode("div", _hoisted_3$g$1, [
3199
3343
  renderSlot(_ctx.$slots, "default", {}, () => [
3200
- _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$a, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
3344
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$a$1, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
3201
3345
  ], true)
3202
3346
  ]),
3203
- _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
3347
+ _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$9$1, [
3204
3348
  renderSlot(_ctx.$slots, "footer", {}, () => [
3205
3349
  _ctx.showCancel ? (openBlock(), createBlock(FButton$2, {
3206
3350
  key: 0,
@@ -3359,7 +3503,7 @@ const _hoisted_3$c$3 = {
3359
3503
  label: {},
3360
3504
  disabled: { type: Boolean }
3361
3505
  }, {
3362
- "modelValue": __spreadValues2({ type: Boolean }, { default: false }),
3506
+ "modelValue": __spreadValues2222({ type: Boolean }, { default: false }),
3363
3507
  "modelModifiers": {}
3364
3508
  }),
3365
3509
  emits: ["update:modelValue"],
@@ -3389,7 +3533,1194 @@ const _hoisted_3$c$3 = {
3389
3533
  };
3390
3534
  }
3391
3535
  });
3392
- const _hoisted_1$2$1 = { class: "f-message__content" };
3536
+ const _hoisted_1$l$1 = {
3537
+ key: 0,
3538
+ class: "f-dialog__icon"
3539
+ };
3540
+ const _hoisted_2$h$1 = { class: "f-dialog__title" };
3541
+ const _hoisted_3$h$1 = { class: "f-dialog__body" };
3542
+ const _hoisted_4$b$1 = { key: 0 };
3543
+ const _hoisted_5$a = {
3544
+ key: 2,
3545
+ class: "f-dialog__footer"
3546
+ };
3547
+ /* @__PURE__ */ defineComponent({
3548
+ __name: "FDialog",
3549
+ props: /* @__PURE__ */ mergeModels({
3550
+ title: { default: "提示" },
3551
+ content: {},
3552
+ width: { default: "500px" },
3553
+ type: { default: "default" },
3554
+ confirmText: { default: "确定" },
3555
+ cancelText: { default: "取消" },
3556
+ showCancel: { type: Boolean, default: true },
3557
+ showClose: { type: Boolean, default: true },
3558
+ closeOnClickModal: { type: Boolean, default: true },
3559
+ closeOnEsc: { type: Boolean, default: true },
3560
+ center: { type: Boolean, default: false },
3561
+ fullscreen: { type: Boolean, default: false },
3562
+ destroyOnClose: { type: Boolean, default: false },
3563
+ beforeClose: {}
3564
+ }, {
3565
+ "modelValue": __spreadValues2222({ type: Boolean }, { required: true }),
3566
+ "modelModifiers": {}
3567
+ }),
3568
+ emits: /* @__PURE__ */ mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
3569
+ setup(__props, { emit: __emit }) {
3570
+ const props = __props;
3571
+ const emit = __emit;
3572
+ const visible = useModel(__props, "modelValue");
3573
+ const handleClose = () => {
3574
+ visible.value = false;
3575
+ emit("close");
3576
+ };
3577
+ const handleConfirm = () => {
3578
+ emit("confirm");
3579
+ if (props.beforeClose) {
3580
+ props.beforeClose(() => {
3581
+ visible.value = false;
3582
+ });
3583
+ } else {
3584
+ visible.value = false;
3585
+ }
3586
+ };
3587
+ const handleCancel = () => {
3588
+ emit("cancel");
3589
+ handleClose();
3590
+ };
3591
+ const handleOverlayClick = (e) => {
3592
+ if (props.closeOnClickModal && e.target === e.currentTarget) {
3593
+ handleClose();
3594
+ }
3595
+ };
3596
+ const handleKeydown = (e) => {
3597
+ if (props.closeOnEsc && e.key === "Escape") {
3598
+ handleClose();
3599
+ }
3600
+ };
3601
+ onMounted(() => {
3602
+ if (props.closeOnEsc) {
3603
+ window.addEventListener("keydown", handleKeydown);
3604
+ }
3605
+ emit("open");
3606
+ });
3607
+ onBeforeUnmount(() => {
3608
+ if (props.closeOnEsc) {
3609
+ window.removeEventListener("keydown", handleKeydown);
3610
+ }
3611
+ });
3612
+ const iconMap = {
3613
+ info: InformationCircleOutline,
3614
+ success: CheckmarkCircleOutline,
3615
+ warning: WarningOutline,
3616
+ failed: AlertCircleOutline,
3617
+ primary: InformationCircleOutline,
3618
+ default: InformationCircleOutline
3619
+ };
3620
+ const hasIcon = computed(() => props.type && props.type !== "default");
3621
+ return (_ctx, _cache) => {
3622
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
3623
+ createVNode(Transition, { name: "f-dialog-fade" }, {
3624
+ default: withCtx(() => [
3625
+ visible.value ? (openBlock(), createElementBlock("div", {
3626
+ key: 0,
3627
+ class: "f-dialog-overlay",
3628
+ onClick: handleOverlayClick
3629
+ }, [
3630
+ createVNode(Transition, { name: "f-dialog-zoom" }, {
3631
+ default: withCtx(() => [
3632
+ visible.value ? (openBlock(), createElementBlock("div", {
3633
+ key: 0,
3634
+ class: normalizeClass(["f-dialog", [
3635
+ `f-dialog--${_ctx.type}`,
3636
+ {
3637
+ "is-center": _ctx.center,
3638
+ "is-fullscreen": _ctx.fullscreen
3639
+ }
3640
+ ]]),
3641
+ style: normalizeStyle({ width: _ctx.fullscreen ? "100%" : _ctx.width })
3642
+ }, [
3643
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
3644
+ key: 0,
3645
+ type: "button",
3646
+ class: "f-dialog__close",
3647
+ onClick: handleClose
3648
+ }, [
3649
+ createVNode(FIcon$3, null, {
3650
+ default: withCtx(() => [
3651
+ createVNode(unref(CloseOutline))
3652
+ ]),
3653
+ _: 1
3654
+ })
3655
+ ])) : createCommentVNode("", true),
3656
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("div", {
3657
+ key: 1,
3658
+ class: normalizeClass(["f-dialog__header", { "has-icon": unref(hasIcon) }])
3659
+ }, [
3660
+ renderSlot(_ctx.$slots, "header", {}, () => [
3661
+ unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$l$1, [
3662
+ createVNode(FIcon$3, null, {
3663
+ default: withCtx(() => [
3664
+ (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
3665
+ ]),
3666
+ _: 1
3667
+ })
3668
+ ])) : createCommentVNode("", true),
3669
+ createElementVNode("h3", _hoisted_2$h$1, toDisplayString(_ctx.title), 1)
3670
+ ], true)
3671
+ ], 2)) : createCommentVNode("", true),
3672
+ createElementVNode("div", _hoisted_3$h$1, [
3673
+ renderSlot(_ctx.$slots, "default", {}, () => [
3674
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$b$1, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
3675
+ ], true)
3676
+ ]),
3677
+ _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
3678
+ renderSlot(_ctx.$slots, "footer", {}, () => [
3679
+ _ctx.showCancel ? (openBlock(), createBlock(FButton$3, {
3680
+ key: 0,
3681
+ onClick: handleCancel
3682
+ }, {
3683
+ default: withCtx(() => [
3684
+ createTextVNode(toDisplayString(_ctx.cancelText), 1)
3685
+ ]),
3686
+ _: 1
3687
+ })) : createCommentVNode("", true),
3688
+ createVNode(FButton$3, {
3689
+ type: "primary",
3690
+ onClick: handleConfirm
3691
+ }, {
3692
+ default: withCtx(() => [
3693
+ createTextVNode(toDisplayString(_ctx.confirmText), 1)
3694
+ ]),
3695
+ _: 1
3696
+ })
3697
+ ], true)
3698
+ ])) : createCommentVNode("", true)
3699
+ ], 6)) : createCommentVNode("", true)
3700
+ ]),
3701
+ _: 3
3702
+ })
3703
+ ])) : createCommentVNode("", true)
3704
+ ]),
3705
+ _: 3
3706
+ })
3707
+ ]);
3708
+ };
3709
+ }
3710
+ });
3711
+ const _hoisted_1$i$4 = ["type", "disabled"];
3712
+ const _hoisted_2$e$4 = { class: "f-button__inner" };
3713
+ const _hoisted_3$e$4 = {
3714
+ key: 0,
3715
+ class: "f-loader"
3716
+ };
3717
+ const _hoisted_4$8$4 = {
3718
+ key: 2,
3719
+ class: "f-button__text"
3720
+ };
3721
+ const _sfc_main$o$4 = /* @__PURE__ */ defineComponent({
3722
+ __name: "FButton",
3723
+ props: {
3724
+ type: {},
3725
+ size: {},
3726
+ nativeType: { default: "button" },
3727
+ loading: { type: Boolean },
3728
+ disabled: { type: Boolean },
3729
+ round: { type: [Boolean, Number] },
3730
+ circle: { type: Boolean },
3731
+ plain: { type: Boolean },
3732
+ text: { type: Boolean },
3733
+ block: { type: Boolean },
3734
+ icon: {},
3735
+ active: { type: Boolean },
3736
+ bgColor: {},
3737
+ color: {}
3738
+ },
3739
+ setup(__props) {
3740
+ const SIZE_MAP = {
3741
+ small: { h: "24px", p: "0 8px", f: "12px", i: "14px" },
3742
+ normal: { h: "32px", p: "0 12px", f: "13px", i: "16px" },
3743
+ large: { h: "40px", p: "0 16px", f: "14px", i: "18px" }
3744
+ };
3745
+ const props = __props;
3746
+ const slots = useSlots();
3747
+ const groupContext = inject("FButtonGroupContext", null);
3748
+ const mergedSize = computed(() => {
3749
+ var _a, _b;
3750
+ return (_b = (_a = props.size) != null ? _a : groupContext == null ? void 0 : groupContext.size) != null ? _b : "normal";
3751
+ });
3752
+ const mergedType = computed(() => {
3753
+ var _a, _b;
3754
+ return (_b = (_a = props.type) != null ? _a : groupContext == null ? void 0 : groupContext.type) != null ? _b : "default";
3755
+ });
3756
+ const isDisabled = computed(() => props.disabled || props.loading || (groupContext == null ? void 0 : groupContext.disabled));
3757
+ const hasText = computed(() => !!slots.default);
3758
+ const buttonStyle = computed(() => {
3759
+ const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
3760
+ const style = {
3761
+ height: s.h,
3762
+ padding: props.circle ? "0" : s.p,
3763
+ fontSize: s.f,
3764
+ minWidth: props.circle ? s.h : "auto",
3765
+ backgroundColor: props.bgColor,
3766
+ color: props.color
3767
+ };
3768
+ if (props.circle) {
3769
+ style.borderRadius = "50%";
3770
+ style.width = s.h;
3771
+ } else if (typeof props.round === "number") {
3772
+ style.borderRadius = `${props.round}px`;
3773
+ } else if (props.round === true) {
3774
+ style.borderRadius = "999px";
3775
+ }
3776
+ return style;
3777
+ });
3778
+ const iconSize = computed(() => {
3779
+ const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
3780
+ return s.i;
3781
+ });
3782
+ return (_ctx, _cache) => {
3783
+ return openBlock(), createElementBlock("button", {
3784
+ type: _ctx.nativeType,
3785
+ class: normalizeClass(["f-button", [
3786
+ `f-button--${unref(mergedType)}`,
3787
+ `f-button--${unref(mergedSize)}`,
3788
+ {
3789
+ "is-disabled": unref(isDisabled),
3790
+ "is-loading": _ctx.loading,
3791
+ "is-active": _ctx.active,
3792
+ "is-text": _ctx.text,
3793
+ "is-icon-only": !unref(hasText) && (_ctx.icon || _ctx.$slots.icon)
3794
+ }
3795
+ ]]),
3796
+ disabled: unref(isDisabled),
3797
+ style: normalizeStyle(unref(buttonStyle))
3798
+ }, [
3799
+ createElementVNode("span", _hoisted_2$e$4, [
3800
+ _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_3$e$4)) : createCommentVNode("", true),
3801
+ !_ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3802
+ _ctx.$slots.icon || _ctx.icon ? (openBlock(), createBlock(unref(FIcon$3), {
3803
+ key: 0,
3804
+ class: "f-button__icon",
3805
+ style: normalizeStyle({ fontSize: unref(iconSize) })
3806
+ }, {
3807
+ default: withCtx(() => [
3808
+ renderSlot(_ctx.$slots, "icon", {}, () => [
3809
+ _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : createCommentVNode("", true)
3810
+ ], true)
3811
+ ]),
3812
+ _: 3
3813
+ }, 8, ["style"])) : createCommentVNode("", true)
3814
+ ], 64)) : createCommentVNode("", true),
3815
+ unref(hasText) ? (openBlock(), createElementBlock("span", _hoisted_4$8$4, [
3816
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
3817
+ ])) : createCommentVNode("", true)
3818
+ ])
3819
+ ], 14, _hoisted_1$i$4);
3820
+ };
3821
+ }
3822
+ });
3823
+ const FButton$4 = /* @__PURE__ */ _export_sfc$4(_sfc_main$o$4, [["__scopeId", "data-v-41be5001"]]);
3824
+ const _hoisted_1$e$4 = { class: "f-checkbox__wrapper" };
3825
+ const _hoisted_2$c$4 = ["checked", "disabled"];
3826
+ const _hoisted_3$c$4 = {
3827
+ key: 0,
3828
+ class: "f-checkbox__label"
3829
+ };
3830
+ /* @__PURE__ */ defineComponent({
3831
+ __name: "FCheckbox",
3832
+ props: /* @__PURE__ */ mergeModels({
3833
+ label: {},
3834
+ disabled: { type: Boolean }
3835
+ }, {
3836
+ "modelValue": __spreadValues222({ type: Boolean }, { default: false }),
3837
+ "modelModifiers": {}
3838
+ }),
3839
+ emits: ["update:modelValue"],
3840
+ setup(__props) {
3841
+ const modelValue = useModel(__props, "modelValue");
3842
+ const props = __props;
3843
+ const handleChange = (e) => {
3844
+ if (props.disabled) return;
3845
+ const target = e.target;
3846
+ modelValue.value = target.checked;
3847
+ };
3848
+ return (_ctx, _cache) => {
3849
+ return openBlock(), createElementBlock("label", {
3850
+ class: normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
3851
+ }, [
3852
+ createElementVNode("span", _hoisted_1$e$4, [
3853
+ createElementVNode("input", {
3854
+ type: "checkbox",
3855
+ checked: modelValue.value,
3856
+ disabled: _ctx.disabled,
3857
+ onChange: handleChange
3858
+ }, null, 40, _hoisted_2$c$4),
3859
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
3860
+ ]),
3861
+ _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$c$4, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
3862
+ ], 2);
3863
+ };
3864
+ }
3865
+ });
3866
+ const _hoisted_1$m$1 = {
3867
+ key: 0,
3868
+ class: "f-dialog__icon"
3869
+ };
3870
+ const _hoisted_2$i$1 = { class: "f-dialog__title" };
3871
+ const _hoisted_3$i$1 = { class: "f-dialog__body" };
3872
+ const _hoisted_4$c = { key: 0 };
3873
+ const _hoisted_5$b = {
3874
+ key: 2,
3875
+ class: "f-dialog__footer"
3876
+ };
3877
+ /* @__PURE__ */ defineComponent({
3878
+ __name: "FDialog",
3879
+ props: /* @__PURE__ */ mergeModels({
3880
+ title: { default: "提示" },
3881
+ content: {},
3882
+ width: { default: "500px" },
3883
+ type: { default: "default" },
3884
+ confirmText: { default: "确定" },
3885
+ cancelText: { default: "取消" },
3886
+ showCancel: { type: Boolean, default: true },
3887
+ showClose: { type: Boolean, default: true },
3888
+ closeOnClickModal: { type: Boolean, default: true },
3889
+ closeOnEsc: { type: Boolean, default: true },
3890
+ center: { type: Boolean, default: false },
3891
+ fullscreen: { type: Boolean, default: false },
3892
+ destroyOnClose: { type: Boolean, default: false },
3893
+ beforeClose: {}
3894
+ }, {
3895
+ "modelValue": __spreadValues222({ type: Boolean }, { required: true }),
3896
+ "modelModifiers": {}
3897
+ }),
3898
+ emits: /* @__PURE__ */ mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
3899
+ setup(__props, { emit: __emit }) {
3900
+ const props = __props;
3901
+ const emit = __emit;
3902
+ const visible = useModel(__props, "modelValue");
3903
+ const handleClose = () => {
3904
+ visible.value = false;
3905
+ emit("close");
3906
+ };
3907
+ const handleConfirm = () => {
3908
+ emit("confirm");
3909
+ if (props.beforeClose) {
3910
+ props.beforeClose(() => {
3911
+ visible.value = false;
3912
+ });
3913
+ } else {
3914
+ visible.value = false;
3915
+ }
3916
+ };
3917
+ const handleCancel = () => {
3918
+ emit("cancel");
3919
+ handleClose();
3920
+ };
3921
+ const handleOverlayClick = (e) => {
3922
+ if (props.closeOnClickModal && e.target === e.currentTarget) {
3923
+ handleClose();
3924
+ }
3925
+ };
3926
+ const handleKeydown = (e) => {
3927
+ if (props.closeOnEsc && e.key === "Escape") {
3928
+ handleClose();
3929
+ }
3930
+ };
3931
+ onMounted(() => {
3932
+ if (props.closeOnEsc) {
3933
+ window.addEventListener("keydown", handleKeydown);
3934
+ }
3935
+ emit("open");
3936
+ });
3937
+ onBeforeUnmount(() => {
3938
+ if (props.closeOnEsc) {
3939
+ window.removeEventListener("keydown", handleKeydown);
3940
+ }
3941
+ });
3942
+ const iconMap = {
3943
+ info: InformationCircleOutline,
3944
+ success: CheckmarkCircleOutline,
3945
+ warning: WarningOutline,
3946
+ failed: AlertCircleOutline,
3947
+ primary: InformationCircleOutline,
3948
+ default: InformationCircleOutline
3949
+ };
3950
+ const hasIcon = computed(() => props.type && props.type !== "default");
3951
+ return (_ctx, _cache) => {
3952
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
3953
+ createVNode(Transition, { name: "f-dialog-fade" }, {
3954
+ default: withCtx(() => [
3955
+ visible.value ? (openBlock(), createElementBlock("div", {
3956
+ key: 0,
3957
+ class: "f-dialog-overlay",
3958
+ onClick: handleOverlayClick
3959
+ }, [
3960
+ createVNode(Transition, { name: "f-dialog-zoom" }, {
3961
+ default: withCtx(() => [
3962
+ visible.value ? (openBlock(), createElementBlock("div", {
3963
+ key: 0,
3964
+ class: normalizeClass(["f-dialog", [
3965
+ `f-dialog--${_ctx.type}`,
3966
+ {
3967
+ "is-center": _ctx.center,
3968
+ "is-fullscreen": _ctx.fullscreen
3969
+ }
3970
+ ]]),
3971
+ style: normalizeStyle({ width: _ctx.fullscreen ? "100%" : _ctx.width })
3972
+ }, [
3973
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
3974
+ key: 0,
3975
+ type: "button",
3976
+ class: "f-dialog__close",
3977
+ onClick: handleClose
3978
+ }, [
3979
+ createVNode(FIcon$4, null, {
3980
+ default: withCtx(() => [
3981
+ createVNode(unref(CloseOutline))
3982
+ ]),
3983
+ _: 1
3984
+ })
3985
+ ])) : createCommentVNode("", true),
3986
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("div", {
3987
+ key: 1,
3988
+ class: normalizeClass(["f-dialog__header", { "has-icon": unref(hasIcon) }])
3989
+ }, [
3990
+ renderSlot(_ctx.$slots, "header", {}, () => [
3991
+ unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$m$1, [
3992
+ createVNode(FIcon$4, null, {
3993
+ default: withCtx(() => [
3994
+ (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
3995
+ ]),
3996
+ _: 1
3997
+ })
3998
+ ])) : createCommentVNode("", true),
3999
+ createElementVNode("h3", _hoisted_2$i$1, toDisplayString(_ctx.title), 1)
4000
+ ], true)
4001
+ ], 2)) : createCommentVNode("", true),
4002
+ createElementVNode("div", _hoisted_3$i$1, [
4003
+ renderSlot(_ctx.$slots, "default", {}, () => [
4004
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$c, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
4005
+ ], true)
4006
+ ]),
4007
+ _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$b, [
4008
+ renderSlot(_ctx.$slots, "footer", {}, () => [
4009
+ _ctx.showCancel ? (openBlock(), createBlock(FButton$4, {
4010
+ key: 0,
4011
+ onClick: handleCancel
4012
+ }, {
4013
+ default: withCtx(() => [
4014
+ createTextVNode(toDisplayString(_ctx.cancelText), 1)
4015
+ ]),
4016
+ _: 1
4017
+ })) : createCommentVNode("", true),
4018
+ createVNode(FButton$4, {
4019
+ type: "primary",
4020
+ onClick: handleConfirm
4021
+ }, {
4022
+ default: withCtx(() => [
4023
+ createTextVNode(toDisplayString(_ctx.confirmText), 1)
4024
+ ]),
4025
+ _: 1
4026
+ })
4027
+ ], true)
4028
+ ])) : createCommentVNode("", true)
4029
+ ], 6)) : createCommentVNode("", true)
4030
+ ]),
4031
+ _: 3
4032
+ })
4033
+ ])) : createCommentVNode("", true)
4034
+ ]),
4035
+ _: 3
4036
+ })
4037
+ ]);
4038
+ };
4039
+ }
4040
+ });
4041
+ const _hoisted_1$i$5 = ["type", "disabled"];
4042
+ const _hoisted_2$e$5 = { class: "f-button__inner" };
4043
+ const _hoisted_3$e$5 = {
4044
+ key: 0,
4045
+ class: "f-loader"
4046
+ };
4047
+ const _hoisted_4$8$5 = {
4048
+ key: 2,
4049
+ class: "f-button__text"
4050
+ };
4051
+ const _sfc_main$o$5 = /* @__PURE__ */ defineComponent({
4052
+ __name: "FButton",
4053
+ props: {
4054
+ type: {},
4055
+ size: {},
4056
+ nativeType: { default: "button" },
4057
+ loading: { type: Boolean },
4058
+ disabled: { type: Boolean },
4059
+ round: { type: [Boolean, Number] },
4060
+ circle: { type: Boolean },
4061
+ plain: { type: Boolean },
4062
+ text: { type: Boolean },
4063
+ block: { type: Boolean },
4064
+ icon: {},
4065
+ active: { type: Boolean },
4066
+ bgColor: {},
4067
+ color: {}
4068
+ },
4069
+ setup(__props) {
4070
+ const SIZE_MAP = {
4071
+ small: { h: "24px", p: "0 8px", f: "12px", i: "14px" },
4072
+ normal: { h: "32px", p: "0 12px", f: "13px", i: "16px" },
4073
+ large: { h: "40px", p: "0 16px", f: "14px", i: "18px" }
4074
+ };
4075
+ const props = __props;
4076
+ const slots = useSlots();
4077
+ const groupContext = inject("FButtonGroupContext", null);
4078
+ const mergedSize = computed(() => {
4079
+ var _a, _b;
4080
+ return (_b = (_a = props.size) != null ? _a : groupContext == null ? void 0 : groupContext.size) != null ? _b : "normal";
4081
+ });
4082
+ const mergedType = computed(() => {
4083
+ var _a, _b;
4084
+ return (_b = (_a = props.type) != null ? _a : groupContext == null ? void 0 : groupContext.type) != null ? _b : "default";
4085
+ });
4086
+ const isDisabled = computed(() => props.disabled || props.loading || (groupContext == null ? void 0 : groupContext.disabled));
4087
+ const hasText = computed(() => !!slots.default);
4088
+ const buttonStyle = computed(() => {
4089
+ const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
4090
+ const style = {
4091
+ height: s.h,
4092
+ padding: props.circle ? "0" : s.p,
4093
+ fontSize: s.f,
4094
+ minWidth: props.circle ? s.h : "auto",
4095
+ backgroundColor: props.bgColor,
4096
+ color: props.color
4097
+ };
4098
+ if (props.circle) {
4099
+ style.borderRadius = "50%";
4100
+ style.width = s.h;
4101
+ } else if (typeof props.round === "number") {
4102
+ style.borderRadius = `${props.round}px`;
4103
+ } else if (props.round === true) {
4104
+ style.borderRadius = "999px";
4105
+ }
4106
+ return style;
4107
+ });
4108
+ const iconSize = computed(() => {
4109
+ const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
4110
+ return s.i;
4111
+ });
4112
+ return (_ctx, _cache) => {
4113
+ return openBlock(), createElementBlock("button", {
4114
+ type: _ctx.nativeType,
4115
+ class: normalizeClass(["f-button", [
4116
+ `f-button--${unref(mergedType)}`,
4117
+ `f-button--${unref(mergedSize)}`,
4118
+ {
4119
+ "is-disabled": unref(isDisabled),
4120
+ "is-loading": _ctx.loading,
4121
+ "is-active": _ctx.active,
4122
+ "is-text": _ctx.text,
4123
+ "is-icon-only": !unref(hasText) && (_ctx.icon || _ctx.$slots.icon)
4124
+ }
4125
+ ]]),
4126
+ disabled: unref(isDisabled),
4127
+ style: normalizeStyle(unref(buttonStyle))
4128
+ }, [
4129
+ createElementVNode("span", _hoisted_2$e$5, [
4130
+ _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_3$e$5)) : createCommentVNode("", true),
4131
+ !_ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4132
+ _ctx.$slots.icon || _ctx.icon ? (openBlock(), createBlock(unref(FIcon$4), {
4133
+ key: 0,
4134
+ class: "f-button__icon",
4135
+ style: normalizeStyle({ fontSize: unref(iconSize) })
4136
+ }, {
4137
+ default: withCtx(() => [
4138
+ renderSlot(_ctx.$slots, "icon", {}, () => [
4139
+ _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : createCommentVNode("", true)
4140
+ ], true)
4141
+ ]),
4142
+ _: 3
4143
+ }, 8, ["style"])) : createCommentVNode("", true)
4144
+ ], 64)) : createCommentVNode("", true),
4145
+ unref(hasText) ? (openBlock(), createElementBlock("span", _hoisted_4$8$5, [
4146
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
4147
+ ])) : createCommentVNode("", true)
4148
+ ])
4149
+ ], 14, _hoisted_1$i$5);
4150
+ };
4151
+ }
4152
+ });
4153
+ const FButton$5 = /* @__PURE__ */ _export_sfc$5(_sfc_main$o$5, [["__scopeId", "data-v-41be5001"]]);
4154
+ const _hoisted_1$e$5 = { class: "f-checkbox__wrapper" };
4155
+ const _hoisted_2$c$5 = ["checked", "disabled"];
4156
+ const _hoisted_3$c$5 = {
4157
+ key: 0,
4158
+ class: "f-checkbox__label"
4159
+ };
4160
+ /* @__PURE__ */ defineComponent({
4161
+ __name: "FCheckbox",
4162
+ props: /* @__PURE__ */ mergeModels({
4163
+ label: {},
4164
+ disabled: { type: Boolean }
4165
+ }, {
4166
+ "modelValue": __spreadValues22({ type: Boolean }, { default: false }),
4167
+ "modelModifiers": {}
4168
+ }),
4169
+ emits: ["update:modelValue"],
4170
+ setup(__props) {
4171
+ const modelValue = useModel(__props, "modelValue");
4172
+ const props = __props;
4173
+ const handleChange = (e) => {
4174
+ if (props.disabled) return;
4175
+ const target = e.target;
4176
+ modelValue.value = target.checked;
4177
+ };
4178
+ return (_ctx, _cache) => {
4179
+ return openBlock(), createElementBlock("label", {
4180
+ class: normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
4181
+ }, [
4182
+ createElementVNode("span", _hoisted_1$e$5, [
4183
+ createElementVNode("input", {
4184
+ type: "checkbox",
4185
+ checked: modelValue.value,
4186
+ disabled: _ctx.disabled,
4187
+ onChange: handleChange
4188
+ }, null, 40, _hoisted_2$c$5),
4189
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
4190
+ ]),
4191
+ _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$c$5, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
4192
+ ], 2);
4193
+ };
4194
+ }
4195
+ });
4196
+ const _hoisted_1$p = {
4197
+ key: 0,
4198
+ class: "f-dialog__icon"
4199
+ };
4200
+ const _hoisted_2$l = { class: "f-dialog__title" };
4201
+ const _hoisted_3$k = { class: "f-dialog__body" };
4202
+ const _hoisted_4$d = { key: 0 };
4203
+ const _hoisted_5$c = {
4204
+ key: 2,
4205
+ class: "f-dialog__footer"
4206
+ };
4207
+ /* @__PURE__ */ defineComponent({
4208
+ __name: "FDialog",
4209
+ props: /* @__PURE__ */ mergeModels({
4210
+ title: { default: "提示" },
4211
+ content: {},
4212
+ width: { default: "500px" },
4213
+ type: { default: "default" },
4214
+ confirmText: { default: "确定" },
4215
+ cancelText: { default: "取消" },
4216
+ showCancel: { type: Boolean, default: true },
4217
+ showClose: { type: Boolean, default: true },
4218
+ closeOnClickModal: { type: Boolean, default: true },
4219
+ closeOnEsc: { type: Boolean, default: true },
4220
+ center: { type: Boolean, default: false },
4221
+ fullscreen: { type: Boolean, default: false },
4222
+ destroyOnClose: { type: Boolean, default: false },
4223
+ beforeClose: {}
4224
+ }, {
4225
+ "modelValue": __spreadValues22({ type: Boolean }, { required: true }),
4226
+ "modelModifiers": {}
4227
+ }),
4228
+ emits: /* @__PURE__ */ mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
4229
+ setup(__props, { emit: __emit }) {
4230
+ const props = __props;
4231
+ const emit = __emit;
4232
+ const visible = useModel(__props, "modelValue");
4233
+ const handleClose = () => {
4234
+ visible.value = false;
4235
+ emit("close");
4236
+ };
4237
+ const handleConfirm = () => {
4238
+ emit("confirm");
4239
+ if (props.beforeClose) {
4240
+ props.beforeClose(() => {
4241
+ visible.value = false;
4242
+ });
4243
+ } else {
4244
+ visible.value = false;
4245
+ }
4246
+ };
4247
+ const handleCancel = () => {
4248
+ emit("cancel");
4249
+ handleClose();
4250
+ };
4251
+ const handleOverlayClick = (e) => {
4252
+ if (props.closeOnClickModal && e.target === e.currentTarget) {
4253
+ handleClose();
4254
+ }
4255
+ };
4256
+ const handleKeydown = (e) => {
4257
+ if (props.closeOnEsc && e.key === "Escape") {
4258
+ handleClose();
4259
+ }
4260
+ };
4261
+ onMounted(() => {
4262
+ if (props.closeOnEsc) {
4263
+ window.addEventListener("keydown", handleKeydown);
4264
+ }
4265
+ emit("open");
4266
+ });
4267
+ onBeforeUnmount(() => {
4268
+ if (props.closeOnEsc) {
4269
+ window.removeEventListener("keydown", handleKeydown);
4270
+ }
4271
+ });
4272
+ const iconMap = {
4273
+ info: InformationCircleOutline,
4274
+ success: CheckmarkCircleOutline,
4275
+ warning: WarningOutline,
4276
+ failed: AlertCircleOutline,
4277
+ primary: InformationCircleOutline,
4278
+ default: InformationCircleOutline
4279
+ };
4280
+ const hasIcon = computed(() => props.type && props.type !== "default");
4281
+ return (_ctx, _cache) => {
4282
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
4283
+ createVNode(Transition, { name: "f-dialog-fade" }, {
4284
+ default: withCtx(() => [
4285
+ visible.value ? (openBlock(), createElementBlock("div", {
4286
+ key: 0,
4287
+ class: "f-dialog-overlay",
4288
+ onClick: handleOverlayClick
4289
+ }, [
4290
+ createVNode(Transition, { name: "f-dialog-zoom" }, {
4291
+ default: withCtx(() => [
4292
+ visible.value ? (openBlock(), createElementBlock("div", {
4293
+ key: 0,
4294
+ class: normalizeClass(["f-dialog", [
4295
+ `f-dialog--${_ctx.type}`,
4296
+ {
4297
+ "is-center": _ctx.center,
4298
+ "is-fullscreen": _ctx.fullscreen
4299
+ }
4300
+ ]]),
4301
+ style: normalizeStyle({ width: _ctx.fullscreen ? "100%" : _ctx.width })
4302
+ }, [
4303
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
4304
+ key: 0,
4305
+ type: "button",
4306
+ class: "f-dialog__close",
4307
+ onClick: handleClose
4308
+ }, [
4309
+ createVNode(FIcon$5, null, {
4310
+ default: withCtx(() => [
4311
+ createVNode(unref(CloseOutline))
4312
+ ]),
4313
+ _: 1
4314
+ })
4315
+ ])) : createCommentVNode("", true),
4316
+ _ctx.$slots.header || _ctx.title ? (openBlock(), createElementBlock("div", {
4317
+ key: 1,
4318
+ class: normalizeClass(["f-dialog__header", { "has-icon": unref(hasIcon) }])
4319
+ }, [
4320
+ renderSlot(_ctx.$slots, "header", {}, () => [
4321
+ unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$p, [
4322
+ createVNode(FIcon$5, null, {
4323
+ default: withCtx(() => [
4324
+ (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
4325
+ ]),
4326
+ _: 1
4327
+ })
4328
+ ])) : createCommentVNode("", true),
4329
+ createElementVNode("h3", _hoisted_2$l, toDisplayString(_ctx.title), 1)
4330
+ ], true)
4331
+ ], 2)) : createCommentVNode("", true),
4332
+ createElementVNode("div", _hoisted_3$k, [
4333
+ renderSlot(_ctx.$slots, "default", {}, () => [
4334
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$d, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
4335
+ ], true)
4336
+ ]),
4337
+ _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$c, [
4338
+ renderSlot(_ctx.$slots, "footer", {}, () => [
4339
+ _ctx.showCancel ? (openBlock(), createBlock(FButton$5, {
4340
+ key: 0,
4341
+ onClick: handleCancel
4342
+ }, {
4343
+ default: withCtx(() => [
4344
+ createTextVNode(toDisplayString(_ctx.cancelText), 1)
4345
+ ]),
4346
+ _: 1
4347
+ })) : createCommentVNode("", true),
4348
+ createVNode(FButton$5, {
4349
+ type: "primary",
4350
+ onClick: handleConfirm
4351
+ }, {
4352
+ default: withCtx(() => [
4353
+ createTextVNode(toDisplayString(_ctx.confirmText), 1)
4354
+ ]),
4355
+ _: 1
4356
+ })
4357
+ ], true)
4358
+ ])) : createCommentVNode("", true)
4359
+ ], 6)) : createCommentVNode("", true)
4360
+ ]),
4361
+ _: 3
4362
+ })
4363
+ ])) : createCommentVNode("", true)
4364
+ ]),
4365
+ _: 3
4366
+ })
4367
+ ]);
4368
+ };
4369
+ }
4370
+ });
4371
+ const _hoisted_1$o$1 = ["type", "disabled"];
4372
+ const _hoisted_2$k$1 = { class: "f-button__inner" };
4373
+ const _hoisted_3$j$1 = {
4374
+ key: 0,
4375
+ class: "f-loader"
4376
+ };
4377
+ const _hoisted_4$b$2 = {
4378
+ key: 2,
4379
+ class: "f-button__text"
4380
+ };
4381
+ const _sfc_main$w$1 = /* @__PURE__ */ defineComponent({
4382
+ __name: "FButton",
4383
+ props: {
4384
+ type: {},
4385
+ size: {},
4386
+ nativeType: { default: "button" },
4387
+ loading: { type: Boolean },
4388
+ disabled: { type: Boolean },
4389
+ round: { type: [Boolean, Number] },
4390
+ circle: { type: Boolean },
4391
+ plain: { type: Boolean },
4392
+ text: { type: Boolean },
4393
+ block: { type: Boolean },
4394
+ icon: {},
4395
+ active: { type: Boolean },
4396
+ bgColor: {},
4397
+ color: {}
4398
+ },
4399
+ setup(__props) {
4400
+ const SIZE_MAP = {
4401
+ small: { h: "24px", p: "0 8px", f: "12px", i: "14px" },
4402
+ normal: { h: "32px", p: "0 12px", f: "13px", i: "16px" },
4403
+ large: { h: "40px", p: "0 16px", f: "14px", i: "18px" }
4404
+ };
4405
+ const props = __props;
4406
+ const slots = useSlots();
4407
+ const groupContext = inject("FButtonGroupContext", null);
4408
+ const mergedSize = computed(() => {
4409
+ var _a, _b;
4410
+ return (_b = (_a = props.size) != null ? _a : groupContext == null ? void 0 : groupContext.size) != null ? _b : "normal";
4411
+ });
4412
+ const mergedType = computed(() => {
4413
+ var _a, _b;
4414
+ return (_b = (_a = props.type) != null ? _a : groupContext == null ? void 0 : groupContext.type) != null ? _b : "default";
4415
+ });
4416
+ const isDisabled = computed(() => props.disabled || props.loading || (groupContext == null ? void 0 : groupContext.disabled));
4417
+ const hasText = computed(() => !!slots.default);
4418
+ const buttonStyle = computed(() => {
4419
+ const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
4420
+ const style = {
4421
+ height: s.h,
4422
+ padding: props.circle ? "0" : s.p,
4423
+ fontSize: s.f,
4424
+ minWidth: props.circle ? s.h : "auto",
4425
+ backgroundColor: props.bgColor,
4426
+ color: props.color
4427
+ };
4428
+ if (props.circle) {
4429
+ style.borderRadius = "50%";
4430
+ style.width = s.h;
4431
+ } else if (typeof props.round === "number") {
4432
+ style.borderRadius = `${props.round}px`;
4433
+ } else if (props.round === true) {
4434
+ style.borderRadius = "999px";
4435
+ }
4436
+ return style;
4437
+ });
4438
+ const iconSize = computed(() => {
4439
+ const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
4440
+ return s.i;
4441
+ });
4442
+ return (_ctx, _cache) => {
4443
+ return openBlock(), createElementBlock("button", {
4444
+ type: _ctx.nativeType,
4445
+ class: normalizeClass(["f-button", [
4446
+ `f-button--${unref(mergedType)}`,
4447
+ `f-button--${unref(mergedSize)}`,
4448
+ {
4449
+ "is-disabled": unref(isDisabled),
4450
+ "is-loading": _ctx.loading,
4451
+ "is-active": _ctx.active,
4452
+ "is-text": _ctx.text,
4453
+ "is-icon-only": !unref(hasText) && (_ctx.icon || _ctx.$slots.icon)
4454
+ }
4455
+ ]]),
4456
+ disabled: unref(isDisabled),
4457
+ style: normalizeStyle(unref(buttonStyle))
4458
+ }, [
4459
+ createElementVNode("span", _hoisted_2$k$1, [
4460
+ _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_3$j$1)) : createCommentVNode("", true),
4461
+ !_ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4462
+ _ctx.$slots.icon || _ctx.icon ? (openBlock(), createBlock(unref(FIcon$5), {
4463
+ key: 0,
4464
+ class: "f-button__icon",
4465
+ style: normalizeStyle({ fontSize: unref(iconSize) })
4466
+ }, {
4467
+ default: withCtx(() => [
4468
+ renderSlot(_ctx.$slots, "icon", {}, () => [
4469
+ _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : createCommentVNode("", true)
4470
+ ], true)
4471
+ ]),
4472
+ _: 3
4473
+ }, 8, ["style"])) : createCommentVNode("", true)
4474
+ ], 64)) : createCommentVNode("", true),
4475
+ unref(hasText) ? (openBlock(), createElementBlock("span", _hoisted_4$b$2, [
4476
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
4477
+ ])) : createCommentVNode("", true)
4478
+ ])
4479
+ ], 14, _hoisted_1$o$1);
4480
+ };
4481
+ }
4482
+ });
4483
+ const FButton$6 = /* @__PURE__ */ _export_sfc$6(_sfc_main$w$1, [["__scopeId", "data-v-41be5001"]]);
4484
+ const _hoisted_1$k$2 = { class: "f-checkbox__wrapper" };
4485
+ const _hoisted_2$i$2 = ["checked", "disabled"];
4486
+ const _hoisted_3$h$2 = {
4487
+ key: 0,
4488
+ class: "f-checkbox__label"
4489
+ };
4490
+ /* @__PURE__ */ defineComponent({
4491
+ __name: "FCheckbox",
4492
+ props: /* @__PURE__ */ mergeModels({
4493
+ label: {},
4494
+ disabled: { type: Boolean }
4495
+ }, {
4496
+ "modelValue": __spreadValues2({ type: Boolean }, { default: false }),
4497
+ "modelModifiers": {}
4498
+ }),
4499
+ emits: ["update:modelValue"],
4500
+ setup(__props) {
4501
+ const modelValue = useModel(__props, "modelValue");
4502
+ const props = __props;
4503
+ const handleChange = (e) => {
4504
+ if (props.disabled) return;
4505
+ const target = e.target;
4506
+ modelValue.value = target.checked;
4507
+ };
4508
+ return (_ctx, _cache) => {
4509
+ return openBlock(), createElementBlock("label", {
4510
+ class: normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
4511
+ }, [
4512
+ createElementVNode("span", _hoisted_1$k$2, [
4513
+ createElementVNode("input", {
4514
+ type: "checkbox",
4515
+ checked: modelValue.value,
4516
+ disabled: _ctx.disabled,
4517
+ onChange: handleChange
4518
+ }, null, 40, _hoisted_2$i$2),
4519
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
4520
+ ]),
4521
+ _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$h$2, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
4522
+ ], 2);
4523
+ };
4524
+ }
4525
+ });
4526
+ const _hoisted_1$j$2 = { class: "f-radio__wrapper" };
4527
+ const _hoisted_2$h$2 = ["name", "checked", "disabled"];
4528
+ const _hoisted_3$g$2 = {
4529
+ key: 0,
4530
+ class: "f-radio__label"
4531
+ };
4532
+ /* @__PURE__ */ defineComponent({
4533
+ __name: "FRadio",
4534
+ props: /* @__PURE__ */ mergeModels({
4535
+ label: {},
4536
+ value: { type: [String, Number, Boolean] },
4537
+ name: {},
4538
+ disabled: { type: Boolean }
4539
+ }, {
4540
+ "modelValue": __spreadValues2({ type: [String, Number, Boolean] }, { default: "" }),
4541
+ "modelModifiers": {}
4542
+ }),
4543
+ emits: ["update:modelValue"],
4544
+ setup(__props) {
4545
+ const modelValue = useModel(__props, "modelValue");
4546
+ const props = __props;
4547
+ const handleChange = (event) => {
4548
+ var _a;
4549
+ if (props.disabled) return;
4550
+ const target = event.target;
4551
+ if (target.checked) {
4552
+ modelValue.value = (_a = props.value) != null ? _a : "";
4553
+ }
4554
+ };
4555
+ return (_ctx, _cache) => {
4556
+ return openBlock(), createElementBlock("label", {
4557
+ class: normalizeClass(["f-radio", { "is-disabled": _ctx.disabled }])
4558
+ }, [
4559
+ createElementVNode("span", _hoisted_1$j$2, [
4560
+ createElementVNode("input", {
4561
+ type: "radio",
4562
+ name: _ctx.name,
4563
+ checked: modelValue.value === _ctx.value,
4564
+ disabled: _ctx.disabled,
4565
+ onChange: handleChange
4566
+ }, null, 40, _hoisted_2$h$2),
4567
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-radio__dot" }, null, -1))
4568
+ ]),
4569
+ _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$g$2, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
4570
+ ], 2);
4571
+ };
4572
+ }
4573
+ });
4574
+ const _hoisted_1$i$6 = { class: "f-radio__wrapper" };
4575
+ const _hoisted_2$g$2 = ["name", "checked", "disabled", "onChange"];
4576
+ const _hoisted_3$f$2 = {
4577
+ key: 0,
4578
+ class: "f-radio__label"
4579
+ };
4580
+ /* @__PURE__ */ defineComponent({
4581
+ __name: "FRadioGroup",
4582
+ props: /* @__PURE__ */ mergeModels({
4583
+ options: {},
4584
+ name: {},
4585
+ disabled: { type: Boolean },
4586
+ direction: { default: "horizontal" }
4587
+ }, {
4588
+ "modelValue": __spreadValues2({ type: [String, Number, Boolean] }, { default: "" }),
4589
+ "modelModifiers": {}
4590
+ }),
4591
+ emits: ["update:modelValue"],
4592
+ setup(__props) {
4593
+ const modelValue = useModel(__props, "modelValue");
4594
+ const props = __props;
4595
+ const handleChange = (option) => {
4596
+ if (option.disabled || props.disabled) return;
4597
+ modelValue.value = option.value;
4598
+ };
4599
+ return (_ctx, _cache) => {
4600
+ return openBlock(), createElementBlock("div", {
4601
+ class: normalizeClass(["f-radio-group", [`is-${_ctx.direction}`]])
4602
+ }, [
4603
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option) => {
4604
+ var _a;
4605
+ return openBlock(), createElementBlock("label", {
4606
+ key: String(option.value),
4607
+ class: normalizeClass(["f-radio", { "is-disabled": option.disabled || _ctx.disabled }])
4608
+ }, [
4609
+ createElementVNode("span", _hoisted_1$i$6, [
4610
+ createElementVNode("input", {
4611
+ type: "radio",
4612
+ name: (_a = _ctx.name) != null ? _a : "f-radio-group",
4613
+ checked: modelValue.value === option.value,
4614
+ disabled: option.disabled || _ctx.disabled,
4615
+ onChange: ($event) => handleChange(option)
4616
+ }, null, 40, _hoisted_2$g$2),
4617
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-radio__dot" }, null, -1))
4618
+ ]),
4619
+ option.label ? (openBlock(), createElementBlock("span", _hoisted_3$f$2, toDisplayString(option.label), 1)) : createCommentVNode("", true)
4620
+ ], 2);
4621
+ }), 128))
4622
+ ], 2);
4623
+ };
4624
+ }
4625
+ });
4626
+ const _hoisted_1$h$1 = ["disabled", "aria-checked"];
4627
+ const _hoisted_2$f$2 = {
4628
+ key: 0,
4629
+ class: "f-switch__text"
4630
+ };
4631
+ /* @__PURE__ */ defineComponent({
4632
+ __name: "FSwitch",
4633
+ props: /* @__PURE__ */ mergeModels({
4634
+ label: {},
4635
+ disabled: { type: Boolean },
4636
+ activeText: {},
4637
+ inactiveText: {}
4638
+ }, {
4639
+ "modelValue": __spreadValues2({ type: Boolean }, { default: false }),
4640
+ "modelModifiers": {}
4641
+ }),
4642
+ emits: ["update:modelValue"],
4643
+ setup(__props) {
4644
+ const modelValue = useModel(__props, "modelValue");
4645
+ const props = __props;
4646
+ const toggle = () => {
4647
+ if (props.disabled) return;
4648
+ modelValue.value = !modelValue.value;
4649
+ };
4650
+ return (_ctx, _cache) => {
4651
+ var _a, _b;
4652
+ return openBlock(), createElementBlock("button", {
4653
+ type: "button",
4654
+ class: normalizeClass(["f-switch", { "is-checked": modelValue.value, "is-disabled": _ctx.disabled }]),
4655
+ disabled: _ctx.disabled,
4656
+ "aria-checked": modelValue.value,
4657
+ role: "switch",
4658
+ onClick: toggle
4659
+ }, [
4660
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-switch__track" }, [
4661
+ createElementVNode("span", { class: "f-switch__thumb" })
4662
+ ], -1)),
4663
+ _ctx.label || _ctx.activeText || _ctx.inactiveText ? (openBlock(), createElementBlock("span", _hoisted_2$f$2, toDisplayString(modelValue.value ? (_a = _ctx.activeText) != null ? _a : _ctx.label : (_b = _ctx.inactiveText) != null ? _b : _ctx.label), 1)) : createCommentVNode("", true)
4664
+ ], 10, _hoisted_1$h$1);
4665
+ };
4666
+ }
4667
+ });
4668
+ /* @__PURE__ */ defineComponent({
4669
+ __name: "FMask",
4670
+ props: /* @__PURE__ */ mergeModels({
4671
+ maskClosable: { type: Boolean, default: true },
4672
+ maskColor: { default: "black" },
4673
+ showMask: { type: Boolean, default: true }
4674
+ }, {
4675
+ "modelValue": __spreadValues2({ type: Boolean }, { default: false }),
4676
+ "modelModifiers": {}
4677
+ }),
4678
+ emits: ["update:modelValue"],
4679
+ setup(__props) {
4680
+ const props = __props;
4681
+ const visible = useModel(__props, "modelValue");
4682
+ const handleMaskClick = () => {
4683
+ if (props.maskClosable) visible.value = false;
4684
+ };
4685
+ const maskBackgroundColor = computed(() => {
4686
+ if (!props.showMask) return "transparent";
4687
+ switch (props.maskColor) {
4688
+ case "white":
4689
+ return "rgba(255, 255, 255, 0.5)";
4690
+ case "black":
4691
+ return "rgba(0, 0, 0, 0.5)";
4692
+ case "transparent":
4693
+ return "transparent";
4694
+ default:
4695
+ return "rgba(0, 0, 0, 0.5)";
4696
+ }
4697
+ });
4698
+ return (_ctx, _cache) => {
4699
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
4700
+ createVNode(Transition, { name: "fade" }, {
4701
+ default: withCtx(() => [
4702
+ visible.value ? (openBlock(), createElementBlock("div", {
4703
+ key: 0,
4704
+ class: "f-dialog-mask",
4705
+ style: normalizeStyle({ backgroundColor: unref(maskBackgroundColor) }),
4706
+ onClick: handleMaskClick
4707
+ }, [
4708
+ createElementVNode("div", {
4709
+ class: "f-dialog-container",
4710
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
4711
+ }, ["stop"]))
4712
+ }, [
4713
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
4714
+ ])
4715
+ ], 4)) : createCommentVNode("", true)
4716
+ ]),
4717
+ _: 3
4718
+ })
4719
+ ]);
4720
+ };
4721
+ }
4722
+ });
4723
+ const _hoisted_1$2$1 = { class: "f-message__content" };
3393
4724
  const _sfc_main$2$1 = /* @__PURE__ */ defineComponent({
3394
4725
  __name: "FMessage",
3395
4726
  props: {
@@ -3460,7 +4791,7 @@ const _sfc_main$2$1 = /* @__PURE__ */ defineComponent({
3460
4791
  onMouseenter: clearTimer,
3461
4792
  onMouseleave: startTimer
3462
4793
  }, [
3463
- _ctx.showIcon ? (openBlock(), createBlock(FIcon$3, {
4794
+ _ctx.showIcon ? (openBlock(), createBlock(FIcon$6, {
3464
4795
  key: 0,
3465
4796
  class: "f-message__icon"
3466
4797
  }, {
@@ -3477,7 +4808,7 @@ const _sfc_main$2$1 = /* @__PURE__ */ defineComponent({
3477
4808
  "aria-label": "close",
3478
4809
  onClick: close
3479
4810
  }, [
3480
- createVNode(FIcon$3, null, {
4811
+ createVNode(FIcon$6, null, {
3481
4812
  default: withCtx(() => [
3482
4813
  createVNode(unref(Close))
3483
4814
  ]),
@@ -3491,7 +4822,7 @@ const _sfc_main$2$1 = /* @__PURE__ */ defineComponent({
3491
4822
  };
3492
4823
  }
3493
4824
  });
3494
- const FMessageComp$1 = /* @__PURE__ */ _export_sfc$3(_sfc_main$2$1, [["__scopeId", "data-v-97556afa"]]);
4825
+ const FMessageComp$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$2$1, [["__scopeId", "data-v-97556afa"]]);
3495
4826
  const GAP$1$1 = 16;
3496
4827
  const BASE_OFFSET$1$1 = 20;
3497
4828
  let seed$1$1 = 0;
@@ -3647,7 +4978,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
3647
4978
  onMouseleave: startTimer,
3648
4979
  onClick: handleClick
3649
4980
  }, [
3650
- _ctx.showIcon ? (openBlock(), createBlock(FIcon$3, {
4981
+ _ctx.showIcon ? (openBlock(), createBlock(FIcon$6, {
3651
4982
  key: 0,
3652
4983
  class: "f-notification__icon"
3653
4984
  }, {
@@ -3667,7 +4998,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
3667
4998
  "aria-label": "close",
3668
4999
  onClick: withModifiers(close, ["stop"])
3669
5000
  }, [
3670
- createVNode(FIcon$3, null, {
5001
+ createVNode(FIcon$6, null, {
3671
5002
  default: withCtx(() => [
3672
5003
  createVNode(unref(Close))
3673
5004
  ]),
@@ -3681,7 +5012,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
3681
5012
  };
3682
5013
  }
3683
5014
  });
3684
- const FNotificationComp$1 = /* @__PURE__ */ _export_sfc$3(_sfc_main$1$1, [["__scopeId", "data-v-0a7315d6"]]);
5015
+ const FNotificationComp$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$1$1, [["__scopeId", "data-v-0a7315d6"]]);
3685
5016
  const GAP$2 = 16;
3686
5017
  const BASE_OFFSET$2 = 20;
3687
5018
  let seed$2 = 0;
@@ -3770,18 +5101,18 @@ FNotification$1.closeAll = (position) => {
3770
5101
  });
3771
5102
  });
3772
5103
  };
3773
- const _hoisted_1$l = {
5104
+ const _hoisted_1$q = {
3774
5105
  key: 0,
3775
5106
  class: "f-dialog__icon"
3776
5107
  };
3777
- const _hoisted_2$h = { class: "f-dialog__title" };
3778
- const _hoisted_3$h = { class: "f-dialog__body" };
3779
- const _hoisted_4$b = { key: 0 };
3780
- const _hoisted_5$a = {
5108
+ const _hoisted_2$m = { class: "f-dialog__title" };
5109
+ const _hoisted_3$l = { class: "f-dialog__body" };
5110
+ const _hoisted_4$e = { key: 0 };
5111
+ const _hoisted_5$d = {
3781
5112
  key: 2,
3782
5113
  class: "f-dialog__footer"
3783
5114
  };
3784
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
5115
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
3785
5116
  __name: "FDialog",
3786
5117
  props: /* @__PURE__ */ mergeModels({
3787
5118
  title: { default: "提示" },
@@ -3883,7 +5214,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
3883
5214
  class: "f-dialog__close",
3884
5215
  onClick: handleClose
3885
5216
  }, [
3886
- createVNode(FIcon$3, null, {
5217
+ createVNode(FIcon$6, null, {
3887
5218
  default: withCtx(() => [
3888
5219
  createVNode(unref(CloseOutline))
3889
5220
  ]),
@@ -3895,25 +5226,25 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
3895
5226
  class: normalizeClass(["f-dialog__header", { "has-icon": unref(hasIcon) }])
3896
5227
  }, [
3897
5228
  renderSlot(_ctx.$slots, "header", {}, () => [
3898
- unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$l, [
3899
- createVNode(FIcon$3, null, {
5229
+ unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1$q, [
5230
+ createVNode(FIcon$6, null, {
3900
5231
  default: withCtx(() => [
3901
5232
  (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
3902
5233
  ]),
3903
5234
  _: 1
3904
5235
  })
3905
5236
  ])) : createCommentVNode("", true),
3906
- createElementVNode("h3", _hoisted_2$h, toDisplayString(_ctx.title), 1)
5237
+ createElementVNode("h3", _hoisted_2$m, toDisplayString(_ctx.title), 1)
3907
5238
  ], true)
3908
5239
  ], 2)) : createCommentVNode("", true),
3909
- createElementVNode("div", _hoisted_3$h, [
5240
+ createElementVNode("div", _hoisted_3$l, [
3910
5241
  renderSlot(_ctx.$slots, "default", {}, () => [
3911
- _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$b, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
5242
+ _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_4$e, toDisplayString(_ctx.content), 1)) : createCommentVNode("", true)
3912
5243
  ], true)
3913
5244
  ]),
3914
- _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
5245
+ _ctx.$slots.footer || _ctx.showCancel ? (openBlock(), createElementBlock("div", _hoisted_5$d, [
3915
5246
  renderSlot(_ctx.$slots, "footer", {}, () => [
3916
- _ctx.showCancel ? (openBlock(), createBlock(FButton$3, {
5247
+ _ctx.showCancel ? (openBlock(), createBlock(FButton$6, {
3917
5248
  key: 0,
3918
5249
  onClick: handleCancel
3919
5250
  }, {
@@ -3922,7 +5253,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
3922
5253
  ]),
3923
5254
  _: 1
3924
5255
  })) : createCommentVNode("", true),
3925
- createVNode(FButton$3, {
5256
+ createVNode(FButton$6, {
3926
5257
  type: "primary",
3927
5258
  onClick: handleConfirm
3928
5259
  }, {
@@ -3945,7 +5276,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
3945
5276
  };
3946
5277
  }
3947
5278
  });
3948
- const FDialogComp$1 = /* @__PURE__ */ _export_sfc$3(_sfc_main$p, [["__scopeId", "data-v-991352de"]]);
5279
+ const FDialogComp$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$x, [["__scopeId", "data-v-b88b4e96"]]);
3949
5280
  const showDialog$1 = (options) => {
3950
5281
  return new Promise((resolve) => {
3951
5282
  const container = document.createElement("div");
@@ -4026,17 +5357,17 @@ FDialog$1.success = success$1;
4026
5357
  FDialog$1.warning = warning$1;
4027
5358
  FDialog$1.failed = failed$1;
4028
5359
  FDialog$1.info = info$1;
4029
- const _hoisted_1$i = ["type", "disabled"];
4030
- const _hoisted_2$e = { class: "f-button__inner" };
4031
- const _hoisted_3$e = {
5360
+ const _hoisted_1$o = ["type", "disabled"];
5361
+ const _hoisted_2$k = { class: "f-button__inner" };
5362
+ const _hoisted_3$j = {
4032
5363
  key: 0,
4033
5364
  class: "f-loader"
4034
5365
  };
4035
- const _hoisted_4$8 = {
5366
+ const _hoisted_4$b = {
4036
5367
  key: 2,
4037
5368
  class: "f-button__text"
4038
5369
  };
4039
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
5370
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
4040
5371
  __name: "FButton",
4041
5372
  props: {
4042
5373
  type: {},
@@ -4114,10 +5445,10 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
4114
5445
  disabled: unref(isDisabled),
4115
5446
  style: normalizeStyle(unref(buttonStyle))
4116
5447
  }, [
4117
- createElementVNode("span", _hoisted_2$e, [
4118
- _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_3$e)) : createCommentVNode("", true),
5448
+ createElementVNode("span", _hoisted_2$k, [
5449
+ _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_3$j)) : createCommentVNode("", true),
4119
5450
  !_ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4120
- _ctx.$slots.icon || _ctx.icon ? (openBlock(), createBlock(unref(FIcon$3), {
5451
+ _ctx.$slots.icon || _ctx.icon ? (openBlock(), createBlock(unref(FIcon$6), {
4121
5452
  key: 0,
4122
5453
  class: "f-button__icon",
4123
5454
  style: normalizeStyle({ fontSize: unref(iconSize) })
@@ -4130,16 +5461,16 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
4130
5461
  _: 3
4131
5462
  }, 8, ["style"])) : createCommentVNode("", true)
4132
5463
  ], 64)) : createCommentVNode("", true),
4133
- unref(hasText) ? (openBlock(), createElementBlock("span", _hoisted_4$8, [
5464
+ unref(hasText) ? (openBlock(), createElementBlock("span", _hoisted_4$b, [
4134
5465
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
4135
5466
  ])) : createCommentVNode("", true)
4136
5467
  ])
4137
- ], 14, _hoisted_1$i);
5468
+ ], 14, _hoisted_1$o);
4138
5469
  };
4139
5470
  }
4140
5471
  });
4141
- const FButton = /* @__PURE__ */ _export_sfc$4(_sfc_main$o, [["__scopeId", "data-v-41be5001"]]);
4142
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
5472
+ const FButton = /* @__PURE__ */ _export_sfc$7(_sfc_main$w, [["__scopeId", "data-v-41be5001"]]);
5473
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
4143
5474
  __name: "FTypography",
4144
5475
  props: {
4145
5476
  color: { default: "" }
@@ -4161,8 +5492,8 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
4161
5492
  };
4162
5493
  }
4163
5494
  });
4164
- const FTypography = /* @__PURE__ */ _export_sfc$4(_sfc_main$n, [["__scopeId", "data-v-50e044db"]]);
4165
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
5495
+ const FTypography = /* @__PURE__ */ _export_sfc$7(_sfc_main$v, [["__scopeId", "data-v-50e044db"]]);
5496
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
4166
5497
  __name: "FText",
4167
5498
  props: {
4168
5499
  tag: { default: "span" },
@@ -4220,9 +5551,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
4220
5551
  };
4221
5552
  }
4222
5553
  });
4223
- const FText = /* @__PURE__ */ _export_sfc$4(_sfc_main$m, [["__scopeId", "data-v-8bcfc6b3"]]);
4224
- const _hoisted_1$h = ["href", "target", "rel"];
4225
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
5554
+ const FText = /* @__PURE__ */ _export_sfc$7(_sfc_main$u, [["__scopeId", "data-v-8bcfc6b3"]]);
5555
+ const _hoisted_1$n = ["href", "target", "rel"];
5556
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
4226
5557
  __name: "FLink",
4227
5558
  props: {
4228
5559
  href: {},
@@ -4245,13 +5576,13 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
4245
5576
  rel: props.target === "_blank" ? "noopener noreferrer" : void 0
4246
5577
  }, [
4247
5578
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
4248
- ], 10, _hoisted_1$h);
5579
+ ], 10, _hoisted_1$n);
4249
5580
  };
4250
5581
  }
4251
5582
  });
4252
- const FLink = /* @__PURE__ */ _export_sfc$4(_sfc_main$l, [["__scopeId", "data-v-daaa3e25"]]);
4253
- const _hoisted_1$g = { class: "f-badge" };
4254
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
5583
+ const FLink = /* @__PURE__ */ _export_sfc$7(_sfc_main$t, [["__scopeId", "data-v-daaa3e25"]]);
5584
+ const _hoisted_1$m = { class: "f-badge" };
5585
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
4255
5586
  __name: "FBadge",
4256
5587
  props: {
4257
5588
  value: {},
@@ -4280,7 +5611,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4280
5611
  return map[props.placement];
4281
5612
  });
4282
5613
  return (_ctx, _cache) => {
4283
- return openBlock(), createElementBlock("div", _hoisted_1$g, [
5614
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [
4284
5615
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
4285
5616
  _ctx.dot || _ctx.value !== void 0 && _ctx.value !== "" ? (openBlock(), createElementBlock("span", {
4286
5617
  key: 0,
@@ -4291,8 +5622,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4291
5622
  };
4292
5623
  }
4293
5624
  });
4294
- const FBadge = /* @__PURE__ */ _export_sfc$4(_sfc_main$k, [["__scopeId", "data-v-be6947ff"]]);
4295
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
5625
+ const FBadge = /* @__PURE__ */ _export_sfc$7(_sfc_main$s, [["__scopeId", "data-v-be6947ff"]]);
5626
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
4296
5627
  __name: "FAffix",
4297
5628
  props: {
4298
5629
  placement: { default: "top-right" },
@@ -4320,8 +5651,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
4320
5651
  };
4321
5652
  }
4322
5653
  });
4323
- const FAffix = /* @__PURE__ */ _export_sfc$4(_sfc_main$j, [["__scopeId", "data-v-8506d679"]]);
4324
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
5654
+ const FAffix = /* @__PURE__ */ _export_sfc$7(_sfc_main$r, [["__scopeId", "data-v-8506d679"]]);
5655
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
4325
5656
  __name: "FForm",
4326
5657
  props: {
4327
5658
  model: {},
@@ -4378,7 +5709,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
4378
5709
  };
4379
5710
  }
4380
5711
  });
4381
- const FForm = /* @__PURE__ */ _export_sfc$4(_sfc_main$i, [["__scopeId", "data-v-21f7de9b"]]);
5712
+ const FForm = /* @__PURE__ */ _export_sfc$7(_sfc_main$q, [["__scopeId", "data-v-21f7de9b"]]);
4382
5713
  const validateSingleField = (value, rules) => __async(null, null, function* () {
4383
5714
  const ruleArray = Array.isArray(rules) ? rules : [rules];
4384
5715
  for (let rule of ruleArray) {
@@ -4460,16 +5791,16 @@ const checkRange = (value, rule) => {
4460
5791
  }
4461
5792
  return void 0;
4462
5793
  };
4463
- const _hoisted_1$f = {
5794
+ const _hoisted_1$l = {
4464
5795
  key: 0,
4465
5796
  class: "star"
4466
5797
  };
4467
- const _hoisted_2$d = { class: "f-form-item__content" };
4468
- const _hoisted_3$d = {
5798
+ const _hoisted_2$j = { class: "f-form-item__content" };
5799
+ const _hoisted_3$i = {
4469
5800
  key: 0,
4470
5801
  class: "f-form-item__error"
4471
5802
  };
4472
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
5803
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
4473
5804
  __name: "FFormItem",
4474
5805
  props: {
4475
5806
  label: {},
@@ -4499,106 +5830,473 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
4499
5830
  const result = yield validateSingleField(value, activeRules.value);
4500
5831
  errorMsg.value = result || "";
4501
5832
  return result;
4502
- });
4503
- const clearValidate = () => {
4504
- errorMsg.value = "";
5833
+ });
5834
+ const clearValidate = () => {
5835
+ errorMsg.value = "";
5836
+ };
5837
+ provide("FFormItemContext", { errorMsg, validate });
5838
+ onMounted(() => {
5839
+ if (props.prop && (formContext == null ? void 0 : formContext.registerField)) {
5840
+ formContext.registerField({ prop: props.prop, validate, clearValidate });
5841
+ }
5842
+ });
5843
+ onUnmounted(() => {
5844
+ if (props.prop && (formContext == null ? void 0 : formContext.unregisterField)) {
5845
+ formContext.unregisterField(props.prop);
5846
+ }
5847
+ });
5848
+ watch(() => formContext == null ? void 0 : formContext.model[props.prop], () => {
5849
+ if (errorMsg.value) validate();
5850
+ });
5851
+ __expose({ validate, clearValidate });
5852
+ return (_ctx, _cache) => {
5853
+ var _a;
5854
+ return openBlock(), createElementBlock("div", {
5855
+ class: normalizeClass(["f-form-item", [
5856
+ `is-label-${unref(labelPosition)}`,
5857
+ `is-size-${unref(size)}`,
5858
+ { "is-error": unref(errorMsg) }
5859
+ ]])
5860
+ }, [
5861
+ _ctx.label ? (openBlock(), createElementBlock("label", {
5862
+ key: 0,
5863
+ class: "f-form-item__label",
5864
+ style: normalizeStyle({
5865
+ width: unref(labelPosition) === "top" ? "100%" : (_a = unref(formContext)) == null ? void 0 : _a.labelWidth,
5866
+ textAlign: unref(labelPosition) === "top" ? "left" : unref(labelPosition)
5867
+ })
5868
+ }, [
5869
+ unref(isRequired) ? (openBlock(), createElementBlock("span", _hoisted_1$l, "*")) : createCommentVNode("", true),
5870
+ createTextVNode(" " + toDisplayString(_ctx.label) + ": ", 1)
5871
+ ], 4)) : createCommentVNode("", true),
5872
+ createElementVNode("div", _hoisted_2$j, [
5873
+ renderSlot(_ctx.$slots, "default", {}, void 0, true),
5874
+ createVNode(Transition, { name: "err-slide" }, {
5875
+ default: withCtx(() => [
5876
+ unref(errorMsg) ? (openBlock(), createElementBlock("p", _hoisted_3$i, toDisplayString(unref(errorMsg)), 1)) : createCommentVNode("", true)
5877
+ ]),
5878
+ _: 1
5879
+ })
5880
+ ])
5881
+ ], 2);
5882
+ };
5883
+ }
5884
+ });
5885
+ const FFormItem = /* @__PURE__ */ _export_sfc$7(_sfc_main$p, [["__scopeId", "data-v-c3d6ec01"]]);
5886
+ const _hoisted_1$k = { class: "f-checkbox__wrapper" };
5887
+ const _hoisted_2$i = ["checked", "disabled"];
5888
+ const _hoisted_3$h = {
5889
+ key: 0,
5890
+ class: "f-checkbox__label"
5891
+ };
5892
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5893
+ __name: "FCheckbox",
5894
+ props: /* @__PURE__ */ mergeModels({
5895
+ label: {},
5896
+ disabled: { type: Boolean }
5897
+ }, {
5898
+ "modelValue": __spreadValues({ type: Boolean }, { default: false }),
5899
+ "modelModifiers": {}
5900
+ }),
5901
+ emits: ["update:modelValue"],
5902
+ setup(__props) {
5903
+ const modelValue = useModel(__props, "modelValue");
5904
+ const props = __props;
5905
+ const handleChange = (e) => {
5906
+ if (props.disabled) return;
5907
+ const target = e.target;
5908
+ modelValue.value = target.checked;
5909
+ };
5910
+ return (_ctx, _cache) => {
5911
+ return openBlock(), createElementBlock("label", {
5912
+ class: normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
5913
+ }, [
5914
+ createElementVNode("span", _hoisted_1$k, [
5915
+ createElementVNode("input", {
5916
+ type: "checkbox",
5917
+ checked: modelValue.value,
5918
+ disabled: _ctx.disabled,
5919
+ onChange: handleChange
5920
+ }, null, 40, _hoisted_2$i),
5921
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
5922
+ ]),
5923
+ _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$h, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
5924
+ ], 2);
5925
+ };
5926
+ }
5927
+ });
5928
+ const FCheckbox = /* @__PURE__ */ _export_sfc$7(_sfc_main$o, [["__scopeId", "data-v-633b283a"]]);
5929
+ const _hoisted_1$j = { class: "f-radio__wrapper" };
5930
+ const _hoisted_2$h = ["name", "checked", "disabled"];
5931
+ const _hoisted_3$g = {
5932
+ key: 0,
5933
+ class: "f-radio__label"
5934
+ };
5935
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
5936
+ __name: "FRadio",
5937
+ props: /* @__PURE__ */ mergeModels({
5938
+ label: {},
5939
+ value: { type: [String, Number, Boolean] },
5940
+ name: {},
5941
+ disabled: { type: Boolean }
5942
+ }, {
5943
+ "modelValue": __spreadValues({ type: [String, Number, Boolean] }, { default: "" }),
5944
+ "modelModifiers": {}
5945
+ }),
5946
+ emits: ["update:modelValue"],
5947
+ setup(__props) {
5948
+ const modelValue = useModel(__props, "modelValue");
5949
+ const props = __props;
5950
+ const handleChange = (event) => {
5951
+ var _a;
5952
+ if (props.disabled) return;
5953
+ const target = event.target;
5954
+ if (target.checked) {
5955
+ modelValue.value = (_a = props.value) != null ? _a : "";
5956
+ }
5957
+ };
5958
+ return (_ctx, _cache) => {
5959
+ return openBlock(), createElementBlock("label", {
5960
+ class: normalizeClass(["f-radio", { "is-disabled": _ctx.disabled }])
5961
+ }, [
5962
+ createElementVNode("span", _hoisted_1$j, [
5963
+ createElementVNode("input", {
5964
+ type: "radio",
5965
+ name: _ctx.name,
5966
+ checked: modelValue.value === _ctx.value,
5967
+ disabled: _ctx.disabled,
5968
+ onChange: handleChange
5969
+ }, null, 40, _hoisted_2$h),
5970
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-radio__dot" }, null, -1))
5971
+ ]),
5972
+ _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$g, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
5973
+ ], 2);
5974
+ };
5975
+ }
5976
+ });
5977
+ const FRadio = /* @__PURE__ */ _export_sfc$7(_sfc_main$n, [["__scopeId", "data-v-226776d6"]]);
5978
+ const _hoisted_1$i = { class: "f-radio__wrapper" };
5979
+ const _hoisted_2$g = ["name", "checked", "disabled", "onChange"];
5980
+ const _hoisted_3$f = {
5981
+ key: 0,
5982
+ class: "f-radio__label"
5983
+ };
5984
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
5985
+ __name: "FRadioGroup",
5986
+ props: /* @__PURE__ */ mergeModels({
5987
+ options: {},
5988
+ name: {},
5989
+ disabled: { type: Boolean },
5990
+ direction: { default: "horizontal" }
5991
+ }, {
5992
+ "modelValue": __spreadValues({ type: [String, Number, Boolean] }, { default: "" }),
5993
+ "modelModifiers": {}
5994
+ }),
5995
+ emits: ["update:modelValue"],
5996
+ setup(__props) {
5997
+ const modelValue = useModel(__props, "modelValue");
5998
+ const props = __props;
5999
+ const handleChange = (option) => {
6000
+ if (option.disabled || props.disabled) return;
6001
+ modelValue.value = option.value;
6002
+ };
6003
+ return (_ctx, _cache) => {
6004
+ return openBlock(), createElementBlock("div", {
6005
+ class: normalizeClass(["f-radio-group", [`is-${_ctx.direction}`]])
6006
+ }, [
6007
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option) => {
6008
+ var _a;
6009
+ return openBlock(), createElementBlock("label", {
6010
+ key: String(option.value),
6011
+ class: normalizeClass(["f-radio", { "is-disabled": option.disabled || _ctx.disabled }])
6012
+ }, [
6013
+ createElementVNode("span", _hoisted_1$i, [
6014
+ createElementVNode("input", {
6015
+ type: "radio",
6016
+ name: (_a = _ctx.name) != null ? _a : "f-radio-group",
6017
+ checked: modelValue.value === option.value,
6018
+ disabled: option.disabled || _ctx.disabled,
6019
+ onChange: ($event) => handleChange(option)
6020
+ }, null, 40, _hoisted_2$g),
6021
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-radio__dot" }, null, -1))
6022
+ ]),
6023
+ option.label ? (openBlock(), createElementBlock("span", _hoisted_3$f, toDisplayString(option.label), 1)) : createCommentVNode("", true)
6024
+ ], 2);
6025
+ }), 128))
6026
+ ], 2);
6027
+ };
6028
+ }
6029
+ });
6030
+ const FRadioGroup = /* @__PURE__ */ _export_sfc$7(_sfc_main$m, [["__scopeId", "data-v-0fd4c34e"]]);
6031
+ const _hoisted_1$h = ["disabled", "aria-checked"];
6032
+ const _hoisted_2$f = {
6033
+ key: 0,
6034
+ class: "f-switch__text"
6035
+ };
6036
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
6037
+ __name: "FSwitch",
6038
+ props: /* @__PURE__ */ mergeModels({
6039
+ label: {},
6040
+ disabled: { type: Boolean },
6041
+ activeText: {},
6042
+ inactiveText: {}
6043
+ }, {
6044
+ "modelValue": __spreadValues({ type: Boolean }, { default: false }),
6045
+ "modelModifiers": {}
6046
+ }),
6047
+ emits: ["update:modelValue"],
6048
+ setup(__props) {
6049
+ const modelValue = useModel(__props, "modelValue");
6050
+ const props = __props;
6051
+ const toggle = () => {
6052
+ if (props.disabled) return;
6053
+ modelValue.value = !modelValue.value;
6054
+ };
6055
+ return (_ctx, _cache) => {
6056
+ var _a, _b;
6057
+ return openBlock(), createElementBlock("button", {
6058
+ type: "button",
6059
+ class: normalizeClass(["f-switch", { "is-checked": modelValue.value, "is-disabled": _ctx.disabled }]),
6060
+ disabled: _ctx.disabled,
6061
+ "aria-checked": modelValue.value,
6062
+ role: "switch",
6063
+ onClick: toggle
6064
+ }, [
6065
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-switch__track" }, [
6066
+ createElementVNode("span", { class: "f-switch__thumb" })
6067
+ ], -1)),
6068
+ _ctx.label || _ctx.activeText || _ctx.inactiveText ? (openBlock(), createElementBlock("span", _hoisted_2$f, toDisplayString(modelValue.value ? (_a = _ctx.activeText) != null ? _a : _ctx.label : (_b = _ctx.inactiveText) != null ? _b : _ctx.label), 1)) : createCommentVNode("", true)
6069
+ ], 10, _hoisted_1$h);
6070
+ };
6071
+ }
6072
+ });
6073
+ const FSwitch = /* @__PURE__ */ _export_sfc$7(_sfc_main$l, [["__scopeId", "data-v-bc840c1b"]]);
6074
+ const _hoisted_1$g = { class: "f-tree-select__label" };
6075
+ const _hoisted_2$e = {
6076
+ key: 0,
6077
+ class: "f-tree-select__panel"
6078
+ };
6079
+ const _hoisted_3$e = ["onClick"];
6080
+ const _hoisted_4$a = {
6081
+ key: 0,
6082
+ class: "f-tree-select__expand"
6083
+ };
6084
+ const _hoisted_5$9 = { class: "f-tree-select__text" };
6085
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6086
+ __name: "FTreeSelect",
6087
+ props: /* @__PURE__ */ mergeModels({
6088
+ options: {},
6089
+ placeholder: { default: "请选择" },
6090
+ disabled: { type: Boolean },
6091
+ multiple: { type: Boolean, default: false }
6092
+ }, {
6093
+ "modelValue": { default: null },
6094
+ "modelModifiers": {}
6095
+ }),
6096
+ emits: ["update:modelValue"],
6097
+ setup(__props) {
6098
+ const props = __props;
6099
+ const modelValue = useModel(__props, "modelValue");
6100
+ const isOpen = ref(false);
6101
+ const expandedKeys = ref([]);
6102
+ const flattenTree = (list, level = 0) => {
6103
+ const result = [];
6104
+ list.forEach((node) => {
6105
+ result.push(__spreadProps(__spreadValues({}, node), { level }));
6106
+ if (node.children && node.children.length && expandedKeys.value.includes(node.key)) {
6107
+ result.push(...flattenTree(node.children, level + 1));
6108
+ }
6109
+ });
6110
+ return result;
4505
6111
  };
4506
- provide("FFormItemContext", { errorMsg, validate });
4507
- onMounted(() => {
4508
- if (props.prop && (formContext == null ? void 0 : formContext.registerField)) {
4509
- formContext.registerField({ prop: props.prop, validate, clearValidate });
6112
+ const visibleNodes = computed(() => flattenTree(props.options));
6113
+ const selectedLabel = computed(() => {
6114
+ var _a;
6115
+ const current = props.multiple ? Array.isArray(modelValue.value) ? modelValue.value : [] : modelValue.value;
6116
+ if (props.multiple && Array.isArray(current)) {
6117
+ return current.length > 0 ? current.length + " 项已选" : props.placeholder;
4510
6118
  }
6119
+ const target = props.options.flatMap((item) => flattenTree([item]));
6120
+ const node = target.find((item) => item.key === current);
6121
+ return (_a = node == null ? void 0 : node.label) != null ? _a : props.placeholder;
4511
6122
  });
4512
- onUnmounted(() => {
4513
- if (props.prop && (formContext == null ? void 0 : formContext.unregisterField)) {
4514
- formContext.unregisterField(props.prop);
6123
+ const toggleExpand = (key) => {
6124
+ if (expandedKeys.value.includes(key)) {
6125
+ expandedKeys.value = expandedKeys.value.filter((item) => item !== key);
6126
+ } else {
6127
+ expandedKeys.value = [...expandedKeys.value, key];
4515
6128
  }
4516
- });
4517
- watch(() => formContext == null ? void 0 : formContext.model[props.prop], () => {
4518
- if (errorMsg.value) validate();
4519
- });
4520
- __expose({ validate, clearValidate });
6129
+ };
6130
+ const isSelected = (key) => {
6131
+ if (props.multiple && Array.isArray(modelValue.value)) {
6132
+ return modelValue.value.includes(key);
6133
+ }
6134
+ return modelValue.value === key;
6135
+ };
6136
+ const handleSelect = (node) => {
6137
+ if (node.disabled) return;
6138
+ if (props.multiple) {
6139
+ const next = Array.isArray(modelValue.value) ? [...modelValue.value] : [];
6140
+ const index = next.indexOf(node.key);
6141
+ if (index >= 0) {
6142
+ next.splice(index, 1);
6143
+ } else {
6144
+ next.push(node.key);
6145
+ }
6146
+ modelValue.value = next;
6147
+ return;
6148
+ }
6149
+ modelValue.value = node.key;
6150
+ isOpen.value = false;
6151
+ };
4521
6152
  return (_ctx, _cache) => {
4522
- var _a;
4523
6153
  return openBlock(), createElementBlock("div", {
4524
- class: normalizeClass(["f-form-item", [
4525
- `is-label-${unref(labelPosition)}`,
4526
- `is-size-${unref(size)}`,
4527
- { "is-error": unref(errorMsg) }
4528
- ]])
6154
+ class: normalizeClass(["f-tree-select", { "is-open": unref(isOpen), "is-disabled": _ctx.disabled }])
4529
6155
  }, [
4530
- _ctx.label ? (openBlock(), createElementBlock("label", {
4531
- key: 0,
4532
- class: "f-form-item__label",
4533
- style: normalizeStyle({
4534
- width: unref(labelPosition) === "top" ? "100%" : (_a = unref(formContext)) == null ? void 0 : _a.labelWidth,
4535
- textAlign: unref(labelPosition) === "top" ? "left" : unref(labelPosition)
4536
- })
6156
+ createElementVNode("div", {
6157
+ class: "f-tree-select__trigger",
6158
+ onClick: _cache[0] || (_cache[0] = ($event) => !_ctx.disabled && (isOpen.value = !unref(isOpen)))
4537
6159
  }, [
4538
- unref(isRequired) ? (openBlock(), createElementBlock("span", _hoisted_1$f, "*")) : createCommentVNode("", true),
4539
- createTextVNode(" " + toDisplayString(_ctx.label) + ": ", 1)
4540
- ], 4)) : createCommentVNode("", true),
4541
- createElementVNode("div", _hoisted_2$d, [
4542
- renderSlot(_ctx.$slots, "default", {}, void 0, true),
4543
- createVNode(Transition, { name: "err-slide" }, {
6160
+ createElementVNode("span", _hoisted_1$g, toDisplayString(unref(selectedLabel)), 1),
6161
+ createVNode(FIcon$7, { class: "f-tree-select__arrow" }, {
4544
6162
  default: withCtx(() => [
4545
- unref(errorMsg) ? (openBlock(), createElementBlock("p", _hoisted_3$d, toDisplayString(unref(errorMsg)), 1)) : createCommentVNode("", true)
6163
+ createVNode(unref(ChevronDownOutline))
4546
6164
  ]),
4547
6165
  _: 1
4548
6166
  })
4549
- ])
6167
+ ]),
6168
+ unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
6169
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(visibleNodes), (node) => {
6170
+ return openBlock(), createElementBlock("div", {
6171
+ key: String(node.key),
6172
+ class: normalizeClass(["f-tree-select__node", { "is-selected": isSelected(node.key), "is-disabled": node.disabled }]),
6173
+ style: normalizeStyle({ paddingLeft: `${(node.level + 1) * 16 + 8}px` }),
6174
+ onClick: ($event) => node.children && node.children.length ? toggleExpand(node.key) : handleSelect(node)
6175
+ }, [
6176
+ node.children && node.children.length ? (openBlock(), createElementBlock("span", _hoisted_4$a, toDisplayString(unref(expandedKeys).includes(node.key) ? "−" : "+"), 1)) : createCommentVNode("", true),
6177
+ createElementVNode("span", _hoisted_5$9, toDisplayString(node.label), 1)
6178
+ ], 14, _hoisted_3$e);
6179
+ }), 128))
6180
+ ])) : createCommentVNode("", true)
4550
6181
  ], 2);
4551
6182
  };
4552
6183
  }
4553
6184
  });
4554
- const FFormItem = /* @__PURE__ */ _export_sfc$4(_sfc_main$h, [["__scopeId", "data-v-c3d6ec01"]]);
4555
- const _hoisted_1$e = { class: "f-checkbox__wrapper" };
4556
- const _hoisted_2$c = ["checked", "disabled"];
4557
- const _hoisted_3$c = {
4558
- key: 0,
4559
- class: "f-checkbox__label"
4560
- };
4561
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
4562
- __name: "FCheckbox",
6185
+ const FTreeSelect = /* @__PURE__ */ _export_sfc$7(_sfc_main$k, [["__scopeId", "data-v-7b42d98d"]]);
6186
+ const _hoisted_1$f = { class: "f-transfer__panel" };
6187
+ const _hoisted_2$d = { class: "f-transfer__header" };
6188
+ const _hoisted_3$d = { class: "f-transfer__list" };
6189
+ const _hoisted_4$9 = ["onClick"];
6190
+ const _hoisted_5$8 = { class: "f-transfer__actions" };
6191
+ const _hoisted_6$6 = ["disabled"];
6192
+ const _hoisted_7$3 = ["disabled"];
6193
+ const _hoisted_8$2 = { class: "f-transfer__panel" };
6194
+ const _hoisted_9$2 = { class: "f-transfer__header" };
6195
+ const _hoisted_10$1 = { class: "f-transfer__list" };
6196
+ const _hoisted_11$1 = ["onClick"];
6197
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6198
+ __name: "FTransfer",
4563
6199
  props: /* @__PURE__ */ mergeModels({
4564
- label: {},
4565
- disabled: { type: Boolean }
6200
+ data: {},
6201
+ leftTitle: { default: "可选项" },
6202
+ rightTitle: { default: "已选项" },
6203
+ disabled: { type: Boolean, default: false }
4566
6204
  }, {
4567
- "modelValue": __spreadValues({ type: Boolean }, { default: false }),
6205
+ "modelValue": { default: () => [] },
4568
6206
  "modelModifiers": {}
4569
6207
  }),
4570
6208
  emits: ["update:modelValue"],
4571
6209
  setup(__props) {
4572
- const modelValue = useModel(__props, "modelValue");
4573
6210
  const props = __props;
4574
- const handleChange = (e) => {
6211
+ const modelValue = useModel(__props, "modelValue");
6212
+ const leftSelected = ref([]);
6213
+ const rightSelected = ref([]);
6214
+ const selectedSet = computed(() => new Set(modelValue.value));
6215
+ const leftList = computed(
6216
+ () => props.data.filter((item) => !selectedSet.value.has(item.key) && !item.disabled)
6217
+ );
6218
+ const rightList = computed(
6219
+ () => props.data.filter((item) => selectedSet.value.has(item.key))
6220
+ );
6221
+ const toggle = (list, key) => {
6222
+ const index = list.indexOf(key);
6223
+ if (index >= 0) {
6224
+ list.splice(index, 1);
6225
+ } else {
6226
+ list.push(key);
6227
+ }
6228
+ };
6229
+ const moveToRight = () => {
4575
6230
  if (props.disabled) return;
4576
- const target = e.target;
4577
- modelValue.value = target.checked;
6231
+ const keys = leftList.value.map((item) => item.key);
6232
+ const next = Array.from(/* @__PURE__ */ new Set([...modelValue.value, ...keys]));
6233
+ modelValue.value = next;
6234
+ leftSelected.value = [];
6235
+ };
6236
+ const moveToLeft = () => {
6237
+ if (props.disabled) return;
6238
+ const next = modelValue.value.filter((key) => !rightSelected.value.includes(key));
6239
+ modelValue.value = next;
6240
+ rightSelected.value = [];
6241
+ };
6242
+ const moveSelected = (direction) => {
6243
+ if (direction === "right") {
6244
+ moveToRight();
6245
+ return;
6246
+ }
6247
+ moveToLeft();
4578
6248
  };
4579
6249
  return (_ctx, _cache) => {
4580
- return openBlock(), createElementBlock("label", {
4581
- class: normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
6250
+ return openBlock(), createElementBlock("div", {
6251
+ class: normalizeClass(["f-transfer", { "is-disabled": _ctx.disabled }])
4582
6252
  }, [
4583
- createElementVNode("span", _hoisted_1$e, [
4584
- createElementVNode("input", {
4585
- type: "checkbox",
4586
- checked: modelValue.value,
4587
- disabled: _ctx.disabled,
4588
- onChange: handleChange
4589
- }, null, 40, _hoisted_2$c),
4590
- _cache[0] || (_cache[0] = createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
6253
+ createElementVNode("div", _hoisted_1$f, [
6254
+ createElementVNode("div", _hoisted_2$d, toDisplayString(_ctx.leftTitle), 1),
6255
+ createElementVNode("ul", _hoisted_3$d, [
6256
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(leftList), (item) => {
6257
+ return openBlock(), createElementBlock("li", {
6258
+ key: String(item.key),
6259
+ class: normalizeClass(["f-transfer__item", { "is-selected": unref(leftSelected).includes(item.key), "is-disabled": item.disabled }]),
6260
+ onClick: ($event) => toggle(unref(leftSelected), item.key)
6261
+ }, toDisplayString(item.label), 11, _hoisted_4$9);
6262
+ }), 128))
6263
+ ])
6264
+ ]),
6265
+ createElementVNode("div", _hoisted_5$8, [
6266
+ createElementVNode("button", {
6267
+ type: "button",
6268
+ class: "f-transfer__btn",
6269
+ disabled: _ctx.disabled || unref(leftList).length === 0,
6270
+ onClick: _cache[0] || (_cache[0] = ($event) => moveSelected("right"))
6271
+ }, " → ", 8, _hoisted_6$6),
6272
+ createElementVNode("button", {
6273
+ type: "button",
6274
+ class: "f-transfer__btn",
6275
+ disabled: _ctx.disabled || unref(rightList).length === 0,
6276
+ onClick: _cache[1] || (_cache[1] = ($event) => moveSelected("left"))
6277
+ }, " ← ", 8, _hoisted_7$3)
4591
6278
  ]),
4592
- _ctx.label ? (openBlock(), createElementBlock("span", _hoisted_3$c, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true)
6279
+ createElementVNode("div", _hoisted_8$2, [
6280
+ createElementVNode("div", _hoisted_9$2, toDisplayString(_ctx.rightTitle), 1),
6281
+ createElementVNode("ul", _hoisted_10$1, [
6282
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(rightList), (item) => {
6283
+ return openBlock(), createElementBlock("li", {
6284
+ key: String(item.key),
6285
+ class: normalizeClass(["f-transfer__item", { "is-selected": unref(rightSelected).includes(item.key), "is-disabled": item.disabled }]),
6286
+ onClick: ($event) => toggle(unref(rightSelected), item.key)
6287
+ }, toDisplayString(item.label), 11, _hoisted_11$1);
6288
+ }), 128))
6289
+ ])
6290
+ ])
4593
6291
  ], 2);
4594
6292
  };
4595
6293
  }
4596
6294
  });
4597
- const FCheckbox = /* @__PURE__ */ _export_sfc$4(_sfc_main$g, [["__scopeId", "data-v-633b283a"]]);
4598
- const _hoisted_1$d = { class: "alert__body" };
4599
- const _hoisted_2$b = { class: "alert__title" };
4600
- const _hoisted_3$b = { class: "alert__content" };
4601
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
6295
+ const FTransfer = /* @__PURE__ */ _export_sfc$7(_sfc_main$j, [["__scopeId", "data-v-48d0731e"]]);
6296
+ const _hoisted_1$e = { class: "alert__body" };
6297
+ const _hoisted_2$c = { class: "alert__title" };
6298
+ const _hoisted_3$c = { class: "alert__content" };
6299
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
4602
6300
  __name: "FAlert",
4603
6301
  props: {
4604
6302
  type: { default: "info" },
@@ -4618,15 +6316,15 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
4618
6316
  return openBlock(), createElementBlock("div", {
4619
6317
  class: normalizeClass(["alert", `alert--${_ctx.type}`])
4620
6318
  }, [
4621
- createVNode(FIcon$4, { class: "alert__icon" }, {
6319
+ createVNode(FIcon$7, { class: "alert__icon" }, {
4622
6320
  default: withCtx(() => [
4623
6321
  (openBlock(), createBlock(resolveDynamicComponent(unref(config).icon)))
4624
6322
  ]),
4625
6323
  _: 1
4626
6324
  }),
4627
- createElementVNode("div", _hoisted_1$d, [
4628
- createElementVNode("h4", _hoisted_2$b, toDisplayString((_a = _ctx.title) != null ? _a : unref(config).label), 1),
4629
- createElementVNode("div", _hoisted_3$b, [
6325
+ createElementVNode("div", _hoisted_1$e, [
6326
+ createElementVNode("h4", _hoisted_2$c, toDisplayString((_a = _ctx.title) != null ? _a : unref(config).label), 1),
6327
+ createElementVNode("div", _hoisted_3$c, [
4630
6328
  renderSlot(_ctx.$slots, "default", {}, () => [
4631
6329
  createTextVNode(toDisplayString(_ctx.content), 1)
4632
6330
  ], true)
@@ -4636,18 +6334,18 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
4636
6334
  };
4637
6335
  }
4638
6336
  });
4639
- const FAlert = /* @__PURE__ */ _export_sfc$4(_sfc_main$f, [["__scopeId", "data-v-f16678ef"]]);
4640
- const _hoisted_1$c = { class: "f-editor__toolbar" };
4641
- const _hoisted_2$a = { class: "f-editor__status" };
4642
- const _hoisted_3$a = { class: "f-editor__lines" };
4643
- const _hoisted_4$7 = { class: "f-editor__code-wrapper" };
6337
+ const FAlert = /* @__PURE__ */ _export_sfc$7(_sfc_main$i, [["__scopeId", "data-v-f16678ef"]]);
6338
+ const _hoisted_1$d = { class: "f-editor__toolbar" };
6339
+ const _hoisted_2$b = { class: "f-editor__status" };
6340
+ const _hoisted_3$b = { class: "f-editor__lines" };
6341
+ const _hoisted_4$8 = { class: "f-editor__code-wrapper" };
4644
6342
  const _hoisted_5$7 = ["innerHTML"];
4645
6343
  const _hoisted_6$5 = ["rows", "readonly", "placeholder"];
4646
6344
  const LINE_HEIGHT_PX = 17.6;
4647
6345
  const PADDING_TOP_PX = 12;
4648
6346
  const MIN_BODY_HEIGHT = 180;
4649
6347
  const HEAVY_LINE_THRESHOLD = 1500;
4650
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
6348
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
4651
6349
  __name: "FEditor",
4652
6350
  props: /* @__PURE__ */ mergeModels({
4653
6351
  placeholder: {},
@@ -4813,9 +6511,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4813
6511
  return openBlock(), createElementBlock("div", {
4814
6512
  class: normalizeClass(["f-editor", { "f-editor--invalid": !unref(isJsonValid) }])
4815
6513
  }, [
4816
- createElementVNode("div", _hoisted_1$c, [
4817
- createElementVNode("span", _hoisted_2$a, [
4818
- createElementVNode("span", _hoisted_3$a, toDisplayString(unref(lineCount)) + " 行", 1),
6514
+ createElementVNode("div", _hoisted_1$d, [
6515
+ createElementVNode("span", _hoisted_2$b, [
6516
+ createElementVNode("span", _hoisted_3$b, toDisplayString(unref(lineCount)) + " 行", 1),
4819
6517
  unref(isHeavy) ? (openBlock(), createBlock(FTag, {
4820
6518
  key: 0,
4821
6519
  color: "orange",
@@ -4853,7 +6551,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4853
6551
  }, toDisplayString(ln), 3);
4854
6552
  }), 128))
4855
6553
  ], 512)) : createCommentVNode("", true),
4856
- createElementVNode("div", _hoisted_4$7, [
6554
+ createElementVNode("div", _hoisted_4$8, [
4857
6555
  createElementVNode("div", {
4858
6556
  class: "f-editor__active-line",
4859
6557
  style: normalizeStyle({
@@ -4898,14 +6596,14 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4898
6596
  };
4899
6597
  }
4900
6598
  });
4901
- const FEditor = /* @__PURE__ */ _export_sfc$4(_sfc_main$e, [["__scopeId", "data-v-6d590649"]]);
4902
- const _hoisted_1$b = { class: "f-table" };
4903
- const _hoisted_2$9 = {
6599
+ const FEditor = /* @__PURE__ */ _export_sfc$7(_sfc_main$h, [["__scopeId", "data-v-6d590649"]]);
6600
+ const _hoisted_1$c = { class: "f-table" };
6601
+ const _hoisted_2$a = {
4904
6602
  key: 0,
4905
6603
  class: "f-table__loading"
4906
6604
  };
4907
- const _hoisted_3$9 = { class: "f-table__inner" };
4908
- const _hoisted_4$6 = {
6605
+ const _hoisted_3$a = { class: "f-table__inner" };
6606
+ const _hoisted_4$7 = {
4909
6607
  key: 0,
4910
6608
  class: "f-table__col--index"
4911
6609
  };
@@ -4914,9 +6612,9 @@ const _hoisted_6$4 = {
4914
6612
  key: 0,
4915
6613
  class: "f-table__th f-table__th--index"
4916
6614
  };
4917
- const _hoisted_7$1 = { class: "f-table__th-inner" };
4918
- const _hoisted_8 = { class: "f-table__body" };
4919
- const _hoisted_9 = {
6615
+ const _hoisted_7$2 = { class: "f-table__th-inner" };
6616
+ const _hoisted_8$1 = { class: "f-table__body" };
6617
+ const _hoisted_9$1 = {
4920
6618
  key: 0,
4921
6619
  class: "f-table__spacer"
4922
6620
  };
@@ -4932,7 +6630,7 @@ const _hoisted_14 = {
4932
6630
  class: "f-table__spacer"
4933
6631
  };
4934
6632
  const _hoisted_15 = ["colspan"];
4935
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
6633
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
4936
6634
  __name: "FTable",
4937
6635
  props: {
4938
6636
  data: {},
@@ -4996,8 +6694,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4996
6694
  scrollTop.value = 0;
4997
6695
  });
4998
6696
  return (_ctx, _cache) => {
4999
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
5000
- _ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
6697
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [
6698
+ _ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_2$a, [
5001
6699
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "spinner" }, null, -1)),
5002
6700
  createElementVNode("span", null, toDisplayString(_ctx.loadingText), 1)
5003
6701
  ])) : createCommentVNode("", true),
@@ -5007,9 +6705,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
5007
6705
  ref: scrollEl,
5008
6706
  onScroll
5009
6707
  }, [
5010
- createElementVNode("table", _hoisted_3$9, [
6708
+ createElementVNode("table", _hoisted_3$a, [
5011
6709
  createElementVNode("colgroup", null, [
5012
- _ctx.showIndex ? (openBlock(), createElementBlock("col", _hoisted_4$6)) : createCommentVNode("", true),
6710
+ _ctx.showIndex ? (openBlock(), createElementBlock("col", _hoisted_4$7)) : createCommentVNode("", true),
5013
6711
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (col) => {
5014
6712
  var _a, _b;
5015
6713
  return openBlock(), createElementBlock("col", {
@@ -5030,7 +6728,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
5030
6728
  class: normalizeClass(["f-table__th", col.thClass])
5031
6729
  }, [
5032
6730
  renderSlot(_ctx.$slots, `header-${col.key}`, { column: col }, () => [
5033
- createElementVNode("div", _hoisted_7$1, [
6731
+ createElementVNode("div", _hoisted_7$2, [
5034
6732
  createElementVNode("span", null, toDisplayString(col.label), 1)
5035
6733
  ])
5036
6734
  ], true)
@@ -5038,8 +6736,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
5038
6736
  }), 128))
5039
6737
  ])
5040
6738
  ]),
5041
- createElementVNode("tbody", _hoisted_8, [
5042
- unref(offsetTop) > 0 ? (openBlock(), createElementBlock("tr", _hoisted_9, [
6739
+ createElementVNode("tbody", _hoisted_8$1, [
6740
+ unref(offsetTop) > 0 ? (openBlock(), createElementBlock("tr", _hoisted_9$1, [
5043
6741
  createElementVNode("td", {
5044
6742
  colspan: unref(colSpan),
5045
6743
  style: normalizeStyle({ height: unref(offsetTop) + "px" })
@@ -5103,22 +6801,31 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
5103
6801
  };
5104
6802
  }
5105
6803
  });
5106
- const FTable = /* @__PURE__ */ _export_sfc$4(_sfc_main$d, [["__scopeId", "data-v-01724962"]]);
5107
- const _hoisted_1$a = { class: "f-upload" };
5108
- const _hoisted_2$8 = { class: "f-upload__label" };
5109
- const _hoisted_3$8 = ["accept"];
5110
- const _hoisted_4$5 = {
5111
- key: 0,
6804
+ const FTable = /* @__PURE__ */ _export_sfc$7(_sfc_main$g, [["__scopeId", "data-v-01724962"]]);
6805
+ const _hoisted_1$b = { class: "f-upload" };
6806
+ const _hoisted_2$9 = { class: "f-upload__label" };
6807
+ const _hoisted_3$9 = ["accept"];
6808
+ const _hoisted_4$6 = { class: "f-upload__hint" };
6809
+ const _hoisted_5$5 = {
6810
+ key: 1,
6811
+ class: "f-upload__button"
6812
+ };
6813
+ const _hoisted_6$3 = ["accept"];
6814
+ const _hoisted_7$1 = {
6815
+ key: 2,
5112
6816
  class: "f-upload__file-item"
5113
6817
  };
5114
- const _hoisted_5$5 = { class: "f-upload__file-info" };
5115
- const _hoisted_6$3 = { class: "f-upload__file-name" };
5116
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
6818
+ const _hoisted_8 = { class: "f-upload__file-info" };
6819
+ const _hoisted_9 = { class: "f-upload__file-name" };
6820
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
5117
6821
  __name: "FUpload",
5118
6822
  props: /* @__PURE__ */ mergeModels({
5119
6823
  accept: {},
5120
6824
  limit: {},
5121
- progress: {}
6825
+ progress: {},
6826
+ buttonMode: { type: Boolean, default: false },
6827
+ buttonText: { default: "选择文件" },
6828
+ hint: { default: "支持 .xlsx .xls .json .txt" }
5122
6829
  }, {
5123
6830
  "file": { default: "" },
5124
6831
  "fileModifiers": {}
@@ -5164,48 +6871,59 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5164
6871
  emit("change", f);
5165
6872
  };
5166
6873
  return (_ctx, _cache) => {
5167
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
5168
- createElementVNode("div", {
6874
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
6875
+ !_ctx.buttonMode ? (openBlock(), createElementBlock("div", {
6876
+ key: 0,
5169
6877
  class: normalizeClass(["f-upload__zone", { "f-upload--drag": unref(dragActive) }]),
5170
6878
  onDragover: onDragOver,
5171
6879
  onDragleave: onDragLeave,
5172
6880
  onDrop
5173
6881
  }, [
5174
- createElementVNode("label", _hoisted_2$8, [
6882
+ createElementVNode("label", _hoisted_2$9, [
5175
6883
  createElementVNode("input", {
5176
6884
  type: "file",
5177
6885
  accept: _ctx.accept,
5178
6886
  class: "f-upload__input",
5179
6887
  onChange: onFileChange
5180
- }, null, 40, _hoisted_3$8),
6888
+ }, null, 40, _hoisted_3$9),
5181
6889
  renderSlot(_ctx.$slots, "default", {}, () => [
5182
- createVNode(FIcon$4, { size: 40 }, {
6890
+ createVNode(FIcon$7, { size: 40 }, {
5183
6891
  default: withCtx(() => [
5184
6892
  createVNode(unref(CloudUpload))
5185
6893
  ]),
5186
6894
  _: 1
5187
6895
  }),
5188
6896
  _cache[2] || (_cache[2] = createElementVNode("span", { class: "f-upload__title" }, "点击或拖拽文件至此处", -1)),
5189
- _cache[3] || (_cache[3] = createElementVNode("span", { class: "f-upload__hint" }, "支持 .xlsx .xls .json .txt", -1))
6897
+ createElementVNode("span", _hoisted_4$6, toDisplayString(_ctx.hint), 1)
5190
6898
  ], true)
5191
6899
  ])
5192
- ], 34),
5193
- file.value ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
5194
- createVNode(FIcon$4, null, {
6900
+ ], 34)) : (openBlock(), createElementBlock("label", _hoisted_5$5, [
6901
+ createElementVNode("input", {
6902
+ type: "file",
6903
+ accept: _ctx.accept,
6904
+ class: "f-upload__input",
6905
+ onChange: onFileChange
6906
+ }, null, 40, _hoisted_6$3),
6907
+ renderSlot(_ctx.$slots, "default", {}, () => [
6908
+ createElementVNode("span", null, toDisplayString(_ctx.buttonText), 1)
6909
+ ], true)
6910
+ ])),
6911
+ file.value ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
6912
+ createVNode(FIcon$7, null, {
5195
6913
  default: withCtx(() => [
5196
6914
  createVNode(unref(DocumentOutline))
5197
6915
  ]),
5198
6916
  _: 1
5199
6917
  }),
5200
- createElementVNode("div", _hoisted_5$5, [
5201
- createElementVNode("span", _hoisted_6$3, toDisplayString(file.value), 1),
6918
+ createElementVNode("div", _hoisted_8, [
6919
+ createElementVNode("span", _hoisted_9, toDisplayString(file.value), 1),
5202
6920
  _ctx.progress != null ? (openBlock(), createBlock(FProgress, {
5203
6921
  key: 0,
5204
6922
  percent: _ctx.progress,
5205
6923
  "show-text": ""
5206
6924
  }, null, 8, ["percent"])) : createCommentVNode("", true)
5207
6925
  ]),
5208
- createVNode(FIcon$4, {
6926
+ createVNode(FIcon$7, {
5209
6927
  onClick: withModifiers(clearFile, ["stop"]),
5210
6928
  onMouseenter: _cache[0] || (_cache[0] = ($event) => isCloseHover.value = true),
5211
6929
  onMouseleave: _cache[1] || (_cache[1] = ($event) => isCloseHover.value = false),
@@ -5221,8 +6939,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5221
6939
  };
5222
6940
  }
5223
6941
  });
5224
- const FUpload = /* @__PURE__ */ _export_sfc$4(_sfc_main$c, [["__scopeId", "data-v-07b95a32"]]);
5225
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
6942
+ const FUpload = /* @__PURE__ */ _export_sfc$7(_sfc_main$f, [["__scopeId", "data-v-8e954b9a"]]);
6943
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
5226
6944
  __name: "FButtonGroup",
5227
6945
  props: {
5228
6946
  size: { default: "normal" },
@@ -5243,9 +6961,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
5243
6961
  };
5244
6962
  }
5245
6963
  });
5246
- const FButtonGroup = /* @__PURE__ */ _export_sfc$4(_sfc_main$b, [["__scopeId", "data-v-62561657"]]);
5247
- const _hoisted_1$9 = { class: "f-collapse" };
5248
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
6964
+ const FButtonGroup = /* @__PURE__ */ _export_sfc$7(_sfc_main$e, [["__scopeId", "data-v-62561657"]]);
6965
+ const _hoisted_1$a = { class: "f-collapse" };
6966
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
5249
6967
  __name: "FCollapse",
5250
6968
  props: /* @__PURE__ */ mergeModels({
5251
6969
  accordion: { type: Boolean, default: false }
@@ -5285,16 +7003,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5285
7003
  })
5286
7004
  );
5287
7005
  return (_ctx, _cache) => {
5288
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
7006
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
5289
7007
  renderSlot(_ctx.$slots, "default")
5290
7008
  ]);
5291
7009
  };
5292
7010
  }
5293
7011
  });
5294
- const _hoisted_1$8 = { class: "f-collapse-item__header-title" };
5295
- const _hoisted_2$7 = { class: "f-collapse-item__wrapper" };
5296
- const _hoisted_3$7 = { class: "f-collapse-item__content" };
5297
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
7012
+ const _hoisted_1$9 = { class: "f-collapse-item__header-title" };
7013
+ const _hoisted_2$8 = { class: "f-collapse-item__wrapper" };
7014
+ const _hoisted_3$8 = { class: "f-collapse-item__content" };
7015
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5298
7016
  __name: "FCollapseItem",
5299
7017
  props: {
5300
7018
  name: {},
@@ -5338,7 +7056,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
5338
7056
  onClick: handleHeaderClick
5339
7057
  }, [
5340
7058
  renderSlot(_ctx.$slots, "title", {}, () => [
5341
- createElementVNode("span", _hoisted_1$8, toDisplayString(_ctx.title), 1)
7059
+ createElementVNode("span", _hoisted_1$9, toDisplayString(_ctx.title), 1)
5342
7060
  ]),
5343
7061
  _cache[0] || (_cache[0] = createElementVNode("svg", {
5344
7062
  class: "f-collapse-item__icon",
@@ -5362,8 +7080,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
5362
7080
  onLeave
5363
7081
  }, {
5364
7082
  default: withCtx(() => [
5365
- withDirectives(createElementVNode("div", _hoisted_2$7, [
5366
- createElementVNode("div", _hoisted_3$7, [
7083
+ withDirectives(createElementVNode("div", _hoisted_2$8, [
7084
+ createElementVNode("div", _hoisted_3$8, [
5367
7085
  renderSlot(_ctx.$slots, "default")
5368
7086
  ])
5369
7087
  ], 512), [
@@ -5376,13 +7094,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
5376
7094
  };
5377
7095
  }
5378
7096
  });
5379
- const _hoisted_1$7 = { class: "f-color-picker__swatch" };
5380
- const _hoisted_2$6 = {
7097
+ const _hoisted_1$8 = { class: "f-color-picker__swatch" };
7098
+ const _hoisted_2$7 = {
5381
7099
  key: 0,
5382
7100
  class: "f-color-picker__panel"
5383
7101
  };
5384
- const _hoisted_3$6 = { class: "f-color-picker__sliders" };
5385
- const _hoisted_4$4 = { class: "f-color-picker__slider-group" };
7102
+ const _hoisted_3$7 = { class: "f-color-picker__sliders" };
7103
+ const _hoisted_4$5 = { class: "f-color-picker__slider-group" };
5386
7104
  const _hoisted_5$4 = ["value"];
5387
7105
  const _hoisted_6$2 = {
5388
7106
  key: 0,
@@ -5390,7 +7108,7 @@ const _hoisted_6$2 = {
5390
7108
  };
5391
7109
  const _hoisted_7 = ["onClick"];
5392
7110
  const hueBackground = "linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00)";
5393
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
7111
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
5394
7112
  __name: "FColorPicker",
5395
7113
  props: /* @__PURE__ */ mergeModels({
5396
7114
  showAlpha: { type: Boolean, default: false },
@@ -5616,7 +7334,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5616
7334
  class: "f-color-picker__trigger",
5617
7335
  onClick: togglePanel
5618
7336
  }, [
5619
- createElementVNode("div", _hoisted_1$7, [
7337
+ createElementVNode("div", _hoisted_1$8, [
5620
7338
  createElementVNode("span", {
5621
7339
  class: "f-color-picker__swatch-color",
5622
7340
  style: normalizeStyle({ background: `rgba(${unref(previewRgb).r}, ${unref(previewRgb).g}, ${unref(previewRgb).b}, ${unref(hsva).a})` })
@@ -5625,7 +7343,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5625
7343
  ]),
5626
7344
  createVNode(Transition, { name: "f-color-picker-fade" }, {
5627
7345
  default: withCtx(() => [
5628
- unref(visible) ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
7346
+ unref(visible) ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
5629
7347
  createElementVNode("div", {
5630
7348
  ref_key: "panelRef",
5631
7349
  ref: panelRef,
@@ -5638,8 +7356,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5638
7356
  style: normalizeStyle({ left: `${unref(hsva).s}%`, top: `${100 - unref(hsva).v}%` })
5639
7357
  }, null, 4)
5640
7358
  ], 36),
5641
- createElementVNode("div", _hoisted_3$6, [
5642
- createElementVNode("div", _hoisted_4$4, [
7359
+ createElementVNode("div", _hoisted_3$7, [
7360
+ createElementVNode("div", _hoisted_4$5, [
5643
7361
  createElementVNode("div", {
5644
7362
  ref_key: "hueRef",
5645
7363
  ref: hueRef,
@@ -5699,19 +7417,19 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5699
7417
  };
5700
7418
  }
5701
7419
  });
5702
- const _hoisted_1$6 = { class: "f-empty" };
5703
- const _hoisted_2$5 = ["src"];
5704
- const _hoisted_3$5 = {
7420
+ const _hoisted_1$7 = { class: "f-empty" };
7421
+ const _hoisted_2$6 = ["src"];
7422
+ const _hoisted_3$6 = {
5705
7423
  key: 1,
5706
7424
  viewBox: "0 0 160 160",
5707
7425
  class: "f-empty__image-default"
5708
7426
  };
5709
- const _hoisted_4$3 = { class: "f-empty__description" };
7427
+ const _hoisted_4$4 = { class: "f-empty__description" };
5710
7428
  const _hoisted_5$3 = {
5711
7429
  key: 0,
5712
7430
  class: "f-empty__extra"
5713
7431
  };
5714
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
7432
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
5715
7433
  __name: "FEmpty",
5716
7434
  props: {
5717
7435
  description: { default: "暂无数据" },
@@ -5720,7 +7438,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5720
7438
  },
5721
7439
  setup(__props) {
5722
7440
  return (_ctx, _cache) => {
5723
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
7441
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
5724
7442
  createElementVNode("div", {
5725
7443
  class: "f-empty__image",
5726
7444
  style: normalizeStyle({ width: `${_ctx.imageSize}px`, height: `${_ctx.imageSize}px` })
@@ -5731,12 +7449,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5731
7449
  src: _ctx.image,
5732
7450
  class: "f-empty__image-img",
5733
7451
  alt: ""
5734
- }, null, 8, _hoisted_2$5)) : (openBlock(), createElementBlock("svg", _hoisted_3$5, _cache[0] || (_cache[0] = [
7452
+ }, null, 8, _hoisted_2$6)) : (openBlock(), createElementBlock("svg", _hoisted_3$6, _cache[0] || (_cache[0] = [
5735
7453
  createStaticVNode('<ellipse cx="80" cy="132" rx="46" ry="8" fill="currentColor" opacity="0.08"></ellipse><path d="M40 60 L120 60 L128 128 L32 128 Z" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="round" opacity="0.35"></path><path d="M40 60 L58 32 L102 32 L120 60" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="round" opacity="0.35"></path><line x1="32" y1="88" x2="128" y2="88" stroke="currentColor" stroke-width="3" opacity="0.35"></line><path d="M64 88 Q80 106 96 88" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" opacity="0.5"></path>', 5)
5736
7454
  ])))
5737
7455
  ])
5738
7456
  ], 4),
5739
- createElementVNode("div", _hoisted_4$3, [
7457
+ createElementVNode("div", _hoisted_4$4, [
5740
7458
  renderSlot(_ctx.$slots, "description", {}, () => [
5741
7459
  createTextVNode(toDisplayString(_ctx.description), 1)
5742
7460
  ])
@@ -5748,13 +7466,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5748
7466
  };
5749
7467
  }
5750
7468
  });
5751
- const _hoisted_1$5 = { class: "f-slider__mark-label" };
5752
- const _hoisted_2$4 = ["aria-valuemin", "aria-valuemax", "aria-valuenow", "onMousedown", "onKeydown", "onMouseenter"];
5753
- const _hoisted_3$4 = {
7469
+ const _hoisted_1$6 = { class: "f-slider__mark-label" };
7470
+ const _hoisted_2$5 = ["aria-valuemin", "aria-valuemax", "aria-valuenow", "onMousedown", "onKeydown", "onMouseenter"];
7471
+ const _hoisted_3$5 = {
5754
7472
  key: 0,
5755
7473
  class: "f-slider__tooltip"
5756
7474
  };
5757
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
7475
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
5758
7476
  __name: "FSlider",
5759
7477
  props: /* @__PURE__ */ mergeModels({
5760
7478
  min: { default: 0 },
@@ -5928,7 +7646,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
5928
7646
  style: normalizeStyle(_ctx.vertical ? { bottom: `${mark.percent}%` } : { left: `${mark.percent}%` })
5929
7647
  }, [
5930
7648
  _cache[1] || (_cache[1] = createElementVNode("span", { class: "f-slider__mark-dot" }, null, -1)),
5931
- createElementVNode("span", _hoisted_1$5, toDisplayString(mark.label), 1)
7649
+ createElementVNode("span", _hoisted_1$6, toDisplayString(mark.label), 1)
5932
7650
  ], 4);
5933
7651
  }), 128)),
5934
7652
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(values), (value, index) => {
@@ -5948,18 +7666,18 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
5948
7666
  }, [
5949
7667
  createVNode(Transition, { name: "f-slider-tooltip-fade" }, {
5950
7668
  default: withCtx(() => [
5951
- tooltipVisible(index) ? (openBlock(), createElementBlock("div", _hoisted_3$4, toDisplayString(value), 1)) : createCommentVNode("", true)
7669
+ tooltipVisible(index) ? (openBlock(), createElementBlock("div", _hoisted_3$5, toDisplayString(value), 1)) : createCommentVNode("", true)
5952
7670
  ]),
5953
7671
  _: 2
5954
7672
  }, 1024)
5955
- ], 46, _hoisted_2$4);
7673
+ ], 46, _hoisted_2$5);
5956
7674
  }), 128))
5957
7675
  ], 544)
5958
7676
  ], 2);
5959
7677
  };
5960
7678
  }
5961
7679
  });
5962
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
7680
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5963
7681
  __name: "FScrollbar",
5964
7682
  props: {
5965
7683
  height: { default: "" },
@@ -6147,16 +7865,16 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
6147
7865
  };
6148
7866
  }
6149
7867
  });
6150
- const _hoisted_1$4 = ["disabled"];
6151
- const _hoisted_2$3 = ["value", "disabled", "placeholder"];
6152
- const _hoisted_3$3 = ["disabled"];
6153
- const _hoisted_4$2 = {
7868
+ const _hoisted_1$5 = ["disabled"];
7869
+ const _hoisted_2$4 = ["value", "disabled", "placeholder"];
7870
+ const _hoisted_3$4 = ["disabled"];
7871
+ const _hoisted_4$3 = {
6154
7872
  key: 2,
6155
7873
  class: "f-input-number__stack"
6156
7874
  };
6157
7875
  const _hoisted_5$2 = ["disabled"];
6158
7876
  const _hoisted_6$1 = ["disabled"];
6159
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
7877
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
6160
7878
  __name: "FInputNumber",
6161
7879
  props: /* @__PURE__ */ mergeModels({
6162
7880
  min: { default: -Infinity },
@@ -6295,13 +8013,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6295
8013
  onMouseup: stopRepeat,
6296
8014
  onMouseleave: stopRepeat
6297
8015
  }, [
6298
- createVNode(unref(FIcon$3), null, {
8016
+ createVNode(unref(FIcon$6), null, {
6299
8017
  default: withCtx(() => [
6300
8018
  createVNode(unref(RemoveOutline))
6301
8019
  ]),
6302
8020
  _: 1
6303
8021
  })
6304
- ], 40, _hoisted_1$4)) : createCommentVNode("", true),
8022
+ ], 40, _hoisted_1$5)) : createCommentVNode("", true),
6305
8023
  createElementVNode("input", {
6306
8024
  ref_key: "inputRef",
6307
8025
  ref: inputRef,
@@ -6316,7 +8034,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6316
8034
  onBlur: handleBlur,
6317
8035
  onKeydown: handleKeydown,
6318
8036
  onWheel: handleWheel
6319
- }, null, 40, _hoisted_2$3),
8037
+ }, null, 40, _hoisted_2$4),
6320
8038
  _ctx.controls && _ctx.controlsPosition === "both" ? (openBlock(), createElementBlock("button", {
6321
8039
  key: 1,
6322
8040
  type: "button",
@@ -6327,14 +8045,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6327
8045
  onMouseup: stopRepeat,
6328
8046
  onMouseleave: stopRepeat
6329
8047
  }, [
6330
- createVNode(unref(FIcon$3), null, {
8048
+ createVNode(unref(FIcon$6), null, {
6331
8049
  default: withCtx(() => [
6332
8050
  createVNode(unref(AddOutline))
6333
8051
  ]),
6334
8052
  _: 1
6335
8053
  })
6336
- ], 40, _hoisted_3$3)) : createCommentVNode("", true),
6337
- _ctx.controls && _ctx.controlsPosition === "right" ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
8054
+ ], 40, _hoisted_3$4)) : createCommentVNode("", true),
8055
+ _ctx.controls && _ctx.controlsPosition === "right" ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
6338
8056
  createElementVNode("button", {
6339
8057
  type: "button",
6340
8058
  class: "f-input-number__stack-btn",
@@ -6344,7 +8062,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6344
8062
  onMouseup: stopRepeat,
6345
8063
  onMouseleave: stopRepeat
6346
8064
  }, [
6347
- createVNode(unref(FIcon$3), null, {
8065
+ createVNode(unref(FIcon$6), null, {
6348
8066
  default: withCtx(() => [
6349
8067
  createVNode(unref(ChevronUpOutline))
6350
8068
  ]),
@@ -6360,7 +8078,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6360
8078
  onMouseup: stopRepeat,
6361
8079
  onMouseleave: stopRepeat
6362
8080
  }, [
6363
- createVNode(unref(FIcon$3), null, {
8081
+ createVNode(unref(FIcon$6), null, {
6364
8082
  default: withCtx(() => [
6365
8083
  createVNode(unref(ChevronDownOutline))
6366
8084
  ]),
@@ -6372,17 +8090,17 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6372
8090
  };
6373
8091
  }
6374
8092
  });
6375
- const FInputNumber = /* @__PURE__ */ _export_sfc$4(_sfc_main$4, [["__scopeId", "data-v-292cd24f"]]);
6376
- const _hoisted_1$3 = { class: "f-result__icon" };
6377
- const _hoisted_2$2 = {
8093
+ const FInputNumber = /* @__PURE__ */ _export_sfc$7(_sfc_main$7, [["__scopeId", "data-v-292cd24f"]]);
8094
+ const _hoisted_1$4 = { class: "f-result__icon" };
8095
+ const _hoisted_2$3 = {
6378
8096
  key: 0,
6379
8097
  class: "f-result__code"
6380
8098
  };
6381
- const _hoisted_3$2 = {
8099
+ const _hoisted_3$3 = {
6382
8100
  key: 0,
6383
8101
  class: "f-result__title"
6384
8102
  };
6385
- const _hoisted_4$1 = {
8103
+ const _hoisted_4$2 = {
6386
8104
  key: 1,
6387
8105
  class: "f-result__subtitle"
6388
8106
  };
@@ -6394,7 +8112,7 @@ const _hoisted_6 = {
6394
8112
  key: 3,
6395
8113
  class: "f-result__content"
6396
8114
  };
6397
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8115
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6398
8116
  __name: "FResult",
6399
8117
  props: {
6400
8118
  status: { default: "info" },
@@ -6420,9 +8138,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6420
8138
  return openBlock(), createElementBlock("div", {
6421
8139
  class: normalizeClass(["f-result", `f-result--${_ctx.status}`])
6422
8140
  }, [
6423
- createElementVNode("div", _hoisted_1$3, [
8141
+ createElementVNode("div", _hoisted_1$4, [
6424
8142
  renderSlot(_ctx.$slots, "icon", {}, () => [
6425
- unref(showCode) ? (openBlock(), createElementBlock("span", _hoisted_2$2, toDisplayString(_ctx.status), 1)) : (openBlock(), createBlock(FIcon$4, {
8143
+ unref(showCode) ? (openBlock(), createElementBlock("span", _hoisted_2$3, toDisplayString(_ctx.status), 1)) : (openBlock(), createBlock(FIcon$7, {
6426
8144
  key: 1,
6427
8145
  size: 72
6428
8146
  }, {
@@ -6433,12 +8151,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6433
8151
  }))
6434
8152
  ], true)
6435
8153
  ]),
6436
- _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("div", _hoisted_3$2, [
8154
+ _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
6437
8155
  renderSlot(_ctx.$slots, "title", {}, () => [
6438
8156
  createTextVNode(toDisplayString(_ctx.title), 1)
6439
8157
  ], true)
6440
8158
  ])) : createCommentVNode("", true),
6441
- _ctx.$slots.subtitle || _ctx.subTitle ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
8159
+ _ctx.$slots.subtitle || _ctx.subTitle ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
6442
8160
  renderSlot(_ctx.$slots, "subtitle", {}, () => [
6443
8161
  createTextVNode(toDisplayString(_ctx.subTitle), 1)
6444
8162
  ], true)
@@ -6453,7 +8171,136 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6453
8171
  };
6454
8172
  }
6455
8173
  });
6456
- const FResult = /* @__PURE__ */ _export_sfc$4(_sfc_main$3, [["__scopeId", "data-v-1667a865"]]);
8174
+ const FResult = /* @__PURE__ */ _export_sfc$7(_sfc_main$6, [["__scopeId", "data-v-1667a865"]]);
8175
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8176
+ __name: "FMask",
8177
+ props: /* @__PURE__ */ mergeModels({
8178
+ maskClosable: { type: Boolean, default: true },
8179
+ maskColor: { default: "black" },
8180
+ showMask: { type: Boolean, default: true }
8181
+ }, {
8182
+ "modelValue": __spreadValues({ type: Boolean }, { default: false }),
8183
+ "modelModifiers": {}
8184
+ }),
8185
+ emits: ["update:modelValue"],
8186
+ setup(__props) {
8187
+ const props = __props;
8188
+ const visible = useModel(__props, "modelValue");
8189
+ const handleMaskClick = () => {
8190
+ if (props.maskClosable) visible.value = false;
8191
+ };
8192
+ const maskBackgroundColor = computed(() => {
8193
+ if (!props.showMask) return "transparent";
8194
+ switch (props.maskColor) {
8195
+ case "white":
8196
+ return "rgba(255, 255, 255, 0.5)";
8197
+ case "black":
8198
+ return "rgba(0, 0, 0, 0.5)";
8199
+ case "transparent":
8200
+ return "transparent";
8201
+ default:
8202
+ return "rgba(0, 0, 0, 0.5)";
8203
+ }
8204
+ });
8205
+ return (_ctx, _cache) => {
8206
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
8207
+ createVNode(Transition, { name: "fade" }, {
8208
+ default: withCtx(() => [
8209
+ visible.value ? (openBlock(), createElementBlock("div", {
8210
+ key: 0,
8211
+ class: "f-dialog-mask",
8212
+ style: normalizeStyle({ backgroundColor: unref(maskBackgroundColor) }),
8213
+ onClick: handleMaskClick
8214
+ }, [
8215
+ createElementVNode("div", {
8216
+ class: "f-dialog-container",
8217
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
8218
+ }, ["stop"]))
8219
+ }, [
8220
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
8221
+ ])
8222
+ ], 4)) : createCommentVNode("", true)
8223
+ ]),
8224
+ _: 3
8225
+ })
8226
+ ]);
8227
+ };
8228
+ }
8229
+ });
8230
+ const FMask = /* @__PURE__ */ _export_sfc$7(_sfc_main$5, [["__scopeId", "data-v-e0510925"]]);
8231
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8232
+ __name: "FMarquee",
8233
+ props: {
8234
+ text: { default: "Fantasia UI" },
8235
+ speed: { default: 28 },
8236
+ direction: { default: "left" },
8237
+ pauseOnHover: { type: Boolean, default: true },
8238
+ gap: { default: 32 }
8239
+ },
8240
+ setup(__props) {
8241
+ const props = __props;
8242
+ const content = computed(() => Array.from({ length: 2 }, () => props.text).join(" ".repeat(props.gap)));
8243
+ const animationDirection = computed(() => props.direction === "right" ? "reverse" : "normal");
8244
+ return (_ctx, _cache) => {
8245
+ return openBlock(), createElementBlock("div", {
8246
+ class: normalizeClass(["f-marquee", { "is-pause": _ctx.pauseOnHover }])
8247
+ }, [
8248
+ createElementVNode("div", {
8249
+ class: "f-marquee__track",
8250
+ style: normalizeStyle({ animationDirection: unref(animationDirection), animationDuration: `${_ctx.speed}s` })
8251
+ }, [
8252
+ createElementVNode("span", null, toDisplayString(unref(content)), 1),
8253
+ createElementVNode("span", null, toDisplayString(unref(content)), 1)
8254
+ ], 4)
8255
+ ], 2);
8256
+ };
8257
+ }
8258
+ });
8259
+ const FMarquee = /* @__PURE__ */ _export_sfc$7(_sfc_main$4, [["__scopeId", "data-v-87e87d12"]]);
8260
+ const _hoisted_1$3 = { class: "f-step__icon" };
8261
+ const _hoisted_2$2 = { class: "f-step__content" };
8262
+ const _hoisted_3$2 = { class: "f-step__title" };
8263
+ const _hoisted_4$1 = {
8264
+ key: 0,
8265
+ class: "f-step__description"
8266
+ };
8267
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8268
+ __name: "FSteps",
8269
+ props: {
8270
+ items: {},
8271
+ current: { default: 0 },
8272
+ direction: { default: "horizontal" },
8273
+ statusText: { type: Boolean, default: true }
8274
+ },
8275
+ setup(__props) {
8276
+ const props = __props;
8277
+ const resolvedStatus = (index, itemStatus) => {
8278
+ if (itemStatus) return itemStatus;
8279
+ if (index < props.current) return "finish";
8280
+ if (index === props.current) return "process";
8281
+ return "wait";
8282
+ };
8283
+ return (_ctx, _cache) => {
8284
+ return openBlock(), createElementBlock("div", {
8285
+ class: normalizeClass(["f-steps", [`is-${_ctx.direction}`]])
8286
+ }, [
8287
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
8288
+ return openBlock(), createElementBlock("div", {
8289
+ key: `${index}-step`,
8290
+ class: normalizeClass(["f-step", [`is-${resolvedStatus(index, item.status)}`]])
8291
+ }, [
8292
+ createElementVNode("div", _hoisted_1$3, toDisplayString(index + 1), 1),
8293
+ createElementVNode("div", _hoisted_2$2, [
8294
+ createElementVNode("div", _hoisted_3$2, toDisplayString(item.title || `Step ${index + 1}`), 1),
8295
+ item.description || _ctx.statusText ? (openBlock(), createElementBlock("div", _hoisted_4$1, toDisplayString(item.description || "Processing"), 1)) : createCommentVNode("", true)
8296
+ ])
8297
+ ], 2);
8298
+ }), 128))
8299
+ ], 2);
8300
+ };
8301
+ }
8302
+ });
8303
+ const FSteps = /* @__PURE__ */ _export_sfc$7(_sfc_main$3, [["__scopeId", "data-v-a97e1683"]]);
6457
8304
  const _hoisted_1$2 = { class: "f-message__content" };
6458
8305
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6459
8306
  __name: "FMessage",
@@ -6525,7 +8372,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6525
8372
  onMouseenter: clearTimer,
6526
8373
  onMouseleave: startTimer
6527
8374
  }, [
6528
- _ctx.showIcon ? (openBlock(), createBlock(FIcon$4, {
8375
+ _ctx.showIcon ? (openBlock(), createBlock(FIcon$7, {
6529
8376
  key: 0,
6530
8377
  class: "f-message__icon"
6531
8378
  }, {
@@ -6542,7 +8389,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6542
8389
  "aria-label": "close",
6543
8390
  onClick: close
6544
8391
  }, [
6545
- createVNode(FIcon$4, null, {
8392
+ createVNode(FIcon$7, null, {
6546
8393
  default: withCtx(() => [
6547
8394
  createVNode(unref(Close))
6548
8395
  ]),
@@ -6556,7 +8403,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6556
8403
  };
6557
8404
  }
6558
8405
  });
6559
- const FMessageComp = /* @__PURE__ */ _export_sfc$4(_sfc_main$2, [["__scopeId", "data-v-97556afa"]]);
8406
+ const FMessageComp = /* @__PURE__ */ _export_sfc$7(_sfc_main$2, [["__scopeId", "data-v-97556afa"]]);
6560
8407
  const GAP$1 = 16;
6561
8408
  const BASE_OFFSET$1 = 20;
6562
8409
  let seed$1 = 0;
@@ -6712,7 +8559,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
6712
8559
  onMouseleave: startTimer,
6713
8560
  onClick: handleClick
6714
8561
  }, [
6715
- _ctx.showIcon ? (openBlock(), createBlock(FIcon$4, {
8562
+ _ctx.showIcon ? (openBlock(), createBlock(FIcon$7, {
6716
8563
  key: 0,
6717
8564
  class: "f-notification__icon"
6718
8565
  }, {
@@ -6732,7 +8579,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
6732
8579
  "aria-label": "close",
6733
8580
  onClick: withModifiers(close, ["stop"])
6734
8581
  }, [
6735
- createVNode(FIcon$4, null, {
8582
+ createVNode(FIcon$7, null, {
6736
8583
  default: withCtx(() => [
6737
8584
  createVNode(unref(Close))
6738
8585
  ]),
@@ -6746,7 +8593,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
6746
8593
  };
6747
8594
  }
6748
8595
  });
6749
- const FNotificationComp = /* @__PURE__ */ _export_sfc$4(_sfc_main$1, [["__scopeId", "data-v-0a7315d6"]]);
8596
+ const FNotificationComp = /* @__PURE__ */ _export_sfc$7(_sfc_main$1, [["__scopeId", "data-v-0a7315d6"]]);
6750
8597
  const GAP = 16;
6751
8598
  const BASE_OFFSET = 20;
6752
8599
  let seed = 0;
@@ -6948,7 +8795,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6948
8795
  class: "f-dialog__close",
6949
8796
  onClick: handleClose
6950
8797
  }, [
6951
- createVNode(FIcon$4, null, {
8798
+ createVNode(FIcon$7, null, {
6952
8799
  default: withCtx(() => [
6953
8800
  createVNode(unref(CloseOutline))
6954
8801
  ]),
@@ -6961,7 +8808,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6961
8808
  }, [
6962
8809
  renderSlot(_ctx.$slots, "header", {}, () => [
6963
8810
  unref(hasIcon) ? (openBlock(), createElementBlock("div", _hoisted_1, [
6964
- createVNode(FIcon$4, null, {
8811
+ createVNode(FIcon$7, null, {
6965
8812
  default: withCtx(() => [
6966
8813
  (openBlock(), createBlock(resolveDynamicComponent(iconMap[_ctx.type])))
6967
8814
  ]),
@@ -7010,7 +8857,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7010
8857
  };
7011
8858
  }
7012
8859
  });
7013
- const FDialogComp = /* @__PURE__ */ _export_sfc$4(_sfc_main, [["__scopeId", "data-v-991352de"]]);
8860
+ const FDialogComp = /* @__PURE__ */ _export_sfc$7(_sfc_main, [["__scopeId", "data-v-b88b4e96"]]);
7014
8861
  const showDialog = (options) => {
7015
8862
  return new Promise((resolve) => {
7016
8863
  const container = document.createElement("div");
@@ -7103,39 +8950,47 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
7103
8950
  FCard,
7104
8951
  FCheckbox,
7105
8952
  FCol,
7106
- FCollapse: _sfc_main$a,
7107
- FCollapseItem: _sfc_main$9,
7108
- FColorPicker: _sfc_main$8,
8953
+ FCollapse: _sfc_main$d,
8954
+ FCollapseItem: _sfc_main$c,
8955
+ FColorPicker: _sfc_main$b,
7109
8956
  FContainer,
7110
8957
  FDialog,
7111
8958
  FDivider,
7112
8959
  FDropdown,
7113
8960
  FEditor,
7114
- FEmpty: _sfc_main$7,
8961
+ FEmpty: _sfc_main$a,
7115
8962
  FForm,
7116
8963
  FFormItem,
7117
- FIcon: FIcon$4,
8964
+ FIcon: FIcon$7,
7118
8965
  FImage,
7119
8966
  FInput,
7120
8967
  FInputNumber,
7121
8968
  FLink,
7122
8969
  FLoading,
8970
+ FMarquee,
8971
+ FMask,
7123
8972
  FMessage,
7124
8973
  FNotification,
7125
8974
  FPagination,
7126
8975
  FProgress,
8976
+ FRadio,
8977
+ FRadioGroup,
7127
8978
  FRate,
7128
8979
  FResult,
7129
8980
  FRow,
7130
- FScrollbar: _sfc_main$5,
8981
+ FScrollbar: _sfc_main$8,
7131
8982
  FSelect,
7132
- FSlider: _sfc_main$6,
8983
+ FSlider: _sfc_main$9,
7133
8984
  FSpace,
8985
+ FSteps,
8986
+ FSwitch,
7134
8987
  FTable,
7135
8988
  FTabs,
7136
8989
  FTag,
7137
8990
  FText,
7138
8991
  FTooltip,
8992
+ FTransfer,
8993
+ FTreeSelect,
7139
8994
  FTypography,
7140
8995
  FUpload
7141
8996
  }, Symbol.toStringTag, { value: "Module" }));
@@ -7155,39 +9010,47 @@ export {
7155
9010
  FCard,
7156
9011
  FCheckbox,
7157
9012
  FCol,
7158
- _sfc_main$a as FCollapse,
7159
- _sfc_main$9 as FCollapseItem,
7160
- _sfc_main$8 as FColorPicker,
9013
+ _sfc_main$d as FCollapse,
9014
+ _sfc_main$c as FCollapseItem,
9015
+ _sfc_main$b as FColorPicker,
7161
9016
  FContainer,
7162
9017
  FDialog,
7163
9018
  FDivider,
7164
9019
  FDropdown,
7165
9020
  FEditor,
7166
- _sfc_main$7 as FEmpty,
9021
+ _sfc_main$a as FEmpty,
7167
9022
  FForm,
7168
9023
  FFormItem,
7169
- FIcon$4 as FIcon,
9024
+ FIcon$7 as FIcon,
7170
9025
  FImage,
7171
9026
  FInput,
7172
9027
  FInputNumber,
7173
9028
  FLink,
7174
9029
  FLoading,
9030
+ FMarquee,
9031
+ FMask,
7175
9032
  FMessage,
7176
9033
  FNotification,
7177
9034
  FPagination,
7178
9035
  FProgress,
9036
+ FRadio,
9037
+ FRadioGroup,
7179
9038
  FRate,
7180
9039
  FResult,
7181
9040
  FRow,
7182
- _sfc_main$5 as FScrollbar,
9041
+ _sfc_main$8 as FScrollbar,
7183
9042
  FSelect,
7184
- _sfc_main$6 as FSlider,
9043
+ _sfc_main$9 as FSlider,
7185
9044
  FSpace,
9045
+ FSteps,
9046
+ FSwitch,
7186
9047
  FTable,
7187
9048
  FTabs,
7188
9049
  FTag,
7189
9050
  FText,
7190
9051
  FTooltip,
9052
+ FTransfer,
9053
+ FTreeSelect,
7191
9054
  FTypography,
7192
9055
  FUpload,
7193
9056
  install as default