reshaped 3.8.0-canary.1 → 3.8.0-canary.10
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 +83 -18
- package/dist/bundle.css +1 -1
- package/dist/bundle.d.ts +1 -1
- package/dist/bundle.js +11 -11
- package/dist/components/Accordion/AccordionControlled.js +1 -0
- package/dist/components/Actionable/Actionable.js +17 -3
- package/dist/components/Actionable/Actionable.module.css +1 -1
- package/dist/components/Actionable/Actionable.types.d.ts +15 -3
- package/dist/components/Actionable/tests/Actionable.stories.d.ts +13 -1
- package/dist/components/Actionable/tests/Actionable.stories.js +127 -7
- package/dist/components/Alert/tests/Alert.stories.d.ts +6 -5
- package/dist/components/Alert/tests/Alert.stories.js +15 -2
- package/dist/components/Autocomplete/Autocomplete.js +2 -2
- package/dist/components/Autocomplete/Autocomplete.types.d.ts +1 -1
- package/dist/components/Badge/Badge.module.css +1 -1
- package/dist/components/Badge/tests/Badge.stories.d.ts +5 -0
- package/dist/components/Badge/tests/Badge.stories.js +34 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -0
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +8 -4
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +57 -1
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Button/Button.types.d.ts +1 -1
- package/dist/components/Button/tests/Button.stories.d.ts +54 -12
- package/dist/components/Button/tests/Button.stories.js +725 -588
- package/dist/components/Calendar/CalendarMonth.js +1 -0
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.module.css +1 -1
- package/dist/components/Card/tests/Card.stories.d.ts +29 -7
- package/dist/components/Card/tests/Card.stories.js +110 -65
- package/dist/components/Carousel/Carousel.js +1 -0
- package/dist/components/Carousel/Carousel.module.css +1 -1
- package/dist/components/Checkbox/Checkbox.module.css +1 -1
- package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +20 -4
- package/dist/components/Checkbox/tests/Checkbox.stories.js +150 -79
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +9 -2
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +67 -35
- package/dist/components/Container/tests/Container.stories.d.ts +2 -0
- package/dist/components/Container/tests/Container.stories.js +14 -0
- package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +10 -1
- package/dist/components/ContextMenu/tests/ContextMenu.stories.js +57 -13
- package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +5 -0
- package/dist/components/Dismissible/tests/Dismissible.stories.js +30 -1
- package/dist/components/Divider/tests/Divider.stories.d.ts +8 -3
- package/dist/components/Divider/tests/Divider.stories.js +71 -41
- package/dist/components/DropdownMenu/DropdownMenu.js +4 -4
- package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +2 -2
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +35 -6
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +222 -115
- package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +0 -15
- package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +0 -106
- package/dist/components/FileUpload/FileUpload.module.css +1 -1
- package/dist/components/Flyout/Flyout.module.css +1 -1
- package/dist/components/Flyout/Flyout.types.d.ts +7 -7
- package/dist/components/Flyout/FlyoutContent.js +4 -1
- package/dist/components/Flyout/FlyoutControlled.js +10 -3
- package/dist/components/Flyout/index.d.ts +1 -1
- package/dist/components/Flyout/tests/Flyout.stories.d.ts +8 -0
- package/dist/components/Flyout/tests/Flyout.stories.js +81 -33
- package/dist/components/Flyout/useFlyout.d.ts +1 -7
- package/dist/components/Flyout/useFlyout.js +5 -1
- package/dist/components/Flyout/utilities/calculatePosition.d.ts +3 -2
- package/dist/components/Flyout/utilities/calculatePosition.js +47 -22
- package/dist/components/Flyout/utilities/flyout.js +3 -2
- package/dist/components/Flyout/utilities/getPositionFallbacks.js +3 -3
- package/dist/components/Flyout/utilities/isFullyVisible.d.ts +0 -2
- package/dist/components/Flyout/utilities/isFullyVisible.js +5 -7
- package/dist/components/FormControl/FormControl.context.d.ts +1 -1
- package/dist/components/FormControl/tests/FormControl.stories.d.ts +2 -0
- package/dist/components/FormControl/tests/FormControl.stories.js +35 -0
- package/dist/components/Hidden/tests/Hidden.stories.d.ts +2 -0
- package/dist/components/Hidden/tests/Hidden.stories.js +9 -0
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +2 -0
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +9 -0
- package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +2 -0
- package/dist/components/Hotkey/tests/Hotkey.stories.js +15 -0
- package/dist/components/Icon/Icon.js +2 -2
- package/dist/components/Icon/Icon.types.d.ts +1 -1
- package/dist/components/Icon/tests/Icon.stories.d.ts +3 -0
- package/dist/components/Icon/tests/Icon.stories.js +29 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.js +2 -2
- package/dist/components/Link/Link.types.d.ts +1 -1
- package/dist/components/Link/tests/Link.stories.d.ts +29 -6
- package/dist/components/Link/tests/Link.stories.js +141 -58
- package/dist/components/Link/tests/Link.test.stories.d.ts +1 -13
- package/dist/components/Link/tests/Link.test.stories.js +0 -76
- package/dist/components/Loader/tests/Loader.stories.d.ts +11 -2
- package/dist/components/Loader/tests/Loader.stories.js +52 -25
- package/dist/components/Loader/tests/Loader.test.stories.d.ts +0 -3
- package/dist/components/Loader/tests/Loader.test.stories.js +0 -21
- package/dist/components/MenuItem/MenuItem.js +2 -2
- package/dist/components/MenuItem/MenuItem.module.css +1 -1
- package/dist/components/MenuItem/MenuItem.types.d.ts +1 -1
- package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +37 -7
- package/dist/components/MenuItem/tests/MenuItem.stories.js +218 -112
- package/dist/components/Modal/Modal.js +1 -1
- package/dist/components/Modal/Modal.module.css +1 -1
- package/dist/components/Modal/tests/Modal.stories.d.ts +53 -10
- package/dist/components/Modal/tests/Modal.stories.js +367 -210
- package/dist/components/Overlay/Overlay.js +2 -1
- package/dist/components/Overlay/tests/Overlay.stories.d.ts +15 -1
- package/dist/components/Overlay/tests/Overlay.stories.js +135 -1
- package/dist/components/Pagination/tests/Pagination.stories.d.ts +14 -1
- package/dist/components/Pagination/tests/Pagination.stories.js +93 -15
- package/dist/components/PinField/tests/PinField.stories.d.ts +1 -1
- package/dist/components/PinField/tests/PinField.stories.js +1 -1
- package/dist/components/Popover/Popover.js +2 -2
- package/dist/components/Popover/Popover.module.css +1 -1
- package/dist/components/Popover/Popover.types.d.ts +3 -1
- package/dist/components/Progress/tests/Progress.stories.d.ts +19 -4
- package/dist/components/Progress/tests/Progress.stories.js +85 -49
- package/dist/components/Radio/Radio.module.css +1 -1
- package/dist/components/Radio/tests/Radio.stories.d.ts +25 -4
- package/dist/components/Radio/tests/Radio.stories.js +147 -65
- package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +9 -2
- package/dist/components/RadioGroup/tests/RadioGroup.stories.js +64 -38
- package/dist/components/Reshaped/Reshaped.css +1 -1
- package/dist/components/Scrim/tests/Scrim.stories.d.ts +10 -2
- package/dist/components/Scrim/tests/Scrim.stories.js +51 -31
- package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
- package/dist/components/Select/Select.d.ts +8 -1
- package/dist/components/Select/Select.js +22 -48
- package/dist/components/Select/Select.module.css +1 -1
- package/dist/components/Select/Select.types.d.ts +83 -38
- package/dist/components/Select/SelectCustom.d.ts +3 -0
- package/dist/components/Select/SelectCustom.js +12 -0
- package/dist/components/Select/SelectCustomControlled.d.ts +4 -0
- package/dist/components/Select/SelectCustomControlled.js +105 -0
- package/dist/components/Select/SelectCustomUncontrolled.d.ts +4 -0
- package/dist/components/Select/SelectCustomUncontrolled.js +18 -0
- package/dist/components/Select/SelectEndContent.d.ts +3 -0
- package/dist/components/Select/SelectEndContent.js +12 -0
- package/dist/components/Select/SelectNative.d.ts +4 -0
- package/dist/components/Select/SelectNative.js +29 -0
- package/dist/components/Select/SelectOption.d.ts +4 -0
- package/dist/components/Select/SelectOption.js +13 -0
- package/dist/components/Select/SelectOptionGroup.d.ts +4 -0
- package/dist/components/Select/SelectOptionGroup.js +9 -0
- package/dist/components/Select/SelectRoot.d.ts +4 -0
- package/dist/components/Select/SelectRoot.js +21 -0
- package/dist/components/Select/SelectStartContent.d.ts +3 -0
- package/dist/components/Select/SelectStartContent.js +20 -0
- package/dist/components/Select/SelectTrigger.d.ts +4 -0
- package/dist/components/Select/SelectTrigger.js +16 -0
- package/dist/components/Select/tests/Select.stories.d.ts +38 -10
- package/dist/components/Select/tests/Select.stories.js +504 -175
- package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +10 -2
- package/dist/components/Skeleton/tests/Skeleton.stories.js +46 -28
- package/dist/components/Slider/Slider.module.css +1 -1
- package/dist/components/Stepper/Stepper.js +2 -2
- package/dist/components/Stepper/Stepper.types.d.ts +2 -0
- package/dist/components/Stepper/tests/Stepper.stories.d.ts +18 -3
- package/dist/components/Stepper/tests/Stepper.stories.js +99 -47
- package/dist/components/Switch/Switch.module.css +1 -1
- package/dist/components/Switch/tests/Switch.stories.d.ts +10 -2
- package/dist/components/Switch/tests/Switch.stories.js +77 -23
- package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -10
- package/dist/components/Switch/tests/Switch.test.stories.js +0 -68
- package/dist/components/Table/Table.js +5 -3
- package/dist/components/Table/Table.module.css +1 -1
- package/dist/components/Table/tests/Table.stories.d.ts +25 -5
- package/dist/components/Table/tests/Table.stories.js +274 -177
- package/dist/components/Table/tests/Table.test.stories.d.ts +0 -5
- package/dist/components/Table/tests/Table.test.stories.js +0 -82
- package/dist/components/Tabs/Tabs.module.css +1 -1
- package/dist/components/Tabs/TabsControlled.js +1 -0
- package/dist/components/TextArea/TextArea.module.css +1 -1
- package/dist/components/TextArea/tests/TextArea.stories.d.ts +41 -9
- package/dist/components/TextArea/tests/TextArea.stories.js +179 -93
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextField/TextField.module.css +1 -1
- package/dist/components/TextField/tests/TextField.stories.d.ts +41 -11
- package/dist/components/TextField/tests/TextField.stories.js +206 -132
- package/dist/components/TextField/tests/TextField.test.stories.d.ts +0 -13
- package/dist/components/TextField/tests/TextField.test.stories.js +0 -88
- package/dist/components/Theme/Theme.module.css +1 -1
- package/dist/components/Timeline/Timeline.js +2 -2
- package/dist/components/Timeline/tests/Timeline.stories.d.ts +10 -2
- package/dist/components/Timeline/tests/Timeline.stories.js +69 -45
- package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +0 -2
- package/dist/components/Timeline/tests/Timeline.test.stories.js +0 -21
- package/dist/components/Toast/ToastContainer.js +1 -0
- package/dist/components/Toast/ToastRegion.js +1 -0
- package/dist/components/Toast/tests/Toast.stories.d.ts +32 -8
- package/dist/components/Toast/tests/Toast.stories.js +111 -37
- package/dist/components/ToggleButton/ToggleButton.types.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +1 -0
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Tooltip/Tooltip.types.d.ts +2 -2
- package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +18 -4
- package/dist/components/Tooltip/tests/Tooltip.stories.js +139 -107
- package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +0 -6
- package/dist/components/Tooltip/tests/Tooltip.test.stories.js +0 -29
- package/dist/components/View/View.js +11 -4
- package/dist/components/View/tests/View.stories.d.ts +4 -0
- package/dist/components/View/tests/View.stories.js +39 -0
- package/dist/components/_private/Expandable/Expandable.js +3 -1
- package/dist/components/_private/Portal/Portal.js +4 -1
- package/dist/hooks/_private/useIsDismissible.d.ts +1 -0
- package/dist/hooks/_private/useIsDismissible.js +6 -6
- package/dist/hooks/_private/usePrevious.js +1 -0
- package/dist/hooks/tests/useDrag.stories.js +1 -1
- package/dist/hooks/useScrollLock.js +5 -3
- package/dist/index.d.ts +1 -1
- package/dist/styles/resolvers/align/align.css +1 -1
- package/dist/styles/resolvers/aspectRatio/aspectRatio.css +1 -1
- package/dist/styles/resolvers/bleed/bleed.module.css +1 -1
- package/dist/styles/resolvers/justify/justify.css +1 -1
- package/dist/styles/resolvers/maxHeight/maxHeight.module.css +1 -1
- package/dist/styles/resolvers/maxWidth/maxWidth.module.css +1 -1
- package/dist/styles/resolvers/minHeight/minHeight.module.css +1 -1
- package/dist/styles/resolvers/minWidth/minWidth.module.css +1 -1
- package/dist/styles/resolvers/position/position.css +1 -1
- package/dist/styles/resolvers/textAlign/textAlign.css +1 -1
- package/dist/styles/resolvers/width/width.module.css +1 -1
- package/dist/utilities/scroll/disable.js +2 -2
- package/dist/utilities/scroll/index.d.ts +1 -1
- package/dist/utilities/scroll/index.js +1 -1
- package/dist/utilities/scroll/lock.d.ts +1 -2
- package/dist/utilities/scroll/lock.js +16 -15
- package/dist/utilities/scroll/lockSafari.js +1 -0
- package/package.json +23 -23
- package/dist/components/Actionable/tests/Actionable.test.stories.d.ts +0 -32
- package/dist/components/Actionable/tests/Actionable.test.stories.js +0 -130
- package/dist/components/Alert/tests/Alert.test.stories.d.ts +0 -15
- package/dist/components/Alert/tests/Alert.test.stories.js +0 -26
- package/dist/components/Badge/tests/Badge.test.stories.d.ts +0 -20
- package/dist/components/Badge/tests/Badge.test.stories.js +0 -46
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +0 -23
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +0 -76
- package/dist/components/Button/tests/Button.test.stories.d.ts +0 -27
- package/dist/components/Button/tests/Button.test.stories.js +0 -112
- package/dist/components/Card/tests/Card.test.stories.d.ts +0 -35
- package/dist/components/Card/tests/Card.test.stories.js +0 -54
- package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +0 -25
- package/dist/components/Checkbox/tests/Checkbox.test.stories.js +0 -104
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +0 -22
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +0 -78
- package/dist/components/Container/tests/Container.test.stories.d.ts +0 -15
- package/dist/components/Container/tests/Container.test.stories.js +0 -26
- package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +0 -25
- package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +0 -53
- package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +0 -19
- package/dist/components/Dismissible/tests/Dismissible.test.stories.js +0 -42
- package/dist/components/Divider/tests/Divider.test.stories.d.ts +0 -18
- package/dist/components/Divider/tests/Divider.test.stories.js +0 -47
- package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +0 -20
- package/dist/components/FormControl/tests/FormControl.test.stories.js +0 -49
- package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +0 -15
- package/dist/components/Hidden/tests/Hidden.test.stories.js +0 -20
- package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +0 -15
- package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +0 -20
- package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +0 -15
- package/dist/components/Hotkey/tests/Hotkey.test.stories.js +0 -26
- package/dist/components/Icon/tests/Icon.test.stories.d.ts +0 -16
- package/dist/components/Icon/tests/Icon.test.stories.js +0 -35
- package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +0 -26
- package/dist/components/MenuItem/tests/MenuItem.test.stories.js +0 -100
- package/dist/components/Modal/tests/Modal.test.stories.d.ts +0 -31
- package/dist/components/Modal/tests/Modal.test.stories.js +0 -149
- package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +0 -28
- package/dist/components/Overlay/tests/Overlay.test.stories.js +0 -148
- package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +0 -23
- package/dist/components/Pagination/tests/Pagination.test.stories.js +0 -86
- package/dist/components/Progress/tests/Progress.test.stories.d.ts +0 -16
- package/dist/components/Progress/tests/Progress.test.stories.js +0 -35
- package/dist/components/Radio/tests/Radio.test.stories.d.ts +0 -30
- package/dist/components/Radio/tests/Radio.test.stories.js +0 -118
- package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +0 -22
- package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +0 -78
- package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +0 -15
- package/dist/components/Scrim/tests/Scrim.test.stories.js +0 -25
- package/dist/components/Select/tests/Select.test.stories.d.ts +0 -27
- package/dist/components/Select/tests/Select.test.stories.js +0 -132
- package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +0 -15
- package/dist/components/Skeleton/tests/Skeleton.test.stories.js +0 -23
- package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +0 -20
- package/dist/components/Stepper/tests/Stepper.test.stories.js +0 -28
- package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +0 -28
- package/dist/components/TextArea/tests/TextArea.test.stories.js +0 -99
- package/dist/components/Toast/tests/Toast.test.stories.d.ts +0 -16
- package/dist/components/Toast/tests/Toast.test.stories.js +0 -101
- package/dist/components/View/tests/View.test.stories.d.ts +0 -24
- package/dist/components/View/tests/View.test.stories.js +0 -50
@@ -1,4 +1,5 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import { StoryObj } from "@storybook/react-vite";
|
2
3
|
declare const _default: {
|
3
4
|
title: string;
|
4
5
|
component: React.FC<import("./..").TableProps> & {
|
@@ -15,8 +16,27 @@ declare const _default: {
|
|
15
16
|
};
|
16
17
|
};
|
17
18
|
export default _default;
|
18
|
-
export declare const layout:
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
export declare const
|
19
|
+
export declare const layout: {
|
20
|
+
name: string;
|
21
|
+
render: () => React.JSX.Element;
|
22
|
+
};
|
23
|
+
export declare const border: {
|
24
|
+
name: string;
|
25
|
+
render: () => React.JSX.Element;
|
26
|
+
};
|
27
|
+
export declare const rows: {
|
28
|
+
name: string;
|
29
|
+
render: () => React.JSX.Element;
|
30
|
+
};
|
31
|
+
export declare const render: StoryObj;
|
32
|
+
export declare const tbody: StoryObj;
|
33
|
+
export declare const tabIndex: StoryObj;
|
34
|
+
export declare const className: StoryObj;
|
35
|
+
export declare const edgeCases: {
|
36
|
+
name: string;
|
37
|
+
render: () => React.JSX.Element;
|
38
|
+
};
|
39
|
+
export declare const examples: {
|
40
|
+
name: string;
|
41
|
+
render: () => React.JSX.Element;
|
42
|
+
};
|
@@ -4,6 +4,7 @@ import Table from "../index.js";
|
|
4
4
|
import Checkbox from "../../Checkbox/index.js";
|
5
5
|
import Card from "../../Card/index.js";
|
6
6
|
import View from "../../View/index.js";
|
7
|
+
import { expect } from "storybook/test";
|
7
8
|
export default {
|
8
9
|
title: "Components/Table",
|
9
10
|
component: Table,
|
@@ -13,201 +14,294 @@ export default {
|
|
13
14
|
},
|
14
15
|
},
|
15
16
|
};
|
16
|
-
export const layout =
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
export const layout = {
|
18
|
+
name: "base",
|
19
|
+
render: () => (<Example>
|
20
|
+
<Example.Item title="base">
|
21
|
+
<Table>
|
22
|
+
<Table.Head>
|
23
|
+
<Table.Row>
|
24
|
+
<Table.Heading>Column 1</Table.Heading>
|
25
|
+
<Table.Heading>Column 2</Table.Heading>
|
26
|
+
</Table.Row>
|
27
|
+
</Table.Head>
|
28
|
+
<Table.Body>
|
29
|
+
<Table.Row>
|
30
|
+
<Table.Cell>Cell 1</Table.Cell>
|
31
|
+
<Table.Cell>Cell 2</Table.Cell>
|
32
|
+
</Table.Row>
|
33
|
+
</Table.Body>
|
34
|
+
</Table>
|
35
|
+
</Example.Item>
|
36
|
+
<Example.Item title="colspan: 2 for col 2, rowspan: 2 for cell 3">
|
37
|
+
<Table>
|
20
38
|
<Table.Row>
|
21
39
|
<Table.Heading>Column 1</Table.Heading>
|
22
|
-
<Table.Heading>Column 2</Table.Heading>
|
40
|
+
<Table.Heading colSpan={2}>Column 2</Table.Heading>
|
23
41
|
</Table.Row>
|
24
|
-
</Table.Head>
|
25
|
-
<Table.Body>
|
26
42
|
<Table.Row>
|
27
43
|
<Table.Cell>Cell 1</Table.Cell>
|
28
44
|
<Table.Cell>Cell 2</Table.Cell>
|
45
|
+
<Table.Cell rowSpan={2}>Cell 3</Table.Cell>
|
29
46
|
</Table.Row>
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
<Table.Heading colSpan={2}>Column 2</Table.Heading>
|
38
|
-
</Table.Row>
|
39
|
-
<Table.Row>
|
40
|
-
<Table.Cell>Cell 1</Table.Cell>
|
41
|
-
<Table.Cell>Cell 2</Table.Cell>
|
42
|
-
<Table.Cell rowSpan={2}>Cell 3</Table.Cell>
|
43
|
-
</Table.Row>
|
44
|
-
<Table.Row>
|
45
|
-
<Table.Cell>Cell 1</Table.Cell>
|
46
|
-
<Table.Cell>Cell 2</Table.Cell>
|
47
|
-
</Table.Row>
|
48
|
-
</Table>
|
49
|
-
</Example.Item>
|
50
|
-
<Example.Item title="align: center for heading 1, align: end for heading 2">
|
51
|
-
<Table>
|
52
|
-
<Table.Row>
|
53
|
-
<Table.Heading align="center">Column 1</Table.Heading>
|
54
|
-
<Table.Heading align="end">Column 2</Table.Heading>
|
55
|
-
</Table.Row>
|
56
|
-
<Table.Row>
|
57
|
-
<Table.Cell>Cell 1</Table.Cell>
|
58
|
-
<Table.Cell>Cell 2</Table.Cell>
|
59
|
-
</Table.Row>
|
60
|
-
</Table>
|
61
|
-
</Example.Item>
|
62
|
-
<Example.Item title="valign: center for cell 2, valign: end for cell 3">
|
63
|
-
<Table>
|
64
|
-
<Table.Row>
|
65
|
-
<Table.Heading>Column 1</Table.Heading>
|
66
|
-
<Table.Heading>Column 2</Table.Heading>
|
67
|
-
<Table.Heading>Column 2</Table.Heading>
|
68
|
-
</Table.Row>
|
69
|
-
<Table.Row>
|
70
|
-
<Table.Cell>
|
71
|
-
<View height={15} backgroundColor="neutral-faded"/>
|
72
|
-
</Table.Cell>
|
73
|
-
<Table.Cell verticalAlign="center">Cell 2</Table.Cell>
|
74
|
-
<Table.Cell verticalAlign="end">Cell 3</Table.Cell>
|
75
|
-
</Table.Row>
|
76
|
-
</Table>
|
77
|
-
</Example.Item>
|
78
|
-
<Example.Item title="width: 40%, minWidth: 200px for col 1">
|
79
|
-
<Table>
|
80
|
-
<Table.Row>
|
81
|
-
<Table.Heading width="40%" minWidth="200px">
|
82
|
-
Column 1
|
83
|
-
</Table.Heading>
|
84
|
-
<Table.Heading>Column 2</Table.Heading>
|
85
|
-
</Table.Row>
|
86
|
-
<Table.Row>
|
87
|
-
<Table.Cell>Cell 1</Table.Cell>
|
88
|
-
<Table.Cell>Cell 2</Table.Cell>
|
89
|
-
</Table.Row>
|
90
|
-
</Table>
|
91
|
-
</Example.Item>
|
92
|
-
</Example>);
|
93
|
-
export const border = () => (<Example>
|
94
|
-
<Example.Item title="border: true">
|
95
|
-
<Table border>
|
96
|
-
<Table.Row>
|
97
|
-
<Table.Heading>Column 1</Table.Heading>
|
98
|
-
<Table.Heading>Column 2</Table.Heading>
|
99
|
-
</Table.Row>
|
100
|
-
<Table.Row>
|
101
|
-
<Table.Cell>Cell 1</Table.Cell>
|
102
|
-
<Table.Cell>Cell 2</Table.Cell>
|
103
|
-
</Table.Row>
|
104
|
-
</Table>
|
105
|
-
</Example.Item>
|
106
|
-
<Example.Item title="columnBorder: true">
|
107
|
-
<Table columnBorder>
|
108
|
-
<Table.Row>
|
109
|
-
<Table.Heading>Column 1</Table.Heading>
|
110
|
-
<Table.Heading>Column 2</Table.Heading>
|
111
|
-
</Table.Row>
|
112
|
-
<Table.Row>
|
113
|
-
<Table.Cell>Cell 1</Table.Cell>
|
114
|
-
<Table.Cell>Cell 2</Table.Cell>
|
115
|
-
</Table.Row>
|
116
|
-
</Table>
|
117
|
-
</Example.Item>
|
118
|
-
<Example.Item title="columnBorder: true, border: true">
|
119
|
-
<Table columnBorder border>
|
120
|
-
<Table.Row>
|
121
|
-
<Table.Heading>Column 1</Table.Heading>
|
122
|
-
<Table.Heading>Column 2</Table.Heading>
|
123
|
-
</Table.Row>
|
124
|
-
<Table.Row>
|
125
|
-
<Table.Cell>Cell 1</Table.Cell>
|
126
|
-
<Table.Cell>Cell 2</Table.Cell>
|
127
|
-
</Table.Row>
|
128
|
-
</Table>
|
129
|
-
</Example.Item>
|
130
|
-
</Example>);
|
131
|
-
export const rows = () => (<Example>
|
132
|
-
<Example.Item title="highlighted for row 2">
|
133
|
-
<Table>
|
134
|
-
<Table.Row>
|
135
|
-
<Table.Heading>Column 1</Table.Heading>
|
136
|
-
<Table.Heading>Column 2</Table.Heading>
|
137
|
-
</Table.Row>
|
138
|
-
<Table.Row highlighted>
|
139
|
-
<Table.Cell>Cell 1</Table.Cell>
|
140
|
-
<Table.Cell>Cell 2</Table.Cell>
|
141
|
-
</Table.Row>
|
142
|
-
</Table>
|
143
|
-
</Example.Item>
|
144
|
-
<Example.Item title="clickable row 2, focus ring">
|
145
|
-
<Table>
|
146
|
-
<Table.Row>
|
147
|
-
<Table.Heading>Column 1</Table.Heading>
|
148
|
-
<Table.Heading>Column 2</Table.Heading>
|
149
|
-
</Table.Row>
|
150
|
-
<Table.Row onClick={() => { }}>
|
151
|
-
<Table.Cell>Cell 1</Table.Cell>
|
152
|
-
<Table.Cell>Cell 2</Table.Cell>
|
153
|
-
</Table.Row>
|
154
|
-
</Table>
|
155
|
-
</Example.Item>
|
156
|
-
</Example>);
|
157
|
-
export const edgeCases = () => (<Example>
|
158
|
-
<Example.Item title="scroll fade">
|
159
|
-
<Table>
|
160
|
-
<Table.Row>
|
161
|
-
<Table.Heading width="500px">Column 1</Table.Heading>
|
162
|
-
<Table.Heading width="500px">Column 2</Table.Heading>
|
163
|
-
</Table.Row>
|
164
|
-
<Table.Row>
|
165
|
-
<Table.Cell>Cell 1</Table.Cell>
|
166
|
-
<Table.Cell>Cell 2</Table.Cell>
|
167
|
-
</Table.Row>
|
168
|
-
</Table>
|
169
|
-
</Example.Item>
|
170
|
-
<Example.Item title="card with highlighted heading">
|
171
|
-
<Card elevated padding={0}>
|
47
|
+
<Table.Row>
|
48
|
+
<Table.Cell>Cell 1</Table.Cell>
|
49
|
+
<Table.Cell>Cell 2</Table.Cell>
|
50
|
+
</Table.Row>
|
51
|
+
</Table>
|
52
|
+
</Example.Item>
|
53
|
+
<Example.Item title="align: center for heading 1, align: end for heading 2">
|
172
54
|
<Table>
|
173
|
-
<Table.Row
|
174
|
-
<Table.Heading
|
55
|
+
<Table.Row>
|
56
|
+
<Table.Heading align="center">Column 1</Table.Heading>
|
57
|
+
<Table.Heading align="end">Column 2</Table.Heading>
|
58
|
+
</Table.Row>
|
59
|
+
<Table.Row>
|
60
|
+
<Table.Cell>Cell 1</Table.Cell>
|
61
|
+
<Table.Cell>Cell 2</Table.Cell>
|
62
|
+
</Table.Row>
|
63
|
+
</Table>
|
64
|
+
</Example.Item>
|
65
|
+
<Example.Item title="valign: center for cell 2, valign: end for cell 3">
|
66
|
+
<Table>
|
67
|
+
<Table.Row>
|
68
|
+
<Table.Heading>Column 1</Table.Heading>
|
69
|
+
<Table.Heading>Column 2</Table.Heading>
|
70
|
+
<Table.Heading>Column 2</Table.Heading>
|
71
|
+
</Table.Row>
|
72
|
+
<Table.Row>
|
73
|
+
<Table.Cell>
|
74
|
+
<View height={15} backgroundColor="neutral-faded"/>
|
75
|
+
</Table.Cell>
|
76
|
+
<Table.Cell verticalAlign="center">Cell 2</Table.Cell>
|
77
|
+
<Table.Cell verticalAlign="end">Cell 3</Table.Cell>
|
78
|
+
</Table.Row>
|
79
|
+
</Table>
|
80
|
+
</Example.Item>
|
81
|
+
<Example.Item title="width: 40%, minWidth: 200px for col 1">
|
82
|
+
<Table>
|
83
|
+
<Table.Row>
|
84
|
+
<Table.Heading width="40%" minWidth="200px">
|
175
85
|
Column 1
|
176
86
|
</Table.Heading>
|
177
|
-
<Table.Heading
|
178
|
-
Column 2
|
179
|
-
</Table.Heading>
|
87
|
+
<Table.Heading>Column 2</Table.Heading>
|
180
88
|
</Table.Row>
|
181
89
|
<Table.Row>
|
182
90
|
<Table.Cell>Cell 1</Table.Cell>
|
183
|
-
<Table.Cell
|
184
|
-
|
91
|
+
<Table.Cell>Cell 2</Table.Cell>
|
92
|
+
</Table.Row>
|
93
|
+
</Table>
|
94
|
+
</Example.Item>
|
95
|
+
</Example>),
|
96
|
+
};
|
97
|
+
export const border = {
|
98
|
+
name: "border",
|
99
|
+
render: () => (<Example>
|
100
|
+
<Example.Item title="border: true">
|
101
|
+
<Table border>
|
102
|
+
<Table.Row>
|
103
|
+
<Table.Heading>Column 1</Table.Heading>
|
104
|
+
<Table.Heading>Column 2</Table.Heading>
|
185
105
|
</Table.Row>
|
186
106
|
<Table.Row>
|
187
107
|
<Table.Cell>Cell 1</Table.Cell>
|
188
|
-
<Table.Cell
|
189
|
-
|
108
|
+
<Table.Cell>Cell 2</Table.Cell>
|
109
|
+
</Table.Row>
|
110
|
+
</Table>
|
111
|
+
</Example.Item>
|
112
|
+
<Example.Item title="columnBorder: true">
|
113
|
+
<Table columnBorder>
|
114
|
+
<Table.Row>
|
115
|
+
<Table.Heading>Column 1</Table.Heading>
|
116
|
+
<Table.Heading>Column 2</Table.Heading>
|
117
|
+
</Table.Row>
|
118
|
+
<Table.Row>
|
119
|
+
<Table.Cell>Cell 1</Table.Cell>
|
120
|
+
<Table.Cell>Cell 2</Table.Cell>
|
121
|
+
</Table.Row>
|
122
|
+
</Table>
|
123
|
+
</Example.Item>
|
124
|
+
<Example.Item title="columnBorder: true, border: true">
|
125
|
+
<Table columnBorder border>
|
126
|
+
<Table.Row>
|
127
|
+
<Table.Heading>Column 1</Table.Heading>
|
128
|
+
<Table.Heading>Column 2</Table.Heading>
|
129
|
+
</Table.Row>
|
130
|
+
<Table.Row>
|
131
|
+
<Table.Cell>Cell 1</Table.Cell>
|
132
|
+
<Table.Cell>Cell 2</Table.Cell>
|
133
|
+
</Table.Row>
|
134
|
+
</Table>
|
135
|
+
</Example.Item>
|
136
|
+
</Example>),
|
137
|
+
};
|
138
|
+
export const rows = {
|
139
|
+
name: "rows",
|
140
|
+
render: () => (<Example>
|
141
|
+
<Example.Item title="highlighted for row 2">
|
142
|
+
<Table>
|
143
|
+
<Table.Row>
|
144
|
+
<Table.Heading>Column 1</Table.Heading>
|
145
|
+
<Table.Heading>Column 2</Table.Heading>
|
146
|
+
</Table.Row>
|
147
|
+
<Table.Row highlighted>
|
148
|
+
<Table.Cell>Cell 1</Table.Cell>
|
149
|
+
<Table.Cell>Cell 2</Table.Cell>
|
190
150
|
</Table.Row>
|
191
151
|
</Table>
|
192
|
-
</
|
193
|
-
|
194
|
-
|
195
|
-
|
152
|
+
</Example.Item>
|
153
|
+
<Example.Item title="clickable row 2, focus ring">
|
154
|
+
<Table>
|
155
|
+
<Table.Row>
|
156
|
+
<Table.Heading>Column 1</Table.Heading>
|
157
|
+
<Table.Heading>Column 2</Table.Heading>
|
158
|
+
</Table.Row>
|
159
|
+
<Table.Row onClick={() => { }}>
|
160
|
+
<Table.Cell>Cell 1</Table.Cell>
|
161
|
+
<Table.Cell>Cell 2</Table.Cell>
|
162
|
+
</Table.Row>
|
163
|
+
</Table>
|
164
|
+
</Example.Item>
|
165
|
+
</Example>),
|
166
|
+
};
|
167
|
+
export const render = {
|
168
|
+
name: "rendering",
|
169
|
+
render: () => (<Table>
|
170
|
+
<Table.Head>
|
196
171
|
<Table.Row>
|
197
|
-
<Table.Heading
|
198
|
-
<Table.Heading>
|
199
|
-
<Table.Heading>Column 3</Table.Heading>
|
200
|
-
<Table.Heading width="auto">Long heading title</Table.Heading>
|
172
|
+
<Table.Heading>Heading</Table.Heading>
|
173
|
+
<Table.Heading>Heading</Table.Heading>
|
201
174
|
</Table.Row>
|
175
|
+
</Table.Head>
|
176
|
+
<Table.Body>
|
202
177
|
<Table.Row>
|
203
|
-
<Table.Cell>
|
204
|
-
<Table.Cell>
|
205
|
-
|
206
|
-
|
178
|
+
<Table.Cell>Content</Table.Cell>
|
179
|
+
<Table.Cell>Content</Table.Cell>
|
180
|
+
</Table.Row>
|
181
|
+
</Table.Body>
|
182
|
+
</Table>),
|
183
|
+
play: async ({ canvas }) => {
|
184
|
+
const body = canvas.getAllByRole("rowgroup");
|
185
|
+
const rows = canvas.getAllByRole("row");
|
186
|
+
const headings = canvas.getAllByRole("columnheader");
|
187
|
+
const cells = canvas.getAllByRole("cell");
|
188
|
+
expect(body).toHaveLength(2);
|
189
|
+
expect(rows).toHaveLength(2);
|
190
|
+
expect(headings).toHaveLength(2);
|
191
|
+
expect(cells).toHaveLength(2);
|
192
|
+
expect(canvas.getAllByText("Heading")).toHaveLength(2);
|
193
|
+
expect(canvas.getAllByText("Content")).toHaveLength(2);
|
194
|
+
},
|
195
|
+
};
|
196
|
+
export const tbody = {
|
197
|
+
name: "tbody rendering",
|
198
|
+
render: () => (<Table>
|
199
|
+
<Table.Row>
|
200
|
+
<Table.Heading>Heading</Table.Heading>
|
201
|
+
<Table.Heading>Heading</Table.Heading>
|
202
|
+
</Table.Row>
|
203
|
+
</Table>),
|
204
|
+
play: async ({ canvas }) => {
|
205
|
+
const body = canvas.getByRole("rowgroup");
|
206
|
+
expect(body).toBeInTheDocument();
|
207
|
+
},
|
208
|
+
};
|
209
|
+
export const tabIndex = {
|
210
|
+
name: "adds tabIndex for clickable rows",
|
211
|
+
render: () => (<Table>
|
212
|
+
<Table.Row>
|
213
|
+
<Table.Cell />
|
214
|
+
</Table.Row>
|
215
|
+
<Table.Row onClick={() => { }}>
|
216
|
+
<Table.Cell />
|
217
|
+
</Table.Row>
|
218
|
+
<Table.Row attributes={{ onClick: () => { } }}>
|
219
|
+
<Table.Cell />
|
220
|
+
</Table.Row>
|
221
|
+
</Table>),
|
222
|
+
play: async ({ canvas }) => {
|
223
|
+
const elRows = canvas.getAllByRole("row");
|
224
|
+
expect(elRows[0]).not.toHaveAttribute("tabIndex");
|
225
|
+
expect(elRows[1]).toHaveAttribute("tabIndex", "0");
|
226
|
+
expect(elRows[2]).toHaveAttribute("tabIndex", "0");
|
227
|
+
},
|
228
|
+
};
|
229
|
+
export const className = {
|
230
|
+
name: "className, attributes",
|
231
|
+
render: () => (<div data-testid="root">
|
232
|
+
<Table className="test-classname" attributes={{ id: "test-id" }}>
|
233
|
+
<Table.Row attributes={{ id: "test-row-id" }}>
|
234
|
+
<Table.Cell attributes={{ id: "test-cell-id" }}></Table.Cell>
|
207
235
|
</Table.Row>
|
208
236
|
</Table>
|
209
|
-
</
|
210
|
-
|
237
|
+
</div>),
|
238
|
+
play: async ({ canvas }) => {
|
239
|
+
const root = canvas.getByTestId("root").firstChild;
|
240
|
+
const row = canvas.getByRole("row");
|
241
|
+
const cell = canvas.getByRole("cell");
|
242
|
+
expect(root).toHaveClass("test-classname");
|
243
|
+
expect(root).toHaveAttribute("id", "test-id");
|
244
|
+
expect(row).toHaveAttribute("id", "test-row-id");
|
245
|
+
expect(cell).toHaveAttribute("id", "test-cell-id");
|
246
|
+
},
|
247
|
+
};
|
248
|
+
export const edgeCases = {
|
249
|
+
name: "test: edge cases",
|
250
|
+
render: () => (<Example>
|
251
|
+
<Example.Item title="scroll fade">
|
252
|
+
<Table>
|
253
|
+
<Table.Row>
|
254
|
+
<Table.Heading width="500px">Column 1</Table.Heading>
|
255
|
+
<Table.Heading width="500px">Column 2</Table.Heading>
|
256
|
+
</Table.Row>
|
257
|
+
<Table.Row>
|
258
|
+
<Table.Cell>Cell 1</Table.Cell>
|
259
|
+
<Table.Cell>Cell 2</Table.Cell>
|
260
|
+
</Table.Row>
|
261
|
+
</Table>
|
262
|
+
</Example.Item>
|
263
|
+
<Example.Item title="card with highlighted heading">
|
264
|
+
<Card elevated padding={0}>
|
265
|
+
<Table>
|
266
|
+
<Table.Row highlighted>
|
267
|
+
<Table.Heading width="50%" minWidth="200px">
|
268
|
+
Column 1
|
269
|
+
</Table.Heading>
|
270
|
+
<Table.Heading colSpan={2} align="end">
|
271
|
+
Column 2
|
272
|
+
</Table.Heading>
|
273
|
+
</Table.Row>
|
274
|
+
<Table.Row>
|
275
|
+
<Table.Cell>Cell 1</Table.Cell>
|
276
|
+
<Table.Cell align="center">Cell 2</Table.Cell>
|
277
|
+
<Table.Cell align="end">Cell 3</Table.Cell>
|
278
|
+
</Table.Row>
|
279
|
+
<Table.Row>
|
280
|
+
<Table.Cell>Cell 1</Table.Cell>
|
281
|
+
<Table.Cell align="center">Cell 2</Table.Cell>
|
282
|
+
<Table.Cell align="end">Cell 3</Table.Cell>
|
283
|
+
</Table.Row>
|
284
|
+
</Table>
|
285
|
+
</Card>
|
286
|
+
</Example.Item>
|
287
|
+
<Example.Item title="width: auto, nowrap">
|
288
|
+
<Table>
|
289
|
+
<Table.Row>
|
290
|
+
<Table.Heading width="50%">Column 1</Table.Heading>
|
291
|
+
<Table.Heading>Column 2</Table.Heading>
|
292
|
+
<Table.Heading>Column 3</Table.Heading>
|
293
|
+
<Table.Heading width="auto">Long heading title</Table.Heading>
|
294
|
+
</Table.Row>
|
295
|
+
<Table.Row>
|
296
|
+
<Table.Cell>Cell 1</Table.Cell>
|
297
|
+
<Table.Cell>Cell 2</Table.Cell>
|
298
|
+
<Table.Cell>Cell 3</Table.Cell>
|
299
|
+
<Table.Cell>Cell 4</Table.Cell>
|
300
|
+
</Table.Row>
|
301
|
+
</Table>
|
302
|
+
</Example.Item>
|
303
|
+
</Example>),
|
304
|
+
};
|
211
305
|
const SelectionDemo = () => {
|
212
306
|
const [value, setValue] = React.useState([]);
|
213
307
|
const rows = [
|
@@ -244,8 +338,11 @@ const SelectionDemo = () => {
|
|
244
338
|
</Table.Row>))}
|
245
339
|
</Table>);
|
246
340
|
};
|
247
|
-
export const examples =
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
341
|
+
export const examples = {
|
342
|
+
name: "test: selectable",
|
343
|
+
render: () => (<Example>
|
344
|
+
<Example.Item title="selectable">
|
345
|
+
<SelectionDemo />
|
346
|
+
</Example.Item>
|
347
|
+
</Example>),
|
348
|
+
};
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { StoryObj } from "@storybook/react-vite";
|
2
1
|
declare const _default: {
|
3
2
|
title: string;
|
4
3
|
component: import("react").FC<import("./..").TableProps> & {
|
@@ -18,7 +17,3 @@ declare const _default: {
|
|
18
17
|
};
|
19
18
|
};
|
20
19
|
export default _default;
|
21
|
-
export declare const render: StoryObj;
|
22
|
-
export declare const tbody: StoryObj;
|
23
|
-
export declare const tabIndex: StoryObj;
|
24
|
-
export declare const className: StoryObj;
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { expect } from "storybook/test";
|
2
1
|
import Table from "../index.js";
|
3
2
|
export default {
|
4
3
|
title: "Components/Table/tests",
|
@@ -10,84 +9,3 @@ export default {
|
|
10
9
|
chromatic: { disableSnapshot: true },
|
11
10
|
},
|
12
11
|
};
|
13
|
-
export const render = {
|
14
|
-
name: "rendering",
|
15
|
-
render: () => (<Table>
|
16
|
-
<Table.Head>
|
17
|
-
<Table.Row>
|
18
|
-
<Table.Heading>Heading</Table.Heading>
|
19
|
-
<Table.Heading>Heading</Table.Heading>
|
20
|
-
</Table.Row>
|
21
|
-
</Table.Head>
|
22
|
-
<Table.Body>
|
23
|
-
<Table.Row>
|
24
|
-
<Table.Cell>Content</Table.Cell>
|
25
|
-
<Table.Cell>Content</Table.Cell>
|
26
|
-
</Table.Row>
|
27
|
-
</Table.Body>
|
28
|
-
</Table>),
|
29
|
-
play: async ({ canvas }) => {
|
30
|
-
const body = canvas.getAllByRole("rowgroup");
|
31
|
-
const rows = canvas.getAllByRole("row");
|
32
|
-
const headings = canvas.getAllByRole("columnheader");
|
33
|
-
const cells = canvas.getAllByRole("cell");
|
34
|
-
expect(body).toHaveLength(2);
|
35
|
-
expect(rows).toHaveLength(2);
|
36
|
-
expect(headings).toHaveLength(2);
|
37
|
-
expect(cells).toHaveLength(2);
|
38
|
-
expect(canvas.getAllByText("Heading")).toHaveLength(2);
|
39
|
-
expect(canvas.getAllByText("Content")).toHaveLength(2);
|
40
|
-
},
|
41
|
-
};
|
42
|
-
export const tbody = {
|
43
|
-
name: "tbody rendering",
|
44
|
-
render: () => (<Table>
|
45
|
-
<Table.Row>
|
46
|
-
<Table.Heading>Heading</Table.Heading>
|
47
|
-
<Table.Heading>Heading</Table.Heading>
|
48
|
-
</Table.Row>
|
49
|
-
</Table>),
|
50
|
-
play: async ({ canvas }) => {
|
51
|
-
const body = canvas.getByRole("rowgroup");
|
52
|
-
expect(body).toBeInTheDocument();
|
53
|
-
},
|
54
|
-
};
|
55
|
-
export const tabIndex = {
|
56
|
-
name: "adds tabIndex for clickable rows",
|
57
|
-
render: () => (<Table>
|
58
|
-
<Table.Row>
|
59
|
-
<Table.Cell />
|
60
|
-
</Table.Row>
|
61
|
-
<Table.Row onClick={() => { }}>
|
62
|
-
<Table.Cell />
|
63
|
-
</Table.Row>
|
64
|
-
<Table.Row attributes={{ onClick: () => { } }}>
|
65
|
-
<Table.Cell />
|
66
|
-
</Table.Row>
|
67
|
-
</Table>),
|
68
|
-
play: async ({ canvas }) => {
|
69
|
-
const elRows = canvas.getAllByRole("row");
|
70
|
-
expect(elRows[0]).not.toHaveAttribute("tabIndex");
|
71
|
-
expect(elRows[1]).toHaveAttribute("tabIndex", "0");
|
72
|
-
expect(elRows[2]).toHaveAttribute("tabIndex", "0");
|
73
|
-
},
|
74
|
-
};
|
75
|
-
export const className = {
|
76
|
-
name: "className, attributes",
|
77
|
-
render: () => (<div data-testid="root">
|
78
|
-
<Table className="test-classname" attributes={{ id: "test-id" }}>
|
79
|
-
<Table.Row attributes={{ id: "test-row-id" }}>
|
80
|
-
<Table.Cell attributes={{ id: "test-cell-id" }}></Table.Cell>
|
81
|
-
</Table.Row>
|
82
|
-
</Table>
|
83
|
-
</div>),
|
84
|
-
play: async ({ canvas }) => {
|
85
|
-
const root = canvas.getByTestId("root").firstChild;
|
86
|
-
const row = canvas.getByRole("row");
|
87
|
-
const cell = canvas.getByRole("cell");
|
88
|
-
expect(root).toHaveClass("test-classname");
|
89
|
-
expect(root).toHaveAttribute("id", "test-id");
|
90
|
-
expect(row).toHaveAttribute("id", "test-row-id");
|
91
|
-
expect(cell).toHaveAttribute("id", "test-cell-id");
|
92
|
-
},
|
93
|
-
};
|
@@ -1 +1 @@
|
|
1
|
-
@property --rs-tabs-mid-l{syntax:"<length>";initial-value:-24px;inherits:false}@property --rs-tabs-stop-l{syntax:"<length>";initial-value:0;inherits:false}@property --rs-tabs-stop-r{syntax:"<length-percentage>";initial-value:100%;inherits:false}@property --rs-tabs-mid-r{syntax:"<length-percentage>";initial-value:calc(100% + 24px);inherits:false}.root{box-sizing:initial;isolation:isolate;max-width:100%}.list,.root{position:relative}.list{--rs-tabs-gap:var(--rs-unit-x6);gap:var(--rs-tabs-gap)}.inner:after{background-color:var(--rs-color-border-neutral-faded);content:"";position:absolute;z-index:2}.listItem{flex-shrink:0;position:relative}.button{overflow:hidden;position:relative;z-index:1;-webkit-tap-highlight-color:transparent}.button,.buttonContent{border-radius:var(--rs-radius-medium);width:100%}.buttonContent{align-items:center;box-sizing:border-box;display:flex}.icon{color:inherit;transition:color var(--rs-duration-fast) var(--rs-easing-standard)}[data-rs-keyboard] .radio:focus+.buttonContent{box-shadow:var(--rs-focus-inset
|
1
|
+
@property --rs-tabs-mid-l{syntax:"<length>";initial-value:-24px;inherits:false}@property --rs-tabs-stop-l{syntax:"<length>";initial-value:0;inherits:false}@property --rs-tabs-stop-r{syntax:"<length-percentage>";initial-value:100%;inherits:false}@property --rs-tabs-mid-r{syntax:"<length-percentage>";initial-value:calc(100% + 24px);inherits:false}.root{box-sizing:initial;isolation:isolate;max-width:100%}.list,.root{position:relative}.list{--rs-tabs-gap:var(--rs-unit-x6);gap:var(--rs-tabs-gap)}.inner:after{background-color:var(--rs-color-border-neutral-faded);content:"";position:absolute;z-index:2}.listItem{flex-shrink:0;position:relative}.button{overflow:hidden;position:relative;z-index:1;-webkit-tap-highlight-color:transparent}.button,.buttonContent{border-radius:var(--rs-radius-medium);width:100%}.buttonContent{align-items:center;box-sizing:border-box;display:flex}.icon{color:inherit;transition:color var(--rs-duration-fast) var(--rs-easing-standard)}[data-rs-keyboard] .radio:focus+.buttonContent{box-shadow:var(--rs-shadow-focus-inset)}.icon:not(:last-child){margin-inline-end:var(--rs-unit-x2)}.item{color:var(--rs-color-foreground-neutral)}@media (hover:hover) and (pointer:fine){.item:not(.--item-disabled,.--item-active):hover{color:var(--rs-color-foreground-neutral-faded)}}.item.--item-disabled{color:var(--rs-color-foreground-disabled)}.--item-active:after{content:""}.--item-active:after,.selector{background:var(--rs-color-border-primary);border-radius:calc(var(--rs-radius-medium) - 1px);position:absolute;z-index:var(--rs-z-index-relative)}.selector{--rs-tab-selection-x:0;--rs-tab-selection-y:0;--rs-tab-selection-scale-x:0;--rs-tab-selection-scale-y:0;transform:translate(calc(var(--rs-tab-selection-x) * 1px),calc(var(--rs-tab-selection-y) * 1px)) translateZ(0);transform-origin:0 0}.--selector-hidden{visibility:hidden}.--selector-animated{transition:var(--rs-duration-medium) var(--rs-easing-decelerate);transition-property:transform,height,width;will-change:transform,height,width}.control{align-items:center;display:none;inset-block:0;opacity:0;pointer-events:none;position:absolute;transition:var(--rs-duration-medium) var(--rs-easing-decelerate);transition-property:opacity,transform;z-index:var(--rs-z-index-relative)}.control.control--active{opacity:1;pointer-events:all}[dir=rtl] .control{transform:scaleX(-1)}.control--next{inset-inline-end:0}.control--prev{inset-inline-start:0}.panel{outline:none}[data-rs-keyboard] .panel:focus{box-shadow:var(--rs-shadow-focus)}.--panel-hidden{display:none}.--scrollable .inner{overflow:auto;overflow:-moz-scrollbars-none;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to right,transparent 0,transparent var(--rs-tabs-mid-l),#000 var(--rs-tabs-stop-l),#000 var(--rs-tabs-stop-r),transparent var(--rs-tabs-mid-r),transparent 100%);transition:var(--rs-duration-medium) var(--rs-easing-decelerate);transition-property:--rs-tabs-stop-l,--rs-tabs-stop-r,--rs-tabs-mid-l,--rs-tabs-mid-r}.--scrollable .inner::-webkit-scrollbar{display:none}.--direction-row .inner{white-space:nowrap}.--direction-row .inner:after{bottom:0;height:1px;inset-inline:0}.--direction-row .list{align-items:center;display:inline-flex;flex-wrap:nowrap;vertical-align:top}.--direction-row .--item-active:after{height:2px;inset-inline:0;bottom:0}.--direction-row .selector{bottom:0;height:2px;left:0;width:calc(var(--rs-tab-selection-scale-x) * 1px)}.--direction-row .button{box-sizing:initial;margin:var(--rs-unit-x1) calc(var(--rs-unit-x2) * -1);padding:0 var(--rs-unit-x2)}.--direction-row .buttonContent{justify-content:center;padding:var(--rs-tabs-item-p-v) 0}.--direction-column .inner:after{height:100%;inset-block:0;inset-inline-end:0;width:1px}.--direction-column .list{--rs-tabs-gap:var(--rs-unit-x1);display:flex;flex-direction:column}.--direction-column .item{padding-inline-end:var(--rs-unit-x1)}.--direction-column .--item-active:after{bottom:0}.--direction-column .--item-active:after,.--direction-column .selector{height:100%;inset-inline-end:0;width:2px}.--direction-column .selector{height:calc(var(--rs-tab-selection-scale-y) * 1px);top:0}.--direction-column .button{margin-inline-start:calc(var(--rs-unit-x2) * -1);padding:var(--rs-unit-x2);width:calc(100% + var(--rs-unit-x1))}.--direction-column .buttonContent{justify-content:flex-start}.--variant-borderless .inner:after,.--variant-pills .inner:after,.--variant-pills-elevated .inner:after{content:none}.--variant-pills .button,.--variant-pills-elevated .button{margin:0;padding:0}.--variant-pills .buttonContent,.--variant-pills-elevated .buttonContent{margin:0;padding:var(--rs-tabs-item-p-v) var(--rs-tabs-item-p-h)}@media (hover:hover) and (pointer:fine){.--variant-pills .buttonContent:hover,.--variant-pills-elevated .buttonContent:hover{background:none}}.--variant-pills-elevated .buttonContent{padding:calc(var(--rs-tabs-item-p-v) - var(--rs-unit-x1) / 2) var(--rs-tabs-item-p-h)}.--variant-pills .list,.--variant-pills-elevated .list{--rs-tabs-gap:var(--rs-unit-x1)}.--variant-pills .selector,.--variant-pills-elevated .selector{background-color:var(--rs-color-background-neutral);height:calc(var(--rs-tab-selection-scale-y) * 1px);opacity:.6;width:calc(var(--rs-tab-selection-scale-x) * 1px);z-index:0}.--direction-column.--variant-pills .selector,.--direction-column.--variant-pills-elevated .selector{left:0}.--direction-row.--variant-pills .selector,.--direction-row.--variant-pills-elevated .selector{top:0}.--variant-pills .--item-active:after,.--variant-pills-elevated .--item-active:after{background-color:var(--rs-color-background-neutral);opacity:.6;z-index:0}.--direction-column.--variant-pills .--item-active:after,.--direction-column.--variant-pills-elevated .--item-active:after{width:100%}.--direction-row.--variant-pills .--item-active:after,.--direction-row.--variant-pills-elevated .--item-active:after{height:100%}.--variant-pills-elevated .list{background:var(--rs-color-background-neutral-faded);border:2px solid transparent;border-radius:var(--rs-radius-medium)}.--variant-pills-elevated .--item-active:after,.--variant-pills-elevated .selector{background:var(--rs-color-background-elevation-raised);box-shadow:var(--rs-shadow-raised);box-sizing:border-box;opacity:1}.--size-medium{--rs-tabs-item-p-v:var(--rs-unit-x2);--rs-tabs-item-p-h:var(--rs-unit-x3)}.--size-large{--rs-tabs-item-p-v:var(--rs-unit-x3);--rs-tabs-item-p-h:var(--rs-unit-x4)}.--item-width-equal{max-width:none}.--item-width-equal .inner{flex-wrap:wrap}.--item-width-equal .list{display:flex;overflow:hidden}.--item-width-equal .listItem{flex-basis:0;flex-grow:1;margin:0}.--fade-end .inner,[dir=rtl] .--fade-start .inner{--rs-tabs-mid-r:100%;--rs-tabs-stop-r:calc(100% - var(--rs-unit-x1) * 10)}.--fade-start .inner,[dir=rtl] .--fade-end .inner{--rs-tabs-mid-l:0px;--rs-tabs-stop-l:calc(var(--rs-unit-x1) * 10)}@media (pointer:fine){.control{display:flex}.--fade-end .inner,[dir=rtl] .--fade-start .inner{--rs-tabs-mid-r:calc(100% - var(--rs-unit-x1) * 4);--rs-tabs-stop-r:calc(100% - var(--rs-unit-x1) * 10)}.--fade-start .inner,[dir=rtl] .--fade-end .inner{--rs-tabs-mid-l:calc(var(--rs-unit-x1) * 4);--rs-tabs-stop-l:calc(var(--rs-unit-x1) * 10)}}
|
@@ -7,6 +7,7 @@ const TabsControlled = (props) => {
|
|
7
7
|
const { children, value, onChange, onSilentChange, itemWidth, variant, name, direction = "row", size = "medium", } = props;
|
8
8
|
const id = useElementId();
|
9
9
|
const elActiveRef = React.useRef(null);
|
10
|
+
// eslint-disable-next-line react-hooks/refs
|
10
11
|
const elPrevActiveRef = React.useRef(elActiveRef.current);
|
11
12
|
const elScrollableRef = React.useRef(null);
|
12
13
|
const [selection, setSelection] = React.useState({
|