Compare commits

...

2 Commits

Author SHA1 Message Date
c7194eb604 格式化 2024-10-22 09:10:04 +08:00
3a9b2d55c6 all 2024-10-22 09:09:41 +08:00
99 changed files with 4486 additions and 3404 deletions

View File

@ -2060,4 +2060,4 @@ function clearNumberFormat(ctx, locale, format) {
getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
}
}
export { parseDateTimeArgs as A, datetime as B, parseNumberArgs as C, number as D, getLocaleChain as E, MISSING_RESOLVE_VALUE as M, NOT_REOSLVED as N, assign as a, isString as b, isObject$1 as c, isArray as d, isBoolean as e, createCompileError as f, isEmptyObject as g, getGlobalThis as h, isNumber as i, isPlainObject as j, hasOwn$1 as k, handleFlatJson as l, makeSymbol as m, isRegExp as n, isFunction as o, createCoreContext as p, compileToFunction as q, registerMessageCompiler as r, setDevToolsHook as s, resolveValue as t, updateFallbackLocale as u, clearDateTimeFormat as v, clearNumberFormat as w, setAdditionalMeta as x, parseTranslateArgs as y, translate as z };
export { parseDateTimeArgs as A, datetime as B, parseNumberArgs as C, number as D, getLocaleChain as E, MISSING_RESOLVE_VALUE as M, NOT_REOSLVED as N, assign as a, isString as b, isObject$1 as c, isBoolean as d, isEmptyObject as e, createCompileError as f, getGlobalThis as g, isPlainObject as h, isNumber as i, isArray as j, hasOwn$1 as k, handleFlatJson as l, makeSymbol as m, isRegExp as n, isFunction as o, compileToFunction as p, createCoreContext as q, registerMessageCompiler as r, setDevToolsHook as s, resolveValue as t, updateFallbackLocale as u, clearDateTimeFormat as v, clearNumberFormat as w, setAdditionalMeta as x, parseTranslateArgs as y, translate as z };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -149,7 +149,9 @@ function triggerEffect(effect, debuggerEventExtraInfo) {
}
}
}
new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
new Set(
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
);
function toRaw(observed) {
const raw = observed && observed["__v_raw"];
return raw ? toRaw(raw) : observed;
@ -170,11 +172,13 @@ function triggerRefValue(ref, newVal) {
}
}
}
var _a;
class ComputedRefImpl {
constructor(getter, _setter, isReadonly, isSSR) {
this._setter = _setter;
this.dep = void 0;
this.__v_isRef = true;
this[_a] = false;
this._dirty = true;
this.effect = new ReactiveEffect(getter, () => {
if (!this._dirty) {
@ -199,6 +203,7 @@ class ComputedRefImpl {
this._setter(newValue);
}
}
_a = "__v_isReadonly";
function computed(getterOrOptions, debugOptions, isSSR = false) {
let getter;
let setter;

View File

@ -1,15 +1,15 @@
import { computed, isRef, reactive, unref, toRefs, getCurrentScope, onScopeDispose, getCurrentInstance, onMounted, nextTick, ref, watch, customRef, onUpdated } from "vue";
var _a$1;
const isClient$1 = typeof window !== "undefined";
const toString$1 = Object.prototype.toString;
import { getCurrentScope, onScopeDispose, computed, toRefs, getCurrentInstance, onMounted, nextTick, ref, unref, isRef, reactive, watch, customRef, onUpdated } from "vue";
var _a;
const isClient = typeof window !== "undefined";
const toString = Object.prototype.toString;
const isFunction = (val) => typeof val === "function";
const isNumber = (val) => typeof val === "number";
const isString = (val) => typeof val === "string";
const isObject$1 = (val) => toString$1.call(val) === "[object Object]";
const isObject = (val) => toString.call(val) === "[object Object]";
const clamp = (n, min, max) => Math.min(max, Math.max(min, n));
const noop = () => {
};
isClient$1 && ((_a$1 = window == null ? void 0 : window.navigator) == null ? void 0 : _a$1.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
function resolveUnref(r) {
return typeof r === "function" ? r() : unref(r);
}
@ -141,7 +141,7 @@ function useTimeoutFn(cb, interval, options = {}) {
}
if (immediate) {
isPending.value = true;
if (isClient$1)
if (isClient)
start();
}
tryOnScopeDispose(stop);
@ -156,7 +156,7 @@ function unrefElement(elRef) {
const plain = resolveUnref(elRef);
return (_a2 = plain == null ? void 0 : plain.$el) != null ? _a2 : plain;
}
const defaultWindow = isClient$1 ? window : void 0;
const defaultWindow = isClient ? window : void 0;
function useEventListener(...args) {
let target;
let event;
@ -561,9 +561,4 @@ function useWindowSize(options = {}) {
useEventListener("orientationchange", update, { passive: true });
return { width, height };
}
var _a;
const isClient = typeof window !== "undefined";
const toString = Object.prototype.toString;
const isObject = (val) => toString.call(val) === "[object Object]";
isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
export { TransitionPresets as T, useResizeObserver as a, useThrottleFn as b, useEventListener as c, useEyeDropper as d, useTransition as e, useMousePressed as f, isObject as g, isObject$1 as i, onClickOutside as o, reactiveOmit as r, templateRef as t, useWindowSize as u };
export { TransitionPresets as T, useResizeObserver as a, useThrottleFn as b, useEventListener as c, useEyeDropper as d, useTransition as e, useMousePressed as f, isObject as i, onClickOutside as o, reactiveOmit as r, templateRef as t, useWindowSize as u };

View File

@ -0,0 +1,261 @@
var jsImageCompressor = { exports: {} };
var imageCompressor_min = { exports: {} };
(function(module, exports) {
!function(e, t) {
module.exports = t();
}(window, function() {
return function(e) {
var t = {};
function n(r) {
if (t[r])
return t[r].exports;
var a = t[r] = { i: r, l: false, exports: {} };
return e[r].call(a.exports, a, a.exports, n), a.l = true, a.exports;
}
return n.m = e, n.c = t, n.d = function(e2, t2, r) {
n.o(e2, t2) || Object.defineProperty(e2, t2, { enumerable: true, get: r });
}, n.r = function(e2) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e2, "__esModule", { value: true });
}, n.t = function(e2, t2) {
if (1 & t2 && (e2 = n(e2)), 8 & t2)
return e2;
if (4 & t2 && "object" == typeof e2 && e2 && e2.__esModule)
return e2;
var r = /* @__PURE__ */ Object.create(null);
if (n.r(r), Object.defineProperty(r, "default", { enumerable: true, value: e2 }), 2 & t2 && "string" != typeof e2)
for (var a in e2)
n.d(r, a, function(t3) {
return e2[t3];
}.bind(null, a));
return r;
}, n.n = function(e2) {
var t2 = e2 && e2.__esModule ? function() {
return e2.default;
} : function() {
return e2;
};
return n.d(t2, "a", t2), t2;
}, n.o = function(e2, t2) {
return Object.prototype.hasOwnProperty.call(e2, t2);
}, n.p = "", n(n.s = 0);
}([function(e, t, n) {
n.r(t);
var r = window, a = /^image\//, i = /\.\w+$/, o = {}, s = { file: null, quality: 0.8, convertSize: 2048e3, loose: true, redressOrientation: true }, f = function(e2) {
return "function" == typeof e2;
}, c = function(e2) {
return a.test(e2);
};
function l(e2) {
e2 = Object.assign({}, s, e2), this.options = e2, this.file = e2.file, this.image = null, this.ParsedOrientationInfo = null, this.init();
}
var u = l.prototype;
for (var h in t.default = l, u.init = function() {
var e2 = this, t2 = this.file, n2 = this.options;
t2 && c(t2.type) ? (c(n2.mimeType) || (n2.mimeType = t2.type), o.file2Image(t2, function(r2) {
f(e2.beforeCompress) && (e2.image = r2, t2.width = r2.naturalWidth, t2.height = r2.naturalHeight, e2.beforeCompress(t2)), "image/jpeg" === t2.type && n2.redressOrientation ? e2.getParsedOrientationInfo(function(t3) {
e2.parsedOrientationInfo = t3, e2.rendCanvas();
}) : (e2.parsedOrientationInfo = { rotate: 0, scaleX: 1, scaleY: 1 }, e2.rendCanvas());
}, e2.error)) : e2.error("\u8BF7\u4E0A\u4F20\u56FE\u7247\u6587\u4EF6!");
}, u.rendCanvas = function() {
var e2 = this, t2 = this.options, n2 = this.image, r2 = this.getExpectedEdge(), a2 = r2.dWidth, i2 = r2.dHeight, s2 = r2.width, f2 = r2.height, c2 = o.image2Canvas(n2, a2, i2, e2.beforeDraw.bind(e2), e2.afterDraw.bind(e2), s2, f2);
o.canvas2Blob(c2, function(t3) {
t3 && (t3.width = c2.width, t3.height = c2.height), e2.success(t3);
}, t2.quality, t2.mimeType);
}, u.beforeCompress = function() {
f(this.options.beforeCompress) && this.options.beforeCompress(this.file);
}, u.getExpectedEdge = function() {
var e2, t2 = this.image, n2 = this.parsedOrientationInfo.rotate, r2 = this.options, a2 = t2.naturalWidth, i2 = t2.naturalHeight, o2 = Math.abs(n2) % 180 == 90;
o2 && (e2 = i2, i2 = a2, a2 = e2);
var s2 = a2 / i2, f2 = Math.max(r2.maxWidth, 0) || 1 / 0, c2 = Math.max(r2.maxHeight, 0) || 1 / 0, l2 = Math.max(r2.minWidth, 0) || 0, u2 = Math.max(r2.minHeight, 0) || 0, h2 = Math.max(r2.width, 0) || a2, d = Math.max(r2.height, 0) || i2;
f2 < 1 / 0 && c2 < 1 / 0 ? c2 * s2 > f2 ? c2 = f2 / s2 : f2 = c2 * s2 : f2 < 1 / 0 ? c2 = f2 / s2 : c2 < 1 / 0 && (f2 = c2 * s2), l2 > 0 && u2 > 0 ? u2 * s2 > l2 ? u2 = l2 / s2 : l2 = u2 * s2 : l2 > 0 ? u2 = l2 / s2 : u2 > 0 && (l2 = u2 * s2), d * s2 > h2 ? d = h2 / s2 : h2 = d * s2;
var g = h2 = Math.floor(Math.min(Math.max(h2, l2), f2)), p = d = Math.floor(Math.min(Math.max(d, u2), c2));
return o2 && (e2 = p, p = g, g = e2), { dWidth: g, dHeight: p, width: h2, height: d };
}, u.getParsedOrientationInfo = function(e2) {
var t2 = this;
this.getOrientation(function(n2) {
f(e2) && e2(t2.parseOrientation(n2));
});
}, u.getOrientation = function(e2) {
var t2 = this;
o.file2ArrayBuffer(this.file, function(n2) {
f(e2) && e2(t2.resetAndGetOrientation(n2));
});
}, u.resetAndGetOrientation = function(e2) {
var t2, n2 = new DataView(e2);
try {
var r2, a2, i2;
if (255 === n2.getUint8(0) && 216 === n2.getUint8(1))
for (var s2 = n2.byteLength, f2 = 2; f2 + 1 < s2; ) {
if (255 === n2.getUint8(f2) && 225 === n2.getUint8(f2 + 1)) {
a2 = f2;
break;
}
f2 += 1;
}
if (a2) {
var c2 = a2 + 4, l2 = a2 + 10;
if ("Exif" === o.getStringFromCharCode(n2, c2, 4)) {
var u2 = n2.getUint16(l2);
if (((r2 = 18761 === u2) || 19789 === u2) && 42 === n2.getUint16(l2 + 2, r2)) {
var h2 = n2.getUint32(l2 + 4, r2);
h2 >= 8 && (i2 = l2 + h2);
}
}
}
if (i2) {
var d;
s2 = n2.getUint16(i2, r2);
for (d = 0; d < s2; d += 1)
if (f2 = i2 + 12 * d + 2, 274 === n2.getUint16(f2, r2)) {
f2 += 8, t2 = n2.getUint16(f2, r2), n2.setUint16(f2, 1, r2);
break;
}
}
} catch (e3) {
console.error(e3), t2 = 1;
}
return t2;
}, u.parseOrientation = function(e2) {
var t2 = 0, n2 = 1, r2 = 1;
switch (e2) {
case 2:
n2 = -1;
break;
case 3:
t2 = -180;
break;
case 4:
r2 = -1;
break;
case 5:
t2 = 90, r2 = -1;
break;
case 6:
t2 = 90;
break;
case 7:
t2 = 90, n2 = -1;
break;
case 8:
t2 = -90;
}
return { rotate: t2, scaleX: n2, scaleY: r2 };
}, u.beforeDraw = function(e2, t2) {
var n2 = this.parsedOrientationInfo, r2 = n2.rotate, a2 = n2.scaleX, i2 = n2.scaleY, o2 = this.file, s2 = this.options, c2 = "transparent", l2 = t2.width, u2 = t2.height;
switch (o2.size > s2.convertSize && "image/png" === s2.mimeType && (c2 = "#fff", s2.mimeType = "image/jpeg"), e2.fillStyle = c2, e2.fillRect(0, 0, l2, u2), f(s2.beforeDraw) && s2.beforeDraw.call(this, e2, t2), e2.save(), r2) {
case 90:
e2.translate(l2, 0);
break;
case -90:
e2.translate(0, u2);
break;
case -180:
e2.translate(l2, u2);
}
e2.rotate(r2 * Math.PI / 180), e2.scale(a2, i2);
}, u.afterDraw = function(e2, t2) {
var n2 = this.options;
f(n2.afterDraw) && n2.afterDraw.call(this, e2, t2);
}, u.error = function(e2) {
var t2 = this.options;
if (!f(t2.error))
throw new Error(e2);
t2.error.call(this, e2);
}, u.success = function(e2) {
var t2, n2, r2 = this.options, a2 = this.file, o2 = this.image, s2 = this.getExpectedEdge(), l2 = o2.naturalHeight, u2 = o2.naturalWidth;
if (e2 && e2.size)
if (!r2.loose && e2.size > a2.size && !(s2.width > u2 || s2.height > l2))
console.warn("\u5F53\u524D\u8BBE\u7F6E\u7684\u662F\u975E\u5BBD\u677E\u6A21\u5F0F\uFF0C\u538B\u7F29\u7ED3\u679C\u5927\u4E8E\u6E90\u56FE\u7247\uFF0C\u8F93\u51FA\u6E90\u56FE\u7247"), e2 = a2;
else {
var h2 = new Date();
e2.lastModified = h2.getTime(), e2.lastModifiedDate = h2, e2.name = a2.name, e2.name && e2.type !== a2.type && (e2.name = e2.name.replace(i, (t2 = e2.type, "jpeg" === (n2 = c(t2) ? t2.substr(6) : "") && (n2 = "jpg"), "." + n2)));
}
else
console.warn("\u56FE\u7247\u538B\u7F29\u51FA\u4E86\u70B9\u610F\u5916\uFF0C\u8F93\u51FA\u6E90\u56FE\u7247"), e2 = a2;
f(r2.success) && r2.success.call(this, e2);
}, o.file2DataUrl = function(e2, t2, n2) {
var r2 = new FileReader();
r2.onload = function() {
t2(r2.result);
}, r2.onerror = function() {
f(n2) && n2("\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF01");
}, r2.readAsDataURL(e2);
}, o.file2ArrayBuffer = function(e2, t2, n2) {
var r2 = new FileReader();
r2.onload = function(e3) {
t2(e3.target.result);
}, r2.onerror = function() {
f(n2) && n2("\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF01");
}, r2.readAsArrayBuffer(e2);
}, o.getStringFromCharCode = function(e2, t2, n2) {
var r2, a2 = "";
for (n2 += t2, r2 = t2; r2 < n2; r2 += 1)
a2 += String.fromCharCode(e2.getUint8(r2));
return a2;
}, o.file2Image = function(e2, t2, n2) {
var a2 = new Image(), i2 = r.URL || r.webkitURL;
if (r.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(r.navigator.userAgent) && (a2.crossOrigin = "anonymous"), a2.alt = e2.name, a2.onerror = function() {
f(n2) && n2("\u56FE\u7247\u52A0\u8F7D\u9519\u8BEF\uFF01");
}, i2) {
var o2 = i2.createObjectURL(e2);
a2.onload = function() {
t2(a2), i2.revokeObjectURL(o2);
}, a2.src = o2;
} else
this.file2DataUrl(e2, function(e3) {
a2.onload = function() {
t2(a2);
}, a2.src = e3;
}, n2);
}, o.url2Image = function(e2, t2, n2) {
var r2 = new Image();
r2.src = e2, r2.onload = function() {
t2(r2);
}, r2.onerror = function() {
f(n2) && n2("\u56FE\u7247\u52A0\u8F7D\u9519\u8BEF\uFF01");
};
}, o.image2Canvas = function(e2, t2, n2, r2, a2, i2, o2) {
var s2 = document.createElement("canvas"), c2 = s2.getContext("2d");
return s2.width = i2 || e2.naturalWidth, s2.height = o2 || e2.naturalHeight, f(r2) && r2(c2, s2), c2.save(), c2.drawImage(e2, 0, 0, t2, n2), c2.restore(), f(a2) && a2(c2, s2), s2;
}, o.canvas2DataUrl = function(e2, t2, n2) {
return e2.toDataURL(n2 || "image/jpeg", t2);
}, o.dataUrl2Image = function(e2, t2, n2) {
var r2 = new Image();
r2.onload = function() {
t2(r2);
}, r2.error = function() {
f(n2) && n2("\u56FE\u7247\u52A0\u8F7D\u9519\u8BEF\uFF01");
}, r2.src = e2;
}, o.dataUrl2Blob = function(e2, t2) {
for (var n2 = e2.split(",")[1], r2 = e2.match(/^data:(.*?)(;base64)?,/)[1], a2 = atob(n2), i2 = n2.length, o2 = new Uint8Array(i2), s2 = 0; s2 < i2; s2++)
o2[s2] = a2.charCodeAt(s2);
return new Blob([o2], { type: t2 || r2 });
}, o.blob2DataUrl = function(e2, t2, n2) {
this.file2DataUrl(e2, t2, n2);
}, o.blob2Image = function(e2, t2, n2) {
this.file2Image(e2, t2, n2);
}, o.canvas2Blob = function(e2, t2, n2, r2) {
var a2 = this;
HTMLCanvasElement.prototype.toBlob || Object.defineProperty(HTMLCanvasElement.prototype, "toBlob", { value: function(e3, t3, n3) {
var r3 = this.toDataURL(t3, n3);
e3(a2.dataUrl2Blob(r3));
} }), e2.toBlob(function(e3) {
t2(e3);
}, r2 || "image/jpeg", n2 || 0.8);
}, o.upload = function(e2, t2, n2) {
var r2 = new XMLHttpRequest(), a2 = new FormData();
a2.append("file", t2), r2.onreadystatechange = function() {
if (4 !== r2.readyState || 200 !== r2.status)
throw new Error(r2);
n2 && n2(r2.responseText);
}, r2.open("POST", e2, true), r2.send(a2);
}, o)
o.hasOwnProperty(h) && (l[h] = o[h]);
}]).default;
});
})(imageCompressor_min);
{
jsImageCompressor.exports = imageCompressor_min.exports;
}
var ImageCompressor = jsImageCompressor.exports;
export { ImageCompressor as I };

View File

@ -1,5 +1,5 @@
import { m as makeSymbol, a as assign, i as isNumber, b as isString, c as isObject, d as isArray, e as isBoolean, f as createCompileError, g as isEmptyObject, r as registerMessageCompiler, h as getGlobalThis, s as setDevToolsHook, j as isPlainObject, k as hasOwn, l as handleFlatJson, n as isRegExp, o as isFunction, p as createCoreContext, u as updateFallbackLocale, q as compileToFunction, t as resolveValue, v as clearDateTimeFormat, w as clearNumberFormat, x as setAdditionalMeta, N as NOT_REOSLVED, y as parseTranslateArgs, z as translate, M as MISSING_RESOLVE_VALUE, A as parseDateTimeArgs, B as datetime, C as parseNumberArgs, D as number, E as getLocaleChain } from "../@intlify/index.js";
import { h, Fragment, getCurrentInstance, inject, onMounted, onUnmounted, isRef, ref, computed, watch, createVNode, Text } from "vue";
import { m as makeSymbol, a as assign, i as isNumber, b as isString, c as isObject, d as isBoolean, e as isEmptyObject, r as registerMessageCompiler, g as getGlobalThis, s as setDevToolsHook, f as createCompileError, h as isPlainObject, j as isArray, k as hasOwn, l as handleFlatJson, n as isRegExp, o as isFunction, u as updateFallbackLocale, p as compileToFunction, q as createCoreContext, t as resolveValue, v as clearDateTimeFormat, w as clearNumberFormat, x as setAdditionalMeta, N as NOT_REOSLVED, y as parseTranslateArgs, z as translate, M as MISSING_RESOLVE_VALUE, A as parseDateTimeArgs, B as datetime, C as parseNumberArgs, D as number, E as getLocaleChain } from "../@intlify/index.js";
import { h, Fragment, getCurrentInstance, inject, onMounted, onUnmounted, ref, computed, watch, isRef, createVNode, Text } from "vue";
/*!
* vue-i18n v9.1.10
* (c) 2022 kazuya kawaguchi
@ -80,8 +80,12 @@ function createComposer(options = {}) {
const { __root } = options;
const _isGlobal = __root === void 0;
let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true;
const _locale = ref(__root && _inheritLocale ? __root.locale.value : isString(options.locale) ? options.locale : "en-US");
const _fallbackLocale = ref(__root && _inheritLocale ? __root.fallbackLocale.value : isString(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value);
const _locale = ref(
__root && _inheritLocale ? __root.locale.value : isString(options.locale) ? options.locale : "en-US"
);
const _fallbackLocale = ref(
__root && _inheritLocale ? __root.fallbackLocale.value : isString(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
);
const _messages = ref(getLocaleMessages(_locale.value, options));
const _datetimeFormats = ref(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
const _numberFormats = ref(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
@ -215,7 +219,8 @@ function createComposer(options = {}) {
type: "vnode"
};
function transrateVNode(...args) {
return wrapWithDeps((context) => {
return wrapWithDeps(
(context) => {
let ret;
const _context2 = context;
try {
@ -225,13 +230,33 @@ function createComposer(options = {}) {
_context2.processor = null;
}
return ret;
}, () => parseTranslateArgs(...args), "translate", (root) => root[TransrateVNodeSymbol](...args), (key) => [createVNode(Text, null, key, 0)], (val) => isArray(val));
},
() => parseTranslateArgs(...args),
"translate",
(root) => root[TransrateVNodeSymbol](...args),
(key) => [createVNode(Text, null, key, 0)],
(val) => isArray(val)
);
}
function numberParts(...args) {
return wrapWithDeps((context) => number(context, ...args), () => parseNumberArgs(...args), "number format", (root) => root[NumberPartsSymbol](...args), () => [], (val) => isString(val) || isArray(val));
return wrapWithDeps(
(context) => number(context, ...args),
() => parseNumberArgs(...args),
"number format",
(root) => root[NumberPartsSymbol](...args),
() => [],
(val) => isString(val) || isArray(val)
);
}
function datetimeParts(...args) {
return wrapWithDeps((context) => datetime(context, ...args), () => parseDateTimeArgs(...args), "datetime format", (root) => root[DatetimePartsSymbol](...args), () => [], (val) => isString(val) || isArray(val));
return wrapWithDeps(
(context) => datetime(context, ...args),
() => parseDateTimeArgs(...args),
"datetime format",
(root) => root[DatetimePartsSymbol](...args),
() => [],
(val) => isString(val) || isArray(val)
);
}
function setPluralRules(rules) {
_pluralRules = rules;

View File

@ -107,7 +107,9 @@ const _sfc_main = defineComponent({
}
if (props.position === "absolute") {
if (!targetElement.parentElement) {
throw new Error(`target parent element is not existed: ${props.target}`);
throw new Error(
`target parent element is not existed: ${props.target}`
);
}
targetElement.parentElement.style.position = "relative";
}

View File

@ -153,10 +153,14 @@ const _sfc_main = defineComponent({
}
});
};
watch(slotsChange, () => {
watch(
slotsChange,
() => {
childrens.value = [];
setItemInstanceBySlot(slot.default && slot.default());
}, { immediate: true, deep: true });
},
{ immediate: true, deep: true }
);
const sub = () => {
var _a, _b, _c;
for (var i = 0; i < childrens.value.length; i++) {
@ -213,11 +217,15 @@ const _sfc_main = defineComponent({
intervalTimer = window.setInterval(autoplay, props.interval);
}
};
watch(() => props.autoplay, () => {
watch(
() => props.autoplay,
() => {
if (props.autoplay) {
intervalTimer = window.setInterval(autoplay, props.interval);
}
}, { immediate: true });
},
{ immediate: true }
);
provide("active", active);
provide("slotsChange", slotsChange);
provide("anim", anim);

View File

@ -49,10 +49,15 @@ const _sfc_main = defineComponent({
onMounted(() => {
initTreeData();
});
watch(() => props.options, () => {
watch(
() => props.options,
() => {
initTreeData();
});
watch(() => props.modelValue, () => {
}
);
watch(
() => props.modelValue,
() => {
if (watchModelValue.value) {
if (props.modelValue === null || props.modelValue === "") {
onClear();
@ -63,7 +68,8 @@ const _sfc_main = defineComponent({
watchModelValue.value = true;
}, 0);
}
});
}
);
const watchModelValue = ref(true);
const treeData = ref([]);
const initTreeData = () => {
@ -89,7 +95,9 @@ const _sfc_main = defineComponent({
let valueData = props.modelValue.split(props.decollator);
for (let index2 = 0; index2 < valueData.length; index2++) {
const element = valueData[index2];
let selectIndex = treeData.value[index2].data.findIndex((e) => e.value === element);
let selectIndex = treeData.value[index2].data.findIndex(
(e) => e.value === element
);
if (selectIndex == -1) {
break;
}

View File

@ -15,9 +15,12 @@ const _sfc_main = defineComponent({
emits: ["update:modelValue", "change"],
setup(__props, { emit }) {
const props = __props;
watch(() => props.modelValue, (val) => {
watch(
() => props.modelValue,
(val) => {
activeValues.value = [].concat(val);
});
}
);
const activeValues = ref([].concat(props.modelValue));
provide("layCollapse", {
accordion: props.accordion,

View File

@ -16,7 +16,9 @@ const _sfc_main = defineComponent({
},
setup(__props) {
const props = __props;
const { accordion, activeValues, emit, collapseTransition } = inject("layCollapse");
const { accordion, activeValues, emit, collapseTransition } = inject(
"layCollapse"
);
let isShow = computed(() => {
return activeValues.value.includes(props.id);
});
@ -32,7 +34,10 @@ const _sfc_main = defineComponent({
} else {
activeValues.value.push(props.id);
}
emit("update:modelValue", accordion ? activeValues.value[0] || null : activeValues.value);
emit(
"update:modelValue",
accordion ? activeValues.value[0] || null : activeValues.value
);
emit("change", props.id, !_isShow, activeValues.value);
};
return (_ctx, _cache) => {

View File

@ -132,7 +132,10 @@ const _sfc_main = defineComponent({
alpha.value = a;
});
watch([red, green, blue], (newValue) => {
emit("update:modelValue", rgba2hex(red.value, green.value, blue.value, alpha.value));
emit(
"update:modelValue",
rgba2hex(red.value, green.value, blue.value, alpha.value)
);
let { h, s, v } = rgb2hsv(red.value, green.value, blue.value);
hue.value = h;
saturation.value = s;
@ -141,7 +144,10 @@ const _sfc_main = defineComponent({
hueSliderStyle.value = `left: ${hue.value / 360 * 100}%;`;
});
watch(alpha, () => {
emit("update:modelValue", rgba2hex(red.value, green.value, blue.value, alpha.value));
emit(
"update:modelValue",
rgba2hex(red.value, green.value, blue.value, alpha.value)
);
alphaSliderStyle.value = `left: ${alpha.value >= 1 ? "calc(100% - 6px)" : alpha.value * 100 + "%"};`;
});
let colorObj = computed(() => {
@ -278,7 +284,9 @@ const _sfc_main = defineComponent({
if (color) {
let r, g, b, a;
if (typeof color === "string") {
if (/^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{8}|[0-9a-fA-F]{3}|[0-9a-fA-F]{4})$/.test(color)) {
if (/^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{8}|[0-9a-fA-F]{3}|[0-9a-fA-F]{4})$/.test(
color
)) {
return hex2rgba(color);
}
} else {

View File

@ -11,7 +11,9 @@ const _sfc_main = defineComponent({
},
setup(__props) {
const props = __props;
const classes = computed(() => props.fluid ? "layui-fluid" : "layui-container");
const classes = computed(
() => props.fluid ? "layui-fluid" : "layui-container"
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(unref(classes))

View File

@ -50,11 +50,14 @@ const _sfc_main = defineComponent({
const start = function() {
localStartVal.value = props.endVal;
};
watch(() => props.endVal, () => {
watch(
() => props.endVal,
() => {
if (props.autoplay) {
localStartVal.value = props.endVal;
}
});
}
);
onMounted(() => {
if (props.autoplay) {
start();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -176,7 +176,10 @@ const _sfc_main = defineComponent({
const slots = useSlots();
const attrs = useAttrs();
const childrenRefs = /* @__PURE__ */ new Set();
const dropdownCtx = inject(dropdownInjectionKey, void 0);
const dropdownCtx = inject(
dropdownInjectionKey,
void 0
);
const { children, firstElement: dropdownRef } = useFirstElement();
const contentRef = shallowRef();
const contentStyle = ref({});
@ -188,11 +191,15 @@ const _sfc_main = defineComponent({
const { x: mouseLeft, y: mouseTop } = toRefs(mousePosition);
const openState = ref(false);
let scrollElements;
const containerRef = computed(() => {
const containerRef = computed(
() => {
var _a;
return props.popupContainer ? (_a = document.querySelector(props.popupContainer)) != null ? _a : document.body : dropdownRef.value;
});
const triggerMethods = computed(() => [].concat(props.trigger));
}
);
const triggerMethods = computed(
() => [].concat(props.trigger)
);
const computedPlacement = computed(() => {
return transformPlacement(props.placement);
});
@ -276,7 +283,11 @@ const _sfc_main = defineComponent({
const containerRect = containerRef.value.getBoundingClientRect();
const triggerRect = props.alignPoint ? getTriggerRect() : getElementScrollRect(dropdownRef.value, containerRect);
const contentRect = getElementScrollRect(contentRef.value, containerRect);
const { style } = getContentStyle(computedPlacement.value, triggerRect, contentRect);
const { style } = getContentStyle(
computedPlacement.value,
triggerRect,
contentRect
);
if (props.autoFitMinWidth) {
style.minWidth = `${triggerRect.width}px`;
}
@ -287,11 +298,20 @@ const _sfc_main = defineComponent({
if (props.autoFitPosition) {
nextTick(() => {
const triggerRect2 = props.alignPoint ? getTriggerRect() : getElementScrollRect(dropdownRef.value, containerRect);
const contentRect2 = getElementScrollRect(contentRef.value, containerRect);
const contentRect2 = getElementScrollRect(
contentRef.value,
containerRect
);
let { top, left } = style;
top = Number(top.toString().replace("px", ""));
left = Number(left.toString().replace("px", ""));
const { top: fitTop, left: fitLeft } = getFitPlacement(top, left, computedPlacement.value, triggerRect2, contentRect2);
const { top: fitTop, left: fitLeft } = getFitPlacement(
top,
left,
computedPlacement.value,
triggerRect2,
contentRect2
);
style.top = `${fitTop}px`;
style.left = `${fitLeft}px`;
contentStyle.value = {
@ -520,16 +540,22 @@ const _sfc_main = defineComponent({
dropdownCtx == null ? void 0 : dropdownCtx.removeChildRef(ref2);
};
dropdownCtx == null ? void 0 : dropdownCtx.addChildRef(contentRef);
const { stop: removeContentResizeObserver } = useResizeObserver(contentRef, () => {
const { stop: removeContentResizeObserver } = useResizeObserver(
contentRef,
() => {
if (openState.value && props.autoFixPosition) {
updateContentStyle();
}
});
const { stop: removeTriggerResizeObserver } = useResizeObserver(dropdownRef, () => {
}
);
const { stop: removeTriggerResizeObserver } = useResizeObserver(
dropdownRef,
() => {
if (openState.value && props.autoFixPosition) {
updateContentStyle();
}
});
}
);
onClickOutside(dropdownRef, (e) => {
var _a, _b, _c;
if (!props.clickOutsideToClose || !openState.value || ((_a = dropdownRef.value) == null ? void 0 : _a.contains(e.target)) || ((_b = contentRef.value) == null ? void 0 : _b.contains(e.target))) {
@ -544,7 +570,10 @@ const _sfc_main = defineComponent({
});
const onlyChildRenderFunc = () => {
const slotContent = slots.default ? slots.default() : [];
const transformedSlotContent = slotContent.map((vnode) => cloneVNode(vnode, {
const transformedSlotContent = slotContent.map(
(vnode) => cloneVNode(
vnode,
{
onClick: handleClick,
onContextmenu: handleContextMenuClick,
onMouseenter: handleMouseEnter,
@ -552,7 +581,10 @@ const _sfc_main = defineComponent({
onFocusin: handleFocusin,
onFocusout: handleFocusout,
...attrs
}, true));
},
true
)
);
children.value = transformedSlotContent;
return h(Fragment, children.value);
};
@ -577,16 +609,23 @@ const _sfc_main = defineComponent({
removeTriggerResizeObserver();
window.removeEventListener("resize", handleScroll);
});
watch(() => props.visible, (newVal, oldVal) => {
watch(
() => props.visible,
(newVal, oldVal) => {
openState.value = newVal;
}, { immediate: true });
provide(dropdownInjectionKey, reactive({
},
{ immediate: true }
);
provide(
dropdownInjectionKey,
reactive({
onMouseenter: handleMouseEnterWithContext,
onMouseleave: handleMouseLeaveWithContext,
addChildRef,
removeChildRef,
hide: handleContextHide
}));
})
);
provide("openState", openState);
expose({ show, hide, toggle });
return (_ctx, _cache) => {

View File

@ -21,7 +21,10 @@ const _sfc_main = defineComponent({
setup(__props) {
const props = __props;
inject("openState");
const dropdownCtx = inject(dropdownInjectionKey, void 0);
const dropdownCtx = inject(
dropdownInjectionKey,
void 0
);
const handleClick = () => {
if (props.disabled) {
return;

View File

@ -26,7 +26,9 @@ const _sfc_main = defineComponent({
const props = __props;
const { t } = useI18n();
const slots = useSlots();
const description = computed(() => props.description ? props.description : t("empty.description"));
const description = computed(
() => props.description ? props.description : t("empty.description")
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
createElementVNode("div", _hoisted_2, [

View File

@ -43,7 +43,9 @@ const _sfc_main = defineComponent({
} else if (typeof fields === "string" || Array.isArray(fields) && fields.length > 0) {
validateItems = [];
const validateFields = !fields ? [] : [].concat(fields);
validateFields.forEach((field) => formItemMap[field] && validateItems.push(formItemMap[field]));
validateFields.forEach(
(field) => formItemMap[field] && validateItems.push(formItemMap[field])
);
}
let errorsArrs = [];
validateItems.forEach((filed) => {
@ -70,7 +72,9 @@ const _sfc_main = defineComponent({
if (clearFields.length === 0) {
formItems.forEach((filed) => filed.clearValidate());
} else {
clearFields.forEach((field) => formItemMap[field] && formItemMap[field].clearValidate());
clearFields.forEach(
(field) => formItemMap[field] && formItemMap[field].clearValidate()
);
}
};
const reset = function() {
@ -88,13 +92,16 @@ const _sfc_main = defineComponent({
formItemMap[item.prop] = item;
};
expose({ validate, clearValidate, reset });
provide("LayForm", reactive({
provide(
"LayForm",
reactive({
formItems,
addField,
clearValidate,
validate,
...toRefs(props)
}));
})
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("form", {
class: "layui-form",

View File

@ -89,8 +89,14 @@ const _sfc_main = defineComponent({
}
return rulesArrs;
});
const filedValue = computed(() => props.prop ? layForm.model[props.prop] : void 0);
watch(() => filedValue.value, (val) => validate(), { deep: true });
const filedValue = computed(
() => props.prop ? layForm.model[props.prop] : void 0
);
watch(
() => filedValue.value,
(val) => validate(),
{ deep: true }
);
const errorMsg = ref();
const errorStatus = ref(false);
const validate = (callback) => {
@ -101,7 +107,11 @@ const _sfc_main = defineComponent({
let model = {};
let validateMessage = null;
if (layForm.useCN) {
validateMessage = Object.assign({}, cnValidateMessage, layForm.validateMessage);
validateMessage = Object.assign(
{},
cnValidateMessage,
layForm.validateMessage
);
model[props.label || props.prop] = filedValue.value;
} else {
layForm.validateMessage && (validateMessage = layForm.validateMessage);
@ -143,12 +153,14 @@ const _sfc_main = defineComponent({
expose({ validate, clearValidate });
onMounted(() => {
if (props.prop) {
layForm.addField(reactive({
layForm.addField(
reactive({
...toRefs(props),
$el: formItemRef,
validate,
clearValidate
}));
})
);
}
});
const getMarginLeft = computed(() => {
@ -179,7 +191,9 @@ const _sfc_main = defineComponent({
}, [
props.prop && unref(isRequired) ? (openBlock(), createElementBlock("span", {
key: 0,
class: normalizeClass(["layui-required", "layui-icon"].concat((_a = unref(layForm).requiredIcons) != null ? _a : ""))
class: normalizeClass(
["layui-required", "layui-icon"].concat((_a = unref(layForm).requiredIcons) != null ? _a : "")
)
}, [
renderSlot(_ctx.$slots, "required", {
props: { ...props, model: unref(layForm).model }

View File

@ -58,7 +58,9 @@ const _sfc_main = defineComponent({
]
];
const defaultElement = document.documentElement;
let targetEl = ref(props.target || defaultElement);
let targetEl = ref(
props.target || defaultElement
);
const isFullscreen = ref(false);
let isSupported = false;
const unprefixedMethods = methodMap[0];
@ -79,10 +81,14 @@ const _sfc_main = defineComponent({
targetEl2 = activeEl.value || defaultElement;
let fullscreenEnter = null;
if (props.immersive) {
fullscreenEnter = Promise.resolve(targetEl2[fullscreenAPI.requestFullscreen]());
fullscreenEnter = Promise.resolve(
targetEl2[fullscreenAPI.requestFullscreen]()
);
} else {
styleLayFullscreen(targetEl2, false);
fullscreenEnter = Promise.resolve(targetEl2 == null ? void 0 : targetEl2.classList.add("layui-fullscreen"));
fullscreenEnter = Promise.resolve(
targetEl2 == null ? void 0 : targetEl2.classList.add("layui-fullscreen")
);
}
return await (fullscreenEnter == null ? void 0 : fullscreenEnter.then(() => {
isFullscreen.value = true;
@ -102,7 +108,9 @@ const _sfc_main = defineComponent({
if (targetEl2 instanceof Document)
return;
styleLayFullscreen(targetEl2, true);
fullscreenExit = Promise.resolve(targetEl2 == null ? void 0 : targetEl2.classList.remove("layui-fullscreen"));
fullscreenExit = Promise.resolve(
targetEl2 == null ? void 0 : targetEl2.classList.remove("layui-fullscreen")
);
}
return await (fullscreenExit == null ? void 0 : fullscreenExit.then(() => {
isFullscreen.value = false;
@ -145,7 +153,10 @@ const _sfc_main = defineComponent({
document.addEventListener("keydown", onKeydownF11);
});
onBeforeUnmount(() => {
document.removeEventListener(fullscreenAPI.fullscreenchange, onFullscreenchange);
document.removeEventListener(
fullscreenAPI.fullscreenchange,
onFullscreenchange
);
document.removeEventListener("keydown", onFullscreenchange);
document.removeEventListener("keydown", onKeydownF11);
});

File diff suppressed because one or more lines are too long

View File

@ -18,12 +18,22 @@ const _sfc_main = defineComponent({
modelValue,
disabled
});
watch(() => modelValue, (val) => {
watch(
() => modelValue,
(val) => {
emit("change", modelValue.value);
emit("update:modelValue", modelValue.value);
}, { deep: true });
watch(() => props.modelValue, (val) => modelValue.value = val);
watch(() => props.disabled, (val) => disabled.value = val);
},
{ deep: true }
);
watch(
() => props.modelValue,
(val) => modelValue.value = val
);
watch(
() => props.disabled,
(val) => disabled.value = val
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(["layui-checkbox-group", { "layui-checkbox-group-disabled": disabled.value }])

View File

@ -1,5 +1,5 @@
import { w as withInstall } from "../badge/index2.js";
import { openBlock, createElementBlock, createElementVNode, defineComponent, useSlots, ref, computed, watch, normalizeClass, unref, renderSlot, createCommentVNode, createBlock, createVNode, withModifiers } from "vue";
import { openBlock, createElementBlock, createElementVNode, defineComponent, useSlots, ref, computed, watch, normalizeClass, unref, renderSlot, createCommentVNode, createBlock, normalizeStyle, createVNode, withModifiers } from "vue";
import { _ as _sfc_main$2W } from "../_chunks/@layui/index.js";
import { _ as _export_sfc } from "../dropdownMenu/index2.js";
var index = /* @__PURE__ */ (() => ":root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}\n")();
@ -88,14 +88,17 @@ const _sfc_main = defineComponent({
maxlength: null,
max: null,
min: null,
qfw: { type: Boolean, default: false }
qfw: { type: Boolean, default: false },
align: { default: "left" }
},
emits: ["blur", "input", "update:modelValue", "change", "focus", "clear"],
setup(__props, { emit }) {
const props = __props;
const slots = useSlots();
const type = ref(props.type);
const currentValue = ref(String(props.modelValue == null ? "" : props.modelValue));
const currentValue = ref(
String(props.modelValue == null ? "" : props.modelValue)
);
const hasContent = computed(() => {
var _a;
return ((_a = props.modelValue) == null ? void 0 : _a.length) > 0;
@ -128,18 +131,26 @@ const _sfc_main = defineComponent({
return isNaN(parseInt(z)) ? 0 : z;
}
};
watch(() => props.type, () => {
watch(
() => props.type,
() => {
type.value = props.type;
});
}
);
const input = ref();
watch(() => props.modelValue, () => {
watch(
() => props.modelValue,
() => {
console.log(input);
if (!(input.value == document.activeElement) && props.qfw) {
currentValue.value = formatMoney(props.modelValue.toString());
return;
}
currentValue.value = String(props.modelValue == null ? "" : props.modelValue);
});
currentValue.value = String(
props.modelValue == null ? "" : props.modelValue
);
}
);
const onInput = function(event) {
const inputElement = event.target;
let value = inputElement.value;
@ -234,6 +245,9 @@ const _sfc_main = defineComponent({
}, null, 8, ["type"]))
])) : createCommentVNode("", true),
createElementVNode("input", {
style: normalizeStyle({
textAlign: __props.align
}),
type: type.value,
name: __props.name,
disabled: __props.disabled,
@ -253,7 +267,7 @@ const _sfc_main = defineComponent({
onCompositionend,
ref_key: "input",
ref: input
}, null, 40, _hoisted_5),
}, null, 44, _hoisted_5),
__props.password && unref(hasContent) ? (openBlock(), createElementBlock("span", {
key: 1,
class: "layui-input-password",

View File

@ -100,11 +100,14 @@ const _sfc_main = defineComponent({
emit("change", tempValue.value);
}
});
watch(() => props.modelValue, (val) => {
watch(
() => props.modelValue,
(val) => {
if (val !== num.value) {
num.value = props.modelValue;
}
});
}
);
let timer = 0;
const tempValue = ref(0);
const minControl = computed(() => {

View File

@ -27,8 +27,12 @@ const _sfc_main = defineComponent({
setup(__props, { emit }) {
const props = __props;
const isTree = computed(() => props.tree);
const isCollapse = computed(() => props.collapse);
const isCollapseTransition = computed(() => props.collapseTransition);
const isCollapse = computed(
() => props.collapse
);
const isCollapseTransition = computed(
() => props.collapseTransition
);
const oldOpenKeys = ref(props.openKeys);
const menuTheme = computed(() => props.theme);
const openKeys = computed({
@ -52,14 +56,17 @@ const _sfc_main = defineComponent({
const indent = computed(() => {
return props.indent;
});
watch(() => props.collapse, () => {
watch(
() => props.collapse,
() => {
if (props.collapse) {
oldOpenKeys.value = props.openKeys;
openKeys.value = [];
} else {
openKeys.value = oldOpenKeys.value;
}
});
}
);
provideLevel(1);
provide("isTree", isTree);
provide("selectedKey", selectedKey);

View File

@ -36,12 +36,17 @@ const _sfc_main = defineComponent({
const isCollapse = inject("isCollapse");
const theme = inject("menuTheme");
const indent = inject("indent");
const dropdownCtx = inject(dropdownInjectionKey, void 0);
const dropdownCtx = inject(
dropdownInjectionKey,
void 0
);
const selectHandle = function() {
selectedKey.value = props.id;
dropdownCtx == null ? void 0 : dropdownCtx.hide();
};
const needTooltip = computed(() => isTree.value && (isCollapse.value === true || isCollapse.value === "true") && level.value === 1);
const needTooltip = computed(
() => isTree.value && (isCollapse.value === true || isCollapse.value === "true") && level.value === 1
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("li", {
class: normalizeClass(["layui-nav-item", { "layui-this": unref(selectedKey) === __props.id }]),

View File

@ -71,9 +71,13 @@ const _sfc_main = defineComponent({
}
};
const listenerAnimationend = () => {
noticeBarTextRef.value.addEventListener("animationend", () => {
noticeBarTextRef.value.addEventListener(
"animationend",
() => {
changeAnimation();
}, false);
},
false
);
};
const onRightIconClick = () => {
if (!props.mode)

View File

@ -58,9 +58,12 @@ const _sfc_main = defineComponent({
const currentPage = ref(props.modelValue);
const currentPageShow = ref(currentPage.value);
const inlimit = ref(props.limit);
watch(() => props.limit, () => {
watch(
() => props.limit,
() => {
inlimit.value = props.limit;
});
}
);
const totalPage = computed(() => {
maxPage.value = Math.ceil(props.total / inlimit.value);
let r = [];
@ -118,10 +121,13 @@ const _sfc_main = defineComponent({
currentPageShow.value = currentPage.value;
emit("update:modelValue", currentPage.value);
});
watch(() => props.modelValue, () => {
watch(
() => props.modelValue,
() => {
currentPage.value = props.modelValue;
currentPageShow.value = currentPage.value;
});
}
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
__props.showCount ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(unref(t)("page.total")) + " " + toDisplayString(__props.total) + " " + toDisplayString(unref(t)("page.item")) + " " + toDisplayString(maxPage.value) + " " + toDisplayString(unref(t)("page.page")), 1)) : createCommentVNode("", true),

View File

@ -22,12 +22,22 @@ const _sfc_main = defineComponent({
naiveName: props.name,
disabled
});
watch(() => modelValue, (val) => {
watch(
() => modelValue,
(val) => {
emit("change", modelValue.value);
emit("update:modelValue", modelValue.value);
}, { deep: true });
watch(() => props.modelValue, (val) => modelValue.value = val);
watch(() => props.disabled, (val) => disabled.value = val);
},
{ deep: true }
);
watch(
() => props.modelValue,
(val) => modelValue.value = val
);
watch(
() => props.disabled,
(val) => disabled.value = val
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
renderSlot(_ctx.$slots, "default")

View File

@ -32,11 +32,16 @@ const _sfc_main = defineComponent({
const props = __props;
const currentValue = ref(props.modelValue);
const tempValue = ref(currentValue.value);
const isHalf = computed(() => props.half && Math.round(currentValue.value) !== currentValue.value);
watch(() => props.modelValue, () => {
const isHalf = computed(
() => props.half && Math.round(currentValue.value) !== currentValue.value
);
watch(
() => props.modelValue,
() => {
currentValue.value = props.modelValue;
tempValue.value = props.modelValue;
});
}
);
const getValue = function(index2, event) {
if (!props.half) {
return index2;

View File

@ -55,14 +55,22 @@ const _sfc_main = defineComponent({
spreadSizeRef.value = props.spreadSize;
}
}
ripples.addEventListener("animationend", () => {
ripples.addEventListener(
"animationend",
() => {
isActiveRef.value = false;
}, false);
},
false
);
};
onMounted(() => {
initWidth();
});
watch(() => props.trigger, (val) => isActiveRef.value = val === "always", { immediate: true });
watch(
() => props.trigger,
(val) => isActiveRef.value = val === "always",
{ immediate: true }
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", mergeProps({
class: "layui-water-ripples-container",

View File

@ -91,7 +91,9 @@ const _sfc_main = defineComponent({
onMounted(() => {
intOption();
timer = setInterval(intOption, 500);
watch([selectedValue, options], () => {
watch(
[selectedValue, options],
() => {
var _a, _b;
if (multiple.value) {
multipleValue.value = (_a = selectedValue.value) == null ? void 0 : _a.map((value) => {
@ -106,7 +108,9 @@ const _sfc_main = defineComponent({
return item.value === selectedValue.value;
})) == null ? void 0 : _b.label;
}
}, { immediate: true, deep: true });
},
{ immediate: true, deep: true }
);
});
onUnmounted(() => {
clearInterval(timer);

View File

@ -17,7 +17,9 @@ const _sfc_main = defineComponent({
const searchValue = inject("searchValue");
const selectRef = inject("selectRef");
const searchMethod = inject("searchMethod");
const selectedValue = inject("selectedValue");
const selectedValue = inject(
"selectedValue"
);
const multiple = inject("multiple");
const checkboxRef = ref();
const handleSelect = () => {

View File

@ -25,10 +25,12 @@ const _sfc_main = defineComponent({
}
},
setup(props, { slots }) {
const computAlign = computed(() => {
const computAlign = computed(
() => {
var _a;
return (_a = props.align) != null ? _a : props.direction === "horizontal" ? "center" : "";
});
}
);
const spaceClass = computed(() => [
"layui-space",
{
@ -88,17 +90,25 @@ const _sfc_main = defineComponent({
};
return () => {
const children = extractChildren();
return h("div", {
return h(
"div",
{
class: spaceClass.value,
style: spaceStyle.value
}, children.map((child, index2) => {
},
children.map((child, index2) => {
var _a;
return h("div", {
return h(
"div",
{
key: (_a = child.key) != null ? _a : `item-${index2}`,
class: "layui-space-item",
style: itemStyle.value
}, h(child));
}));
},
h(child)
);
})
);
};
}
});

View File

@ -21,7 +21,9 @@ const _sfc_main = defineComponent({
onMounted(() => {
const boxWidth = target.value.offsetWidth;
const boxHeight = target.value.offsetHeight;
target.value.addEventListener("mousemove", (event) => {
target.value.addEventListener(
"mousemove",
(event) => {
if (domStatus.value && domEvent.value) {
const prevDom = domEvent.value.target.previousElementSibling;
const nextDom = domEvent.value.target.nextElementSibling;
@ -49,7 +51,8 @@ const _sfc_main = defineComponent({
nextDom.style.flexBasis = (boxHeight - (event.layerY - prevDomTop) - otherHeight) / (prevDomHeight + nextDomHeight + 5) * otherHeightPercentage + "%";
}
}
});
}
);
});
const moveChange = (event, status, isVertical) => {
domEvent.value = event;
@ -63,9 +66,11 @@ const _sfc_main = defineComponent({
};
const steps = ref([]);
watch(steps, () => {
steps.value.forEach((instance, index2) => {
steps.value.forEach(
(instance, index2) => {
instance.setIndex(index2);
});
}
);
});
provide("laySplitPanel", {
props,

View File

@ -67,7 +67,9 @@ const _sfc_main = defineComponent({
onMounted(() => {
});
onBeforeUnmount(() => {
parents.steps.value = parents.steps.value.filter((instance) => instance.itemId !== currentInstance.uid);
parents.steps.value = parents.steps.value.filter(
(instance) => instance.itemId !== currentInstance.uid
);
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock(Fragment, null, [

View File

@ -23,9 +23,11 @@ const _sfc_main = defineComponent({
emits("onChange", index2 - 1);
};
watch(steps, () => {
steps.value.forEach((instance, index2) => {
steps.value.forEach(
(instance, index2) => {
instance.setIndex(index2);
});
}
);
});
provide("LayStep", {
props,

View File

@ -79,7 +79,9 @@ const _sfc_main = defineComponent({
onMounted(() => {
});
onBeforeUnmount(() => {
parents.steps.value = parents.steps.value.filter((instance) => instance.itemId !== currentInstance.uid);
parents.steps.value = parents.steps.value.filter(
(instance) => instance.itemId !== currentInstance.uid
);
});
return (_ctx, _cache) => {
return !unref(simple) ? (openBlock(), createElementBlock("div", {

View File

@ -119,7 +119,9 @@ const _sfc_main = defineComponent({
const openKeys = inject("openKeys");
const indent = inject("indent");
const isCollapse = inject("isCollapse");
const isCollapseTransition = inject("isCollapseTransition");
const isCollapseTransition = inject(
"isCollapseTransition"
);
const isOpen = computed(() => {
return openKeys.value.includes(props.id);
});

View File

@ -63,11 +63,14 @@ const _sfc_main = defineComponent({
const removeItem = (id) => {
tabMap.delete(id);
};
provide(TabInjectKey, reactive({
provide(
TabInjectKey,
reactive({
active,
addItem,
removeItem
}));
})
);
const change = function(id) {
if (props.beforeLeave && props.beforeLeave(id) === false) {
return;
@ -263,19 +266,26 @@ const _sfc_main = defineComponent({
}
};
useResizeObserver(navRef, update);
watch(tabMap, () => {
watch(
tabMap,
() => {
childrens.value = [];
setItemInstanceBySlot(slot.default && slot.default());
}, { immediate: true });
watch(() => [
},
{ immediate: true }
);
watch(
() => [
props.modelValue,
props.tabPosition,
props.type,
childrens.value.length
], async () => {
],
async () => {
await nextTick();
update();
});
}
);
onMounted(() => {
update();
scrollToActiveTab();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -195,13 +195,16 @@ const _sfc_main = defineComponent({
useResizeObserver(mirrorRefEl, () => {
handleResize();
});
watch(() => inputValue.value, (val) => {
watch(
() => inputValue.value,
(val) => {
if (inputRefEl.value && !isComposing.value) {
nextTick(() => {
inputRefEl.value.value = val != null ? val : "";
});
}
});
}
);
const moreCount = computed(() => {
if (tagData.value && computedTagData.value) {
return tagData.value.length - computedTagData.value.length;
@ -261,7 +264,11 @@ const _sfc_main = defineComponent({
size: __props.size,
onClose: ($event) => {
var _a3;
return handleClose(item.value, index2 + ((_a3 = __props.minCollapsedNum) != null ? _a3 : 0), $event);
return handleClose(
item.value,
index2 + ((_a3 = __props.minCollapsedNum) != null ? _a3 : 0),
$event
);
}
}), {
default: withCtx(() => [

View File

@ -1,7 +1,7 @@
import { w as withInstall } from "../badge/index2.js";
import { defineComponent, ref, computed, watch, openBlock, createElementBlock, createElementVNode, normalizeClass, unref, createVNode, createCommentVNode, toDisplayString } from "vue";
import { _ as _sfc_main$2W } from "../_chunks/@layui/index.js";
import { g as isObject } from "../_chunks/@vueuse/index.js";
import { i as isObject } from "../_chunks/@vueuse/index.js";
var index = /* @__PURE__ */ (() => ":root{--textarea-border-radius: var(--global-border-radius);--textarea-border-color: var(--global-neutral-color-3)}.layui-textarea{border-width:1px;border-style:solid;background-color:#fff;color:#000000d9;border-radius:var(--textarea-border-radius);border-color:var(--textarea-border-color);display:block;width:100%;height:auto;line-height:20px;min-height:100px;padding:6px 10px;resize:vertical;position:relative;transition:none;-webkit-transition:none}.layui-textarea-wrapper{position:relative}.layui-textarea:hover,.layui-textarea:focus{border-color:#d2d2d2!important}.layui-textarea-clear{position:absolute;color:#00000073;right:10px;top:10px}.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-texterea-count{color:inherit;white-space:nowrap;pointer-events:none;text-align:right;margin-top:4px}.layui-textarea-disabled{cursor:not-allowed!important;opacity:.6}\n")();
const _hoisted_1 = { class: "layui-textarea-wrapper" };
const _hoisted_2 = ["value", "placeholder", "name", "disabled", "maxlength"];
@ -74,7 +74,9 @@ const _sfc_main = defineComponent({
}
return count;
});
watch([() => props.modelValue, textareaRef], () => {
watch(
[() => props.modelValue, textareaRef],
() => {
var _a, _b;
if (!textareaRef.value || !props.autosize)
return;
@ -86,9 +88,11 @@ const _sfc_main = defineComponent({
}
textareaRef.value.style.height = "1px";
textareaRef.value.style.height = `${((_b = textareaRef.value) == null ? void 0 : _b.scrollHeight) + 2}px`;
}, {
},
{
immediate: true
});
}
);
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
createElementVNode("textarea", {

View File

@ -90,7 +90,9 @@ const _sfc_main$1 = defineComponent({
const innerVisible = ref(props.visible);
const isExist = ref(props.visible);
let scrollElements;
const triggerMethods = computed(() => [].concat(props.trigger));
const triggerMethods = computed(
() => [].concat(props.trigger)
);
const doShow = function() {
if (!props.disabled) {
if (!isExist.value) {
@ -112,7 +114,11 @@ const _sfc_main$1 = defineComponent({
style.value = { top: -window.innerHeight + "px", left: 0 };
};
const calcPosistion = function() {
postionFns[props.position] && (style.value = postionFns[props.position](triggerRefEl.value, popperRefEl.value, innnerPosition));
postionFns[props.position] && (style.value = postionFns[props.position](
triggerRefEl.value,
popperRefEl.value,
innnerPosition
));
};
const updatePosistion = function() {
if (innerVisible.value) {
@ -184,14 +190,18 @@ const _sfc_main$1 = defineComponent({
updatePosistion();
}
}, 15);
onClickOutside(triggerRefEl.value, (e) => {
onClickOutside(
triggerRefEl.value,
(e) => {
if (!innerVisible.value || triggerRefEl.value.contains(e.target) || popperRefEl.value.contains(e.target)) {
return;
}
doHidden();
}, {
},
{
ignore: [popperRefEl.value]
});
}
);
useResizeObserver(triggerRefEl, () => {
updatePosistion();
});
@ -206,10 +216,16 @@ const _sfc_main$1 = defineComponent({
popperObserver && popperObserver.stop();
}
});
watch(() => props.visible, (isShow) => isShow ? doShow() : doHidden());
watch(() => props.content, () => {
watch(
() => props.visible,
(isShow) => isShow ? doShow() : doHidden()
);
watch(
() => props.content,
() => {
updatePosistion();
});
}
);
const isScrollElement = function(element) {
return element.scrollHeight > element.offsetHeight || element.scrollWidth > element.offsetWidth;
};

View File

@ -72,19 +72,29 @@ const _sfc_main = defineComponent({
leftSelectedKeys.value = [];
}
};
watch(() => [props.modelValue, props.dataSource], () => {
watch(
() => [props.modelValue, props.dataSource],
() => {
let targetDataSource = [];
props.dataSource.forEach((ds) => {
if (props.modelValue.includes(ds[props.id])) {
targetDataSource.push(ds);
}
});
leftDataSource.value = props.dataSource.filter((item) => !props.modelValue.includes(item[props.id]));
_leftDataSource.value = props.dataSource.filter((item) => !props.modelValue.includes(item[props.id]));
leftDataSource.value = props.dataSource.filter(
(item) => !props.modelValue.includes(item[props.id])
);
_leftDataSource.value = props.dataSource.filter(
(item) => !props.modelValue.includes(item[props.id])
);
rightDataSource.value = [...targetDataSource];
_rightDataSource.value = [...targetDataSource];
}, { immediate: true });
watch(leftSelectedKeys, () => {
},
{ immediate: true }
);
watch(
leftSelectedKeys,
() => {
if (leftDataSource.value.length === leftSelectedKeys.value.length && leftDataSource.value.length != 0) {
allLeftChecked.value = true;
} else {
@ -95,7 +105,9 @@ const _sfc_main = defineComponent({
} else {
hasLeftChecked.value = false;
}
}, { deep: true });
},
{ deep: true }
);
const allRightChange = (checked) => {
if (checked) {
const datasources = rightDataSource.value.filter((item) => {
@ -109,7 +121,9 @@ const _sfc_main = defineComponent({
rightSelectedKeys.value = [];
}
};
watch(rightSelectedKeys, () => {
watch(
rightSelectedKeys,
() => {
if (rightDataSource.value.length === rightSelectedKeys.value.length && rightDataSource.value.length > 0) {
allRightChecked.value = true;
} else {
@ -120,7 +134,9 @@ const _sfc_main = defineComponent({
} else {
hasRightChecked.value = false;
}
}, { deep: true });
},
{ deep: true }
);
const add = () => {
if (leftSelectedKeys.value.length === 0) {
return;

View File

@ -54,7 +54,11 @@ const _sfc_main$1 = defineComponent({
emit("node-click", node);
}
function handleChange(checked, node) {
props.tree.setCheckedKeys(checked, props.checkStrictly || props.selectParent, node);
props.tree.setCheckedKeys(
checked,
props.checkStrictly || props.selectParent,
node
);
}
function handleIconClick(node) {
node.isLeaf = !node.isLeaf;
@ -347,7 +351,8 @@ class Tree {
}
const useTree = (props, emit) => {
var _a, _b, _c, _d;
const tree = new Tree({
const tree = new Tree(
{
nodeMap: /* @__PURE__ */ new Map(),
originMap: /* @__PURE__ */ new Map(),
replaceFields: {
@ -359,7 +364,9 @@ const useTree = (props, emit) => {
checkedKeys: (_b = props.checkedKeys) != null ? _b : [],
expandKeys: (_c = props.expandKeys) != null ? _c : [],
checkStrictly: (_d = props.checkStrictly) != null ? _d : false
}, props.data);
},
props.data
);
const nodeList = computed(() => {
const nodes = tree.getData();
return nodes;
@ -418,18 +425,28 @@ const _sfc_main = defineComponent({
tree.value = _tree;
nodeList.value = _nodeList.value;
};
watch(() => props.data, () => {
watch(
() => props.data,
() => {
loadNodeList();
}, { deep: true, immediate: true });
watch(() => props.checkedKeys, () => {
},
{ deep: true, immediate: true }
);
watch(
() => props.checkedKeys,
() => {
console.log(tree.value);
if (!unWatch.value) {
loadNodeList();
}
}, {
},
{
deep: true
});
watch(tree, () => {
}
);
watch(
tree,
() => {
if (initStatus.value) {
const { checkedKeys } = tree.value.getKeys();
unWatch.value = true;
@ -438,7 +455,9 @@ const _sfc_main = defineComponent({
unWatch.value = false;
});
}
}, { deep: true });
},
{ deep: true }
);
onMounted(() => {
nextTick(() => {
initStatus.value = true;

View File

@ -80,7 +80,9 @@ const _sfc_main = defineComponent({
}
}
});
watch(selectedValue, () => {
watch(
selectedValue,
() => {
if (props.multiple) {
multipleValue.value = selectedValue.value.map((value) => {
const node = getNode(props.data, value);
@ -94,7 +96,9 @@ const _sfc_main = defineComponent({
singleValue.value = node.title;
}
}
}, { immediate: true, deep: true });
},
{ immediate: true, deep: true }
);
const handleClick = (node) => {
dropdownRef.value.hide();
selectedValue.value = node.id;

View File

@ -1,5 +1,6 @@
import { w as withInstall } from "../badge/index2.js";
import { defineComponent, computed, useSlots, getCurrentInstance, watch, ref, onMounted, nextTick, onUnmounted, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, unref, renderSlot, createBlock, withCtx, createTextVNode, toDisplayString, createVNode, Fragment, renderList } from "vue";
import { I as ImageCompressor } from "../_chunks/js-image-compressor/index.js";
import { a as _sfc_main$2, l as layer } from "../_chunks/@layui/index.js";
import { t as templateRef } from "../_chunks/@vueuse/index.js";
import { _ as _sfc_main$1 } from "../button/index2.js";
@ -53,7 +54,9 @@ const _sfc_main = defineComponent({
text: null,
dragText: null,
modelValue: { default: null },
auto: { type: Boolean, default: true }
auto: { type: Boolean, default: true },
sizeOutMsg: null,
quality: null
},
emits: [
"choose",
@ -67,13 +70,34 @@ const _sfc_main = defineComponent({
],
setup(__props, { emit }) {
const props = __props;
function imgcomp(file) {
return new Promise((resolve, reject) => {
var options = {
file,
quality: props.quality,
mimeType: "image/jpeg",
maxWidth: 2e3,
maxHeight: 2e3,
convertSize: Infinity,
loose: true,
redressOrientation: true,
success: function(result) {
resolve(result);
}
};
new ImageCompressor(options);
});
}
const getCutDownResult = () => {
if (_cropper) {
const canvas = _cropper.getCroppedCanvas();
let imgData = canvas.toDataURL('"image/png"');
let currentTimeStamp = new Date().valueOf();
let orgInfo = activeUploadFiles.value[0];
emit("cutdone", Object.assign({ currentTimeStamp, cutResult: imgData, orginal: orgInfo }));
emit(
"cutdone",
Object.assign({ currentTimeStamp, cutResult: imgData, orginal: orgInfo })
);
let newFile = dataURLtoFile(imgData);
if (!props.auto) {
emit("update:modelValue", [newFile]);
@ -138,11 +162,14 @@ const _sfc_main = defineComponent({
const slot = useSlots();
slot.default && slot.default();
getCurrentInstance();
watch(() => props.modelValue, () => {
watch(
() => props.modelValue,
() => {
if (!props.modelValue) {
clearAllCutEffect();
}
});
}
);
const isDragEnter = ref(false);
const activeUploadFiles = ref([]);
const activeUploadFilesImgs = ref([]);
@ -150,12 +177,14 @@ const _sfc_main = defineComponent({
let _cropper = null;
let computedCutLayerOption;
if (props.cutOptions && props.cutOptions.layerOption) {
computedCutLayerOption = computed(() => Object.assign(defaultCutLayerOption, props.cutOptions.layerOption));
computedCutLayerOption = computed(
() => Object.assign(defaultCutLayerOption, props.cutOptions.layerOption)
);
} else {
computedCutLayerOption = computed(() => defaultCutLayerOption.value);
}
const innerCutVisible = ref(false);
const localUploadTransaction = (option) => {
const localUploadTransaction = async (option) => {
const { url, files } = option;
let formData = new FormData();
if (url.length <= 5) {
@ -165,7 +194,13 @@ const _sfc_main = defineComponent({
if (Array.isArray(files) && files.length > 0) {
for (let i = 0; i < files.length; i++) {
let _file = files[i];
formData.append(props.field + "[" + i + "]", _file);
let f;
if (props.quality) {
f = await imgcomp(_file);
} else {
f = _file;
}
formData.append(props.field + "[" + i + "]", f);
}
}
if (props.data && props.data instanceof Object) {
@ -197,7 +232,7 @@ const _sfc_main = defineComponent({
const errorF = (errorText) => {
let currentTimeStamp = new Date().valueOf();
let errorMsg = errorText ? errorText : defaultErrorMsg;
errorMsg = `layui-vue:${errorMsg}`;
errorMsg = `${errorMsg}`;
console.warn(errorMsg);
layer.msg(errorMsg, { icon: 2, time: 1e3 }, function(res) {
});
@ -213,7 +248,10 @@ const _sfc_main = defineComponent({
if (xhr.readyState === 1) {
if (xhr.status >= 200 && xhr.status <= 300 || xhr.status === 304 || xhr.status == 0) {
let successText = startUploadMsg.value;
emit("before", Object.assign({ currentTimeStamp: currentTimeStamp2, msg: successText, ...option }));
emit(
"before",
Object.assign({ currentTimeStamp: currentTimeStamp2, msg: successText, ...option })
);
}
} else if (xhr.readyState === 4) {
let successText = xhr.responseText ? xhr.responseText : uploadSuccess;
@ -258,7 +296,7 @@ const _sfc_main = defineComponent({
let _file = _files[i];
let _size = _file.size;
if (_size > props.size * 1024) {
errorF(occurFileSizeErrorMsg.value);
errorF(props.sizeOutMsg || occurFileSizeErrorMsg.value);
return;
}
}

View File

@ -2,9 +2,12 @@ import { inject, computed, isRef, provide, reactive } from "vue";
const LevelInjectionKey = Symbol("menuLevelKey");
function provideLevel(level) {
const computedLevel = computed(() => isRef(level) ? level.value : level);
provide(LevelInjectionKey, reactive({
provide(
LevelInjectionKey,
reactive({
level: computedLevel
}));
})
);
}
function useLevel(props) {
const { provideNextLevel } = props || {};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -36,12 +36,14 @@
"@ctrl/tinycolor": "^3.4.1",
"@layui/icons-vue": "^1.0.9",
"@layui/layer-vue": "git+https://git.theluyuan.com/luyuan/layui-layer.git",
"@layui/layui-vue": "file:",
"@umijs/ssr-darkreader": "^4.9.45",
"@vueuse/core": "^9.2.0",
"async-validator": "^4.1.1",
"cropperjs": "^1.5.12",
"dayjs": "^1.11.0",
"evtd": "^0.2.3",
"js-image-compressor": "^2.0.0",
"vue-i18n": "^9.1.10",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz"
},

View File

@ -551,7 +551,7 @@ html #layuicss-laydate {
box-sizing: border-box;
input{
text-align: center;
padding: 0;
// padding: 0;
}
}
.layui-input {

View File

@ -396,6 +396,7 @@ const onChange = () => {
// @ts-ignore
dropdownRef.value.hide();
$emits("update:modelValue", dateValue.value);
$emits("change", dateValue.value);
};
provide("datePicker", {

View File

@ -30,6 +30,7 @@ export interface InputProps {
max?: number;
min?: number;
qfw?: boolean;
align?: string;
}
const props = withDefaults(defineProps<InputProps>(), {
@ -41,6 +42,7 @@ const props = withDefaults(defineProps<InputProps>(), {
modelValue: "",
size: "md",
qfw: false,
align: "left",
});
interface InputEmits {
@ -217,6 +219,9 @@ const showPassword = () => {
></lay-icon>
</span>
<input
:style="{
textAlign: align,
}"
:type="type"
:name="name"
:disabled="disabled"

View File

@ -249,7 +249,8 @@ const renderFixedClassName = (column: any, columnIndex: number) => {
left = false;
}
}
return left ? `layui-table-fixed-left-last` : "";
// return left ? `layui-table-fixed-left-last` : "";
return "";
} else {
var right = true;
for (var i = 0; i < columnIndex; i++) {
@ -261,7 +262,8 @@ const renderFixedClassName = (column: any, columnIndex: number) => {
right = false;
}
}
return right ? `layui-table-fixed-right-first` : "";
return "";
// return right ? `layui-table-fixed-right-first` : "";
}
}
};
@ -728,6 +730,6 @@ const radioProps = props.getRadioProps(props.data, props.index);
<style scoped>
.layui-table-cell :deep(.layui-input input) {
padding-left: 0;
/*padding-left: 0;*/
}
</style>

View File

@ -340,6 +340,7 @@ watch(
{ deep: true, immediate: true }
);
watch(tableDataSource, () => {
console.log("tableDataSource更新", tableDataSource.value);
if (!props.page || props.serverpage) {
datalist.value = tableDataSource.value;
} else {
@ -515,24 +516,28 @@ const sortTable = (e: any, key: string, sort: string, issoul = false) => {
e.target.parentNode.setAttribute("lay-sort", "");
tableDataSource.value = [...props.dataSource];
} else {
console.log("排序了");
e.target.parentNode.setAttribute("lay-sort", "desc");
tableDataSource.value.sort((x, y) => {
if (x[key] < y[key]) return 1;
else if (x[key] > y[key]) return -1;
else return 0;
});
tableDataSource.value = [...tableDataSource.value];
}
} else {
if (currentSort === sort && !issoul) {
e.target.parentNode.setAttribute("lay-sort", "");
tableDataSource.value = [...props.dataSource];
} else {
console.log("排序了");
e.target.parentNode.setAttribute("lay-sort", "asc");
tableDataSource.value.sort((x, y) => {
if (x[key] < y[key]) return -1;
else if (x[key] > y[key]) return 1;
else return 0;
});
tableDataSource.value = [...tableDataSource.value];
}
}
};
@ -748,7 +753,8 @@ const renderFixedClassName = (column: any, columnIndex: number) => {
left = false;
}
}
return left ? `layui-table-fixed-left-last` : "";
return "";
// return left ? `layui-table-fixed-left-last` : "";
} else {
var right = true;
for (var i = 0; i < columnIndex; i++) {
@ -760,7 +766,8 @@ const renderFixedClassName = (column: any, columnIndex: number) => {
right = false;
}
}
return right ? `layui-table-fixed-right-first` : "";
return "";
// return right ? `layui-table-fixed-right-first` : "";
}
}
};

View File

@ -1,6 +1,6 @@
export const TAG_COLORS = ["primary", "normal", "warm", "danger"] as const;
export type TagType = typeof TAG_COLORS[number];
export type TagType = (typeof TAG_COLORS)[number];
export type TagShape = "square" | "round";

View File

@ -4,6 +4,8 @@ export default {
};
</script>
<script lang="ts" setup>
// @ts-ignore
import ImageCompressor from "js-image-compressor";
import "./index.less";
import { Recordable } from "../../types";
import { layer } from "@layui/layer-vue";
@ -73,6 +75,27 @@ export interface UploadProps {
dragText?: string;
modelValue?: any;
auto?: boolean;
sizeOutMsg?: string;
quality?: number;
}
function imgcomp(file: any): Promise<Blob> {
return new Promise((resolve, reject) => {
var options = {
file: file,
quality: props.quality,
mimeType: "image/jpeg",
maxWidth: 2000,
maxHeight: 2000,
convertSize: Infinity,
loose: true,
redressOrientation: true,
success: function (result: any) {
resolve(result);
},
};
new ImageCompressor(options);
});
}
const getCutDownResult = () => {
@ -219,7 +242,7 @@ interface localUploadOption {
const innerCutVisible = ref<boolean>(false);
const localUploadTransaction = (option: localUploadTransaction) => {
const localUploadTransaction = async (option: localUploadTransaction) => {
const { url, files } = option;
let formData = new FormData();
if (url.length <= 5) {
@ -229,7 +252,13 @@ const localUploadTransaction = (option: localUploadTransaction) => {
if (Array.isArray(files) && files.length > 0) {
for (let i = 0; i < files.length; i++) {
let _file = files[i];
formData.append(props.field + "[" + i + "]", _file);
let f: File | Blob;
if (props.quality) {
f = await imgcomp(_file);
} else {
f = _file;
}
formData.append(props.field + "[" + i + "]", f);
}
}
if (props.data && props.data instanceof Object) {
@ -263,7 +292,7 @@ const dataURLtoFile = (dataurl: string) => {
const errorF = (errorText: string) => {
let currentTimeStamp = new Date().valueOf();
let errorMsg = errorText ? errorText : defaultErrorMsg;
errorMsg = `layui-vue:${errorMsg}`;
errorMsg = `${errorMsg}`;
console.warn(errorMsg);
layer.msg(errorMsg, { icon: 2, time: 1000 }, function (res: unknown) {});
emit("error", Object.assign({ currentTimeStamp, msg: errorMsg }));
@ -337,7 +366,7 @@ const uploadChange = (e: any) => {
let _file = _files[i];
let _size = _file.size;
if (_size > props.size * 1024) {
errorF(occurFileSizeErrorMsg.value);
errorF(props.sizeOutMsg || occurFileSizeErrorMsg.value);
return;
}
}

View File

@ -1,6 +1,6 @@
import { VNodeTypes } from "vue";
import type { PropType } from "vue";
export declare type RenderFunc = (props: Record<string, unknown>) => VNodeTypes;
export type RenderFunc = (props: Record<string, unknown>) => VNodeTypes;
declare const _default: import("vue").DefineComponent<{
renderFunc: {
type: PropType<RenderFunc>;

View File

@ -1,7 +1,7 @@
export declare type ButtonType = "primary" | "normal" | "warm" | "danger";
export declare type ButtonSize = "lg" | "md" | "sm" | "xs";
export declare type ButtonBorder = "green" | "blue" | "orange" | "red" | "black";
export declare type ButtonNativeType = "button" | "submit" | "reset";
export type ButtonType = "primary" | "normal" | "warm" | "danger";
export type ButtonSize = "lg" | "md" | "sm" | "xs";
export type ButtonBorder = "green" | "blue" | "orange" | "red" | "black";
export type ButtonNativeType = "button" | "submit" | "reset";
export declare const ButtonEmits: {
click: (evt: MouseEvent) => boolean;
};

View File

@ -1 +1 @@
export declare type CardShadow = "always" | "hover" | "never";
export type CardShadow = "always" | "hover" | "never";

View File

@ -1 +1 @@
export declare type CascaderSize = "lg" | "md" | "sm" | "xs";
export type CascaderSize = "lg" | "md" | "sm" | "xs";

View File

@ -1 +1 @@
export declare type CheckboxSize = "lg" | "md" | "sm" | "xs";
export type CheckboxSize = "lg" | "md" | "sm" | "xs";

View File

@ -1,6 +1,6 @@
import { Ref } from "vue";
export declare type DatePickerType = "date" | "datetime" | "year" | "time" | "month";
export declare type provideType = {
export type DatePickerType = "date" | "datetime" | "year" | "time" | "month";
export type provideType = {
currentYear: Ref;
currentMonth: Ref;
currentDay: Ref;

View File

@ -1,6 +1,6 @@
export declare type DropdownTrigger = "click" | "hover" | "focus" | "contextMenu";
export declare type DropdownPlacementLegacy = "top-left" | "top-right" | "bottom-left" | "bottom-right" | "right-top" | "right-bottom" | "left-top" | "left-bottom";
export declare type DropdownPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end" | DropdownPlacementLegacy;
export type DropdownTrigger = "click" | "hover" | "focus" | "contextMenu";
export type DropdownPlacementLegacy = "top-left" | "top-right" | "bottom-left" | "bottom-right" | "right-top" | "right-bottom" | "left-top" | "left-bottom";
export type DropdownPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end" | DropdownPlacementLegacy;
export interface ElementScrollRect {
top: number;
bottom: number;

View File

@ -1 +1 @@
export declare type InputSize = "lg" | "md" | "sm" | "xs";
export type InputSize = "lg" | "md" | "sm" | "xs";

View File

@ -1 +1 @@
export declare type InputNumberSize = "lg" | "md" | "sm" | "xs";
export type InputNumberSize = "lg" | "md" | "sm" | "xs";

View File

@ -1 +1 @@
export declare type PanelShadow = "always" | "hover" | "never";
export type PanelShadow = "always" | "hover" | "never";

View File

@ -1 +1 @@
export declare type RadioSize = "lg" | "md" | "sm" | "xs";
export type RadioSize = "lg" | "md" | "sm" | "xs";

View File

@ -1,2 +1,2 @@
export declare type RippleType = "out" | "inset";
export declare type RippleTrigger = "always" | "mouseenter" | "click";
export type RippleType = "out" | "inset";
export type RippleTrigger = "always" | "mouseenter" | "click";

View File

@ -1 +1 @@
export declare type SelectSize = "lg" | "md" | "sm" | "xs";
export type SelectSize = "lg" | "md" | "sm" | "xs";

View File

@ -1 +1 @@
export declare type SwitchSize = "lg" | "md" | "sm" | "xs";
export type SwitchSize = "lg" | "md" | "sm" | "xs";

View File

@ -12,4 +12,4 @@ export interface TabsContext {
addItem: (id: string, data: TabData) => void;
removeItem: (id: string) => void;
}
export declare type TabPosition = "top" | "bottom" | "left" | "right";
export type TabPosition = "top" | "bottom" | "left" | "right";

View File

@ -1,4 +1,4 @@
export declare const TAG_COLORS: readonly ["primary", "normal", "warm", "danger"];
export declare type TagType = typeof TAG_COLORS[number];
export declare type TagShape = "square" | "round";
export declare type TagVariant = "dark" | "light" | "plain";
export type TagType = (typeof TAG_COLORS)[number];
export type TagShape = "square" | "round";
export type TagVariant = "dark" | "light" | "plain";

View File

@ -1 +1 @@
export declare type TagInputSize = "lg" | "md" | "sm" | "xs";
export type TagInputSize = "lg" | "md" | "sm" | "xs";

View File

@ -1,7 +1,7 @@
import { OriginalTreeData, StringOrNumber } from "./tree.type";
import { Nullable } from "../../types";
declare type CustomKey = string | number;
declare type CustomString = (() => string) | string;
type CustomKey = string | number;
type CustomString = (() => string) | string;
export interface TreeData {
id: CustomKey;
title: CustomString;

View File

@ -1,7 +1,7 @@
export declare type StringFn = () => string;
export declare type StringOrNumber = string | number;
export declare type KeysType = (number | string)[];
export declare type EditType = boolean | ("add" | "update" | "delete");
export type StringFn = () => string;
export type StringOrNumber = string | number;
export type KeysType = (number | string)[];
export type EditType = boolean | ("add" | "update" | "delete");
export interface OriginalTreeData {
title: StringFn | string;
id: StringOrNumber;
@ -31,5 +31,5 @@ export interface TreeEmits {
(e: "update:expandKeys", keys: KeysType): void;
(e: "node-click", node: OriginalTreeData, event: Event): void;
}
export declare type CustomKey = string | number;
export declare type CustomString = (() => string) | string;
export type CustomKey = string | number;
export type CustomString = (() => string) | string;

View File

@ -1 +1 @@
export declare type TreeSelectSize = "lg" | "md" | "sm" | "xs";
export type TreeSelectSize = "lg" | "md" | "sm" | "xs";

View File

@ -1,17 +1,17 @@
import type { App, DefineComponent, Ref } from "vue";
export declare type StringObject = Record<string, unknown>;
export declare type UnknownObject = Record<string | number, unknown>;
export declare type UnknownFunction = (...arg: unknown[]) => unknown;
export declare type IDefineComponent<Props = UnknownObject> = DefineComponent<Props> & {
export type StringObject = Record<string, unknown>;
export type UnknownObject = Record<string | number, unknown>;
export type UnknownFunction = (...arg: unknown[]) => unknown;
export type IDefineComponent<Props = UnknownObject> = DefineComponent<Props> & {
install: (app: App, options?: InstallOptions) => void;
};
export interface InstallOptions extends StringObject {
}
export declare type Nullable<T> = T | null;
export declare type MaybeRef<T> = Ref<T> | T;
export declare type Recordable = Record<string, any>;
export declare type Number = number;
export declare type String = string;
export declare type Boolean = boolean;
export declare type NumberOrString = number | string;
export declare type BooleanOrString = boolean | string;
export type Nullable<T> = T | null;
export type MaybeRef<T> = Ref<T> | T;
export type Recordable = Record<string, any>;
export type Number = number;
export type String = string;
export type Boolean = boolean;
export type NumberOrString = number | string;
export type BooleanOrString = boolean | string;

View File

@ -1,4 +1,4 @@
export declare type SelectValueType = string | string[] | number | number[] | null;
export type SelectValueType = string | string[] | number | number[] | null;
export interface SelectItem {
value?: SelectValueType;
label?: null | string | string[];

View File

@ -1,3 +1,3 @@
import { Plugin } from "vue";
export declare type WithInstallType<T> = T & Plugin;
export type WithInstallType<T> = T & Plugin;
export declare const withInstall: <T>(comp: T) => T & Plugin;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -10,27 +10,28 @@
"build": "vite build"
},
"dependencies": {
"vue-router": "^4.0.15",
"vue-i18n": "^9.1.10",
"@layui/layui-doc": "file:",
"@vueuse/core": "^8.7.3",
"axios": "^0.27.2",
"pinia": "^2.0.14",
"pinia-plugin-persist": "^1.0.0",
"axios": "^0.27.2"
"vue-i18n": "^9.1.10",
"vue-router": "^4.0.15"
},
"devDependencies": {
"@stackblitz/sdk": "^1.8.0",
"@types/markdown-it": "^12.2.3",
"@types/markdown-it-container": "^2.0.4",
"@types/prettier": "^2.4.4",
"@stackblitz/sdk": "^1.8.0",
"escape-html": "^1.0.3",
"fflate": "^0.7.3",
"markdown-it-container": "^3.0.0",
"prismjs": "^1.28.0",
"rimraf": "^3.0.2",
"rollup": "^2.70.1",
"typescript": "^4.6.3",
"vite-plugin-md": "^0.13.1",
"vite": "2.9.8",
"fflate": "^0.7.3"
"vite-plugin-md": "^0.13.1"
},
"files": [
"types",

View File

@ -10,12 +10,13 @@
"build": "vite build"
},
"dependencies": {
"vue-router": "^4.0.15",
"vue-i18n": "^9.1.10",
"@layui/layer-doc": "file:",
"@vueuse/core": "^8.7.3",
"axios": "^0.27.2",
"pinia": "^2.0.14",
"pinia-plugin-persist": "^1.0.0",
"axios": "^0.27.2"
"vue-i18n": "^9.1.10",
"vue-router": "^4.0.15"
},
"devDependencies": {
"@types/markdown-it": "^12.2.3",
@ -27,8 +28,8 @@
"rimraf": "^3.0.2",
"rollup": "^2.70.1",
"typescript": "^4.6.3",
"vite-plugin-md": "^0.13.1",
"vite": "2.9.8"
"vite": "2.9.8",
"vite-plugin-md": "^0.13.1"
},
"files": [
"lib",

View File

@ -34,5 +34,8 @@
"current node",
"last 2 versions and > 2%",
"ie > 10"
]
],
"dependencies": {
"@layui/icons-vue": "file:"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -34,5 +34,8 @@
],
"devDependencies": {
"@babel/plugin-transform-runtime": "^7.18.5"
},
"dependencies": {
"@layui/layer-vue": "file:"
}
}

View File

@ -40,7 +40,7 @@
}
.layui-layer-border {
border: 1px solid #eeeeee;
border: 1px solid #666;
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
@ -645,7 +645,7 @@
padding: 0 100px 0 20px;
height: 50px;
line-height: 50px;
border-bottom: 1px solid #f0f0f0;
border-bottom: 1px solid #666;
font-size: 14px;
color: #333;
overflow: hidden;

View File

@ -1,3 +1,3 @@
export declare type StringObject = Record<string, unknown>;
export type StringObject = Record<string, unknown>;
export interface InstallOptions extends StringObject {
}

View File

@ -4,7 +4,7 @@ export declare function calculateArea(type: any, area: any, offset: any): any[];
export declare function calculateBaseArea(area: any): any[];
export declare function calculateDrawerArea(offset: any, drawerArea?: string[] | string): string[];
export declare function calculateOffset(offset: any, area: any, type: any): any[];
export declare function calculateType(modalType: number | string): 1 | 0 | 2 | 3 | 4 | 5 | 6;
export declare function calculateType(modalType: number | string): 0 | 1 | 2 | 3 | 4 | 5 | 6;
export declare function calculateContent(title: any, height: any, btn: any, type: any, isMessage?: boolean): string | undefined;
export declare function maxArea(): {
w: string;

View File

@ -119,7 +119,10 @@ importers:
version: 1.1.0
'@layui/layer-vue':
specifier: git+https://git.theluyuan.com/luyuan/layui-layer.git
version: git+https://git.theluyuan.com/luyuan/layui-layer.git#8a99652c70822bf9c2df0925d476e432571abb94
version: git+https://git.theluyuan.com/luyuan/layui-layer.git#9a33139a88a82285754ff8005675378713a2e524
'@layui/layui-vue':
specifier: 'file:'
version: 'link:'
'@umijs/ssr-darkreader':
specifier: ^4.9.45
version: 4.9.45
@ -138,6 +141,9 @@ importers:
evtd:
specifier: ^0.2.3
version: 0.2.3
js-image-compressor:
specifier: ^2.0.0
version: 2.0.0
vue-i18n:
specifier: ^9.1.10
version: 9.1.10(vue@3.2.40)
@ -147,6 +153,9 @@ importers:
package/document-component:
dependencies:
'@layui/layui-doc':
specifier: 'file:'
version: 'link:'
'@vueuse/core':
specifier: ^8.7.3
version: 8.7.3(vue@3.2.40)
@ -208,6 +217,9 @@ importers:
package/document-layer:
dependencies:
'@layui/layer-doc':
specifier: 'file:'
version: 'link:'
'@vueuse/core':
specifier: ^8.7.3
version: 8.7.3(vue@3.2.40)
@ -261,9 +273,17 @@ importers:
specifier: ^0.13.1
version: 0.13.1(vite@2.9.8(less@4.2.0))
package/icons: {}
package/icons:
dependencies:
'@layui/icons-vue':
specifier: 'file:'
version: 'link:'
package/layer:
dependencies:
'@layui/layer-vue':
specifier: 'file:'
version: 'link:'
devDependencies:
'@babel/plugin-transform-runtime':
specifier: ^7.18.5
@ -1079,8 +1099,8 @@ packages:
'@layui/icons-vue@1.1.0':
resolution: {integrity: sha512-ndc53qyUZSslUkO8ZHeBMh6i4gSTtAUqsPpKQZWML0JH6E/X3LIySe6LATeqEMmD7wWSnHJ+WBVGO4ij85Dk1g==}
'@layui/layer-vue@git+https://git.theluyuan.com/luyuan/layui-layer.git#8a99652c70822bf9c2df0925d476e432571abb94':
resolution: {commit: 8a99652c70822bf9c2df0925d476e432571abb94, repo: https://git.theluyuan.com/luyuan/layui-layer.git, type: git}
'@layui/layer-vue@git+https://git.theluyuan.com/luyuan/layui-layer.git#9a33139a88a82285754ff8005675378713a2e524':
resolution: {commit: 9a33139a88a82285754ff8005675378713a2e524, repo: https://git.theluyuan.com/luyuan/layui-layer.git, type: git}
version: 1.4.7
'@nodelib/fs.scandir@2.1.5':
@ -2496,6 +2516,9 @@ packages:
resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
hasBin: true
js-image-compressor@2.0.0:
resolution: {integrity: sha512-HUhGwVxwLsxXjP7ztQ1CF2iE6X1YRW1lcalJZYfNymPvuO4kK1bbLVeumVDZs6OPDUK1c0BPwhVH/SsRso8Jbw==}
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@ -4531,7 +4554,7 @@ snapshots:
'@layui/icons-vue@1.1.0': {}
'@layui/layer-vue@git+https://git.theluyuan.com/luyuan/layui-layer.git#8a99652c70822bf9c2df0925d476e432571abb94': {}
'@layui/layer-vue@git+https://git.theluyuan.com/luyuan/layui-layer.git#9a33139a88a82285754ff8005675378713a2e524': {}
'@nodelib/fs.scandir@2.1.5':
dependencies:
@ -5981,6 +6004,8 @@ snapshots:
jiti@1.21.6:
optional: true
js-image-compressor@2.0.0: {}
js-tokens@4.0.0: {}
js-yaml@3.14.1: