@bicharts/chart-host 0.5.46 → 0.5.48
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-FC3XJPVX.mjs → chunk-OSJNZVRA.mjs} +120 -115
- package/dist/index.mjs +8 -8
- package/dist/react.mjs +1 -1
- package/package.json +1 -1
|
@@ -474,17 +474,17 @@ function y3(n, e) {
|
|
|
474
474
|
let A = n[l], C = A3({ ...A, mapKind: e });
|
|
475
475
|
if (S3(C)) {
|
|
476
476
|
t[l] = null, o[l] = null, i[l] = null, m2++;
|
|
477
|
-
let
|
|
478
|
-
|
|
477
|
+
let M = K(A);
|
|
478
|
+
M && !d.has(M.toLowerCase()) && (d.add(M.toLowerCase()), R.length < x && R.push(M));
|
|
479
479
|
} else if (C) {
|
|
480
480
|
if (t[l] = C.lat, o[l] = C.lon, i[l] = C.precision, S++, g[C.precision]++, (p2 === null || G[C.precision] > G[p2]) && (p2 = C.precision), G[C.precision] > G.city) {
|
|
481
|
-
let
|
|
482
|
-
|
|
481
|
+
let M = K(A);
|
|
482
|
+
M && !s.has(M.toLowerCase()) && (s.add(M.toLowerCase()), f.length < x && f.push(M));
|
|
483
483
|
}
|
|
484
484
|
} else {
|
|
485
485
|
t[l] = null, o[l] = null, i[l] = null;
|
|
486
|
-
let
|
|
487
|
-
|
|
486
|
+
let M = K(A);
|
|
487
|
+
M && !r.has(M.toLowerCase()) && (r.add(M.toLowerCase()), a2.push(M));
|
|
488
488
|
}
|
|
489
489
|
}
|
|
490
490
|
let c = !n3() && n.some((l) => l.city !== null && l.city !== void 0 && String(l.city).trim() !== "");
|
|
@@ -588,57 +588,57 @@ function Kn(n, s) {
|
|
|
588
588
|
|
|
589
589
|
// ../shape-core/dist/index.mjs
|
|
590
590
|
/*! @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. */
|
|
591
|
-
var
|
|
592
|
-
var
|
|
593
|
-
var Y2 = ["latitude", "longitude"];
|
|
591
|
+
var X2 = ["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"];
|
|
592
|
+
var Y2 = ["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"];
|
|
594
593
|
var J2 = ["latitude", "longitude"];
|
|
595
|
-
var Q2 =
|
|
596
|
-
var
|
|
597
|
-
var
|
|
598
|
-
var
|
|
599
|
-
|
|
600
|
-
|
|
594
|
+
var Q2 = ["latitude", "longitude"];
|
|
595
|
+
var tt = /^\s*(sum|count|count\s+distinct|distinct\s+count)\s+of\s+/i;
|
|
596
|
+
var qt = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])/g;
|
|
597
|
+
var jt = new RegExp("\\b(" + X2.join("|") + ")\\b|(" + Y2.join("|") + ")$", "i");
|
|
598
|
+
var Wt = new RegExp("\\b(" + J2.join("|") + ")\\b|(" + Q2.join("|") + ")$", "i");
|
|
599
|
+
function L2(e) {
|
|
600
|
+
return e ? String(e).replace(tt, "").trim() : "";
|
|
601
601
|
}
|
|
602
|
-
function
|
|
603
|
-
return !!e &&
|
|
602
|
+
function et(e) {
|
|
603
|
+
return !!e && tt.test(String(e));
|
|
604
604
|
}
|
|
605
|
-
function
|
|
606
|
-
let t =
|
|
607
|
-
return t.length === 0 ? "" : t.replace(
|
|
605
|
+
function Xt(e) {
|
|
606
|
+
let t = L2(e);
|
|
607
|
+
return t.length === 0 ? "" : t.replace(qt, " ");
|
|
608
608
|
}
|
|
609
|
-
function
|
|
610
|
-
return t ? e.test(
|
|
609
|
+
function nt(e, t) {
|
|
610
|
+
return t ? e.test(Xt(t)) || e.test(L2(t)) : false;
|
|
611
611
|
}
|
|
612
|
-
function
|
|
613
|
-
return
|
|
612
|
+
function z2(e) {
|
|
613
|
+
return nt(Wt, e);
|
|
614
614
|
}
|
|
615
|
-
function
|
|
616
|
-
return
|
|
615
|
+
function it(e) {
|
|
616
|
+
return nt(jt, e) || z2(e);
|
|
617
617
|
}
|
|
618
|
-
var
|
|
619
|
-
function
|
|
618
|
+
var ot = /int|double|decimal|single|float|number|currency|money/i;
|
|
619
|
+
function Yt(e) {
|
|
620
620
|
let t = String(e?.valueNature ?? "").trim().toLowerCase();
|
|
621
|
-
return t === "categorical" ? "Categorical" : t === "ordinal" ? "Ordinal" : t === "continuous" || e?.isMeasure === true ||
|
|
621
|
+
return t === "categorical" ? "Categorical" : t === "ordinal" ? "Ordinal" : t === "continuous" || e?.isMeasure === true || ot.test(String(e?.dataType ?? "")) ? "Continuous" : "Categorical";
|
|
622
622
|
}
|
|
623
|
-
function
|
|
624
|
-
return e?.isMeasure === true ||
|
|
623
|
+
function Jt(e) {
|
|
624
|
+
return e?.isMeasure === true || ot.test(String(e?.dataType ?? ""));
|
|
625
625
|
}
|
|
626
|
-
function
|
|
627
|
-
let t = e ?? {}, i =
|
|
626
|
+
function G2(e) {
|
|
627
|
+
let t = e ?? {}, i = Yt(t);
|
|
628
628
|
if (i !== "Continuous") return { nature: i, additivity: "unknown", basis: "role", suppressed: false };
|
|
629
|
-
if (
|
|
630
|
-
let
|
|
631
|
-
if (!(
|
|
632
|
-
if (
|
|
633
|
-
if (
|
|
634
|
-
if (
|
|
629
|
+
if (z2(t.name)) return { nature: i, additivity: "positional", basis: "name", suppressed: true };
|
|
630
|
+
let s = String(t.additivity ?? "").trim().toLowerCase();
|
|
631
|
+
if (!(s === "additive" && et(t.name))) {
|
|
632
|
+
if (s === "additive") return { nature: i, additivity: "additive", basis: "measured", suppressed: false };
|
|
633
|
+
if (s === "part_of_whole") return { nature: i, additivity: "part_of_whole", basis: "measured", suppressed: false };
|
|
634
|
+
if (s === "intensive_rate") return { nature: i, additivity: "intensive_rate", basis: "measured", suppressed: false };
|
|
635
635
|
}
|
|
636
|
-
return t.discourageAggregationAcrossGroups === true ? { nature: i, additivity: "intensive_rate", basis: "host-flag", suppressed: false } :
|
|
636
|
+
return t.discourageAggregationAcrossGroups === true ? { nature: i, additivity: "intensive_rate", basis: "host-flag", suppressed: false } : it(t.name) ? { nature: i, additivity: "intensive_rate", basis: "name", suppressed: false } : { nature: i, additivity: "additive", basis: "default", suppressed: false };
|
|
637
637
|
}
|
|
638
|
-
function
|
|
639
|
-
let t =
|
|
638
|
+
function F2(e) {
|
|
639
|
+
let t = G2(e), i = e ?? {};
|
|
640
640
|
if (t.nature === "Categorical") return ["first", "distinctcount", "count"];
|
|
641
|
-
if (t.nature === "Ordinal") return
|
|
641
|
+
if (t.nature === "Ordinal") return Jt(i) ? ["median", "average", "min", "max", "first", "distinctcount", "count"] : ["first", "distinctcount", "count"];
|
|
642
642
|
switch (t.additivity) {
|
|
643
643
|
case "positional":
|
|
644
644
|
return ["min", "max", "count", "distinctcount", "first"];
|
|
@@ -648,151 +648,156 @@ function G2(e) {
|
|
|
648
648
|
return ["sum", "average", "median", "min", "max", "count", "distinctcount", "first"];
|
|
649
649
|
}
|
|
650
650
|
}
|
|
651
|
-
function
|
|
652
|
-
return
|
|
651
|
+
function Qt(e) {
|
|
652
|
+
return F2(e)[0];
|
|
653
653
|
}
|
|
654
|
-
function
|
|
654
|
+
function ee(e, t) {
|
|
655
655
|
if (t !== "sum" && t !== "count") return false;
|
|
656
656
|
if (t === "count") return true;
|
|
657
|
-
let i =
|
|
657
|
+
let i = G2(e);
|
|
658
658
|
return i.additivity === "additive" || i.additivity === "part_of_whole" || i.additivity === "unknown";
|
|
659
659
|
}
|
|
660
|
-
var
|
|
661
|
-
var
|
|
662
|
-
function
|
|
660
|
+
var $2 = 2;
|
|
661
|
+
var at = 400;
|
|
662
|
+
function K2(e) {
|
|
663
663
|
return !!E(e);
|
|
664
664
|
}
|
|
665
665
|
function v2(e) {
|
|
666
666
|
let t = /* @__PURE__ */ new Set();
|
|
667
667
|
for (let i of e) {
|
|
668
668
|
if (i == null) continue;
|
|
669
|
-
let
|
|
670
|
-
if (!V(
|
|
669
|
+
let s = u(String(i));
|
|
670
|
+
if (!V(s) && !t.has(s) && (t.add(s), t.size >= at)) break;
|
|
671
671
|
}
|
|
672
672
|
return Array.from(t);
|
|
673
673
|
}
|
|
674
674
|
function h2(e) {
|
|
675
675
|
let t = v2(e);
|
|
676
|
-
if (t.length === 0 ||
|
|
677
|
-
let i = t.filter((u2) =>
|
|
678
|
-
return i >= 1 && i >=
|
|
676
|
+
if (t.length === 0 || B2(e) < 95) return false;
|
|
677
|
+
let i = t.filter((u2) => K2(u2) && !Y(u2)).length, s = t.filter((u2) => !K2(u2) && !!Y(u2)).length;
|
|
678
|
+
return i >= 1 && i >= s;
|
|
679
679
|
}
|
|
680
|
-
function
|
|
680
|
+
function rt(e, t) {
|
|
681
681
|
if (!Y(e)) return false;
|
|
682
682
|
let i = E(e);
|
|
683
683
|
return i ? t === "world" ? true : s3.has(i) : false;
|
|
684
684
|
}
|
|
685
|
-
function
|
|
685
|
+
function B2(e) {
|
|
686
686
|
let t = v2(e);
|
|
687
687
|
if (t.length === 0) return 0;
|
|
688
688
|
let i = 0;
|
|
689
|
-
for (let
|
|
689
|
+
for (let s of t) K2(s) && i++;
|
|
690
690
|
return Math.round(i / t.length * 1e3) / 10;
|
|
691
691
|
}
|
|
692
|
-
function
|
|
692
|
+
function I2(e) {
|
|
693
693
|
let t = v2(e);
|
|
694
694
|
if (t.length === 0) return 0;
|
|
695
695
|
let i = 0;
|
|
696
|
-
for (let
|
|
696
|
+
for (let s of t) Y(s) && i++;
|
|
697
697
|
return Math.round(i / t.length * 1e3) / 10;
|
|
698
698
|
}
|
|
699
|
-
function
|
|
699
|
+
function V2(e) {
|
|
700
700
|
let t = /* @__PURE__ */ new Set();
|
|
701
701
|
for (let i of e) {
|
|
702
702
|
if (i == null) continue;
|
|
703
|
-
let
|
|
704
|
-
if (!V(u(
|
|
703
|
+
let s = String(i).trim();
|
|
704
|
+
if (!V(u(s)) && !t.has(s) && (t.add(s), t.size >= at)) break;
|
|
705
705
|
}
|
|
706
706
|
return Array.from(t);
|
|
707
707
|
}
|
|
708
|
-
function
|
|
709
|
-
let t =
|
|
708
|
+
function H2(e) {
|
|
709
|
+
let t = V2(e);
|
|
710
710
|
if (t.length === 0) return 0;
|
|
711
711
|
let i = 0;
|
|
712
|
-
for (let
|
|
712
|
+
for (let s of t) Z(s).length > 0 && i++;
|
|
713
713
|
return Math.round(i / t.length * 1e3) / 10;
|
|
714
714
|
}
|
|
715
|
-
function
|
|
716
|
-
return p(t, en) ? true :
|
|
715
|
+
function st(e, t) {
|
|
716
|
+
return p(t, en) ? true : V2(e).some((i) => /^\d{5}(-\d{4})?$/.test(i.replace(/\.0+$/, "")));
|
|
717
717
|
}
|
|
718
|
-
function
|
|
718
|
+
function ne(e, t) {
|
|
719
719
|
let i = v2(e);
|
|
720
720
|
if (i.length === 0) return 0;
|
|
721
|
-
let
|
|
722
|
-
for (let u2 of i) p3(u2, t) &&
|
|
723
|
-
return Math.round(
|
|
721
|
+
let s = 0;
|
|
722
|
+
for (let u2 of i) p3(u2, t) && s++;
|
|
723
|
+
return Math.round(s / i.length * 1e3) / 10;
|
|
724
724
|
}
|
|
725
|
-
function
|
|
725
|
+
function D2(e, t) {
|
|
726
726
|
let i = 0;
|
|
727
|
-
for (let
|
|
727
|
+
for (let s of v2(e)) t(s) && i++;
|
|
728
728
|
return i;
|
|
729
729
|
}
|
|
730
|
-
function
|
|
730
|
+
function ie(e, t) {
|
|
731
731
|
let i = 0;
|
|
732
|
-
for (let
|
|
732
|
+
for (let s of V2(e)) t(s) && i++;
|
|
733
733
|
return i;
|
|
734
734
|
}
|
|
735
|
-
function
|
|
736
|
-
let
|
|
737
|
-
for (let n of ["city", "
|
|
738
|
-
let
|
|
739
|
-
|
|
735
|
+
function oe(e, t, i, s, u2) {
|
|
736
|
+
let x2 = [], c = [], o = {}, R = {}, N2 = new Set(e), l = (n) => t.map((r) => r[n]);
|
|
737
|
+
for (let n of ["city", "country"]) {
|
|
738
|
+
let r = i?.[n];
|
|
739
|
+
r && N2.has(r) && (o[n] = r);
|
|
740
|
+
}
|
|
741
|
+
let ut = new Set(u2 ?? e);
|
|
742
|
+
for (let n of ["lat", "lon"]) {
|
|
743
|
+
let r = i?.[n];
|
|
744
|
+
r && ut.has(r) && (o[n] = r);
|
|
740
745
|
}
|
|
741
746
|
let p2 = i?.zip;
|
|
742
|
-
if (p2 &&
|
|
743
|
-
let n = l(p2),
|
|
744
|
-
|
|
747
|
+
if (p2 && N2.has(p2)) {
|
|
748
|
+
let n = l(p2), r = H2(n);
|
|
749
|
+
r < 95 ? c.push(`zip=${p2} (only ${r}% of values read as ZIPs)`) : st(n, p2) ? o.zip = p2 : c.push(`zip=${p2} (all values are 3-4 digits with nothing to say they are postal)`);
|
|
745
750
|
}
|
|
746
751
|
let f = i?.state;
|
|
747
|
-
if (f &&
|
|
748
|
-
let n = l(f),
|
|
749
|
-
|
|
752
|
+
if (f && N2.has(f)) {
|
|
753
|
+
let n = l(f), r = v2(n);
|
|
754
|
+
r.length > 0 && r.every((a2) => rt(a2, s)) ? c.push(`state=${f} (every value is "CA", which is both Canada and California)`) : h2(n) ? (c.push(`state=${f} (every value is a country, not a state)`), o.country || (o.country = f)) : I2(n) < 95 ? c.push(`state=${f} (only ${I2(n)}% of values are states/provinces)`) : o.state = f;
|
|
750
755
|
}
|
|
751
|
-
let m2 = new Set(Object.values(o).filter(Boolean)),
|
|
756
|
+
let m2 = new Set(Object.values(o).filter(Boolean)), C = e.filter((n) => !m2.has(n) && !n.startsWith("__"));
|
|
752
757
|
if (!o.state) {
|
|
753
758
|
let n = null;
|
|
754
|
-
for (let
|
|
755
|
-
let a2 = l(
|
|
759
|
+
for (let r of C) {
|
|
760
|
+
let a2 = l(r);
|
|
756
761
|
if (h2(a2)) continue;
|
|
757
|
-
let d =
|
|
762
|
+
let d = I2(a2);
|
|
758
763
|
if (d < 95) continue;
|
|
759
|
-
let E2 =
|
|
760
|
-
E2 <
|
|
764
|
+
let E2 = D2(a2, (b2) => !!Y(b2)), ct = D2(a2, (b2) => !!Y(b2) && !rt(b2, s));
|
|
765
|
+
E2 < $2 && ct < 1 || (!n || d > n.pct) && (n = { name: r, pct: d });
|
|
761
766
|
}
|
|
762
|
-
n && (o.state = n.name, m2.add(n.name),
|
|
767
|
+
n && (o.state = n.name, m2.add(n.name), x2.push(`state=${n.name} (${n.pct}% states/provinces)`));
|
|
763
768
|
}
|
|
764
|
-
if (!o.zip) for (let n of
|
|
769
|
+
if (!o.zip) for (let n of C) {
|
|
765
770
|
if (m2.has(n)) continue;
|
|
766
|
-
let
|
|
767
|
-
if (!(a2 < 95) &&
|
|
768
|
-
o.zip = n, m2.add(n),
|
|
771
|
+
let r = l(n), a2 = H2(r);
|
|
772
|
+
if (!(a2 < 95) && st(r, n) && !(ie(r, (d) => Z(d).length > 0) < $2)) {
|
|
773
|
+
o.zip = n, m2.add(n), x2.push(`zip=${n} (${a2}% ZIP codes)`);
|
|
769
774
|
break;
|
|
770
775
|
}
|
|
771
776
|
}
|
|
772
777
|
let A = o.country;
|
|
773
778
|
if (!A || !h2(l(A))) {
|
|
774
779
|
let n = null;
|
|
775
|
-
for (let
|
|
776
|
-
if (m2.has(
|
|
777
|
-
let a2 =
|
|
778
|
-
(!n || a2 > n.pct) && (n = { name:
|
|
780
|
+
for (let r of C) {
|
|
781
|
+
if (m2.has(r) || !h2(l(r))) continue;
|
|
782
|
+
let a2 = B2(l(r));
|
|
783
|
+
(!n || a2 > n.pct) && (n = { name: r, pct: a2 });
|
|
779
784
|
}
|
|
780
|
-
n && (A && (c.push(`country=${A} (only ${
|
|
785
|
+
n && (A && (c.push(`country=${A} (only ${B2(l(A))}% of values are country identifiers; using ${n.name} instead)`), R.country = A), o.country = n.name, m2.add(n.name), x2.push(`country=${n.name}`));
|
|
781
786
|
}
|
|
782
787
|
if (!o.city) {
|
|
783
788
|
let n = null;
|
|
784
|
-
for (let
|
|
785
|
-
if (m2.has(
|
|
786
|
-
let a2 = l(
|
|
787
|
-
d < m3 ||
|
|
789
|
+
for (let r of C) {
|
|
790
|
+
if (m2.has(r)) continue;
|
|
791
|
+
let a2 = l(r), d = ne(a2, s);
|
|
792
|
+
d < m3 || D2(a2, (E2) => p3(E2, s)) < $2 || (!n || d > n.pct) && (n = { name: r, pct: d });
|
|
788
793
|
}
|
|
789
|
-
n && (o.city = n.name,
|
|
794
|
+
n && (o.city = n.name, x2.push(`city=${n.name} (${n.pct}% known cities)`));
|
|
790
795
|
}
|
|
791
|
-
let
|
|
792
|
-
let
|
|
793
|
-
return isFinite(
|
|
796
|
+
let U2 = o.country ? l(o.country) : [], O2 = !!o.country && h2(U2), lt = O2 ? new Set(U2.map((n) => E(n == null ? null : String(n))).filter(Boolean)).size : 0, Z2 = O2 && lt >= 2, w = !!(o.lat && o.lon) && t.some((n) => {
|
|
797
|
+
let r = +String(n[o.lat] ?? "").trim(), a2 = +String(n[o.lon] ?? "").trim();
|
|
798
|
+
return isFinite(r) && isFinite(a2) && r >= -90 && r <= 90 && a2 >= -180 && a2 <= 180 && String(n[o.lat] ?? "").trim() !== "" && String(n[o.lon] ?? "").trim() !== "";
|
|
794
799
|
});
|
|
795
|
-
return o.lat && o.lon && !
|
|
800
|
+
return o.lat && o.lon && !w && c.push(`lat/lon=${o.lat}/${o.lon} (no row holds a usable coordinate pair)`), o.country && !Z2 && !(o.city || o.state || o.zip || w) && c.push(O2 ? `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 || Z2 || w) ? o : null, backfilled: x2, refused: c, ...Object.keys(R).length ? { labelFallback: R } : {} };
|
|
796
801
|
}
|
|
797
802
|
|
|
798
803
|
// src/payload.ts
|
|
@@ -807,7 +812,7 @@ function resolvePointChannel(cols, rowObjs, point) {
|
|
|
807
812
|
let labelCol;
|
|
808
813
|
if (bind) {
|
|
809
814
|
const dims = cols.filter((c) => !c.isMeasure).map((c) => c.name);
|
|
810
|
-
const res =
|
|
815
|
+
const res = oe(dims, rowObjs, bind, point?.mapKind, cols.map((c) => c.name));
|
|
811
816
|
bind = res.bind;
|
|
812
817
|
rolesBackfilled = res.backfilled;
|
|
813
818
|
rolesRefused = res.refused;
|
|
@@ -1572,10 +1577,10 @@ export {
|
|
|
1572
1577
|
registerGeoAsset,
|
|
1573
1578
|
clearGeoCache,
|
|
1574
1579
|
L3,
|
|
1575
|
-
z2 as z,
|
|
1576
1580
|
G2 as G,
|
|
1577
|
-
|
|
1581
|
+
F2 as F,
|
|
1578
1582
|
Qt,
|
|
1583
|
+
ee,
|
|
1579
1584
|
buildRenderPayload,
|
|
1580
1585
|
createMarkResolver,
|
|
1581
1586
|
ensureCrossfilterHitTargets,
|
package/dist/index.mjs
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
CONTAINER_SLOT_XF_CLEAR,
|
|
20
20
|
DIM_OPACITY_DEFAULT,
|
|
21
21
|
DIM_OPACITY_VAR,
|
|
22
|
+
F,
|
|
22
23
|
FLIP_MODE_DEFAULT,
|
|
23
24
|
G,
|
|
24
25
|
GEO_POINT_PRECISIONS,
|
|
@@ -32,7 +33,6 @@ import {
|
|
|
32
33
|
ROW_IDX_ATTR,
|
|
33
34
|
SELECTION_ACTIVE_CLASS,
|
|
34
35
|
XFILTER_REFRESH_EVENT,
|
|
35
|
-
Yt,
|
|
36
36
|
blankRenderFlag,
|
|
37
37
|
buildRenderPayload,
|
|
38
38
|
censusMarks,
|
|
@@ -41,6 +41,7 @@ import {
|
|
|
41
41
|
compileRenderFn,
|
|
42
42
|
createChartHost,
|
|
43
43
|
createMarkResolver,
|
|
44
|
+
ee,
|
|
44
45
|
ensureCrossfilterHitTargets,
|
|
45
46
|
explainRenderFailure,
|
|
46
47
|
geoAssetFor,
|
|
@@ -52,9 +53,8 @@ import {
|
|
|
52
53
|
registerGeoAsset,
|
|
53
54
|
requiredD3Plugins,
|
|
54
55
|
resolveOptions,
|
|
55
|
-
stripEsmExports
|
|
56
|
-
|
|
57
|
-
} from "./chunk-FC3XJPVX.mjs";
|
|
56
|
+
stripEsmExports
|
|
57
|
+
} from "./chunk-OSJNZVRA.mjs";
|
|
58
58
|
import "./chunk-A2GMXZP7.mjs";
|
|
59
59
|
|
|
60
60
|
// src/trivial.ts
|
|
@@ -659,15 +659,15 @@ function isRealColumn(col) {
|
|
|
659
659
|
return !!col && !isSynthetic(col.name);
|
|
660
660
|
}
|
|
661
661
|
function isSuppressed(col) {
|
|
662
|
-
return
|
|
662
|
+
return G(col).suppressed;
|
|
663
663
|
}
|
|
664
664
|
function resolveAgg(col, requested, auto) {
|
|
665
665
|
const fallback = () => {
|
|
666
|
-
const d =
|
|
666
|
+
const d = Qt(col);
|
|
667
667
|
return d === "first" ? "count" : d;
|
|
668
668
|
};
|
|
669
669
|
if (auto) return fallback();
|
|
670
|
-
return
|
|
670
|
+
return F(col).indexOf(requested) >= 0 ? requested : fallback();
|
|
671
671
|
}
|
|
672
672
|
function toNumber(v) {
|
|
673
673
|
if (v == null || v === "") return null;
|
|
@@ -771,7 +771,7 @@ function computeSelectionCard(payload, selectedRowIdxs, opts = {}) {
|
|
|
771
771
|
}
|
|
772
772
|
const value = reduce(selVals, colAgg, selRaw);
|
|
773
773
|
let sharePct = null;
|
|
774
|
-
if (
|
|
774
|
+
if (ee(col, colAgg) && value != null) {
|
|
775
775
|
const allVals = [];
|
|
776
776
|
const allRaw = [];
|
|
777
777
|
for (let r = 0; r < rows.length; r++) {
|
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.48",
|
|
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",
|