@kaizen/components 1.52.0 → 1.53.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 (220) hide show
  1. package/dist/cjs/DatePicker/DatePicker.cjs +8 -1
  2. package/dist/cjs/DatePicker/utils/getLocale.cjs +2 -0
  3. package/dist/cjs/DatePicker/utils/validateDate.cjs +28 -2
  4. package/dist/cjs/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.cjs +8 -1
  5. package/dist/cjs/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.cjs +14 -2
  6. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.cjs +1 -0
  7. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +10 -1
  8. package/dist/cjs/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.cjs +8 -1
  9. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.cjs +5 -1
  10. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.cjs +1 -0
  11. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.cjs +1 -0
  12. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.cjs +16 -1
  13. package/dist/cjs/__future__/Workflow/subcomponents/Header/Header.cjs +1 -1
  14. package/dist/esm/DatePicker/DatePicker.mjs +8 -1
  15. package/dist/esm/DatePicker/utils/getLocale.mjs +3 -1
  16. package/dist/esm/DatePicker/utils/validateDate.mjs +22 -2
  17. package/dist/esm/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.mjs +8 -1
  18. package/dist/esm/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.mjs +14 -2
  19. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.mjs +1 -0
  20. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +10 -1
  21. package/dist/esm/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.mjs +8 -1
  22. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.mjs +5 -1
  23. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.mjs +1 -0
  24. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.mjs +1 -0
  25. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.mjs +10 -1
  26. package/dist/esm/__future__/Workflow/subcomponents/Header/Header.mjs +1 -1
  27. package/dist/types/AvatarGroup/_docs/example-data.d.ts +8 -0
  28. package/dist/types/BrandMoment/_docs/ExampleHeaders.d.ts +3 -0
  29. package/dist/types/Calendar/_docs/controls/defaultMonthControls.d.ts +2 -0
  30. package/dist/types/Calendar/_docs/controls/weekStartsOnControls.d.ts +2 -0
  31. package/dist/types/Container/Container.d.ts +1 -1
  32. package/dist/types/Content/Content.d.ts +1 -1
  33. package/dist/types/DateInput/DateInput/DateInput.d.ts +1 -1
  34. package/dist/types/DatePicker/DatePicker.d.ts +1 -1
  35. package/dist/types/DatePicker/_docs/controls/datePickerLocaleControls.d.ts +2 -0
  36. package/dist/types/DatePicker/_docs/controls/disabledDayMatchersControls.d.ts +2 -0
  37. package/dist/types/DatePicker/subcomponents/DateInputField/DateInputField.d.ts +1 -1
  38. package/dist/types/DatePicker/types.d.ts +2 -1
  39. package/dist/types/DatePicker/utils/getLocale.d.ts +1 -1
  40. package/dist/types/Filter/FilterBar/context/types.d.ts +28 -0
  41. package/dist/types/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.d.ts +1 -1
  42. package/dist/types/Filter/FilterDatePicker/_docs/controls/disabledDaysControls.d.ts +2 -0
  43. package/dist/types/Filter/FilterDatePicker/_docs/controls/validationControls.d.ts +2 -0
  44. package/dist/types/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.d.ts +1 -1
  45. package/dist/types/Filter/FilterDateRangePicker/_docs/controls/disabledDaysControls.d.ts +2 -0
  46. package/dist/types/Filter/FilterDateRangePicker/_docs/controls/validationControls.d.ts +2 -0
  47. package/dist/types/Filter/FilterMultiSelect/_docs/MockData.d.ts +10 -0
  48. package/dist/types/Filter/FilterSelect/_docs/mockData.d.ts +6 -0
  49. package/dist/types/Filter/_docs/controls/renderTriggerControls.d.ts +2 -0
  50. package/dist/types/Menu/_docs/MenuContentExample.d.ts +8 -0
  51. package/dist/types/Menu/_docs/examples.d.ts +11 -0
  52. package/dist/types/Modal/_docs/controls.d.ts +11 -0
  53. package/dist/types/MultiSelect/MultiSelect.d.ts +23 -0
  54. package/dist/types/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.d.ts +13 -0
  55. package/dist/types/Select/Select.d.ts +3 -3
  56. package/dist/types/Workflow/_docs/controls/controls.d.ts +2 -0
  57. package/dist/types/Workflow/_docs/controls/index.d.ts +1 -0
  58. package/dist/types/__future__/Select/Select.d.ts +2 -2
  59. package/dist/types/__future__/Select/_docs/mockData.d.ts +6 -0
  60. package/dist/types/__future__/Select/subcomponents/SelectToggle/SelectToggle.d.ts +2 -2
  61. package/dist/types/__future__/Select/types.d.ts +22 -0
  62. package/dist/types/__future__/Workflow/_docs/controls/controls.d.ts +2 -0
  63. package/dist/types/__future__/Workflow/_docs/controls/index.d.ts +1 -0
  64. package/dist/types/__overlays__/Tooltip/v1/utils/isSemanticElement.d.ts +2 -2
  65. package/dist/types/utils/getNodeText.d.ts +2 -1
  66. package/locales/en.json +40 -0
  67. package/package.json +3 -3
  68. package/src/Avatar/_docs/Avatar.mdx +1 -1
  69. package/src/AvatarGroup/_docs/AvatarGroup.mdx +1 -1
  70. package/src/Badge/_docs/Badge.mdx +1 -1
  71. package/src/Brand/_docs/Brand.mdx +1 -1
  72. package/src/BrandMoment/_docs/BrandMoment.mdx +1 -1
  73. package/src/Button/Button/_docs/Button.mdx +1 -1
  74. package/src/Button/IconButton/_docs/IconButton.mdx +1 -1
  75. package/src/ButtonGroup/_docs/ButtonGroup.mdx +1 -1
  76. package/src/Calendar/CalendarRange/_docs/CalendarRange.mdx +1 -1
  77. package/src/Calendar/CalendarSingle/_docs/CalendarSingle.mdx +1 -1
  78. package/src/Card/_docs/Card.mdx +1 -1
  79. package/src/Checkbox/Checkbox/_docs/Checkbox.mdx +1 -1
  80. package/src/Checkbox/CheckboxField/_docs/CheckboxField.mdx +1 -1
  81. package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.mdx +1 -1
  82. package/src/Collapsible/Collapsible/_docs/Collapsible.mdx +1 -1
  83. package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.mdx +1 -1
  84. package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.mdx +1 -1
  85. package/src/Container/_docs/Container.mdx +1 -1
  86. package/src/Content/_docs/Content.mdx +1 -1
  87. package/src/DateInput/DateInputDescription/DateInputDescription.spec.tsx +26 -18
  88. package/src/DatePicker/DatePicker.spec.tsx +100 -69
  89. package/src/DatePicker/DatePicker.tsx +13 -5
  90. package/src/DatePicker/_docs/DatePicker.mdx +1 -1
  91. package/src/DatePicker/_docs/DatePicker.stickersheet.stories.tsx +57 -21
  92. package/src/DatePicker/_docs/DatePicker.stories.tsx +2 -3
  93. package/src/DatePicker/_docs/controls/datePickerLocaleControls.ts +1 -1
  94. package/src/DatePicker/subcomponents/DateInputField/DateInputField.spec.tsx +49 -36
  95. package/src/DatePicker/types.ts +2 -1
  96. package/src/DatePicker/utils/getLocale.ts +6 -2
  97. package/src/DatePicker/utils/validateDate.spec.ts +40 -16
  98. package/src/DatePicker/utils/{validateDate.ts → validateDate.tsx} +24 -4
  99. package/src/DateRangePicker/_docs/DateRangePicker.mdx +1 -1
  100. package/src/Divider/_docs/Divider.mdx +1 -1
  101. package/src/EmptyState/_docs/EmptyState.mdx +1 -1
  102. package/src/ErrorPage/_docs/ErrorPage.mdx +1 -1
  103. package/src/FieldGroup/_docs/FieldGroup.mdx +1 -1
  104. package/src/FieldMessage/_docs/FieldMessage.mdx +1 -1
  105. package/src/Filter/Filter/_docs/Filter.mdx +1 -1
  106. package/src/Filter/FilterBar/FilterBar.spec.tsx +56 -25
  107. package/src/Filter/FilterBar/_docs/FilterBar.mdx +1 -1
  108. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.spec.tsx +21 -13
  109. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +11 -1
  110. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.tsx +17 -2
  111. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.spec.tsx +17 -8
  112. package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.spec.tsx +37 -23
  113. package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/FilterBarDateRangePicker.spec.tsx +35 -23
  114. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +42 -26
  115. package/src/Filter/FilterBar/subcomponents/FilterBarSelect/FilterBarSelect.spec.tsx +37 -24
  116. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.spec.tsx +12 -12
  117. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +15 -2
  118. package/src/Filter/FilterButton/_docs/filter-buttons.mdx +1 -1
  119. package/src/Filter/FilterDatePicker/FilterDatePicker.spec.tsx +21 -16
  120. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.mdx +1 -1
  121. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.stickersheet.stories.tsx +50 -1
  122. package/src/Filter/FilterDatePicker/hooks/useDateInputHandlers.spec.ts +3 -3
  123. package/src/Filter/FilterDatePicker/hooks/{useDateValidation.spec.tsx → useDateValidation.spec.ts} +13 -12
  124. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.tsx +10 -1
  125. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.spec.tsx +57 -36
  126. package/src/Filter/FilterDatePicker/utils/validateDate.spec.ts +52 -28
  127. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +3 -2
  128. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.mdx +1 -1
  129. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stickersheet.stories.tsx +55 -24
  130. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +43 -28
  131. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.spec.tsx +82 -48
  132. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.tsx +6 -1
  133. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/{useEndDateValidation.spec.tsx → useEndDateValidation.spec.ts} +23 -20
  134. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/{useStartDateValidation.spec.tsx → useStartDateValidation.spec.ts} +13 -11
  135. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.spec.ts +17 -6
  136. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/{validateEndDateBeforeStartDate.ts → validateEndDateBeforeStartDate.tsx} +9 -3
  137. package/src/Filter/FilterMultiSelect/FilterMultiSelect.spec.tsx +10 -14
  138. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.mdx +1 -1
  139. package/src/Filter/FilterMultiSelect/context/SelectionProvider/SelectionProvider.spec.tsx +392 -372
  140. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.spec.tsx +9 -6
  141. package/src/Filter/FilterSelect/_docs/FilterSelect.mdx +1 -1
  142. package/src/GuidanceBlock/_docs/GuidanceBlock.mdx +1 -1
  143. package/src/Heading/_docs/Heading.mdx +1 -1
  144. package/src/Icon/_docs/Icon.mdx +1 -1
  145. package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.mdx +1 -1
  146. package/src/Illustration/Scene/_docs/Scene.mdx +1 -1
  147. package/src/Illustration/Spot/_docs/Spot.mdx +1 -1
  148. package/src/Input/Input/_docs/Input.mdx +1 -1
  149. package/src/Input/InputRange/_docs/InputRange.mdx +1 -1
  150. package/src/Input/InputSearch/InputSearch.spec.tsx +15 -14
  151. package/src/Input/InputSearch/_docs/InputSearch.mdx +1 -1
  152. package/src/Label/_docs/Label.mdx +1 -1
  153. package/src/LabelledMessage/_docs/LabelledMessage.mdx +1 -1
  154. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +1 -1
  155. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.mdx +1 -1
  156. package/src/Loading/LoadingHeading/_docs/LoadingHeading.mdx +1 -1
  157. package/src/Loading/LoadingInput/_docs/LoadingInput.mdx +1 -1
  158. package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.mdx +1 -1
  159. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.mdx +1 -1
  160. package/src/Menu/_docs/Menu.mdx +1 -1
  161. package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.mdx +1 -1
  162. package/src/Modal/ContextModal/_docs/ContextModal.mdx +1 -1
  163. package/src/Modal/GenericModal/_docs/GenericModal.mdx +1 -1
  164. package/src/Modal/InputEditModal/_docs/InputEditModal.mdx +1 -1
  165. package/src/MultiSelect/_docs/MultiSelect.mdx +1 -1
  166. package/src/Notification/GlobalNotification/_docs/GlobalNotification.mdx +1 -1
  167. package/src/Notification/InlineNotification/_docs/InlineNotification.mdx +1 -1
  168. package/src/Notification/ToastNotification/_docs/ToastNotification.mdx +1 -1
  169. package/src/Pagination/_docs/Pagination.mdx +1 -1
  170. package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.mdx +1 -1
  171. package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.mdx +1 -1
  172. package/src/Popover/_docs/Popover.mdx +1 -1
  173. package/src/ProgressBar/_docs/ProgressBar.mdx +1 -1
  174. package/src/Radio/Radio/_docs/Radio.mdx +1 -1
  175. package/src/Radio/RadioField/_docs/RadioField.mdx +1 -1
  176. package/src/Radio/RadioGroup/_docs/RadioGroup.mdx +1 -1
  177. package/src/RichTextEditor/EditableRichTextContent/_docs/EditableRichTextContent.mdx +1 -1
  178. package/src/RichTextEditor/RichTextContent/_docs/RichTextContent.mdx +1 -1
  179. package/src/RichTextEditor/RichTextEditor/_docs/RichTextEditor.mdx +1 -1
  180. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.mdx +1 -1
  181. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.mdx +1 -1
  182. package/src/SearchField/_docs/SearchField.mdx +1 -1
  183. package/src/Select/_docs/Select.mdx +1 -1
  184. package/src/Skirt/_docs/Skirt.mdx +1 -1
  185. package/src/Slider/_docs/Slider.mdx +1 -1
  186. package/src/SplitButton/SplitButton.spec.tsx +11 -6
  187. package/src/SplitButton/_docs/SplitButton.mdx +1 -1
  188. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +15 -10
  189. package/src/Table/_docs/Table.mdx +1 -1
  190. package/src/Tabs/_docs/Tabs.mdx +1 -1
  191. package/src/Tag/_docs/Tag.mdx +1 -1
  192. package/src/Text/_docs/Text.mdx +1 -1
  193. package/src/TextArea/_docs/TextArea.mdx +1 -1
  194. package/src/TextAreaField/_docs/TextAreaField.mdx +1 -1
  195. package/src/TextField/_docs/TextField.mdx +1 -1
  196. package/src/Tile/InformationTile/_docs/InformationTile.mdx +1 -1
  197. package/src/Tile/MultiActionTile/_docs/MultiActionTile.mdx +1 -1
  198. package/src/Tile/TileGrid/_docs/TileGrid.mdx +1 -1
  199. package/src/TimeField/_docs/TimeField.mdx +1 -1
  200. package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +1 -1
  201. package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.mdx +1 -1
  202. package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.mdx +1 -1
  203. package/src/VisuallyHidden/_docs/VisuallyHidden.mdx +1 -1
  204. package/src/Well/_docs/Well.mdx +1 -1
  205. package/src/Workflow/_docs/ProgressStepper.mdx +1 -1
  206. package/src/Workflow/_docs/Workflow.mdx +1 -1
  207. package/src/Workflow/_docs/WorkflowFooter.mdx +1 -1
  208. package/src/Workflow/_docs/WorkflowHeader.mdx +1 -1
  209. package/src/__future__/Select/_docs/Select.mdx +1 -1
  210. package/src/__future__/Tag/Tag/_docs/Tag.mdx +1 -1
  211. package/src/__future__/Workflow/_docs/ProgressStepper.mdx +1 -1
  212. package/src/__future__/Workflow/_docs/Workflow.mdx +1 -1
  213. package/src/__future__/Workflow/_docs/WorkflowFooter.mdx +1 -1
  214. package/src/__future__/Workflow/_docs/WorkflowHeader.mdx +1 -1
  215. package/src/__future__/Workflow/subcomponents/Header/Header.tsx +1 -1
  216. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.mdx +1 -1
  217. package/src/__overlays__/Tooltip/v3/_docs/ApiSpecification.mdx +0 -1
  218. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.docs.stories.tsx +52 -0
  219. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.mdx +40 -61
  220. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_spec.png +0 -0
@@ -1,6 +1,7 @@
1
1
  import React, { useState } from "react"
2
- import { render, screen, waitFor, within } from "@testing-library/react"
2
+ import { screen, waitFor, within } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
+ import { renderWithIntl } from "~tests"
4
5
  import {
5
6
  FilterAttributes,
6
7
  FilterBarProvider,
@@ -51,35 +52,44 @@ const FilterBarDateRangePickerWrapper = ({
51
52
  }
52
53
 
53
54
  describe("<FilterBarDateRangePicker />", () => {
54
- it("shows the name in the trigger button", () => {
55
- const { getByRole } = render(<FilterBarDateRangePickerWrapper />)
56
- const triggerButton = getByRole("button", { name: "Dates" })
57
- expect(triggerButton).toBeInTheDocument()
55
+ it("shows the name in the trigger button", async () => {
56
+ renderWithIntl(<FilterBarDateRangePickerWrapper />)
57
+ await waitFor(() => {
58
+ const triggerButton = screen.getByRole("button", { name: "Dates" })
59
+ expect(triggerButton).toBeInTheDocument()
60
+ })
58
61
  })
59
62
 
60
63
  describe("Removable", () => {
61
- it("does not show the remove button when isRemovable is false", () => {
62
- const { queryByRole } = render(<FilterBarDateRangePickerWrapper />)
63
- expect(
64
- queryByRole("button", { name: "Remove filter - Dates" })
65
- ).not.toBeInTheDocument()
64
+ it("does not show the remove button when isRemovable is false", async () => {
65
+ renderWithIntl(<FilterBarDateRangePickerWrapper />)
66
+ await waitFor(() => {
67
+ expect(
68
+ screen.getByRole("button", { name: "Dates" })
69
+ ).toBeInTheDocument()
70
+ expect(
71
+ screen.queryByRole("button", { name: "Remove filter - Dates" })
72
+ ).not.toBeInTheDocument()
73
+ })
66
74
  })
67
75
 
68
- it("shows the remove button when isRemovable is true", () => {
69
- const { getByRole } = render(
76
+ it("shows the remove button when isRemovable is true", async () => {
77
+ const { getByRole } = renderWithIntl(
70
78
  <FilterBarDateRangePickerWrapper
71
79
  filterAttributes={{ isRemovable: true }}
72
80
  defaultValues={{ range: { from: new Date("2023-05-01") } }}
73
81
  />
74
82
  )
75
- expect(
76
- getByRole("button", { name: "Remove filter - Dates" })
77
- ).toBeVisible()
83
+ await waitFor(() => {
84
+ expect(
85
+ getByRole("button", { name: "Remove filter - Dates" })
86
+ ).toBeVisible()
87
+ })
78
88
  })
79
89
  })
80
90
 
81
91
  it("can toggle its open state", async () => {
82
- const { getByRole, queryByRole } = render(
92
+ const { getByRole, queryByRole } = renderWithIntl(
83
93
  <FilterBarDateRangePickerWrapper />
84
94
  )
85
95
  const triggerButton = getByRole("button", { name: "Dates" })
@@ -97,8 +107,8 @@ describe("<FilterBarDateRangePicker />", () => {
97
107
  })
98
108
  })
99
109
 
100
- it("shows a selected value when provided", () => {
101
- const { getByRole } = render(
110
+ it("shows a selected value when provided", async () => {
111
+ const { getByRole } = renderWithIntl(
102
112
  <FilterBarDateRangePickerWrapper
103
113
  defaultValues={{
104
114
  range: {
@@ -108,14 +118,16 @@ describe("<FilterBarDateRangePicker />", () => {
108
118
  }}
109
119
  />
110
120
  )
111
- const triggerButton = getByRole("button", {
112
- name: "Dates : 1 May 2022 - 25 Nov 2022",
121
+ await waitFor(() => {
122
+ const triggerButton = getByRole("button", {
123
+ name: "Dates : 1 May 2022 - 25 Nov 2022",
124
+ })
125
+ expect(triggerButton).toBeInTheDocument()
113
126
  })
114
- expect(triggerButton).toBeInTheDocument()
115
127
  })
116
128
 
117
129
  it("updates the selected value in the trigger button", async () => {
118
- const { getByRole, getByText } = render(
130
+ const { getByRole, getByText } = renderWithIntl(
119
131
  <FilterBarDateRangePickerWrapper
120
132
  defaultValues={{
121
133
  range: {
@@ -148,7 +160,7 @@ describe("<FilterBarDateRangePicker />", () => {
148
160
 
149
161
  it("allows calling additional functions on value change", async () => {
150
162
  const onChange = jest.fn<void, [DateRange | undefined]>()
151
- const { getByRole, getByText } = render(
163
+ const { getByRole, getByText } = renderWithIntl(
152
164
  <FilterBarDateRangePickerWrapper
153
165
  defaultValues={{
154
166
  range: {
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useState } from "react"
2
- import { Selection } from "@react-types/shared"
3
- import { render, waitFor } from "@testing-library/react"
2
+ import { screen, waitFor } from "@testing-library/react"
4
3
  import userEvent from "@testing-library/user-event"
4
+ import { renderWithIntl } from "~tests"
5
5
  import {
6
6
  FilterAttributes,
7
7
  FilterBarProvider,
@@ -90,41 +90,53 @@ const FilterBarMultiSelectWrapper = <ValuesMap extends FiltersValues = Values>({
90
90
  }
91
91
 
92
92
  describe("<FilterBarMultiSelect />", () => {
93
- it("shows the name in the trigger button", () => {
94
- const { getByRole } = render(<FilterBarMultiSelectWrapper />)
95
- const triggerButton = getByRole("button", { name: "Toppings" })
96
- expect(triggerButton).toBeVisible()
93
+ it("shows the name in the trigger button", async () => {
94
+ const { getByRole } = renderWithIntl(<FilterBarMultiSelectWrapper />)
95
+ await waitFor(() => {
96
+ const triggerButton = getByRole("button", { name: "Toppings" })
97
+ expect(triggerButton).toBeVisible()
98
+ })
97
99
  })
98
100
 
99
101
  describe("Removable", () => {
100
- it("does not show the remove button when isRemovable is false", () => {
101
- const { queryByRole } = render(<FilterBarMultiSelectWrapper />)
102
+ it("does not show the remove button when isRemovable is false", async () => {
103
+ const { queryByRole } = renderWithIntl(<FilterBarMultiSelectWrapper />)
104
+ await waitFor(() => {
105
+ expect(screen.getByRole("button", { name: "Toppings" })).toBeVisible()
106
+ })
102
107
  expect(
103
108
  queryByRole("button", { name: "Remove filter - Toppings" })
104
109
  ).not.toBeInTheDocument()
105
110
  })
106
111
 
107
- it("shows the remove button when isRemovable is true", () => {
108
- const { getByRole } = render(
112
+ it("shows the remove button when isRemovable is true", async () => {
113
+ const { getByRole } = renderWithIntl(
109
114
  <FilterBarMultiSelectWrapper
110
115
  filterAttributes={{ isRemovable: true }}
111
116
  defaultValues={{ toppings: ["pearls"] }}
112
117
  />
113
118
  )
114
- expect(
115
- getByRole("button", { name: "Remove filter - Toppings" })
116
- ).toBeVisible()
119
+ await waitFor(() => {
120
+ expect(
121
+ getByRole("button", { name: "Remove filter - Toppings" })
122
+ ).toBeVisible()
123
+ })
117
124
  })
118
125
 
119
126
  it("hides the filter when remove button is clicked", async () => {
120
- const { getByRole } = render(
127
+ const { getByRole } = renderWithIntl(
121
128
  <FilterBarMultiSelectWrapper
122
129
  filterAttributes={{ isRemovable: true }}
123
130
  defaultValues={{ toppings: ["pearls"] }}
124
131
  />
125
132
  )
126
- const triggerButton = getByRole("button", { name: "Toppings : Pearls" })
127
- expect(triggerButton).toBeVisible()
133
+
134
+ const triggerButton = await screen.findByRole("button", {
135
+ name: "Toppings : Pearls",
136
+ })
137
+ await waitFor(() => {
138
+ expect(triggerButton).toBeVisible()
139
+ })
128
140
 
129
141
  const removeButton = getByRole("button", {
130
142
  name: "Remove filter - Toppings",
@@ -137,7 +149,9 @@ describe("<FilterBarMultiSelect />", () => {
137
149
  })
138
150
 
139
151
  it("can toggle its open state", async () => {
140
- const { getByRole, queryByRole } = render(<FilterBarMultiSelectWrapper />)
152
+ const { getByRole, queryByRole } = renderWithIntl(
153
+ <FilterBarMultiSelectWrapper />
154
+ )
141
155
  const triggerButton = getByRole("button", { name: "Toppings" })
142
156
 
143
157
  await user.click(triggerButton)
@@ -153,20 +167,22 @@ describe("<FilterBarMultiSelect />", () => {
153
167
  })
154
168
  })
155
169
 
156
- it("shows a selected value when provided", () => {
157
- const { getByRole } = render(
170
+ it("shows a selected value when provided", async () => {
171
+ const { getByRole } = renderWithIntl(
158
172
  <FilterBarMultiSelectWrapper
159
173
  defaultValues={{ toppings: ["pearls", "fruit-jelly"] }}
160
174
  />
161
175
  )
162
- const triggerButton = getByRole("button", {
163
- name: "Toppings : Pearls, Fruit Jelly",
176
+ await waitFor(() => {
177
+ const triggerButton = getByRole("button", {
178
+ name: "Toppings : Pearls, Fruit Jelly",
179
+ })
180
+ expect(triggerButton).toBeInTheDocument()
164
181
  })
165
- expect(triggerButton).toBeInTheDocument()
166
182
  })
167
183
 
168
184
  it("updates the selected value in the trigger button", async () => {
169
- const { getByRole } = render(
185
+ const { getByRole } = renderWithIntl(
170
186
  <FilterBarMultiSelectWrapper defaultValues={{ toppings: ["pearls"] }} />
171
187
  )
172
188
  const triggerButton = getByRole("button", {
@@ -188,8 +204,8 @@ describe("<FilterBarMultiSelect />", () => {
188
204
  })
189
205
 
190
206
  it("allows calling additional functions on selection change", async () => {
191
- const onChange = jest.fn<void, [Selection]>()
192
- const { getByRole } = render(
207
+ const onChange = jest.fn()
208
+ const { getByRole } = renderWithIntl(
193
209
  <FilterBarMultiSelectWrapper onSelectionChange={onChange} />
194
210
  )
195
211
  const triggerButton = getByRole("button", { name: "Toppings" })
@@ -241,7 +257,7 @@ describe("<FilterBarMultiSelect />", () => {
241
257
  )
242
258
  }
243
259
 
244
- const { getByRole, getAllByRole, getByTestId } = render(
260
+ const { getByRole, getAllByRole, getByTestId } = renderWithIntl(
245
261
  <FilterBarMultiSelectWrapper<ValuesDependent>
246
262
  additionalFilters={[
247
263
  {
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useState } from "react"
2
- import { Key } from "@react-types/shared"
3
- import { render, waitFor } from "@testing-library/react"
2
+ import { waitFor, screen } from "@testing-library/react"
4
3
  import userEvent from "@testing-library/user-event"
4
+ import { renderWithIntl } from "~tests"
5
5
  import {
6
6
  FilterAttributes,
7
7
  FilterBarProvider,
@@ -66,35 +66,46 @@ const FilterBarSelectWrapper = <ValuesMap extends FiltersValues = Values>({
66
66
  }
67
67
 
68
68
  describe("<FilterBarSelect />", () => {
69
- it("shows the name in the trigger button", () => {
70
- const { getByRole } = render(<FilterBarSelectWrapper />)
71
- const triggerButton = getByRole("button", { name: "Flavour" })
72
- expect(triggerButton).toBeInTheDocument()
69
+ it("shows the name in the trigger button", async () => {
70
+ renderWithIntl(<FilterBarSelectWrapper />)
71
+ await waitFor(() => {
72
+ const triggerButton = screen.getByRole("button", { name: "Flavour" })
73
+ expect(triggerButton).toBeInTheDocument()
74
+ })
73
75
  })
74
76
 
75
77
  describe("Removable", () => {
76
- it("does not show the remove button when isRemovable is false", () => {
77
- const { queryByRole } = render(<FilterBarSelectWrapper />)
78
+ it("does not show the remove button when isRemovable is false", async () => {
79
+ renderWithIntl(<FilterBarSelectWrapper />)
80
+ await waitFor(() => {
81
+ expect(
82
+ screen.getByRole("button", { name: "Flavour" })
83
+ ).toBeInTheDocument()
84
+ })
78
85
  expect(
79
- queryByRole("button", { name: "Remove filter - Flavour" })
86
+ screen.queryByRole("button", { name: "Remove filter - Flavour" })
80
87
  ).not.toBeInTheDocument()
81
88
  })
82
89
 
83
- it("shows the remove button when isRemovable is true", () => {
84
- const { getByRole } = render(
90
+ it("shows the remove button when isRemovable is true", async () => {
91
+ renderWithIntl(
85
92
  <FilterBarSelectWrapper
86
93
  filterAttributes={{ isRemovable: true }}
87
94
  defaultValues={{ flavour: "jasmine-milk-tea" }}
88
95
  />
89
96
  )
90
- expect(
91
- getByRole("button", { name: "Remove filter - Flavour" })
92
- ).toBeVisible()
97
+ await waitFor(() => {
98
+ expect(
99
+ screen.getByRole("button", { name: "Remove filter - Flavour" })
100
+ ).toBeVisible()
101
+ })
93
102
  })
94
103
  })
95
104
 
96
105
  it("can toggle its open state", async () => {
97
- const { getByRole, queryByRole } = render(<FilterBarSelectWrapper />)
106
+ const { getByRole, queryByRole } = renderWithIntl(
107
+ <FilterBarSelectWrapper />
108
+ )
98
109
  const triggerButton = getByRole("button", { name: "Flavour" })
99
110
 
100
111
  await user.click(triggerButton)
@@ -110,18 +121,20 @@ describe("<FilterBarSelect />", () => {
110
121
  })
111
122
  })
112
123
 
113
- it("shows a selected value when provided", () => {
114
- const { getByRole } = render(
124
+ it("shows a selected value when provided", async () => {
125
+ const { getByRole } = renderWithIntl(
115
126
  <FilterBarSelectWrapper defaultValues={{ flavour: "jasmine-milk-tea" }} />
116
127
  )
117
- const triggerButton = getByRole("button", {
118
- name: "Flavour : Jasmine Milk Tea",
128
+ await waitFor(() => {
129
+ const triggerButton = getByRole("button", {
130
+ name: "Flavour : Jasmine Milk Tea",
131
+ })
132
+ expect(triggerButton).toBeInTheDocument()
119
133
  })
120
- expect(triggerButton).toBeInTheDocument()
121
134
  })
122
135
 
123
136
  it("updates the selected value in the trigger button", async () => {
124
- const { getByRole } = render(
137
+ const { getByRole } = renderWithIntl(
125
138
  <FilterBarSelectWrapper defaultValues={{ flavour: "jasmine-milk-tea" }} />
126
139
  )
127
140
  const triggerButton = getByRole("button", {
@@ -143,8 +156,8 @@ describe("<FilterBarSelect />", () => {
143
156
  })
144
157
 
145
158
  it("allows calling additional functions on selection change", async () => {
146
- const onChange = jest.fn<void, [Key]>()
147
- const { getByRole } = render(
159
+ const onChange = jest.fn()
160
+ const { getByRole } = renderWithIntl(
148
161
  <FilterBarSelectWrapper onSelectionChange={onChange} />
149
162
  )
150
163
  const triggerButton = getByRole("button", { name: "Flavour" })
@@ -195,7 +208,7 @@ describe("<FilterBarSelect />", () => {
195
208
  return <FilterBarSelect id="topping" items={items} />
196
209
  }
197
210
 
198
- const { getByRole, getAllByRole, getByTestId } = render(
211
+ const { getByRole, getAllByRole, getByTestId } = renderWithIntl(
199
212
  <FilterBarSelectWrapper<ValuesDependent>
200
213
  additionalFilters={[
201
214
  {
@@ -1,6 +1,7 @@
1
1
  import React, { useRef } from "react"
2
- import { render, screen } from "@testing-library/react"
2
+ import { screen, waitFor } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
+ import { renderWithIntl } from "~tests"
4
5
  import {
5
6
  FilterButtonRemovable,
6
7
  FilterButtonRemovableProps,
@@ -27,19 +28,18 @@ const FilterButtonRemovableWrapper = ({
27
28
  )
28
29
 
29
30
  describe("<FilterButtonRemovable />", () => {
30
- it("should use fallback label for remove button if not specified", () => {
31
- render(<FilterButtonRemovableWrapper />)
32
- expect(
33
- screen.getByRole("button", { name: "Remove filter - Desserts" })
34
- ).toBeVisible()
31
+ it("should use fallback label for remove button if not specified", async () => {
32
+ renderWithIntl(<FilterButtonRemovableWrapper />)
33
+ await waitFor(() => {
34
+ expect(
35
+ screen.getByRole("button", { name: "Remove filter - Desserts" })
36
+ ).toBeVisible()
37
+ })
35
38
  })
36
39
 
37
40
  describe("Refs", () => {
38
41
  it("correctly passes through both button refs", async () => {
39
- const onClick = jest.fn<
40
- void,
41
- [string | null | undefined, string | null | undefined]
42
- >()
42
+ const onClick = jest.fn()
43
43
 
44
44
  const Wrapper = (): JSX.Element => {
45
45
  const triggerRef = useRef<HTMLButtonElement>(null)
@@ -72,10 +72,10 @@ describe("<FilterButtonRemovable />", () => {
72
72
  )
73
73
  }
74
74
 
75
- render(<Wrapper />)
75
+ renderWithIntl(<Wrapper />)
76
76
 
77
77
  await user.click(screen.getByText("Click me"))
78
- expect(onClick).toBeCalledWith(
78
+ expect(onClick).toHaveBeenCalledWith(
79
79
  "test__trigger-button",
80
80
  "test__remove-button"
81
81
  )
@@ -1,4 +1,5 @@
1
1
  import React, { forwardRef } from "react"
2
+ import { useIntl } from "@cultureamp/i18n-react-intl"
2
3
  import { ButtonGroup, ButtonGroupProps } from "~components/ButtonGroup"
3
4
  import { FilterTriggerRef } from "~components/Filter/Filter"
4
5
  import { ClearIcon } from "~components/Icon"
@@ -25,12 +26,24 @@ export const FilterButtonRemovable = forwardRef<
25
26
  FilterButtonRemovableRefs,
26
27
  FilterButtonRemovableProps
27
28
  >(({ triggerButtonProps, removeButtonProps, ...restProps }, ref) => {
29
+ const { formatMessage } = useIntl()
30
+
31
+ const removeButtonLabelFallback = formatMessage(
32
+ {
33
+ id: "filterButton.removable.removeButtonLabel",
34
+ defaultMessage: "Remove filter - {filterLabel}",
35
+ description: "Button label to remove a single filter from the filter bar",
36
+ },
37
+ {
38
+ filterLabel: triggerButtonProps?.label,
39
+ }
40
+ )
41
+
28
42
  const customRefObject = isRefObject(ref) ? ref.current : null
29
43
  const removeButtonRef = customRefObject?.removeButtonRef
30
44
 
31
45
  const removeButtonLabel =
32
- removeButtonProps?.tooltipText ??
33
- `Remove filter - ${triggerButtonProps?.label}`
46
+ removeButtonProps?.tooltipText ?? removeButtonLabelFallback
34
47
 
35
48
  return (
36
49
  <ButtonGroup {...restProps}>
@@ -9,7 +9,7 @@ import * as FilterButtonRemovableExamples from "./FilterButtonRemovable.stories"
9
9
 
10
10
  <ResourceLinks
11
11
  sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/FilterButton"
12
- className="!mb-8"
12
+
13
13
  />
14
14
 
15
15
  Trigger buttons for use by components using the `<Filter>` abstraction.
@@ -1,6 +1,7 @@
1
1
  import React, { useState } from "react"
2
2
  import { render, screen, waitFor, within } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
+ import { renderWithIntl } from "~tests"
4
5
  import { FilterButton } from "~components/Filter/FilterButton"
5
6
  import { FilterDatePicker, FilterDatePickerProps } from "."
6
7
 
@@ -40,17 +41,20 @@ describe("<FilterDatePicker />", () => {
40
41
  })
41
42
 
42
43
  describe("Filter button", () => {
43
- it("should show the selected date in the button", () => {
44
- render(<FilterDatePickerWrapper selectedDate={new Date("2022-05-01")} />)
45
- const filterButton = screen.getByRole("button", {
46
- name: "Drank : 1 May 2022",
44
+ it("should show the selected date in the button", async () => {
45
+ renderWithIntl(
46
+ <FilterDatePickerWrapper selectedDate={new Date("2022-05-01")} />
47
+ )
48
+ await waitFor(() => {
49
+ const filterButton = screen.getByRole("button", {
50
+ name: "Drank : 1 May 2022",
51
+ })
52
+ expect(filterButton).toBeVisible()
47
53
  })
48
- expect(filterButton).toBeVisible()
49
54
  })
50
55
 
51
56
  it("should show the calendar when the filter button is clicked", async () => {
52
- render(<FilterDatePickerWrapper />)
53
- expect(screen.queryByRole("dialog")).not.toBeInTheDocument()
57
+ renderWithIntl(<FilterDatePickerWrapper />)
54
58
 
55
59
  const filterButton = screen.getByRole("button", {
56
60
  name: "Drank",
@@ -63,7 +67,7 @@ describe("<FilterDatePicker />", () => {
63
67
  })
64
68
 
65
69
  it("closes the popover when a valid date has been submitted via the calendar picker", async () => {
66
- const { getByRole } = render(<FilterDatePickerWrapper />)
70
+ const { getByRole } = renderWithIntl(<FilterDatePickerWrapper />)
67
71
  const triggerButton = getByRole("button", {
68
72
  name: "Drank",
69
73
  })
@@ -86,7 +90,7 @@ describe("<FilterDatePicker />", () => {
86
90
 
87
91
  describe("Text input", () => {
88
92
  it("validates the date on blur", async () => {
89
- const { getByRole, getByLabelText, getByText } = render(
93
+ const { getByRole, getByLabelText, getByText } = renderWithIntl(
90
94
  <FilterDatePickerWrapper />
91
95
  )
92
96
  const triggerButton = getByRole("button", {
@@ -112,7 +116,7 @@ describe("<FilterDatePicker />", () => {
112
116
 
113
117
  describe("Pressing Enter in the text input", () => {
114
118
  it("closes the popover when a valid date has been submitted via the text input field", async () => {
115
- const { getByRole, getByLabelText } = render(
119
+ const { getByRole, getByLabelText } = renderWithIntl(
116
120
  <FilterDatePickerWrapper />
117
121
  )
118
122
  const triggerButton = getByRole("button", {
@@ -137,7 +141,7 @@ describe("<FilterDatePicker />", () => {
137
141
  })
138
142
 
139
143
  it("does not close the popover when an invalid date has been submitted via the text input field", async () => {
140
- const { getByRole, getByLabelText, getByText } = render(
144
+ const { getByRole, getByLabelText, getByText } = renderWithIntl(
141
145
  <FilterDatePickerWrapper />
142
146
  )
143
147
  const triggerButton = getByRole("button", {
@@ -164,9 +168,10 @@ describe("<FilterDatePicker />", () => {
164
168
  })
165
169
 
166
170
  it("does not close the popover when the text input field has been cleared", async () => {
167
- const { getByRole, getByLabelText, getByText, queryByText } = render(
168
- <FilterDatePickerWrapper selectedDate={new Date("32/13/2022")} />
169
- )
171
+ const { getByRole, getByLabelText, getByText, queryByText } =
172
+ renderWithIntl(
173
+ <FilterDatePickerWrapper selectedDate={new Date("32/13/2022")} />
174
+ )
170
175
  const triggerButton = getByRole("button", {
171
176
  name: "Drank : Invalid Date",
172
177
  })
@@ -193,7 +198,7 @@ describe("<FilterDatePicker />", () => {
193
198
  })
194
199
 
195
200
  it("does not close the popover when there is a selected date and the user navigates months", async () => {
196
- const { getByRole } = render(
201
+ const { getByRole } = renderWithIntl(
197
202
  <FilterDatePickerWrapper selectedDate={new Date("01/01/2022")} />
198
203
  )
199
204
  const triggerButton = getByRole("button", {
@@ -219,7 +224,7 @@ describe("<FilterDatePicker />", () => {
219
224
  })
220
225
 
221
226
  it("updates the selected value in the trigger button when typing a date", async () => {
222
- const { getByRole, getByLabelText } = render(
227
+ const { getByRole, getByLabelText } = renderWithIntl(
223
228
  <FilterDatePickerWrapper selectedDate={new Date("06-06-2022")} />
224
229
  )
225
230
  const triggerButton = getByRole("button", {
@@ -10,7 +10,7 @@ import * as FilterDPStories from "./FilterDatePicker.stories"
10
10
  sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/FilterDatePicker"
11
11
  figma="https://www.figma.com/file/ZRfnoNUXbGZv4eVWLbF4Az/%F0%9F%96%BC%EF%B8%8F-Component-Gallery?node-id=2349%3A110993&t=gzsKluk8LiOX3jCF-1"
12
12
  designGuidelines="https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3082093959/Filters"
13
- className="!mb-8"
13
+
14
14
  />
15
15
 
16
16
  Date Picker to use for Filtering by a single date.
@@ -8,7 +8,7 @@ import {
8
8
  StickerSheetStory,
9
9
  } from "~storybook/components/StickerSheet"
10
10
  import { FilterButton } from "../../FilterButton"
11
- import { FilterDatePicker } from "../index"
11
+ import { FilterDatePicker, FilterDatePickerProps } from "../index"
12
12
  import { FilterDatePickerField } from "../subcomponents/FilterDatePickerField"
13
13
 
14
14
  const IS_CHROMATIC = isChromatic()
@@ -130,3 +130,52 @@ export const StickerSheetRTL: StickerSheetStory = {
130
130
  textDirection: "rtl",
131
131
  },
132
132
  }
133
+
134
+ export const StickerSheetLocales: StickerSheetStory = {
135
+ name: "Sticker Sheet (Locales)",
136
+ render: () => {
137
+ const props = {
138
+ isOpen: false,
139
+ setIsOpen: () => undefined,
140
+ renderTrigger: (triggerButtonProps): JSX.Element => (
141
+ <FilterButton {...triggerButtonProps} />
142
+ ),
143
+ label: "Start day",
144
+ selectedDate: new Date("2022-05-01"),
145
+ onDateChange: () => undefined,
146
+ locale: "en-AU",
147
+ } satisfies FilterDatePickerProps
148
+
149
+ return (
150
+ <>
151
+ <StickerSheet heading="Localisation">
152
+ <StickerSheet.Header headings={["en-AU", "en-US"]} />
153
+ <StickerSheet.Body>
154
+ <StickerSheet.Row>
155
+ <FilterDatePicker {...props} locale="en-AU" />
156
+ <FilterDatePicker {...props} locale="en-US" />
157
+ </StickerSheet.Row>
158
+ </StickerSheet.Body>
159
+ </StickerSheet>
160
+
161
+ <StickerSheet>
162
+ <StickerSheet.Header headings={["fr-CA"]} />
163
+ <StickerSheet.Body>
164
+ <StickerSheet.Row>
165
+ <StaticIntlProvider locale="fr-CA">
166
+ <FilterDatePicker {...props} locale="fr-CA" isOpen />
167
+ </StaticIntlProvider>
168
+ </StickerSheet.Row>
169
+ </StickerSheet.Body>
170
+ </StickerSheet>
171
+ </>
172
+ )
173
+ },
174
+ decorators: [
175
+ Story => (
176
+ <div className="mb-[500px]">
177
+ <Story />
178
+ </div>
179
+ ),
180
+ ],
181
+ }
@@ -1,12 +1,12 @@
1
- import { ChangeEvent, FocusEvent, KeyboardEvent, SetStateAction } from "react"
1
+ import { ChangeEvent, FocusEvent, KeyboardEvent } from "react"
2
2
  import { renderHook, act } from "@testing-library/react-hooks"
3
3
  import { enAU } from "date-fns/locale"
4
4
  import * as isSelectingDayInCalendar from "~components/Calendar/utils/isSelectingDayInCalendar"
5
5
  import { useDateInputHandlers } from "./useDateInputHandlers"
6
6
 
7
7
  const locale = enAU
8
- const setInputValue = jest.fn<void, [SetStateAction<string>]>()
9
- const onDateChange = jest.fn<void, [Date | undefined]>()
8
+ const setInputValue = jest.fn()
9
+ const onDateChange = jest.fn()
10
10
 
11
11
  describe("useDateInputHandlers", () => {
12
12
  beforeEach(() => {