reshaped 3.8.0-canary.6 → 3.8.0-canary.8

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 (223) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.js +10 -10
  4. package/dist/components/Actionable/Actionable.module.css +1 -1
  5. package/dist/components/Alert/tests/Alert.stories.d.ts +6 -5
  6. package/dist/components/Alert/tests/Alert.stories.js +15 -2
  7. package/dist/components/Badge/Badge.module.css +1 -1
  8. package/dist/components/Badge/tests/Badge.stories.d.ts +5 -0
  9. package/dist/components/Badge/tests/Badge.stories.js +34 -0
  10. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +8 -4
  11. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +57 -1
  12. package/dist/components/Button/tests/Button.stories.d.ts +54 -12
  13. package/dist/components/Button/tests/Button.stories.js +725 -588
  14. package/dist/components/Card/Card.module.css +1 -1
  15. package/dist/components/Card/tests/Card.stories.d.ts +28 -6
  16. package/dist/components/Card/tests/Card.stories.js +110 -65
  17. package/dist/components/Carousel/Carousel.module.css +1 -1
  18. package/dist/components/Checkbox/Checkbox.module.css +1 -1
  19. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +20 -4
  20. package/dist/components/Checkbox/tests/Checkbox.stories.js +150 -79
  21. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +9 -2
  22. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +67 -35
  23. package/dist/components/Container/tests/Container.stories.d.ts +2 -0
  24. package/dist/components/Container/tests/Container.stories.js +14 -0
  25. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +10 -1
  26. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +57 -13
  27. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +5 -0
  28. package/dist/components/Dismissible/tests/Dismissible.stories.js +30 -1
  29. package/dist/components/Divider/tests/Divider.stories.d.ts +8 -3
  30. package/dist/components/Divider/tests/Divider.stories.js +71 -41
  31. package/dist/components/DropdownMenu/DropdownMenu.js +4 -4
  32. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +2 -2
  33. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +35 -6
  34. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +222 -115
  35. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +0 -15
  36. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +0 -106
  37. package/dist/components/FileUpload/FileUpload.module.css +1 -1
  38. package/dist/components/Flyout/Flyout.module.css +1 -1
  39. package/dist/components/Flyout/utilities/flyout.js +0 -1
  40. package/dist/components/Flyout/utilities/getPositionFallbacks.js +3 -3
  41. package/dist/components/Flyout/utilities/isFullyVisible.d.ts +0 -2
  42. package/dist/components/Flyout/utilities/isFullyVisible.js +5 -7
  43. package/dist/components/FormControl/tests/FormControl.stories.d.ts +2 -0
  44. package/dist/components/FormControl/tests/FormControl.stories.js +35 -0
  45. package/dist/components/Hidden/Hidden.js +2 -1
  46. package/dist/components/Hidden/tests/Hidden.stories.d.ts +2 -0
  47. package/dist/components/Hidden/tests/Hidden.stories.js +9 -0
  48. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +2 -0
  49. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +9 -0
  50. package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +2 -0
  51. package/dist/components/Hotkey/tests/Hotkey.stories.js +15 -0
  52. package/dist/components/Icon/tests/Icon.stories.d.ts +3 -0
  53. package/dist/components/Icon/tests/Icon.stories.js +23 -0
  54. package/dist/components/Link/tests/Link.stories.d.ts +28 -5
  55. package/dist/components/Link/tests/Link.stories.js +141 -58
  56. package/dist/components/Link/tests/Link.test.stories.d.ts +0 -13
  57. package/dist/components/Link/tests/Link.test.stories.js +0 -85
  58. package/dist/components/Loader/tests/Loader.stories.d.ts +11 -2
  59. package/dist/components/Loader/tests/Loader.stories.js +52 -25
  60. package/dist/components/Loader/tests/Loader.test.stories.d.ts +0 -3
  61. package/dist/components/Loader/tests/Loader.test.stories.js +0 -21
  62. package/dist/components/MenuItem/MenuItem.module.css +1 -1
  63. package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +37 -7
  64. package/dist/components/MenuItem/tests/MenuItem.stories.js +218 -112
  65. package/dist/components/Modal/Modal.js +1 -1
  66. package/dist/components/Modal/Modal.module.css +1 -1
  67. package/dist/components/Modal/tests/Modal.stories.d.ts +53 -10
  68. package/dist/components/Modal/tests/Modal.stories.js +366 -214
  69. package/dist/components/Overlay/tests/Overlay.stories.d.ts +15 -1
  70. package/dist/components/Overlay/tests/Overlay.stories.js +135 -1
  71. package/dist/components/Pagination/tests/Pagination.stories.d.ts +14 -1
  72. package/dist/components/Pagination/tests/Pagination.stories.js +93 -15
  73. package/dist/components/PinField/tests/PinField.stories.d.ts +1 -1
  74. package/dist/components/PinField/tests/PinField.stories.js +1 -1
  75. package/dist/components/Popover/Popover.js +2 -2
  76. package/dist/components/Popover/Popover.module.css +1 -1
  77. package/dist/components/Popover/Popover.types.d.ts +2 -0
  78. package/dist/components/Progress/tests/Progress.stories.d.ts +19 -4
  79. package/dist/components/Progress/tests/Progress.stories.js +85 -49
  80. package/dist/components/Radio/Radio.module.css +1 -1
  81. package/dist/components/Radio/tests/Radio.stories.d.ts +25 -4
  82. package/dist/components/Radio/tests/Radio.stories.js +147 -65
  83. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +9 -2
  84. package/dist/components/RadioGroup/tests/RadioGroup.stories.js +64 -38
  85. package/dist/components/Reshaped/Reshaped.css +1 -1
  86. package/dist/components/Resizable/Resizable.js +4 -3
  87. package/dist/components/Scrim/tests/Scrim.stories.d.ts +10 -2
  88. package/dist/components/Scrim/tests/Scrim.stories.js +51 -31
  89. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  90. package/dist/components/Select/Select.d.ts +8 -1
  91. package/dist/components/Select/Select.js +22 -48
  92. package/dist/components/Select/Select.module.css +1 -1
  93. package/dist/components/Select/Select.types.d.ts +83 -38
  94. package/dist/components/Select/SelectCustom.d.ts +3 -0
  95. package/dist/components/Select/SelectCustom.js +12 -0
  96. package/dist/components/Select/SelectCustomControlled.d.ts +4 -0
  97. package/dist/components/Select/SelectCustomControlled.js +102 -0
  98. package/dist/components/Select/SelectCustomUncontrolled.d.ts +4 -0
  99. package/dist/components/Select/SelectCustomUncontrolled.js +18 -0
  100. package/dist/components/Select/SelectEndContent.d.ts +3 -0
  101. package/dist/components/Select/SelectEndContent.js +12 -0
  102. package/dist/components/Select/SelectNative.d.ts +4 -0
  103. package/dist/components/Select/SelectNative.js +29 -0
  104. package/dist/components/Select/SelectOption.d.ts +4 -0
  105. package/dist/components/Select/SelectOption.js +15 -0
  106. package/dist/components/Select/SelectOptionGroup.d.ts +4 -0
  107. package/dist/components/Select/SelectOptionGroup.js +11 -0
  108. package/dist/components/Select/SelectRoot.d.ts +4 -0
  109. package/dist/components/Select/SelectRoot.js +21 -0
  110. package/dist/components/Select/SelectStartContent.d.ts +3 -0
  111. package/dist/components/Select/SelectStartContent.js +20 -0
  112. package/dist/components/Select/SelectTrigger.d.ts +4 -0
  113. package/dist/components/Select/SelectTrigger.js +16 -0
  114. package/dist/components/Select/tests/Select.stories.d.ts +38 -10
  115. package/dist/components/Select/tests/Select.stories.js +504 -175
  116. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +10 -2
  117. package/dist/components/Skeleton/tests/Skeleton.stories.js +46 -28
  118. package/dist/components/Slider/Slider.module.css +1 -1
  119. package/dist/components/Stepper/Stepper.js +2 -2
  120. package/dist/components/Stepper/Stepper.types.d.ts +2 -0
  121. package/dist/components/Stepper/tests/Stepper.stories.d.ts +18 -3
  122. package/dist/components/Stepper/tests/Stepper.stories.js +99 -47
  123. package/dist/components/Switch/Switch.module.css +1 -1
  124. package/dist/components/Switch/tests/Switch.stories.d.ts +10 -2
  125. package/dist/components/Switch/tests/Switch.stories.js +77 -23
  126. package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -10
  127. package/dist/components/Switch/tests/Switch.test.stories.js +0 -68
  128. package/dist/components/Table/Table.js +6 -3
  129. package/dist/components/Table/Table.module.css +1 -1
  130. package/dist/components/Table/tests/Table.stories.d.ts +25 -5
  131. package/dist/components/Table/tests/Table.stories.js +274 -177
  132. package/dist/components/Table/tests/Table.test.stories.d.ts +0 -5
  133. package/dist/components/Table/tests/Table.test.stories.js +0 -82
  134. package/dist/components/Tabs/Tabs.module.css +1 -1
  135. package/dist/components/TextArea/TextArea.module.css +1 -1
  136. package/dist/components/TextArea/tests/TextArea.stories.d.ts +41 -9
  137. package/dist/components/TextArea/tests/TextArea.stories.js +179 -93
  138. package/dist/components/TextField/TextField.js +1 -1
  139. package/dist/components/TextField/TextField.module.css +1 -1
  140. package/dist/components/TextField/tests/TextField.stories.d.ts +41 -11
  141. package/dist/components/TextField/tests/TextField.stories.js +206 -132
  142. package/dist/components/TextField/tests/TextField.test.stories.d.ts +0 -13
  143. package/dist/components/TextField/tests/TextField.test.stories.js +0 -88
  144. package/dist/components/Theme/Theme.module.css +1 -1
  145. package/dist/components/Timeline/Timeline.js +3 -2
  146. package/dist/components/Timeline/tests/Timeline.stories.d.ts +10 -2
  147. package/dist/components/Timeline/tests/Timeline.stories.js +69 -45
  148. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +0 -2
  149. package/dist/components/Timeline/tests/Timeline.test.stories.js +0 -21
  150. package/dist/components/Toast/tests/Toast.stories.d.ts +32 -8
  151. package/dist/components/Toast/tests/Toast.stories.js +109 -37
  152. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +18 -4
  153. package/dist/components/Tooltip/tests/Tooltip.stories.js +139 -107
  154. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +0 -6
  155. package/dist/components/Tooltip/tests/Tooltip.test.stories.js +0 -29
  156. package/dist/components/View/View.js +6 -4
  157. package/dist/components/View/tests/View.stories.d.ts +4 -0
  158. package/dist/components/View/tests/View.stories.js +39 -0
  159. package/dist/hooks/tests/useDrag.stories.js +1 -1
  160. package/dist/utilities/props.d.ts +3 -0
  161. package/dist/utilities/props.js +19 -0
  162. package/dist/utilities/scroll/disable.js +2 -2
  163. package/package.json +1 -1
  164. package/dist/components/Alert/tests/Alert.test.stories.d.ts +0 -15
  165. package/dist/components/Alert/tests/Alert.test.stories.js +0 -26
  166. package/dist/components/Badge/tests/Badge.test.stories.d.ts +0 -20
  167. package/dist/components/Badge/tests/Badge.test.stories.js +0 -46
  168. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +0 -23
  169. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +0 -76
  170. package/dist/components/Button/tests/Button.test.stories.d.ts +0 -28
  171. package/dist/components/Button/tests/Button.test.stories.js +0 -135
  172. package/dist/components/Card/tests/Card.test.stories.d.ts +0 -35
  173. package/dist/components/Card/tests/Card.test.stories.js +0 -54
  174. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +0 -25
  175. package/dist/components/Checkbox/tests/Checkbox.test.stories.js +0 -104
  176. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +0 -22
  177. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +0 -78
  178. package/dist/components/Container/tests/Container.test.stories.d.ts +0 -15
  179. package/dist/components/Container/tests/Container.test.stories.js +0 -26
  180. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +0 -25
  181. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +0 -53
  182. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +0 -19
  183. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +0 -42
  184. package/dist/components/Divider/tests/Divider.test.stories.d.ts +0 -18
  185. package/dist/components/Divider/tests/Divider.test.stories.js +0 -47
  186. package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +0 -20
  187. package/dist/components/FormControl/tests/FormControl.test.stories.js +0 -49
  188. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +0 -15
  189. package/dist/components/Hidden/tests/Hidden.test.stories.js +0 -20
  190. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +0 -15
  191. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +0 -20
  192. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +0 -15
  193. package/dist/components/Hotkey/tests/Hotkey.test.stories.js +0 -26
  194. package/dist/components/Icon/tests/Icon.test.stories.d.ts +0 -16
  195. package/dist/components/Icon/tests/Icon.test.stories.js +0 -35
  196. package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +0 -27
  197. package/dist/components/MenuItem/tests/MenuItem.test.stories.js +0 -116
  198. package/dist/components/Modal/tests/Modal.test.stories.d.ts +0 -31
  199. package/dist/components/Modal/tests/Modal.test.stories.js +0 -149
  200. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +0 -28
  201. package/dist/components/Overlay/tests/Overlay.test.stories.js +0 -148
  202. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +0 -23
  203. package/dist/components/Pagination/tests/Pagination.test.stories.js +0 -86
  204. package/dist/components/Progress/tests/Progress.test.stories.d.ts +0 -16
  205. package/dist/components/Progress/tests/Progress.test.stories.js +0 -35
  206. package/dist/components/Radio/tests/Radio.test.stories.d.ts +0 -30
  207. package/dist/components/Radio/tests/Radio.test.stories.js +0 -118
  208. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +0 -22
  209. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +0 -78
  210. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +0 -15
  211. package/dist/components/Scrim/tests/Scrim.test.stories.js +0 -25
  212. package/dist/components/Select/tests/Select.test.stories.d.ts +0 -27
  213. package/dist/components/Select/tests/Select.test.stories.js +0 -132
  214. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +0 -15
  215. package/dist/components/Skeleton/tests/Skeleton.test.stories.js +0 -23
  216. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +0 -20
  217. package/dist/components/Stepper/tests/Stepper.test.stories.js +0 -28
  218. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +0 -28
  219. package/dist/components/TextArea/tests/TextArea.test.stories.js +0 -99
  220. package/dist/components/Toast/tests/Toast.test.stories.d.ts +0 -16
  221. package/dist/components/Toast/tests/Toast.test.stories.js +0 -101
  222. package/dist/components/View/tests/View.test.stories.d.ts +0 -24
  223. package/dist/components/View/tests/View.test.stories.js +0 -50
@@ -1 +1 @@
1
- @layer rs.reset{.root{background:none;border:0;color:inherit;display:inline-block;font-size:inherit;font-weight:inherit;isolation:isolate;line-height:inherit;margin:0;padding:0;position:relative;text-align:initial;text-decoration:none;vertical-align:top;-webkit-tap-highlight-color:transparent}}.touch{height:100%;inset:50%;min-height:24px;min-width:24px;position:absolute;transform:translate(-50%,-50%);width:100%}.root:focus{outline:none}[data-rs-keyboard] .root:focus{box-shadow:var(--rs-focus-shadow);outline:none;z-index:var(--rs-z-index-relative)}[data-rs-keyboard] .root.--inset:focus{box-shadow:var(--rs-focus-inset-shadow)}[data-rs-keyboard] .root.--disabled-focus-ring:focus,[data-rs-keyboard] .root.--radius-inherit:focus{box-shadow:none}[data-rs-keyboard] .root.--radius-inherit:focus>*{box-shadow:var(--rs-focus-shadow)}[data-rs-keyboard] .root.--radius-inherit.--inset:focus>*{box-shadow:var(--rs-focus-inset-shadow)}[role=button].root,button.root{cursor:pointer;user-select:none}.root.--disabled,.root[disabled]{cursor:not-allowed}.root.--disabled:active,.root[disabled]:active{transform:none}.root.--full-width{width:100%}
1
+ @layer rs.reset{.root{background:none;border:0;color:inherit;display:inline-block;font-size:inherit;font-weight:inherit;isolation:isolate;line-height:inherit;margin:0;padding:0;position:relative;text-align:initial;text-decoration:none;vertical-align:top;-webkit-tap-highlight-color:transparent}}.touch{height:100%;inset:50%;min-height:24px;min-width:24px;position:absolute;transform:translate(-50%,-50%);width:100%}.root:focus{outline:none}[data-rs-keyboard] .root:focus{box-shadow:var(--rs-shadow-focus);outline:none;z-index:var(--rs-z-index-relative)}[data-rs-keyboard] .root.--inset:focus{box-shadow:var(--rs-shadow-focus-inset)}[data-rs-keyboard] .root.--disabled-focus-ring:focus,[data-rs-keyboard] .root.--radius-inherit:focus{box-shadow:none}[data-rs-keyboard] .root.--radius-inherit:focus>*{box-shadow:var(--rs-shadow-focus)}[data-rs-keyboard] .root.--radius-inherit.--inset:focus>*{box-shadow:var(--rs-shadow-focus-inset)}[role=button].root,button.root{cursor:pointer;user-select:none}.root.--disabled,.root[disabled]{cursor:not-allowed}.root.--disabled:active,.root[disabled]:active{transform:none}.root.--full-width{width:100%}
@@ -1,7 +1,7 @@
1
- import React from "react";
1
+ import { StoryObj } from "@storybook/react-vite";
2
2
  declare const _default: {
3
3
  title: string;
4
- component: React.FC<import("./..").AlertProps>;
4
+ component: import("react").FC<import("./..").AlertProps>;
5
5
  parameters: {
6
6
  iframe: {
7
7
  url: string;
@@ -11,13 +11,14 @@ declare const _default: {
11
11
  export default _default;
12
12
  export declare const color: {
13
13
  name: string;
14
- render: () => React.JSX.Element;
14
+ render: () => import("react").JSX.Element;
15
15
  };
16
16
  export declare const inline: {
17
17
  name: string;
18
- render: () => React.JSX.Element;
18
+ render: () => import("react").JSX.Element;
19
19
  };
20
20
  export declare const bleed: {
21
21
  name: string;
22
- render: () => React.JSX.Element;
22
+ render: () => import("react").JSX.Element;
23
23
  };
24
+ export declare const className: StoryObj;
@@ -1,8 +1,8 @@
1
- import React from "react";
2
- import { Example } from "../../../utilities/storybook/index.js";
1
+ import { Example, Placeholder } 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";
5
+ import { expect } from "storybook/test";
6
6
  export default {
7
7
  title: "Components/Alert",
8
8
  component: Alert,
@@ -63,3 +63,16 @@ export const bleed = {
63
63
  </Example.Item>
64
64
  </Example>),
65
65
  };
66
+ export const className = {
67
+ name: "className, attributes",
68
+ render: () => (<div data-testid="root">
69
+ <Alert className="test-classname" attributes={{ id: "test-id" }}>
70
+ <Placeholder />
71
+ </Alert>
72
+ </div>),
73
+ play: async ({ canvas }) => {
74
+ const root = canvas.getByTestId("root").firstChild;
75
+ expect(root).toHaveClass("test-classname");
76
+ expect(root).toHaveAttribute("id", "test-id");
77
+ },
78
+ };
@@ -1 +1 @@
1
- .root{align-items:center;backface-visibility:hidden;background:var(--rs-color-background-neutral);border:1px solid transparent;border-radius:var(--rs-radius-small);box-sizing:border-box;color:var(--rs-color-foreground-neutral);display:inline-flex;gap:var(--rs-badge-gap);justify-content:center;min-height:calc(var(--rs-badge-line-height) + 2px + (var(--rs-badge-p-v) * 2));min-width:calc(var(--rs-badge-line-height) + 2px + (var(--rs-badge-p-v) * 2));padding:var(--rs-badge-p-v) var(--rs-badge-p-h);transition:var(--rs-duration-medium) var(--rs-easing-standard);transition-property:transform,opacity;vertical-align:top}.root:empty{height:var(--rs-badge-empty-size);min-height:auto;min-width:auto;padding:0;width:var(--rs-badge-empty-size)}.icon:only-child{margin-inline:calc(var(--rs-unit-x1) * -1)}.dismiss{border-radius:var(--rs-radius-small);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity}@media (hover:hover) and (pointer:fine){.root .dismiss:hover,.root.--actionable:hover:not(:has(.dismiss:hover)){opacity:.8}}.root.--variant-faded{background:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-neutral-faded)}.root.--variant-outline{background:none;border-color:var(--rs-color-border-neutral)}.root.--color-positive{background:var(--rs-color-background-positive);border-color:var(--rs-color-background-positive);color:var(--rs-color-on-background-positive)}.root.--color-positive.--variant-faded{background:var(--rs-color-background-positive-faded);border-color:var(--rs-color-background-positive-faded);color:var(--rs-color-foreground-positive)}.root.--color-positive.--variant-outline{background:none;border-color:var(--rs-color-border-positive-faded);color:var(--rs-color-foreground-positive)}.root.--color-critical{background:var(--rs-color-background-critical);border-color:var(--rs-color-background-critical);color:var(--rs-color-on-background-critical)}.root.--color-critical.--variant-faded{background:var(--rs-color-background-critical-faded);border-color:var(--rs-color-background-critical-faded);color:var(--rs-color-foreground-critical)}.root.--color-critical.--variant-outline{background:none;border-color:var(--rs-color-border-critical-faded);color:var(--rs-color-foreground-critical)}.root.--color-warning{background:var(--rs-color-background-warning);border-color:var(--rs-color-background-warning);color:var(--rs-color-on-background-warning)}.root.--color-warning.--variant-faded{background:var(--rs-color-background-warning-faded);border-color:var(--rs-color-background-warning-faded);color:var(--rs-color-foreground-warning)}.root.--color-warning.--variant-outline{background:none;border-color:var(--rs-color-border-warning-faded);color:var(--rs-color-foreground-warning)}.root.--color-primary{background:var(--rs-color-background-primary);border-color:var(--rs-color-background-primary);color:var(--rs-color-on-background-primary)}.root.--color-primary.--variant-faded{background:var(--rs-color-background-primary-faded);border-color:var(--rs-color-background-primary-faded);color:var(--rs-color-foreground-primary)}.root.--color-primary.--variant-outline{background:none;border-color:var(--rs-color-border-primary-faded);color:var(--rs-color-foreground-primary)}.root.--size-small{--rs-badge-p-v:1px;--rs-badge-p-h:var(--rs-unit-x1);--rs-badge-line-height:var(--rs-line-height-caption-1);--rs-badge-empty-size:var(--rs-unit-x2);--rs-badge-gap:calc(var(--rs-unit-x1) / 2)}.root.--size-medium{--rs-badge-p-v:calc(var(--rs-unit-x1) - 1px);--rs-badge-p-h:calc(var(--rs-unit-x2) - 1px);--rs-badge-line-height:var(--rs-line-height-caption-1);--rs-badge-empty-size:var(--rs-unit-x3);--rs-badge-gap:var(--rs-unit-x1)}.root.--size-large{--rs-badge-p-v:calc(var(--rs-unit-x1) - 1px);--rs-badge-p-h:calc(var(--rs-unit-x2) - 1px);--rs-badge-line-height:var(--rs-line-height-body-3);--rs-badge-empty-size:var(--rs-unit-x4);--rs-badge-gap:var(--rs-unit-x1)}.root.--rounded{border-radius:var(--rs-radius-circular)}.root.--hidden{opacity:0;transform:scale(.2)}.container{display:inline-block;position:relative;vertical-align:top}.container .root{inset-inline-end:0;pointer-events:none;position:absolute;transform:translate(50%,var(--rs-badge-translate-y)) scale(1);z-index:10}.container .root.--hidden{transform:translate(50%,var(--rs-badge-translate-y)) scale(.2)}[dir=rtl] .container .root{transform:translate(-50%,var(--rs-badge-translate-y)) scale(1)}[dir=rtl] .container .root.--hidden{transform:translate(-50%,var(--rs-badge-translate-y)) scale(.2)}.--container-overlap .root{inset-inline-end:14%}.--container-position-top-end .root{--rs-badge-translate-y:-50%;top:0}.--container-position-top-end.--container-overlap .root{top:14%}.--container-position-bottom-end .root{--rs-badge-translate-y:50%;bottom:0}.--container-position-bottom-end.--container-overlap .root{bottom:14%}
1
+ .root{--rs-badge-border-color:transparent;align-items:center;backface-visibility:hidden;background:var(--rs-color-background-neutral);border-radius:var(--rs-radius-small);box-shadow:0 0 0 1px var(--rs-badge-border-color) inset;box-sizing:border-box;color:var(--rs-color-foreground-neutral);display:inline-flex;gap:var(--rs-badge-gap);justify-content:center;min-height:calc(var(--rs-badge-line-height) + (var(--rs-badge-p-v) * 2));min-width:calc(var(--rs-badge-line-height) + (var(--rs-badge-p-v) * 2));padding:var(--rs-badge-p-v) var(--rs-badge-p-h);transition:var(--rs-duration-medium) var(--rs-easing-standard);transition-property:transform,opacity;vertical-align:top}.root:empty{height:var(--rs-badge-empty-size);min-height:auto;min-width:auto;padding:0;width:var(--rs-badge-empty-size)}.icon:only-child{margin-inline:calc(var(--rs-unit-x1) * -1)}.dismiss{border-radius:var(--rs-radius-small);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity}@media (hover:hover) and (pointer:fine){.root .dismiss:hover,.root.--actionable:hover:not(:has(.dismiss:hover)){opacity:.8}}.root.--variant-faded{background:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-neutral-faded)}.root.--variant-outline{--rs-badge-border-color:var(--rs-color-border-neutral);background:none}.root.--color-positive{background:var(--rs-color-background-positive);color:var(--rs-color-on-background-positive)}.root.--color-positive.--variant-faded{background:var(--rs-color-background-positive-faded);color:var(--rs-color-foreground-positive)}.root.--color-positive.--variant-outline{--rs-badge-border-color:var(--rs-color-border-positive-faded);background:none;color:var(--rs-color-foreground-positive)}.root.--color-critical{background:var(--rs-color-background-critical);color:var(--rs-color-on-background-critical)}.root.--color-critical.--variant-faded{background:var(--rs-color-background-critical-faded);color:var(--rs-color-foreground-critical)}.root.--color-critical.--variant-outline{--rs-badge-border-color:var(--rs-color-border-critical-faded);background:none;color:var(--rs-color-foreground-critical)}.root.--color-warning{background:var(--rs-color-background-warning);color:var(--rs-color-on-background-warning)}.root.--color-warning.--variant-faded{background:var(--rs-color-background-warning-faded);color:var(--rs-color-foreground-warning)}.root.--color-warning.--variant-outline{--rs-badge-border-color:var(--rs-color-border-warning-faded);background:none;color:var(--rs-color-foreground-warning)}.root.--color-primary{background:var(--rs-color-background-primary);color:var(--rs-color-on-background-primary)}.root.--color-primary.--variant-faded{background:var(--rs-color-background-primary-faded);color:var(--rs-color-foreground-primary)}.root.--color-primary.--variant-outline{--rs-badge-border-color:var(--rs-color-border-primary-faded);background:none;color:var(--rs-color-foreground-primary)}.root.--size-small{--rs-badge-p-v:calc(var(--rs-unit-x1) / 2);--rs-badge-p-h:var(--rs-unit-x1);--rs-badge-line-height:var(--rs-line-height-caption-1);--rs-badge-empty-size:var(--rs-unit-x2);--rs-badge-gap:calc(var(--rs-unit-x1) / 2)}.root.--size-medium{--rs-badge-p-v:var(--rs-unit-x1);--rs-badge-p-h:var(--rs-unit-x2);--rs-badge-line-height:var(--rs-line-height-caption-1);--rs-badge-empty-size:var(--rs-unit-x3);--rs-badge-gap:var(--rs-unit-x1)}.root.--size-large{--rs-badge-p-v:var(--rs-unit-x1);--rs-badge-p-h:var(--rs-unit-x2);--rs-badge-line-height:var(--rs-line-height-body-3);--rs-badge-empty-size:var(--rs-unit-x4);--rs-badge-gap:var(--rs-unit-x1)}.root.--rounded{border-radius:var(--rs-radius-circular)}.root.--hidden{opacity:0;transform:scale(.2)}.container{display:inline-block;position:relative;vertical-align:top}.container .root{inset-inline-end:0;pointer-events:none;position:absolute;transform:translate(50%,var(--rs-badge-translate-y)) scale(1);z-index:10}.container .root.--hidden{transform:translate(50%,var(--rs-badge-translate-y)) scale(.2)}[dir=rtl] .container .root{transform:translate(-50%,var(--rs-badge-translate-y)) scale(1)}[dir=rtl] .container .root.--hidden{transform:translate(-50%,var(--rs-badge-translate-y)) scale(.2)}.--container-overlap .root{inset-inline-end:14%}.--container-position-top-end .root{--rs-badge-translate-y:-50%;top:0}.--container-position-top-end.--container-overlap .root{top:14%}.--container-position-bottom-end .root{--rs-badge-translate-y:50%;bottom:0}.--container-position-bottom-end.--container-overlap .root{bottom:14%}
@@ -42,3 +42,8 @@ export declare const container: {
42
42
  name: string;
43
43
  render: () => React.JSX.Element;
44
44
  };
45
+ export declare const href: StoryObj;
46
+ export declare const onClick: StoryObj<{
47
+ handleClick: ReturnType<typeof fn>;
48
+ }>;
49
+ export declare const className: StoryObj;
@@ -282,3 +282,37 @@ export const container = {
282
282
  </Example>);
283
283
  },
284
284
  };
285
+ export const href = {
286
+ name: "href",
287
+ render: () => (<Badge href="https://reshaped.so" dismissAriaLabel="Dismiss">
288
+ Badge
289
+ </Badge>),
290
+ play: async ({ canvas }) => {
291
+ const link = canvas.getByRole("link");
292
+ expect(link).toHaveAttribute("href", "https://reshaped.so");
293
+ },
294
+ };
295
+ export const onClick = {
296
+ name: "onClick",
297
+ args: {
298
+ handleClick: fn(),
299
+ },
300
+ render: (args) => <Badge onClick={args.handleClick}>Badge</Badge>,
301
+ play: async ({ canvas, args }) => {
302
+ const button = canvas.getAllByRole("button")[0];
303
+ await userEvent.click(button);
304
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
305
+ expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: button }));
306
+ },
307
+ };
308
+ export const className = {
309
+ name: "className, attributes",
310
+ render: () => (<div data-testid="root">
311
+ <Badge color="primary" className="test-classname" attributes={{ id: "test-id" }}/>
312
+ </div>),
313
+ play: async ({ canvas }) => {
314
+ const root = canvas.getByTestId("root").firstChild;
315
+ expect(root).toHaveClass("test-classname");
316
+ expect(root).toHaveAttribute("id", "test-id");
317
+ },
318
+ };
@@ -1,3 +1,5 @@
1
+ import { fn } from "storybook/test";
2
+ import { StoryObj } from "@storybook/react-vite";
1
3
  declare const _default: {
2
4
  title: string;
3
5
  component: import("react").FC<import("./..").BreadcrumbsProps> & {
@@ -26,11 +28,13 @@ export declare const slots: {
26
28
  name: string;
27
29
  render: () => import("react").JSX.Element;
28
30
  };
29
- export declare const collapsed: {
30
- name: string;
31
- render: () => import("react").JSX.Element;
32
- };
31
+ export declare const collapsed: StoryObj;
33
32
  export declare const multiline: {
34
33
  name: string;
35
34
  render: () => import("react").JSX.Element;
36
35
  };
36
+ export declare const onClick: StoryObj<{
37
+ handleClick: ReturnType<typeof fn>;
38
+ }>;
39
+ export declare const href: StoryObj;
40
+ export declare const className: StoryObj;
@@ -1,3 +1,4 @@
1
+ import { expect, fn, userEvent } from "storybook/test";
1
2
  import { Example } from "../../../utilities/storybook/index.js";
2
3
  import Breadcrumbs from "../index.js";
3
4
  import Badge from "../../Badge/index.js";
@@ -84,7 +85,7 @@ export const slots = {
84
85
  </Example>),
85
86
  };
86
87
  export const collapsed = {
87
- name: "collapse",
88
+ name: "collapsed",
88
89
  render: () => (<Example>
89
90
  <Example.Item title="collapsed, 3 items shown by default">
90
91
  <Breadcrumbs defaultVisibleItems={3} ariaLabel="breadcrumbs one" expandAriaLabel="Expand items">
@@ -116,6 +117,18 @@ export const collapsed = {
116
117
  </Breadcrumbs>
117
118
  </Example.Item>
118
119
  </Example>),
120
+ play: async ({ canvas }) => {
121
+ let triggers = canvas.getAllByRole("button");
122
+ expect(triggers[0]).toHaveTextContent("Item 1");
123
+ expect(triggers[1]).toHaveAccessibleName("Expand items");
124
+ expect(triggers[2]).toHaveTextContent("Item 4");
125
+ await userEvent.click(triggers[1]);
126
+ triggers = canvas.getAllByRole("button");
127
+ expect(triggers[0]).toHaveTextContent("Item 1");
128
+ expect(triggers[1]).toHaveTextContent("Item 2");
129
+ expect(triggers[2]).toHaveTextContent("Item 3");
130
+ expect(triggers[3]).toHaveTextContent("Item 4");
131
+ },
119
132
  };
120
133
  export const multiline = {
121
134
  name: "composition, multiline",
@@ -129,3 +142,46 @@ export const multiline = {
129
142
  </Example.Item>
130
143
  </Example>),
131
144
  };
145
+ export const onClick = {
146
+ name: "item, onClick, disabled",
147
+ args: {
148
+ handleClick: fn(),
149
+ },
150
+ render: (args) => (<Breadcrumbs>
151
+ <Breadcrumbs.Item onClick={args.handleClick}>Trigger</Breadcrumbs.Item>
152
+ <Breadcrumbs.Item onClick={args.handleClick} disabled>
153
+ Trigger
154
+ </Breadcrumbs.Item>
155
+ </Breadcrumbs>),
156
+ play: async ({ args, canvas }) => {
157
+ const triggers = canvas.getAllByRole("button");
158
+ await userEvent.click(triggers[0]);
159
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
160
+ expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: triggers[0] }));
161
+ await userEvent.click(triggers[1]);
162
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
163
+ },
164
+ };
165
+ export const href = {
166
+ name: "item, href",
167
+ render: () => (<Breadcrumbs>
168
+ <Breadcrumbs.Item href="https://reshaped.so">Trigger</Breadcrumbs.Item>
169
+ </Breadcrumbs>),
170
+ play: async ({ canvas }) => {
171
+ const triggers = canvas.getAllByRole("link");
172
+ expect(triggers[0]).toHaveAttribute("href", "https://reshaped.so");
173
+ },
174
+ };
175
+ export const className = {
176
+ name: "className, attributes",
177
+ render: () => (<div data-testid="root">
178
+ <Breadcrumbs className="test-classname" attributes={{ id: "test-id" }}>
179
+ <Breadcrumbs.Item>Trigger</Breadcrumbs.Item>
180
+ </Breadcrumbs>
181
+ </div>),
182
+ play: async ({ canvas }) => {
183
+ const root = canvas.getByTestId("root").firstChild;
184
+ expect(root).toHaveClass("test-classname");
185
+ expect(root).toHaveAttribute("id", "test-id");
186
+ },
187
+ };
@@ -1,3 +1,5 @@
1
+ import { StoryObj } from "@storybook/react-vite";
2
+ import { fn } from "storybook/test";
1
3
  declare const _default: {
2
4
  title: string;
3
5
  component: import("../Button.types").Export;
@@ -8,15 +10,55 @@ declare const _default: {
8
10
  };
9
11
  };
10
12
  export default _default;
11
- export declare const variantAndColor: () => import("react").JSX.Element;
12
- export declare const icon: () => import("react").JSX.Element;
13
- export declare const size: () => import("react").JSX.Element;
14
- export declare const elevated: () => 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;
13
+ export declare const variantAndColor: {
14
+ name: string;
15
+ render: () => import("react").JSX.Element;
16
+ };
17
+ export declare const icon: {
18
+ name: string;
19
+ render: () => import("react").JSX.Element;
20
+ };
21
+ export declare const size: {
22
+ name: string;
23
+ render: () => import("react").JSX.Element;
24
+ };
25
+ export declare const elevated: {
26
+ name: string;
27
+ render: () => import("react").JSX.Element;
28
+ };
29
+ export declare const rounded: {
30
+ name: string;
31
+ render: () => import("react").JSX.Element;
32
+ };
33
+ export declare const fullWidth: {
34
+ name: string;
35
+ render: () => import("react").JSX.Element;
36
+ };
37
+ export declare const loading: {
38
+ name: string;
39
+ render: () => import("react").JSX.Element;
40
+ };
41
+ export declare const highlighted: {
42
+ name: string;
43
+ render: () => import("react").JSX.Element;
44
+ };
45
+ export declare const disabled: StoryObj;
46
+ export declare const aligner: {
47
+ name: string;
48
+ render: () => import("react").JSX.Element;
49
+ };
50
+ export declare const composition: {
51
+ name: string;
52
+ render: () => import("react").JSX.Element;
53
+ };
54
+ export declare const href: StoryObj;
55
+ export declare const onClick: StoryObj<{
56
+ handleClick: ReturnType<typeof fn>;
57
+ }>;
58
+ export declare const hrefOnClick: StoryObj<{
59
+ handleClick: ReturnType<typeof fn>;
60
+ }>;
61
+ export declare const as: StoryObj;
62
+ export declare const className: StoryObj;
63
+ export declare const group: StoryObj;
64
+ export declare const groupClassName: StoryObj;