@sentropic/dataviz-react 0.4.0 → 0.4.1

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.
@@ -21,13 +21,13 @@ export type RangeSliderFilterProps = {
21
21
  */
22
22
  export declare function numericDomain(data: readonly Row[], dimension: string): NumericDomain;
23
23
  /**
24
- * Pure: two slider handles → a core `range` FilterSpec (bounds normalized so
25
- * `lo <= hi`), or `null` when they span the whole domain (no constraint).
24
+ * Pure: the two range-slider handles → a core `range` FilterSpec (bounds
25
+ * normalized so `lo <= hi`), or `null` when they span the whole domain.
26
26
  */
27
27
  export declare function rangeBoundsToSpec(lower: number, upper: number, domain: NumericDomain): FilterSpec | null;
28
28
  /**
29
- * A two-handle numeric range filter composed from two design-system Sliders
30
- * (min + max) bound to a core `range` filter on a continuous dimension.
29
+ * A two-handle numeric range filter built on the design-system RangeSlider,
30
+ * bound to a core `range` filter on a continuous dimension.
31
31
  */
32
32
  export declare function RangeSliderFilter({ store, dimension, label, min, max, step }: RangeSliderFilterProps): import("react").JSX.Element;
33
33
  //# sourceMappingURL=RangeSliderFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangeSliderFilter.d.ts","sourceRoot":"","sources":["../../src/lib/RangeSliderFilter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAExG,MAAM,MAAM,aAAa,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG;IACnC,sCAAsC;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAWpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAKxG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAQ,EAAE,EAAE,sBAAsB,+BAmCxG"}
1
+ {"version":3,"file":"RangeSliderFilter.d.ts","sourceRoot":"","sources":["../../src/lib/RangeSliderFilter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAExG,MAAM,MAAM,aAAa,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG;IACnC,sCAAsC;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAWpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAKxG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAQ,EAAE,EAAE,sBAAsB,+BAyBxG"}
@@ -1,6 +1,6 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { Slider } from '@sentropic/design-system-react';
3
+ import { RangeSlider } from '@sentropic/design-system-react';
4
4
  import { findDimension } from '@sentropic/dataviz-core';
5
5
  /**
6
6
  * Pure: the numeric `[min, max]` domain of a dimension across rows (finite
@@ -21,8 +21,8 @@ export function numericDomain(data, dimension) {
21
21
  return min === Infinity ? { min: 0, max: 0 } : { min, max };
22
22
  }
23
23
  /**
24
- * Pure: two slider handles → a core `range` FilterSpec (bounds normalized so
25
- * `lo <= hi`), or `null` when they span the whole domain (no constraint).
24
+ * Pure: the two range-slider handles → a core `range` FilterSpec (bounds
25
+ * normalized so `lo <= hi`), or `null` when they span the whole domain.
26
26
  */
27
27
  export function rangeBoundsToSpec(lower, upper, domain) {
28
28
  const lo = Math.min(lower, upper);
@@ -32,8 +32,8 @@ export function rangeBoundsToSpec(lower, upper, domain) {
32
32
  return { kind: 'range', min: lo, max: hi };
33
33
  }
34
34
  /**
35
- * A two-handle numeric range filter composed from two design-system Sliders
36
- * (min + max) bound to a core `range` filter on a continuous dimension.
35
+ * A two-handle numeric range filter built on the design-system RangeSlider,
36
+ * bound to a core `range` filter on a continuous dimension.
37
37
  */
38
38
  export function RangeSliderFilter({ store, dimension, label, min, max, step = 1 }) {
39
39
  const [domain] = useState(() => {
@@ -41,15 +41,14 @@ export function RangeSliderFilter({ store, dimension, label, min, max, step = 1
41
41
  return { min: min ?? d.min, max: max ?? d.max };
42
42
  });
43
43
  const resolvedLabel = label ?? findDimension(store.model, dimension)?.label ?? dimension;
44
- const [lower, setLower] = useState(domain.min);
45
- const [upper, setUpper] = useState(domain.max);
44
+ const [value, setValue] = useState([domain.min, domain.max]);
46
45
  useEffect(() => {
47
- const spec = rangeBoundsToSpec(lower, upper, domain);
46
+ const spec = rangeBoundsToSpec(value[0], value[1], domain);
48
47
  if (spec)
49
48
  store.setFilter(dimension, spec);
50
49
  else
51
50
  store.clearFilter(dimension);
52
- }, [store, dimension, lower, upper, domain]);
53
- return (_jsxs(_Fragment, { children: [_jsx(Slider, { label: `${resolvedLabel} (min)`, value: lower, min: domain.min, max: domain.max, step: step, onChange: (e) => setLower(e.target.valueAsNumber) }), _jsx(Slider, { label: `${resolvedLabel} (max)`, value: upper, min: domain.min, max: domain.max, step: step, onChange: (e) => setUpper(e.target.valueAsNumber) })] }));
51
+ }, [store, dimension, value, domain]);
52
+ return (_jsx(RangeSlider, { label: resolvedLabel, value: value, min: domain.min, max: domain.max, step: step, showValue: true, onChange: setValue }));
54
53
  }
55
54
  //# sourceMappingURL=RangeSliderFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangeSliderFilter.js","sourceRoot":"","sources":["../../src/lib/RangeSliderFilter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RangeSliderFilter.js","sourceRoot":"","sources":["../../src/lib/RangeSliderFilter.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/dataviz-react",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "React adapter for @sentropic/dataviz-core, built on @sentropic/design-system-react.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -27,8 +27,8 @@
27
27
  "test": "vitest run"
28
28
  },
29
29
  "dependencies": {
30
- "@sentropic/dataviz-core": "0.4.0",
31
- "@sentropic/design-system-react": "0.21.0",
30
+ "@sentropic/dataviz-core": "0.4.1",
31
+ "@sentropic/design-system-react": "0.23.0",
32
32
  "@sentropic/design-system-themes": "0.11.0"
33
33
  },
34
34
  "peerDependencies": {