@universal-tennis/ui-shared 0.1.86 → 0.1.88
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/.eslintignore +1 -1
- package/.eslintrc.js +73 -73
- package/.storybook/preview.js +17 -17
- package/.storybook/variables.css +16 -16
- package/README.md +129 -129
- package/dist/App.d.ts +2 -2
- package/dist/App.js +12 -12
- package/dist/components.d.ts +38 -38
- package/dist/components.js +43 -43
- package/dist/index.d.ts +1 -1
- package/dist/index.js +12 -12
- package/dist/items.d.ts +2 -2
- package/dist/items.js +1 -1
- package/dist/stories/assets/css/variables.css +15 -15
- package/dist/stories/assets/icon-chat-blue.svg +10 -10
- package/dist/stories/assets/utr-sports-logo.svg +9 -9
- package/dist/stories/atoms/Button/Button.d.ts +10 -10
- package/dist/stories/atoms/Button/Button.js +95 -95
- package/dist/stories/atoms/Button/Button.stories.d.ts +17 -17
- package/dist/stories/atoms/Button/Button.stories.js +45 -45
- package/dist/stories/atoms/Icons/AddIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AddIcon.js +8 -8
- package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.js +6 -6
- package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityNoIcon.js +6 -6
- package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.js +7 -7
- package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/AvailabilityYesIcon.js +6 -6
- package/dist/stories/atoms/Icons/CalendarIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/CalendarIcon.js +6 -6
- package/dist/stories/atoms/Icons/ClockIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/ClockIcon.js +8 -8
- package/dist/stories/atoms/Icons/CloseIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/CloseIcon.js +6 -6
- package/dist/stories/atoms/Icons/DeleteIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/DeleteIcon.js +10 -10
- package/dist/stories/atoms/Icons/DoublePersonIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/DoublePersonIcon.js +13 -13
- package/dist/stories/atoms/Icons/EditIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/EditIcon.js +6 -6
- package/dist/stories/atoms/Icons/Icons.stories.d.ts +33 -33
- package/dist/stories/atoms/Icons/Icons.stories.js +269 -269
- package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/LeftChevronIcon.js +6 -6
- package/dist/stories/atoms/Icons/LineIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/LineIcon.js +6 -6
- package/dist/stories/atoms/Icons/LocationIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/LocationIcon.js +7 -7
- package/dist/stories/atoms/Icons/MessageIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/MessageIcon.js +6 -6
- package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/RightChevronIcon.js +6 -6
- package/dist/stories/atoms/Icons/SessionIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SessionIcon.js +6 -6
- package/dist/stories/atoms/Icons/SinglePersonIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SinglePersonIcon.js +9 -9
- package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.js +10 -10
- package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.js +6 -6
- package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.js +10 -10
- package/dist/stories/atoms/Icons/SocialMediaXIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaXIcon.js +10 -10
- package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.js +6 -6
- package/dist/stories/atoms/Icons/SwapIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SwapIcon.js +6 -6
- package/dist/stories/atoms/Icons/SwapNoBorderIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/SwapNoBorderIcon.js +9 -9
- package/dist/stories/atoms/Icons/VerifiedIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/VerifiedIcon.js +7 -7
- package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/VisibilityIcon.js +7 -7
- package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/VisibilityOffIcon.js +8 -8
- package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +3 -3
- package/dist/stories/atoms/Icons/WinnerIndicatorIcon.js +31 -31
- package/dist/stories/atoms/Icons/sharedTypes.d.ts +11 -11
- package/dist/stories/atoms/Icons/sharedTypes.js +1 -1
- package/dist/stories/atoms/Map/Map.d.ts +7 -0
- package/dist/stories/atoms/Map/Map.js +9 -0
- package/dist/stories/atoms/Map/Map.js.map +1 -0
- package/dist/stories/atoms/Map/Map.stories.d.ts +9 -0
- package/dist/stories/atoms/Map/Map.stories.js +36 -0
- package/dist/stories/atoms/Map/Map.stories.js.map +1 -0
- package/dist/stories/atoms/Typography/Typography.d.ts +49 -49
- package/dist/stories/atoms/Typography/Typography.js +143 -143
- package/dist/stories/atoms/Typography/Typography.stories.d.ts +37 -37
- package/dist/stories/atoms/Typography/Typography.stories.js +190 -190
- package/dist/stories/atoms/UTMap/UTMap.d.ts +7 -7
- package/dist/stories/atoms/UTMap/UTMap.js +8 -8
- package/dist/stories/atoms/UTMap/UTMap.stories.d.ts +9 -9
- package/dist/stories/atoms/UTMap/UTMap.stories.js +35 -35
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +27 -27
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.js +20 -20
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.d.ts +15 -15
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.js +72 -72
- package/dist/stories/molecules/Cards/Cards.stories.d.ts +7 -7
- package/dist/stories/molecules/Cards/Cards.stories.js +64 -64
- package/dist/stories/molecules/Cards/ContactCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/ContactCard.js +38 -38
- package/dist/stories/molecules/Cards/DrawCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/DrawCard.js +116 -116
- package/dist/stories/molecules/Cards/Modals.stories.d.ts +5 -5
- package/dist/stories/molecules/Cards/Modals.stories.js +72 -72
- package/dist/stories/molecules/Cards/TeamCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/TeamCard.js +20 -20
- package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +3 -3
- package/dist/stories/molecules/Cards/TeamDrawCard.js +78 -78
- package/dist/stories/molecules/Cards/TeamDrawCard.js.map +1 -1
- package/dist/stories/molecules/Cards/shared.d.ts +4 -9
- package/dist/stories/molecules/Cards/shared.js +12 -12
- package/dist/stories/molecules/Cards/sharedTypes.d.ts +61 -60
- package/dist/stories/molecules/Cards/sharedTypes.js +2 -2
- package/dist/stories/molecules/FooterSection/FooterSection.d.ts +4 -4
- package/dist/stories/molecules/FooterSection/FooterSection.js +11 -11
- package/dist/stories/molecules/FooterSection/FooterSection.stories.d.ts +5 -5
- package/dist/stories/molecules/FooterSection/FooterSection.stories.js +20 -20
- package/dist/stories/molecules/FooterSection/sharedTypes.d.ts +5 -5
- package/dist/stories/molecules/FooterSection/sharedTypes.js +1 -1
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +29 -29
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js +32 -29
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js.map +1 -1
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.d.ts +16 -16
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.js +81 -81
- package/dist/stories/organisms/Footer/Footer.d.ts +4 -4
- package/dist/stories/organisms/Footer/Footer.js +61 -61
- package/dist/stories/organisms/Footer/Footer.stories.d.ts +5 -5
- package/dist/stories/organisms/Footer/Footer.stories.js +58 -58
- package/dist/stories/organisms/Footer/sharedTypes.d.ts +14 -14
- package/dist/stories/organisms/Footer/sharedTypes.js +1 -1
- package/dist/stories/organisms/Modals/FullPageModal.d.ts +4 -4
- package/dist/stories/organisms/Modals/FullPageModal.js +59 -59
- package/dist/stories/organisms/Modals/Modals.stories.d.ts +5 -5
- package/dist/stories/organisms/Modals/Modals.stories.js +73 -73
- package/dist/stories/organisms/Modals/sharedTypes.d.ts +14 -14
- package/dist/stories/organisms/Modals/sharedTypes.js +1 -1
- package/dist/stories/organisms/Tables/DrawCardTable.d.ts +3 -3
- package/dist/stories/organisms/Tables/DrawCardTable.js +58 -58
- package/dist/stories/organisms/Tables/SortableTable.d.ts +23 -23
- package/dist/stories/organisms/Tables/SortableTable.js +34 -34
- package/dist/stories/organisms/Tables/Tables.stories.d.ts +8 -8
- package/dist/stories/organisms/Tables/Tables.stories.js +90 -90
- package/dist/stories/organisms/Tables/Tables.stories.js.map +1 -1
- package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +3 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.js +66 -66
- package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +3 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.js +43 -43
- package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +3 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.js +22 -22
- package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +3 -0
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js +126 -0
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +1 -0
- package/dist/stories/organisms/Tables/mockData.d.ts +71 -70
- package/dist/stories/organisms/Tables/mockData.js +99 -98
- package/dist/stories/organisms/Tables/mockData.js.map +1 -1
- package/dist/stories/organisms/Tables/sharedTypes.d.ts +15 -15
- package/dist/stories/organisms/Tables/sharedTypes.js +1 -1
- package/dist/stories/utils/constants.d.ts +10 -10
- package/dist/stories/utils/constants.js +10 -10
- package/dist/stories/utils/getArrayWithIds.d.ts +3 -3
- package/dist/stories/utils/getArrayWithIds.js +1 -1
- package/dist/stories/utils/useScreenSize.d.ts +4 -4
- package/dist/stories/utils/useScreenSize.js +27 -27
- package/dist/types/tableDataTypes.d.ts +38 -38
- package/dist/types/tableDataTypes.js +1 -1
- package/infrastructure/azure-pipelines.yml +112 -112
- package/package.json +100 -100
- package/src/App.js +25 -25
- package/src/components.jsx +47 -47
- package/src/custom.d.ts +13 -13
- package/src/index.js +17 -17
- package/src/items.jsx +1 -1
- package/src/stories/assets/css/variables.css +15 -15
- package/src/stories/assets/icon-chat-blue.svg +10 -10
- package/src/stories/assets/icons/icon-add.svg +7 -7
- package/src/stories/assets/icons/icon-availability-maybe.svg +3 -3
- package/src/stories/assets/icons/icon-availability-no.svg +3 -3
- package/src/stories/assets/icons/icon-availability-not-set.svg +8 -8
- package/src/stories/assets/icons/icon-availability-yes.svg +3 -3
- package/src/stories/assets/icons/icon-calendar.svg +4 -4
- package/src/stories/assets/icons/icon-clock.svg +7 -7
- package/src/stories/assets/icons/icon-close.svg +3 -3
- package/src/stories/assets/icons/icon-delete.svg +9 -9
- package/src/stories/assets/icons/icon-edit.svg +3 -3
- package/src/stories/assets/icons/icon-location.svg +6 -6
- package/src/stories/assets/icons/icon-message.svg +3 -3
- package/src/stories/assets/icons/icon-session.svg +3 -3
- package/src/stories/assets/icons/icon-social-media-facebook.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-instagram.svg +3 -3
- package/src/stories/assets/icons/icon-social-media-tiktok.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-x.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-youtube.svg +3 -3
- package/src/stories/assets/icons/icon-swap.svg +3 -3
- package/src/stories/assets/icons/icon-visibility-off.svg +7 -7
- package/src/stories/assets/icons/icon-visibility.svg +6 -6
- package/src/stories/assets/utr-sports-logo.svg +9 -9
- package/src/stories/atoms/Button/Button.stories.tsx +63 -63
- package/src/stories/atoms/Button/Button.tsx +145 -145
- package/src/stories/atoms/Icons/AddIcon.tsx +13 -13
- package/src/stories/atoms/Icons/AvailabilityMaybeIcon.tsx +11 -11
- package/src/stories/atoms/Icons/AvailabilityNoIcon.tsx +11 -11
- package/src/stories/atoms/Icons/AvailabilityNotSetIcon.tsx +12 -12
- package/src/stories/atoms/Icons/AvailabilityYesIcon.tsx +11 -11
- package/src/stories/atoms/Icons/CalendarIcon.tsx +11 -11
- package/src/stories/atoms/Icons/ClockIcon.tsx +14 -14
- package/src/stories/atoms/Icons/CloseIcon.tsx +11 -11
- package/src/stories/atoms/Icons/DeleteIcon.tsx +15 -15
- package/src/stories/atoms/Icons/DoublePersonIcon.tsx +20 -20
- package/src/stories/atoms/Icons/EditIcon.tsx +11 -11
- package/src/stories/atoms/Icons/Icons.stories.tsx +330 -330
- package/src/stories/atoms/Icons/LeftChevronIcon.tsx +13 -13
- package/src/stories/atoms/Icons/LineIcon.tsx +12 -12
- package/src/stories/atoms/Icons/LocationIcon.tsx +12 -12
- package/src/stories/atoms/Icons/MessageIcon.tsx +12 -12
- package/src/stories/atoms/Icons/RightChevronIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SessionIcon.tsx +16 -16
- package/src/stories/atoms/Icons/SinglePersonIcon.tsx +16 -16
- package/src/stories/atoms/Icons/SocialMediaFacebookIcon.tsx +19 -19
- package/src/stories/atoms/Icons/SocialMediaInstagramIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SocialMediaTikTokIcon.tsx +18 -18
- package/src/stories/atoms/Icons/SocialMediaXIcon.tsx +18 -18
- package/src/stories/atoms/Icons/SocialMediaYoutubeIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SwapIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SwapNoBorderIcon.tsx +14 -14
- package/src/stories/atoms/Icons/VerifiedIcon.tsx +13 -13
- package/src/stories/atoms/Icons/VisibilityIcon.tsx +12 -12
- package/src/stories/atoms/Icons/VisibilityOffIcon.tsx +13 -13
- package/src/stories/atoms/Icons/WinnerIndicatorIcon.tsx +39 -39
- package/src/stories/atoms/Icons/sharedTypes.tsx +12 -12
- package/src/stories/atoms/Typography/Typography.tsx +185 -185
- package/src/stories/atoms/UTMap/UTMap.stories.tsx +43 -43
- package/src/stories/atoms/UTMap/UTMap.tsx +25 -25
- package/src/stories/molecules/AvatarWithName/AvatarWithName.stories.tsx +86 -86
- package/src/stories/molecules/AvatarWithName/AvatarWithName.tsx +68 -68
- package/src/stories/molecules/Cards/Cards.stories.tsx +76 -76
- package/src/stories/molecules/Cards/ContactCard.tsx +45 -45
- package/src/stories/molecules/Cards/DrawCard.tsx +211 -211
- package/src/stories/molecules/Cards/Modals.stories.tsx +137 -137
- package/src/stories/molecules/Cards/TeamCard.tsx +14 -14
- package/src/stories/molecules/Cards/TeamDrawCard.tsx +159 -158
- package/src/stories/molecules/Cards/sharedTypes.ts +69 -68
- package/src/stories/molecules/FooterSection/FooterSection.stories.tsx +25 -25
- package/src/stories/molecules/FooterSection/FooterSection.tsx +34 -34
- package/src/stories/molecules/FooterSection/sharedTypes.ts +6 -6
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +96 -96
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +111 -99
- package/src/stories/organisms/Footer/Footer.stories.tsx +63 -63
- package/src/stories/organisms/Footer/Footer.tsx +118 -118
- package/src/stories/organisms/Footer/sharedTypes.ts +14 -14
- package/src/stories/organisms/Modals/FullPageModal.tsx +93 -93
- package/src/stories/organisms/Modals/Modals.stories.tsx +138 -138
- package/src/stories/organisms/Modals/sharedTypes.ts +15 -15
- package/src/stories/organisms/Tables/DrawCardTable.tsx +92 -92
- package/src/stories/organisms/Tables/SortableTable.tsx +119 -119
- package/src/stories/organisms/Tables/Tables.stories.tsx +104 -104
- package/src/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.tsx +120 -120
- package/src/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.tsx +67 -67
- package/src/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.tsx +24 -24
- package/src/stories/organisms/Tables/mockData.tsx +131 -130
- package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
- package/src/stories/utils/constants.ts +11 -11
- package/src/stories/utils/getArrayWithIds.ts +1 -1
- package/src/stories/utils/useScreenSize.ts +28 -28
- package/src/types/tableDataTypes.ts +42 -42
- package/tsconfig.json +23 -23
- package/dist/stories/Button.d.ts +0 -27
- package/dist/stories/Button.js +0 -51
- package/dist/stories/Button.js.map +0 -1
- package/dist/stories/Button.stories.d.ts +0 -15
- package/dist/stories/Button.stories.js +0 -34
- package/dist/stories/Button.stories.js.map +0 -1
- package/dist/stories/Header.d.ts +0 -19
- package/dist/stories/Header.js +0 -31
- package/dist/stories/Header.js.map +0 -1
- package/dist/stories/Header.stories.d.ts +0 -11
- package/dist/stories/Header.stories.js +0 -20
- package/dist/stories/Header.stories.js.map +0 -1
- package/dist/stories/Page.d.ts +0 -1
- package/dist/stories/Page.js +0 -38
- package/dist/stories/Page.js.map +0 -1
- package/dist/stories/Page.stories.d.ts +0 -11
- package/dist/stories/Page.stories.js +0 -30
- package/dist/stories/Page.stories.js.map +0 -1
- package/dist/stories/assets/comments.svg +0 -1
- package/dist/stories/assets/direction.svg +0 -1
- package/dist/stories/atoms/Button/index.d.ts +0 -1
- package/dist/stories/atoms/Button/index.js +0 -2
- package/dist/stories/atoms/Button/index.js.map +0 -1
- package/dist/stories/atoms/Button.d.ts +0 -7
- package/dist/stories/atoms/Button.js +0 -20
- package/dist/stories/atoms/Button.js.map +0 -1
- package/dist/stories/atoms/Button.stories.d.ts +0 -13
- package/dist/stories/atoms/Button.stories.js +0 -22
- package/dist/stories/atoms/Button.stories.js.map +0 -1
- package/dist/stories/atoms/Typography/index.d.ts +0 -1
- package/dist/stories/atoms/Typography/index.js +0 -2
- package/dist/stories/atoms/Typography/index.js.map +0 -1
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Box from '@mui/material/Box';
|
|
3
|
-
import { styled } from '@mui/material/styles';
|
|
4
|
-
import Grid from '@mui/material/Grid';
|
|
5
|
-
import Typography from '../../atoms/Typography/Typography';
|
|
6
|
-
import { DrawCardTableProps } from './sharedTypes';
|
|
7
|
-
|
|
8
|
-
const StyledHeader = styled(Grid)({
|
|
9
|
-
alignItems: 'center',
|
|
10
|
-
justifyContent: 'center',
|
|
11
|
-
display: 'flex',
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
const GridSections = styled(Box)({
|
|
15
|
-
display: 'flex',
|
|
16
|
-
alignItems: 'center',
|
|
17
|
-
padding: '8px'
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
const TableMobileSection = styled(Grid)`
|
|
21
|
-
flex-direction: column;
|
|
22
|
-
`;
|
|
23
|
-
|
|
24
|
-
export default function DrawCardTable({
|
|
25
|
-
headerRows,
|
|
26
|
-
tableRows,
|
|
27
|
-
isMobile,
|
|
28
|
-
...props
|
|
29
|
-
}: DrawCardTableProps) {
|
|
30
|
-
if (!headerRows || !tableRows) return null;
|
|
31
|
-
const totalColumns = Math.floor(12 / headerRows.length);
|
|
32
|
-
|
|
33
|
-
const formatTableRows = tableRows.map((row, index) => {
|
|
34
|
-
if (index > 2) return; // Table can only support 3 columns
|
|
35
|
-
const rowSectionsHeight = `${100 / tableRows[index].length}%`;
|
|
36
|
-
const sectionAmount = tableRows[index].length;
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<Grid key={index} xs={totalColumns}>
|
|
40
|
-
{[...Array(sectionAmount)].map((section, idx) => (
|
|
41
|
-
<GridSections key={idx} sx={{ height: rowSectionsHeight }}>
|
|
42
|
-
{row[idx]}
|
|
43
|
-
</GridSections>
|
|
44
|
-
))}
|
|
45
|
-
</Grid>
|
|
46
|
-
);
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
const formatMobileRows = tableRows.map((row, index) => {
|
|
50
|
-
if (index > 2) return; // Table can only support 3 columns
|
|
51
|
-
|
|
52
|
-
const headerRow = headerRows[index];
|
|
53
|
-
const sectionAmount = tableRows[index].length;
|
|
54
|
-
return (
|
|
55
|
-
<>
|
|
56
|
-
<Grid container sx={{ height: '60px', justifyContent: 'center' }}>
|
|
57
|
-
<StyledHeader>
|
|
58
|
-
<Typography category="secondary" size="small-medium-cap">{headerRow.name}</Typography>
|
|
59
|
-
</StyledHeader>
|
|
60
|
-
</Grid>
|
|
61
|
-
<TableMobileSection container>
|
|
62
|
-
{[...Array(sectionAmount)].map((section, idx) => (
|
|
63
|
-
<GridSections key={idx}>
|
|
64
|
-
{row[idx]}
|
|
65
|
-
</GridSections>
|
|
66
|
-
))}
|
|
67
|
-
</TableMobileSection>
|
|
68
|
-
</>
|
|
69
|
-
);
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
const formatDesktopRows = (
|
|
73
|
-
<>
|
|
74
|
-
<Grid container sx={{ height: '60px' }}>
|
|
75
|
-
{headerRows.map((row) => (
|
|
76
|
-
<StyledHeader key={row.name} xs={totalColumns}>
|
|
77
|
-
<Typography category="secondary" size="small-medium-cap">{row.name}</Typography>
|
|
78
|
-
</StyledHeader>
|
|
79
|
-
))}
|
|
80
|
-
</Grid>
|
|
81
|
-
<Grid container>
|
|
82
|
-
{formatTableRows}
|
|
83
|
-
</Grid>
|
|
84
|
-
</>
|
|
85
|
-
);
|
|
86
|
-
|
|
87
|
-
return (
|
|
88
|
-
<Box {...props} sx={{ flexGrow: 1 }} aria-label="draw table">
|
|
89
|
-
{isMobile ? formatMobileRows : formatDesktopRows}
|
|
90
|
-
</Box>
|
|
91
|
-
);
|
|
92
|
-
}
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Box from '@mui/material/Box';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
|
+
import Grid from '@mui/material/Grid';
|
|
5
|
+
import Typography from '../../atoms/Typography/Typography';
|
|
6
|
+
import { DrawCardTableProps } from './sharedTypes';
|
|
7
|
+
|
|
8
|
+
const StyledHeader = styled(Grid)({
|
|
9
|
+
alignItems: 'center',
|
|
10
|
+
justifyContent: 'center',
|
|
11
|
+
display: 'flex',
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const GridSections = styled(Box)({
|
|
15
|
+
display: 'flex',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
padding: '8px'
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const TableMobileSection = styled(Grid)`
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
export default function DrawCardTable({
|
|
25
|
+
headerRows,
|
|
26
|
+
tableRows,
|
|
27
|
+
isMobile,
|
|
28
|
+
...props
|
|
29
|
+
}: DrawCardTableProps) {
|
|
30
|
+
if (!headerRows || !tableRows) return null;
|
|
31
|
+
const totalColumns = Math.floor(12 / headerRows.length);
|
|
32
|
+
|
|
33
|
+
const formatTableRows = tableRows.map((row, index) => {
|
|
34
|
+
if (index > 2) return; // Table can only support 3 columns
|
|
35
|
+
const rowSectionsHeight = `${100 / tableRows[index].length}%`;
|
|
36
|
+
const sectionAmount = tableRows[index].length;
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<Grid key={index} xs={totalColumns}>
|
|
40
|
+
{[...Array(sectionAmount)].map((section, idx) => (
|
|
41
|
+
<GridSections key={idx} sx={{ height: rowSectionsHeight }}>
|
|
42
|
+
{row[idx]}
|
|
43
|
+
</GridSections>
|
|
44
|
+
))}
|
|
45
|
+
</Grid>
|
|
46
|
+
);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const formatMobileRows = tableRows.map((row, index) => {
|
|
50
|
+
if (index > 2) return; // Table can only support 3 columns
|
|
51
|
+
|
|
52
|
+
const headerRow = headerRows[index];
|
|
53
|
+
const sectionAmount = tableRows[index].length;
|
|
54
|
+
return (
|
|
55
|
+
<>
|
|
56
|
+
<Grid container sx={{ height: '60px', justifyContent: 'center' }}>
|
|
57
|
+
<StyledHeader>
|
|
58
|
+
<Typography category="secondary" size="small-medium-cap">{headerRow.name}</Typography>
|
|
59
|
+
</StyledHeader>
|
|
60
|
+
</Grid>
|
|
61
|
+
<TableMobileSection container>
|
|
62
|
+
{[...Array(sectionAmount)].map((section, idx) => (
|
|
63
|
+
<GridSections key={idx}>
|
|
64
|
+
{row[idx]}
|
|
65
|
+
</GridSections>
|
|
66
|
+
))}
|
|
67
|
+
</TableMobileSection>
|
|
68
|
+
</>
|
|
69
|
+
);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
const formatDesktopRows = (
|
|
73
|
+
<>
|
|
74
|
+
<Grid container sx={{ height: '60px' }}>
|
|
75
|
+
{headerRows.map((row) => (
|
|
76
|
+
<StyledHeader key={row.name} xs={totalColumns}>
|
|
77
|
+
<Typography category="secondary" size="small-medium-cap">{row.name}</Typography>
|
|
78
|
+
</StyledHeader>
|
|
79
|
+
))}
|
|
80
|
+
</Grid>
|
|
81
|
+
<Grid container>
|
|
82
|
+
{formatTableRows}
|
|
83
|
+
</Grid>
|
|
84
|
+
</>
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
return (
|
|
88
|
+
<Box {...props} sx={{ flexGrow: 1 }} aria-label="draw table">
|
|
89
|
+
{isMobile ? formatMobileRows : formatDesktopRows}
|
|
90
|
+
</Box>
|
|
91
|
+
);
|
|
92
|
+
}
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
import React, { ComponentType, SyntheticEvent } from "react";
|
|
2
|
-
|
|
3
|
-
import ArrowDropDown from '@mui/icons-material/ArrowDropDown';
|
|
4
|
-
import Table from "@mui/material/Table";
|
|
5
|
-
import TableBody from "@mui/material/TableBody";
|
|
6
|
-
import TableCell from "@mui/material/TableCell";
|
|
7
|
-
import TableContainer from "@mui/material/TableContainer";
|
|
8
|
-
import TableHead from "@mui/material/TableHead";
|
|
9
|
-
import MuiTableRow from "@mui/material/TableRow";
|
|
10
|
-
import TableSortLabel from "@mui/material/TableSortLabel";
|
|
11
|
-
import Toolbar from "@mui/material/Toolbar";
|
|
12
|
-
|
|
13
|
-
import { TableData } from "types/tableDataTypes";
|
|
14
|
-
import Typography from '../../atoms/Typography/Typography';
|
|
15
|
-
|
|
16
|
-
type Order = 'asc' | 'desc';
|
|
17
|
-
type OrderProperty = string | number;
|
|
18
|
-
|
|
19
|
-
interface HeadCell {
|
|
20
|
-
id: string;
|
|
21
|
-
label?: string;
|
|
22
|
-
isSortingDisabled: boolean
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export type SortableTableProps = {
|
|
26
|
-
headCells: Array<HeadCell>;
|
|
27
|
-
tableData: Array<TableData>;
|
|
28
|
-
sortOrder: Order;
|
|
29
|
-
sortByProperty: OrderProperty;
|
|
30
|
-
rowComponent: ComponentType<{rowData: TableData, labelId: string}>;
|
|
31
|
-
title?: string;
|
|
32
|
-
onOrderPropertyChange?: (property: OrderProperty) => VoidFunction
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function SortableTable({
|
|
36
|
-
headCells,
|
|
37
|
-
tableData,
|
|
38
|
-
rowComponent,
|
|
39
|
-
sortOrder,
|
|
40
|
-
sortByProperty,
|
|
41
|
-
title = '',
|
|
42
|
-
onOrderPropertyChange,
|
|
43
|
-
}: SortableTableProps) {
|
|
44
|
-
const TableRow = rowComponent;
|
|
45
|
-
|
|
46
|
-
const handleRequestSort = (property: OrderProperty) => (event: SyntheticEvent) => {
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
if (onOrderPropertyChange) {
|
|
49
|
-
onOrderPropertyChange(property);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
return (
|
|
54
|
-
<>
|
|
55
|
-
{title && (
|
|
56
|
-
<Toolbar sx={{ pl: { sm: 2 }, pr: { xs: 1, sm: 1 } }}>
|
|
57
|
-
<Typography
|
|
58
|
-
category="secondary"
|
|
59
|
-
size="large-medium"
|
|
60
|
-
id="tableTitle"
|
|
61
|
-
>
|
|
62
|
-
{title}
|
|
63
|
-
</Typography>
|
|
64
|
-
</Toolbar>
|
|
65
|
-
)}
|
|
66
|
-
<TableContainer>
|
|
67
|
-
<Table
|
|
68
|
-
sx={{ minWidth: 750, borderCollapse: 'separate', borderSpacing: '0px 4px' }}
|
|
69
|
-
aria-labelledby="tableTitle"
|
|
70
|
-
size="medium"
|
|
71
|
-
>
|
|
72
|
-
<TableHead>
|
|
73
|
-
<MuiTableRow>
|
|
74
|
-
{headCells.map((headCell) => (
|
|
75
|
-
<TableCell
|
|
76
|
-
key={headCell.id}
|
|
77
|
-
align="left"
|
|
78
|
-
padding="normal"
|
|
79
|
-
sortDirection={sortByProperty === headCell.id ? sortOrder : false}
|
|
80
|
-
sx={{ borderBottom: 'none', whiteSpace: 'noWrap' }}
|
|
81
|
-
>
|
|
82
|
-
<TableSortLabel
|
|
83
|
-
IconComponent={ArrowDropDown}
|
|
84
|
-
disabled={headCell.isSortingDisabled}
|
|
85
|
-
hideSortIcon={!headCell?.label}
|
|
86
|
-
active={sortByProperty === headCell.id}
|
|
87
|
-
direction={sortByProperty === headCell.id ? sortOrder : 'asc'}
|
|
88
|
-
onClick={handleRequestSort(headCell.id)}
|
|
89
|
-
>
|
|
90
|
-
<Typography
|
|
91
|
-
category="secondary"
|
|
92
|
-
size="x-small-medium-cap"
|
|
93
|
-
>
|
|
94
|
-
{headCell?.label}
|
|
95
|
-
</Typography>
|
|
96
|
-
</TableSortLabel>
|
|
97
|
-
</TableCell>
|
|
98
|
-
))}
|
|
99
|
-
</MuiTableRow>
|
|
100
|
-
</TableHead>
|
|
101
|
-
<TableBody>
|
|
102
|
-
{tableData && tableData.map((data: TableData, index: number) => {
|
|
103
|
-
const labelId = `table-${index}`;
|
|
104
|
-
return (
|
|
105
|
-
<TableRow
|
|
106
|
-
key={data.id}
|
|
107
|
-
rowData={data}
|
|
108
|
-
labelId={labelId}
|
|
109
|
-
/>
|
|
110
|
-
);
|
|
111
|
-
})}
|
|
112
|
-
</TableBody>
|
|
113
|
-
</Table>
|
|
114
|
-
</TableContainer>
|
|
115
|
-
</>
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export default SortableTable;
|
|
1
|
+
import React, { ComponentType, SyntheticEvent } from "react";
|
|
2
|
+
|
|
3
|
+
import ArrowDropDown from '@mui/icons-material/ArrowDropDown';
|
|
4
|
+
import Table from "@mui/material/Table";
|
|
5
|
+
import TableBody from "@mui/material/TableBody";
|
|
6
|
+
import TableCell from "@mui/material/TableCell";
|
|
7
|
+
import TableContainer from "@mui/material/TableContainer";
|
|
8
|
+
import TableHead from "@mui/material/TableHead";
|
|
9
|
+
import MuiTableRow from "@mui/material/TableRow";
|
|
10
|
+
import TableSortLabel from "@mui/material/TableSortLabel";
|
|
11
|
+
import Toolbar from "@mui/material/Toolbar";
|
|
12
|
+
|
|
13
|
+
import { TableData } from "types/tableDataTypes";
|
|
14
|
+
import Typography from '../../atoms/Typography/Typography';
|
|
15
|
+
|
|
16
|
+
type Order = 'asc' | 'desc';
|
|
17
|
+
type OrderProperty = string | number;
|
|
18
|
+
|
|
19
|
+
interface HeadCell {
|
|
20
|
+
id: string;
|
|
21
|
+
label?: string;
|
|
22
|
+
isSortingDisabled: boolean
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type SortableTableProps = {
|
|
26
|
+
headCells: Array<HeadCell>;
|
|
27
|
+
tableData: Array<TableData>;
|
|
28
|
+
sortOrder: Order;
|
|
29
|
+
sortByProperty: OrderProperty;
|
|
30
|
+
rowComponent: ComponentType<{rowData: TableData, labelId: string}>;
|
|
31
|
+
title?: string;
|
|
32
|
+
onOrderPropertyChange?: (property: OrderProperty) => VoidFunction
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function SortableTable({
|
|
36
|
+
headCells,
|
|
37
|
+
tableData,
|
|
38
|
+
rowComponent,
|
|
39
|
+
sortOrder,
|
|
40
|
+
sortByProperty,
|
|
41
|
+
title = '',
|
|
42
|
+
onOrderPropertyChange,
|
|
43
|
+
}: SortableTableProps) {
|
|
44
|
+
const TableRow = rowComponent;
|
|
45
|
+
|
|
46
|
+
const handleRequestSort = (property: OrderProperty) => (event: SyntheticEvent) => {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
if (onOrderPropertyChange) {
|
|
49
|
+
onOrderPropertyChange(property);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<>
|
|
55
|
+
{title && (
|
|
56
|
+
<Toolbar sx={{ pl: { sm: 2 }, pr: { xs: 1, sm: 1 } }}>
|
|
57
|
+
<Typography
|
|
58
|
+
category="secondary"
|
|
59
|
+
size="large-medium"
|
|
60
|
+
id="tableTitle"
|
|
61
|
+
>
|
|
62
|
+
{title}
|
|
63
|
+
</Typography>
|
|
64
|
+
</Toolbar>
|
|
65
|
+
)}
|
|
66
|
+
<TableContainer>
|
|
67
|
+
<Table
|
|
68
|
+
sx={{ minWidth: 750, borderCollapse: 'separate', borderSpacing: '0px 4px' }}
|
|
69
|
+
aria-labelledby="tableTitle"
|
|
70
|
+
size="medium"
|
|
71
|
+
>
|
|
72
|
+
<TableHead>
|
|
73
|
+
<MuiTableRow>
|
|
74
|
+
{headCells.map((headCell) => (
|
|
75
|
+
<TableCell
|
|
76
|
+
key={headCell.id}
|
|
77
|
+
align="left"
|
|
78
|
+
padding="normal"
|
|
79
|
+
sortDirection={sortByProperty === headCell.id ? sortOrder : false}
|
|
80
|
+
sx={{ borderBottom: 'none', whiteSpace: 'noWrap' }}
|
|
81
|
+
>
|
|
82
|
+
<TableSortLabel
|
|
83
|
+
IconComponent={ArrowDropDown}
|
|
84
|
+
disabled={headCell.isSortingDisabled}
|
|
85
|
+
hideSortIcon={!headCell?.label}
|
|
86
|
+
active={sortByProperty === headCell.id}
|
|
87
|
+
direction={sortByProperty === headCell.id ? sortOrder : 'asc'}
|
|
88
|
+
onClick={handleRequestSort(headCell.id)}
|
|
89
|
+
>
|
|
90
|
+
<Typography
|
|
91
|
+
category="secondary"
|
|
92
|
+
size="x-small-medium-cap"
|
|
93
|
+
>
|
|
94
|
+
{headCell?.label}
|
|
95
|
+
</Typography>
|
|
96
|
+
</TableSortLabel>
|
|
97
|
+
</TableCell>
|
|
98
|
+
))}
|
|
99
|
+
</MuiTableRow>
|
|
100
|
+
</TableHead>
|
|
101
|
+
<TableBody>
|
|
102
|
+
{tableData && tableData.map((data: TableData, index: number) => {
|
|
103
|
+
const labelId = `table-${index}`;
|
|
104
|
+
return (
|
|
105
|
+
<TableRow
|
|
106
|
+
key={data.id}
|
|
107
|
+
rowData={data}
|
|
108
|
+
labelId={labelId}
|
|
109
|
+
/>
|
|
110
|
+
);
|
|
111
|
+
})}
|
|
112
|
+
</TableBody>
|
|
113
|
+
</Table>
|
|
114
|
+
</TableContainer>
|
|
115
|
+
</>
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export default SortableTable;
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import TeamDrawCard from '../../molecules/Cards/TeamDrawCard';
|
|
3
|
-
import DrawCard from '../../molecules/Cards/DrawCard';
|
|
4
|
-
import DrawCardTable from './DrawCardTable';
|
|
5
|
-
import TeamDrawCardTable from './TeamDrawCardTable/TeamDrawCardTable';
|
|
6
|
-
import { DrawCardTableProps } from './sharedTypes';
|
|
7
|
-
import {
|
|
8
|
-
MOCK_HEAD_CELLS, mockRowComponent, MOCK_TABLE_DATA, SAMPLE_CARD_DATA, SAMPLE_TEAM_PAGE_CARD_DATA
|
|
9
|
-
} from './mockData';
|
|
10
|
-
|
|
11
|
-
const onOrderPropertyChange = () => {};
|
|
12
|
-
|
|
13
|
-
// Default
|
|
14
|
-
export default {
|
|
15
|
-
title: 'Organisms/Tables',
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
// Templates
|
|
19
|
-
function DrawCardTableTemplate(args: DrawCardTableProps) {
|
|
20
|
-
return <DrawCardTable {...args} />;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function TeamDrawCardTableTemplate(args: DrawCardTableProps) {
|
|
24
|
-
return <TeamDrawCardTable {...args} />;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const headerRows = [
|
|
28
|
-
{ name: 'Round 1' },
|
|
29
|
-
{ name: 'Quarterfinal' },
|
|
30
|
-
{ name: 'SemiFinal' },
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
const tableRows = [
|
|
34
|
-
[
|
|
35
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
36
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} locationLabel="hi" />,
|
|
37
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
38
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} locationLabel="hi" />,
|
|
39
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
40
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
41
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} locationLabel="hi" />,
|
|
42
|
-
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
43
|
-
],
|
|
44
|
-
[
|
|
45
|
-
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} onViewClick={() => {}} />,
|
|
46
|
-
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
47
|
-
<DrawCard isScorelessMatch emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
48
|
-
<DrawCard isScorelessMatch emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
49
|
-
],
|
|
50
|
-
[
|
|
51
|
-
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
52
|
-
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
53
|
-
],
|
|
54
|
-
[
|
|
55
|
-
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
56
|
-
],
|
|
57
|
-
];
|
|
58
|
-
|
|
59
|
-
const teamTableRows = [
|
|
60
|
-
[
|
|
61
|
-
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
62
|
-
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
63
|
-
<TeamDrawCard isScorelessMatch {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
64
|
-
<TeamDrawCard isScorelessMatch {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
65
|
-
],
|
|
66
|
-
[
|
|
67
|
-
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
68
|
-
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
69
|
-
],
|
|
70
|
-
[
|
|
71
|
-
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
72
|
-
],
|
|
73
|
-
];
|
|
74
|
-
|
|
75
|
-
// Stories
|
|
76
|
-
export const DrawTable = DrawCardTableTemplate.bind({});
|
|
77
|
-
DrawTable.args = {
|
|
78
|
-
headerRows,
|
|
79
|
-
tableRows,
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export const TeamDrawTable = TeamDrawCardTableTemplate.bind({});
|
|
83
|
-
TeamDrawTable.args = {
|
|
84
|
-
headerRows,
|
|
85
|
-
tableRows: teamTableRows,
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
export const MobileTeamDrawTable = TeamDrawCardTableTemplate.bind({});
|
|
89
|
-
MobileTeamDrawTable.args = {
|
|
90
|
-
headerRows,
|
|
91
|
-
tableRows: teamTableRows,
|
|
92
|
-
isMobile: true
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export const SortableTable = DrawCardTableTemplate.bind({});
|
|
96
|
-
SortableTable.args = {
|
|
97
|
-
headCells: MOCK_HEAD_CELLS,
|
|
98
|
-
sortOrder: 'asc',
|
|
99
|
-
sortByProperty: 'player',
|
|
100
|
-
title: 'Player Table',
|
|
101
|
-
tableData: MOCK_TABLE_DATA,
|
|
102
|
-
rowComponent: mockRowComponent,
|
|
103
|
-
onOrderPropertyChange,
|
|
104
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import TeamDrawCard from '../../molecules/Cards/TeamDrawCard';
|
|
3
|
+
import DrawCard from '../../molecules/Cards/DrawCard';
|
|
4
|
+
import DrawCardTable from './DrawCardTable';
|
|
5
|
+
import TeamDrawCardTable from './TeamDrawCardTable/TeamDrawCardTable';
|
|
6
|
+
import { DrawCardTableProps } from './sharedTypes';
|
|
7
|
+
import {
|
|
8
|
+
MOCK_HEAD_CELLS, mockRowComponent, MOCK_TABLE_DATA, SAMPLE_CARD_DATA, SAMPLE_TEAM_PAGE_CARD_DATA
|
|
9
|
+
} from './mockData';
|
|
10
|
+
|
|
11
|
+
const onOrderPropertyChange = () => {};
|
|
12
|
+
|
|
13
|
+
// Default
|
|
14
|
+
export default {
|
|
15
|
+
title: 'Organisms/Tables',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// Templates
|
|
19
|
+
function DrawCardTableTemplate(args: DrawCardTableProps) {
|
|
20
|
+
return <DrawCardTable {...args} />;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function TeamDrawCardTableTemplate(args: DrawCardTableProps) {
|
|
24
|
+
return <TeamDrawCardTable {...args} />;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const headerRows = [
|
|
28
|
+
{ name: 'Round 1' },
|
|
29
|
+
{ name: 'Quarterfinal' },
|
|
30
|
+
{ name: 'SemiFinal' },
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const tableRows = [
|
|
34
|
+
[
|
|
35
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
36
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} locationLabel="hi" />,
|
|
37
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
38
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} locationLabel="hi" />,
|
|
39
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
40
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
41
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} locationLabel="hi" />,
|
|
42
|
+
<DrawCard isSelectActive isFlexWidth emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} onViewClick={() => {}} />,
|
|
46
|
+
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
47
|
+
<DrawCard isScorelessMatch emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
48
|
+
<DrawCard isScorelessMatch emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
52
|
+
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
53
|
+
],
|
|
54
|
+
[
|
|
55
|
+
<DrawCard emptyLabel="Select a team" {...SAMPLE_CARD_DATA} />,
|
|
56
|
+
],
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const teamTableRows = [
|
|
60
|
+
[
|
|
61
|
+
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} showTeamMatchLink />,
|
|
62
|
+
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
63
|
+
<TeamDrawCard isScorelessMatch {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
64
|
+
<TeamDrawCard isScorelessMatch {...SAMPLE_TEAM_PAGE_CARD_DATA} showTeamMatchLink />,
|
|
65
|
+
],
|
|
66
|
+
[
|
|
67
|
+
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} showTeamMatchLink />,
|
|
68
|
+
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
<TeamDrawCard {...SAMPLE_TEAM_PAGE_CARD_DATA} />,
|
|
72
|
+
],
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
// Stories
|
|
76
|
+
export const DrawTable = DrawCardTableTemplate.bind({});
|
|
77
|
+
DrawTable.args = {
|
|
78
|
+
headerRows,
|
|
79
|
+
tableRows,
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const TeamDrawTable = TeamDrawCardTableTemplate.bind({});
|
|
83
|
+
TeamDrawTable.args = {
|
|
84
|
+
headerRows,
|
|
85
|
+
tableRows: teamTableRows,
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const MobileTeamDrawTable = TeamDrawCardTableTemplate.bind({});
|
|
89
|
+
MobileTeamDrawTable.args = {
|
|
90
|
+
headerRows,
|
|
91
|
+
tableRows: teamTableRows,
|
|
92
|
+
isMobile: true
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const SortableTable = DrawCardTableTemplate.bind({});
|
|
96
|
+
SortableTable.args = {
|
|
97
|
+
headCells: MOCK_HEAD_CELLS,
|
|
98
|
+
sortOrder: 'asc',
|
|
99
|
+
sortByProperty: 'player',
|
|
100
|
+
title: 'Player Table',
|
|
101
|
+
tableData: MOCK_TABLE_DATA,
|
|
102
|
+
rowComponent: mockRowComponent,
|
|
103
|
+
onOrderPropertyChange,
|
|
104
|
+
};
|