jobsys-mpower
Version:
Enhanced component based on Taro & NutUI
2,043 lines • 56.3 kB
JavaScript
import { defineComponent as A, useSlots as Z, useAttrs as ee, openBlock as p, createBlock as x, h as te, toRefs as F, computed as P, resolveComponent as se, createElementBlock as y, normalizeClass as R, normalizeStyle as V, createElementVNode as H, createCommentVNode as I, createTextVNode as E, renderSlot as j, Transition as Te, withCtx as ue, withDirectives as _e, vShow as Oe, reactive as G, watch as W, watchEffect as Re, mergeProps as ce, createVNode as w, ref as T, onMounted as je, toDisplayString as U, Fragment as X, renderList as re, inject as xe } from "vue";
import { T as K } from "./index-76a93d23.js";
import { isNull as Fe, isUndefined as Ue } from "lodash-es";
const We = (e) => e.replace(/-./g, (t) => t[1].toUpperCase());
function q(e) {
return {
componentName: "nut-" + e,
create: function(n) {
return n.name = "Nut" + We("-" + e), n.install = (l) => {
l.component(n.name, n);
}, A(n);
}
};
}
const Xe = /* @__PURE__ */ A({
__name: "CheckDisabled",
props: {
name: { type: String, default: "check-disabled" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
emits: ["click"],
setup(e, { emit: t }) {
const n = e, l = "nut-icon", a = (o) => {
t("click", o);
}, i = Z();
ee();
const r = (o) => {
if (o)
return isNaN(Number(o)) ? String(o) : o + "px";
}, s = () => {
var o;
return te(
n.tag,
{
class: n.fontClassName + " " + l + " " + n.classPrefix + "-" + n.name,
style: {
color: n.color,
fontSize: r(n.size),
width: r(n.size),
height: r(n.size)
},
onClick: a
},
(o = i.default) == null ? void 0 : o.call(i)
);
};
return (o, f) => (p(), x(s));
}
}), Je = /* @__PURE__ */ A({
__name: "Checked",
props: {
name: { type: String, default: "checked" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
emits: ["click"],
setup(e, { emit: t }) {
const n = e, l = "nut-icon", a = (o) => {
t("click", o);
}, i = Z();
ee();
const r = (o) => {
if (o)
return isNaN(Number(o)) ? String(o) : o + "px";
}, s = () => {
var o;
return te(
n.tag,
{
class: n.fontClassName + " " + l + " " + n.classPrefix + "-" + n.name,
style: {
color: n.color,
fontSize: r(n.size),
width: r(n.size),
height: r(n.size)
},
onClick: a
},
(o = i.default) == null ? void 0 : o.call(i)
);
};
return (o, f) => (p(), x(s));
}
}), Ke = /* @__PURE__ */ A({
__name: "Close",
props: {
name: { type: String, default: "close" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
emits: ["click"],
setup(e, { emit: t }) {
const n = e, l = "nut-icon", a = (o) => {
t("click", o);
}, i = Z();
ee();
const r = (o) => {
if (o)
return isNaN(Number(o)) ? String(o) : o + "px";
}, s = () => {
var o;
return te(
n.tag,
{
class: n.fontClassName + " " + l + " " + n.classPrefix + "-" + n.name,
style: {
color: n.color,
fontSize: r(n.size),
width: r(n.size),
height: r(n.size)
},
onClick: a
},
(o = i.default) == null ? void 0 : o.call(i)
);
};
return (o, f) => (p(), x(s));
}
}), Ge = /* @__PURE__ */ A({
__name: "Issue",
props: {
name: { type: String, default: "issue" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
emits: ["click"],
setup(e, { emit: t }) {
const n = e, l = "nut-icon", a = (o) => {
t("click", o);
}, i = Z();
ee();
const r = (o) => {
if (o)
return isNaN(Number(o)) ? String(o) : o + "px";
}, s = () => {
var o;
return te(
n.tag,
{
class: n.fontClassName + " " + l + " " + n.classPrefix + "-" + n.name,
style: {
color: n.color,
fontSize: r(n.size),
width: r(n.size),
height: r(n.size)
},
onClick: a
},
(o = i.default) == null ? void 0 : o.call(i)
);
};
return (o, f) => (p(), x(s));
}
}), qe = /* @__PURE__ */ A({
__name: "Loading",
props: {
name: { type: String, default: "loading" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
emits: ["click"],
setup(e, { emit: t }) {
const n = e, l = "nut-icon", a = (o) => {
t("click", o);
}, i = Z();
ee();
const r = (o) => {
if (o)
return isNaN(Number(o)) ? String(o) : o + "px";
}, s = () => {
var o;
return te(
n.tag,
{
class: n.fontClassName + " " + l + " " + n.classPrefix + "-" + n.name,
style: {
color: n.color,
fontSize: r(n.size),
width: r(n.size),
height: r(n.size)
},
onClick: a
},
(o = i.default) == null ? void 0 : o.call(i)
);
};
return (o, f) => (p(), x(s));
}
}), Qe = /* @__PURE__ */ A({
__name: "MaskClose",
props: {
name: { type: String, default: "mask-close" },
size: { type: [String, Number], default: "" },
width: { type: [String, Number], default: "" },
height: { type: [String, Number], default: "" },
classPrefix: { type: String, default: "nut-icon" },
fontClassName: { type: String, default: "nutui-iconfont" },
color: { type: String, default: "" },
tag: { type: String, default: "i" }
},
emits: ["click"],
setup(e, { emit: t }) {
const n = e, l = "nut-icon", a = (o) => {
t("click", o);
}, i = Z();
ee();
const r = (o) => {
if (o)
return isNaN(Number(o)) ? String(o) : o + "px";
}, s = () => {
var o;
return te(
n.tag,
{
class: n.fontClassName + " " + l + " " + n.classPrefix + "-" + n.name,
style: {
color: n.color,
fontSize: r(n.size),
width: r(n.size),
height: r(n.size)
},
onClick: a
},
(o = i.default) == null ? void 0 : o.call(i)
);
};
return (o, f) => (p(), x(s));
}
});
const Q = (e, t) => {
const n = e.__vccOpts || e;
for (const [l, a] of t)
n[l] = a;
return n;
}, { componentName: Ze, create: et } = q("button"), tt = et({
components: { Loading: qe },
props: {
color: String,
shape: {
type: String,
default: "round"
},
plain: {
type: Boolean,
default: !1
},
loading: {
type: Boolean,
default: !1
},
disabled: {
type: Boolean,
default: !1
},
type: {
type: String,
default: "default"
},
formType: {
type: String,
default: "button"
},
size: {
type: String,
default: "normal"
},
block: {
type: Boolean,
default: !1
}
},
emits: ["click"],
setup(e, { emit: t }) {
const { type: n, size: l, shape: a, disabled: i, loading: r, color: s, plain: o, block: f } = F(e), v = (c) => {
!r.value && !i.value && t("click", c);
}, u = P(() => {
const c = Ze;
return {
[c]: !0,
[`${c}--${n.value}`]: n.value,
[`${c}--${l.value}`]: l.value,
[`${c}--${a.value}`]: a.value,
[`${c}--plain`]: o.value,
[`${c}--block`]: f.value,
[`${c}--disabled`]: i.value,
[`${c}--loading`]: r.value
};
}), k = P(() => {
var c;
const C = {};
return s != null && s.value && (o.value ? (C.color = s.value, C.background = "#fff", (c = s.value) != null && c.includes("gradient") || (C.borderColor = s.value)) : (C.color = "#fff", C.background = s.value)), C;
});
return {
handleClick: v,
classes: u,
getStyle: k,
Taro: K
};
}
}), nt = ["type", "formType"], lt = { class: "nut-button__wrap" };
function ot(e, t, n, l, a, i) {
const r = se("Loading");
return p(), y("button", {
class: R(e.classes),
style: V(e.getStyle),
type: e.Taro.getEnv() === e.Taro.ENV_TYPE.WEB ? e.formType : void 0,
formType: e.formType === "button" ? void 0 : e.formType,
onClick: t[0] || (t[0] = (...s) => e.handleClick && e.handleClick(...s))
}, [
H("view", lt, [
e.loading ? (p(), x(r, {
key: 0,
class: "nut-icon-loading"
})) : I("", !0),
E(),
e.$slots.icon && !e.loading ? j(e.$slots, "icon", { key: 1 }) : I("", !0),
E(),
e.$slots.default ? (p(), y("view", {
key: 2,
class: R({ "nut-button__text": e.$slots.icon || e.loading })
}, [
j(e.$slots, "default")
], 2)) : I("", !0)
])
], 14, nt);
}
const at = /* @__PURE__ */ Q(tt, [["render", ot]]), ze = (e) => {
if (e !== void 0)
return isNaN(Number(e)) ? String(e) : `${e}px`;
};
var rt = Object.defineProperty, me = Object.getOwnPropertySymbols, st = Object.prototype.hasOwnProperty, it = Object.prototype.propertyIsEnumerable, he = (e, t, n) => t in e ? rt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, ut = (e, t) => {
for (var n in t || (t = {}))
st.call(t, n) && he(e, n, t[n]);
if (me)
for (var n of me(t))
it.call(t, n) && he(e, n, t[n]);
return e;
};
const { componentName: ct, create: dt } = q("overlay"), pt = dt({
props: {
visible: {
type: Boolean,
default: !1
},
zIndex: {
type: [Number, String],
default: 2e3
},
duration: {
type: [Number, String],
default: 0.3
},
overlayClass: {
type: String,
default: ""
},
lockScroll: {
type: Boolean,
default: !0
},
overlayStyle: {
type: Object
},
closeOnClickOverlay: {
type: Boolean,
default: !0
}
},
emits: ["click", "update:visible"],
setup(e, { emit: t }) {
const n = P(() => ({
[ct]: !0,
[e.overlayClass]: !0
})), l = P(() => ut({
transitionDuration: `${e.duration}s`,
zIndex: e.zIndex
}, e.overlayStyle));
return { classes: n, style: l, onClick: (i) => {
t("click", i), e.closeOnClickOverlay && t("update:visible", !1);
} };
}
}), ft = ["catch-move"];
function mt(e, t, n, l, a, i) {
return p(), x(Te, { name: "overlay-fade" }, {
default: ue(() => [
_e(H("view", {
class: R(e.classes),
style: V(e.style),
"catch-move": e.lockScroll,
onClick: t[0] || (t[0] = (...r) => e.onClick && e.onClick(...r))
}, [
j(e.$slots, "default")
], 14, ft), [
[Oe, e.visible]
])
]),
_: 3
});
}
const ht = /* @__PURE__ */ Q(pt, [["render", mt]]);
var vt = Object.defineProperty, yt = Object.defineProperties, gt = Object.getOwnPropertyDescriptors, ve = Object.getOwnPropertySymbols, St = Object.prototype.hasOwnProperty, bt = Object.prototype.propertyIsEnumerable, ye = (e, t, n) => t in e ? vt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, ge = (e, t) => {
for (var n in t || (t = {}))
St.call(t, n) && ye(e, n, t[n]);
if (ve)
for (var n of ve(t))
bt.call(t, n) && ye(e, n, t[n]);
return e;
}, kt = (e, t) => yt(e, gt(t));
const $t = {
visible: {
type: Boolean,
default: !1
},
zIndex: {
type: [Number, String],
default: 2e3
},
duration: {
type: [Number, String],
default: 0.3
},
lockScroll: {
type: Boolean,
default: !0
},
closeOnClickOverlay: {
type: Boolean,
default: !0
},
position: {
type: String,
default: "center"
},
transition: {
type: String,
default: ""
},
style: {
type: Object,
default: () => ({})
},
popClass: {
type: String,
default: ""
},
closeable: {
type: Boolean,
default: !1
},
closeIconPosition: {
type: String,
default: "top-right"
},
closeIcon: {
type: String,
default: "close"
},
destroyOnClose: {
type: Boolean,
default: !0
},
teleport: {
type: [String, Element],
default: "body"
},
overlay: {
type: Boolean,
default: !0
},
round: {
type: Boolean,
default: !1
},
teleportDisable: {
type: Boolean,
default: !1
},
safeAreaInsetBottom: {
type: Boolean,
default: !1
},
overlayClass: {
type: String,
default: ""
},
overlayStyle: {
type: Object,
default: () => ({})
}
}, { componentName: Nt, create: wt } = q("popup"), Ee = 2e3;
let Se = Ee;
const Ct = wt({
components: {
NutOverlay: ht,
Close: Ke
},
props: $t,
emits: ["clickPop", "clickCloseIcon", "open", "close", "opened", "closed", "clickOverlay", "update:visible"],
setup(e, { emit: t }) {
const n = G({
zIndex: e.zIndex,
showSlot: !0,
closed: e.closeable
}), l = P(() => ({
[Nt]: !0,
round: e.round,
[`nut-popup--${e.position}`]: !0,
[`nut-popup--${e.position}--safebottom`]: e.position === "bottom" && e.safeAreaInsetBottom,
[e.popClass]: !0
})), a = P(() => ge({
zIndex: n.zIndex,
transitionDuration: `${e.duration}s`
}, e.style)), i = P(() => e.transition ? e.transition : `nut-popup-slide-${e.position}`), r = () => {
e.zIndex !== Ee && (Se = Number(e.zIndex)), t("update:visible", !0), n.zIndex = ++Se, e.destroyOnClose && (n.showSlot = !0), t("open");
}, s = () => {
t("update:visible", !1), t("close"), e.destroyOnClose && setTimeout(() => {
n.showSlot = !1;
}, +e.duration * 1e3);
}, o = (c) => {
t("clickPop", c);
}, f = (c) => {
c.stopPropagation(), t("clickCloseIcon", c), t("update:visible", !1);
}, v = (c) => {
t("clickOverlay", c), e.closeOnClickOverlay && t("update:visible", !1);
}, u = (c) => {
t("opened", c);
}, k = (c) => {
t("closed", c);
};
return W(
() => e.visible,
() => {
e.visible ? r() : s();
}
), Re(() => {
n.closed = e.closeable;
}), kt(ge({}, F(n)), {
popStyle: a,
transitionName: i,
classes: l,
onClick: o,
onClickCloseIcon: f,
onClickOverlay: v,
onOpened: u,
onClosed: k
});
}
});
function Pt(e, t, n, l, a, i) {
const r = se("nut-overlay"), s = se("Close");
return p(), y("view", null, [
e.overlay ? (p(), x(r, ce({
key: 0,
visible: e.visible,
"close-on-click-overlay": e.closeOnClickOverlay,
"z-index": e.zIndex,
"lock-scroll": e.lockScroll,
duration: e.duration,
"overlay-class": e.overlayClass,
"overlay-style": e.overlayStyle
}, e.$attrs, { onClick: e.onClickOverlay }), null, 16, ["visible", "close-on-click-overlay", "z-index", "lock-scroll", "duration", "overlay-class", "overlay-style", "onClick"])) : I("", !0),
E(),
w(Te, {
name: e.transitionName,
onAfterEnter: e.onOpened,
onAfterLeave: e.onClosed
}, {
default: ue(() => [
_e(H("view", {
class: R(e.classes),
style: V(e.popStyle),
onClick: t[1] || (t[1] = (...o) => e.onClick && e.onClick(...o))
}, [
e.showSlot ? j(e.$slots, "default", { key: 0 }) : I("", !0),
E(),
e.closed ? (p(), y("view", {
key: 1,
class: R(["nut-popup__close-icon", "nut-popup__close-icon--" + e.closeIconPosition]),
onClick: t[0] || (t[0] = (...o) => e.onClickCloseIcon && e.onClickCloseIcon(...o))
}, [
j(e.$slots, "close-icon", {}, () => [
w(s, { height: "12px" })
])
], 2)) : I("", !0)
], 6), [
[Oe, e.visible]
])
]),
_: 3
}, 8, ["name", "onAfterEnter", "onAfterLeave"])
]);
}
const Tt = /* @__PURE__ */ Q(Ct, [["render", Pt]]);
class Ie {
}
var _t = Object.defineProperty, Ot = (e, t, n) => t in e ? _t(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, S = (e, t, n) => (Ot(e, typeof t != "symbol" ? t + "" : t, n), n);
let zt = class extends Ie {
constructor() {
super(...arguments), S(this, "save", "保存"), S(this, "confirm", "确认"), S(this, "cancel", "取消"), S(this, "done", "完成"), S(this, "noData", "暂无数据"), S(this, "placeholder", "请输入"), S(this, "select", "请选择"), S(this, "video", {
errorTip: "视频加载失败",
clickRetry: "点击重试"
}), S(this, "fixednav", {
activeText: "收起导航",
unActiveText: "快速导航"
}), S(this, "pagination", {
prev: "上一页",
next: "下一页"
}), S(this, "calendaritem", {
weekdays: ["日", "一", "二", "三", "四", "五", "六"],
end: "结束",
start: "开始",
title: "日期选择",
monthTitle: (t, n) => `${t}年${n}月`,
today: "今天"
}), S(this, "shortpassword", {
title: "请输入密码",
desc: "您使用了虚拟资产,请进行验证",
tips: "忘记密码"
}), S(this, "uploader", {
ready: "准备完成",
readyUpload: "准备上传",
waitingUpload: "等待上传",
uploading: "上传中",
success: "上传成功",
error: "上传失败"
}), S(this, "countdown", {
day: "天",
hour: "时",
minute: "分",
second: "秒"
}), S(this, "address", {
selectRegion: "请选择所在地区",
deliveryTo: "配送至",
chooseAnotherAddress: "选择其他地址"
}), S(this, "signature", {
reSign: "重签",
unSupportTpl: "对不起,当前浏览器不支持Canvas,无法使用本控件!"
}), S(this, "ecard", {
chooseText: "请选择电子卡面值",
otherValueText: "其他面值",
placeholder: "请输入1-5000整数"
}), S(this, "timeselect", {
pickupTime: "取件时间"
}), S(this, "sku", {
buyNow: "立即购买",
buyNumber: "购买数量",
addToCart: "加入购物车"
}), S(this, "skuheader", {
skuId: "商品编号"
}), S(this, "addresslist", {
addAddress: "新建地址",
default: "默认"
}), S(this, "comment", {
complaintsText: "我要投诉",
additionalReview: (t) => `购买${t}天后追评`,
additionalImages: (t) => `${t}张追评图片`
}), S(this, "infiniteloading", {
loading: "加载中...",
pullTxt: "松开刷新",
loadMoreTxt: "哎呀,这里是底部了啦"
}), S(this, "datepicker", {
year: "年",
month: "月",
day: "日",
hour: "时",
min: "分",
seconds: "秒"
}), S(this, "audiooperate", {
back: "倒退",
start: "开始",
pause: "暂停",
forward: "快进",
mute: "静音"
}), S(this, "pullrefresh", {
pulling: "下拉刷新",
loosing: "释放刷新",
loading: "加载中...",
complete: "刷新成功"
});
}
};
var Et = Object.defineProperty, It = (e, t, n) => t in e ? Et(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, b = (e, t, n) => (It(e, typeof t != "symbol" ? t + "" : t, n), n);
class Mt extends Ie {
constructor() {
super(...arguments), b(this, "save", "Save"), b(this, "confirm", "Confirm"), b(this, "cancel", "Cancel"), b(this, "done", "Done"), b(this, "noData", "No Data"), b(this, "placeholder", "Placeholder"), b(this, "select", "Select"), b(this, "video", {
errorTip: "Error Tip",
clickRetry: "Click Retry"
}), b(this, "fixednav", {
activeText: "Close Nav",
unActiveText: "Open Nav"
}), b(this, "pagination", {
prev: "Previous",
next: "Next"
}), b(this, "calendaritem", {
weekdays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
end: "End",
start: "Start",
title: "Calendar",
monthTitle: (t, n) => `${t}/${n}`,
today: "Today"
}), b(this, "shortpassword", {
title: "Please input a password",
desc: "Verify",
tips: "Forget password"
}), b(this, "uploader", {
ready: "Ready",
readyUpload: "Ready to upload",
waitingUpload: "Waiting for upload",
uploading: "Uploading",
success: "Upload successful",
error: "Upload failed"
}), b(this, "countdown", {
day: " Day ",
hour: " Hour ",
minute: " Minute ",
second: " Second "
}), b(this, "address", {
selectRegion: "Select Region",
deliveryTo: "Delivery To",
chooseAnotherAddress: "Choose Another Address"
}), b(this, "signature", {
reSign: "Re Sign",
unSupportTpl: "Sorry, the current browser doesn't support canvas, so we can't use this control!"
}), b(this, "ecard", {
chooseText: "Select",
otherValueText: "Other Value",
placeholder: "Placeholder"
}), b(this, "timeselect", {
pickupTime: "Pickup Time"
}), b(this, "sku", {
buyNow: "Buy Now",
buyNumber: "Buy Number",
addToCart: "Add to Cart"
}), b(this, "skuheader", {
skuId: "Sku Number"
}), b(this, "addresslist", {
addAddress: "Add New Address",
default: "default"
}), b(this, "comment", {
complaintsText: "I have a complaint",
additionalReview: (t) => `Review after ${t} days of purchase`,
additionalImages: (t) => `There are ${t} follow-up comments`
}), b(this, "infiniteloading", {
loading: "Loading...",
pullTxt: "Loose to refresh",
loadMoreTxt: "Oops, this is the bottom"
}), b(this, "datepicker", {
year: "Year",
month: "Month",
day: "Day",
hour: "Hour",
min: "Minute",
seconds: "Second"
}), b(this, "audiooperate", {
back: "Back",
start: "Start",
pause: "Pause",
forward: "Forward",
mute: "Mute"
}), b(this, "pullrefresh", {
pulling: "Pull to refresh...",
loosing: "Loose to refresh...",
loading: "Loading...",
complete: "Refresh successfully"
});
}
}
var Bt = Object.defineProperty, Vt = (e, t, n) => t in e ? Bt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Dt = (e, t, n) => (Vt(e, typeof t != "symbol" ? t + "" : t, n), n);
const be = (e) => e !== null && typeof e == "object", Me = (e, t) => (Object.keys(t).forEach((n) => {
let l = e[n], a = t[n];
be(l) && be(a) ? Me(l, a) : e[n] = a;
}), e), ie = G({
"zh-CN": new zt(),
"en-US": new Mt()
});
class Be {
static languages() {
return ie[this.currentLang.value];
}
static use(t, n) {
n && (ie[t] = new n()), this.currentLang.value = t;
}
static merge(t, n) {
n && (ie[t] ? Me(ie[t], n) : this.use(t, n));
}
}
Dt(Be, "currentLang", T("zh-CN"));
const At = (e) => typeof e == "function", ke = (e, t) => {
try {
return t.split(".").reduce((n, l) => n[l], e);
} catch {
return "";
}
};
function $e(e, t) {
(typeof e.cancelable != "boolean" || e.cancelable) && e.preventDefault(), t && e.stopPropagation();
}
const Yt = (e, t, n) => Math.min(Math.max(e, t), n), Ve = (e = "") => (t, ...n) => {
e = e.toLocaleLowerCase();
const l = Be.languages();
let a = t;
e && e.startsWith("nut") && (a = `${e.slice(3)}.${t}`);
const i = ke(l, a) || ke(l, t);
return At(i) ? i(...n) : i;
}, Ne = 10;
function Ht(e, t) {
return e > t && e > Ne ? "horizontal" : t > e && t > Ne ? "vertical" : "";
}
function Lt() {
const e = T(0), t = T(0), n = T(0), l = T(0), a = T(0), i = T(0), r = T(0), s = T(0), o = T(""), f = () => o.value === "vertical", v = () => o.value === "horizontal", u = () => {
a.value = 0, i.value = 0, r.value = 0, s.value = 0, o.value = "";
};
return {
move: (C) => {
const $ = C.touches[0];
a.value = $.clientX - e.value, i.value = $.clientY - t.value, n.value = $.clientX, l.value = $.clientY, r.value = Math.abs(a.value), s.value = Math.abs(i.value), o.value || (o.value = Ht(r.value, s.value));
},
start: (C) => {
u(), e.value = C.touches[0].clientX, t.value = C.touches[0].clientY;
},
reset: u,
startX: e,
startY: t,
moveX: n,
moveY: l,
deltaX: a,
deltaY: i,
offsetX: r,
offsetY: s,
direction: o,
isVertical: f,
isHorizontal: v
};
}
var Rt = Object.defineProperty, jt = Object.defineProperties, xt = Object.getOwnPropertyDescriptors, we = Object.getOwnPropertySymbols, Ft = Object.prototype.hasOwnProperty, Ut = Object.prototype.propertyIsEnumerable, Ce = (e, t, n) => t in e ? Rt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, J = (e, t) => {
for (var n in t || (t = {}))
Ft.call(t, n) && Ce(e, n, t[n]);
if (we)
for (var n of we(t))
Ut.call(t, n) && Ce(e, n, t[n]);
return e;
}, de = (e, t) => jt(e, xt(t));
const Wt = {
text: "text",
value: "value",
children: "children"
}, De = (e, t) => {
const n = G({
formattedColumns: e.columns
}), l = P(() => J(J({}, Wt), e.fieldNames)), a = T([]), i = P(() => {
const d = l.value;
return v.value.map((h, M) => {
const g = h.findIndex((_) => _[d.value] === a.value[M]);
return g === -1 ? 0 : g;
});
}), r = T([]), s = (d) => {
d && r.value.length < v.value.length && r.value.push(d);
}, o = P(() => {
const d = l.value;
return v.value.map((h, M) => h.find((g) => g[d.value] === a.value[M]) || h[0]);
}), f = P(() => {
const d = n.formattedColumns[0], h = l.value;
if (d) {
if (Array.isArray(d))
return "multiple";
if (h.children in d)
return "cascade";
}
return "single";
}), v = P(() => {
let d = [];
switch (f.value) {
case "multiple":
d = n.formattedColumns;
break;
case "cascade":
d = u(
n.formattedColumns,
a.value ? a.value : []
);
break;
default:
d = [n.formattedColumns];
break;
}
return d;
}), u = (d, h) => {
const M = [], g = l.value;
let _ = {
text: "",
value: "",
[g.children]: d
}, N = 0;
for (; _ && _[g.children]; ) {
const Y = _[g.children], le = h[N];
let oe = Y.findIndex((m) => m[g.value] === le);
oe === -1 && (oe = 0), _ = _[g.children][oe], N++, M.push(Y);
}
return M;
}, k = () => {
t("cancel", {
selectedValue: a.value,
selectedOptions: o.value
});
}, c = (d, h) => {
var M;
const g = l.value;
if (h && Object.keys(h).length) {
if (a.value = a.value ? a.value : [], f.value === "cascade") {
a.value[d] = (M = h[g.value]) != null ? M : "";
let _ = d, N = h;
for (; N && N[g.children] && N[g.children][0]; )
a.value[_ + 1] = N[g.children][0][g.value], _++, N = N[g.children][0];
N && N[g.children] && N[g.children].length === 0 && (a.value = a.value.slice(0, _ + 1));
} else
a.value[d] = Object.prototype.hasOwnProperty.call(h, g.value) ? h[g.value] : "";
t("change", {
columnIndex: d,
selectedValue: a.value,
selectedOptions: o.value
});
}
}, C = () => {
const d = l.value;
a.value && !a.value.length && v.value.forEach((h) => {
a.value.push(h[0][d.value]);
}), t("confirm", {
selectedValue: a.value,
selectedOptions: o.value
});
}, $ = (d, h) => JSON.stringify(d) === JSON.stringify(h);
return W(
() => e.modelValue,
(d) => {
$(d, a.value) || (a.value = d);
},
{ deep: !0, immediate: !0 }
), W(
a,
(d) => {
$(d, e.modelValue) || t("update:modelValue", d);
},
{ deep: !0 }
), W(
() => e.columns,
(d) => {
n.formattedColumns = d;
}
), de(J({}, F(n)), {
columnsType: f,
columnsList: v,
columnFieldNames: l,
cancel: k,
changeHandler: c,
confirm: C,
defaultValues: a,
defaultIndexes: i,
pickerColumn: r,
swipeRef: s,
selectedOptions: o,
isSameValue: $
});
}, { create: Xt } = q("picker-column"), Jt = Xt({
props: {
// 当前选中项
value: [String, Number],
columnsType: String,
column: {
type: Array,
default: () => []
},
// 是否开启3D效果
threeDimensional: {
type: Boolean,
default: !0
},
swipeDuration: {
type: [Number, String],
default: 1e3
},
visibleOptionNum: {
type: [Number, String],
default: 7
},
optionHeight: {
type: [Number, String],
default: 36
},
fieldNames: {
type: Object,
default: () => ({})
},
// 特殊环境判断
taro: {
type: Boolean,
defualt: !1
}
},
emits: ["click", "change"],
setup(e, { emit: t }) {
const n = Lt(), l = G({
touchParams: {
startY: 0,
endY: 0,
startTime: 0,
endTime: 0,
lastY: 0,
lastTime: 0
},
currIndex: 1,
transformY: 0,
scrollDistance: 0,
rotation: 20
}), a = T(null), i = T(!1), r = T(0), s = T(0), o = 200, f = 300, v = 15, u = P(() => ({
transition: `transform ${s.value}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
transform: `rotate3d(1, 0, 0, ${r.value})`,
top: `calc(50% - ${+e.optionHeight / 2}px)`
})), k = P(() => {
const { optionHeight: m } = e;
return {
transition: `transform ${s.value}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
transform: `translate3d(0, ${l.scrollDistance}px, 0)`,
top: `calc(50% - ${+m / 2}px)`,
height: `${m}px`
};
}), c = (m) => `transform: rotate3d(1, 0, 0, ${-l.rotation * m}deg) translate3d(0px, 0px, 104px)`, C = P(() => ({
backgroundSize: `100% ${(+e.visibleOptionNum - 1) * +e.optionHeight / 2}px`
})), $ = (m) => {
if (n.start(m), i.value && !e.taro) {
const z = a.value, { transform: O } = window.getComputedStyle(z);
if (e.threeDimensional) {
const B = Math.floor(parseInt(r.value) / 360), D = +O.split(", ")[5], L = +O.split(", ")[6] < 0 ? 180 : 0, ae = B * 360 + Math.acos(D) / Math.PI * 180 + L;
l.scrollDistance = -Math.abs((ae / l.rotation - 1) * +e.optionHeight);
} else
l.scrollDistance = +O.slice(7, O.length - 1).split(", ")[5];
}
$e(m, !0), l.touchParams.startY = n.deltaY.value, l.touchParams.startTime = Date.now(), l.transformY = l.scrollDistance;
}, d = (m) => {
n.move(m), n.isVertical() && (i.value = !0, $e(m, !0)), l.touchParams.lastY = n.deltaY.value;
let z = l.touchParams.lastY - l.touchParams.startY;
N(z);
}, h = () => {
l.touchParams.lastY = n.deltaY.value, l.touchParams.lastTime = Date.now();
let m = l.touchParams.lastY - l.touchParams.startY, z = l.touchParams.lastTime - l.touchParams.startTime;
if (z <= f && Math.abs(m) > v) {
const O = M(m, z);
N(O, "end", +e.swipeDuration);
return;
} else
N(m, "end");
setTimeout(() => {
n.reset(), i.value = !1;
}, 0);
}, M = (m, z) => (m = Math.abs(m / z) / 3e-3 * (m < 0 ? -1 : 1), m), g = (m) => m >= l.currIndex + 8 || m <= l.currIndex - 8, _ = (m = 0, z, O = o, B) => {
z === "end" ? s.value = O : s.value = 0, r.value = B, l.scrollDistance = m;
}, N = (m, z, O) => {
const { optionHeight: B } = e;
let D = m + l.transformY;
if (z === "end") {
D > 0 && (D = 0), D < -(e.column.length - 1) * +B && (D = -(e.column.length - 1) * +B);
let L = Math.round(D / +B) * +B, ae = `${(Math.abs(Math.round(L / +B)) + 1) * l.rotation}deg`;
_(L, z, O, ae), l.currIndex = Math.abs(Math.round(L / +B)) + 1;
} else {
let L = 0, ae = (-D / +B + 1) * l.rotation;
const pe = (e.column.length + 1) * l.rotation, fe = 0;
L = Yt(ae, fe, pe), fe < L && L < pe && (_(D, null, void 0, L + "deg"), l.currIndex = Math.abs(Math.round(D / +B)) + 1);
}
}, Y = () => {
t("change", e.column[l.currIndex - 1]);
}, le = (m) => {
const { column: z } = e;
let O = z.findIndex((D) => D[e.fieldNames.value] === e.value);
l.currIndex = O === -1 ? 1 : O + 1;
let B = O === -1 ? 0 : O * +e.optionHeight;
m && Y(), N(-B);
}, oe = () => {
i.value = !1, s.value = 0, Y();
};
return W(
() => e.column,
() => {
e.column && e.column.length > 0 && (l.transformY = 0, le(!1));
},
{
deep: !0
}
), W(
() => e.value,
() => {
l.transformY = 0, le(!1);
},
{
deep: !0
}
), je(() => {
le(!0);
}), de(J(J({}, F(l)), F(e)), {
setRollerStyle: c,
isHidden: g,
roller: a,
onTouchStart: $,
onTouchMove: d,
onTouchEnd: h,
touchRollerStyle: u,
touchTileStyle: k,
setMove: N,
stopMomentum: oe,
pxCheck: ze,
maskStyles: C
});
}
});
function Kt(e, t, n, l, a, i) {
return p(), y("view", {
class: "nut-picker__list",
onTouchstart: t[1] || (t[1] = (...r) => e.onTouchStart && e.onTouchStart(...r)),
onTouchmove: t[2] || (t[2] = (...r) => e.onTouchMove && e.onTouchMove(...r)),
onTouchend: t[3] || (t[3] = (...r) => e.onTouchEnd && e.onTouchEnd(...r))
}, [
H("view", {
ref: "roller",
class: "nut-picker-roller",
style: V(e.threeDimensional ? e.touchRollerStyle : e.touchTileStyle),
onTransitionend: t[0] || (t[0] = (...r) => e.stopMomentum && e.stopMomentum(...r))
}, [
(p(!0), y(X, null, re(e.column, (r, s) => {
var o;
return p(), y(X, {
key: (o = r[e.fieldNames.value]) != null ? o : s
}, [
r && r[e.fieldNames.text] && e.threeDimensional ? (p(), y("view", {
key: 0,
class: R(["nut-picker-roller-item", { "nut-picker-roller-item-hidden": e.isHidden(s + 1) }]),
style: V(e.setRollerStyle(s + 1))
}, U(r[e.fieldNames.text]), 7)) : I("", !0),
E(),
r && r[e.fieldNames.text] && !e.threeDimensional ? (p(), y("view", {
key: 1,
class: "nut-picker-roller-item-tile",
style: V({ height: e.pxCheck(e.optionHeight), lineHeight: e.pxCheck(e.optionHeight) })
}, U(r[e.fieldNames.text]), 5)) : I("", !0)
], 64);
}), 128))
], 36),
E(),
H("view", {
class: "nut-picker-roller-mask",
style: V(e.maskStyles)
}, null, 4)
], 32);
}
const Ae = /* @__PURE__ */ Q(Jt, [["render", Kt]]), Ye = {
modelValue: {
type: Array,
default: () => []
},
title: {
type: String,
default: ""
},
cancelText: {
type: String,
default: ""
},
okText: {
type: String,
default: ""
},
columns: {
type: Array,
default: () => []
},
threeDimensional: {
type: Boolean,
default: !1
},
swipeDuration: {
type: [Number, String],
default: 1e3
},
showToolbar: {
type: Boolean,
default: !0
},
visibleOptionNum: {
type: [Number, String],
default: 7
},
optionHeight: {
type: [Number, String],
default: 36
},
fieldNames: {
type: Object,
default: () => ({})
}
}, He = "NutPicker", Gt = {
components: {
NutPickerColumn: Ae
},
props: Ye,
emits: ["cancel", "change", "confirm", "update:modelValue"],
setup(e, { emit: t }) {
const n = Ve(He), { changeHandler: l, confirm: a, defaultValues: i, columnsList: r, columnsType: s, columnFieldNames: o, cancel: f } = De(
e,
t
), v = G({
ENV: K.getEnv(),
ENV_TYPE: K.ENV_TYPE
}), u = T([]), k = ($) => {
$ && u.value.length < r.value.length && u.value.push($);
}, c = () => {
u.value.length > 0 && u.value.forEach(($) => {
$.stopMomentum();
}), a();
}, C = P(() => {
const $ = {};
return $.height = `${+e.visibleOptionNum * +e.optionHeight}px`, $["--lineHeight"] = `${+e.optionHeight}px`, $;
});
return de(J({}, F(v)), {
columnsType: s,
columnsList: r,
columnFieldNames: o,
cancel: f,
changeHandler: l,
confirmHandler: c,
defaultValues: i,
pickerColumn: u,
swipeRef: k,
translate: n,
columnStyle: C
});
}
}, qt = {
components: {
NutPickerColumn: Ae
},
props: Ye,
emits: ["cancel", "change", "confirm", "update:modelValue"],
setup(e, { emit: t }) {
const n = Ve(He), {
changeHandler: l,
confirm: a,
defaultValues: i,
defaultIndexes: r,
columnsList: s,
columnsType: o,
columnFieldNames: f,
cancel: v
} = De(e, t), u = G({
show: !1,
picking: !1,
ENV: K.getEnv(),
ENV_TYPE: K.ENV_TYPE
}), k = P(() => {
const h = {};
return h.height = `${+e.visibleOptionNum * +e.optionHeight}px`, h["--lineHeight"] = `${+e.optionHeight}px`, h;
}), c = (h) => {
var M, g;
const _ = r.value;
let N = 0;
for (let Y = 0; Y < ((M = h.detail.value) == null ? void 0 : M.length); Y++)
if (_[Y] !== ((g = h.detail.value) == null ? void 0 : g[Y])) {
N = Y;
break;
}
l(N, s.value[N][h.detail.value[N]]);
}, C = () => {
u.picking ? setTimeout(() => {
a();
}, 0) : a();
}, $ = () => {
u.picking = !0;
}, d = () => {
u.picking = !1;
};
return de(J({}, F(u)), {
columnsType: o,
columnsList: s,
columnFieldNames: f,
cancel: v,
changeHandler: l,
confirmHandler: C,
defaultValues: i,
defaultIndexes: r,
tileChange: c,
handlePickstart: $,
translate: n,
handlePickend: d,
pickerViewStyles: k,
pxCheck: ze
});
}
}, { create: Qt } = q("picker"), Zt = K.getEnv() == K.ENV_TYPE.WEB ? Gt : qt, en = Qt(Zt), tn = { class: "nut-picker" }, nn = {
key: 0,
class: "nut-picker__bar"
}, ln = { class: "nut-picker__title" }, on = ["indicator-style", "value"], an = ["filed-names"];
function rn(e, t, n, l, a, i) {
const r = se("nut-picker-column");
return p(), y("view", tn, [
e.showToolbar ? (p(), y("view", nn, [
H("view", {
class: "nut-picker__cancel nut-picker__left nut-picker__button",
onClick: t[0] || (t[0] = (...s) => e.cancel && e.cancel(...s))
}, U(e.cancelText || e.translate("cancel")), 1),
E(),
H("view", ln, U(e.title), 1),
E(),
H("view", {
class: "nut-picker__confirm nut-picker__right nut-picker__button",
onClick: t[1] || (t[1] = (...s) => e.confirmHandler && e.confirmHandler(...s))
}, U(e.okText || e.translate("confirm")), 1)
])) : I("", !0),
E(),
j(e.$slots, "top"),
E(),
e.ENV != e.ENV_TYPE.WEB ? (p(), y("picker-view", ce({
key: 1,
"indicator-style": `height:${e.optionHeight}px`,
value: e.defaultIndexes,
style: e.pickerViewStyles
}, e.$attrs, {
"immediate-change": !0,
onChange: t[2] || (t[2] = (...s) => e.tileChange && e.tileChange(...s)),
onPickstart: t[3] || (t[3] = (...s) => e.handlePickstart && e.handlePickstart(...s)),
onPickend: t[4] || (t[4] = (...s) => e.handlePickend && e.handlePickend(...s))
}), [
(p(!0), y(X, null, re(e.columnsList, (s, o) => (p(), y("picker-view-column", {
key: o,
"filed-names": e.columnFieldNames
}, [
(p(!0), y(X, null, re(s, (f, v) => {
var u;
return p(), y("view", {
key: (u = f[e.columnFieldNames.value]) != null ? u : v,
class: "nut-picker-roller-item-tarotile",
style: V({
lineHeight: e.pxCheck(e.optionHeight)
})
}, U(f[e.columnFieldNames.text]), 5);
}), 128))
], 8, an))), 128))
], 16, on)) : I("", !0),
E(),
e.ENV == e.ENV_TYPE.WEB ? (p(), y("view", {
key: 2,
class: "nut-picker__column",
style: V(e.columnStyle)
}, [
(p(!0), y(X, null, re(e.columnsList, (s, o) => (p(), y("view", {
key: o,
class: "nut-picker__columnitem"
}, [
w(r, {
ref_for: !0,
ref: e.swipeRef,
column: s,
"columns-type": e.columnsType,
"field-names": e.columnFieldNames,
value: e.defaultValues[o],
"three-dimensional": !1,
"swipe-duration": e.swipeDuration,
"visible-option-num": e.visibleOptionNum,
"option-height": e.optionHeight,
taro: "",
onChange: (f) => {
e.changeHandler(o, f);
}
}, null, 8, ["column", "columns-type", "field-names", "value", "swipe-duration", "visible-option-num", "option-height", "onChange"])
]))), 128))
], 4)) : I("", !0),
E(),
j(e.$slots, "default")
]);
}
const sn = /* @__PURE__ */ Q(en, [["render", rn]]), un = Symbol("nut-avatar"), { create: cn } = q("avatar"), dn = cn({
props: {
size: {
type: [String, Number],
default: "normal"
},
shape: {
type: String,
default: "round"
},
bgColor: {
type: String,
default: "#eee"
},
color: {
type: String,
default: "#666"
}
},
setup(e) {
const { size: t, shape: n, bgColor: l, color: a } = F(e), i = ["large", "normal", "small"], r = xe(un, null), s = T(null), o = P(() => {
var v, u;
return {
["nut-avatar"]: !0,
[`nut-avatar-${t.value || ((v = r == null ? void 0 : r.props) == null ? void 0 : v.size) || "normal"}`]: !0,
[`nut-avatar-${n.value || ((u = r == null ? void 0 : r.props) == null ? void 0 : u.shape) || "round"}`]: !0
};
}), f = P(() => {
var v, u;
return {
width: t.value in i ? "" : `${t.value}px`,
height: t.value in i ? "" : `${t.value}px`,
backgroundColor: `${l.value}`,
color: `${a.value}`,
marginLeft: (v = r == null ? void 0 : r.props) != null && v.span ? `${(u = r == null ? void 0 : r.props) == null ? void 0 : u.span}px` : ""
};
});
return {
classes: o,
styles: f,
avatarRef: s
};
}
});
function pn(e, t, n, l, a, i) {
return p(), y("view", {
ref: "avatarRef",
style: V(e.styles),
class: R(e.classes)
}, [
j(e.$slots, "default")
], 6);
}
const fn = /* @__PURE__ */ Q(dn, [["render", pn]]), { create: mn } = q("skeleton"), hn = mn({
components: {
NutAvatar: fn
},
props: {
//每行宽度
width: {
type: String,
default: "100px"
},
//每行高度
height: {
type: String,
default: "15px"
},
//是否显示动画
animated: {
type: Boolean,
default: !1
},
//头像
avatar: {
type: Boolean,
default: !1
},
//头像形状:正方形/圆形
avatarShape: {
type: String,
default: "round"
},
//头像大小
avatarSize: {
type: String,
default: "50px"
},
//是否显示骨架屏
loading: {
type: Boolean,
default: !0
},
//标题/段落 圆角风格
round: {
type: Boolean,
default: !1
},
//显示段落行数
row: {
type: String,
default: "1"
},
//是否显示段落标题
title: {
type: Boolean,
default: !0
}
},
setup(e) {
const { avatarShape: t, round: n, avatarSize: l } = F(e), a = P(() => {
const s = "avatarClass";
return {
[s]: !0,
[`${s}--${t.value}`]: t.value
};
});
return {
avatarShape: t,
avatarClass: a,
getBlockClass: (s) => ({
[s]: !0,
[`${s}--round`]: n.value
}),
getStyle: () => l.value ? {
width: l.value,
height: l.value
} : {
width: "50px",
height: "50px"
}
};
}
}), vn = { key: 0 }, yn = {
key: 1,
class: "nut-skeleton"
}, gn = {
key: 0,
class: "nut-skeleton-animation"
}, Sn = { class: "nut-skeleton-content" };
function bn(e, t, n, l, a, i) {
const r = se("nut-avatar");
return e.loading ? (p(), y("view", yn, [
e.animated ? (p(), y("view", gn)) : I("", !0),
E(),
H("view", Sn, [
e.avatar ? (p(), x(r, {
key: 0,
class: R(e.avatarClass),
shape: e.avatarShape,
style: V(e.getStyle())
}, null, 8, ["class", "shape", "style"])) : I("", !0),
E(),
H("view", {
class: "nut-skeleton-content__line",
style: V({ width: e.width })
}, [
e.title ? (p(), y("view", {
key: 0,
class: R(e.getBlockClass("nut-skeleton-blockTitle")),
style: V({ height: e.height })
}, null, 6)) : I("", !0),
E(),
(p(!0), y(X, null, re(Number(e.row), (s) => (p(), y("view", {
key: s,
class: R(e.getBlockClass("nut-skeleton-blockLine")),
style: V({ height: e.height })
}, null, 6))), 128))
], 4)
])
])) : (p(), y("view", vn, [
j(e.$slots, "default")
]));
}
const kn = /* @__PURE__ */ Q(hn, [["render", bn]]);
const $n = /* @__PURE__ */ A({
name: "MpButton",
props: {
/**
* 按钮类型
* @values primary, info, success, warning, danger, default
*/
type: {
type: String,
default: "default"
},
/**
* 表单类型
* @values button, submit, reset
*/
formType: {
type: String,
default: "button"
},
/**
* 按钮大小
* @values large, normal, small, mini
*/
size: {
type: String,
default: "normal"
},
/**
* 失效状态
*/
disabled: {
type: Boolean,
default: !1
},
/**
* 形状
* @values round, square
*/
shape: {
type: String,
default: "round"
},
/**
* 是否块状按钮
*/
block: {
type: Boolean,
default: !0
},
/**
* 按钮标签
*/
text: {
type: String,
default: ""
},
/**
* 按钮图标,需要使用
*
*/
icon: {
type: Object,
default: null
},
/**
* 按钮图标位置
* @values left, right
*/
iconPosition: {
type: String,
default: "left"
},
/**
* 请求状态控制器
* @param {boolean} fetcher.loading 是否加载中
*/
fetcher: {
type: Object,
default: () => ({
loading: !1
})
},
/**
* [原生配置](https://nutui.jd.com/taro/vue/4x/#/zh-CN/component/button)
*/
buttonProps: {
type: Object,
default: () => ({})
}
},
emits: [
/**
* @event click
* @param {Event} event 点击事件
*/
"click"
],
setup(e, {
emit: t,
slots: n
}) {
const l = (r) => {
t("click", r);
}, a = () => {
var r;
return e.text || ((r = n.default) == null ? void 0 : r.call(n));
}, i = () => e.icon && e.iconPosition === "left" ? [e.icon, a()] : e.icon && e.iconPosition === "right" ? [a(), e.icon] : [a()];
return () => w(at, ce({
loading: e.fetcher.loading,
type: e.type,
size: e.size,
disabled: e.disabled,
block: e.block,
shape: e.shape,
onClick: l
}, e.buttonProps), {
default: () => i()
});
}
}), ne = (e) => (e.install = (t) => {
const n = e.name || e.__name;
console.log(n), t.component(n, e);
}, e), Nn = ne($n);
const Le = (e) => Fe(e) || Ue(e) ? "auto" : isNaN(e) ? e : `${e}px`, wn = /* @__PURE__ */ A({
name: "MpDecorator",
props: {
/**
* 自定义颜色
* @values green, blue, black, orange
*/
color: {
type: String,
default: "green"
},
/**
* 高度
*/
height: {
type: [Number, String],
default: "auto"
}
},
setup(e, {
slots: t
}) {
return () => {
var n;
return w("div", {
class: `mp-decorator mp-decorator__${e.color}`,
style: {
height: Le(e.height)
}
}, [(n = t.default) == null ? void 0 : n.call(t)]);
};
}
}), Cn = ne(wn);
const Pn = /* @__PURE__ */ A({
name: "MpResult",
props: {
/**
* 结果类型
* @values 'success', 'error', 'info', 'warning'
*/
type: {
type: String,
default: "success"
},
/**
* 标题
*/
title: {
type: String,
default: ""
},
/**
* 描述
*/
description: {
type: String,
default: ""
}
},
setup(e, {
slots: t
}) {
const n = () => {
let l = null;
if (t.icon)
l = t.icon();
else
switch (e.type) {
case "success":
l = w(Je, {
class: "mpicon"
}, null);
break;
case "info":
l = w(Ge, {
class: "mpicon"
}, null);
break;
case "warning":
l = w(Xe, {
class: "mpicon"
}, null);
break;
case "error":
l = w(Qe, {
class: "mpicon"
}, null);
break;
}
return l;
};
return () => {
var l, a, i;
return w("view", {
class: `mp-result mp-result__${e.type}`
}, [w("view", {
class: "mp-result-icon"
}, [n()]), w("view", {
class: "mp-result-title"
}, [t.title ? (l = t.title) == null ? void 0 : l.call(t) : e.title]), w("view", {
class: "mp-result-description"
}, [t.description ? (a = t.description) == null ? void 0 : a.call(t) : e.description]), w("view", {
class: "mp-result-extra"
}, [(i = t.extra) == null ? void 0 : i.call(t)])]);
};
}
}), Tn = ne(Pn);
const _n = { class: "safe-area" }, On = {
__name: "MpPicker",
props: {
modelValue: {
type: [String, Number, Array],
default() {
return "";
}
},
showText: {
//直接在form中显示
type: Boolean,
default: !0
},
title: {
type: String,
default: "请选择"
},
ischange: {
//是否需要转换state.text
type: Boolean,
default: !1
},
columns: {
type: Array,
default() {
return [];
}
}
},
emits: ["update:modelValue"],
setup(e, { expose: t, emit: n }) {
const l = e, a = G({
visible: !1,
value: [],
text: ""
}), i = (u) => {
a.value.push(u);
};
W(
() => l.modelValue,
(u) => {
l.showText && (i(u), r());
}
);
const r = () => {
a.text = l.modelValue;
};
r();
const s = ({ selectedOptions: u }) => {
l.ischange ? a.text = u.map((k) => k.value).join(",") : a.text = u.map((k) => k.text).join(","), n("update:modelValue", a.text), a.visible = !1;
}, o = P(() => {
const u = a.text;
if (l.ischange) {
const k = l.columns.find((c) => c.value === u);
if (k)
return k.text;
}
return u;
}), f = () => {
a.visible = !1;
}, v = () => {
a.visible = !0;
};
return t({ open: v }), (u, k) => {
const c = sn, C = Tt;
return p(), y(X, null, [
e.showText ? (p(), y("view", {
key: 0,
class: "form-text",
onClick: v
}, U(o.value || e.title), 1)) : I("", !0),
w(C, {
position: "bottom",
visible: a.visible,
"onUpdate:visible": k[1] || (k[1] = ($) => a.visible = $)
}, {
default: ue(() => [
H("view", _n, [
w(c, {
modelValue: a.value,
"onUpdate:modelValue": k[0] || (k[0] = ($) => a.value = $),
columns: e.columns,
title: e.title,
onConfirm: s,
onCancel: f
}, {
default: ue(() => [
j(u.$slots, "default")
]),
_: 3
}, 8, ["modelValue", "columns", "title"])
])
]),
_: 3
}, 8, ["visible"])
], 64);
};
}
}, zn = ne(On);
const En = /* @__PURE__ */ A({
name: "MpSector",
props: {
/**
* 自定义颜色
* @values green, blue, orange, red
*/
color: {
type: String,
default: "green"
},
/**
* 高度
*/
height: {
type: [Number, String],
default: "100px"
},
/**
* 标题
*/
title: {
type: String,
default: ""
},
/**
* 描述
*/
description: {
type: String,
default: ""
}
},
setup(e, {
slots: t
}) {
const n = () => t.title ? w("view", {
class: "mp-sector__title"
}, [t.title()]) : e.title ? w("view", {
class: "mp-sector__title"
}, [e.title]) : null, l = () => t.description ? w("view", {
class: "mp-sector__description"
}, [t.description()]) : e.title ? w("view", {
class: "mp-sector__description"
}, [e.description]) : null;
return () => w("view", {
class: `mp-sector mp-sector__${e.color}`,
style: {
height: Le(e.height)
}
}, [n(), l()]);
}
}), In = ne(En);
const Mn = /* @__PURE__ */ A({
name: "MpSkeleton",
props: {
/**
* 每行宽度
*/
width: {
type: String,
default: "400px"
},
/**
* 设置段落行数
*/
row: {
type: String,
default: "25"
},
/**
* 标题/段落是否采用圆角风格
*/
round: {
type: Boolean,
default: !0
},
/**
* 是否显示段落标题
*/
title: {
type: Boolean,
default: !0
},
/**
* 是否开启骨架屏动画
*/
animated: {
type: Boolean,
default: !0
},
/**
* [原生配置](https://nutui.jd.com/taro/vue/4x/#/zh-CN/component/skeleton)
*/
skeletonProps: {
type: Object,
default: () => ({})
}
},
setup(e) {
return () => w("view", {
class: "mp-skeleton-wrapper"
}, [w(kn, ce({
width: e.width,
row: e.row,
round: e.round,
title: e.title,
animated: e.animated
}, e.skeletonProps), null)]);
}
}), Bn = ne(Mn), Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
MpButton: Nn,
MpDecorator: Cn,
MpPicker: zn,
MpResult: Tn,
MpSector: In,
MpSkeleton: Bn
}, Symbol.toStringTag, { value: "Module" })), Hn = {
install(e) {
for (const t in Pe) {
const n = Pe[t];
n && n.install && e.use(n);
}
}
};
export {
Nn as MpButton,
Cn as MpDecorator,
zn as MpPicker,
Tn as MpResult,
In as MpSector,
Bn as MpSkeleton,
Hn as default
};
//# sourceMappingURL=jobsys-mpower.js.map