@xiee/utils 1.14.24 → 1.14.26
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/js/fullwidth.js +2 -2
- package/js/fullwidth.min.js +1 -1
- package/js/fullwidth.min.js.map +1 -1
- package/js/g2-patches.js +57 -0
- package/js/g2-patches.min.js +2 -0
- package/js/g2-patches.min.js.map +1 -0
- package/package.json +1 -1
- package/js/g2-column.js +0 -18
- package/js/g2-column.min.js +0 -2
- package/js/g2-column.min.js.map +0 -1
package/js/fullwidth.js
CHANGED
|
@@ -3,8 +3,8 @@ document.querySelectorAll('pre,table,#TableOfContents').forEach(node => {
|
|
|
3
3
|
function fullwidth(el) {
|
|
4
4
|
el.classList.add('fullwidth');
|
|
5
5
|
}
|
|
6
|
-
// skip if already in .fullwidth container
|
|
7
|
-
if (node.closest('.fullwidth')) return;
|
|
6
|
+
// skip if already in .fullwidth container (or .tabset)
|
|
7
|
+
if (node.closest('.fullwidth,.tabset')) return;
|
|
8
8
|
switch (node.tagName) {
|
|
9
9
|
case 'PRE':
|
|
10
10
|
const el = node.firstElementChild;
|
package/js/fullwidth.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
document.querySelectorAll("pre,table,#TableOfContents").forEach(t=>{function e(t){t.classList.add("fullwidth")}if(!t.closest(".fullwidth"))switch(t.tagName){case"PRE":const l=t.firstElementChild;"CODE"===l?.tagName&&l.scrollWidth>l.offsetWidth&&e(l.parentNode);break;case"TABLE":const s=t.parentElement;s&&s.offsetWidth<t.offsetWidth&&e(t);break;default:t.querySelectorAll("a").forEach(l=>{!t.classList.contains("fullwidth")&&l.getClientRects().length>1&&e(t)})}});
|
|
1
|
+
document.querySelectorAll("pre,table,#TableOfContents").forEach(t=>{function e(t){t.classList.add("fullwidth")}if(!t.closest(".fullwidth,.tabset"))switch(t.tagName){case"PRE":const l=t.firstElementChild;"CODE"===l?.tagName&&l.scrollWidth>l.offsetWidth&&e(l.parentNode);break;case"TABLE":const s=t.parentElement;s&&s.offsetWidth<t.offsetWidth&&e(t);break;default:t.querySelectorAll("a").forEach(l=>{!t.classList.contains("fullwidth")&&l.getClientRects().length>1&&e(t)})}});
|
|
2
2
|
//# sourceMappingURL=fullwidth.min.js.map
|
package/js/fullwidth.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["document","querySelectorAll","forEach","node","fullwidth","el","classList","add","closest","tagName","firstElementChild","scrollWidth","offsetWidth","parentNode","p","parentElement","a","contains","getClientRects","length"],"sources":["fullwidth.js"],"mappings":"AACAA,SAASC,iBAAiB,8BAA8BC,QAAQC,IAC9D,SAASC,EAAUC,GACjBA,EAAGC,UAAUC,IAAI,YACnB,CAEA,IAAIJ,EAAKK,QAAQ,
|
|
1
|
+
{"version":3,"names":["document","querySelectorAll","forEach","node","fullwidth","el","classList","add","closest","tagName","firstElementChild","scrollWidth","offsetWidth","parentNode","p","parentElement","a","contains","getClientRects","length"],"sources":["fullwidth.js"],"mappings":"AACAA,SAASC,iBAAiB,8BAA8BC,QAAQC,IAC9D,SAASC,EAAUC,GACjBA,EAAGC,UAAUC,IAAI,YACnB,CAEA,IAAIJ,EAAKK,QAAQ,sBACjB,OAAQL,EAAKM,SACX,IAAK,MACH,MAAMJ,EAAKF,EAAKO,kBACA,SAAhBL,GAAII,SAAsBJ,EAAGM,YAAcN,EAAGO,aAAeR,EAAUC,EAAGQ,YAC1E,MACF,IAAK,QACH,MAAMC,EAAIX,EAAKY,cACfD,GAAKA,EAAEF,YAAcT,EAAKS,aAAeR,EAAUD,GACnD,MACF,QAEEA,EAAKF,iBAAiB,KAAKC,QAAQc,KAEhCb,EAAKG,UAAUW,SAAS,cAAgBD,EAAEE,iBAAiBC,OAAS,GAAKf,EAAUD","ignoreList":[]}
|
package/js/g2-patches.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// support columnar data format in G2
|
|
2
|
+
G2.register("data.column", (options) => {
|
|
3
|
+
const { value } = options;
|
|
4
|
+
return async () => {
|
|
5
|
+
let d = value;
|
|
6
|
+
// handle URL strings if necessary
|
|
7
|
+
if (typeof value === "string") {
|
|
8
|
+
const resp = await fetch(value);
|
|
9
|
+
d = await resp.json();
|
|
10
|
+
}
|
|
11
|
+
const keys = Object.keys(d);
|
|
12
|
+
if (keys.length === 0) return [];
|
|
13
|
+
// convert to row-based data
|
|
14
|
+
return d[keys[0]].map((_, i) =>
|
|
15
|
+
keys.reduce((row, key) => ((row[key] = d[key][i]), row), {}),
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// modify G2's theme default font sizes and point sizes
|
|
21
|
+
(() => {
|
|
22
|
+
const FONT_SCALE = 4 / 3,
|
|
23
|
+
POINT_RADIUS = 5,
|
|
24
|
+
FONT_RE = /[fF]ontSize$/;
|
|
25
|
+
|
|
26
|
+
const isObj = (v) => v && typeof v === "object" && !Array.isArray(v);
|
|
27
|
+
|
|
28
|
+
const scaleFontSizes = (obj) => {
|
|
29
|
+
if (!isObj(obj)) return;
|
|
30
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
31
|
+
if (isObj(value)) scaleFontSizes(value);
|
|
32
|
+
else if (typeof value === "number" && FONT_RE.test(key))
|
|
33
|
+
obj[key] = value * FONT_SCALE;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const patchTheme = (theme) => {
|
|
38
|
+
scaleFontSizes(theme);
|
|
39
|
+
if (isObj(theme.point))
|
|
40
|
+
for (const style of Object.values(theme.point))
|
|
41
|
+
if (isObj(style) && typeof style.r === "number") style.r = POINT_RADIUS;
|
|
42
|
+
return theme;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
for (const name of ["Light", "Dark", "Classic", "ClassicDark", "Academy"]) {
|
|
46
|
+
const original = G2[name];
|
|
47
|
+
if (typeof original !== "function") continue;
|
|
48
|
+
let cache;
|
|
49
|
+
G2[name] = (...args) => (cache ??= patchTheme(original(...args)));
|
|
50
|
+
// Re-register in G2's internal library so charts pick up the patched theme.
|
|
51
|
+
// The registry key is 'theme.light', 'theme.classicDark', etc.
|
|
52
|
+
const key = "theme." + name[0].toLowerCase() + name.slice(1);
|
|
53
|
+
try {
|
|
54
|
+
G2.register(key, G2[name]);
|
|
55
|
+
} catch (_) {}
|
|
56
|
+
}
|
|
57
|
+
})();
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
G2.register("data.column",t=>{const{value:e}=t;return async()=>{let t=e;if("string"==typeof e){const o=await fetch(e);t=await o.json()}const o=Object.keys(t);return 0===o.length?[]:t[o[0]].map((e,r)=>o.reduce((e,o)=>(e[o]=t[o][r],e),{}))}}),(()=>{const t=4/3,e=/[fF]ontSize$/,o=t=>t&&"object"==typeof t&&!Array.isArray(t),r=n=>{if(o(n))for(const[c,s]of Object.entries(n))o(s)?r(s):"number"==typeof s&&e.test(c)&&(n[c]=s*t)},n=t=>{if(r(t),o(t.point))for(const e of Object.values(t.point))o(e)&&"number"==typeof e.r&&(e.r=5);return t};for(const t of["Light","Dark","Classic","ClassicDark","Academy"]){const e=G2[t];if("function"!=typeof e)continue;let o;G2[t]=(...t)=>o??=n(e(...t));const r="theme."+t[0].toLowerCase()+t.slice(1);try{G2.register(r,G2[t])}catch(t){}}})();
|
|
2
|
+
//# sourceMappingURL=g2-patches.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["G2","register","options","value","async","d","resp","fetch","json","keys","Object","length","map","_","i","reduce","row","key","FONT_SCALE","FONT_RE","isObj","v","Array","isArray","scaleFontSizes","obj","entries","test","patchTheme","theme","point","style","values","r","name","original","cache","args","toLowerCase","slice"],"sources":["g2-patches.js"],"mappings":"AACAA,GAAGC,SAAS,cAAgBC,IAC1B,MAAMC,MAAEA,GAAUD,EAClB,OAAOE,UACL,IAAIC,EAAIF,EAER,GAAqB,iBAAVA,EAAoB,CAC7B,MAAMG,QAAaC,MAAMJ,GACzBE,QAAUC,EAAKE,MACjB,CACA,MAAMC,EAAOC,OAAOD,KAAKJ,GACzB,OAAoB,IAAhBI,EAAKE,OAAqB,GAEvBN,EAAEI,EAAK,IAAIG,IAAI,CAACC,EAAGC,IACxBL,EAAKM,OAAO,CAACC,EAAKC,KAAUD,EAAIC,GAAOZ,EAAEY,GAAKH,GAAKE,GAAM,CAAC,OAMhE,MACE,MAAME,EAAa,EAAI,EAErBC,EAAU,eAENC,EAASC,GAAMA,GAAkB,iBAANA,IAAmBC,MAAMC,QAAQF,GAE5DG,EAAkBC,IACtB,GAAKL,EAAMK,GACX,IAAK,MAAOR,EAAKd,KAAUO,OAAOgB,QAAQD,GACpCL,EAAMjB,GAAQqB,EAAerB,GACP,iBAAVA,GAAsBgB,EAAQQ,KAAKV,KACjDQ,EAAIR,GAAOd,EAAQe,IAInBU,EAAcC,IAElB,GADAL,EAAeK,GACXT,EAAMS,EAAMC,OACd,IAAK,MAAMC,KAASrB,OAAOsB,OAAOH,EAAMC,OAClCV,EAAMW,IAA6B,iBAAZA,EAAME,IAAgBF,EAAME,EAlB5C,GAmBf,OAAOJ,GAGT,IAAK,MAAMK,IAAQ,CAAC,QAAS,OAAQ,UAAW,cAAe,WAAY,CACzE,MAAMC,EAAWnC,GAAGkC,GACpB,GAAwB,mBAAbC,EAAyB,SACpC,IAAIC,EACJpC,GAAGkC,GAAQ,IAAIG,IAAUD,IAAUR,EAAWO,KAAYE,IAG1D,MAAMpB,EAAM,SAAWiB,EAAK,GAAGI,cAAgBJ,EAAKK,MAAM,GAC1D,IACEvC,GAAGC,SAASgB,EAAKjB,GAAGkC,GACtB,CAAE,MAAOrB,GAAI,CACf,CACD,EApCD","ignoreList":[]}
|
package/package.json
CHANGED
package/js/g2-column.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// support columnar data format in G2
|
|
2
|
-
G2.register('data.column', (options) => {
|
|
3
|
-
const { value } = options;
|
|
4
|
-
return async () => {
|
|
5
|
-
let d = value;
|
|
6
|
-
// handle URL strings if necessary
|
|
7
|
-
if (typeof value === 'string') {
|
|
8
|
-
const resp = await fetch(value);
|
|
9
|
-
d = await resp.json();
|
|
10
|
-
}
|
|
11
|
-
const keys = Object.keys(d);
|
|
12
|
-
if (keys.length === 0) return [];
|
|
13
|
-
// convert to row-based data
|
|
14
|
-
return d[keys[0]].map((_, i) =>
|
|
15
|
-
keys.reduce((row, key) => (row[key] = d[key][i], row), {})
|
|
16
|
-
);
|
|
17
|
-
};
|
|
18
|
-
});
|
package/js/g2-column.min.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
G2.register("data.column",t=>{const{value:e}=t;return async()=>{let t=e;if("string"==typeof e){const n=await fetch(e);t=await n.json()}const n=Object.keys(t);return 0===n.length?[]:t[n[0]].map((e,a)=>n.reduce((e,n)=>(e[n]=t[n][a],e),{}))}});
|
|
2
|
-
//# sourceMappingURL=g2-column.min.js.map
|
package/js/g2-column.min.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["G2","register","options","value","async","d","resp","fetch","json","keys","Object","length","map","_","i","reduce","row","key"],"sources":["g2-column.js"],"mappings":"AACAA,GAAGC,SAAS,cAAgBC,IAC1B,MAAMC,MAAEA,GAAUD,EAClB,OAAOE,UACL,IAAIC,EAAIF,EAER,GAAqB,iBAAVA,EAAoB,CAC7B,MAAMG,QAAaC,MAAMJ,GACzBE,QAAUC,EAAKE,MACjB,CACA,MAAMC,EAAOC,OAAOD,KAAKJ,GACzB,OAAoB,IAAhBI,EAAKE,OAAqB,GAEvBN,EAAEI,EAAK,IAAIG,IAAI,CAACC,EAAGC,IACxBL,EAAKM,OAAO,CAACC,EAAKC,KAASD,EAAIC,GAAOZ,EAAEY,GAAKH,GAAIE,GAAM,CAAC","ignoreList":[]}
|