@faststore/components 3.42.0 → 3.45.0

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 (75) hide show
  1. package/dist/cjs/hooks/UIProvider.d.ts +10 -1
  2. package/dist/cjs/hooks/UIProvider.js +24 -0
  3. package/dist/cjs/hooks/UIProvider.js.map +1 -1
  4. package/dist/cjs/hooks/index.d.ts +2 -1
  5. package/dist/cjs/hooks/index.js +5 -3
  6. package/dist/cjs/hooks/index.js.map +1 -1
  7. package/dist/cjs/hooks/useOnClickOutside.d.ts +4 -0
  8. package/dist/cjs/hooks/useOnClickOutside.js +33 -0
  9. package/dist/cjs/hooks/useOnClickOutside.js.map +1 -0
  10. package/dist/cjs/index.d.ts +2 -0
  11. package/dist/cjs/index.js +4 -2
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/molecules/Accordion/AccordionButton.js +1 -1
  14. package/dist/cjs/molecules/Accordion/AccordionButton.js.map +1 -1
  15. package/dist/cjs/molecules/Modal/Modal.d.ts +14 -6
  16. package/dist/cjs/molecules/Modal/Modal.js +13 -4
  17. package/dist/cjs/molecules/Modal/Modal.js.map +1 -1
  18. package/dist/cjs/molecules/Popover/Popover.d.ts +67 -0
  19. package/dist/cjs/molecules/Popover/Popover.js +65 -0
  20. package/dist/cjs/molecules/Popover/Popover.js.map +1 -0
  21. package/dist/cjs/molecules/Popover/index.d.ts +2 -0
  22. package/dist/cjs/molecules/Popover/index.js +9 -0
  23. package/dist/cjs/molecules/Popover/index.js.map +1 -0
  24. package/dist/cjs/molecules/RegionBar/RegionBar.d.ts +13 -4
  25. package/dist/cjs/molecules/RegionBar/RegionBar.js +5 -3
  26. package/dist/cjs/molecules/RegionBar/RegionBar.js.map +1 -1
  27. package/dist/cjs/organisms/RegionModal/RegionModal.d.ts +10 -1
  28. package/dist/cjs/organisms/RegionModal/RegionModal.js +15 -8
  29. package/dist/cjs/organisms/RegionModal/RegionModal.js.map +1 -1
  30. package/dist/cjs/organisms/ShippingSimulation/ShippingSimulation.d.ts +2 -2
  31. package/dist/cjs/organisms/SlideOver/SlideOverHeader.d.ts +1 -1
  32. package/dist/esm/hooks/UIProvider.d.ts +10 -1
  33. package/dist/esm/hooks/UIProvider.js +24 -0
  34. package/dist/esm/hooks/UIProvider.js.map +1 -1
  35. package/dist/esm/hooks/index.d.ts +2 -1
  36. package/dist/esm/hooks/index.js +2 -1
  37. package/dist/esm/hooks/index.js.map +1 -1
  38. package/dist/esm/hooks/useOnClickOutside.d.ts +4 -0
  39. package/dist/esm/hooks/useOnClickOutside.js +29 -0
  40. package/dist/esm/hooks/useOnClickOutside.js.map +1 -0
  41. package/dist/esm/index.d.ts +2 -0
  42. package/dist/esm/index.js +1 -0
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/molecules/Accordion/AccordionButton.js +1 -1
  45. package/dist/esm/molecules/Accordion/AccordionButton.js.map +1 -1
  46. package/dist/esm/molecules/Modal/Modal.d.ts +14 -6
  47. package/dist/esm/molecules/Modal/Modal.js +13 -4
  48. package/dist/esm/molecules/Modal/Modal.js.map +1 -1
  49. package/dist/esm/molecules/Popover/Popover.d.ts +67 -0
  50. package/dist/esm/molecules/Popover/Popover.js +62 -0
  51. package/dist/esm/molecules/Popover/Popover.js.map +1 -0
  52. package/dist/esm/molecules/Popover/index.d.ts +2 -0
  53. package/dist/esm/molecules/Popover/index.js +2 -0
  54. package/dist/esm/molecules/Popover/index.js.map +1 -0
  55. package/dist/esm/molecules/RegionBar/RegionBar.d.ts +13 -4
  56. package/dist/esm/molecules/RegionBar/RegionBar.js +5 -3
  57. package/dist/esm/molecules/RegionBar/RegionBar.js.map +1 -1
  58. package/dist/esm/organisms/RegionModal/RegionModal.d.ts +10 -1
  59. package/dist/esm/organisms/RegionModal/RegionModal.js +15 -8
  60. package/dist/esm/organisms/RegionModal/RegionModal.js.map +1 -1
  61. package/dist/esm/organisms/ShippingSimulation/ShippingSimulation.d.ts +2 -2
  62. package/dist/esm/organisms/SlideOver/SlideOverHeader.d.ts +1 -1
  63. package/package.json +2 -2
  64. package/src/hooks/UIProvider.tsx +48 -1
  65. package/src/hooks/index.ts +2 -1
  66. package/src/hooks/useOnClickOutside.ts +40 -0
  67. package/src/index.ts +2 -0
  68. package/src/molecules/Accordion/AccordionButton.tsx +1 -1
  69. package/src/molecules/Modal/Modal.tsx +29 -8
  70. package/src/molecules/Popover/Popover.tsx +209 -0
  71. package/src/molecules/Popover/index.tsx +2 -0
  72. package/src/molecules/RegionBar/RegionBar.tsx +21 -5
  73. package/src/organisms/RegionModal/RegionModal.tsx +29 -7
  74. package/src/organisms/ShippingSimulation/ShippingSimulation.tsx +2 -2
  75. package/src/organisms/SlideOver/SlideOverHeader.tsx +1 -1
@@ -51,6 +51,10 @@ export interface RegionModalProps extends Omit<ModalProps, 'children'> {
51
51
  * Postal code input's label.
52
52
  */
53
53
  inputLabel?: string
54
+ /**
55
+ * The text displayed on the InputField Button. Suggestion: maximum 9 characters.
56
+ */
57
+ inputButtonActionText?: string
54
58
  /**
55
59
  * Enables fadeOut effect on modal after onSubmit function
56
60
  */
@@ -75,24 +79,31 @@ export interface RegionModalProps extends Omit<ModalProps, 'children'> {
75
79
  * Callback function when the input clear button is clicked.
76
80
  */
77
81
  onClear?: () => void
82
+ /**
83
+ * Determines if the modal can be dismissed using the close button or the Escape key.
84
+ * @default true
85
+ */
86
+ dismissible?: boolean
78
87
  }
79
88
 
80
89
  function RegionModal({
81
90
  testId = 'fs-region-modal',
82
91
  title = 'Set your location',
83
- description = 'Prices, offers and availability may vary according to your location.',
92
+ description = 'Offers and availability vary by location.',
84
93
  closeButtonAriaLabel = 'Close Region Modal',
85
94
  idkPostalCodeLinkProps,
86
95
  errorMessage,
87
96
  inputRef,
88
97
  inputValue,
89
98
  inputLabel = 'Postal Code',
99
+ inputButtonActionText = 'Apply',
90
100
  fadeOutOnSubmit,
91
101
  overlayProps,
92
102
  onClose,
93
103
  onInput,
94
104
  onSubmit,
95
105
  onClear,
106
+ dismissible = true,
96
107
  ...otherProps
97
108
  }: RegionModalProps) {
98
109
  return (
@@ -102,15 +113,24 @@ function RegionModal({
102
113
  overlayProps={overlayProps}
103
114
  title="Region modal"
104
115
  aria-label="Region modal"
116
+ disableEscapeKeyDown={!dismissible}
117
+ onEntered={() => {
118
+ if (inputRef?.current) {
119
+ inputRef.current.focus()
120
+ }
121
+ }}
105
122
  {...otherProps}
106
123
  >
107
124
  {({ fadeOut }) => (
108
125
  <>
109
126
  <ModalHeader
110
- onClose={() => {
111
- fadeOut()
112
- onClose?.()
113
- }}
127
+ {...(dismissible && {
128
+ onClose: () => {
129
+ fadeOut()
130
+ onClear?.()
131
+ onClose?.()
132
+ },
133
+ })}
114
134
  title={title}
115
135
  description={description}
116
136
  closeBtnProps={{
@@ -125,6 +145,7 @@ function RegionModal({
125
145
  label={inputLabel}
126
146
  actionable
127
147
  value={inputValue}
148
+ buttonActionText={inputButtonActionText}
128
149
  onInput={(event) => onInput?.(event)}
129
150
  onSubmit={() => {
130
151
  onSubmit?.()
@@ -133,8 +154,9 @@ function RegionModal({
133
154
  onClear={() => onClear?.()}
134
155
  error={errorMessage}
135
156
  />
136
-
137
- <Link data-fs-region-modal-link {...idkPostalCodeLinkProps} />
157
+ {idkPostalCodeLinkProps && (
158
+ <Link data-fs-region-modal-link {...idkPostalCodeLinkProps} />
159
+ )}
138
160
  </ModalBody>
139
161
  </>
140
162
  )}
@@ -69,9 +69,9 @@ interface Address {
69
69
  */
70
70
  reference?: string
71
71
  /**
72
- * Address geoCoordinates
72
+ * Address geoCoordinates. [longitude, latitude]
73
73
  */
74
- geoCoordinates?: [number]
74
+ geoCoordinates?: [number, number]
75
75
  }
76
76
 
77
77
  export interface ShippingSimulationProps
@@ -7,7 +7,7 @@ export interface SlideOverHeaderProps
7
7
  /**
8
8
  * A react component to be used as the title in the header.
9
9
  */
10
- children: ReactNode
10
+ children?: ReactNode
11
11
  /**
12
12
  * Props for the Close Button component.
13
13
  */