linkedunion-design-kit 1.11.6 → 1.11.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.
- package/dist/app/layout.d.ts +1 -1
- package/dist/app/{layout.js → layout.jsx} +3 -2
- package/dist/app/page.d.ts +1 -1
- package/dist/app/page.jsx +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/src/components/Accordion/Accordion.stories.jsx +33 -0
- package/dist/src/components/Accordion/accordion.d.ts +4 -4
- package/dist/src/components/Accordion/{accordion.js → accordion.jsx} +11 -16
- package/dist/src/components/Alerts/Alert/alert.d.ts +7 -7
- package/dist/src/components/Alerts/Alert/{alert.js → alert.jsx} +21 -25
- package/dist/src/components/Alerts/Alert/alert.stories.d.ts +8 -8
- package/dist/src/components/Alerts/Alert/alert.stories.jsx +344 -0
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.d.ts +11 -11
- package/dist/src/components/Alerts/AlertDialog/{alert-dialog.js → alert-dialog.jsx} +26 -24
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.d.ts +10 -10
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +552 -0
- package/dist/src/components/AppIcons/AndroidIcon.jsx +24 -0
- package/dist/src/components/AppIcons/{AppIcon.js → AppIcon.jsx} +4 -15
- package/dist/src/components/AppIcons/AppleIcon.jsx +31 -0
- package/dist/src/components/AppIcons/PlayStoreIcon.jsx +29 -0
- package/dist/src/components/Avatar/Avatar/{Avatar.js → Avatar.jsx} +13 -18
- package/dist/src/components/Avatar/Avatar/Avatar.stories.d.ts +7 -7
- package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +95 -0
- package/dist/src/components/Avatar/Avatar/{Avatar.test.js → Avatar.test.jsx} +1 -2
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +17 -0
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +32 -0
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +20 -0
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.d.ts +2 -2
- package/dist/src/components/Avatar/StatusIndicator/{StatusIndicator.stories.js → StatusIndicator.stories.jsx} +12 -3
- package/dist/src/components/Badge/Badge.d.ts +1 -1
- package/dist/src/components/Badge/{Badge.js → Badge.jsx} +8 -13
- package/dist/src/components/Badge/Badge.stories.d.ts +10 -10
- package/dist/src/components/Badge/Badge.stories.jsx +201 -0
- package/dist/src/components/Button/Button/Button.d.ts +3 -2
- package/dist/src/components/Button/Button/{Button.js → Button.jsx} +24 -8
- package/dist/src/components/Button/Button/Button.stories.d.ts +5 -3
- package/dist/src/components/Button/Button/{Button.stories.js → Button.stories.jsx} +1 -13
- package/dist/src/components/Button/Button/Button.test.jsx +73 -0
- package/dist/src/components/Button/IconButton/IconButton.d.ts +1 -1
- package/dist/src/components/Button/IconButton/{IconButton.js → IconButton.jsx} +4 -13
- package/dist/src/components/Button/IconButton/IconButton.stories.d.ts +1 -1
- package/dist/src/components/Button/IconButton/{IconButton.stories.js → IconButton.stories.jsx} +1 -13
- package/dist/src/components/Button/IconButton/{IconButton.test.js → IconButton.test.jsx} +5 -6
- package/dist/src/components/Button/index.d.ts +1 -0
- package/dist/src/components/Button/index.js +3 -2
- package/dist/src/components/Card/MultipleNews/MultiNews.d.ts +1 -1
- package/dist/src/components/Card/MultipleNews/MultiNews.jsx +71 -0
- package/dist/src/components/Card/MultipleNews/{MultiNews.stories.js → MultiNews.stories.jsx} +1 -2
- package/dist/src/components/Card/PostByCategory/PostByCategory.d.ts +1 -1
- package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +57 -0
- package/dist/src/components/Card/PostByCategory/{PostByCategory.stories.js → PostByCategory.stories.jsx} +1 -2
- package/dist/src/components/Card/SinglePost/SinglePost.d.ts +1 -1
- package/dist/src/components/Card/SinglePost/SinglePost.jsx +26 -0
- package/dist/src/components/Card/card.d.ts +2 -1
- package/dist/src/components/Card/{card.js → card.jsx} +2 -13
- package/dist/src/components/Card/contactProfile/ContactProfile.d.ts +1 -1
- package/dist/src/components/Card/contactProfile/ContactProfile.jsx +76 -0
- package/dist/src/components/Card/contactProfile/{ContactProfile.stories.js → ContactProfile.stories.jsx} +1 -2
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.d.ts +1 -1
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +41 -0
- package/dist/src/components/Card/photoAlbum/{PhotoAlbum.stories.js → PhotoAlbum.stories.jsx} +1 -13
- package/dist/src/components/Card/photoGallery/PhotoGallery.d.ts +1 -1
- package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +17 -0
- package/dist/src/components/Card/photoGallery/{PhotoGallery.stories.js → PhotoGallery.stories.jsx} +1 -13
- package/dist/src/components/Checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/Checkbox/{checkbox.js → checkbox.jsx} +6 -13
- package/dist/src/components/Checkbox/checkbox.stories.jsx +113 -0
- package/dist/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/src/components/ColorPicker/{ColorPicker.js → ColorPicker.jsx} +6 -13
- package/dist/src/components/ColorPicker/ColorPicker.stories.d.ts +5 -5
- package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +138 -0
- package/dist/src/components/Colors/color.d.ts +1 -1
- package/dist/src/components/Colors/{color.js → color.jsx} +1 -2
- package/dist/src/components/Colors/color.stories.jsx +20 -0
- package/dist/src/components/Colors/{color.test.js → color.test.jsx} +3 -4
- package/dist/src/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/src/components/DatePicker/DatePicker.jsx +67 -0
- package/dist/src/components/DatePicker/DatePicker.stories.d.ts +9 -9
- package/dist/src/components/DatePicker/DatePicker.stories.jsx +291 -0
- package/dist/src/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/src/components/DateRangePicker/{DateRangePicker.js → DateRangePicker.jsx} +92 -44
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.d.ts +19 -19
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.jsx +582 -0
- package/dist/src/components/Dropdown/Combobox/Combobox.d.ts +1 -1
- package/dist/src/components/Dropdown/Combobox/{Combobox.js → Combobox.jsx} +67 -29
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.d.ts +8 -8
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +289 -0
- package/dist/src/components/Dropdown/Combobox/dialog.d.ts +10 -10
- package/dist/src/components/Dropdown/Combobox/dialog.jsx +66 -0
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +7 -0
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.d.ts +7 -3
- package/dist/src/components/Dropdown/DropdownMenu/{DropdownMenu.js → DropdownMenu.jsx} +29 -22
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.d.ts +19 -12
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +552 -0
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +19 -0
- package/dist/src/components/Dropdown/DropdownMenu/index.d.ts +5 -0
- package/dist/src/components/Dropdown/DropdownMenu/index.js +5 -0
- package/dist/src/components/Dropdown/Select.stories.d.ts +7 -6
- package/dist/src/components/Dropdown/{Select.stories.js → Select.stories.jsx} +71 -8
- package/dist/src/components/Dropdown/select.d.ts +10 -10
- package/dist/src/components/Dropdown/select.jsx +94 -0
- package/dist/src/components/Icons/LUIcon.d.ts +1 -1
- package/dist/src/components/Icons/{LUIcon.js → LUIcon.jsx} +10 -13
- package/dist/src/components/Icons/stories/IconDropdown.jsx +67 -0
- package/dist/src/components/Icons/stories/IconGallery.jsx +77 -0
- package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +86 -0
- package/dist/src/components/Icons/stories/LUIcon.stories.d.ts +5 -5
- package/dist/src/components/Icons/stories/{LUIcon.stories.js → LUIcon.stories.jsx} +23 -8
- package/dist/src/components/ImageUploader/imageUploader.d.ts +1 -1
- package/dist/src/components/ImageUploader/{imageUploader.js → imageUploader.jsx} +28 -13
- package/dist/src/components/Images/LuImage.d.ts +1 -1
- package/dist/src/components/Images/{LuImage.js → LuImage.jsx} +1 -13
- package/dist/src/components/Images/{LuImage.stories.js → LuImage.stories.jsx} +1 -13
- package/dist/src/components/Images/{LuImage.test.js → LuImage.test.jsx} +6 -18
- package/dist/src/components/Input/Input.stories.d.ts +9 -8
- package/dist/src/components/Input/Input.stories.jsx +250 -0
- package/dist/src/components/Input/input.d.ts +1 -1
- package/dist/src/components/Input/{input.js → input.jsx} +10 -13
- package/dist/src/components/Label/Label.d.ts +1 -1
- package/dist/src/components/Label/{Label.js → Label.jsx} +2 -13
- package/dist/src/components/Label/{Label.stories.js → Label.stories.jsx} +1 -13
- package/dist/src/components/Modal/Modal.d.ts +3 -3
- package/dist/src/components/Modal/{Modal.js → Modal.jsx} +20 -19
- package/dist/src/components/Modal/Modal.stories.d.ts +15 -15
- package/dist/src/components/Modal/Modal.stories.jsx +487 -0
- package/dist/src/components/Pagination/pagination.d.ts +5 -5
- package/dist/src/components/Pagination/{pagination.js → pagination.jsx} +18 -21
- package/dist/src/components/Pagination/pagination.stories.d.ts +6 -6
- package/dist/src/components/Pagination/pagination.stories.jsx +301 -0
- package/dist/src/components/RadioGroup/{RadioGroup.stories.js → RadioGroup.stories.jsx} +52 -22
- package/dist/src/components/RadioGroup/radio-group.d.ts +1 -1
- package/dist/src/components/RadioGroup/{radio-group.js → radio-group.jsx} +6 -14
- package/dist/src/components/Separator/Separator.stories.d.ts +15 -0
- package/dist/src/components/Separator/Separator.stories.jsx +94 -0
- package/dist/src/components/Separator/index.d.ts +1 -0
- package/dist/src/components/Separator/index.js +1 -0
- package/dist/src/components/Separator/separator.d.ts +4 -0
- package/dist/src/components/Separator/separator.jsx +20 -0
- package/dist/src/components/Sheet/index.d.ts +1 -0
- package/dist/src/components/Sheet/index.js +1 -0
- package/dist/src/components/Sheet/sheet.d.ts +25 -0
- package/dist/src/components/Sheet/sheet.jsx +73 -0
- package/dist/src/components/Sheet/sheet.stories.d.ts +4 -0
- package/dist/src/components/Sheet/sheet.stories.jsx +34 -0
- package/dist/src/components/Skeleton/skeleton.d.ts +14 -14
- package/dist/src/components/Skeleton/{skeleton.js → skeleton.jsx} +23 -27
- package/dist/src/components/Skeleton/skeleton.stories.d.ts +14 -14
- package/dist/src/components/Skeleton/skeleton.stories.jsx +734 -0
- package/dist/src/components/Slider/slider.d.ts +1 -1
- package/dist/src/components/Slider/slider.jsx +31 -0
- package/dist/src/components/SweetAlert/SweetAlert.d.ts +9 -9
- package/dist/src/components/SweetAlert/{SweetAlert.js → SweetAlert.jsx} +18 -21
- package/dist/src/components/SweetAlert/SweetAlert.stories.d.ts +7 -7
- package/dist/src/components/SweetAlert/{SweetAlert.stories.js → SweetAlert.stories.jsx} +215 -15
- package/dist/src/components/Switch/{Switch.stories.js → Switch.stories.jsx} +1 -13
- package/dist/src/components/Switch/switch.d.ts +1 -1
- package/dist/src/components/Switch/{switch.js → switch.jsx} +4 -13
- package/dist/src/components/Table/{Table.js → Table.jsx} +111 -58
- package/dist/src/components/Table/Table.stories.d.ts +13 -13
- package/dist/src/components/Table/{Table.stories.js → Table.stories.jsx} +299 -45
- package/dist/src/components/Table/{Table.test.js → Table.test.jsx} +39 -7
- package/dist/src/components/Tabs/{Tabs.stories.js → Tabs.stories.jsx} +10 -3
- package/dist/src/components/Tabs/tabs.d.ts +4 -4
- package/dist/src/components/Tabs/tabs.jsx +32 -0
- package/dist/src/components/TimePicker/TimePicker.d.ts +1 -1
- package/dist/src/components/TimePicker/{TimePicker.js → TimePicker.jsx} +54 -30
- package/dist/src/components/TimePicker/TimePicker.stories.d.ts +10 -10
- package/dist/src/components/TimePicker/TimePicker.stories.jsx +298 -0
- package/dist/src/components/Title/Title.d.ts +1 -1
- package/dist/src/components/Title/{Title.js → Title.jsx} +2 -2
- package/dist/src/components/Title/{Title.stories.js → Title.stories.jsx} +1 -13
- package/dist/src/components/Title/{Title.test.js → Title.test.jsx} +4 -5
- package/dist/src/components/ToolTip/Tooltip.d.ts +1 -1
- package/dist/src/components/ToolTip/Tooltip.jsx +18 -0
- package/dist/src/components/ToolTip/{Tooltip.stories.js → Tooltip.stories.jsx} +2 -14
- package/dist/src/components/Typography/Body/{Body.stories.js → Body.stories.jsx} +1 -13
- package/dist/src/components/Typography/Body/body.d.ts +1 -1
- package/dist/src/components/Typography/Body/{body.js → body.jsx} +4 -13
- package/dist/src/components/Typography/Caption/{Caption.stories.js → Caption.stories.jsx} +1 -13
- package/dist/src/components/Typography/Caption/caption.d.ts +1 -1
- package/dist/src/components/Typography/Caption/{caption.js → caption.jsx} +4 -13
- package/dist/src/components/Typography/Display/{Display.stories.js → Display.stories.jsx} +1 -13
- package/dist/src/components/Typography/Display/display.d.ts +1 -1
- package/dist/src/components/Typography/Display/{display.js → display.jsx} +4 -13
- package/dist/src/components/Typography/Heading/Heading.stories.d.ts +6 -6
- package/dist/src/components/Typography/Heading/Heading.stories.jsx +85 -0
- package/dist/src/components/Typography/Heading/{heading.js → heading.jsx} +5 -14
- package/dist/src/components/VerticalTabs/{VerticalTabs.js → VerticalTabs.jsx} +9 -17
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.jsx +154 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.test.jsx +97 -0
- package/dist/src/components/ui/calendar.d.ts +2 -2
- package/dist/src/components/ui/{calendar.js → calendar.jsx} +36 -22
- package/dist/src/components/ui/command.d.ts +9 -9
- package/dist/src/components/ui/command.jsx +67 -0
- package/dist/src/components/ui/popover.d.ts +4 -4
- package/dist/src/components/ui/popover.jsx +33 -0
- package/dist/src/components/ui/tooltip.d.ts +4 -4
- package/dist/src/components/ui/tooltip.jsx +38 -0
- package/dist/src/components/ui/typography.d.ts +1 -1
- package/dist/src/components/ui/{typography.js → typography.jsx} +4 -13
- package/dist/styles/global.css +107 -5
- package/package.json +4 -3
- package/dist/app/page.js +0 -4
- package/dist/src/components/Accordion/Accordion.stories.js +0 -32
- package/dist/src/components/Alerts/Alert/alert.stories.js +0 -166
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.js +0 -213
- package/dist/src/components/AppIcons/AndroidIcon.js +0 -28
- package/dist/src/components/AppIcons/AppleIcon.js +0 -28
- package/dist/src/components/AppIcons/PlayStoreIcon.js +0 -28
- package/dist/src/components/Avatar/Avatar/Avatar.stories.js +0 -69
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.js +0 -8
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.js +0 -14
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.js +0 -18
- package/dist/src/components/Badge/Badge.stories.js +0 -145
- package/dist/src/components/Button/Button/Button.test.js +0 -10
- package/dist/src/components/Card/MultipleNews/MultiNews.js +0 -46
- package/dist/src/components/Card/PostByCategory/PostByCategory.js +0 -37
- package/dist/src/components/Card/SinglePost/SinglePost.js +0 -10
- package/dist/src/components/Card/contactProfile/ContactProfile.js +0 -39
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.js +0 -16
- package/dist/src/components/Card/photoGallery/PhotoGallery.js +0 -8
- package/dist/src/components/Checkbox/checkbox.stories.js +0 -78
- package/dist/src/components/ColorPicker/ColorPicker.stories.js +0 -77
- package/dist/src/components/Colors/color.stories.js +0 -32
- package/dist/src/components/DatePicker/DatePicker.js +0 -64
- package/dist/src/components/DatePicker/DatePicker.stories.js +0 -171
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.js +0 -318
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.js +0 -225
- package/dist/src/components/Dropdown/Combobox/dialog.js +0 -68
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.js +0 -5
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.js +0 -253
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.js +0 -9
- package/dist/src/components/Dropdown/select.js +0 -87
- package/dist/src/components/Icons/stories/IconDropdown.js +0 -38
- package/dist/src/components/Icons/stories/IconGallery.js +0 -31
- package/dist/src/components/Icons/stories/InteractiveIconSelector.js +0 -26
- package/dist/src/components/Input/Input.stories.js +0 -133
- package/dist/src/components/Modal/Modal.stories.js +0 -115
- package/dist/src/components/Pagination/pagination.stories.js +0 -168
- package/dist/src/components/Skeleton/skeleton.stories.js +0 -414
- package/dist/src/components/Slider/slider.js +0 -38
- package/dist/src/components/Tabs/tabs.js +0 -43
- package/dist/src/components/TimePicker/TimePicker.stories.js +0 -176
- package/dist/src/components/ToolTip/Tooltip.js +0 -8
- package/dist/src/components/Typography/Heading/Heading.stories.js +0 -67
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +0 -100
- package/dist/src/components/VerticalTabs/VerticalTabs.test.js +0 -48
- package/dist/src/components/ui/command.js +0 -65
- package/dist/src/components/ui/popover.js +0 -42
- package/dist/src/components/ui/tooltip.js +0 -42
- /package/dist/src/components/AppIcons/{AppIcon.stories.js → AppIcon.stories.jsx} +0 -0
- /package/dist/src/components/Card/SinglePost/{SinglePost.stories.js → SinglePost.stories.jsx} +0 -0
- /package/dist/src/components/Icons/{LUIcon.test.js → LUIcon.test.jsx} +0 -0
- /package/dist/src/components/ImageUploader/{ImageUploader.stories.js → ImageUploader.stories.jsx} +0 -0
- /package/dist/src/components/Slider/{Slider.stories.js → Slider.stories.jsx} +0 -0
- /package/dist/src/components/ui/{collapsible.js → collapsible.jsx} +0 -0
|
@@ -18,8 +18,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
18
18
|
}
|
|
19
19
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
20
|
};
|
|
21
|
-
import {
|
|
22
|
-
import { useState, useMemo } from "react";
|
|
21
|
+
import React, { useState, useMemo } from "react";
|
|
23
22
|
import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell, TableCaption, TableButton, TableCellPadded, TableFooter, } from "./Table";
|
|
24
23
|
import { tableSize } from ".";
|
|
25
24
|
import { Checkbox } from "../Checkbox/checkbox";
|
|
@@ -84,10 +83,25 @@ var Template = function (args) {
|
|
|
84
83
|
role: "Member",
|
|
85
84
|
},
|
|
86
85
|
];
|
|
87
|
-
return (
|
|
86
|
+
return (<Table {...args} columns={columns}>
|
|
87
|
+
<TableCaption>Example users table</TableCaption>
|
|
88
|
+
<TableHeader>
|
|
89
|
+
<TableRow>
|
|
90
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
91
|
+
</TableRow>
|
|
92
|
+
</TableHeader>
|
|
93
|
+
<TableBody>
|
|
94
|
+
{data.map(function (row, rowIndex) { return (<TableRow key={rowIndex} data={row}>
|
|
95
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
96
|
+
{row[col.key]}
|
|
97
|
+
</TableCell>); })}
|
|
98
|
+
</TableRow>); })}
|
|
99
|
+
</TableBody>
|
|
100
|
+
</Table>);
|
|
88
101
|
};
|
|
89
102
|
export var Default = Template.bind({});
|
|
90
|
-
export var TableSizes = function () { return (
|
|
103
|
+
export var TableSizes = function () { return (<div className="flex flex-col space-y-2">
|
|
104
|
+
{Object.keys(tableSize).map(function (size) {
|
|
91
105
|
var columns = [
|
|
92
106
|
{ key: "name", header: "Name" },
|
|
93
107
|
{ key: "email", header: "Email" },
|
|
@@ -105,8 +119,23 @@ export var TableSizes = function () { return (_jsx("div", { className: "flex fle
|
|
|
105
119
|
role: "Member",
|
|
106
120
|
},
|
|
107
121
|
];
|
|
108
|
-
return (
|
|
109
|
-
|
|
122
|
+
return (<Table key={size} size={size} columns={columns}>
|
|
123
|
+
<TableCaption>{"Table Size: ".concat(size)}</TableCaption>
|
|
124
|
+
<TableHeader>
|
|
125
|
+
<TableRow>
|
|
126
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
127
|
+
</TableRow>
|
|
128
|
+
</TableHeader>
|
|
129
|
+
<TableBody>
|
|
130
|
+
{data.map(function (row, rowIndex) { return (<TableRow key={rowIndex} data={row}>
|
|
131
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
132
|
+
{row[col.key]}
|
|
133
|
+
</TableCell>); })}
|
|
134
|
+
</TableRow>); })}
|
|
135
|
+
</TableBody>
|
|
136
|
+
</Table>);
|
|
137
|
+
})}
|
|
138
|
+
</div>); };
|
|
110
139
|
export var DisabledRowClickTable = function () {
|
|
111
140
|
var users = [
|
|
112
141
|
{
|
|
@@ -127,7 +156,20 @@ export var DisabledRowClickTable = function () {
|
|
|
127
156
|
{ key: "email", header: "Email" },
|
|
128
157
|
{ key: "role", header: "Role" },
|
|
129
158
|
];
|
|
130
|
-
return (
|
|
159
|
+
return (<Table columns={columns}>
|
|
160
|
+
<TableHeader>
|
|
161
|
+
<TableRow>
|
|
162
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
163
|
+
</TableRow>
|
|
164
|
+
</TableHeader>
|
|
165
|
+
<TableBody>
|
|
166
|
+
{users.map(function (user) { return (<TableRow key={user.id} data={user} disableClick>
|
|
167
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
168
|
+
{user[col.key]}
|
|
169
|
+
</TableCell>); })}
|
|
170
|
+
</TableRow>); })}
|
|
171
|
+
</TableBody>
|
|
172
|
+
</Table>);
|
|
131
173
|
};
|
|
132
174
|
export var CheckBoxInSmallTable = function () {
|
|
133
175
|
var users = [
|
|
@@ -171,12 +213,33 @@ export var CheckBoxInSmallTable = function () {
|
|
|
171
213
|
{ key: "email", header: "Email" },
|
|
172
214
|
{ key: "role", header: "Role" },
|
|
173
215
|
];
|
|
174
|
-
return (
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
216
|
+
return (<Table columns={columns}>
|
|
217
|
+
<TableHeader>
|
|
218
|
+
<TableRow>
|
|
219
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>
|
|
220
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
221
|
+
<Checkbox checked={allChecked} onCheckedChange={toggleAll} aria-checked={allChecked} size="sm"/>
|
|
222
|
+
Name
|
|
223
|
+
</div>) : (col.header)}
|
|
224
|
+
</TableHead>); })}
|
|
225
|
+
</TableRow>
|
|
226
|
+
</TableHeader>
|
|
227
|
+
<TableBody>
|
|
228
|
+
{users.map(function (user) {
|
|
229
|
+
var isChecked = selected.has(user.id);
|
|
230
|
+
return (<TableRow key={user.id} data={user}>
|
|
231
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
232
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
233
|
+
<Checkbox checked={isChecked} onCheckedChange={function (c) {
|
|
234
|
+
return toggleOne(user.id, c);
|
|
235
|
+
}} size="sm"/>
|
|
236
|
+
{user.name}
|
|
237
|
+
</div>) : (user[col.key])}
|
|
238
|
+
</TableCell>); })}
|
|
239
|
+
</TableRow>);
|
|
240
|
+
})}
|
|
241
|
+
</TableBody>
|
|
242
|
+
</Table>);
|
|
180
243
|
};
|
|
181
244
|
export var CheckBoxInMediumTable = function () {
|
|
182
245
|
var users = [
|
|
@@ -220,12 +283,33 @@ export var CheckBoxInMediumTable = function () {
|
|
|
220
283
|
{ key: "email", header: "Email" },
|
|
221
284
|
{ key: "role", header: "Role" },
|
|
222
285
|
];
|
|
223
|
-
return (
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
286
|
+
return (<Table size="md" columns={columns}>
|
|
287
|
+
<TableHeader>
|
|
288
|
+
<TableRow>
|
|
289
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>
|
|
290
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
291
|
+
<Checkbox checked={allChecked} onCheckedChange={toggleAll} aria-checked={allChecked} size="md"/>
|
|
292
|
+
Name
|
|
293
|
+
</div>) : (col.header)}
|
|
294
|
+
</TableHead>); })}
|
|
295
|
+
</TableRow>
|
|
296
|
+
</TableHeader>
|
|
297
|
+
<TableBody>
|
|
298
|
+
{users.map(function (user) {
|
|
299
|
+
var isChecked = selected.has(user.id);
|
|
300
|
+
return (<TableRow key={user.id} data={user}>
|
|
301
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
302
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
303
|
+
<Checkbox checked={isChecked} onCheckedChange={function (c) {
|
|
304
|
+
return toggleOne(user.id, c);
|
|
305
|
+
}} size="md"/>
|
|
306
|
+
{user.name}
|
|
307
|
+
</div>) : (user[col.key])}
|
|
308
|
+
</TableCell>); })}
|
|
309
|
+
</TableRow>);
|
|
310
|
+
})}
|
|
311
|
+
</TableBody>
|
|
312
|
+
</Table>);
|
|
229
313
|
};
|
|
230
314
|
export var CheckBoxInLargeTable = function () {
|
|
231
315
|
var users = [
|
|
@@ -269,12 +353,33 @@ export var CheckBoxInLargeTable = function () {
|
|
|
269
353
|
{ key: "email", header: "Email" },
|
|
270
354
|
{ key: "role", header: "Role" },
|
|
271
355
|
];
|
|
272
|
-
return (
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
356
|
+
return (<Table size="lg" columns={columns}>
|
|
357
|
+
<TableHeader>
|
|
358
|
+
<TableRow>
|
|
359
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>
|
|
360
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
361
|
+
<Checkbox checked={allChecked} onCheckedChange={toggleAll} aria-checked={allChecked} size="lg"/>
|
|
362
|
+
Name
|
|
363
|
+
</div>) : (col.header)}
|
|
364
|
+
</TableHead>); })}
|
|
365
|
+
</TableRow>
|
|
366
|
+
</TableHeader>
|
|
367
|
+
<TableBody>
|
|
368
|
+
{users.map(function (user) {
|
|
369
|
+
var isChecked = selected.has(user.id);
|
|
370
|
+
return (<TableRow key={user.id} data={user}>
|
|
371
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
372
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
373
|
+
<Checkbox checked={isChecked} onCheckedChange={function (c) {
|
|
374
|
+
return toggleOne(user.id, c);
|
|
375
|
+
}} size="lg"/>
|
|
376
|
+
{user.name}
|
|
377
|
+
</div>) : (user[col.key])}
|
|
378
|
+
</TableCell>); })}
|
|
379
|
+
</TableRow>);
|
|
380
|
+
})}
|
|
381
|
+
</TableBody>
|
|
382
|
+
</Table>);
|
|
278
383
|
};
|
|
279
384
|
export var SortingTable = function () {
|
|
280
385
|
var users = useMemo(function () { return [
|
|
@@ -346,7 +451,29 @@ export var SortingTable = function () {
|
|
|
346
451
|
{ key: "role", header: "Role" },
|
|
347
452
|
{ key: "joinDate", header: "Join Date" },
|
|
348
453
|
];
|
|
349
|
-
return (
|
|
454
|
+
return (<Table size="sm" columns={columns}>
|
|
455
|
+
<TableCaption>Sortable table - Click on Name or Role</TableCaption>
|
|
456
|
+
<TableHeader>
|
|
457
|
+
<TableRow>
|
|
458
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>
|
|
459
|
+
{col.key === "name" ? (<div className="flex items-center gap-2">
|
|
460
|
+
Name
|
|
461
|
+
<IconButton aria-label="Toggle sort by Name" onClick={function () { return handleSort("name"); }} size="sm" variant="ghost" icon="sort" color="gray"/>
|
|
462
|
+
</div>) : col.key === "role" ? (<div className="flex items-center gap-2">
|
|
463
|
+
Role
|
|
464
|
+
<IconButton aria-label="Toggle sort by Role" onClick={function () { return handleSort("role"); }} size="sm" variant="ghost" icon="sort" color="gray"/>
|
|
465
|
+
</div>) : (col.header)}
|
|
466
|
+
</TableHead>); })}
|
|
467
|
+
</TableRow>
|
|
468
|
+
</TableHeader>
|
|
469
|
+
<TableBody>
|
|
470
|
+
{sorted.map(function (user) { return (<TableRow key={user.id} data={user}>
|
|
471
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
472
|
+
{user[col.key]}
|
|
473
|
+
</TableCell>); })}
|
|
474
|
+
</TableRow>); })}
|
|
475
|
+
</TableBody>
|
|
476
|
+
</Table>);
|
|
350
477
|
};
|
|
351
478
|
export var BadgesInTable = function () {
|
|
352
479
|
var columns = [
|
|
@@ -368,7 +495,23 @@ export var BadgesInTable = function () {
|
|
|
368
495
|
role: "Member",
|
|
369
496
|
},
|
|
370
497
|
];
|
|
371
|
-
return (
|
|
498
|
+
return (<Table size="sm" columns={columns}>
|
|
499
|
+
<TableCaption>Tasks with Status Badges</TableCaption>
|
|
500
|
+
<TableHeader>
|
|
501
|
+
<TableRow>
|
|
502
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
503
|
+
</TableRow>
|
|
504
|
+
</TableHeader>
|
|
505
|
+
<TableBody>
|
|
506
|
+
{data.map(function (row) { return (<TableRow key={row.id} data={row}>
|
|
507
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
508
|
+
{col.key === "status" ? (<Badge color={row.status === "Completed" ? "light-green" : "light-blue"} size="sm" endIcon={row.status === "Completed" ? "check" : undefined}>
|
|
509
|
+
{row.status}
|
|
510
|
+
</Badge>) : (row[col.key])}
|
|
511
|
+
</TableCell>); })}
|
|
512
|
+
</TableRow>); })}
|
|
513
|
+
</TableBody>
|
|
514
|
+
</Table>);
|
|
372
515
|
};
|
|
373
516
|
BadgesInTable.parameters = {
|
|
374
517
|
docs: {
|
|
@@ -407,7 +550,23 @@ export var DropdownInTable = function () {
|
|
|
407
550
|
joinDate: "2023-02-10",
|
|
408
551
|
},
|
|
409
552
|
];
|
|
410
|
-
return (
|
|
553
|
+
return (<Table size="sm" columns={columns}>
|
|
554
|
+
<TableCaption>Table with Dropdown Actions</TableCaption>
|
|
555
|
+
<TableHeader>
|
|
556
|
+
<TableRow>
|
|
557
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
558
|
+
</TableRow>
|
|
559
|
+
</TableHeader>
|
|
560
|
+
<TableBody>
|
|
561
|
+
{data.map(function (row) { return (<TableRow key={row.id} data={row}>
|
|
562
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
563
|
+
{col.key === "actions" ? (<div className="w-48">
|
|
564
|
+
<Combobox size="sm" placeholder="Actions" options={["Edit", "Share", "Delete"]} isSearch={false} isMulti={false} onSelect={function (v) { return console.log("selected", v); }}/>
|
|
565
|
+
</div>) : (row[col.key])}
|
|
566
|
+
</TableCell>); })}
|
|
567
|
+
</TableRow>); })}
|
|
568
|
+
</TableBody>
|
|
569
|
+
</Table>);
|
|
411
570
|
};
|
|
412
571
|
DropdownInTable.parameters = {
|
|
413
572
|
docs: {
|
|
@@ -443,12 +602,32 @@ export var ActionButtonInTable = function () {
|
|
|
443
602
|
joinDate: "2023-03-22",
|
|
444
603
|
},
|
|
445
604
|
];
|
|
446
|
-
return (
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
605
|
+
return (<div className="w-full">
|
|
606
|
+
<Table className="w-full" columnMinWidth={columnMinWidth} columns={headerColumns} hasActionColumn={true}>
|
|
607
|
+
<TableCaption>Table with Action Buttons</TableCaption>
|
|
608
|
+
<TableHeader>
|
|
609
|
+
<TableRow data={{}}>
|
|
610
|
+
{headerColumns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
611
|
+
</TableRow>
|
|
612
|
+
</TableHeader>
|
|
613
|
+
<TableBody>
|
|
614
|
+
{users.map(function (user) {
|
|
615
|
+
var userWithActions = __assign(__assign({}, user), { actions: (<TableButton>
|
|
616
|
+
<IconButton onClick={function () { return alert("Editing ".concat(user.name)); }} color="light-green" icon="pen" size="sm"/>
|
|
617
|
+
<IconButton onClick={function () { return alert("Deleting ".concat(user.name)); }} color="light-red" icon="trash" size="sm"/>
|
|
618
|
+
<IconButton onClick={function () { return alert("Downloading ".concat(user.name)); }} color="light-blue" icon="download" size="sm"/>
|
|
619
|
+
</TableButton>) });
|
|
620
|
+
return (<TableRow key={user.id} data={userWithActions}>
|
|
621
|
+
{headerColumns.map(function (col) { return (<TableCell key={col.key}>
|
|
622
|
+
{col.key === "actions"
|
|
623
|
+
? userWithActions.actions
|
|
624
|
+
: userWithActions[col.key]}
|
|
625
|
+
</TableCell>); })}
|
|
626
|
+
</TableRow>);
|
|
627
|
+
})}
|
|
628
|
+
</TableBody>
|
|
629
|
+
</Table>
|
|
630
|
+
</div>);
|
|
452
631
|
};
|
|
453
632
|
ActionButtonInTable.parameters = {
|
|
454
633
|
docs: {
|
|
@@ -482,7 +661,24 @@ export var AvatarInTable = function () {
|
|
|
482
661
|
joinDate: "2023-03-22",
|
|
483
662
|
},
|
|
484
663
|
];
|
|
485
|
-
return (
|
|
664
|
+
return (<Table columns={columns}>
|
|
665
|
+
<TableCaption>Table with Avatars</TableCaption>
|
|
666
|
+
<TableHeader>
|
|
667
|
+
<TableRow>
|
|
668
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
669
|
+
</TableRow>
|
|
670
|
+
</TableHeader>
|
|
671
|
+
<TableBody>
|
|
672
|
+
{data.map(function (row) { return (<TableRow key={row.id} data={row}>
|
|
673
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
674
|
+
{col.key === "avatar" ? (<Avatar size="sm">
|
|
675
|
+
<AvatarImage alt="Avatar" src={row.image}/>
|
|
676
|
+
<AvatarFallback>AB</AvatarFallback>
|
|
677
|
+
</Avatar>) : (row[col.key])}
|
|
678
|
+
</TableCell>); })}
|
|
679
|
+
</TableRow>); })}
|
|
680
|
+
</TableBody>
|
|
681
|
+
</Table>);
|
|
486
682
|
};
|
|
487
683
|
export var ResponsiveTable = function () {
|
|
488
684
|
var columnMinWidth = 120;
|
|
@@ -528,7 +724,20 @@ export var ResponsiveTable = function () {
|
|
|
528
724
|
data: "Some data",
|
|
529
725
|
},
|
|
530
726
|
];
|
|
531
|
-
return (
|
|
727
|
+
return (<Table className="w-full" columnMinWidth={columnMinWidth} columns={columns}>
|
|
728
|
+
<TableHeader>
|
|
729
|
+
<TableRow>
|
|
730
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
731
|
+
</TableRow>
|
|
732
|
+
</TableHeader>
|
|
733
|
+
<TableBody>
|
|
734
|
+
{data.map(function (row, rowIndex) { return (<TableRow key={rowIndex} data={row}>
|
|
735
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
736
|
+
{row[col.key]}
|
|
737
|
+
</TableCell>); })}
|
|
738
|
+
</TableRow>); })}
|
|
739
|
+
</TableBody>
|
|
740
|
+
</Table>);
|
|
532
741
|
};
|
|
533
742
|
export var ResponsiveTableWithBadgeAndButton = function () {
|
|
534
743
|
var columns = [
|
|
@@ -573,11 +782,28 @@ export var ResponsiveTableWithBadgeAndButton = function () {
|
|
|
573
782
|
data: "Some data",
|
|
574
783
|
},
|
|
575
784
|
];
|
|
576
|
-
return (
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
785
|
+
return (<Table className="w-full" columns={columns}>
|
|
786
|
+
<TableHeader>
|
|
787
|
+
<TableRow>
|
|
788
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
789
|
+
</TableRow>
|
|
790
|
+
</TableHeader>
|
|
791
|
+
<TableBody>
|
|
792
|
+
{data.map(function (row, rowIndex) { return (<TableRow key={rowIndex} data={row}>
|
|
793
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
794
|
+
{col.key === "status" ? (<Badge color={row.status === "Active"
|
|
795
|
+
? "light-green"
|
|
796
|
+
: row.status === "Pending"
|
|
797
|
+
? "light-blue"
|
|
798
|
+
: "light-gray"} size="sm" endIcon={row.status === "Active" ? "check" : undefined}>
|
|
799
|
+
{row.status}
|
|
800
|
+
</Badge>) : col.key === "data" ? (<Button size="sm" onClick={function () { return alert("Button clicked for ".concat(row.name)); }}>
|
|
801
|
+
{row.data}
|
|
802
|
+
</Button>) : (row[col.key])}
|
|
803
|
+
</TableCell>); })}
|
|
804
|
+
</TableRow>); })}
|
|
805
|
+
</TableBody>
|
|
806
|
+
</Table>);
|
|
581
807
|
};
|
|
582
808
|
export var PaddedTableWithFooter = function () {
|
|
583
809
|
var columnMinWidth = 150;
|
|
@@ -604,8 +830,36 @@ export var PaddedTableWithFooter = function () {
|
|
|
604
830
|
joinDate: "2023-03-22",
|
|
605
831
|
},
|
|
606
832
|
];
|
|
607
|
-
return (
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
833
|
+
return (<Table variant="padded" columnMinWidth={columnMinWidth} columns={columns} hasActionColumn>
|
|
834
|
+
<TableHeader className="[&_tr]:border-none">
|
|
835
|
+
<TableRow>
|
|
836
|
+
{columns.map(function (col) { return (<TableHead key={col.key} className={cn("first:rounded-l-lg last:rounded-r-lg", col === null || col === void 0 ? void 0 : col.className)}>
|
|
837
|
+
{col.header}
|
|
838
|
+
</TableHead>); })}
|
|
839
|
+
</TableRow>
|
|
840
|
+
</TableHeader>
|
|
841
|
+
<TableBody>
|
|
842
|
+
{users.map(function (user) {
|
|
843
|
+
var userWithActions = __assign(__assign({}, user), { actions: (<TableButton>
|
|
844
|
+
<IconButton onClick={function () { return alert("Editing ".concat(user.name)); }} color="light-green" icon="pen" size="sm"/>
|
|
845
|
+
<IconButton onClick={function () { return alert("Deleting ".concat(user.name)); }} color="light-red" icon="trash" size="sm"/>
|
|
846
|
+
</TableButton>) });
|
|
847
|
+
return (<TableRow key={user.id} data={userWithActions} disableClick className="even:bg-white">
|
|
848
|
+
{columns.map(function (col) { return (<TableCellPadded key={col.key}>
|
|
849
|
+
{userWithActions[col.key]}
|
|
850
|
+
</TableCellPadded>); })}
|
|
851
|
+
</TableRow>);
|
|
852
|
+
})}
|
|
853
|
+
</TableBody>
|
|
854
|
+
<TableFooter>
|
|
855
|
+
<TableRow disableClick className="[&>td]:first-of-type:border-l-0">
|
|
856
|
+
<TableCell colSpan={columns.length - 1} className="px-4">
|
|
857
|
+
Total
|
|
858
|
+
</TableCell>
|
|
859
|
+
<TableCell className="text-center px-9">
|
|
860
|
+
{users.length} Users
|
|
861
|
+
</TableCell>
|
|
862
|
+
</TableRow>
|
|
863
|
+
</TableFooter>
|
|
864
|
+
</Table>);
|
|
611
865
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
1
|
import { render, screen } from "@testing-library/react";
|
|
3
2
|
import { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from "./Table";
|
|
4
3
|
describe("Table Component", function () {
|
|
@@ -12,7 +11,21 @@ describe("Table Component", function () {
|
|
|
12
11
|
{ name: "John Doe", email: "john.doe@example.com", role: "Member" },
|
|
13
12
|
];
|
|
14
13
|
it("renders table with header, body, and caption", function () {
|
|
15
|
-
render(
|
|
14
|
+
render(<Table columns={columns}>
|
|
15
|
+
<TableCaption>Users Table</TableCaption>
|
|
16
|
+
<TableHeader>
|
|
17
|
+
<TableRow>
|
|
18
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
19
|
+
</TableRow>
|
|
20
|
+
</TableHeader>
|
|
21
|
+
<TableBody>
|
|
22
|
+
{data.map(function (row, idx) { return (<TableRow key={idx} data={row}>
|
|
23
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
24
|
+
{row[col.key]}
|
|
25
|
+
</TableCell>); })}
|
|
26
|
+
</TableRow>); })}
|
|
27
|
+
</TableBody>
|
|
28
|
+
</Table>);
|
|
16
29
|
expect(screen.getByText("Users Table")).toBeInTheDocument();
|
|
17
30
|
columns.forEach(function (col) {
|
|
18
31
|
expect(screen.getByText(col.header)).toBeInTheDocument();
|
|
@@ -24,11 +37,30 @@ describe("Table Component", function () {
|
|
|
24
37
|
});
|
|
25
38
|
});
|
|
26
39
|
it("renders table footer when provided", function () {
|
|
27
|
-
render(
|
|
40
|
+
render(<Table columns={columns}>
|
|
41
|
+
<TableFooter>
|
|
42
|
+
<TableRow>
|
|
43
|
+
<TableCell colSpan={3}>Footer Content</TableCell>
|
|
44
|
+
</TableRow>
|
|
45
|
+
</TableFooter>
|
|
46
|
+
</Table>);
|
|
28
47
|
expect(screen.getByText("Footer Content")).toBeInTheDocument();
|
|
29
48
|
});
|
|
30
49
|
it("renders correct number of rows and cells", function () {
|
|
31
|
-
render(
|
|
50
|
+
render(<Table columns={columns}>
|
|
51
|
+
<TableHeader>
|
|
52
|
+
<TableRow>
|
|
53
|
+
{columns.map(function (col) { return (<TableHead key={col.key}>{col.header}</TableHead>); })}
|
|
54
|
+
</TableRow>
|
|
55
|
+
</TableHeader>
|
|
56
|
+
<TableBody>
|
|
57
|
+
{data.map(function (row, idx) { return (<TableRow key={idx} data={row}>
|
|
58
|
+
{columns.map(function (col) { return (<TableCell key={col.key}>
|
|
59
|
+
{row[col.key]}
|
|
60
|
+
</TableCell>); })}
|
|
61
|
+
</TableRow>); })}
|
|
62
|
+
</TableBody>
|
|
63
|
+
</Table>);
|
|
32
64
|
// 1 header row + 2 data rows
|
|
33
65
|
expect(screen.getAllByRole("row")).toHaveLength(3);
|
|
34
66
|
// 3 header cells
|
|
@@ -37,15 +69,15 @@ describe("Table Component", function () {
|
|
|
37
69
|
expect(screen.getAllByRole("cell")).toHaveLength(6);
|
|
38
70
|
});
|
|
39
71
|
it("renders TableHead with children", function () {
|
|
40
|
-
render(
|
|
72
|
+
render(<TableHead>Header</TableHead>);
|
|
41
73
|
expect(screen.getByText("Header")).toBeInTheDocument();
|
|
42
74
|
});
|
|
43
75
|
it("renders TableCell with children", function () {
|
|
44
|
-
render(
|
|
76
|
+
render(<TableCell>Cell Content</TableCell>);
|
|
45
77
|
expect(screen.getByText("Cell Content")).toBeInTheDocument();
|
|
46
78
|
});
|
|
47
79
|
it("renders TableCaption with children", function () {
|
|
48
|
-
render(
|
|
80
|
+
render(<TableCaption>Caption Content</TableCaption>);
|
|
49
81
|
expect(screen.getByText("Caption Content")).toBeInTheDocument();
|
|
50
82
|
});
|
|
51
83
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs";
|
|
3
3
|
export default {
|
|
4
4
|
title: "Components/Tabs",
|
|
@@ -6,11 +6,18 @@ export default {
|
|
|
6
6
|
tags: ["autodocs"],
|
|
7
7
|
};
|
|
8
8
|
var Template = function (args) {
|
|
9
|
-
return
|
|
9
|
+
return <>{args.children}</>;
|
|
10
10
|
};
|
|
11
11
|
export var _Tabs = Template.bind({});
|
|
12
12
|
_Tabs.args = {
|
|
13
|
-
children: (
|
|
13
|
+
children: (<Tabs defaultValue="account">
|
|
14
|
+
<TabsList>
|
|
15
|
+
<TabsTrigger value="account">Account</TabsTrigger>
|
|
16
|
+
<TabsTrigger value="password">Password</TabsTrigger>
|
|
17
|
+
</TabsList>
|
|
18
|
+
<TabsContent value="account">Account Settings</TabsContent>
|
|
19
|
+
<TabsContent value="password">Change Password</TabsContent>
|
|
20
|
+
</Tabs>),
|
|
14
21
|
};
|
|
15
22
|
_Tabs.argTypes = {
|
|
16
23
|
children: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3
|
-
declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>):
|
|
4
|
-
declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>):
|
|
5
|
-
declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>):
|
|
6
|
-
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>):
|
|
3
|
+
declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): React.JSX.Element;
|
|
5
|
+
declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
+
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): React.JSX.Element;
|
|
7
7
|
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
import * as React from "react";
|
|
14
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
15
|
+
import { cn } from "../../lib/utils";
|
|
16
|
+
function Tabs(_a) {
|
|
17
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
18
|
+
return (<TabsPrimitive.Root data-slot="tabs" className={cn("flex flex-col gap-6", className)} {...props}/>);
|
|
19
|
+
}
|
|
20
|
+
function TabsList(_a) {
|
|
21
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
22
|
+
return (<TabsPrimitive.List data-slot="tabs-list" className={cn("bg-blue-100 !p-1 rounded-lg", className)} {...props}/>);
|
|
23
|
+
}
|
|
24
|
+
function TabsTrigger(_a) {
|
|
25
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
26
|
+
return (<TabsPrimitive.Trigger data-slot="tabs-trigger" className={cn("!py-2 !px-3 transition-all !rounded-sm !text-sm !font-normal !leading-5 w-1/2 max-sm:w-full", "data-[state=active]:bg-blue-600 data-[state=active]:text-blue-50", "data-[state=inactive]:bg-blue-100 data-[state=inactive]:text-blue-600", className)} {...props}/>);
|
|
27
|
+
}
|
|
28
|
+
function TabsContent(_a) {
|
|
29
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
30
|
+
return (<TabsPrimitive.Content data-slot="tabs-content" className={cn("flex-1 outline-none", className)} {...props}/>);
|
|
31
|
+
}
|
|
32
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TimePickerProps } from "./types";
|
|
2
|
-
export declare function TimePicker({ className, variant, size, color, shape, time, onChange, placeholder, disabled, startIcon, endIcon, shadow, triggerClassName, ...props }: TimePickerProps): import("react
|
|
2
|
+
export declare function TimePicker({ className, variant, size, color, shape, time, onChange, placeholder, disabled, startIcon, endIcon, shadow, triggerClassName, ...props }: TimePickerProps): import("react").JSX.Element;
|