@faststore/components 3.65.0 → 3.70.2

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 (81) hide show
  1. package/dist/cjs/hooks/UIProvider.d.ts +15 -0
  2. package/dist/cjs/hooks/UIProvider.d.ts.map +1 -1
  3. package/dist/cjs/hooks/UIProvider.js +34 -1
  4. package/dist/cjs/hooks/UIProvider.js.map +1 -1
  5. package/dist/cjs/hooks/index.d.ts +3 -3
  6. package/dist/cjs/hooks/index.d.ts.map +1 -1
  7. package/dist/cjs/hooks/index.js +4 -3
  8. package/dist/cjs/hooks/index.js.map +1 -1
  9. package/dist/cjs/molecules/Accordion/Accordion.d.ts.map +1 -1
  10. package/dist/cjs/molecules/Accordion/Accordion.js +5 -1
  11. package/dist/cjs/molecules/Accordion/Accordion.js.map +1 -1
  12. package/dist/cjs/molecules/Modal/Modal.d.ts.map +1 -1
  13. package/dist/cjs/molecules/Modal/Modal.js +10 -15
  14. package/dist/cjs/molecules/Modal/Modal.js.map +1 -1
  15. package/dist/cjs/molecules/RadioField/RadioField.d.ts +5 -4
  16. package/dist/cjs/molecules/RadioField/RadioField.d.ts.map +1 -1
  17. package/dist/cjs/molecules/RadioField/RadioField.js +1 -1
  18. package/dist/cjs/molecules/RadioField/RadioField.js.map +1 -1
  19. package/dist/cjs/molecules/RegionBar/RegionBar.d.ts +30 -3
  20. package/dist/cjs/molecules/RegionBar/RegionBar.d.ts.map +1 -1
  21. package/dist/cjs/molecules/RegionBar/RegionBar.js +9 -8
  22. package/dist/cjs/molecules/RegionBar/RegionBar.js.map +1 -1
  23. package/dist/cjs/organisms/Filter/FilterFacetBooleanItem.d.ts +8 -3
  24. package/dist/cjs/organisms/Filter/FilterFacetBooleanItem.d.ts.map +1 -1
  25. package/dist/cjs/organisms/Filter/FilterFacetBooleanItem.js +3 -3
  26. package/dist/cjs/organisms/Filter/FilterFacetBooleanItem.js.map +1 -1
  27. package/dist/cjs/organisms/Filter/FilterFacets.d.ts +5 -1
  28. package/dist/cjs/organisms/Filter/FilterFacets.d.ts.map +1 -1
  29. package/dist/cjs/organisms/Filter/FilterFacets.js +4 -2
  30. package/dist/cjs/organisms/Filter/FilterFacets.js.map +1 -1
  31. package/dist/cjs/organisms/Filter/FilterSlider.d.ts +15 -1
  32. package/dist/cjs/organisms/Filter/FilterSlider.d.ts.map +1 -1
  33. package/dist/cjs/organisms/Filter/FilterSlider.js +15 -7
  34. package/dist/cjs/organisms/Filter/FilterSlider.js.map +1 -1
  35. package/dist/cjs/organisms/SKUMatrix/SKUMatrixSidebar.d.ts +2 -2
  36. package/dist/esm/hooks/UIProvider.d.ts +15 -0
  37. package/dist/esm/hooks/UIProvider.d.ts.map +1 -1
  38. package/dist/esm/hooks/UIProvider.js +33 -0
  39. package/dist/esm/hooks/UIProvider.js.map +1 -1
  40. package/dist/esm/hooks/index.d.ts +3 -3
  41. package/dist/esm/hooks/index.d.ts.map +1 -1
  42. package/dist/esm/hooks/index.js +2 -2
  43. package/dist/esm/hooks/index.js.map +1 -1
  44. package/dist/esm/molecules/Accordion/Accordion.d.ts.map +1 -1
  45. package/dist/esm/molecules/Accordion/Accordion.js +5 -1
  46. package/dist/esm/molecules/Accordion/Accordion.js.map +1 -1
  47. package/dist/esm/molecules/Modal/Modal.d.ts.map +1 -1
  48. package/dist/esm/molecules/Modal/Modal.js +10 -15
  49. package/dist/esm/molecules/Modal/Modal.js.map +1 -1
  50. package/dist/esm/molecules/RadioField/RadioField.d.ts +5 -4
  51. package/dist/esm/molecules/RadioField/RadioField.d.ts.map +1 -1
  52. package/dist/esm/molecules/RadioField/RadioField.js +1 -1
  53. package/dist/esm/molecules/RadioField/RadioField.js.map +1 -1
  54. package/dist/esm/molecules/RegionBar/RegionBar.d.ts +30 -3
  55. package/dist/esm/molecules/RegionBar/RegionBar.d.ts.map +1 -1
  56. package/dist/esm/molecules/RegionBar/RegionBar.js +9 -8
  57. package/dist/esm/molecules/RegionBar/RegionBar.js.map +1 -1
  58. package/dist/esm/organisms/Filter/FilterFacetBooleanItem.d.ts +8 -3
  59. package/dist/esm/organisms/Filter/FilterFacetBooleanItem.d.ts.map +1 -1
  60. package/dist/esm/organisms/Filter/FilterFacetBooleanItem.js +4 -4
  61. package/dist/esm/organisms/Filter/FilterFacetBooleanItem.js.map +1 -1
  62. package/dist/esm/organisms/Filter/FilterFacets.d.ts +5 -1
  63. package/dist/esm/organisms/Filter/FilterFacets.d.ts.map +1 -1
  64. package/dist/esm/organisms/Filter/FilterFacets.js +4 -2
  65. package/dist/esm/organisms/Filter/FilterFacets.js.map +1 -1
  66. package/dist/esm/organisms/Filter/FilterSlider.d.ts +15 -1
  67. package/dist/esm/organisms/Filter/FilterSlider.d.ts.map +1 -1
  68. package/dist/esm/organisms/Filter/FilterSlider.js +15 -7
  69. package/dist/esm/organisms/Filter/FilterSlider.js.map +1 -1
  70. package/dist/esm/organisms/SKUMatrix/SKUMatrixSidebar.d.ts +2 -2
  71. package/package.json +2 -2
  72. package/src/hooks/UIProvider.tsx +57 -0
  73. package/src/hooks/index.ts +10 -5
  74. package/src/molecules/Accordion/Accordion.tsx +5 -1
  75. package/src/molecules/Modal/Modal.tsx +9 -7
  76. package/src/molecules/RadioField/RadioField.tsx +13 -5
  77. package/src/molecules/RegionBar/RegionBar.tsx +71 -16
  78. package/src/organisms/Filter/FilterFacetBooleanItem.tsx +41 -19
  79. package/src/organisms/Filter/FilterFacets.tsx +11 -1
  80. package/src/organisms/Filter/FilterSlider.tsx +50 -15
  81. package/src/organisms/SKUMatrix/SKUMatrixSidebar.tsx +2 -2
@@ -14,6 +14,11 @@ import {
14
14
  import type { SlideOverDirection, SlideOverWidthSize } from '../SlideOver'
15
15
 
16
16
  export interface FilterSliderProps extends HTMLAttributes<HTMLDivElement> {
17
+ /**
18
+ * ID to find this component in testing tools (e.g.: cypress,
19
+ * testing-library, and jest).
20
+ */
21
+ testId?: string
17
22
  /**
18
23
  * Title for the FilterSlider component.
19
24
  */
@@ -42,9 +47,19 @@ export interface FilterSliderProps extends HTMLAttributes<HTMLDivElement> {
42
47
  * Function called when Close Button is clicked.
43
48
  */
44
49
  onClose: () => void
50
+ /**
51
+ * This function is called whenever the user clicks outside the slider content.
52
+ */
53
+ onDismiss?: () => void
54
+ /**
55
+ * Display FilterSlider footer with buttons.
56
+ * @default true
57
+ */
58
+ footer?: boolean
45
59
  }
46
60
 
47
61
  function FilterSlider({
62
+ testId = 'fs-filter-slider',
48
63
  title,
49
64
  size,
50
65
  direction,
@@ -53,20 +68,31 @@ function FilterSlider({
53
68
  clearBtnProps,
54
69
  overlayProps,
55
70
  onClose,
71
+ onDismiss,
72
+ footer = true,
56
73
  ...otherProps
57
74
  }: PropsWithChildren<FilterSliderProps>) {
58
75
  const { fade, fadeOut } = useFadeEffect()
59
- const { closeFilter } = useUI()
76
+ const { closeFilter, closeRegionSlider } = useUI()
60
77
 
61
78
  return (
62
79
  <SlideOver
63
80
  data-fs-filter-slider
64
81
  isOpen
65
82
  fade={fade}
66
- onDismiss={fadeOut}
83
+ onDismiss={() => {
84
+ fadeOut()
85
+ onDismiss?.()
86
+ }}
67
87
  size={size}
68
88
  direction={direction}
69
- onTransitionEnd={() => fade === 'out' && closeFilter()}
89
+ onTransitionEnd={() => {
90
+ if (fade === 'out') {
91
+ closeFilter()
92
+ closeRegionSlider()
93
+ }
94
+ }}
95
+ testId={testId}
70
96
  overlayProps={overlayProps}
71
97
  {...otherProps}
72
98
  >
@@ -81,18 +107,27 @@ function FilterSlider({
81
107
  </SlideOverHeader>
82
108
  {children}
83
109
  </div>
84
- <footer data-fs-filter-slider-footer>
85
- <Button data-fs-filter-slider-footer-button-clear {...clearBtnProps} />
86
- <Button
87
- data-fs-filter-slider-footer-button-apply
88
- data-testid="filter-slider-button-apply"
89
- {...applyBtnProps}
90
- onClick={(e) => {
91
- applyBtnProps?.onClick?.(e)
92
- fadeOut()
93
- }}
94
- />
95
- </footer>
110
+ {footer && (
111
+ <footer data-fs-filter-slider-footer>
112
+ {clearBtnProps && (
113
+ <Button
114
+ data-fs-filter-slider-footer-button-clear
115
+ {...clearBtnProps}
116
+ />
117
+ )}
118
+ {applyBtnProps && (
119
+ <Button
120
+ data-fs-filter-slider-footer-button-apply
121
+ testId={`${testId}-button-apply`}
122
+ {...applyBtnProps}
123
+ onClick={(e) => {
124
+ applyBtnProps?.onClick?.(e)
125
+ fadeOut()
126
+ }}
127
+ />
128
+ )}
129
+ </footer>
130
+ )}
96
131
  </SlideOver>
97
132
  )
98
133
  }
@@ -20,8 +20,8 @@ interface VariationProductColumn {
20
20
  label: string
21
21
  stockDisplaySettings: 'showStockQuantity' | 'showAvailability'
22
22
  }
23
- price: number
24
- quantitySelector: number
23
+ price: string
24
+ quantitySelector: string
25
25
  }
26
26
 
27
27
  const ImageComponentFallback: SKUMatrixSidebarProps['ImageComponent'] = ({