birdpaper-ui
Version:
一个通用的 vue3 UI组件库。A common vue3 UI component library.
1,383 lines (1,382 loc) • 338 kB
JavaScript
(function(global2, factory) {
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.BirdpaperUI = {}, global2.Vue));
})(this, function(exports2, vue) {
"use strict";var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
const _export_sfc$1 = (sfc, props2) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props2) {
target[key] = val;
}
return target;
};
const _sfc_main$13 = vue.defineComponent({
name: "IconArrowDownSLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-arrow-down-s-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$P = ["fill"];
const _hoisted_2$w = /* @__PURE__ */ vue.createElementVNode("path", { d: "m12 13.171 4.95-4.95 1.414 1.415L12 16 5.636 9.636 7.05 8.222l4.95 4.95Z" }, null, -1);
const _hoisted_3$o = [
_hoisted_2$w
];
function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$o, 14, _hoisted_1$P);
}
const _IconArrowDownSLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$13, [["render", _sfc_render$S]]);
const IconArrowDownSLine = Object.assign(_IconArrowDownSLine, {
install: (app) => {
app.component(_IconArrowDownSLine.name, _IconArrowDownSLine);
}
});
const _sfc_main$12 = vue.defineComponent({
name: "IconArrowLeftDoubleFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-arrow-left-double-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$O = ["fill"];
const _hoisted_2$v = /* @__PURE__ */ vue.createElementVNode("path", { d: "m4.836 12 6.207 6.207 1.414-1.414L7.664 12l4.793-4.793-1.414-1.414L4.836 12Zm5.65 0 6.207 6.207 1.414-1.414L13.314 12l4.793-4.793-1.414-1.414L10.486 12Z" }, null, -1);
const _hoisted_3$n = [
_hoisted_2$v
];
function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$n, 14, _hoisted_1$O);
}
const _IconArrowLeftDoubleFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$12, [["render", _sfc_render$R]]);
const IconArrowLeftDoubleFill = Object.assign(_IconArrowLeftDoubleFill, {
install: (app) => {
app.component(_IconArrowLeftDoubleFill.name, _IconArrowLeftDoubleFill);
}
});
const _sfc_main$11 = vue.defineComponent({
name: "IconArrowLeftSLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-arrow-left-s-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$N = ["fill"];
const _hoisted_2$u = /* @__PURE__ */ vue.createElementVNode("path", { d: "m10.828 12 4.95 4.95-1.414 1.415L8 12l6.364-6.364 1.414 1.414-4.95 4.95Z" }, null, -1);
const _hoisted_3$m = [
_hoisted_2$u
];
function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$m, 14, _hoisted_1$N);
}
const _IconArrowLeftSLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$11, [["render", _sfc_render$Q]]);
const IconArrowLeftSLine = Object.assign(_IconArrowLeftSLine, {
install: (app) => {
app.component(_IconArrowLeftSLine.name, _IconArrowLeftSLine);
}
});
const _sfc_main$10 = vue.defineComponent({
name: "IconArrowRightDoubleFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-arrow-right-double-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$M = ["fill"];
const _hoisted_2$t = /* @__PURE__ */ vue.createElementVNode("path", { d: "m19.164 12-6.207-6.207-1.414 1.414L16.336 12l-4.793 4.793 1.414 1.414L19.164 12Zm-5.65 0L7.307 5.793 5.893 7.207 10.686 12l-4.793 4.793 1.414 1.414L13.514 12Z" }, null, -1);
const _hoisted_3$l = [
_hoisted_2$t
];
function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$l, 14, _hoisted_1$M);
}
const _IconArrowRightDoubleFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$10, [["render", _sfc_render$P]]);
const IconArrowRightDoubleFill = Object.assign(_IconArrowRightDoubleFill, {
install: (app) => {
app.component(_IconArrowRightDoubleFill.name, _IconArrowRightDoubleFill);
}
});
const _sfc_main$$ = vue.defineComponent({
name: "IconArrowRightSLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-arrow-right-s-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$L = ["fill"];
const _hoisted_2$s = /* @__PURE__ */ vue.createElementVNode("path", { d: "m13.172 12-4.95-4.95 1.414-1.413L16 12l-6.364 6.364-1.414-1.415 4.95-4.95Z" }, null, -1);
const _hoisted_3$k = [
_hoisted_2$s
];
function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$k, 14, _hoisted_1$L);
}
const _IconArrowRightSLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$$, [["render", _sfc_render$O]]);
const IconArrowRightSLine = Object.assign(_IconArrowRightSLine, {
install: (app) => {
app.component(_IconArrowRightSLine.name, _IconArrowRightSLine);
}
});
const _sfc_main$_ = vue.defineComponent({
name: "IconArrowUpSLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-arrow-up-s-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$K = ["fill"];
const _hoisted_2$r = /* @__PURE__ */ vue.createElementVNode("path", { d: "m12 10.828-4.95 4.95-1.414-1.414L12 8l6.364 6.364-1.414 1.414-4.95-4.95Z" }, null, -1);
const _hoisted_3$j = [
_hoisted_2$r
];
function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$j, 14, _hoisted_1$K);
}
const _IconArrowUpSLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$_, [["render", _sfc_render$N]]);
const IconArrowUpSLine = Object.assign(_IconArrowUpSLine, {
install: (app) => {
app.component(_IconArrowUpSLine.name, _IconArrowUpSLine);
}
});
const _sfc_main$Z = vue.defineComponent({
name: "IconCalendarLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-calendar-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$J = ["fill"];
const _hoisted_2$q = /* @__PURE__ */ vue.createElementVNode("path", { d: "M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2Zm11 10H4v8h16v-8ZM7 5H4v4h16V5h-3v2h-2V5H9v2H7V5Z" }, null, -1);
const _hoisted_3$i = [
_hoisted_2$q
];
function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$i, 14, _hoisted_1$J);
}
const _IconCalendarLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$Z, [["render", _sfc_render$M]]);
const IconCalendarLine = Object.assign(_IconCalendarLine, {
install: (app) => {
app.component(_IconCalendarLine.name, _IconCalendarLine);
}
});
const _sfc_main$Y = vue.defineComponent({
name: "IconInbox2Line",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-inbox-2-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$I = ["fill"];
const _hoisted_2$p = /* @__PURE__ */ vue.createElementVNode("path", { d: "M4.024 3.783A1 1 0 0 1 5 3h14a1 1 0 0 1 .976.783l2 9c.016.071.024.144.024.217v7a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7a1 1 0 0 1 .024-.217l2-9ZM5.802 5l-1.555 7H9a3 3 0 1 0 6 0h4.753l-1.555-7H5.802Zm10.782 9a5.001 5.001 0 0 1-9.168 0H4v5h16v-5h-3.416Z" }, null, -1);
const _hoisted_3$h = [
_hoisted_2$p
];
function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$h, 14, _hoisted_1$I);
}
const _IconInbox2Line = /* @__PURE__ */ _export_sfc$1(_sfc_main$Y, [["render", _sfc_render$L]]);
const IconInbox2Line = Object.assign(_IconInbox2Line, {
install: (app) => {
app.component(_IconInbox2Line.name, _IconInbox2Line);
}
});
const _sfc_main$X = vue.defineComponent({
name: "IconImage2Fill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-image-2-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$H = ["fill"];
const _hoisted_2$o = /* @__PURE__ */ vue.createElementVNode("path", { d: "m5 11.1 2-2 5.5 5.5 3.5-3.5 3 3V5H5v6.1ZM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm11.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z" }, null, -1);
const _hoisted_3$g = [
_hoisted_2$o
];
function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$g, 14, _hoisted_1$H);
}
const _IconImage2Fill = /* @__PURE__ */ _export_sfc$1(_sfc_main$X, [["render", _sfc_render$K]]);
const IconImage2Fill = Object.assign(_IconImage2Fill, {
install: (app) => {
app.component(_IconImage2Fill.name, _IconImage2Fill);
}
});
const _sfc_main$W = vue.defineComponent({
name: "IconCheckLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-check-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$G = ["fill"];
const _hoisted_2$n = /* @__PURE__ */ vue.createElementVNode("path", { d: "m10 15.17 9.192-9.191 1.414 1.414L10 17.999l-6.364-6.364 1.414-1.414 4.95 4.95Z" }, null, -1);
const _hoisted_3$f = [
_hoisted_2$n
];
function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$f, 14, _hoisted_1$G);
}
const _IconCheckLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["render", _sfc_render$J]]);
const IconCheckLine = Object.assign(_IconCheckLine, {
install: (app) => {
app.component(_IconCheckLine.name, _IconCheckLine);
}
});
const _sfc_main$V = vue.defineComponent({
name: "IconCheckboxCircleFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-checkbox-circle-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$F = ["fill"];
const _hoisted_2$m = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-.997-6 7.07-7.071-1.413-1.414-5.657 5.657-2.829-2.829-1.414 1.414L11.003 16Z" }, null, -1);
const _hoisted_3$e = [
_hoisted_2$m
];
function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$e, 14, _hoisted_1$F);
}
const _IconCheckboxCircleFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$V, [["render", _sfc_render$I]]);
const IconCheckboxCircleFill = Object.assign(_IconCheckboxCircleFill, {
install: (app) => {
app.component(_IconCheckboxCircleFill.name, _IconCheckboxCircleFill);
}
});
const _sfc_main$U = vue.defineComponent({
name: "IconCloseCircleFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-close-circle-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$E = ["fill"];
const _hoisted_2$l = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586Z" }, null, -1);
const _hoisted_3$d = [
_hoisted_2$l
];
function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$d, 14, _hoisted_1$E);
}
const _IconCloseCircleFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["render", _sfc_render$H]]);
const IconCloseCircleFill = Object.assign(_IconCloseCircleFill, {
install: (app) => {
app.component(_IconCloseCircleFill.name, _IconCloseCircleFill);
}
});
const _sfc_main$T = vue.defineComponent({
name: "IconCloseLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-close-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$D = ["fill"];
const _hoisted_2$k = /* @__PURE__ */ vue.createElementVNode("path", { d: "m12 10.586 4.95-4.95 1.414 1.415-4.95 4.95 4.95 4.95-1.415 1.414-4.95-4.95-4.949 4.95-1.414-1.415 4.95-4.95-4.95-4.95L7.05 5.638l4.95 4.95Z" }, null, -1);
const _hoisted_3$c = [
_hoisted_2$k
];
function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$c, 14, _hoisted_1$D);
}
const _IconCloseLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$T, [["render", _sfc_render$G]]);
const IconCloseLine = Object.assign(_IconCloseLine, {
install: (app) => {
app.component(_IconCloseLine.name, _IconCloseLine);
}
});
const _sfc_main$S = vue.defineComponent({
name: "IconErrorWarningFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-error-warning-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$C = ["fill"];
const _hoisted_2$j = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-1-7v2h2v-2h-2Zm0-8v6h2V7h-2Z" }, null, -1);
const _hoisted_3$b = [
_hoisted_2$j
];
function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$b, 14, _hoisted_1$C);
}
const _IconErrorWarningFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$S, [["render", _sfc_render$F]]);
const IconErrorWarningFill = Object.assign(_IconErrorWarningFill, {
install: (app) => {
app.component(_IconErrorWarningFill.name, _IconErrorWarningFill);
}
});
const _sfc_main$R = vue.defineComponent({
name: "IconEyeCloseFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-eye-close-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$B = ["fill"];
const _hoisted_2$i = /* @__PURE__ */ vue.createElementVNode("path", { d: "m10.13 15.842-.787 2.94-1.932-.517.787-2.94a10.988 10.988 0 0 1-3.237-1.871l-2.153 2.153-1.414-1.414 2.153-2.154a10.957 10.957 0 0 1-2.371-5.07l.9-.164A16.923 16.923 0 0 0 12 10c3.704 0 7.132-1.184 9.924-3.195l.9.163a10.958 10.958 0 0 1-2.37 5.071l2.153 2.154-1.414 1.414-2.154-2.153a10.989 10.989 0 0 1-3.237 1.872l.788 2.939-1.932.517-.788-2.94a11.078 11.078 0 0 1-3.74 0Z" }, null, -1);
const _hoisted_3$a = [
_hoisted_2$i
];
function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$a, 14, _hoisted_1$B);
}
const _IconEyeCloseFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$R, [["render", _sfc_render$E]]);
const IconEyeCloseFill = Object.assign(_IconEyeCloseFill, {
install: (app) => {
app.component(_IconEyeCloseFill.name, _IconEyeCloseFill);
}
});
const _sfc_main$Q = vue.defineComponent({
name: "IconEyeFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-eye-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$A = ["fill"];
const _hoisted_2$h = /* @__PURE__ */ vue.createElementVNode("path", { d: "M1.182 12C2.122 6.88 6.608 3 12 3c5.392 0 9.878 3.88 10.819 9-.94 5.12-5.427 9-10.819 9-5.392 0-9.878-3.88-10.818-9ZM12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z" }, null, -1);
const _hoisted_3$9 = [
_hoisted_2$h
];
function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$9, 14, _hoisted_1$A);
}
const _IconEyeFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$Q, [["render", _sfc_render$D]]);
const IconEyeFill = Object.assign(_IconEyeFill, {
install: (app) => {
app.component(_IconEyeFill.name, _IconEyeFill);
}
});
const _sfc_main$P = vue.defineComponent({
name: "IconInformationFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-information-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$z = ["fill"];
const _hoisted_2$g = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-1-11v6h2v-6h-2Zm0-4v2h2V7h-2Z" }, null, -1);
const _hoisted_3$8 = [
_hoisted_2$g
];
function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$8, 14, _hoisted_1$z);
}
const _IconInformationFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$P, [["render", _sfc_render$C]]);
const IconInformationFill = Object.assign(_IconInformationFill, {
install: (app) => {
app.component(_IconInformationFill.name, _IconInformationFill);
}
});
const _sfc_main$O = vue.defineComponent({
name: "IconLoader4Line",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-loader-4-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$y = ["fill"];
const _hoisted_2$f = /* @__PURE__ */ vue.createElementVNode("path", { d: "M18.364 5.636 16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364Z" }, null, -1);
const _hoisted_3$7 = [
_hoisted_2$f
];
function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$7, 14, _hoisted_1$y);
}
const _IconLoader4Line = /* @__PURE__ */ _export_sfc$1(_sfc_main$O, [["render", _sfc_render$B]]);
const IconLoader4Line = Object.assign(_IconLoader4Line, {
install: (app) => {
app.component(_IconLoader4Line.name, _IconLoader4Line);
}
});
const _sfc_main$N = vue.defineComponent({
name: "IconLoader5Line",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-loader-5-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$x = ["fill"];
const _hoisted_2$e = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 3a9 9 0 0 1 9 9h-2a7 7 0 0 0-7-7V3Z" }, null, -1);
const _hoisted_3$6 = [
_hoisted_2$e
];
function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$6, 14, _hoisted_1$x);
}
const _IconLoader5Line = /* @__PURE__ */ _export_sfc$1(_sfc_main$N, [["render", _sfc_render$A]]);
const IconLoader5Line = Object.assign(_IconLoader5Line, {
install: (app) => {
app.component(_IconLoader5Line.name, _IconLoader5Line);
}
});
const _sfc_main$M = vue.defineComponent({
name: "IconMoreFill",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-more-fill`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$w = ["fill"];
const _hoisted_2$d = /* @__PURE__ */ vue.createElementVNode("path", { d: "M5 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm14 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z" }, null, -1);
const _hoisted_3$5 = [
_hoisted_2$d
];
function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$5, 14, _hoisted_1$w);
}
const _IconMoreFill = /* @__PURE__ */ _export_sfc$1(_sfc_main$M, [["render", _sfc_render$z]]);
const IconMoreFill = Object.assign(_IconMoreFill, {
install: (app) => {
app.component(_IconMoreFill.name, _IconMoreFill);
}
});
const _sfc_main$L = vue.defineComponent({
name: "IconSubtractLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-subtract-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$v = ["fill"];
const _hoisted_2$c = /* @__PURE__ */ vue.createElementVNode("path", { d: "M5 11v2h14v-2H5Z" }, null, -1);
const _hoisted_3$4 = [
_hoisted_2$c
];
function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$4, 14, _hoisted_1$v);
}
const _IconSubtractLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$L, [["render", _sfc_render$y]]);
const IconSubtractLine = Object.assign(_IconSubtractLine, {
install: (app) => {
app.component(_IconSubtractLine.name, _IconSubtractLine);
}
});
const _sfc_main$K = vue.defineComponent({
name: "IconTimeLine",
props: {
/** 图标尺寸 */
size: { type: String, default: "18px" },
/** 颜色 */
fill: { type: String, default: "#595959" },
/** 旋转角度 */
rotate: { type: Number },
/** 是否旋转 */
spin: { type: Boolean }
},
emits: {
click: (ev) => true
},
setup(props2, { emit }) {
const name2 = "bp-icon";
const iconClass = vue.computed(() => [name2, `${name2}-time-line`, { [`${name2}-spin`]: props2.spin }]);
const innerStyle = vue.computed(() => {
const styles = {};
props2.size && (styles.width = props2.size);
props2.size && (styles.height = props2.size);
props2.rotate && (styles.transform = `rotate(${props2.rotate}deg)`);
return styles;
});
const onClick = (ev) => {
emit("click", ev);
};
return {
iconClass,
innerStyle,
onClick
};
}
});
const _hoisted_1$u = ["fill"];
const _hoisted_2$b = /* @__PURE__ */ vue.createElementVNode("path", { d: "M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm1-8h4v2h-6V7h2v5Z" }, null, -1);
const _hoisted_3$3 = [
_hoisted_2$b
];
function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("svg", {
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg",
class: vue.normalizeClass(_ctx.iconClass),
style: vue.normalizeStyle(_ctx.innerStyle),
fill: _ctx.fill,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, _hoisted_3$3, 14, _hoisted_1$u);
}
const _IconTimeLine = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["render", _sfc_render$x]]);
const IconTimeLine = Object.assign(_IconTimeLine, {
install: (app) => {
app.component(_IconTimeLine.name, _IconTimeLine);
}
});
const _sfc_main$J = vue.defineComponent({
name: "Button",
props: {
/** 按钮类型 Type of the button */
type: { type: String, default: "normal" },
/** 按钮尺寸 Size of the button */
size: { type: String, default: "normal" },
/** 按钮形状 Shape of the button */
shape: { type: String, default: "square" },
/** 按钮状态 Status of the button */
status: { type: String, default: "normal" },
/** 是否加载 Loading or not */
loading: { type: Boolean, default: false },
/** 是否禁用 Disabled or not */
disabled: { type: Boolean, default: false },
/** 按钮图标 Button icon */
icon: { type: Object },
/** 是否撑满父级 Block or not */
block: { type: Boolean, default: false }
},
emits: ["click"],
setup(props2, { emit }) {
const name2 = "bp-btn";
const isDisabled = vue.computed(() => props2.disabled || props2.loading);
const btnClass = vue.computed(() => {
let className = [
name2,
`${name2}-${props2.shape}-${props2.size}`,
`${name2}-type-${props2.type}-status-${props2.status}`,
{ "has-default-slot": !!vue.useSlots().default },
{ "is-block": props2.block }
];
return className;
});
const btnIcon = vue.computed(() => {
return props2.loading ? IconLoader4Line : props2.icon;
});
const onClick = () => {
if (!props2.disabled)
return emit("click");
};
return {
isDisabled,
btnClass,
btnIcon,
onClick
};
}
});
const _export_sfc = (sfc, props2) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props2) {
target[key] = val;
}
return target;
};
const _hoisted_1$t = ["disabled"];
const _hoisted_2$a = {
key: 0,
class: "left-icon"
};
function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("button", {
class: vue.normalizeClass(_ctx.btnClass),
type: "button",
disabled: _ctx.isDisabled,
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
}, [
_ctx.btnIcon || _ctx.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$a, [
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.btnIcon), {
class: vue.normalizeClass({ "bp-icon-loading": _ctx.loading }),
size: "14"
}, null, 8, ["class"]))
])) : vue.createCommentVNode("", true),
vue.renderSlot(_ctx.$slots, "default")
], 10, _hoisted_1$t);
}
const _button = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$w]]);
const DEFAULT_PREFIX = "Bp";
const getComponentsPrefix = (name2) => {
return name2 ?? DEFAULT_PREFIX;
};
_button.name = getComponentsPrefix() + _button.name;
const Button = Object.assign(_button, {
install: (app) => {
app.component(_button.name, _button);
}
});
const isElement = (vn) => {
return Boolean(
vn && vn.shapeFlag & 1
/* ELEMENT */
);
};
const isComponent = (vn, type2) => {
return Boolean(
vn && vn.shapeFlag & 6
/* COMPONENT */
);
};
const isTextChildren = (child, children) => {
return Boolean(child && child.shapeFlag & 8);
};
const isArrayChildren = (vn, children) => {
return Boolean(
vn && vn.shapeFlag & 16
/* ARRAY_CHILDREN */
);
};
const opt = Object.prototype.toString;
const isArray$1 = (obj) => {
return opt.call(obj) === "[object Array]";
};
const isSlotsChildren = (vn, children) => {
return Boolean(
vn && vn.shapeFlag & 32
/* SLOTS_CHILDREN */
);
};
const getAllElements = (children, includeText = false) => {
var _a, _b;
const results = [];
for (const item of children ?? []) {
if (isElement(item) || isComponent(item) || includeText && isTextChildren(item, item.children)) {
results.push(item);
} else if (isArrayChildren(item, item.children)) {
results.push(...getAllElements(item.children, includeText));
} else if (isSlotsChildren(item, item.children)) {
results.push(...getAllElements((_b = (_a = item.children).default) == null ? void 0 : _b.call(_a), includeText));
} else if (isArray$1(item)) {
results.push(...getAllElements(item, includeText));
}
}
return