reshaped 3.4.5 → 3.4.7

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 (71) hide show
  1. package/CHANGELOG.md +17 -2
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.d.ts +2 -0
  4. package/dist/bundle.js +11 -11
  5. package/dist/components/Autocomplete/Autocomplete.js +25 -8
  6. package/dist/components/Autocomplete/Autocomplete.module.css +1 -0
  7. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +15 -1
  8. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +193 -64
  9. package/dist/components/Avatar/Avatar.js +2 -2
  10. package/dist/components/Avatar/Avatar.types.d.ts +4 -1
  11. package/dist/components/Calendar/Calendar.module.css +1 -1
  12. package/dist/components/Checkbox/Checkbox.js +17 -4
  13. package/dist/components/Checkbox/Checkbox.module.css +1 -1
  14. package/dist/components/Checkbox/Checkbox.types.d.ts +1 -0
  15. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +1 -0
  16. package/dist/components/Checkbox/tests/Checkbox.stories.js +40 -0
  17. package/dist/components/Dismissible/Dismissible.js +1 -0
  18. package/dist/components/DropdownMenu/DropdownMenu.js +2 -2
  19. package/dist/components/FormControl/FormControlLabel.js +2 -7
  20. package/dist/components/Image/Image.js +4 -4
  21. package/dist/components/Image/Image.types.d.ts +4 -1
  22. package/dist/components/NumberField/NumberField.d.ts +6 -0
  23. package/dist/components/NumberField/NumberField.js +11 -0
  24. package/dist/components/NumberField/NumberField.module.css +1 -0
  25. package/dist/components/NumberField/NumberField.types.d.ts +19 -0
  26. package/dist/components/NumberField/NumberField.types.js +1 -0
  27. package/dist/components/NumberField/NumberFieldControlled.d.ts +6 -0
  28. package/dist/components/NumberField/NumberFieldControlled.js +146 -0
  29. package/dist/components/NumberField/NumberFieldUncontrolled.d.ts +6 -0
  30. package/dist/components/NumberField/NumberFieldUncontrolled.js +16 -0
  31. package/dist/components/NumberField/index.d.ts +2 -0
  32. package/dist/components/NumberField/index.js +1 -0
  33. package/dist/components/NumberField/tests/NumberField.stories.d.ts +29 -0
  34. package/dist/components/NumberField/tests/NumberField.stories.js +215 -0
  35. package/dist/components/PinField/PinField.module.css +1 -1
  36. package/dist/components/PinField/PinField.types.d.ts +1 -1
  37. package/dist/components/PinField/PinFieldControlled.js +1 -0
  38. package/dist/components/PinField/tests/PinField.stories.js +8 -0
  39. package/dist/components/Radio/Radio.js +11 -4
  40. package/dist/components/Radio/Radio.module.css +1 -1
  41. package/dist/components/Radio/Radio.types.d.ts +1 -0
  42. package/dist/components/Radio/tests/Radio.stories.d.ts +1 -0
  43. package/dist/components/Radio/tests/Radio.stories.js +31 -0
  44. package/dist/components/Select/Select.module.css +1 -1
  45. package/dist/components/Select/Select.types.d.ts +1 -1
  46. package/dist/components/Select/tests/Select.stories.js +42 -16
  47. package/dist/components/Switch/Switch.js +10 -4
  48. package/dist/components/Switch/Switch.module.css +1 -1
  49. package/dist/components/Switch/Switch.types.d.ts +1 -1
  50. package/dist/components/Switch/tests/Switch.stories.js +30 -15
  51. package/dist/components/TextField/TextField.js +1 -1
  52. package/dist/components/TextField/TextField.module.css +1 -1
  53. package/dist/components/TextField/TextField.types.d.ts +2 -2
  54. package/dist/components/TextField/index.d.ts +1 -1
  55. package/dist/components/TextField/tests/TextField.stories.js +4 -0
  56. package/dist/hooks/tests/useScrollLock.stories.d.ts +1 -0
  57. package/dist/hooks/tests/useScrollLock.stories.js +29 -0
  58. package/dist/icons/ChevronUp.d.ts +2 -0
  59. package/dist/icons/ChevronUp.js +5 -0
  60. package/dist/icons/Minus.d.ts +2 -0
  61. package/dist/icons/Minus.js +3 -0
  62. package/dist/icons/Plus.d.ts +2 -2
  63. package/dist/icons/Plus.js +2 -2
  64. package/dist/index.d.ts +2 -0
  65. package/dist/index.js +1 -0
  66. package/dist/utilities/scroll/lock.js +15 -7
  67. package/dist/utilities/scroll/lockStandard.d.ts +1 -2
  68. package/dist/utilities/scroll/lockStandard.js +2 -9
  69. package/package.json +1 -1
  70. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.d.ts +0 -27
  71. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.js +0 -86
@@ -1,86 +0,0 @@
1
- import React from "react";
2
- import { expect, waitFor, within, fn } from "@storybook/test";
3
- import { Example } from "../../../utilities/storybook/index.js";
4
- import Autocomplete from "../index.js";
5
- import FormControl from "../../FormControl/index.js";
6
- import { sleep } from "../../../utilities/helpers.js";
7
- import userEvent from "@testing-library/user-event";
8
- export default {
9
- title: "Components/Autocomplete/tests",
10
- component: Autocomplete,
11
- parameters: {
12
- iframe: {
13
- url: "https://reshaped.so/docs/components/autocomplete",
14
- },
15
- chromatic: { disableSnapshot: true },
16
- },
17
- };
18
- export const base = {
19
- name: "base",
20
- args: {
21
- handleBackspace: fn(),
22
- handleItemSelect: fn(),
23
- },
24
- render: (args) => {
25
- const [value, setValue] = React.useState("");
26
- return (<Example>
27
- <Example.Item title="Base">
28
- <FormControl>
29
- <FormControl.Label>Food</FormControl.Label>
30
- <Autocomplete name="fruit" placeholder="Pick your food" value={value} onChange={(args) => setValue(args.value)} onBackspace={args.handleBackspace} onItemSelect={args.handleItemSelect}>
31
- {["Pizza", "Pie", "Ice-cream"].map((v, i) => {
32
- return (<Autocomplete.Item key={v} value={v} data={i === 0 ? { foo: "bar" } : undefined}>
33
- {v}
34
- </Autocomplete.Item>);
35
- })}
36
- </Autocomplete>
37
- </FormControl>
38
- </Example.Item>
39
- </Example>);
40
- },
41
- play: async ({ canvasElement, args }) => {
42
- const canvas = within(canvasElement.ownerDocument.body);
43
- const input = canvas.getByRole("combobox");
44
- // Reset the focus
45
- document.body.focus();
46
- // Test keyboard selection after focusing the input
47
- input.focus();
48
- let options = [];
49
- await waitFor(() => {
50
- options = canvas.getAllByRole("option");
51
- });
52
- expect(options).toHaveLength(3);
53
- await waitFor(() => {
54
- expect(options[0]).toHaveAttribute("data-rs-focus");
55
- });
56
- expect(options[1]).not.toHaveAttribute("data-rs-focus");
57
- await userEvent.keyboard("{ArrowDown/}");
58
- await userEvent.keyboard("{Enter/}");
59
- expect(input).toHaveValue("Pie");
60
- expect(args.handleItemSelect).toHaveBeenCalledTimes(1);
61
- expect(args.handleItemSelect).toHaveBeenCalledWith({
62
- value: "Pie",
63
- data: undefined,
64
- });
65
- // Give browser time to focus on the input
66
- await sleep(100);
67
- // Test click selection after opening with down arrow
68
- await userEvent.keyboard("{ArrowDown/}");
69
- await waitFor(() => {
70
- options = canvas.getAllByRole("option");
71
- });
72
- await userEvent.click(options[0]);
73
- expect(input).toHaveValue("Pizza");
74
- expect(args.handleItemSelect).toHaveBeenCalledTimes(2);
75
- expect(args.handleItemSelect).toHaveBeenCalledWith({
76
- value: "Pizza",
77
- data: { foo: "bar" },
78
- });
79
- input.focus();
80
- await userEvent.keyboard("{Backspace/}");
81
- await waitFor(() => {
82
- expect(args.handleBackspace).toHaveBeenCalledTimes(1);
83
- expect(args.handleBackspace).toHaveBeenCalledWith();
84
- });
85
- },
86
- };