@smg-automotive/components 25.11.0-migrate-v3-header-full.3 → 25.11.0-migrate-v3-header-full.4

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 (58) 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/menu/index.d.ts +4 -1
  4. package/dist/cjs/components/menu/index.d.ts.map +1 -1
  5. package/dist/cjs/components/rangeFilterInput/InputGroup.d.ts +1 -1
  6. package/dist/cjs/components/rangeFilterInput/InputGroup.d.ts.map +1 -1
  7. package/dist/cjs/components/rangeFilterInput/index.d.ts.map +1 -1
  8. package/dist/cjs/components/rangeFilterInputWithSlider/index.d.ts +34 -0
  9. package/dist/cjs/components/rangeFilterInputWithSlider/index.d.ts.map +1 -0
  10. package/dist/cjs/components/rangeSlider/Chart.d.ts +10 -0
  11. package/dist/cjs/components/rangeSlider/Chart.d.ts.map +1 -0
  12. package/dist/cjs/components/rangeSlider/RangeSliderWithChart.d.ts +17 -0
  13. package/dist/cjs/components/rangeSlider/RangeSliderWithChart.d.ts.map +1 -0
  14. package/dist/cjs/components/rangeSlider/RangeSliderWithScale.d.ts +46 -0
  15. package/dist/cjs/components/rangeSlider/RangeSliderWithScale.d.ts.map +1 -0
  16. package/dist/cjs/components/rangeSlider/index.d.ts +10 -0
  17. package/dist/cjs/components/rangeSlider/index.d.ts.map +1 -0
  18. package/dist/cjs/index.js +86 -29
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/themes/shared/slotRecipes/menu.d.ts.map +1 -1
  21. package/dist/cjs/themes/shared/slotRecipes/numberInput.d.ts.map +1 -1
  22. package/dist/esm/components/index.d.ts +1 -0
  23. package/dist/esm/components/index.d.ts.map +1 -1
  24. package/dist/esm/components/menu/index.d.ts +4 -1
  25. package/dist/esm/components/menu/index.d.ts.map +1 -1
  26. package/dist/esm/components/menu/index.js +12 -7
  27. package/dist/esm/components/menu/index.js.map +1 -1
  28. package/dist/esm/components/rangeFilterInput/InputGroup.d.ts +1 -1
  29. package/dist/esm/components/rangeFilterInput/InputGroup.d.ts.map +1 -1
  30. package/dist/esm/components/rangeFilterInput/InputGroup.js +54 -14
  31. package/dist/esm/components/rangeFilterInput/InputGroup.js.map +1 -1
  32. package/dist/esm/components/rangeFilterInput/index.d.ts.map +1 -1
  33. package/dist/esm/components/rangeFilterInput/index.js +2 -4
  34. package/dist/esm/components/rangeFilterInput/index.js.map +1 -1
  35. package/dist/esm/components/rangeFilterInputWithSlider/index.d.ts +34 -0
  36. package/dist/esm/components/rangeFilterInputWithSlider/index.d.ts.map +1 -0
  37. package/dist/esm/components/rangeSlider/Chart.d.ts +10 -0
  38. package/dist/esm/components/rangeSlider/Chart.d.ts.map +1 -0
  39. package/dist/esm/components/rangeSlider/RangeSliderWithChart.d.ts +17 -0
  40. package/dist/esm/components/rangeSlider/RangeSliderWithChart.d.ts.map +1 -0
  41. package/dist/esm/components/rangeSlider/RangeSliderWithScale.d.ts +46 -0
  42. package/dist/esm/components/rangeSlider/RangeSliderWithScale.d.ts.map +1 -0
  43. package/dist/esm/components/rangeSlider/index.d.ts +10 -0
  44. package/dist/esm/components/rangeSlider/index.d.ts.map +1 -0
  45. package/dist/esm/components/rangeSlider/index.js +16 -0
  46. package/dist/esm/components/rangeSlider/index.js.map +1 -0
  47. package/dist/esm/index.js +1 -0
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/themes/shared/slotRecipes/menu.d.ts.map +1 -1
  50. package/dist/esm/themes/shared/slotRecipes/menu.js +1 -0
  51. package/dist/esm/themes/shared/slotRecipes/menu.js.map +1 -1
  52. package/dist/esm/themes/shared/slotRecipes/numberInput.d.ts.map +1 -1
  53. package/dist/esm/themes/shared/slotRecipes/numberInput.js +3 -1
  54. package/dist/esm/themes/shared/slotRecipes/numberInput.js.map +1 -1
  55. package/dist/esm/themes/shared/slotRecipes/slider.js +7 -7
  56. package/dist/esm/themes/shared/slotRecipes/slider.js.map +1 -1
  57. package/dist/index.d.ts +13 -3
  58. package/package.json +1 -1
@@ -54,4 +54,5 @@ export * from './rangeFilterInput';
54
54
  export * from './topVehicleSharedBadge';
55
55
  export * from './discreteSlider';
56
56
  export * from './formControlSection';
57
+ export * from './rangeSlider';
57
58
  //# 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,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,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,5 +1,5 @@
1
1
  import { FC, JSX, ReactElement } from 'react';
2
- import { MenuRootProps, MenuTriggerProps } from '@chakra-ui/react';
2
+ import { MenuContentProps, MenuRootProps, MenuTriggerProps } from '@chakra-ui/react';
3
3
  interface MenuItem {
4
4
  text: JSX.Element | string;
5
5
  value: string;
@@ -8,13 +8,16 @@ interface MenuItem {
8
8
  export interface MenuProps {
9
9
  title: string | ReactElement;
10
10
  items: MenuItem[];
11
+ value?: string;
11
12
  fontWeightTitle?: MenuTriggerProps['fontWeight'];
12
13
  offset?: [number, number];
13
14
  menuColor?: MenuTriggerProps['color'];
15
+ menuOptionColor?: MenuContentProps['color'];
14
16
  showChevron?: boolean;
15
17
  icon?: ReactElement;
16
18
  iconSpacing?: MenuTriggerProps['gap'];
17
19
  placement?: Exclude<MenuRootProps['positioning'], undefined>['placement'];
20
+ showOptionsCheckmark?: boolean;
18
21
  }
19
22
  export declare const Menu: FC<MenuProps>;
20
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAEL,aAAa,EACb,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAI1B,UAAU,QAAQ;IAChB,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;CAC3E;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA0D9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAGL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAI1B,UAAU,QAAQ;IAChB,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1E,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA8E9B,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
@@ -937,7 +937,7 @@ var sliderSlotRecipe = react$1.defineSlotRecipe({
937
937
  flexDirection: 'column',
938
938
  fontSize: 'base',
939
939
  '--slider-marker-inset': '4px',
940
- '--slider-marker-track': '5px',
940
+ '--slider-marker-track': '4px',
941
941
  '--slider-thumb-border': '1px',
942
942
  '--slider-thumb-boxShadow': '0 0 0 8px #2988E14D',
943
943
  },
@@ -947,13 +947,13 @@ var sliderSlotRecipe = react$1.defineSlotRecipe({
947
947
  track: {
948
948
  flex: '1',
949
949
  height: 'var(--slider-marker-track)',
950
- bg: 'gray.300',
951
- borderRadius: 'full',
950
+ bg: 'gray.200',
951
+ borderRadius: 'sm',
952
952
  },
953
953
  range: {
954
- height: 'var(--slider-marker-inset)',
955
- bg: 'gray.800',
956
- borderRadius: 'full',
954
+ height: 'var(--slider-marker-track)',
955
+ bg: 'gray.900',
956
+ borderRadius: 'sm',
957
957
  },
958
958
  markerGroup: {
959
959
  position: 'absolute!',
@@ -967,7 +967,7 @@ var sliderSlotRecipe = react$1.defineSlotRecipe({
967
967
  borderWidth: 'var(--slider-thumb-border)',
968
968
  borderColor: 'gray.400',
969
969
  backgroundColor: 'white',
970
- translate: '0 -40%',
970
+ translate: '0 -50%',
971
971
  _hover: {
972
972
  cursor: 'pointer',
973
973
  },
@@ -1517,7 +1517,9 @@ var numberInputRecipe = react$1.defineSlotRecipe({
1517
1517
  'decrementTrigger',
1518
1518
  ],
1519
1519
  base: {
1520
- root: {},
1520
+ root: {
1521
+ position: 'relative',
1522
+ },
1521
1523
  input: {
1522
1524
  w: 'full',
1523
1525
  minW: '0',
@@ -1631,6 +1633,7 @@ var content = react$1.defineStyle({
1631
1633
  },
1632
1634
  });
1633
1635
  var item = react$1.defineStyle({
1636
+ display: 'flex',
1634
1637
  paddingY: 'md',
1635
1638
  paddingX: 'lg',
1636
1639
  cursor: 'pointer',
@@ -7175,14 +7178,16 @@ var Chip = function (_a) {
7175
7178
  Chip.displayName = 'Chip';
7176
7179
 
7177
7180
  var Menu = function (_a) {
7178
- var title = _a.title, items = _a.items, _b = _a.fontWeightTitle, fontWeightTitle = _b === void 0 ? 'regular' : _b, _c = _a.offset, offset = _c === void 0 ? [8, 0] : _c, menuColor = _a.menuColor, _d = _a.showChevron, showChevron = _d === void 0 ? true : _d, icon = _a.icon, _e = _a.iconSpacing, iconSpacing = _e === void 0 ? 'sm' : _e, placement = _a.placement;
7181
+ var title = _a.title, items = _a.items, value = _a.value, _b = _a.fontWeightTitle, fontWeightTitle = _b === void 0 ? 'regular' : _b, _c = _a.offset, offset = _c === void 0 ? [8, 0] : _c, menuColor = _a.menuColor, menuOptionColor = _a.menuOptionColor, _d = _a.showChevron, showChevron = _d === void 0 ? true : _d, icon = _a.icon, _e = _a.iconSpacing, iconSpacing = _e === void 0 ? 'sm' : _e, placement = _a.placement, _f = _a.showOptionsCheckmark, showOptionsCheckmark = _f === void 0 ? false : _f;
7179
7182
  var recipe = react$1.useSlotRecipe({ key: 'menu' });
7180
7183
  var styles = recipe();
7181
- var _f = offset[0], crossAxis = _f === void 0 ? 0 : _f, _g = offset[1], mainAxis = _g === void 0 ? 0 : _g;
7184
+ var _g = offset[0], crossAxis = _g === void 0 ? 0 : _g, _h = offset[1], mainAxis = _h === void 0 ? 0 : _h;
7182
7185
  return (React.createElement(react$1.Menu.Root, { positioning: { placement: placement, offset: { mainAxis: mainAxis, crossAxis: crossAxis } } },
7183
7186
  React.createElement(react$1.Menu.Context, null, function (_a) {
7184
7187
  var open = _a.open;
7185
- return (React.createElement(react$1.Menu.Trigger, { css: styles.trigger, gap: iconSpacing, fontWeight: fontWeightTitle, color: open ? 'blue.700' : menuColor },
7188
+ // menuColor takes precedence over the open state color
7189
+ var color = menuColor || (open ? 'blue.700' : undefined);
7190
+ return (React.createElement(react$1.Menu.Trigger, { css: styles.trigger, gap: iconSpacing, fontWeight: fontWeightTitle, color: color },
7186
7191
  icon,
7187
7192
  title,
7188
7193
  showChevron ? (React.createElement(ChevronDownSmallIcon, { transition: "transform", transform: open ? 'rotate(180deg)' : 'rotate(0deg)' })) : null));
@@ -7190,8 +7195,11 @@ var Menu = function (_a) {
7190
7195
  React.createElement(react$1.Portal, null,
7191
7196
  React.createElement(react$1.Menu.Positioner, null,
7192
7197
  React.createElement(react$1.Menu.Content, { css: styles.content }, items.map(function (_a) {
7193
- var onClick = _a.onClick, text = _a.text, value = _a.value;
7194
- return (React.createElement(react$1.Menu.Item, __assign({ key: "menuItem-".concat(value), value: value, onSelect: onClick, css: styles.item }, (menuColor && { color: menuColor })), text));
7198
+ var onClick = _a.onClick, text = _a.text, itemValue = _a.value;
7199
+ var optionColor = menuOptionColor || menuColor;
7200
+ return (React.createElement(react$1.Menu.Item, __assign({ key: "menuItem-".concat(value), value: itemValue, onSelect: onClick, css: styles.item }, (optionColor && { color: optionColor })),
7201
+ showOptionsCheckmark ? (React.createElement(react$1.Box, { w: "xs", display: "flex", justifyContent: "center", marginRight: "sm" }, itemValue === value ? React.createElement(CheckmarkIcon, null) : null)) : null,
7202
+ text));
7195
7203
  }))))));
7196
7204
  };
7197
7205
 
@@ -10777,36 +10785,74 @@ var InputLeftElement = function (_a) {
10777
10785
  return (React.createElement(react$1.InputElement, { insetY: "0", px: "sm", textStyle: "body-small", pointerEvents: "none" }, unit));
10778
10786
  };
10779
10787
 
10788
+ var parseToNumberOrUndef = function (raw) {
10789
+ if (raw.trim() === '')
10790
+ return undefined;
10791
+ var n = Number(raw);
10792
+ return Number.isNaN(n) ? undefined : n;
10793
+ };
10780
10794
  var InputGroup = function (_a) {
10781
10795
  var _b;
10782
10796
  var handleChange = _a.handleChange, inputProps = _a.inputProps, onBlur = _a.onBlur, unit = _a.unit, rest = __rest(_a, ["handleChange", "inputProps", "onBlur", "unit"]);
10783
- var _c = React.useState(false), refocus = _c[0], setRefocus = _c[1];
10784
10797
  var recipe = react$1.useSlotRecipe({ key: 'numberInput' });
10785
- var _d = recipe.splitVariantProps(rest), recipeProps = _d[0], restProps = _d[1];
10798
+ var _c = recipe.splitVariantProps(rest), recipeProps = _c[0], restProps = _c[1];
10786
10799
  var styles = recipe(recipeProps);
10787
- 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) {
10788
- var valueAsNumber = _a.valueAsNumber;
10789
- return handleChange({
10790
- value: valueAsNumber || undefined,
10791
- name: inputProps.name,
10792
- });
10793
- }, onBlur: function (event) {
10800
+ /**
10801
+ * Local string state that represents exactly what the user typed.
10802
+ *
10803
+ * Why string:
10804
+ * - Allows intermediate values ("1" → "10" → "100")
10805
+ * - Prevents cursor jumps and unstable behavior
10806
+ * - Most stable approach with Chakra v3 NumberInput
10807
+ */
10808
+ var _d = React.useState(inputProps.value != null ? String(inputProps.value) : ''), raw = _d[0], setRaw = _d[1];
10809
+ /**
10810
+ * Sync external value changes (e.g. slider moved) back into the input.
10811
+ * Without this, the input would display stale values.
10812
+ */
10813
+ React.useEffect(function () {
10814
+ setRaw(inputProps.value != null ? String(inputProps.value) : '');
10815
+ }, [inputProps.value]);
10816
+ /**
10817
+ * Debounced emit PER INPUT (important!)
10818
+ *
10819
+ * Why per-input debounce:
10820
+ * - Shared debounce caused race conditions between FROM / TO inputs
10821
+ * - Each input must control its own timing
10822
+ *
10823
+ */
10824
+ var debouncedEmit = useDebounce.useDebouncedCallback(function (nextRaw) {
10825
+ handleChange({
10826
+ name: inputProps.name,
10827
+ value: parseToNumberOrUndef(nextRaw),
10828
+ });
10829
+ }, 1000);
10830
+ return (React.createElement(react$1.NumberInput.Root, __assign({ css: styles.root, width: "full",
10831
+ // Update local string immediately
10832
+ value: raw, onValueChange: function (_a) {
10833
+ var value = _a.value;
10834
+ setRaw(value);
10835
+ debouncedEmit(value);
10836
+ },
10837
+ /**
10838
+ * On blur we emit immediately as a safety net,
10839
+ * ensuring the final value is always propagated.
10840
+ */
10841
+ onBlur: function () {
10794
10842
  onBlur === null || onBlur === void 0 ? void 0 : onBlur({
10795
- value: Number(event.target.value) || undefined,
10796
10843
  name: inputProps.name,
10844
+ value: parseToNumberOrUndef(raw),
10797
10845
  });
10798
- setRefocus(false);
10799
- }, onFocus: function () { return setRefocus(true); } }, restProps),
10846
+ } }, restProps),
10800
10847
  unit ? React.createElement(InputLeftElement, { unit: unit }) : null,
10801
- 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" })));
10848
+ React.createElement(react$1.NumberInput.Input, { css: styles.input, placeholder: (_b = inputProps.placeholder) !== null && _b !== void 0 ? _b : '', "aria-label": inputProps.ariaLabel, fontSize: "base" })));
10802
10849
  };
10803
10850
 
10804
10851
  var RangeFilterInput = function (_a) {
10805
10852
  var from = _a.from, to = _a.to, handleChange = _a.handleChange, unit = _a.unit, onBlur = _a.onBlur, rest = __rest(_a, ["from", "to", "handleChange", "unit", "onBlur"]);
10806
- var handleChangeDebounced = useDebounce.useDebouncedCallback(handleChange, 1000);
10807
10853
  return (React.createElement(react$1.Flex, null,
10808
- React.createElement(InputGroup, __assign({ inputProps: from, variant: "inputLeft", handleChange: handleChangeDebounced, onBlur: onBlur, unit: unit }, rest)),
10809
- React.createElement(InputGroup, __assign({ inputProps: to, variant: "inputRight", handleChange: handleChangeDebounced, onBlur: onBlur, unit: unit }, rest))));
10854
+ React.createElement(InputGroup, __assign({ inputProps: from, variant: "inputLeft", handleChange: handleChange, onBlur: onBlur, unit: unit }, rest)),
10855
+ React.createElement(InputGroup, __assign({ inputProps: to, variant: "inputRight", handleChange: handleChange, onBlur: onBlur, unit: unit }, rest))));
10810
10856
  };
10811
10857
 
10812
10858
  var _a;
@@ -10897,6 +10943,16 @@ var FormControlSection = function (_a) {
10897
10943
  React.createElement(react$1.Field.ErrorText, null, errorMessage)));
10898
10944
  };
10899
10945
 
10946
+ var RangeSlider = function (_a) {
10947
+ 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"]);
10948
+ 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),
10949
+ React.createElement(react$1.Slider.Control, null,
10950
+ React.createElement(react$1.Slider.Track, null,
10951
+ React.createElement(react$1.Slider.Range, null)),
10952
+ React.createElement(react$1.Slider.Thumb, { index: 0, "aria-label": "Min", width: { base: 'md', sm: 'sm' }, height: { base: 'md', sm: 'sm' } }),
10953
+ React.createElement(react$1.Slider.Thumb, { index: 1, "aria-label": "Max", width: { base: 'md', sm: 'sm' }, height: { base: 'md', sm: 'sm' } }))));
10954
+ };
10955
+
10900
10956
  Object.defineProperty(exports, "Box", {
10901
10957
  enumerable: true,
10902
10958
  get: function () { return react$1.Box; }
@@ -11098,6 +11154,7 @@ exports.PrintIcon = PrintIcon;
11098
11154
  exports.QualitySealIcon = QualitySealIcon;
11099
11155
  exports.RangeFilterInput = RangeFilterInput;
11100
11156
  exports.RangeIcon = RangeIcon;
11157
+ exports.RangeSlider = RangeSlider;
11101
11158
  exports.Rating = Rating;
11102
11159
  exports.RoadIcon = RoadIcon;
11103
11160
  exports.RocketIcon = RocketIcon;