reshaped 3.9.0-canary.0 → 3.9.0-canary.2

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 (318) hide show
  1. package/dist/bundle.css +1 -1
  2. package/dist/bundle.js +10 -10
  3. package/dist/cli/theming/index.js +4 -4
  4. package/dist/cli/theming/reshaped.config.js +1 -1
  5. package/dist/components/Accordion/Accordion.types.d.ts +1 -1
  6. package/dist/components/Accordion/AccordionControlled.js +2 -2
  7. package/dist/components/Accordion/AccordionTrigger.js +2 -2
  8. package/dist/components/Accordion/index.d.ts +1 -1
  9. package/dist/components/Accordion/index.js +1 -1
  10. package/dist/components/ActionBar/ActionBar.js +1 -1
  11. package/dist/components/ActionBar/ActionBar.types.d.ts +1 -1
  12. package/dist/components/Actionable/Actionable.js +1 -1
  13. package/dist/components/Alert/Alert.js +1 -1
  14. package/dist/components/Alert/Alert.types.d.ts +1 -1
  15. package/dist/components/Autocomplete/Autocomplete.js +4 -4
  16. package/dist/components/Autocomplete/Autocomplete.types.d.ts +2 -2
  17. package/dist/components/Avatar/Avatar.js +2 -2
  18. package/dist/components/Badge/Badge.js +4 -4
  19. package/dist/components/Badge/Badge.types.d.ts +1 -1
  20. package/dist/components/Breadcrumbs/Breadcrumbs.js +3 -3
  21. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  22. package/dist/components/Breadcrumbs/BreadcrumbsItem.js +1 -1
  23. package/dist/components/Button/Button.js +2 -2
  24. package/dist/components/Button/Button.module.css +1 -1
  25. package/dist/components/Button/Button.types.d.ts +3 -3
  26. package/dist/components/Calendar/Calendar.types.d.ts +7 -1
  27. package/dist/components/Calendar/CalendarControlled.js +4 -4
  28. package/dist/components/Calendar/CalendarControls.js +2 -2
  29. package/dist/components/Calendar/CalendarDate.js +5 -5
  30. package/dist/components/Calendar/CalendarMonth.js +3 -3
  31. package/dist/components/Calendar/CalendarYear.js +1 -1
  32. package/dist/components/Calendar/useCalendarKeyboardNavigation.js +1 -1
  33. package/dist/components/Card/Card.js +2 -2
  34. package/dist/components/Card/Card.module.css +1 -1
  35. package/dist/components/Card/Card.types.d.ts +1 -1
  36. package/dist/components/Carousel/Carousel.js +4 -4
  37. package/dist/components/Carousel/Carousel.types.d.ts +1 -1
  38. package/dist/components/Carousel/CarouselControl.d.ts +1 -1
  39. package/dist/components/Carousel/CarouselControl.js +3 -3
  40. package/dist/components/Checkbox/Checkbox.js +3 -3
  41. package/dist/components/CheckboxGroup/CheckboxGroup.types.d.ts +1 -1
  42. package/dist/components/Container/Container.js +1 -1
  43. package/dist/components/Container/Container.types.d.ts +1 -1
  44. package/dist/components/ContextMenu/ContextMenu.js +1 -1
  45. package/dist/components/Dismissible/Dismissible.js +1 -1
  46. package/dist/components/Divider/Divider.d.ts +1 -1
  47. package/dist/components/Divider/Divider.js +1 -1
  48. package/dist/components/DropdownMenu/DropdownMenu.js +6 -6
  49. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +3 -3
  50. package/dist/components/FileUpload/FileUpload.js +2 -2
  51. package/dist/components/FileUpload/FileUpload.types.d.ts +1 -1
  52. package/dist/components/Flyout/Flyout.constants.d.ts +1 -3
  53. package/dist/components/Flyout/Flyout.constants.js +1 -3
  54. package/dist/components/Flyout/Flyout.js +1 -1
  55. package/dist/components/Flyout/FlyoutContent.js +4 -4
  56. package/dist/components/Flyout/FlyoutControlled.js +11 -13
  57. package/dist/components/Flyout/index.d.ts +1 -1
  58. package/dist/components/Flyout/index.js +1 -1
  59. package/dist/components/Flyout/useFlyout.d.ts +1 -1
  60. package/dist/components/Flyout/useFlyout.js +1 -1
  61. package/dist/components/Flyout/utilities/cooldown.js +1 -2
  62. package/dist/components/Flyout/utilities/flyout.d.ts +1 -1
  63. package/dist/components/Flyout/utilities/flyout.js +1 -1
  64. package/dist/components/FormControl/FormControlCaption.js +1 -1
  65. package/dist/components/FormControl/FormControlLabel.js +1 -1
  66. package/dist/components/FormControl/index.d.ts +2 -2
  67. package/dist/components/FormControl/index.js +2 -2
  68. package/dist/components/Grid/Grid.js +1 -1
  69. package/dist/components/Grid/Grid.types.d.ts +2 -2
  70. package/dist/components/Icon/Icon.js +1 -1
  71. package/dist/components/Icon/Icon.module.css +1 -1
  72. package/dist/components/Image/Image.js +1 -1
  73. package/dist/components/Image/Image.types.d.ts +1 -1
  74. package/dist/components/Link/Link.js +1 -1
  75. package/dist/components/MenuItem/MenuItem.js +1 -1
  76. package/dist/components/MenuItem/MenuItem.types.d.ts +2 -2
  77. package/dist/components/Modal/Modal.js +7 -7
  78. package/dist/components/Modal/Modal.types.d.ts +1 -1
  79. package/dist/components/NumberField/NumberFieldControlled.js +7 -7
  80. package/dist/components/Overlay/Overlay.js +8 -8
  81. package/dist/components/PinField/PinFieldControlled.js +4 -4
  82. package/dist/components/Popover/Popover.js +3 -3
  83. package/dist/components/Popover/Popover.types.d.ts +1 -1
  84. package/dist/components/Progress/Progress.module.css +1 -1
  85. package/dist/components/Radio/Radio.js +3 -3
  86. package/dist/components/RadioGroup/RadioGroup.types.d.ts +1 -1
  87. package/dist/components/Reshaped/Reshaped.css +1 -1
  88. package/dist/components/Reshaped/Reshaped.js +4 -4
  89. package/dist/components/Reshaped/Reshaped.types.d.ts +1 -1
  90. package/dist/components/Resizable/Resizable.js +2 -2
  91. package/dist/components/Resizable/Resizable.types.d.ts +1 -1
  92. package/dist/components/Resizable/ResizableHandle.js +1 -1
  93. package/dist/components/ScrollArea/ScrollArea.js +4 -4
  94. package/dist/components/Select/Select.types.d.ts +3 -3
  95. package/dist/components/Select/SelectCustomControlled.js +6 -3
  96. package/dist/components/Select/SelectEndContent.js +1 -1
  97. package/dist/components/Select/SelectGroup.js +1 -1
  98. package/dist/components/Select/SelectNative.js +2 -2
  99. package/dist/components/Select/SelectRoot.js +1 -1
  100. package/dist/components/Select/SelectTrigger.js +1 -1
  101. package/dist/components/Select/index.d.ts +1 -1
  102. package/dist/components/Select/index.js +1 -1
  103. package/dist/components/Skeleton/Skeleton.js +1 -1
  104. package/dist/components/Slider/SliderControlled.js +7 -7
  105. package/dist/components/Slider/SliderThumb.js +3 -3
  106. package/dist/components/Stepper/Stepper.js +4 -4
  107. package/dist/components/Switch/Switch.js +1 -1
  108. package/dist/components/Table/Table.js +2 -2
  109. package/dist/components/Tabs/Tabs.types.d.ts +1 -1
  110. package/dist/components/Tabs/TabsItem.js +2 -2
  111. package/dist/components/Tabs/TabsList.js +8 -8
  112. package/dist/components/Tabs/TabsPanel.js +2 -2
  113. package/dist/components/Text/Text.js +1 -1
  114. package/dist/components/Text/Text.module.css +1 -1
  115. package/dist/components/TextArea/TextArea.js +1 -1
  116. package/dist/components/TextArea/TextArea.types.d.ts +1 -1
  117. package/dist/components/TextField/TextField.js +2 -2
  118. package/dist/components/TextField/TextField.types.d.ts +2 -2
  119. package/dist/components/Theme/GlobalColorMode.js +1 -1
  120. package/dist/components/Theme/Theme.js +2 -2
  121. package/dist/components/Theme/Theme.module.css +1 -1
  122. package/dist/components/Timeline/Timeline.js +1 -1
  123. package/dist/components/Toast/Toast.js +2 -2
  124. package/dist/components/Toast/Toast.types.d.ts +1 -1
  125. package/dist/components/Toast/ToastContainer.js +3 -3
  126. package/dist/components/Toast/ToastProvider.js +1 -1
  127. package/dist/components/Toast/ToastRegion.js +2 -2
  128. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.types.d.ts +1 -1
  129. package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +1 -1
  130. package/dist/components/Tooltip/Tooltip.js +5 -3
  131. package/dist/components/View/View.js +2 -2
  132. package/dist/components/View/View.types.d.ts +1 -1
  133. package/dist/components/_private/Expandable/Expandable.js +2 -2
  134. package/dist/components/_private/Portal/Portal.js +1 -1
  135. package/dist/config/tailwind.js +2 -2
  136. package/dist/hooks/_private/useDrag.js +4 -4
  137. package/dist/hooks/_private/useFadeSide.js +1 -1
  138. package/dist/hooks/useOnClickOutside.js +2 -4
  139. package/dist/hooks/useResponsiveClientValue.js +1 -1
  140. package/dist/styles/mixin.js +1 -1
  141. package/dist/tests/ThemesPlayground.js +16 -16
  142. package/dist/themes/_generator/definitions/slate.js +1 -1
  143. package/dist/themes/_generator/tokens/color/utilities/generateColors.d.ts +1 -1
  144. package/dist/themes/_generator/tokens/color/utilities/generateMetaColors.d.ts +1 -1
  145. package/dist/themes/_generator/tokens/color/utilities/generateMetaColors.js +1 -1
  146. package/dist/themes/_generator/tokens/css.js +2 -2
  147. package/dist/themes/_generator/tokens/font/font.types.d.ts +2 -2
  148. package/dist/themes/_generator/tokens/transforms.js +1 -1
  149. package/dist/themes/_generator/tokens/types.d.ts +3 -3
  150. package/dist/themes/_generator/transform.d.ts +1 -1
  151. package/dist/themes/_generator/transform.js +3 -3
  152. package/dist/themes/figma/theme.css +1 -1
  153. package/dist/themes/fragments/twitter/theme.css +1 -1
  154. package/dist/themes/index.d.ts +1 -1
  155. package/dist/themes/reshaped/theme.css +1 -1
  156. package/dist/themes/slate/theme.css +1 -1
  157. package/dist/types/config.d.ts +1 -1
  158. package/dist/utilities/a11y/TrapFocus.js +4 -4
  159. package/dist/utilities/scroll/lock.js +1 -1
  160. package/dist/utilities/scroll/lockStandard.js +1 -1
  161. package/dist/utilities/storybook/Example.js +1 -1
  162. package/package.json +42 -35
  163. package/dist/components/Accordion/tests/Accordion.stories.d.ts +0 -44
  164. package/dist/components/Accordion/tests/Accordion.stories.js +0 -204
  165. package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +0 -40
  166. package/dist/components/ActionBar/tests/ActionBar.stories.js +0 -223
  167. package/dist/components/Actionable/tests/Actionable.stories.d.ts +0 -41
  168. package/dist/components/Actionable/tests/Actionable.stories.js +0 -220
  169. package/dist/components/Alert/tests/Alert.stories.d.ts +0 -24
  170. package/dist/components/Alert/tests/Alert.stories.js +0 -78
  171. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +0 -32
  172. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +0 -246
  173. package/dist/components/Avatar/tests/Avatar.stories.d.ts +0 -31
  174. package/dist/components/Avatar/tests/Avatar.stories.js +0 -176
  175. package/dist/components/Badge/tests/Badge.stories.d.ts +0 -55
  176. package/dist/components/Badge/tests/Badge.stories.js +0 -328
  177. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +0 -40
  178. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +0 -187
  179. package/dist/components/Button/tests/Button.stories.d.ts +0 -79
  180. package/dist/components/Button/tests/Button.stories.js +0 -789
  181. package/dist/components/Calendar/tests/Calendar.stories.d.ts +0 -29
  182. package/dist/components/Calendar/tests/Calendar.stories.js +0 -255
  183. package/dist/components/Card/tests/Card.stories.d.ts +0 -52
  184. package/dist/components/Card/tests/Card.stories.js +0 -125
  185. package/dist/components/Carousel/tests/Carousel.stories.d.ts +0 -34
  186. package/dist/components/Carousel/tests/Carousel.stories.js +0 -224
  187. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +0 -30
  188. package/dist/components/Checkbox/tests/Checkbox.stories.js +0 -171
  189. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +0 -19
  190. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +0 -83
  191. package/dist/components/Container/tests/Container.stories.d.ts +0 -24
  192. package/dist/components/Container/tests/Container.stories.js +0 -75
  193. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +0 -26
  194. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +0 -70
  195. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +0 -25
  196. package/dist/components/Dismissible/tests/Dismissible.stories.js +0 -97
  197. package/dist/components/Divider/tests/Divider.stories.d.ts +0 -20
  198. package/dist/components/Divider/tests/Divider.stories.js +0 -120
  199. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +0 -53
  200. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +0 -278
  201. package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +0 -31
  202. package/dist/components/FileUpload/tests/FileUpload.stories.js +0 -140
  203. package/dist/components/Flyout/tests/Flyout.stories.d.ts +0 -103
  204. package/dist/components/Flyout/tests/Flyout.stories.js +0 -738
  205. package/dist/components/FormControl/tests/FormControl.stories.d.ts +0 -31
  206. package/dist/components/FormControl/tests/FormControl.stories.js +0 -143
  207. package/dist/components/Grid/tests/Grid.stories.d.ts +0 -38
  208. package/dist/components/Grid/tests/Grid.stories.js +0 -245
  209. package/dist/components/Hidden/tests/Hidden.stories.d.ts +0 -16
  210. package/dist/components/Hidden/tests/Hidden.stories.js +0 -48
  211. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +0 -16
  212. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +0 -28
  213. package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +0 -13
  214. package/dist/components/Hotkey/tests/Hotkey.stories.js +0 -53
  215. package/dist/components/Icon/tests/Icon.stories.d.ts +0 -25
  216. package/dist/components/Icon/tests/Icon.stories.js +0 -113
  217. package/dist/components/Image/tests/Image.stories.d.ts +0 -41
  218. package/dist/components/Image/tests/Image.stories.js +0 -196
  219. package/dist/components/Link/tests/Link.stories.d.ts +0 -42
  220. package/dist/components/Link/tests/Link.stories.js +0 -155
  221. package/dist/components/Loader/tests/Loader.stories.d.ts +0 -21
  222. package/dist/components/Loader/tests/Loader.stories.js +0 -68
  223. package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +0 -59
  224. package/dist/components/MenuItem/tests/MenuItem.stories.js +0 -236
  225. package/dist/components/Modal/tests/Modal.stories.d.ts +0 -64
  226. package/dist/components/Modal/tests/Modal.stories.js +0 -410
  227. package/dist/components/NumberField/tests/NumberField.stories.d.ts +0 -28
  228. package/dist/components/NumberField/tests/NumberField.stories.js +0 -258
  229. package/dist/components/Overlay/tests/Overlay.stories.d.ts +0 -28
  230. package/dist/components/Overlay/tests/Overlay.stories.js +0 -202
  231. package/dist/components/Pagination/tests/Pagination.stories.d.ts +0 -24
  232. package/dist/components/Pagination/tests/Pagination.stories.js +0 -105
  233. package/dist/components/PinField/tests/PinField.stories.d.ts +0 -34
  234. package/dist/components/PinField/tests/PinField.stories.js +0 -209
  235. package/dist/components/Popover/tests/Popover.stories.d.ts +0 -69
  236. package/dist/components/Popover/tests/Popover.stories.js +0 -340
  237. package/dist/components/Progress/tests/Progress.stories.d.ts +0 -30
  238. package/dist/components/Progress/tests/Progress.stories.js +0 -102
  239. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +0 -19
  240. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.js +0 -92
  241. package/dist/components/Radio/tests/Radio.stories.d.ts +0 -35
  242. package/dist/components/Radio/tests/Radio.stories.js +0 -162
  243. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +0 -19
  244. package/dist/components/RadioGroup/tests/RadioGroup.stories.js +0 -77
  245. package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +0 -34
  246. package/dist/components/Reshaped/tests/Reshaped.stories.js +0 -108
  247. package/dist/components/Resizable/tests/Resizable.stories.d.ts +0 -38
  248. package/dist/components/Resizable/tests/Resizable.stories.js +0 -185
  249. package/dist/components/Scrim/tests/Scrim.stories.d.ts +0 -20
  250. package/dist/components/Scrim/tests/Scrim.stories.js +0 -67
  251. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +0 -37
  252. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +0 -244
  253. package/dist/components/Select/tests/Select.stories.d.ts +0 -53
  254. package/dist/components/Select/tests/Select.stories.js +0 -616
  255. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +0 -20
  256. package/dist/components/Skeleton/tests/Skeleton.stories.js +0 -63
  257. package/dist/components/Slider/tests/Slider.stories.d.ts +0 -47
  258. package/dist/components/Slider/tests/Slider.stories.js +0 -279
  259. package/dist/components/Stepper/tests/Stepper.stories.d.ts +0 -31
  260. package/dist/components/Stepper/tests/Stepper.stories.js +0 -135
  261. package/dist/components/Switch/tests/Switch.stories.d.ts +0 -22
  262. package/dist/components/Switch/tests/Switch.stories.js +0 -137
  263. package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -13
  264. package/dist/components/Switch/tests/Switch.test.stories.js +0 -11
  265. package/dist/components/Table/tests/Table.stories.d.ts +0 -42
  266. package/dist/components/Table/tests/Table.stories.js +0 -348
  267. package/dist/components/Tabs/tests/Tabs.stories.d.ts +0 -62
  268. package/dist/components/Tabs/tests/Tabs.stories.js +0 -539
  269. package/dist/components/Text/tests/Text.stories.d.ts +0 -48
  270. package/dist/components/Text/tests/Text.stories.js +0 -201
  271. package/dist/components/TextArea/tests/TextArea.stories.d.ts +0 -53
  272. package/dist/components/TextArea/tests/TextArea.stories.js +0 -204
  273. package/dist/components/TextField/tests/TextField.stories.d.ts +0 -54
  274. package/dist/components/TextField/tests/TextField.stories.js +0 -252
  275. package/dist/components/Theme/tests/Theme.stories.d.ts +0 -25
  276. package/dist/components/Theme/tests/Theme.stories.js +0 -171
  277. package/dist/components/Timeline/tests/Timeline.stories.d.ts +0 -22
  278. package/dist/components/Timeline/tests/Timeline.stories.js +0 -86
  279. package/dist/components/Toast/tests/Toast.stories.d.ts +0 -41
  280. package/dist/components/Toast/tests/Toast.stories.js +0 -432
  281. package/dist/components/ToggleButton/tests/ToggleButton.stories.d.ts +0 -27
  282. package/dist/components/ToggleButton/tests/ToggleButton.stories.js +0 -97
  283. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.d.ts +0 -27
  284. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.js +0 -169
  285. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +0 -28
  286. package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -182
  287. package/dist/components/View/tests/View.stories.d.ts +0 -141
  288. package/dist/components/View/tests/View.stories.js +0 -1329
  289. package/dist/components/_private/Portal/tests/Portal.stories.d.ts +0 -6
  290. package/dist/components/_private/Portal/tests/Portal.stories.js +0 -17
  291. package/dist/hooks/tests/useDrag.stories.d.ts +0 -31
  292. package/dist/hooks/tests/useDrag.stories.js +0 -147
  293. package/dist/hooks/tests/useElementId.stories.d.ts +0 -11
  294. package/dist/hooks/tests/useElementId.stories.js +0 -23
  295. package/dist/hooks/tests/useHandlerRef.stories.d.ts +0 -14
  296. package/dist/hooks/tests/useHandlerRef.stories.js +0 -44
  297. package/dist/hooks/tests/useHotkeys.stories.d.ts +0 -43
  298. package/dist/hooks/tests/useHotkeys.stories.js +0 -158
  299. package/dist/hooks/tests/useKeyboardArrowNavigation.stories.d.ts +0 -15
  300. package/dist/hooks/tests/useKeyboardArrowNavigation.stories.js +0 -128
  301. package/dist/hooks/tests/useKeyboardMode.stories.d.ts +0 -11
  302. package/dist/hooks/tests/useKeyboardMode.stories.js +0 -42
  303. package/dist/hooks/tests/useOnClickOutside.stories.d.ts +0 -23
  304. package/dist/hooks/tests/useOnClickOutside.stories.js +0 -111
  305. package/dist/hooks/tests/useRTL.stories.d.ts +0 -11
  306. package/dist/hooks/tests/useRTL.stories.js +0 -23
  307. package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +0 -18
  308. package/dist/hooks/tests/useResponsiveClientValue.stories.js +0 -30
  309. package/dist/hooks/tests/useScrollLock.stories.d.ts +0 -14
  310. package/dist/hooks/tests/useScrollLock.stories.js +0 -97
  311. package/dist/hooks/tests/useToggle.stories.d.ts +0 -13
  312. package/dist/hooks/tests/useToggle.stories.js +0 -59
  313. package/dist/tests/ShadowDOM.stories.d.ts +0 -6
  314. package/dist/tests/ShadowDOM.stories.js +0 -110
  315. package/dist/tests/themes.stories.d.ts +0 -16
  316. package/dist/tests/themes.stories.js +0 -327
  317. package/dist/utilities/a11y/tests/TrapFocus.stories.d.ts +0 -14
  318. package/dist/utilities/a11y/tests/TrapFocus.stories.js +0 -615
@@ -1,38 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").ResizableProps> & {
5
- Item: typeof import("../Resizable").ResizableItem;
6
- Handle: import("react").FC<import("./..").ResizableHandleProps>;
7
- };
8
- parameters: {
9
- iframe: {
10
- url: string;
11
- };
12
- a11y: {
13
- disable: boolean;
14
- };
15
- };
16
- };
17
- export default _default;
18
- export declare const direction: {
19
- name: string;
20
- render: () => import("react").JSX.Element;
21
- };
22
- export declare const children: {
23
- name: string;
24
- render: () => import("react").JSX.Element;
25
- };
26
- export declare const variant: {
27
- name: string;
28
- render: () => import("react").JSX.Element;
29
- };
30
- export declare const size: {
31
- name: string;
32
- render: () => import("react").JSX.Element;
33
- };
34
- export declare const layout: {
35
- name: string;
36
- render: () => import("react").JSX.Element;
37
- };
38
- export declare const className: StoryObj;
@@ -1,185 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import { Example } from "../../../utilities/storybook/index.js";
3
- import Resizable from "../index.js";
4
- import View from "../../View/index.js";
5
- import Button from "../../Button/index.js";
6
- export default {
7
- title: "Components/Resizable",
8
- component: Resizable,
9
- parameters: {
10
- iframe: {
11
- url: "https://reshaped.so/docs/utilities/resizable",
12
- },
13
- // Skip because of the aria-hidden applied to buttons, they're not needed for the screen reader navigation
14
- a11y: {
15
- disable: true,
16
- },
17
- },
18
- };
19
- const Panel = (props) => (<View backgroundColor="neutral-faded" borderRadius="medium" align="center" justify="center" height={props.height ?? "100%"}>
20
- Panel
21
- </View>);
22
- const Handle = () => {
23
- return (<Resizable.Handle>
24
- {(attributes, props) => (<View backgroundColor={props.status === "dragging" ? "primary" : "primary-faded"} padding={props.direction === "column" ? 1 : 8} height="100%" align="center" justify="center" borderRadius="small" animated>
25
- <Button attributes={attributes} type="button">
26
- Drag me
27
- </Button>
28
- </View>)}
29
- </Resizable.Handle>);
30
- };
31
- export const direction = {
32
- name: "direction",
33
- render: () => {
34
- return (<Example>
35
- <Example.Item title="row">
36
- <Resizable height="200px">
37
- <Resizable.Item>
38
- <Panel />
39
- </Resizable.Item>
40
- <Resizable.Handle />
41
- <Resizable.Item>
42
- <Panel />
43
- </Resizable.Item>
44
- <Resizable.Handle />
45
- <Resizable.Item>
46
- <Panel />
47
- </Resizable.Item>
48
- </Resizable>
49
- </Example.Item>
50
- <Example.Item title="column">
51
- <Resizable height="400px" direction="column">
52
- <Resizable.Item>
53
- <Panel />
54
- </Resizable.Item>
55
- <Resizable.Handle />
56
- <Resizable.Item>
57
- <Panel />
58
- </Resizable.Item>
59
- <Resizable.Handle />
60
- <Resizable.Item>
61
- <Panel />
62
- </Resizable.Item>
63
- </Resizable>
64
- </Example.Item>
65
-
66
- {/* Test that page doesn't scroll on dragging */}
67
- <div style={{ height: 2000 }}/>
68
- </Example>);
69
- },
70
- };
71
- export const children = {
72
- name: "children",
73
- render: () => {
74
- return (<Example>
75
- <Example.Item title="render props, row">
76
- <Resizable height="200px">
77
- <Resizable.Item>
78
- <Panel />
79
- </Resizable.Item>
80
- <Resizable.Handle />
81
- <Resizable.Item>
82
- <Panel />
83
- </Resizable.Item>
84
- <Handle />
85
- <Resizable.Item>
86
- <Panel />
87
- </Resizable.Item>
88
- </Resizable>
89
- </Example.Item>
90
- <Example.Item title="render props, column">
91
- <Resizable height="400px" direction="column">
92
- <Resizable.Item>
93
- <Panel />
94
- </Resizable.Item>
95
- <Resizable.Handle />
96
- <Resizable.Item>
97
- <Panel />
98
- </Resizable.Item>
99
- <Handle />
100
- <Resizable.Item>
101
- <Panel />
102
- </Resizable.Item>
103
- </Resizable>
104
- </Example.Item>
105
- </Example>);
106
- },
107
- };
108
- export const variant = {
109
- name: "variant",
110
- render: () => (<Example>
111
- <Example.Item title="bordered, row">
112
- <Resizable height="200px" variant="bordered">
113
- <Resizable.Item>
114
- <Panel />
115
- </Resizable.Item>
116
- <Resizable.Handle />
117
- <Resizable.Item>
118
- <Panel />
119
- </Resizable.Item>
120
- <Resizable.Handle />
121
- <Resizable.Item>
122
- <Panel />
123
- </Resizable.Item>
124
- </Resizable>
125
- </Example.Item>
126
- <Example.Item title="bordered, column">
127
- <Resizable height="400px" direction="column" variant="bordered">
128
- <Resizable.Item>
129
- <Panel />
130
- </Resizable.Item>
131
- <Resizable.Handle />
132
- <Resizable.Item>
133
- <Panel />
134
- </Resizable.Item>
135
- <Resizable.Handle />
136
- <Resizable.Item>
137
- <Panel />
138
- </Resizable.Item>
139
- </Resizable>
140
- </Example.Item>
141
- </Example>),
142
- };
143
- export const size = {
144
- name: "minSize, maxSize, defaultSize",
145
- render: () => (<Resizable className="test-classname" attributes={{ id: "test-id" }} height="200px">
146
- <Resizable.Item>
147
- <Panel />
148
- </Resizable.Item>
149
- <Resizable.Handle />
150
- <Resizable.Item minSize="200px" maxSize="500px" defaultSize="300px">
151
- <Panel />
152
- </Resizable.Item>
153
- </Resizable>),
154
- };
155
- export const layout = {
156
- name: "height, gap",
157
- render: () => (<Resizable height="100px" gap={8}>
158
- <Resizable.Item>
159
- <Panel />
160
- </Resizable.Item>
161
- <Resizable.Handle />
162
- <Resizable.Item>
163
- <Panel />
164
- </Resizable.Item>
165
- </Resizable>),
166
- };
167
- export const className = {
168
- name: "className, attributes",
169
- render: () => (<div data-testid="root">
170
- <Resizable className="test-classname" attributes={{ id: "test-id" }} height="200px">
171
- <Resizable.Item>
172
- <Panel />
173
- </Resizable.Item>
174
- <Resizable.Handle />
175
- <Resizable.Item>
176
- <Panel />
177
- </Resizable.Item>
178
- </Resizable>
179
- </div>),
180
- play: async ({ canvas }) => {
181
- const root = canvas.getByTestId("root").firstChild;
182
- expect(root).toHaveClass("test-classname");
183
- expect(root).toHaveAttribute("id", "test-id");
184
- },
185
- };
@@ -1,20 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").ScrimProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- };
10
- };
11
- export default _default;
12
- export declare const position: {
13
- name: string;
14
- render: () => import("react").JSX.Element;
15
- };
16
- export declare const className: StoryObj;
17
- export declare const composition: {
18
- name: string;
19
- render: () => import("react").JSX.Element;
20
- };
@@ -1,67 +0,0 @@
1
- import { Example, Placeholder } from "../../../utilities/storybook/index.js";
2
- import Scrim from "../index.js";
3
- import { expect } from "storybook/test";
4
- export default {
5
- title: "Components/Scrim",
6
- component: Scrim,
7
- parameters: {
8
- iframe: {
9
- url: "https://reshaped.so/docs/components/scrim",
10
- },
11
- },
12
- };
13
- export const position = {
14
- name: "position",
15
- render: () => (<Example>
16
- <Example.Item title="position: center">
17
- <Scrim backgroundSlot={<Placeholder h={200}/>}>Scrim</Scrim>
18
- </Example.Item>
19
-
20
- <Example.Item title="position: bottom">
21
- <Scrim position="bottom" backgroundSlot={<Placeholder h={200}/>}>
22
- Scrim
23
- </Scrim>
24
- </Example.Item>
25
-
26
- <Example.Item title="position: top">
27
- <Scrim position="top" backgroundSlot={<Placeholder h={200}/>}>
28
- Scrim
29
- </Scrim>
30
- </Example.Item>
31
-
32
- <Example.Item title="position: start">
33
- <Scrim position="start" backgroundSlot={<Placeholder h={200}/>}>
34
- Scrim
35
- </Scrim>
36
- </Example.Item>
37
-
38
- <Example.Item title="position: end">
39
- <Scrim position="end" backgroundSlot={<Placeholder h={200}/>}>
40
- Scrim
41
- </Scrim>
42
- </Example.Item>
43
- </Example>),
44
- };
45
- export const className = {
46
- name: "className, attributes",
47
- render: () => (<div data-testid="root">
48
- <Scrim className="test-classname" attributes={{ id: "test-id" }}>
49
- Content
50
- </Scrim>
51
- </div>),
52
- play: async ({ canvas }) => {
53
- const root = canvas.getByTestId("root").firstChild;
54
- expect(root).toHaveClass("test-classname");
55
- expect(root).toHaveAttribute("id", "test-id");
56
- },
57
- };
58
- export const composition = {
59
- name: "test: composition",
60
- render: () => (<Example>
61
- <Example.Item title="without backgroundSlot, size is based on the parent component">
62
- <div style={{ height: 300, position: "relative" }}>
63
- <Scrim>Text</Scrim>
64
- </div>
65
- </Example.Item>
66
- </Example>),
67
- };
@@ -1,37 +0,0 @@
1
- import React from "react";
2
- import { StoryObj } from "@storybook/react-vite";
3
- import { Mock } from "storybook/test";
4
- declare const _default: {
5
- title: string;
6
- component: React.ForwardRefExoticComponent<import("./..").ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
7
- parameters: {
8
- iframe: {
9
- url: string;
10
- };
11
- a11y: {
12
- disable: boolean;
13
- };
14
- };
15
- };
16
- export default _default;
17
- export declare const base: {
18
- name: string;
19
- render: () => React.JSX.Element;
20
- };
21
- export declare const scrollbarDisplay: {
22
- name: string;
23
- render: () => React.JSX.Element;
24
- };
25
- export declare const height: {
26
- name: string;
27
- render: () => React.JSX.Element;
28
- };
29
- export declare const onScroll: StoryObj<{
30
- handleScroll: Mock;
31
- }>;
32
- export declare const className: StoryObj;
33
- export declare const testNested: {
34
- name: string;
35
- render: () => React.JSX.Element;
36
- };
37
- export declare const testDynamicHeight: StoryObj;
@@ -1,244 +0,0 @@
1
- import React from "react";
2
- import { userEvent, expect, waitFor, fn } from "storybook/test";
3
- import { Example } from "../../../utilities/storybook/index.js";
4
- import ScrollArea from "../index.js";
5
- import View from "../../View/index.js";
6
- import Button from "../../Button/index.js";
7
- export default {
8
- title: "Utility components/ScrollArea",
9
- component: ScrollArea,
10
- parameters: {
11
- iframe: {
12
- url: "https://reshaped.so/docs/utilities/scroll-area",
13
- },
14
- // Skip because axe core incorrectly reports contrast issues
15
- a11y: {
16
- disable: true,
17
- },
18
- },
19
- };
20
- export const base = {
21
- name: "base",
22
- render: () => (<Example>
23
- <Example.Item title="vertical scroll">
24
- <ScrollArea height="100px" scrollbarDisplay="visible">
25
- <View backgroundColor="elevation-base" padding={4}>
26
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
27
- has been the industry's standard dummy text ever since the 1500s, when an unknown
28
- printer took a galley of type and scrambled it to make a type specimen book. It has
29
- survived not only five centuries, but also the leap into electronic typesetting,
30
- remaining essentially unchanged. It was popularised in the 1960s with the release of
31
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
32
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
33
- </View>
34
- </ScrollArea>
35
- </Example.Item>
36
-
37
- <Example.Item title="horizontal scroll">
38
- <ScrollArea height="100px" scrollbarDisplay="visible">
39
- <View backgroundColor="elevation-base" padding={4} width="150%" height="100px">
40
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
41
- has been the industry's standard dummy text ever since the 1500s
42
- </View>
43
- </ScrollArea>
44
- </Example.Item>
45
-
46
- <Example.Item title="horizontal and vertical scroll">
47
- <ScrollArea height="100px" scrollbarDisplay="visible">
48
- <View backgroundColor="elevation-base" padding={4} width="150%">
49
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
50
- has been the industry's standard dummy text ever since the 1500s, when an unknown
51
- printer took a galley of type and scrambled it to make a type specimen book. It has
52
- survived not only five centuries, but also the leap into electronic typesetting,
53
- remaining essentially unchanged. It was popularised in the 1960s with the release of
54
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
55
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
56
- </View>
57
- </ScrollArea>
58
- </Example.Item>
59
- </Example>),
60
- };
61
- export const scrollbarDisplay = {
62
- name: "scrollbarDisplay",
63
- render: () => (<Example>
64
- <Example.Item title="scrollbarDisplay: hover">
65
- <ScrollArea height="100px">
66
- <View backgroundColor="elevation-base" padding={4} width="150%">
67
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
68
- has been the industry's standard dummy text ever since the 1500s, when an unknown
69
- printer took a galley of type and scrambled it to make a type specimen book. It has
70
- survived not only five centuries, but also the leap into electronic typesetting,
71
- remaining essentially unchanged. It was popularised in the 1960s with the release of
72
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
73
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
74
- </View>
75
- </ScrollArea>
76
- </Example.Item>
77
-
78
- <Example.Item title="scrollbarDisplay: hidden">
79
- <ScrollArea height="100px" scrollbarDisplay="hidden">
80
- <View backgroundColor="elevation-base" padding={4} width="150%">
81
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
82
- has been the industry's standard dummy text ever since the 1500s, when an unknown
83
- printer took a galley of type and scrambled it to make a type specimen book. It has
84
- survived not only five centuries, but also the leap into electronic typesetting,
85
- remaining essentially unchanged. It was popularised in the 1960s with the release of
86
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
87
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
88
- </View>
89
- </ScrollArea>
90
- </Example.Item>
91
-
92
- <Example.Item title="scrollbarDisplay: visible">
93
- <ScrollArea height="100px" scrollbarDisplay="visible">
94
- <View backgroundColor="elevation-base" padding={4} width="150%">
95
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
96
- has been the industry's standard dummy text ever since the 1500s, when an unknown
97
- printer took a galley of type and scrambled it to make a type specimen book. It has
98
- survived not only five centuries, but also the leap into electronic typesetting,
99
- remaining essentially unchanged. It was popularised in the 1960s with the release of
100
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
101
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
102
- </View>
103
- </ScrollArea>
104
- </Example.Item>
105
- </Example>),
106
- };
107
- export const height = {
108
- name: "height, maxHeight",
109
- render: () => (<Example>
110
- <Example.Item title="height: 80px">
111
- <ScrollArea height="80px">
112
- <View backgroundColor="elevation-base" padding={4}>
113
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
114
- has been the industry's standard dummy text ever since the 1500s, when an unknown
115
- printer took a galley of type and scrambled it to make a type specimen book. It has
116
- survived not only five centuries, but also the leap into electronic typesetting,
117
- remaining essentially unchanged. It was popularised in the 1960s with the release of
118
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
119
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
120
- </View>
121
- </ScrollArea>
122
- </Example.Item>
123
-
124
- <Example.Item title="responsive height: s 80px, m: 120px">
125
- <ScrollArea height={{ s: "80px", m: "120px" }}>
126
- <View backgroundColor="elevation-base" padding={4}>
127
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
128
- has been the industry's standard dummy text ever since the 1500s, when an unknown
129
- printer took a galley of type and scrambled it to make a type specimen book. It has
130
- survived not only five centuries, but also the leap into electronic typesetting,
131
- remaining essentially unchanged. It was popularised in the 1960s with the release of
132
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
133
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
134
- </View>
135
- </ScrollArea>
136
- </Example.Item>
137
-
138
- <Example.Item title="maxHeight: 80px">
139
- <ScrollArea maxHeight="80px">
140
- <View backgroundColor="elevation-base" padding={4}>
141
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
142
- has been the industry's standard dummy text ever since the 1500s, when an unknown
143
- printer took a galley of type and scrambled it to make a type specimen book. It has
144
- survived not only five centuries, but also the leap into electronic typesetting,
145
- remaining essentially unchanged. It was popularised in the 1960s with the release of
146
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
147
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
148
- </View>
149
- </ScrollArea>
150
- </Example.Item>
151
-
152
- <Example.Item title="responsive max height: s 80px, m: 200px">
153
- <ScrollArea maxHeight={{ s: "80px", m: "200px" }}>
154
- <View backgroundColor="elevation-base" padding={4}>
155
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
156
- has been the industry's standard dummy text ever since the 1500s, when an unknown
157
- printer took a galley of type and scrambled it to make a type specimen book. It has
158
- survived not only five centuries, but also the leap into electronic typesetting,
159
- remaining essentially unchanged. It was popularised in the 1960s with the release of
160
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
161
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
162
- </View>
163
- </ScrollArea>
164
- </Example.Item>
165
- </Example>),
166
- };
167
- export const onScroll = {
168
- name: "ref, onScroll",
169
- args: {
170
- handleScroll: fn(),
171
- },
172
- render: (args) => {
173
- const ref = React.useRef(null);
174
- return (<View gap={4}>
175
- <View.Item>
176
- <Button onClick={() => ref.current?.scrollBy({ top: 50, left: 50 })}>Scroll</Button>
177
- </View.Item>
178
- <ScrollArea height="100px" ref={ref} scrollbarDisplay="visible" onScroll={args.handleScroll}>
179
- <View backgroundColor="neutral-faded" padding={4} width="1000px" height="200px">
180
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum
181
- has been the industry's standard dummy text ever since the 1500s, when an unknown
182
- printer took a galley of type and scrambled it to make a type specimen book. It has
183
- survived not only five centuries, but also the leap into electronic typesetting,
184
- remaining essentially unchanged. It was popularised in the 1960s with the release of
185
- Letraset sheets containing Lorem Ipsum passages, and more recently with desktop
186
- publishing software like Aldus PageMaker including versions of Lorem Ipsum.
187
- </View>
188
- </ScrollArea>
189
- </View>);
190
- },
191
- play: async ({ canvas, args }) => {
192
- const trigger = canvas.getAllByRole("button")[0];
193
- await userEvent.click(trigger);
194
- await waitFor(() => {
195
- expect(args.handleScroll).toHaveBeenCalledTimes(1);
196
- // x value is flaky, so only testing y here
197
- expect(args.handleScroll).toHaveBeenCalledWith(expect.objectContaining({ y: 0.5 }));
198
- });
199
- },
200
- };
201
- export const className = {
202
- name: "className, attributes",
203
- render: () => (<div data-testid="root">
204
- <ScrollArea className="test-classname" attributes={{ id: "test-id" }}>
205
- Content
206
- </ScrollArea>
207
- </div>),
208
- play: async ({ canvas }) => {
209
- const root = canvas.getByTestId("root").firstChild;
210
- expect(root).toHaveClass("test-classname");
211
- expect(root).toHaveAttribute("id", "test-id");
212
- },
213
- };
214
- export const testNested = {
215
- name: "test: nested",
216
- render: () => (<ScrollArea height="100px" scrollbarDisplay="visible">
217
- <View padding={4} paddingInline={16}>
218
- <ScrollArea height="200px" scrollbarDisplay="visible">
219
- {Array(20)
220
- .fill("")
221
- .map((_, index) => {
222
- return <div key={index}>Item {index + 1}</div>;
223
- })}
224
- </ScrollArea>
225
- </View>
226
- </ScrollArea>),
227
- };
228
- export const testDynamicHeight = {
229
- name: "test: dynamic height change",
230
- render: () => {
231
- const [count, setCount] = React.useState(10);
232
- return (<View gap={4}>
233
- <View.Item>
234
- <Button onClick={() => setCount((prev) => prev + 10)}>Add more items</Button>
235
- </View.Item>
236
-
237
- <ScrollArea height="200px" scrollbarDisplay="visible">
238
- <View gap={2}>
239
- {new Array(count).fill("").map((_, i) => (<View.Item key={i}>Item {i + 1}</View.Item>))}
240
- </View>
241
- </ScrollArea>
242
- </View>);
243
- },
244
- };
@@ -1,53 +0,0 @@
1
- import React from "react";
2
- import { Mock } from "storybook/test";
3
- import { StoryObj } from "@storybook/react-vite";
4
- declare const _default: {
5
- title: string;
6
- component: React.FC<import("../Select.types").NativeProps> & {
7
- Custom: React.FC<import("../Select.types").CustomProps>;
8
- Option: React.FC<import("../Select.types").OptionProps>;
9
- Group: React.FC<import("../Select.types").GroupProps>;
10
- OptionGroup: React.FC<import("../Select.types").GroupProps>;
11
- };
12
- parameters: {
13
- iframe: {
14
- url: string;
15
- };
16
- };
17
- };
18
- export default _default;
19
- export declare const nativeRender: StoryObj;
20
- export declare const customRender: StoryObj;
21
- export declare const nativeHandlers: StoryObj<{
22
- handleChange: Mock;
23
- handleControlledChange: Mock;
24
- handleFocus: Mock;
25
- handleBlur: Mock;
26
- handleClick: Mock;
27
- }>;
28
- export declare const customHandlers: StoryObj<{
29
- handleChange: Mock;
30
- handleControlledChange: Mock;
31
- handleFocus: Mock;
32
- handleBlur: Mock;
33
- handleClick: Mock;
34
- }>;
35
- export declare const triggerOnly: StoryObj<{
36
- handleClick: Mock;
37
- }>;
38
- export declare const multiple: StoryObj<{
39
- handleChange: Mock;
40
- }>;
41
- export declare const variant: StoryObj;
42
- export declare const size: StoryObj;
43
- export declare const startSlot: StoryObj;
44
- export declare const renderValue: {
45
- name: string;
46
- render: () => React.JSX.Element;
47
- };
48
- export declare const error: StoryObj;
49
- export declare const disabled: StoryObj;
50
- export declare const className: StoryObj;
51
- export declare const fallback: StoryObj;
52
- export declare const formControl: StoryObj;
53
- export declare const testComposition: StoryObj;