@universal-tennis/ui-shared 0.1.68 → 0.1.69

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 (285) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +73 -73
  3. package/.storybook/preview.js +12 -12
  4. package/.storybook/variables.css +15 -15
  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 +32 -4
  9. package/dist/components.js +37 -8
  10. package/dist/components.js.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +12 -12
  13. package/dist/items.d.ts +2 -2
  14. package/dist/items.js +1 -1
  15. package/dist/stories/assets/css/variables.css +6 -3
  16. package/dist/stories/assets/icon-chat-blue.svg +10 -10
  17. package/dist/stories/atoms/Button/Button.d.ts +10 -9
  18. package/dist/stories/atoms/Button/Button.js +95 -79
  19. package/dist/stories/atoms/Button/Button.js.map +1 -1
  20. package/dist/stories/atoms/Button/Button.stories.d.ts +17 -16
  21. package/dist/stories/atoms/Button/Button.stories.js +45 -36
  22. package/dist/stories/atoms/Button/Button.stories.js.map +1 -1
  23. package/dist/stories/atoms/Icons/AddIcon.d.ts +3 -0
  24. package/dist/stories/atoms/Icons/AddIcon.js +9 -0
  25. package/dist/stories/atoms/Icons/AddIcon.js.map +1 -0
  26. package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +3 -0
  27. package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.js +7 -0
  28. package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.js.map +1 -0
  29. package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +3 -0
  30. package/dist/stories/atoms/Icons/AvailabilityNoIcon.js +7 -0
  31. package/dist/stories/atoms/Icons/AvailabilityNoIcon.js.map +1 -0
  32. package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +3 -0
  33. package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.js +8 -0
  34. package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.js.map +1 -0
  35. package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +3 -0
  36. package/dist/stories/atoms/Icons/AvailabilityYesIcon.js +7 -0
  37. package/dist/stories/atoms/Icons/AvailabilityYesIcon.js.map +1 -0
  38. package/dist/stories/atoms/Icons/CalendarIcon.d.ts +3 -0
  39. package/dist/stories/atoms/Icons/CalendarIcon.js +7 -0
  40. package/dist/stories/atoms/Icons/CalendarIcon.js.map +1 -0
  41. package/dist/stories/atoms/Icons/ClockIcon.d.ts +3 -0
  42. package/dist/stories/atoms/Icons/ClockIcon.js +9 -0
  43. package/dist/stories/atoms/Icons/ClockIcon.js.map +1 -0
  44. package/dist/stories/atoms/Icons/CloseIcon.d.ts +3 -0
  45. package/dist/stories/atoms/Icons/CloseIcon.js +7 -0
  46. package/dist/stories/atoms/Icons/CloseIcon.js.map +1 -0
  47. package/dist/stories/atoms/Icons/DeleteIcon.d.ts +3 -0
  48. package/dist/stories/atoms/Icons/DeleteIcon.js +11 -0
  49. package/dist/stories/atoms/Icons/DeleteIcon.js.map +1 -0
  50. package/dist/stories/atoms/Icons/EditIcon.d.ts +3 -0
  51. package/dist/stories/atoms/Icons/EditIcon.js +7 -0
  52. package/dist/stories/atoms/Icons/EditIcon.js.map +1 -0
  53. package/dist/stories/atoms/Icons/Icons.stories.d.ts +23 -0
  54. package/dist/stories/atoms/Icons/Icons.stories.js +178 -0
  55. package/dist/stories/atoms/Icons/Icons.stories.js.map +1 -0
  56. package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +3 -0
  57. package/dist/stories/atoms/Icons/LeftChevronIcon.js +7 -0
  58. package/dist/stories/atoms/Icons/LeftChevronIcon.js.map +1 -0
  59. package/dist/stories/atoms/Icons/LocationIcon.d.ts +3 -0
  60. package/dist/stories/atoms/Icons/LocationIcon.js +8 -0
  61. package/dist/stories/atoms/Icons/LocationIcon.js.map +1 -0
  62. package/dist/stories/atoms/Icons/MessageIcon.d.ts +3 -0
  63. package/dist/stories/atoms/Icons/MessageIcon.js +7 -0
  64. package/dist/stories/atoms/Icons/MessageIcon.js.map +1 -0
  65. package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +3 -0
  66. package/dist/stories/atoms/Icons/RightChevronIcon.js +7 -0
  67. package/dist/stories/atoms/Icons/RightChevronIcon.js.map +1 -0
  68. package/dist/stories/atoms/Icons/SessionIcon.d.ts +3 -0
  69. package/dist/stories/atoms/Icons/SessionIcon.js +7 -0
  70. package/dist/stories/atoms/Icons/SessionIcon.js.map +1 -0
  71. package/dist/stories/atoms/Icons/SwapIcon.d.ts +3 -0
  72. package/dist/stories/atoms/Icons/SwapIcon.js +7 -0
  73. package/dist/stories/atoms/Icons/SwapIcon.js.map +1 -0
  74. package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +3 -0
  75. package/dist/stories/atoms/Icons/VisibilityIcon.js +8 -0
  76. package/dist/stories/atoms/Icons/VisibilityIcon.js.map +1 -0
  77. package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +3 -0
  78. package/dist/stories/atoms/Icons/VisibilityOffIcon.js +9 -0
  79. package/dist/stories/atoms/Icons/VisibilityOffIcon.js.map +1 -0
  80. package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +3 -0
  81. package/dist/stories/atoms/Icons/WinnerIndicatorIcon.js +32 -0
  82. package/dist/stories/atoms/Icons/WinnerIndicatorIcon.js.map +1 -0
  83. package/dist/stories/atoms/Icons/sharedTypes.d.ts +9 -0
  84. package/dist/stories/atoms/Icons/sharedTypes.js +2 -0
  85. package/dist/stories/atoms/Icons/sharedTypes.js.map +1 -0
  86. package/dist/stories/atoms/Map/Map.d.ts +7 -0
  87. package/dist/stories/atoms/Map/Map.js +9 -0
  88. package/dist/stories/atoms/Map/Map.js.map +1 -0
  89. package/dist/stories/atoms/Map/Map.stories.d.ts +9 -0
  90. package/dist/stories/atoms/Map/Map.stories.js +36 -0
  91. package/dist/stories/atoms/Map/Map.stories.js.map +1 -0
  92. package/dist/stories/atoms/Typography/Typography.d.ts +49 -10
  93. package/dist/stories/atoms/Typography/Typography.js +143 -99
  94. package/dist/stories/atoms/Typography/Typography.js.map +1 -1
  95. package/dist/stories/atoms/Typography/Typography.stories.d.ts +37 -37
  96. package/dist/stories/atoms/Typography/Typography.stories.js +190 -190
  97. package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +27 -0
  98. package/dist/stories/molecules/AvatarWithName/AvatarWithName.js +21 -0
  99. package/dist/stories/molecules/AvatarWithName/AvatarWithName.js.map +1 -0
  100. package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.d.ts +15 -0
  101. package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.js +73 -0
  102. package/dist/stories/molecules/AvatarWithName/AvatarWithName.stories.js.map +1 -0
  103. package/dist/stories/molecules/Cards/Cards.stories.d.ts +7 -6
  104. package/dist/stories/molecules/Cards/Cards.stories.js +64 -26
  105. package/dist/stories/molecules/Cards/Cards.stories.js.map +1 -1
  106. package/dist/stories/molecules/Cards/ContactCard.d.ts +3 -9
  107. package/dist/stories/molecules/Cards/ContactCard.js +38 -38
  108. package/dist/stories/molecules/Cards/ContactCard.js.map +1 -1
  109. package/dist/stories/molecules/Cards/DrawCard.d.ts +3 -0
  110. package/dist/stories/molecules/Cards/DrawCard.js +117 -0
  111. package/dist/stories/molecules/Cards/DrawCard.js.map +1 -0
  112. package/dist/stories/molecules/Cards/Modals.stories.d.ts +5 -0
  113. package/dist/stories/molecules/Cards/Modals.stories.js +73 -0
  114. package/dist/stories/molecules/Cards/Modals.stories.js.map +1 -0
  115. package/dist/stories/molecules/Cards/TeamCard.d.ts +3 -7
  116. package/dist/stories/molecules/Cards/TeamCard.js +20 -20
  117. package/dist/stories/molecules/Cards/TeamCard.js.map +1 -1
  118. package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +3 -0
  119. package/dist/stories/molecules/Cards/TeamDrawCard.js +75 -0
  120. package/dist/stories/molecules/Cards/TeamDrawCard.js.map +1 -0
  121. package/dist/stories/molecules/Cards/shared.d.ts +4 -9
  122. package/dist/stories/molecules/Cards/shared.js +12 -12
  123. package/dist/stories/molecules/Cards/sharedTypes.d.ts +59 -0
  124. package/dist/stories/molecules/Cards/sharedTypes.js +3 -0
  125. package/dist/stories/molecules/Cards/sharedTypes.js.map +1 -0
  126. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +27 -0
  127. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js +25 -0
  128. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.js.map +1 -0
  129. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.d.ts +13 -0
  130. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.js +66 -0
  131. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.js.map +1 -0
  132. package/dist/stories/organisms/Modals/FullPageModal.d.ts +4 -0
  133. package/dist/stories/organisms/Modals/FullPageModal.js +60 -0
  134. package/dist/stories/organisms/Modals/FullPageModal.js.map +1 -0
  135. package/dist/stories/organisms/Modals/Modals.stories.d.ts +5 -0
  136. package/dist/stories/organisms/Modals/Modals.stories.js +74 -0
  137. package/dist/stories/organisms/Modals/Modals.stories.js.map +1 -0
  138. package/dist/stories/organisms/Modals/sharedTypes.d.ts +14 -0
  139. package/dist/stories/organisms/Modals/sharedTypes.js +2 -0
  140. package/dist/stories/organisms/Modals/sharedTypes.js.map +1 -0
  141. package/dist/stories/organisms/Tables/DrawCardTable.d.ts +3 -0
  142. package/dist/stories/organisms/Tables/DrawCardTable.js +59 -0
  143. package/dist/stories/organisms/Tables/DrawCardTable.js.map +1 -0
  144. package/dist/stories/organisms/Tables/SortableTable.d.ts +23 -0
  145. package/dist/stories/organisms/Tables/SortableTable.js +34 -0
  146. package/dist/stories/organisms/Tables/SortableTable.js.map +1 -0
  147. package/dist/stories/organisms/Tables/Tables.stories.d.ts +8 -0
  148. package/dist/stories/organisms/Tables/Tables.stories.js +91 -0
  149. package/dist/stories/organisms/Tables/Tables.stories.js.map +1 -0
  150. package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +3 -0
  151. package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.js +52 -0
  152. package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.js.map +1 -0
  153. package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +3 -0
  154. package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.js +43 -0
  155. package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.js.map +1 -0
  156. package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +3 -0
  157. package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.js +23 -0
  158. package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.js.map +1 -0
  159. package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +3 -0
  160. package/dist/stories/organisms/Tables/TeamDrawCardTable.js +126 -0
  161. package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +1 -0
  162. package/dist/stories/organisms/Tables/mockData.d.ts +69 -0
  163. package/dist/stories/organisms/Tables/mockData.js +98 -0
  164. package/dist/stories/organisms/Tables/mockData.js.map +1 -0
  165. package/dist/stories/organisms/Tables/sharedTypes.d.ts +15 -0
  166. package/dist/stories/organisms/Tables/sharedTypes.js +2 -0
  167. package/dist/stories/organisms/Tables/sharedTypes.js.map +1 -0
  168. package/dist/stories/utils/constants.d.ts +3 -0
  169. package/dist/stories/utils/constants.js +4 -0
  170. package/dist/stories/utils/constants.js.map +1 -0
  171. package/dist/stories/utils/useScreenSize.d.ts +4 -0
  172. package/dist/stories/utils/useScreenSize.js +28 -0
  173. package/dist/stories/utils/useScreenSize.js.map +1 -0
  174. package/dist/types/tableDataTypes.d.ts +38 -0
  175. package/dist/types/tableDataTypes.js +2 -0
  176. package/dist/types/tableDataTypes.js.map +1 -0
  177. package/infrastructure/azure-pipelines.yml +112 -112
  178. package/package.json +93 -94
  179. package/src/App.js +25 -25
  180. package/src/components.jsx +41 -41
  181. package/src/custom.d.ts +13 -13
  182. package/src/index.js +17 -17
  183. package/src/items.jsx +1 -1
  184. package/src/stories/assets/css/variables.css +14 -14
  185. package/src/stories/assets/icon-chat-blue.svg +10 -10
  186. package/src/stories/assets/icons/icon-add.svg +7 -7
  187. package/src/stories/assets/icons/icon-availability-maybe.svg +3 -3
  188. package/src/stories/assets/icons/icon-availability-no.svg +3 -3
  189. package/src/stories/assets/icons/icon-availability-not-set.svg +8 -8
  190. package/src/stories/assets/icons/icon-availability-yes.svg +3 -3
  191. package/src/stories/assets/icons/icon-calendar.svg +4 -4
  192. package/src/stories/assets/icons/icon-clock.svg +7 -7
  193. package/src/stories/assets/icons/icon-close.svg +3 -3
  194. package/src/stories/assets/icons/icon-delete.svg +9 -9
  195. package/src/stories/assets/icons/icon-edit.svg +3 -3
  196. package/src/stories/assets/icons/icon-location.svg +6 -6
  197. package/src/stories/assets/icons/icon-message.svg +3 -3
  198. package/src/stories/assets/icons/icon-session.svg +3 -3
  199. package/src/stories/assets/icons/icon-swap.svg +3 -3
  200. package/src/stories/assets/icons/icon-visibility-off.svg +7 -7
  201. package/src/stories/assets/icons/icon-visibility.svg +6 -6
  202. package/src/stories/atoms/Button/Button.stories.tsx +63 -63
  203. package/src/stories/atoms/Button/Button.tsx +145 -145
  204. package/src/stories/atoms/Icons/AddIcon.tsx +13 -13
  205. package/src/stories/atoms/Icons/AvailabilityMaybeIcon.tsx +11 -11
  206. package/src/stories/atoms/Icons/AvailabilityNoIcon.tsx +11 -11
  207. package/src/stories/atoms/Icons/AvailabilityNotSetIcon.tsx +12 -12
  208. package/src/stories/atoms/Icons/AvailabilityYesIcon.tsx +11 -11
  209. package/src/stories/atoms/Icons/CalendarIcon.tsx +11 -11
  210. package/src/stories/atoms/Icons/ClockIcon.tsx +14 -14
  211. package/src/stories/atoms/Icons/CloseIcon.tsx +11 -11
  212. package/src/stories/atoms/Icons/DeleteIcon.tsx +15 -15
  213. package/src/stories/atoms/Icons/EditIcon.tsx +11 -11
  214. package/src/stories/atoms/Icons/Icons.stories.tsx +218 -218
  215. package/src/stories/atoms/Icons/LeftChevronIcon.tsx +13 -13
  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/SwapIcon.tsx +11 -11
  221. package/src/stories/atoms/Icons/VisibilityIcon.tsx +12 -12
  222. package/src/stories/atoms/Icons/VisibilityOffIcon.tsx +13 -13
  223. package/src/stories/atoms/Icons/WinnerIndicatorIcon.tsx +39 -39
  224. package/src/stories/atoms/Icons/sharedTypes.tsx +10 -10
  225. package/src/stories/atoms/Map/Map.stories.tsx +43 -43
  226. package/src/stories/atoms/Map/Map.tsx +25 -25
  227. package/src/stories/atoms/Typography/Typography.tsx +185 -185
  228. package/src/stories/molecules/AvatarWithName/AvatarWithName.stories.tsx +86 -86
  229. package/src/stories/molecules/AvatarWithName/AvatarWithName.tsx +68 -68
  230. package/src/stories/molecules/Cards/Cards.stories.tsx +76 -76
  231. package/src/stories/molecules/Cards/ContactCard.tsx +45 -45
  232. package/src/stories/molecules/Cards/DrawCard.tsx +211 -211
  233. package/src/stories/molecules/Cards/Modals.stories.tsx +137 -137
  234. package/src/stories/molecules/Cards/TeamCard.tsx +14 -14
  235. package/src/stories/molecules/Cards/TeamDrawCard.tsx +135 -135
  236. package/src/stories/molecules/Cards/sharedTypes.ts +67 -67
  237. package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +77 -77
  238. package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +84 -84
  239. package/src/stories/organisms/Modals/FullPageModal.tsx +93 -93
  240. package/src/stories/organisms/Modals/Modals.stories.tsx +138 -138
  241. package/src/stories/organisms/Modals/sharedTypes.ts +15 -15
  242. package/src/stories/organisms/Tables/DrawCardTable.tsx +92 -92
  243. package/src/stories/organisms/Tables/SortableTable.tsx +112 -112
  244. package/src/stories/organisms/Tables/Tables.stories.tsx +104 -104
  245. package/src/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.tsx +102 -102
  246. package/src/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.tsx +67 -67
  247. package/src/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.tsx +24 -24
  248. package/src/stories/organisms/Tables/mockData.tsx +129 -129
  249. package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
  250. package/src/stories/utils/constants.ts +3 -3
  251. package/src/stories/utils/useScreenSize.ts +28 -28
  252. package/src/types/tableDataTypes.ts +42 -42
  253. package/tsconfig.json +23 -23
  254. package/dist/stories/Button.d.ts +0 -27
  255. package/dist/stories/Button.js +0 -51
  256. package/dist/stories/Button.js.map +0 -1
  257. package/dist/stories/Button.stories.d.ts +0 -15
  258. package/dist/stories/Button.stories.js +0 -34
  259. package/dist/stories/Button.stories.js.map +0 -1
  260. package/dist/stories/Header.d.ts +0 -19
  261. package/dist/stories/Header.js +0 -31
  262. package/dist/stories/Header.js.map +0 -1
  263. package/dist/stories/Header.stories.d.ts +0 -11
  264. package/dist/stories/Header.stories.js +0 -20
  265. package/dist/stories/Header.stories.js.map +0 -1
  266. package/dist/stories/Page.d.ts +0 -1
  267. package/dist/stories/Page.js +0 -38
  268. package/dist/stories/Page.js.map +0 -1
  269. package/dist/stories/Page.stories.d.ts +0 -11
  270. package/dist/stories/Page.stories.js +0 -30
  271. package/dist/stories/Page.stories.js.map +0 -1
  272. package/dist/stories/assets/comments.svg +0 -1
  273. package/dist/stories/assets/direction.svg +0 -1
  274. package/dist/stories/atoms/Button/index.d.ts +0 -1
  275. package/dist/stories/atoms/Button/index.js +0 -2
  276. package/dist/stories/atoms/Button/index.js.map +0 -1
  277. package/dist/stories/atoms/Button.d.ts +0 -7
  278. package/dist/stories/atoms/Button.js +0 -20
  279. package/dist/stories/atoms/Button.js.map +0 -1
  280. package/dist/stories/atoms/Button.stories.d.ts +0 -13
  281. package/dist/stories/atoms/Button.stories.js +0 -22
  282. package/dist/stories/atoms/Button.stories.js.map +0 -1
  283. package/dist/stories/atoms/Typography/index.d.ts +0 -1
  284. package/dist/stories/atoms/Typography/index.js +0 -2
  285. package/dist/stories/atoms/Typography/index.js.map +0 -1
@@ -1,67 +1,67 @@
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
- }
56
-
57
- export interface TeamCardProps {
58
- title: string;
59
- description: string;
60
- }
61
-
62
- export interface ContactCardProps {
63
- name: string;
64
- phone: string;
65
- email: string;
66
- onMessageClick?: VoidFunction;
67
- }
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
+ }
56
+
57
+ export interface TeamCardProps {
58
+ title: string;
59
+ description: string;
60
+ }
61
+
62
+ export interface ContactCardProps {
63
+ name: string;
64
+ phone: string;
65
+ email: string;
66
+ onMessageClick?: VoidFunction;
67
+ }
@@ -1,77 +1,77 @@
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 WithLowercaseName = SquareAvatarWithNameTemplate.bind({});
57
- WithLowercaseName.args = {
58
- name: "team dream",
59
- };
60
-
61
- export const WithLongName = SquareAvatarWithLongNameTemplate.bind({});
62
- WithLongName.args = {
63
- name: "Team Dreamadeamadeamadeamadeam",
64
- };
65
-
66
- export const WithLongLinkName = SquareAvatarWithLongNameTemplate.bind({});
67
- WithLongLinkName.args = {
68
- name: "Team Dreamadeamadeamadeamadeam",
69
- href: "https://www.reddit.com",
70
- maxLinkWidth: "200px"
71
- };
72
-
73
- export const IsBye = SquareAvatarWithNameTemplate.bind({});
74
- IsBye.args = {
75
- name: "Bye",
76
- isBye: true,
77
- };
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 WithLowercaseName = SquareAvatarWithNameTemplate.bind({});
57
+ WithLowercaseName.args = {
58
+ name: "team dream",
59
+ };
60
+
61
+ export const WithLongName = SquareAvatarWithLongNameTemplate.bind({});
62
+ WithLongName.args = {
63
+ name: "Team Dreamadeamadeamadeamadeam",
64
+ };
65
+
66
+ export const WithLongLinkName = SquareAvatarWithLongNameTemplate.bind({});
67
+ WithLongLinkName.args = {
68
+ name: "Team Dreamadeamadeamadeamadeam",
69
+ href: "https://www.reddit.com",
70
+ maxLinkWidth: "200px"
71
+ };
72
+
73
+ export const IsBye = SquareAvatarWithNameTemplate.bind({});
74
+ IsBye.args = {
75
+ name: "Bye",
76
+ isBye: true,
77
+ };
@@ -1,84 +1,84 @@
1
- import React from 'react';
2
-
3
- import Avatar from '@mui/material/Avatar';
4
- import Box from '@mui/material/Box';
5
- import Link from '@mui/material/Link';
6
-
7
- import Typography from '../../atoms/Typography/Typography';
8
-
9
- export interface SquareAvatarWithNameProps {
10
- avatarOnly: boolean;
11
- avatarFontCategory: string;
12
- avatarFontSize: string;
13
- avatarWidth: string;
14
- avatarHeight: string;
15
- href: string,
16
- maxLinkWidth: string,
17
- name: string;
18
- fontCategory: string;
19
- fontSize: string;
20
- isBye: boolean;
21
- }
22
-
23
- export default function SquareAvatarWithName({
24
- avatarOnly = false, name = '', avatarFontSize = 'small-medium', href = '',
25
- avatarFontCategory = 'primary', avatarWidth = '26px', avatarHeight = '26px',
26
- fontSize = 'medium-book', fontCategory = 'secondary', isBye = false, maxLinkWidth = "auto"
27
- }) {
28
- const getAcronym = (str: string) => {
29
- const acronym = str?.split(' ').map((word) => word.charAt(0)).join('');
30
- return acronym;
31
- };
32
-
33
- const SquareAvatarComponent = (
34
- <Avatar
35
- sx={{
36
- backgroundColor: isBye ? 'var(--grey)' : 'var(--black)',
37
- marginRight: '8px',
38
- width: `${avatarWidth}`,
39
- height: `${avatarHeight}`
40
- }}
41
- variant="rounded"
42
- >
43
- <Typography
44
- sx={{ textTransform: 'uppercase' }}
45
- size={avatarFontSize}
46
- category={avatarFontCategory}
47
- >
48
- {isBye ? '—' : getAcronym(name)}
49
- </Typography>
50
- </Avatar>
51
- );
52
-
53
- return (
54
- avatarOnly ? (
55
- SquareAvatarComponent
56
- ) : (
57
- <Box display="flex" alignItems="center">
58
- {SquareAvatarComponent}
59
- {href ? (
60
- <Link href={href} sx={{ textDecoration: 'none' }}>
61
- <Typography
62
- category={fontCategory}
63
- size={fontSize}
64
- maxWidth={maxLinkWidth}
65
- sx={{ whiteSpace: 'noWrap', overflow: 'hidden', textOverflow: 'ellipsis' }}
66
- >
67
- {name}
68
- </Typography>
69
- </Link>
70
- ) : (
71
- <Typography
72
- category={fontCategory}
73
- size={fontSize}
74
- sx={{
75
- whiteSpace: 'noWrap', overflow: 'hidden', textOverflow: 'ellipsis', color: isBye ? 'grey' : 'black'
76
- }}
77
- >
78
- {name}
79
- </Typography>
80
- )}
81
- </Box>
82
- )
83
- );
84
- }
1
+ import React from 'react';
2
+
3
+ import Avatar from '@mui/material/Avatar';
4
+ import Box from '@mui/material/Box';
5
+ import Link from '@mui/material/Link';
6
+
7
+ import Typography from '../../atoms/Typography/Typography';
8
+
9
+ export interface SquareAvatarWithNameProps {
10
+ avatarOnly: boolean;
11
+ avatarFontCategory: string;
12
+ avatarFontSize: string;
13
+ avatarWidth: string;
14
+ avatarHeight: string;
15
+ href: string,
16
+ maxLinkWidth: string,
17
+ name: string;
18
+ fontCategory: string;
19
+ fontSize: string;
20
+ isBye: boolean;
21
+ }
22
+
23
+ export default function SquareAvatarWithName({
24
+ avatarOnly = false, name = '', avatarFontSize = 'small-medium', href = '',
25
+ avatarFontCategory = 'primary', avatarWidth = '26px', avatarHeight = '26px',
26
+ fontSize = 'medium-book', fontCategory = 'secondary', isBye = false, maxLinkWidth = "auto"
27
+ }) {
28
+ const getAcronym = (str: string) => {
29
+ const acronym = str?.split(' ').map((word) => word.charAt(0)).join('');
30
+ return acronym;
31
+ };
32
+
33
+ const SquareAvatarComponent = (
34
+ <Avatar
35
+ sx={{
36
+ backgroundColor: isBye ? 'var(--grey)' : 'var(--black)',
37
+ marginRight: '8px',
38
+ width: `${avatarWidth}`,
39
+ height: `${avatarHeight}`
40
+ }}
41
+ variant="rounded"
42
+ >
43
+ <Typography
44
+ sx={{ textTransform: 'uppercase' }}
45
+ size={avatarFontSize}
46
+ category={avatarFontCategory}
47
+ >
48
+ {isBye ? '—' : getAcronym(name)}
49
+ </Typography>
50
+ </Avatar>
51
+ );
52
+
53
+ return (
54
+ avatarOnly ? (
55
+ SquareAvatarComponent
56
+ ) : (
57
+ <Box display="flex" alignItems="center">
58
+ {SquareAvatarComponent}
59
+ {href ? (
60
+ <Link href={href} sx={{ textDecoration: 'none' }}>
61
+ <Typography
62
+ category={fontCategory}
63
+ size={fontSize}
64
+ maxWidth={maxLinkWidth}
65
+ sx={{ whiteSpace: 'noWrap', overflow: 'hidden', textOverflow: 'ellipsis' }}
66
+ >
67
+ {name}
68
+ </Typography>
69
+ </Link>
70
+ ) : (
71
+ <Typography
72
+ category={fontCategory}
73
+ size={fontSize}
74
+ sx={{
75
+ whiteSpace: 'noWrap', overflow: 'hidden', textOverflow: 'ellipsis', color: isBye ? 'grey' : 'black'
76
+ }}
77
+ >
78
+ {name}
79
+ </Typography>
80
+ )}
81
+ </Box>
82
+ )
83
+ );
84
+ }
@@ -1,93 +1,93 @@
1
- import React from 'react';
2
- import AppBar from '@mui/material/AppBar';
3
- import Box from '@mui/material/Box';
4
- import CloseIcon from '@mui/icons-material/Close';
5
- import Container from '@mui/material/Container';
6
- import Dialog from '@mui/material/Dialog';
7
- import IconButton from '@mui/material/IconButton';
8
- import Toolbar from '@mui/material/Toolbar';
9
- import Typography from '@mui/material/Typography';
10
- import Grid from '@mui/material/Grid';
11
- import Button from '../../atoms/Button/Button';
12
- import { FullPageModalType } from './sharedTypes';
13
-
14
- function FullPageModal({
15
- isOpen,
16
- onClose,
17
- pageTitle,
18
- bottomCTAText,
19
- secondaryBottomCTAText,
20
- onBottomCTAClick,
21
- onSecondaryBottomCTAClick,
22
- isBottomCTAdisabled,
23
- isSecondaryBottomCTAdisabled,
24
- PagePopupModal,
25
- children,
26
- ...props
27
- }: FullPageModalType) {
28
- const handleOnClose = () => {
29
- onClose();
30
- };
31
-
32
- return (
33
- <Box position="relative" {...props}>
34
- <Dialog
35
- PaperProps={{
36
- style: {
37
- backgroundColor: 'var(--cool-grey-150)',
38
- boxShadow: 'none',
39
- overflow: 'hidden'
40
- },
41
- }}
42
- fullScreen
43
- open={isOpen}
44
- onClose={handleOnClose}
45
- >
46
- <AppBar sx={{ position: 'relative', backgroundColor: 'var(--white)' }}>
47
- <Toolbar>
48
- <Container maxWidth={false}>
49
- <Box display="flex" justifyContent="space-between" alignItems="center">
50
- <Typography variant="h6">{pageTitle}</Typography>
51
- <IconButton edge="start" onClick={handleOnClose} aria-label="close">
52
- <CloseIcon />
53
- </IconButton>
54
- </Box>
55
- </Container>
56
- </Toolbar>
57
- </AppBar>
58
- <Grid sx={{ minHeight: "100vh", paddingBottom: '136px' }} container>
59
- {children}
60
- {bottomCTAText && !!onBottomCTAClick && (
61
- <Box
62
- sx={{
63
- position: "fixed",
64
- width: "100%",
65
- backgroundColor: 'black',
66
- zIndex: 2,
67
- display: 'flex',
68
- justifyContent: 'flex-end'
69
- }}
70
- p={2}
71
- bottom={0}
72
- >
73
- {!!onSecondaryBottomCTAClick && secondaryBottomCTAText && (
74
- <Box sx={{ marginRight: '16px' }}>
75
- <Button onClick={onSecondaryBottomCTAClick} disabled={isSecondaryBottomCTAdisabled} category="secondary-flipped">
76
- {secondaryBottomCTAText}
77
- </Button>
78
- </Box>
79
- )}
80
- <Box>
81
- <Button onClick={onBottomCTAClick} disabled={isBottomCTAdisabled} category="secondary-flipped">
82
- {bottomCTAText}
83
- </Button>
84
- </Box>
85
- </Box>
86
- )}
87
- </Grid>
88
- {PagePopupModal}
89
- </Dialog>
90
- </Box>
91
- );
92
- }
93
- export default FullPageModal;
1
+ import React from 'react';
2
+ import AppBar from '@mui/material/AppBar';
3
+ import Box from '@mui/material/Box';
4
+ import CloseIcon from '@mui/icons-material/Close';
5
+ import Container from '@mui/material/Container';
6
+ import Dialog from '@mui/material/Dialog';
7
+ import IconButton from '@mui/material/IconButton';
8
+ import Toolbar from '@mui/material/Toolbar';
9
+ import Typography from '@mui/material/Typography';
10
+ import Grid from '@mui/material/Grid';
11
+ import Button from '../../atoms/Button/Button';
12
+ import { FullPageModalType } from './sharedTypes';
13
+
14
+ function FullPageModal({
15
+ isOpen,
16
+ onClose,
17
+ pageTitle,
18
+ bottomCTAText,
19
+ secondaryBottomCTAText,
20
+ onBottomCTAClick,
21
+ onSecondaryBottomCTAClick,
22
+ isBottomCTAdisabled,
23
+ isSecondaryBottomCTAdisabled,
24
+ PagePopupModal,
25
+ children,
26
+ ...props
27
+ }: FullPageModalType) {
28
+ const handleOnClose = () => {
29
+ onClose();
30
+ };
31
+
32
+ return (
33
+ <Box position="relative" {...props}>
34
+ <Dialog
35
+ PaperProps={{
36
+ style: {
37
+ backgroundColor: 'var(--cool-grey-150)',
38
+ boxShadow: 'none',
39
+ overflow: 'hidden'
40
+ },
41
+ }}
42
+ fullScreen
43
+ open={isOpen}
44
+ onClose={handleOnClose}
45
+ >
46
+ <AppBar sx={{ position: 'relative', backgroundColor: 'var(--white)' }}>
47
+ <Toolbar>
48
+ <Container maxWidth={false}>
49
+ <Box display="flex" justifyContent="space-between" alignItems="center">
50
+ <Typography variant="h6">{pageTitle}</Typography>
51
+ <IconButton edge="start" onClick={handleOnClose} aria-label="close">
52
+ <CloseIcon />
53
+ </IconButton>
54
+ </Box>
55
+ </Container>
56
+ </Toolbar>
57
+ </AppBar>
58
+ <Grid sx={{ minHeight: "100vh", paddingBottom: '136px' }} container>
59
+ {children}
60
+ {bottomCTAText && !!onBottomCTAClick && (
61
+ <Box
62
+ sx={{
63
+ position: "fixed",
64
+ width: "100%",
65
+ backgroundColor: 'black',
66
+ zIndex: 2,
67
+ display: 'flex',
68
+ justifyContent: 'flex-end'
69
+ }}
70
+ p={2}
71
+ bottom={0}
72
+ >
73
+ {!!onSecondaryBottomCTAClick && secondaryBottomCTAText && (
74
+ <Box sx={{ marginRight: '16px' }}>
75
+ <Button onClick={onSecondaryBottomCTAClick} disabled={isSecondaryBottomCTAdisabled} category="secondary-flipped">
76
+ {secondaryBottomCTAText}
77
+ </Button>
78
+ </Box>
79
+ )}
80
+ <Box>
81
+ <Button onClick={onBottomCTAClick} disabled={isBottomCTAdisabled} category="secondary-flipped">
82
+ {bottomCTAText}
83
+ </Button>
84
+ </Box>
85
+ </Box>
86
+ )}
87
+ </Grid>
88
+ {PagePopupModal}
89
+ </Dialog>
90
+ </Box>
91
+ );
92
+ }
93
+ export default FullPageModal;