reshaped 2.8.3 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/bundle.css +1 -1
  3. package/bundle.d.ts +2 -0
  4. package/bundle.js +10 -10
  5. package/components/Accordion/tests/Accordion.stories.d.ts +10 -0
  6. package/components/Accordion/tests/Accordion.stories.js +9 -3
  7. package/components/ActionBar/tests/ActionBar.stories.d.ts +9 -4
  8. package/components/ActionBar/tests/ActionBar.stories.js +9 -2
  9. package/components/Actionable/Actionable.d.ts +2 -2
  10. package/components/Actionable/Actionable.js +4 -4
  11. package/components/Actionable/tests/Actionable.stories.d.ts +10 -5
  12. package/components/Actionable/tests/Actionable.stories.js +10 -3
  13. package/components/Alert/tests/Alert.stories.d.ts +9 -4
  14. package/components/Alert/tests/Alert.stories.js +9 -2
  15. package/components/Autocomplete/tests/Autocomplete.stories.d.ts +9 -0
  16. package/components/Autocomplete/tests/Autocomplete.stories.js +9 -1
  17. package/components/Avatar/tests/Avatar.stories.d.ts +10 -5
  18. package/components/Avatar/tests/Avatar.stories.js +9 -2
  19. package/components/Badge/tests/Badge.stories.d.ts +9 -0
  20. package/components/Badge/tests/Badge.stories.js +9 -1
  21. package/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +13 -6
  22. package/components/Breadcrumbs/tests/Breadcrumbs.stories.js +9 -2
  23. package/components/Button/Button.js +3 -4
  24. package/components/Button/Button.types.d.ts +2 -6
  25. package/components/Button/tests/Button.stories.d.ts +18 -13
  26. package/components/Button/tests/Button.stories.js +9 -2
  27. package/components/Calendar/tests/Calendar.stories.d.ts +10 -5
  28. package/components/Calendar/tests/Calendar.stories.js +9 -2
  29. package/components/Card/Card.d.ts +2 -2
  30. package/components/Card/Card.js +4 -4
  31. package/components/Card/tests/Card.stories.d.ts +19 -0
  32. package/components/Card/tests/Card.stories.js +9 -1
  33. package/components/Carousel/tests/Carousel.stories.d.ts +6 -0
  34. package/components/Carousel/tests/Carousel.stories.js +9 -1
  35. package/components/Checkbox/tests/Checkbox.stories.d.ts +9 -4
  36. package/components/Checkbox/tests/Checkbox.stories.js +9 -2
  37. package/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +8 -3
  38. package/components/CheckboxGroup/tests/CheckboxGroup.stories.js +9 -2
  39. package/components/Container/tests/Container.stories.d.ts +8 -3
  40. package/components/Container/tests/Container.stories.js +9 -2
  41. package/components/Dismissible/tests/Dismissible.stories.d.ts +9 -4
  42. package/components/Dismissible/tests/Dismissible.stories.js +9 -2
  43. package/components/Divider/tests/Divider.stories.d.ts +8 -3
  44. package/components/Divider/tests/Divider.stories.js +9 -2
  45. package/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +20 -7
  46. package/components/DropdownMenu/tests/DropdownMenu.stories.js +9 -2
  47. package/components/FileUpload/tests/FileUpload.stories.d.ts +9 -0
  48. package/components/FileUpload/tests/FileUpload.stories.js +9 -1
  49. package/components/FormControl/tests/FormControl.stories.d.ts +16 -6
  50. package/components/FormControl/tests/FormControl.stories.js +9 -2
  51. package/components/Hidden/tests/Hidden.stories.d.ts +8 -3
  52. package/components/Hidden/tests/Hidden.stories.js +9 -2
  53. package/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +7 -2
  54. package/components/HiddenVisually/tests/HiddenVisually.stories.js +9 -2
  55. package/components/Hotkey/tests/Hotkey.stories.d.ts +7 -2
  56. package/components/Hotkey/tests/Hotkey.stories.js +9 -2
  57. package/components/Icon/tests/Icon.stories.d.ts +9 -4
  58. package/components/Icon/tests/Icon.stories.js +9 -2
  59. package/components/Image/tests/Image.stories.d.ts +11 -6
  60. package/components/Image/tests/Image.stories.js +9 -2
  61. package/components/Link/Link.d.ts +4 -5
  62. package/components/Link/Link.js +4 -4
  63. package/components/Link/tests/Link.stories.d.ts +15 -6
  64. package/components/Link/tests/Link.stories.js +9 -2
  65. package/components/Loader/tests/Loader.stories.d.ts +8 -3
  66. package/components/Loader/tests/Loader.stories.js +9 -2
  67. package/components/MenuItem/MenuItem.js +3 -4
  68. package/components/MenuItem/MenuItem.types.d.ts +1 -1
  69. package/components/MenuItem/tests/MenuItem.stories.d.ts +13 -8
  70. package/components/MenuItem/tests/MenuItem.stories.js +9 -2
  71. package/components/Modal/Modal.js +3 -0
  72. package/components/Modal/tests/Modal.stories.d.ts +17 -8
  73. package/components/Modal/tests/Modal.stories.js +9 -2
  74. package/components/Overlay/tests/Overlay.stories.d.ts +7 -2
  75. package/components/Overlay/tests/Overlay.stories.js +9 -2
  76. package/components/Popover/tests/Popover.stories.d.ts +15 -6
  77. package/components/Popover/tests/Popover.stories.js +9 -2
  78. package/components/Progress/tests/Progress.stories.d.ts +6 -0
  79. package/components/Progress/tests/Progress.stories.js +9 -1
  80. package/components/Radio/tests/Radio.stories.d.ts +9 -4
  81. package/components/Radio/tests/Radio.stories.js +9 -2
  82. package/components/RadioGroup/tests/RadioGroup.stories.d.ts +8 -3
  83. package/components/RadioGroup/tests/RadioGroup.stories.js +9 -2
  84. package/components/Reshaped/Reshaped.css +1 -1
  85. package/components/Scrim/tests/Scrim.stories.d.ts +8 -3
  86. package/components/Scrim/tests/Scrim.stories.js +9 -2
  87. package/components/ScrollArea/ScrollArea.d.ts +4 -0
  88. package/components/ScrollArea/ScrollArea.js +139 -0
  89. package/components/ScrollArea/ScrollArea.module.css +1 -0
  90. package/components/ScrollArea/ScrollArea.types.d.ts +23 -0
  91. package/components/ScrollArea/ScrollArea.types.js +1 -0
  92. package/components/ScrollArea/index.d.ts +2 -0
  93. package/components/ScrollArea/index.js +1 -0
  94. package/components/ScrollArea/tests/ScrollArea.stories.d.ts +13 -0
  95. package/components/ScrollArea/tests/ScrollArea.stories.js +115 -0
  96. package/components/Select/tests/Select.stories.d.ts +15 -10
  97. package/components/Select/tests/Select.stories.js +9 -2
  98. package/components/Skeleton/tests/Skeleton.stories.d.ts +8 -3
  99. package/components/Skeleton/tests/Skeleton.stories.js +9 -2
  100. package/components/Slider/SliderControlled.js +3 -0
  101. package/components/Slider/tests/Slider.stories.d.ts +11 -6
  102. package/components/Slider/tests/Slider.stories.js +9 -2
  103. package/components/Stepper/tests/Stepper.stories.d.ts +9 -0
  104. package/components/Stepper/tests/Stepper.stories.js +9 -1
  105. package/components/Switch/tests/Switch.stories.d.ts +10 -5
  106. package/components/Switch/tests/Switch.stories.js +9 -2
  107. package/components/Table/tests/Table.stories.d.ts +13 -0
  108. package/components/Table/tests/Table.stories.js +9 -1
  109. package/components/Tabs/tests/Tabs.stories.d.ts +20 -10
  110. package/components/Tabs/tests/Tabs.stories.js +9 -2
  111. package/components/Text/tests/Text.stories.d.ts +12 -7
  112. package/components/Text/tests/Text.stories.js +9 -2
  113. package/components/TextArea/tests/TextArea.stories.d.ts +16 -8
  114. package/components/TextArea/tests/TextArea.stories.js +14 -3
  115. package/components/TextField/tests/TextField.stories.d.ts +19 -11
  116. package/components/TextField/tests/TextField.stories.js +9 -2
  117. package/components/Theme/tests/Theme.stories.d.ts +8 -3
  118. package/components/Theme/tests/Theme.stories.js +9 -2
  119. package/components/Timeline/tests/Timeline.stories.d.ts +11 -3
  120. package/components/Timeline/tests/Timeline.stories.js +9 -2
  121. package/components/Toast/tests/Toast.stories.d.ts +13 -9
  122. package/components/Toast/tests/Toast.stories.js +8 -2
  123. package/components/Tooltip/tests/Tooltip.stories.d.ts +8 -3
  124. package/components/Tooltip/tests/Tooltip.stories.js +9 -2
  125. package/components/View/tests/View.stories.d.ts +10 -0
  126. package/components/View/tests/View.stories.js +9 -1
  127. package/index.d.ts +2 -0
  128. package/index.js +1 -0
  129. package/package.json +10 -7
  130. package/styles/width/width.module.css +1 -1
  131. package/themes/_generator/tests/themes.stories.d.ts +8 -4
  132. package/themes/_generator/tests/themes.stories.js +6 -2
  133. package/utilities/dom.d.ts +2 -0
  134. package/utilities/dom.js +6 -0
@@ -1,6 +1,16 @@
1
1
  import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ component: {
5
+ (props: import("./..").AccordionProps): React.JSX.Element;
6
+ Trigger: (props: import("../Accordion.types").TriggerProps) => React.JSX.Element;
7
+ Content: (props: import("../Accordion.types").ContentProps) => React.JSX.Element;
8
+ };
9
+ parameters: {
10
+ iframe: {
11
+ url: string;
12
+ };
13
+ };
4
14
  };
5
15
  export default _default;
6
16
  export declare const behavior: () => React.JSX.Element;
@@ -3,15 +3,21 @@ import { Example, Placeholder } from "../../../utilities/storybook/index.js";
3
3
  import Accordion from "../index.js";
4
4
  import Button from "../../Button/index.js";
5
5
  import View from "../../View/index.js";
6
- import TextField from "../../TextField/index.js";
7
- export default { title: "Utilities/Accordion" };
6
+ export default {
7
+ title: "Utilities/Accordion",
8
+ component: Accordion,
9
+ parameters: {
10
+ iframe: {
11
+ url: "https://reshaped.so/docs/utilities/accordion",
12
+ },
13
+ },
14
+ };
8
15
  export const behavior = () => (<Example>
9
16
  <Example.Item title="uncontrolled">
10
17
  <Accordion>
11
18
  <Accordion.Trigger>Uncontrolled accordion</Accordion.Trigger>
12
19
  <Accordion.Content>
13
20
  <View paddingTop={2}>
14
- <TextField name="test"/>
15
21
  <Placeholder />
16
22
  </View>
17
23
  </Accordion.Content>
@@ -1,8 +1,13 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: (props: import("./..").ActionBarProps) => import("react").JSX.Element;
4
+ parameters: {
5
+ iframe: {
6
+ url: string;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
- export declare const position: () => React.JSX.Element;
7
- export declare const elevated: () => React.JSX.Element;
8
- export declare const padding: () => React.JSX.Element;
11
+ export declare const position: () => import("react").JSX.Element;
12
+ export declare const elevated: () => import("react").JSX.Element;
13
+ export declare const padding: () => import("react").JSX.Element;
@@ -1,7 +1,14 @@
1
- import React from "react";
2
1
  import { Placeholder, Example } from "../../../utilities/storybook/index.js";
3
2
  import ActionBar from "../index.js";
4
- export default { title: "Components/ActionBar" };
3
+ export default {
4
+ title: "Components/ActionBar",
5
+ component: ActionBar,
6
+ parameters: {
7
+ iframe: {
8
+ url: "https://reshaped.so/docs/components/action-bar",
9
+ },
10
+ },
11
+ };
5
12
  export const position = () => (<Example>
6
13
  <Example.Item title="position: top">
7
14
  <ActionBar position="top">
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import type * as T from "./Actionable.types";
3
- declare const _default: React.ForwardRefExoticComponent<T.Props & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
4
- export default _default;
3
+ declare const Actionable: React.ForwardRefExoticComponent<T.Props & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
4
+ export default Actionable;
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import React from "react";
3
+ import React, { forwardRef } from "react";
4
4
  import { classNames } from "../../utilities/helpers.js";
5
5
  import s from "./Actionable.module.css";
6
- const Actionable = (props, ref) => {
6
+ const Actionable = forwardRef((props, ref) => {
7
7
  const { children, href, onClick, type, disabled, insetFocus, borderRadius, as, fullWidth, className, attributes, } = props;
8
8
  const rootClassNames = classNames(s.root, className, disabled && s["--disabled"], borderRadius && s[`--radius-${borderRadius}`], insetFocus && s["--inset"], fullWidth && s["--full-width"]);
9
9
  const rootAttributes = Object.assign({}, attributes);
@@ -62,5 +62,5 @@ const Actionable = (props, ref) => {
62
62
  });
63
63
  };
64
64
  return (_jsx(TagName, Object.assign({ ref: ref }, rootAttributes, { className: rootClassNames, onClick: handlePress, onKeyDown: handleKeyDown, children: children })));
65
- };
66
- export default React.forwardRef(Actionable);
65
+ });
66
+ export default Actionable;
@@ -1,9 +1,14 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: import("react").ForwardRefExoticComponent<import("./..").ActionableProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
4
+ parameters: {
5
+ iframe: {
6
+ url: string;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
- export declare const role: () => React.JSX.Element;
7
- export declare const disabled: () => React.JSX.Element;
8
- export declare const fullWidth: () => React.JSX.Element;
9
- export declare const focusRing: () => React.JSX.Element;
11
+ export declare const role: () => import("react").JSX.Element;
12
+ export declare const disabled: () => import("react").JSX.Element;
13
+ export declare const fullWidth: () => import("react").JSX.Element;
14
+ export declare const focusRing: () => import("react").JSX.Element;
@@ -1,8 +1,15 @@
1
- import React from "react";
2
- import { Example } from "../../../utilities/storybook/index.js";
3
1
  import Actionable from "../index.js";
2
+ import { Example } from "../../../utilities/storybook/index.js";
4
3
  import View from "../../View/index.js";
5
- export default { title: "Utilities/Actionable" };
4
+ export default {
5
+ title: "Utilities/Actionable",
6
+ component: Actionable,
7
+ parameters: {
8
+ iframe: {
9
+ url: "https://reshaped.so/docs/utilities/actionable",
10
+ },
11
+ },
12
+ };
6
13
  export const role = () => (<Example>
7
14
  <Example.Item title="rendered as link">
8
15
  <Actionable href="https://reshaped.so" attributes={{ target: "_blank" }}>
@@ -1,8 +1,13 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: (props: import("./..").AlertProps) => import("react").JSX.Element;
4
+ parameters: {
5
+ iframe: {
6
+ url: string;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
- export declare const color: () => React.JSX.Element;
7
- export declare const inline: () => React.JSX.Element;
8
- export declare const bleed: () => React.JSX.Element;
11
+ export declare const color: () => import("react").JSX.Element;
12
+ export declare const inline: () => import("react").JSX.Element;
13
+ export declare const bleed: () => import("react").JSX.Element;
@@ -1,9 +1,16 @@
1
- import React from "react";
2
1
  import { Example } from "../../../utilities/storybook/index.js";
3
2
  import Alert from "../index.js";
4
3
  import Link from "../../Link/index.js";
5
4
  import IconZap from "../../../icons/Zap.js";
6
- export default { title: "Components/Alert" };
5
+ export default {
6
+ title: "Components/Alert",
7
+ component: Alert,
8
+ parameters: {
9
+ iframe: {
10
+ url: "https://reshaped.so/docs/components/alert",
11
+ },
12
+ },
13
+ };
7
14
  export const color = () => (<Example>
8
15
  <Example.Item title="color: neutral">
9
16
  <Alert title="Alert title goes here" icon={IconZap} actionsSlot={<>
@@ -1,6 +1,15 @@
1
1
  import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ component: {
5
+ (props: import("./..").AutocompleteProps): React.JSX.Element;
6
+ Item: (props: import("../Autocomplete.types").ItemProps) => React.JSX.Element;
7
+ };
8
+ parameters: {
9
+ iframe: {
10
+ url: string;
11
+ };
12
+ };
4
13
  };
5
14
  export default _default;
6
15
  export declare const base: () => React.JSX.Element;
@@ -3,7 +3,15 @@ import { Example } from "../../../utilities/storybook/index.js";
3
3
  import Autocomplete from "../index.js";
4
4
  import Loader from "../../Loader/index.js";
5
5
  import View from "../../View/index.js";
6
- export default { title: "Components/Autocomplete" };
6
+ export default {
7
+ title: "Components/Autocomplete",
8
+ component: Autocomplete,
9
+ parameters: {
10
+ iframe: {
11
+ url: "https://reshaped.so/docs/components/autocomplete",
12
+ },
13
+ },
14
+ };
7
15
  const Demo = () => {
8
16
  const [value, setValue] = React.useState("");
9
17
  return (<Autocomplete name="fruit" value={value} placeholder="Pick your food" onChange={(args) => setValue(args.value)}>
@@ -1,9 +1,14 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: (props: import("./..").AvatarProps) => import("react").JSX.Element;
4
+ parameters: {
5
+ iframe: {
6
+ url: string;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
- export declare const content: () => React.JSX.Element;
7
- export declare const size: () => React.JSX.Element;
8
- export declare const squared: () => React.JSX.Element;
9
- export declare const colors: () => React.JSX.Element;
11
+ export declare const content: () => import("react").JSX.Element;
12
+ export declare const size: () => import("react").JSX.Element;
13
+ export declare const squared: () => import("react").JSX.Element;
14
+ export declare const colors: () => import("react").JSX.Element;
@@ -1,9 +1,16 @@
1
- import React from "react";
2
1
  import { Example } from "../../../utilities/storybook/index.js";
3
2
  import Avatar from "../index.js";
4
3
  import View from "../../View/index.js";
5
4
  import IconZap from "../../../icons/Zap.js";
6
- export default { title: "Components/Avatar" };
5
+ export default {
6
+ title: "Components/Avatar",
7
+ component: Avatar,
8
+ parameters: {
9
+ iframe: {
10
+ url: "https://reshaped.so/docs/components/avatar",
11
+ },
12
+ },
13
+ };
7
14
  export const content = () => (<Example>
8
15
  <Example.Item title="With image">
9
16
  <Avatar src="https://pbs.twimg.com/profile_images/1096029593335676929/OZbE9ZXV_400x400.png" alt="Reshaped"/>
@@ -1,6 +1,15 @@
1
1
  import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ component: {
5
+ (props: import("./..").BadgeProps): React.JSX.Element;
6
+ Container: (props: import("../Badge.types").ContainerProps) => React.JSX.Element;
7
+ };
8
+ parameters: {
9
+ iframe: {
10
+ url: string;
11
+ };
12
+ };
4
13
  };
5
14
  export default _default;
6
15
  export declare const variant: () => React.JSX.Element;
@@ -7,7 +7,15 @@ import Icon from "../../Icon/index.js";
7
7
  import Button from "../../Button/index.js";
8
8
  import IconCheckmark from "../../../icons/Checkmark.js";
9
9
  import IconChevronRight from "../../../icons/ChevronRight.js";
10
- export default { title: "Components/Badge" };
10
+ export default {
11
+ title: "Components/Badge",
12
+ component: Badge,
13
+ parameters: {
14
+ iframe: {
15
+ url: "https://reshaped.so/docs/components/badge",
16
+ },
17
+ },
18
+ };
11
19
  export const variant = () => (<Example>
12
20
  <Example.Item title="variant: default">
13
21
  <Badge>Badge</Badge>
@@ -1,10 +1,17 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: ((props: import("./..").BreadcrumbsProps) => import("react").JSX.Element) & {
4
+ Item: (props: import("../Breadcrumbs.types").ItemProps) => import("react").JSX.Element;
5
+ };
6
+ parameters: {
7
+ iframe: {
8
+ url: string;
9
+ };
10
+ };
4
11
  };
5
12
  export default _default;
6
- export declare const color: () => React.JSX.Element;
7
- export declare const item: () => React.JSX.Element;
8
- export declare const slots: () => React.JSX.Element;
9
- export declare const collapsed: () => React.JSX.Element;
10
- export declare const edgeCases: () => React.JSX.Element;
13
+ export declare const color: () => import("react").JSX.Element;
14
+ export declare const item: () => import("react").JSX.Element;
15
+ export declare const slots: () => import("react").JSX.Element;
16
+ export declare const collapsed: () => import("react").JSX.Element;
17
+ export declare const edgeCases: () => import("react").JSX.Element;
@@ -1,9 +1,16 @@
1
- import React from "react";
2
1
  import { Example } from "../../../utilities/storybook/index.js";
3
2
  import Breadcrumbs from "../index.js";
4
3
  import Badge from "../../Badge/index.js";
5
4
  import IconZap from "../../../icons/Zap.js";
6
- export default { title: "Components/Breadcrumbs" };
5
+ export default {
6
+ title: "Components/Breadcrumbs",
7
+ component: Breadcrumbs,
8
+ parameters: {
9
+ iframe: {
10
+ url: "https://reshaped.so/docs/components/breadcrumbs",
11
+ },
12
+ },
13
+ };
7
14
  export const color = () => (<Example>
8
15
  <Example.Item title="color: neutral">
9
16
  <Breadcrumbs ariaLabel="breadcrumb neutral">
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from "react";
2
+ import { forwardRef } from "react";
3
3
  import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/helpers.js";
4
4
  import Icon from "../Icon/index.js";
5
5
  import Loader from "../Loader/index.js";
@@ -7,7 +7,7 @@ import Actionable from "../Actionable/index.js";
7
7
  import ButtonGroup from "./ButtonGroup.js";
8
8
  import ButtonAligner from "./ButtonAligner.js";
9
9
  import s from "./Button.module.css";
10
- const ButtonBase = (props, ref) => {
10
+ const Button = forwardRef((props, ref) => {
11
11
  const { variant = "solid", color = "neutral", elevated, highlighted, fullWidth, loading, disabled, type, href, size = "medium", className, children, rounded, attributes, onClick, icon, endIcon, } = props;
12
12
  const iconOnly = (icon || endIcon) && !children;
13
13
  const rootClassName = classNames(s.root, className, color && s[`--color-${color}`], variant && s[`--variant-${variant}`], responsiveClassNames(s, "--size", size), responsiveClassNames(s, "--full-width", fullWidth), elevated && variant !== "ghost" && s["--elevated"], rounded && s["--rounded"], disabled && s["--disabled"], loading && s["--loading"], highlighted && s["--highlighted"], iconOnly && s["--icon-only"]);
@@ -28,8 +28,7 @@ const ButtonBase = (props, ref) => {
28
28
  return (_jsx(Icon, { className: iconClassName, svg: (position === "start" ? icon : endIcon), size: iconSize, autoWidth: true }));
29
29
  };
30
30
  return (_jsxs(Actionable, { disabled: disabled || loading, className: rootClassName, attributes: Object.assign(Object.assign({}, attributes), { "data-rs-aligner-target": true }), type: type, onClick: onClick, href: href, ref: ref, children: [loading && (_jsx("div", { className: s.loader, children: _jsx(Loader, { size: "small", color: "inherit" }) })), renderIcon("start"), children && _jsx("span", { className: s.text, children: children }), renderIcon("end")] }));
31
- };
32
- const Button = React.forwardRef(ButtonBase);
31
+ });
33
32
  Button.Group = ButtonGroup;
34
33
  Button.Aligner = ButtonAligner;
35
34
  export default Button;
@@ -4,21 +4,18 @@ import type { ActionableProps } from "../Actionable";
4
4
  import type { AlignerProps as BaseAlignerProps } from "../_private/Aligner";
5
5
  import type * as G from "../../types/global";
6
6
  export type Size = "xlarge" | "large" | "medium" | "small";
7
- type BaseProps = {
7
+ export type Props = Pick<ActionableProps, "attributes" | "className" | "disabled" | "children" | "href" | "onClick" | "type"> & {
8
8
  color?: "black" | "white" | "primary" | "critical" | "positive" | "neutral" | "inherit";
9
9
  variant?: "solid" | "outline" | "ghost" | "faded";
10
- elevated?: boolean;
11
10
  icon?: IconProps["svg"];
12
11
  endIcon?: IconProps["svg"];
13
12
  size?: G.Responsive<Size>;
14
13
  rounded?: boolean;
15
14
  loading?: boolean;
15
+ elevated?: boolean;
16
16
  fullWidth?: G.Responsive<boolean>;
17
17
  highlighted?: boolean;
18
- children?: React.ReactNode;
19
- className?: G.ClassName;
20
18
  };
21
- export type Props = Omit<ActionableProps, keyof BaseProps> & BaseProps;
22
19
  export type GroupProps = {
23
20
  children: React.ReactNode;
24
21
  className?: G.ClassName;
@@ -34,4 +31,3 @@ export type Export = React.ForwardRefExoticComponent<Props> & {
34
31
  Aligner: React.ComponentType<AlignerProps>;
35
32
  Group: React.ComponentType<GroupProps>;
36
33
  };
37
- export {};
@@ -1,17 +1,22 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: import("../Button.types").Export;
4
+ parameters: {
5
+ iframe: {
6
+ url: string;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
- export declare const variant: () => React.JSX.Element;
7
- export declare const icon: () => React.JSX.Element;
8
- export declare const elevated: () => React.JSX.Element;
9
- export declare const size: () => React.JSX.Element;
10
- export declare const rounded: () => React.JSX.Element;
11
- export declare const fullWidth: () => React.JSX.Element;
12
- export declare const loading: () => React.JSX.Element;
13
- export declare const highlighted: () => React.JSX.Element;
14
- export declare const disabled: () => React.JSX.Element;
15
- export declare const group: () => React.JSX.Element;
16
- export declare const aligner: () => React.JSX.Element;
17
- export declare const composition: () => React.JSX.Element;
11
+ export declare const variant: () => import("react").JSX.Element;
12
+ export declare const icon: () => import("react").JSX.Element;
13
+ export declare const elevated: () => import("react").JSX.Element;
14
+ export declare const size: () => import("react").JSX.Element;
15
+ export declare const rounded: () => import("react").JSX.Element;
16
+ export declare const fullWidth: () => import("react").JSX.Element;
17
+ export declare const loading: () => import("react").JSX.Element;
18
+ export declare const highlighted: () => import("react").JSX.Element;
19
+ export declare const disabled: () => import("react").JSX.Element;
20
+ export declare const group: () => import("react").JSX.Element;
21
+ export declare const aligner: () => import("react").JSX.Element;
22
+ export declare const composition: () => import("react").JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { Example, Placeholder } from "../../../utilities/storybook/index.js";
3
2
  import Button from "../index.js";
4
3
  import View from "../../View/index.js";
@@ -6,7 +5,15 @@ import Image from "../../Image/index.js";
6
5
  import Avatar from "../../Avatar/index.js";
7
6
  import Hotkey from "../../Hotkey/index.js";
8
7
  import IconZap from "../../../icons/Zap.js";
9
- export default { title: "Components/Button" };
8
+ export default {
9
+ title: "Components/Button",
10
+ component: Button,
11
+ parameters: {
12
+ iframe: {
13
+ url: "https://reshaped.so/docs/components/button",
14
+ },
15
+ },
16
+ };
10
17
  const imgUrl = "https://images.unsplash.com/photo-1632502361954-0dd92ce797db?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1625&q=80";
11
18
  export const variant = () => (<Example>
12
19
  <Example.Item title="variant: solid">
@@ -1,9 +1,14 @@
1
- import React from "react";
2
1
  declare const _default: {
3
2
  title: string;
3
+ component: (props: import("./..").CalendarProps) => import("react").JSX.Element;
4
+ parameters: {
5
+ iframe: {
6
+ url: string;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
- export declare const base: () => React.JSX.Element;
7
- export declare const selection: () => React.JSX.Element;
8
- export declare const boundaries: () => React.JSX.Element;
9
- export declare const translation: () => React.JSX.Element;
11
+ export declare const base: () => import("react").JSX.Element;
12
+ export declare const selection: () => import("react").JSX.Element;
13
+ export declare const boundaries: () => import("react").JSX.Element;
14
+ export declare const translation: () => import("react").JSX.Element;
@@ -1,7 +1,14 @@
1
- import React from "react";
2
1
  import { Example } from "../../../utilities/storybook/index.js";
3
2
  import Calendar from "../index.js";
4
- export default { title: "Components/Calendar" };
3
+ export default {
4
+ title: "Components/Calendar",
5
+ component: Calendar,
6
+ parameters: {
7
+ iframe: {
8
+ url: "https://reshaped.so/docs/components/calendar",
9
+ },
10
+ },
11
+ };
5
12
  export const base = () => (<Example>
6
13
  <Example.Item title="base month">
7
14
  <Calendar defaultMonth={new Date(2023, 11)} onChange={console.log}/>
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import type * as T from "./Card.types";
3
- declare const _default: React.ForwardRefExoticComponent<{
3
+ declare const Card: React.ForwardRefExoticComponent<{
4
4
  padding?: import("../..").Responsive<number> | undefined;
5
5
  bleed?: import("../..").Responsive<number> | undefined;
6
6
  selected?: boolean | undefined;
@@ -14,4 +14,4 @@ declare const _default: React.ForwardRefExoticComponent<{
14
14
  ref?: React.RefObject<HTMLAnchorElement | HTMLButtonElement> | undefined;
15
15
  }) | undefined;
16
16
  } & Pick<import("../View").ViewProps, "height"> & React.RefAttributes<HTMLElement>>;
17
- export default _default;
17
+ export default Card;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from "react";
2
+ import { forwardRef } from "react";
3
3
  import { classNames } from "../../utilities/helpers.js";
4
4
  import Actionable from "../Actionable/index.js";
5
5
  import s from "./Card.module.css";
@@ -7,7 +7,7 @@ import getRadiusStyles from "../../styles/radius/index.js";
7
7
  import getBleedStyles from "../../styles/bleed/index.js";
8
8
  import getPaddingStyles from "../../styles/padding/index.js";
9
9
  import getHeightStyles from "../../styles/height/index.js";
10
- const Card = (props, ref) => {
10
+ const Card = forwardRef((props, ref) => {
11
11
  const { padding = 4 } = props;
12
12
  const { selected, elevated, bleed, height, onClick, href, children, className, attributes,
13
13
  /**
@@ -26,5 +26,5 @@ const Card = (props, ref) => {
26
26
  return (_jsx(Actionable, { className: rootClassNames, attributes: Object.assign(Object.assign({}, attributes), { style }), href: href, as: TagName, onClick: onClick, ref: ref, children: _jsx("span", { className: s.content, children: children }) }));
27
27
  }
28
28
  return (_jsx(TagName, Object.assign({}, attributes, { onClick: onClick, href: href, ref: ref, className: rootClassNames, style: style, children: _jsx("span", { className: s.content, children: children }) })));
29
- };
30
- export default React.forwardRef(Card);
29
+ });
30
+ export default Card;
@@ -1,6 +1,25 @@
1
1
  import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ component: React.ForwardRefExoticComponent<{
5
+ padding?: import("../../../types/global").Responsive<number> | undefined;
6
+ bleed?: import("../../../types/global").Responsive<number> | undefined;
7
+ selected?: boolean | undefined;
8
+ elevated?: boolean | undefined;
9
+ children?: React.ReactNode;
10
+ onClick?: ((e: React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement, MouseEvent>) => void) | undefined;
11
+ href?: string | undefined;
12
+ as?: keyof JSX.IntrinsicElements | undefined;
13
+ className?: import("../../../types/global").ClassName;
14
+ attributes?: (import("../../../types/global").Attributes<keyof JSX.IntrinsicElements, import("./..").CardProps<"div">> & Omit<import("../../../types/global").Attributes<"button", void>, "ref"> & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "children" | "style" | `data-${string}` | "form" | "slot" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "nonce" | "spellCheck" | "translate" | "radioGroup" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "suppressHydrationWarning" | "id" | "lang" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "name" | "type" | keyof React.ClassAttributes<HTMLButtonElement>> & {
15
+ ref?: React.RefObject<HTMLAnchorElement | HTMLButtonElement> | undefined;
16
+ }) | undefined;
17
+ } & Pick<import("../../View").ViewProps, "height"> & React.RefAttributes<HTMLElement>>;
18
+ parameters: {
19
+ iframe: {
20
+ url: string;
21
+ };
22
+ };
4
23
  };
5
24
  export default _default;
6
25
  export declare const padding: () => React.JSX.Element;
@@ -2,7 +2,15 @@ import React from "react";
2
2
  import { Example, Placeholder } from "../../../utilities/storybook/index.js";
3
3
  import Card from "../index.js";
4
4
  import View from "../../View/index.js";
5
- export default { title: "Components/Card" };
5
+ export default {
6
+ title: "Components/Card",
7
+ component: Card,
8
+ parameters: {
9
+ iframe: {
10
+ url: "https://reshaped.so/docs/components/card",
11
+ },
12
+ },
13
+ };
6
14
  export const padding = () => (<Example>
7
15
  <Example.Item title="padding: default">
8
16
  <Card>
@@ -1,6 +1,12 @@
1
1
  import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ component: (props: import("./..").CarouselProps) => React.JSX.Element;
5
+ parameters: {
6
+ iframe: {
7
+ url: string;
8
+ };
9
+ };
4
10
  };
5
11
  export default _default;
6
12
  export declare const visibleItems: () => React.JSX.Element;
@@ -3,7 +3,15 @@ import { Example, Placeholder } from "../../../utilities/storybook/index.js";
3
3
  import Carousel from "../index.js";
4
4
  import Button from "../../Button/index.js";
5
5
  import View from "../../View/index.js";
6
- export default { title: "Components/Carousel" };
6
+ export default {
7
+ title: "Components/Carousel",
8
+ component: Carousel,
9
+ parameters: {
10
+ iframe: {
11
+ url: "https://reshaped.so/docs/components/carousel",
12
+ },
13
+ },
14
+ };
7
15
  export const visibleItems = () => (<Example>
8
16
  <Example.Item title="visibleItems: 3">
9
17
  <Carousel visibleItems={3}>