@universal-tennis/ui-shared 0.1.87 → 0.1.89

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.
Files changed (300) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +73 -73
  3. package/.storybook/preview.js +17 -17
  4. package/.storybook/variables.css +16 -16
  5. package/README.md +129 -129
  6. package/dist/App.d.ts +2 -2
  7. package/dist/App.js +12 -12
  8. package/dist/components.d.ts +38 -38
  9. package/dist/components.js +43 -43
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +12 -12
  12. package/dist/items.d.ts +2 -2
  13. package/dist/items.js +1 -1
  14. package/dist/stories/assets/css/variables.css +15 -15
  15. package/dist/stories/assets/icon-chat-blue.svg +10 -10
  16. package/dist/stories/assets/utr-sports-logo.svg +9 -9
  17. package/dist/stories/atoms/Button/Button.d.ts +10 -10
  18. package/dist/stories/atoms/Button/Button.js +95 -95
  19. package/dist/stories/atoms/Button/Button.stories.d.ts +17 -17
  20. package/dist/stories/atoms/Button/Button.stories.js +45 -45
  21. package/dist/stories/atoms/Icons/AddIcon.d.ts +3 -3
  22. package/dist/stories/atoms/Icons/AddIcon.js +8 -8
  23. package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +3 -3
  24. package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.js +6 -6
  25. package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +3 -3
  26. package/dist/stories/atoms/Icons/AvailabilityNoIcon.js +6 -6
  27. package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +3 -3
  28. package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.js +7 -7
  29. package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +3 -3
  30. package/dist/stories/atoms/Icons/AvailabilityYesIcon.js +6 -6
  31. package/dist/stories/atoms/Icons/CalendarIcon.d.ts +3 -3
  32. package/dist/stories/atoms/Icons/CalendarIcon.js +6 -6
  33. package/dist/stories/atoms/Icons/ClockIcon.d.ts +3 -3
  34. package/dist/stories/atoms/Icons/ClockIcon.js +8 -8
  35. package/dist/stories/atoms/Icons/CloseIcon.d.ts +3 -3
  36. package/dist/stories/atoms/Icons/CloseIcon.js +6 -6
  37. package/dist/stories/atoms/Icons/DeleteIcon.d.ts +3 -3
  38. package/dist/stories/atoms/Icons/DeleteIcon.js +10 -10
  39. package/dist/stories/atoms/Icons/DoublePersonIcon.d.ts +3 -3
  40. package/dist/stories/atoms/Icons/DoublePersonIcon.js +13 -13
  41. package/dist/stories/atoms/Icons/EditIcon.d.ts +3 -3
  42. package/dist/stories/atoms/Icons/EditIcon.js +6 -6
  43. package/dist/stories/atoms/Icons/Icons.stories.d.ts +33 -33
  44. package/dist/stories/atoms/Icons/Icons.stories.js +269 -269
  45. package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +3 -3
  46. package/dist/stories/atoms/Icons/LeftChevronIcon.js +6 -6
  47. package/dist/stories/atoms/Icons/LineIcon.d.ts +3 -3
  48. package/dist/stories/atoms/Icons/LineIcon.js +6 -6
  49. package/dist/stories/atoms/Icons/LocationIcon.d.ts +3 -3
  50. package/dist/stories/atoms/Icons/LocationIcon.js +7 -7
  51. package/dist/stories/atoms/Icons/MessageIcon.d.ts +3 -3
  52. package/dist/stories/atoms/Icons/MessageIcon.js +6 -6
  53. package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +3 -3
  54. package/dist/stories/atoms/Icons/RightChevronIcon.js +6 -6
  55. package/dist/stories/atoms/Icons/SessionIcon.d.ts +3 -3
  56. package/dist/stories/atoms/Icons/SessionIcon.js +6 -6
  57. package/dist/stories/atoms/Icons/SinglePersonIcon.d.ts +3 -3
  58. package/dist/stories/atoms/Icons/SinglePersonIcon.js +9 -9
  59. package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.d.ts +3 -3
  60. package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.js +10 -10
  61. package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.d.ts +3 -3
  62. package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.js +6 -6
  63. package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.d.ts +3 -3
  64. package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.js +10 -10
  65. package/dist/stories/atoms/Icons/SocialMediaXIcon.d.ts +3 -3
  66. package/dist/stories/atoms/Icons/SocialMediaXIcon.js +10 -10
  67. package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.d.ts +3 -3
  68. package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.js +6 -6
  69. package/dist/stories/atoms/Icons/SwapIcon.d.ts +3 -3
  70. package/dist/stories/atoms/Icons/SwapIcon.js +6 -6
  71. package/dist/stories/atoms/Icons/SwapNoBorderIcon.d.ts +3 -3
  72. package/dist/stories/atoms/Icons/SwapNoBorderIcon.js +9 -9
  73. package/dist/stories/atoms/Icons/VerifiedIcon.d.ts +3 -3
  74. package/dist/stories/atoms/Icons/VerifiedIcon.js +7 -7
  75. package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +3 -3
  76. package/dist/stories/atoms/Icons/VisibilityIcon.js +7 -7
  77. package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +3 -3
  78. package/dist/stories/atoms/Icons/VisibilityOffIcon.js +8 -8
  79. package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +3 -3
  80. package/dist/stories/atoms/Icons/WinnerIndicatorIcon.js +31 -31
  81. package/dist/stories/atoms/Icons/sharedTypes.d.ts +11 -11
  82. package/dist/stories/atoms/Icons/sharedTypes.js +1 -1
  83. package/dist/stories/atoms/Map/Map.d.ts +7 -0
  84. package/dist/stories/atoms/Map/Map.js +9 -0
  85. package/dist/stories/atoms/Map/Map.js.map +1 -0
  86. package/dist/stories/atoms/Map/Map.stories.d.ts +9 -0
  87. package/dist/stories/atoms/Map/Map.stories.js +36 -0
  88. package/dist/stories/atoms/Map/Map.stories.js.map +1 -0
  89. package/dist/stories/atoms/Typography/Typography.d.ts +49 -49
  90. package/dist/stories/atoms/Typography/Typography.js +143 -143
  91. package/dist/stories/atoms/Typography/Typography.stories.d.ts +37 -37
  92. package/dist/stories/atoms/Typography/Typography.stories.js +190 -190
  93. package/dist/stories/atoms/UTMap/UTMap.d.ts +7 -7
  94. package/dist/stories/atoms/UTMap/UTMap.js +8 -8
  95. package/dist/stories/atoms/UTMap/UTMap.stories.d.ts +9 -9
  96. package/dist/stories/atoms/UTMap/UTMap.stories.js +35 -35
  97. package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +27 -27
  98. package/dist/stories/molecules/AvatarWithName/AvatarWithName.js +20 -20
  99. package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.d.ts +15 -15
  100. package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.js +72 -72
  101. package/dist/stories/molecules/Cards/Cards.stories.d.ts +7 -7
  102. package/dist/stories/molecules/Cards/Cards.stories.js +64 -64
  103. package/dist/stories/molecules/Cards/ContactCard.d.ts +3 -3
  104. package/dist/stories/molecules/Cards/ContactCard.js +38 -38
  105. package/dist/stories/molecules/Cards/DrawCard.d.ts +3 -3
  106. package/dist/stories/molecules/Cards/DrawCard.js +116 -116
  107. package/dist/stories/molecules/Cards/Modals.stories.d.ts +5 -5
  108. package/dist/stories/molecules/Cards/Modals.stories.js +72 -72
  109. package/dist/stories/molecules/Cards/TeamCard.d.ts +3 -3
  110. package/dist/stories/molecules/Cards/TeamCard.js +20 -20
  111. package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +3 -3
  112. package/dist/stories/molecules/Cards/TeamDrawCard.js +78 -78
  113. package/dist/stories/molecules/Cards/TeamDrawCard.js.map +1 -1
  114. package/dist/stories/molecules/Cards/shared.d.ts +4 -9
  115. package/dist/stories/molecules/Cards/shared.js +12 -12
  116. package/dist/stories/molecules/Cards/sharedTypes.d.ts +61 -61
  117. package/dist/stories/molecules/Cards/sharedTypes.js +2 -2
  118. package/dist/stories/molecules/FooterSection/FooterSection.d.ts +4 -4
  119. package/dist/stories/molecules/FooterSection/FooterSection.js +11 -11
  120. package/dist/stories/molecules/FooterSection/FooterSection.stories.d.ts +5 -5
  121. package/dist/stories/molecules/FooterSection/FooterSection.stories.js +20 -20
  122. package/dist/stories/molecules/FooterSection/sharedTypes.d.ts +5 -5
  123. package/dist/stories/molecules/FooterSection/sharedTypes.js +1 -1
  124. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +29 -29
  125. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js +32 -29
  126. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js.map +1 -1
  127. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.d.ts +16 -16
  128. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.js +81 -81
  129. package/dist/stories/organisms/Footer/Footer.d.ts +4 -4
  130. package/dist/stories/organisms/Footer/Footer.js +61 -61
  131. package/dist/stories/organisms/Footer/Footer.stories.d.ts +5 -5
  132. package/dist/stories/organisms/Footer/Footer.stories.js +58 -58
  133. package/dist/stories/organisms/Footer/sharedTypes.d.ts +14 -14
  134. package/dist/stories/organisms/Footer/sharedTypes.js +1 -1
  135. package/dist/stories/organisms/Modals/FullPageModal.d.ts +4 -4
  136. package/dist/stories/organisms/Modals/FullPageModal.js +59 -59
  137. package/dist/stories/organisms/Modals/Modals.stories.d.ts +5 -5
  138. package/dist/stories/organisms/Modals/Modals.stories.js +73 -73
  139. package/dist/stories/organisms/Modals/sharedTypes.d.ts +14 -14
  140. package/dist/stories/organisms/Modals/sharedTypes.js +1 -1
  141. package/dist/stories/organisms/Tables/DrawCardTable.d.ts +3 -3
  142. package/dist/stories/organisms/Tables/DrawCardTable.js +58 -58
  143. package/dist/stories/organisms/Tables/SortableTable.d.ts +23 -23
  144. package/dist/stories/organisms/Tables/SortableTable.js +34 -34
  145. package/dist/stories/organisms/Tables/Tables.stories.d.ts +8 -8
  146. package/dist/stories/organisms/Tables/Tables.stories.js +90 -90
  147. package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +3 -3
  148. package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.js +66 -66
  149. package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +3 -3
  150. package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.js +43 -43
  151. package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +3 -3
  152. package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.js +22 -22
  153. package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +3 -0
  154. package/dist/stories/organisms/Tables/TeamDrawCardTable.js +126 -0
  155. package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +1 -0
  156. package/dist/stories/organisms/Tables/mockData.d.ts +71 -71
  157. package/dist/stories/organisms/Tables/mockData.js +99 -99
  158. package/dist/stories/organisms/Tables/mockData.js.map +1 -1
  159. package/dist/stories/organisms/Tables/sharedTypes.d.ts +15 -15
  160. package/dist/stories/organisms/Tables/sharedTypes.js +1 -1
  161. package/dist/stories/utils/constants.d.ts +10 -10
  162. package/dist/stories/utils/constants.js +10 -10
  163. package/dist/stories/utils/getArrayWithIds.d.ts +3 -3
  164. package/dist/stories/utils/getArrayWithIds.js +1 -1
  165. package/dist/stories/utils/useScreenSize.d.ts +4 -4
  166. package/dist/stories/utils/useScreenSize.js +27 -27
  167. package/dist/types/tableDataTypes.d.ts +38 -38
  168. package/dist/types/tableDataTypes.js +1 -1
  169. package/infrastructure/azure-pipelines.yml +112 -112
  170. package/package.json +100 -100
  171. package/src/App.js +25 -25
  172. package/src/components.jsx +47 -47
  173. package/src/custom.d.ts +13 -13
  174. package/src/index.js +17 -17
  175. package/src/items.jsx +1 -1
  176. package/src/stories/assets/css/variables.css +15 -15
  177. package/src/stories/assets/icon-chat-blue.svg +10 -10
  178. package/src/stories/assets/icons/icon-add.svg +7 -7
  179. package/src/stories/assets/icons/icon-availability-maybe.svg +3 -3
  180. package/src/stories/assets/icons/icon-availability-no.svg +3 -3
  181. package/src/stories/assets/icons/icon-availability-not-set.svg +8 -8
  182. package/src/stories/assets/icons/icon-availability-yes.svg +3 -3
  183. package/src/stories/assets/icons/icon-calendar.svg +4 -4
  184. package/src/stories/assets/icons/icon-clock.svg +7 -7
  185. package/src/stories/assets/icons/icon-close.svg +3 -3
  186. package/src/stories/assets/icons/icon-delete.svg +9 -9
  187. package/src/stories/assets/icons/icon-edit.svg +3 -3
  188. package/src/stories/assets/icons/icon-location.svg +6 -6
  189. package/src/stories/assets/icons/icon-message.svg +3 -3
  190. package/src/stories/assets/icons/icon-session.svg +3 -3
  191. package/src/stories/assets/icons/icon-social-media-facebook.svg +10 -10
  192. package/src/stories/assets/icons/icon-social-media-instagram.svg +3 -3
  193. package/src/stories/assets/icons/icon-social-media-tiktok.svg +10 -10
  194. package/src/stories/assets/icons/icon-social-media-x.svg +10 -10
  195. package/src/stories/assets/icons/icon-social-media-youtube.svg +3 -3
  196. package/src/stories/assets/icons/icon-swap.svg +3 -3
  197. package/src/stories/assets/icons/icon-visibility-off.svg +7 -7
  198. package/src/stories/assets/icons/icon-visibility.svg +6 -6
  199. package/src/stories/assets/utr-sports-logo.svg +9 -9
  200. package/src/stories/atoms/Button/Button.stories.tsx +63 -63
  201. package/src/stories/atoms/Button/Button.tsx +145 -145
  202. package/src/stories/atoms/Icons/AddIcon.tsx +13 -13
  203. package/src/stories/atoms/Icons/AvailabilityMaybeIcon.tsx +11 -11
  204. package/src/stories/atoms/Icons/AvailabilityNoIcon.tsx +11 -11
  205. package/src/stories/atoms/Icons/AvailabilityNotSetIcon.tsx +12 -12
  206. package/src/stories/atoms/Icons/AvailabilityYesIcon.tsx +11 -11
  207. package/src/stories/atoms/Icons/CalendarIcon.tsx +11 -11
  208. package/src/stories/atoms/Icons/ClockIcon.tsx +14 -14
  209. package/src/stories/atoms/Icons/CloseIcon.tsx +11 -11
  210. package/src/stories/atoms/Icons/DeleteIcon.tsx +15 -15
  211. package/src/stories/atoms/Icons/DoublePersonIcon.tsx +20 -20
  212. package/src/stories/atoms/Icons/EditIcon.tsx +11 -11
  213. package/src/stories/atoms/Icons/Icons.stories.tsx +330 -330
  214. package/src/stories/atoms/Icons/LeftChevronIcon.tsx +13 -13
  215. package/src/stories/atoms/Icons/LineIcon.tsx +12 -12
  216. package/src/stories/atoms/Icons/LocationIcon.tsx +12 -12
  217. package/src/stories/atoms/Icons/MessageIcon.tsx +12 -12
  218. package/src/stories/atoms/Icons/RightChevronIcon.tsx +11 -11
  219. package/src/stories/atoms/Icons/SessionIcon.tsx +16 -16
  220. package/src/stories/atoms/Icons/SinglePersonIcon.tsx +16 -16
  221. package/src/stories/atoms/Icons/SocialMediaFacebookIcon.tsx +19 -19
  222. package/src/stories/atoms/Icons/SocialMediaInstagramIcon.tsx +11 -11
  223. package/src/stories/atoms/Icons/SocialMediaTikTokIcon.tsx +18 -18
  224. package/src/stories/atoms/Icons/SocialMediaXIcon.tsx +18 -18
  225. package/src/stories/atoms/Icons/SocialMediaYoutubeIcon.tsx +11 -11
  226. package/src/stories/atoms/Icons/SwapIcon.tsx +11 -11
  227. package/src/stories/atoms/Icons/SwapNoBorderIcon.tsx +14 -14
  228. package/src/stories/atoms/Icons/VerifiedIcon.tsx +13 -13
  229. package/src/stories/atoms/Icons/VisibilityIcon.tsx +12 -12
  230. package/src/stories/atoms/Icons/VisibilityOffIcon.tsx +13 -13
  231. package/src/stories/atoms/Icons/WinnerIndicatorIcon.tsx +39 -39
  232. package/src/stories/atoms/Icons/sharedTypes.tsx +12 -12
  233. package/src/stories/atoms/Typography/Typography.tsx +185 -185
  234. package/src/stories/atoms/UTMap/UTMap.stories.tsx +43 -43
  235. package/src/stories/atoms/UTMap/UTMap.tsx +25 -25
  236. package/src/stories/molecules/AvatarWithName/AvatarWithName.stories.tsx +86 -86
  237. package/src/stories/molecules/AvatarWithName/AvatarWithName.tsx +68 -68
  238. package/src/stories/molecules/Cards/Cards.stories.tsx +76 -76
  239. package/src/stories/molecules/Cards/ContactCard.tsx +45 -45
  240. package/src/stories/molecules/Cards/DrawCard.tsx +211 -211
  241. package/src/stories/molecules/Cards/Modals.stories.tsx +137 -137
  242. package/src/stories/molecules/Cards/TeamCard.tsx +14 -14
  243. package/src/stories/molecules/Cards/TeamDrawCard.tsx +159 -159
  244. package/src/stories/molecules/Cards/sharedTypes.ts +69 -69
  245. package/src/stories/molecules/FooterSection/FooterSection.stories.tsx +25 -25
  246. package/src/stories/molecules/FooterSection/FooterSection.tsx +34 -34
  247. package/src/stories/molecules/FooterSection/sharedTypes.ts +6 -6
  248. package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +96 -96
  249. package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +112 -99
  250. package/src/stories/organisms/Footer/Footer.stories.tsx +63 -63
  251. package/src/stories/organisms/Footer/Footer.tsx +118 -118
  252. package/src/stories/organisms/Footer/sharedTypes.ts +14 -14
  253. package/src/stories/organisms/Modals/FullPageModal.tsx +93 -93
  254. package/src/stories/organisms/Modals/Modals.stories.tsx +138 -138
  255. package/src/stories/organisms/Modals/sharedTypes.ts +15 -15
  256. package/src/stories/organisms/Tables/DrawCardTable.tsx +92 -92
  257. package/src/stories/organisms/Tables/SortableTable.tsx +119 -119
  258. package/src/stories/organisms/Tables/Tables.stories.tsx +104 -104
  259. package/src/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.tsx +120 -120
  260. package/src/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.tsx +67 -67
  261. package/src/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.tsx +24 -24
  262. package/src/stories/organisms/Tables/mockData.tsx +131 -131
  263. package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
  264. package/src/stories/utils/constants.ts +11 -11
  265. package/src/stories/utils/getArrayWithIds.ts +1 -1
  266. package/src/stories/utils/useScreenSize.ts +28 -28
  267. package/src/types/tableDataTypes.ts +42 -42
  268. package/tsconfig.json +23 -23
  269. package/dist/stories/Button.d.ts +0 -27
  270. package/dist/stories/Button.js +0 -51
  271. package/dist/stories/Button.js.map +0 -1
  272. package/dist/stories/Button.stories.d.ts +0 -15
  273. package/dist/stories/Button.stories.js +0 -34
  274. package/dist/stories/Button.stories.js.map +0 -1
  275. package/dist/stories/Header.d.ts +0 -19
  276. package/dist/stories/Header.js +0 -31
  277. package/dist/stories/Header.js.map +0 -1
  278. package/dist/stories/Header.stories.d.ts +0 -11
  279. package/dist/stories/Header.stories.js +0 -20
  280. package/dist/stories/Header.stories.js.map +0 -1
  281. package/dist/stories/Page.d.ts +0 -1
  282. package/dist/stories/Page.js +0 -38
  283. package/dist/stories/Page.js.map +0 -1
  284. package/dist/stories/Page.stories.d.ts +0 -11
  285. package/dist/stories/Page.stories.js +0 -30
  286. package/dist/stories/Page.stories.js.map +0 -1
  287. package/dist/stories/assets/comments.svg +0 -1
  288. package/dist/stories/assets/direction.svg +0 -1
  289. package/dist/stories/atoms/Button/index.d.ts +0 -1
  290. package/dist/stories/atoms/Button/index.js +0 -2
  291. package/dist/stories/atoms/Button/index.js.map +0 -1
  292. package/dist/stories/atoms/Button.d.ts +0 -7
  293. package/dist/stories/atoms/Button.js +0 -20
  294. package/dist/stories/atoms/Button.js.map +0 -1
  295. package/dist/stories/atoms/Button.stories.d.ts +0 -13
  296. package/dist/stories/atoms/Button.stories.js +0 -22
  297. package/dist/stories/atoms/Button.stories.js.map +0 -1
  298. package/dist/stories/atoms/Typography/index.d.ts +0 -1
  299. package/dist/stories/atoms/Typography/index.js +0 -2
  300. package/dist/stories/atoms/Typography/index.js.map +0 -1
@@ -1,211 +1,211 @@
1
- import React from 'react';
2
- import Box from '@mui/material/Box';
3
- import { styled } from '@mui/material/styles';
4
- import Select, { SelectChangeEvent } from '@mui/material/Select';
5
- import MenuItem from '@mui/material/MenuItem';
6
- import { Divider, FormControl, InputLabel } from '@mui/material';
7
- import Button from '../../atoms/Button/Button';
8
- import Typography, { SECONDARY_SIZES_ENUM, CATEGORY_ENUM } from '../../atoms/Typography/Typography';
9
- import { DrawCardProps } from "./sharedTypes";
10
-
11
- const BYE_ROUND = "Bye";
12
- type CardProps = {
13
- isFlexWidth?: boolean;
14
- isSelectActive?: boolean;
15
- }
16
-
17
- const StyledCard = styled(Box, {
18
- shouldForwardProp: (prop: string) => prop !== 'isFlexWidth' && prop !== 'isSelectActive'
19
- })(({ isFlexWidth, isSelectActive }: CardProps) => ({
20
- display: 'flex',
21
- flexDirection: 'column',
22
- borderRadius: '4px',
23
- padding: '16px 24px',
24
- width: '100%',
25
- minWidth: isFlexWidth ? 'auto' : '350px',
26
- height: isSelectActive ? '235px' : '200px',
27
- backgroundColor: 'var(--cool-grey-150)',
28
-
29
- '&:hover': {
30
- cursor: 'pointer'
31
- },
32
- }));
33
-
34
- const BottomGrid = styled(Box)({
35
- display: 'flex',
36
- alignItems: 'center',
37
- justifyContent: 'space-between',
38
- paddingTop: '32px',
39
- });
40
-
41
- const positions = {
42
- ONE: 1,
43
- TWO: 2,
44
- };
45
-
46
- export default function DrawCard({
47
- options, onChange, onEditClick, onViewClick, selectedOptions, dateLabel, locationLabel,
48
- emptyLabel, isDisabled, isSelectActive, isPosition1Winner, isPosition2Winner, isManaging,
49
- isScorelessMatch, position1Team, position2Team, isFlexWidth, ...props
50
- }: DrawCardProps) {
51
- const { optionOne, optionTwo } = selectedOptions || {};
52
-
53
- const handleOnSelectionChange = (event: SelectChangeEvent<unknown>, position: number) => {
54
- const id = event.target.value as string;
55
-
56
- if (onChange) {
57
- onChange({ position, id });
58
- }
59
- };
60
-
61
- return (
62
- <StyledCard isFlexWidth={isFlexWidth} isSelectActive={isSelectActive} {...props}>
63
- {isSelectActive ? (
64
- <>
65
- <FormControl style={{ display: 'flex', flexDirection: 'row', alignItems: 'center' }}>
66
- <InputLabel id="draw-card-select-top">{emptyLabel}</InputLabel>
67
- <Select
68
- sx={{ width: '100%' }}
69
- labelId="draw-card-select-top"
70
- id="draw-card-select-top"
71
- label={emptyLabel}
72
- value={optionOne}
73
- disabled={isDisabled}
74
- onChange={(e) => handleOnSelectionChange(e, positions.ONE)}
75
- >
76
- <MenuItem value="">None</MenuItem>
77
- {options.map((option) => <MenuItem key={option.id} value={option.id}>{option.label}</MenuItem>)}
78
- <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value={BYE_ROUND}>Set bye</MenuItem>
79
- </Select>
80
- </FormControl>
81
- <Box pt={2} />
82
- <FormControl style={{ display: 'flex', flexDirection: 'row', alignItems: 'center' }}>
83
- <InputLabel id="draw-card-select-bot">{emptyLabel}</InputLabel>
84
- <Select
85
- sx={{ width: '100%' }}
86
- labelId="draw-card-select-bot"
87
- id="draw-card-select-bot"
88
- label={emptyLabel}
89
- value={optionTwo}
90
- disabled={isDisabled}
91
- onChange={(e) => handleOnSelectionChange(e, positions.TWO)}
92
- >
93
- <MenuItem value="">None</MenuItem>
94
-
95
- {options.map((option) => <MenuItem key={option.id} value={option.id}>{option.label}</MenuItem>)}
96
- <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value={BYE_ROUND}>Set bye</MenuItem>
97
- </Select>
98
- </FormControl>
99
- </>
100
- ) : (
101
- <>
102
- <Box display="flex" justifyContent="space-between">
103
- <Typography
104
- style={{
105
- overflow: 'hidden',
106
- textOverflow: 'ellipsis',
107
- paddingRight: '4px',
108
- whiteSpace: 'nowrap'
109
- }}
110
- category="secondary"
111
- size={isPosition1Winner ? 'medium-medium' : "medium-book"}
112
- >
113
- {position1Team?.name}
114
- </Typography>
115
- <Typography category="secondary" size={isPosition1Winner ? 'medium-medium' : "medium-book"}>
116
- {isScorelessMatch ? '-' : position1Team?.points}
117
- </Typography>
118
- </Box>
119
- <Divider sx={{ my: 2 }} />
120
- <Box display="flex" justifyContent="space-between">
121
- <Typography
122
- style={{
123
- overflow: 'hidden',
124
- textOverflow: 'ellipsis',
125
- paddingRight: '4px',
126
- whiteSpace: 'nowrap'
127
- }}
128
- category="secondary"
129
- size={isPosition2Winner ? 'medium-medium' : "medium-book"}
130
- >
131
- {position2Team?.name}
132
- </Typography>
133
- <Typography category="secondary" size={isPosition2Winner ? 'medium-medium' : "medium-book"}>
134
- {isScorelessMatch ? '-' : position2Team?.points}
135
- </Typography>
136
- </Box>
137
- </>
138
- )}
139
- <BottomGrid>
140
- <Box>
141
- <Typography
142
- style={{
143
- overflow: 'hidden',
144
- textOverflow: 'ellipsis',
145
- display: '-webkit-box',
146
- WebkitBoxOrient: 'vertical',
147
- WebkitLineClamp: 1,
148
- }}
149
- category={CATEGORY_ENUM.SECONDARY}
150
- size={SECONDARY_SIZES_ENUM.SmallBook}
151
- >
152
- {dateLabel}
153
- </Typography>
154
- <Typography
155
- style={{
156
- overflow: 'hidden',
157
- textOverflow: 'ellipsis',
158
- display: '-webkit-box',
159
- WebkitBoxOrient: 'vertical',
160
- WebkitLineClamp: 1,
161
- }}
162
- category={CATEGORY_ENUM.SECONDARY}
163
- size={SECONDARY_SIZES_ENUM.SmallBook}
164
- >
165
- {locationLabel}
166
- </Typography>
167
- </Box>
168
- <Box sx={{ display: 'flex', justifyContent: 'end', width: '30%' }}>
169
- {!!onEditClick && isManaging && (
170
- <Button
171
- style={{
172
- display: 'flex',
173
- justifyContent: 'end'
174
- }}
175
- onClick={onEditClick}
176
- category="link"
177
- >
178
- <Typography category={CATEGORY_ENUM.SECONDARY} size={SECONDARY_SIZES_ENUM.XSmallMediumCap}>
179
- Edit
180
- </Typography>
181
- </Button>
182
- )}
183
- {!!onEditClick && !!onViewClick && isManaging && (
184
- <Typography
185
- sx={{ color: 'var(--blue-grey-500)', padding: '0 8px' }}
186
- category={CATEGORY_ENUM.SECONDARY}
187
- size={SECONDARY_SIZES_ENUM.XSmallMediumCap}
188
- >
189
- |
190
- </Typography>
191
- )}
192
- {!!onViewClick && (
193
- <Button
194
- onClick={onViewClick}
195
- category="link"
196
- style={{
197
- display: 'flex',
198
- justifyContent: 'end',
199
- minWidth: 'auto'
200
- }}
201
- >
202
- <Typography category={CATEGORY_ENUM.SECONDARY} size={SECONDARY_SIZES_ENUM.XSmallMediumCap}>
203
- View
204
- </Typography>
205
- </Button>
206
- )}
207
- </Box>
208
- </BottomGrid>
209
- </StyledCard>
210
- );
211
- }
1
+ import React from 'react';
2
+ import Box from '@mui/material/Box';
3
+ import { styled } from '@mui/material/styles';
4
+ import Select, { SelectChangeEvent } from '@mui/material/Select';
5
+ import MenuItem from '@mui/material/MenuItem';
6
+ import { Divider, FormControl, InputLabel } from '@mui/material';
7
+ import Button from '../../atoms/Button/Button';
8
+ import Typography, { SECONDARY_SIZES_ENUM, CATEGORY_ENUM } from '../../atoms/Typography/Typography';
9
+ import { DrawCardProps } from "./sharedTypes";
10
+
11
+ const BYE_ROUND = "Bye";
12
+ type CardProps = {
13
+ isFlexWidth?: boolean;
14
+ isSelectActive?: boolean;
15
+ }
16
+
17
+ const StyledCard = styled(Box, {
18
+ shouldForwardProp: (prop: string) => prop !== 'isFlexWidth' && prop !== 'isSelectActive'
19
+ })(({ isFlexWidth, isSelectActive }: CardProps) => ({
20
+ display: 'flex',
21
+ flexDirection: 'column',
22
+ borderRadius: '4px',
23
+ padding: '16px 24px',
24
+ width: '100%',
25
+ minWidth: isFlexWidth ? 'auto' : '350px',
26
+ height: isSelectActive ? '235px' : '200px',
27
+ backgroundColor: 'var(--cool-grey-150)',
28
+
29
+ '&:hover': {
30
+ cursor: 'pointer'
31
+ },
32
+ }));
33
+
34
+ const BottomGrid = styled(Box)({
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ justifyContent: 'space-between',
38
+ paddingTop: '32px',
39
+ });
40
+
41
+ const positions = {
42
+ ONE: 1,
43
+ TWO: 2,
44
+ };
45
+
46
+ export default function DrawCard({
47
+ options, onChange, onEditClick, onViewClick, selectedOptions, dateLabel, locationLabel,
48
+ emptyLabel, isDisabled, isSelectActive, isPosition1Winner, isPosition2Winner, isManaging,
49
+ isScorelessMatch, position1Team, position2Team, isFlexWidth, ...props
50
+ }: DrawCardProps) {
51
+ const { optionOne, optionTwo } = selectedOptions || {};
52
+
53
+ const handleOnSelectionChange = (event: SelectChangeEvent<unknown>, position: number) => {
54
+ const id = event.target.value as string;
55
+
56
+ if (onChange) {
57
+ onChange({ position, id });
58
+ }
59
+ };
60
+
61
+ return (
62
+ <StyledCard isFlexWidth={isFlexWidth} isSelectActive={isSelectActive} {...props}>
63
+ {isSelectActive ? (
64
+ <>
65
+ <FormControl style={{ display: 'flex', flexDirection: 'row', alignItems: 'center' }}>
66
+ <InputLabel id="draw-card-select-top">{emptyLabel}</InputLabel>
67
+ <Select
68
+ sx={{ width: '100%' }}
69
+ labelId="draw-card-select-top"
70
+ id="draw-card-select-top"
71
+ label={emptyLabel}
72
+ value={optionOne}
73
+ disabled={isDisabled}
74
+ onChange={(e) => handleOnSelectionChange(e, positions.ONE)}
75
+ >
76
+ <MenuItem value="">None</MenuItem>
77
+ {options.map((option) => <MenuItem key={option.id} value={option.id}>{option.label}</MenuItem>)}
78
+ <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value={BYE_ROUND}>Set bye</MenuItem>
79
+ </Select>
80
+ </FormControl>
81
+ <Box pt={2} />
82
+ <FormControl style={{ display: 'flex', flexDirection: 'row', alignItems: 'center' }}>
83
+ <InputLabel id="draw-card-select-bot">{emptyLabel}</InputLabel>
84
+ <Select
85
+ sx={{ width: '100%' }}
86
+ labelId="draw-card-select-bot"
87
+ id="draw-card-select-bot"
88
+ label={emptyLabel}
89
+ value={optionTwo}
90
+ disabled={isDisabled}
91
+ onChange={(e) => handleOnSelectionChange(e, positions.TWO)}
92
+ >
93
+ <MenuItem value="">None</MenuItem>
94
+
95
+ {options.map((option) => <MenuItem key={option.id} value={option.id}>{option.label}</MenuItem>)}
96
+ <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value={BYE_ROUND}>Set bye</MenuItem>
97
+ </Select>
98
+ </FormControl>
99
+ </>
100
+ ) : (
101
+ <>
102
+ <Box display="flex" justifyContent="space-between">
103
+ <Typography
104
+ style={{
105
+ overflow: 'hidden',
106
+ textOverflow: 'ellipsis',
107
+ paddingRight: '4px',
108
+ whiteSpace: 'nowrap'
109
+ }}
110
+ category="secondary"
111
+ size={isPosition1Winner ? 'medium-medium' : "medium-book"}
112
+ >
113
+ {position1Team?.name}
114
+ </Typography>
115
+ <Typography category="secondary" size={isPosition1Winner ? 'medium-medium' : "medium-book"}>
116
+ {isScorelessMatch ? '-' : position1Team?.points}
117
+ </Typography>
118
+ </Box>
119
+ <Divider sx={{ my: 2 }} />
120
+ <Box display="flex" justifyContent="space-between">
121
+ <Typography
122
+ style={{
123
+ overflow: 'hidden',
124
+ textOverflow: 'ellipsis',
125
+ paddingRight: '4px',
126
+ whiteSpace: 'nowrap'
127
+ }}
128
+ category="secondary"
129
+ size={isPosition2Winner ? 'medium-medium' : "medium-book"}
130
+ >
131
+ {position2Team?.name}
132
+ </Typography>
133
+ <Typography category="secondary" size={isPosition2Winner ? 'medium-medium' : "medium-book"}>
134
+ {isScorelessMatch ? '-' : position2Team?.points}
135
+ </Typography>
136
+ </Box>
137
+ </>
138
+ )}
139
+ <BottomGrid>
140
+ <Box>
141
+ <Typography
142
+ style={{
143
+ overflow: 'hidden',
144
+ textOverflow: 'ellipsis',
145
+ display: '-webkit-box',
146
+ WebkitBoxOrient: 'vertical',
147
+ WebkitLineClamp: 1,
148
+ }}
149
+ category={CATEGORY_ENUM.SECONDARY}
150
+ size={SECONDARY_SIZES_ENUM.SmallBook}
151
+ >
152
+ {dateLabel}
153
+ </Typography>
154
+ <Typography
155
+ style={{
156
+ overflow: 'hidden',
157
+ textOverflow: 'ellipsis',
158
+ display: '-webkit-box',
159
+ WebkitBoxOrient: 'vertical',
160
+ WebkitLineClamp: 1,
161
+ }}
162
+ category={CATEGORY_ENUM.SECONDARY}
163
+ size={SECONDARY_SIZES_ENUM.SmallBook}
164
+ >
165
+ {locationLabel}
166
+ </Typography>
167
+ </Box>
168
+ <Box sx={{ display: 'flex', justifyContent: 'end', width: '30%' }}>
169
+ {!!onEditClick && isManaging && (
170
+ <Button
171
+ style={{
172
+ display: 'flex',
173
+ justifyContent: 'end'
174
+ }}
175
+ onClick={onEditClick}
176
+ category="link"
177
+ >
178
+ <Typography category={CATEGORY_ENUM.SECONDARY} size={SECONDARY_SIZES_ENUM.XSmallMediumCap}>
179
+ Edit
180
+ </Typography>
181
+ </Button>
182
+ )}
183
+ {!!onEditClick && !!onViewClick && isManaging && (
184
+ <Typography
185
+ sx={{ color: 'var(--blue-grey-500)', padding: '0 8px' }}
186
+ category={CATEGORY_ENUM.SECONDARY}
187
+ size={SECONDARY_SIZES_ENUM.XSmallMediumCap}
188
+ >
189
+ |
190
+ </Typography>
191
+ )}
192
+ {!!onViewClick && (
193
+ <Button
194
+ onClick={onViewClick}
195
+ category="link"
196
+ style={{
197
+ display: 'flex',
198
+ justifyContent: 'end',
199
+ minWidth: 'auto'
200
+ }}
201
+ >
202
+ <Typography category={CATEGORY_ENUM.SECONDARY} size={SECONDARY_SIZES_ENUM.XSmallMediumCap}>
203
+ View
204
+ </Typography>
205
+ </Button>
206
+ )}
207
+ </Box>
208
+ </BottomGrid>
209
+ </StyledCard>
210
+ );
211
+ }