@bicharts/chart-host 0.5.83 → 0.5.85

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.
@@ -22,8 +22,8 @@ var require_papaparse_min = __commonJS({
22
22
  "function" == typeof define && define.amd ? define([], t) : "object" == typeof module && "undefined" != typeof exports ? module.exports = t() : e.Papa = t();
23
23
  })(exports, function r() {
24
24
  var n = "undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== n ? n : {};
25
- var d, s = !n.document && !!n.postMessage, a2 = n.IS_PAPA_WORKER || false, o2 = {}, h2 = 0, v2 = {};
26
- function P2(e) {
25
+ var d, s = !n.document && !!n.postMessage, a2 = n.IS_PAPA_WORKER || false, o2 = {}, h2 = 0, v3 = {};
26
+ function P4(e) {
27
27
  return 65279 === e.charCodeAt(0) ? e.slice(1) : e;
28
28
  }
29
29
  function u4(e) {
@@ -37,25 +37,25 @@ var require_papaparse_min = __commonJS({
37
37
  let e4 = this._config.newline;
38
38
  e4 || (r2 = this._config.quoteChar || '"', e4 = this._handle.guessLineEndings(t, r2)), t = [...t.split(e4).slice(i4)].join(e4);
39
39
  }
40
- this.isFirstChunk && q2(this._config.beforeFirstChunk) && void 0 !== (r2 = this._config.beforeFirstChunk(t)) && (t = r2), this.isFirstChunk = false, this._halted = false;
40
+ this.isFirstChunk && q3(this._config.beforeFirstChunk) && void 0 !== (r2 = this._config.beforeFirstChunk(t)) && (t = r2), this.isFirstChunk = false, this._halted = false;
41
41
  var i4 = this._partialLine + t, r2 = (this._partialLine = "", this._handle.parse(i4, this._baseIndex, !this._finished));
42
42
  if (!this._handle.paused() && !this._handle.aborted()) {
43
43
  t = r2.meta.cursor, i4 = (this._finished || (this._partialLine = i4.substring(t - this._baseIndex), this._baseIndex = t), r2 && r2.data && (this._rowCount += r2.data.length), this._finished || this._config.preview && this._rowCount >= this._config.preview);
44
- if (a2) n.postMessage({ results: r2, workerId: v2.WORKER_ID, finished: i4 });
45
- else if (q2(this._config.chunk) && !e2) {
44
+ if (a2) n.postMessage({ results: r2, workerId: v3.WORKER_ID, finished: i4 });
45
+ else if (q3(this._config.chunk) && !e2) {
46
46
  if (this._config.chunk(r2, this._handle), this._handle.paused() || this._handle.aborted()) return void (this._halted = true);
47
47
  this._completeResults = r2 = void 0;
48
48
  }
49
- return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(r2.data), this._completeResults.errors = this._completeResults.errors.concat(r2.errors), this._completeResults.meta = r2.meta), this._completed || !i4 || !q2(this._config.complete) || r2 && r2.meta.aborted || (this._config.complete(this._completeResults, this._input), this._completed = true), i4 || r2 && r2.meta.paused || this._nextChunk(), r2;
49
+ return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(r2.data), this._completeResults.errors = this._completeResults.errors.concat(r2.errors), this._completeResults.meta = r2.meta), this._completed || !i4 || !q3(this._config.complete) || r2 && r2.meta.aborted || (this._config.complete(this._completeResults, this._input), this._completed = true), i4 || r2 && r2.meta.paused || this._nextChunk(), r2;
50
50
  }
51
51
  this._halted = true;
52
52
  }, this._sendError = function(e2) {
53
- q2(this._config.error) ? this._config.error(e2) : a2 && this._config.error && n.postMessage({ workerId: v2.WORKER_ID, error: e2, finished: false });
53
+ q3(this._config.error) ? this._config.error(e2) : a2 && this._config.error && n.postMessage({ workerId: v3.WORKER_ID, error: e2, finished: false });
54
54
  };
55
55
  }
56
56
  function f(e) {
57
57
  var r2;
58
- (e = e || {}).chunkSize || (e.chunkSize = v2.RemoteChunkSize), u4.call(this, e), this._nextChunk = s ? function() {
58
+ (e = e || {}).chunkSize || (e.chunkSize = v3.RemoteChunkSize), u4.call(this, e), this._nextChunk = s ? function() {
59
59
  this._readChunk(), this._chunkLoaded();
60
60
  } : function() {
61
61
  this._readChunk();
@@ -85,7 +85,7 @@ var require_papaparse_min = __commonJS({
85
85
  };
86
86
  }
87
87
  function l2(e) {
88
- (e = e || {}).chunkSize || (e.chunkSize = v2.LocalChunkSize), u4.call(this, e);
88
+ (e = e || {}).chunkSize || (e.chunkSize = v3.LocalChunkSize), u4.call(this, e);
89
89
  var i4, r2, n2 = "undefined" != typeof FileReader;
90
90
  this.stream = function(e2) {
91
91
  this._input = e2, r2 = e2.slice || e2.webkitSlice || e2.mozSlice, n2 ? ((i4 = new FileReader()).onload = y4(this._chunkLoaded, this), i4.onerror = y4(this._chunkError, this)) : i4 = new FileReaderSync(), this._nextChunk();
@@ -142,11 +142,11 @@ var require_papaparse_min = __commonJS({
142
142
  return "greedy" === m2.skipEmptyLines ? "" === e2.join("").trim() : 1 === e2.length && 0 === e2[0].length;
143
143
  }
144
144
  function g3() {
145
- if (p2 && a4 && (k2("Delimiter", "UndetectableDelimiter", "Unable to auto-detect delimiting character; defaulted to '" + v2.DefaultDelimiter + "'"), a4 = false), m2.skipEmptyLines && (p2.data = p2.data.filter(function(e4) {
145
+ if (p2 && a4 && (k2("Delimiter", "UndetectableDelimiter", "Unable to auto-detect delimiting character; defaulted to '" + v3.DefaultDelimiter + "'"), a4 = false), m2.skipEmptyLines && (p2.data = p2.data.filter(function(e4) {
146
146
  return !y5(e4);
147
147
  })), _3()) {
148
148
  let t4 = function(e4, t5) {
149
- e4 = P2(e4), q2(m2.transformHeader) && (e4 = m2.transformHeader(e4, t5)), c2.push(e4);
149
+ e4 = P4(e4), q3(m2.transformHeader) && (e4 = m2.transformHeader(e4, t5)), c2.push(e4);
150
150
  };
151
151
  var t2 = t4;
152
152
  if (p2) if (Array.isArray(p2.data[0])) {
@@ -176,29 +176,29 @@ var require_papaparse_min = __commonJS({
176
176
  e2 = { type: e2, code: t2, message: i5 };
177
177
  void 0 !== r4 && (e2.row = r4), p2.errors.push(e2);
178
178
  }
179
- q2(m2.step) && (t = m2.step, m2.step = function(e2) {
179
+ q3(m2.step) && (t = m2.step, m2.step = function(e2) {
180
180
  p2 = e2, _3() ? g3() : (g3(), 0 !== p2.data.length && (r2 += e2.data.length, m2.preview && r2 > m2.preview ? s2.abort() : (p2.data = p2.data[0], t(p2, i4))));
181
181
  }), this.parse = function(e2, t2, i5) {
182
- var r4 = m2.quoteChar || '"', r4 = (m2.newline || (m2.newline = this.guessLineEndings(e2, r4)), a4 = false, m2.delimiter ? q2(m2.delimiter) && (m2.delimiter = m2.delimiter(e2), p2.meta.delimiter = m2.delimiter) : ((r4 = ((e4, t4, i6, r5, n4) => {
182
+ var r4 = m2.quoteChar || '"', r4 = (m2.newline || (m2.newline = this.guessLineEndings(e2, r4)), a4 = false, m2.delimiter ? q3(m2.delimiter) && (m2.delimiter = m2.delimiter(e2), p2.meta.delimiter = m2.delimiter) : ((r4 = ((e4, t4, i6, r5, n4) => {
183
183
  var s4, a5, o5, h4;
184
- n4 = n4 || [",", " ", "|", ";", v2.RECORD_SEP, v2.UNIT_SEP];
184
+ n4 = n4 || [",", " ", "|", ";", v3.RECORD_SEP, v3.UNIT_SEP];
185
185
  for (var u6 = 0; u6 < n4.length; u6++) {
186
186
  for (var d3, f4 = n4[u6], l4 = 0, c4 = 0, p4 = 0, g4 = (o5 = void 0, new E4({ comments: r5, delimiter: f4, newline: t4, preview: 10 }).parse(e4)), _4 = 0; _4 < g4.data.length; _4++) i6 && y5(g4.data[_4]) ? p4++ : (d3 = g4.data[_4].length, c4 += d3, void 0 === o5 ? o5 = d3 : 0 < d3 && (l4 += Math.abs(d3 - o5), o5 = d3));
187
187
  0 < g4.data.length && (c4 /= g4.data.length - p4), (void 0 === a5 || l4 <= a5) && (void 0 === h4 || h4 < c4) && 1.99 < c4 && (a5 = l4, s4 = f4, h4 = c4);
188
188
  }
189
189
  return { successful: !!(m2.delimiter = s4), bestDelimiter: s4 };
190
- })(e2, m2.newline, m2.skipEmptyLines, m2.comments, m2.delimitersToGuess)).successful ? m2.delimiter = r4.bestDelimiter : (a4 = true, m2.delimiter = v2.DefaultDelimiter), p2.meta.delimiter = m2.delimiter), b2(m2));
190
+ })(e2, m2.newline, m2.skipEmptyLines, m2.comments, m2.delimitersToGuess)).successful ? m2.delimiter = r4.bestDelimiter : (a4 = true, m2.delimiter = v3.DefaultDelimiter), p2.meta.delimiter = m2.delimiter), b2(m2));
191
191
  return m2.preview && m2.header && r4.preview++, n2 = e2, s2 = new E4(r4), p2 = s2.parse(n2, t2, i5), g3(), l3 ? { meta: { paused: true } } : p2 || { meta: { paused: false } };
192
192
  }, this.paused = function() {
193
193
  return l3;
194
194
  }, this.pause = function() {
195
- l3 = true, s2.abort(), n2 = q2(m2.chunk) ? "" : n2.substring(s2.getCharIndex());
195
+ l3 = true, s2.abort(), n2 = q3(m2.chunk) ? "" : n2.substring(s2.getCharIndex());
196
196
  }, this.resume = function() {
197
197
  i4.streamer._halted ? (l3 = false, i4.streamer.parseChunk(n2, true)) : setTimeout(i4.resume, 3);
198
198
  }, this.aborted = function() {
199
199
  return e;
200
200
  }, this.abort = function() {
201
- e = true, s2.abort(), p2.meta.aborted = true, q2(m2.complete) && m2.complete(p2), n2 = "";
201
+ e = true, s2.abort(), p2.meta.aborted = true, q3(m2.complete) && m2.complete(p2), n2 = "";
202
202
  }, this.guessLineEndings = function(e2, t2) {
203
203
  e2 = e2.substring(0, 1048576);
204
204
  var t2 = new RegExp(U3(t2) + "([^]*?)" + U3(t2), "gm"), i5 = (e2 = e2.replace(t2, "")).split("\r"), t2 = e2.split("\n"), e2 = 1 < t2.length && t2[0].length < i5[0].length;
@@ -211,13 +211,13 @@ var require_papaparse_min = __commonJS({
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, A2 = C2.preview, T2 = C2.fastMode, D3 = null, L2 = false, F3 = null == C2.quoteChar ? '"' : C2.quoteChar, j2 = F3;
215
- if (void 0 !== C2.escapeChar && (j2 = C2.escapeChar), ("string" != typeof S || -1 < v2.BAD_DELIMITERS.indexOf(S)) && (S = ","), x2 === S) throw new Error("Comment character same as delimiter");
216
- true === x2 ? x2 = "#" : ("string" != typeof x2 || -1 < v2.BAD_DELIMITERS.indexOf(x2)) && (x2 = false), "\n" !== O2 && "\r" !== O2 && "\r\n" !== O2 && (O2 = "\n");
217
- var z3 = 0, M2 = false;
214
+ var S = (C2 = C2 || {}).delimiter, O2 = C2.newline, x2 = C2.comments, I2 = C2.step, A = C2.preview, T2 = C2.fastMode, D3 = null, L2 = false, F3 = null == C2.quoteChar ? '"' : C2.quoteChar, j3 = F3;
215
+ if (void 0 !== C2.escapeChar && (j3 = C2.escapeChar), ("string" != typeof S || -1 < v3.BAD_DELIMITERS.indexOf(S)) && (S = ","), x2 === S) throw new Error("Comment character same as delimiter");
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
+ var z3 = 0, M = false;
218
218
  this.parse = function(i4, t, r2) {
219
219
  if ("string" != typeof i4) throw new Error("Input must be a string");
220
- var n2 = i4.length, e = S.length, s2 = O2.length, a4 = x2.length, o4 = q2(I2), h3 = [], u5 = [], d2 = [], f2 = z3 = 0;
220
+ var n2 = i4.length, e = S.length, s2 = O2.length, a4 = x2.length, o4 = q3(I2), h3 = [], u5 = [], d2 = [], f2 = z3 = 0;
221
221
  if (!i4) return w2();
222
222
  if (T2 || false !== T2 && -1 === i4.indexOf(F3)) {
223
223
  for (var l3 = i4.split(O2), c2 = 0; c2 < l3.length; c2++) {
@@ -225,28 +225,28 @@ var require_papaparse_min = __commonJS({
225
225
  else if (r2) return w2();
226
226
  if (!x2 || d2.substring(0, a4) !== x2) {
227
227
  if (o4) {
228
- if (h3 = [], k2(d2.split(S)), R(), M2) return w2();
228
+ if (h3 = [], k2(d2.split(S)), R(), M) return w2();
229
229
  } else k2(d2.split(S));
230
- if (A2 && A2 <= c2) return h3 = h3.slice(0, A2), w2(true);
230
+ if (A && A <= c2) return h3 = h3.slice(0, A), w2(true);
231
231
  }
232
232
  }
233
233
  return w2();
234
234
  }
235
- for (var p2 = i4.indexOf(S, z3), g3 = i4.indexOf(O2, z3), _3 = new RegExp(U3(j2) + U3(F3), "g"), m2 = i4.indexOf(F3, z3); ; ) if (i4[z3] === F3) for (m2 = z3, z3++; ; ) {
235
+ for (var p2 = i4.indexOf(S, z3), g3 = i4.indexOf(O2, z3), _3 = new RegExp(U3(j3) + U3(F3), "g"), m2 = i4.indexOf(F3, z3); ; ) if (i4[z3] === F3) for (m2 = z3, z3++; ; ) {
236
236
  if (-1 === (m2 = i4.indexOf(F3, 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, F3));
238
- if (F3 === j2 && i4[m2 + 1] === j2) m2++;
239
- else if (F3 === j2 || 0 === m2 || i4[m2 - 1] !== j2) {
238
+ if (F3 === j3 && i4[m2 + 1] === j3) m2++;
239
+ else if (F3 === j3 || 0 === m2 || i4[m2 - 1] !== j3) {
240
240
  -1 !== p2 && p2 < m2 + 1 && (p2 = i4.indexOf(S, m2 + 1));
241
- var y5 = v3(-1 === (g3 = -1 !== g3 && g3 < m2 + 1 ? i4.indexOf(O2, m2 + 1) : g3) ? p2 : Math.min(p2, g3));
241
+ var y5 = v4(-1 === (g3 = -1 !== g3 && g3 < m2 + 1 ? i4.indexOf(O2, m2 + 1) : g3) ? p2 : Math.min(p2, g3));
242
242
  if (i4.substr(m2 + 1 + y5, e) === S) {
243
243
  d2.push(i4.substring(z3, m2).replace(_3, F3)), i4[z3 = m2 + 1 + y5 + e] !== F3 && (m2 = i4.indexOf(F3, z3)), p2 = i4.indexOf(S, z3), g3 = i4.indexOf(O2, z3);
244
244
  break;
245
245
  }
246
- y5 = v3(g3);
246
+ y5 = v4(g3);
247
247
  if (i4.substring(m2 + 1 + y5, m2 + 1 + y5 + s2) === O2) {
248
- if (d2.push(i4.substring(z3, m2).replace(_3, F3)), b4(m2 + 1 + y5 + s2), p2 = i4.indexOf(S, z3), m2 = i4.indexOf(F3, z3), o4 && (R(), M2)) return w2();
249
- if (A2 && h3.length >= A2) return w2(true);
248
+ if (d2.push(i4.substring(z3, m2).replace(_3, F3)), b4(m2 + 1 + y5 + s2), p2 = i4.indexOf(S, z3), m2 = i4.indexOf(F3, z3), o4 && (R(), M)) return w2();
249
+ if (A && h3.length >= A) return w2(true);
250
250
  break;
251
251
  }
252
252
  u5.push({ type: "Quotes", code: "InvalidQuotes", message: "Trailing quote on quoted field is malformed", row: h3.length, index: z3 }), m2++;
@@ -258,14 +258,14 @@ var require_papaparse_min = __commonJS({
258
258
  } else if (-1 !== p2 && (p2 < g3 || -1 === g3)) d2.push(i4.substring(z3, p2)), z3 = p2 + e, p2 = i4.indexOf(S, z3);
259
259
  else {
260
260
  if (-1 === g3) break;
261
- if (d2.push(i4.substring(z3, g3)), b4(g3 + s2), o4 && (R(), M2)) return w2();
262
- if (A2 && h3.length >= A2) return w2(true);
261
+ if (d2.push(i4.substring(z3, g3)), b4(g3 + s2), o4 && (R(), M)) return w2();
262
+ if (A && h3.length >= A) return w2(true);
263
263
  }
264
264
  return E5();
265
265
  function k2(e2) {
266
266
  h3.push(e2), f2 = z3;
267
267
  }
268
- function v3(e2) {
268
+ function v4(e2) {
269
269
  var t2 = 0;
270
270
  return t2 = -1 !== e2 && (e2 = i4.substring(m2 + 1, e2)) && "" === e2.trim() ? e2.length : t2;
271
271
  }
@@ -280,8 +280,8 @@ var require_papaparse_min = __commonJS({
280
280
  var s4 = h3[0], a5 = /* @__PURE__ */ Object.create(null), o5 = new Set(s4);
281
281
  let n4 = false;
282
282
  for (let r4 = 0; r4 < s4.length; r4++) {
283
- let i5 = P2(s4[r4]);
284
- if (a5[i5 = q2(C2.transformHeader) ? C2.transformHeader(i5, r4) : i5]) {
283
+ let i5 = P4(s4[r4]);
284
+ if (a5[i5 = q3(C2.transformHeader) ? C2.transformHeader(i5, r4) : i5]) {
285
285
  let e4, t2 = a5[i5];
286
286
  for (; e4 = i5 + "_" + t2, t2++, o5.has(e4); ) ;
287
287
  o5.add(e4), s4[r4] = e4, a5[i5]++, n4 = true, (D3 = null === D3 ? {} : D3)[e4] = i5;
@@ -290,13 +290,13 @@ var require_papaparse_min = __commonJS({
290
290
  }
291
291
  n4 && console.warn("Duplicate headers found and renamed."), L2 = true;
292
292
  }
293
- return { data: h3, errors: u5, meta: { delimiter: S, linebreak: O2, aborted: M2, truncated: !!e2, cursor: f2 + (t || 0), renamedHeaders: D3 } };
293
+ return { data: h3, errors: u5, meta: { delimiter: S, linebreak: O2, aborted: M, truncated: !!e2, cursor: f2 + (t || 0), renamedHeaders: D3 } };
294
294
  }
295
295
  function R() {
296
296
  I2(w2()), h3 = [], u5 = [];
297
297
  }
298
298
  }, this.abort = function() {
299
- M2 = true;
299
+ M = true;
300
300
  }, this.getCharIndex = function() {
301
301
  return z3;
302
302
  };
@@ -308,16 +308,16 @@ var require_papaparse_min = __commonJS({
308
308
  var n2 = { abort: function() {
309
309
  r2 = true, _2(t.workerId, { data: [], errors: [], meta: { aborted: true } });
310
310
  }, pause: m, resume: m };
311
- if (q2(i4.userStep)) {
311
+ if (q3(i4.userStep)) {
312
312
  for (var s2 = 0; s2 < t.results.data.length && (i4.userStep({ data: t.results.data[s2], errors: t.results.errors, meta: t.results.meta }, n2), !r2); s2++) ;
313
313
  delete t.results;
314
- } else q2(i4.userChunk) && (i4.userChunk(t.results, n2, t.file), delete t.results);
314
+ } else q3(i4.userChunk) && (i4.userChunk(t.results, n2, t.file), delete t.results);
315
315
  }
316
316
  t.finished && !r2 && _2(t.workerId, t.results);
317
317
  }
318
318
  function _2(e, t) {
319
319
  var i4 = o2[e];
320
- q2(i4.userComplete) && i4.userComplete(t), i4.terminate(), delete o2[e];
320
+ q3(i4.userComplete) && i4.userComplete(t), i4.terminate(), delete o2[e];
321
321
  }
322
322
  function m() {
323
323
  throw new Error("Not implemented.");
@@ -333,24 +333,24 @@ var require_papaparse_min = __commonJS({
333
333
  e.apply(t, arguments);
334
334
  };
335
335
  }
336
- function q2(e) {
336
+ function q3(e) {
337
337
  return "function" == typeof e;
338
338
  }
339
- return v2.parse = function(e, t) {
339
+ return v3.parse = function(e, t) {
340
340
  var i4 = (t = t || {}).dynamicTyping || false;
341
- q2(i4) && (t.dynamicTypingFunction = i4, i4 = {});
342
- if (t.dynamicTyping = i4, t.transform = !!q2(t.transform) && t.transform, !t.worker || !v2.WORKERS_SUPPORTED) return i4 = null, v2.NODE_STREAM_INPUT, "string" == typeof e ? (e = P2(e), i4 = new (t.download ? f : c)(t)) : true === e.readable && q2(e.read) && q2(e.on) ? i4 = new p(t) : (n.File && e instanceof File || e instanceof Object) && (i4 = new l2(t)), i4.stream(e);
341
+ q3(i4) && (t.dynamicTypingFunction = i4, i4 = {});
342
+ if (t.dynamicTyping = i4, t.transform = !!q3(t.transform) && t.transform, !t.worker || !v3.WORKERS_SUPPORTED) return i4 = null, v3.NODE_STREAM_INPUT, "string" == typeof e ? (e = P4(e), i4 = new (t.download ? f : c)(t)) : true === e.readable && q3(e.read) && q3(e.on) ? i4 = new p(t) : (n.File && e instanceof File || e instanceof Object) && (i4 = new l2(t)), i4.stream(e);
343
343
  (i4 = (() => {
344
344
  var e2;
345
- return !!v2.WORKERS_SUPPORTED && (e2 = (() => {
345
+ return !!v3.WORKERS_SUPPORTED && (e2 = (() => {
346
346
  var e4 = n.URL || n.webkitURL || null, t2 = r.toString();
347
- return v2.BLOB_URL || (v2.BLOB_URL = e4.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ", "(", t2, ")();"], { type: "text/javascript" })));
347
+ return v3.BLOB_URL || (v3.BLOB_URL = e4.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ", "(", t2, ")();"], { type: "text/javascript" })));
348
348
  })(), (e2 = new n.Worker(e2)).onmessage = g2, e2.id = h2++, o2[e2.id] = e2);
349
- })()).userStep = t.step, i4.userChunk = t.chunk, i4.userComplete = t.complete, i4.userError = t.error, t.step = q2(t.step), t.chunk = q2(t.chunk), t.complete = q2(t.complete), t.error = q2(t.error), delete t.worker, i4.postMessage({ input: e, config: t, workerId: i4.id });
350
- }, v2.unparse = function(e, t) {
349
+ })()).userStep = t.step, i4.userChunk = t.chunk, i4.userComplete = t.complete, i4.userError = t.error, t.step = q3(t.step), t.chunk = q3(t.chunk), t.complete = q3(t.complete), t.error = q3(t.error), delete t.worker, i4.postMessage({ input: e, config: t, workerId: i4.id });
350
+ }, v3.unparse = function(e, t) {
351
351
  var s2 = false, _3 = true, m2 = ",", y5 = "\r\n", a4 = '"', o4 = a4 + a4, i4 = false, r2 = null, h3 = false, u5 = ((() => {
352
352
  if ("object" == typeof t) {
353
- if ("string" != typeof t.delimiter || v2.BAD_DELIMITERS.filter(function(e2) {
353
+ if ("string" != typeof t.delimiter || v3.BAD_DELIMITERS.filter(function(e2) {
354
354
  return -1 !== t.delimiter.indexOf(e2);
355
355
  }).length || (m2 = t.delimiter), "boolean" != typeof t.quotes && "function" != typeof t.quotes && !Array.isArray(t.quotes) || (s2 = t.quotes), "boolean" != typeof t.skipEmptyLines && "string" != typeof t.skipEmptyLines || (i4 = t.skipEmptyLines), "string" == typeof t.newline && (y5 = t.newline), "string" == typeof t.quoteChar && (a4 = t.quoteChar, o4 = a4 + a4), "boolean" == typeof t.header && (_3 = t.header), Array.isArray(t.columns)) {
356
356
  if (0 === t.columns.length) throw new Error("Option columns is empty");
@@ -396,30 +396,30 @@ var require_papaparse_min = __commonJS({
396
396
  return null == e2 ? "" : e2.constructor === Date ? JSON.stringify(e2).slice(1, 25) : (n4 = false, h3 && "string" == typeof e2 && h3.test(e2) && (e2 = "'" + e2, n4 = true), r4 = (i5 = e2.toString()).replace(u5, o4), (n4 = n4 || true === s2 || "function" == typeof s2 && s2(e2, t2) || Array.isArray(s2) && s2[t2] || ((e4, t4) => {
397
397
  for (var i6 = 0; i6 < t4.length; i6++) if (-1 < e4.indexOf(t4[i6])) return true;
398
398
  return false;
399
- })(r4, v2.BAD_DELIMITERS) || -1 < r4.indexOf(m2) || -1 < i5.indexOf(a4) || " " === r4.charAt(0) || " " === r4.charAt(r4.length - 1)) ? a4 + r4 + a4 : r4);
399
+ })(r4, v3.BAD_DELIMITERS) || -1 < r4.indexOf(m2) || -1 < i5.indexOf(a4) || " " === r4.charAt(0) || " " === r4.charAt(r4.length - 1)) ? a4 + r4 + a4 : r4);
400
400
  }
401
- }, v2.RECORD_SEP = String.fromCharCode(30), v2.UNIT_SEP = String.fromCharCode(31), v2.BYTE_ORDER_MARK = "\uFEFF", v2.BAD_DELIMITERS = ["\r", "\n", '"', v2.BYTE_ORDER_MARK], v2.WORKERS_SUPPORTED = !s && !!n.Worker, v2.NODE_STREAM_INPUT = 1, v2.LocalChunkSize = 10485760, v2.RemoteChunkSize = 5242880, v2.DefaultDelimiter = ",", v2.Parser = E4, v2.ParserHandle = i2, v2.NetworkStreamer = f, v2.FileStreamer = l2, v2.StringStreamer = c, v2.ReadableStreamStreamer = p, n.jQuery && ((d = n.jQuery).fn.parse = function(o4) {
401
+ }, v3.RECORD_SEP = String.fromCharCode(30), v3.UNIT_SEP = String.fromCharCode(31), v3.BYTE_ORDER_MARK = "\uFEFF", v3.BAD_DELIMITERS = ["\r", "\n", '"', v3.BYTE_ORDER_MARK], v3.WORKERS_SUPPORTED = !s && !!n.Worker, v3.NODE_STREAM_INPUT = 1, v3.LocalChunkSize = 10485760, v3.RemoteChunkSize = 5242880, v3.DefaultDelimiter = ",", v3.Parser = E4, v3.ParserHandle = i2, v3.NetworkStreamer = f, v3.FileStreamer = l2, v3.StringStreamer = c, v3.ReadableStreamStreamer = p, n.jQuery && ((d = n.jQuery).fn.parse = function(o4) {
402
402
  var i4 = o4.config || {}, h3 = [];
403
403
  return this.each(function(e2) {
404
404
  if (!("INPUT" === d(this).prop("tagName").toUpperCase() && "file" === d(this).attr("type").toLowerCase() && n.FileReader) || !this.files || 0 === this.files.length) return true;
405
405
  for (var t = 0; t < this.files.length; t++) h3.push({ file: this.files[t], inputElem: this, instanceConfig: d.extend({}, i4) });
406
406
  }), e(), this;
407
407
  function e() {
408
- if (0 === h3.length) q2(o4.complete) && o4.complete();
408
+ if (0 === h3.length) q3(o4.complete) && o4.complete();
409
409
  else {
410
410
  var e2, t, i5, r2, n2 = h3[0];
411
- if (q2(o4.before)) {
411
+ if (q3(o4.before)) {
412
412
  var s2 = o4.before(n2.file, n2.inputElem);
413
413
  if ("object" == typeof s2) {
414
- if ("abort" === s2.action) return e2 = "AbortError", t = n2.file, i5 = n2.inputElem, r2 = s2.reason, void (q2(o4.error) && o4.error({ name: e2 }, t, i5, r2));
414
+ if ("abort" === s2.action) return e2 = "AbortError", t = n2.file, i5 = n2.inputElem, r2 = s2.reason, void (q3(o4.error) && o4.error({ name: e2 }, t, i5, r2));
415
415
  if ("skip" === s2.action) return void u5();
416
416
  "object" == typeof s2.config && (n2.instanceConfig = d.extend(n2.instanceConfig, s2.config));
417
417
  } else if ("skip" === s2) return void u5();
418
418
  }
419
419
  var a4 = n2.instanceConfig.complete;
420
420
  n2.instanceConfig.complete = function(e4) {
421
- q2(a4) && a4(e4, n2.file, n2.inputElem), u5();
422
- }, v2.parse(n2.file, n2.instanceConfig);
421
+ q3(a4) && a4(e4, n2.file, n2.inputElem), u5();
422
+ }, v3.parse(n2.file, n2.instanceConfig);
423
423
  }
424
424
  }
425
425
  function u5() {
@@ -427,9 +427,9 @@ var require_papaparse_min = __commonJS({
427
427
  }
428
428
  }), a2 && (n.onmessage = function(e) {
429
429
  e = e.data;
430
- void 0 === v2.WORKER_ID && e && (v2.WORKER_ID = e.workerId);
431
- "string" == typeof e.input ? n.postMessage({ workerId: v2.WORKER_ID, results: v2.parse(e.input, e.config), finished: true }) : (n.File && e.input instanceof File || e.input instanceof Object) && (e = v2.parse(e.input, e.config)) && n.postMessage({ workerId: v2.WORKER_ID, results: e, finished: true });
432
- }), (f.prototype = Object.create(u4.prototype)).constructor = f, (l2.prototype = Object.create(u4.prototype)).constructor = l2, (c.prototype = Object.create(c.prototype)).constructor = c, (p.prototype = Object.create(u4.prototype)).constructor = p, v2;
430
+ void 0 === v3.WORKER_ID && e && (v3.WORKER_ID = e.workerId);
431
+ "string" == typeof e.input ? n.postMessage({ workerId: v3.WORKER_ID, results: v3.parse(e.input, e.config), finished: true }) : (n.File && e.input instanceof File || e.input instanceof Object) && (e = v3.parse(e.input, e.config)) && n.postMessage({ workerId: v3.WORKER_ID, results: e, finished: true });
432
+ }), (f.prototype = Object.create(u4.prototype)).constructor = f, (l2.prototype = Object.create(u4.prototype)).constructor = l2, (c.prototype = Object.create(c.prototype)).constructor = c, (p.prototype = Object.create(u4.prototype)).constructor = p, v3;
433
433
  });
434
434
  }
435
435
  });
@@ -536,20 +536,20 @@ function resolveOptions(p) {
536
536
  // never reach a chart as a live mode. Both of these are read on EVERY render, so a
537
537
  // reader can change their mind about a cached chart without regenerating it.
538
538
  approximatePositions: (() => {
539
- const v2 = (p.approximatePositions == null ? "" : String(p.approximatePositions)).toLowerCase();
540
- return v2 === "mark" || v2 === "aggregate" || v2 === "skip" ? v2 : APPROXIMATE_POSITIONS_DEFAULT;
539
+ const v3 = (p.approximatePositions == null ? "" : String(p.approximatePositions)).toLowerCase();
540
+ return v3 === "mark" || v3 === "aggregate" || v3 === "skip" ? v3 : APPROXIMATE_POSITIONS_DEFAULT;
541
541
  })(),
542
542
  valueAxisBaseline: (() => {
543
- const v2 = (p.valueAxisBaseline == null ? "" : String(p.valueAxisBaseline)).toLowerCase();
544
- return v2 === "zero" || v2 === "fit" || v2 === "auto" ? v2 : VALUE_AXIS_BASELINE_DEFAULT;
543
+ const v3 = (p.valueAxisBaseline == null ? "" : String(p.valueAxisBaseline)).toLowerCase();
544
+ return v3 === "zero" || v3 === "fit" || v3 === "auto" ? v3 : VALUE_AXIS_BASELINE_DEFAULT;
545
545
  })(),
546
546
  // Same shape, and the same reason for it: an unrecognised string must never reach a chart
547
547
  // as a live mode. Failing open to "auto" is the conservative direction here — "auto" is
548
548
  // the setting that makes the chart PROVE the grid before it names a period, so a garbled
549
549
  // value withdraws the claim rather than asserting one.
550
550
  seasonalMarkers: (() => {
551
- const v2 = (p.seasonalMarkers == null ? "" : String(p.seasonalMarkers)).toLowerCase();
552
- return v2 === "auto" || v2 === "always" || v2 === "never" ? v2 : SEASONAL_MARKERS_DEFAULT;
551
+ const v3 = (p.seasonalMarkers == null ? "" : String(p.seasonalMarkers)).toLowerCase();
552
+ return v3 === "auto" || v3 === "always" || v3 === "never" ? v3 : SEASONAL_MARKERS_DEFAULT;
553
553
  })(),
554
554
  // ---- animation: booleans, default+clamp numerics, "" default enum ----
555
555
  animAutoPlay: !!p.animAutoPlay,
@@ -904,12 +904,12 @@ function A3(n) {
904
904
  if (f && f.length) {
905
905
  let d = n.state === void 0 || n.state === null ? "" : String(n.state).trim(), R = d ? u(d) : "", g2 = d ? Y(d) : null, S = [], m = -1;
906
906
  for (let c of f) {
907
- let l2 = c.row, A2 = 0;
908
- if (d && l2.a1 !== "") if (g2 && l2.a1 === g2 || u(l2.a1) === R) A2++;
907
+ let l2 = c.row, A = 0;
908
+ if (d && l2.a1 !== "") if (g2 && l2.a1 === g2 || u(l2.a1) === R) A++;
909
909
  else continue;
910
- if (i2) if (T(l2.cc) === i2) A2++;
910
+ if (i2) if (T(l2.cc) === i2) A++;
911
911
  else continue;
912
- A2 > m ? (m = A2, S = [c]) : A2 === m && S.push(c);
912
+ A > m ? (m = A, S = [c]) : A === m && S.push(c);
913
913
  }
914
914
  S.some((c) => c.primary) && (S = S.filter((c) => c.primary));
915
915
  let p = /* @__PURE__ */ new Map();
@@ -940,20 +940,20 @@ var x = 8;
940
940
  function y3(n, e) {
941
941
  let t = new Array(n.length), o2 = new Array(n.length), i2 = new Array(n.length), r = /* @__PURE__ */ new Set(), a2 = [], s = /* @__PURE__ */ new Set(), f = [], d = /* @__PURE__ */ new Set(), R = [], g2 = { latlon: 0, city: 0, zip3: 0, state: 0, country: 0 }, S = 0, m = 0, p = null;
942
942
  for (let l2 = 0; l2 < n.length; ++l2) {
943
- let A2 = n[l2], C2 = A3({ ...A2, mapKind: e });
943
+ let A = n[l2], C2 = A3({ ...A, mapKind: e });
944
944
  if (S3(C2)) {
945
945
  t[l2] = null, o2[l2] = null, i2[l2] = null, m++;
946
- let M2 = K(A2);
947
- M2 && !d.has(M2.toLowerCase()) && (d.add(M2.toLowerCase()), R.length < x && R.push(M2));
946
+ let M = K(A);
947
+ M && !d.has(M.toLowerCase()) && (d.add(M.toLowerCase()), R.length < x && R.push(M));
948
948
  } else if (C2) {
949
949
  if (t[l2] = C2.lat, o2[l2] = C2.lon, i2[l2] = C2.precision, S++, g2[C2.precision]++, (p === null || G[C2.precision] > G[p]) && (p = C2.precision), G[C2.precision] > G.city) {
950
- let M2 = K(A2);
951
- M2 && !s.has(M2.toLowerCase()) && (s.add(M2.toLowerCase()), f.length < x && f.push(M2));
950
+ let M = K(A);
951
+ M && !s.has(M.toLowerCase()) && (s.add(M.toLowerCase()), f.length < x && f.push(M));
952
952
  }
953
953
  } else {
954
954
  t[l2] = null, o2[l2] = null, i2[l2] = null;
955
- let M2 = K(A2);
956
- M2 && !r.has(M2.toLowerCase()) && (r.add(M2.toLowerCase()), a2.push(M2));
955
+ let M = K(A);
956
+ M && !r.has(M.toLowerCase()) && (r.add(M.toLowerCase()), a2.push(M));
957
957
  }
958
958
  }
959
959
  let c = !n3() && n.some((l2) => l2.city !== null && l2.city !== void 0 && String(l2.city).trim() !== "");
@@ -1045,7 +1045,7 @@ function It(n, s) {
1045
1045
  return s === "us-zip5" ? w.has(n.slice(0, 3)) : true;
1046
1046
  }
1047
1047
  function Wt(n, s) {
1048
- let i2 = new Array(n.length), r = /* @__PURE__ */ new Set(), M2 = [], h2 = 0;
1048
+ let i2 = new Array(n.length), r = /* @__PURE__ */ new Set(), M = [], h2 = 0;
1049
1049
  for (let N2 = 0; N2 < n.length; ++N2) {
1050
1050
  let I2 = Mt(n[N2], s), O2 = I2 !== null && It(I2, s) ? I2 : null;
1051
1051
  if (i2[N2] = O2, O2 !== null) h2++;
@@ -1055,85 +1055,85 @@ function Wt(n, s) {
1055
1055
  let p = String(d).trim();
1056
1056
  if (p.length > 0) {
1057
1057
  let m = p.toLowerCase();
1058
- r.has(m) || (r.add(m), M2.push(p));
1058
+ r.has(m) || (r.add(m), M.push(p));
1059
1059
  }
1060
1060
  }
1061
1061
  }
1062
1062
  }
1063
- return { iso: i2, unmatched: M2, matchedRows: h2, totalRows: n.length };
1063
+ return { iso: i2, unmatched: M, matchedRows: h2, totalRows: n.length };
1064
1064
  }
1065
1065
 
1066
- // ../shape-core/dist/chunk-6ZU65KK6.mjs
1066
+ // ../shape-core/dist/chunk-VLKG6RD7.mjs
1067
1067
  var import_papaparse = __toESM(require_papaparse_min(), 1);
1068
1068
  /*! @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. */
1069
1069
  var pt = { "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" };
1070
- var $2 = (() => {
1070
+ var j2 = (() => {
1071
1071
  let n = /* @__PURE__ */ new Map();
1072
1072
  for (let t of Object.keys(pt)) for (let e of pt[t].split(/\s+/)) e && n.set(e, t);
1073
1073
  return n;
1074
1074
  })();
1075
- function Dt(n) {
1075
+ function Ot(n) {
1076
1076
  for (let [t, e] of n) {
1077
- let s = $2.get(t);
1078
- s && !$2.has(e) && $2.set(e, s);
1077
+ let r = j2.get(t);
1078
+ r && !j2.has(e) && j2.set(e, r);
1079
1079
  }
1080
1080
  }
1081
- Dt(N);
1082
- var Ot = ["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"];
1083
- var Lt = ["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"];
1084
- var Pt = ["latitude", "longitude"];
1081
+ Ot(N);
1082
+ var Lt = ["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"];
1083
+ var Pt = ["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"];
1085
1084
  var Gt2 = ["latitude", "longitude"];
1086
- var yt2 = /^\s*(sum|count|count\s+distinct|distinct\s+count)\s+of\s+/i;
1087
- var Wt2 = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])/g;
1088
- var Ft = new RegExp("\\b(" + Ot.join("|") + ")\\b|(" + Lt.join("|") + ")$", "i");
1089
- var Vt = new RegExp("\\b(" + Pt.join("|") + ")\\b|(" + Gt2.join("|") + ")$", "i");
1090
- function _t(n) {
1091
- return n ? String(n).replace(yt2, "").trim() : "";
1092
- }
1093
- function kt(n) {
1094
- return !!n && yt2.test(String(n));
1095
- }
1096
- var Ut = ["count (distinct)", "count distinct", "distinct count", "standard deviation", "average", "variance", "median", "product", "stddev", "std dev", "count", "sum", "avg", "min", "minimum", "max", "maximum", "var"];
1097
- var bt = new RegExp("^\\s*(" + [...Ut].sort((n, t) => t.length - n.length).map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\s+/g, "\\s+")).join("|") + ")\\s+of\\s+", "i");
1085
+ var Wt2 = ["latitude", "longitude"];
1086
+ var _t = /^\s*(sum|count|count\s+distinct|distinct\s+count)\s+of\s+/i;
1087
+ var Ft = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])/g;
1088
+ var Vt = new RegExp("\\b(" + Lt.join("|") + ")\\b|(" + Pt.join("|") + ")$", "i");
1089
+ var kt = new RegExp("\\b(" + Gt2.join("|") + ")\\b|(" + Wt2.join("|") + ")$", "i");
1090
+ function St2(n) {
1091
+ return n ? String(n).replace(_t, "").trim() : "";
1092
+ }
1093
+ function Ut(n) {
1094
+ return !!n && _t.test(String(n));
1095
+ }
1096
+ var Bt = ["count (distinct)", "count distinct", "distinct count", "standard deviation", "average", "variance", "median", "product", "stddev", "std dev", "count", "sum", "avg", "min", "minimum", "max", "maximum", "var"];
1097
+ var yt2 = new RegExp("^\\s*(" + [...Bt].sort((n, t) => t.length - n.length).map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\s+/g, "\\s+")).join("|") + ")\\s+of\\s+", "i");
1098
1098
  function zt(n) {
1099
- let t = _t(n);
1100
- return t.length === 0 ? "" : t.replace(Wt2, " ");
1099
+ let t = St2(n);
1100
+ return t.length === 0 ? "" : t.replace(Ft, " ");
1101
1101
  }
1102
- function Ct(n, t) {
1102
+ function Mt2(n, t) {
1103
1103
  if (!t) return false;
1104
- let e = _t(t);
1104
+ let e = St2(t);
1105
1105
  return n.test(zt(t)) || n.test(e) || n.test(o(e).join(" "));
1106
1106
  }
1107
- function Mt2(n) {
1108
- return Ct(Vt, n);
1107
+ function At(n) {
1108
+ return Mt2(kt, n);
1109
1109
  }
1110
- function Bt(n) {
1111
- return Ct(Ft, n) || Mt2(n);
1112
- }
1113
- var At = /int|double|decimal|single|float|number|currency|money/i;
1114
1110
  function Ht(n) {
1115
- let t = String(n?.valueNature ?? "").trim().toLowerCase();
1116
- return t === "categorical" ? "Categorical" : t === "ordinal" ? "Ordinal" : t === "continuous" || n?.isMeasure === true || At.test(String(n?.dataType ?? "")) ? "Continuous" : "Categorical";
1111
+ return Mt2(Vt, n) || At(n);
1117
1112
  }
1113
+ var Tt = /int|double|decimal|single|float|number|currency|money/i;
1118
1114
  function Kt(n) {
1119
- return n?.isMeasure === true || At.test(String(n?.dataType ?? ""));
1115
+ let t = String(n?.valueNature ?? "").trim().toLowerCase();
1116
+ return t === "categorical" ? "Categorical" : t === "ordinal" ? "Ordinal" : t === "continuous" || n?.isMeasure === true || Tt.test(String(n?.dataType ?? "")) ? "Continuous" : "Categorical";
1117
+ }
1118
+ function Yt(n) {
1119
+ return n?.isMeasure === true || Tt.test(String(n?.dataType ?? ""));
1120
1120
  }
1121
- function Tt(n) {
1122
- let t = n ?? {}, e = Ht(t);
1121
+ function Nt(n) {
1122
+ let t = n ?? {}, e = Kt(t);
1123
1123
  if (e !== "Continuous") return { nature: e, additivity: "unknown", basis: "role", suppressed: false };
1124
- if (Mt2(t.name)) return { nature: e, additivity: "positional", basis: "name", suppressed: true };
1125
- let s = String(t.additivity ?? "").trim().toLowerCase();
1126
- if (!(s === "additive" && kt(t.name))) {
1127
- if (s === "additive") return { nature: e, additivity: "additive", basis: "measured", suppressed: false };
1128
- if (s === "part_of_whole") return { nature: e, additivity: "part_of_whole", basis: "measured", suppressed: false };
1129
- if (s === "intensive_rate") return { nature: e, additivity: "intensive_rate", basis: "measured", suppressed: false };
1124
+ if (At(t.name)) return { nature: e, additivity: "positional", basis: "name", suppressed: true };
1125
+ let r = String(t.additivity ?? "").trim().toLowerCase();
1126
+ if (!(r === "additive" && Ut(t.name))) {
1127
+ if (r === "additive") return { nature: e, additivity: "additive", basis: "measured", suppressed: false };
1128
+ if (r === "part_of_whole") return { nature: e, additivity: "part_of_whole", basis: "measured", suppressed: false };
1129
+ if (r === "intensive_rate") return { nature: e, additivity: "intensive_rate", basis: "measured", suppressed: false };
1130
1130
  }
1131
- return t.discourageAggregationAcrossGroups === true ? { nature: e, additivity: "intensive_rate", basis: "host-flag", suppressed: false } : Bt(t.name) ? { nature: e, additivity: "intensive_rate", basis: "name", suppressed: false } : { nature: e, additivity: "additive", basis: "default", suppressed: false };
1131
+ return t.discourageAggregationAcrossGroups === true ? { nature: e, additivity: "intensive_rate", basis: "host-flag", suppressed: false } : Ht(t.name) ? { nature: e, additivity: "intensive_rate", basis: "name", suppressed: false } : { nature: e, additivity: "additive", basis: "default", suppressed: false };
1132
1132
  }
1133
- function Nt(n) {
1134
- let t = Tt(n), e = n ?? {};
1133
+ function Rt(n) {
1134
+ let t = Nt(n), e = n ?? {};
1135
1135
  if (t.nature === "Categorical") return ["first", "distinctcount", "count"];
1136
- if (t.nature === "Ordinal") return Kt(e) ? ["median", "average", "min", "max", "first", "distinctcount", "count"] : ["first", "distinctcount", "count"];
1136
+ if (t.nature === "Ordinal") return Yt(e) ? ["median", "average", "min", "max", "first", "distinctcount", "count"] : ["first", "distinctcount", "count"];
1137
1137
  switch (t.additivity) {
1138
1138
  case "positional":
1139
1139
  return ["min", "max", "count", "distinctcount", "first"];
@@ -1143,24 +1143,24 @@ function Nt(n) {
1143
1143
  return ["sum", "average", "median", "min", "max", "count", "distinctcount", "first"];
1144
1144
  }
1145
1145
  }
1146
- function _e(n) {
1147
- return Nt(n)[0];
1146
+ function Se(n) {
1147
+ return Rt(n)[0];
1148
1148
  }
1149
- function Ce(n, t) {
1149
+ function Me(n, t) {
1150
1150
  if (t !== "sum" && t !== "count") return false;
1151
1151
  if (t === "count") return true;
1152
- let e = Tt(n);
1152
+ let e = Nt(n);
1153
1153
  return e.additivity === "additive" || e.additivity === "part_of_whole" || e.additivity === "unknown";
1154
1154
  }
1155
1155
 
1156
1156
  // ../shape-core/dist/index.mjs
1157
1157
  /*! @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. */
1158
- var z2 = 2;
1158
+ var E2 = 2;
1159
1159
  var U2 = 400;
1160
- function E2(r) {
1160
+ function G2(r) {
1161
1161
  return !!E(r);
1162
1162
  }
1163
- function A(r) {
1163
+ function C(r) {
1164
1164
  let e = /* @__PURE__ */ new Set();
1165
1165
  for (let n of r) {
1166
1166
  if (n == null) continue;
@@ -1169,26 +1169,26 @@ function A(r) {
1169
1169
  }
1170
1170
  return Array.from(e);
1171
1171
  }
1172
- function C(r) {
1173
- let e = A(r);
1174
- if (e.length === 0 || $3(r) < 95) return false;
1175
- let n = e.filter((c) => E2(c) && !Y(c)).length, s = e.filter((c) => !E2(c) && !!Y(c)).length;
1172
+ function P2(r) {
1173
+ let e = C(r);
1174
+ if (e.length === 0 || $2(r) < 95) return false;
1175
+ let n = e.filter((c) => G2(c) && !Y(c)).length, s = e.filter((c) => !G2(c) && !!Y(c)).length;
1176
1176
  return n >= 1 && n >= s;
1177
1177
  }
1178
- function W2(r, e) {
1178
+ function q2(r, e) {
1179
1179
  if (!Y(r)) return false;
1180
1180
  let n = E(r);
1181
1181
  return n ? e === "world" ? true : s3.has(n) : false;
1182
1182
  }
1183
- function $3(r) {
1184
- let e = A(r);
1183
+ function $2(r) {
1184
+ let e = C(r);
1185
1185
  if (e.length === 0) return 0;
1186
1186
  let n = 0;
1187
- for (let s of e) E2(s) && n++;
1187
+ for (let s of e) G2(s) && n++;
1188
1188
  return Math.round(n / e.length * 1e3) / 10;
1189
1189
  }
1190
- function M(r) {
1191
- let e = A(r);
1190
+ function v2(r) {
1191
+ let e = C(r);
1192
1192
  if (e.length === 0) return 0;
1193
1193
  let n = 0;
1194
1194
  for (let s of e) Y(s) && n++;
@@ -1213,89 +1213,89 @@ function D2(r) {
1213
1213
  function Z2(r, e) {
1214
1214
  return y2(e, rt) ? true : F2(r).some((n) => /^\d{5}(-\d{4})?$/.test(n.replace(/\.0+$/, "")));
1215
1215
  }
1216
- function Yt(r, e) {
1217
- let n = A(r);
1216
+ function Qt(r, e) {
1217
+ let n = C(r);
1218
1218
  if (n.length === 0) return 0;
1219
1219
  let s = 0;
1220
1220
  for (let c of n) p3(c, e) && s++;
1221
1221
  return Math.round(s / n.length * 1e3) / 10;
1222
1222
  }
1223
- function G2(r, e) {
1223
+ function z2(r, e) {
1224
1224
  let n = 0;
1225
- for (let s of A(r)) e(s) && n++;
1225
+ for (let s of C(r)) e(s) && n++;
1226
1226
  return n;
1227
1227
  }
1228
- function Jt(r, e) {
1228
+ function tn(r, e) {
1229
1229
  let n = 0;
1230
1230
  for (let s of F2(r)) e(s) && n++;
1231
1231
  return n;
1232
1232
  }
1233
- function Qt(r, e, n, s, c) {
1234
- let P2 = [], u4 = [], o2 = {}, v2 = {}, k2 = new Set(r), l2 = (t) => e.map((i2) => i2[t]);
1233
+ function nn(r, e, n, s, c) {
1234
+ let A = [], u4 = [], o2 = {}, M = {}, _2 = new Set(r), l2 = (t) => e.map((i2) => i2[t]);
1235
1235
  for (let t of ["city", "country"]) {
1236
1236
  let i2 = n?.[t];
1237
- i2 && k2.has(i2) && (o2[t] = i2);
1237
+ i2 && _2.has(i2) && (o2[t] = i2);
1238
1238
  }
1239
1239
  let X2 = new Set(c ?? r);
1240
1240
  for (let t of ["lat", "lon"]) {
1241
1241
  let i2 = n?.[t];
1242
1242
  i2 && X2.has(i2) && (o2[t] = i2);
1243
1243
  }
1244
- let p = n?.zip;
1245
- if (p && k2.has(p)) {
1246
- let t = l2(p), i2 = D2(t);
1247
- i2 < 95 ? u4.push(`zip=${p} (only ${i2}% of values read as ZIPs)`) : Z2(t, p) ? o2.zip = p : u4.push(`zip=${p} (all values are 3-4 digits with nothing to say they are postal)`);
1244
+ let g2 = n?.zip;
1245
+ if (g2 && _2.has(g2)) {
1246
+ let t = l2(g2), i2 = D2(t);
1247
+ i2 < 95 ? u4.push(`zip=${g2} (only ${i2}% of values read as ZIPs)`) : Z2(t, g2) ? o2.zip = g2 : u4.push(`zip=${g2} (all values are 3-4 digits with nothing to say they are postal)`);
1248
1248
  }
1249
- let g2 = n?.state;
1250
- if (g2 && k2.has(g2)) {
1251
- let t = l2(g2), i2 = A(t);
1252
- i2.length > 0 && i2.every((a2) => W2(a2, s)) ? u4.push(`state=${g2} (every value is "CA", which is both Canada and California)`) : C(t) ? (u4.push(`state=${g2} (every value is a country, not a state)`), o2.country || (o2.country = g2)) : M(t) < 95 ? u4.push(`state=${g2} (only ${M(t)}% of values are states/provinces)`) : o2.state = g2;
1249
+ let p = n?.state;
1250
+ if (p && _2.has(p)) {
1251
+ let t = l2(p), i2 = C(t);
1252
+ i2.length > 0 && i2.every((a2) => q2(a2, s)) ? u4.push(`state=${p} (every value is "CA", which is both Canada and California)`) : P2(t) ? (u4.push(`state=${p} (every value is a country, not a state)`), o2.country || (o2.country = p)) : v2(t) < 95 ? u4.push(`state=${p} (only ${v2(t)}% of values are states/provinces)`) : o2.state = p;
1253
1253
  }
1254
1254
  let d = new Set(Object.values(o2).filter(Boolean)), x2 = r.filter((t) => !d.has(t) && !t.startsWith("__"));
1255
1255
  if (!o2.state) {
1256
1256
  let t = null;
1257
1257
  for (let i2 of x2) {
1258
1258
  let a2 = l2(i2);
1259
- if (C(a2)) continue;
1260
- let f = M(a2);
1259
+ if (P2(a2)) continue;
1260
+ let f = v2(a2);
1261
1261
  if (f < 95) continue;
1262
- let N2 = G2(a2, (S) => !!Y(S)), Y2 = G2(a2, (S) => !!Y(S) && !W2(S, s));
1263
- N2 < z2 && Y2 < 1 || (!t || f > t.pct) && (t = { name: i2, pct: f });
1262
+ let N2 = z2(a2, (S) => !!Y(S)), Y2 = z2(a2, (S) => !!Y(S) && !q2(S, s));
1263
+ N2 < E2 && Y2 < 1 || (!t || f > t.pct) && (t = { name: i2, pct: f });
1264
1264
  }
1265
- t && (o2.state = t.name, d.add(t.name), P2.push(`state=${t.name} (${t.pct}% states/provinces)`));
1265
+ t && (o2.state = t.name, d.add(t.name), A.push(`state=${t.name} (${t.pct}% states/provinces)`));
1266
1266
  }
1267
1267
  if (!o2.zip) for (let t of x2) {
1268
1268
  if (d.has(t)) continue;
1269
1269
  let i2 = l2(t), a2 = D2(i2);
1270
- if (!(a2 < 95) && Z2(i2, t) && !(Jt(i2, (f) => Z(f).length > 0) < z2)) {
1271
- o2.zip = t, d.add(t), P2.push(`zip=${t} (${a2}% ZIP codes)`);
1270
+ if (!(a2 < 95) && Z2(i2, t) && !(tn(i2, (f) => Z(f).length > 0) < E2)) {
1271
+ o2.zip = t, d.add(t), A.push(`zip=${t} (${a2}% ZIP codes)`);
1272
1272
  break;
1273
1273
  }
1274
1274
  }
1275
1275
  let h2 = o2.country;
1276
- if (!h2 || !C(l2(h2))) {
1276
+ if (!h2 || !P2(l2(h2))) {
1277
1277
  let t = null;
1278
1278
  for (let i2 of x2) {
1279
- if (d.has(i2) || !C(l2(i2))) continue;
1280
- let a2 = $3(l2(i2));
1279
+ if (d.has(i2) || !P2(l2(i2))) continue;
1280
+ let a2 = $2(l2(i2));
1281
1281
  (!t || a2 > t.pct) && (t = { name: i2, pct: a2 });
1282
1282
  }
1283
- t && (h2 && (u4.push(`country=${h2} (only ${$3(l2(h2))}% of values are country identifiers; using ${t.name} instead)`), v2.country = h2), o2.country = t.name, d.add(t.name), P2.push(`country=${t.name}`));
1283
+ t && (h2 && (u4.push(`country=${h2} (only ${$2(l2(h2))}% of values are country identifiers; using ${t.name} instead)`), M.country = h2), o2.country = t.name, d.add(t.name), A.push(`country=${t.name}`));
1284
1284
  }
1285
1285
  if (!o2.city) {
1286
1286
  let t = null;
1287
1287
  for (let i2 of x2) {
1288
1288
  if (d.has(i2)) continue;
1289
- let a2 = l2(i2), f = Yt(a2, s);
1290
- f < m3 || G2(a2, (N2) => p3(N2, s)) < z2 || (!t || f > t.pct) && (t = { name: i2, pct: f });
1289
+ let a2 = l2(i2), f = Qt(a2, s);
1290
+ f < m3 || z2(a2, (N2) => p3(N2, s)) < E2 || (!t || f > t.pct) && (t = { name: i2, pct: f });
1291
1291
  }
1292
- t && (o2.city = t.name, P2.push(`city=${t.name} (${t.pct}% known cities)`));
1292
+ t && (o2.city = t.name, A.push(`city=${t.name} (${t.pct}% known cities)`));
1293
1293
  }
1294
- let B2 = o2.country ? l2(o2.country) : [], _2 = !!o2.country && C(B2), j2 = _2 ? new Set(B2.map((t) => E(t == null ? null : String(t))).filter(Boolean)).size : 0, K2 = _2 && j2 >= 2, L2 = !!(o2.lat && o2.lon) && e.some((t) => {
1294
+ let B2 = o2.country ? l2(o2.country) : [], k2 = !!o2.country && P2(B2), j3 = k2 ? new Set(B2.map((t) => E(t == null ? null : String(t))).filter(Boolean)).size : 0, K2 = k2 && j3 >= 2, L2 = !!(o2.lat && o2.lon) && e.some((t) => {
1295
1295
  let i2 = +String(t[o2.lat] ?? "").trim(), a2 = +String(t[o2.lon] ?? "").trim();
1296
1296
  return isFinite(i2) && isFinite(a2) && i2 >= -90 && i2 <= 90 && a2 >= -180 && a2 <= 180 && String(t[o2.lat] ?? "").trim() !== "" && String(t[o2.lon] ?? "").trim() !== "";
1297
1297
  });
1298
- return o2.lat && o2.lon && !L2 && u4.push(`lat/lon=${o2.lat}/${o2.lon} (no row holds a usable coordinate pair)`), o2.country && !K2 && !(o2.city || o2.state || o2.zip || L2) && u4.push(_2 ? `country=${o2.country} (every row resolves to the same country - nothing to place apart)` : `country=${o2.country} (values are not country identifiers)`), { bind: !!(o2.city || o2.state || o2.zip || K2 || L2) ? o2 : null, backfilled: P2, refused: u4, ...Object.keys(v2).length ? { labelFallback: v2 } : {} };
1298
+ return o2.lat && o2.lon && !L2 && u4.push(`lat/lon=${o2.lat}/${o2.lon} (no row holds a usable coordinate pair)`), o2.country && !K2 && !(o2.city || o2.state || o2.zip || L2) && u4.push(k2 ? `country=${o2.country} (every row resolves to the same country - nothing to place apart)` : `country=${o2.country} (values are not country identifiers)`), { bind: !!(o2.city || o2.state || o2.zip || K2 || L2) ? o2 : null, backfilled: A, refused: u4, ...Object.keys(M).length ? { labelFallback: M } : {} };
1299
1299
  }
1300
1300
 
1301
1301
  // src/payload.ts
@@ -1310,7 +1310,7 @@ function resolvePointChannel(cols, rowObjs, point) {
1310
1310
  let labelCol;
1311
1311
  if (bind) {
1312
1312
  const dims = cols.filter((c) => !c.isMeasure).map((c) => c.name);
1313
- const res = Qt(dims, rowObjs, bind, point?.mapKind, cols.map((c) => c.name));
1313
+ const res = nn(dims, rowObjs, bind, point?.mapKind, cols.map((c) => c.name));
1314
1314
  bind = res.bind;
1315
1315
  rolesBackfilled = res.backfilled;
1316
1316
  rolesRefused = res.refused;
@@ -1378,11 +1378,11 @@ function buildRenderPayload(cols, rowObjs, geo, point, destination) {
1378
1378
  const row = rowObjs[r];
1379
1379
  const a2 = new Array(cols.length + extra);
1380
1380
  for (let c = 0; c < cols.length; c++) {
1381
- const v2 = row[colNames[c]];
1382
- if (v2 instanceof Date) {
1383
- a2[c] = v2.toISOString();
1381
+ const v3 = row[colNames[c]];
1382
+ if (v3 instanceof Date) {
1383
+ a2[c] = v3.toISOString();
1384
1384
  } else {
1385
- a2[c] = v2 ?? null;
1385
+ a2[c] = v3 ?? null;
1386
1386
  }
1387
1387
  }
1388
1388
  let k2 = cols.length;
@@ -2103,8 +2103,8 @@ function pinScrolledAxis(container, svg) {
2103
2103
  }
2104
2104
  const pinSvg = doc.createElementNS(SVG_NS2, "svg");
2105
2105
  for (const a2 of ["font-family", "font-size", "font-weight", "font", "fill", "color", "text-rendering"]) {
2106
- const v2 = svg.getAttribute(a2);
2107
- if (v2) pinSvg.setAttribute(a2, v2);
2106
+ const v3 = svg.getAttribute(a2);
2107
+ if (v3) pinSvg.setAttribute(a2, v3);
2108
2108
  }
2109
2109
  const styles = svg.querySelectorAll("style");
2110
2110
  for (let i2 = 0; i2 < styles.length; i2++) pinSvg.appendChild(styles[i2].cloneNode(true));
@@ -2336,8 +2336,8 @@ function compositeOver(fg, bg) {
2336
2336
  ];
2337
2337
  }
2338
2338
  function relativeLuminance(rgb) {
2339
- const lin = rgb.map((v2) => {
2340
- const s = v2 / 255;
2339
+ const lin = rgb.map((v3) => {
2340
+ const s = v3 / 255;
2341
2341
  return s <= 0.03928 ? s / 12.92 : Math.pow((s + 0.055) / 1.055, 2.4);
2342
2342
  });
2343
2343
  return 0.2126 * lin[0] + 0.7152 * lin[1] + 0.0722 * lin[2];
@@ -2376,18 +2376,18 @@ function glyphSampleGrid(box, n = GLYPH_SAMPLE_N) {
2376
2376
  if (!box || !(box.width > 0) || !(box.height > 0) || !(n >= 1)) return out;
2377
2377
  const k2 = Math.floor(n);
2378
2378
  for (let i2 = 0; i2 < k2; i2++) {
2379
- for (let j2 = 0; j2 < k2; j2++) {
2379
+ for (let j3 = 0; j3 < k2; j3++) {
2380
2380
  out.push({
2381
2381
  x: box.left + box.width * (i2 + 0.5) / k2,
2382
- y: box.top + box.height * (j2 + 0.5) / k2
2382
+ y: box.top + box.height * (j3 + 0.5) / k2
2383
2383
  });
2384
2384
  }
2385
2385
  }
2386
2386
  return out;
2387
2387
  }
2388
- function clamp01(v2) {
2389
- if (typeof v2 !== "number" || !isFinite(v2)) return 1;
2390
- return Math.max(0, Math.min(1, v2));
2388
+ function clamp01(v3) {
2389
+ if (typeof v3 !== "number" || !isFinite(v3)) return 1;
2390
+ return Math.max(0, Math.min(1, v3));
2391
2391
  }
2392
2392
  function hexToRGB(hex) {
2393
2393
  const p = toRGBA(hex);
@@ -2400,10 +2400,10 @@ var LABEL_CONTRAST_CAP = 2e3;
2400
2400
  var EMPTY3 = { rects: 0, scanned: 0, fixed: 0, pillsBoosted: 0, offFill: 0, pageMajority: 0 };
2401
2401
  function backedSamples(el, pts) {
2402
2402
  try {
2403
- const ge = el;
2404
- if (typeof ge.isPointInFill !== "function" || typeof ge.getScreenCTM !== "function") return null;
2405
- const m = ge.getScreenCTM();
2406
- const svg = ge.ownerSVGElement;
2403
+ const ge2 = el;
2404
+ if (typeof ge2.isPointInFill !== "function" || typeof ge2.getScreenCTM !== "function") return null;
2405
+ const m = ge2.getScreenCTM();
2406
+ const svg = ge2.ownerSVGElement;
2407
2407
  if (!m || !svg || typeof svg.createSVGPoint !== "function") return null;
2408
2408
  if (pts.length === 0) return null;
2409
2409
  const inv = m.inverse();
@@ -2412,7 +2412,7 @@ function backedSamples(el, pts) {
2412
2412
  const p = svg.createSVGPoint();
2413
2413
  p.x = pts[i2].x;
2414
2414
  p.y = pts[i2].y;
2415
- hit.push(ge.isPointInFill(p.matrixTransform(inv)));
2415
+ hit.push(ge2.isPointInFill(p.matrixTransform(inv)));
2416
2416
  }
2417
2417
  return hit;
2418
2418
  } catch {
@@ -2629,7 +2629,7 @@ function createChartHost(container, config) {
2629
2629
  let data = config.data;
2630
2630
  {
2631
2631
  const stamped = config.data?.meta?.hostContract;
2632
- const major = (v2) => (v2 || "").split(".")[0];
2632
+ const major = (v3) => (v3 || "").split(".")[0];
2633
2633
  if (stamped && major(stamped) !== major(HOST_CONTRACT_VERSION)) {
2634
2634
  try {
2635
2635
  (win?.console ?? console)?.warn(
@@ -2987,10 +2987,10 @@ export {
2987
2987
  registerGeoAsset,
2988
2988
  clearGeoCache,
2989
2989
  L3,
2990
- Tt,
2991
2990
  Nt,
2992
- _e,
2993
- Ce,
2991
+ Rt,
2992
+ Se,
2993
+ Me,
2994
2994
  buildRenderPayload,
2995
2995
  createMarkResolver,
2996
2996
  ensureCrossfilterHitTargets,
package/dist/index.mjs CHANGED
@@ -23,7 +23,6 @@ import {
23
23
  CONTAINER_SLOT_INITIAL_XF_MARK,
24
24
  CONTAINER_SLOT_UI_STATE,
25
25
  CONTAINER_SLOT_XF_CLEAR,
26
- Ce,
27
26
  DARK_TEXT,
28
27
  DIM_OPACITY_DEFAULT,
29
28
  DIM_OPACITY_VAR,
@@ -44,6 +43,7 @@ import {
44
43
  MAX_FRAME_GROW_FACTOR,
45
44
  MIN_CONTRAST,
46
45
  MIN_HIT_BAND_PX,
46
+ Me,
47
47
  Nt,
48
48
  PAGE_MATCH_TOLERANCE,
49
49
  PHANTOM_FRACTION,
@@ -51,14 +51,14 @@ import {
51
51
  PILL_MIN_COVERAGE,
52
52
  PILL_OPAQUE_ALPHA,
53
53
  ROW_IDX_ATTR,
54
+ Rt,
54
55
  SCROLL_SLACK_PX,
55
56
  SEASONAL_MARKERS_DEFAULT,
56
57
  SELECTION_ACTIVE_CLASS,
57
- Tt,
58
+ Se,
58
59
  VALUE_AXIS_BASELINE_DEFAULT,
59
60
  WHITE_TEXT_BG_LUM,
60
61
  XFILTER_REFRESH_EVENT,
61
- _e,
62
62
  applyLabelContrast,
63
63
  axisPinPlacement,
64
64
  backingHoldsGlyph,
@@ -110,7 +110,7 @@ import {
110
110
  svgInkReach,
111
111
  toRGBA,
112
112
  unpinScrolledAxis
113
- } from "./chunk-5EX2EOOE.mjs";
113
+ } from "./chunk-RD3DRWLL.mjs";
114
114
  import "./chunk-A2GMXZP7.mjs";
115
115
  import "./chunk-GHODWOAL.mjs";
116
116
 
@@ -864,15 +864,15 @@ function isRealColumn(col) {
864
864
  return !!col && !isSynthetic(col.name);
865
865
  }
866
866
  function isSuppressed(col) {
867
- return Tt(col).suppressed;
867
+ return Nt(col).suppressed;
868
868
  }
869
869
  function resolveAgg(col, requested, auto) {
870
870
  const fallback = () => {
871
- const d = _e(col);
871
+ const d = Se(col);
872
872
  return d === "first" ? "count" : d;
873
873
  };
874
874
  if (auto) return fallback();
875
- return Nt(col).indexOf(requested) >= 0 ? requested : fallback();
875
+ return Rt(col).indexOf(requested) >= 0 ? requested : fallback();
876
876
  }
877
877
  function toNumber(v) {
878
878
  if (v == null || v === "") return null;
@@ -976,7 +976,7 @@ function computeSelectionCard(payload, selectedRowIdxs, opts = {}) {
976
976
  }
977
977
  const value = reduce(selVals, colAgg, selRaw);
978
978
  let sharePct = null;
979
- if (Ce(col, colAgg) && value != null) {
979
+ if (Me(col, colAgg) && value != null) {
980
980
  const allVals = [];
981
981
  const allRaw = [];
982
982
  for (let r = 0; r < rows.length; r++) {
package/dist/react.mjs CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  createChartHost,
5
5
  geoFromCache,
6
6
  loadGeo
7
- } from "./chunk-5EX2EOOE.mjs";
7
+ } from "./chunk-RD3DRWLL.mjs";
8
8
  import "./chunk-A2GMXZP7.mjs";
9
9
  import "./chunk-GHODWOAL.mjs";
10
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bicharts/chart-host",
3
- "version": "0.5.83",
3
+ "version": "0.5.85",
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",