@smg-automotive/components 25.11.0-dbojovic-vsst-4320-select-menu-migration.3 → 25.11.0-dgajin-vsst-4341-migrate-range-filter-input-with-slider.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.
Files changed (48) hide show
  1. package/dist/cjs/components/index.d.ts +1 -0
  2. package/dist/cjs/components/index.d.ts.map +1 -1
  3. package/dist/cjs/components/rangeFilterInput/InputGroup.d.ts +1 -1
  4. package/dist/cjs/components/rangeFilterInput/InputGroup.d.ts.map +1 -1
  5. package/dist/cjs/components/rangeFilterInput/index.d.ts.map +1 -1
  6. package/dist/cjs/components/rangeFilterInputWithSlider/index.d.ts +34 -0
  7. package/dist/cjs/components/rangeFilterInputWithSlider/index.d.ts.map +1 -0
  8. package/dist/cjs/components/rangeSlider/Chart.d.ts +10 -0
  9. package/dist/cjs/components/rangeSlider/Chart.d.ts.map +1 -0
  10. package/dist/cjs/components/rangeSlider/RangeSliderWithChart.d.ts +17 -0
  11. package/dist/cjs/components/rangeSlider/RangeSliderWithChart.d.ts.map +1 -0
  12. package/dist/cjs/components/rangeSlider/RangeSliderWithScale.d.ts +46 -0
  13. package/dist/cjs/components/rangeSlider/RangeSliderWithScale.d.ts.map +1 -0
  14. package/dist/cjs/components/rangeSlider/index.d.ts +10 -0
  15. package/dist/cjs/components/rangeSlider/index.d.ts.map +1 -0
  16. package/dist/cjs/index.js +75 -24
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/themes/shared/slotRecipes/numberInput.d.ts.map +1 -1
  19. package/dist/esm/components/index.d.ts +1 -0
  20. package/dist/esm/components/index.d.ts.map +1 -1
  21. package/dist/esm/components/rangeFilterInput/InputGroup.d.ts +1 -1
  22. package/dist/esm/components/rangeFilterInput/InputGroup.d.ts.map +1 -1
  23. package/dist/esm/components/rangeFilterInput/InputGroup.js +54 -14
  24. package/dist/esm/components/rangeFilterInput/InputGroup.js.map +1 -1
  25. package/dist/esm/components/rangeFilterInput/index.d.ts.map +1 -1
  26. package/dist/esm/components/rangeFilterInput/index.js +2 -4
  27. package/dist/esm/components/rangeFilterInput/index.js.map +1 -1
  28. package/dist/esm/components/rangeFilterInputWithSlider/index.d.ts +34 -0
  29. package/dist/esm/components/rangeFilterInputWithSlider/index.d.ts.map +1 -0
  30. package/dist/esm/components/rangeSlider/Chart.d.ts +10 -0
  31. package/dist/esm/components/rangeSlider/Chart.d.ts.map +1 -0
  32. package/dist/esm/components/rangeSlider/RangeSliderWithChart.d.ts +17 -0
  33. package/dist/esm/components/rangeSlider/RangeSliderWithChart.d.ts.map +1 -0
  34. package/dist/esm/components/rangeSlider/RangeSliderWithScale.d.ts +46 -0
  35. package/dist/esm/components/rangeSlider/RangeSliderWithScale.d.ts.map +1 -0
  36. package/dist/esm/components/rangeSlider/index.d.ts +10 -0
  37. package/dist/esm/components/rangeSlider/index.d.ts.map +1 -0
  38. package/dist/esm/components/rangeSlider/index.js +16 -0
  39. package/dist/esm/components/rangeSlider/index.js.map +1 -0
  40. package/dist/esm/index.js +1 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/themes/shared/slotRecipes/numberInput.d.ts.map +1 -1
  43. package/dist/esm/themes/shared/slotRecipes/numberInput.js +3 -1
  44. package/dist/esm/themes/shared/slotRecipes/numberInput.js.map +1 -1
  45. package/dist/esm/themes/shared/slotRecipes/slider.js +7 -7
  46. package/dist/esm/themes/shared/slotRecipes/slider.js.map +1 -1
  47. package/dist/index.d.ts +10 -3
  48. package/package.json +1 -1
@@ -53,4 +53,5 @@ export * from './rangeFilterInput';
53
53
  export * from './topVehicleSharedBadge';
54
54
  export * from './discreteSlider';
55
55
  export * from './formControlSection';
56
+ export * from './rangeSlider';
56
57
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { RecipeVariantProps } from '@chakra-ui/react';
3
3
  import { numberInputRecipe } from 'src/themes/shared/slotRecipes/numberInput';
4
- import { ChangeCallback, PickedNumberInputProps, RangeFilterInputField } from './index';
4
+ import type { ChangeCallback, PickedNumberInputProps, RangeFilterInputField } from './index';
5
5
  type NumberInputVariantProps = RecipeVariantProps<typeof numberInputRecipe>;
6
6
  type InputGroupProps<Name extends string> = NumberInputVariantProps & {
7
7
  handleChange: (event: ChangeCallback<Name>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeFilterInput/InputGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAEL,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAI9E,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,KAAK,uBAAuB,GAAG,kBAAkB,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5E,KAAK,eAAe,CAAC,IAAI,SAAS,MAAM,IAAI,uBAAuB,GAAG;IACpE,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,sBAAsB,CAAC;AAE3B,eAAO,MAAM,UAAU,GAAI,IAAI,SAAS,MAAM,EAAE,qDAM7C,eAAe,CAAC,IAAI,CAAC,sBA4CvB,CAAC"}
1
+ {"version":3,"file":"InputGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeFilterInput/InputGroup.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAEL,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAI9E,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,KAAK,uBAAuB,GAAG,kBAAkB,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5E,KAAK,eAAe,CAAC,IAAI,SAAS,MAAM,IAAI,uBAAuB,GAAG;IACpE,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,sBAAsB,CAAC;AAQ3B,eAAO,MAAM,UAAU,GAAI,IAAI,SAAS,MAAM,EAAE,qDAM7C,eAAe,CAAC,IAAI,CAAC,sBAyEvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeFilterInput/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,MAAM,qBAAqB,CAAC,IAAI,IAAI;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,IAAI;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,EAC7C,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CACvC,CAAC;AAEF,KAAK,qBAAqB,CAAC,QAAQ,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,IAAI;IAC3E,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,EAAE,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,sBAAsB,CAAC;AAE3B,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,MAAM,EACrB,mDAOC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,sBAwBzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeFilterInput/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,MAAM,qBAAqB,CAAC,IAAI,IAAI;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,IAAI;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,EAC7C,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CACvC,CAAC;AAEF,KAAK,qBAAqB,CAAC,QAAQ,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,IAAI;IAC3E,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,EAAE,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,sBAAsB,CAAC;AAE3B,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,MAAM,EACrB,mDAOC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,sBAsBzC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { NumericMinMaxValue } from '../rangeSlider/RangeSliderWithScale';
3
+ import { Facet, RangeSliderWithChartProps } from '../rangeSlider/RangeSliderWithChart';
4
+ import type { ChangeCallback, PickedNumberInputProps, RangeFilterInputField } from '../rangeFilterInput';
5
+ export type ChangeSliderCallback = {
6
+ touched: 'min' | 'max';
7
+ value: NumericMinMaxValue;
8
+ };
9
+ type ChangeRangeInputWithSliderCallback<Name> = {
10
+ changeType?: 'inputfield' | 'slider';
11
+ } & ChangeCallback<Name>;
12
+ type RangeSliderProps = {
13
+ facets?: Facet[];
14
+ rangeSliderScale?: number[];
15
+ chartHeight?: RangeSliderWithChartProps['chartHeight'];
16
+ } & ({
17
+ facets: Facet[];
18
+ chartHeight?: string;
19
+ rangeSliderScale?: never;
20
+ } | {
21
+ rangeSliderScale: number[];
22
+ facets?: never;
23
+ chartHeight?: never;
24
+ });
25
+ export type Props<NameFrom, NameTo> = {
26
+ from: RangeFilterInputField<NameFrom>;
27
+ onChange: (event: ChangeRangeInputWithSliderCallback<NameFrom | NameTo>) => void;
28
+ onBlur?: (event: ChangeRangeInputWithSliderCallback<NameFrom | NameTo>) => void;
29
+ to: RangeFilterInputField<NameTo>;
30
+ unit?: string;
31
+ } & RangeSliderProps & PickedNumberInputProps;
32
+ export declare function RangeFilterInputWithSlider<NameFrom extends string, NameTo extends string>({ rangeSliderScale, facets, unit, onChange, from, to, chartHeight, ...rest }: Props<NameFrom, NameTo>): React.JSX.Element;
33
+ export {};
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeFilterInputWithSlider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EACL,kBAAkB,EAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,EAEL,yBAAyB,EAC1B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEF,KAAK,kCAAkC,CAAC,IAAI,IAAI;IAC9C,UAAU,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;CACtC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAEzB,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;CACxD,GAAG,CACA;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;CAAE,GACnE;IAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CACtE,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI;IACpC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,kCAAkC,CAAC,QAAQ,GAAG,MAAM,CAAC,KACzD,IAAI,CAAC;IACV,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,kCAAkC,CAAC,QAAQ,GAAG,MAAM,CAAC,KACzD,IAAI,CAAC;IACV,EAAE,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,gBAAgB,GAClB,sBAAsB,CAAC;AAEzB,wBAAgB,0BAA0B,CACxC,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,MAAM,EACrB,EACA,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,WAAW,EACX,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,qBAsFzB"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { Facet } from './RangeSliderWithChart';
3
+ interface Props {
4
+ facets?: Facet[];
5
+ range: number[];
6
+ height?: 'sm' | 'normal';
7
+ }
8
+ export declare const Chart: React.FC<Props>;
9
+ export {};
10
+ //# sourceMappingURL=Chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeSlider/Chart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0BjC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { BoxProps } from '@chakra-ui/react';
3
+ import { ChangeCallback, NumericMinMaxValue } from './RangeSliderWithScale';
4
+ export type Facet = {
5
+ from: number;
6
+ to?: number | null;
7
+ value: number;
8
+ };
9
+ export interface RangeSliderWithChartProps {
10
+ facets: Facet[];
11
+ selection: NumericMinMaxValue;
12
+ onSliderChange: (event: ChangeCallback) => void;
13
+ onSliderRelease: (event: ChangeCallback) => void;
14
+ chartHeight?: BoxProps['h'];
15
+ }
16
+ export declare const RangeSliderWithChart: React.FC<RangeSliderWithChartProps>;
17
+ //# sourceMappingURL=RangeSliderWithChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeSliderWithChart.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeSlider/RangeSliderWithChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EACL,cAAc,EACd,kBAAkB,EAEnB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,eAAe,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAwBpE,CAAC"}
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ export type NumericMinMaxValue = {
3
+ min: number | null | undefined;
4
+ max: number | null | undefined;
5
+ };
6
+ export type ChangeCallback = {
7
+ touched: 'min' | 'max';
8
+ value: NumericMinMaxValue;
9
+ };
10
+ interface RangeSliderWithScaleProps {
11
+ /**
12
+ * Array of numbers that represents the custom scale of the range slider
13
+ * @example [0, 100, 200, 300, 400]
14
+ * @default []
15
+ * @required
16
+ */
17
+ scale: number[];
18
+ /**
19
+ * Object that contains the min and max values of the range slider
20
+ * @example { min: 0, max: 100 }
21
+ * @default { min: null, max: null }
22
+ * @required
23
+ */
24
+ selection: NumericMinMaxValue;
25
+ /**
26
+ * Callback function that is triggered when slider is moving
27
+ * @param event contains touched - what thumb is moved and value
28
+ */
29
+ onSliderChange: (event: ChangeCallback) => void;
30
+ /**
31
+ * Callback function that is triggered when slider is released
32
+ * @param event contains touched - what thumb is moved and value
33
+ */
34
+ onSliderRelease: (event: ChangeCallback) => void;
35
+ /**
36
+ * Function that renders the chart with wrapper
37
+ * @param range contains the range of the slider
38
+ * @returns the chart component
39
+ * @example (range: number[]) => <Chart range={range} />
40
+ * @default null
41
+ */
42
+ renderChart?: (range: number[]) => React.ReactNode;
43
+ }
44
+ export declare const RangeSliderWithScale: React.FC<RangeSliderWithScaleProps>;
45
+ export {};
46
+ //# sourceMappingURL=RangeSliderWithScale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeSliderWithScale.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeSlider/RangeSliderWithScale.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAItC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEF,UAAU,yBAAyB;IACjC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;OAKG;IACH,SAAS,EAAE,kBAAkB,CAAC;IAC9B;;;OAGG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;CACpD;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAgIpE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { Slider } from '@chakra-ui/react';
3
+ type SliderRootProps = Omit<React.ComponentProps<typeof Slider.Root>, 'onChange'>;
4
+ export type RangeSliderProps = SliderRootProps & {
5
+ onChange?: (values: number[]) => void;
6
+ onChangeEnd?: (values: number[]) => void;
7
+ };
8
+ export declare const RangeSlider: React.FC<RangeSliderProps>;
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/rangeSlider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,KAAK,eAAe,GAAG,IAAI,CACzB,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,EACxC,UAAU,CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmClD,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -935,7 +935,7 @@ var sliderSlotRecipe = react$1.defineSlotRecipe({
935
935
  flexDirection: 'column',
936
936
  fontSize: 'base',
937
937
  '--slider-marker-inset': '4px',
938
- '--slider-marker-track': '5px',
938
+ '--slider-marker-track': '4px',
939
939
  '--slider-thumb-border': '1px',
940
940
  '--slider-thumb-boxShadow': '0 0 0 8px #2988E14D',
941
941
  },
@@ -945,13 +945,13 @@ var sliderSlotRecipe = react$1.defineSlotRecipe({
945
945
  track: {
946
946
  flex: '1',
947
947
  height: 'var(--slider-marker-track)',
948
- bg: 'gray.300',
949
- borderRadius: 'full',
948
+ bg: 'gray.200',
949
+ borderRadius: 'sm',
950
950
  },
951
951
  range: {
952
- height: 'var(--slider-marker-inset)',
953
- bg: 'gray.800',
954
- borderRadius: 'full',
952
+ height: 'var(--slider-marker-track)',
953
+ bg: 'gray.900',
954
+ borderRadius: 'sm',
955
955
  },
956
956
  markerGroup: {
957
957
  position: 'absolute!',
@@ -965,7 +965,7 @@ var sliderSlotRecipe = react$1.defineSlotRecipe({
965
965
  borderWidth: 'var(--slider-thumb-border)',
966
966
  borderColor: 'gray.400',
967
967
  backgroundColor: 'white',
968
- translate: '0 -40%',
968
+ translate: '0 -50%',
969
969
  _hover: {
970
970
  cursor: 'pointer',
971
971
  },
@@ -1467,7 +1467,9 @@ var numberInputRecipe = react$1.defineSlotRecipe({
1467
1467
  'decrementTrigger',
1468
1468
  ],
1469
1469
  base: {
1470
- root: {},
1470
+ root: {
1471
+ position: 'relative',
1472
+ },
1471
1473
  input: {
1472
1474
  w: 'full',
1473
1475
  minW: '0',
@@ -8428,36 +8430,74 @@ var InputLeftElement = function (_a) {
8428
8430
  return (React.createElement(react$1.InputElement, { insetY: "0", px: "sm", textStyle: "body-small", pointerEvents: "none" }, unit));
8429
8431
  };
8430
8432
 
8433
+ var parseToNumberOrUndef = function (raw) {
8434
+ if (raw.trim() === '')
8435
+ return undefined;
8436
+ var n = Number(raw);
8437
+ return Number.isNaN(n) ? undefined : n;
8438
+ };
8431
8439
  var InputGroup = function (_a) {
8432
8440
  var _b;
8433
8441
  var handleChange = _a.handleChange, inputProps = _a.inputProps, onBlur = _a.onBlur, unit = _a.unit, rest = __rest(_a, ["handleChange", "inputProps", "onBlur", "unit"]);
8434
- var _c = React.useState(false), refocus = _c[0], setRefocus = _c[1];
8435
8442
  var recipe = react$1.useSlotRecipe({ key: 'numberInput' });
8436
- var _d = recipe.splitVariantProps(rest), recipeProps = _d[0], restProps = _d[1];
8443
+ var _c = recipe.splitVariantProps(rest), recipeProps = _c[0], restProps = _c[1];
8437
8444
  var styles = recipe(recipeProps);
8438
- return (React.createElement(react$1.NumberInput.Root, __assign({ key: "".concat(inputProps.name, "-").concat(inputProps.value), css: styles.root, width: "full", defaultValue: inputProps.value != null ? String(inputProps.value) : undefined, onValueChange: function (_a) {
8439
- var valueAsNumber = _a.valueAsNumber;
8440
- return handleChange({
8441
- value: valueAsNumber || undefined,
8442
- name: inputProps.name,
8443
- });
8444
- }, onBlur: function (event) {
8445
+ /**
8446
+ * Local string state that represents exactly what the user typed.
8447
+ *
8448
+ * Why string:
8449
+ * - Allows intermediate values ("1" → "10" → "100")
8450
+ * - Prevents cursor jumps and unstable behavior
8451
+ * - Most stable approach with Chakra v3 NumberInput
8452
+ */
8453
+ var _d = React.useState(inputProps.value != null ? String(inputProps.value) : ''), raw = _d[0], setRaw = _d[1];
8454
+ /**
8455
+ * Sync external value changes (e.g. slider moved) back into the input.
8456
+ * Without this, the input would display stale values.
8457
+ */
8458
+ React.useEffect(function () {
8459
+ setRaw(inputProps.value != null ? String(inputProps.value) : '');
8460
+ }, [inputProps.value]);
8461
+ /**
8462
+ * Debounced emit PER INPUT (important!)
8463
+ *
8464
+ * Why per-input debounce:
8465
+ * - Shared debounce caused race conditions between FROM / TO inputs
8466
+ * - Each input must control its own timing
8467
+ *
8468
+ */
8469
+ var debouncedEmit = useDebounce.useDebouncedCallback(function (nextRaw) {
8470
+ handleChange({
8471
+ name: inputProps.name,
8472
+ value: parseToNumberOrUndef(nextRaw),
8473
+ });
8474
+ }, 1000);
8475
+ return (React.createElement(react$1.NumberInput.Root, __assign({ css: styles.root, width: "full",
8476
+ // Update local string immediately
8477
+ value: raw, onValueChange: function (_a) {
8478
+ var value = _a.value;
8479
+ setRaw(value);
8480
+ debouncedEmit(value);
8481
+ },
8482
+ /**
8483
+ * On blur we emit immediately as a safety net,
8484
+ * ensuring the final value is always propagated.
8485
+ */
8486
+ onBlur: function () {
8445
8487
  onBlur === null || onBlur === void 0 ? void 0 : onBlur({
8446
- value: Number(event.target.value) || undefined,
8447
8488
  name: inputProps.name,
8489
+ value: parseToNumberOrUndef(raw),
8448
8490
  });
8449
- setRefocus(false);
8450
- }, onFocus: function () { return setRefocus(true); } }, restProps),
8491
+ } }, restProps),
8451
8492
  unit ? React.createElement(InputLeftElement, { unit: unit }) : null,
8452
- React.createElement(react$1.NumberInput.Input, { css: styles.input, placeholder: (_b = inputProps.placeholder) !== null && _b !== void 0 ? _b : '', autoFocus: refocus, "aria-label": inputProps.ariaLabel, fontSize: "base" })));
8493
+ React.createElement(react$1.NumberInput.Input, { css: styles.input, placeholder: (_b = inputProps.placeholder) !== null && _b !== void 0 ? _b : '', "aria-label": inputProps.ariaLabel, fontSize: "base" })));
8453
8494
  };
8454
8495
 
8455
8496
  var RangeFilterInput = function (_a) {
8456
8497
  var from = _a.from, to = _a.to, handleChange = _a.handleChange, unit = _a.unit, onBlur = _a.onBlur, rest = __rest(_a, ["from", "to", "handleChange", "unit", "onBlur"]);
8457
- var handleChangeDebounced = useDebounce.useDebouncedCallback(handleChange, 1000);
8458
8498
  return (React.createElement(react$1.Flex, null,
8459
- React.createElement(InputGroup, __assign({ inputProps: from, variant: "inputLeft", handleChange: handleChangeDebounced, onBlur: onBlur, unit: unit }, rest)),
8460
- React.createElement(InputGroup, __assign({ inputProps: to, variant: "inputRight", handleChange: handleChangeDebounced, onBlur: onBlur, unit: unit }, rest))));
8499
+ React.createElement(InputGroup, __assign({ inputProps: from, variant: "inputLeft", handleChange: handleChange, onBlur: onBlur, unit: unit }, rest)),
8500
+ React.createElement(InputGroup, __assign({ inputProps: to, variant: "inputRight", handleChange: handleChange, onBlur: onBlur, unit: unit }, rest))));
8461
8501
  };
8462
8502
 
8463
8503
  var _a;
@@ -8548,6 +8588,16 @@ var FormControlSection = function (_a) {
8548
8588
  React.createElement(react$1.Field.ErrorText, null, errorMessage)));
8549
8589
  };
8550
8590
 
8591
+ var RangeSlider = function (_a) {
8592
+ var _b = _a.min, min = _b === void 0 ? 0 : _b, _c = _a.max, max = _c === void 0 ? 10 : _c, onChange = _a.onChange, onChangeEnd = _a.onChangeEnd, rest = __rest(_a, ["min", "max", "onChange", "onChangeEnd"]);
8593
+ return (React.createElement(react$1.Slider.Root, __assign({ defaultValue: [min, max], min: min, max: max, onValueChange: function (details) { return onChange === null || onChange === void 0 ? void 0 : onChange(details.value); }, onValueChangeEnd: function (details) { return onChangeEnd === null || onChangeEnd === void 0 ? void 0 : onChangeEnd(details.value); } }, rest),
8594
+ React.createElement(react$1.Slider.Control, null,
8595
+ React.createElement(react$1.Slider.Track, null,
8596
+ React.createElement(react$1.Slider.Range, null)),
8597
+ React.createElement(react$1.Slider.Thumb, { index: 0, "aria-label": "Min", width: { base: 'md', sm: 'sm' }, height: { base: 'md', sm: 'sm' } }),
8598
+ React.createElement(react$1.Slider.Thumb, { index: 1, "aria-label": "Max", width: { base: 'md', sm: 'sm' }, height: { base: 'md', sm: 'sm' } }))));
8599
+ };
8600
+
8551
8601
  Object.defineProperty(exports, "Box", {
8552
8602
  enumerable: true,
8553
8603
  get: function () { return react$1.Box; }
@@ -8748,6 +8798,7 @@ exports.PrintIcon = PrintIcon;
8748
8798
  exports.QualitySealIcon = QualitySealIcon;
8749
8799
  exports.RangeFilterInput = RangeFilterInput;
8750
8800
  exports.RangeIcon = RangeIcon;
8801
+ exports.RangeSlider = RangeSlider;
8751
8802
  exports.Rating = Rating;
8752
8803
  exports.RoadIcon = RoadIcon;
8753
8804
  exports.RocketIcon = RocketIcon;