UNPKG

jobsys-mpower

Version:

Enhanced component based on Taro & NutUI

2,043 lines 56.3 kB
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