@xiee/utils 1.14.28 → 1.14.30

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/g2-patches.js CHANGED
@@ -17,7 +17,7 @@ G2.register("data.column", (options) => {
17
17
  };
18
18
  });
19
19
 
20
- // modify G2 defaults: font sizes, grid opacity, and point radius
20
+ // modify G2 defaults: font sizes, grid opacity, point radius, shapes, and inset
21
21
  (() => {
22
22
  const FONT_SCALE = 4 / 3,
23
23
  FONT_RE = /[fF]ontSize$/,
@@ -36,11 +36,16 @@ G2.register("data.column", (options) => {
36
36
 
37
37
  const patchTheme = (theme) => {
38
38
  scaleFontSizes(theme);
39
+ if (
40
+ isObj(theme.legendCategory) &&
41
+ typeof theme.legendCategory.itemMarkerSize === "number"
42
+ )
43
+ theme.legendCategory.itemMarkerSize *= FONT_SCALE;
39
44
  if (isObj(theme.point))
40
45
  for (const style of Object.values(theme.point))
41
- if (isObj(style) && typeof style.r === "number")
42
- style.r = POINT_RADIUS;
46
+ if (isObj(style) && typeof style.r === "number") style.r = POINT_RADIUS;
43
47
  if (isObj(theme.axis)) theme.axis.gridStrokeOpacity = 0.25;
48
+ theme.inset = 16;
44
49
  return theme;
45
50
  };
46
51
 
@@ -67,7 +72,13 @@ G2.register("data.column", (options) => {
67
72
  for (const i of I) value[i] = POINT_RADIUS;
68
73
  return [
69
74
  I,
70
- { ...mark, encode: { ...mark.encode, size: { type: "column", value, visual: true } } },
75
+ {
76
+ ...mark,
77
+ encode: {
78
+ ...mark.encode,
79
+ size: { type: "column", value, visual: true },
80
+ },
81
+ },
71
82
  ];
72
83
  };
73
84
  CustomMaybeSize.props = {};
@@ -76,4 +87,38 @@ G2.register("data.column", (options) => {
76
87
  for (const [i, e] of (lib[key]?.props?.postInference ?? []).entries())
77
88
  if (e.type === G2.MaybeSize)
78
89
  lib[key].props.postInference[i] = { type: CustomMaybeSize };
90
+
91
+ // Reorder point shapes: solid shapes first, then hollow ones.
92
+ for (const key of ["mark.point", "mark.beeswarm"]) {
93
+ const mark = lib[key];
94
+ if (!mark?.props?.shape) continue;
95
+ mark.props.defaultShape = "point";
96
+ const newShape = Object.fromEntries(
97
+ Object.entries(mark.props.shape).sort(([a], [b]) => /^hollow/.test(a) - /^hollow/.test(b))
98
+ );
99
+ mark.props.shape = newShape;
100
+ for (const ch of mark.props.channels || [])
101
+ if (ch.name === "shape") ch.range = Object.keys(newShape);
102
+ }
103
+
104
+ // Scale hardcoded label font sizes in composite marks.
105
+ // These marks live in G2.graphlib(), not G2.corelib().
106
+ const graphLib = G2.graphlib?.() ?? {};
107
+ for (const key of ["mark.sankey", "mark.chord", "mark.treemap"]) {
108
+ const orig = graphLib[key];
109
+ if (typeof orig !== "function") continue;
110
+ const wrapped = function (...args) {
111
+ const result = orig.apply(this, args);
112
+ for (const m of Array.isArray(result) ? result : [result]) {
113
+ if (!Array.isArray(m?.labels)) continue;
114
+ for (const l of m.labels)
115
+ if (typeof l?.fontSize === "number") l.fontSize *= FONT_SCALE;
116
+ }
117
+ return result;
118
+ };
119
+ wrapped.props = orig.props;
120
+ try {
121
+ G2.register(key, wrapped);
122
+ } catch (_) {}
123
+ }
79
124
  })();
@@ -1,2 +1,2 @@
1
- G2.register("data.column",e=>{const{value:t}=e;return async()=>{let e=t;if("string"==typeof t){const o=await fetch(t);e=await o.json()}const o=Object.keys(e);return 0===o.length?[]:e[o[0]].map((t,r)=>o.reduce((t,o)=>(t[o]=e[o][r],t),{}))}}),(()=>{const e=4/3,t=/[fF]ontSize$/,o=e=>e&&"object"==typeof e&&!Array.isArray(e),r=n=>{if(o(n))for(const[s,c]of Object.entries(n))o(c)?r(c):"number"==typeof c&&t.test(s)&&(n[s]=c*e)},n=e=>{if(r(e),o(e.point))for(const t of Object.values(e.point))o(t)&&"number"==typeof t.r&&(t.r=5);return o(e.axis)&&(e.axis.gridStrokeOpacity=.25),e};for(const e of["Light","Dark","Classic","ClassicDark","Academy"]){const t=G2[e];if("function"!=typeof t)continue;let o;G2[e]=(...e)=>o??=n(t(...e));const r="theme."+e[0].toLowerCase()+e.slice(1);try{G2.register(r,G2[e])}catch(e){}}const s=()=>(e,t)=>{if(void 0!==t.encode.size)return[e,t];const o=[];for(const t of e)o[t]=5;return[e,{...t,encode:{...t.encode,size:{type:"column",value:o,visual:!0}}}]};s.props={};const c=G2.corelib();for(const e of["mark.point","mark.beeswarm"])for(const[t,o]of(c[e]?.props?.postInference??[]).entries())o.type===G2.MaybeSize&&(c[e].props.postInference[t]={type:s})})();
1
+ G2.register("data.column",e=>{const{value:t}=e;return async()=>{let e=t;if("string"==typeof t){const o=await fetch(t);e=await o.json()}const o=Object.keys(e);return 0===o.length?[]:e[o[0]].map((t,r)=>o.reduce((t,o)=>(t[o]=e[o][r],t),{}))}}),(()=>{const e=4/3,t=/[fF]ontSize$/,o=e=>e&&"object"==typeof e&&!Array.isArray(e),r=n=>{if(o(n))for(const[s,c]of Object.entries(n))o(c)?r(c):"number"==typeof c&&t.test(s)&&(n[s]=c*e)},n=t=>{if(r(t),o(t.legendCategory)&&"number"==typeof t.legendCategory.itemMarkerSize&&(t.legendCategory.itemMarkerSize*=e),o(t.point))for(const e of Object.values(t.point))o(e)&&"number"==typeof e.r&&(e.r=5);return o(t.axis)&&(t.axis.gridStrokeOpacity=.25),t.inset=16,t};for(const e of["Light","Dark","Classic","ClassicDark","Academy"]){const t=G2[e];if("function"!=typeof t)continue;let o;G2[e]=(...e)=>o??=n(t(...e));const r="theme."+e[0].toLowerCase()+e.slice(1);try{G2.register(r,G2[e])}catch(e){}}const s=()=>(e,t)=>{if(void 0!==t.encode.size)return[e,t];const o=[];for(const t of e)o[t]=5;return[e,{...t,encode:{...t.encode,size:{type:"column",value:o,visual:!0}}}]};s.props={};const c=G2.corelib();for(const e of["mark.point","mark.beeswarm"])for(const[t,o]of(c[e]?.props?.postInference??[]).entries())o.type===G2.MaybeSize&&(c[e].props.postInference[t]={type:s});for(const e of["mark.point","mark.beeswarm"]){const t=c[e];if(!t?.props?.shape)continue;t.props.defaultShape="point";const o=Object.fromEntries(Object.entries(t.props.shape).sort(([e],[t])=>/^hollow/.test(e)-/^hollow/.test(t)));t.props.shape=o;for(const e of t.props.channels||[])"shape"===e.name&&(e.range=Object.keys(o))}const a=G2.graphlib?.()??{};for(const t of["mark.sankey","mark.chord","mark.treemap"]){const o=a[t];if("function"!=typeof o)continue;const r=function(...t){const r=o.apply(this,t);for(const t of Array.isArray(r)?r:[r])if(Array.isArray(t?.labels))for(const o of t.labels)"number"==typeof o?.fontSize&&(o.fontSize*=e);return r};r.props=o.props;try{G2.register(t,r)}catch(e){}}})();
2
2
  //# sourceMappingURL=g2-patches.min.js.map
@@ -1 +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","axis","gridStrokeOpacity","name","original","cache","args","toLowerCase","slice","CustomMaybeSize","I","mark","undefined","encode","size","type","visual","props","lib","corelib","e","postInference","MaybeSize"],"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,EACrBC,EAAU,eAGNC,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,IAC/BF,EAAME,EAlBG,GAoBf,OADIb,EAAMS,EAAMK,QAAOL,EAAMK,KAAKC,kBAAoB,KAC/CN,GAGT,IAAK,MAAMO,IAAQ,CAAC,QAAS,OAAQ,UAAW,cAAe,WAAY,CACzE,MAAMC,EAAWrC,GAAGoC,GACpB,GAAwB,mBAAbC,EAAyB,SACpC,IAAIC,EACJtC,GAAGoC,GAAQ,IAAIG,IAAUD,IAAUV,EAAWS,KAAYE,IAG1D,MAAMtB,EAAM,SAAWmB,EAAK,GAAGI,cAAgBJ,EAAKK,MAAM,GAC1D,IACEzC,GAAGC,SAASgB,EAAKjB,GAAGoC,GACtB,CAAE,MAAOvB,GAAI,CACf,CAMA,MAAM6B,EAAkB,IAAM,CAACC,EAAGC,KAChC,QAAyBC,IAArBD,EAAKE,OAAOC,KAAoB,MAAO,CAACJ,EAAGC,GAC/C,MAAMzC,EAAQ,GACd,IAAK,MAAMW,KAAK6B,EAAGxC,EAAMW,GA3CV,EA4Cf,MAAO,CACL6B,EACA,IAAKC,EAAME,OAAQ,IAAKF,EAAKE,OAAQC,KAAM,CAAEC,KAAM,SAAU7C,QAAO8C,QAAQ,OAGhFP,EAAgBQ,MAAQ,CAAC,EACzB,MAAMC,EAAMnD,GAAGoD,UACf,IAAK,MAAMnC,IAAO,CAAC,aAAc,iBAC/B,IAAK,MAAOH,EAAGuC,KAAOF,EAAIlC,IAAMiC,OAAOI,eAAiB,IAAI5B,UACtD2B,EAAEL,OAAShD,GAAGuD,YAChBJ,EAAIlC,GAAKiC,MAAMI,cAAcxC,GAAK,CAAEkC,KAAMN,GACjD,EA1DD","ignoreList":[]}
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","legendCategory","itemMarkerSize","point","style","values","r","axis","gridStrokeOpacity","inset","name","original","cache","args","toLowerCase","slice","CustomMaybeSize","I","mark","undefined","encode","size","type","visual","props","lib","corelib","e","postInference","MaybeSize","shape","defaultShape","newShape","fromEntries","sort","a","b","ch","channels","range","graphLib","graphlib","orig","wrapped","result","apply","this","m","labels","l","fontSize"],"sources":["g2-patches.js"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.14.28",
3
+ "version": "1.14.30",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"