fantasia-ui 0.2.39 → 0.2.43
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.
- package/README.en.md +8 -356
- package/README.md +10 -358
- package/dist/fantasia-ui.css +534 -205
- package/dist/fantasia-ui.es.js +2945 -524
- package/dist/fantasia-ui.umd.js +2923 -502
- package/dist/types/{components → packages/components}/index.d.ts +4 -3
- package/dist/types/{components → packages/components}/modules/FButton.vue.d.ts +3 -3
- package/dist/types/packages/components/modules/FDialog.vue.d.ts +46 -0
- package/dist/types/{components → packages/components}/modules/FDropdown.vue.d.ts +5 -0
- package/dist/types/packages/components/modules/FInput.vue.d.ts +11 -0
- package/dist/types/{components → packages/components}/modules/FInputNumber.vue.d.ts +0 -1
- package/dist/types/{components/modules/FDialog.vue.d.ts → packages/components/modules/FMask.vue.d.ts} +2 -2
- package/dist/types/{components → packages/components}/modules/FSelect.vue.d.ts +3 -0
- package/dist/types/packages/composables/FDialog.d.ts +3 -0
- package/dist/types/{types → packages/types}/components/index.d.ts +3 -1
- package/dist/types/{types → packages/types}/components/modules/base.d.ts +1 -1
- package/dist/types/{types → packages/types}/components/modules/f-button.d.ts +3 -1
- package/dist/types/packages/types/components/modules/f-dialog.d.ts +69 -0
- package/dist/types/{types → packages/types}/components/modules/f-dropdown.d.ts +1 -0
- package/dist/types/{types → packages/types}/components/modules/f-input-number.d.ts +0 -1
- package/dist/types/{types → packages/types}/components/modules/f-input.d.ts +3 -5
- package/dist/types/{types/components/modules/f-dialog.d.ts → packages/types/components/modules/f-mask.d.ts} +2 -2
- package/dist/types/packages/types/components/modules/f-select.d.ts +7 -0
- package/package.json +1 -1
- package/dist/types/components/modules/FInput.vue.d.ts +0 -27
- package/dist/types/{assets → packages/assets}/index.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FAffix.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FAlert.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FAvatar.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FBadge.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FBreadcrumb.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FButtonGroup.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FCard.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FCheckbox.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FCol.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FCollapse.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FCollapseItem.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FColorPicker.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FContainer.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FDivider.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FEditor.vue.d.ts +2 -2
- package/dist/types/{components → packages/components}/modules/FEmpty.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FForm.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FFormItem.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FIcon.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FImage.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FLink.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FLoading.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FMessage.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FNotification.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FPagination.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FProgress.vue.d.ts +0 -0
- package/dist/types/{components → packages/components}/modules/FRate.vue.d.ts +2 -2
- /package/dist/types/{components → packages/components}/modules/FResult.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FRow.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FScrollbar.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FSlider.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FSpace.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FTable.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FTabs.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FTag.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FText.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FTooltip.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FTypography.vue.d.ts +0 -0
- /package/dist/types/{components → packages/components}/modules/FUpload.vue.d.ts +0 -0
- /package/dist/types/{components/modules → packages/composables}/FMessage.d.ts +0 -0
- /package/dist/types/{components/modules → packages/composables}/FNotification.d.ts +0 -0
- /package/dist/types/{index.d.ts → packages/index.d.ts} +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-affix.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-alert.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-avatar.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-badge.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-breadcrumb.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-button-group.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-card.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-checkbox.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-col.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-collapse-item.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-collapse.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-color-picker.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-container.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-divider.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-editor.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-empty.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-form-item.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-form.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-icon.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-image.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-link.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-loading.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-menu.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-message.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-notification.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-pagination.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-progress.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-rate.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-result.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-row.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-scrollbar.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-slider-captcha.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-slider.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-space.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-table.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-tabs.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-tag.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-tagsview.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-text.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-toolbar.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-tooltip.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-typography.d.ts +0 -0
- /package/dist/types/{types → packages/types}/components/modules/f-upload.d.ts +0 -0
- /package/dist/types/{types → packages/types}/index.d.ts +0 -0
- /package/dist/types/{types → packages/types}/models/index.d.ts +0 -0
- /package/dist/types/{utils → packages/utils}/general.d.ts +0 -0
- /package/dist/types/{utils → packages/utils}/index.d.ts +0 -0
- /package/dist/types/{utils → packages/utils}/validator.d.ts +0 -0
package/dist/fantasia-ui.umd.js
CHANGED
|
@@ -41,7 +41,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
const _sfc_main$
|
|
44
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
45
45
|
__name: "FIcon",
|
|
46
46
|
props: {
|
|
47
47
|
color: {},
|
|
@@ -65,24 +65,24 @@ var __async = (__this, __arguments, generator) => {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
|
-
const _export_sfc = (sfc, props) => {
|
|
68
|
+
const _export_sfc$3 = (sfc, props) => {
|
|
69
69
|
const target = sfc.__vccOpts || sfc;
|
|
70
70
|
for (const [key, val] of props) {
|
|
71
71
|
target[key] = val;
|
|
72
72
|
}
|
|
73
73
|
return target;
|
|
74
74
|
};
|
|
75
|
-
const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
75
|
+
const FIcon$3 = /* @__PURE__ */ _export_sfc$3(_sfc_main$M, [["__scopeId", "data-v-baf7de0c"]]);
|
|
76
76
|
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";
|
|
77
|
-
const _hoisted_1$
|
|
77
|
+
const _hoisted_1$x = {
|
|
78
78
|
key: 0,
|
|
79
79
|
class: "loop cubes"
|
|
80
80
|
};
|
|
81
|
-
const _hoisted_2$
|
|
81
|
+
const _hoisted_2$r = {
|
|
82
82
|
key: 2,
|
|
83
83
|
class: "msg"
|
|
84
84
|
};
|
|
85
|
-
const _sfc_main$
|
|
85
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
86
86
|
__name: "FLoading",
|
|
87
87
|
props: {
|
|
88
88
|
type: { default: "dots" },
|
|
@@ -95,7 +95,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
95
95
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
96
96
|
class: vue.normalizeClass(["flex-center-col size-full loading-container", { "global-mask": _ctx.mask }])
|
|
97
97
|
}, [
|
|
98
|
-
_ctx.type === "cubes" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
98
|
+
_ctx.type === "cubes" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
|
|
99
99
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(6, (i) => {
|
|
100
100
|
return vue.createElementVNode("div", {
|
|
101
101
|
class: "item cubes",
|
|
@@ -106,23 +106,23 @@ var __async = (__this, __arguments, generator) => {
|
|
|
106
106
|
key: 1,
|
|
107
107
|
class: vue.normalizeClass(["loader", _ctx.type])
|
|
108
108
|
}, null, 2)),
|
|
109
|
-
props.text ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$
|
|
109
|
+
props.text ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$r, vue.toDisplayString(props.text), 1)) : vue.createCommentVNode("", true)
|
|
110
110
|
], 2);
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
113
|
});
|
|
114
|
-
const FLoading = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
115
|
-
const _hoisted_1$
|
|
116
|
-
const _hoisted_2$
|
|
114
|
+
const FLoading = /* @__PURE__ */ _export_sfc$3(_sfc_main$I, [["__scopeId", "data-v-20f58a50"]]);
|
|
115
|
+
const _hoisted_1$w = { class: "f-image" };
|
|
116
|
+
const _hoisted_2$q = {
|
|
117
117
|
key: 0,
|
|
118
118
|
class: "f-image__placeholder"
|
|
119
119
|
};
|
|
120
|
-
const _hoisted_3$
|
|
120
|
+
const _hoisted_3$m = {
|
|
121
121
|
key: 0,
|
|
122
122
|
class: "f-image__error"
|
|
123
123
|
};
|
|
124
|
-
const _hoisted_4$
|
|
125
|
-
const _sfc_main$
|
|
124
|
+
const _hoisted_4$f = ["src", "loading"];
|
|
125
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
126
126
|
__name: "FImage",
|
|
127
127
|
props: {
|
|
128
128
|
src: {},
|
|
@@ -139,10 +139,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
139
139
|
const onLoad = () => status.value = "loaded";
|
|
140
140
|
const onError = () => status.value = "error";
|
|
141
141
|
return (_ctx, _cache) => {
|
|
142
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
142
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
|
|
143
143
|
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
144
144
|
default: vue.withCtx(() => [
|
|
145
|
-
vue.unref(status) === "loading" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
145
|
+
vue.unref(status) === "loading" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$q, [
|
|
146
146
|
vue.createVNode(FLoading, { type: "classic first" })
|
|
147
147
|
])) : vue.createCommentVNode("", true)
|
|
148
148
|
]),
|
|
@@ -150,9 +150,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
150
150
|
}),
|
|
151
151
|
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
152
152
|
default: vue.withCtx(() => [
|
|
153
|
-
vue.unref(status) === "error" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
153
|
+
vue.unref(status) === "error" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$m, [
|
|
154
154
|
vue.renderSlot(_ctx.$slots, "error", {}, () => [
|
|
155
|
-
vue.createVNode(FIcon, { size: "48px" }, {
|
|
155
|
+
vue.createVNode(FIcon$3, { size: "48px" }, {
|
|
156
156
|
default: vue.withCtx(() => [
|
|
157
157
|
vue.createVNode(vue.unref(PictureError))
|
|
158
158
|
]),
|
|
@@ -170,83 +170,116 @@ var __async = (__this, __arguments, generator) => {
|
|
|
170
170
|
class: "f-image__img",
|
|
171
171
|
onLoad,
|
|
172
172
|
onError
|
|
173
|
-
}, null, 44, _hoisted_4$
|
|
173
|
+
}, null, 44, _hoisted_4$f), [
|
|
174
174
|
[vue.vShow, vue.unref(status) === "loaded"]
|
|
175
175
|
])
|
|
176
176
|
]);
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
179
|
});
|
|
180
|
-
const FImage = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
181
|
-
const _hoisted_1$
|
|
182
|
-
const
|
|
180
|
+
const FImage = /* @__PURE__ */ _export_sfc$3(_sfc_main$H, [["__scopeId", "data-v-e959ab10"]]);
|
|
181
|
+
const _hoisted_1$v = ["type", "value", "placeholder"];
|
|
182
|
+
const _hoisted_2$p = { class: "f-input__suffix" };
|
|
183
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
183
184
|
__name: "FInput",
|
|
184
185
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
name: { default: "" },
|
|
190
|
-
id: { default: "" }
|
|
186
|
+
type: {},
|
|
187
|
+
placeholder: {},
|
|
188
|
+
clearable: { type: Boolean },
|
|
189
|
+
showPassword: { type: Boolean }
|
|
191
190
|
}, {
|
|
192
191
|
"modelValue": { default: "" },
|
|
193
192
|
"modelModifiers": {}
|
|
194
193
|
}),
|
|
195
|
-
emits:
|
|
196
|
-
setup(__props
|
|
197
|
-
const
|
|
198
|
-
const
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
194
|
+
emits: ["update:modelValue"],
|
|
195
|
+
setup(__props) {
|
|
196
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
197
|
+
const props = __props;
|
|
198
|
+
const formItemContext = vue.inject("FFormItemContext", null);
|
|
199
|
+
const isPasswordVisible = vue.ref(false);
|
|
200
|
+
const isFocused = vue.ref(false);
|
|
201
|
+
const hasError = vue.computed(() => {
|
|
202
|
+
var _a;
|
|
203
|
+
return !!((_a = formItemContext == null ? void 0 : formItemContext.errorMsg) == null ? void 0 : _a.value);
|
|
204
|
+
});
|
|
205
|
+
const inputType = vue.computed(() => {
|
|
206
|
+
if (props.showPassword && props.type === "password") {
|
|
207
|
+
return isPasswordVisible.value ? "text" : "password";
|
|
208
|
+
}
|
|
209
|
+
return props.type || "text";
|
|
210
|
+
});
|
|
211
|
+
const showClearIcon = vue.computed(() => {
|
|
212
|
+
return props.clearable && modelValue.value && !props.showPassword;
|
|
213
|
+
});
|
|
214
|
+
const showPasswordIcon = vue.computed(() => {
|
|
215
|
+
return props.showPassword && props.type === "password" && modelValue.value;
|
|
216
|
+
});
|
|
217
|
+
const onInput = (e) => {
|
|
218
|
+
modelValue.value = e.target.value;
|
|
219
|
+
};
|
|
220
|
+
const onBlur = (e) => {
|
|
221
|
+
isFocused.value = false;
|
|
222
|
+
formItemContext == null ? void 0 : formItemContext.validate();
|
|
202
223
|
};
|
|
203
|
-
const
|
|
204
|
-
|
|
205
|
-
emit("change", value);
|
|
224
|
+
const onFocus = () => {
|
|
225
|
+
isFocused.value = true;
|
|
206
226
|
};
|
|
207
|
-
const
|
|
208
|
-
|
|
227
|
+
const clearValue = () => {
|
|
228
|
+
modelValue.value = "";
|
|
209
229
|
};
|
|
210
|
-
const
|
|
211
|
-
|
|
230
|
+
const togglePassword = () => {
|
|
231
|
+
isPasswordVisible.value = !isPasswordVisible.value;
|
|
212
232
|
};
|
|
213
233
|
return (_ctx, _cache) => {
|
|
214
234
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
215
|
-
class: vue.normalizeClass(["f-input", {
|
|
235
|
+
class: vue.normalizeClass(["f-input", {
|
|
236
|
+
"is-focus": vue.unref(isFocused),
|
|
237
|
+
"is-error": vue.unref(hasError)
|
|
238
|
+
}])
|
|
216
239
|
}, [
|
|
217
|
-
vue.
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
]),
|
|
221
|
-
_: 1
|
|
222
|
-
}),
|
|
223
|
-
vue.withDirectives(vue.createElementVNode("input", {
|
|
224
|
-
class: "f-input__text",
|
|
225
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
226
|
-
type: _ctx.type,
|
|
240
|
+
vue.createElementVNode("input", {
|
|
241
|
+
type: vue.unref(inputType),
|
|
242
|
+
value: modelValue.value,
|
|
227
243
|
placeholder: _ctx.placeholder,
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
244
|
+
onInput,
|
|
245
|
+
onBlur,
|
|
246
|
+
onFocus,
|
|
247
|
+
class: "f-input__inner"
|
|
248
|
+
}, null, 40, _hoisted_1$v),
|
|
249
|
+
vue.createElementVNode("div", _hoisted_2$p, [
|
|
250
|
+
vue.unref(showClearIcon) ? (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
251
|
+
key: 0,
|
|
252
|
+
onClick: clearValue,
|
|
253
|
+
class: "icon-btn"
|
|
254
|
+
}, {
|
|
255
|
+
default: vue.withCtx(() => [
|
|
256
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(ionicons5.CloseCircleOutline))))
|
|
257
|
+
]),
|
|
258
|
+
_: 1
|
|
259
|
+
})) : vue.createCommentVNode("", true),
|
|
260
|
+
vue.unref(showPasswordIcon) ? (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
261
|
+
key: 1,
|
|
262
|
+
onClick: togglePassword,
|
|
263
|
+
class: "icon-btn"
|
|
264
|
+
}, {
|
|
265
|
+
default: vue.withCtx(() => [
|
|
266
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(isPasswordVisible) ? vue.unref(ionicons5.EyeOutline) : vue.unref(ionicons5.EyeOffOutline))))
|
|
267
|
+
]),
|
|
268
|
+
_: 1
|
|
269
|
+
})) : vue.createCommentVNode("", true)
|
|
270
|
+
]),
|
|
271
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "f-input__focus-bg" }, null, -1))
|
|
239
272
|
], 2);
|
|
240
273
|
};
|
|
241
274
|
}
|
|
242
275
|
});
|
|
243
|
-
const FInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
244
|
-
const _hoisted_1$
|
|
245
|
-
const _hoisted_2$
|
|
276
|
+
const FInput = /* @__PURE__ */ _export_sfc$3(_sfc_main$G, [["__scopeId", "data-v-68f468e1"]]);
|
|
277
|
+
const _hoisted_1$u = ["onMousemove"];
|
|
278
|
+
const _hoisted_2$o = {
|
|
246
279
|
key: 0,
|
|
247
280
|
class: "f-rate__score"
|
|
248
281
|
};
|
|
249
|
-
const _sfc_main$
|
|
282
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
250
283
|
__name: "FRate",
|
|
251
284
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
252
285
|
modelValue: {},
|
|
@@ -320,7 +353,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
320
353
|
onMousemove: ($event) => onMouseMove($event, index),
|
|
321
354
|
onClick
|
|
322
355
|
}, [
|
|
323
|
-
vue.createVNode(FIcon, {
|
|
356
|
+
vue.createVNode(FIcon$3, {
|
|
324
357
|
color: getStarColor(index),
|
|
325
358
|
size: vue.unref(starSize)
|
|
326
359
|
}, {
|
|
@@ -329,32 +362,33 @@ var __async = (__this, __arguments, generator) => {
|
|
|
329
362
|
]),
|
|
330
363
|
_: 2
|
|
331
364
|
}, 1032, ["color", "size"])
|
|
332
|
-
], 40, _hoisted_1$
|
|
365
|
+
], 40, _hoisted_1$u);
|
|
333
366
|
}), 128)),
|
|
334
|
-
props.showText ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
367
|
+
props.showText ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$o, vue.toDisplayString(vue.unref(scoreText)), 1)) : vue.createCommentVNode("", true)
|
|
335
368
|
], 34);
|
|
336
369
|
};
|
|
337
370
|
}
|
|
338
371
|
});
|
|
339
|
-
const FRate = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
340
|
-
const _hoisted_1$
|
|
341
|
-
const _hoisted_2$
|
|
342
|
-
const _hoisted_3$
|
|
343
|
-
const _hoisted_4$
|
|
372
|
+
const FRate = /* @__PURE__ */ _export_sfc$3(_sfc_main$F, [["__scopeId", "data-v-3b5c4f14"]]);
|
|
373
|
+
const _hoisted_1$t = { class: "f-dropdown-wrapper" };
|
|
374
|
+
const _hoisted_2$n = { class: "f-dropdown-content" };
|
|
375
|
+
const _hoisted_3$l = ["onClick"];
|
|
376
|
+
const _hoisted_4$e = {
|
|
344
377
|
key: 0,
|
|
345
378
|
class: "opt-icon"
|
|
346
379
|
};
|
|
347
|
-
const _hoisted_5$
|
|
348
|
-
const _sfc_main$
|
|
380
|
+
const _hoisted_5$c = { class: "opt-label" };
|
|
381
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
349
382
|
__name: "FDropdown",
|
|
350
383
|
props: {
|
|
351
384
|
placement: { default: "right-start" },
|
|
352
385
|
offset: { default: 12 },
|
|
353
386
|
zIndex: { default: 2e3 },
|
|
354
387
|
trigger: { default: "hover" },
|
|
355
|
-
options: { default: () => [] }
|
|
388
|
+
options: { default: () => [] },
|
|
389
|
+
disabled: { type: Boolean, default: false }
|
|
356
390
|
},
|
|
357
|
-
emits: ["select"],
|
|
391
|
+
emits: ["select", "show", "hide"],
|
|
358
392
|
setup(__props, { emit: __emit }) {
|
|
359
393
|
const props = __props;
|
|
360
394
|
const emit = __emit;
|
|
@@ -458,7 +492,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
458
492
|
}
|
|
459
493
|
};
|
|
460
494
|
const handleTriggerClick = (e) => {
|
|
461
|
-
if (props.trigger !== "click") return;
|
|
495
|
+
if (props.trigger !== "click" || props.disabled) return;
|
|
462
496
|
e.stopPropagation();
|
|
463
497
|
if (!show.value) {
|
|
464
498
|
anchorRect.value = triggerRef.value.getBoundingClientRect();
|
|
@@ -468,7 +502,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
468
502
|
}
|
|
469
503
|
};
|
|
470
504
|
const handleMouseEnter = () => {
|
|
471
|
-
if (props.trigger !== "hover") return;
|
|
505
|
+
if (props.trigger !== "hover" || props.disabled) return;
|
|
472
506
|
clearLeaveTimer();
|
|
473
507
|
showTimer = setTimeout(() => {
|
|
474
508
|
if (triggerRef.value) {
|
|
@@ -503,9 +537,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
503
537
|
yield vue.nextTick();
|
|
504
538
|
dropdownHeight.value = ((_a = dropdownRef.value) == null ? void 0 : _a.offsetHeight) || 200;
|
|
505
539
|
dropdownWidth.value = ((_b = dropdownRef.value) == null ? void 0 : _b.offsetWidth) || 160;
|
|
540
|
+
emit("show");
|
|
506
541
|
} else {
|
|
507
542
|
dropdownHeight.value = 0;
|
|
508
543
|
dropdownWidth.value = 0;
|
|
544
|
+
emit("hide");
|
|
509
545
|
}
|
|
510
546
|
}));
|
|
511
547
|
vue.onUnmounted(() => {
|
|
@@ -514,7 +550,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
514
550
|
});
|
|
515
551
|
core.useEventListener(window, "click", handleWindowClick);
|
|
516
552
|
return (_ctx, _cache) => {
|
|
517
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
553
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
|
|
518
554
|
vue.createElementVNode("div", {
|
|
519
555
|
ref_key: "triggerRef",
|
|
520
556
|
ref: triggerRef,
|
|
@@ -544,18 +580,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
544
580
|
class: "f-dropdown-bridge",
|
|
545
581
|
style: vue.normalizeStyle(vue.unref(bridgeStyle))
|
|
546
582
|
}, null, 4)) : vue.createCommentVNode("", true),
|
|
547
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
583
|
+
vue.createElementVNode("div", _hoisted_2$n, [
|
|
548
584
|
_ctx.options && _ctx.options.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.options, (opt) => {
|
|
549
585
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
550
586
|
key: opt.key,
|
|
551
587
|
class: vue.normalizeClass(["f-dropdown-option", { "is-disabled": opt.disabled }]),
|
|
552
588
|
onClick: ($event) => handleOptionClick(opt)
|
|
553
589
|
}, [
|
|
554
|
-
opt.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
590
|
+
opt.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$e, [
|
|
555
591
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(opt.icon)))
|
|
556
592
|
])) : vue.createCommentVNode("", true),
|
|
557
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
558
|
-
], 10, _hoisted_3$
|
|
593
|
+
vue.createElementVNode("span", _hoisted_5$c, vue.toDisplayString(opt.label), 1)
|
|
594
|
+
], 10, _hoisted_3$l);
|
|
559
595
|
}), 128)) : vue.renderSlot(_ctx.$slots, "content", { key: 1 }, void 0, true)
|
|
560
596
|
])
|
|
561
597
|
], 36)) : vue.createCommentVNode("", true)
|
|
@@ -567,55 +603,66 @@ var __async = (__this, __arguments, generator) => {
|
|
|
567
603
|
};
|
|
568
604
|
}
|
|
569
605
|
});
|
|
570
|
-
const FDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
571
|
-
const _sfc_main$
|
|
606
|
+
const FDropdown = /* @__PURE__ */ _export_sfc$3(_sfc_main$E, [["__scopeId", "data-v-834f9929"]]);
|
|
607
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
572
608
|
__name: "FSelect",
|
|
573
609
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
574
610
|
options: {},
|
|
575
|
-
placeholder: {}
|
|
611
|
+
placeholder: {},
|
|
612
|
+
disabled: { type: Boolean }
|
|
576
613
|
}, {
|
|
577
614
|
"modelValue": {},
|
|
578
615
|
"modelModifiers": {}
|
|
579
616
|
}),
|
|
580
|
-
emits: /* @__PURE__ */ vue.mergeModels(["select"], ["update:modelValue"]),
|
|
617
|
+
emits: /* @__PURE__ */ vue.mergeModels(["select", "change"], ["update:modelValue"]),
|
|
581
618
|
setup(__props, { emit: __emit }) {
|
|
582
619
|
const props = __props;
|
|
583
620
|
const emit = __emit;
|
|
584
621
|
const modelValue = vue.useModel(__props, "modelValue");
|
|
585
622
|
const isOpen = vue.ref(false);
|
|
586
|
-
const
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
);
|
|
592
|
-
const hasValue = vue.computed(() =>
|
|
623
|
+
const dropdownRef = vue.ref();
|
|
624
|
+
const selectedLabel = vue.computed(() => {
|
|
625
|
+
var _a, _b;
|
|
626
|
+
const option = props.options.find((o) => o.key === modelValue.value);
|
|
627
|
+
return (_b = option == null ? void 0 : option.label) != null ? _b : (_a = props.placeholder) != null ? _a : "请选择";
|
|
628
|
+
});
|
|
629
|
+
const hasValue = vue.computed(() => {
|
|
630
|
+
return modelValue.value !== void 0 && modelValue.value !== null && modelValue.value !== "";
|
|
631
|
+
});
|
|
593
632
|
const handleSelect = (key, option) => {
|
|
633
|
+
const oldValue = modelValue.value;
|
|
594
634
|
modelValue.value = key;
|
|
595
635
|
emit("select", key, option);
|
|
636
|
+
if (oldValue !== key) {
|
|
637
|
+
emit("change", key, option);
|
|
638
|
+
}
|
|
596
639
|
isOpen.value = false;
|
|
597
640
|
};
|
|
598
|
-
const handleDropdownShow = (val) => {
|
|
599
|
-
isOpen.value = val;
|
|
600
|
-
};
|
|
601
641
|
return (_ctx, _cache) => {
|
|
602
642
|
return vue.openBlock(), vue.createBlock(FDropdown, {
|
|
643
|
+
ref_key: "dropdownRef",
|
|
644
|
+
ref: dropdownRef,
|
|
603
645
|
options: _ctx.options,
|
|
646
|
+
disabled: _ctx.disabled,
|
|
604
647
|
trigger: "click",
|
|
605
648
|
onSelect: handleSelect,
|
|
606
|
-
onShow: _cache[0] || (_cache[0] = ($event) =>
|
|
607
|
-
onHide: _cache[1] || (_cache[1] = ($event) =>
|
|
649
|
+
onShow: _cache[0] || (_cache[0] = ($event) => isOpen.value = true),
|
|
650
|
+
onHide: _cache[1] || (_cache[1] = ($event) => isOpen.value = false),
|
|
608
651
|
placement: "bottom",
|
|
609
652
|
offset: 4
|
|
610
653
|
}, {
|
|
611
654
|
default: vue.withCtx(() => [
|
|
612
655
|
vue.createElementVNode("div", {
|
|
613
|
-
class: vue.normalizeClass(["f-select", {
|
|
656
|
+
class: vue.normalizeClass(["f-select", {
|
|
657
|
+
"is-active": vue.unref(hasValue),
|
|
658
|
+
"is-open": vue.unref(isOpen),
|
|
659
|
+
"is-disabled": _ctx.disabled
|
|
660
|
+
}])
|
|
614
661
|
}, [
|
|
615
662
|
vue.createElementVNode("span", {
|
|
616
663
|
class: vue.normalizeClass(["f-select__label", { "is-placeholder": !vue.unref(hasValue) }])
|
|
617
664
|
}, vue.toDisplayString(vue.unref(selectedLabel)), 3),
|
|
618
|
-
vue.createVNode(FIcon, { class: "f-select__arrow" }, {
|
|
665
|
+
vue.createVNode(FIcon$3, { class: "f-select__arrow" }, {
|
|
619
666
|
default: vue.withCtx(() => [
|
|
620
667
|
vue.createVNode(vue.unref(ionicons5.ChevronDownOutline))
|
|
621
668
|
]),
|
|
@@ -624,25 +671,25 @@ var __async = (__this, __arguments, generator) => {
|
|
|
624
671
|
], 2)
|
|
625
672
|
]),
|
|
626
673
|
_: 1
|
|
627
|
-
}, 8, ["options"]);
|
|
674
|
+
}, 8, ["options", "disabled"]);
|
|
628
675
|
};
|
|
629
676
|
}
|
|
630
677
|
});
|
|
631
|
-
const FSelect = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
632
|
-
const _hoisted_1$
|
|
678
|
+
const FSelect = /* @__PURE__ */ _export_sfc$3(_sfc_main$D, [["__scopeId", "data-v-fc1ceb39"]]);
|
|
679
|
+
const _hoisted_1$s = {
|
|
633
680
|
key: 0,
|
|
634
681
|
class: "f-pagination"
|
|
635
682
|
};
|
|
636
|
-
const _hoisted_2$
|
|
683
|
+
const _hoisted_2$m = {
|
|
637
684
|
key: 0,
|
|
638
685
|
class: "f-pagination__total"
|
|
639
686
|
};
|
|
640
|
-
const _hoisted_3$
|
|
687
|
+
const _hoisted_3$k = {
|
|
641
688
|
key: 1,
|
|
642
689
|
class: "f-pagination__size"
|
|
643
690
|
};
|
|
644
|
-
const _hoisted_4$
|
|
645
|
-
const _hoisted_5$
|
|
691
|
+
const _hoisted_4$d = ["value"];
|
|
692
|
+
const _hoisted_5$b = ["value"];
|
|
646
693
|
const _hoisted_6$7 = {
|
|
647
694
|
key: 3,
|
|
648
695
|
class: "f-pagination__list"
|
|
@@ -657,7 +704,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
657
704
|
class: "f-pagination__jump"
|
|
658
705
|
};
|
|
659
706
|
const _hoisted_10$2 = ["max"];
|
|
660
|
-
const _sfc_main$
|
|
707
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
661
708
|
__name: "FPagination",
|
|
662
709
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
663
710
|
total: {},
|
|
@@ -706,10 +753,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
706
753
|
jumpInput.value = "";
|
|
707
754
|
};
|
|
708
755
|
return (_ctx, _cache) => {
|
|
709
|
-
return !_ctx.hideOnSingle || vue.unref(pageCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
756
|
+
return !_ctx.hideOnSingle || vue.unref(pageCount) > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
|
|
710
757
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(layoutItems), (item) => {
|
|
711
758
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: item }, [
|
|
712
|
-
item === "total" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
759
|
+
item === "total" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$m, " 共 " + vue.toDisplayString(_ctx.total) + " 条 ", 1)) : item === "sizes" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$k, [
|
|
713
760
|
vue.createElementVNode("select", {
|
|
714
761
|
class: "size-select",
|
|
715
762
|
value: _ctx.pageSize,
|
|
@@ -719,15 +766,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
719
766
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
720
767
|
key: s,
|
|
721
768
|
value: s
|
|
722
|
-
}, vue.toDisplayString(s) + " 条/页", 9, _hoisted_5$
|
|
769
|
+
}, vue.toDisplayString(s) + " 条/页", 9, _hoisted_5$b);
|
|
723
770
|
}), 128))
|
|
724
|
-
], 40, _hoisted_4$
|
|
771
|
+
], 40, _hoisted_4$d)
|
|
725
772
|
])) : item === "prev" ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
726
773
|
key: 2,
|
|
727
774
|
class: vue.normalizeClass(["page-btn", { disabled: currentPage.value === 1 }]),
|
|
728
775
|
onClick: _cache[0] || (_cache[0] = ($event) => go(currentPage.value - 1))
|
|
729
776
|
}, [
|
|
730
|
-
vue.createVNode(FIcon, null, {
|
|
777
|
+
vue.createVNode(FIcon$3, null, {
|
|
731
778
|
default: vue.withCtx(() => [
|
|
732
779
|
vue.createVNode(vue.unref(ionicons5.ChevronBackOutline))
|
|
733
780
|
]),
|
|
@@ -737,7 +784,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
737
784
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(pages), (page, index) => {
|
|
738
785
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index }, [
|
|
739
786
|
page === "..." ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_7$3, [
|
|
740
|
-
vue.createVNode(FIcon, null, {
|
|
787
|
+
vue.createVNode(FIcon$3, null, {
|
|
741
788
|
default: vue.withCtx(() => [
|
|
742
789
|
vue.createVNode(vue.unref(ionicons5.EllipsisHorizontal))
|
|
743
790
|
]),
|
|
@@ -755,7 +802,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
755
802
|
class: vue.normalizeClass(["page-btn", { disabled: currentPage.value === vue.unref(pageCount) }]),
|
|
756
803
|
onClick: _cache[1] || (_cache[1] = ($event) => go(currentPage.value + 1))
|
|
757
804
|
}, [
|
|
758
|
-
vue.createVNode(FIcon, null, {
|
|
805
|
+
vue.createVNode(FIcon$3, null, {
|
|
759
806
|
default: vue.withCtx(() => [
|
|
760
807
|
vue.createVNode(vue.unref(ionicons5.ChevronForwardOutline))
|
|
761
808
|
]),
|
|
@@ -782,24 +829,24 @@ var __async = (__this, __arguments, generator) => {
|
|
|
782
829
|
};
|
|
783
830
|
}
|
|
784
831
|
});
|
|
785
|
-
const FPagination = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
786
|
-
const _hoisted_1$
|
|
832
|
+
const FPagination = /* @__PURE__ */ _export_sfc$3(_sfc_main$C, [["__scopeId", "data-v-930f8b20"]]);
|
|
833
|
+
const _hoisted_1$r = {
|
|
787
834
|
key: 0,
|
|
788
835
|
class: "f-card__header"
|
|
789
836
|
};
|
|
790
|
-
const _hoisted_2$
|
|
837
|
+
const _hoisted_2$l = {
|
|
791
838
|
key: 0,
|
|
792
839
|
class: "f-card__header-extra"
|
|
793
840
|
};
|
|
794
|
-
const _hoisted_3$
|
|
841
|
+
const _hoisted_3$j = {
|
|
795
842
|
key: 1,
|
|
796
843
|
class: "f-card__cover"
|
|
797
844
|
};
|
|
798
|
-
const _hoisted_4$
|
|
845
|
+
const _hoisted_4$c = {
|
|
799
846
|
key: 2,
|
|
800
847
|
class: "f-card__body"
|
|
801
848
|
};
|
|
802
|
-
const _hoisted_5$
|
|
849
|
+
const _hoisted_5$a = {
|
|
803
850
|
key: 3,
|
|
804
851
|
class: "f-card__footer"
|
|
805
852
|
};
|
|
@@ -824,7 +871,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
824
871
|
key: 1,
|
|
825
872
|
class: "f-card__footer"
|
|
826
873
|
};
|
|
827
|
-
const _sfc_main$
|
|
874
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
828
875
|
__name: "FCard",
|
|
829
876
|
props: {
|
|
830
877
|
hoverable: { type: Boolean, default: true },
|
|
@@ -836,19 +883,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
836
883
|
class: vue.normalizeClass(["f-card", [`f-card--${_ctx.direction}`, { "is-hoverable": _ctx.hoverable }]])
|
|
837
884
|
}, [
|
|
838
885
|
_ctx.direction === "vertical" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
839
|
-
_ctx.$slots.header || _ctx.$slots["header-extra"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
886
|
+
_ctx.$slots.header || _ctx.$slots["header-extra"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
|
|
840
887
|
vue.renderSlot(_ctx.$slots, "header", {}, void 0, true),
|
|
841
|
-
_ctx.$slots["header-extra"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
888
|
+
_ctx.$slots["header-extra"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$l, [
|
|
842
889
|
vue.renderSlot(_ctx.$slots, "header-extra", {}, void 0, true)
|
|
843
890
|
])) : vue.createCommentVNode("", true)
|
|
844
891
|
])) : vue.createCommentVNode("", true),
|
|
845
|
-
_ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
892
|
+
_ctx.$slots.cover ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$j, [
|
|
846
893
|
vue.renderSlot(_ctx.$slots, "cover", {}, void 0, true)
|
|
847
894
|
])) : vue.createCommentVNode("", true),
|
|
848
|
-
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
895
|
+
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c, [
|
|
849
896
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
850
897
|
])) : vue.createCommentVNode("", true),
|
|
851
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
898
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$a, [
|
|
852
899
|
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
853
900
|
])) : vue.createCommentVNode("", true)
|
|
854
901
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
@@ -874,12 +921,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
874
921
|
};
|
|
875
922
|
}
|
|
876
923
|
});
|
|
877
|
-
const FCard = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
878
|
-
const _hoisted_1$
|
|
924
|
+
const FCard = /* @__PURE__ */ _export_sfc$3(_sfc_main$B, [["__scopeId", "data-v-a66fa373"]]);
|
|
925
|
+
const _hoisted_1$q = {
|
|
879
926
|
key: 0,
|
|
880
927
|
class: "f-tag__dot"
|
|
881
928
|
};
|
|
882
|
-
const _sfc_main$
|
|
929
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
883
930
|
__name: "FTag",
|
|
884
931
|
props: {
|
|
885
932
|
color: {},
|
|
@@ -903,9 +950,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
903
950
|
onMouseenter: _cache[1] || (_cache[1] = ($event) => isHover.value = true),
|
|
904
951
|
onMouseleave: _cache[2] || (_cache[2] = ($event) => isHover.value = false)
|
|
905
952
|
}, [
|
|
906
|
-
_ctx.type === "dot" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$
|
|
953
|
+
_ctx.type === "dot" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$q)) : vue.createCommentVNode("", true),
|
|
907
954
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
908
|
-
_ctx.closable ? (vue.openBlock(), vue.createBlock(FIcon, {
|
|
955
|
+
_ctx.closable ? (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
909
956
|
key: 1,
|
|
910
957
|
class: "f-tag__close",
|
|
911
958
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => emit("close"), ["stop"]))
|
|
@@ -919,8 +966,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
919
966
|
};
|
|
920
967
|
}
|
|
921
968
|
});
|
|
922
|
-
const FTag = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
923
|
-
const _sfc_main$
|
|
969
|
+
const FTag = /* @__PURE__ */ _export_sfc$3(_sfc_main$A, [["__scopeId", "data-v-02bd5aa6"]]);
|
|
970
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
924
971
|
__name: "FTooltip",
|
|
925
972
|
props: {
|
|
926
973
|
content: {},
|
|
@@ -1024,13 +1071,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1024
1071
|
};
|
|
1025
1072
|
}
|
|
1026
1073
|
});
|
|
1027
|
-
const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1028
|
-
const _hoisted_1$
|
|
1029
|
-
const _hoisted_2$
|
|
1074
|
+
const FTooltip = /* @__PURE__ */ _export_sfc$3(_sfc_main$z, [["__scopeId", "data-v-be9acca7"]]);
|
|
1075
|
+
const _hoisted_1$p = { class: "f-progress" };
|
|
1076
|
+
const _hoisted_2$k = {
|
|
1030
1077
|
key: 0,
|
|
1031
1078
|
class: "f-progress__text"
|
|
1032
1079
|
};
|
|
1033
|
-
const _sfc_main$
|
|
1080
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
1034
1081
|
__name: "FProgress",
|
|
1035
1082
|
props: {
|
|
1036
1083
|
percent: {},
|
|
@@ -1042,7 +1089,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1042
1089
|
const props = __props;
|
|
1043
1090
|
const clampedPercent = vue.computed(() => Math.min(100, Math.max(0, props.percent)));
|
|
1044
1091
|
return (_ctx, _cache) => {
|
|
1045
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1092
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
|
|
1046
1093
|
vue.createElementVNode("div", {
|
|
1047
1094
|
class: "f-progress__track",
|
|
1048
1095
|
style: vue.normalizeStyle({ height: `${_ctx.height}px` })
|
|
@@ -1055,17 +1102,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1055
1102
|
})
|
|
1056
1103
|
}, null, 4)
|
|
1057
1104
|
], 4),
|
|
1058
|
-
_ctx.showText ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
1105
|
+
_ctx.showText ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$k, vue.toDisplayString(vue.unref(clampedPercent)) + "%", 1)) : vue.createCommentVNode("", true)
|
|
1059
1106
|
]);
|
|
1060
1107
|
};
|
|
1061
1108
|
}
|
|
1062
1109
|
});
|
|
1063
|
-
const FProgress = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1064
|
-
const _hoisted_1$
|
|
1065
|
-
const _hoisted_2$
|
|
1066
|
-
const _hoisted_3$
|
|
1067
|
-
const _hoisted_4$
|
|
1068
|
-
const _sfc_main$
|
|
1110
|
+
const FProgress = /* @__PURE__ */ _export_sfc$3(_sfc_main$y, [["__scopeId", "data-v-c2164d6e"]]);
|
|
1111
|
+
const _hoisted_1$o = { class: "f-tabs__nav-container" };
|
|
1112
|
+
const _hoisted_2$j = { class: "f-tabs__nav" };
|
|
1113
|
+
const _hoisted_3$i = ["onClick"];
|
|
1114
|
+
const _hoisted_4$b = { class: "f-tabs__label" };
|
|
1115
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
1069
1116
|
__name: "FTabs",
|
|
1070
1117
|
props: {
|
|
1071
1118
|
tabs: {},
|
|
@@ -1098,8 +1145,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1098
1145
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1099
1146
|
class: vue.normalizeClass(["f-tabs", [`f-tabs--${_ctx.type}`]])
|
|
1100
1147
|
}, [
|
|
1101
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
1102
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
1148
|
+
vue.createElementVNode("div", _hoisted_1$o, [
|
|
1149
|
+
vue.createElementVNode("div", _hoisted_2$j, [
|
|
1103
1150
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, (tab) => {
|
|
1104
1151
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1105
1152
|
key: tab.name,
|
|
@@ -1109,8 +1156,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1109
1156
|
}]),
|
|
1110
1157
|
onClick: ($event) => setActiveTab(tab.name, tab.disabled)
|
|
1111
1158
|
}, [
|
|
1112
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
1113
|
-
], 10, _hoisted_3$
|
|
1159
|
+
vue.createElementVNode("span", _hoisted_4$b, vue.toDisplayString(tab.label), 1)
|
|
1160
|
+
], 10, _hoisted_3$i);
|
|
1114
1161
|
}), 128))
|
|
1115
1162
|
])
|
|
1116
1163
|
]),
|
|
@@ -1128,17 +1175,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1128
1175
|
};
|
|
1129
1176
|
}
|
|
1130
1177
|
});
|
|
1131
|
-
const FTabs = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1132
|
-
const _hoisted_1$
|
|
1178
|
+
const FTabs = /* @__PURE__ */ _export_sfc$3(_sfc_main$x, [["__scopeId", "data-v-268fc654"]]);
|
|
1179
|
+
const _hoisted_1$n = {
|
|
1133
1180
|
class: "f-breadcrumb__current",
|
|
1134
1181
|
"aria-current": "page"
|
|
1135
1182
|
};
|
|
1136
|
-
const _hoisted_2$
|
|
1137
|
-
const _hoisted_3$
|
|
1183
|
+
const _hoisted_2$i = ["href"];
|
|
1184
|
+
const _hoisted_3$h = {
|
|
1138
1185
|
key: 3,
|
|
1139
1186
|
class: "f-breadcrumb__text"
|
|
1140
1187
|
};
|
|
1141
|
-
const _sfc_main$
|
|
1188
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
1142
1189
|
__name: "FBreadcrumb",
|
|
1143
1190
|
props: {
|
|
1144
1191
|
items: { default: () => [] },
|
|
@@ -1166,12 +1213,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1166
1213
|
key: 1,
|
|
1167
1214
|
item
|
|
1168
1215
|
}, () => [
|
|
1169
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
1216
|
+
vue.createElementVNode("span", _hoisted_1$n, vue.toDisplayString(item.label), 1)
|
|
1170
1217
|
], true) : item.href ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
1171
1218
|
key: 2,
|
|
1172
1219
|
href: item.href,
|
|
1173
1220
|
class: "f-breadcrumb__link"
|
|
1174
|
-
}, vue.toDisplayString(item.label), 9, _hoisted_2$
|
|
1221
|
+
}, vue.toDisplayString(item.label), 9, _hoisted_2$i)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$h, vue.toDisplayString(item.label), 1))
|
|
1175
1222
|
], 64);
|
|
1176
1223
|
}), 128))
|
|
1177
1224
|
]),
|
|
@@ -1181,8 +1228,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1181
1228
|
};
|
|
1182
1229
|
}
|
|
1183
1230
|
});
|
|
1184
|
-
const FBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1185
|
-
const _sfc_main$
|
|
1231
|
+
const FBreadcrumb = /* @__PURE__ */ _export_sfc$3(_sfc_main$w, [["__scopeId", "data-v-55b15358"]]);
|
|
1232
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
1186
1233
|
__name: "FCol",
|
|
1187
1234
|
props: {
|
|
1188
1235
|
span: { default: 24 },
|
|
@@ -1223,8 +1270,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1223
1270
|
};
|
|
1224
1271
|
}
|
|
1225
1272
|
});
|
|
1226
|
-
const FCol = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1227
|
-
const _sfc_main$
|
|
1273
|
+
const FCol = /* @__PURE__ */ _export_sfc$3(_sfc_main$v, [["__scopeId", "data-v-5a8b0cb4"]]);
|
|
1274
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
1228
1275
|
__name: "FRow",
|
|
1229
1276
|
props: {
|
|
1230
1277
|
gutter: { default: 0 },
|
|
@@ -1277,14 +1324,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1277
1324
|
};
|
|
1278
1325
|
}
|
|
1279
1326
|
});
|
|
1280
|
-
const FRow = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1281
|
-
const _hoisted_1$
|
|
1282
|
-
const _hoisted_2$
|
|
1327
|
+
const FRow = /* @__PURE__ */ _export_sfc$3(_sfc_main$u, [["__scopeId", "data-v-72f62339"]]);
|
|
1328
|
+
const _hoisted_1$m = { class: "f-space__item" };
|
|
1329
|
+
const _hoisted_2$h = {
|
|
1283
1330
|
key: 0,
|
|
1284
1331
|
class: "f-space__split",
|
|
1285
1332
|
"aria-hidden": "true"
|
|
1286
1333
|
};
|
|
1287
|
-
const _sfc_main$
|
|
1334
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
1288
1335
|
__name: "FSpace",
|
|
1289
1336
|
props: {
|
|
1290
1337
|
direction: { default: "horizontal" },
|
|
@@ -1338,18 +1385,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1338
1385
|
}, [
|
|
1339
1386
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(children), (child, index) => {
|
|
1340
1387
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index }, [
|
|
1341
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
1388
|
+
vue.createElementVNode("div", _hoisted_1$m, [
|
|
1342
1389
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(child)))
|
|
1343
1390
|
]),
|
|
1344
|
-
_ctx.split && index < vue.unref(children).length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
1391
|
+
_ctx.split && index < vue.unref(children).length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$h, vue.toDisplayString(_ctx.split), 1)) : vue.createCommentVNode("", true)
|
|
1345
1392
|
], 64);
|
|
1346
1393
|
}), 128))
|
|
1347
1394
|
], 4);
|
|
1348
1395
|
};
|
|
1349
1396
|
}
|
|
1350
1397
|
});
|
|
1351
|
-
const FSpace = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1352
|
-
const _sfc_main$
|
|
1398
|
+
const FSpace = /* @__PURE__ */ _export_sfc$3(_sfc_main$t, [["__scopeId", "data-v-5fb3b1a0"]]);
|
|
1399
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
1353
1400
|
__name: "FContainer",
|
|
1354
1401
|
props: {
|
|
1355
1402
|
gap: { default: 12 }
|
|
@@ -1369,8 +1416,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1369
1416
|
};
|
|
1370
1417
|
}
|
|
1371
1418
|
});
|
|
1372
|
-
const FContainer = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1373
|
-
const _sfc_main$
|
|
1419
|
+
const FContainer = /* @__PURE__ */ _export_sfc$3(_sfc_main$s, [["__scopeId", "data-v-08450ddf"]]);
|
|
1420
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
1374
1421
|
__name: "FDivider",
|
|
1375
1422
|
props: {
|
|
1376
1423
|
color: {},
|
|
@@ -1397,9 +1444,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1397
1444
|
};
|
|
1398
1445
|
}
|
|
1399
1446
|
});
|
|
1400
|
-
const FDivider = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1401
|
-
const _hoisted_1$
|
|
1402
|
-
const _sfc_main$
|
|
1447
|
+
const FDivider = /* @__PURE__ */ _export_sfc$3(_sfc_main$r, [["__scopeId", "data-v-512ee743"]]);
|
|
1448
|
+
const _hoisted_1$l = ["src", "alt"];
|
|
1449
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
1403
1450
|
__name: "FAvatar",
|
|
1404
1451
|
props: {
|
|
1405
1452
|
src: {},
|
|
@@ -1431,7 +1478,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1431
1478
|
key: 0,
|
|
1432
1479
|
src: _ctx.src,
|
|
1433
1480
|
alt: _ctx.alt
|
|
1434
|
-
}, null, 8, _hoisted_1$
|
|
1481
|
+
}, null, 8, _hoisted_1$l)) : (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
1435
1482
|
key: 1,
|
|
1436
1483
|
size: 24
|
|
1437
1484
|
}, {
|
|
@@ -1444,13 +1491,2174 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1444
1491
|
};
|
|
1445
1492
|
}
|
|
1446
1493
|
});
|
|
1447
|
-
const FAvatar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1494
|
+
const FAvatar = /* @__PURE__ */ _export_sfc$3(_sfc_main$q, [["__scopeId", "data-v-b3665268"]]);
|
|
1495
|
+
var __defProp2 = Object.defineProperty;
|
|
1496
|
+
var __defProps2 = Object.defineProperties;
|
|
1497
|
+
var __getOwnPropDescs2 = Object.getOwnPropertyDescriptors;
|
|
1498
|
+
var __getOwnPropSymbols2 = Object.getOwnPropertySymbols;
|
|
1499
|
+
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
|
1500
|
+
var __propIsEnum2 = Object.prototype.propertyIsEnumerable;
|
|
1501
|
+
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1502
|
+
var __spreadValues2 = (a, b) => {
|
|
1503
|
+
for (var prop in b || (b = {}))
|
|
1504
|
+
if (__hasOwnProp2.call(b, prop))
|
|
1505
|
+
__defNormalProp2(a, prop, b[prop]);
|
|
1506
|
+
if (__getOwnPropSymbols2)
|
|
1507
|
+
for (var prop of __getOwnPropSymbols2(b)) {
|
|
1508
|
+
if (__propIsEnum2.call(b, prop))
|
|
1509
|
+
__defNormalProp2(a, prop, b[prop]);
|
|
1510
|
+
}
|
|
1511
|
+
return a;
|
|
1512
|
+
};
|
|
1513
|
+
var __spreadProps2 = (a, b) => __defProps2(a, __getOwnPropDescs2(b));
|
|
1514
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
1515
|
+
__name: "FIcon",
|
|
1516
|
+
props: {
|
|
1517
|
+
color: {},
|
|
1518
|
+
size: { default: "1em" }
|
|
1519
|
+
},
|
|
1520
|
+
setup(__props) {
|
|
1521
|
+
const props = __props;
|
|
1522
|
+
const style = vue.computed(() => ({
|
|
1523
|
+
width: typeof props.size === "number" ? `${props.size}px` : props.size,
|
|
1524
|
+
height: typeof props.size === "number" ? `${props.size}px` : props.size,
|
|
1525
|
+
color: props.color
|
|
1526
|
+
}));
|
|
1527
|
+
return (_ctx, _cache) => {
|
|
1528
|
+
return vue.openBlock(), vue.createElementBlock("span", {
|
|
1529
|
+
role: "img",
|
|
1530
|
+
class: "f-icon",
|
|
1531
|
+
style: vue.normalizeStyle(vue.unref(style))
|
|
1532
|
+
}, [
|
|
1533
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1534
|
+
], 4);
|
|
1535
|
+
};
|
|
1536
|
+
}
|
|
1537
|
+
});
|
|
1538
|
+
const _export_sfc$2 = (sfc, props) => {
|
|
1539
|
+
const target = sfc.__vccOpts || sfc;
|
|
1540
|
+
for (const [key, val] of props) {
|
|
1541
|
+
target[key] = val;
|
|
1542
|
+
}
|
|
1543
|
+
return target;
|
|
1544
|
+
};
|
|
1545
|
+
const FIcon$2 = /* @__PURE__ */ _export_sfc$2(_sfc_main$L, [["__scopeId", "data-v-baf7de0c"]]);
|
|
1546
|
+
var __defProp22 = Object.defineProperty;
|
|
1547
|
+
var __getOwnPropSymbols22 = Object.getOwnPropertySymbols;
|
|
1548
|
+
var __hasOwnProp22 = Object.prototype.hasOwnProperty;
|
|
1549
|
+
var __propIsEnum22 = Object.prototype.propertyIsEnumerable;
|
|
1550
|
+
var __defNormalProp22 = (obj, key, value) => key in obj ? __defProp22(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1551
|
+
var __spreadValues22 = (a, b) => {
|
|
1552
|
+
for (var prop in b || (b = {}))
|
|
1553
|
+
if (__hasOwnProp22.call(b, prop))
|
|
1554
|
+
__defNormalProp22(a, prop, b[prop]);
|
|
1555
|
+
if (__getOwnPropSymbols22)
|
|
1556
|
+
for (var prop of __getOwnPropSymbols22(b)) {
|
|
1557
|
+
if (__propIsEnum22.call(b, prop))
|
|
1558
|
+
__defNormalProp22(a, prop, b[prop]);
|
|
1559
|
+
}
|
|
1560
|
+
return a;
|
|
1561
|
+
};
|
|
1562
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
1563
|
+
__name: "FIcon",
|
|
1564
|
+
props: {
|
|
1565
|
+
color: {},
|
|
1566
|
+
size: { default: "1em" }
|
|
1567
|
+
},
|
|
1568
|
+
setup(__props) {
|
|
1569
|
+
const props = __props;
|
|
1570
|
+
const style = vue.computed(() => ({
|
|
1571
|
+
width: typeof props.size === "number" ? `${props.size}px` : props.size,
|
|
1572
|
+
height: typeof props.size === "number" ? `${props.size}px` : props.size,
|
|
1573
|
+
color: props.color
|
|
1574
|
+
}));
|
|
1575
|
+
return (_ctx, _cache) => {
|
|
1576
|
+
return vue.openBlock(), vue.createElementBlock("span", {
|
|
1577
|
+
role: "img",
|
|
1578
|
+
class: "f-icon",
|
|
1579
|
+
style: vue.normalizeStyle(vue.unref(style))
|
|
1580
|
+
}, [
|
|
1581
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1582
|
+
], 4);
|
|
1583
|
+
};
|
|
1584
|
+
}
|
|
1585
|
+
});
|
|
1586
|
+
const _export_sfc = (sfc, props) => {
|
|
1587
|
+
const target = sfc.__vccOpts || sfc;
|
|
1588
|
+
for (const [key, val] of props) {
|
|
1589
|
+
target[key] = val;
|
|
1590
|
+
}
|
|
1591
|
+
return target;
|
|
1592
|
+
};
|
|
1593
|
+
const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-baf7de0c"]]);
|
|
1594
|
+
var __defProp222 = Object.defineProperty;
|
|
1595
|
+
var __getOwnPropSymbols222 = Object.getOwnPropertySymbols;
|
|
1596
|
+
var __hasOwnProp222 = Object.prototype.hasOwnProperty;
|
|
1597
|
+
var __propIsEnum222 = Object.prototype.propertyIsEnumerable;
|
|
1598
|
+
var __defNormalProp222 = (obj, key, value) => key in obj ? __defProp222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1599
|
+
var __spreadValues222 = (a, b) => {
|
|
1600
|
+
for (var prop in b || (b = {}))
|
|
1601
|
+
if (__hasOwnProp222.call(b, prop))
|
|
1602
|
+
__defNormalProp222(a, prop, b[prop]);
|
|
1603
|
+
if (__getOwnPropSymbols222)
|
|
1604
|
+
for (var prop of __getOwnPropSymbols222(b)) {
|
|
1605
|
+
if (__propIsEnum222.call(b, prop))
|
|
1606
|
+
__defNormalProp222(a, prop, b[prop]);
|
|
1607
|
+
}
|
|
1608
|
+
return a;
|
|
1609
|
+
};
|
|
1610
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
1611
|
+
__name: "FIcon",
|
|
1612
|
+
props: {
|
|
1613
|
+
color: {},
|
|
1614
|
+
size: { default: "1em" }
|
|
1615
|
+
},
|
|
1616
|
+
setup(__props) {
|
|
1617
|
+
const props = __props;
|
|
1618
|
+
const style = vue.computed(() => ({
|
|
1619
|
+
width: typeof props.size === "number" ? `${props.size}px` : props.size,
|
|
1620
|
+
height: typeof props.size === "number" ? `${props.size}px` : props.size,
|
|
1621
|
+
color: props.color
|
|
1622
|
+
}));
|
|
1623
|
+
return (_ctx, _cache) => {
|
|
1624
|
+
return vue.openBlock(), vue.createElementBlock("span", {
|
|
1625
|
+
role: "img",
|
|
1626
|
+
class: "f-icon",
|
|
1627
|
+
style: vue.normalizeStyle(vue.unref(style))
|
|
1628
|
+
}, [
|
|
1629
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1630
|
+
], 4);
|
|
1631
|
+
};
|
|
1632
|
+
}
|
|
1633
|
+
});
|
|
1634
|
+
const _export_sfc$1 = (sfc, props) => {
|
|
1635
|
+
const target = sfc.__vccOpts || sfc;
|
|
1636
|
+
for (const [key, val] of props) {
|
|
1637
|
+
target[key] = val;
|
|
1638
|
+
}
|
|
1639
|
+
return target;
|
|
1640
|
+
};
|
|
1641
|
+
const FIcon$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["__scopeId", "data-v-baf7de0c"]]);
|
|
1642
|
+
var __defProp2222 = Object.defineProperty;
|
|
1643
|
+
var __getOwnPropSymbols2222 = Object.getOwnPropertySymbols;
|
|
1644
|
+
var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
|
|
1645
|
+
var __propIsEnum2222 = Object.prototype.propertyIsEnumerable;
|
|
1646
|
+
var __defNormalProp2222 = (obj, key, value) => key in obj ? __defProp2222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1647
|
+
var __spreadValues2222 = (a, b) => {
|
|
1648
|
+
for (var prop in b || (b = {}))
|
|
1649
|
+
if (__hasOwnProp2222.call(b, prop))
|
|
1650
|
+
__defNormalProp2222(a, prop, b[prop]);
|
|
1651
|
+
if (__getOwnPropSymbols2222)
|
|
1652
|
+
for (var prop of __getOwnPropSymbols2222(b)) {
|
|
1653
|
+
if (__propIsEnum2222.call(b, prop))
|
|
1654
|
+
__defNormalProp2222(a, prop, b[prop]);
|
|
1655
|
+
}
|
|
1656
|
+
return a;
|
|
1657
|
+
};
|
|
1658
|
+
var __defProp22222 = Object.defineProperty;
|
|
1659
|
+
var __getOwnPropSymbols22222 = Object.getOwnPropertySymbols;
|
|
1660
|
+
var __hasOwnProp22222 = Object.prototype.hasOwnProperty;
|
|
1661
|
+
var __propIsEnum22222 = Object.prototype.propertyIsEnumerable;
|
|
1662
|
+
var __defNormalProp22222 = (obj, key, value) => key in obj ? __defProp22222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1663
|
+
var __spreadValues22222 = (a, b) => {
|
|
1664
|
+
for (var prop in b || (b = {}))
|
|
1665
|
+
if (__hasOwnProp22222.call(b, prop))
|
|
1666
|
+
__defNormalProp22222(a, prop, b[prop]);
|
|
1667
|
+
if (__getOwnPropSymbols22222)
|
|
1668
|
+
for (var prop of __getOwnPropSymbols22222(b)) {
|
|
1669
|
+
if (__propIsEnum22222.call(b, prop))
|
|
1670
|
+
__defNormalProp22222(a, prop, b[prop]);
|
|
1671
|
+
}
|
|
1672
|
+
return a;
|
|
1673
|
+
};
|
|
1674
|
+
var __defProp222222 = Object.defineProperty;
|
|
1675
|
+
var __getOwnPropSymbols222222 = Object.getOwnPropertySymbols;
|
|
1676
|
+
var __hasOwnProp222222 = Object.prototype.hasOwnProperty;
|
|
1677
|
+
var __propIsEnum222222 = Object.prototype.propertyIsEnumerable;
|
|
1678
|
+
var __defNormalProp222222 = (obj, key, value) => key in obj ? __defProp222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1679
|
+
var __spreadValues222222 = (a, b) => {
|
|
1680
|
+
for (var prop in b || (b = {}))
|
|
1681
|
+
if (__hasOwnProp222222.call(b, prop))
|
|
1682
|
+
__defNormalProp222222(a, prop, b[prop]);
|
|
1683
|
+
if (__getOwnPropSymbols222222)
|
|
1684
|
+
for (var prop of __getOwnPropSymbols222222(b)) {
|
|
1685
|
+
if (__propIsEnum222222.call(b, prop))
|
|
1686
|
+
__defNormalProp222222(a, prop, b[prop]);
|
|
1687
|
+
}
|
|
1688
|
+
return a;
|
|
1689
|
+
};
|
|
1690
|
+
var __defProp2222222 = Object.defineProperty;
|
|
1691
|
+
var __getOwnPropSymbols2222222 = Object.getOwnPropertySymbols;
|
|
1692
|
+
var __hasOwnProp2222222 = Object.prototype.hasOwnProperty;
|
|
1693
|
+
var __propIsEnum2222222 = Object.prototype.propertyIsEnumerable;
|
|
1694
|
+
var __defNormalProp2222222 = (obj, key, value) => key in obj ? __defProp2222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1695
|
+
var __spreadValues2222222 = (a, b) => {
|
|
1696
|
+
for (var prop in b || (b = {}))
|
|
1697
|
+
if (__hasOwnProp2222222.call(b, prop))
|
|
1698
|
+
__defNormalProp2222222(a, prop, b[prop]);
|
|
1699
|
+
if (__getOwnPropSymbols2222222)
|
|
1700
|
+
for (var prop of __getOwnPropSymbols2222222(b)) {
|
|
1701
|
+
if (__propIsEnum2222222.call(b, prop))
|
|
1702
|
+
__defNormalProp2222222(a, prop, b[prop]);
|
|
1703
|
+
}
|
|
1704
|
+
return a;
|
|
1705
|
+
};
|
|
1706
|
+
var __defProp22222222 = Object.defineProperty;
|
|
1707
|
+
var __getOwnPropSymbols22222222 = Object.getOwnPropertySymbols;
|
|
1708
|
+
var __hasOwnProp22222222 = Object.prototype.hasOwnProperty;
|
|
1709
|
+
var __propIsEnum22222222 = Object.prototype.propertyIsEnumerable;
|
|
1710
|
+
var __defNormalProp22222222 = (obj, key, value) => key in obj ? __defProp22222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1711
|
+
var __spreadValues22222222 = (a, b) => {
|
|
1712
|
+
for (var prop in b || (b = {}))
|
|
1713
|
+
if (__hasOwnProp22222222.call(b, prop))
|
|
1714
|
+
__defNormalProp22222222(a, prop, b[prop]);
|
|
1715
|
+
if (__getOwnPropSymbols22222222)
|
|
1716
|
+
for (var prop of __getOwnPropSymbols22222222(b)) {
|
|
1717
|
+
if (__propIsEnum22222222.call(b, prop))
|
|
1718
|
+
__defNormalProp22222222(a, prop, b[prop]);
|
|
1719
|
+
}
|
|
1720
|
+
return a;
|
|
1721
|
+
};
|
|
1722
|
+
const _hoisted_1$f$1 = { class: "f-checkbox__wrapper" };
|
|
1723
|
+
const _hoisted_2$d$1 = ["checked", "disabled"];
|
|
1724
|
+
const _hoisted_3$d$1 = {
|
|
1725
|
+
key: 0,
|
|
1726
|
+
class: "f-checkbox__label"
|
|
1727
|
+
};
|
|
1728
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
1729
|
+
__name: "FCheckbox",
|
|
1730
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
1731
|
+
label: {},
|
|
1732
|
+
disabled: { type: Boolean }
|
|
1733
|
+
}, {
|
|
1734
|
+
"modelValue": __spreadValues22222222({ type: Boolean }, { default: false }),
|
|
1735
|
+
"modelModifiers": {}
|
|
1736
|
+
}),
|
|
1737
|
+
emits: ["update:modelValue"],
|
|
1738
|
+
setup(__props) {
|
|
1739
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
1740
|
+
const props = __props;
|
|
1741
|
+
const handleChange = (e) => {
|
|
1742
|
+
if (props.disabled) return;
|
|
1743
|
+
const target = e.target;
|
|
1744
|
+
modelValue.value = target.checked;
|
|
1745
|
+
};
|
|
1746
|
+
return (_ctx, _cache) => {
|
|
1747
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
1748
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
1749
|
+
}, [
|
|
1750
|
+
vue.createElementVNode("span", _hoisted_1$f$1, [
|
|
1751
|
+
vue.createElementVNode("input", {
|
|
1752
|
+
type: "checkbox",
|
|
1753
|
+
checked: modelValue.value,
|
|
1754
|
+
disabled: _ctx.disabled,
|
|
1755
|
+
onChange: handleChange
|
|
1756
|
+
}, null, 40, _hoisted_2$d$1),
|
|
1757
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
1758
|
+
]),
|
|
1759
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$d$1, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
1760
|
+
], 2);
|
|
1761
|
+
};
|
|
1762
|
+
}
|
|
1763
|
+
});
|
|
1764
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
1765
|
+
__name: "FDialog",
|
|
1766
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
1767
|
+
maskClosable: { type: Boolean, default: true },
|
|
1768
|
+
maskColor: { default: "black" },
|
|
1769
|
+
showMask: { type: Boolean, default: true }
|
|
1770
|
+
}, {
|
|
1771
|
+
"modelValue": __spreadValues22222222({ type: Boolean }, { default: false }),
|
|
1772
|
+
"modelModifiers": {}
|
|
1773
|
+
}),
|
|
1774
|
+
emits: ["update:modelValue"],
|
|
1775
|
+
setup(__props) {
|
|
1776
|
+
const props = __props;
|
|
1777
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
1778
|
+
const handleMaskClick = () => {
|
|
1779
|
+
if (props.maskClosable) visible.value = false;
|
|
1780
|
+
};
|
|
1781
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
1782
|
+
if (!props.showMask) return "transparent";
|
|
1783
|
+
switch (props.maskColor) {
|
|
1784
|
+
case "white":
|
|
1785
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
1786
|
+
case "black":
|
|
1787
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
1788
|
+
case "transparent":
|
|
1789
|
+
return "transparent";
|
|
1790
|
+
default:
|
|
1791
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
1792
|
+
}
|
|
1793
|
+
});
|
|
1794
|
+
return (_ctx, _cache) => {
|
|
1795
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
1796
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
1797
|
+
default: vue.withCtx(() => [
|
|
1798
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1799
|
+
key: 0,
|
|
1800
|
+
class: "f-dialog-mask",
|
|
1801
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
1802
|
+
onClick: handleMaskClick
|
|
1803
|
+
}, [
|
|
1804
|
+
vue.createElementVNode("div", {
|
|
1805
|
+
class: "f-dialog-container",
|
|
1806
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
1807
|
+
}, ["stop"]))
|
|
1808
|
+
}, [
|
|
1809
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1810
|
+
])
|
|
1811
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
1812
|
+
]),
|
|
1813
|
+
_: 3
|
|
1814
|
+
})
|
|
1815
|
+
]);
|
|
1816
|
+
};
|
|
1817
|
+
}
|
|
1818
|
+
});
|
|
1819
|
+
var __defProp222222222 = Object.defineProperty;
|
|
1820
|
+
var __getOwnPropSymbols222222222 = Object.getOwnPropertySymbols;
|
|
1821
|
+
var __hasOwnProp222222222 = Object.prototype.hasOwnProperty;
|
|
1822
|
+
var __propIsEnum222222222 = Object.prototype.propertyIsEnumerable;
|
|
1823
|
+
var __defNormalProp222222222 = (obj, key, value) => key in obj ? __defProp222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1824
|
+
var __spreadValues222222222 = (a, b) => {
|
|
1825
|
+
for (var prop in b || (b = {}))
|
|
1826
|
+
if (__hasOwnProp222222222.call(b, prop))
|
|
1827
|
+
__defNormalProp222222222(a, prop, b[prop]);
|
|
1828
|
+
if (__getOwnPropSymbols222222222)
|
|
1829
|
+
for (var prop of __getOwnPropSymbols222222222(b)) {
|
|
1830
|
+
if (__propIsEnum222222222.call(b, prop))
|
|
1831
|
+
__defNormalProp222222222(a, prop, b[prop]);
|
|
1832
|
+
}
|
|
1833
|
+
return a;
|
|
1834
|
+
};
|
|
1835
|
+
var __defProp2222222222 = Object.defineProperty;
|
|
1836
|
+
var __getOwnPropSymbols2222222222 = Object.getOwnPropertySymbols;
|
|
1837
|
+
var __hasOwnProp2222222222 = Object.prototype.hasOwnProperty;
|
|
1838
|
+
var __propIsEnum2222222222 = Object.prototype.propertyIsEnumerable;
|
|
1839
|
+
var __defNormalProp2222222222 = (obj, key, value) => key in obj ? __defProp2222222222(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1840
|
+
var __spreadValues2222222222 = (a, b) => {
|
|
1841
|
+
for (var prop in b || (b = {}))
|
|
1842
|
+
if (__hasOwnProp2222222222.call(b, prop))
|
|
1843
|
+
__defNormalProp2222222222(a, prop, b[prop]);
|
|
1844
|
+
if (__getOwnPropSymbols2222222222)
|
|
1845
|
+
for (var prop of __getOwnPropSymbols2222222222(b)) {
|
|
1846
|
+
if (__propIsEnum2222222222.call(b, prop))
|
|
1847
|
+
__defNormalProp2222222222(a, prop, b[prop]);
|
|
1848
|
+
}
|
|
1849
|
+
return a;
|
|
1850
|
+
};
|
|
1851
|
+
const _hoisted_1$d$1 = { class: "f-checkbox__wrapper" };
|
|
1852
|
+
const _hoisted_2$b$1 = ["checked", "disabled"];
|
|
1853
|
+
const _hoisted_3$b$1 = {
|
|
1854
|
+
key: 0,
|
|
1855
|
+
class: "f-checkbox__label"
|
|
1856
|
+
};
|
|
1857
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
1858
|
+
__name: "FCheckbox",
|
|
1859
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
1860
|
+
label: {},
|
|
1861
|
+
disabled: { type: Boolean }
|
|
1862
|
+
}, {
|
|
1863
|
+
"modelValue": __spreadValues2222222222({ type: Boolean }, { default: false }),
|
|
1864
|
+
"modelModifiers": {}
|
|
1865
|
+
}),
|
|
1866
|
+
emits: ["update:modelValue"],
|
|
1867
|
+
setup(__props) {
|
|
1868
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
1869
|
+
const props = __props;
|
|
1870
|
+
const handleChange = (e) => {
|
|
1871
|
+
if (props.disabled) return;
|
|
1872
|
+
const target = e.target;
|
|
1873
|
+
modelValue.value = target.checked;
|
|
1874
|
+
};
|
|
1875
|
+
return (_ctx, _cache) => {
|
|
1876
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
1877
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
1878
|
+
}, [
|
|
1879
|
+
vue.createElementVNode("span", _hoisted_1$d$1, [
|
|
1880
|
+
vue.createElementVNode("input", {
|
|
1881
|
+
type: "checkbox",
|
|
1882
|
+
checked: modelValue.value,
|
|
1883
|
+
disabled: _ctx.disabled,
|
|
1884
|
+
onChange: handleChange
|
|
1885
|
+
}, null, 40, _hoisted_2$b$1),
|
|
1886
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
1887
|
+
]),
|
|
1888
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$1, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
1889
|
+
], 2);
|
|
1890
|
+
};
|
|
1891
|
+
}
|
|
1892
|
+
});
|
|
1893
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
1894
|
+
__name: "FDialog",
|
|
1895
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
1896
|
+
maskClosable: { type: Boolean, default: true },
|
|
1897
|
+
maskColor: { default: "black" },
|
|
1898
|
+
showMask: { type: Boolean, default: true }
|
|
1899
|
+
}, {
|
|
1900
|
+
"modelValue": __spreadValues2222222222({ type: Boolean }, { default: false }),
|
|
1901
|
+
"modelModifiers": {}
|
|
1902
|
+
}),
|
|
1903
|
+
emits: ["update:modelValue"],
|
|
1904
|
+
setup(__props) {
|
|
1905
|
+
const props = __props;
|
|
1906
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
1907
|
+
const handleMaskClick = () => {
|
|
1908
|
+
if (props.maskClosable) visible.value = false;
|
|
1909
|
+
};
|
|
1910
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
1911
|
+
if (!props.showMask) return "transparent";
|
|
1912
|
+
switch (props.maskColor) {
|
|
1913
|
+
case "white":
|
|
1914
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
1915
|
+
case "black":
|
|
1916
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
1917
|
+
case "transparent":
|
|
1918
|
+
return "transparent";
|
|
1919
|
+
default:
|
|
1920
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
1921
|
+
}
|
|
1922
|
+
});
|
|
1923
|
+
return (_ctx, _cache) => {
|
|
1924
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
1925
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
1926
|
+
default: vue.withCtx(() => [
|
|
1927
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1928
|
+
key: 0,
|
|
1929
|
+
class: "f-dialog-mask",
|
|
1930
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
1931
|
+
onClick: handleMaskClick
|
|
1932
|
+
}, [
|
|
1933
|
+
vue.createElementVNode("div", {
|
|
1934
|
+
class: "f-dialog-container",
|
|
1935
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
1936
|
+
}, ["stop"]))
|
|
1937
|
+
}, [
|
|
1938
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1939
|
+
])
|
|
1940
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
1941
|
+
]),
|
|
1942
|
+
_: 3
|
|
1943
|
+
})
|
|
1944
|
+
]);
|
|
1945
|
+
};
|
|
1946
|
+
}
|
|
1947
|
+
});
|
|
1948
|
+
const _hoisted_1$d$2 = { class: "f-checkbox__wrapper" };
|
|
1949
|
+
const _hoisted_2$b$2 = ["checked", "disabled"];
|
|
1950
|
+
const _hoisted_3$b$2 = {
|
|
1951
|
+
key: 0,
|
|
1952
|
+
class: "f-checkbox__label"
|
|
1953
|
+
};
|
|
1954
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
1955
|
+
__name: "FCheckbox",
|
|
1956
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
1957
|
+
label: {},
|
|
1958
|
+
disabled: { type: Boolean }
|
|
1959
|
+
}, {
|
|
1960
|
+
"modelValue": __spreadValues222222222({ type: Boolean }, { default: false }),
|
|
1961
|
+
"modelModifiers": {}
|
|
1962
|
+
}),
|
|
1963
|
+
emits: ["update:modelValue"],
|
|
1964
|
+
setup(__props) {
|
|
1965
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
1966
|
+
const props = __props;
|
|
1967
|
+
const handleChange = (e) => {
|
|
1968
|
+
if (props.disabled) return;
|
|
1969
|
+
const target = e.target;
|
|
1970
|
+
modelValue.value = target.checked;
|
|
1971
|
+
};
|
|
1972
|
+
return (_ctx, _cache) => {
|
|
1973
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
1974
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
1975
|
+
}, [
|
|
1976
|
+
vue.createElementVNode("span", _hoisted_1$d$2, [
|
|
1977
|
+
vue.createElementVNode("input", {
|
|
1978
|
+
type: "checkbox",
|
|
1979
|
+
checked: modelValue.value,
|
|
1980
|
+
disabled: _ctx.disabled,
|
|
1981
|
+
onChange: handleChange
|
|
1982
|
+
}, null, 40, _hoisted_2$b$2),
|
|
1983
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
1984
|
+
]),
|
|
1985
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$2, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
1986
|
+
], 2);
|
|
1987
|
+
};
|
|
1988
|
+
}
|
|
1989
|
+
});
|
|
1990
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
1991
|
+
__name: "FDialog",
|
|
1992
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
1993
|
+
maskClosable: { type: Boolean, default: true },
|
|
1994
|
+
maskColor: { default: "black" },
|
|
1995
|
+
showMask: { type: Boolean, default: true }
|
|
1996
|
+
}, {
|
|
1997
|
+
"modelValue": __spreadValues222222222({ type: Boolean }, { default: false }),
|
|
1998
|
+
"modelModifiers": {}
|
|
1999
|
+
}),
|
|
2000
|
+
emits: ["update:modelValue"],
|
|
2001
|
+
setup(__props) {
|
|
2002
|
+
const props = __props;
|
|
2003
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2004
|
+
const handleMaskClick = () => {
|
|
2005
|
+
if (props.maskClosable) visible.value = false;
|
|
2006
|
+
};
|
|
2007
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
2008
|
+
if (!props.showMask) return "transparent";
|
|
2009
|
+
switch (props.maskColor) {
|
|
2010
|
+
case "white":
|
|
2011
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
2012
|
+
case "black":
|
|
2013
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2014
|
+
case "transparent":
|
|
2015
|
+
return "transparent";
|
|
2016
|
+
default:
|
|
2017
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2018
|
+
}
|
|
2019
|
+
});
|
|
2020
|
+
return (_ctx, _cache) => {
|
|
2021
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2022
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2023
|
+
default: vue.withCtx(() => [
|
|
2024
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2025
|
+
key: 0,
|
|
2026
|
+
class: "f-dialog-mask",
|
|
2027
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2028
|
+
onClick: handleMaskClick
|
|
2029
|
+
}, [
|
|
2030
|
+
vue.createElementVNode("div", {
|
|
2031
|
+
class: "f-dialog-container",
|
|
2032
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2033
|
+
}, ["stop"]))
|
|
2034
|
+
}, [
|
|
2035
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2036
|
+
])
|
|
2037
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
2038
|
+
]),
|
|
2039
|
+
_: 3
|
|
2040
|
+
})
|
|
2041
|
+
]);
|
|
2042
|
+
};
|
|
2043
|
+
}
|
|
2044
|
+
});
|
|
2045
|
+
const _hoisted_1$d$3 = { class: "f-checkbox__wrapper" };
|
|
2046
|
+
const _hoisted_2$b$3 = ["checked", "disabled"];
|
|
2047
|
+
const _hoisted_3$b$3 = {
|
|
2048
|
+
key: 0,
|
|
2049
|
+
class: "f-checkbox__label"
|
|
2050
|
+
};
|
|
2051
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2052
|
+
__name: "FCheckbox",
|
|
2053
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2054
|
+
label: {},
|
|
2055
|
+
disabled: { type: Boolean }
|
|
2056
|
+
}, {
|
|
2057
|
+
"modelValue": __spreadValues2222222({ type: Boolean }, { default: false }),
|
|
2058
|
+
"modelModifiers": {}
|
|
2059
|
+
}),
|
|
2060
|
+
emits: ["update:modelValue"],
|
|
2061
|
+
setup(__props) {
|
|
2062
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2063
|
+
const props = __props;
|
|
2064
|
+
const handleChange = (e) => {
|
|
2065
|
+
if (props.disabled) return;
|
|
2066
|
+
const target = e.target;
|
|
2067
|
+
modelValue.value = target.checked;
|
|
2068
|
+
};
|
|
2069
|
+
return (_ctx, _cache) => {
|
|
2070
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2071
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
2072
|
+
}, [
|
|
2073
|
+
vue.createElementVNode("span", _hoisted_1$d$3, [
|
|
2074
|
+
vue.createElementVNode("input", {
|
|
2075
|
+
type: "checkbox",
|
|
2076
|
+
checked: modelValue.value,
|
|
2077
|
+
disabled: _ctx.disabled,
|
|
2078
|
+
onChange: handleChange
|
|
2079
|
+
}, null, 40, _hoisted_2$b$3),
|
|
2080
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
2081
|
+
]),
|
|
2082
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$3, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
2083
|
+
], 2);
|
|
2084
|
+
};
|
|
2085
|
+
}
|
|
2086
|
+
});
|
|
2087
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2088
|
+
__name: "FDialog",
|
|
2089
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2090
|
+
maskClosable: { type: Boolean, default: true },
|
|
2091
|
+
maskColor: { default: "black" },
|
|
2092
|
+
showMask: { type: Boolean, default: true }
|
|
2093
|
+
}, {
|
|
2094
|
+
"modelValue": __spreadValues2222222({ type: Boolean }, { default: false }),
|
|
2095
|
+
"modelModifiers": {}
|
|
2096
|
+
}),
|
|
2097
|
+
emits: ["update:modelValue"],
|
|
2098
|
+
setup(__props) {
|
|
2099
|
+
const props = __props;
|
|
2100
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2101
|
+
const handleMaskClick = () => {
|
|
2102
|
+
if (props.maskClosable) visible.value = false;
|
|
2103
|
+
};
|
|
2104
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
2105
|
+
if (!props.showMask) return "transparent";
|
|
2106
|
+
switch (props.maskColor) {
|
|
2107
|
+
case "white":
|
|
2108
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
2109
|
+
case "black":
|
|
2110
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2111
|
+
case "transparent":
|
|
2112
|
+
return "transparent";
|
|
2113
|
+
default:
|
|
2114
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2115
|
+
}
|
|
2116
|
+
});
|
|
2117
|
+
return (_ctx, _cache) => {
|
|
2118
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2119
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2120
|
+
default: vue.withCtx(() => [
|
|
2121
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2122
|
+
key: 0,
|
|
2123
|
+
class: "f-dialog-mask",
|
|
2124
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2125
|
+
onClick: handleMaskClick
|
|
2126
|
+
}, [
|
|
2127
|
+
vue.createElementVNode("div", {
|
|
2128
|
+
class: "f-dialog-container",
|
|
2129
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2130
|
+
}, ["stop"]))
|
|
2131
|
+
}, [
|
|
2132
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2133
|
+
])
|
|
2134
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
2135
|
+
]),
|
|
2136
|
+
_: 3
|
|
2137
|
+
})
|
|
2138
|
+
]);
|
|
2139
|
+
};
|
|
2140
|
+
}
|
|
2141
|
+
});
|
|
2142
|
+
const _hoisted_1$d$4 = { class: "f-checkbox__wrapper" };
|
|
2143
|
+
const _hoisted_2$b$4 = ["checked", "disabled"];
|
|
2144
|
+
const _hoisted_3$b$4 = {
|
|
2145
|
+
key: 0,
|
|
2146
|
+
class: "f-checkbox__label"
|
|
2147
|
+
};
|
|
2148
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2149
|
+
__name: "FCheckbox",
|
|
2150
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2151
|
+
label: {},
|
|
2152
|
+
disabled: { type: Boolean }
|
|
2153
|
+
}, {
|
|
2154
|
+
"modelValue": __spreadValues222222({ type: Boolean }, { default: false }),
|
|
2155
|
+
"modelModifiers": {}
|
|
2156
|
+
}),
|
|
2157
|
+
emits: ["update:modelValue"],
|
|
2158
|
+
setup(__props) {
|
|
2159
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2160
|
+
const props = __props;
|
|
2161
|
+
const handleChange = (e) => {
|
|
2162
|
+
if (props.disabled) return;
|
|
2163
|
+
const target = e.target;
|
|
2164
|
+
modelValue.value = target.checked;
|
|
2165
|
+
};
|
|
2166
|
+
return (_ctx, _cache) => {
|
|
2167
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2168
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
2169
|
+
}, [
|
|
2170
|
+
vue.createElementVNode("span", _hoisted_1$d$4, [
|
|
2171
|
+
vue.createElementVNode("input", {
|
|
2172
|
+
type: "checkbox",
|
|
2173
|
+
checked: modelValue.value,
|
|
2174
|
+
disabled: _ctx.disabled,
|
|
2175
|
+
onChange: handleChange
|
|
2176
|
+
}, null, 40, _hoisted_2$b$4),
|
|
2177
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
2178
|
+
]),
|
|
2179
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$4, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
2180
|
+
], 2);
|
|
2181
|
+
};
|
|
2182
|
+
}
|
|
2183
|
+
});
|
|
2184
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2185
|
+
__name: "FDialog",
|
|
2186
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2187
|
+
maskClosable: { type: Boolean, default: true },
|
|
2188
|
+
maskColor: { default: "black" },
|
|
2189
|
+
showMask: { type: Boolean, default: true }
|
|
2190
|
+
}, {
|
|
2191
|
+
"modelValue": __spreadValues222222({ type: Boolean }, { default: false }),
|
|
2192
|
+
"modelModifiers": {}
|
|
2193
|
+
}),
|
|
2194
|
+
emits: ["update:modelValue"],
|
|
2195
|
+
setup(__props) {
|
|
2196
|
+
const props = __props;
|
|
2197
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2198
|
+
const handleMaskClick = () => {
|
|
2199
|
+
if (props.maskClosable) visible.value = false;
|
|
2200
|
+
};
|
|
2201
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
2202
|
+
if (!props.showMask) return "transparent";
|
|
2203
|
+
switch (props.maskColor) {
|
|
2204
|
+
case "white":
|
|
2205
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
2206
|
+
case "black":
|
|
2207
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2208
|
+
case "transparent":
|
|
2209
|
+
return "transparent";
|
|
2210
|
+
default:
|
|
2211
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2212
|
+
}
|
|
2213
|
+
});
|
|
2214
|
+
return (_ctx, _cache) => {
|
|
2215
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2216
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2217
|
+
default: vue.withCtx(() => [
|
|
2218
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2219
|
+
key: 0,
|
|
2220
|
+
class: "f-dialog-mask",
|
|
2221
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2222
|
+
onClick: handleMaskClick
|
|
2223
|
+
}, [
|
|
2224
|
+
vue.createElementVNode("div", {
|
|
2225
|
+
class: "f-dialog-container",
|
|
2226
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2227
|
+
}, ["stop"]))
|
|
2228
|
+
}, [
|
|
2229
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2230
|
+
])
|
|
2231
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
2232
|
+
]),
|
|
2233
|
+
_: 3
|
|
2234
|
+
})
|
|
2235
|
+
]);
|
|
2236
|
+
};
|
|
2237
|
+
}
|
|
2238
|
+
});
|
|
2239
|
+
const _hoisted_1$d$5 = { class: "f-checkbox__wrapper" };
|
|
2240
|
+
const _hoisted_2$b$5 = ["checked", "disabled"];
|
|
2241
|
+
const _hoisted_3$b$5 = {
|
|
2242
|
+
key: 0,
|
|
2243
|
+
class: "f-checkbox__label"
|
|
2244
|
+
};
|
|
2245
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2246
|
+
__name: "FCheckbox",
|
|
2247
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2248
|
+
label: {},
|
|
2249
|
+
disabled: { type: Boolean }
|
|
2250
|
+
}, {
|
|
2251
|
+
"modelValue": __spreadValues22222({ type: Boolean }, { default: false }),
|
|
2252
|
+
"modelModifiers": {}
|
|
2253
|
+
}),
|
|
2254
|
+
emits: ["update:modelValue"],
|
|
2255
|
+
setup(__props) {
|
|
2256
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2257
|
+
const props = __props;
|
|
2258
|
+
const handleChange = (e) => {
|
|
2259
|
+
if (props.disabled) return;
|
|
2260
|
+
const target = e.target;
|
|
2261
|
+
modelValue.value = target.checked;
|
|
2262
|
+
};
|
|
2263
|
+
return (_ctx, _cache) => {
|
|
2264
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2265
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
2266
|
+
}, [
|
|
2267
|
+
vue.createElementVNode("span", _hoisted_1$d$5, [
|
|
2268
|
+
vue.createElementVNode("input", {
|
|
2269
|
+
type: "checkbox",
|
|
2270
|
+
checked: modelValue.value,
|
|
2271
|
+
disabled: _ctx.disabled,
|
|
2272
|
+
onChange: handleChange
|
|
2273
|
+
}, null, 40, _hoisted_2$b$5),
|
|
2274
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
2275
|
+
]),
|
|
2276
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$5, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
2277
|
+
], 2);
|
|
2278
|
+
};
|
|
2279
|
+
}
|
|
2280
|
+
});
|
|
2281
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2282
|
+
__name: "FDialog",
|
|
2283
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2284
|
+
maskClosable: { type: Boolean, default: true },
|
|
2285
|
+
maskColor: { default: "black" },
|
|
2286
|
+
showMask: { type: Boolean, default: true }
|
|
2287
|
+
}, {
|
|
2288
|
+
"modelValue": __spreadValues22222({ type: Boolean }, { default: false }),
|
|
2289
|
+
"modelModifiers": {}
|
|
2290
|
+
}),
|
|
2291
|
+
emits: ["update:modelValue"],
|
|
2292
|
+
setup(__props) {
|
|
2293
|
+
const props = __props;
|
|
2294
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2295
|
+
const handleMaskClick = () => {
|
|
2296
|
+
if (props.maskClosable) visible.value = false;
|
|
2297
|
+
};
|
|
2298
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
2299
|
+
if (!props.showMask) return "transparent";
|
|
2300
|
+
switch (props.maskColor) {
|
|
2301
|
+
case "white":
|
|
2302
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
2303
|
+
case "black":
|
|
2304
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2305
|
+
case "transparent":
|
|
2306
|
+
return "transparent";
|
|
2307
|
+
default:
|
|
2308
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2309
|
+
}
|
|
2310
|
+
});
|
|
2311
|
+
return (_ctx, _cache) => {
|
|
2312
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2313
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2314
|
+
default: vue.withCtx(() => [
|
|
2315
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2316
|
+
key: 0,
|
|
2317
|
+
class: "f-dialog-mask",
|
|
2318
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2319
|
+
onClick: handleMaskClick
|
|
2320
|
+
}, [
|
|
2321
|
+
vue.createElementVNode("div", {
|
|
2322
|
+
class: "f-dialog-container",
|
|
2323
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2324
|
+
}, ["stop"]))
|
|
2325
|
+
}, [
|
|
2326
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2327
|
+
])
|
|
2328
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
2329
|
+
]),
|
|
2330
|
+
_: 3
|
|
2331
|
+
})
|
|
2332
|
+
]);
|
|
2333
|
+
};
|
|
2334
|
+
}
|
|
2335
|
+
});
|
|
2336
|
+
const _hoisted_1$d$6 = { class: "f-checkbox__wrapper" };
|
|
2337
|
+
const _hoisted_2$b$6 = ["checked", "disabled"];
|
|
2338
|
+
const _hoisted_3$b$6 = {
|
|
2339
|
+
key: 0,
|
|
2340
|
+
class: "f-checkbox__label"
|
|
2341
|
+
};
|
|
2342
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2343
|
+
__name: "FCheckbox",
|
|
2344
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2345
|
+
label: {},
|
|
2346
|
+
disabled: { type: Boolean }
|
|
2347
|
+
}, {
|
|
2348
|
+
"modelValue": __spreadValues2222({ type: Boolean }, { default: false }),
|
|
2349
|
+
"modelModifiers": {}
|
|
2350
|
+
}),
|
|
2351
|
+
emits: ["update:modelValue"],
|
|
2352
|
+
setup(__props) {
|
|
2353
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2354
|
+
const props = __props;
|
|
2355
|
+
const handleChange = (e) => {
|
|
2356
|
+
if (props.disabled) return;
|
|
2357
|
+
const target = e.target;
|
|
2358
|
+
modelValue.value = target.checked;
|
|
2359
|
+
};
|
|
2360
|
+
return (_ctx, _cache) => {
|
|
2361
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2362
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
2363
|
+
}, [
|
|
2364
|
+
vue.createElementVNode("span", _hoisted_1$d$6, [
|
|
2365
|
+
vue.createElementVNode("input", {
|
|
2366
|
+
type: "checkbox",
|
|
2367
|
+
checked: modelValue.value,
|
|
2368
|
+
disabled: _ctx.disabled,
|
|
2369
|
+
onChange: handleChange
|
|
2370
|
+
}, null, 40, _hoisted_2$b$6),
|
|
2371
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
2372
|
+
]),
|
|
2373
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$6, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
2374
|
+
], 2);
|
|
2375
|
+
};
|
|
2376
|
+
}
|
|
2377
|
+
});
|
|
2378
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2379
|
+
__name: "FDialog",
|
|
2380
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2381
|
+
maskClosable: { type: Boolean, default: true },
|
|
2382
|
+
maskColor: { default: "black" },
|
|
2383
|
+
showMask: { type: Boolean, default: true }
|
|
2384
|
+
}, {
|
|
2385
|
+
"modelValue": __spreadValues2222({ type: Boolean }, { default: false }),
|
|
2386
|
+
"modelModifiers": {}
|
|
2387
|
+
}),
|
|
2388
|
+
emits: ["update:modelValue"],
|
|
2389
|
+
setup(__props) {
|
|
2390
|
+
const props = __props;
|
|
2391
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2392
|
+
const handleMaskClick = () => {
|
|
2393
|
+
if (props.maskClosable) visible.value = false;
|
|
2394
|
+
};
|
|
2395
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
2396
|
+
if (!props.showMask) return "transparent";
|
|
2397
|
+
switch (props.maskColor) {
|
|
2398
|
+
case "white":
|
|
2399
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
2400
|
+
case "black":
|
|
2401
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2402
|
+
case "transparent":
|
|
2403
|
+
return "transparent";
|
|
2404
|
+
default:
|
|
2405
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2406
|
+
}
|
|
2407
|
+
});
|
|
2408
|
+
return (_ctx, _cache) => {
|
|
2409
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2410
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2411
|
+
default: vue.withCtx(() => [
|
|
2412
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2413
|
+
key: 0,
|
|
2414
|
+
class: "f-dialog-mask",
|
|
2415
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2416
|
+
onClick: handleMaskClick
|
|
2417
|
+
}, [
|
|
2418
|
+
vue.createElementVNode("div", {
|
|
2419
|
+
class: "f-dialog-container",
|
|
2420
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2421
|
+
}, ["stop"]))
|
|
2422
|
+
}, [
|
|
2423
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2424
|
+
])
|
|
2425
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
2426
|
+
]),
|
|
2427
|
+
_: 3
|
|
2428
|
+
})
|
|
2429
|
+
]);
|
|
2430
|
+
};
|
|
2431
|
+
}
|
|
2432
|
+
});
|
|
2433
|
+
const _hoisted_1$d$7 = { class: "f-checkbox__wrapper" };
|
|
2434
|
+
const _hoisted_2$b$7 = ["checked", "disabled"];
|
|
2435
|
+
const _hoisted_3$b$7 = {
|
|
2436
|
+
key: 0,
|
|
2437
|
+
class: "f-checkbox__label"
|
|
2438
|
+
};
|
|
2439
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2440
|
+
__name: "FCheckbox",
|
|
2441
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2442
|
+
label: {},
|
|
2443
|
+
disabled: { type: Boolean }
|
|
2444
|
+
}, {
|
|
2445
|
+
"modelValue": __spreadValues222({ type: Boolean }, { default: false }),
|
|
2446
|
+
"modelModifiers": {}
|
|
2447
|
+
}),
|
|
2448
|
+
emits: ["update:modelValue"],
|
|
2449
|
+
setup(__props) {
|
|
2450
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2451
|
+
const props = __props;
|
|
2452
|
+
const handleChange = (e) => {
|
|
2453
|
+
if (props.disabled) return;
|
|
2454
|
+
const target = e.target;
|
|
2455
|
+
modelValue.value = target.checked;
|
|
2456
|
+
};
|
|
2457
|
+
return (_ctx, _cache) => {
|
|
2458
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2459
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
2460
|
+
}, [
|
|
2461
|
+
vue.createElementVNode("span", _hoisted_1$d$7, [
|
|
2462
|
+
vue.createElementVNode("input", {
|
|
2463
|
+
type: "checkbox",
|
|
2464
|
+
checked: modelValue.value,
|
|
2465
|
+
disabled: _ctx.disabled,
|
|
2466
|
+
onChange: handleChange
|
|
2467
|
+
}, null, 40, _hoisted_2$b$7),
|
|
2468
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
2469
|
+
]),
|
|
2470
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b$7, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
2471
|
+
], 2);
|
|
2472
|
+
};
|
|
2473
|
+
}
|
|
2474
|
+
});
|
|
2475
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2476
|
+
__name: "FDialog",
|
|
2477
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2478
|
+
maskClosable: { type: Boolean, default: true },
|
|
2479
|
+
maskColor: { default: "black" },
|
|
2480
|
+
showMask: { type: Boolean, default: true }
|
|
2481
|
+
}, {
|
|
2482
|
+
"modelValue": __spreadValues222({ type: Boolean }, { default: false }),
|
|
2483
|
+
"modelModifiers": {}
|
|
2484
|
+
}),
|
|
2485
|
+
emits: ["update:modelValue"],
|
|
2486
|
+
setup(__props) {
|
|
2487
|
+
const props = __props;
|
|
2488
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2489
|
+
const handleMaskClick = () => {
|
|
2490
|
+
if (props.maskClosable) visible.value = false;
|
|
2491
|
+
};
|
|
2492
|
+
const maskBackgroundColor = vue.computed(() => {
|
|
2493
|
+
if (!props.showMask) return "transparent";
|
|
2494
|
+
switch (props.maskColor) {
|
|
2495
|
+
case "white":
|
|
2496
|
+
return "rgba(255, 255, 255, 0.5)";
|
|
2497
|
+
case "black":
|
|
2498
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2499
|
+
case "transparent":
|
|
2500
|
+
return "transparent";
|
|
2501
|
+
default:
|
|
2502
|
+
return "rgba(0, 0, 0, 0.5)";
|
|
2503
|
+
}
|
|
2504
|
+
});
|
|
2505
|
+
return (_ctx, _cache) => {
|
|
2506
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2507
|
+
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2508
|
+
default: vue.withCtx(() => [
|
|
2509
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2510
|
+
key: 0,
|
|
2511
|
+
class: "f-dialog-mask",
|
|
2512
|
+
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2513
|
+
onClick: handleMaskClick
|
|
2514
|
+
}, [
|
|
2515
|
+
vue.createElementVNode("div", {
|
|
2516
|
+
class: "f-dialog-container",
|
|
2517
|
+
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2518
|
+
}, ["stop"]))
|
|
2519
|
+
}, [
|
|
2520
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2521
|
+
])
|
|
2522
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
2523
|
+
]),
|
|
2524
|
+
_: 3
|
|
2525
|
+
})
|
|
2526
|
+
]);
|
|
2527
|
+
};
|
|
2528
|
+
}
|
|
2529
|
+
});
|
|
2530
|
+
const _hoisted_1$i$1 = ["type", "disabled"];
|
|
2531
|
+
const _hoisted_2$e$1 = { class: "f-button__inner" };
|
|
2532
|
+
const _hoisted_3$e$1 = {
|
|
2533
|
+
key: 0,
|
|
2534
|
+
class: "f-loader"
|
|
2535
|
+
};
|
|
2536
|
+
const _hoisted_4$8$1 = {
|
|
2537
|
+
key: 2,
|
|
2538
|
+
class: "f-button__text"
|
|
2539
|
+
};
|
|
2540
|
+
const _sfc_main$o$1 = /* @__PURE__ */ vue.defineComponent({
|
|
2541
|
+
__name: "FButton",
|
|
2542
|
+
props: {
|
|
2543
|
+
type: {},
|
|
2544
|
+
size: {},
|
|
2545
|
+
nativeType: { default: "button" },
|
|
2546
|
+
loading: { type: Boolean },
|
|
2547
|
+
disabled: { type: Boolean },
|
|
2548
|
+
round: { type: [Boolean, Number] },
|
|
2549
|
+
circle: { type: Boolean },
|
|
2550
|
+
plain: { type: Boolean },
|
|
2551
|
+
text: { type: Boolean },
|
|
2552
|
+
block: { type: Boolean },
|
|
2553
|
+
icon: {},
|
|
2554
|
+
active: { type: Boolean },
|
|
2555
|
+
bgColor: {},
|
|
2556
|
+
color: {}
|
|
2557
|
+
},
|
|
2558
|
+
setup(__props) {
|
|
2559
|
+
const SIZE_MAP = {
|
|
2560
|
+
small: { h: "24px", p: "0 8px", f: "12px", i: "14px" },
|
|
2561
|
+
normal: { h: "32px", p: "0 12px", f: "13px", i: "16px" },
|
|
2562
|
+
large: { h: "40px", p: "0 16px", f: "14px", i: "18px" }
|
|
2563
|
+
};
|
|
2564
|
+
const props = __props;
|
|
2565
|
+
const slots = vue.useSlots();
|
|
2566
|
+
const groupContext = vue.inject("FButtonGroupContext", null);
|
|
2567
|
+
const mergedSize = vue.computed(() => {
|
|
2568
|
+
var _a, _b;
|
|
2569
|
+
return (_b = (_a = props.size) != null ? _a : groupContext == null ? void 0 : groupContext.size) != null ? _b : "normal";
|
|
2570
|
+
});
|
|
2571
|
+
const mergedType = vue.computed(() => {
|
|
2572
|
+
var _a, _b;
|
|
2573
|
+
return (_b = (_a = props.type) != null ? _a : groupContext == null ? void 0 : groupContext.type) != null ? _b : "default";
|
|
2574
|
+
});
|
|
2575
|
+
const isDisabled = vue.computed(() => props.disabled || props.loading || (groupContext == null ? void 0 : groupContext.disabled));
|
|
2576
|
+
const hasText = vue.computed(() => !!slots.default);
|
|
2577
|
+
const buttonStyle = vue.computed(() => {
|
|
2578
|
+
const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
|
|
2579
|
+
const style = {
|
|
2580
|
+
height: s.h,
|
|
2581
|
+
padding: props.circle ? "0" : s.p,
|
|
2582
|
+
fontSize: s.f,
|
|
2583
|
+
minWidth: props.circle ? s.h : "auto",
|
|
2584
|
+
backgroundColor: props.bgColor,
|
|
2585
|
+
color: props.color
|
|
2586
|
+
};
|
|
2587
|
+
if (props.circle) {
|
|
2588
|
+
style.borderRadius = "50%";
|
|
2589
|
+
style.width = s.h;
|
|
2590
|
+
} else if (typeof props.round === "number") {
|
|
2591
|
+
style.borderRadius = `${props.round}px`;
|
|
2592
|
+
} else if (props.round === true) {
|
|
2593
|
+
style.borderRadius = "999px";
|
|
2594
|
+
}
|
|
2595
|
+
return style;
|
|
2596
|
+
});
|
|
2597
|
+
const iconSize = vue.computed(() => {
|
|
2598
|
+
const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
|
|
2599
|
+
return s.i;
|
|
2600
|
+
});
|
|
2601
|
+
return (_ctx, _cache) => {
|
|
2602
|
+
return vue.openBlock(), vue.createElementBlock("button", {
|
|
2603
|
+
type: _ctx.nativeType,
|
|
2604
|
+
class: vue.normalizeClass(["f-button", [
|
|
2605
|
+
`f-button--${vue.unref(mergedType)}`,
|
|
2606
|
+
`f-button--${vue.unref(mergedSize)}`,
|
|
2607
|
+
{
|
|
2608
|
+
"is-disabled": vue.unref(isDisabled),
|
|
2609
|
+
"is-loading": _ctx.loading,
|
|
2610
|
+
"is-active": _ctx.active,
|
|
2611
|
+
"is-text": _ctx.text,
|
|
2612
|
+
"is-icon-only": !vue.unref(hasText) && (_ctx.icon || _ctx.$slots.icon)
|
|
2613
|
+
}
|
|
2614
|
+
]]),
|
|
2615
|
+
disabled: vue.unref(isDisabled),
|
|
2616
|
+
style: vue.normalizeStyle(vue.unref(buttonStyle))
|
|
2617
|
+
}, [
|
|
2618
|
+
vue.createElementVNode("span", _hoisted_2$e$1, [
|
|
2619
|
+
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$e$1)) : vue.createCommentVNode("", true),
|
|
2620
|
+
!_ctx.loading ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
2621
|
+
_ctx.$slots.icon || _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(FIcon$1), {
|
|
2622
|
+
key: 0,
|
|
2623
|
+
class: "f-button__icon",
|
|
2624
|
+
style: vue.normalizeStyle({ fontSize: vue.unref(iconSize) })
|
|
2625
|
+
}, {
|
|
2626
|
+
default: vue.withCtx(() => [
|
|
2627
|
+
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
2628
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon), { key: 0 })) : vue.createCommentVNode("", true)
|
|
2629
|
+
], true)
|
|
2630
|
+
]),
|
|
2631
|
+
_: 3
|
|
2632
|
+
}, 8, ["style"])) : vue.createCommentVNode("", true)
|
|
2633
|
+
], 64)) : vue.createCommentVNode("", true),
|
|
2634
|
+
vue.unref(hasText) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$8$1, [
|
|
2635
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2636
|
+
])) : vue.createCommentVNode("", true)
|
|
2637
|
+
])
|
|
2638
|
+
], 14, _hoisted_1$i$1);
|
|
2639
|
+
};
|
|
2640
|
+
}
|
|
2641
|
+
});
|
|
2642
|
+
const FButton$1 = /* @__PURE__ */ _export_sfc(_sfc_main$o$1, [["__scopeId", "data-v-41be5001"]]);
|
|
2643
|
+
const _hoisted_1$e$1 = { class: "f-checkbox__wrapper" };
|
|
2644
|
+
const _hoisted_2$c$1 = ["checked", "disabled"];
|
|
2645
|
+
const _hoisted_3$c$1 = {
|
|
2646
|
+
key: 0,
|
|
2647
|
+
class: "f-checkbox__label"
|
|
2648
|
+
};
|
|
2649
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2650
|
+
__name: "FCheckbox",
|
|
2651
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2652
|
+
label: {},
|
|
2653
|
+
disabled: { type: Boolean }
|
|
2654
|
+
}, {
|
|
2655
|
+
"modelValue": __spreadValues22({ type: Boolean }, { default: false }),
|
|
2656
|
+
"modelModifiers": {}
|
|
2657
|
+
}),
|
|
2658
|
+
emits: ["update:modelValue"],
|
|
2659
|
+
setup(__props) {
|
|
2660
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2661
|
+
const props = __props;
|
|
2662
|
+
const handleChange = (e) => {
|
|
2663
|
+
if (props.disabled) return;
|
|
2664
|
+
const target = e.target;
|
|
2665
|
+
modelValue.value = target.checked;
|
|
2666
|
+
};
|
|
2667
|
+
return (_ctx, _cache) => {
|
|
2668
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2669
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
2670
|
+
}, [
|
|
2671
|
+
vue.createElementVNode("span", _hoisted_1$e$1, [
|
|
2672
|
+
vue.createElementVNode("input", {
|
|
2673
|
+
type: "checkbox",
|
|
2674
|
+
checked: modelValue.value,
|
|
2675
|
+
disabled: _ctx.disabled,
|
|
2676
|
+
onChange: handleChange
|
|
2677
|
+
}, null, 40, _hoisted_2$c$1),
|
|
2678
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
2679
|
+
]),
|
|
2680
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c$1, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
2681
|
+
], 2);
|
|
2682
|
+
};
|
|
2683
|
+
}
|
|
2684
|
+
});
|
|
2685
|
+
const _hoisted_1$j = {
|
|
2686
|
+
key: 0,
|
|
2687
|
+
class: "f-dialog__icon"
|
|
2688
|
+
};
|
|
2689
|
+
const _hoisted_2$f = { class: "f-dialog__title" };
|
|
2690
|
+
const _hoisted_3$f = { class: "f-dialog__body" };
|
|
2691
|
+
const _hoisted_4$9 = { key: 0 };
|
|
2692
|
+
const _hoisted_5$8 = {
|
|
2693
|
+
key: 2,
|
|
2694
|
+
class: "f-dialog__footer"
|
|
2695
|
+
};
|
|
2696
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2697
|
+
__name: "FDialog",
|
|
2698
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2699
|
+
title: { default: "提示" },
|
|
2700
|
+
content: {},
|
|
2701
|
+
width: { default: "500px" },
|
|
2702
|
+
type: { default: "default" },
|
|
2703
|
+
confirmText: { default: "确定" },
|
|
2704
|
+
cancelText: { default: "取消" },
|
|
2705
|
+
showCancel: { type: Boolean, default: true },
|
|
2706
|
+
showClose: { type: Boolean, default: true },
|
|
2707
|
+
closeOnClickModal: { type: Boolean, default: true },
|
|
2708
|
+
closeOnEsc: { type: Boolean, default: true },
|
|
2709
|
+
center: { type: Boolean, default: false },
|
|
2710
|
+
fullscreen: { type: Boolean, default: false },
|
|
2711
|
+
destroyOnClose: { type: Boolean, default: false },
|
|
2712
|
+
beforeClose: {}
|
|
2713
|
+
}, {
|
|
2714
|
+
"modelValue": __spreadValues22({ type: Boolean }, { required: true }),
|
|
2715
|
+
"modelModifiers": {}
|
|
2716
|
+
}),
|
|
2717
|
+
emits: /* @__PURE__ */ vue.mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
|
|
2718
|
+
setup(__props, { emit: __emit }) {
|
|
2719
|
+
const props = __props;
|
|
2720
|
+
const emit = __emit;
|
|
2721
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
2722
|
+
const handleClose = () => {
|
|
2723
|
+
visible.value = false;
|
|
2724
|
+
emit("close");
|
|
2725
|
+
};
|
|
2726
|
+
const handleConfirm = () => {
|
|
2727
|
+
emit("confirm");
|
|
2728
|
+
if (props.beforeClose) {
|
|
2729
|
+
props.beforeClose(() => {
|
|
2730
|
+
visible.value = false;
|
|
2731
|
+
});
|
|
2732
|
+
} else {
|
|
2733
|
+
visible.value = false;
|
|
2734
|
+
}
|
|
2735
|
+
};
|
|
2736
|
+
const handleCancel = () => {
|
|
2737
|
+
emit("cancel");
|
|
2738
|
+
handleClose();
|
|
2739
|
+
};
|
|
2740
|
+
const handleOverlayClick = (e) => {
|
|
2741
|
+
if (props.closeOnClickModal && e.target === e.currentTarget) {
|
|
2742
|
+
handleClose();
|
|
2743
|
+
}
|
|
2744
|
+
};
|
|
2745
|
+
const handleKeydown = (e) => {
|
|
2746
|
+
if (props.closeOnEsc && e.key === "Escape") {
|
|
2747
|
+
handleClose();
|
|
2748
|
+
}
|
|
2749
|
+
};
|
|
2750
|
+
vue.onMounted(() => {
|
|
2751
|
+
if (props.closeOnEsc) {
|
|
2752
|
+
window.addEventListener("keydown", handleKeydown);
|
|
2753
|
+
}
|
|
2754
|
+
emit("open");
|
|
2755
|
+
});
|
|
2756
|
+
vue.onBeforeUnmount(() => {
|
|
2757
|
+
if (props.closeOnEsc) {
|
|
2758
|
+
window.removeEventListener("keydown", handleKeydown);
|
|
2759
|
+
}
|
|
2760
|
+
});
|
|
2761
|
+
const iconMap = {
|
|
2762
|
+
info: ionicons5.InformationCircleOutline,
|
|
2763
|
+
success: ionicons5.CheckmarkCircleOutline,
|
|
2764
|
+
warning: ionicons5.WarningOutline,
|
|
2765
|
+
failed: ionicons5.AlertCircleOutline,
|
|
2766
|
+
primary: ionicons5.InformationCircleOutline,
|
|
2767
|
+
default: ionicons5.InformationCircleOutline
|
|
2768
|
+
};
|
|
2769
|
+
const hasIcon = vue.computed(() => props.type && props.type !== "default");
|
|
2770
|
+
return (_ctx, _cache) => {
|
|
2771
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2772
|
+
vue.createVNode(vue.Transition, { name: "f-dialog-fade" }, {
|
|
2773
|
+
default: vue.withCtx(() => [
|
|
2774
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2775
|
+
key: 0,
|
|
2776
|
+
class: "f-dialog-overlay",
|
|
2777
|
+
onClick: handleOverlayClick
|
|
2778
|
+
}, [
|
|
2779
|
+
vue.createVNode(vue.Transition, { name: "f-dialog-zoom" }, {
|
|
2780
|
+
default: vue.withCtx(() => [
|
|
2781
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2782
|
+
key: 0,
|
|
2783
|
+
class: vue.normalizeClass(["f-dialog", [
|
|
2784
|
+
`f-dialog--${_ctx.type}`,
|
|
2785
|
+
{
|
|
2786
|
+
"is-center": _ctx.center,
|
|
2787
|
+
"is-fullscreen": _ctx.fullscreen
|
|
2788
|
+
}
|
|
2789
|
+
]]),
|
|
2790
|
+
style: vue.normalizeStyle({ width: _ctx.fullscreen ? "100%" : _ctx.width })
|
|
2791
|
+
}, [
|
|
2792
|
+
_ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
2793
|
+
key: 0,
|
|
2794
|
+
type: "button",
|
|
2795
|
+
class: "f-dialog__close",
|
|
2796
|
+
onClick: handleClose
|
|
2797
|
+
}, [
|
|
2798
|
+
vue.createVNode(FIcon, null, {
|
|
2799
|
+
default: vue.withCtx(() => [
|
|
2800
|
+
vue.createVNode(vue.unref(ionicons5.CloseOutline))
|
|
2801
|
+
]),
|
|
2802
|
+
_: 1
|
|
2803
|
+
})
|
|
2804
|
+
])) : vue.createCommentVNode("", true),
|
|
2805
|
+
_ctx.$slots.header || _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2806
|
+
key: 1,
|
|
2807
|
+
class: vue.normalizeClass(["f-dialog__header", { "has-icon": vue.unref(hasIcon) }])
|
|
2808
|
+
}, [
|
|
2809
|
+
vue.renderSlot(_ctx.$slots, "header", {}, () => [
|
|
2810
|
+
vue.unref(hasIcon) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
|
|
2811
|
+
vue.createVNode(FIcon, null, {
|
|
2812
|
+
default: vue.withCtx(() => [
|
|
2813
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(iconMap[_ctx.type])))
|
|
2814
|
+
]),
|
|
2815
|
+
_: 1
|
|
2816
|
+
})
|
|
2817
|
+
])) : vue.createCommentVNode("", true),
|
|
2818
|
+
vue.createElementVNode("h3", _hoisted_2$f, vue.toDisplayString(_ctx.title), 1)
|
|
2819
|
+
], true)
|
|
2820
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
2821
|
+
vue.createElementVNode("div", _hoisted_3$f, [
|
|
2822
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
2823
|
+
_ctx.content ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$9, vue.toDisplayString(_ctx.content), 1)) : vue.createCommentVNode("", true)
|
|
2824
|
+
], true)
|
|
2825
|
+
]),
|
|
2826
|
+
_ctx.$slots.footer || _ctx.showCancel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8, [
|
|
2827
|
+
vue.renderSlot(_ctx.$slots, "footer", {}, () => [
|
|
2828
|
+
_ctx.showCancel ? (vue.openBlock(), vue.createBlock(FButton$1, {
|
|
2829
|
+
key: 0,
|
|
2830
|
+
onClick: handleCancel
|
|
2831
|
+
}, {
|
|
2832
|
+
default: vue.withCtx(() => [
|
|
2833
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.cancelText), 1)
|
|
2834
|
+
]),
|
|
2835
|
+
_: 1
|
|
2836
|
+
})) : vue.createCommentVNode("", true),
|
|
2837
|
+
vue.createVNode(FButton$1, {
|
|
2838
|
+
type: "primary",
|
|
2839
|
+
onClick: handleConfirm
|
|
2840
|
+
}, {
|
|
2841
|
+
default: vue.withCtx(() => [
|
|
2842
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.confirmText), 1)
|
|
2843
|
+
]),
|
|
2844
|
+
_: 1
|
|
2845
|
+
})
|
|
2846
|
+
], true)
|
|
2847
|
+
])) : vue.createCommentVNode("", true)
|
|
2848
|
+
], 6)) : vue.createCommentVNode("", true)
|
|
2849
|
+
]),
|
|
2850
|
+
_: 3
|
|
2851
|
+
})
|
|
2852
|
+
])) : vue.createCommentVNode("", true)
|
|
2853
|
+
]),
|
|
2854
|
+
_: 3
|
|
2855
|
+
})
|
|
2856
|
+
]);
|
|
2857
|
+
};
|
|
2858
|
+
}
|
|
2859
|
+
});
|
|
2860
|
+
const _hoisted_1$i$2 = ["type", "disabled"];
|
|
2861
|
+
const _hoisted_2$e$2 = { class: "f-button__inner" };
|
|
2862
|
+
const _hoisted_3$e$2 = {
|
|
2863
|
+
key: 0,
|
|
2864
|
+
class: "f-loader"
|
|
2865
|
+
};
|
|
2866
|
+
const _hoisted_4$8$2 = {
|
|
2867
|
+
key: 2,
|
|
2868
|
+
class: "f-button__text"
|
|
2869
|
+
};
|
|
2870
|
+
const _sfc_main$o$2 = /* @__PURE__ */ vue.defineComponent({
|
|
2871
|
+
__name: "FButton",
|
|
2872
|
+
props: {
|
|
2873
|
+
type: {},
|
|
2874
|
+
size: {},
|
|
2875
|
+
nativeType: { default: "button" },
|
|
2876
|
+
loading: { type: Boolean },
|
|
2877
|
+
disabled: { type: Boolean },
|
|
2878
|
+
round: { type: [Boolean, Number] },
|
|
2879
|
+
circle: { type: Boolean },
|
|
2880
|
+
plain: { type: Boolean },
|
|
2881
|
+
text: { type: Boolean },
|
|
2882
|
+
block: { type: Boolean },
|
|
2883
|
+
icon: {},
|
|
2884
|
+
active: { type: Boolean },
|
|
2885
|
+
bgColor: {},
|
|
2886
|
+
color: {}
|
|
2887
|
+
},
|
|
2888
|
+
setup(__props) {
|
|
2889
|
+
const SIZE_MAP = {
|
|
2890
|
+
small: { h: "24px", p: "0 8px", f: "12px", i: "14px" },
|
|
2891
|
+
normal: { h: "32px", p: "0 12px", f: "13px", i: "16px" },
|
|
2892
|
+
large: { h: "40px", p: "0 16px", f: "14px", i: "18px" }
|
|
2893
|
+
};
|
|
2894
|
+
const props = __props;
|
|
2895
|
+
const slots = vue.useSlots();
|
|
2896
|
+
const groupContext = vue.inject("FButtonGroupContext", null);
|
|
2897
|
+
const mergedSize = vue.computed(() => {
|
|
2898
|
+
var _a, _b;
|
|
2899
|
+
return (_b = (_a = props.size) != null ? _a : groupContext == null ? void 0 : groupContext.size) != null ? _b : "normal";
|
|
2900
|
+
});
|
|
2901
|
+
const mergedType = vue.computed(() => {
|
|
2902
|
+
var _a, _b;
|
|
2903
|
+
return (_b = (_a = props.type) != null ? _a : groupContext == null ? void 0 : groupContext.type) != null ? _b : "default";
|
|
2904
|
+
});
|
|
2905
|
+
const isDisabled = vue.computed(() => props.disabled || props.loading || (groupContext == null ? void 0 : groupContext.disabled));
|
|
2906
|
+
const hasText = vue.computed(() => !!slots.default);
|
|
2907
|
+
const buttonStyle = vue.computed(() => {
|
|
2908
|
+
const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
|
|
2909
|
+
const style = {
|
|
2910
|
+
height: s.h,
|
|
2911
|
+
padding: props.circle ? "0" : s.p,
|
|
2912
|
+
fontSize: s.f,
|
|
2913
|
+
minWidth: props.circle ? s.h : "auto",
|
|
2914
|
+
backgroundColor: props.bgColor,
|
|
2915
|
+
color: props.color
|
|
2916
|
+
};
|
|
2917
|
+
if (props.circle) {
|
|
2918
|
+
style.borderRadius = "50%";
|
|
2919
|
+
style.width = s.h;
|
|
2920
|
+
} else if (typeof props.round === "number") {
|
|
2921
|
+
style.borderRadius = `${props.round}px`;
|
|
2922
|
+
} else if (props.round === true) {
|
|
2923
|
+
style.borderRadius = "999px";
|
|
2924
|
+
}
|
|
2925
|
+
return style;
|
|
2926
|
+
});
|
|
2927
|
+
const iconSize = vue.computed(() => {
|
|
2928
|
+
const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
|
|
2929
|
+
return s.i;
|
|
2930
|
+
});
|
|
2931
|
+
return (_ctx, _cache) => {
|
|
2932
|
+
return vue.openBlock(), vue.createElementBlock("button", {
|
|
2933
|
+
type: _ctx.nativeType,
|
|
2934
|
+
class: vue.normalizeClass(["f-button", [
|
|
2935
|
+
`f-button--${vue.unref(mergedType)}`,
|
|
2936
|
+
`f-button--${vue.unref(mergedSize)}`,
|
|
2937
|
+
{
|
|
2938
|
+
"is-disabled": vue.unref(isDisabled),
|
|
2939
|
+
"is-loading": _ctx.loading,
|
|
2940
|
+
"is-active": _ctx.active,
|
|
2941
|
+
"is-text": _ctx.text,
|
|
2942
|
+
"is-icon-only": !vue.unref(hasText) && (_ctx.icon || _ctx.$slots.icon)
|
|
2943
|
+
}
|
|
2944
|
+
]]),
|
|
2945
|
+
disabled: vue.unref(isDisabled),
|
|
2946
|
+
style: vue.normalizeStyle(vue.unref(buttonStyle))
|
|
2947
|
+
}, [
|
|
2948
|
+
vue.createElementVNode("span", _hoisted_2$e$2, [
|
|
2949
|
+
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$e$2)) : vue.createCommentVNode("", true),
|
|
2950
|
+
!_ctx.loading ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
2951
|
+
_ctx.$slots.icon || _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(FIcon), {
|
|
2952
|
+
key: 0,
|
|
2953
|
+
class: "f-button__icon",
|
|
2954
|
+
style: vue.normalizeStyle({ fontSize: vue.unref(iconSize) })
|
|
2955
|
+
}, {
|
|
2956
|
+
default: vue.withCtx(() => [
|
|
2957
|
+
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
2958
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon), { key: 0 })) : vue.createCommentVNode("", true)
|
|
2959
|
+
], true)
|
|
2960
|
+
]),
|
|
2961
|
+
_: 3
|
|
2962
|
+
}, 8, ["style"])) : vue.createCommentVNode("", true)
|
|
2963
|
+
], 64)) : vue.createCommentVNode("", true),
|
|
2964
|
+
vue.unref(hasText) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$8$2, [
|
|
2965
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2966
|
+
])) : vue.createCommentVNode("", true)
|
|
2967
|
+
])
|
|
2968
|
+
], 14, _hoisted_1$i$2);
|
|
2969
|
+
};
|
|
2970
|
+
}
|
|
2971
|
+
});
|
|
2972
|
+
const FButton$2 = /* @__PURE__ */ _export_sfc$2(_sfc_main$o$2, [["__scopeId", "data-v-41be5001"]]);
|
|
2973
|
+
const _hoisted_1$e$2 = { class: "f-checkbox__wrapper" };
|
|
2974
|
+
const _hoisted_2$c$2 = ["checked", "disabled"];
|
|
2975
|
+
const _hoisted_3$c$2 = {
|
|
2976
|
+
key: 0,
|
|
2977
|
+
class: "f-checkbox__label"
|
|
2978
|
+
};
|
|
2979
|
+
/* @__PURE__ */ vue.defineComponent({
|
|
2980
|
+
__name: "FCheckbox",
|
|
2981
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
2982
|
+
label: {},
|
|
2983
|
+
disabled: { type: Boolean }
|
|
2984
|
+
}, {
|
|
2985
|
+
"modelValue": __spreadValues2({ type: Boolean }, { default: false }),
|
|
2986
|
+
"modelModifiers": {}
|
|
2987
|
+
}),
|
|
2988
|
+
emits: ["update:modelValue"],
|
|
2989
|
+
setup(__props) {
|
|
2990
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
2991
|
+
const props = __props;
|
|
2992
|
+
const handleChange = (e) => {
|
|
2993
|
+
if (props.disabled) return;
|
|
2994
|
+
const target = e.target;
|
|
2995
|
+
modelValue.value = target.checked;
|
|
2996
|
+
};
|
|
2997
|
+
return (_ctx, _cache) => {
|
|
2998
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
2999
|
+
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
3000
|
+
}, [
|
|
3001
|
+
vue.createElementVNode("span", _hoisted_1$e$2, [
|
|
3002
|
+
vue.createElementVNode("input", {
|
|
3003
|
+
type: "checkbox",
|
|
3004
|
+
checked: modelValue.value,
|
|
3005
|
+
disabled: _ctx.disabled,
|
|
3006
|
+
onChange: handleChange
|
|
3007
|
+
}, null, 40, _hoisted_2$c$2),
|
|
3008
|
+
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
3009
|
+
]),
|
|
3010
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c$2, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
3011
|
+
], 2);
|
|
3012
|
+
};
|
|
3013
|
+
}
|
|
3014
|
+
});
|
|
3015
|
+
const _hoisted_1$2$1 = { class: "f-message__content" };
|
|
3016
|
+
const _sfc_main$2$1 = /* @__PURE__ */ vue.defineComponent({
|
|
3017
|
+
__name: "FMessage",
|
|
3018
|
+
props: {
|
|
3019
|
+
type: { default: "info" },
|
|
3020
|
+
message: {},
|
|
3021
|
+
duration: { default: 3e3 },
|
|
3022
|
+
closable: { type: Boolean, default: false },
|
|
3023
|
+
showIcon: { type: Boolean, default: true },
|
|
3024
|
+
offset: { default: 20 }
|
|
3025
|
+
},
|
|
3026
|
+
emits: ["close", "destroy"],
|
|
3027
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
3028
|
+
const props = __props;
|
|
3029
|
+
const emit = __emit;
|
|
3030
|
+
const visible = vue.ref(false);
|
|
3031
|
+
let timer = null;
|
|
3032
|
+
const iconName = vue.computed(() => {
|
|
3033
|
+
const map = {
|
|
3034
|
+
info: ionicons5.InformationCircle,
|
|
3035
|
+
success: ionicons5.CheckmarkCircle,
|
|
3036
|
+
warning: ionicons5.Warning,
|
|
3037
|
+
failed: ionicons5.CloseCircle,
|
|
3038
|
+
default: ionicons5.InformationCircle,
|
|
3039
|
+
primary: ionicons5.InformationCircle
|
|
3040
|
+
};
|
|
3041
|
+
return map[props.type];
|
|
3042
|
+
});
|
|
3043
|
+
const rootStyle = vue.computed(() => ({
|
|
3044
|
+
top: `${props.offset}px`
|
|
3045
|
+
}));
|
|
3046
|
+
const startTimer = () => {
|
|
3047
|
+
if (props.duration <= 0) return;
|
|
3048
|
+
timer = setTimeout(() => {
|
|
3049
|
+
close();
|
|
3050
|
+
}, props.duration);
|
|
3051
|
+
};
|
|
3052
|
+
const clearTimer = () => {
|
|
3053
|
+
if (timer) {
|
|
3054
|
+
clearTimeout(timer);
|
|
3055
|
+
timer = null;
|
|
3056
|
+
}
|
|
3057
|
+
};
|
|
3058
|
+
const close = () => {
|
|
3059
|
+
clearTimer();
|
|
3060
|
+
visible.value = false;
|
|
3061
|
+
emit("close");
|
|
3062
|
+
};
|
|
3063
|
+
const handleAfterLeave = () => emit("destroy");
|
|
3064
|
+
vue.onMounted(() => {
|
|
3065
|
+
visible.value = true;
|
|
3066
|
+
startTimer();
|
|
3067
|
+
});
|
|
3068
|
+
vue.onBeforeUnmount(() => {
|
|
3069
|
+
clearTimer();
|
|
3070
|
+
});
|
|
3071
|
+
__expose({ close });
|
|
3072
|
+
return (_ctx, _cache) => {
|
|
3073
|
+
return vue.openBlock(), vue.createBlock(vue.Transition, {
|
|
3074
|
+
name: "f-message-fade",
|
|
3075
|
+
onAfterLeave: handleAfterLeave
|
|
3076
|
+
}, {
|
|
3077
|
+
default: vue.withCtx(() => [
|
|
3078
|
+
vue.unref(visible) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3079
|
+
key: 0,
|
|
3080
|
+
class: vue.normalizeClass(["f-message", [`f-message--${_ctx.type}`]]),
|
|
3081
|
+
style: vue.normalizeStyle(vue.unref(rootStyle)),
|
|
3082
|
+
role: "alert",
|
|
3083
|
+
onMouseenter: clearTimer,
|
|
3084
|
+
onMouseleave: startTimer
|
|
3085
|
+
}, [
|
|
3086
|
+
_ctx.showIcon ? (vue.openBlock(), vue.createBlock(FIcon$2, {
|
|
3087
|
+
key: 0,
|
|
3088
|
+
class: "f-message__icon"
|
|
3089
|
+
}, {
|
|
3090
|
+
default: vue.withCtx(() => [
|
|
3091
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(iconName))))
|
|
3092
|
+
]),
|
|
3093
|
+
_: 1
|
|
3094
|
+
})) : vue.createCommentVNode("", true),
|
|
3095
|
+
vue.createElementVNode("span", _hoisted_1$2$1, vue.toDisplayString(_ctx.message), 1),
|
|
3096
|
+
_ctx.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3097
|
+
key: 1,
|
|
3098
|
+
type: "button",
|
|
3099
|
+
class: "f-message__close",
|
|
3100
|
+
"aria-label": "close",
|
|
3101
|
+
onClick: close
|
|
3102
|
+
}, [
|
|
3103
|
+
vue.createVNode(FIcon$2, null, {
|
|
3104
|
+
default: vue.withCtx(() => [
|
|
3105
|
+
vue.createVNode(vue.unref(ionicons5.Close))
|
|
3106
|
+
]),
|
|
3107
|
+
_: 1
|
|
3108
|
+
})
|
|
3109
|
+
])) : vue.createCommentVNode("", true)
|
|
3110
|
+
], 38)) : vue.createCommentVNode("", true)
|
|
3111
|
+
]),
|
|
3112
|
+
_: 1
|
|
3113
|
+
});
|
|
3114
|
+
};
|
|
3115
|
+
}
|
|
3116
|
+
});
|
|
3117
|
+
const FMessageComp$1 = /* @__PURE__ */ _export_sfc$2(_sfc_main$2$1, [["__scopeId", "data-v-97556afa"]]);
|
|
3118
|
+
const GAP$1$1 = 16;
|
|
3119
|
+
const BASE_OFFSET$1$1 = 20;
|
|
3120
|
+
let seed$1$1 = 0;
|
|
3121
|
+
const instances$1 = [];
|
|
3122
|
+
const normalizeOptions$1$1 = (options) => {
|
|
3123
|
+
return typeof options === "string" ? { message: options } : options;
|
|
3124
|
+
};
|
|
3125
|
+
const repositionAll$1 = () => {
|
|
3126
|
+
let offset = BASE_OFFSET$1$1;
|
|
3127
|
+
instances$1.forEach((item) => {
|
|
3128
|
+
const vm = item.vnode.component;
|
|
3129
|
+
if (vm) {
|
|
3130
|
+
vm.props.offset = offset;
|
|
3131
|
+
}
|
|
3132
|
+
offset += item.height + GAP$1$1;
|
|
3133
|
+
});
|
|
3134
|
+
};
|
|
3135
|
+
const removeInstance$1$1 = (id) => {
|
|
3136
|
+
const index = instances$1.findIndex((item) => item.id === id);
|
|
3137
|
+
if (index === -1) return;
|
|
3138
|
+
const { container } = instances$1[index];
|
|
3139
|
+
vue.render(null, container);
|
|
3140
|
+
container.remove();
|
|
3141
|
+
instances$1.splice(index, 1);
|
|
3142
|
+
repositionAll$1();
|
|
3143
|
+
};
|
|
3144
|
+
const createInstance$1$1 = (options) => {
|
|
3145
|
+
var _a;
|
|
3146
|
+
const id = seed$1$1++;
|
|
3147
|
+
const container = document.createElement("div");
|
|
3148
|
+
const offset = instances$1.length === 0 ? BASE_OFFSET$1$1 : (() => {
|
|
3149
|
+
var _a2;
|
|
3150
|
+
const last = instances$1[instances$1.length - 1];
|
|
3151
|
+
return ((_a2 = last.vnode.component) == null ? void 0 : _a2.props.offset) + last.height + GAP$1$1;
|
|
3152
|
+
})();
|
|
3153
|
+
const vnode = vue.createVNode(FMessageComp$1, __spreadProps2(__spreadValues2({}, options), {
|
|
3154
|
+
offset,
|
|
3155
|
+
onClose: () => {
|
|
3156
|
+
var _a2;
|
|
3157
|
+
(_a2 = options.onClose) == null ? void 0 : _a2.call(options);
|
|
3158
|
+
},
|
|
3159
|
+
onDestroy: () => {
|
|
3160
|
+
removeInstance$1$1(id);
|
|
3161
|
+
}
|
|
3162
|
+
}));
|
|
3163
|
+
vue.render(vnode, container);
|
|
3164
|
+
document.body.appendChild(container);
|
|
3165
|
+
const el = vnode.el;
|
|
3166
|
+
const height = (_a = el == null ? void 0 : el.offsetHeight) != null ? _a : 44;
|
|
3167
|
+
instances$1.push({ id, vnode, container, height });
|
|
3168
|
+
return {
|
|
3169
|
+
id,
|
|
3170
|
+
close: () => {
|
|
3171
|
+
var _a2, _b, _c;
|
|
3172
|
+
(_c = (_b = (_a2 = vnode.component) == null ? void 0 : _a2.exposed) == null ? void 0 : _b.close) == null ? void 0 : _c.call(_b);
|
|
3173
|
+
}
|
|
3174
|
+
};
|
|
3175
|
+
};
|
|
3176
|
+
const FMessage$1 = (options) => {
|
|
3177
|
+
return createInstance$1$1(normalizeOptions$1$1(options));
|
|
3178
|
+
};
|
|
3179
|
+
const withType$1$1 = (type) => (options) => createInstance$1$1(__spreadProps2(__spreadValues2({}, normalizeOptions$1$1(options)), { type }));
|
|
3180
|
+
FMessage$1.info = withType$1$1("info");
|
|
3181
|
+
FMessage$1.success = withType$1$1("success");
|
|
3182
|
+
FMessage$1.warning = withType$1$1("warning");
|
|
3183
|
+
FMessage$1.failed = withType$1$1("failed");
|
|
3184
|
+
FMessage$1.closeAll = () => {
|
|
3185
|
+
[...instances$1].forEach((item) => {
|
|
3186
|
+
var _a, _b, _c;
|
|
3187
|
+
(_c = (_b = (_a = item.vnode.component) == null ? void 0 : _a.exposed) == null ? void 0 : _b.close) == null ? void 0 : _c.call(_b);
|
|
3188
|
+
});
|
|
3189
|
+
};
|
|
3190
|
+
const _hoisted_1$1$1 = { class: "f-notification__body" };
|
|
3191
|
+
const _hoisted_2$1$1 = {
|
|
3192
|
+
key: 0,
|
|
3193
|
+
class: "f-notification__title"
|
|
3194
|
+
};
|
|
3195
|
+
const _hoisted_3$1$1 = { class: "f-notification__content" };
|
|
3196
|
+
const _sfc_main$1$1 = /* @__PURE__ */ vue.defineComponent({
|
|
3197
|
+
__name: "FNotification",
|
|
3198
|
+
props: {
|
|
3199
|
+
type: { default: "info" },
|
|
3200
|
+
title: {},
|
|
3201
|
+
message: {},
|
|
3202
|
+
duration: { default: 4500 },
|
|
3203
|
+
closable: { type: Boolean, default: true },
|
|
3204
|
+
showIcon: { type: Boolean, default: true },
|
|
3205
|
+
position: { default: "top-right" },
|
|
3206
|
+
offset: { default: 20 }
|
|
3207
|
+
},
|
|
3208
|
+
emits: ["close", "destroy", "click"],
|
|
3209
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
3210
|
+
const props = __props;
|
|
3211
|
+
const emit = __emit;
|
|
3212
|
+
const visible = vue.ref(false);
|
|
3213
|
+
let timer = null;
|
|
3214
|
+
const iconName = vue.computed(() => {
|
|
3215
|
+
const map = {
|
|
3216
|
+
info: ionicons5.InformationCircle,
|
|
3217
|
+
success: ionicons5.CheckmarkCircle,
|
|
3218
|
+
warning: ionicons5.Warning,
|
|
3219
|
+
failed: ionicons5.CloseCircle,
|
|
3220
|
+
default: ionicons5.InformationCircle,
|
|
3221
|
+
primary: ionicons5.InformationCircle
|
|
3222
|
+
};
|
|
3223
|
+
return map[props.type];
|
|
3224
|
+
});
|
|
3225
|
+
const isTop = vue.computed(() => props.position.startsWith("top"));
|
|
3226
|
+
const isRight = vue.computed(() => props.position.endsWith("right"));
|
|
3227
|
+
const rootStyle = vue.computed(() => ({
|
|
3228
|
+
[isTop.value ? "top" : "bottom"]: `${props.offset}px`,
|
|
3229
|
+
[isRight.value ? "right" : "left"]: "20px"
|
|
3230
|
+
}));
|
|
3231
|
+
const startTimer = () => {
|
|
3232
|
+
if (props.duration <= 0) return;
|
|
3233
|
+
timer = setTimeout(() => {
|
|
3234
|
+
close();
|
|
3235
|
+
}, props.duration);
|
|
3236
|
+
};
|
|
3237
|
+
const clearTimer = () => {
|
|
3238
|
+
if (timer) {
|
|
3239
|
+
clearTimeout(timer);
|
|
3240
|
+
timer = null;
|
|
3241
|
+
}
|
|
3242
|
+
};
|
|
3243
|
+
const close = () => {
|
|
3244
|
+
clearTimer();
|
|
3245
|
+
visible.value = false;
|
|
3246
|
+
emit("close");
|
|
3247
|
+
};
|
|
3248
|
+
const handleAfterLeave = () => emit("destroy");
|
|
3249
|
+
const handleClick = () => emit("click");
|
|
3250
|
+
vue.onMounted(() => {
|
|
3251
|
+
visible.value = true;
|
|
3252
|
+
startTimer();
|
|
3253
|
+
});
|
|
3254
|
+
vue.onBeforeUnmount(() => {
|
|
3255
|
+
clearTimer();
|
|
3256
|
+
});
|
|
3257
|
+
__expose({ close });
|
|
3258
|
+
return (_ctx, _cache) => {
|
|
3259
|
+
return vue.openBlock(), vue.createBlock(vue.Transition, {
|
|
3260
|
+
name: `f-notification-${_ctx.position}`,
|
|
3261
|
+
onAfterLeave: handleAfterLeave
|
|
3262
|
+
}, {
|
|
3263
|
+
default: vue.withCtx(() => [
|
|
3264
|
+
vue.unref(visible) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3265
|
+
key: 0,
|
|
3266
|
+
class: vue.normalizeClass(["f-notification", [`f-notification--${_ctx.type}`]]),
|
|
3267
|
+
style: vue.normalizeStyle(vue.unref(rootStyle)),
|
|
3268
|
+
role: "alert",
|
|
3269
|
+
onMouseenter: clearTimer,
|
|
3270
|
+
onMouseleave: startTimer,
|
|
3271
|
+
onClick: handleClick
|
|
3272
|
+
}, [
|
|
3273
|
+
_ctx.showIcon ? (vue.openBlock(), vue.createBlock(FIcon$2, {
|
|
3274
|
+
key: 0,
|
|
3275
|
+
class: "f-notification__icon"
|
|
3276
|
+
}, {
|
|
3277
|
+
default: vue.withCtx(() => [
|
|
3278
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(iconName))))
|
|
3279
|
+
]),
|
|
3280
|
+
_: 1
|
|
3281
|
+
})) : vue.createCommentVNode("", true),
|
|
3282
|
+
vue.createElementVNode("div", _hoisted_1$1$1, [
|
|
3283
|
+
_ctx.title ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$1$1, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true),
|
|
3284
|
+
vue.createElementVNode("p", _hoisted_3$1$1, vue.toDisplayString(_ctx.message), 1)
|
|
3285
|
+
]),
|
|
3286
|
+
_ctx.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3287
|
+
key: 1,
|
|
3288
|
+
type: "button",
|
|
3289
|
+
class: "f-notification__close",
|
|
3290
|
+
"aria-label": "close",
|
|
3291
|
+
onClick: vue.withModifiers(close, ["stop"])
|
|
3292
|
+
}, [
|
|
3293
|
+
vue.createVNode(FIcon$2, null, {
|
|
3294
|
+
default: vue.withCtx(() => [
|
|
3295
|
+
vue.createVNode(vue.unref(ionicons5.Close))
|
|
3296
|
+
]),
|
|
3297
|
+
_: 1
|
|
3298
|
+
})
|
|
3299
|
+
])) : vue.createCommentVNode("", true)
|
|
3300
|
+
], 38)) : vue.createCommentVNode("", true)
|
|
3301
|
+
]),
|
|
3302
|
+
_: 1
|
|
3303
|
+
}, 8, ["name"]);
|
|
3304
|
+
};
|
|
3305
|
+
}
|
|
3306
|
+
});
|
|
3307
|
+
const FNotificationComp$1 = /* @__PURE__ */ _export_sfc$2(_sfc_main$1$1, [["__scopeId", "data-v-0a7315d6"]]);
|
|
3308
|
+
const GAP$2 = 16;
|
|
3309
|
+
const BASE_OFFSET$2 = 20;
|
|
3310
|
+
let seed$2 = 0;
|
|
3311
|
+
const groups$1 = {
|
|
3312
|
+
"top-right": [],
|
|
3313
|
+
"top-left": [],
|
|
3314
|
+
"bottom-right": [],
|
|
3315
|
+
"bottom-left": []
|
|
3316
|
+
};
|
|
3317
|
+
const normalizeOptions$2 = (options) => {
|
|
3318
|
+
return typeof options === "string" ? { message: options } : options;
|
|
3319
|
+
};
|
|
3320
|
+
const repositionGroup$1 = (position) => {
|
|
3321
|
+
let offset = BASE_OFFSET$2;
|
|
3322
|
+
groups$1[position].forEach((item) => {
|
|
3323
|
+
const vm = item.vnode.component;
|
|
3324
|
+
if (vm) {
|
|
3325
|
+
vm.props.offset = offset;
|
|
3326
|
+
}
|
|
3327
|
+
offset += Number(item.size) + GAP$2;
|
|
3328
|
+
});
|
|
3329
|
+
};
|
|
3330
|
+
const removeInstance$2 = (position, id) => {
|
|
3331
|
+
const list = groups$1[position];
|
|
3332
|
+
const index = list.findIndex((item) => item.id === id);
|
|
3333
|
+
if (index === -1) return;
|
|
3334
|
+
const { container } = list[index];
|
|
3335
|
+
vue.render(null, container);
|
|
3336
|
+
container.remove();
|
|
3337
|
+
list.splice(index, 1);
|
|
3338
|
+
repositionGroup$1(position);
|
|
3339
|
+
};
|
|
3340
|
+
const createInstance$2 = (options) => {
|
|
3341
|
+
var _a, _b;
|
|
3342
|
+
const id = seed$2++;
|
|
3343
|
+
const position = (_a = options.position) != null ? _a : "top-right";
|
|
3344
|
+
const list = groups$1[position];
|
|
3345
|
+
const container = document.createElement("div");
|
|
3346
|
+
const offset = list.length === 0 ? BASE_OFFSET$2 : (() => {
|
|
3347
|
+
var _a2;
|
|
3348
|
+
const last = list[list.length - 1];
|
|
3349
|
+
return Number((_a2 = last.vnode.component) == null ? void 0 : _a2.props.offset) + Number(last.size) + GAP$2;
|
|
3350
|
+
})();
|
|
3351
|
+
const vnode = vue.createVNode(FNotificationComp$1, __spreadProps2(__spreadValues2({}, options), {
|
|
3352
|
+
position,
|
|
3353
|
+
offset,
|
|
3354
|
+
onClose: () => {
|
|
3355
|
+
var _a2;
|
|
3356
|
+
(_a2 = options.onClose) == null ? void 0 : _a2.call(options);
|
|
3357
|
+
},
|
|
3358
|
+
onDestroy: () => {
|
|
3359
|
+
removeInstance$2(position, id);
|
|
3360
|
+
},
|
|
3361
|
+
onClick: () => {
|
|
3362
|
+
var _a2;
|
|
3363
|
+
(_a2 = options.onClick) == null ? void 0 : _a2.call(options);
|
|
3364
|
+
}
|
|
3365
|
+
}));
|
|
3366
|
+
vue.render(vnode, container);
|
|
3367
|
+
document.body.appendChild(container);
|
|
3368
|
+
const el = vnode.el;
|
|
3369
|
+
const size = (_b = el == null ? void 0 : el.offsetHeight) != null ? _b : 72;
|
|
3370
|
+
list.push({ id, position, vnode, container, size });
|
|
3371
|
+
return {
|
|
3372
|
+
id,
|
|
3373
|
+
close: () => {
|
|
3374
|
+
var _a2, _b2, _c;
|
|
3375
|
+
(_c = (_b2 = (_a2 = vnode.component) == null ? void 0 : _a2.exposed) == null ? void 0 : _b2.close) == null ? void 0 : _c.call(_b2);
|
|
3376
|
+
}
|
|
3377
|
+
};
|
|
3378
|
+
};
|
|
3379
|
+
const FNotification$1 = (options) => {
|
|
3380
|
+
return createInstance$2(normalizeOptions$2(options));
|
|
3381
|
+
};
|
|
3382
|
+
const withType$2 = (type) => (options) => createInstance$2(__spreadProps2(__spreadValues2({}, normalizeOptions$2(options)), { type }));
|
|
3383
|
+
FNotification$1.info = withType$2("info");
|
|
3384
|
+
FNotification$1.success = withType$2("success");
|
|
3385
|
+
FNotification$1.warning = withType$2("warning");
|
|
3386
|
+
FNotification$1.failed = withType$2("failed");
|
|
3387
|
+
FNotification$1.closeAll = (position) => {
|
|
3388
|
+
const positions = position ? [position] : Object.keys(groups$1);
|
|
3389
|
+
positions.forEach((pos) => {
|
|
3390
|
+
[...groups$1[pos]].forEach((item) => {
|
|
3391
|
+
var _a, _b, _c;
|
|
3392
|
+
(_c = (_b = (_a = item.vnode.component) == null ? void 0 : _a.exposed) == null ? void 0 : _b.close) == null ? void 0 : _c.call(_b);
|
|
3393
|
+
});
|
|
3394
|
+
});
|
|
3395
|
+
};
|
|
3396
|
+
const _hoisted_1$k = {
|
|
3397
|
+
key: 0,
|
|
3398
|
+
class: "f-dialog__icon"
|
|
3399
|
+
};
|
|
3400
|
+
const _hoisted_2$g = { class: "f-dialog__title" };
|
|
3401
|
+
const _hoisted_3$g = { class: "f-dialog__body" };
|
|
3402
|
+
const _hoisted_4$a = { key: 0 };
|
|
3403
|
+
const _hoisted_5$9 = {
|
|
3404
|
+
key: 2,
|
|
3405
|
+
class: "f-dialog__footer"
|
|
3406
|
+
};
|
|
3407
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
3408
|
+
__name: "FDialog",
|
|
3409
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
3410
|
+
title: { default: "提示" },
|
|
3411
|
+
content: {},
|
|
3412
|
+
width: { default: "500px" },
|
|
3413
|
+
type: { default: "default" },
|
|
3414
|
+
confirmText: { default: "确定" },
|
|
3415
|
+
cancelText: { default: "取消" },
|
|
3416
|
+
showCancel: { type: Boolean, default: true },
|
|
3417
|
+
showClose: { type: Boolean, default: true },
|
|
3418
|
+
closeOnClickModal: { type: Boolean, default: true },
|
|
3419
|
+
closeOnEsc: { type: Boolean, default: true },
|
|
3420
|
+
center: { type: Boolean, default: false },
|
|
3421
|
+
fullscreen: { type: Boolean, default: false },
|
|
3422
|
+
destroyOnClose: { type: Boolean, default: false },
|
|
3423
|
+
beforeClose: {}
|
|
3424
|
+
}, {
|
|
3425
|
+
"modelValue": __spreadValues2({ type: Boolean }, { required: true }),
|
|
3426
|
+
"modelModifiers": {}
|
|
3427
|
+
}),
|
|
3428
|
+
emits: /* @__PURE__ */ vue.mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
|
|
3429
|
+
setup(__props, { emit: __emit }) {
|
|
3430
|
+
const props = __props;
|
|
3431
|
+
const emit = __emit;
|
|
3432
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
3433
|
+
const handleClose = () => {
|
|
3434
|
+
visible.value = false;
|
|
3435
|
+
emit("close");
|
|
3436
|
+
};
|
|
3437
|
+
const handleConfirm = () => {
|
|
3438
|
+
emit("confirm");
|
|
3439
|
+
if (props.beforeClose) {
|
|
3440
|
+
props.beforeClose(() => {
|
|
3441
|
+
visible.value = false;
|
|
3442
|
+
});
|
|
3443
|
+
} else {
|
|
3444
|
+
visible.value = false;
|
|
3445
|
+
}
|
|
3446
|
+
};
|
|
3447
|
+
const handleCancel = () => {
|
|
3448
|
+
emit("cancel");
|
|
3449
|
+
handleClose();
|
|
3450
|
+
};
|
|
3451
|
+
const handleOverlayClick = (e) => {
|
|
3452
|
+
if (props.closeOnClickModal && e.target === e.currentTarget) {
|
|
3453
|
+
handleClose();
|
|
3454
|
+
}
|
|
3455
|
+
};
|
|
3456
|
+
const handleKeydown = (e) => {
|
|
3457
|
+
if (props.closeOnEsc && e.key === "Escape") {
|
|
3458
|
+
handleClose();
|
|
3459
|
+
}
|
|
3460
|
+
};
|
|
3461
|
+
vue.onMounted(() => {
|
|
3462
|
+
if (props.closeOnEsc) {
|
|
3463
|
+
window.addEventListener("keydown", handleKeydown);
|
|
3464
|
+
}
|
|
3465
|
+
emit("open");
|
|
3466
|
+
});
|
|
3467
|
+
vue.onBeforeUnmount(() => {
|
|
3468
|
+
if (props.closeOnEsc) {
|
|
3469
|
+
window.removeEventListener("keydown", handleKeydown);
|
|
3470
|
+
}
|
|
3471
|
+
});
|
|
3472
|
+
const iconMap = {
|
|
3473
|
+
info: ionicons5.InformationCircleOutline,
|
|
3474
|
+
success: ionicons5.CheckmarkCircleOutline,
|
|
3475
|
+
warning: ionicons5.WarningOutline,
|
|
3476
|
+
failed: ionicons5.AlertCircleOutline,
|
|
3477
|
+
primary: ionicons5.InformationCircleOutline,
|
|
3478
|
+
default: ionicons5.InformationCircleOutline
|
|
3479
|
+
};
|
|
3480
|
+
const hasIcon = vue.computed(() => props.type && props.type !== "default");
|
|
3481
|
+
return (_ctx, _cache) => {
|
|
3482
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
3483
|
+
vue.createVNode(vue.Transition, { name: "f-dialog-fade" }, {
|
|
3484
|
+
default: vue.withCtx(() => [
|
|
3485
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3486
|
+
key: 0,
|
|
3487
|
+
class: "f-dialog-overlay",
|
|
3488
|
+
onClick: handleOverlayClick
|
|
3489
|
+
}, [
|
|
3490
|
+
vue.createVNode(vue.Transition, { name: "f-dialog-zoom" }, {
|
|
3491
|
+
default: vue.withCtx(() => [
|
|
3492
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3493
|
+
key: 0,
|
|
3494
|
+
class: vue.normalizeClass(["f-dialog", [
|
|
3495
|
+
`f-dialog--${_ctx.type}`,
|
|
3496
|
+
{
|
|
3497
|
+
"is-center": _ctx.center,
|
|
3498
|
+
"is-fullscreen": _ctx.fullscreen
|
|
3499
|
+
}
|
|
3500
|
+
]]),
|
|
3501
|
+
style: vue.normalizeStyle({ width: _ctx.fullscreen ? "100%" : _ctx.width })
|
|
3502
|
+
}, [
|
|
3503
|
+
_ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3504
|
+
key: 0,
|
|
3505
|
+
type: "button",
|
|
3506
|
+
class: "f-dialog__close",
|
|
3507
|
+
onClick: handleClose
|
|
3508
|
+
}, [
|
|
3509
|
+
vue.createVNode(FIcon$2, null, {
|
|
3510
|
+
default: vue.withCtx(() => [
|
|
3511
|
+
vue.createVNode(vue.unref(ionicons5.CloseOutline))
|
|
3512
|
+
]),
|
|
3513
|
+
_: 1
|
|
3514
|
+
})
|
|
3515
|
+
])) : vue.createCommentVNode("", true),
|
|
3516
|
+
_ctx.$slots.header || _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3517
|
+
key: 1,
|
|
3518
|
+
class: vue.normalizeClass(["f-dialog__header", { "has-icon": vue.unref(hasIcon) }])
|
|
3519
|
+
}, [
|
|
3520
|
+
vue.renderSlot(_ctx.$slots, "header", {}, () => [
|
|
3521
|
+
vue.unref(hasIcon) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
|
|
3522
|
+
vue.createVNode(FIcon$2, null, {
|
|
3523
|
+
default: vue.withCtx(() => [
|
|
3524
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(iconMap[_ctx.type])))
|
|
3525
|
+
]),
|
|
3526
|
+
_: 1
|
|
3527
|
+
})
|
|
3528
|
+
])) : vue.createCommentVNode("", true),
|
|
3529
|
+
vue.createElementVNode("h3", _hoisted_2$g, vue.toDisplayString(_ctx.title), 1)
|
|
3530
|
+
], true)
|
|
3531
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
3532
|
+
vue.createElementVNode("div", _hoisted_3$g, [
|
|
3533
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
3534
|
+
_ctx.content ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$a, vue.toDisplayString(_ctx.content), 1)) : vue.createCommentVNode("", true)
|
|
3535
|
+
], true)
|
|
3536
|
+
]),
|
|
3537
|
+
_ctx.$slots.footer || _ctx.showCancel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$9, [
|
|
3538
|
+
vue.renderSlot(_ctx.$slots, "footer", {}, () => [
|
|
3539
|
+
_ctx.showCancel ? (vue.openBlock(), vue.createBlock(FButton$2, {
|
|
3540
|
+
key: 0,
|
|
3541
|
+
onClick: handleCancel
|
|
3542
|
+
}, {
|
|
3543
|
+
default: vue.withCtx(() => [
|
|
3544
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.cancelText), 1)
|
|
3545
|
+
]),
|
|
3546
|
+
_: 1
|
|
3547
|
+
})) : vue.createCommentVNode("", true),
|
|
3548
|
+
vue.createVNode(FButton$2, {
|
|
3549
|
+
type: "primary",
|
|
3550
|
+
onClick: handleConfirm
|
|
3551
|
+
}, {
|
|
3552
|
+
default: vue.withCtx(() => [
|
|
3553
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.confirmText), 1)
|
|
3554
|
+
]),
|
|
3555
|
+
_: 1
|
|
3556
|
+
})
|
|
3557
|
+
], true)
|
|
3558
|
+
])) : vue.createCommentVNode("", true)
|
|
3559
|
+
], 6)) : vue.createCommentVNode("", true)
|
|
3560
|
+
]),
|
|
3561
|
+
_: 3
|
|
3562
|
+
})
|
|
3563
|
+
])) : vue.createCommentVNode("", true)
|
|
3564
|
+
]),
|
|
3565
|
+
_: 3
|
|
3566
|
+
})
|
|
3567
|
+
]);
|
|
3568
|
+
};
|
|
3569
|
+
}
|
|
3570
|
+
});
|
|
3571
|
+
const FDialogComp$1 = /* @__PURE__ */ _export_sfc$2(_sfc_main$p, [["__scopeId", "data-v-991352de"]]);
|
|
3572
|
+
const showDialog$1 = (options) => {
|
|
3573
|
+
return new Promise((resolve) => {
|
|
3574
|
+
const container = document.createElement("div");
|
|
3575
|
+
document.body.appendChild(container);
|
|
3576
|
+
const visible = vue.ref(true);
|
|
3577
|
+
const handleConfirm = () => {
|
|
3578
|
+
cleanup();
|
|
3579
|
+
resolve(true);
|
|
3580
|
+
};
|
|
3581
|
+
const handleCancel = () => {
|
|
3582
|
+
cleanup();
|
|
3583
|
+
resolve(false);
|
|
3584
|
+
};
|
|
3585
|
+
const handleClose = () => {
|
|
3586
|
+
cleanup();
|
|
3587
|
+
resolve(false);
|
|
3588
|
+
};
|
|
3589
|
+
const cleanup = () => {
|
|
3590
|
+
visible.value = false;
|
|
3591
|
+
setTimeout(() => {
|
|
3592
|
+
vue.render(null, container);
|
|
3593
|
+
document.body.removeChild(container);
|
|
3594
|
+
}, 300);
|
|
3595
|
+
};
|
|
3596
|
+
const vnode = vue.h(FDialogComp$1, __spreadValues2({
|
|
3597
|
+
modelValue: visible.value,
|
|
3598
|
+
"onUpdate:modelValue": (val) => {
|
|
3599
|
+
visible.value = val;
|
|
3600
|
+
if (!val) {
|
|
3601
|
+
cleanup();
|
|
3602
|
+
}
|
|
3603
|
+
},
|
|
3604
|
+
onConfirm: handleConfirm,
|
|
3605
|
+
onCancel: handleCancel,
|
|
3606
|
+
onClose: handleClose
|
|
3607
|
+
}, options));
|
|
3608
|
+
vue.render(vnode, container);
|
|
3609
|
+
});
|
|
3610
|
+
};
|
|
3611
|
+
const confirm$1 = (content, title = "确认") => {
|
|
3612
|
+
return showDialog$1({
|
|
3613
|
+
title,
|
|
3614
|
+
content,
|
|
3615
|
+
type: "warning",
|
|
3616
|
+
showCancel: true,
|
|
3617
|
+
center: true
|
|
3618
|
+
});
|
|
3619
|
+
};
|
|
3620
|
+
const alert$1 = (content, title = "提示", type = "info") => {
|
|
3621
|
+
return showDialog$1({
|
|
3622
|
+
title,
|
|
3623
|
+
content,
|
|
3624
|
+
type,
|
|
3625
|
+
showCancel: false,
|
|
3626
|
+
confirmText: "知道了",
|
|
3627
|
+
center: true
|
|
3628
|
+
});
|
|
3629
|
+
};
|
|
3630
|
+
const success$1 = (content, title = "成功") => {
|
|
3631
|
+
return alert$1(content, title, "success");
|
|
3632
|
+
};
|
|
3633
|
+
const warning$1 = (content, title = "警告") => {
|
|
3634
|
+
return alert$1(content, title, "warning");
|
|
3635
|
+
};
|
|
3636
|
+
const failed$1 = (content, title = "错误") => {
|
|
3637
|
+
return alert$1(content, title, "failed");
|
|
3638
|
+
};
|
|
3639
|
+
const info$1 = (content, title = "提示") => {
|
|
3640
|
+
return alert$1(content, title, "info");
|
|
3641
|
+
};
|
|
3642
|
+
const FDialog$1 = (options) => {
|
|
3643
|
+
return showDialog$1(options);
|
|
3644
|
+
};
|
|
3645
|
+
FDialog$1.showDialog = showDialog$1;
|
|
3646
|
+
FDialog$1.confirm = confirm$1;
|
|
3647
|
+
FDialog$1.alert = alert$1;
|
|
3648
|
+
FDialog$1.success = success$1;
|
|
3649
|
+
FDialog$1.warning = warning$1;
|
|
3650
|
+
FDialog$1.failed = failed$1;
|
|
3651
|
+
FDialog$1.info = info$1;
|
|
3652
|
+
const _hoisted_1$i = ["type", "disabled"];
|
|
3653
|
+
const _hoisted_2$e = { class: "f-button__inner" };
|
|
3654
|
+
const _hoisted_3$e = {
|
|
1451
3655
|
key: 0,
|
|
1452
3656
|
class: "f-loader"
|
|
1453
3657
|
};
|
|
3658
|
+
const _hoisted_4$8 = {
|
|
3659
|
+
key: 2,
|
|
3660
|
+
class: "f-button__text"
|
|
3661
|
+
};
|
|
1454
3662
|
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
1455
3663
|
__name: "FButton",
|
|
1456
3664
|
props: {
|
|
@@ -1462,6 +3670,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1462
3670
|
round: { type: [Boolean, Number] },
|
|
1463
3671
|
circle: { type: Boolean },
|
|
1464
3672
|
plain: { type: Boolean },
|
|
3673
|
+
text: { type: Boolean },
|
|
1465
3674
|
block: { type: Boolean },
|
|
1466
3675
|
icon: {},
|
|
1467
3676
|
active: { type: Boolean },
|
|
@@ -1475,6 +3684,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1475
3684
|
large: { h: "40px", p: "0 16px", f: "14px", i: "18px" }
|
|
1476
3685
|
};
|
|
1477
3686
|
const props = __props;
|
|
3687
|
+
const slots = vue.useSlots();
|
|
1478
3688
|
const groupContext = vue.inject("FButtonGroupContext", null);
|
|
1479
3689
|
const mergedSize = vue.computed(() => {
|
|
1480
3690
|
var _a, _b;
|
|
@@ -1485,6 +3695,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1485
3695
|
return (_b = (_a = props.type) != null ? _a : groupContext == null ? void 0 : groupContext.type) != null ? _b : "default";
|
|
1486
3696
|
});
|
|
1487
3697
|
const isDisabled = vue.computed(() => props.disabled || props.loading || (groupContext == null ? void 0 : groupContext.disabled));
|
|
3698
|
+
const hasText = vue.computed(() => !!slots.default);
|
|
1488
3699
|
const buttonStyle = vue.computed(() => {
|
|
1489
3700
|
const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
|
|
1490
3701
|
const style = {
|
|
@@ -1505,26 +3716,52 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1505
3716
|
}
|
|
1506
3717
|
return style;
|
|
1507
3718
|
});
|
|
3719
|
+
const iconSize = vue.computed(() => {
|
|
3720
|
+
const s = SIZE_MAP[mergedSize.value] || SIZE_MAP.normal;
|
|
3721
|
+
return s.i;
|
|
3722
|
+
});
|
|
1508
3723
|
return (_ctx, _cache) => {
|
|
1509
3724
|
return vue.openBlock(), vue.createElementBlock("button", {
|
|
1510
3725
|
type: _ctx.nativeType,
|
|
1511
3726
|
class: vue.normalizeClass(["f-button", [
|
|
1512
3727
|
`f-button--${vue.unref(mergedType)}`,
|
|
1513
3728
|
`f-button--${vue.unref(mergedSize)}`,
|
|
1514
|
-
{
|
|
3729
|
+
{
|
|
3730
|
+
"is-disabled": vue.unref(isDisabled),
|
|
3731
|
+
"is-loading": _ctx.loading,
|
|
3732
|
+
"is-active": _ctx.active,
|
|
3733
|
+
"is-text": _ctx.text,
|
|
3734
|
+
"is-icon-only": !vue.unref(hasText) && (_ctx.icon || _ctx.$slots.icon)
|
|
3735
|
+
}
|
|
1515
3736
|
]]),
|
|
1516
3737
|
disabled: vue.unref(isDisabled),
|
|
1517
3738
|
style: vue.normalizeStyle(vue.unref(buttonStyle))
|
|
1518
3739
|
}, [
|
|
1519
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
1520
|
-
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
1521
|
-
vue.
|
|
3740
|
+
vue.createElementVNode("span", _hoisted_2$e, [
|
|
3741
|
+
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$e)) : vue.createCommentVNode("", true),
|
|
3742
|
+
!_ctx.loading ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
3743
|
+
_ctx.$slots.icon || _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(FIcon$2), {
|
|
3744
|
+
key: 0,
|
|
3745
|
+
class: "f-button__icon",
|
|
3746
|
+
style: vue.normalizeStyle({ fontSize: vue.unref(iconSize) })
|
|
3747
|
+
}, {
|
|
3748
|
+
default: vue.withCtx(() => [
|
|
3749
|
+
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
3750
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon), { key: 0 })) : vue.createCommentVNode("", true)
|
|
3751
|
+
], true)
|
|
3752
|
+
]),
|
|
3753
|
+
_: 3
|
|
3754
|
+
}, 8, ["style"])) : vue.createCommentVNode("", true)
|
|
3755
|
+
], 64)) : vue.createCommentVNode("", true),
|
|
3756
|
+
vue.unref(hasText) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$8, [
|
|
3757
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
3758
|
+
])) : vue.createCommentVNode("", true)
|
|
1522
3759
|
])
|
|
1523
|
-
], 14, _hoisted_1$
|
|
3760
|
+
], 14, _hoisted_1$i);
|
|
1524
3761
|
};
|
|
1525
3762
|
}
|
|
1526
3763
|
});
|
|
1527
|
-
const FButton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-
|
|
3764
|
+
const FButton = /* @__PURE__ */ _export_sfc$3(_sfc_main$o, [["__scopeId", "data-v-41be5001"]]);
|
|
1528
3765
|
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
1529
3766
|
__name: "FTypography",
|
|
1530
3767
|
props: {
|
|
@@ -1547,7 +3784,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1547
3784
|
};
|
|
1548
3785
|
}
|
|
1549
3786
|
});
|
|
1550
|
-
const FTypography = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-50e044db"]]);
|
|
3787
|
+
const FTypography = /* @__PURE__ */ _export_sfc$3(_sfc_main$n, [["__scopeId", "data-v-50e044db"]]);
|
|
1551
3788
|
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
1552
3789
|
__name: "FText",
|
|
1553
3790
|
props: {
|
|
@@ -1606,8 +3843,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1606
3843
|
};
|
|
1607
3844
|
}
|
|
1608
3845
|
});
|
|
1609
|
-
const FText = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-8bcfc6b3"]]);
|
|
1610
|
-
const _hoisted_1$
|
|
3846
|
+
const FText = /* @__PURE__ */ _export_sfc$3(_sfc_main$m, [["__scopeId", "data-v-8bcfc6b3"]]);
|
|
3847
|
+
const _hoisted_1$h = ["href", "target", "rel"];
|
|
1611
3848
|
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
1612
3849
|
__name: "FLink",
|
|
1613
3850
|
props: {
|
|
@@ -1631,12 +3868,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1631
3868
|
rel: props.target === "_blank" ? "noopener noreferrer" : void 0
|
|
1632
3869
|
}, [
|
|
1633
3870
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1634
|
-
], 10, _hoisted_1$
|
|
3871
|
+
], 10, _hoisted_1$h);
|
|
1635
3872
|
};
|
|
1636
3873
|
}
|
|
1637
3874
|
});
|
|
1638
|
-
const FLink = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-daaa3e25"]]);
|
|
1639
|
-
const _hoisted_1$
|
|
3875
|
+
const FLink = /* @__PURE__ */ _export_sfc$3(_sfc_main$l, [["__scopeId", "data-v-daaa3e25"]]);
|
|
3876
|
+
const _hoisted_1$g = { class: "f-badge" };
|
|
1640
3877
|
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
1641
3878
|
__name: "FBadge",
|
|
1642
3879
|
props: {
|
|
@@ -1666,7 +3903,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1666
3903
|
return map[props.placement];
|
|
1667
3904
|
});
|
|
1668
3905
|
return (_ctx, _cache) => {
|
|
1669
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3906
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
|
|
1670
3907
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
1671
3908
|
_ctx.dot || _ctx.value !== void 0 && _ctx.value !== "" ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
1672
3909
|
key: 0,
|
|
@@ -1677,7 +3914,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1677
3914
|
};
|
|
1678
3915
|
}
|
|
1679
3916
|
});
|
|
1680
|
-
const FBadge = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-be6947ff"]]);
|
|
3917
|
+
const FBadge = /* @__PURE__ */ _export_sfc$3(_sfc_main$k, [["__scopeId", "data-v-be6947ff"]]);
|
|
1681
3918
|
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
1682
3919
|
__name: "FAffix",
|
|
1683
3920
|
props: {
|
|
@@ -1706,7 +3943,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1706
3943
|
};
|
|
1707
3944
|
}
|
|
1708
3945
|
});
|
|
1709
|
-
const FAffix = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-8506d679"]]);
|
|
3946
|
+
const FAffix = /* @__PURE__ */ _export_sfc$3(_sfc_main$j, [["__scopeId", "data-v-8506d679"]]);
|
|
1710
3947
|
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
1711
3948
|
__name: "FForm",
|
|
1712
3949
|
props: {
|
|
@@ -1764,7 +4001,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1764
4001
|
};
|
|
1765
4002
|
}
|
|
1766
4003
|
});
|
|
1767
|
-
const FForm = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-21f7de9b"]]);
|
|
4004
|
+
const FForm = /* @__PURE__ */ _export_sfc$3(_sfc_main$i, [["__scopeId", "data-v-21f7de9b"]]);
|
|
1768
4005
|
const validateSingleField = (value, rules) => __async(null, null, function* () {
|
|
1769
4006
|
const ruleArray = Array.isArray(rules) ? rules : [rules];
|
|
1770
4007
|
for (let rule of ruleArray) {
|
|
@@ -1846,12 +4083,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1846
4083
|
}
|
|
1847
4084
|
return void 0;
|
|
1848
4085
|
};
|
|
1849
|
-
const _hoisted_1$
|
|
4086
|
+
const _hoisted_1$f = {
|
|
1850
4087
|
key: 0,
|
|
1851
4088
|
class: "star"
|
|
1852
4089
|
};
|
|
1853
|
-
const _hoisted_2$
|
|
1854
|
-
const _hoisted_3$
|
|
4090
|
+
const _hoisted_2$d = { class: "f-form-item__content" };
|
|
4091
|
+
const _hoisted_3$d = {
|
|
1855
4092
|
key: 0,
|
|
1856
4093
|
class: "f-form-item__error"
|
|
1857
4094
|
};
|
|
@@ -1921,14 +4158,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1921
4158
|
textAlign: vue.unref(labelPosition) === "top" ? "left" : vue.unref(labelPosition)
|
|
1922
4159
|
})
|
|
1923
4160
|
}, [
|
|
1924
|
-
vue.unref(isRequired) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$
|
|
4161
|
+
vue.unref(isRequired) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$f, "*")) : vue.createCommentVNode("", true),
|
|
1925
4162
|
vue.createTextVNode(" " + vue.toDisplayString(_ctx.label) + ": ", 1)
|
|
1926
4163
|
], 4)) : vue.createCommentVNode("", true),
|
|
1927
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
4164
|
+
vue.createElementVNode("div", _hoisted_2$d, [
|
|
1928
4165
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
1929
4166
|
vue.createVNode(vue.Transition, { name: "err-slide" }, {
|
|
1930
4167
|
default: vue.withCtx(() => [
|
|
1931
|
-
vue.unref(errorMsg) ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$
|
|
4168
|
+
vue.unref(errorMsg) ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$d, vue.toDisplayString(vue.unref(errorMsg)), 1)) : vue.createCommentVNode("", true)
|
|
1932
4169
|
]),
|
|
1933
4170
|
_: 1
|
|
1934
4171
|
})
|
|
@@ -1937,10 +4174,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1937
4174
|
};
|
|
1938
4175
|
}
|
|
1939
4176
|
});
|
|
1940
|
-
const FFormItem = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-c3d6ec01"]]);
|
|
1941
|
-
const _hoisted_1$
|
|
1942
|
-
const _hoisted_2$
|
|
1943
|
-
const _hoisted_3$
|
|
4177
|
+
const FFormItem = /* @__PURE__ */ _export_sfc$3(_sfc_main$h, [["__scopeId", "data-v-c3d6ec01"]]);
|
|
4178
|
+
const _hoisted_1$e = { class: "f-checkbox__wrapper" };
|
|
4179
|
+
const _hoisted_2$c = ["checked", "disabled"];
|
|
4180
|
+
const _hoisted_3$c = {
|
|
1944
4181
|
key: 0,
|
|
1945
4182
|
class: "f-checkbox__label"
|
|
1946
4183
|
};
|
|
@@ -1966,24 +4203,24 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1966
4203
|
return vue.openBlock(), vue.createElementBlock("label", {
|
|
1967
4204
|
class: vue.normalizeClass(["f-checkbox", { "is-disabled": _ctx.disabled }])
|
|
1968
4205
|
}, [
|
|
1969
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
4206
|
+
vue.createElementVNode("span", _hoisted_1$e, [
|
|
1970
4207
|
vue.createElementVNode("input", {
|
|
1971
4208
|
type: "checkbox",
|
|
1972
4209
|
checked: modelValue.value,
|
|
1973
4210
|
disabled: _ctx.disabled,
|
|
1974
4211
|
onChange: handleChange
|
|
1975
|
-
}, null, 40, _hoisted_2$
|
|
4212
|
+
}, null, 40, _hoisted_2$c),
|
|
1976
4213
|
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "f-checkbox__checkmark" }, null, -1))
|
|
1977
4214
|
]),
|
|
1978
|
-
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
4215
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true)
|
|
1979
4216
|
], 2);
|
|
1980
4217
|
};
|
|
1981
4218
|
}
|
|
1982
4219
|
});
|
|
1983
|
-
const FCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-633b283a"]]);
|
|
1984
|
-
const _hoisted_1$
|
|
1985
|
-
const _hoisted_2$
|
|
1986
|
-
const _hoisted_3$
|
|
4220
|
+
const FCheckbox = /* @__PURE__ */ _export_sfc$3(_sfc_main$g, [["__scopeId", "data-v-633b283a"]]);
|
|
4221
|
+
const _hoisted_1$d = { class: "alert__body" };
|
|
4222
|
+
const _hoisted_2$b = { class: "alert__title" };
|
|
4223
|
+
const _hoisted_3$b = { class: "alert__content" };
|
|
1987
4224
|
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
1988
4225
|
__name: "FAlert",
|
|
1989
4226
|
props: {
|
|
@@ -2004,15 +4241,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2004
4241
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2005
4242
|
class: vue.normalizeClass(["alert", `alert--${_ctx.type}`])
|
|
2006
4243
|
}, [
|
|
2007
|
-
vue.createVNode(FIcon, { class: "alert__icon" }, {
|
|
4244
|
+
vue.createVNode(FIcon$3, { class: "alert__icon" }, {
|
|
2008
4245
|
default: vue.withCtx(() => [
|
|
2009
4246
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(config).icon)))
|
|
2010
4247
|
]),
|
|
2011
4248
|
_: 1
|
|
2012
4249
|
}),
|
|
2013
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
2014
|
-
vue.createElementVNode("h4", _hoisted_2$
|
|
2015
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
4250
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
4251
|
+
vue.createElementVNode("h4", _hoisted_2$b, vue.toDisplayString((_a = _ctx.title) != null ? _a : vue.unref(config).label), 1),
|
|
4252
|
+
vue.createElementVNode("div", _hoisted_3$b, [
|
|
2016
4253
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
2017
4254
|
vue.createTextVNode(vue.toDisplayString(_ctx.content), 1)
|
|
2018
4255
|
], true)
|
|
@@ -2022,12 +4259,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2022
4259
|
};
|
|
2023
4260
|
}
|
|
2024
4261
|
});
|
|
2025
|
-
const FAlert = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-f16678ef"]]);
|
|
2026
|
-
const _hoisted_1$
|
|
2027
|
-
const _hoisted_2$
|
|
2028
|
-
const _hoisted_3$
|
|
2029
|
-
const _hoisted_4$
|
|
2030
|
-
const _hoisted_5$
|
|
4262
|
+
const FAlert = /* @__PURE__ */ _export_sfc$3(_sfc_main$f, [["__scopeId", "data-v-f16678ef"]]);
|
|
4263
|
+
const _hoisted_1$c = { class: "f-editor__toolbar" };
|
|
4264
|
+
const _hoisted_2$a = { class: "f-editor__status" };
|
|
4265
|
+
const _hoisted_3$a = { class: "f-editor__lines" };
|
|
4266
|
+
const _hoisted_4$7 = { class: "f-editor__code-wrapper" };
|
|
4267
|
+
const _hoisted_5$7 = ["innerHTML"];
|
|
2031
4268
|
const _hoisted_6$5 = ["rows", "readonly", "placeholder"];
|
|
2032
4269
|
const LINE_HEIGHT_PX = 17.6;
|
|
2033
4270
|
const PADDING_TOP_PX = 12;
|
|
@@ -2199,9 +4436,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2199
4436
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2200
4437
|
class: vue.normalizeClass(["f-editor", { "f-editor--invalid": !vue.unref(isJsonValid) }])
|
|
2201
4438
|
}, [
|
|
2202
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
2203
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
2204
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
4439
|
+
vue.createElementVNode("div", _hoisted_1$c, [
|
|
4440
|
+
vue.createElementVNode("span", _hoisted_2$a, [
|
|
4441
|
+
vue.createElementVNode("span", _hoisted_3$a, vue.toDisplayString(vue.unref(lineCount)) + " 行", 1),
|
|
2205
4442
|
vue.unref(isHeavy) ? (vue.openBlock(), vue.createBlock(FTag, {
|
|
2206
4443
|
key: 0,
|
|
2207
4444
|
color: "orange",
|
|
@@ -2239,7 +4476,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2239
4476
|
}, vue.toDisplayString(ln), 3);
|
|
2240
4477
|
}), 128))
|
|
2241
4478
|
], 512)) : vue.createCommentVNode("", true),
|
|
2242
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
4479
|
+
vue.createElementVNode("div", _hoisted_4$7, [
|
|
2243
4480
|
vue.createElementVNode("div", {
|
|
2244
4481
|
class: "f-editor__active-line",
|
|
2245
4482
|
style: vue.normalizeStyle({
|
|
@@ -2257,7 +4494,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2257
4494
|
key: line.lineNo,
|
|
2258
4495
|
class: "f-editor__line",
|
|
2259
4496
|
innerHTML: line.html + "\n"
|
|
2260
|
-
}, null, 8, _hoisted_5$
|
|
4497
|
+
}, null, 8, _hoisted_5$7);
|
|
2261
4498
|
}), 128))
|
|
2262
4499
|
], 512),
|
|
2263
4500
|
vue.withDirectives(vue.createElementVNode("textarea", {
|
|
@@ -2284,18 +4521,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2284
4521
|
};
|
|
2285
4522
|
}
|
|
2286
4523
|
});
|
|
2287
|
-
const FEditor = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-6d590649"]]);
|
|
2288
|
-
const _hoisted_1$
|
|
2289
|
-
const _hoisted_2$
|
|
4524
|
+
const FEditor = /* @__PURE__ */ _export_sfc$3(_sfc_main$e, [["__scopeId", "data-v-6d590649"]]);
|
|
4525
|
+
const _hoisted_1$b = { class: "f-table" };
|
|
4526
|
+
const _hoisted_2$9 = {
|
|
2290
4527
|
key: 0,
|
|
2291
4528
|
class: "f-table__loading"
|
|
2292
4529
|
};
|
|
2293
|
-
const _hoisted_3$
|
|
2294
|
-
const _hoisted_4$
|
|
4530
|
+
const _hoisted_3$9 = { class: "f-table__inner" };
|
|
4531
|
+
const _hoisted_4$6 = {
|
|
2295
4532
|
key: 0,
|
|
2296
4533
|
class: "f-table__col--index"
|
|
2297
4534
|
};
|
|
2298
|
-
const _hoisted_5$
|
|
4535
|
+
const _hoisted_5$6 = { class: "f-table__head" };
|
|
2299
4536
|
const _hoisted_6$4 = {
|
|
2300
4537
|
key: 0,
|
|
2301
4538
|
class: "f-table__th f-table__th--index"
|
|
@@ -2382,8 +4619,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2382
4619
|
scrollTop.value = 0;
|
|
2383
4620
|
});
|
|
2384
4621
|
return (_ctx, _cache) => {
|
|
2385
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2386
|
-
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
4622
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
4623
|
+
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
|
|
2387
4624
|
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "spinner" }, null, -1)),
|
|
2388
4625
|
vue.createElementVNode("span", null, vue.toDisplayString(_ctx.loadingText), 1)
|
|
2389
4626
|
])) : vue.createCommentVNode("", true),
|
|
@@ -2393,9 +4630,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2393
4630
|
ref: scrollEl,
|
|
2394
4631
|
onScroll
|
|
2395
4632
|
}, [
|
|
2396
|
-
vue.createElementVNode("table", _hoisted_3$
|
|
4633
|
+
vue.createElementVNode("table", _hoisted_3$9, [
|
|
2397
4634
|
vue.createElementVNode("colgroup", null, [
|
|
2398
|
-
_ctx.showIndex ? (vue.openBlock(), vue.createElementBlock("col", _hoisted_4$
|
|
4635
|
+
_ctx.showIndex ? (vue.openBlock(), vue.createElementBlock("col", _hoisted_4$6)) : vue.createCommentVNode("", true),
|
|
2399
4636
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, (col) => {
|
|
2400
4637
|
var _a, _b;
|
|
2401
4638
|
return vue.openBlock(), vue.createElementBlock("col", {
|
|
@@ -2407,7 +4644,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2407
4644
|
}, null, 4);
|
|
2408
4645
|
}), 128))
|
|
2409
4646
|
]),
|
|
2410
|
-
vue.createElementVNode("thead", _hoisted_5$
|
|
4647
|
+
vue.createElementVNode("thead", _hoisted_5$6, [
|
|
2411
4648
|
vue.createElementVNode("tr", null, [
|
|
2412
4649
|
_ctx.showIndex ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_6$4, "#")) : vue.createCommentVNode("", true),
|
|
2413
4650
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, (col) => {
|
|
@@ -2489,73 +4726,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2489
4726
|
};
|
|
2490
4727
|
}
|
|
2491
4728
|
});
|
|
2492
|
-
const FTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-01724962"]]);
|
|
2493
|
-
const
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
maskColor: { default: "black" },
|
|
2498
|
-
showMask: { type: Boolean, default: true }
|
|
2499
|
-
}, {
|
|
2500
|
-
"modelValue": __spreadValues({ type: Boolean }, { default: false }),
|
|
2501
|
-
"modelModifiers": {}
|
|
2502
|
-
}),
|
|
2503
|
-
emits: ["update:modelValue"],
|
|
2504
|
-
setup(__props) {
|
|
2505
|
-
const props = __props;
|
|
2506
|
-
const visible = vue.useModel(__props, "modelValue");
|
|
2507
|
-
const handleMaskClick = () => {
|
|
2508
|
-
if (props.maskClosable) visible.value = false;
|
|
2509
|
-
};
|
|
2510
|
-
const maskBackgroundColor = vue.computed(() => {
|
|
2511
|
-
if (!props.showMask) return "transparent";
|
|
2512
|
-
switch (props.maskColor) {
|
|
2513
|
-
case "white":
|
|
2514
|
-
return "rgba(255, 255, 255, 0.5)";
|
|
2515
|
-
case "black":
|
|
2516
|
-
return "rgba(0, 0, 0, 0.5)";
|
|
2517
|
-
case "transparent":
|
|
2518
|
-
return "transparent";
|
|
2519
|
-
default:
|
|
2520
|
-
return "rgba(0, 0, 0, 0.5)";
|
|
2521
|
-
}
|
|
2522
|
-
});
|
|
2523
|
-
return (_ctx, _cache) => {
|
|
2524
|
-
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
2525
|
-
vue.createVNode(vue.Transition, { name: "fade" }, {
|
|
2526
|
-
default: vue.withCtx(() => [
|
|
2527
|
-
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
2528
|
-
key: 0,
|
|
2529
|
-
class: "f-dialog-mask",
|
|
2530
|
-
style: vue.normalizeStyle({ backgroundColor: vue.unref(maskBackgroundColor) }),
|
|
2531
|
-
onClick: handleMaskClick
|
|
2532
|
-
}, [
|
|
2533
|
-
vue.createElementVNode("div", {
|
|
2534
|
-
class: "f-dialog-container",
|
|
2535
|
-
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
2536
|
-
}, ["stop"]))
|
|
2537
|
-
}, [
|
|
2538
|
-
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
2539
|
-
])
|
|
2540
|
-
], 4)) : vue.createCommentVNode("", true)
|
|
2541
|
-
]),
|
|
2542
|
-
_: 3
|
|
2543
|
-
})
|
|
2544
|
-
]);
|
|
2545
|
-
};
|
|
2546
|
-
}
|
|
2547
|
-
});
|
|
2548
|
-
const FDialog = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-31496822"]]);
|
|
2549
|
-
const _hoisted_1$9 = { class: "f-upload" };
|
|
2550
|
-
const _hoisted_2$7 = { class: "f-upload__label" };
|
|
2551
|
-
const _hoisted_3$7 = ["accept"];
|
|
2552
|
-
const _hoisted_4$4 = {
|
|
4729
|
+
const FTable = /* @__PURE__ */ _export_sfc$3(_sfc_main$d, [["__scopeId", "data-v-01724962"]]);
|
|
4730
|
+
const _hoisted_1$a = { class: "f-upload" };
|
|
4731
|
+
const _hoisted_2$8 = { class: "f-upload__label" };
|
|
4732
|
+
const _hoisted_3$8 = ["accept"];
|
|
4733
|
+
const _hoisted_4$5 = {
|
|
2553
4734
|
key: 0,
|
|
2554
4735
|
class: "f-upload__file-item"
|
|
2555
4736
|
};
|
|
2556
|
-
const _hoisted_5$
|
|
4737
|
+
const _hoisted_5$5 = { class: "f-upload__file-info" };
|
|
2557
4738
|
const _hoisted_6$3 = { class: "f-upload__file-name" };
|
|
2558
|
-
const _sfc_main$
|
|
4739
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
2559
4740
|
__name: "FUpload",
|
|
2560
4741
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
2561
4742
|
accept: {},
|
|
@@ -2606,22 +4787,22 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2606
4787
|
emit("change", f);
|
|
2607
4788
|
};
|
|
2608
4789
|
return (_ctx, _cache) => {
|
|
2609
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4790
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
|
|
2610
4791
|
vue.createElementVNode("div", {
|
|
2611
4792
|
class: vue.normalizeClass(["f-upload__zone", { "f-upload--drag": vue.unref(dragActive) }]),
|
|
2612
4793
|
onDragover: onDragOver,
|
|
2613
4794
|
onDragleave: onDragLeave,
|
|
2614
4795
|
onDrop
|
|
2615
4796
|
}, [
|
|
2616
|
-
vue.createElementVNode("label", _hoisted_2$
|
|
4797
|
+
vue.createElementVNode("label", _hoisted_2$8, [
|
|
2617
4798
|
vue.createElementVNode("input", {
|
|
2618
4799
|
type: "file",
|
|
2619
4800
|
accept: _ctx.accept,
|
|
2620
4801
|
class: "f-upload__input",
|
|
2621
4802
|
onChange: onFileChange
|
|
2622
|
-
}, null, 40, _hoisted_3$
|
|
4803
|
+
}, null, 40, _hoisted_3$8),
|
|
2623
4804
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
2624
|
-
vue.createVNode(FIcon, { size: 40 }, {
|
|
4805
|
+
vue.createVNode(FIcon$3, { size: 40 }, {
|
|
2625
4806
|
default: vue.withCtx(() => [
|
|
2626
4807
|
vue.createVNode(vue.unref(ionicons5.CloudUpload))
|
|
2627
4808
|
]),
|
|
@@ -2632,14 +4813,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2632
4813
|
], true)
|
|
2633
4814
|
])
|
|
2634
4815
|
], 34),
|
|
2635
|
-
file.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
2636
|
-
vue.createVNode(FIcon, null, {
|
|
4816
|
+
file.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
|
|
4817
|
+
vue.createVNode(FIcon$3, null, {
|
|
2637
4818
|
default: vue.withCtx(() => [
|
|
2638
4819
|
vue.createVNode(vue.unref(ionicons5.DocumentOutline))
|
|
2639
4820
|
]),
|
|
2640
4821
|
_: 1
|
|
2641
4822
|
}),
|
|
2642
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
4823
|
+
vue.createElementVNode("div", _hoisted_5$5, [
|
|
2643
4824
|
vue.createElementVNode("span", _hoisted_6$3, vue.toDisplayString(file.value), 1),
|
|
2644
4825
|
_ctx.progress != null ? (vue.openBlock(), vue.createBlock(FProgress, {
|
|
2645
4826
|
key: 0,
|
|
@@ -2647,7 +4828,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2647
4828
|
"show-text": ""
|
|
2648
4829
|
}, null, 8, ["percent"])) : vue.createCommentVNode("", true)
|
|
2649
4830
|
]),
|
|
2650
|
-
vue.createVNode(FIcon, {
|
|
4831
|
+
vue.createVNode(FIcon$3, {
|
|
2651
4832
|
onClick: vue.withModifiers(clearFile, ["stop"]),
|
|
2652
4833
|
onMouseenter: _cache[0] || (_cache[0] = ($event) => isCloseHover.value = true),
|
|
2653
4834
|
onMouseleave: _cache[1] || (_cache[1] = ($event) => isCloseHover.value = false),
|
|
@@ -2663,8 +4844,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2663
4844
|
};
|
|
2664
4845
|
}
|
|
2665
4846
|
});
|
|
2666
|
-
const FUpload = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2667
|
-
const _sfc_main$
|
|
4847
|
+
const FUpload = /* @__PURE__ */ _export_sfc$3(_sfc_main$c, [["__scopeId", "data-v-07b95a32"]]);
|
|
4848
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
2668
4849
|
__name: "FButtonGroup",
|
|
2669
4850
|
props: {
|
|
2670
4851
|
size: { default: "normal" },
|
|
@@ -2685,9 +4866,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2685
4866
|
};
|
|
2686
4867
|
}
|
|
2687
4868
|
});
|
|
2688
|
-
const FButtonGroup = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2689
|
-
const _hoisted_1$
|
|
2690
|
-
const _sfc_main$
|
|
4869
|
+
const FButtonGroup = /* @__PURE__ */ _export_sfc$3(_sfc_main$b, [["__scopeId", "data-v-62561657"]]);
|
|
4870
|
+
const _hoisted_1$9 = { class: "f-collapse" };
|
|
4871
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
2691
4872
|
__name: "FCollapse",
|
|
2692
4873
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
2693
4874
|
accordion: { type: Boolean, default: false }
|
|
@@ -2727,16 +4908,16 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2727
4908
|
})
|
|
2728
4909
|
);
|
|
2729
4910
|
return (_ctx, _cache) => {
|
|
2730
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4911
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
|
|
2731
4912
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2732
4913
|
]);
|
|
2733
4914
|
};
|
|
2734
4915
|
}
|
|
2735
4916
|
});
|
|
2736
|
-
const _hoisted_1$
|
|
2737
|
-
const _hoisted_2$
|
|
2738
|
-
const _hoisted_3$
|
|
2739
|
-
const _sfc_main$
|
|
4917
|
+
const _hoisted_1$8 = { class: "f-collapse-item__header-title" };
|
|
4918
|
+
const _hoisted_2$7 = { class: "f-collapse-item__wrapper" };
|
|
4919
|
+
const _hoisted_3$7 = { class: "f-collapse-item__content" };
|
|
4920
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
2740
4921
|
__name: "FCollapseItem",
|
|
2741
4922
|
props: {
|
|
2742
4923
|
name: {},
|
|
@@ -2780,7 +4961,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2780
4961
|
onClick: handleHeaderClick
|
|
2781
4962
|
}, [
|
|
2782
4963
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
2783
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
4964
|
+
vue.createElementVNode("span", _hoisted_1$8, vue.toDisplayString(_ctx.title), 1)
|
|
2784
4965
|
]),
|
|
2785
4966
|
_cache[0] || (_cache[0] = vue.createElementVNode("svg", {
|
|
2786
4967
|
class: "f-collapse-item__icon",
|
|
@@ -2804,8 +4985,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2804
4985
|
onLeave
|
|
2805
4986
|
}, {
|
|
2806
4987
|
default: vue.withCtx(() => [
|
|
2807
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
2808
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
4988
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$7, [
|
|
4989
|
+
vue.createElementVNode("div", _hoisted_3$7, [
|
|
2809
4990
|
vue.renderSlot(_ctx.$slots, "default")
|
|
2810
4991
|
])
|
|
2811
4992
|
], 512), [
|
|
@@ -2818,21 +4999,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
2818
4999
|
};
|
|
2819
5000
|
}
|
|
2820
5001
|
});
|
|
2821
|
-
const _hoisted_1$
|
|
2822
|
-
const _hoisted_2$
|
|
5002
|
+
const _hoisted_1$7 = { class: "f-color-picker__swatch" };
|
|
5003
|
+
const _hoisted_2$6 = {
|
|
2823
5004
|
key: 0,
|
|
2824
5005
|
class: "f-color-picker__panel"
|
|
2825
5006
|
};
|
|
2826
|
-
const _hoisted_3$
|
|
2827
|
-
const _hoisted_4$
|
|
2828
|
-
const _hoisted_5$
|
|
5007
|
+
const _hoisted_3$6 = { class: "f-color-picker__sliders" };
|
|
5008
|
+
const _hoisted_4$4 = { class: "f-color-picker__slider-group" };
|
|
5009
|
+
const _hoisted_5$4 = ["value"];
|
|
2829
5010
|
const _hoisted_6$2 = {
|
|
2830
5011
|
key: 0,
|
|
2831
5012
|
class: "f-color-picker__predefine"
|
|
2832
5013
|
};
|
|
2833
5014
|
const _hoisted_7 = ["onClick"];
|
|
2834
5015
|
const hueBackground = "linear-gradient(to right, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00)";
|
|
2835
|
-
const _sfc_main$
|
|
5016
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
2836
5017
|
__name: "FColorPicker",
|
|
2837
5018
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
2838
5019
|
showAlpha: { type: Boolean, default: false },
|
|
@@ -3058,7 +5239,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3058
5239
|
class: "f-color-picker__trigger",
|
|
3059
5240
|
onClick: togglePanel
|
|
3060
5241
|
}, [
|
|
3061
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
5242
|
+
vue.createElementVNode("div", _hoisted_1$7, [
|
|
3062
5243
|
vue.createElementVNode("span", {
|
|
3063
5244
|
class: "f-color-picker__swatch-color",
|
|
3064
5245
|
style: vue.normalizeStyle({ background: `rgba(${vue.unref(previewRgb).r}, ${vue.unref(previewRgb).g}, ${vue.unref(previewRgb).b}, ${vue.unref(hsva).a})` })
|
|
@@ -3067,7 +5248,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3067
5248
|
]),
|
|
3068
5249
|
vue.createVNode(vue.Transition, { name: "f-color-picker-fade" }, {
|
|
3069
5250
|
default: vue.withCtx(() => [
|
|
3070
|
-
vue.unref(visible) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
5251
|
+
vue.unref(visible) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$6, [
|
|
3071
5252
|
vue.createElementVNode("div", {
|
|
3072
5253
|
ref_key: "panelRef",
|
|
3073
5254
|
ref: panelRef,
|
|
@@ -3080,8 +5261,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3080
5261
|
style: vue.normalizeStyle({ left: `${vue.unref(hsva).s}%`, top: `${100 - vue.unref(hsva).v}%` })
|
|
3081
5262
|
}, null, 4)
|
|
3082
5263
|
], 36),
|
|
3083
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
3084
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
5264
|
+
vue.createElementVNode("div", _hoisted_3$6, [
|
|
5265
|
+
vue.createElementVNode("div", _hoisted_4$4, [
|
|
3085
5266
|
vue.createElementVNode("div", {
|
|
3086
5267
|
ref_key: "hueRef",
|
|
3087
5268
|
ref: hueRef,
|
|
@@ -3122,7 +5303,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3122
5303
|
value: toColorString(),
|
|
3123
5304
|
onChange: handleInputChange,
|
|
3124
5305
|
onKeydown: _cache[0] || (_cache[0] = vue.withKeys(($event) => $event.target.blur(), ["enter"]))
|
|
3125
|
-
}, null, 40, _hoisted_5$
|
|
5306
|
+
}, null, 40, _hoisted_5$4),
|
|
3126
5307
|
_ctx.predefine.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
|
|
3127
5308
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.predefine, (color) => {
|
|
3128
5309
|
return vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -3141,19 +5322,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3141
5322
|
};
|
|
3142
5323
|
}
|
|
3143
5324
|
});
|
|
3144
|
-
const _hoisted_1$
|
|
3145
|
-
const _hoisted_2$
|
|
3146
|
-
const _hoisted_3$
|
|
5325
|
+
const _hoisted_1$6 = { class: "f-empty" };
|
|
5326
|
+
const _hoisted_2$5 = ["src"];
|
|
5327
|
+
const _hoisted_3$5 = {
|
|
3147
5328
|
key: 1,
|
|
3148
5329
|
viewBox: "0 0 160 160",
|
|
3149
5330
|
class: "f-empty__image-default"
|
|
3150
5331
|
};
|
|
3151
|
-
const _hoisted_4$
|
|
3152
|
-
const _hoisted_5$
|
|
5332
|
+
const _hoisted_4$3 = { class: "f-empty__description" };
|
|
5333
|
+
const _hoisted_5$3 = {
|
|
3153
5334
|
key: 0,
|
|
3154
5335
|
class: "f-empty__extra"
|
|
3155
5336
|
};
|
|
3156
|
-
const _sfc_main$
|
|
5337
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
3157
5338
|
__name: "FEmpty",
|
|
3158
5339
|
props: {
|
|
3159
5340
|
description: { default: "暂无数据" },
|
|
@@ -3162,7 +5343,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3162
5343
|
},
|
|
3163
5344
|
setup(__props) {
|
|
3164
5345
|
return (_ctx, _cache) => {
|
|
3165
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
5346
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
|
|
3166
5347
|
vue.createElementVNode("div", {
|
|
3167
5348
|
class: "f-empty__image",
|
|
3168
5349
|
style: vue.normalizeStyle({ width: `${_ctx.imageSize}px`, height: `${_ctx.imageSize}px` })
|
|
@@ -3173,30 +5354,30 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3173
5354
|
src: _ctx.image,
|
|
3174
5355
|
class: "f-empty__image-img",
|
|
3175
5356
|
alt: ""
|
|
3176
|
-
}, null, 8, _hoisted_2$
|
|
5357
|
+
}, null, 8, _hoisted_2$5)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$5, _cache[0] || (_cache[0] = [
|
|
3177
5358
|
vue.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)
|
|
3178
5359
|
])))
|
|
3179
5360
|
])
|
|
3180
5361
|
], 4),
|
|
3181
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
5362
|
+
vue.createElementVNode("div", _hoisted_4$3, [
|
|
3182
5363
|
vue.renderSlot(_ctx.$slots, "description", {}, () => [
|
|
3183
5364
|
vue.createTextVNode(vue.toDisplayString(_ctx.description), 1)
|
|
3184
5365
|
])
|
|
3185
5366
|
]),
|
|
3186
|
-
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
5367
|
+
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$3, [
|
|
3187
5368
|
vue.renderSlot(_ctx.$slots, "default")
|
|
3188
5369
|
])) : vue.createCommentVNode("", true)
|
|
3189
5370
|
]);
|
|
3190
5371
|
};
|
|
3191
5372
|
}
|
|
3192
5373
|
});
|
|
3193
|
-
const _hoisted_1$
|
|
3194
|
-
const _hoisted_2$
|
|
3195
|
-
const _hoisted_3$
|
|
5374
|
+
const _hoisted_1$5 = { class: "f-slider__mark-label" };
|
|
5375
|
+
const _hoisted_2$4 = ["aria-valuemin", "aria-valuemax", "aria-valuenow", "onMousedown", "onKeydown", "onMouseenter"];
|
|
5376
|
+
const _hoisted_3$4 = {
|
|
3196
5377
|
key: 0,
|
|
3197
5378
|
class: "f-slider__tooltip"
|
|
3198
5379
|
};
|
|
3199
|
-
const _sfc_main$
|
|
5380
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
3200
5381
|
__name: "FSlider",
|
|
3201
5382
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
3202
5383
|
min: { default: 0 },
|
|
@@ -3370,7 +5551,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3370
5551
|
style: vue.normalizeStyle(_ctx.vertical ? { bottom: `${mark.percent}%` } : { left: `${mark.percent}%` })
|
|
3371
5552
|
}, [
|
|
3372
5553
|
_cache[1] || (_cache[1] = vue.createElementVNode("span", { class: "f-slider__mark-dot" }, null, -1)),
|
|
3373
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
5554
|
+
vue.createElementVNode("span", _hoisted_1$5, vue.toDisplayString(mark.label), 1)
|
|
3374
5555
|
], 4);
|
|
3375
5556
|
}), 128)),
|
|
3376
5557
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(values), (value, index) => {
|
|
@@ -3390,18 +5571,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3390
5571
|
}, [
|
|
3391
5572
|
vue.createVNode(vue.Transition, { name: "f-slider-tooltip-fade" }, {
|
|
3392
5573
|
default: vue.withCtx(() => [
|
|
3393
|
-
tooltipVisible(index) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
5574
|
+
tooltipVisible(index) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, vue.toDisplayString(value), 1)) : vue.createCommentVNode("", true)
|
|
3394
5575
|
]),
|
|
3395
5576
|
_: 2
|
|
3396
5577
|
}, 1024)
|
|
3397
|
-
], 46, _hoisted_2$
|
|
5578
|
+
], 46, _hoisted_2$4);
|
|
3398
5579
|
}), 128))
|
|
3399
5580
|
], 544)
|
|
3400
5581
|
], 2);
|
|
3401
5582
|
};
|
|
3402
5583
|
}
|
|
3403
5584
|
});
|
|
3404
|
-
const _sfc_main$
|
|
5585
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
3405
5586
|
__name: "FScrollbar",
|
|
3406
5587
|
props: {
|
|
3407
5588
|
height: { default: "" },
|
|
@@ -3589,16 +5770,16 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3589
5770
|
};
|
|
3590
5771
|
}
|
|
3591
5772
|
});
|
|
3592
|
-
const _hoisted_1$
|
|
3593
|
-
const _hoisted_2$
|
|
3594
|
-
const _hoisted_3$
|
|
3595
|
-
const _hoisted_4$
|
|
5773
|
+
const _hoisted_1$4 = ["disabled"];
|
|
5774
|
+
const _hoisted_2$3 = ["value", "disabled", "placeholder"];
|
|
5775
|
+
const _hoisted_3$3 = ["disabled"];
|
|
5776
|
+
const _hoisted_4$2 = {
|
|
3596
5777
|
key: 2,
|
|
3597
5778
|
class: "f-input-number__stack"
|
|
3598
5779
|
};
|
|
3599
|
-
const _hoisted_5$
|
|
5780
|
+
const _hoisted_5$2 = ["disabled"];
|
|
3600
5781
|
const _hoisted_6$1 = ["disabled"];
|
|
3601
|
-
const _sfc_main$
|
|
5782
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
3602
5783
|
__name: "FInputNumber",
|
|
3603
5784
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
3604
5785
|
min: { default: -Infinity },
|
|
@@ -3606,7 +5787,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3606
5787
|
step: { default: 1 },
|
|
3607
5788
|
precision: { default: void 0 },
|
|
3608
5789
|
disabled: { type: Boolean, default: false },
|
|
3609
|
-
size: { default: "default" },
|
|
3610
5790
|
controls: { type: Boolean, default: true },
|
|
3611
5791
|
controlsPosition: { default: "right" },
|
|
3612
5792
|
placeholder: { default: "" }
|
|
@@ -3621,16 +5801,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3621
5801
|
const inputRef = vue.ref(null);
|
|
3622
5802
|
const isFocused = vue.ref(false);
|
|
3623
5803
|
const displayText = vue.ref("");
|
|
3624
|
-
|
|
5804
|
+
const formItemContext = vue.inject("FFormItemContext", null);
|
|
5805
|
+
const hasError = vue.computed(() => {
|
|
5806
|
+
var _a;
|
|
5807
|
+
return !!((_a = formItemContext == null ? void 0 : formItemContext.errorMsg) == null ? void 0 : _a.value);
|
|
5808
|
+
});
|
|
5809
|
+
const format = (value) => {
|
|
3625
5810
|
return props.precision !== void 0 ? value.toFixed(props.precision) : String(value);
|
|
3626
|
-
}
|
|
3627
|
-
|
|
5811
|
+
};
|
|
5812
|
+
const clamp = (value) => {
|
|
3628
5813
|
let result = Math.min(Math.max(value, props.min), props.max);
|
|
3629
5814
|
if (props.precision !== void 0) {
|
|
3630
5815
|
result = Number(result.toFixed(props.precision));
|
|
3631
5816
|
}
|
|
3632
5817
|
return result;
|
|
3633
|
-
}
|
|
5818
|
+
};
|
|
3634
5819
|
vue.watch(
|
|
3635
5820
|
modelValue,
|
|
3636
5821
|
(val) => {
|
|
@@ -3641,7 +5826,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3641
5826
|
);
|
|
3642
5827
|
const canIncrease = vue.computed(() => modelValue.value === void 0 || modelValue.value < props.max);
|
|
3643
5828
|
const canDecrease = vue.computed(() => modelValue.value === void 0 || modelValue.value > props.min);
|
|
3644
|
-
|
|
5829
|
+
const commit = (raw) => {
|
|
3645
5830
|
if (raw.trim() === "") {
|
|
3646
5831
|
modelValue.value = void 0;
|
|
3647
5832
|
displayText.value = "";
|
|
@@ -3655,48 +5840,49 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3655
5840
|
const clamped = clamp(parsed);
|
|
3656
5841
|
modelValue.value = clamped;
|
|
3657
5842
|
displayText.value = format(clamped);
|
|
3658
|
-
}
|
|
3659
|
-
|
|
5843
|
+
};
|
|
5844
|
+
const handleInput = (e) => {
|
|
3660
5845
|
const raw = e.target.value;
|
|
3661
5846
|
if (raw === "" || raw === "-" || /^-?\d*\.?\d*$/.test(raw)) {
|
|
3662
5847
|
displayText.value = raw;
|
|
3663
5848
|
}
|
|
3664
|
-
}
|
|
3665
|
-
|
|
5849
|
+
};
|
|
5850
|
+
const handleFocus = () => {
|
|
3666
5851
|
isFocused.value = true;
|
|
3667
|
-
}
|
|
3668
|
-
|
|
5852
|
+
};
|
|
5853
|
+
const handleBlur = () => {
|
|
3669
5854
|
isFocused.value = false;
|
|
3670
5855
|
commit(displayText.value);
|
|
3671
|
-
|
|
3672
|
-
|
|
5856
|
+
formItemContext == null ? void 0 : formItemContext.validate();
|
|
5857
|
+
};
|
|
5858
|
+
const handleEnter = () => {
|
|
3673
5859
|
var _a;
|
|
3674
5860
|
(_a = inputRef.value) == null ? void 0 : _a.blur();
|
|
3675
|
-
}
|
|
3676
|
-
|
|
5861
|
+
};
|
|
5862
|
+
const step = (direction) => {
|
|
3677
5863
|
var _a;
|
|
3678
5864
|
if (props.disabled) return;
|
|
3679
5865
|
const base = (_a = modelValue.value) != null ? _a : 0;
|
|
3680
5866
|
const next = clamp(base + direction * props.step);
|
|
3681
5867
|
modelValue.value = next;
|
|
3682
5868
|
displayText.value = format(next);
|
|
3683
|
-
}
|
|
5869
|
+
};
|
|
3684
5870
|
let repeatTimer = null;
|
|
3685
5871
|
let repeatInterval = null;
|
|
3686
|
-
|
|
5872
|
+
const startRepeat = (direction) => {
|
|
3687
5873
|
if (props.disabled) return;
|
|
3688
5874
|
step(direction);
|
|
3689
5875
|
repeatTimer = setTimeout(() => {
|
|
3690
5876
|
repeatInterval = setInterval(() => step(direction), 80);
|
|
3691
5877
|
}, 400);
|
|
3692
|
-
}
|
|
3693
|
-
|
|
5878
|
+
};
|
|
5879
|
+
const stopRepeat = () => {
|
|
3694
5880
|
if (repeatTimer) clearTimeout(repeatTimer);
|
|
3695
5881
|
if (repeatInterval) clearInterval(repeatInterval);
|
|
3696
5882
|
repeatTimer = null;
|
|
3697
5883
|
repeatInterval = null;
|
|
3698
|
-
}
|
|
3699
|
-
|
|
5884
|
+
};
|
|
5885
|
+
const handleKeydown = (e) => {
|
|
3700
5886
|
if (e.key === "ArrowUp") {
|
|
3701
5887
|
e.preventDefault();
|
|
3702
5888
|
step(1);
|
|
@@ -3706,43 +5892,39 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3706
5892
|
} else if (e.key === "Enter") {
|
|
3707
5893
|
handleEnter();
|
|
3708
5894
|
}
|
|
3709
|
-
}
|
|
3710
|
-
|
|
5895
|
+
};
|
|
5896
|
+
const handleWheel = (e) => {
|
|
3711
5897
|
if (!isFocused.value || props.disabled) return;
|
|
3712
5898
|
e.preventDefault();
|
|
3713
5899
|
step(e.deltaY < 0 ? 1 : -1);
|
|
3714
|
-
}
|
|
5900
|
+
};
|
|
3715
5901
|
return (_ctx, _cache) => {
|
|
3716
5902
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
3717
|
-
class: vue.normalizeClass(["f-input-number",
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
5903
|
+
class: vue.normalizeClass(["f-input-number", {
|
|
5904
|
+
"is-focus": vue.unref(isFocused),
|
|
5905
|
+
"is-error": vue.unref(hasError),
|
|
5906
|
+
"is-disabled": _ctx.disabled,
|
|
5907
|
+
"has-controls-both": _ctx.controls && _ctx.controlsPosition === "both",
|
|
5908
|
+
"has-controls-right": _ctx.controls && _ctx.controlsPosition === "right"
|
|
5909
|
+
}])
|
|
3722
5910
|
}, [
|
|
3723
5911
|
_ctx.controls && _ctx.controlsPosition === "both" ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3724
5912
|
key: 0,
|
|
3725
5913
|
type: "button",
|
|
3726
|
-
class: "f-input-
|
|
5914
|
+
class: "f-input-number__btn-left",
|
|
3727
5915
|
tabindex: "-1",
|
|
3728
5916
|
disabled: _ctx.disabled || !vue.unref(canDecrease),
|
|
3729
5917
|
onMousedown: _cache[0] || (_cache[0] = vue.withModifiers(($event) => startRepeat(-1), ["prevent"])),
|
|
3730
5918
|
onMouseup: stopRepeat,
|
|
3731
5919
|
onMouseleave: stopRepeat
|
|
3732
|
-
},
|
|
3733
|
-
vue.
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
stroke: "currentColor",
|
|
3741
|
-
"stroke-width": "1.5",
|
|
3742
|
-
"stroke-linecap": "round"
|
|
3743
|
-
})
|
|
3744
|
-
], -1)
|
|
3745
|
-
]), 40, _hoisted_1$3)) : vue.createCommentVNode("", true),
|
|
5920
|
+
}, [
|
|
5921
|
+
vue.createVNode(vue.unref(FIcon$2), null, {
|
|
5922
|
+
default: vue.withCtx(() => [
|
|
5923
|
+
vue.createVNode(vue.unref(ionicons5.RemoveOutline))
|
|
5924
|
+
]),
|
|
5925
|
+
_: 1
|
|
5926
|
+
})
|
|
5927
|
+
], 40, _hoisted_1$4)) : vue.createCommentVNode("", true),
|
|
3746
5928
|
vue.createElementVNode("input", {
|
|
3747
5929
|
ref_key: "inputRef",
|
|
3748
5930
|
ref: inputRef,
|
|
@@ -3757,31 +5939,25 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3757
5939
|
onBlur: handleBlur,
|
|
3758
5940
|
onKeydown: handleKeydown,
|
|
3759
5941
|
onWheel: handleWheel
|
|
3760
|
-
}, null, 40, _hoisted_2$
|
|
5942
|
+
}, null, 40, _hoisted_2$3),
|
|
3761
5943
|
_ctx.controls && _ctx.controlsPosition === "both" ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3762
5944
|
key: 1,
|
|
3763
5945
|
type: "button",
|
|
3764
|
-
class: "f-input-
|
|
5946
|
+
class: "f-input-number__btn-right",
|
|
3765
5947
|
tabindex: "-1",
|
|
3766
5948
|
disabled: _ctx.disabled || !vue.unref(canIncrease),
|
|
3767
5949
|
onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(($event) => startRepeat(1), ["prevent"])),
|
|
3768
5950
|
onMouseup: stopRepeat,
|
|
3769
5951
|
onMouseleave: stopRepeat
|
|
3770
|
-
},
|
|
3771
|
-
vue.
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
"stroke-width": "1.5",
|
|
3780
|
-
"stroke-linecap": "round"
|
|
3781
|
-
})
|
|
3782
|
-
], -1)
|
|
3783
|
-
]), 40, _hoisted_3$2)) : vue.createCommentVNode("", true),
|
|
3784
|
-
_ctx.controls && _ctx.controlsPosition === "right" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
|
|
5952
|
+
}, [
|
|
5953
|
+
vue.createVNode(vue.unref(FIcon$2), null, {
|
|
5954
|
+
default: vue.withCtx(() => [
|
|
5955
|
+
vue.createVNode(vue.unref(ionicons5.AddOutline))
|
|
5956
|
+
]),
|
|
5957
|
+
_: 1
|
|
5958
|
+
})
|
|
5959
|
+
], 40, _hoisted_3$3)) : vue.createCommentVNode("", true),
|
|
5960
|
+
_ctx.controls && _ctx.controlsPosition === "right" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
|
|
3785
5961
|
vue.createElementVNode("button", {
|
|
3786
5962
|
type: "button",
|
|
3787
5963
|
class: "f-input-number__stack-btn",
|
|
@@ -3790,22 +5966,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3790
5966
|
onMousedown: _cache[2] || (_cache[2] = vue.withModifiers(($event) => startRepeat(1), ["prevent"])),
|
|
3791
5967
|
onMouseup: stopRepeat,
|
|
3792
5968
|
onMouseleave: stopRepeat
|
|
3793
|
-
},
|
|
3794
|
-
vue.
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
stroke: "currentColor",
|
|
3802
|
-
"stroke-width": "1.5",
|
|
3803
|
-
fill: "none",
|
|
3804
|
-
"stroke-linecap": "round",
|
|
3805
|
-
"stroke-linejoin": "round"
|
|
3806
|
-
})
|
|
3807
|
-
], -1)
|
|
3808
|
-
]), 40, _hoisted_5$1),
|
|
5969
|
+
}, [
|
|
5970
|
+
vue.createVNode(vue.unref(FIcon$2), null, {
|
|
5971
|
+
default: vue.withCtx(() => [
|
|
5972
|
+
vue.createVNode(vue.unref(ionicons5.ChevronUpOutline))
|
|
5973
|
+
]),
|
|
5974
|
+
_: 1
|
|
5975
|
+
})
|
|
5976
|
+
], 40, _hoisted_5$2),
|
|
3809
5977
|
vue.createElementVNode("button", {
|
|
3810
5978
|
type: "button",
|
|
3811
5979
|
class: "f-input-number__stack-btn",
|
|
@@ -3814,41 +5982,34 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3814
5982
|
onMousedown: _cache[3] || (_cache[3] = vue.withModifiers(($event) => startRepeat(-1), ["prevent"])),
|
|
3815
5983
|
onMouseup: stopRepeat,
|
|
3816
5984
|
onMouseleave: stopRepeat
|
|
3817
|
-
},
|
|
3818
|
-
vue.
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
stroke: "currentColor",
|
|
3826
|
-
"stroke-width": "1.5",
|
|
3827
|
-
fill: "none",
|
|
3828
|
-
"stroke-linecap": "round",
|
|
3829
|
-
"stroke-linejoin": "round"
|
|
3830
|
-
})
|
|
3831
|
-
], -1)
|
|
3832
|
-
]), 40, _hoisted_6$1)
|
|
5985
|
+
}, [
|
|
5986
|
+
vue.createVNode(vue.unref(FIcon$2), null, {
|
|
5987
|
+
default: vue.withCtx(() => [
|
|
5988
|
+
vue.createVNode(vue.unref(ionicons5.ChevronDownOutline))
|
|
5989
|
+
]),
|
|
5990
|
+
_: 1
|
|
5991
|
+
})
|
|
5992
|
+
], 40, _hoisted_6$1)
|
|
3833
5993
|
])) : vue.createCommentVNode("", true)
|
|
3834
5994
|
], 2);
|
|
3835
5995
|
};
|
|
3836
5996
|
}
|
|
3837
5997
|
});
|
|
3838
|
-
const
|
|
3839
|
-
const
|
|
5998
|
+
const FInputNumber = /* @__PURE__ */ _export_sfc$3(_sfc_main$4, [["__scopeId", "data-v-292cd24f"]]);
|
|
5999
|
+
const _hoisted_1$3 = { class: "f-result__icon" };
|
|
6000
|
+
const _hoisted_2$2 = {
|
|
3840
6001
|
key: 0,
|
|
3841
6002
|
class: "f-result__code"
|
|
3842
6003
|
};
|
|
3843
|
-
const _hoisted_3$
|
|
6004
|
+
const _hoisted_3$2 = {
|
|
3844
6005
|
key: 0,
|
|
3845
6006
|
class: "f-result__title"
|
|
3846
6007
|
};
|
|
3847
|
-
const _hoisted_4 = {
|
|
6008
|
+
const _hoisted_4$1 = {
|
|
3848
6009
|
key: 1,
|
|
3849
6010
|
class: "f-result__subtitle"
|
|
3850
6011
|
};
|
|
3851
|
-
const _hoisted_5 = {
|
|
6012
|
+
const _hoisted_5$1 = {
|
|
3852
6013
|
key: 2,
|
|
3853
6014
|
class: "f-result__extra"
|
|
3854
6015
|
};
|
|
@@ -3856,7 +6017,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3856
6017
|
key: 3,
|
|
3857
6018
|
class: "f-result__content"
|
|
3858
6019
|
};
|
|
3859
|
-
const _sfc_main$
|
|
6020
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
3860
6021
|
__name: "FResult",
|
|
3861
6022
|
props: {
|
|
3862
6023
|
status: { default: "info" },
|
|
@@ -3882,9 +6043,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3882
6043
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
3883
6044
|
class: vue.normalizeClass(["f-result", `f-result--${_ctx.status}`])
|
|
3884
6045
|
}, [
|
|
3885
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
6046
|
+
vue.createElementVNode("div", _hoisted_1$3, [
|
|
3886
6047
|
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
3887
|
-
vue.unref(showCode) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
6048
|
+
vue.unref(showCode) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$2, vue.toDisplayString(_ctx.status), 1)) : (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
3888
6049
|
key: 1,
|
|
3889
6050
|
size: 72
|
|
3890
6051
|
}, {
|
|
@@ -3895,17 +6056,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3895
6056
|
}))
|
|
3896
6057
|
], true)
|
|
3897
6058
|
]),
|
|
3898
|
-
_ctx.$slots.title || _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
6059
|
+
_ctx.$slots.title || _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, [
|
|
3899
6060
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
3900
6061
|
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
3901
6062
|
], true)
|
|
3902
6063
|
])) : vue.createCommentVNode("", true),
|
|
3903
|
-
_ctx.$slots.subtitle || _ctx.subTitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
|
|
6064
|
+
_ctx.$slots.subtitle || _ctx.subTitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
|
|
3904
6065
|
vue.renderSlot(_ctx.$slots, "subtitle", {}, () => [
|
|
3905
6066
|
vue.createTextVNode(vue.toDisplayString(_ctx.subTitle), 1)
|
|
3906
6067
|
], true)
|
|
3907
6068
|
])) : vue.createCommentVNode("", true),
|
|
3908
|
-
_ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
|
|
6069
|
+
_ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
|
|
3909
6070
|
vue.renderSlot(_ctx.$slots, "extra", {}, void 0, true)
|
|
3910
6071
|
])) : vue.createCommentVNode("", true),
|
|
3911
6072
|
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
@@ -3915,9 +6076,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3915
6076
|
};
|
|
3916
6077
|
}
|
|
3917
6078
|
});
|
|
3918
|
-
const FResult = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3919
|
-
const _hoisted_1$
|
|
3920
|
-
const _sfc_main$
|
|
6079
|
+
const FResult = /* @__PURE__ */ _export_sfc$3(_sfc_main$3, [["__scopeId", "data-v-1667a865"]]);
|
|
6080
|
+
const _hoisted_1$2 = { class: "f-message__content" };
|
|
6081
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
3921
6082
|
__name: "FMessage",
|
|
3922
6083
|
props: {
|
|
3923
6084
|
type: { default: "info" },
|
|
@@ -3938,7 +6099,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3938
6099
|
info: ionicons5.InformationCircle,
|
|
3939
6100
|
success: ionicons5.CheckmarkCircle,
|
|
3940
6101
|
warning: ionicons5.Warning,
|
|
3941
|
-
failed: ionicons5.CloseCircle
|
|
6102
|
+
failed: ionicons5.CloseCircle,
|
|
6103
|
+
default: ionicons5.InformationCircle,
|
|
6104
|
+
primary: ionicons5.InformationCircle
|
|
3942
6105
|
};
|
|
3943
6106
|
return map[props.type];
|
|
3944
6107
|
});
|
|
@@ -3985,7 +6148,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3985
6148
|
onMouseenter: clearTimer,
|
|
3986
6149
|
onMouseleave: startTimer
|
|
3987
6150
|
}, [
|
|
3988
|
-
_ctx.showIcon ? (vue.openBlock(), vue.createBlock(FIcon, {
|
|
6151
|
+
_ctx.showIcon ? (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
3989
6152
|
key: 0,
|
|
3990
6153
|
class: "f-message__icon"
|
|
3991
6154
|
}, {
|
|
@@ -3994,7 +6157,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3994
6157
|
]),
|
|
3995
6158
|
_: 1
|
|
3996
6159
|
})) : vue.createCommentVNode("", true),
|
|
3997
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
6160
|
+
vue.createElementVNode("span", _hoisted_1$2, vue.toDisplayString(_ctx.message), 1),
|
|
3998
6161
|
_ctx.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
3999
6162
|
key: 1,
|
|
4000
6163
|
type: "button",
|
|
@@ -4002,7 +6165,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4002
6165
|
"aria-label": "close",
|
|
4003
6166
|
onClick: close
|
|
4004
6167
|
}, [
|
|
4005
|
-
vue.createVNode(FIcon, null, {
|
|
6168
|
+
vue.createVNode(FIcon$3, null, {
|
|
4006
6169
|
default: vue.withCtx(() => [
|
|
4007
6170
|
vue.createVNode(vue.unref(ionicons5.Close))
|
|
4008
6171
|
]),
|
|
@@ -4016,7 +6179,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4016
6179
|
};
|
|
4017
6180
|
}
|
|
4018
6181
|
});
|
|
4019
|
-
const FMessageComp = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
6182
|
+
const FMessageComp = /* @__PURE__ */ _export_sfc$3(_sfc_main$2, [["__scopeId", "data-v-97556afa"]]);
|
|
4020
6183
|
const GAP$1 = 16;
|
|
4021
6184
|
const BASE_OFFSET$1 = 20;
|
|
4022
6185
|
let seed$1 = 0;
|
|
@@ -4089,13 +6252,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4089
6252
|
(_c = (_b = (_a = item.vnode.component) == null ? void 0 : _a.exposed) == null ? void 0 : _b.close) == null ? void 0 : _c.call(_b);
|
|
4090
6253
|
});
|
|
4091
6254
|
};
|
|
4092
|
-
const _hoisted_1 = { class: "f-notification__body" };
|
|
4093
|
-
const _hoisted_2 = {
|
|
6255
|
+
const _hoisted_1$1 = { class: "f-notification__body" };
|
|
6256
|
+
const _hoisted_2$1 = {
|
|
4094
6257
|
key: 0,
|
|
4095
6258
|
class: "f-notification__title"
|
|
4096
6259
|
};
|
|
4097
|
-
const _hoisted_3 = { class: "f-notification__content" };
|
|
4098
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
6260
|
+
const _hoisted_3$1 = { class: "f-notification__content" };
|
|
6261
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
4099
6262
|
__name: "FNotification",
|
|
4100
6263
|
props: {
|
|
4101
6264
|
type: { default: "info" },
|
|
@@ -4118,7 +6281,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4118
6281
|
info: ionicons5.InformationCircle,
|
|
4119
6282
|
success: ionicons5.CheckmarkCircle,
|
|
4120
6283
|
warning: ionicons5.Warning,
|
|
4121
|
-
failed: ionicons5.CloseCircle
|
|
6284
|
+
failed: ionicons5.CloseCircle,
|
|
6285
|
+
default: ionicons5.InformationCircle,
|
|
6286
|
+
primary: ionicons5.InformationCircle
|
|
4122
6287
|
};
|
|
4123
6288
|
return map[props.type];
|
|
4124
6289
|
});
|
|
@@ -4170,7 +6335,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4170
6335
|
onMouseleave: startTimer,
|
|
4171
6336
|
onClick: handleClick
|
|
4172
6337
|
}, [
|
|
4173
|
-
_ctx.showIcon ? (vue.openBlock(), vue.createBlock(FIcon, {
|
|
6338
|
+
_ctx.showIcon ? (vue.openBlock(), vue.createBlock(FIcon$3, {
|
|
4174
6339
|
key: 0,
|
|
4175
6340
|
class: "f-notification__icon"
|
|
4176
6341
|
}, {
|
|
@@ -4179,9 +6344,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4179
6344
|
]),
|
|
4180
6345
|
_: 1
|
|
4181
6346
|
})) : vue.createCommentVNode("", true),
|
|
4182
|
-
vue.createElementVNode("div", _hoisted_1, [
|
|
4183
|
-
_ctx.title ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true),
|
|
4184
|
-
vue.createElementVNode("p", _hoisted_3, vue.toDisplayString(_ctx.message), 1)
|
|
6347
|
+
vue.createElementVNode("div", _hoisted_1$1, [
|
|
6348
|
+
_ctx.title ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$1, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true),
|
|
6349
|
+
vue.createElementVNode("p", _hoisted_3$1, vue.toDisplayString(_ctx.message), 1)
|
|
4185
6350
|
]),
|
|
4186
6351
|
_ctx.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
4187
6352
|
key: 1,
|
|
@@ -4190,7 +6355,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4190
6355
|
"aria-label": "close",
|
|
4191
6356
|
onClick: vue.withModifiers(close, ["stop"])
|
|
4192
6357
|
}, [
|
|
4193
|
-
vue.createVNode(FIcon, null, {
|
|
6358
|
+
vue.createVNode(FIcon$3, null, {
|
|
4194
6359
|
default: vue.withCtx(() => [
|
|
4195
6360
|
vue.createVNode(vue.unref(ionicons5.Close))
|
|
4196
6361
|
]),
|
|
@@ -4204,7 +6369,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4204
6369
|
};
|
|
4205
6370
|
}
|
|
4206
6371
|
});
|
|
4207
|
-
const FNotificationComp = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
6372
|
+
const FNotificationComp = /* @__PURE__ */ _export_sfc$3(_sfc_main$1, [["__scopeId", "data-v-0a7315d6"]]);
|
|
4208
6373
|
const GAP = 16;
|
|
4209
6374
|
const BASE_OFFSET = 20;
|
|
4210
6375
|
let seed = 0;
|
|
@@ -4293,6 +6458,262 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4293
6458
|
});
|
|
4294
6459
|
});
|
|
4295
6460
|
};
|
|
6461
|
+
const _hoisted_1 = {
|
|
6462
|
+
key: 0,
|
|
6463
|
+
class: "f-dialog__icon"
|
|
6464
|
+
};
|
|
6465
|
+
const _hoisted_2 = { class: "f-dialog__title" };
|
|
6466
|
+
const _hoisted_3 = { class: "f-dialog__body" };
|
|
6467
|
+
const _hoisted_4 = { key: 0 };
|
|
6468
|
+
const _hoisted_5 = {
|
|
6469
|
+
key: 2,
|
|
6470
|
+
class: "f-dialog__footer"
|
|
6471
|
+
};
|
|
6472
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
6473
|
+
__name: "FDialog",
|
|
6474
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
6475
|
+
title: { default: "提示" },
|
|
6476
|
+
content: {},
|
|
6477
|
+
width: { default: "500px" },
|
|
6478
|
+
type: { default: "default" },
|
|
6479
|
+
confirmText: { default: "确定" },
|
|
6480
|
+
cancelText: { default: "取消" },
|
|
6481
|
+
showCancel: { type: Boolean, default: true },
|
|
6482
|
+
showClose: { type: Boolean, default: true },
|
|
6483
|
+
closeOnClickModal: { type: Boolean, default: true },
|
|
6484
|
+
closeOnEsc: { type: Boolean, default: true },
|
|
6485
|
+
center: { type: Boolean, default: false },
|
|
6486
|
+
fullscreen: { type: Boolean, default: false },
|
|
6487
|
+
destroyOnClose: { type: Boolean, default: false },
|
|
6488
|
+
beforeClose: {}
|
|
6489
|
+
}, {
|
|
6490
|
+
"modelValue": __spreadValues({ type: Boolean }, { required: true }),
|
|
6491
|
+
"modelModifiers": {}
|
|
6492
|
+
}),
|
|
6493
|
+
emits: /* @__PURE__ */ vue.mergeModels(["open", "close", "confirm", "cancel"], ["update:modelValue"]),
|
|
6494
|
+
setup(__props, { emit: __emit }) {
|
|
6495
|
+
const props = __props;
|
|
6496
|
+
const emit = __emit;
|
|
6497
|
+
const visible = vue.useModel(__props, "modelValue");
|
|
6498
|
+
const handleClose = () => {
|
|
6499
|
+
visible.value = false;
|
|
6500
|
+
emit("close");
|
|
6501
|
+
};
|
|
6502
|
+
const handleConfirm = () => {
|
|
6503
|
+
emit("confirm");
|
|
6504
|
+
if (props.beforeClose) {
|
|
6505
|
+
props.beforeClose(() => {
|
|
6506
|
+
visible.value = false;
|
|
6507
|
+
});
|
|
6508
|
+
} else {
|
|
6509
|
+
visible.value = false;
|
|
6510
|
+
}
|
|
6511
|
+
};
|
|
6512
|
+
const handleCancel = () => {
|
|
6513
|
+
emit("cancel");
|
|
6514
|
+
handleClose();
|
|
6515
|
+
};
|
|
6516
|
+
const handleOverlayClick = (e) => {
|
|
6517
|
+
if (props.closeOnClickModal && e.target === e.currentTarget) {
|
|
6518
|
+
handleClose();
|
|
6519
|
+
}
|
|
6520
|
+
};
|
|
6521
|
+
const handleKeydown = (e) => {
|
|
6522
|
+
if (props.closeOnEsc && e.key === "Escape") {
|
|
6523
|
+
handleClose();
|
|
6524
|
+
}
|
|
6525
|
+
};
|
|
6526
|
+
vue.onMounted(() => {
|
|
6527
|
+
if (props.closeOnEsc) {
|
|
6528
|
+
window.addEventListener("keydown", handleKeydown);
|
|
6529
|
+
}
|
|
6530
|
+
emit("open");
|
|
6531
|
+
});
|
|
6532
|
+
vue.onBeforeUnmount(() => {
|
|
6533
|
+
if (props.closeOnEsc) {
|
|
6534
|
+
window.removeEventListener("keydown", handleKeydown);
|
|
6535
|
+
}
|
|
6536
|
+
});
|
|
6537
|
+
const iconMap = {
|
|
6538
|
+
info: ionicons5.InformationCircleOutline,
|
|
6539
|
+
success: ionicons5.CheckmarkCircleOutline,
|
|
6540
|
+
warning: ionicons5.WarningOutline,
|
|
6541
|
+
failed: ionicons5.AlertCircleOutline,
|
|
6542
|
+
primary: ionicons5.InformationCircleOutline,
|
|
6543
|
+
default: ionicons5.InformationCircleOutline
|
|
6544
|
+
};
|
|
6545
|
+
const hasIcon = vue.computed(() => props.type && props.type !== "default");
|
|
6546
|
+
return (_ctx, _cache) => {
|
|
6547
|
+
return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
|
|
6548
|
+
vue.createVNode(vue.Transition, { name: "f-dialog-fade" }, {
|
|
6549
|
+
default: vue.withCtx(() => [
|
|
6550
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
6551
|
+
key: 0,
|
|
6552
|
+
class: "f-dialog-overlay",
|
|
6553
|
+
onClick: handleOverlayClick
|
|
6554
|
+
}, [
|
|
6555
|
+
vue.createVNode(vue.Transition, { name: "f-dialog-zoom" }, {
|
|
6556
|
+
default: vue.withCtx(() => [
|
|
6557
|
+
visible.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
6558
|
+
key: 0,
|
|
6559
|
+
class: vue.normalizeClass(["f-dialog", [
|
|
6560
|
+
`f-dialog--${_ctx.type}`,
|
|
6561
|
+
{
|
|
6562
|
+
"is-center": _ctx.center,
|
|
6563
|
+
"is-fullscreen": _ctx.fullscreen
|
|
6564
|
+
}
|
|
6565
|
+
]]),
|
|
6566
|
+
style: vue.normalizeStyle({ width: _ctx.fullscreen ? "100%" : _ctx.width })
|
|
6567
|
+
}, [
|
|
6568
|
+
_ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
6569
|
+
key: 0,
|
|
6570
|
+
type: "button",
|
|
6571
|
+
class: "f-dialog__close",
|
|
6572
|
+
onClick: handleClose
|
|
6573
|
+
}, [
|
|
6574
|
+
vue.createVNode(FIcon$3, null, {
|
|
6575
|
+
default: vue.withCtx(() => [
|
|
6576
|
+
vue.createVNode(vue.unref(ionicons5.CloseOutline))
|
|
6577
|
+
]),
|
|
6578
|
+
_: 1
|
|
6579
|
+
})
|
|
6580
|
+
])) : vue.createCommentVNode("", true),
|
|
6581
|
+
_ctx.$slots.header || _ctx.title ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
6582
|
+
key: 1,
|
|
6583
|
+
class: vue.normalizeClass(["f-dialog__header", { "has-icon": vue.unref(hasIcon) }])
|
|
6584
|
+
}, [
|
|
6585
|
+
vue.renderSlot(_ctx.$slots, "header", {}, () => [
|
|
6586
|
+
vue.unref(hasIcon) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
6587
|
+
vue.createVNode(FIcon$3, null, {
|
|
6588
|
+
default: vue.withCtx(() => [
|
|
6589
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(iconMap[_ctx.type])))
|
|
6590
|
+
]),
|
|
6591
|
+
_: 1
|
|
6592
|
+
})
|
|
6593
|
+
])) : vue.createCommentVNode("", true),
|
|
6594
|
+
vue.createElementVNode("h3", _hoisted_2, vue.toDisplayString(_ctx.title), 1)
|
|
6595
|
+
], true)
|
|
6596
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
6597
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
6598
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
6599
|
+
_ctx.content ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4, vue.toDisplayString(_ctx.content), 1)) : vue.createCommentVNode("", true)
|
|
6600
|
+
], true)
|
|
6601
|
+
]),
|
|
6602
|
+
_ctx.$slots.footer || _ctx.showCancel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
|
|
6603
|
+
vue.renderSlot(_ctx.$slots, "footer", {}, () => [
|
|
6604
|
+
_ctx.showCancel ? (vue.openBlock(), vue.createBlock(FButton, {
|
|
6605
|
+
key: 0,
|
|
6606
|
+
onClick: handleCancel
|
|
6607
|
+
}, {
|
|
6608
|
+
default: vue.withCtx(() => [
|
|
6609
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.cancelText), 1)
|
|
6610
|
+
]),
|
|
6611
|
+
_: 1
|
|
6612
|
+
})) : vue.createCommentVNode("", true),
|
|
6613
|
+
vue.createVNode(FButton, {
|
|
6614
|
+
type: "primary",
|
|
6615
|
+
onClick: handleConfirm
|
|
6616
|
+
}, {
|
|
6617
|
+
default: vue.withCtx(() => [
|
|
6618
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.confirmText), 1)
|
|
6619
|
+
]),
|
|
6620
|
+
_: 1
|
|
6621
|
+
})
|
|
6622
|
+
], true)
|
|
6623
|
+
])) : vue.createCommentVNode("", true)
|
|
6624
|
+
], 6)) : vue.createCommentVNode("", true)
|
|
6625
|
+
]),
|
|
6626
|
+
_: 3
|
|
6627
|
+
})
|
|
6628
|
+
])) : vue.createCommentVNode("", true)
|
|
6629
|
+
]),
|
|
6630
|
+
_: 3
|
|
6631
|
+
})
|
|
6632
|
+
]);
|
|
6633
|
+
};
|
|
6634
|
+
}
|
|
6635
|
+
});
|
|
6636
|
+
const FDialogComp = /* @__PURE__ */ _export_sfc$3(_sfc_main, [["__scopeId", "data-v-991352de"]]);
|
|
6637
|
+
const showDialog = (options) => {
|
|
6638
|
+
return new Promise((resolve) => {
|
|
6639
|
+
const container = document.createElement("div");
|
|
6640
|
+
document.body.appendChild(container);
|
|
6641
|
+
const visible = vue.ref(true);
|
|
6642
|
+
const handleConfirm = () => {
|
|
6643
|
+
cleanup();
|
|
6644
|
+
resolve(true);
|
|
6645
|
+
};
|
|
6646
|
+
const handleCancel = () => {
|
|
6647
|
+
cleanup();
|
|
6648
|
+
resolve(false);
|
|
6649
|
+
};
|
|
6650
|
+
const handleClose = () => {
|
|
6651
|
+
cleanup();
|
|
6652
|
+
resolve(false);
|
|
6653
|
+
};
|
|
6654
|
+
const cleanup = () => {
|
|
6655
|
+
visible.value = false;
|
|
6656
|
+
setTimeout(() => {
|
|
6657
|
+
vue.render(null, container);
|
|
6658
|
+
document.body.removeChild(container);
|
|
6659
|
+
}, 300);
|
|
6660
|
+
};
|
|
6661
|
+
const vnode = vue.h(FDialogComp, __spreadValues({
|
|
6662
|
+
modelValue: visible.value,
|
|
6663
|
+
"onUpdate:modelValue": (val) => {
|
|
6664
|
+
visible.value = val;
|
|
6665
|
+
if (!val) {
|
|
6666
|
+
cleanup();
|
|
6667
|
+
}
|
|
6668
|
+
},
|
|
6669
|
+
onConfirm: handleConfirm,
|
|
6670
|
+
onCancel: handleCancel,
|
|
6671
|
+
onClose: handleClose
|
|
6672
|
+
}, options));
|
|
6673
|
+
vue.render(vnode, container);
|
|
6674
|
+
});
|
|
6675
|
+
};
|
|
6676
|
+
const confirm = (content, title = "确认") => {
|
|
6677
|
+
return showDialog({
|
|
6678
|
+
title,
|
|
6679
|
+
content,
|
|
6680
|
+
type: "warning",
|
|
6681
|
+
showCancel: true,
|
|
6682
|
+
center: true
|
|
6683
|
+
});
|
|
6684
|
+
};
|
|
6685
|
+
const alert = (content, title = "提示", type = "info") => {
|
|
6686
|
+
return showDialog({
|
|
6687
|
+
title,
|
|
6688
|
+
content,
|
|
6689
|
+
type,
|
|
6690
|
+
showCancel: false,
|
|
6691
|
+
confirmText: "知道了",
|
|
6692
|
+
center: true
|
|
6693
|
+
});
|
|
6694
|
+
};
|
|
6695
|
+
const success = (content, title = "成功") => {
|
|
6696
|
+
return alert(content, title, "success");
|
|
6697
|
+
};
|
|
6698
|
+
const warning = (content, title = "警告") => {
|
|
6699
|
+
return alert(content, title, "warning");
|
|
6700
|
+
};
|
|
6701
|
+
const failed = (content, title = "错误") => {
|
|
6702
|
+
return alert(content, title, "failed");
|
|
6703
|
+
};
|
|
6704
|
+
const info = (content, title = "提示") => {
|
|
6705
|
+
return alert(content, title, "info");
|
|
6706
|
+
};
|
|
6707
|
+
const FDialog = (options) => {
|
|
6708
|
+
return showDialog(options);
|
|
6709
|
+
};
|
|
6710
|
+
FDialog.showDialog = showDialog;
|
|
6711
|
+
FDialog.confirm = confirm;
|
|
6712
|
+
FDialog.alert = alert;
|
|
6713
|
+
FDialog.success = success;
|
|
6714
|
+
FDialog.warning = warning;
|
|
6715
|
+
FDialog.failed = failed;
|
|
6716
|
+
FDialog.info = info;
|
|
4296
6717
|
const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
4297
6718
|
__proto__: null,
|
|
4298
6719
|
FAffix,
|
|
@@ -4305,21 +6726,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4305
6726
|
FCard,
|
|
4306
6727
|
FCheckbox,
|
|
4307
6728
|
FCol,
|
|
4308
|
-
FCollapse: _sfc_main$
|
|
4309
|
-
FCollapseItem: _sfc_main$
|
|
4310
|
-
FColorPicker: _sfc_main$
|
|
6729
|
+
FCollapse: _sfc_main$a,
|
|
6730
|
+
FCollapseItem: _sfc_main$9,
|
|
6731
|
+
FColorPicker: _sfc_main$8,
|
|
4311
6732
|
FContainer,
|
|
4312
6733
|
FDialog,
|
|
4313
6734
|
FDivider,
|
|
4314
6735
|
FDropdown,
|
|
4315
6736
|
FEditor,
|
|
4316
|
-
FEmpty: _sfc_main$
|
|
6737
|
+
FEmpty: _sfc_main$7,
|
|
4317
6738
|
FForm,
|
|
4318
6739
|
FFormItem,
|
|
4319
|
-
FIcon,
|
|
6740
|
+
FIcon: FIcon$3,
|
|
4320
6741
|
FImage,
|
|
4321
6742
|
FInput,
|
|
4322
|
-
FInputNumber
|
|
6743
|
+
FInputNumber,
|
|
4323
6744
|
FLink,
|
|
4324
6745
|
FLoading,
|
|
4325
6746
|
FMessage,
|
|
@@ -4329,9 +6750,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4329
6750
|
FRate,
|
|
4330
6751
|
FResult,
|
|
4331
6752
|
FRow,
|
|
4332
|
-
FScrollbar: _sfc_main$
|
|
6753
|
+
FScrollbar: _sfc_main$5,
|
|
4333
6754
|
FSelect,
|
|
4334
|
-
FSlider: _sfc_main$
|
|
6755
|
+
FSlider: _sfc_main$6,
|
|
4335
6756
|
FSpace,
|
|
4336
6757
|
FTable,
|
|
4337
6758
|
FTabs,
|
|
@@ -4356,21 +6777,21 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4356
6777
|
exports2.FCard = FCard;
|
|
4357
6778
|
exports2.FCheckbox = FCheckbox;
|
|
4358
6779
|
exports2.FCol = FCol;
|
|
4359
|
-
exports2.FCollapse = _sfc_main$
|
|
4360
|
-
exports2.FCollapseItem = _sfc_main$
|
|
4361
|
-
exports2.FColorPicker = _sfc_main$
|
|
6780
|
+
exports2.FCollapse = _sfc_main$a;
|
|
6781
|
+
exports2.FCollapseItem = _sfc_main$9;
|
|
6782
|
+
exports2.FColorPicker = _sfc_main$8;
|
|
4362
6783
|
exports2.FContainer = FContainer;
|
|
4363
6784
|
exports2.FDialog = FDialog;
|
|
4364
6785
|
exports2.FDivider = FDivider;
|
|
4365
6786
|
exports2.FDropdown = FDropdown;
|
|
4366
6787
|
exports2.FEditor = FEditor;
|
|
4367
|
-
exports2.FEmpty = _sfc_main$
|
|
6788
|
+
exports2.FEmpty = _sfc_main$7;
|
|
4368
6789
|
exports2.FForm = FForm;
|
|
4369
6790
|
exports2.FFormItem = FFormItem;
|
|
4370
|
-
exports2.FIcon = FIcon;
|
|
6791
|
+
exports2.FIcon = FIcon$3;
|
|
4371
6792
|
exports2.FImage = FImage;
|
|
4372
6793
|
exports2.FInput = FInput;
|
|
4373
|
-
exports2.FInputNumber =
|
|
6794
|
+
exports2.FInputNumber = FInputNumber;
|
|
4374
6795
|
exports2.FLink = FLink;
|
|
4375
6796
|
exports2.FLoading = FLoading;
|
|
4376
6797
|
exports2.FMessage = FMessage;
|
|
@@ -4380,9 +6801,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4380
6801
|
exports2.FRate = FRate;
|
|
4381
6802
|
exports2.FResult = FResult;
|
|
4382
6803
|
exports2.FRow = FRow;
|
|
4383
|
-
exports2.FScrollbar = _sfc_main$
|
|
6804
|
+
exports2.FScrollbar = _sfc_main$5;
|
|
4384
6805
|
exports2.FSelect = FSelect;
|
|
4385
|
-
exports2.FSlider = _sfc_main$
|
|
6806
|
+
exports2.FSlider = _sfc_main$6;
|
|
4386
6807
|
exports2.FSpace = FSpace;
|
|
4387
6808
|
exports2.FTable = FTable;
|
|
4388
6809
|
exports2.FTabs = FTabs;
|