UNPKG

birdpaper-ui

Version:

一个通用的 vue3 UI组件库。A common vue3 UI component library.

1,383 lines (1,382 loc) 338 kB
(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