reshaped 3.8.0-canary.7 → 3.8.0-canary.9

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 (214) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.js +9 -9
  4. package/dist/components/Accordion/AccordionControlled.js +1 -0
  5. package/dist/components/Actionable/Actionable.js +1 -0
  6. package/dist/components/Actionable/Actionable.module.css +1 -1
  7. package/dist/components/Alert/tests/Alert.stories.d.ts +6 -5
  8. package/dist/components/Alert/tests/Alert.stories.js +15 -2
  9. package/dist/components/Badge/Badge.module.css +1 -1
  10. package/dist/components/Badge/tests/Badge.stories.d.ts +5 -0
  11. package/dist/components/Badge/tests/Badge.stories.js +34 -0
  12. package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -0
  13. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +8 -4
  14. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +57 -1
  15. package/dist/components/Button/tests/Button.stories.d.ts +54 -12
  16. package/dist/components/Button/tests/Button.stories.js +725 -588
  17. package/dist/components/Calendar/CalendarMonth.js +1 -0
  18. package/dist/components/Card/Card.module.css +1 -1
  19. package/dist/components/Card/tests/Card.stories.d.ts +28 -6
  20. package/dist/components/Card/tests/Card.stories.js +110 -65
  21. package/dist/components/Carousel/Carousel.js +1 -0
  22. package/dist/components/Carousel/Carousel.module.css +1 -1
  23. package/dist/components/Checkbox/Checkbox.module.css +1 -1
  24. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +20 -4
  25. package/dist/components/Checkbox/tests/Checkbox.stories.js +150 -79
  26. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +9 -2
  27. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +67 -35
  28. package/dist/components/Container/tests/Container.stories.d.ts +2 -0
  29. package/dist/components/Container/tests/Container.stories.js +14 -0
  30. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +10 -1
  31. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +57 -13
  32. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +5 -0
  33. package/dist/components/Dismissible/tests/Dismissible.stories.js +30 -1
  34. package/dist/components/Divider/tests/Divider.stories.d.ts +8 -3
  35. package/dist/components/Divider/tests/Divider.stories.js +71 -41
  36. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +35 -6
  37. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +222 -115
  38. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +0 -15
  39. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +0 -106
  40. package/dist/components/FileUpload/FileUpload.module.css +1 -1
  41. package/dist/components/Flyout/Flyout.module.css +1 -1
  42. package/dist/components/Flyout/FlyoutContent.js +3 -0
  43. package/dist/components/Flyout/FlyoutControlled.js +6 -1
  44. package/dist/components/Flyout/utilities/flyout.js +0 -1
  45. package/dist/components/FormControl/FormControl.context.d.ts +1 -1
  46. package/dist/components/FormControl/tests/FormControl.stories.d.ts +2 -0
  47. package/dist/components/FormControl/tests/FormControl.stories.js +35 -0
  48. package/dist/components/Hidden/tests/Hidden.stories.d.ts +2 -0
  49. package/dist/components/Hidden/tests/Hidden.stories.js +9 -0
  50. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +2 -0
  51. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +9 -0
  52. package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +2 -0
  53. package/dist/components/Hotkey/tests/Hotkey.stories.js +15 -0
  54. package/dist/components/Icon/tests/Icon.stories.d.ts +3 -0
  55. package/dist/components/Icon/tests/Icon.stories.js +23 -0
  56. package/dist/components/Link/tests/Link.stories.d.ts +28 -5
  57. package/dist/components/Link/tests/Link.stories.js +141 -58
  58. package/dist/components/Link/tests/Link.test.stories.d.ts +0 -13
  59. package/dist/components/Link/tests/Link.test.stories.js +0 -85
  60. package/dist/components/Loader/tests/Loader.stories.d.ts +11 -2
  61. package/dist/components/Loader/tests/Loader.stories.js +52 -25
  62. package/dist/components/Loader/tests/Loader.test.stories.d.ts +0 -3
  63. package/dist/components/Loader/tests/Loader.test.stories.js +0 -21
  64. package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +37 -7
  65. package/dist/components/MenuItem/tests/MenuItem.stories.js +218 -112
  66. package/dist/components/Modal/Modal.js +1 -1
  67. package/dist/components/Modal/Modal.module.css +1 -1
  68. package/dist/components/Modal/tests/Modal.stories.d.ts +53 -10
  69. package/dist/components/Modal/tests/Modal.stories.js +366 -214
  70. package/dist/components/Overlay/Overlay.js +1 -0
  71. package/dist/components/Overlay/tests/Overlay.stories.d.ts +15 -1
  72. package/dist/components/Overlay/tests/Overlay.stories.js +135 -1
  73. package/dist/components/Pagination/tests/Pagination.stories.d.ts +14 -1
  74. package/dist/components/Pagination/tests/Pagination.stories.js +93 -15
  75. package/dist/components/PinField/tests/PinField.stories.d.ts +1 -1
  76. package/dist/components/PinField/tests/PinField.stories.js +1 -1
  77. package/dist/components/Popover/Popover.module.css +1 -1
  78. package/dist/components/Progress/tests/Progress.stories.d.ts +19 -4
  79. package/dist/components/Progress/tests/Progress.stories.js +85 -49
  80. package/dist/components/Radio/Radio.module.css +1 -1
  81. package/dist/components/Radio/tests/Radio.stories.d.ts +25 -4
  82. package/dist/components/Radio/tests/Radio.stories.js +147 -65
  83. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +9 -2
  84. package/dist/components/RadioGroup/tests/RadioGroup.stories.js +64 -38
  85. package/dist/components/Reshaped/Reshaped.css +1 -1
  86. package/dist/components/Scrim/tests/Scrim.stories.d.ts +10 -2
  87. package/dist/components/Scrim/tests/Scrim.stories.js +51 -31
  88. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  89. package/dist/components/Select/Select.module.css +1 -1
  90. package/dist/components/Select/Select.types.d.ts +38 -11
  91. package/dist/components/Select/SelectCustom.js +2 -1
  92. package/dist/components/Select/SelectCustomControlled.js +24 -9
  93. package/dist/components/Select/SelectCustomUncontrolled.js +10 -7
  94. package/dist/components/Select/SelectTrigger.js +1 -1
  95. package/dist/components/Select/tests/Select.stories.d.ts +3 -0
  96. package/dist/components/Select/tests/Select.stories.js +91 -34
  97. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +10 -2
  98. package/dist/components/Skeleton/tests/Skeleton.stories.js +46 -28
  99. package/dist/components/Slider/Slider.module.css +1 -1
  100. package/dist/components/Stepper/tests/Stepper.stories.d.ts +18 -4
  101. package/dist/components/Stepper/tests/Stepper.stories.js +99 -70
  102. package/dist/components/Switch/Switch.module.css +1 -1
  103. package/dist/components/Switch/tests/Switch.stories.d.ts +10 -2
  104. package/dist/components/Switch/tests/Switch.stories.js +77 -23
  105. package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -10
  106. package/dist/components/Switch/tests/Switch.test.stories.js +0 -68
  107. package/dist/components/Table/Table.module.css +1 -1
  108. package/dist/components/Table/tests/Table.stories.d.ts +25 -5
  109. package/dist/components/Table/tests/Table.stories.js +274 -177
  110. package/dist/components/Table/tests/Table.test.stories.d.ts +0 -5
  111. package/dist/components/Table/tests/Table.test.stories.js +0 -82
  112. package/dist/components/Tabs/Tabs.module.css +1 -1
  113. package/dist/components/Tabs/TabsControlled.js +1 -0
  114. package/dist/components/TextArea/TextArea.module.css +1 -1
  115. package/dist/components/TextArea/tests/TextArea.stories.d.ts +41 -9
  116. package/dist/components/TextArea/tests/TextArea.stories.js +179 -93
  117. package/dist/components/TextField/TextField.js +1 -1
  118. package/dist/components/TextField/TextField.module.css +1 -1
  119. package/dist/components/TextField/tests/TextField.stories.d.ts +41 -11
  120. package/dist/components/TextField/tests/TextField.stories.js +206 -132
  121. package/dist/components/TextField/tests/TextField.test.stories.d.ts +0 -13
  122. package/dist/components/TextField/tests/TextField.test.stories.js +0 -88
  123. package/dist/components/Theme/Theme.module.css +1 -1
  124. package/dist/components/Timeline/tests/Timeline.stories.d.ts +10 -2
  125. package/dist/components/Timeline/tests/Timeline.stories.js +69 -42
  126. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +0 -2
  127. package/dist/components/Timeline/tests/Timeline.test.stories.js +0 -21
  128. package/dist/components/Toast/ToastContainer.js +1 -0
  129. package/dist/components/Toast/ToastRegion.js +1 -0
  130. package/dist/components/Toast/tests/Toast.stories.d.ts +32 -8
  131. package/dist/components/Toast/tests/Toast.stories.js +111 -37
  132. package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +1 -0
  133. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +18 -4
  134. package/dist/components/Tooltip/tests/Tooltip.stories.js +139 -107
  135. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +0 -6
  136. package/dist/components/Tooltip/tests/Tooltip.test.stories.js +0 -29
  137. package/dist/components/View/View.js +1 -0
  138. package/dist/components/View/tests/View.stories.d.ts +4 -0
  139. package/dist/components/View/tests/View.stories.js +39 -0
  140. package/dist/components/_private/Expandable/Expandable.js +3 -1
  141. package/dist/components/_private/Portal/Portal.js +4 -1
  142. package/dist/hooks/_private/usePrevious.js +1 -0
  143. package/dist/hooks/tests/useDrag.stories.js +1 -1
  144. package/dist/styles/resolvers/align/align.css +1 -1
  145. package/dist/styles/resolvers/aspectRatio/aspectRatio.css +1 -1
  146. package/dist/styles/resolvers/bleed/bleed.module.css +1 -1
  147. package/dist/styles/resolvers/justify/justify.css +1 -1
  148. package/dist/styles/resolvers/maxHeight/maxHeight.module.css +1 -1
  149. package/dist/styles/resolvers/maxWidth/maxWidth.module.css +1 -1
  150. package/dist/styles/resolvers/minHeight/minHeight.module.css +1 -1
  151. package/dist/styles/resolvers/minWidth/minWidth.module.css +1 -1
  152. package/dist/styles/resolvers/position/position.css +1 -1
  153. package/dist/styles/resolvers/textAlign/textAlign.css +1 -1
  154. package/dist/styles/resolvers/width/width.module.css +1 -1
  155. package/dist/utilities/scroll/disable.js +2 -2
  156. package/package.json +21 -21
  157. package/dist/components/Alert/tests/Alert.test.stories.d.ts +0 -15
  158. package/dist/components/Alert/tests/Alert.test.stories.js +0 -26
  159. package/dist/components/Badge/tests/Badge.test.stories.d.ts +0 -20
  160. package/dist/components/Badge/tests/Badge.test.stories.js +0 -46
  161. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +0 -23
  162. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +0 -76
  163. package/dist/components/Button/tests/Button.test.stories.d.ts +0 -28
  164. package/dist/components/Button/tests/Button.test.stories.js +0 -135
  165. package/dist/components/Card/tests/Card.test.stories.d.ts +0 -35
  166. package/dist/components/Card/tests/Card.test.stories.js +0 -54
  167. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +0 -25
  168. package/dist/components/Checkbox/tests/Checkbox.test.stories.js +0 -104
  169. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +0 -22
  170. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +0 -78
  171. package/dist/components/Container/tests/Container.test.stories.d.ts +0 -15
  172. package/dist/components/Container/tests/Container.test.stories.js +0 -26
  173. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +0 -25
  174. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +0 -53
  175. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +0 -19
  176. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +0 -42
  177. package/dist/components/Divider/tests/Divider.test.stories.d.ts +0 -18
  178. package/dist/components/Divider/tests/Divider.test.stories.js +0 -47
  179. package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +0 -20
  180. package/dist/components/FormControl/tests/FormControl.test.stories.js +0 -49
  181. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +0 -15
  182. package/dist/components/Hidden/tests/Hidden.test.stories.js +0 -20
  183. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +0 -15
  184. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +0 -20
  185. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +0 -15
  186. package/dist/components/Hotkey/tests/Hotkey.test.stories.js +0 -26
  187. package/dist/components/Icon/tests/Icon.test.stories.d.ts +0 -16
  188. package/dist/components/Icon/tests/Icon.test.stories.js +0 -35
  189. package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +0 -27
  190. package/dist/components/MenuItem/tests/MenuItem.test.stories.js +0 -116
  191. package/dist/components/Modal/tests/Modal.test.stories.d.ts +0 -31
  192. package/dist/components/Modal/tests/Modal.test.stories.js +0 -149
  193. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +0 -28
  194. package/dist/components/Overlay/tests/Overlay.test.stories.js +0 -148
  195. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +0 -23
  196. package/dist/components/Pagination/tests/Pagination.test.stories.js +0 -86
  197. package/dist/components/Progress/tests/Progress.test.stories.d.ts +0 -16
  198. package/dist/components/Progress/tests/Progress.test.stories.js +0 -35
  199. package/dist/components/Radio/tests/Radio.test.stories.d.ts +0 -30
  200. package/dist/components/Radio/tests/Radio.test.stories.js +0 -118
  201. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +0 -22
  202. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +0 -78
  203. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +0 -15
  204. package/dist/components/Scrim/tests/Scrim.test.stories.js +0 -25
  205. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +0 -15
  206. package/dist/components/Skeleton/tests/Skeleton.test.stories.js +0 -23
  207. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +0 -20
  208. package/dist/components/Stepper/tests/Stepper.test.stories.js +0 -28
  209. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +0 -28
  210. package/dist/components/TextArea/tests/TextArea.test.stories.js +0 -99
  211. package/dist/components/Toast/tests/Toast.test.stories.d.ts +0 -16
  212. package/dist/components/Toast/tests/Toast.test.stories.js +0 -101
  213. package/dist/components/View/tests/View.test.stories.d.ts +0 -24
  214. package/dist/components/View/tests/View.test.stories.js +0 -50
@@ -1,18 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").DividerProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const horizontal: StoryObj;
16
- export declare const vertical: StoryObj;
17
- export declare const responsive: StoryObj;
18
- export declare const className: StoryObj;
@@ -1,47 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Divider from "../index.js";
3
- export default {
4
- title: "Components/Divider/tests",
5
- component: Divider,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/components/divider",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const horizontal = {
14
- name: "orientation, horizontal",
15
- render: () => <Divider />,
16
- play: async ({ canvas }) => {
17
- const el = canvas.getByRole("separator");
18
- expect(el).toHaveAttribute("aria-orientation", "horizontal");
19
- },
20
- };
21
- export const vertical = {
22
- name: "orientation, vertical",
23
- render: () => <Divider vertical/>,
24
- play: async ({ canvas }) => {
25
- const el = canvas.getByRole("separator");
26
- expect(el).toHaveAttribute("aria-orientation", "vertical");
27
- },
28
- };
29
- export const responsive = {
30
- name: "orientation, responsive",
31
- render: () => <Divider vertical={{ s: true, l: false }}/>,
32
- play: async ({ canvas }) => {
33
- const el = canvas.getByRole("separator");
34
- expect(el).not.toHaveAttribute("aria-orientation");
35
- },
36
- };
37
- export const className = {
38
- name: "className, attributes",
39
- render: () => (<div data-testid="root">
40
- <Divider className="test-classname" attributes={{ id: "test-id" }}/>
41
- </div>),
42
- play: async ({ canvas }) => {
43
- const root = canvas.getByTestId("root").firstChild;
44
- expect(root).toHaveClass("test-classname");
45
- expect(root).toHaveAttribute("id", "test-id");
46
- },
47
- };
@@ -1,20 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").FormControlProps> & {
5
- Label: import("react").FC<import("../FormControl.types").LabelProps>;
6
- Helper: import("react").FC<import("../FormControl.types").CaptionProps>;
7
- Error: import("react").FC<import("../FormControl.types").CaptionProps>;
8
- };
9
- parameters: {
10
- iframe: {
11
- url: string;
12
- };
13
- chromatic: {
14
- disableSnapshot: boolean;
15
- };
16
- };
17
- };
18
- export default _default;
19
- export declare const className: StoryObj;
20
- export declare const group: StoryObj;
@@ -1,49 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import FormControl from "../index.js";
3
- import Radio from "../../Radio/index.js";
4
- import RadioGroup from "../../RadioGroup/index.js";
5
- import TextField from "../../TextField/index.js";
6
- import View from "../../View/index.js";
7
- export default {
8
- title: "Utility components/FormControl/tests",
9
- component: FormControl,
10
- parameters: {
11
- iframe: {
12
- url: "https://reshaped.so/docs/utilities/form-control",
13
- },
14
- chromatic: { disableSnapshot: true },
15
- },
16
- };
17
- export const className = {
18
- name: "id",
19
- render: () => (<FormControl id="test-id" hasError>
20
- <FormControl.Label>Label</FormControl.Label>
21
- <TextField name="name"/>
22
- <FormControl.Helper>Caption</FormControl.Helper>
23
- <FormControl.Error>Error</FormControl.Error>
24
- </FormControl>),
25
- play: async ({ canvas }) => {
26
- const input = canvas.getByRole("textbox");
27
- const label = canvas.getByText("Label");
28
- expect(input).toHaveAttribute("id", "test-id");
29
- expect(input).toHaveAttribute("aria-describedby", `test-id-caption test-id-error`);
30
- expect(label).toHaveAttribute("for", "test-id");
31
- expect(label).toHaveAttribute("id", `test-id-label`);
32
- },
33
- };
34
- export const group = {
35
- name: "group",
36
- render: () => (<FormControl group>
37
- <FormControl.Label>Label</FormControl.Label>
38
- <RadioGroup name="name">
39
- <View gap={2}>
40
- <Radio value="1">One</Radio>
41
- <Radio value="2">Two</Radio>
42
- </View>
43
- </RadioGroup>
44
- </FormControl>),
45
- play: async ({ canvas }) => {
46
- const group = canvas.getByRole("group");
47
- expect(group).toBeInTheDocument();
48
- },
49
- };
@@ -1,15 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").HiddenProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const as: StoryObj;
@@ -1,20 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Hidden from "../index.js";
3
- export default {
4
- title: "Utility components/Hidden/tests",
5
- component: Hidden,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/utilities/hidden",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const as = {
14
- name: "as",
15
- render: () => <Hidden as="span">Content</Hidden>,
16
- play: ({ canvas }) => {
17
- const el = canvas.getByText("Content");
18
- expect(el.tagName).toEqual("SPAN");
19
- },
20
- };
@@ -1,15 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").HiddenVisuallyProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const children: StoryObj;
@@ -1,20 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import HiddenVisually from "../index.js";
3
- export default {
4
- title: "Utility components/HiddenVisually/tests",
5
- component: HiddenVisually,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/utilities/hidden-visually",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const children = {
14
- name: "children",
15
- render: () => <HiddenVisually>Content</HiddenVisually>,
16
- play: ({ canvas }) => {
17
- const el = canvas.getByText("Content");
18
- expect(el).toBeInTheDocument();
19
- },
20
- };
@@ -1,15 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("..").HotkeyProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const className: StoryObj;
@@ -1,26 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Hotkey from "../Hotkey.js";
3
- export default {
4
- title: "Components/Hotkey/tests",
5
- component: Hotkey,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/components/hotkey",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const className = {
14
- name: "className, attributes",
15
- render: () => (<div data-testid="root">
16
- <Hotkey className="test-classname" attributes={{ id: "test-id" }}>
17
- ⌘K
18
- </Hotkey>
19
- </div>),
20
- play: async ({ canvas }) => {
21
- const root = canvas.getByTestId("root").firstChild;
22
- expect(root).toHaveClass("test-classname");
23
- expect(root).toHaveAttribute("id", "test-id");
24
- expect(root?.tagName).toBe("KBD");
25
- },
26
- };
@@ -1,16 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").IconProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const render: StoryObj;
16
- export declare const className: StoryObj;
@@ -1,35 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Icon from "../index.js";
3
- import IconZap from "../../../icons/Zap.js";
4
- export default {
5
- title: "Utility components/Icon/tests",
6
- component: Icon,
7
- parameters: {
8
- iframe: {
9
- url: "https://reshaped.so/docs/utilities/icon",
10
- },
11
- chromatic: { disableSnapshot: true },
12
- },
13
- };
14
- export const render = {
15
- name: "render, hidden from sr",
16
- render: () => (<div data-testid="root">
17
- <Icon svg={IconZap}/>
18
- </div>),
19
- play: ({ canvas }) => {
20
- const root = canvas.getByTestId("root").firstChild;
21
- expect(root).toBeInTheDocument();
22
- expect(root).toHaveAttribute("aria-hidden");
23
- },
24
- };
25
- export const className = {
26
- name: "className, attributes",
27
- render: () => (<div data-testid="root">
28
- <Icon svg={IconZap} className="test-classname" attributes={{ id: "test-id" }}/>
29
- </div>),
30
- play: async ({ canvas }) => {
31
- const root = canvas.getByTestId("root").firstChild;
32
- expect(root).toHaveClass("test-classname");
33
- expect(root).toHaveAttribute("id", "test-id");
34
- },
35
- };
@@ -1,27 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- import { fn } from "storybook/test";
3
- declare const _default: {
4
- title: string;
5
- component: import("../MenuItem.types").Export;
6
- parameters: {
7
- iframe: {
8
- url: string;
9
- };
10
- chromatic: {
11
- disableSnapshot: boolean;
12
- };
13
- };
14
- };
15
- export default _default;
16
- export declare const children: StoryObj;
17
- export declare const href: StoryObj;
18
- export declare const onClick: StoryObj<{
19
- handleClick: ReturnType<typeof fn>;
20
- }>;
21
- export declare const hrefOnClick: StoryObj<{
22
- handleClick: ReturnType<typeof fn>;
23
- }>;
24
- export declare const disabled: StoryObj;
25
- export declare const as: StoryObj;
26
- export declare const className: StoryObj;
27
- export declare const alignerClassName: StoryObj;
@@ -1,116 +0,0 @@
1
- import { userEvent, expect, fn } from "storybook/test";
2
- import MenuItem from "../index.js";
3
- import Example from "../../../utilities/storybook/Example.js";
4
- export default {
5
- title: "Components/MenuItem/tests",
6
- component: MenuItem,
7
- parameters: {
8
- iframe: {
9
- url: "https://reshaped.so/docs/components/menu-item",
10
- },
11
- chromatic: { disableSnapshot: true },
12
- },
13
- };
14
- export const children = {
15
- name: "children",
16
- render: () => <MenuItem>Trigger</MenuItem>,
17
- play: async ({ canvas }) => {
18
- const el = canvas.getByText("Trigger");
19
- expect(el).toBeInTheDocument();
20
- expect(el.tagName).toBe("DIV");
21
- },
22
- };
23
- export const href = {
24
- name: "href",
25
- render: () => <MenuItem href="https://reshaped.so">Trigger</MenuItem>,
26
- play: async ({ canvas }) => {
27
- const el = canvas.getByRole("link");
28
- expect(el).toHaveAttribute("href", "https://reshaped.so");
29
- },
30
- };
31
- export const onClick = {
32
- name: "onClick",
33
- args: {
34
- handleClick: fn(),
35
- },
36
- render: (args) => <MenuItem onClick={args.handleClick}>Trigger</MenuItem>,
37
- play: async ({ canvas, args }) => {
38
- const { handleClick } = args;
39
- const el = canvas.getAllByRole("button")[0];
40
- await userEvent.click(el);
41
- expect(el).toHaveAttribute("type", "button");
42
- expect(handleClick).toHaveBeenCalledTimes(1);
43
- expect(handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: el }));
44
- },
45
- };
46
- export const hrefOnClick = {
47
- name: "href + onClick",
48
- args: {
49
- handleClick: fn(),
50
- },
51
- render: (args) => (<MenuItem onClick={(e) => {
52
- e.preventDefault();
53
- args.handleClick(e);
54
- }} href="https://reshaped.so">
55
- Trigger
56
- </MenuItem>),
57
- play: async ({ canvas, args }) => {
58
- const { handleClick } = args;
59
- const el = canvas.getByRole("link");
60
- await userEvent.click(el);
61
- expect(el).toHaveAttribute("href", "https://reshaped.so");
62
- expect(handleClick).toHaveBeenCalledTimes(1);
63
- expect(handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: el }));
64
- },
65
- };
66
- export const disabled = {
67
- name: "disabled",
68
- render: () => (<MenuItem disabled onClick={() => { }}>
69
- Trigger
70
- </MenuItem>),
71
- play: async ({ canvas }) => {
72
- const el = canvas.getAllByRole("button")[0];
73
- expect(el).toBeDisabled();
74
- },
75
- };
76
- export const as = {
77
- name: "as, render",
78
- render: () => (<Example>
79
- <Example.Item title="render, disabled">
80
- <MenuItem disabled onClick={() => { }} render={(props) => <section {...props}/>} attributes={{ "data-testid": "render-el" }}>
81
- Trigger
82
- </MenuItem>
83
- </Example.Item>
84
- </Example>),
85
- play: ({ canvas }) => {
86
- const renderEl = canvas.getByTestId("render-el");
87
- expect(renderEl.tagName).toBe("SECTION");
88
- expect(renderEl).toHaveAttribute("aria-disabled", "true");
89
- },
90
- };
91
- export const className = {
92
- name: "className, attributes",
93
- render: () => (<div data-testid="root">
94
- <MenuItem className="test-classname" attributes={{ id: "test-id" }}>
95
- Trigger
96
- </MenuItem>
97
- </div>),
98
- play: async ({ canvas }) => {
99
- const root = canvas.getByTestId("root").firstChild;
100
- expect(root).toHaveClass("test-classname");
101
- expect(root).toHaveAttribute("id", "test-id");
102
- },
103
- };
104
- export const alignerClassName = {
105
- name: "aligner, className, attributes",
106
- render: () => (<div data-testid="root">
107
- <MenuItem.Aligner className="test-classname" attributes={{ id: "test-id" }}>
108
- <MenuItem>Trigger</MenuItem>
109
- </MenuItem.Aligner>
110
- </div>),
111
- play: async ({ canvas }) => {
112
- const root = canvas.getByTestId("root").firstChild;
113
- expect(root).toHaveClass("test-classname");
114
- expect(root).toHaveAttribute("id", "test-id");
115
- },
116
- };
@@ -1,31 +0,0 @@
1
- import React from "react";
2
- import { StoryObj } from "@storybook/react-vite";
3
- import { fn } from "storybook/test";
4
- declare const _default: {
5
- title: string;
6
- component: React.FC<import("./..").ModalProps> & {
7
- Title: React.FC<import("../Modal.types").TitleProps>;
8
- Subtitle: React.FC<import("../Modal.types").SubtitleProps>;
9
- };
10
- parameters: {
11
- iframe: {
12
- url: string;
13
- };
14
- chromatic: {
15
- disableSnapshot: boolean;
16
- };
17
- };
18
- };
19
- export default _default;
20
- export declare const renderProps: StoryObj;
21
- export declare const handlers: StoryObj<{
22
- handleOpen: ReturnType<typeof fn>;
23
- handleAfterOpen: ReturnType<typeof fn>;
24
- handleClose: ReturnType<typeof fn>;
25
- handleAfterClose: ReturnType<typeof fn>;
26
- }>;
27
- export declare const disableCloseOnClick: StoryObj<{
28
- handleClose: ReturnType<typeof fn>;
29
- }>;
30
- export declare const containerRef: StoryObj;
31
- export declare const className: StoryObj;
@@ -1,149 +0,0 @@
1
- import React from "react";
2
- import { within, expect, fn, userEvent, waitFor } from "storybook/test";
3
- import Button from "../../Button/index.js";
4
- import Modal from "../index.js";
5
- import useToggle from "../../../hooks/useToggle.js";
6
- import { sleep } from "../../../utilities/helpers.js";
7
- export default {
8
- title: "Components/Modal/tests",
9
- component: Modal,
10
- parameters: {
11
- iframe: {
12
- url: "https://reshaped.so/docs/components/modal",
13
- },
14
- chromatic: { disableSnapshot: true },
15
- },
16
- };
17
- export const renderProps = {
18
- name: "children, render props",
19
- render: () => (<Modal active className="test-classname" attributes={{ "data-testid": "test-id" }}>
20
- <Modal.Title>Title</Modal.Title>
21
- Content
22
- </Modal>),
23
- play: async ({ canvasElement }) => {
24
- const canvas = within(canvasElement.ownerDocument.body);
25
- const root = canvas.getByText("Content");
26
- expect(root).toBeInTheDocument();
27
- },
28
- };
29
- export const handlers = {
30
- name: "onOpen, onClose, onAfterOpen, onAfterClose",
31
- args: {
32
- handleOpen: fn(),
33
- handleClose: fn(),
34
- handleAfterClose: fn(),
35
- handleAfterOpen: fn(),
36
- },
37
- render: (args) => {
38
- const overlayToggle = useToggle();
39
- return (<>
40
- <Button onClick={() => overlayToggle.toggle()}>Open overlay</Button>
41
- <Modal active={overlayToggle.active} onClose={(closeArgs) => {
42
- overlayToggle.deactivate();
43
- args.handleClose(closeArgs);
44
- }} onOpen={args.handleOpen} onAfterOpen={args.handleAfterOpen} onAfterClose={args.handleAfterClose}>
45
- <Modal.Title>Title</Modal.Title>
46
- Content
47
- </Modal>
48
- </>);
49
- },
50
- play: async ({ canvasElement, args }) => {
51
- const canvas = within(canvasElement.ownerDocument.body);
52
- const trigger = canvas.getAllByRole("button")[0];
53
- let overlay;
54
- await userEvent.click(trigger);
55
- overlay = canvas.getByText("Content");
56
- await waitFor(() => {
57
- expect(args.handleOpen).toHaveBeenCalledTimes(1);
58
- expect(args.handleOpen).toHaveBeenCalledWith();
59
- });
60
- // Wait for transition
61
- await waitFor(() => {
62
- expect(args.handleAfterOpen).toHaveBeenCalledTimes(1);
63
- expect(args.handleAfterOpen).toHaveBeenCalledWith();
64
- });
65
- // Close by changing the state after the trigger click
66
- await userEvent.click(trigger);
67
- // Wait for transition
68
- await waitFor(() => {
69
- // Changing state doesn't trigger onClose
70
- expect(args.handleClose).toHaveBeenCalledTimes(0);
71
- expect(args.handleAfterClose).toHaveBeenCalledTimes(1);
72
- expect(args.handleAfterClose).toHaveBeenCalledWith();
73
- });
74
- // Open
75
- await userEvent.click(trigger);
76
- await sleep(100);
77
- overlay = canvas.getAllByRole("button", { hidden: true }).at(-1);
78
- // Close by clicking on the overlay
79
- await userEvent.click(overlay);
80
- await waitFor(() => {
81
- expect(args.handleClose).toHaveBeenCalledTimes(1);
82
- expect(args.handleClose).toHaveBeenCalledWith({ reason: "overlay-click" });
83
- expect(args.handleAfterClose).toHaveBeenCalledTimes(2);
84
- expect(args.handleAfterClose).toHaveBeenCalledWith();
85
- });
86
- // Open
87
- await userEvent.click(trigger);
88
- await sleep(100);
89
- // Close by pressing Escape
90
- await userEvent.keyboard("{Escape}");
91
- await waitFor(() => {
92
- expect(args.handleClose).toHaveBeenCalledTimes(2);
93
- expect(args.handleClose).toHaveBeenCalledWith({ reason: "escape-key" });
94
- expect(args.handleAfterClose).toHaveBeenCalledTimes(3);
95
- expect(args.handleAfterClose).toHaveBeenCalledWith();
96
- });
97
- },
98
- };
99
- export const disableCloseOnClick = {
100
- name: "disableCloseOnOutsideClick",
101
- args: {
102
- handleClose: fn(),
103
- },
104
- render: (args) => (<Modal active disableCloseOnOutsideClick onClose={(closeArgs) => {
105
- args.handleClose(closeArgs);
106
- }}>
107
- <Modal.Title>Title</Modal.Title>
108
- Content
109
- </Modal>),
110
- play: async ({ canvasElement, args }) => {
111
- const canvas = within(canvasElement.ownerDocument.body);
112
- const overlay = canvas.getByText("Content");
113
- await userEvent.click(overlay);
114
- expect(args.handleClose).toHaveBeenCalledTimes(0);
115
- await userEvent.keyboard("{Escape}");
116
- expect(args.handleClose).toHaveBeenCalledTimes(1);
117
- },
118
- };
119
- export const containerRef = {
120
- name: "containerRef",
121
- render: () => {
122
- const containerRef = React.useRef(null);
123
- return (<>
124
- <div ref={containerRef} data-testid="test-id" style={{ height: 200 }}/>
125
- <Modal active containerRef={containerRef}>
126
- <Modal.Title>Title</Modal.Title>
127
- Content
128
- </Modal>
129
- </>);
130
- },
131
- play: ({ canvasElement }) => {
132
- const canvas = within(canvasElement.ownerDocument.body);
133
- const container = canvas.getByTestId("test-id");
134
- const overlay = canvas.getByText("Content");
135
- expect(container).toContainElement(overlay);
136
- },
137
- };
138
- export const className = {
139
- name: "className, attributes",
140
- render: () => (<Modal active className="test-classname" attributes={{ "data-testid": "test-id" }}>
141
- <Modal.Title>Title</Modal.Title>
142
- Content
143
- </Modal>),
144
- play: async ({ canvasElement }) => {
145
- const canvas = within(canvasElement.ownerDocument.body);
146
- const root = canvas.getByTestId("test-id");
147
- expect(root).toHaveClass("test-classname");
148
- },
149
- };
@@ -1,28 +0,0 @@
1
- import React from "react";
2
- import { StoryObj } from "@storybook/react-vite";
3
- import { fn } from "storybook/test";
4
- declare const _default: {
5
- title: string;
6
- component: React.FC<import("./..").OverlayProps>;
7
- parameters: {
8
- iframe: {
9
- url: string;
10
- };
11
- chromatic: {
12
- disableSnapshot: boolean;
13
- };
14
- };
15
- };
16
- export default _default;
17
- export declare const renderProps: StoryObj;
18
- export declare const handlers: StoryObj<{
19
- handleOpen: ReturnType<typeof fn>;
20
- handleAfterOpen: ReturnType<typeof fn>;
21
- handleClose: ReturnType<typeof fn>;
22
- handleAfterClose: ReturnType<typeof fn>;
23
- }>;
24
- export declare const disableCloseOnClick: StoryObj<{
25
- handleClose: ReturnType<typeof fn>;
26
- }>;
27
- export declare const containerRef: StoryObj;
28
- export declare const className: StoryObj;