reshaped 3.3.11 → 3.3.12

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 (250) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.js +16 -17
  4. package/dist/cjs/themes/_generator/utilities/generateColors.d.ts +1 -1
  5. package/dist/cjs/themes/_generator/utilities/generateColors.js +3 -2
  6. package/dist/cjs/themes/_generator/utilities/tests/color.test.js +32 -31
  7. package/dist/cjs/themes/slate/theme.css +1 -1
  8. package/dist/components/Accordion/tests/Accordion.stories.d.ts +30 -8
  9. package/dist/components/Accordion/tests/Accordion.stories.js +172 -119
  10. package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +12 -3
  11. package/dist/components/ActionBar/tests/ActionBar.stories.js +51 -36
  12. package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +15 -0
  13. package/dist/components/ActionBar/tests/ActionBar.test.stories.js +26 -0
  14. package/dist/components/Actionable/Actionable.js +1 -1
  15. package/dist/components/Actionable/tests/Actionable.stories.d.ts +19 -5
  16. package/dist/components/Actionable/tests/Actionable.stories.js +88 -63
  17. package/dist/components/Actionable/tests/Actionable.test.stories.d.ts +32 -0
  18. package/dist/components/Actionable/tests/Actionable.test.stories.js +130 -0
  19. package/dist/components/Alert/Alert.js +1 -1
  20. package/dist/components/Alert/tests/Alert.stories.d.ts +12 -3
  21. package/dist/components/Alert/tests/Alert.stories.js +51 -86
  22. package/dist/components/Alert/tests/Alert.test.stories.d.ts +15 -0
  23. package/dist/components/Alert/tests/Alert.test.stories.js +26 -0
  24. package/dist/components/Autocomplete/Autocomplete.js +9 -2
  25. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +6 -2
  26. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +94 -111
  27. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.d.ts +23 -0
  28. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.js +86 -0
  29. package/dist/components/Avatar/Avatar.js +1 -1
  30. package/dist/components/Avatar/tests/Avatar.stories.d.ts +14 -4
  31. package/dist/components/Avatar/tests/Avatar.stories.js +94 -80
  32. package/dist/components/Avatar/tests/Avatar.test.stories.d.ts +17 -0
  33. package/dist/components/Avatar/tests/Avatar.test.stories.js +39 -0
  34. package/dist/components/Badge/tests/Badge.stories.d.ts +33 -8
  35. package/dist/components/Badge/tests/Badge.stories.js +238 -212
  36. package/dist/components/Badge/tests/Badge.test.stories.d.ts +20 -0
  37. package/dist/components/Badge/tests/Badge.test.stories.js +44 -0
  38. package/dist/components/Breadcrumbs/Breadcrumbs.js +2 -2
  39. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -0
  40. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +24 -5
  41. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +114 -95
  42. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +23 -0
  43. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +76 -0
  44. package/dist/components/Button/Button.js +5 -2
  45. package/dist/components/Button/Button.module.css +1 -1
  46. package/dist/components/Button/Button.types.d.ts +1 -0
  47. package/dist/components/Button/tests/Button.stories.d.ts +2 -2
  48. package/dist/components/Button/tests/Button.stories.js +77 -74
  49. package/dist/components/Button/tests/Button.test.stories.d.ts +27 -0
  50. package/dist/components/Button/tests/Button.test.stories.js +112 -0
  51. package/dist/components/Calendar/tests/Calendar.test.stories.d.ts +26 -0
  52. package/dist/components/Calendar/tests/Calendar.test.stories.js +161 -0
  53. package/dist/components/Card/tests/Card.stories.d.ts +0 -1
  54. package/dist/components/Card/tests/Card.stories.js +0 -11
  55. package/dist/components/Card/tests/Card.test.stories.d.ts +35 -0
  56. package/dist/components/Card/tests/Card.test.stories.js +54 -0
  57. package/dist/components/Carousel/CarouselControl.js +1 -1
  58. package/dist/components/Carousel/tests/Carousel.stories.d.ts +3 -0
  59. package/dist/components/Carousel/tests/Carousel.stories.js +4 -0
  60. package/dist/components/Carousel/tests/Carousel.test.stories.d.ts +17 -0
  61. package/dist/components/Carousel/tests/Carousel.test.stories.js +52 -0
  62. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +25 -0
  63. package/dist/components/Checkbox/tests/Checkbox.test.stories.js +104 -0
  64. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +22 -0
  65. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +78 -0
  66. package/dist/components/Container/Container.module.css +1 -1
  67. package/dist/components/Container/tests/Container.stories.d.ts +12 -3
  68. package/dist/components/Container/tests/Container.stories.js +50 -31
  69. package/dist/components/Container/tests/Container.test.stories.d.ts +15 -0
  70. package/dist/components/Container/tests/Container.test.stories.js +26 -0
  71. package/dist/components/ContextMenu/ContextMenu.js +13 -9
  72. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +2 -3
  73. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +26 -0
  74. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +53 -0
  75. package/dist/components/Dismissible/Dismissible.js +1 -1
  76. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +10 -3
  77. package/dist/components/Dismissible/tests/Dismissible.stories.js +51 -34
  78. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +19 -0
  79. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +42 -0
  80. package/dist/components/Divider/tests/Divider.test.stories.d.ts +18 -0
  81. package/dist/components/Divider/tests/Divider.test.stories.js +47 -0
  82. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +37 -0
  83. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +117 -0
  84. package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +22 -0
  85. package/dist/components/FileUpload/tests/FileUpload.test.stories.js +52 -0
  86. package/dist/components/FormControl/FormControlCaption.js +1 -1
  87. package/dist/components/FormControl/FormControlLabel.js +1 -1
  88. package/dist/components/FormControl/tests/FormControl.stories.d.ts +11 -5
  89. package/dist/components/FormControl/tests/FormControl.stories.js +78 -73
  90. package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +20 -0
  91. package/dist/components/FormControl/tests/FormControl.test.stories.js +49 -0
  92. package/dist/components/Grid/tests/Grid.stories.d.ts +20 -5
  93. package/dist/components/Grid/tests/Grid.stories.js +164 -149
  94. package/dist/components/Grid/tests/Grid.test.stories.d.ts +19 -0
  95. package/dist/components/Grid/tests/Grid.test.stories.js +42 -0
  96. package/dist/components/Hidden/tests/Hidden.stories.d.ts +4 -1
  97. package/dist/components/Hidden/tests/Hidden.stories.js +28 -25
  98. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +15 -0
  99. package/dist/components/Hidden/tests/Hidden.test.stories.js +20 -0
  100. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +4 -1
  101. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +8 -5
  102. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +15 -0
  103. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +20 -0
  104. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +15 -0
  105. package/dist/components/Hotkey/tests/Hotkey.test.stories.js +26 -0
  106. package/dist/components/Icon/tests/Icon.stories.d.ts +12 -3
  107. package/dist/components/Icon/tests/Icon.stories.js +69 -60
  108. package/dist/components/Icon/tests/Icon.test.stories.d.ts +16 -0
  109. package/dist/components/Icon/tests/Icon.test.stories.js +35 -0
  110. package/dist/components/Image/tests/Image.stories.d.ts +24 -5
  111. package/dist/components/Image/tests/Image.stories.js +95 -75
  112. package/dist/components/Image/tests/Image.test.stories.d.ts +25 -0
  113. package/dist/components/Image/tests/Image.test.stories.js +80 -0
  114. package/dist/components/Link/tests/Link.test.stories.d.ts +29 -0
  115. package/dist/components/Link/tests/Link.test.stories.js +87 -0
  116. package/dist/components/Loader/Loader.js +1 -1
  117. package/dist/components/Loader/Loader.types.d.ts +1 -0
  118. package/dist/components/Loader/tests/Loader.stories.js +8 -8
  119. package/dist/components/Loader/tests/Loader.test.stories.d.ts +16 -0
  120. package/dist/components/Loader/tests/Loader.test.stories.js +32 -0
  121. package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +26 -0
  122. package/dist/components/MenuItem/tests/MenuItem.test.stories.js +100 -0
  123. package/dist/components/Modal/tests/Modal.test.stories.d.ts +32 -0
  124. package/dist/components/Modal/tests/Modal.test.stories.js +149 -0
  125. package/dist/components/Overlay/tests/Overlay.stories.d.ts +4 -2
  126. package/dist/components/Overlay/tests/Overlay.stories.js +53 -53
  127. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +28 -0
  128. package/dist/components/Overlay/tests/Overlay.test.stories.js +146 -0
  129. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +23 -0
  130. package/dist/components/Pagination/tests/Pagination.test.stories.js +86 -0
  131. package/dist/components/PinField/tests/PinField.stories.d.ts +0 -1
  132. package/dist/components/PinField/tests/PinField.stories.js +10 -19
  133. package/dist/components/PinField/tests/PinField.test.stories.d.ts +29 -0
  134. package/dist/components/PinField/tests/PinField.test.stories.js +177 -0
  135. package/dist/components/Popover/tests/Popover.test.stories.d.ts +40 -0
  136. package/dist/components/Popover/tests/Popover.test.stories.js +167 -0
  137. package/dist/components/Progress/Progress.js +2 -2
  138. package/dist/components/Progress/Progress.types.d.ts +1 -0
  139. package/dist/components/Progress/tests/Progress.stories.js +10 -10
  140. package/dist/components/Progress/tests/Progress.test.stories.d.ts +16 -0
  141. package/dist/components/Progress/tests/Progress.test.stories.js +35 -0
  142. package/dist/components/Radio/tests/Radio.test.stories.d.ts +30 -0
  143. package/dist/components/Radio/tests/Radio.test.stories.js +118 -0
  144. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +22 -0
  145. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +78 -0
  146. package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +33 -0
  147. package/dist/components/Reshaped/tests/Reshaped.stories.js +88 -0
  148. package/dist/components/Resizable/Resizable.js +1 -0
  149. package/dist/components/Resizable/tests/Resizable.stories.d.ts +3 -0
  150. package/dist/components/Resizable/tests/Resizable.stories.js +4 -0
  151. package/dist/components/Resizable/tests/Resizable.test.stories.d.ts +19 -0
  152. package/dist/components/Resizable/tests/Resizable.test.stories.js +25 -0
  153. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +15 -0
  154. package/dist/components/Scrim/tests/Scrim.test.stories.js +25 -0
  155. package/dist/components/ScrollArea/ScrollArea.js +1 -1
  156. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  157. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +17 -4
  158. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +114 -139
  159. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.d.ts +23 -0
  160. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +66 -0
  161. package/dist/components/Select/tests/Select.stories.d.ts +1 -1
  162. package/dist/components/Select/tests/Select.stories.js +5 -12
  163. package/dist/components/Select/tests/Select.test.stories.d.ts +27 -0
  164. package/dist/components/Select/tests/Select.test.stories.js +132 -0
  165. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +15 -0
  166. package/dist/components/Skeleton/tests/Skeleton.test.stories.js +23 -0
  167. package/dist/components/Slider/tests/Slider.stories.d.ts +0 -1
  168. package/dist/components/Slider/tests/Slider.stories.js +8 -9
  169. package/dist/components/Slider/tests/Slider.test.stories.d.ts +38 -0
  170. package/dist/components/Slider/tests/Slider.test.stories.js +150 -0
  171. package/dist/components/Stepper/Stepper.js +1 -1
  172. package/dist/components/Stepper/tests/Stepper.stories.js +0 -3
  173. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +18 -0
  174. package/dist/components/Stepper/tests/Stepper.test.stories.js +28 -0
  175. package/dist/components/Switch/tests/Switch.test.stories.d.ts +23 -0
  176. package/dist/components/Switch/tests/Switch.test.stories.js +79 -0
  177. package/dist/components/Table/tests/Table.test.stories.d.ts +25 -0
  178. package/dist/components/Table/tests/Table.test.stories.js +93 -0
  179. package/dist/components/Tabs/tests/Tabs.stories.js +4 -4
  180. package/dist/components/Tabs/tests/Tabs.test.stories.d.ts +28 -0
  181. package/dist/components/Tabs/tests/Tabs.test.stories.js +128 -0
  182. package/dist/components/Text/tests/Text.stories.d.ts +28 -7
  183. package/dist/components/Text/tests/Text.stories.js +148 -125
  184. package/dist/components/Text/tests/Text.test.stories.d.ts +18 -0
  185. package/dist/components/Text/tests/Text.test.stories.js +49 -0
  186. package/dist/components/TextArea/TextArea.module.css +1 -1
  187. package/dist/components/TextArea/tests/TextArea.stories.js +1 -1
  188. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +29 -0
  189. package/dist/components/TextArea/tests/TextArea.test.stories.js +99 -0
  190. package/dist/components/TextField/tests/TextField.stories.js +1 -1
  191. package/dist/components/TextField/tests/TextField.test.stories.d.ts +29 -0
  192. package/dist/components/TextField/tests/TextField.test.stories.js +99 -0
  193. package/dist/components/Theme/tests/Theme.test.stories.d.ts +24 -0
  194. package/dist/components/Theme/tests/Theme.test.stories.js +133 -0
  195. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +18 -0
  196. package/dist/components/Timeline/tests/Timeline.test.stories.js +32 -0
  197. package/dist/components/Toast/tests/Toast.test.stories.d.ts +16 -0
  198. package/dist/components/Toast/tests/Toast.test.stories.js +101 -0
  199. package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -14
  200. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +19 -0
  201. package/dist/components/Tooltip/tests/Tooltip.test.stories.js +40 -0
  202. package/dist/components/View/View.js +1 -2
  203. package/dist/components/View/tests/View.stories.d.ts +112 -28
  204. package/dist/components/View/tests/View.stories.js +1092 -1012
  205. package/dist/components/View/tests/View.test.stories.d.ts +20 -0
  206. package/dist/components/View/tests/View.test.stories.js +50 -0
  207. package/dist/components/_private/Flyout/FlyoutContent.js +1 -1
  208. package/dist/components/_private/Flyout/tests/Flyout.stories.js +4 -4
  209. package/dist/components/_private/Flyout/tests/Flyout.test.stories.d.ts +28 -0
  210. package/dist/components/_private/Flyout/tests/Flyout.test.stories.js +205 -0
  211. package/dist/components/_private/Portal/tests/Portal.stories.js +1 -1
  212. package/dist/hooks/_private/useSingletonHotkeys.d.ts +3 -3
  213. package/dist/hooks/_private/useSingletonHotkeys.js +1 -1
  214. package/dist/hooks/tests/useDrag.stories.js +1 -0
  215. package/dist/hooks/tests/useDrag.test.stories.d.ts +26 -0
  216. package/dist/hooks/tests/useDrag.test.stories.js +120 -0
  217. package/dist/hooks/tests/useElementId.stories.d.ts +6 -0
  218. package/dist/hooks/tests/useElementId.stories.js +19 -0
  219. package/dist/hooks/tests/useHotkeys.test.stories.d.ts +39 -0
  220. package/dist/hooks/tests/useHotkeys.test.stories.js +119 -0
  221. package/dist/hooks/tests/useRTL.stories.d.ts +6 -0
  222. package/dist/hooks/tests/useRTL.stories.js +25 -0
  223. package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +9 -1
  224. package/dist/hooks/tests/useResponsiveClientValue.stories.js +22 -9
  225. package/dist/hooks/tests/useScrollLock.stories.d.ts +6 -0
  226. package/dist/hooks/tests/useScrollLock.stories.js +22 -0
  227. package/dist/hooks/tests/useToggle.stories.d.ts +8 -0
  228. package/dist/hooks/tests/useToggle.stories.js +54 -0
  229. package/dist/hooks/useHotkeys.js +0 -2
  230. package/dist/hooks/useScrollLock.d.ts +1 -0
  231. package/dist/hooks/useScrollLock.js +7 -3
  232. package/dist/tests/ShadowDOM.stories.js +1 -1
  233. package/dist/themes/_generator/tests/themes.stories.d.ts +3 -0
  234. package/dist/themes/_generator/tests/themes.stories.js +7 -11
  235. package/dist/themes/_generator/utilities/generateColors.d.ts +1 -1
  236. package/dist/themes/_generator/utilities/generateColors.js +3 -2
  237. package/dist/themes/slate/theme.css +1 -1
  238. package/dist/utilities/helpers.d.ts +1 -0
  239. package/dist/utilities/helpers.js +3 -0
  240. package/dist/utilities/scroll/lock.d.ts +1 -0
  241. package/dist/utilities/scroll/lock.js +3 -3
  242. package/dist/utilities/scroll/lockSafari.d.ts +1 -1
  243. package/dist/utilities/scroll/lockSafari.js +4 -5
  244. package/dist/utilities/scroll/lockStandard.d.ts +4 -1
  245. package/dist/utilities/scroll/lockStandard.js +7 -2
  246. package/dist/utilities/storybook/Example.js +1 -2
  247. package/package.json +20 -19
  248. package/dist/components/Theme/tests/Theme.stories.d.ts +0 -13
  249. package/dist/components/Theme/tests/Theme.stories.js +0 -80
  250. package/dist/utilities/storybook/Example.module.css +0 -1
@@ -0,0 +1,128 @@
1
+ import { expect, within, userEvent, waitFor, fn } from "@storybook/test";
2
+ import Tabs from "../index.js";
3
+ export default {
4
+ title: "Components/Tabs/tests",
5
+ component: Tabs,
6
+ parameters: {
7
+ iframe: {
8
+ url: "https://reshaped.so/docs/components/tabs",
9
+ },
10
+ chromatic: { disableSnapshot: true },
11
+ },
12
+ };
13
+ export const base = {
14
+ name: "base",
15
+ render: () => (<Tabs>
16
+ <Tabs.List>
17
+ <Tabs.Item value="1">Item 1</Tabs.Item>
18
+ <Tabs.Item value="2">Item 2</Tabs.Item>
19
+ </Tabs.List>
20
+
21
+ <Tabs.Panel value="1">Content 1</Tabs.Panel>
22
+ <Tabs.Panel value="2">Content 2</Tabs.Panel>
23
+ </Tabs>),
24
+ play: async ({ canvas }) => {
25
+ const list = canvas.getByRole("tablist");
26
+ const items = canvas.getAllByRole("tab");
27
+ const panels = canvas.getAllByRole("tabpanel", { hidden: true });
28
+ expect(list).toBeInTheDocument();
29
+ expect(items).toHaveLength(2);
30
+ expect(panels).toHaveLength(2);
31
+ expect(panels[0]).toBeVisible();
32
+ expect(panels[1]).not.toBeVisible();
33
+ const selectedItem = items[0];
34
+ const selectedPanel = panels[0];
35
+ expect(selectedItem).toHaveAttribute("aria-selected", "true");
36
+ expect(selectedItem.getAttribute("aria-controls")).toBe(selectedPanel.getAttribute("id"));
37
+ const unselectedItem = items[1];
38
+ const unselectedPanel = panels[1];
39
+ expect(unselectedItem).toHaveAttribute("aria-selected", "false");
40
+ expect(unselectedItem.getAttribute("aria-controls")).toBe(unselectedPanel.getAttribute("id"));
41
+ await userEvent.tab();
42
+ expect(document.activeElement).toBe(items[0]);
43
+ await userEvent.tab();
44
+ waitFor(() => {
45
+ expect(document.activeElement).toBe(panels[0]);
46
+ });
47
+ },
48
+ };
49
+ export const defaultValue = {
50
+ name: "defaultValue, uncontrolled",
51
+ args: {
52
+ handleChange: fn(),
53
+ },
54
+ render: (args) => (<Tabs defaultValue="2" onChange={args.handleChange}>
55
+ <Tabs.List>
56
+ <Tabs.Item value="1">Item 1</Tabs.Item>
57
+ <Tabs.Item value="2">Item 2</Tabs.Item>
58
+ </Tabs.List>
59
+
60
+ <Tabs.Panel value="1">Content 1</Tabs.Panel>
61
+ <Tabs.Panel value="2">Content 2</Tabs.Panel>
62
+ </Tabs>),
63
+ play: async ({ canvas, args }) => {
64
+ const items = canvas.getAllByRole("tab");
65
+ expect(items[1]).toHaveAttribute("aria-selected", "true");
66
+ expect(items[1]).toHaveAttribute("tabindex", "0");
67
+ expect(items[0]).toHaveAttribute("tabindex", "-1");
68
+ await userEvent.click(items[0]);
69
+ expect(args.handleChange).toHaveBeenCalledTimes(1);
70
+ expect(args.handleChange).toHaveBeenCalledWith({ value: "1" });
71
+ expect(document.activeElement).toBe(items[0]);
72
+ expect(items[0]).toHaveAttribute("aria-selected", "true");
73
+ expect(items[0]).toHaveAttribute("tabindex", "0");
74
+ expect(items[1]).toHaveAttribute("tabindex", "-1");
75
+ },
76
+ };
77
+ export const value = {
78
+ name: "value, controlled",
79
+ args: {
80
+ handleChange: fn(),
81
+ },
82
+ render: (args) => (<Tabs value="2" onChange={args.handleChange}>
83
+ <Tabs.List>
84
+ <Tabs.Item value="1">Item 1</Tabs.Item>
85
+ <Tabs.Item value="2">Item 2</Tabs.Item>
86
+ </Tabs.List>
87
+
88
+ <Tabs.Panel value="1">Content 1</Tabs.Panel>
89
+ <Tabs.Panel value="2">Content 2</Tabs.Panel>
90
+ </Tabs>),
91
+ play: async ({ canvas, args }) => {
92
+ const items = canvas.getAllByRole("tab");
93
+ expect(items[1]).toHaveAttribute("aria-selected", "true");
94
+ expect(items[1]).toHaveAttribute("tabindex", "0");
95
+ expect(items[0]).toHaveAttribute("tabindex", "-1");
96
+ await userEvent.click(items[0]);
97
+ expect(args.handleChange).toHaveBeenCalledTimes(1);
98
+ expect(args.handleChange).toHaveBeenCalledWith({ value: "1" });
99
+ expect(document.activeElement).toBe(items[0]);
100
+ expect(items[1]).toHaveAttribute("aria-selected", "true");
101
+ expect(items[1]).toHaveAttribute("tabindex", "0");
102
+ expect(items[0]).toHaveAttribute("tabindex", "-1");
103
+ },
104
+ };
105
+ export const className = {
106
+ name: "className, attributes",
107
+ render: () => (<div data-testid="root">
108
+ <Tabs>
109
+ <Tabs.List attributes={{ id: "test-list-id" }} className="test-list-classname">
110
+ <Tabs.Item attributes={{ id: "test-item-id" }} value="1">
111
+ Item
112
+ </Tabs.Item>
113
+ </Tabs.List>
114
+
115
+ <Tabs.Panel attributes={{ "data-testid": "test-panel-id" }} className="test-panel-classname" value="1"/>
116
+ </Tabs>
117
+ </div>),
118
+ play: async ({ canvas }) => {
119
+ const list = canvas.getByTestId("root").firstChild;
120
+ const item = within(list).getByRole("presentation");
121
+ const panel = canvas.getByRole("tabpanel");
122
+ expect(list).toHaveClass("test-list-classname");
123
+ expect(list).toHaveAttribute("id", "test-list-id");
124
+ expect(item).toHaveAttribute("id", "test-item-id");
125
+ expect(panel).toHaveClass("test-panel-classname");
126
+ expect(panel).toHaveAttribute("data-testid", "test-panel-id");
127
+ },
128
+ };
@@ -8,10 +8,31 @@ declare const _default: {
8
8
  };
9
9
  };
10
10
  export default _default;
11
- export declare const variant: () => import("react").JSX.Element;
12
- export declare const weight: () => import("react").JSX.Element;
13
- export declare const color: () => import("react").JSX.Element;
14
- export declare const decoration: () => import("react").JSX.Element;
15
- export declare const wrap: () => import("react").JSX.Element;
16
- export declare const maxLines: () => import("react").JSX.Element;
17
- export declare const align: () => import("react").JSX.Element;
11
+ export declare const variant: {
12
+ name: string;
13
+ render: () => import("react").JSX.Element;
14
+ };
15
+ export declare const weight: {
16
+ name: string;
17
+ render: () => import("react").JSX.Element;
18
+ };
19
+ export declare const color: {
20
+ name: string;
21
+ render: () => import("react").JSX.Element;
22
+ };
23
+ export declare const decoration: {
24
+ name: string;
25
+ render: () => import("react").JSX.Element;
26
+ };
27
+ export declare const wrap: {
28
+ name: string;
29
+ render: () => import("react").JSX.Element;
30
+ };
31
+ export declare const maxLines: {
32
+ name: string;
33
+ render: () => import("react").JSX.Element;
34
+ };
35
+ export declare const align: {
36
+ name: string;
37
+ render: () => import("react").JSX.Element;
38
+ };
@@ -9,129 +9,152 @@ export default {
9
9
  },
10
10
  },
11
11
  };
12
- export const variant = () => (<Example>
13
- <Example.Item title="variant: title-1">
14
- <Text variant="title-1">Title 1</Text>
15
- </Example.Item>
16
- <Example.Item title="variant: title-2">
17
- <Text variant="title-2">Title 2</Text>
18
- </Example.Item>
19
- <Example.Item title="variant: title-3">
20
- <Text variant="title-3">Title 3</Text>
21
- </Example.Item>
22
- <Example.Item title="variant: title-4">
23
- <Text variant="title-4">Title 4</Text>
24
- </Example.Item>
25
- <Example.Item title="variant: title-5">
26
- <Text variant="title-5">Title 5</Text>
27
- </Example.Item>
28
- <Example.Item title="variant: title-6">
29
- <Text variant="title-6">Title 6</Text>
30
- </Example.Item>
31
- <Example.Item title="variant: featured-1">
32
- <Text variant="featured-1">Featured 1</Text>
33
- </Example.Item>
34
- <Example.Item title="variant: featured-2">
35
- <Text variant="featured-2">Featured 2</Text>
36
- </Example.Item>
37
- <Example.Item title="variant: featured-3">
38
- <Text variant="featured-3">Featured 3</Text>
39
- </Example.Item>
40
- <Example.Item title="variant: body-1">
41
- <Text variant="body-1">Body 1</Text>
42
- </Example.Item>
43
- <Example.Item title="variant: body-2">
44
- <Text variant="body-2">Body 2</Text>
45
- </Example.Item>
46
- <Example.Item title="variant: body-3">
47
- <Text variant="body-3">Body 3</Text>
48
- </Example.Item>
49
- <Example.Item title="variant: caption-1">
50
- <Text variant="caption-1">Caption 1</Text>
51
- </Example.Item>
52
- <Example.Item title="variant: caption-2">
53
- <Text variant="caption-2">Caption 2</Text>
54
- </Example.Item>
55
- <Example.Item title={["responsive variant", "[s] body-3", "[m+] title-4"]}>
56
- <Text variant={{ s: "body-3", m: "title-4" }}>Responsive</Text>
57
- </Example.Item>
58
- </Example>);
59
- export const weight = () => (<Example>
60
- <Example.Item title="weight: regular">
61
- <Text weight="regular">Regular</Text>
62
- </Example.Item>
63
- <Example.Item title="weight: medium">
64
- <Text weight="medium">Medium</Text>
65
- </Example.Item>
66
- <Example.Item title="weight: bold">
67
- <Text weight="bold">Bold</Text>
68
- </Example.Item>
69
- <Example.Item title={["responsive", "[s] weight: regular", "[m+] bold"]}>
70
- <Text weight={{ s: "regular", m: "bold" }}>Responsive</Text>
71
- </Example.Item>
72
- </Example>);
73
- export const color = () => (<Example>
74
- <Example.Item title="color: inherit">
75
- <Text>Neutral</Text>
76
- </Example.Item>
77
- <Example.Item title="color: neutral-faded">
78
- <Text color="neutral-faded">Faded</Text>
79
- </Example.Item>
80
- <Example.Item title="color: positive">
81
- <Text color="positive">Positive</Text>
82
- </Example.Item>
83
- <Example.Item title="color: warning">
84
- <Text color="warning">Warning</Text>
85
- </Example.Item>
86
- <Example.Item title="color: critical">
87
- <Text color="critical">Critical</Text>
88
- </Example.Item>
89
- <Example.Item title="color: primary">
90
- <Text color="primary">Primary</Text>
91
- </Example.Item>
92
- <Example.Item title="color: disabled">
93
- <Text color="disabled">Disabled</Text>
94
- </Example.Item>
95
- </Example>);
96
- export const decoration = () => (<Example>
97
- <Example.Item title="decoration: line-through">
98
- <Text decoration="line-through">Line through</Text>
99
- </Example.Item>
100
- </Example>);
101
- export const wrap = () => (<Example>
102
- <Example.Item title="wrap: balance">
103
- <Text wrap="balance" variant="title-3">
104
- The design system you want to build
105
- </Text>
106
- </Example.Item>
107
- </Example>);
108
- export const maxLines = () => (<Example>
109
- <Example.Item title="maxLines: 2">
110
- <Text maxLines={2}>
111
- There are many variations of passages of Lorem Ipsum available, but the majority have
112
- suffered alteration in some form, by injected humour, or randomised words which don't look
113
- even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be
114
- sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum
115
- generators on the Internet tend to repeat predefined chunks as necessary, making this the
116
- first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined
117
- with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable.
118
- The generated Lorem Ipsum is therefore always free from repetition, injected humour, or
119
- non-characteristic words etc.
120
- </Text>
121
- </Example.Item>
122
- </Example>);
123
- export const align = () => (<Example>
124
- <Example.Item title="align: start">
125
- <Text align="start">Text content</Text>
126
- </Example.Item>
127
- <Example.Item title="align: center">
128
- <Text align="center">Text content</Text>
129
- </Example.Item>
130
- <Example.Item title="align: end">
131
- <Text align="end">Text content</Text>
132
- </Example.Item>
12
+ export const variant = {
13
+ name: "variant",
14
+ render: () => (<Example>
15
+ <Example.Item title="variant: title-1">
16
+ <Text variant="title-1">Title 1</Text>
17
+ </Example.Item>
18
+ <Example.Item title="variant: title-2">
19
+ <Text variant="title-2">Title 2</Text>
20
+ </Example.Item>
21
+ <Example.Item title="variant: title-3">
22
+ <Text variant="title-3">Title 3</Text>
23
+ </Example.Item>
24
+ <Example.Item title="variant: title-4">
25
+ <Text variant="title-4">Title 4</Text>
26
+ </Example.Item>
27
+ <Example.Item title="variant: title-5">
28
+ <Text variant="title-5">Title 5</Text>
29
+ </Example.Item>
30
+ <Example.Item title="variant: title-6">
31
+ <Text variant="title-6">Title 6</Text>
32
+ </Example.Item>
33
+ <Example.Item title="variant: featured-1">
34
+ <Text variant="featured-1">Featured 1</Text>
35
+ </Example.Item>
36
+ <Example.Item title="variant: featured-2">
37
+ <Text variant="featured-2">Featured 2</Text>
38
+ </Example.Item>
39
+ <Example.Item title="variant: featured-3">
40
+ <Text variant="featured-3">Featured 3</Text>
41
+ </Example.Item>
42
+ <Example.Item title="variant: body-1">
43
+ <Text variant="body-1">Body 1</Text>
44
+ </Example.Item>
45
+ <Example.Item title="variant: body-2">
46
+ <Text variant="body-2">Body 2</Text>
47
+ </Example.Item>
48
+ <Example.Item title="variant: body-3">
49
+ <Text variant="body-3">Body 3</Text>
50
+ </Example.Item>
51
+ <Example.Item title="variant: caption-1">
52
+ <Text variant="caption-1">Caption 1</Text>
53
+ </Example.Item>
54
+ <Example.Item title="variant: caption-2">
55
+ <Text variant="caption-2">Caption 2</Text>
56
+ </Example.Item>
57
+ <Example.Item title={["responsive variant", "[s] body-3", "[m+] title-4"]}>
58
+ <Text variant={{ s: "body-3", m: "title-4" }}>Responsive</Text>
59
+ </Example.Item>
60
+ </Example>),
61
+ };
62
+ export const weight = {
63
+ name: "weight",
64
+ render: () => (<Example>
65
+ <Example.Item title="weight: regular">
66
+ <Text weight="regular">Regular</Text>
67
+ </Example.Item>
68
+ <Example.Item title="weight: medium">
69
+ <Text weight="medium">Medium</Text>
70
+ </Example.Item>
71
+ <Example.Item title="weight: bold">
72
+ <Text weight="bold">Bold</Text>
73
+ </Example.Item>
74
+ <Example.Item title={["responsive", "[s] weight: regular", "[m+] bold"]}>
75
+ <Text weight={{ s: "regular", m: "bold" }}>Responsive</Text>
76
+ </Example.Item>
77
+ </Example>),
78
+ };
79
+ export const color = {
80
+ name: "color",
81
+ render: () => (<Example>
82
+ <Example.Item title="color: inherit">
83
+ <Text>Neutral</Text>
84
+ </Example.Item>
85
+ <Example.Item title="color: neutral-faded">
86
+ <Text color="neutral-faded">Faded</Text>
87
+ </Example.Item>
88
+ <Example.Item title="color: positive">
89
+ <Text color="positive">Positive</Text>
90
+ </Example.Item>
91
+ <Example.Item title="color: warning">
92
+ <Text color="warning">Warning</Text>
93
+ </Example.Item>
94
+ <Example.Item title="color: critical">
95
+ <Text color="critical">Critical</Text>
96
+ </Example.Item>
97
+ <Example.Item title="color: primary">
98
+ <Text color="primary">Primary</Text>
99
+ </Example.Item>
100
+ <Example.Item title="color: disabled">
101
+ <Text color="disabled" attributes={{ "aria-disabled": true }}>
102
+ Disabled
103
+ </Text>
104
+ </Example.Item>
105
+ </Example>),
106
+ };
107
+ export const decoration = {
108
+ name: "decoration",
109
+ render: () => (<Example>
110
+ <Example.Item title="decoration: line-through">
111
+ <Text decoration="line-through">Line through</Text>
112
+ </Example.Item>
113
+ </Example>),
114
+ };
115
+ export const wrap = {
116
+ name: "wrap",
117
+ render: () => (<Example>
118
+ <Example.Item title="wrap: balance">
119
+ <Text wrap="balance" variant="title-3">
120
+ The design system you want to build
121
+ </Text>
122
+ </Example.Item>
123
+ </Example>),
124
+ };
125
+ export const maxLines = {
126
+ name: "maxLines",
127
+ render: () => (<Example>
128
+ <Example.Item title="maxLines: 2">
129
+ <Text maxLines={2}>
130
+ There are many variations of passages of Lorem Ipsum available, but the majority have
131
+ suffered alteration in some form, by injected humour, or randomised words which don't look
132
+ even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be
133
+ sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum
134
+ generators on the Internet tend to repeat predefined chunks as necessary, making this the
135
+ first true generator on the Internet. It uses a dictionary of over 200 Latin words,
136
+ combined with a handful of model sentence structures, to generate Lorem Ipsum which looks
137
+ reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected
138
+ humour, or non-characteristic words etc.
139
+ </Text>
140
+ </Example.Item>
141
+ </Example>),
142
+ };
143
+ export const align = {
144
+ name: "align",
145
+ render: () => (<Example>
146
+ <Example.Item title="align: start">
147
+ <Text align="start">Text content</Text>
148
+ </Example.Item>
149
+ <Example.Item title="align: center">
150
+ <Text align="center">Text content</Text>
151
+ </Example.Item>
152
+ <Example.Item title="align: end">
153
+ <Text align="end">Text content</Text>
154
+ </Example.Item>
133
155
 
134
- <Example.Item title={["responsive alignment", "[s]: center", "[m+] start"]}>
135
- <Text align={{ s: "center", m: "start" }}>Text content</Text>
136
- </Example.Item>
137
- </Example>);
156
+ <Example.Item title={["responsive alignment", "[s]: center", "[m+] start"]}>
157
+ <Text align={{ s: "center", m: "start" }}>Text content</Text>
158
+ </Example.Item>
159
+ </Example>),
160
+ };
@@ -0,0 +1,18 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: <As extends keyof React.JSX.IntrinsicElements>(props: import("./..").TextProps<As>) => import("react").JSX.Element;
5
+ parameters: {
6
+ iframe: {
7
+ url: string;
8
+ };
9
+ chromatic: {
10
+ disableSnapshot: boolean;
11
+ };
12
+ };
13
+ };
14
+ export default _default;
15
+ export declare const asProp: StoryObj;
16
+ export declare const headingAs: StoryObj;
17
+ export declare const headingAsResponsive: StoryObj;
18
+ export declare const className: StoryObj;
@@ -0,0 +1,49 @@
1
+ import { expect } from "@storybook/test";
2
+ import Text from "../index.js";
3
+ export default {
4
+ title: "Utilities/Text/tests",
5
+ component: Text,
6
+ parameters: {
7
+ iframe: {
8
+ url: "https://reshaped.so/docs/utilities/text",
9
+ },
10
+ chromatic: { disableSnapshot: true },
11
+ },
12
+ };
13
+ export const asProp = {
14
+ name: "as",
15
+ render: () => <Text as="h1">Content</Text>,
16
+ play: async ({ canvas }) => {
17
+ const el = canvas.getByRole("heading");
18
+ expect(el).toBeInTheDocument();
19
+ },
20
+ };
21
+ export const headingAs = {
22
+ name: "heading tag resolving",
23
+ render: () => <Text variant="title-3">Content</Text>,
24
+ play: async ({ canvas }) => {
25
+ const el = canvas.getByRole("heading");
26
+ expect(el.tagName).toBe("H3");
27
+ },
28
+ };
29
+ export const headingAsResponsive = {
30
+ name: "heading tag resolving, responsive",
31
+ render: () => <Text variant={{ s: "title-3", m: "title-4" }}>Content</Text>,
32
+ play: async ({ canvas }) => {
33
+ const el = canvas.getByRole("heading");
34
+ expect(el.tagName).toBe("H4");
35
+ },
36
+ };
37
+ export const className = {
38
+ name: "className, attributes",
39
+ render: () => (<div data-testid="root">
40
+ <Text className="test-classname" attributes={{ id: "test-id" }}>
41
+ Content
42
+ </Text>
43
+ </div>),
44
+ play: async ({ canvas }) => {
45
+ const root = canvas.getByTestId("root").firstChild;
46
+ expect(root).toHaveClass("test-classname");
47
+ expect(root).toHaveAttribute("id", "test-id");
48
+ },
49
+ };
@@ -1 +1 @@
1
- .root{display:grid;position:relative}.root:after{content:attr(data-rs-textarea-value) " ";visibility:hidden;white-space:pre-wrap}.input,.root:after{border:1px solid var(--rs-color-border-neutral);box-sizing:border-box;flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);grid-area:1/1/2/2;padding:calc(var(--rs-p) - 1px);width:100%;word-break:break-word}.input{background:var(--rs-color-background-elevation-base);border-radius:var(--rs-radius-small);color:var(--rs-color-foreground-neutral);outline:none;position:relative;z-index:1}.input:focus{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.input[disabled]{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled);color:var(--rs-color-foreground-disabled);cursor:not-allowed}.--size-medium{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.root.--variant-faded .input{background:var(--rs-color-background-neutral-faded);border-color:transparent}.root.--variant-faded .input:focus{border-color:var(--rs-color-border-primary)}.root.--variant-headless .input{background:transparent;border-color:transparent}.root.--variant-headless .input:focus,.root.--variant-headless.--status-error .input,.root.--variant-headless.--status-error .input:focus{border-color:transparent;box-shadow:none}.root.--status-error .input{border-color:var(--rs-color-border-critical)}.root.--status-error .input:active,.root.--status-error .input:focus{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.root.--resize-auto .input,.root.--resize-none .input{resize:none}@media (--rs-viewport-s ) and (hover:none){.input{font-size:var(--rs-font-size-body-2)!important}}@media (--rs-viewport-m ){.--size-medium--m{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium--m .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large--m{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large--m .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge--m{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge--m .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}}@media (--rs-viewport-l ){.--size-medium--l{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium--l .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large--l{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large--l .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge--l{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge--l .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}}@media (--rs-viewport-xl ){.--size-medium--xl{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium--xl .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large--xl{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large--xl .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge--xl{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge--xl .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}}
1
+ .root{display:grid;position:relative}.root:after{content:attr(data-rs-textarea-value) " ";visibility:hidden;white-space:pre-wrap}.input,.root:after{border:1px solid var(--rs-color-border-neutral);box-sizing:border-box;flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);grid-area:1/1/2/2;padding:calc(var(--rs-p) - 1px);width:100%;word-break:break-all}.input{background:var(--rs-color-background-elevation-base);border-radius:var(--rs-radius-small);color:var(--rs-color-foreground-neutral);outline:none;position:relative;z-index:1}.input:focus{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.input[disabled]{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled);color:var(--rs-color-foreground-disabled);cursor:not-allowed}.--size-medium{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.root.--variant-faded .input{background:var(--rs-color-background-neutral-faded);border-color:transparent}.root.--variant-faded .input:focus{border-color:var(--rs-color-border-primary)}.root.--variant-headless .input{background:transparent;border-color:transparent}.root.--variant-headless .input:focus,.root.--variant-headless.--status-error .input,.root.--variant-headless.--status-error .input:focus{border-color:transparent;box-shadow:none}.root.--status-error .input{border-color:var(--rs-color-border-critical)}.root.--status-error .input:active,.root.--status-error .input:focus{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.root.--resize-auto .input,.root.--resize-none .input{resize:none}@media (--rs-viewport-s ) and (hover:none){.input{font-size:var(--rs-font-size-body-2)!important}}@media (--rs-viewport-m ){.--size-medium--m{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium--m .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large--m{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large--m .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge--m{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge--m .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}}@media (--rs-viewport-l ){.--size-medium--l{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium--l .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large--l{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large--l .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge--l{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge--l .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}}@media (--rs-viewport-xl ){.--size-medium--xl{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-radius-small)}.--size-medium--xl .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3)}.--size-large--xl{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-radius-medium)}.--size-large--xl .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}.--size-xlarge--xl{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-radius-medium)}.--size-xlarge--xl .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2)}}
@@ -109,6 +109,6 @@ export const edgeCases = () => (<Example>
109
109
  <Example.Item title="long value without breaks">
110
110
  <TextArea name="hey" defaultValue={`<div style="position:relative;width:100%;padding-top:calc(150% + 72px)">
111
111
  <iframe src="nskjdfdsdkjfsjkdfhbsjlhdfbsjlhfbs;jhbsdljfhsbljhfsbljhfbsjlfdhbsljhfbsdljhfbsljhfbslufbhsdlfds" />
112
- </div>`} resize="auto"/>
112
+ </div>`} resize="auto" placeholder="Placeholder"/>
113
113
  </Example.Item>
114
114
  </Example>);
@@ -0,0 +1,29 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ import { fn } from "@storybook/test";
3
+ declare const _default: {
4
+ title: string;
5
+ component: {
6
+ (props: import("./..").TextAreaProps): import("react").JSX.Element;
7
+ Aligner: (props: import("../../_private/Aligner").AlignerProps) => import("react").JSX.Element;
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 render: StoryObj;
20
+ export declare const placeholder: StoryObj;
21
+ export declare const id: StoryObj;
22
+ export declare const disabled: StoryObj;
23
+ export declare const defaultValue: StoryObj<{
24
+ handleChange: ReturnType<typeof fn>;
25
+ }>;
26
+ export declare const value: StoryObj<{
27
+ handleChange: ReturnType<typeof fn>;
28
+ }>;
29
+ export declare const className: StoryObj;