@xiee/utils 1.14.27 → 1.14.29
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 +67 -3
- package/js/g2-patches.min.js +1 -1
- package/js/g2-patches.min.js.map +1 -1
- package/package.json +1 -1
package/js/g2-patches.js
CHANGED
|
@@ -17,11 +17,11 @@ G2.register("data.column", (options) => {
|
|
|
17
17
|
};
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
-
// modify G2
|
|
20
|
+
// modify G2 defaults: font sizes, grid opacity, point radius, shapes, and inset
|
|
21
21
|
(() => {
|
|
22
22
|
const FONT_SCALE = 4 / 3,
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
FONT_RE = /[fF]ontSize$/,
|
|
24
|
+
POINT_RADIUS = 5;
|
|
25
25
|
|
|
26
26
|
const isObj = (v) => v && typeof v === "object" && !Array.isArray(v);
|
|
27
27
|
|
|
@@ -36,10 +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
46
|
if (isObj(style) && typeof style.r === "number") style.r = POINT_RADIUS;
|
|
42
47
|
if (isObj(theme.axis)) theme.axis.gridStrokeOpacity = 0.25;
|
|
48
|
+
theme.inset = 16;
|
|
43
49
|
return theme;
|
|
44
50
|
};
|
|
45
51
|
|
|
@@ -55,4 +61,62 @@ G2.register("data.column", (options) => {
|
|
|
55
61
|
G2.register(key, G2[name]);
|
|
56
62
|
} catch (_) {}
|
|
57
63
|
}
|
|
64
|
+
|
|
65
|
+
// Patch default point/symbol size. G2's MaybeSize transform hardcodes 3 as
|
|
66
|
+
// the constant visual size for point marks when no explicit size encoding is
|
|
67
|
+
// provided. The theme point.*.r values above are fallbacks that MaybeSize
|
|
68
|
+
// shadows, so we must also replace MaybeSize in each mark's postInference.
|
|
69
|
+
const CustomMaybeSize = () => (I, mark) => {
|
|
70
|
+
if (mark.encode.size !== undefined) return [I, mark];
|
|
71
|
+
const value = [];
|
|
72
|
+
for (const i of I) value[i] = POINT_RADIUS;
|
|
73
|
+
return [
|
|
74
|
+
I,
|
|
75
|
+
{
|
|
76
|
+
...mark,
|
|
77
|
+
encode: {
|
|
78
|
+
...mark.encode,
|
|
79
|
+
size: { type: "column", value, visual: true },
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
};
|
|
84
|
+
CustomMaybeSize.props = {};
|
|
85
|
+
const lib = G2.corelib();
|
|
86
|
+
for (const key of ["mark.point", "mark.beeswarm"])
|
|
87
|
+
for (const [i, e] of (lib[key]?.props?.postInference ?? []).entries())
|
|
88
|
+
if (e.type === G2.MaybeSize)
|
|
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
|
+
for (const key of ["mark.sankey", "mark.chord", "mark.treemap"]) {
|
|
106
|
+
const orig = lib[key];
|
|
107
|
+
if (typeof orig !== "function") continue;
|
|
108
|
+
const wrapped = function (...args) {
|
|
109
|
+
const result = orig.apply(this, args);
|
|
110
|
+
for (const m of Array.isArray(result) ? result : [result]) {
|
|
111
|
+
if (!Array.isArray(m?.labels)) continue;
|
|
112
|
+
for (const l of m.labels)
|
|
113
|
+
if (typeof l?.fontSize === "number") l.fontSize *= FONT_SCALE;
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
};
|
|
117
|
+
wrapped.props = orig.props;
|
|
118
|
+
try {
|
|
119
|
+
G2.register(key, wrapped);
|
|
120
|
+
} catch (_) {}
|
|
121
|
+
}
|
|
58
122
|
})();
|
package/js/g2-patches.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
G2.register("data.column",
|
|
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))}for(const t of["mark.sankey","mark.chord","mark.treemap"]){const o=c[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
|
package/js/g2-patches.min.js.map
CHANGED
|
@@ -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"],"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,
|
|
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","orig","wrapped","result","apply","this","m","labels","l","fontSize"],"sources":["g2-patches.js"],"mappings":"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","ignoreList":[]}
|