@bicharts/chart-host 0.5.92 → 0.5.93
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/{chunk-YIRWZUKN.mjs → chunk-BWOY6GDX.mjs} +149 -137
- package/dist/index.mjs +12 -12
- package/dist/react.mjs +1 -1
- package/package.json +1 -1
|
@@ -201,18 +201,18 @@ var require_papaparse_min = __commonJS({
|
|
|
201
201
|
e = true, s4.abort(), p4.meta.aborted = true, q3(m2.complete) && m2.complete(p4), n2 = "";
|
|
202
202
|
}, this.guessLineEndings = function(e2, t2) {
|
|
203
203
|
e2 = e2.substring(0, 1048576);
|
|
204
|
-
var t2 = new RegExp(
|
|
204
|
+
var t2 = new RegExp(U2(t2) + "([^]*?)" + U2(t2), "gm"), i5 = (e2 = e2.replace(t2, "")).split("\r"), t2 = e2.split("\n"), e2 = 1 < t2.length && t2[0].length < i5[0].length;
|
|
205
205
|
if (1 === i5.length || e2) return "\n";
|
|
206
206
|
for (var r4 = 0, n4 = 0; n4 < i5.length; n4++) "\n" === i5[n4][0] && r4++;
|
|
207
207
|
return r4 >= i5.length / 2 ? "\r\n" : "\r";
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
|
-
function
|
|
210
|
+
function U2(e) {
|
|
211
211
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
212
212
|
}
|
|
213
213
|
function E4(C2) {
|
|
214
|
-
var S = (C2 = C2 || {}).delimiter, O2 = C2.newline, x2 = C2.comments, I2 = C2.step, A = C2.preview, T3 = C2.fastMode, D3 = null, L2 = false, F4 = null == C2.quoteChar ? '"' : C2.quoteChar,
|
|
215
|
-
if (void 0 !== C2.escapeChar && (
|
|
214
|
+
var S = (C2 = C2 || {}).delimiter, O2 = C2.newline, x2 = C2.comments, I2 = C2.step, A = C2.preview, T3 = C2.fastMode, D3 = null, L2 = false, F4 = null == C2.quoteChar ? '"' : C2.quoteChar, j2 = F4;
|
|
215
|
+
if (void 0 !== C2.escapeChar && (j2 = C2.escapeChar), ("string" != typeof S || -1 < v3.BAD_DELIMITERS.indexOf(S)) && (S = ","), x2 === S) throw new Error("Comment character same as delimiter");
|
|
216
216
|
true === x2 ? x2 = "#" : ("string" != typeof x2 || -1 < v3.BAD_DELIMITERS.indexOf(x2)) && (x2 = false), "\n" !== O2 && "\r" !== O2 && "\r\n" !== O2 && (O2 = "\n");
|
|
217
217
|
var z3 = 0, M = false;
|
|
218
218
|
this.parse = function(i4, t, r2) {
|
|
@@ -232,11 +232,11 @@ var require_papaparse_min = __commonJS({
|
|
|
232
232
|
}
|
|
233
233
|
return w2();
|
|
234
234
|
}
|
|
235
|
-
for (var p4 = i4.indexOf(S, z3), g4 = i4.indexOf(O2, z3), _3 = new RegExp(
|
|
235
|
+
for (var p4 = i4.indexOf(S, z3), g4 = i4.indexOf(O2, z3), _3 = new RegExp(U2(j2) + U2(F4), "g"), m2 = i4.indexOf(F4, z3); ; ) if (i4[z3] === F4) for (m2 = z3, z3++; ; ) {
|
|
236
236
|
if (-1 === (m2 = i4.indexOf(F4, m2 + 1))) return r2 || u5.push({ type: "Quotes", code: "MissingQuotes", message: "Quoted field unterminated", row: h3.length, index: z3 }), E5();
|
|
237
237
|
if (m2 === n2 - 1) return E5(i4.substring(z3, m2).replace(_3, F4));
|
|
238
|
-
if (F4 ===
|
|
239
|
-
else if (F4 ===
|
|
238
|
+
if (F4 === j2 && i4[m2 + 1] === j2) m2++;
|
|
239
|
+
else if (F4 === j2 || 0 === m2 || i4[m2 - 1] !== j2) {
|
|
240
240
|
-1 !== p4 && p4 < m2 + 1 && (p4 = i4.indexOf(S, m2 + 1));
|
|
241
241
|
var y5 = v4(-1 === (g4 = -1 !== g4 && g4 < m2 + 1 ? i4.indexOf(O2, m2 + 1) : g4) ? p4 : Math.min(p4, g4));
|
|
242
242
|
if (i4.substr(m2 + 1 + y5, e) === S) {
|
|
@@ -358,7 +358,7 @@ var require_papaparse_min = __commonJS({
|
|
|
358
358
|
}
|
|
359
359
|
void 0 !== t.escapeChar && (o2 = t.escapeChar + a5), t.escapeFormulae instanceof RegExp ? h3 = t.escapeFormulae : "boolean" == typeof t.escapeFormulae && t.escapeFormulae && (h3 = /^[=+\-@\t\r].*$/);
|
|
360
360
|
}
|
|
361
|
-
})(), new RegExp(
|
|
361
|
+
})(), new RegExp(U2(a5), "g"));
|
|
362
362
|
"string" == typeof e && (e = JSON.parse(e));
|
|
363
363
|
if (Array.isArray(e)) {
|
|
364
364
|
if (!e.length || Array.isArray(e[0])) return n2(null, e, i4);
|
|
@@ -1077,78 +1077,90 @@ function Wt(n, s2) {
|
|
|
1077
1077
|
return { iso: i2, unmatched: M, matchedRows: h2, totalRows: n.length };
|
|
1078
1078
|
}
|
|
1079
1079
|
|
|
1080
|
-
// ../shape-core/dist/chunk-
|
|
1080
|
+
// ../shape-core/dist/chunk-5MZ6HMKL.mjs
|
|
1081
1081
|
var import_papaparse = __toESM(require_papaparse_min(), 1);
|
|
1082
1082
|
/*! @bicharts/shape-core — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; US Census/TIGER (public domain). Full text: NOTICE in this package. */
|
|
1083
|
-
var
|
|
1084
|
-
var
|
|
1083
|
+
var Ce = { "north-america": "AG AI AW BB BL BM BQ BS BZ CA CR CU CW DM DO GD GL GP GT HN HT JM KN KY LC MF MQ MS MX NI PA PM PR SV SX TC TT US VC VG VI", "south-america": "AR BO BR CL CO EC FK GF GY PE PY SR UY VE", europe: "AD AL AT AX BA BE BG BY CH CY CZ DE DK EE ES FI FO FR GB GG GI GR HR HU IE IM IS IT JE LI LT LU LV MC MD ME MK MT NL NO PL PT RO RS RU SE SI SJ SK SM UA VA", africa: "AO BF BI BJ BW CD CF CG CI CM CV DJ DZ EG EH ER ET GA GH GM GN GQ GW KE KM LR LS LY MA MG ML MR MU MW MZ NA NE NG RE RW SC SD SH SL SN SO SS ST SZ TD TG TN TZ UG YT ZA ZM ZW", asia: "AE AF AM AZ BD BH BN BT CC CN CX GE HK ID IL IN IO IQ IR JO JP KG KH KP KR KW KZ LA LB LK MM MN MO MV MY NP OM PH PK PS QA SA SG SY TH TJ TL TM TR TW UZ VN YE", oceania: "AS AU CK FJ FM GU KI MH MP NC NF NR NU NZ PF PG PN PW SB TK TO TV UM VU WF WS", antarctica: "AQ BV GS HM TF" };
|
|
1084
|
+
var Q2 = (() => {
|
|
1085
1085
|
let n = /* @__PURE__ */ new Map();
|
|
1086
|
-
for (let
|
|
1086
|
+
for (let e of Object.keys(Ce)) for (let t of Ce[e].split(/\s+/)) t && n.set(t, e);
|
|
1087
1087
|
return n;
|
|
1088
1088
|
})();
|
|
1089
|
-
function
|
|
1090
|
-
for (let [
|
|
1091
|
-
let
|
|
1092
|
-
|
|
1093
|
-
}
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
|
-
var
|
|
1097
|
-
var
|
|
1098
|
-
var
|
|
1099
|
-
var
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
function
|
|
1108
|
-
return
|
|
1109
|
-
}
|
|
1110
|
-
var
|
|
1111
|
-
var
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
}
|
|
1124
|
-
function
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
function
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
return
|
|
1146
|
-
}
|
|
1147
|
-
function
|
|
1148
|
-
let
|
|
1149
|
-
if (t
|
|
1150
|
-
if (
|
|
1151
|
-
|
|
1089
|
+
function Ve(n) {
|
|
1090
|
+
for (let [e, t] of n) {
|
|
1091
|
+
let i2 = Q2.get(e);
|
|
1092
|
+
i2 && !Q2.has(t) && Q2.set(t, i2);
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
Ve(N);
|
|
1096
|
+
var Ye = ["rate", "ratio", "pct", "percent", "percentage", "rating", "share", "score", "index", "nps", "csat", "margin", "yield", "coverage", "utilization", "z[_-]?score", "average", "avg", "mean", "median", "stddev", "variance", "gpa", "percentile", "quantile", "efficiency", "accuracy", "probability", "multiplier", "coefficient", "correlation", "occupancy", "age", "bmi", "temperature", "density", "pressure", "humidity", "ph", "velocity", "speed", "elevation", "altitude", "latency", "throughput", "bandwidth", "iops", "temperatuur", "temperatur", "temperatura", "teplota", "lampotila", "homerseklet", "sicaklik", "pression", "presion", "pressao", "pressione", "druck", "tryck", "tlak", "paine", "nyomas", "presiune", "humidite", "humedad", "umidade", "umidita", "feuchtigkeit", "vochtigheid", "kosteus", "vlhkost", "vitesse", "velocidad", "velocidade", "velocita", "geschwindigkeit", "snelheid", "hastighet", "hastighed", "rychlost", "nopeus", "sebesseg", "brzina", "predkosc", "densite", "densidad", "densidade", "densita", "dichte", "dichtheid", "hustota", "tiheys", "gustoca", "moyenne", "mediane", "promedio", "mediana", "gemiddelde", "durchschnitt", "mittelwert", "genomsnitt", "gennemsnit", "gjennomsnitt", "keskiarvo", "atlag", "ortalama", "prosjek", "srednia", "prumer", "priemer", "medie", "taux", "tasa", "taxa", "tasso", "verhaltnis", "verhouding", "aandeel", "anteil", "andel", "osuus", "podil", "udzial", "udio", "pourcentage", "porcentaje", "percentual", "prozent", "procent", "prosentti", "szazalek", "yuzde", "participacion", "participacao", "pondere", "omjer", "arany", "oran", "rata", "leeftijd", "edad", "idade", "wiek", "eletkor", "varsta", "puntuacion", "pontuacao", "punteggio", "betyg", "ocena", "indice", "indeks", "wskaznik", "puan"];
|
|
1097
|
+
var He = ["pct", "percent", "percentage", "rate", "ratio", "rating", "share", "score", "index", "nps", "csat", "margin", "yield", "coverage", "utilization", "gpa", "percentile", "quantile", "bmi", "density", "pressure", "humidity", "velocity", "efficiency", "occupancy", "latency", "throughput", "bandwidth", "iops"];
|
|
1098
|
+
var Ke = ["latitude", "longitude"];
|
|
1099
|
+
var $e = ["latitude", "longitude"];
|
|
1100
|
+
function Z2(n) {
|
|
1101
|
+
return Array.from(n).map((e) => {
|
|
1102
|
+
let t = e.normalize("NFD").replace(/[̀-ͯ]/g, "");
|
|
1103
|
+
return t.length === 1 ? t : e;
|
|
1104
|
+
}).join("");
|
|
1105
|
+
}
|
|
1106
|
+
var re = ["somme de", "suma de", "soma de", "summe von", "som van", "somma di", "summa av", "sum av", "sum af", "soucet z", "suma z", "totaal van", "total de", "toplam", "osszeg", "nombre de", "recuento de", "contagem de", "anzahl von", "aantal van", "conteggio di", "antal av", "lukumaara", "pocet z"];
|
|
1107
|
+
function Ze(n) {
|
|
1108
|
+
return [...n].sort((e, t) => t.length - e.length).map((e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\s+/g, "\\s+")).join("|");
|
|
1109
|
+
}
|
|
1110
|
+
var Re = new RegExp("^\\s*(?:(?:sum|count|count\\s+distinct|distinct\\s+count)\\s+of\\s+|(?:" + Ze(re) + ")\\s+)", "i");
|
|
1111
|
+
var Xe = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])/g;
|
|
1112
|
+
var je = new RegExp("\\b(" + Ye.join("|") + ")\\b|(" + He.join("|") + ")$", "i");
|
|
1113
|
+
var qe = new RegExp("\\b(" + Ke.join("|") + ")\\b|(" + $e.join("|") + ")$", "i");
|
|
1114
|
+
function ve(n) {
|
|
1115
|
+
if (!n) return "";
|
|
1116
|
+
let e = String(n), t = Re.exec(Z2(e));
|
|
1117
|
+
return (t ? e.slice(t[0].length) : e).trim();
|
|
1118
|
+
}
|
|
1119
|
+
function Qe(n) {
|
|
1120
|
+
return !!n && Re.test(Z2(String(n)));
|
|
1121
|
+
}
|
|
1122
|
+
var Je = ["count (distinct)", "count distinct", "distinct count", "standard deviation", "average", "variance", "median", "product", "stddev", "std dev", "count", "sum", "avg", "min", "minimum", "max", "maximum", "var"];
|
|
1123
|
+
var Ae = new RegExp("^\\s*(" + [...Je].sort((n, e) => e.length - n.length).map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\s+/g, "\\s+")).join("|") + ")\\s+of\\s+", "i");
|
|
1124
|
+
function et(n) {
|
|
1125
|
+
let e = ve(n);
|
|
1126
|
+
return e.length === 0 ? "" : e.replace(Xe, " ");
|
|
1127
|
+
}
|
|
1128
|
+
function xe(n, e) {
|
|
1129
|
+
if (!e) return false;
|
|
1130
|
+
let t = ve(e);
|
|
1131
|
+
return n.test(Z2(et(e))) || n.test(Z2(t)) || n.test(Z2(s(t).join(" ")));
|
|
1132
|
+
}
|
|
1133
|
+
function Ie(n) {
|
|
1134
|
+
return xe(qe, n);
|
|
1135
|
+
}
|
|
1136
|
+
function tt(n) {
|
|
1137
|
+
return xe(je, n) || Ie(n);
|
|
1138
|
+
}
|
|
1139
|
+
var we = /int|double|decimal|single|float|number|currency|money/i;
|
|
1140
|
+
function nt(n) {
|
|
1141
|
+
let e = String(n?.valueNature ?? "").trim().toLowerCase();
|
|
1142
|
+
return e === "categorical" ? "Categorical" : e === "ordinal" ? "Ordinal" : e === "continuous" || n?.isMeasure === true || we.test(String(n?.dataType ?? "")) ? "Continuous" : "Categorical";
|
|
1143
|
+
}
|
|
1144
|
+
function it(n) {
|
|
1145
|
+
return n?.isMeasure === true || we.test(String(n?.dataType ?? ""));
|
|
1146
|
+
}
|
|
1147
|
+
function Ee(n) {
|
|
1148
|
+
let e = n ?? {}, t = nt(e);
|
|
1149
|
+
if (t !== "Continuous") return { nature: t, additivity: "unknown", basis: "role", suppressed: false };
|
|
1150
|
+
if (Ie(e.name)) return { nature: t, additivity: "positional", basis: "name", suppressed: true };
|
|
1151
|
+
let i2 = String(e.additivity ?? "").trim().toLowerCase();
|
|
1152
|
+
if (!(i2 === "additive" && Qe(e.name))) {
|
|
1153
|
+
if (i2 === "additive") return { nature: t, additivity: "additive", basis: "measured", suppressed: false };
|
|
1154
|
+
if (i2 === "part_of_whole") return { nature: t, additivity: "part_of_whole", basis: "measured", suppressed: false };
|
|
1155
|
+
if (i2 === "intensive_rate") return { nature: t, additivity: "intensive_rate", basis: "measured", suppressed: false };
|
|
1156
|
+
}
|
|
1157
|
+
return e.discourageAggregationAcrossGroups === true ? { nature: t, additivity: "intensive_rate", basis: "host-flag", suppressed: false } : tt(e.name) ? { nature: t, additivity: "intensive_rate", basis: "name", suppressed: false } : { nature: t, additivity: "additive", basis: "default", suppressed: false };
|
|
1158
|
+
}
|
|
1159
|
+
function De(n) {
|
|
1160
|
+
let e = Ee(n), t = n ?? {};
|
|
1161
|
+
if (e.nature === "Categorical") return ["first", "distinctcount", "count"];
|
|
1162
|
+
if (e.nature === "Ordinal") return it(t) ? ["median", "average", "min", "max", "first", "distinctcount", "count"] : ["first", "distinctcount", "count"];
|
|
1163
|
+
switch (e.additivity) {
|
|
1152
1164
|
case "positional":
|
|
1153
1165
|
return ["min", "max", "count", "distinctcount", "first"];
|
|
1154
1166
|
case "intensive_rate":
|
|
@@ -1157,20 +1169,20 @@ function It2(n) {
|
|
|
1157
1169
|
return ["sum", "average", "median", "min", "max", "count", "distinctcount", "first"];
|
|
1158
1170
|
}
|
|
1159
1171
|
}
|
|
1160
|
-
function
|
|
1161
|
-
return
|
|
1172
|
+
function Bt(n) {
|
|
1173
|
+
return De(n)[0];
|
|
1162
1174
|
}
|
|
1163
|
-
function
|
|
1164
|
-
if (
|
|
1165
|
-
if (
|
|
1166
|
-
let
|
|
1167
|
-
return
|
|
1175
|
+
function Yt(n, e) {
|
|
1176
|
+
if (e !== "sum" && e !== "count") return false;
|
|
1177
|
+
if (e === "count") return true;
|
|
1178
|
+
let t = Ee(n);
|
|
1179
|
+
return t.additivity === "additive" || t.additivity === "part_of_whole" || t.additivity === "unknown";
|
|
1168
1180
|
}
|
|
1169
1181
|
|
|
1170
1182
|
// ../shape-core/dist/index.mjs
|
|
1171
1183
|
/*! @bicharts/shape-core — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; US Census/TIGER (public domain). Full text: NOTICE in this package. */
|
|
1172
1184
|
var E2 = 2;
|
|
1173
|
-
var
|
|
1185
|
+
var Z3 = 400;
|
|
1174
1186
|
function G2(r) {
|
|
1175
1187
|
return !!E(r);
|
|
1176
1188
|
}
|
|
@@ -1179,22 +1191,22 @@ function C(r) {
|
|
|
1179
1191
|
for (let e of r) {
|
|
1180
1192
|
if (e == null) continue;
|
|
1181
1193
|
let s2 = u(String(e));
|
|
1182
|
-
if (!V(s2) && !n.has(s2) && (n.add(s2), n.size >=
|
|
1194
|
+
if (!V(s2) && !n.has(s2) && (n.add(s2), n.size >= Z3)) break;
|
|
1183
1195
|
}
|
|
1184
1196
|
return Array.from(n);
|
|
1185
1197
|
}
|
|
1186
1198
|
function P2(r) {
|
|
1187
1199
|
let n = C(r);
|
|
1188
|
-
if (n.length === 0 ||
|
|
1200
|
+
if (n.length === 0 || D2(r) < 95) return false;
|
|
1189
1201
|
let e = n.filter((c2) => G2(c2) && !Y(c2)).length, s2 = n.filter((c2) => !G2(c2) && !!Y(c2)).length;
|
|
1190
1202
|
return e >= 1 && e >= s2;
|
|
1191
1203
|
}
|
|
1192
|
-
function
|
|
1204
|
+
function W2(r, n) {
|
|
1193
1205
|
if (!Y(r)) return false;
|
|
1194
1206
|
let e = E(r);
|
|
1195
1207
|
return e ? n === "world" ? true : s3.has(e) : false;
|
|
1196
1208
|
}
|
|
1197
|
-
function
|
|
1209
|
+
function D2(r) {
|
|
1198
1210
|
let n = C(r);
|
|
1199
1211
|
if (n.length === 0) return 0;
|
|
1200
1212
|
let e = 0;
|
|
@@ -1213,21 +1225,21 @@ function F3(r) {
|
|
|
1213
1225
|
for (let e of r) {
|
|
1214
1226
|
if (e == null) continue;
|
|
1215
1227
|
let s2 = String(e).trim();
|
|
1216
|
-
if (!V(u(s2)) && !n.has(s2) && (n.add(s2), n.size >=
|
|
1228
|
+
if (!V(u(s2)) && !n.has(s2) && (n.add(s2), n.size >= Z3)) break;
|
|
1217
1229
|
}
|
|
1218
1230
|
return Array.from(n);
|
|
1219
1231
|
}
|
|
1220
|
-
function
|
|
1232
|
+
function $2(r) {
|
|
1221
1233
|
let n = F3(r);
|
|
1222
1234
|
if (n.length === 0) return 0;
|
|
1223
1235
|
let e = 0;
|
|
1224
1236
|
for (let s2 of n) Z(s2).length > 0 && e++;
|
|
1225
1237
|
return Math.round(e / n.length * 1e3) / 10;
|
|
1226
1238
|
}
|
|
1227
|
-
function
|
|
1239
|
+
function q2(r, n) {
|
|
1228
1240
|
return y2(n, rt) ? true : F3(r).some((e) => /^\d{5}(-\d{4})?$/.test(e.replace(/\.0+$/, "")));
|
|
1229
1241
|
}
|
|
1230
|
-
function
|
|
1242
|
+
function se(r, n) {
|
|
1231
1243
|
let e = C(r);
|
|
1232
1244
|
if (e.length === 0) return 0;
|
|
1233
1245
|
let s2 = 0;
|
|
@@ -1239,12 +1251,12 @@ function z2(r, n) {
|
|
|
1239
1251
|
for (let s2 of C(r)) n(s2) && e++;
|
|
1240
1252
|
return e;
|
|
1241
1253
|
}
|
|
1242
|
-
function
|
|
1254
|
+
function ae(r, n) {
|
|
1243
1255
|
let e = 0;
|
|
1244
1256
|
for (let s2 of F3(r)) n(s2) && e++;
|
|
1245
1257
|
return e;
|
|
1246
1258
|
}
|
|
1247
|
-
function
|
|
1259
|
+
function le(r, n, e, s2, c2) {
|
|
1248
1260
|
let A = [], u4 = [], o = {}, M = {}, _2 = new Set(r), l2 = (t) => n.map((i2) => i2[t]);
|
|
1249
1261
|
for (let t of ["city", "country"]) {
|
|
1250
1262
|
let i2 = e?.[t];
|
|
@@ -1255,17 +1267,17 @@ function ie(r, n, e, s2, c2) {
|
|
|
1255
1267
|
let i2 = e?.[t];
|
|
1256
1268
|
i2 && X2.has(i2) && (o[t] = i2);
|
|
1257
1269
|
}
|
|
1258
|
-
let
|
|
1259
|
-
if (
|
|
1260
|
-
let t = l2(
|
|
1261
|
-
i2 < 95 ? u4.push(`zip=${
|
|
1270
|
+
let d = e?.zip;
|
|
1271
|
+
if (d && _2.has(d)) {
|
|
1272
|
+
let t = l2(d), i2 = $2(t);
|
|
1273
|
+
i2 < 95 ? u4.push(`zip=${d} (only ${i2}% of values read as ZIPs)`) : q2(t, d) ? o.zip = d : u4.push(`zip=${d} (all values are 3-4 digits with nothing to say they are postal)`);
|
|
1262
1274
|
}
|
|
1263
1275
|
let p2 = e?.state;
|
|
1264
1276
|
if (p2 && _2.has(p2)) {
|
|
1265
1277
|
let t = l2(p2), i2 = C(t);
|
|
1266
|
-
i2.length > 0 && i2.every((a4) =>
|
|
1278
|
+
i2.length > 0 && i2.every((a4) => W2(a4, s2)) ? u4.push(`state=${p2} (every value is "CA", which is both Canada and California)`) : P2(t) ? (u4.push(`state=${p2} (every value is a country, not a state)`), o.country || (o.country = p2)) : v2(t) < 95 ? u4.push(`state=${p2} (only ${v2(t)}% of values are states/provinces)`) : o.state = p2;
|
|
1267
1279
|
}
|
|
1268
|
-
let
|
|
1280
|
+
let g3 = new Set(Object.values(o).filter(Boolean)), x2 = r.filter((t) => !g3.has(t) && !t.startsWith("__"));
|
|
1269
1281
|
if (!o.state) {
|
|
1270
1282
|
let t = null;
|
|
1271
1283
|
for (let i2 of x2) {
|
|
@@ -1273,16 +1285,16 @@ function ie(r, n, e, s2, c2) {
|
|
|
1273
1285
|
if (P2(a4)) continue;
|
|
1274
1286
|
let f4 = v2(a4);
|
|
1275
1287
|
if (f4 < 95) continue;
|
|
1276
|
-
let
|
|
1277
|
-
|
|
1288
|
+
let k2 = z2(a4, (T3) => !!Y(T3)), Y2 = z2(a4, (T3) => !!Y(T3) && !W2(T3, s2));
|
|
1289
|
+
k2 < E2 && Y2 < 1 || (!t || f4 > t.pct) && (t = { name: i2, pct: f4 });
|
|
1278
1290
|
}
|
|
1279
|
-
t && (o.state = t.name,
|
|
1291
|
+
t && (o.state = t.name, g3.add(t.name), A.push(`state=${t.name} (${t.pct}% states/provinces)`));
|
|
1280
1292
|
}
|
|
1281
1293
|
if (!o.zip) for (let t of x2) {
|
|
1282
|
-
if (
|
|
1283
|
-
let i2 = l2(t), a4 =
|
|
1284
|
-
if (!(a4 < 95) &&
|
|
1285
|
-
o.zip = t,
|
|
1294
|
+
if (g3.has(t)) continue;
|
|
1295
|
+
let i2 = l2(t), a4 = $2(i2);
|
|
1296
|
+
if (!(a4 < 95) && q2(i2, t) && !(ae(i2, (f4) => Z(f4).length > 0) < E2)) {
|
|
1297
|
+
o.zip = t, g3.add(t), A.push(`zip=${t} (${a4}% ZIP codes)`);
|
|
1286
1298
|
break;
|
|
1287
1299
|
}
|
|
1288
1300
|
}
|
|
@@ -1290,26 +1302,26 @@ function ie(r, n, e, s2, c2) {
|
|
|
1290
1302
|
if (!h2 || !P2(l2(h2))) {
|
|
1291
1303
|
let t = null;
|
|
1292
1304
|
for (let i2 of x2) {
|
|
1293
|
-
if (
|
|
1294
|
-
let a4 =
|
|
1305
|
+
if (g3.has(i2) || !P2(l2(i2))) continue;
|
|
1306
|
+
let a4 = D2(l2(i2));
|
|
1295
1307
|
(!t || a4 > t.pct) && (t = { name: i2, pct: a4 });
|
|
1296
1308
|
}
|
|
1297
|
-
t && (h2 && (u4.push(`country=${h2} (only ${
|
|
1309
|
+
t && (h2 && (u4.push(`country=${h2} (only ${D2(l2(h2))}% of values are country identifiers; using ${t.name} instead)`), M.country = h2), o.country = t.name, g3.add(t.name), A.push(`country=${t.name}`));
|
|
1298
1310
|
}
|
|
1299
1311
|
if (!o.city) {
|
|
1300
1312
|
let t = null;
|
|
1301
1313
|
for (let i2 of x2) {
|
|
1302
|
-
if (
|
|
1303
|
-
let a4 = l2(i2), f4 =
|
|
1304
|
-
f4 < m3 || z2(a4, (
|
|
1314
|
+
if (g3.has(i2)) continue;
|
|
1315
|
+
let a4 = l2(i2), f4 = se(a4, s2);
|
|
1316
|
+
f4 < m3 || z2(a4, (k2) => p3(k2, s2)) < E2 || (!t || f4 > t.pct) && (t = { name: i2, pct: f4 });
|
|
1305
1317
|
}
|
|
1306
1318
|
t && (o.city = t.name, A.push(`city=${t.name} (${t.pct}% known cities)`));
|
|
1307
1319
|
}
|
|
1308
|
-
let B2 = o.country ? l2(o.country) : [],
|
|
1320
|
+
let B2 = o.country ? l2(o.country) : [], L2 = !!o.country && P2(B2), j2 = L2 ? new Set(B2.map((t) => E(t == null ? null : String(t))).filter(Boolean)).size : 0, K2 = L2 && j2 >= 2, N2 = !!(o.lat && o.lon) && n.some((t) => {
|
|
1309
1321
|
let i2 = +String(t[o.lat] ?? "").trim(), a4 = +String(t[o.lon] ?? "").trim();
|
|
1310
1322
|
return isFinite(i2) && isFinite(a4) && i2 >= -90 && i2 <= 90 && a4 >= -180 && a4 <= 180 && String(t[o.lat] ?? "").trim() !== "" && String(t[o.lon] ?? "").trim() !== "";
|
|
1311
1323
|
});
|
|
1312
|
-
return o.lat && o.lon && !
|
|
1324
|
+
return o.lat && o.lon && !N2 && u4.push(`lat/lon=${o.lat}/${o.lon} (no row holds a usable coordinate pair)`), o.country && !K2 && !(o.city || o.state || o.zip || N2) && u4.push(L2 ? `country=${o.country} (every row resolves to the same country - nothing to place apart)` : `country=${o.country} (values are not country identifiers)`), { bind: !!(o.city || o.state || o.zip || K2 || N2) ? o : null, backfilled: A, refused: u4, ...Object.keys(M).length ? { labelFallback: M } : {} };
|
|
1313
1325
|
}
|
|
1314
1326
|
|
|
1315
1327
|
// src/payload.ts
|
|
@@ -1324,7 +1336,7 @@ function resolvePointChannel(cols, rowObjs, point) {
|
|
|
1324
1336
|
let labelCol;
|
|
1325
1337
|
if (bind) {
|
|
1326
1338
|
const dims = cols.filter((c2) => !c2.isMeasure).map((c2) => c2.name);
|
|
1327
|
-
const res =
|
|
1339
|
+
const res = le(dims, rowObjs, bind, point?.mapKind, cols.map((c2) => c2.name));
|
|
1328
1340
|
bind = res.bind;
|
|
1329
1341
|
rolesBackfilled = res.backfilled;
|
|
1330
1342
|
rolesRefused = res.refused;
|
|
@@ -1575,8 +1587,8 @@ function createMarkResolver(env) {
|
|
|
1575
1587
|
for (const n of all) {
|
|
1576
1588
|
const tag = (n.tagName || "").toLowerCase();
|
|
1577
1589
|
if (!SHAPE.test(tag)) continue;
|
|
1578
|
-
const
|
|
1579
|
-
if (
|
|
1590
|
+
const pe = viewStyle(n);
|
|
1591
|
+
if (pe && pe !== "none") return true;
|
|
1580
1592
|
}
|
|
1581
1593
|
return false;
|
|
1582
1594
|
};
|
|
@@ -1806,8 +1818,8 @@ function rgbToLab(r, g3, b2) {
|
|
|
1806
1818
|
const R = linearise(r), G3 = linearise(g3), B2 = linearise(b2);
|
|
1807
1819
|
const X2 = 0.4124564 * R + 0.3575761 * G3 + 0.1804375 * B2;
|
|
1808
1820
|
const Y2 = 0.2126729 * R + 0.7151522 * G3 + 0.072175 * B2;
|
|
1809
|
-
const
|
|
1810
|
-
const fx = f2(X2 / Xn), fy = f2(Y2 / Yn), fz = f2(
|
|
1821
|
+
const Z4 = 0.0193339 * R + 0.119192 * G3 + 0.9503041 * B2;
|
|
1822
|
+
const fx = f2(X2 / Xn), fy = f2(Y2 / Yn), fz = f2(Z4 / Zn);
|
|
1811
1823
|
return { L: 116 * fy - 16, a: 500 * (fx - fy), b: 200 * (fy - fz) };
|
|
1812
1824
|
}
|
|
1813
1825
|
function hexToLab(hex2) {
|
|
@@ -1936,14 +1948,14 @@ function censusColourSpread(container, doc) {
|
|
|
1936
1948
|
const d = cs.map(() => new Array(cs.length).fill(0));
|
|
1937
1949
|
let span = 0, lo = 0, hi = 1;
|
|
1938
1950
|
for (let i2 = 0; i2 < cs.length; i2++) {
|
|
1939
|
-
for (let
|
|
1940
|
-
const v3 = deltaE2000(cs[i2], cs[
|
|
1941
|
-
d[i2][
|
|
1942
|
-
d[
|
|
1951
|
+
for (let j2 = i2 + 1; j2 < cs.length; j2++) {
|
|
1952
|
+
const v3 = deltaE2000(cs[i2], cs[j2]);
|
|
1953
|
+
d[i2][j2] = v3;
|
|
1954
|
+
d[j2][i2] = v3;
|
|
1943
1955
|
if (v3 > span) {
|
|
1944
1956
|
span = v3;
|
|
1945
1957
|
lo = i2;
|
|
1946
|
-
hi =
|
|
1958
|
+
hi = j2;
|
|
1947
1959
|
}
|
|
1948
1960
|
}
|
|
1949
1961
|
}
|
|
@@ -1958,8 +1970,8 @@ function censusColourSpread(container, doc) {
|
|
|
1958
1970
|
let crowd = 0;
|
|
1959
1971
|
for (let i2 = 0; i2 < cs.length; i2++) {
|
|
1960
1972
|
let n = 0;
|
|
1961
|
-
for (let
|
|
1962
|
-
if (i2 ===
|
|
1973
|
+
for (let j2 = 0; j2 < cs.length; j2++) {
|
|
1974
|
+
if (i2 === j2 || d[i2][j2] <= SAME_SHADE_DELTA_E) n += top[j2].n;
|
|
1963
1975
|
}
|
|
1964
1976
|
if (n > crowd) crowd = n;
|
|
1965
1977
|
}
|
|
@@ -2579,10 +2591,10 @@ function glyphSampleGrid(box, n = GLYPH_SAMPLE_N) {
|
|
|
2579
2591
|
if (!box || !(box.width > 0) || !(box.height > 0) || !(n >= 1)) return out;
|
|
2580
2592
|
const k2 = Math.floor(n);
|
|
2581
2593
|
for (let i2 = 0; i2 < k2; i2++) {
|
|
2582
|
-
for (let
|
|
2594
|
+
for (let j2 = 0; j2 < k2; j2++) {
|
|
2583
2595
|
out.push({
|
|
2584
2596
|
x: box.left + box.width * (i2 + 0.5) / k2,
|
|
2585
|
-
y: box.top + box.height * (
|
|
2597
|
+
y: box.top + box.height * (j2 + 0.5) / k2
|
|
2586
2598
|
});
|
|
2587
2599
|
}
|
|
2588
2600
|
}
|
|
@@ -2603,10 +2615,10 @@ var LABEL_CONTRAST_CAP = 2e3;
|
|
|
2603
2615
|
var EMPTY4 = { rects: 0, scanned: 0, fixed: 0, pillsBoosted: 0, offFill: 0, pageMajority: 0 };
|
|
2604
2616
|
function backedSamples(el, pts) {
|
|
2605
2617
|
try {
|
|
2606
|
-
const
|
|
2607
|
-
if (typeof
|
|
2608
|
-
const m =
|
|
2609
|
-
const svg =
|
|
2618
|
+
const ge = el;
|
|
2619
|
+
if (typeof ge.isPointInFill !== "function" || typeof ge.getScreenCTM !== "function") return null;
|
|
2620
|
+
const m = ge.getScreenCTM();
|
|
2621
|
+
const svg = ge.ownerSVGElement;
|
|
2610
2622
|
if (!m || !svg || typeof svg.createSVGPoint !== "function") return null;
|
|
2611
2623
|
if (pts.length === 0) return null;
|
|
2612
2624
|
const inv = m.inverse();
|
|
@@ -2615,7 +2627,7 @@ function backedSamples(el, pts) {
|
|
|
2615
2627
|
const p2 = svg.createSVGPoint();
|
|
2616
2628
|
p2.x = pts[i2].x;
|
|
2617
2629
|
p2.y = pts[i2].y;
|
|
2618
|
-
hit.push(
|
|
2630
|
+
hit.push(ge.isPointInFill(p2.matrixTransform(inv)));
|
|
2619
2631
|
}
|
|
2620
2632
|
return hit;
|
|
2621
2633
|
} catch {
|
|
@@ -3198,10 +3210,10 @@ export {
|
|
|
3198
3210
|
L3,
|
|
3199
3211
|
p,
|
|
3200
3212
|
u2 as u,
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3213
|
+
Ee,
|
|
3214
|
+
De,
|
|
3215
|
+
Bt,
|
|
3216
|
+
Yt,
|
|
3205
3217
|
buildRenderPayload,
|
|
3206
3218
|
createMarkResolver,
|
|
3207
3219
|
ensureCrossfilterHitTargets,
|
package/dist/index.mjs
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
AXIS_PIN_MIN_LABELS,
|
|
17
17
|
AXIS_PIN_TRACK_REACH_PX,
|
|
18
18
|
BACKING_MAJORITY,
|
|
19
|
+
Bt,
|
|
19
20
|
COLOR_SCALE_SELF_CLAMP_PCT_DEFAULT,
|
|
20
21
|
COLOR_SCALE_SELF_CLAMP_PCT_MAX,
|
|
21
22
|
COLOR_SCALE_SELF_CLAMP_PCT_MIN,
|
|
@@ -26,13 +27,14 @@ import {
|
|
|
26
27
|
DARK_TEXT,
|
|
27
28
|
DIM_OPACITY_DEFAULT,
|
|
28
29
|
DIM_OPACITY_VAR,
|
|
30
|
+
De,
|
|
31
|
+
Ee,
|
|
29
32
|
FIT_CONTENT_SELECTOR,
|
|
30
33
|
FLIP_MODE_DEFAULT,
|
|
31
34
|
GEO_POINT_PRECISIONS,
|
|
32
35
|
GLYPH_SAMPLE_N,
|
|
33
36
|
HOST_CONTAINER_CLASS,
|
|
34
37
|
HOST_CONTRACT_VERSION,
|
|
35
|
-
It,
|
|
36
38
|
L3,
|
|
37
39
|
LABEL_CONTRAST_CAP,
|
|
38
40
|
LABEL_CONTRAST_DONE_ATTR,
|
|
@@ -45,7 +47,6 @@ import {
|
|
|
45
47
|
MIN_CONTRAST,
|
|
46
48
|
MIN_HIT_BAND_PX,
|
|
47
49
|
MIN_RAMP_FILLS,
|
|
48
|
-
Me,
|
|
49
50
|
PAGE_MATCH_TOLERANCE,
|
|
50
51
|
PHANTOM_FRACTION,
|
|
51
52
|
PILL_MIN_ALPHA,
|
|
@@ -56,10 +57,10 @@ import {
|
|
|
56
57
|
SCROLL_SLACK_PX,
|
|
57
58
|
SEASONAL_MARKERS_DEFAULT,
|
|
58
59
|
SELECTION_ACTIVE_CLASS,
|
|
59
|
-
Te,
|
|
60
60
|
VALUE_AXIS_BASELINE_DEFAULT,
|
|
61
61
|
WHITE_TEXT_BG_LUM,
|
|
62
62
|
XFILTER_REFRESH_EVENT,
|
|
63
|
+
Yt,
|
|
63
64
|
applyLabelContrast,
|
|
64
65
|
axisPinPlacement,
|
|
65
66
|
backingHoldsGlyph,
|
|
@@ -114,9 +115,8 @@ import {
|
|
|
114
115
|
svgInkReach,
|
|
115
116
|
toRGBA,
|
|
116
117
|
u,
|
|
117
|
-
unpinScrolledAxis
|
|
118
|
-
|
|
119
|
-
} from "./chunk-YIRWZUKN.mjs";
|
|
118
|
+
unpinScrolledAxis
|
|
119
|
+
} from "./chunk-BWOY6GDX.mjs";
|
|
120
120
|
import "./chunk-A2GMXZP7.mjs";
|
|
121
121
|
import "./chunk-GHODWOAL.mjs";
|
|
122
122
|
|
|
@@ -1236,15 +1236,15 @@ function displayText(col, raw, opts) {
|
|
|
1236
1236
|
return String(raw);
|
|
1237
1237
|
}
|
|
1238
1238
|
function isSuppressed(col) {
|
|
1239
|
-
return
|
|
1239
|
+
return Ee(col).suppressed;
|
|
1240
1240
|
}
|
|
1241
1241
|
function resolveAgg(col, requested, auto) {
|
|
1242
1242
|
const fallback = () => {
|
|
1243
|
-
const d2 =
|
|
1243
|
+
const d2 = Bt(col);
|
|
1244
1244
|
return d2 === "first" ? "count" : d2;
|
|
1245
1245
|
};
|
|
1246
1246
|
if (auto) return fallback();
|
|
1247
|
-
return
|
|
1247
|
+
return De(col).indexOf(requested) >= 0 ? requested : fallback();
|
|
1248
1248
|
}
|
|
1249
1249
|
function toNumber(v2) {
|
|
1250
1250
|
if (v2 == null || v2 === "") return null;
|
|
@@ -1347,7 +1347,7 @@ function computeSelectionCard(payload, selectedRowIdxs, opts = {}) {
|
|
|
1347
1347
|
}
|
|
1348
1348
|
const value = reduce(selVals, colAgg, selRaw);
|
|
1349
1349
|
let sharePct = null;
|
|
1350
|
-
if (
|
|
1350
|
+
if (Yt(col, colAgg) && value != null) {
|
|
1351
1351
|
const allVals = [];
|
|
1352
1352
|
const allRaw = [];
|
|
1353
1353
|
for (let r2 = 0; r2 < rows.length; r2++) {
|
|
@@ -1896,7 +1896,7 @@ var ft = (function() {
|
|
|
1896
1896
|
var st = function(t2, r2, n2, e2) {
|
|
1897
1897
|
return new ft([t2, r2, n2], e2);
|
|
1898
1898
|
};
|
|
1899
|
-
var
|
|
1899
|
+
var vt = function(t2, r2, n2, e2) {
|
|
1900
1900
|
return new ft(s(t2, r2, n2), e2);
|
|
1901
1901
|
};
|
|
1902
1902
|
var bt = function(t2, r2, n2, e2) {
|
|
@@ -1925,7 +1925,7 @@ Mt.config = function(t2) {
|
|
|
1925
1925
|
}, Mt.random = function() {
|
|
1926
1926
|
var t2 = a(0, 255), r2 = a(0, 255), n2 = a(0, 255);
|
|
1927
1927
|
return new ft([t2, r2, n2]);
|
|
1928
|
-
}, Mt.convertor = Y, Mt.Color = ft, Mt.rgb = st, Mt.hsl =
|
|
1928
|
+
}, Mt.convertor = Y, Mt.Color = ft, Mt.rgb = st, Mt.hsl = vt, Mt.hsv = bt, Mt.hsi = yt, Mt.hwb = dt, Mt.xyz = gt, Mt.lab = wt, Mt.lch = mt, Mt.mix = D, Mt.deltaE = et, Mt.utils = { roundDecimal: i, randomRange: a }, Mt.useNames = function(t2, r2) {
|
|
1929
1929
|
return (function(t3, r3) {
|
|
1930
1930
|
if (void 0 !== r3 && "function" == typeof r3) {
|
|
1931
1931
|
var n2 = {};
|
package/dist/react.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bicharts/chart-host",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.93",
|
|
4
4
|
"description": "Run a BIC-generated D3 chart in any web host: compiles the generated render() function, applies the shared option defaults, resolves mark clicks (through tooltip overlays), owns the selection affordance, and translates row indices between cross-filtered charts. The same contract the BIC Power BI visual implements, minus Power BI. React bindings at @bicharts/chart-host/react.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|