@universal-tennis/ui-shared 0.1.96 → 0.2.0
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/main.js +16 -16
- package/.storybook/preview.js +17 -17
- package/.storybook/typography.css +5 -26
- package/.storybook/variables.css +16 -16
- package/README.md +129 -129
- package/dist/App.d.ts +1 -1
- package/dist/stories/Button.d.ts +27 -0
- package/dist/stories/Button.js +51 -0
- package/dist/stories/Button.js.map +1 -0
- package/dist/stories/Button.stories.d.ts +15 -0
- package/dist/stories/Button.stories.js +34 -0
- package/dist/stories/Button.stories.js.map +1 -0
- package/dist/stories/Header.d.ts +19 -0
- package/dist/stories/Header.js +31 -0
- package/dist/stories/Header.js.map +1 -0
- package/dist/stories/Header.stories.d.ts +11 -0
- package/dist/stories/Header.stories.js +20 -0
- package/dist/stories/Header.stories.js.map +1 -0
- package/dist/stories/Page.d.ts +1 -0
- package/dist/stories/Page.js +38 -0
- package/dist/stories/Page.js.map +1 -0
- package/dist/stories/Page.stories.d.ts +11 -0
- package/dist/stories/Page.stories.js +30 -0
- package/dist/stories/Page.stories.js.map +1 -0
- package/dist/stories/assets/comments.svg +1 -0
- package/dist/stories/assets/css/typography.css +5 -26
- package/dist/stories/assets/css/variables.css +15 -15
- package/dist/stories/assets/direction.svg +1 -0
- 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 +1 -1
- package/dist/stories/atoms/Button/Button.js.map +1 -1
- package/dist/stories/atoms/Button/index.d.ts +1 -0
- package/dist/stories/atoms/Button/index.js +2 -0
- package/dist/stories/atoms/Button/index.js.map +1 -0
- package/dist/stories/atoms/Button.d.ts +7 -0
- package/dist/stories/atoms/Button.js +20 -0
- package/dist/stories/atoms/Button.js.map +1 -0
- package/dist/stories/atoms/Button.stories.d.ts +13 -0
- package/dist/stories/atoms/Button.stories.js +22 -0
- package/dist/stories/atoms/Button.stories.js.map +1 -0
- package/dist/stories/atoms/Icons/AddIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/BallInMotionIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/CalendarIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/ClockIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/CloseIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/DeleteIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/DoublePersonIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/EditIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/LineIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/LocationIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/MessageIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/PickleballBallIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SessionIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SinglePersonIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SinglePersonV2Icon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaXIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SwapIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SwapNoBorderIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/TennisBallIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/VerifiedIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +2 -2
- package/dist/stories/atoms/Typography/Typography.d.ts +2 -2
- package/dist/stories/atoms/Typography/Typography.js.map +1 -1
- package/dist/stories/atoms/Typography/index.d.ts +1 -0
- package/dist/stories/atoms/Typography/index.js +2 -0
- package/dist/stories/atoms/Typography/index.js.map +1 -0
- package/dist/stories/atoms/UTMap/UTMap.d.ts +2 -2
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +2 -2
- package/dist/stories/molecules/Cards/ContactCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/DrawCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/DrawCard.js.map +1 -1
- package/dist/stories/molecules/Cards/TeamCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/shared.d.ts +1 -4
- package/dist/stories/molecules/FooterSection/FooterSection.d.ts +2 -2
- package/dist/stories/molecules/GlobalNavItem/GlobalNavItem.d.ts +2 -2
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +2 -2
- package/dist/stories/organisms/Footer/Footer.d.ts +2 -2
- package/dist/stories/organisms/Footer/Footer.js +2 -6
- package/dist/stories/organisms/Footer/Footer.js.map +1 -1
- package/dist/stories/organisms/GlobalNavigation/GlobalNavigation.d.ts +2 -2
- package/dist/stories/organisms/GlobalNavigation/GlobalNavigation.js.map +1 -1
- package/dist/stories/organisms/Modals/FullPageModal.d.ts +2 -2
- package/dist/stories/organisms/Tables/DrawCardTable.d.ts +2 -2
- package/dist/stories/organisms/Tables/DrawCardTable.js +2 -2
- package/dist/stories/organisms/Tables/SortableTable.d.ts +2 -2
- package/dist/stories/organisms/Tables/SortableTable.js.map +1 -1
- package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +2 -2
- package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +2 -2
- package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +2 -2
- package/dist/stories/organisms/Tables/mockData.d.ts +2 -2
- package/dist/stories/utils/constants.js.map +1 -1
- package/infrastructure/azure-pipelines.yml +112 -112
- package/package.json +99 -99
- package/public/index.html +50 -45
- package/src/App.js +25 -25
- package/src/components.jsx +52 -52
- package/src/custom.d.ts +13 -13
- package/src/index.js +17 -17
- package/src/items.jsx +1 -1
- package/src/stories/Introduction.stories.mdx +179 -179
- package/src/stories/assets/css/typography.css +5 -26
- 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/BallInMotionIcon.tsx +15 -15
- 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 +372 -372
- 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/PickleballBallIcon.tsx +22 -22
- 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/SinglePersonV2Icon.tsx +13 -13
- 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/TennisBallIcon.tsx +13 -13
- 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 -159
- package/src/stories/molecules/Cards/sharedTypes.ts +69 -69
- 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/GlobalNavItem/GlobalNavItem.stories.tsx +22 -22
- package/src/stories/molecules/GlobalNavItem/GlobalNavItem.tsx +51 -51
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +96 -96
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +112 -112
- package/src/stories/organisms/Footer/Footer.stories.tsx +63 -63
- package/src/stories/organisms/Footer/Footer.tsx +155 -165
- package/src/stories/organisms/Footer/sharedTypes.ts +17 -17
- package/src/stories/organisms/GlobalNavigation/GlobalNavigation.stories.tsx +210 -210
- package/src/stories/organisms/GlobalNavigation/GlobalNavigation.tsx +120 -120
- 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 -131
- package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
- package/src/stories/utils/constants.ts +31 -31
- 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/atoms/Map/Map.d.ts +0 -7
- package/dist/stories/atoms/Map/Map.js +0 -9
- package/dist/stories/atoms/Map/Map.js.map +0 -1
- package/dist/stories/atoms/Map/Map.stories.d.ts +0 -9
- package/dist/stories/atoms/Map/Map.stories.js +0 -36
- package/dist/stories/atoms/Map/Map.stories.js.map +0 -1
- package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +0 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js +0 -126
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +0 -1
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
// Card types
|
|
2
|
-
|
|
3
|
-
type SelectedOptions = {
|
|
4
|
-
optionOne: number;
|
|
5
|
-
optionTwo: number;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
type Options = {
|
|
9
|
-
id: number;
|
|
10
|
-
label: string;
|
|
11
|
-
}[];
|
|
12
|
-
|
|
13
|
-
type OnChangeArgs = {
|
|
14
|
-
position: number;
|
|
15
|
-
id: string | null | undefined;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
type PositionTeam = {
|
|
19
|
-
name: string;
|
|
20
|
-
points: number;
|
|
21
|
-
href?: string;
|
|
22
|
-
seed?: number;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export type DrawCardProps = {
|
|
26
|
-
options: Options;
|
|
27
|
-
selectedOptions: SelectedOptions;
|
|
28
|
-
dateLabel: string;
|
|
29
|
-
locationLabel: string;
|
|
30
|
-
isDisabled?: boolean;
|
|
31
|
-
isSelectActive?: boolean;
|
|
32
|
-
isPosition1Winner?: boolean;
|
|
33
|
-
isPosition2Winner?: boolean;
|
|
34
|
-
isScorelessMatch?: boolean;
|
|
35
|
-
isManaging?: boolean;
|
|
36
|
-
isFlexWidth?: boolean;
|
|
37
|
-
position1Team: PositionTeam;
|
|
38
|
-
position2Team: PositionTeam;
|
|
39
|
-
emptyLabel?: string;
|
|
40
|
-
onEditClick?: VoidFunction;
|
|
41
|
-
onViewClick?: VoidFunction;
|
|
42
|
-
onChange: ({ position, id }: OnChangeArgs) => void;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export type TeamDrawCardProps = {
|
|
46
|
-
dateLabel: string;
|
|
47
|
-
locationLabel: string;
|
|
48
|
-
timeLabel: string;
|
|
49
|
-
matchInfo?: string;
|
|
50
|
-
isPosition1Winner?: boolean;
|
|
51
|
-
isPosition2Winner?: boolean;
|
|
52
|
-
isScorelessMatch?: boolean;
|
|
53
|
-
position1Team: PositionTeam;
|
|
54
|
-
position2Team: PositionTeam;
|
|
55
|
-
teamMatchLink?: string;
|
|
56
|
-
showTeamMatchLink?: boolean;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface TeamCardProps {
|
|
60
|
-
title: string;
|
|
61
|
-
description: string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface ContactCardProps {
|
|
65
|
-
name: string;
|
|
66
|
-
phone: string;
|
|
67
|
-
email: string;
|
|
68
|
-
onMessageClick?: VoidFunction;
|
|
69
|
-
}
|
|
1
|
+
// Card types
|
|
2
|
+
|
|
3
|
+
type SelectedOptions = {
|
|
4
|
+
optionOne: number;
|
|
5
|
+
optionTwo: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
type Options = {
|
|
9
|
+
id: number;
|
|
10
|
+
label: string;
|
|
11
|
+
}[];
|
|
12
|
+
|
|
13
|
+
type OnChangeArgs = {
|
|
14
|
+
position: number;
|
|
15
|
+
id: string | null | undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type PositionTeam = {
|
|
19
|
+
name: string;
|
|
20
|
+
points: number;
|
|
21
|
+
href?: string;
|
|
22
|
+
seed?: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type DrawCardProps = {
|
|
26
|
+
options: Options;
|
|
27
|
+
selectedOptions: SelectedOptions;
|
|
28
|
+
dateLabel: string;
|
|
29
|
+
locationLabel: string;
|
|
30
|
+
isDisabled?: boolean;
|
|
31
|
+
isSelectActive?: boolean;
|
|
32
|
+
isPosition1Winner?: boolean;
|
|
33
|
+
isPosition2Winner?: boolean;
|
|
34
|
+
isScorelessMatch?: boolean;
|
|
35
|
+
isManaging?: boolean;
|
|
36
|
+
isFlexWidth?: boolean;
|
|
37
|
+
position1Team: PositionTeam;
|
|
38
|
+
position2Team: PositionTeam;
|
|
39
|
+
emptyLabel?: string;
|
|
40
|
+
onEditClick?: VoidFunction;
|
|
41
|
+
onViewClick?: VoidFunction;
|
|
42
|
+
onChange: ({ position, id }: OnChangeArgs) => void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export type TeamDrawCardProps = {
|
|
46
|
+
dateLabel: string;
|
|
47
|
+
locationLabel: string;
|
|
48
|
+
timeLabel: string;
|
|
49
|
+
matchInfo?: string;
|
|
50
|
+
isPosition1Winner?: boolean;
|
|
51
|
+
isPosition2Winner?: boolean;
|
|
52
|
+
isScorelessMatch?: boolean;
|
|
53
|
+
position1Team: PositionTeam;
|
|
54
|
+
position2Team: PositionTeam;
|
|
55
|
+
teamMatchLink?: string;
|
|
56
|
+
showTeamMatchLink?: boolean;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface TeamCardProps {
|
|
60
|
+
title: string;
|
|
61
|
+
description: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface ContactCardProps {
|
|
65
|
+
name: string;
|
|
66
|
+
phone: string;
|
|
67
|
+
email: string;
|
|
68
|
+
onMessageClick?: VoidFunction;
|
|
69
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import FooterSection from './FooterSection';
|
|
4
|
-
import { FooterSectionProps } from './sharedTypes';
|
|
5
|
-
|
|
6
|
-
// Default
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Molecules/FooterSection',
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
// Templates
|
|
12
|
-
function FooterSectionTemplate(args: FooterSectionProps) {
|
|
13
|
-
return <FooterSection {...args} />;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Stories
|
|
17
|
-
export const Section = FooterSectionTemplate.bind({});
|
|
18
|
-
Section.args = {
|
|
19
|
-
items: [
|
|
20
|
-
{ href: '#', label: 'Countries' },
|
|
21
|
-
{ href: '#', label: 'States' },
|
|
22
|
-
{ href: '#', label: 'Cities' },
|
|
23
|
-
],
|
|
24
|
-
title: "Explore",
|
|
25
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import FooterSection from './FooterSection';
|
|
4
|
+
import { FooterSectionProps } from './sharedTypes';
|
|
5
|
+
|
|
6
|
+
// Default
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Molecules/FooterSection',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
// Templates
|
|
12
|
+
function FooterSectionTemplate(args: FooterSectionProps) {
|
|
13
|
+
return <FooterSection {...args} />;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Stories
|
|
17
|
+
export const Section = FooterSectionTemplate.bind({});
|
|
18
|
+
Section.args = {
|
|
19
|
+
items: [
|
|
20
|
+
{ href: '#', label: 'Countries' },
|
|
21
|
+
{ href: '#', label: 'States' },
|
|
22
|
+
{ href: '#', label: 'Cities' },
|
|
23
|
+
],
|
|
24
|
+
title: "Explore",
|
|
25
|
+
};
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import Box from '@mui/material/Box';
|
|
4
|
-
import Link from '@mui/material/Link';
|
|
5
|
-
|
|
6
|
-
import { FooterSectionProps } from './sharedTypes';
|
|
7
|
-
import Typography from '../../atoms/Typography/Typography';
|
|
8
|
-
|
|
9
|
-
function FooterSection({ items, title }: FooterSectionProps) {
|
|
10
|
-
return (
|
|
11
|
-
<Box>
|
|
12
|
-
<Typography mb={2} isCap category="secondary" size="medium-medium" sx={{ color: "var(--teal)" }}>{title}</Typography>
|
|
13
|
-
{items?.map((item) => (
|
|
14
|
-
<Link
|
|
15
|
-
key={item.label}
|
|
16
|
-
sx={{ "&:hover": { color: "var(--white)" } }}
|
|
17
|
-
underline="hover"
|
|
18
|
-
color="palette.common.white"
|
|
19
|
-
href={item.href}
|
|
20
|
-
>
|
|
21
|
-
<Typography
|
|
22
|
-
mb={1}
|
|
23
|
-
category="secondary"
|
|
24
|
-
size="small-book"
|
|
25
|
-
sx={{ color: "var(--white)", opacity: 0.75 }}
|
|
26
|
-
>
|
|
27
|
-
{item.label}
|
|
28
|
-
</Typography>
|
|
29
|
-
</Link>
|
|
30
|
-
))}
|
|
31
|
-
</Box>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
export default FooterSection;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import Box from '@mui/material/Box';
|
|
4
|
+
import Link from '@mui/material/Link';
|
|
5
|
+
|
|
6
|
+
import { FooterSectionProps } from './sharedTypes';
|
|
7
|
+
import Typography from '../../atoms/Typography/Typography';
|
|
8
|
+
|
|
9
|
+
function FooterSection({ items, title }: FooterSectionProps) {
|
|
10
|
+
return (
|
|
11
|
+
<Box>
|
|
12
|
+
<Typography mb={2} isCap category="secondary" size="medium-medium" sx={{ color: "var(--teal)" }}>{title}</Typography>
|
|
13
|
+
{items?.map((item) => (
|
|
14
|
+
<Link
|
|
15
|
+
key={item.label}
|
|
16
|
+
sx={{ "&:hover": { color: "var(--white)" } }}
|
|
17
|
+
underline="hover"
|
|
18
|
+
color="palette.common.white"
|
|
19
|
+
href={item.href}
|
|
20
|
+
>
|
|
21
|
+
<Typography
|
|
22
|
+
mb={1}
|
|
23
|
+
category="secondary"
|
|
24
|
+
size="small-book"
|
|
25
|
+
sx={{ color: "var(--white)", opacity: 0.75 }}
|
|
26
|
+
>
|
|
27
|
+
{item.label}
|
|
28
|
+
</Typography>
|
|
29
|
+
</Link>
|
|
30
|
+
))}
|
|
31
|
+
</Box>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
export default FooterSection;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LinkItem } from "stories/organisms/Footer/sharedTypes";
|
|
2
|
-
|
|
3
|
-
export type FooterSectionProps = {
|
|
4
|
-
items: [LinkItem];
|
|
5
|
-
title: string;
|
|
6
|
-
}
|
|
1
|
+
import { LinkItem } from "stories/organisms/Footer/sharedTypes";
|
|
2
|
+
|
|
3
|
+
export type FooterSectionProps = {
|
|
4
|
+
items: [LinkItem];
|
|
5
|
+
title: string;
|
|
6
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import GlobalNavItem, { GlobalNavItemProps } from './GlobalNavItem';
|
|
4
|
-
|
|
5
|
-
// Default
|
|
6
|
-
export default {
|
|
7
|
-
title: 'Molecules/GlobalNavItem',
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
// Templates
|
|
11
|
-
function GlobalNavItemTemplate(args: Readonly<GlobalNavItemProps>) {
|
|
12
|
-
return <GlobalNavItem {...args} />;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// Stories
|
|
16
|
-
export const Item = GlobalNavItemTemplate.bind({});
|
|
17
|
-
Item.args = {
|
|
18
|
-
item: {
|
|
19
|
-
label: 'Flex Leagues',
|
|
20
|
-
},
|
|
21
|
-
onClick: () => { console.log("you clicked me!"); }
|
|
22
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import GlobalNavItem, { GlobalNavItemProps } from './GlobalNavItem';
|
|
4
|
+
|
|
5
|
+
// Default
|
|
6
|
+
export default {
|
|
7
|
+
title: 'Molecules/GlobalNavItem',
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// Templates
|
|
11
|
+
function GlobalNavItemTemplate(args: Readonly<GlobalNavItemProps>) {
|
|
12
|
+
return <GlobalNavItem {...args} />;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Stories
|
|
16
|
+
export const Item = GlobalNavItemTemplate.bind({});
|
|
17
|
+
Item.args = {
|
|
18
|
+
item: {
|
|
19
|
+
label: 'Flex Leagues',
|
|
20
|
+
},
|
|
21
|
+
onClick: () => { console.log("you clicked me!"); }
|
|
22
|
+
};
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import Box from '@mui/material/Box';
|
|
4
|
-
import Button from '@mui/material/Button';
|
|
5
|
-
import { getClickAttrs } from '../../utils/constants';
|
|
6
|
-
import { RightChevron } from '../../atoms/Icons/Icons.stories';
|
|
7
|
-
import Typography from '../../atoms/Typography/Typography';
|
|
8
|
-
|
|
9
|
-
export interface GlobalNavItemProps {
|
|
10
|
-
item: {
|
|
11
|
-
label: string;
|
|
12
|
-
filterType: string;
|
|
13
|
-
sportType: string;
|
|
14
|
-
isLeagues?: boolean;
|
|
15
|
-
data?: object;
|
|
16
|
-
}
|
|
17
|
-
onClick: (item: object) => void;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function GlobalNavItem({
|
|
21
|
-
item, onClick
|
|
22
|
-
}: Readonly<GlobalNavItemProps>) {
|
|
23
|
-
const handleOnClick = (item: object) => {
|
|
24
|
-
onClick(item);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<Button
|
|
29
|
-
onClick={() => handleOnClick(item)}
|
|
30
|
-
{...getClickAttrs({
|
|
31
|
-
category: 'Global Search Category',
|
|
32
|
-
context: item?.label,
|
|
33
|
-
location: 'Global search CTA',
|
|
34
|
-
})}
|
|
35
|
-
sx={{
|
|
36
|
-
textTransform: 'none',
|
|
37
|
-
color: 'var(--black)',
|
|
38
|
-
padding: 0,
|
|
39
|
-
borderBottom: '.5px solid var(--cool-grey-500)',
|
|
40
|
-
borderRadius: 0,
|
|
41
|
-
'&:hover': { backgroundColor: 'transparent' }
|
|
42
|
-
}}
|
|
43
|
-
>
|
|
44
|
-
<Box display="flex" alignItems="center" height="32px" width="100%" minWidth="194px" justifyContent="space-between">
|
|
45
|
-
<Typography weight={325} category="secondary" size="small-medium" color="var(--black)">{item?.label}</Typography>
|
|
46
|
-
<RightChevron size={12} color="var(--black)" />
|
|
47
|
-
</Box>
|
|
48
|
-
</Button>
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
export default GlobalNavItem;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import Box from '@mui/material/Box';
|
|
4
|
+
import Button from '@mui/material/Button';
|
|
5
|
+
import { getClickAttrs } from '../../utils/constants';
|
|
6
|
+
import { RightChevron } from '../../atoms/Icons/Icons.stories';
|
|
7
|
+
import Typography from '../../atoms/Typography/Typography';
|
|
8
|
+
|
|
9
|
+
export interface GlobalNavItemProps {
|
|
10
|
+
item: {
|
|
11
|
+
label: string;
|
|
12
|
+
filterType: string;
|
|
13
|
+
sportType: string;
|
|
14
|
+
isLeagues?: boolean;
|
|
15
|
+
data?: object;
|
|
16
|
+
}
|
|
17
|
+
onClick: (item: object) => void;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function GlobalNavItem({
|
|
21
|
+
item, onClick
|
|
22
|
+
}: Readonly<GlobalNavItemProps>) {
|
|
23
|
+
const handleOnClick = (item: object) => {
|
|
24
|
+
onClick(item);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<Button
|
|
29
|
+
onClick={() => handleOnClick(item)}
|
|
30
|
+
{...getClickAttrs({
|
|
31
|
+
category: 'Global Search Category',
|
|
32
|
+
context: item?.label,
|
|
33
|
+
location: 'Global search CTA',
|
|
34
|
+
})}
|
|
35
|
+
sx={{
|
|
36
|
+
textTransform: 'none',
|
|
37
|
+
color: 'var(--black)',
|
|
38
|
+
padding: 0,
|
|
39
|
+
borderBottom: '.5px solid var(--cool-grey-500)',
|
|
40
|
+
borderRadius: 0,
|
|
41
|
+
'&:hover': { backgroundColor: 'transparent' }
|
|
42
|
+
}}
|
|
43
|
+
>
|
|
44
|
+
<Box display="flex" alignItems="center" height="32px" width="100%" minWidth="194px" justifyContent="space-between">
|
|
45
|
+
<Typography weight={325} category="secondary" size="small-medium" color="var(--black)">{item?.label}</Typography>
|
|
46
|
+
<RightChevron size={12} color="var(--black)" />
|
|
47
|
+
</Box>
|
|
48
|
+
</Button>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
export default GlobalNavItem;
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import Box from '@mui/material/Box';
|
|
4
|
-
import SquareAvatarWithName, { SquareAvatarWithNameProps } from './SquareAvatarWithName';
|
|
5
|
-
|
|
6
|
-
// Default
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Molecules/SquareAvatarWithName',
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
// Templates
|
|
12
|
-
function SquareAvatarWithNameTemplate(args: SquareAvatarWithNameProps) {
|
|
13
|
-
return <SquareAvatarWithName {...args} />;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function SquareAvatarWithLongNameTemplate(args: SquareAvatarWithNameProps) {
|
|
17
|
-
return <Box width="200px"><SquareAvatarWithName {...args} /></Box>;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Stories
|
|
21
|
-
export const Default = SquareAvatarWithNameTemplate.bind({});
|
|
22
|
-
Default.args = {
|
|
23
|
-
name: "Team Dream",
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export const WithCustomTypography = SquareAvatarWithNameTemplate.bind({});
|
|
27
|
-
WithCustomTypography.args = {
|
|
28
|
-
name: "Team Dream",
|
|
29
|
-
avatarFontCategory: "secondary",
|
|
30
|
-
avatarFontSize: "small-book",
|
|
31
|
-
fontCategory: "primary",
|
|
32
|
-
fontSize: "medium-book"
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export const WithCustomAvatarSize = SquareAvatarWithNameTemplate.bind({});
|
|
36
|
-
WithCustomAvatarSize.args = {
|
|
37
|
-
name: "Team Dream",
|
|
38
|
-
avatarWidth: '40px',
|
|
39
|
-
avatarHeight: '40px',
|
|
40
|
-
avatarFontCategory: "primary",
|
|
41
|
-
avatarFontSize: "small-book",
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export const WithAvatarOnly = SquareAvatarWithNameTemplate.bind({});
|
|
45
|
-
WithAvatarOnly.args = {
|
|
46
|
-
avatarOnly: true,
|
|
47
|
-
name: "Team Dream",
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const WithLink = SquareAvatarWithNameTemplate.bind({});
|
|
51
|
-
WithLink.args = {
|
|
52
|
-
href: "https://www.reddit.com",
|
|
53
|
-
name: "Team Dream",
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const WithSubtitle = SquareAvatarWithNameTemplate.bind({});
|
|
57
|
-
WithSubtitle.args = {
|
|
58
|
-
avatarWidth: '40px',
|
|
59
|
-
avatarHeight: '40px',
|
|
60
|
-
avatarFontSize: "medium-medium",
|
|
61
|
-
name: "Team Dream",
|
|
62
|
-
subtitle: '3 players'
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export const WithLowercaseName = SquareAvatarWithNameTemplate.bind({});
|
|
66
|
-
WithLowercaseName.args = {
|
|
67
|
-
name: "team dream",
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const WithLongName = SquareAvatarWithLongNameTemplate.bind({});
|
|
71
|
-
WithLongName.args = {
|
|
72
|
-
name: "Team Dreamadeamadeamadeamadeam",
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export const WithMultipleNames = SquareAvatarWithNameTemplate.bind({});
|
|
76
|
-
WithMultipleNames.args = {
|
|
77
|
-
name: "Team Dream Nightmare And Everything In Between",
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
export const WithMultipleNamesAndCharTypes = SquareAvatarWithNameTemplate.bind({});
|
|
81
|
-
WithMultipleNamesAndCharTypes.args = {
|
|
82
|
-
name: "Team - Dream * Nightmare And Everything In Between",
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const WithLongLinkName = SquareAvatarWithLongNameTemplate.bind({});
|
|
86
|
-
WithLongLinkName.args = {
|
|
87
|
-
name: "Team Dreamadeamadeamadeamadeam",
|
|
88
|
-
href: "https://www.reddit.com",
|
|
89
|
-
maxLinkWidth: "200px"
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
export const Disabled = SquareAvatarWithNameTemplate.bind({});
|
|
93
|
-
Disabled.args = {
|
|
94
|
-
name: "Bye",
|
|
95
|
-
disabled: true,
|
|
96
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import Box from '@mui/material/Box';
|
|
4
|
+
import SquareAvatarWithName, { SquareAvatarWithNameProps } from './SquareAvatarWithName';
|
|
5
|
+
|
|
6
|
+
// Default
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Molecules/SquareAvatarWithName',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
// Templates
|
|
12
|
+
function SquareAvatarWithNameTemplate(args: SquareAvatarWithNameProps) {
|
|
13
|
+
return <SquareAvatarWithName {...args} />;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function SquareAvatarWithLongNameTemplate(args: SquareAvatarWithNameProps) {
|
|
17
|
+
return <Box width="200px"><SquareAvatarWithName {...args} /></Box>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Stories
|
|
21
|
+
export const Default = SquareAvatarWithNameTemplate.bind({});
|
|
22
|
+
Default.args = {
|
|
23
|
+
name: "Team Dream",
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const WithCustomTypography = SquareAvatarWithNameTemplate.bind({});
|
|
27
|
+
WithCustomTypography.args = {
|
|
28
|
+
name: "Team Dream",
|
|
29
|
+
avatarFontCategory: "secondary",
|
|
30
|
+
avatarFontSize: "small-book",
|
|
31
|
+
fontCategory: "primary",
|
|
32
|
+
fontSize: "medium-book"
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const WithCustomAvatarSize = SquareAvatarWithNameTemplate.bind({});
|
|
36
|
+
WithCustomAvatarSize.args = {
|
|
37
|
+
name: "Team Dream",
|
|
38
|
+
avatarWidth: '40px',
|
|
39
|
+
avatarHeight: '40px',
|
|
40
|
+
avatarFontCategory: "primary",
|
|
41
|
+
avatarFontSize: "small-book",
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export const WithAvatarOnly = SquareAvatarWithNameTemplate.bind({});
|
|
45
|
+
WithAvatarOnly.args = {
|
|
46
|
+
avatarOnly: true,
|
|
47
|
+
name: "Team Dream",
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const WithLink = SquareAvatarWithNameTemplate.bind({});
|
|
51
|
+
WithLink.args = {
|
|
52
|
+
href: "https://www.reddit.com",
|
|
53
|
+
name: "Team Dream",
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const WithSubtitle = SquareAvatarWithNameTemplate.bind({});
|
|
57
|
+
WithSubtitle.args = {
|
|
58
|
+
avatarWidth: '40px',
|
|
59
|
+
avatarHeight: '40px',
|
|
60
|
+
avatarFontSize: "medium-medium",
|
|
61
|
+
name: "Team Dream",
|
|
62
|
+
subtitle: '3 players'
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const WithLowercaseName = SquareAvatarWithNameTemplate.bind({});
|
|
66
|
+
WithLowercaseName.args = {
|
|
67
|
+
name: "team dream",
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const WithLongName = SquareAvatarWithLongNameTemplate.bind({});
|
|
71
|
+
WithLongName.args = {
|
|
72
|
+
name: "Team Dreamadeamadeamadeamadeam",
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const WithMultipleNames = SquareAvatarWithNameTemplate.bind({});
|
|
76
|
+
WithMultipleNames.args = {
|
|
77
|
+
name: "Team Dream Nightmare And Everything In Between",
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const WithMultipleNamesAndCharTypes = SquareAvatarWithNameTemplate.bind({});
|
|
81
|
+
WithMultipleNamesAndCharTypes.args = {
|
|
82
|
+
name: "Team - Dream * Nightmare And Everything In Between",
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const WithLongLinkName = SquareAvatarWithLongNameTemplate.bind({});
|
|
86
|
+
WithLongLinkName.args = {
|
|
87
|
+
name: "Team Dreamadeamadeamadeamadeam",
|
|
88
|
+
href: "https://www.reddit.com",
|
|
89
|
+
maxLinkWidth: "200px"
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const Disabled = SquareAvatarWithNameTemplate.bind({});
|
|
93
|
+
Disabled.args = {
|
|
94
|
+
name: "Bye",
|
|
95
|
+
disabled: true,
|
|
96
|
+
};
|