@qy_better_lib/core 0.0.7 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(r,f){typeof exports=="object"&&typeof module<"u"?f(exports):typeof define=="function"&&define.amd?define(["exports"],f):(r=typeof globalThis<"u"?globalThis:r||self,f(r["@qy_better_lib/core"]={}))})(this,function(r){"use strict";function f(){return Math.floor(Math.random()*1e4)}function w(e){return Math.floor(Math.random()*Math.floor(e))}function C(){const e=p;return`${e()}${e()}-${e()}-${e()}-${e()}-${e()}${e()}${e()}`}function p(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}function $(e){return e===void 0}function O(e){return Object.prototype.toString.call(e)==="[object Array]"}function g(e){return typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"}function j(e){return Object.prototype.toString.call(e)==="[object Date]"}function A(e){return!e&&e!==0||O(e)&&e.length===0||g(e)&&!Object.keys(e).length}function k(e){return typeof Element>"u"?!1:e instanceof Element}const N=typeof window<"u",m=e=>typeof e=="number",v=e=>typeof e=="string",M=e=>v(e)?!Number.isNaN(Number(e)):!1;function L(e){return/^1[3-9]\d{9}$/.test(e)}function R(e){return/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e)}function B(e){return/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3}|0)$/.test(e)}function P(e,t="key",n="children"){const o={},i=(c,l)=>{for(let u=0;u<c.length;u++){const a=c[u],d=a[t];if(!o[d]){o[d]=a,l&&(o[d].parent=o[l]);const y=a[n];y&&y.length>0&&i(y,a[t])}}};return i(e),o}function _(e){return e?Object.prototype.toString.call(1)!=="[object Number]"?`${e}`:`${e}`.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"):"0"}function H(e,t){return m(e)?Number(t?Number(e).toFixed(t):e):Number.NaN}function J(e,t){return m(e)?Number(e.toFixed(t)):Number.NaN}function U(){const e=localStorage.getItem("token");if(!e)return;const t=JSON.parse(e);if(t!==null)if(t.expirse!=null&&t.expirse<new Date().getTime())localStorage.removeItem("token");else return t.value;return null}function q(e,t){!t&&(t=7*24*60*60*1e3)||(t=t*1e3);const n={value:e,expirse:new Date().getTime()+t};localStorage.setItem("token",JSON.stringify(n))}function V(){localStorage.removeItem("token")}function Y(e,t,n="local"){const o=n=="local"?localStorage:sessionStorage;t!=null&&o.setItem(e,JSON.stringify(t))}function z(e,t="local"){let o=(t=="local"?localStorage:sessionStorage).getItem(e);return o&&JSON.parse(o||"")}function G(e,t="local"){(t=="local"?localStorage:sessionStorage).removeItem(e)}function K(e="local"){(e=="local"?localStorage:sessionStorage).clear()}function E(e){const t=Object.prototype.toString;if(!e||typeof e!="object")return e;if(e.nodeType&&"cloneNode"in e)return e.cloneNode(!0);if(t.call(e)==="[object Date]")return new Date(e.getTime());if(t.call(e)==="[object RegExp]"){const o=[];return e.global&&o.push("g"),e.multiline&&o.push("m"),e.ignoreCase&&o.push("i"),new RegExp(e.source,o.join(""))}if(t.call(e)==="[object FormData]"){const o=new FormData;for(const[i,c]of e.entries())o.append(i,c);return o}const n=Array.isArray(e)?[]:e.constructor?new e.constructor:{};for(const o in e)n[o]=E(e[o]);return n}function I(...e){let t=e.length,n=e[0];g(n)||(n={});for(let o=1;o<t;o++){let i=e[o];if(g(i))for(let c in i)c==="__proto__"||n===i[c]||(g(i[c])?n[c]=I(n[c],i[c]):n[c]=i[c])}return n}function S(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return console.log("对象比较-a.constructor",e.constructor,"对象比较-b.constructor",t.constructor),!1;let n,o,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return console.log("对象比较-a.length",e.length,"对象比较-b.length",t.length),!1;for(o=n;o--!==0;)if(!S(e[o],t[o]))return console.log("对象比较-a[i]",e[o],"对象比较-b[i]",t[o]),!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()!==t.valueOf()&&console.log("对象比较-a.valueOf()",e.valueOf(),"对象比较-b.valueOf()",e.valueOf()),e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString()&&console.log("对象比较-a.toString()",e.toString(),"对象比较-b.toString()",t.toString()),e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return console.log("对象比较-Object.keys(a).length",Object.keys(e).length,"对象比较-Object.keys(b).length",Object.keys(t).length),!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[o]))return console.log("对象比较-keys[i]",i[o],"对象比较-b",t),!1;for(o=n;o--!==0;){const c=i[o];if(!S(e[c],t[c]))return console.log("对象比较-a[key]",e[c],"对象比较-b[key]",t[c]),!1}return!0}return e!==e&&t!==t||console.log("对象比较-a",e,"对象比较-b",t),e!==e&&t!==t}function T(e,t){return!e||e.tagName==="BODY"?null:e.classList.contains(t)?e:T(e.parentNode,t)}function b({path:e,name:t}){const n=document.createElement("a");n.href=e,n.target="_blank",t&&n.setAttribute("download",t),document.body.appendChild(n),n.click(),document.body.removeChild(n)}function Q(e){e.forEach(t=>{b({path:t.url,name:t.name})})}async function W(e){if(!e)return;const t=new FileReader;return t.readAsDataURL(e),new Promise((n,o)=>{t.onload=i=>{var c;return n((c=i.target)==null?void 0:c.result)},t.onerror=i=>o(void 0)})}const s=new Map;let D;N&&(document.addEventListener("mousedown",e=>D=e),document.addEventListener("mouseup",e=>{for(const t of s.values())for(const{documentHandler:n}of t)n(e,D)}));function F(e,t){let n=[];return Array.isArray(t.arg)?n=t.arg:k(t.arg)&&n.push(t.arg),function(o,i){const c=t.instance.popperRef,l=o.target,u=i==null?void 0:i.target,a=!t||!t.instance,d=!l||!u,y=e.contains(l)||e.contains(u),Z=e===l,x=n.length&&n.some(h=>h==null?void 0:h.contains(l))||n.length&&n.includes(u),ee=c&&(c.contains(l)||c.contains(u));a||d||y||Z||x||ee||t.value(o,i)}}const X={beforeMount(e,t){var n;s.has(e)||s.set(e,[]),(n=s.get(e))==null||n.push({documentHandler:F(e,t),bindingFn:t.value})},updated(e,t){s.has(e)||s.set(e,[]);const n=s.get(e),o=n==null?void 0:n.findIndex(c=>c.bindingFn===t.oldValue),i={documentHandler:F(e,t),bindingFn:t.value};o&&o>=0?n==null||n.splice(o,1,i):n==null||n.push(i)},unmounted(e){s.delete(e)}};r.ClickOutside=X,r.clearStorage=K,r.deepAssign=I,r.deepClone=E,r.deepEqual=S,r.downLoadFile=b,r.downLoadFiles=Q,r.generateId=f,r.generateString=p,r.getParentByClass=T,r.getRandomInt=w,r.getStorage=z,r.getToken=U,r.guiID=C,r.isArray=O,r.isClient=N,r.isDate=j,r.isElement=k,r.isEmpty=A,r.isIp=R,r.isMobile=L,r.isNumber=m,r.isObject=g,r.isPort=B,r.isString=v,r.isStringNumber=M,r.isUndefined=$,r.removeStorage=G,r.removeToken=V,r.setStorage=Y,r.setToken=q,r.thousandSeparator=_,r.toBase64=W,r.toFixed=J,r.toNumber=H,r.treeFlat=P,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
1
+ (function(o,d){typeof exports=="object"&&typeof module<"u"?d(exports):typeof define=="function"&&define.amd?define(["exports"],d):(o=typeof globalThis<"u"?globalThis:o||self,d(o["@qy_better_lib/core"]={}))})(this,(function(o){"use strict";function d(){return Math.floor(Math.random()*1e4)}function M(e){return Math.floor(Math.random()*Math.floor(e))}function D(){const e=p;return`${e()}${e()}-${e()}-${e()}-${e()}-${e()}${e()}${e()}`}function p(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}function F(e){return e===void 0}function O(e){return Object.prototype.toString.call(e)==="[object Array]"}function m(e){return typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"}function w(e){return Object.prototype.toString.call(e)==="[object Date]"}function C(e){return!e&&e!==0||O(e)&&e.length===0||m(e)&&!Object.keys(e).length}function b(e){return typeof Element>"u"?!1:e instanceof Element}const k=typeof window<"u",h=e=>typeof e=="number",N=e=>typeof e=="string",j=e=>N(e)?!Number.isNaN(Number(e)):!1;function A(e){return/^1[3-9]\d{9}$/.test(e)}function B(e){return/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e)}function L(e){return/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3}|0)$/.test(e)}function R(e,t="key",n="children"){const r={},i=(s,c)=>{for(let u=0;u<s.length;u++){const a=s[u],f=a[t];if(!r[f]){r[f]=a,c&&(r[f].parent=r[c]);const g=a[n];g&&g.length>0&&i(g,a[t])}}};return i(e),r}function P(e){return e?Object.prototype.toString.call(1)!=="[object Number]"?`${e}`:`${e}`.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"):"0"}function H(e,t){return h(e)?Number(t?Number(e).toFixed(t):e):Number.NaN}function J(e,t){return h(e)?Number(e.toFixed(t)):Number.NaN}function U(){const e=localStorage.getItem("token");if(!e)return;const t=JSON.parse(e);if(t!==null)if(t.expirse!=null&&t.expirse<new Date().getTime())localStorage.removeItem("token");else return t.value;return null}function W(e,t){!t&&(t=10080*60*1e3)||(t=t*1e3);const n={value:e,expirse:new Date().getTime()+t};localStorage.setItem("token",JSON.stringify(n))}function q(){localStorage.removeItem("token")}function z(e,t,n="local"){const r=n=="local"?localStorage:sessionStorage;t!=null&&r.setItem(e,JSON.stringify(t))}function V(e,t="local"){let r=(t=="local"?localStorage:sessionStorage).getItem(e);return r&&JSON.parse(r||"")}function Y(e,t="local"){(t=="local"?localStorage:sessionStorage).removeItem(e)}function G(e="local"){(e=="local"?localStorage:sessionStorage).clear()}function v(e){const t=Object.prototype.toString;if(!e||typeof e!="object")return e;if(e.nodeType&&"cloneNode"in e)return e.cloneNode(!0);if(t.call(e)==="[object Date]")return new Date(e.getTime());if(t.call(e)==="[object RegExp]"){const r=[];return e.global&&r.push("g"),e.multiline&&r.push("m"),e.ignoreCase&&r.push("i"),new RegExp(e.source,r.join(""))}if(t.call(e)==="[object FormData]"){const r=new FormData;for(const[i,s]of e.entries())r.append(i,s);return r}const n=Array.isArray(e)?[]:e.constructor?new e.constructor:{};for(const r in e)n[r]=v(e[r]);return n}function I(...e){let t=e.length,n=e[0];m(n)||(n={});for(let r=1;r<t;r++){let i=e[r];if(m(i))for(let s in i)s==="__proto__"||n===i[s]||(m(i[s])?n[s]=I(n[s],i[s]):n[s]=i[s])}return n}function y(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return console.log("对象比较-a.constructor",e.constructor,"对象比较-b.constructor",t.constructor),!1;let n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return console.log("对象比较-a.length",e.length,"对象比较-b.length",t.length),!1;for(r=n;r--!==0;)if(!y(e[r],t[r]))return console.log("对象比较-a[i]",e[r],"对象比较-b[i]",t[r]),!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()!==t.valueOf()&&console.log("对象比较-a.valueOf()",e.valueOf(),"对象比较-b.valueOf()",e.valueOf()),e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString()&&console.log("对象比较-a.toString()",e.toString(),"对象比较-b.toString()",t.toString()),e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return console.log("对象比较-Object.keys(a).length",Object.keys(e).length,"对象比较-Object.keys(b).length",Object.keys(t).length),!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return console.log("对象比较-keys[i]",i[r],"对象比较-b",t),!1;for(r=n;r--!==0;){const s=i[r];if(!y(e[s],t[s]))return console.log("对象比较-a[key]",e[s],"对象比较-b[key]",t[s]),!1}return!0}return e!==e&&t!==t||console.log("对象比较-a",e,"对象比较-b",t),e!==e&&t!==t}function T(e,t){return!e||e.tagName==="BODY"?null:e.classList.contains(t)?e:T(e.parentNode,t)}function K(e,t=!0){setTimeout(()=>{const n=document.getElementById(e);n?.scrollTo({top:n.scrollHeight,behavior:t?"smooth":void 0})},300)}function _({path:e,name:t}){const n=document.createElement("a");n.href=e,n.target="_blank",t&&n.setAttribute("download",t),document.body.appendChild(n),n.click(),document.body.removeChild(n)}function Q(e){e.forEach(t=>{_({path:t.url,name:t.name})})}async function X(e){if(!e)return;const t=new FileReader;return t.readAsDataURL(e),new Promise((n,r)=>{t.onload=i=>n(i.target?.result),t.onerror=i=>r(void 0)})}function Z(e,t,n){n=Math.max(Math.min(Number(n),1),0);let r=parseInt(e.substring(1,3),16),i=parseInt(e.substring(3,5),16),s=parseInt(e.substring(5,7),16),c=parseInt(t.substring(1,3),16),u=parseInt(t.substring(3,5),16),a=parseInt(t.substring(5,7),16),f=Math.round(r*(1-n)+c*n),g=Math.round(i*(1-n)+u*n),S=Math.round(s*(1-n)+a*n);return`#${("0"+(f||0).toString(16)).slice(-2)}${("0"+(g||0).toString(16)).slice(-2)}${("0"+(S||0).toString(16)).slice(-2)}`}function x(e){return`${Math.round(parseInt(e.substring(1,3),16))},${Math.round(parseInt(e.substring(3,5),16))},${Math.round(parseInt(e.substring(5,7),16))}`}function ee(e,t=200){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}function te(e,t=200){let n=0;return function(...r){const i=Date.now();i-n>=t&&(e.apply(this,r),n=i)}}function ne(e,t=1920){let n=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;if(!n)return e;let r=n/t;return Number((e*r).toFixed(3))}function re(e,t,n){return{type:"linear",x:0,y:0,x2:e==="v"?0:1,y2:e==="v"?1:0,colorStops:[{offset:0,color:t},{offset:1,color:n}]}}const l=new Map;let $;k&&(document.addEventListener("mousedown",e=>$=e),document.addEventListener("mouseup",e=>{for(const t of l.values())for(const{documentHandler:n}of t)n(e,$)}));function E(e,t){let n=[];return Array.isArray(t.arg)?n=t.arg:b(t.arg)&&n.push(t.arg),function(r,i){const s=t.instance.popperRef,c=r.target,u=i?.target,a=!t||!t.instance,f=!c||!u,g=e.contains(c)||e.contains(u),S=e===c,ie=n.length&&n.some(ce=>ce?.contains(c))||n.length&&n.includes(u),se=s&&(s.contains(c)||s.contains(u));a||f||g||S||ie||se||t.value(r,i)}}const oe={beforeMount(e,t){l.has(e)||l.set(e,[]),l.get(e)?.push({documentHandler:E(e,t),bindingFn:t.value})},updated(e,t){l.has(e)||l.set(e,[]);const n=l.get(e),r=n?.findIndex(s=>s.bindingFn===t.oldValue),i={documentHandler:E(e,t),bindingFn:t.value};r&&r>=0?n?.splice(r,1,i):n?.push(i)},unmounted(e){l.delete(e)}};o.ClickOutside=oe,o.auto_chart_size=ne,o.clearStorage=G,o.debounce=ee,o.deepAssign=I,o.deepClone=v,o.deepEqual=y,o.downLoadFile=_,o.downLoadFiles=Q,o.generateId=d,o.generateString=p,o.getParentByClass=T,o.getRandomInt=M,o.getStorage=V,o.getToken=U,o.get_chart_gradient_color=re,o.get_rgb=x,o.guiID=D,o.isArray=O,o.isClient=k,o.isDate=w,o.isElement=b,o.isEmpty=C,o.isIp=B,o.isMobile=A,o.isNumber=h,o.isObject=m,o.isPort=L,o.isString=N,o.isStringNumber=j,o.isUndefined=F,o.mix=Z,o.removeStorage=Y,o.removeToken=q,o.scroll_footer=K,o.setStorage=z,o.setToken=W,o.thousandSeparator=P,o.throttle=te,o.toBase64=X,o.toFixed=J,o.toNumber=H,o.treeFlat=R,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
@@ -1,4 +1,3 @@
1
1
  import { ObjectDirective } from 'vue';
2
-
3
2
  declare const ClickOutside: ObjectDirective;
4
3
  export default ClickOutside;
@@ -1,40 +1,39 @@
1
- import { isClient as H, isElement as m } from "../utils/is.js";
1
+ import { isClient as x, isElement as E } from "../utils/is.js";
2
2
  const s = /* @__PURE__ */ new Map();
3
- let f;
4
- H && (document.addEventListener("mousedown", (e) => f = e), document.addEventListener("mouseup", (e) => {
5
- for (const n of s.values())
6
- for (const { documentHandler: t } of n)
7
- t(e, f);
3
+ let d;
4
+ x && (document.addEventListener("mousedown", (e) => d = e), document.addEventListener("mouseup", (e) => {
5
+ for (const t of s.values())
6
+ for (const { documentHandler: n } of t)
7
+ n(e, d);
8
8
  }));
9
- function d(e, n) {
10
- let t = [];
11
- return Array.isArray(n.arg) ? t = n.arg : m(n.arg) && t.push(n.arg), function(a, o) {
12
- const c = n.instance.popperRef, r = a.target, u = o == null ? void 0 : o.target, l = !n || !n.instance, p = !r || !u, g = e.contains(r) || e.contains(u), v = e === r, x = t.length && t.some((i) => i == null ? void 0 : i.contains(r)) || t.length && t.includes(u), E = c && (c.contains(r) || c.contains(u));
13
- l || p || g || v || x || E || n.value(a, o);
9
+ function i(e, t) {
10
+ let n = [];
11
+ return Array.isArray(t.arg) ? n = t.arg : E(t.arg) && n.push(t.arg), function(o, a) {
12
+ const r = t.instance.popperRef, c = o.target, u = a?.target, l = !t || !t.instance, f = !c || !u, p = e.contains(c) || e.contains(u), m = e === c, h = n.length && n.some((v) => v?.contains(c)) || n.length && n.includes(u), g = r && (r.contains(c) || r.contains(u));
13
+ l || f || p || m || h || g || t.value(o, a);
14
14
  };
15
15
  }
16
- const y = {
17
- beforeMount(e, n) {
18
- var t;
19
- s.has(e) || s.set(e, []), (t = s.get(e)) == null || t.push({
20
- documentHandler: d(e, n),
21
- bindingFn: n.value
16
+ const C = {
17
+ beforeMount(e, t) {
18
+ s.has(e) || s.set(e, []), s.get(e)?.push({
19
+ documentHandler: i(e, t),
20
+ bindingFn: t.value
22
21
  });
23
22
  },
24
- updated(e, n) {
23
+ updated(e, t) {
25
24
  s.has(e) || s.set(e, []);
26
- const t = s.get(e), a = t == null ? void 0 : t.findIndex(
27
- (c) => c.bindingFn === n.oldValue
28
- ), o = {
29
- documentHandler: d(e, n),
30
- bindingFn: n.value
25
+ const n = s.get(e), o = n?.findIndex(
26
+ (r) => r.bindingFn === t.oldValue
27
+ ), a = {
28
+ documentHandler: i(e, t),
29
+ bindingFn: t.value
31
30
  };
32
- a && a >= 0 ? t == null || t.splice(a, 1, o) : t == null || t.push(o);
31
+ o && o >= 0 ? n?.splice(o, 1, a) : n?.push(a);
33
32
  },
34
33
  unmounted(e) {
35
34
  s.delete(e);
36
35
  }
37
36
  };
38
37
  export {
39
- y as default
38
+ C as default
40
39
  };
@@ -1,3 +1,2 @@
1
1
  import { default as ClickOutside } from './click-outside';
2
-
3
2
  export { ClickOutside };
package/lib/index.js CHANGED
@@ -1,47 +1,57 @@
1
- import { generateId as o, generateString as r, getRandomInt as i, guiID as s } from "./utils/random.js";
2
- import { isArray as n, isClient as m, isDate as d, isElement as g, isEmpty as p, isIp as l, isMobile as f, isNumber as x, isObject as u, isPort as S, isString as b, isStringNumber as k, isUndefined as C } from "./utils/is.js";
3
- import { treeFlat as I } from "./utils/tree.js";
4
- import { thousandSeparator as y, toFixed as E, toNumber as N } from "./utils/number.js";
5
- import { clearStorage as v, getStorage as w, getToken as A, removeStorage as B, removeToken as D, setStorage as L, setToken as O } from "./utils/storage.js";
6
- import { deepAssign as h, deepClone as j, deepEqual as q } from "./utils/object.js";
7
- import { getParentByClass as R } from "./utils/dom.js";
8
- import { downLoadFile as z, downLoadFiles as G, toBase64 as H } from "./utils/file.js";
9
- import { default as K } from "./directives/click-outside.js";
1
+ import { generateId as r, generateString as t, getRandomInt as i, guiID as a } from "./utils/random.js";
2
+ import { isArray as n, isClient as m, isDate as g, isElement as p, isEmpty as d, isIp as l, isMobile as f, isNumber as x, isObject as u, isPort as c, isString as S, isStringNumber as b, isUndefined as _ } from "./utils/is.js";
3
+ import { treeFlat as k } from "./utils/tree.js";
4
+ import { thousandSeparator as F, toFixed as I, toNumber as y } from "./utils/number.js";
5
+ import { clearStorage as N, getStorage as T, getToken as v, removeStorage as w, removeToken as A, setStorage as B, setToken as D } from "./utils/storage.js";
6
+ import { deepAssign as O, deepClone as P, deepEqual as j } from "./utils/object.js";
7
+ import { getParentByClass as z, scroll_footer as M } from "./utils/dom.js";
8
+ import { downLoadFile as U, downLoadFiles as G, toBase64 as H } from "./utils/file.js";
9
+ import { get_rgb as K, mix as Q } from "./utils/color.js";
10
+ import { debounce as W, throttle as X } from "./utils/share.js";
11
+ import { auto_chart_size as Z, get_chart_gradient_color as $ } from "./utils/echarts.js";
12
+ import { default as oe } from "./directives/click-outside.js";
10
13
  export {
11
- K as ClickOutside,
12
- v as clearStorage,
13
- h as deepAssign,
14
- j as deepClone,
15
- q as deepEqual,
16
- z as downLoadFile,
14
+ oe as ClickOutside,
15
+ Z as auto_chart_size,
16
+ N as clearStorage,
17
+ W as debounce,
18
+ O as deepAssign,
19
+ P as deepClone,
20
+ j as deepEqual,
21
+ U as downLoadFile,
17
22
  G as downLoadFiles,
18
- o as generateId,
19
- r as generateString,
20
- R as getParentByClass,
23
+ r as generateId,
24
+ t as generateString,
25
+ z as getParentByClass,
21
26
  i as getRandomInt,
22
- w as getStorage,
23
- A as getToken,
24
- s as guiID,
27
+ T as getStorage,
28
+ v as getToken,
29
+ $ as get_chart_gradient_color,
30
+ K as get_rgb,
31
+ a as guiID,
25
32
  n as isArray,
26
33
  m as isClient,
27
- d as isDate,
28
- g as isElement,
29
- p as isEmpty,
34
+ g as isDate,
35
+ p as isElement,
36
+ d as isEmpty,
30
37
  l as isIp,
31
38
  f as isMobile,
32
39
  x as isNumber,
33
40
  u as isObject,
34
- S as isPort,
35
- b as isString,
36
- k as isStringNumber,
37
- C as isUndefined,
38
- B as removeStorage,
39
- D as removeToken,
40
- L as setStorage,
41
- O as setToken,
42
- y as thousandSeparator,
41
+ c as isPort,
42
+ S as isString,
43
+ b as isStringNumber,
44
+ _ as isUndefined,
45
+ Q as mix,
46
+ w as removeStorage,
47
+ A as removeToken,
48
+ M as scroll_footer,
49
+ B as setStorage,
50
+ D as setToken,
51
+ F as thousandSeparator,
52
+ X as throttle,
43
53
  H as toBase64,
44
- E as toFixed,
45
- N as toNumber,
46
- I as treeFlat
54
+ I as toFixed,
55
+ y as toNumber,
56
+ k as treeFlat
47
57
  };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 过渡颜色生成
3
+ * @param color1
4
+ * @param color2
5
+ * @param weight
6
+ * @returns
7
+ */
8
+ export declare function mix(color1: string, color2: string, weight: number): string;
9
+ /**HEX转成RGB */
10
+ export declare function get_rgb(color: string): string;
@@ -0,0 +1,14 @@
1
+ function M(n, r, t) {
2
+ t = Math.max(Math.min(Number(t), 1), 0);
3
+ let s = parseInt(n.substring(1, 3), 16), u = parseInt(n.substring(3, 5), 16), e = parseInt(n.substring(5, 7), 16), a = parseInt(r.substring(1, 3), 16), b = parseInt(r.substring(3, 5), 16), i = parseInt(r.substring(5, 7), 16), g = Math.round(s * (1 - t) + a * t), p = Math.round(u * (1 - t) + b * t), I = Math.round(e * (1 - t) + i * t);
4
+ return `#${("0" + (g || 0).toString(16)).slice(-2)}${("0" + (p || 0).toString(16)).slice(-2)}${("0" + (I || 0).toString(16)).slice(-2)}`;
5
+ }
6
+ function d(n) {
7
+ return `${Math.round(parseInt(n.substring(1, 3), 16))},${Math.round(
8
+ parseInt(n.substring(3, 5), 16)
9
+ )},${Math.round(parseInt(n.substring(5, 7), 16))}`;
10
+ }
11
+ export {
12
+ d as get_rgb,
13
+ M as mix
14
+ };
@@ -0,0 +1,11 @@
1
+ export {};
2
+ /**
3
+ * 根据当前时间获取指定类型的时间范围
4
+ *
5
+ * 基于dayjs实现,格式必须满足dayjs格式
6
+ * @param type 范围类型 'd' | 'w' | 'M' | 'Q' | 'y' | 'h' | 'm' | 's'
7
+ * @param increment 增量,默认-1
8
+ * @param format 日期时间显示格式
9
+ * @param span 是否跨越范围类型,如当日时间是否过0点,false的话起始时间为0点
10
+ * @return [start-开始日期时间,end-截止日期时间]
11
+ */
@@ -5,3 +5,8 @@
5
5
  * @return dom | null
6
6
  */
7
7
  export declare function getParentByClass(dom: any, className: string): any;
8
+ /**
9
+ * 滚动到底部
10
+ * @param behavior 开启滚动动画
11
+ */
12
+ export declare function scroll_footer(dom_id: string, behavior?: boolean): void;
package/lib/utils/dom.js CHANGED
@@ -1,6 +1,16 @@
1
- function r(t, n) {
2
- return !t || t.tagName === "BODY" ? null : t.classList.contains(n) ? t : r(t.parentNode, n);
1
+ function o(t, e) {
2
+ return !t || t.tagName === "BODY" ? null : t.classList.contains(e) ? t : o(t.parentNode, e);
3
+ }
4
+ function r(t, e = !0) {
5
+ setTimeout(() => {
6
+ const n = document.getElementById(t);
7
+ n?.scrollTo({
8
+ top: n.scrollHeight,
9
+ behavior: e ? "smooth" : void 0
10
+ });
11
+ }, 300);
3
12
  }
4
13
  export {
5
- r as getParentByClass
14
+ o as getParentByClass,
15
+ r as scroll_footer
6
16
  };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Echarts图表字体、间距自适应
3
+ * @param size
4
+ * @param defalteWidth
5
+ * @returns
6
+ */
7
+ export declare function auto_chart_size(size: number, defalteWidth?: number): number;
8
+ /**
9
+ * Echarts线性渐变颜色
10
+ */
11
+ export declare function get_chart_gradient_color(type: 'v' | 'h', start_color: string, end_color: string): {
12
+ type: string;
13
+ x: number;
14
+ y: number;
15
+ x2: number;
16
+ y2: number;
17
+ colorStops: {
18
+ offset: number;
19
+ color: string;
20
+ }[];
21
+ };
@@ -0,0 +1,31 @@
1
+ function r(t, o = 1920) {
2
+ let e = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
3
+ if (!e) return t;
4
+ let n = e / o;
5
+ return Number((t * n).toFixed(3));
6
+ }
7
+ function c(t, o, e) {
8
+ return {
9
+ type: "linear",
10
+ x: 0,
11
+ y: 0,
12
+ x2: t === "v" ? 0 : 1,
13
+ y2: t === "v" ? 1 : 0,
14
+ colorStops: [
15
+ {
16
+ offset: 0,
17
+ color: o
18
+ // 0% 处的颜色
19
+ },
20
+ {
21
+ offset: 1,
22
+ color: e
23
+ // 100% 处的颜色
24
+ }
25
+ ]
26
+ };
27
+ }
28
+ export {
29
+ r as auto_chart_size,
30
+ c as get_chart_gradient_color
31
+ };
package/lib/utils/file.js CHANGED
@@ -1,24 +1,21 @@
1
- function d({ path: n, name: e }) {
1
+ function a({ path: n, name: e }) {
2
2
  const r = document.createElement("a");
3
3
  r.href = n, r.target = "_blank", e && r.setAttribute("download", e), document.body.appendChild(r), r.click(), document.body.removeChild(r);
4
4
  }
5
- function c(n) {
5
+ function d(n) {
6
6
  n.forEach((e) => {
7
- d({ path: e.url, name: e.name });
7
+ a({ path: e.url, name: e.name });
8
8
  });
9
9
  }
10
- async function i(n) {
10
+ async function c(n) {
11
11
  if (!n) return;
12
12
  const e = new FileReader();
13
- return e.readAsDataURL(n), new Promise((r, a) => {
14
- e.onload = (o) => {
15
- var t;
16
- return r((t = o.target) == null ? void 0 : t.result);
17
- }, e.onerror = (o) => a(void 0);
13
+ return e.readAsDataURL(n), new Promise((r, t) => {
14
+ e.onload = (o) => r(o.target?.result), e.onerror = (o) => t(void 0);
18
15
  });
19
16
  }
20
17
  export {
21
- d as downLoadFile,
22
- c as downLoadFiles,
23
- i as toBase64
18
+ a as downLoadFile,
19
+ d as downLoadFiles,
20
+ c as toBase64
24
21
  };
@@ -6,3 +6,6 @@ export * from './storage';
6
6
  export * from './object';
7
7
  export * from './dom';
8
8
  export * from './file';
9
+ export * from './color';
10
+ export * from './share';
11
+ export * from './echarts';
package/lib/utils/is.d.ts CHANGED
@@ -39,9 +39,9 @@ export declare function isElement(e: unknown): e is Element;
39
39
  */
40
40
  export declare const isClient: boolean;
41
41
  /**是否未数值 */
42
- export declare const isNumber: (val: any) => boolean;
42
+ export declare const isNumber: (val: any) => val is number;
43
43
  /**是否为字符串 */
44
- export declare const isString: (val: any) => boolean;
44
+ export declare const isString: (val: any) => val is string;
45
45
  /**是否为字符串数值 */
46
46
  export declare const isStringNumber: (val: string) => boolean;
47
47
  /**是否为手机号(国内手机号) */
@@ -0,0 +1,16 @@
1
+ type Fn = (...args: any[]) => any;
2
+ /**
3
+ * 防抖
4
+ * @param fn
5
+ * @param delay
6
+ * @returns
7
+ */
8
+ export declare function debounce(fn: Fn, delay?: number): (this: any, ...args: any[]) => void;
9
+ /**
10
+ * 节流
11
+ * @param fn
12
+ * @param interval
13
+ * @returns
14
+ */
15
+ export declare function throttle(fn: Fn, interval?: number): (this: any, ...args: any[]) => void;
16
+ export {};
@@ -0,0 +1,19 @@
1
+ function u(e, n = 200) {
2
+ let t;
3
+ return function(...o) {
4
+ clearTimeout(t), t = setTimeout(() => {
5
+ e.apply(this, o);
6
+ }, n);
7
+ };
8
+ }
9
+ function r(e, n = 200) {
10
+ let t = 0;
11
+ return function(...o) {
12
+ const i = Date.now();
13
+ i - t >= n && (e.apply(this, o), t = i);
14
+ };
15
+ }
16
+ export {
17
+ u as debounce,
18
+ r as throttle
19
+ };
@@ -11,7 +11,7 @@ function n() {
11
11
  return null;
12
12
  }
13
13
  function r(o, e) {
14
- !e && (e = 7 * 24 * 60 * 60 * 1e3) || (e = e * 1e3);
14
+ !e && (e = 10080 * 60 * 1e3) || (e = e * 1e3);
15
15
  const t = { value: o, expirse: (/* @__PURE__ */ new Date()).getTime() + e };
16
16
  localStorage.setItem("token", JSON.stringify(t));
17
17
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qy_better_lib/core",
3
3
  "private": false,
4
- "version": "0.0.7",
4
+ "version": "0.1.1",
5
5
  "description": "qy better lib core",
6
6
  "author": "luhuiming",
7
7
  "license": "ISC",
@@ -40,11 +40,10 @@
40
40
  "./utils/*": "./lib/utils/*.js"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/node": "^20.14.9",
44
- "@vitejs/plugin-vue": "^5.0.5",
45
- "element-plus": "^2.7.6",
46
- "vite": "^5.3.2",
47
- "vite-plugin-dts": "^3.9.1",
48
- "vue": "^3.4.31"
43
+ "@types/node": "^24.5.2",
44
+ "@vitejs/plugin-vue": "^6.0.1",
45
+ "vite": "^7.1.7",
46
+ "vite-plugin-dts": "^4.5.4",
47
+ "vue": "^3.5.22"
49
48
  }
50
- }
49
+ }