@xiee/utils 1.14.24 → 1.14.25

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 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;
@@ -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
@@ -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,cACjB,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":[]}
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":[]}
@@ -0,0 +1,51 @@
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
+ }
51
+ })();
@@ -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,n)=>o.reduce((e,o)=>(e[o]=t[o][n],e),{}))}}),(()=>{const t=4/3,e=/[fF]ontSize$/,o=t=>t&&"object"==typeof t&&!Array.isArray(t),n=r=>{if(o(r))for(const[c,s]of Object.entries(r))o(s)?n(s):"number"==typeof s&&e.test(c)&&(r[c]=s*t)},r=t=>{if(n(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??=r(e(...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"],"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,GAC5D,CACD,EA9BD","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.14.24",
3
+ "version": "1.14.25",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
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
- });
@@ -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
@@ -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":[]}