reshaped 3.3.11 → 3.3.13
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.
- package/CHANGELOG.md +12 -0
- package/dist/bundle.css +1 -1
- package/dist/bundle.d.ts +1 -1
- package/dist/bundle.js +16 -17
- package/dist/cjs/themes/_generator/utilities/generateColors.d.ts +1 -1
- package/dist/cjs/themes/_generator/utilities/generateColors.js +3 -2
- package/dist/cjs/themes/_generator/utilities/tests/color.test.js +32 -31
- package/dist/cjs/themes/slate/theme.css +1 -1
- package/dist/components/Accordion/tests/Accordion.stories.d.ts +30 -8
- package/dist/components/Accordion/tests/Accordion.stories.js +172 -119
- package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +12 -3
- package/dist/components/ActionBar/tests/ActionBar.stories.js +51 -36
- package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +15 -0
- package/dist/components/ActionBar/tests/ActionBar.test.stories.js +26 -0
- package/dist/components/Actionable/Actionable.js +1 -1
- package/dist/components/Actionable/tests/Actionable.stories.d.ts +19 -5
- package/dist/components/Actionable/tests/Actionable.stories.js +88 -63
- package/dist/components/Actionable/tests/Actionable.test.stories.d.ts +32 -0
- package/dist/components/Actionable/tests/Actionable.test.stories.js +130 -0
- package/dist/components/Alert/Alert.js +1 -1
- package/dist/components/Alert/tests/Alert.stories.d.ts +12 -3
- package/dist/components/Alert/tests/Alert.stories.js +51 -86
- package/dist/components/Alert/tests/Alert.test.stories.d.ts +15 -0
- package/dist/components/Alert/tests/Alert.test.stories.js +26 -0
- package/dist/components/Autocomplete/Autocomplete.js +9 -2
- package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +6 -2
- package/dist/components/Autocomplete/tests/Autocomplete.stories.js +94 -111
- package/dist/components/Autocomplete/tests/Autocomplete.test.stories.d.ts +23 -0
- package/dist/components/Autocomplete/tests/Autocomplete.test.stories.js +86 -0
- package/dist/components/Avatar/Avatar.js +1 -1
- package/dist/components/Avatar/tests/Avatar.stories.d.ts +14 -4
- package/dist/components/Avatar/tests/Avatar.stories.js +94 -80
- package/dist/components/Avatar/tests/Avatar.test.stories.d.ts +17 -0
- package/dist/components/Avatar/tests/Avatar.test.stories.js +39 -0
- package/dist/components/Badge/tests/Badge.stories.d.ts +33 -8
- package/dist/components/Badge/tests/Badge.stories.js +238 -212
- package/dist/components/Badge/tests/Badge.test.stories.d.ts +20 -0
- package/dist/components/Badge/tests/Badge.test.stories.js +44 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js +2 -2
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -0
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +24 -5
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +114 -95
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +23 -0
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +76 -0
- package/dist/components/Button/Button.js +5 -2
- package/dist/components/Button/Button.module.css +1 -1
- package/dist/components/Button/Button.types.d.ts +1 -0
- package/dist/components/Button/tests/Button.stories.d.ts +2 -2
- package/dist/components/Button/tests/Button.stories.js +77 -74
- package/dist/components/Button/tests/Button.test.stories.d.ts +27 -0
- package/dist/components/Button/tests/Button.test.stories.js +112 -0
- package/dist/components/Calendar/tests/Calendar.test.stories.d.ts +26 -0
- package/dist/components/Calendar/tests/Calendar.test.stories.js +161 -0
- package/dist/components/Card/tests/Card.stories.d.ts +0 -1
- package/dist/components/Card/tests/Card.stories.js +0 -11
- package/dist/components/Card/tests/Card.test.stories.d.ts +35 -0
- package/dist/components/Card/tests/Card.test.stories.js +54 -0
- package/dist/components/Carousel/Carousel.js +52 -4
- package/dist/components/Carousel/Carousel.types.d.ts +4 -0
- package/dist/components/Carousel/CarouselControl.js +1 -1
- package/dist/components/Carousel/tests/Carousel.stories.d.ts +23 -4
- package/dist/components/Carousel/tests/Carousel.stories.js +199 -102
- package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +25 -0
- package/dist/components/Checkbox/tests/Checkbox.test.stories.js +104 -0
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +22 -0
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +78 -0
- package/dist/components/Container/tests/Container.stories.d.ts +12 -3
- package/dist/components/Container/tests/Container.stories.js +50 -31
- package/dist/components/Container/tests/Container.test.stories.d.ts +15 -0
- package/dist/components/Container/tests/Container.test.stories.js +26 -0
- package/dist/components/ContextMenu/ContextMenu.js +13 -9
- package/dist/components/ContextMenu/tests/ContextMenu.stories.js +2 -3
- package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +26 -0
- package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +53 -0
- package/dist/components/Dismissible/Dismissible.js +1 -1
- package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +10 -3
- package/dist/components/Dismissible/tests/Dismissible.stories.js +51 -34
- package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +19 -0
- package/dist/components/Dismissible/tests/Dismissible.test.stories.js +42 -0
- package/dist/components/Divider/tests/Divider.test.stories.d.ts +18 -0
- package/dist/components/Divider/tests/Divider.test.stories.js +47 -0
- package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +37 -0
- package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +117 -0
- package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +22 -0
- package/dist/components/FileUpload/tests/FileUpload.test.stories.js +52 -0
- package/dist/components/FormControl/FormControlCaption.js +1 -1
- package/dist/components/FormControl/FormControlLabel.js +1 -1
- package/dist/components/FormControl/tests/FormControl.stories.d.ts +11 -5
- package/dist/components/FormControl/tests/FormControl.stories.js +78 -73
- package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +20 -0
- package/dist/components/FormControl/tests/FormControl.test.stories.js +49 -0
- package/dist/components/Grid/tests/Grid.stories.d.ts +20 -5
- package/dist/components/Grid/tests/Grid.stories.js +164 -149
- package/dist/components/Grid/tests/Grid.test.stories.d.ts +19 -0
- package/dist/components/Grid/tests/Grid.test.stories.js +42 -0
- package/dist/components/Hidden/tests/Hidden.stories.d.ts +4 -1
- package/dist/components/Hidden/tests/Hidden.stories.js +28 -25
- package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +15 -0
- package/dist/components/Hidden/tests/Hidden.test.stories.js +20 -0
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +4 -1
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +8 -5
- package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +15 -0
- package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +20 -0
- package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +15 -0
- package/dist/components/Hotkey/tests/Hotkey.test.stories.js +26 -0
- package/dist/components/Icon/tests/Icon.stories.d.ts +12 -3
- package/dist/components/Icon/tests/Icon.stories.js +69 -60
- package/dist/components/Icon/tests/Icon.test.stories.d.ts +16 -0
- package/dist/components/Icon/tests/Icon.test.stories.js +35 -0
- package/dist/components/Image/tests/Image.stories.d.ts +24 -5
- package/dist/components/Image/tests/Image.stories.js +95 -75
- package/dist/components/Image/tests/Image.test.stories.d.ts +25 -0
- package/dist/components/Image/tests/Image.test.stories.js +80 -0
- package/dist/components/Link/tests/Link.test.stories.d.ts +29 -0
- package/dist/components/Link/tests/Link.test.stories.js +87 -0
- package/dist/components/Loader/Loader.js +1 -1
- package/dist/components/Loader/Loader.types.d.ts +1 -0
- package/dist/components/Loader/tests/Loader.stories.js +8 -8
- package/dist/components/Loader/tests/Loader.test.stories.d.ts +16 -0
- package/dist/components/Loader/tests/Loader.test.stories.js +32 -0
- package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +26 -0
- package/dist/components/MenuItem/tests/MenuItem.test.stories.js +100 -0
- package/dist/components/Modal/tests/Modal.test.stories.d.ts +32 -0
- package/dist/components/Modal/tests/Modal.test.stories.js +149 -0
- package/dist/components/Overlay/tests/Overlay.stories.d.ts +4 -2
- package/dist/components/Overlay/tests/Overlay.stories.js +53 -53
- package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +28 -0
- package/dist/components/Overlay/tests/Overlay.test.stories.js +146 -0
- package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +23 -0
- package/dist/components/Pagination/tests/Pagination.test.stories.js +86 -0
- package/dist/components/PinField/tests/PinField.stories.d.ts +0 -1
- package/dist/components/PinField/tests/PinField.stories.js +10 -19
- package/dist/components/PinField/tests/PinField.test.stories.d.ts +29 -0
- package/dist/components/PinField/tests/PinField.test.stories.js +177 -0
- package/dist/components/Popover/tests/Popover.test.stories.d.ts +40 -0
- package/dist/components/Popover/tests/Popover.test.stories.js +167 -0
- package/dist/components/Progress/Progress.js +2 -2
- package/dist/components/Progress/Progress.types.d.ts +1 -0
- package/dist/components/Progress/tests/Progress.stories.js +10 -10
- package/dist/components/Progress/tests/Progress.test.stories.d.ts +16 -0
- package/dist/components/Progress/tests/Progress.test.stories.js +35 -0
- package/dist/components/Radio/tests/Radio.test.stories.d.ts +30 -0
- package/dist/components/Radio/tests/Radio.test.stories.js +118 -0
- package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +22 -0
- package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +78 -0
- package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +33 -0
- package/dist/components/Reshaped/tests/Reshaped.stories.js +88 -0
- package/dist/components/Resizable/Resizable.js +1 -0
- package/dist/components/Resizable/tests/Resizable.stories.d.ts +3 -0
- package/dist/components/Resizable/tests/Resizable.stories.js +4 -0
- package/dist/components/Resizable/tests/Resizable.test.stories.d.ts +19 -0
- package/dist/components/Resizable/tests/Resizable.test.stories.js +25 -0
- package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +15 -0
- package/dist/components/Scrim/tests/Scrim.test.stories.js +25 -0
- package/dist/components/ScrollArea/ScrollArea.js +1 -1
- package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
- package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +17 -4
- package/dist/components/ScrollArea/tests/ScrollArea.stories.js +114 -139
- package/dist/components/ScrollArea/tests/ScrollArea.test.stories.d.ts +23 -0
- package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +66 -0
- package/dist/components/Select/tests/Select.stories.d.ts +1 -1
- package/dist/components/Select/tests/Select.stories.js +5 -12
- package/dist/components/Select/tests/Select.test.stories.d.ts +27 -0
- package/dist/components/Select/tests/Select.test.stories.js +132 -0
- package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +15 -0
- package/dist/components/Skeleton/tests/Skeleton.test.stories.js +23 -0
- package/dist/components/Slider/tests/Slider.stories.d.ts +0 -1
- package/dist/components/Slider/tests/Slider.stories.js +8 -9
- package/dist/components/Slider/tests/Slider.test.stories.d.ts +38 -0
- package/dist/components/Slider/tests/Slider.test.stories.js +150 -0
- package/dist/components/Stepper/Stepper.js +1 -1
- package/dist/components/Stepper/tests/Stepper.stories.js +0 -3
- package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +18 -0
- package/dist/components/Stepper/tests/Stepper.test.stories.js +28 -0
- package/dist/components/Switch/tests/Switch.test.stories.d.ts +23 -0
- package/dist/components/Switch/tests/Switch.test.stories.js +79 -0
- package/dist/components/Table/index.d.ts +1 -1
- package/dist/components/Table/tests/Table.stories.d.ts +5 -5
- package/dist/components/Table/tests/Table.test.stories.d.ts +25 -0
- package/dist/components/Table/tests/Table.test.stories.js +93 -0
- package/dist/components/Tabs/tests/Tabs.stories.js +4 -4
- package/dist/components/Tabs/tests/Tabs.test.stories.d.ts +28 -0
- package/dist/components/Tabs/tests/Tabs.test.stories.js +128 -0
- package/dist/components/Text/tests/Text.stories.d.ts +28 -7
- package/dist/components/Text/tests/Text.stories.js +148 -125
- package/dist/components/Text/tests/Text.test.stories.d.ts +18 -0
- package/dist/components/Text/tests/Text.test.stories.js +49 -0
- package/dist/components/TextArea/TextArea.module.css +1 -1
- package/dist/components/TextArea/tests/TextArea.stories.js +1 -1
- package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +29 -0
- package/dist/components/TextArea/tests/TextArea.test.stories.js +99 -0
- package/dist/components/TextField/tests/TextField.stories.js +1 -1
- package/dist/components/TextField/tests/TextField.test.stories.d.ts +29 -0
- package/dist/components/TextField/tests/TextField.test.stories.js +99 -0
- package/dist/components/Theme/tests/Theme.test.stories.d.ts +24 -0
- package/dist/components/Theme/tests/Theme.test.stories.js +133 -0
- package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +18 -0
- package/dist/components/Timeline/tests/Timeline.test.stories.js +32 -0
- package/dist/components/Toast/tests/Toast.test.stories.d.ts +16 -0
- package/dist/components/Toast/tests/Toast.test.stories.js +101 -0
- package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -14
- package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +19 -0
- package/dist/components/Tooltip/tests/Tooltip.test.stories.js +40 -0
- package/dist/components/View/View.js +1 -2
- package/dist/components/View/tests/View.stories.d.ts +112 -28
- package/dist/components/View/tests/View.stories.js +1092 -1012
- package/dist/components/View/tests/View.test.stories.d.ts +20 -0
- package/dist/components/View/tests/View.test.stories.js +50 -0
- package/dist/components/_private/Flyout/FlyoutContent.js +1 -1
- package/dist/components/_private/Flyout/tests/Flyout.stories.js +4 -4
- package/dist/components/_private/Flyout/tests/Flyout.test.stories.d.ts +28 -0
- package/dist/components/_private/Flyout/tests/Flyout.test.stories.js +205 -0
- package/dist/components/_private/Portal/tests/Portal.stories.js +1 -1
- package/dist/hooks/_private/useSingletonHotkeys.d.ts +3 -3
- package/dist/hooks/_private/useSingletonHotkeys.js +1 -1
- package/dist/hooks/tests/useDrag.stories.js +1 -0
- package/dist/hooks/tests/useDrag.test.stories.d.ts +26 -0
- package/dist/hooks/tests/useDrag.test.stories.js +120 -0
- package/dist/hooks/tests/useElementId.stories.d.ts +6 -0
- package/dist/hooks/tests/useElementId.stories.js +19 -0
- package/dist/hooks/tests/useHotkeys.test.stories.d.ts +39 -0
- package/dist/hooks/tests/useHotkeys.test.stories.js +119 -0
- package/dist/hooks/tests/useRTL.stories.d.ts +6 -0
- package/dist/hooks/tests/useRTL.stories.js +25 -0
- package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +9 -1
- package/dist/hooks/tests/useResponsiveClientValue.stories.js +22 -9
- package/dist/hooks/tests/useScrollLock.stories.d.ts +6 -0
- package/dist/hooks/tests/useScrollLock.stories.js +22 -0
- package/dist/hooks/tests/useToggle.stories.d.ts +8 -0
- package/dist/hooks/tests/useToggle.stories.js +54 -0
- package/dist/hooks/useHotkeys.js +0 -2
- package/dist/hooks/useScrollLock.d.ts +1 -0
- package/dist/hooks/useScrollLock.js +7 -3
- package/dist/index.d.ts +1 -1
- package/dist/tests/ShadowDOM.stories.js +1 -1
- package/dist/themes/_generator/tests/themes.stories.d.ts +3 -0
- package/dist/themes/_generator/tests/themes.stories.js +7 -11
- package/dist/themes/_generator/utilities/generateColors.d.ts +1 -1
- package/dist/themes/_generator/utilities/generateColors.js +3 -2
- package/dist/themes/slate/theme.css +1 -1
- package/dist/utilities/helpers.d.ts +1 -0
- package/dist/utilities/helpers.js +3 -0
- package/dist/utilities/scroll/lock.d.ts +1 -0
- package/dist/utilities/scroll/lock.js +3 -3
- package/dist/utilities/scroll/lockSafari.d.ts +1 -1
- package/dist/utilities/scroll/lockSafari.js +4 -5
- package/dist/utilities/scroll/lockStandard.d.ts +4 -1
- package/dist/utilities/scroll/lockStandard.js +7 -2
- package/dist/utilities/storybook/Example.js +1 -2
- package/package.json +42 -41
- package/dist/components/Theme/tests/Theme.stories.d.ts +0 -13
- package/dist/components/Theme/tests/Theme.stories.js +0 -80
- package/dist/utilities/storybook/Example.module.css +0 -1
@@ -1,4 +1,5 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import { expect, fn } from "@storybook/test";
|
2
3
|
import { Example } from "../../../utilities/storybook/index.js";
|
3
4
|
import Avatar from "../../Avatar/index.js";
|
4
5
|
import View from "../../View/index.js";
|
@@ -7,6 +8,7 @@ import Icon from "../../Icon/index.js";
|
|
7
8
|
import Button from "../../Button/index.js";
|
8
9
|
import IconCheckmark from "../../../icons/Checkmark.js";
|
9
10
|
import IconChevronRight from "../../../icons/ChevronRight.js";
|
11
|
+
import userEvent from "@testing-library/user-event";
|
10
12
|
export default {
|
11
13
|
title: "Components/Badge",
|
12
14
|
component: Badge,
|
@@ -16,232 +18,256 @@ export default {
|
|
16
18
|
},
|
17
19
|
},
|
18
20
|
};
|
19
|
-
export const variant =
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<Example.Item title="variant: faded">
|
24
|
-
<Badge variant="faded">Badge</Badge>
|
25
|
-
</Example.Item>
|
26
|
-
<Example.Item title="variant: outline">
|
27
|
-
<Badge variant="outline">Badge</Badge>
|
28
|
-
</Example.Item>
|
29
|
-
</Example>);
|
30
|
-
export const color = () => (<Example>
|
31
|
-
<Example.Item title="color: primary, all variants">
|
32
|
-
<View direction="row" gap={3}>
|
33
|
-
<Badge color="primary">Badge</Badge>
|
34
|
-
<Badge variant="faded" color="primary">
|
35
|
-
Badge
|
36
|
-
</Badge>
|
37
|
-
<Badge variant="outline" color="primary">
|
38
|
-
Badge
|
39
|
-
</Badge>
|
40
|
-
</View>
|
41
|
-
</Example.Item>
|
42
|
-
|
43
|
-
<Example.Item title="color: positive, all variants">
|
44
|
-
<View direction="row" gap={3}>
|
45
|
-
<Badge color="positive">Badge</Badge>
|
46
|
-
<Badge variant="faded" color="positive">
|
47
|
-
Badge
|
48
|
-
</Badge>
|
49
|
-
<Badge variant="outline" color="positive">
|
50
|
-
Badge
|
51
|
-
</Badge>
|
52
|
-
</View>
|
53
|
-
</Example.Item>
|
54
|
-
|
55
|
-
<Example.Item title="color: critical, all variants">
|
56
|
-
<View direction="row" gap={3}>
|
57
|
-
<Badge color="critical">Badge</Badge>
|
58
|
-
<Badge variant="faded" color="critical">
|
59
|
-
Badge
|
60
|
-
</Badge>
|
61
|
-
<Badge variant="outline" color="critical">
|
62
|
-
Badge
|
63
|
-
</Badge>
|
64
|
-
</View>
|
65
|
-
</Example.Item>
|
66
|
-
|
67
|
-
<Example.Item title="color: warning, all variants">
|
68
|
-
<View direction="row" gap={3}>
|
69
|
-
<Badge color="warning">Badge</Badge>
|
70
|
-
<Badge variant="faded" color="warning">
|
71
|
-
Badge
|
72
|
-
</Badge>
|
73
|
-
<Badge variant="outline" color="warning">
|
74
|
-
Badge
|
75
|
-
</Badge>
|
76
|
-
</View>
|
77
|
-
</Example.Item>
|
78
|
-
</Example>);
|
79
|
-
export const sizes = () => (<Example>
|
80
|
-
<Example.Item title="size: small, not rounded and rounded">
|
81
|
-
<View gap={3} direction="row">
|
82
|
-
<Badge size="small">Badge</Badge>
|
83
|
-
<Badge rounded size="small">
|
84
|
-
Badge
|
85
|
-
</Badge>
|
86
|
-
</View>
|
87
|
-
</Example.Item>
|
88
|
-
<Example.Item title="size: medium, not rounded and rounded">
|
89
|
-
<View gap={3} direction="row">
|
21
|
+
export const variant = {
|
22
|
+
name: "variant",
|
23
|
+
render: () => (<Example>
|
24
|
+
<Example.Item title="variant: default">
|
90
25
|
<Badge>Badge</Badge>
|
91
|
-
<Badge rounded>Badge</Badge>
|
92
|
-
</View>
|
93
|
-
</Example.Item>
|
94
|
-
<Example.Item title="size: large, not rounded and rounded">
|
95
|
-
<View gap={3} direction="row">
|
96
|
-
<Badge size="large">Badge</Badge>
|
97
|
-
<Badge rounded size="large">
|
98
|
-
Badge
|
99
|
-
</Badge>
|
100
|
-
</View>
|
101
|
-
</Example.Item>
|
102
|
-
</Example>);
|
103
|
-
export const icon = () => (<Example>
|
104
|
-
<Example.Item title="size: small, not rounded and rounded">
|
105
|
-
<View gap={3} direction="row">
|
106
|
-
<Badge icon={IconCheckmark} endIcon={IconChevronRight} size="small">
|
107
|
-
Badge
|
108
|
-
</Badge>
|
109
|
-
</View>
|
110
|
-
</Example.Item>
|
111
|
-
<Example.Item title="size: medium, not rounded and rounded">
|
112
|
-
<View gap={3} direction="row">
|
113
|
-
<Badge icon={IconCheckmark} endIcon={IconChevronRight}>
|
114
|
-
Badge
|
115
|
-
</Badge>
|
116
|
-
</View>
|
117
|
-
</Example.Item>
|
118
|
-
<Example.Item title="size: large, not rounded and rounded">
|
119
|
-
<View gap={3} direction="row">
|
120
|
-
<Badge size="large" icon={IconCheckmark} endIcon={IconChevronRight}>
|
121
|
-
Badge
|
122
|
-
</Badge>
|
123
|
-
</View>
|
124
|
-
</Example.Item>
|
125
|
-
</Example>);
|
126
|
-
export const actionable = () => (<Example>
|
127
|
-
<Example.Item title="onClick">
|
128
|
-
<Badge onClick={() => console.log("click")} dismissAriaLabel="Dismiss">
|
129
|
-
Badge
|
130
|
-
</Badge>
|
131
|
-
</Example.Item>
|
132
|
-
<Example.Item title="dismissible, close button is actionable">
|
133
|
-
<Badge onDismiss={() => console.log("heyeye")} dismissAriaLabel="Dismiss">
|
134
|
-
Badge
|
135
|
-
</Badge>
|
136
|
-
</Example.Item>
|
137
|
-
<Example.Item title="dismissible + onClick, whole badge is actionable">
|
138
|
-
<Badge onDismiss={() => console.log("dismiss")} dismissAriaLabel="Dismiss" onClick={() => console.log("click")}>
|
139
|
-
Badge
|
140
|
-
</Badge>
|
141
|
-
</Example.Item>
|
142
|
-
</Example>);
|
143
|
-
export const rounded = () => (<Example>
|
144
|
-
<Example.Item title="rounded, all variants">
|
145
|
-
<View direction="row" gap={3}>
|
146
|
-
<Badge rounded>Badge</Badge>
|
147
|
-
<Badge rounded variant="faded">
|
148
|
-
Badge
|
149
|
-
</Badge>
|
150
|
-
<Badge rounded variant="outline">
|
151
|
-
Badge
|
152
|
-
</Badge>
|
153
|
-
</View>
|
154
|
-
</Example.Item>
|
155
|
-
<Example.Item title={["rounded, all sizes, color: critical", "one character, renders as circle"]}>
|
156
|
-
<View direction="row" gap={3}>
|
157
|
-
<Badge rounded color="critical" size="small">
|
158
|
-
2
|
159
|
-
</Badge>
|
160
|
-
<Badge rounded color="critical">
|
161
|
-
2
|
162
|
-
</Badge>
|
163
|
-
<Badge rounded color="critical" size="large">
|
164
|
-
2
|
165
|
-
</Badge>
|
166
|
-
</View>
|
167
|
-
</Example.Item>
|
168
|
-
</Example>);
|
169
|
-
export const empty = () => (<Example>
|
170
|
-
<Example.Item title="empty, not rounded, all sizes, color: critical">
|
171
|
-
<View direction="row" gap={3}>
|
172
|
-
<Badge size="small" color="critical"/>
|
173
|
-
<Badge color="critical"/>
|
174
|
-
<Badge size="large" color="critical"/>
|
175
|
-
</View>
|
176
|
-
</Example.Item>
|
177
|
-
<Example.Item title="empty, rounded, all sizes, color: critical">
|
178
|
-
<View direction="row" gap={3}>
|
179
|
-
<Badge rounded size="small" color="critical"/>
|
180
|
-
<Badge rounded color="critical"/>
|
181
|
-
<Badge rounded size="large" color="critical"/>
|
182
|
-
</View>
|
183
|
-
</Example.Item>
|
184
|
-
</Example>);
|
185
|
-
export const container = () => {
|
186
|
-
const [hidden, setHidden] = React.useState(false);
|
187
|
-
return (<Example title={<Button onClick={() => setHidden(!hidden)}>Toggle badges</Button>}>
|
188
|
-
<Example.Item title="position: top-end">
|
189
|
-
<Badge.Container>
|
190
|
-
<Badge color="primary" hidden={hidden}>
|
191
|
-
5
|
192
|
-
</Badge>
|
193
|
-
<Avatar initials="A" squared/>
|
194
|
-
</Badge.Container>
|
195
26
|
</Example.Item>
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
27
|
+
<Example.Item title="variant: faded">
|
28
|
+
<Badge variant="faded">Badge</Badge>
|
29
|
+
</Example.Item>
|
30
|
+
<Example.Item title="variant: outline">
|
31
|
+
<Badge variant="outline">Badge</Badge>
|
32
|
+
</Example.Item>
|
33
|
+
</Example>),
|
34
|
+
};
|
35
|
+
export const color = {
|
36
|
+
name: "color",
|
37
|
+
render: () => (<Example>
|
38
|
+
<Example.Item title="color: primary, all variants">
|
39
|
+
<View direction="row" gap={3}>
|
40
|
+
<Badge color="primary">Badge</Badge>
|
41
|
+
<Badge variant="faded" color="primary">
|
42
|
+
Badge
|
43
|
+
</Badge>
|
44
|
+
<Badge variant="outline" color="primary">
|
45
|
+
Badge
|
201
46
|
</Badge>
|
202
|
-
|
203
|
-
</Badge.Container>
|
47
|
+
</View>
|
204
48
|
</Example.Item>
|
205
49
|
|
206
|
-
<Example.Item title="
|
207
|
-
<
|
208
|
-
<Badge
|
209
|
-
|
50
|
+
<Example.Item title="color: positive, all variants">
|
51
|
+
<View direction="row" gap={3}>
|
52
|
+
<Badge color="positive">Badge</Badge>
|
53
|
+
<Badge variant="faded" color="positive">
|
54
|
+
Badge
|
210
55
|
</Badge>
|
211
|
-
<
|
212
|
-
|
56
|
+
<Badge variant="outline" color="positive">
|
57
|
+
Badge
|
58
|
+
</Badge>
|
59
|
+
</View>
|
213
60
|
</Example.Item>
|
214
61
|
|
215
|
-
<Example.Item title="
|
216
|
-
<
|
217
|
-
<Badge color="
|
218
|
-
<
|
219
|
-
|
62
|
+
<Example.Item title="color: critical, all variants">
|
63
|
+
<View direction="row" gap={3}>
|
64
|
+
<Badge color="critical">Badge</Badge>
|
65
|
+
<Badge variant="faded" color="critical">
|
66
|
+
Badge
|
67
|
+
</Badge>
|
68
|
+
<Badge variant="outline" color="critical">
|
69
|
+
Badge
|
70
|
+
</Badge>
|
71
|
+
</View>
|
220
72
|
</Example.Item>
|
221
73
|
|
222
|
-
<Example.Item title=
|
223
|
-
<
|
224
|
-
<Badge
|
225
|
-
|
74
|
+
<Example.Item title="color: warning, all variants">
|
75
|
+
<View direction="row" gap={3}>
|
76
|
+
<Badge color="warning">Badge</Badge>
|
77
|
+
<Badge variant="faded" color="warning">
|
78
|
+
Badge
|
79
|
+
</Badge>
|
80
|
+
<Badge variant="outline" color="warning">
|
81
|
+
Badge
|
226
82
|
</Badge>
|
227
|
-
|
228
|
-
</Badge.Container>
|
83
|
+
</View>
|
229
84
|
</Example.Item>
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
85
|
+
</Example>),
|
86
|
+
};
|
87
|
+
export const size = {
|
88
|
+
name: "size",
|
89
|
+
render: () => (<Example>
|
90
|
+
<Example.Item title="size: small, not rounded and rounded">
|
91
|
+
<View gap={3} direction="row">
|
92
|
+
<Badge size="small">Badge</Badge>
|
93
|
+
<Badge rounded size="small">
|
94
|
+
Badge
|
95
|
+
</Badge>
|
96
|
+
</View>
|
97
|
+
</Example.Item>
|
98
|
+
<Example.Item title="size: medium, not rounded and rounded">
|
99
|
+
<View gap={3} direction="row">
|
100
|
+
<Badge>Badge</Badge>
|
101
|
+
<Badge rounded>Badge</Badge>
|
102
|
+
</View>
|
103
|
+
</Example.Item>
|
104
|
+
<Example.Item title="size: large, not rounded and rounded">
|
105
|
+
<View gap={3} direction="row">
|
106
|
+
<Badge size="large">Badge</Badge>
|
107
|
+
<Badge rounded size="large">
|
108
|
+
Badge
|
109
|
+
</Badge>
|
110
|
+
</View>
|
111
|
+
</Example.Item>
|
112
|
+
</Example>),
|
113
|
+
};
|
114
|
+
export const icon = {
|
115
|
+
name: "icon",
|
116
|
+
render: () => (<Example>
|
117
|
+
<Example.Item title="size: small">
|
118
|
+
<View gap={3} direction="row">
|
119
|
+
<Badge icon={IconCheckmark} endIcon={IconChevronRight} size="small">
|
120
|
+
Badge
|
121
|
+
</Badge>
|
122
|
+
</View>
|
123
|
+
</Example.Item>
|
124
|
+
<Example.Item title="size: medium">
|
125
|
+
<View gap={3} direction="row">
|
126
|
+
<Badge icon={IconCheckmark} endIcon={IconChevronRight}>
|
127
|
+
Badge
|
128
|
+
</Badge>
|
129
|
+
</View>
|
130
|
+
</Example.Item>
|
131
|
+
<Example.Item title="size: large">
|
132
|
+
<View gap={3} direction="row">
|
133
|
+
<Badge size="large" icon={IconCheckmark} endIcon={IconChevronRight}>
|
134
|
+
Badge
|
135
|
+
</Badge>
|
136
|
+
</View>
|
137
|
+
</Example.Item>
|
138
|
+
</Example>),
|
139
|
+
};
|
140
|
+
export const onDismiss = {
|
141
|
+
name: "onDismiss, dismissAriaLabel",
|
142
|
+
args: {
|
143
|
+
handleDismiss: fn(),
|
144
|
+
},
|
145
|
+
render: (args) => (<Example>
|
146
|
+
<Example.Item title="onDismiss">
|
147
|
+
<Badge onDismiss={args.handleDismiss} dismissAriaLabel="Dismiss">
|
148
|
+
Badge
|
149
|
+
</Badge>
|
150
|
+
</Example.Item>
|
151
|
+
</Example>),
|
152
|
+
play: async ({ canvas, args }) => {
|
153
|
+
const dismissTrigger = canvas.getAllByRole("button")[0];
|
154
|
+
await userEvent.click(dismissTrigger);
|
155
|
+
expect(dismissTrigger).toHaveAccessibleName("Dismiss");
|
156
|
+
expect(args.handleDismiss).toHaveBeenCalledTimes(1);
|
157
|
+
expect(args.handleDismiss).toHaveBeenCalledWith();
|
158
|
+
},
|
159
|
+
};
|
160
|
+
export const rounded = {
|
161
|
+
name: "rounded",
|
162
|
+
render: () => (<Example>
|
163
|
+
<Example.Item title="rounded, all variants">
|
164
|
+
<View direction="row" gap={3}>
|
165
|
+
<Badge rounded>Badge</Badge>
|
166
|
+
<Badge rounded variant="faded">
|
167
|
+
Badge
|
168
|
+
</Badge>
|
169
|
+
<Badge rounded variant="outline">
|
170
|
+
Badge
|
171
|
+
</Badge>
|
172
|
+
</View>
|
173
|
+
</Example.Item>
|
174
|
+
<Example.Item title={["rounded, all sizes, color: critical", "one character, renders as circle"]}>
|
175
|
+
<View direction="row" gap={3}>
|
176
|
+
<Badge rounded color="critical" size="small">
|
234
177
|
2
|
235
178
|
</Badge>
|
236
|
-
<
|
237
|
-
|
179
|
+
<Badge rounded color="critical">
|
180
|
+
2
|
181
|
+
</Badge>
|
182
|
+
<Badge rounded color="critical" size="large">
|
183
|
+
2
|
184
|
+
</Badge>
|
185
|
+
</View>
|
238
186
|
</Example.Item>
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
187
|
+
</Example>),
|
188
|
+
};
|
189
|
+
export const empty = {
|
190
|
+
name: "empty",
|
191
|
+
render: () => (<Example>
|
192
|
+
<Example.Item title="empty, not rounded, all sizes, color: critical">
|
193
|
+
<View direction="row" gap={3}>
|
194
|
+
<Badge size="small" color="critical"/>
|
195
|
+
<Badge color="critical"/>
|
196
|
+
<Badge size="large" color="critical"/>
|
197
|
+
</View>
|
198
|
+
</Example.Item>
|
199
|
+
<Example.Item title="empty, rounded, all sizes, color: critical">
|
200
|
+
<View direction="row" gap={3}>
|
201
|
+
<Badge rounded size="small" color="critical"/>
|
202
|
+
<Badge rounded color="critical"/>
|
203
|
+
<Badge rounded size="large" color="critical"/>
|
204
|
+
</View>
|
245
205
|
</Example.Item>
|
246
|
-
</Example>)
|
206
|
+
</Example>),
|
207
|
+
};
|
208
|
+
export const container = {
|
209
|
+
name: "container",
|
210
|
+
render: () => {
|
211
|
+
const [hidden, setHidden] = React.useState(false);
|
212
|
+
return (<Example title={<Button onClick={() => setHidden(!hidden)}>Toggle badges</Button>}>
|
213
|
+
<Example.Item title="position: top-end">
|
214
|
+
<Badge.Container>
|
215
|
+
<Badge color="primary" hidden={hidden}>
|
216
|
+
5
|
217
|
+
</Badge>
|
218
|
+
<Avatar initials="A" squared/>
|
219
|
+
</Badge.Container>
|
220
|
+
</Example.Item>
|
221
|
+
|
222
|
+
<Example.Item title="position: bottom-end">
|
223
|
+
<Badge.Container position="bottom-end">
|
224
|
+
<Badge color="primary" hidden={hidden}>
|
225
|
+
5
|
226
|
+
</Badge>
|
227
|
+
<Avatar initials="A" squared/>
|
228
|
+
</Badge.Container>
|
229
|
+
</Example.Item>
|
230
|
+
|
231
|
+
<Example.Item title="position: top-end, rounded, multiple digits">
|
232
|
+
<Badge.Container>
|
233
|
+
<Badge size="small" color="primary" rounded hidden={hidden}>
|
234
|
+
123
|
235
|
+
</Badge>
|
236
|
+
<Avatar initials="A" squared/>
|
237
|
+
</Badge.Container>
|
238
|
+
</Example.Item>
|
239
|
+
|
240
|
+
<Example.Item title="position: top-end, rounded, empty">
|
241
|
+
<Badge.Container>
|
242
|
+
<Badge color="primary" rounded hidden={hidden}/>
|
243
|
+
<Avatar initials="A" squared/>
|
244
|
+
</Badge.Container>
|
245
|
+
</Example.Item>
|
246
|
+
|
247
|
+
<Example.Item title={["position: top-end, overlap", "should cover the circular avatar"]}>
|
248
|
+
<Badge.Container overlap>
|
249
|
+
<Badge size="small" color="primary" rounded hidden={hidden}>
|
250
|
+
2
|
251
|
+
</Badge>
|
252
|
+
<Avatar initials="A"/>
|
253
|
+
</Badge.Container>
|
254
|
+
</Example.Item>
|
255
|
+
|
256
|
+
<Example.Item title={["position: bottom-end, overlap", "should cover the circular avatar"]}>
|
257
|
+
<Badge.Container overlap position="bottom-end">
|
258
|
+
<Badge size="small" color="primary" rounded hidden={hidden}>
|
259
|
+
2
|
260
|
+
</Badge>
|
261
|
+
<Avatar initials="A"/>
|
262
|
+
</Badge.Container>
|
263
|
+
</Example.Item>
|
264
|
+
|
265
|
+
<Example.Item title={["position: top-end, overlap", "should cover the icon"]}>
|
266
|
+
<Badge.Container overlap position="top-end">
|
267
|
+
<Badge size="small" color="primary" rounded hidden={hidden}/>
|
268
|
+
<Icon svg={IconCheckmark} size={5}/>
|
269
|
+
</Badge.Container>
|
270
|
+
</Example.Item>
|
271
|
+
</Example>);
|
272
|
+
},
|
247
273
|
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
2
|
+
import { fn } from "@storybook/test";
|
3
|
+
declare const _default: {
|
4
|
+
title: string;
|
5
|
+
component: import("../Badge.types").Export;
|
6
|
+
parameters: {
|
7
|
+
iframe: {
|
8
|
+
url: string;
|
9
|
+
};
|
10
|
+
chromatic: {
|
11
|
+
disableSnapshot: boolean;
|
12
|
+
};
|
13
|
+
};
|
14
|
+
};
|
15
|
+
export default _default;
|
16
|
+
export declare const href: StoryObj;
|
17
|
+
export declare const onClick: StoryObj<{
|
18
|
+
handleClick: ReturnType<typeof fn>;
|
19
|
+
}>;
|
20
|
+
export declare const className: StoryObj;
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { expect, fn, userEvent } from "@storybook/test";
|
2
|
+
import Badge from "../index.js";
|
3
|
+
export default {
|
4
|
+
title: "Components/Badge/tests",
|
5
|
+
component: Badge,
|
6
|
+
parameters: {
|
7
|
+
iframe: {
|
8
|
+
url: "https://reshaped.so/docs/components/badge",
|
9
|
+
},
|
10
|
+
chromatic: { disableSnapshot: true },
|
11
|
+
},
|
12
|
+
};
|
13
|
+
export const href = {
|
14
|
+
name: "href",
|
15
|
+
render: () => <Badge href="https://reshaped.so">Badge</Badge>,
|
16
|
+
play: async ({ canvas }) => {
|
17
|
+
const link = canvas.getByRole("link");
|
18
|
+
expect(link).toHaveAttribute("href", "https://reshaped.so");
|
19
|
+
},
|
20
|
+
};
|
21
|
+
export const onClick = {
|
22
|
+
name: "onClick",
|
23
|
+
args: {
|
24
|
+
handleClick: fn(),
|
25
|
+
},
|
26
|
+
render: (args) => <Badge onClick={args.handleClick}>Badge</Badge>,
|
27
|
+
play: async ({ canvas, args }) => {
|
28
|
+
const button = canvas.getAllByRole("button")[0];
|
29
|
+
await userEvent.click(button);
|
30
|
+
expect(args.handleClick).toHaveBeenCalledTimes(1);
|
31
|
+
expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: button }));
|
32
|
+
},
|
33
|
+
};
|
34
|
+
export const className = {
|
35
|
+
name: "className, attributes",
|
36
|
+
render: () => (<div data-testid="root">
|
37
|
+
<Badge color="primary" className="test-classname" attributes={{ id: "test-id" }}/>
|
38
|
+
</div>),
|
39
|
+
play: async ({ canvas }) => {
|
40
|
+
const root = canvas.getByTestId("root").firstChild;
|
41
|
+
expect(root).toHaveClass("test-classname");
|
42
|
+
expect(root).toHaveAttribute("id", "test-id");
|
43
|
+
},
|
44
|
+
};
|
@@ -9,7 +9,7 @@ import Button from "../Button/index.js";
|
|
9
9
|
import IconChevronRight from "../../icons/ChevronRight.js";
|
10
10
|
import IconDotsHorizontal from "../../icons/DotsHorizontal.js";
|
11
11
|
const Breadcrumbs = (props) => {
|
12
|
-
const { children, separator, color, defaultVisibleItems, disableExpand, ariaLabel, className, attributes, } = props;
|
12
|
+
const { children, separator, color, defaultVisibleItems, expandAriaLabel, disableExpand, ariaLabel, className, attributes, } = props;
|
13
13
|
const visibleItems = defaultVisibleItems && defaultVisibleItems >= 2 ? defaultVisibleItems : null;
|
14
14
|
const [expanded, setExpanded] = React.useState(false);
|
15
15
|
const rootClassNames = classNames(className);
|
@@ -32,7 +32,7 @@ const Breadcrumbs = (props) => {
|
|
32
32
|
itemNode = child;
|
33
33
|
}
|
34
34
|
else if (isCollapseButton) {
|
35
|
-
itemNode = disableExpand ? (_jsx(Icon, { svg: IconDotsHorizontal, size: 4 })) : (_jsx(Button.Aligner, { children: _jsx(Button, { variant: "ghost", size: "small", icon: IconDotsHorizontal, onClick: handleExpand }) }));
|
35
|
+
itemNode = disableExpand ? (_jsx(Icon, { svg: IconDotsHorizontal, size: 4 })) : (_jsx(Button.Aligner, { children: _jsx(Button, { variant: "ghost", size: "small", icon: IconDotsHorizontal, onClick: handleExpand, attributes: { "aria-label": expandAriaLabel } }) }));
|
36
36
|
}
|
37
37
|
if (itemNode === null)
|
38
38
|
return null;
|
@@ -10,8 +10,27 @@ declare const _default: {
|
|
10
10
|
};
|
11
11
|
};
|
12
12
|
export default _default;
|
13
|
-
export declare const color:
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
export declare const
|
13
|
+
export declare const color: {
|
14
|
+
name: string;
|
15
|
+
render: () => import("react").JSX.Element;
|
16
|
+
};
|
17
|
+
export declare const item: {
|
18
|
+
name: string;
|
19
|
+
render: () => import("react").JSX.Element;
|
20
|
+
};
|
21
|
+
export declare const icon: {
|
22
|
+
name: string;
|
23
|
+
render: () => import("react").JSX.Element;
|
24
|
+
};
|
25
|
+
export declare const slots: {
|
26
|
+
name: string;
|
27
|
+
render: () => import("react").JSX.Element;
|
28
|
+
};
|
29
|
+
export declare const collapsed: {
|
30
|
+
name: string;
|
31
|
+
render: () => import("react").JSX.Element;
|
32
|
+
};
|
33
|
+
export declare const multiline: {
|
34
|
+
name: string;
|
35
|
+
render: () => import("react").JSX.Element;
|
36
|
+
};
|