@topdatasec/report 1.0.3 → 1.0.4
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.
- package/dist/index.iife.js +1 -1
- package/dist/index.js +78 -73
- package/dist/index.umd.cjs +1 -1
- package/es/bar/TdsReportBar.vue.js +20 -0
- package/es/bar/TdsReportBar.vue2.js +4 -0
- package/es/bar/index.d.ts +4 -4
- package/es/bar/index.js +1 -1
- package/lib/bar/TdsReportBar.vue.cjs +1 -0
- package/lib/bar/TdsReportBar.vue2.cjs +1 -0
- package/lib/bar/index.cjs +1 -1
- package/lib/bar/index.d.ts +4 -4
- package/package.json +1 -1
- package/es/bar/Bar.vue.js +0 -15
- package/es/bar/Bar.vue2.js +0 -4
- package/lib/bar/Bar.vue.cjs +0 -1
- package/lib/bar/Bar.vue2.cjs +0 -1
- /package/es/bar/{Bar.d.ts → TdsReportBar.d.ts} +0 -0
- /package/lib/bar/{Bar.d.ts → TdsReportBar.d.ts} +0 -0
package/dist/index.iife.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(u,
|
|
1
|
+
(function(u,r,O){"use strict";const B={class:"chart-components"},y=(e=>{const t=e;return t.install=function(n){n.component(t.__name,e)},e})(r.defineComponent({name:"TdsReportBar",__name:"TdsReportBar",props:{data:{}},setup(e){const t=e;console.log(t.data,444444444);const n=r.computed(()=>t.data.options);return(o,s)=>(r.openBlock(),r.createElementBlock("div",B,[r.createVNode(r.unref(O),{option:n.value},null,8,["option"])]))}})),U=Object.freeze(Object.defineProperty({__proto__:null,TdsReportBar:y},Symbol.toStringTag,{value:"Module"}));function V(e=Date.now(),t="YYYY-MM-DD HH:mm:ss"){try{let n;if(typeof e=="number"||typeof e=="string"){if(n=new Date(e),isNaN(n.getTime()))throw new Error("Invalid date")}else n=e;const o=(a,c=2)=>String(a).padStart(c,"0"),s=a=>{switch(a){case"YYYY":return o(n.getFullYear());case"YY":return o(n.getFullYear()).slice(2,4);case"MM":return o(n.getMonth()+1);case"M":return String(n.getMonth()+1);case"DD":return o(n.getDate());case"D":return String(n.getDate());case"HH":return o(n.getHours());case"H":return String(n.getHours());case"mm":return o(n.getMinutes());case"m":return String(n.getMinutes());case"ss":return o(n.getSeconds());case"s":return String(n.getSeconds());case"SSS":return o(n.getMilliseconds(),3);default:return a}};return t.replace(/(YYYY|YY|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS)/g,s)}catch(n){return console.error("Error formatting date:",n),""}}function k(e,t=2,n=",",o=".",s,a){typeof e!="number"&&typeof e!="string"&&console.warn("Expected value to be of type number or string"),typeof t!="number"&&console.warn("Expected precision to be of type number");const c=Number(e);if(isNaN(c)||!isFinite(c))return"";if(c===0)return c.toFixed(t);let i=c.toFixed(t);if(typeof n=="string"&&n!==""){const[f,m]=i.split(".");i=f.replace(/(\d)(?=(\d{3})+$)/g,"$1"+n)+(m?o+m:"")}return(s||"")+i+(a||"")}function H(e,t=0,n=!1){let o=null;function s(c){if(o||(o=c),c-o>=t){try{e()}catch(f){console.error("Error executing rafTimeout function:",f)}n&&(o=c,a.id=requestAnimationFrame(s))}else a.id=requestAnimationFrame(s)}const a={id:requestAnimationFrame(s)};return a}function I(e){e&&e.id&&typeof e.id=="number"?cancelAnimationFrame(e.id):console.warn("cancelRaf received an invalid id:",e)}function M(e,t=300){let n=!0;return function(...o){return n&&(e(...o),n=!1,setTimeout(()=>{n=!0},t)),!1}}function T(e,t=300){let n=null;return function(...o){n&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function N(e,t){if(Number.isNaN(e)||Number.isNaN(t))throw new Error("Both num1 and num2 must be valid numbers.");const n=e%1!==0,o=t%1!==0;if(!n&&!o)return e+t;const s=String(e).split(".")[1]??"",a=String(t).split(".")[1]??"",c=Math.max(s.length,a.length),i=Math.pow(10,c),f=e.toFixed(c),m=t.toFixed(c);return(+f.replace(".","")+ +m.replace(".",""))/i}function j(e,t){if(!e){console.error("无效的 url");return}const n=t||e.split("?")[0].split("/").pop()||"download";try{fetch(e).then(o=>{o.ok?o.blob().then(s=>{const a=URL.createObjectURL(s),c=document.createElement("a");c.href=a,c.download=n,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(a)}):console.error("请求文件失败,状态码:",o.status)})}catch(o){console.error("文件下载失败:",o)}}function z(){const e=document.documentElement;e.classList.toggle("dark"),e.classList.contains("dark")?e.style.colorScheme="dark":e.style.colorScheme="light"}function $(){const e=r.ref(!1),t=r.getCurrentInstance();return t&&r.onMounted(()=>{e.value=!0},t),e}function R(e){const t=$();return r.computed(()=>(t.value,!!e()))}function q(e,t,n){r.onMounted(()=>e.addEventListener(t,n)),r.onUnmounted(()=>e.removeEventListener(t,n))}function P(e,t,n={}){const o=R(()=>window&&"MutationObserver"in window),s=r.ref(!1);let a;const c=r.computed(()=>{const d=r.toValue(e);return d?Array.isArray(d)?d.map(h=>r.toValue(h)).filter(h=>h):[d]:[]}),i=()=>{a&&(a.disconnect(),a=void 0)},f=()=>{o.value&&c.value.length&&!s.value&&(a=new MutationObserver(t),c.value.forEach(d=>a.observe(d,n)))};r.watch(()=>c.value,()=>{i(),f()},{immediate:!0,flush:"post"});const m=()=>{s.value=!0,i()},p=()=>{s.value=!1,f()};return r.onBeforeUnmount(()=>i()),{stop:m,start:p}}function x(e=window,t=0,n,o){const s=r.ref(0),a=r.ref(0),c=r.ref(0),i=r.ref(0),f=r.ref(!1),m=r.ref(!1),p=r.ref(!1),d=r.ref(!1),h=r.ref(!1),E=r.ref(0),S=r.ref(0);function X(l){f.value=!0;const g=l.target.documentElement??l.target;s.value=g.scrollLeft,c.value=g.scrollTop,m.value=s.value<E.value,p.value=s.value>E.value,d.value=c.value<S.value,h.value=c.value>S.value,E.value=s.value,S.value=c.value,w(l),n&&n(l)}const _=M(X,t);function ee(l){f.value&&(f.value=!1,m.value=!1,p.value=!1,d.value=!1,h.value=!1,o&&o(l))}const w=T(ee,t+200),A=r.computed(()=>{const l=r.toValue(e);return l||null});r.watch(()=>A.value,(l,g)=>{var v;if(g&&D(g),l){const b=((v=l==null?void 0:l.document)==null?void 0:v.documentElement)||(l==null?void 0:l.documentElement)||l;a.value=b.scrollWidth-b.clientWidth,i.value=b.scrollHeight-b.clientHeight,b.addEventListener("scroll",_),b.addEventListener("scrollend",w)}},{immediate:!0,flush:"post"});function D(l){var v;const g=((v=l==null?void 0:l.document)==null?void 0:v.documentElement)||(l==null?void 0:l.documentElement)||l;g.removeEventListener("scroll",_),g.removeEventListener("scrollend",w)}return r.onBeforeUnmount(()=>D(A.value)),{x:s,xScrollMax:a,y:c,yScrollMax:i,isScrolling:f,left:m,right:p,top:d,bottom:h}}function C(){const e=r.ref(0),t=r.ref(0);let n=performance.now();const o=10,s=a=>{if(t.value++,t.value>=o){const c=a-n;e.value=Math.round(1e3/(c/o)),n=a,t.value=0}requestAnimationFrame(s)};return requestAnimationFrame(s),{fps:e}}function W(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid mediaQuery parameter. It must be a non-empty string.");const t=r.ref(window&&window.matchMedia(e).matches),n=window.matchMedia(e),o=s=>{t.value=s.matches};return r.onMounted(()=>{n.addEventListener("change",o)}),r.onBeforeUnmount(()=>{n.removeEventListener("change",o)}),{match:t}}function Z(e,t,n={}){const o=R(()=>window&&"ResizeObserver"in window);let s;const a=r.ref(!1),c=r.computed(()=>{const d=r.toValue(e);return d?Array.isArray(d)?d.map(h=>r.toValue(h)).filter(h=>h):[d]:[]}),i=()=>{s&&(s.disconnect(),s=void 0)},f=()=>{o.value&&c.value.length&&!a.value&&(s=new ResizeObserver(t),c.value.forEach(d=>s.observe(d,n)))};r.watch(()=>c.value,()=>{i(),f()},{immediate:!0,flush:"post"});const m=()=>{a.value=!0,i()},p=()=>{a.value=!1,f()};return r.onBeforeUnmount(()=>i()),{stop:m,start:p}}function G(e="default"){const t=r.useSlots(),n=o=>{var c;const s=(c=t[o])==null?void 0:c.call(t),a=i=>{if(i.type===r.Comment||Array.isArray(i.children)&&!i.children.length)return!1;if(i.type!==r.Text)return!0;if(typeof i.children=="string")return i.children.trim()!==""};return s&&(s!=null&&s.length)?s.some(f=>a(f)):!1};if(Array.isArray(e)){const o=r.reactive({});return e.forEach(s=>{const a=r.computed(()=>n(s));o[s]=a}),o}else return r.computed(()=>n(e))}const F={TdsReportBar:"TdsReportBar"},L={BackTop:["Tooltip"]};function J(e,t){if(["NumberAnimation","Watermark"].includes(e))return[];const n=[e];e in L&&n.push(...L[e]);const o=t!=null&&t.cjs?"lib":"es",s=[`@topdatasec/report/${o}/style/global.css`];return n.forEach(a=>{s.push(`@topdatasec/report/${o}/${F[a]}/${a}.css`)}),s}function K(e){return{type:"component",resolve:t=>{if(t in F)return{name:t,from:"@topdatasec/report",sideEffects:J(t,e)}}}}const Y=function(e){return Object.values(U).forEach(t=>{t&&t.install&&e.use(t)}),e},Q={install:Y};u.TdsReportBar=y,u.VueAmazingUIResolver=K,u.add=N,u.cancelRaf=I,u.dateFormat=V,u.debounce=T,u.default=Q,u.downloadFile=j,u.formatNumber=k,u.install=Y,u.rafTimeout=H,u.throttle=M,u.toggleDark=z,u.useEventListener=q,u.useFps=C,u.useMediaQuery=W,u.useMutationObserver=P,u.useResizeObserver=Z,u.useScroll=x,u.useSlotsExist=G,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})})(this.TdsReportUI=this.TdsReportUI||{},Vue,TdsChart);
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
-
import { defineComponent as k, computed as h, createElementBlock as B, openBlock as H, onMounted as x, onUnmounted as
|
|
2
|
-
|
|
1
|
+
import { defineComponent as k, computed as h, createElementBlock as B, openBlock as H, createVNode as U, unref as V, onMounted as x, onUnmounted as N, ref as f, toValue as E, watch as T, onBeforeUnmount as S, useSlots as $, reactive as j, getCurrentInstance as I, Comment as q, Text as z } from "vue";
|
|
2
|
+
import C from "topdatasec-ui";
|
|
3
|
+
const P = { class: "chart-components" }, W = /* @__PURE__ */ k({
|
|
3
4
|
name: "TdsReportBar",
|
|
4
|
-
__name: "
|
|
5
|
+
__name: "TdsReportBar",
|
|
5
6
|
props: {
|
|
6
7
|
data: {}
|
|
7
8
|
},
|
|
8
9
|
setup(e) {
|
|
9
10
|
const t = e;
|
|
10
|
-
|
|
11
|
+
console.log(t.data, 444444444);
|
|
12
|
+
const n = h(() => t.data.options);
|
|
13
|
+
return (r, s) => (H(), B("div", P, [
|
|
14
|
+
U(V(C), { option: n.value }, null, 8, ["option"])
|
|
15
|
+
]));
|
|
11
16
|
}
|
|
12
|
-
}),
|
|
17
|
+
}), Z = (e) => {
|
|
13
18
|
const t = e;
|
|
14
19
|
return t.install = function(n) {
|
|
15
20
|
n.component(t.__name, e);
|
|
16
21
|
}, e;
|
|
17
|
-
},
|
|
22
|
+
}, G = Z(W), J = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
18
23
|
__proto__: null,
|
|
19
|
-
TdsReportBar:
|
|
24
|
+
TdsReportBar: G
|
|
20
25
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
21
|
-
function
|
|
26
|
+
function se(e = Date.now(), t = "YYYY-MM-DD HH:mm:ss") {
|
|
22
27
|
try {
|
|
23
28
|
let n;
|
|
24
29
|
if (typeof e == "number" || typeof e == "string") {
|
|
@@ -63,7 +68,7 @@ function ee(e = Date.now(), t = "YYYY-MM-DD HH:mm:ss") {
|
|
|
63
68
|
return console.error("Error formatting date:", n), "";
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
|
-
function
|
|
71
|
+
function oe(e, t = 2, n = ",", r = ".", s, c) {
|
|
67
72
|
typeof e != "number" && typeof e != "string" && console.warn("Expected value to be of type number or string"), typeof t != "number" && console.warn("Expected precision to be of type number");
|
|
68
73
|
const o = Number(e);
|
|
69
74
|
if (isNaN(o) || !isFinite(o))
|
|
@@ -77,7 +82,7 @@ function te(e, t = 2, n = ",", r = ".", s, c) {
|
|
|
77
82
|
}
|
|
78
83
|
return (s || "") + l + (c || "");
|
|
79
84
|
}
|
|
80
|
-
function
|
|
85
|
+
function ce(e, t = 0, n = !1) {
|
|
81
86
|
let r = null;
|
|
82
87
|
function s(o) {
|
|
83
88
|
if (r || (r = o), o - r >= t) {
|
|
@@ -95,10 +100,10 @@ function ne(e, t = 0, n = !1) {
|
|
|
95
100
|
};
|
|
96
101
|
return c;
|
|
97
102
|
}
|
|
98
|
-
function
|
|
103
|
+
function ae(e) {
|
|
99
104
|
e && e.id && typeof e.id == "number" ? cancelAnimationFrame(e.id) : console.warn("cancelRaf received an invalid id:", e);
|
|
100
105
|
}
|
|
101
|
-
function
|
|
106
|
+
function K(e, t = 300) {
|
|
102
107
|
let n = !0;
|
|
103
108
|
return function(...r) {
|
|
104
109
|
return n && (e(...r), n = !1, setTimeout(() => {
|
|
@@ -106,7 +111,7 @@ function Z(e, t = 300) {
|
|
|
106
111
|
}, t)), !1;
|
|
107
112
|
};
|
|
108
113
|
}
|
|
109
|
-
function
|
|
114
|
+
function X(e, t = 300) {
|
|
110
115
|
let n = null;
|
|
111
116
|
return function(...r) {
|
|
112
117
|
n && clearTimeout(n), n = setTimeout(() => {
|
|
@@ -114,7 +119,7 @@ function G(e, t = 300) {
|
|
|
114
119
|
}, t);
|
|
115
120
|
};
|
|
116
121
|
}
|
|
117
|
-
function
|
|
122
|
+
function le(e, t) {
|
|
118
123
|
if (Number.isNaN(e) || Number.isNaN(t))
|
|
119
124
|
throw new Error("Both num1 and num2 must be valid numbers.");
|
|
120
125
|
const n = e % 1 !== 0, r = t % 1 !== 0;
|
|
@@ -123,7 +128,7 @@ function se(e, t) {
|
|
|
123
128
|
const s = String(e).split(".")[1] ?? "", c = String(t).split(".")[1] ?? "", o = Math.max(s.length, c.length), l = Math.pow(10, o), i = e.toFixed(o), d = t.toFixed(o);
|
|
124
129
|
return (+i.replace(".", "") + +d.replace(".", "")) / l;
|
|
125
130
|
}
|
|
126
|
-
function
|
|
131
|
+
function ie(e, t) {
|
|
127
132
|
if (!e) {
|
|
128
133
|
console.error("无效的 url");
|
|
129
134
|
return;
|
|
@@ -140,25 +145,25 @@ function oe(e, t) {
|
|
|
140
145
|
console.error("文件下载失败:", r);
|
|
141
146
|
}
|
|
142
147
|
}
|
|
143
|
-
function
|
|
148
|
+
function ue() {
|
|
144
149
|
const e = document.documentElement;
|
|
145
150
|
e.classList.toggle("dark"), e.classList.contains("dark") ? e.style.colorScheme = "dark" : e.style.colorScheme = "light";
|
|
146
151
|
}
|
|
147
|
-
function
|
|
148
|
-
const e = f(!1), t =
|
|
152
|
+
function Q() {
|
|
153
|
+
const e = f(!1), t = I();
|
|
149
154
|
return t && x(() => {
|
|
150
155
|
e.value = !0;
|
|
151
156
|
}, t), e;
|
|
152
157
|
}
|
|
153
|
-
function
|
|
154
|
-
const t =
|
|
158
|
+
function A(e) {
|
|
159
|
+
const t = Q();
|
|
155
160
|
return h(() => (t.value, !!e()));
|
|
156
161
|
}
|
|
157
|
-
function
|
|
158
|
-
x(() => e.addEventListener(t, n)),
|
|
162
|
+
function fe(e, t, n) {
|
|
163
|
+
x(() => e.addEventListener(t, n)), N(() => e.removeEventListener(t, n));
|
|
159
164
|
}
|
|
160
|
-
function
|
|
161
|
-
const r =
|
|
165
|
+
function de(e, t, n = {}) {
|
|
166
|
+
const r = A(() => window && "MutationObserver" in window), s = f(!1);
|
|
162
167
|
let c;
|
|
163
168
|
const o = h(() => {
|
|
164
169
|
const u = E(e);
|
|
@@ -168,7 +173,7 @@ function le(e, t, n = {}) {
|
|
|
168
173
|
}, i = () => {
|
|
169
174
|
r.value && o.value.length && !s.value && (c = new MutationObserver(t), o.value.forEach((u) => c.observe(u, n)));
|
|
170
175
|
};
|
|
171
|
-
|
|
176
|
+
T(
|
|
172
177
|
() => o.value,
|
|
173
178
|
() => {
|
|
174
179
|
l(), i();
|
|
@@ -189,28 +194,28 @@ function le(e, t, n = {}) {
|
|
|
189
194
|
start: v
|
|
190
195
|
};
|
|
191
196
|
}
|
|
192
|
-
function
|
|
197
|
+
function me(e = window, t = 0, n, r) {
|
|
193
198
|
const s = f(0), c = f(0), o = f(0), l = f(0), i = f(!1), d = f(!1), v = f(!1), u = f(!1), m = f(!1), w = f(0), y = f(0);
|
|
194
199
|
function _(a) {
|
|
195
200
|
i.value = !0;
|
|
196
201
|
const p = a.target.documentElement ?? a.target;
|
|
197
202
|
s.value = p.scrollLeft, o.value = p.scrollTop, d.value = s.value < w.value, v.value = s.value > w.value, u.value = o.value < y.value, m.value = o.value > y.value, w.value = s.value, y.value = o.value, M(a), n && n(a);
|
|
198
203
|
}
|
|
199
|
-
const
|
|
204
|
+
const L = K(_, t);
|
|
200
205
|
function O(a) {
|
|
201
206
|
i.value && (i.value = !1, d.value = !1, v.value = !1, u.value = !1, m.value = !1, r && r(a));
|
|
202
207
|
}
|
|
203
|
-
const M =
|
|
208
|
+
const M = X(O, t + 200), Y = h(() => {
|
|
204
209
|
const a = E(e);
|
|
205
210
|
return a || null;
|
|
206
211
|
});
|
|
207
|
-
|
|
212
|
+
T(
|
|
208
213
|
() => Y.value,
|
|
209
214
|
(a, p) => {
|
|
210
215
|
var b;
|
|
211
216
|
if (p && F(p), a) {
|
|
212
217
|
const g = ((b = a == null ? void 0 : a.document) == null ? void 0 : b.documentElement) || (a == null ? void 0 : a.documentElement) || a;
|
|
213
|
-
c.value = g.scrollWidth - g.clientWidth, l.value = g.scrollHeight - g.clientHeight, g.addEventListener("scroll",
|
|
218
|
+
c.value = g.scrollWidth - g.clientWidth, l.value = g.scrollHeight - g.clientHeight, g.addEventListener("scroll", L), g.addEventListener("scrollend", M);
|
|
214
219
|
}
|
|
215
220
|
},
|
|
216
221
|
{
|
|
@@ -221,11 +226,11 @@ function ie(e = window, t = 0, n, r) {
|
|
|
221
226
|
function F(a) {
|
|
222
227
|
var b;
|
|
223
228
|
const p = ((b = a == null ? void 0 : a.document) == null ? void 0 : b.documentElement) || (a == null ? void 0 : a.documentElement) || a;
|
|
224
|
-
p.removeEventListener("scroll",
|
|
229
|
+
p.removeEventListener("scroll", L), p.removeEventListener("scrollend", M);
|
|
225
230
|
}
|
|
226
231
|
return S(() => F(Y.value)), { x: s, xScrollMax: c, y: o, yScrollMax: l, isScrolling: i, left: d, right: v, top: u, bottom: m };
|
|
227
232
|
}
|
|
228
|
-
function
|
|
233
|
+
function ve() {
|
|
229
234
|
const e = f(0), t = f(0);
|
|
230
235
|
let n = performance.now();
|
|
231
236
|
const r = 10, s = (c) => {
|
|
@@ -237,7 +242,7 @@ function ue() {
|
|
|
237
242
|
};
|
|
238
243
|
return requestAnimationFrame(s), { fps: e };
|
|
239
244
|
}
|
|
240
|
-
function
|
|
245
|
+
function pe(e) {
|
|
241
246
|
if (!e || typeof e != "string" || e.trim() === "")
|
|
242
247
|
throw new Error("Invalid mediaQuery parameter. It must be a non-empty string.");
|
|
243
248
|
const t = f(window && window.matchMedia(e).matches), n = window.matchMedia(e), r = (s) => {
|
|
@@ -249,8 +254,8 @@ function fe(e) {
|
|
|
249
254
|
n.removeEventListener("change", r);
|
|
250
255
|
}), { match: t };
|
|
251
256
|
}
|
|
252
|
-
function
|
|
253
|
-
const r =
|
|
257
|
+
function he(e, t, n = {}) {
|
|
258
|
+
const r = A(() => window && "ResizeObserver" in window);
|
|
254
259
|
let s;
|
|
255
260
|
const c = f(!1), o = h(() => {
|
|
256
261
|
const u = E(e);
|
|
@@ -260,7 +265,7 @@ function de(e, t, n = {}) {
|
|
|
260
265
|
}, i = () => {
|
|
261
266
|
r.value && o.value.length && !c.value && (s = new ResizeObserver(t), o.value.forEach((u) => s.observe(u, n)));
|
|
262
267
|
};
|
|
263
|
-
|
|
268
|
+
T(
|
|
264
269
|
() => o.value,
|
|
265
270
|
() => {
|
|
266
271
|
l(), i();
|
|
@@ -281,13 +286,13 @@ function de(e, t, n = {}) {
|
|
|
281
286
|
start: v
|
|
282
287
|
};
|
|
283
288
|
}
|
|
284
|
-
function
|
|
285
|
-
const t =
|
|
289
|
+
function ge(e = "default") {
|
|
290
|
+
const t = $(), n = (r) => {
|
|
286
291
|
var o;
|
|
287
292
|
const s = (o = t[r]) == null ? void 0 : o.call(t), c = (l) => {
|
|
288
|
-
if (l.type ===
|
|
293
|
+
if (l.type === q || Array.isArray(l.children) && !l.children.length)
|
|
289
294
|
return !1;
|
|
290
|
-
if (l.type !==
|
|
295
|
+
if (l.type !== z)
|
|
291
296
|
return !0;
|
|
292
297
|
if (typeof l.children == "string")
|
|
293
298
|
return l.children.trim() !== "";
|
|
@@ -295,7 +300,7 @@ function me(e = "default") {
|
|
|
295
300
|
return s && (s != null && s.length) ? s.some((i) => c(i)) : !1;
|
|
296
301
|
};
|
|
297
302
|
if (Array.isArray(e)) {
|
|
298
|
-
const r =
|
|
303
|
+
const r = j({});
|
|
299
304
|
return e.forEach((s) => {
|
|
300
305
|
const c = h(() => n(s));
|
|
301
306
|
r[s] = c;
|
|
@@ -303,65 +308,65 @@ function me(e = "default") {
|
|
|
303
308
|
} else
|
|
304
309
|
return h(() => n(e));
|
|
305
310
|
}
|
|
306
|
-
const
|
|
311
|
+
const D = {
|
|
307
312
|
TdsReportBar: "TdsReportBar"
|
|
308
|
-
},
|
|
313
|
+
}, R = {
|
|
309
314
|
BackTop: ["Tooltip"]
|
|
310
315
|
};
|
|
311
|
-
function
|
|
316
|
+
function ee(e, t) {
|
|
312
317
|
if (["NumberAnimation", "Watermark"].includes(e))
|
|
313
318
|
return [];
|
|
314
319
|
const n = [e];
|
|
315
|
-
e in
|
|
320
|
+
e in R && n.push(...R[e]);
|
|
316
321
|
const r = t != null && t.cjs ? "lib" : "es", s = [`@topdatasec/report/${r}/style/global.css`];
|
|
317
322
|
return n.forEach((c) => {
|
|
318
323
|
s.push(
|
|
319
|
-
`@topdatasec/report/${r}/${
|
|
324
|
+
`@topdatasec/report/${r}/${D[c]}/${c}.css`
|
|
320
325
|
);
|
|
321
326
|
}), s;
|
|
322
327
|
}
|
|
323
|
-
function
|
|
328
|
+
function be(e) {
|
|
324
329
|
return {
|
|
325
330
|
type: "component",
|
|
326
331
|
resolve: (t) => {
|
|
327
|
-
if (t in
|
|
332
|
+
if (t in D)
|
|
328
333
|
return {
|
|
329
334
|
name: t,
|
|
330
335
|
// 组件名
|
|
331
336
|
from: "@topdatasec/report",
|
|
332
337
|
// 组件库名称
|
|
333
|
-
sideEffects:
|
|
338
|
+
sideEffects: ee(t, e)
|
|
334
339
|
// 组件样式文件
|
|
335
340
|
};
|
|
336
341
|
}
|
|
337
342
|
};
|
|
338
343
|
}
|
|
339
|
-
const
|
|
340
|
-
return Object.values(
|
|
344
|
+
const te = function(e) {
|
|
345
|
+
return Object.values(J).forEach((t) => {
|
|
341
346
|
t && t.install && e.use(t);
|
|
342
347
|
}), e;
|
|
343
|
-
},
|
|
344
|
-
install:
|
|
348
|
+
}, Ee = {
|
|
349
|
+
install: te
|
|
345
350
|
};
|
|
346
351
|
export {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
352
|
+
G as TdsReportBar,
|
|
353
|
+
be as VueAmazingUIResolver,
|
|
354
|
+
le as add,
|
|
355
|
+
ae as cancelRaf,
|
|
356
|
+
se as dateFormat,
|
|
357
|
+
X as debounce,
|
|
358
|
+
Ee as default,
|
|
359
|
+
ie as downloadFile,
|
|
360
|
+
oe as formatNumber,
|
|
361
|
+
te as install,
|
|
362
|
+
ce as rafTimeout,
|
|
363
|
+
K as throttle,
|
|
364
|
+
ue as toggleDark,
|
|
365
|
+
fe as useEventListener,
|
|
366
|
+
ve as useFps,
|
|
367
|
+
pe as useMediaQuery,
|
|
368
|
+
de as useMutationObserver,
|
|
369
|
+
he as useResizeObserver,
|
|
370
|
+
me as useScroll,
|
|
371
|
+
ge as useSlotsExist
|
|
367
372
|
};
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(i,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],r):(i=typeof globalThis<"u"?globalThis:i||self,r(i.TdsReportUI=i.TdsReportUI||{},i.Vue))})(this,function(i,r){"use strict";const
|
|
1
|
+
(function(i,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("topdatasec-ui")):typeof define=="function"&&define.amd?define(["exports","vue","topdatasec-ui"],r):(i=typeof globalThis<"u"?globalThis:i||self,r(i.TdsReportUI=i.TdsReportUI||{},i.Vue,i.TdsChart))})(this,function(i,r,O){"use strict";const B={class:"chart-components"},y=(e=>{const t=e;return t.install=function(n){n.component(t.__name,e)},e})(r.defineComponent({name:"TdsReportBar",__name:"TdsReportBar",props:{data:{}},setup(e){const t=e;console.log(t.data,444444444);const n=r.computed(()=>t.data.options);return(o,s)=>(r.openBlock(),r.createElementBlock("div",B,[r.createVNode(r.unref(O),{option:n.value},null,8,["option"])]))}})),U=Object.freeze(Object.defineProperty({__proto__:null,TdsReportBar:y},Symbol.toStringTag,{value:"Module"}));function V(e=Date.now(),t="YYYY-MM-DD HH:mm:ss"){try{let n;if(typeof e=="number"||typeof e=="string"){if(n=new Date(e),isNaN(n.getTime()))throw new Error("Invalid date")}else n=e;const o=(a,c=2)=>String(a).padStart(c,"0"),s=a=>{switch(a){case"YYYY":return o(n.getFullYear());case"YY":return o(n.getFullYear()).slice(2,4);case"MM":return o(n.getMonth()+1);case"M":return String(n.getMonth()+1);case"DD":return o(n.getDate());case"D":return String(n.getDate());case"HH":return o(n.getHours());case"H":return String(n.getHours());case"mm":return o(n.getMinutes());case"m":return String(n.getMinutes());case"ss":return o(n.getSeconds());case"s":return String(n.getSeconds());case"SSS":return o(n.getMilliseconds(),3);default:return a}};return t.replace(/(YYYY|YY|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS)/g,s)}catch(n){return console.error("Error formatting date:",n),""}}function k(e,t=2,n=",",o=".",s,a){typeof e!="number"&&typeof e!="string"&&console.warn("Expected value to be of type number or string"),typeof t!="number"&&console.warn("Expected precision to be of type number");const c=Number(e);if(isNaN(c)||!isFinite(c))return"";if(c===0)return c.toFixed(t);let u=c.toFixed(t);if(typeof n=="string"&&n!==""){const[f,m]=u.split(".");u=f.replace(/(\d)(?=(\d{3})+$)/g,"$1"+n)+(m?o+m:"")}return(s||"")+u+(a||"")}function H(e,t=0,n=!1){let o=null;function s(c){if(o||(o=c),c-o>=t){try{e()}catch(f){console.error("Error executing rafTimeout function:",f)}n&&(o=c,a.id=requestAnimationFrame(s))}else a.id=requestAnimationFrame(s)}const a={id:requestAnimationFrame(s)};return a}function I(e){e&&e.id&&typeof e.id=="number"?cancelAnimationFrame(e.id):console.warn("cancelRaf received an invalid id:",e)}function M(e,t=300){let n=!0;return function(...o){return n&&(e(...o),n=!1,setTimeout(()=>{n=!0},t)),!1}}function T(e,t=300){let n=null;return function(...o){n&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function j(e,t){if(Number.isNaN(e)||Number.isNaN(t))throw new Error("Both num1 and num2 must be valid numbers.");const n=e%1!==0,o=t%1!==0;if(!n&&!o)return e+t;const s=String(e).split(".")[1]??"",a=String(t).split(".")[1]??"",c=Math.max(s.length,a.length),u=Math.pow(10,c),f=e.toFixed(c),m=t.toFixed(c);return(+f.replace(".","")+ +m.replace(".",""))/u}function N(e,t){if(!e){console.error("无效的 url");return}const n=t||e.split("?")[0].split("/").pop()||"download";try{fetch(e).then(o=>{o.ok?o.blob().then(s=>{const a=URL.createObjectURL(s),c=document.createElement("a");c.href=a,c.download=n,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(a)}):console.error("请求文件失败,状态码:",o.status)})}catch(o){console.error("文件下载失败:",o)}}function q(){const e=document.documentElement;e.classList.toggle("dark"),e.classList.contains("dark")?e.style.colorScheme="dark":e.style.colorScheme="light"}function z(){const e=r.ref(!1),t=r.getCurrentInstance();return t&&r.onMounted(()=>{e.value=!0},t),e}function R(e){const t=z();return r.computed(()=>(t.value,!!e()))}function $(e,t,n){r.onMounted(()=>e.addEventListener(t,n)),r.onUnmounted(()=>e.removeEventListener(t,n))}function x(e,t,n={}){const o=R(()=>window&&"MutationObserver"in window),s=r.ref(!1);let a;const c=r.computed(()=>{const d=r.toValue(e);return d?Array.isArray(d)?d.map(p=>r.toValue(p)).filter(p=>p):[d]:[]}),u=()=>{a&&(a.disconnect(),a=void 0)},f=()=>{o.value&&c.value.length&&!s.value&&(a=new MutationObserver(t),c.value.forEach(d=>a.observe(d,n)))};r.watch(()=>c.value,()=>{u(),f()},{immediate:!0,flush:"post"});const m=()=>{s.value=!0,u()},h=()=>{s.value=!1,f()};return r.onBeforeUnmount(()=>u()),{stop:m,start:h}}function P(e=window,t=0,n,o){const s=r.ref(0),a=r.ref(0),c=r.ref(0),u=r.ref(0),f=r.ref(!1),m=r.ref(!1),h=r.ref(!1),d=r.ref(!1),p=r.ref(!1),E=r.ref(0),S=r.ref(0);function X(l){f.value=!0;const g=l.target.documentElement??l.target;s.value=g.scrollLeft,c.value=g.scrollTop,m.value=s.value<E.value,h.value=s.value>E.value,d.value=c.value<S.value,p.value=c.value>S.value,E.value=s.value,S.value=c.value,w(l),n&&n(l)}const _=M(X,t);function ee(l){f.value&&(f.value=!1,m.value=!1,h.value=!1,d.value=!1,p.value=!1,o&&o(l))}const w=T(ee,t+200),A=r.computed(()=>{const l=r.toValue(e);return l||null});r.watch(()=>A.value,(l,g)=>{var b;if(g&&D(g),l){const v=((b=l==null?void 0:l.document)==null?void 0:b.documentElement)||(l==null?void 0:l.documentElement)||l;a.value=v.scrollWidth-v.clientWidth,u.value=v.scrollHeight-v.clientHeight,v.addEventListener("scroll",_),v.addEventListener("scrollend",w)}},{immediate:!0,flush:"post"});function D(l){var b;const g=((b=l==null?void 0:l.document)==null?void 0:b.documentElement)||(l==null?void 0:l.documentElement)||l;g.removeEventListener("scroll",_),g.removeEventListener("scrollend",w)}return r.onBeforeUnmount(()=>D(A.value)),{x:s,xScrollMax:a,y:c,yScrollMax:u,isScrolling:f,left:m,right:h,top:d,bottom:p}}function C(){const e=r.ref(0),t=r.ref(0);let n=performance.now();const o=10,s=a=>{if(t.value++,t.value>=o){const c=a-n;e.value=Math.round(1e3/(c/o)),n=a,t.value=0}requestAnimationFrame(s)};return requestAnimationFrame(s),{fps:e}}function W(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid mediaQuery parameter. It must be a non-empty string.");const t=r.ref(window&&window.matchMedia(e).matches),n=window.matchMedia(e),o=s=>{t.value=s.matches};return r.onMounted(()=>{n.addEventListener("change",o)}),r.onBeforeUnmount(()=>{n.removeEventListener("change",o)}),{match:t}}function Z(e,t,n={}){const o=R(()=>window&&"ResizeObserver"in window);let s;const a=r.ref(!1),c=r.computed(()=>{const d=r.toValue(e);return d?Array.isArray(d)?d.map(p=>r.toValue(p)).filter(p=>p):[d]:[]}),u=()=>{s&&(s.disconnect(),s=void 0)},f=()=>{o.value&&c.value.length&&!a.value&&(s=new ResizeObserver(t),c.value.forEach(d=>s.observe(d,n)))};r.watch(()=>c.value,()=>{u(),f()},{immediate:!0,flush:"post"});const m=()=>{a.value=!0,u()},h=()=>{a.value=!1,f()};return r.onBeforeUnmount(()=>u()),{stop:m,start:h}}function G(e="default"){const t=r.useSlots(),n=o=>{var c;const s=(c=t[o])==null?void 0:c.call(t),a=u=>{if(u.type===r.Comment||Array.isArray(u.children)&&!u.children.length)return!1;if(u.type!==r.Text)return!0;if(typeof u.children=="string")return u.children.trim()!==""};return s&&(s!=null&&s.length)?s.some(f=>a(f)):!1};if(Array.isArray(e)){const o=r.reactive({});return e.forEach(s=>{const a=r.computed(()=>n(s));o[s]=a}),o}else return r.computed(()=>n(e))}const F={TdsReportBar:"TdsReportBar"},L={BackTop:["Tooltip"]};function J(e,t){if(["NumberAnimation","Watermark"].includes(e))return[];const n=[e];e in L&&n.push(...L[e]);const o=t!=null&&t.cjs?"lib":"es",s=[`@topdatasec/report/${o}/style/global.css`];return n.forEach(a=>{s.push(`@topdatasec/report/${o}/${F[a]}/${a}.css`)}),s}function K(e){return{type:"component",resolve:t=>{if(t in F)return{name:t,from:"@topdatasec/report",sideEffects:J(t,e)}}}}const Y=function(e){return Object.values(U).forEach(t=>{t&&t.install&&e.use(t)}),e},Q={install:Y};i.TdsReportBar=y,i.VueAmazingUIResolver=K,i.add=j,i.cancelRaf=I,i.dateFormat=V,i.debounce=T,i.default=Q,i.downloadFile=N,i.formatNumber=k,i.install=Y,i.rafTimeout=H,i.throttle=M,i.toggleDark=q,i.useEventListener=$,i.useFps=C,i.useMediaQuery=W,i.useMutationObserver=x,i.useResizeObserver=Z,i.useScroll=P,i.useSlotsExist=G,Object.defineProperties(i,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { defineComponent as n, computed as a, createElementBlock as r, openBlock as s, createVNode as p, unref as c } from "vue";
|
|
2
|
+
import d from "topdatasec-ui";
|
|
3
|
+
const m = { class: "chart-components" }, f = /* @__PURE__ */ n({
|
|
4
|
+
name: "TdsReportBar",
|
|
5
|
+
__name: "TdsReportBar",
|
|
6
|
+
props: {
|
|
7
|
+
data: {}
|
|
8
|
+
},
|
|
9
|
+
setup(t) {
|
|
10
|
+
const o = t;
|
|
11
|
+
console.log(o.data, 444444444);
|
|
12
|
+
const e = a(() => o.data.options);
|
|
13
|
+
return (i, l) => (s(), r("div", m, [
|
|
14
|
+
p(c(d), { option: e.value }, null, 8, ["option"])
|
|
15
|
+
]));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
export {
|
|
19
|
+
f as default
|
|
20
|
+
};
|
package/es/bar/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export type { Props } from './
|
|
1
|
+
export type { Props } from './TdsReportBar';
|
|
2
2
|
declare const _default: {
|
|
3
|
-
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./
|
|
3
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./TdsReportBar').Props> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
|
4
4
|
P: {};
|
|
5
5
|
B: {};
|
|
6
6
|
D: {};
|
|
7
7
|
C: {};
|
|
8
8
|
M: {};
|
|
9
9
|
Defaults: {};
|
|
10
|
-
}, Readonly<import('./
|
|
10
|
+
}, Readonly<import('./TdsReportBar').Props> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
11
11
|
__isFragment?: never;
|
|
12
12
|
__isTeleport?: never;
|
|
13
13
|
__isSuspense?: never;
|
|
14
|
-
} & import('vue').ComponentOptionsBase<Readonly<import('./
|
|
14
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('./TdsReportBar').Props> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
|
|
15
15
|
export default _default;
|
package/es/bar/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("topdatasec-ui"),s={class:"chart-components"},a=e.defineComponent({name:"TdsReportBar",__name:"TdsReportBar",props:{data:{}},setup(t){const o=t;console.log(o.data,444444444);const n=e.computed(()=>o.data.options);return(c,u)=>(e.openBlock(),e.createElementBlock("div",s,[e.createVNode(e.unref(r),{option:n.value},null,8,["option"])]))}});exports.default=a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./TdsReportBar.vue.cjs");exports.default=e.default;
|
package/lib/bar/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./TdsReportBar.vue.cjs"),t=require("../utils/type.cjs"),u=t.withInstall(e.default);exports.default=u;
|
package/lib/bar/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export type { Props } from './
|
|
1
|
+
export type { Props } from './TdsReportBar';
|
|
2
2
|
declare const _default: {
|
|
3
|
-
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./
|
|
3
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./TdsReportBar').Props> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
|
4
4
|
P: {};
|
|
5
5
|
B: {};
|
|
6
6
|
D: {};
|
|
7
7
|
C: {};
|
|
8
8
|
M: {};
|
|
9
9
|
Defaults: {};
|
|
10
|
-
}, Readonly<import('./
|
|
10
|
+
}, Readonly<import('./TdsReportBar').Props> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
11
11
|
__isFragment?: never;
|
|
12
12
|
__isTeleport?: never;
|
|
13
13
|
__isSuspense?: never;
|
|
14
|
-
} & import('vue').ComponentOptionsBase<Readonly<import('./
|
|
14
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('./TdsReportBar').Props> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
|
|
15
15
|
export default _default;
|
package/package.json
CHANGED
package/es/bar/Bar.vue.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { defineComponent as e, computed as a, createElementBlock as n, openBlock as c } from "vue";
|
|
2
|
-
const s = { class: "chart-components" }, m = /* @__PURE__ */ e({
|
|
3
|
-
name: "TdsReportBar",
|
|
4
|
-
__name: "Bar",
|
|
5
|
-
props: {
|
|
6
|
-
data: {}
|
|
7
|
-
},
|
|
8
|
-
setup(t) {
|
|
9
|
-
const o = t;
|
|
10
|
-
return console.log(o.data, 444444444), a(() => o.data.options), (r, p) => (c(), n("div", s, " 111111111111111111111 "));
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
export {
|
|
14
|
-
m as default
|
|
15
|
-
};
|
package/es/bar/Bar.vue2.js
DELETED
package/lib/bar/Bar.vue.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n={class:"chart-components"},a=e.defineComponent({name:"TdsReportBar",__name:"Bar",props:{data:{}},setup(o){const t=o;return console.log(t.data,444444444),e.computed(()=>t.data.options),(s,c)=>(e.openBlock(),e.createElementBlock("div",n," 111111111111111111111 "))}});exports.default=a;
|
package/lib/bar/Bar.vue2.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./Bar.vue.cjs");exports.default=e.default;
|
|
File without changes
|
|
File without changes
|