@bicharts/chart-host 0.5.18 → 0.5.19

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.
@@ -24,6 +24,8 @@ var DIM_OPACITY_DEFAULT = 0.25;
24
24
  var ANIM_PLAY_SPEED_DEFAULT = 1e3;
25
25
  var ANIM_PLAY_SPEED_MIN = 250;
26
26
  var ANIM_PLAY_SPEED_MAX = 5e3;
27
+ var ANIM_LOOP_DELAY_DEFAULT = 3;
28
+ var ANIM_LOOP_DELAY_MIN = 0;
27
29
  var ANIM_MAX_IDEAL_FRAMES_DEFAULT = 60;
28
30
  var ANIM_MAX_IDEAL_FRAMES_MIN = 3;
29
31
  var ANIM_MAX_IDEAL_FRAMES_MAX = 500;
@@ -33,6 +35,10 @@ var COLOR_SCALE_SELF_CLAMP_PCT_MAX = 100;
33
35
 
34
36
  // src/defaults.ts
35
37
  var clamp = (n, lo, hi) => Math.max(lo, Math.min(hi, n));
38
+ var numberOr = (raw, dflt) => {
39
+ const n = raw == null || raw === "" ? NaN : Number(raw);
40
+ return Number.isFinite(n) ? n : dflt;
41
+ };
36
42
  function resolveOptions(p2) {
37
43
  return {
38
44
  // ---- host fields: pass through exactly as supplied ----
@@ -71,6 +77,13 @@ function resolveOptions(p2) {
71
77
  animAutoPlay: !!p2.animAutoPlay,
72
78
  // Math.max(250, Math.min(5000, Number(raw) || 1000))
73
79
  animPlaySpeedMs: clamp(Number(p2.animPlaySpeedMs) || ANIM_PLAY_SPEED_DEFAULT, ANIM_PLAY_SPEED_MIN, ANIM_PLAY_SPEED_MAX),
80
+ // Loop-restart delay (seconds on the overview between auto-play passes).
81
+ // Floored at 0, deliberately NO upper clamp (huge = play once per viewing),
82
+ // and 0 must survive as 0 — hence numberOr, not `|| DEFAULT`. This field was
83
+ // MISSING from the resolve list when the assembly moved here, so callers
84
+ // that passed it saw it dropped: the scrubber read undefined -> 0 -> every
85
+ // pass restarted instantly and resumed-state auto-play lost its pacing.
86
+ animLoopDelaySec: Math.max(ANIM_LOOP_DELAY_MIN, numberOr(p2.animLoopDelaySec, ANIM_LOOP_DELAY_DEFAULT)),
74
87
  // Math.max(3, Math.min(500, Number(raw) || 60))
75
88
  animMaxIdealFrames: clamp(Number(p2.animMaxIdealFrames) || ANIM_MAX_IDEAL_FRAMES_DEFAULT, ANIM_MAX_IDEAL_FRAMES_MIN, ANIM_MAX_IDEAL_FRAMES_MAX),
76
89
  animStopAtEnd: !!p2.animStopAtEnd,
@@ -1209,6 +1222,8 @@ export {
1209
1222
  ANIM_PLAY_SPEED_DEFAULT,
1210
1223
  ANIM_PLAY_SPEED_MIN,
1211
1224
  ANIM_PLAY_SPEED_MAX,
1225
+ ANIM_LOOP_DELAY_DEFAULT,
1226
+ ANIM_LOOP_DELAY_MIN,
1212
1227
  ANIM_MAX_IDEAL_FRAMES_DEFAULT,
1213
1228
  ANIM_MAX_IDEAL_FRAMES_MIN,
1214
1229
  ANIM_MAX_IDEAL_FRAMES_MAX,
package/dist/index.mjs CHANGED
@@ -1,5 +1,7 @@
1
1
  /*! @bicharts/chart-host — Apache-2.0. Bundled reference data: GeoNames (https://www.geonames.org/) CC BY 4.0; Natural Earth and US Census/TIGER (public domain). Full text: NOTICE in this package. */
2
2
  import {
3
+ ANIM_LOOP_DELAY_DEFAULT,
4
+ ANIM_LOOP_DELAY_MIN,
3
5
  ANIM_MAX_IDEAL_FRAMES_DEFAULT,
4
6
  ANIM_MAX_IDEAL_FRAMES_MAX,
5
7
  ANIM_MAX_IDEAL_FRAMES_MIN,
@@ -39,7 +41,7 @@ import {
39
41
  requiredD3Plugins,
40
42
  resolveOptions,
41
43
  stripEsmExports
42
- } from "./chunk-S4W2GTPM.mjs";
44
+ } from "./chunk-P2NWAYI7.mjs";
43
45
  import "./chunk-A2GMXZP7.mjs";
44
46
 
45
47
  // src/trivial.ts
@@ -319,6 +321,8 @@ function registerCityTable(packed) {
319
321
  L3(packed);
320
322
  }
321
323
  export {
324
+ ANIM_LOOP_DELAY_DEFAULT,
325
+ ANIM_LOOP_DELAY_MIN,
322
326
  ANIM_MAX_IDEAL_FRAMES_DEFAULT,
323
327
  ANIM_MAX_IDEAL_FRAMES_MAX,
324
328
  ANIM_MAX_IDEAL_FRAMES_MIN,
package/dist/react.mjs CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  createChartHost,
5
5
  geoFromCache,
6
6
  loadGeo
7
- } from "./chunk-S4W2GTPM.mjs";
7
+ } from "./chunk-P2NWAYI7.mjs";
8
8
  import "./chunk-A2GMXZP7.mjs";
9
9
 
10
10
  // src/react.tsx
@@ -23,6 +23,8 @@ export declare const DIM_OPACITY_DEFAULT = 0.25;
23
23
  export declare const ANIM_PLAY_SPEED_DEFAULT = 1000;
24
24
  export declare const ANIM_PLAY_SPEED_MIN = 250;
25
25
  export declare const ANIM_PLAY_SPEED_MAX = 5000;
26
+ export declare const ANIM_LOOP_DELAY_DEFAULT = 3;
27
+ export declare const ANIM_LOOP_DELAY_MIN = 0;
26
28
  export declare const ANIM_MAX_IDEAL_FRAMES_DEFAULT = 60;
27
29
  export declare const ANIM_MAX_IDEAL_FRAMES_MIN = 3;
28
30
  export declare const ANIM_MAX_IDEAL_FRAMES_MAX = 500;
@@ -70,6 +72,7 @@ export interface RenderOptions {
70
72
  noDataText?: string;
71
73
  animAutoPlay?: boolean;
72
74
  animPlaySpeedMs?: number;
75
+ animLoopDelaySec?: number;
73
76
  animMaxIdealFrames?: number;
74
77
  animStopAtEnd?: boolean;
75
78
  filtersDuringPlay?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bicharts/chart-host",
3
- "version": "0.5.18",
3
+ "version": "0.5.19",
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",