@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.
Files changed (227) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +73 -73
  3. package/.storybook/main.js +16 -16
  4. package/.storybook/preview.js +17 -17
  5. package/.storybook/typography.css +5 -26
  6. package/.storybook/variables.css +16 -16
  7. package/README.md +129 -129
  8. package/dist/App.d.ts +1 -1
  9. package/dist/stories/Button.d.ts +27 -0
  10. package/dist/stories/Button.js +51 -0
  11. package/dist/stories/Button.js.map +1 -0
  12. package/dist/stories/Button.stories.d.ts +15 -0
  13. package/dist/stories/Button.stories.js +34 -0
  14. package/dist/stories/Button.stories.js.map +1 -0
  15. package/dist/stories/Header.d.ts +19 -0
  16. package/dist/stories/Header.js +31 -0
  17. package/dist/stories/Header.js.map +1 -0
  18. package/dist/stories/Header.stories.d.ts +11 -0
  19. package/dist/stories/Header.stories.js +20 -0
  20. package/dist/stories/Header.stories.js.map +1 -0
  21. package/dist/stories/Page.d.ts +1 -0
  22. package/dist/stories/Page.js +38 -0
  23. package/dist/stories/Page.js.map +1 -0
  24. package/dist/stories/Page.stories.d.ts +11 -0
  25. package/dist/stories/Page.stories.js +30 -0
  26. package/dist/stories/Page.stories.js.map +1 -0
  27. package/dist/stories/assets/comments.svg +1 -0
  28. package/dist/stories/assets/css/typography.css +5 -26
  29. package/dist/stories/assets/css/variables.css +15 -15
  30. package/dist/stories/assets/direction.svg +1 -0
  31. package/dist/stories/assets/icon-chat-blue.svg +10 -10
  32. package/dist/stories/assets/utr-sports-logo.svg +9 -9
  33. package/dist/stories/atoms/Button/Button.d.ts +1 -1
  34. package/dist/stories/atoms/Button/Button.js.map +1 -1
  35. package/dist/stories/atoms/Button/index.d.ts +1 -0
  36. package/dist/stories/atoms/Button/index.js +2 -0
  37. package/dist/stories/atoms/Button/index.js.map +1 -0
  38. package/dist/stories/atoms/Button.d.ts +7 -0
  39. package/dist/stories/atoms/Button.js +20 -0
  40. package/dist/stories/atoms/Button.js.map +1 -0
  41. package/dist/stories/atoms/Button.stories.d.ts +13 -0
  42. package/dist/stories/atoms/Button.stories.js +22 -0
  43. package/dist/stories/atoms/Button.stories.js.map +1 -0
  44. package/dist/stories/atoms/Icons/AddIcon.d.ts +2 -2
  45. package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +2 -2
  46. package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +2 -2
  47. package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +2 -2
  48. package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +2 -2
  49. package/dist/stories/atoms/Icons/BallInMotionIcon.d.ts +2 -2
  50. package/dist/stories/atoms/Icons/CalendarIcon.d.ts +2 -2
  51. package/dist/stories/atoms/Icons/ClockIcon.d.ts +2 -2
  52. package/dist/stories/atoms/Icons/CloseIcon.d.ts +2 -2
  53. package/dist/stories/atoms/Icons/DeleteIcon.d.ts +2 -2
  54. package/dist/stories/atoms/Icons/DoublePersonIcon.d.ts +2 -2
  55. package/dist/stories/atoms/Icons/EditIcon.d.ts +2 -2
  56. package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +2 -2
  57. package/dist/stories/atoms/Icons/LineIcon.d.ts +2 -2
  58. package/dist/stories/atoms/Icons/LocationIcon.d.ts +2 -2
  59. package/dist/stories/atoms/Icons/MessageIcon.d.ts +2 -2
  60. package/dist/stories/atoms/Icons/PickleballBallIcon.d.ts +2 -2
  61. package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +2 -2
  62. package/dist/stories/atoms/Icons/SessionIcon.d.ts +2 -2
  63. package/dist/stories/atoms/Icons/SinglePersonIcon.d.ts +2 -2
  64. package/dist/stories/atoms/Icons/SinglePersonV2Icon.d.ts +2 -2
  65. package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.d.ts +2 -2
  66. package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.d.ts +2 -2
  67. package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.d.ts +2 -2
  68. package/dist/stories/atoms/Icons/SocialMediaXIcon.d.ts +2 -2
  69. package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.d.ts +2 -2
  70. package/dist/stories/atoms/Icons/SwapIcon.d.ts +2 -2
  71. package/dist/stories/atoms/Icons/SwapNoBorderIcon.d.ts +2 -2
  72. package/dist/stories/atoms/Icons/TennisBallIcon.d.ts +2 -2
  73. package/dist/stories/atoms/Icons/VerifiedIcon.d.ts +2 -2
  74. package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +2 -2
  75. package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +2 -2
  76. package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +2 -2
  77. package/dist/stories/atoms/Typography/Typography.d.ts +2 -2
  78. package/dist/stories/atoms/Typography/Typography.js.map +1 -1
  79. package/dist/stories/atoms/Typography/index.d.ts +1 -0
  80. package/dist/stories/atoms/Typography/index.js +2 -0
  81. package/dist/stories/atoms/Typography/index.js.map +1 -0
  82. package/dist/stories/atoms/UTMap/UTMap.d.ts +2 -2
  83. package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +2 -2
  84. package/dist/stories/molecules/Cards/ContactCard.d.ts +2 -2
  85. package/dist/stories/molecules/Cards/DrawCard.d.ts +2 -2
  86. package/dist/stories/molecules/Cards/DrawCard.js.map +1 -1
  87. package/dist/stories/molecules/Cards/TeamCard.d.ts +2 -2
  88. package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +2 -2
  89. package/dist/stories/molecules/Cards/shared.d.ts +1 -4
  90. package/dist/stories/molecules/FooterSection/FooterSection.d.ts +2 -2
  91. package/dist/stories/molecules/GlobalNavItem/GlobalNavItem.d.ts +2 -2
  92. package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +2 -2
  93. package/dist/stories/organisms/Footer/Footer.d.ts +2 -2
  94. package/dist/stories/organisms/Footer/Footer.js +2 -6
  95. package/dist/stories/organisms/Footer/Footer.js.map +1 -1
  96. package/dist/stories/organisms/GlobalNavigation/GlobalNavigation.d.ts +2 -2
  97. package/dist/stories/organisms/GlobalNavigation/GlobalNavigation.js.map +1 -1
  98. package/dist/stories/organisms/Modals/FullPageModal.d.ts +2 -2
  99. package/dist/stories/organisms/Tables/DrawCardTable.d.ts +2 -2
  100. package/dist/stories/organisms/Tables/DrawCardTable.js +2 -2
  101. package/dist/stories/organisms/Tables/SortableTable.d.ts +2 -2
  102. package/dist/stories/organisms/Tables/SortableTable.js.map +1 -1
  103. package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +2 -2
  104. package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +2 -2
  105. package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +2 -2
  106. package/dist/stories/organisms/Tables/mockData.d.ts +2 -2
  107. package/dist/stories/utils/constants.js.map +1 -1
  108. package/infrastructure/azure-pipelines.yml +112 -112
  109. package/package.json +99 -99
  110. package/public/index.html +50 -45
  111. package/src/App.js +25 -25
  112. package/src/components.jsx +52 -52
  113. package/src/custom.d.ts +13 -13
  114. package/src/index.js +17 -17
  115. package/src/items.jsx +1 -1
  116. package/src/stories/Introduction.stories.mdx +179 -179
  117. package/src/stories/assets/css/typography.css +5 -26
  118. package/src/stories/assets/css/variables.css +15 -15
  119. package/src/stories/assets/icon-chat-blue.svg +10 -10
  120. package/src/stories/assets/icons/icon-add.svg +7 -7
  121. package/src/stories/assets/icons/icon-availability-maybe.svg +3 -3
  122. package/src/stories/assets/icons/icon-availability-no.svg +3 -3
  123. package/src/stories/assets/icons/icon-availability-not-set.svg +8 -8
  124. package/src/stories/assets/icons/icon-availability-yes.svg +3 -3
  125. package/src/stories/assets/icons/icon-calendar.svg +4 -4
  126. package/src/stories/assets/icons/icon-clock.svg +7 -7
  127. package/src/stories/assets/icons/icon-close.svg +3 -3
  128. package/src/stories/assets/icons/icon-delete.svg +9 -9
  129. package/src/stories/assets/icons/icon-edit.svg +3 -3
  130. package/src/stories/assets/icons/icon-location.svg +6 -6
  131. package/src/stories/assets/icons/icon-message.svg +3 -3
  132. package/src/stories/assets/icons/icon-session.svg +3 -3
  133. package/src/stories/assets/icons/icon-social-media-facebook.svg +10 -10
  134. package/src/stories/assets/icons/icon-social-media-instagram.svg +3 -3
  135. package/src/stories/assets/icons/icon-social-media-tiktok.svg +10 -10
  136. package/src/stories/assets/icons/icon-social-media-x.svg +10 -10
  137. package/src/stories/assets/icons/icon-social-media-youtube.svg +3 -3
  138. package/src/stories/assets/icons/icon-swap.svg +3 -3
  139. package/src/stories/assets/icons/icon-visibility-off.svg +7 -7
  140. package/src/stories/assets/icons/icon-visibility.svg +6 -6
  141. package/src/stories/assets/utr-sports-logo.svg +9 -9
  142. package/src/stories/atoms/Button/Button.stories.tsx +63 -63
  143. package/src/stories/atoms/Button/Button.tsx +145 -145
  144. package/src/stories/atoms/Icons/AddIcon.tsx +13 -13
  145. package/src/stories/atoms/Icons/AvailabilityMaybeIcon.tsx +11 -11
  146. package/src/stories/atoms/Icons/AvailabilityNoIcon.tsx +11 -11
  147. package/src/stories/atoms/Icons/AvailabilityNotSetIcon.tsx +12 -12
  148. package/src/stories/atoms/Icons/AvailabilityYesIcon.tsx +11 -11
  149. package/src/stories/atoms/Icons/BallInMotionIcon.tsx +15 -15
  150. package/src/stories/atoms/Icons/CalendarIcon.tsx +11 -11
  151. package/src/stories/atoms/Icons/ClockIcon.tsx +14 -14
  152. package/src/stories/atoms/Icons/CloseIcon.tsx +11 -11
  153. package/src/stories/atoms/Icons/DeleteIcon.tsx +15 -15
  154. package/src/stories/atoms/Icons/DoublePersonIcon.tsx +20 -20
  155. package/src/stories/atoms/Icons/EditIcon.tsx +11 -11
  156. package/src/stories/atoms/Icons/Icons.stories.tsx +372 -372
  157. package/src/stories/atoms/Icons/LeftChevronIcon.tsx +13 -13
  158. package/src/stories/atoms/Icons/LineIcon.tsx +12 -12
  159. package/src/stories/atoms/Icons/LocationIcon.tsx +12 -12
  160. package/src/stories/atoms/Icons/MessageIcon.tsx +12 -12
  161. package/src/stories/atoms/Icons/PickleballBallIcon.tsx +22 -22
  162. package/src/stories/atoms/Icons/RightChevronIcon.tsx +11 -11
  163. package/src/stories/atoms/Icons/SessionIcon.tsx +16 -16
  164. package/src/stories/atoms/Icons/SinglePersonIcon.tsx +16 -16
  165. package/src/stories/atoms/Icons/SinglePersonV2Icon.tsx +13 -13
  166. package/src/stories/atoms/Icons/SocialMediaFacebookIcon.tsx +19 -19
  167. package/src/stories/atoms/Icons/SocialMediaInstagramIcon.tsx +11 -11
  168. package/src/stories/atoms/Icons/SocialMediaTikTokIcon.tsx +18 -18
  169. package/src/stories/atoms/Icons/SocialMediaXIcon.tsx +18 -18
  170. package/src/stories/atoms/Icons/SocialMediaYoutubeIcon.tsx +11 -11
  171. package/src/stories/atoms/Icons/SwapIcon.tsx +11 -11
  172. package/src/stories/atoms/Icons/SwapNoBorderIcon.tsx +14 -14
  173. package/src/stories/atoms/Icons/TennisBallIcon.tsx +13 -13
  174. package/src/stories/atoms/Icons/VerifiedIcon.tsx +13 -13
  175. package/src/stories/atoms/Icons/VisibilityIcon.tsx +12 -12
  176. package/src/stories/atoms/Icons/VisibilityOffIcon.tsx +13 -13
  177. package/src/stories/atoms/Icons/WinnerIndicatorIcon.tsx +39 -39
  178. package/src/stories/atoms/Icons/sharedTypes.tsx +12 -12
  179. package/src/stories/atoms/Typography/Typography.tsx +185 -185
  180. package/src/stories/atoms/UTMap/UTMap.stories.tsx +43 -43
  181. package/src/stories/atoms/UTMap/UTMap.tsx +25 -25
  182. package/src/stories/molecules/AvatarWithName/AvatarWithName.stories.tsx +86 -86
  183. package/src/stories/molecules/AvatarWithName/AvatarWithName.tsx +68 -68
  184. package/src/stories/molecules/Cards/Cards.stories.tsx +76 -76
  185. package/src/stories/molecules/Cards/ContactCard.tsx +45 -45
  186. package/src/stories/molecules/Cards/DrawCard.tsx +211 -211
  187. package/src/stories/molecules/Cards/Modals.stories.tsx +137 -137
  188. package/src/stories/molecules/Cards/TeamCard.tsx +14 -14
  189. package/src/stories/molecules/Cards/TeamDrawCard.tsx +159 -159
  190. package/src/stories/molecules/Cards/sharedTypes.ts +69 -69
  191. package/src/stories/molecules/FooterSection/FooterSection.stories.tsx +25 -25
  192. package/src/stories/molecules/FooterSection/FooterSection.tsx +34 -34
  193. package/src/stories/molecules/FooterSection/sharedTypes.ts +6 -6
  194. package/src/stories/molecules/GlobalNavItem/GlobalNavItem.stories.tsx +22 -22
  195. package/src/stories/molecules/GlobalNavItem/GlobalNavItem.tsx +51 -51
  196. package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +96 -96
  197. package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +112 -112
  198. package/src/stories/organisms/Footer/Footer.stories.tsx +63 -63
  199. package/src/stories/organisms/Footer/Footer.tsx +155 -165
  200. package/src/stories/organisms/Footer/sharedTypes.ts +17 -17
  201. package/src/stories/organisms/GlobalNavigation/GlobalNavigation.stories.tsx +210 -210
  202. package/src/stories/organisms/GlobalNavigation/GlobalNavigation.tsx +120 -120
  203. package/src/stories/organisms/Modals/FullPageModal.tsx +93 -93
  204. package/src/stories/organisms/Modals/Modals.stories.tsx +138 -138
  205. package/src/stories/organisms/Modals/sharedTypes.ts +15 -15
  206. package/src/stories/organisms/Tables/DrawCardTable.tsx +92 -92
  207. package/src/stories/organisms/Tables/SortableTable.tsx +119 -119
  208. package/src/stories/organisms/Tables/Tables.stories.tsx +104 -104
  209. package/src/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.tsx +120 -120
  210. package/src/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.tsx +67 -67
  211. package/src/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.tsx +24 -24
  212. package/src/stories/organisms/Tables/mockData.tsx +131 -131
  213. package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
  214. package/src/stories/utils/constants.ts +31 -31
  215. package/src/stories/utils/getArrayWithIds.ts +1 -1
  216. package/src/stories/utils/useScreenSize.ts +28 -28
  217. package/src/types/tableDataTypes.ts +42 -42
  218. package/tsconfig.json +23 -23
  219. package/dist/stories/atoms/Map/Map.d.ts +0 -7
  220. package/dist/stories/atoms/Map/Map.js +0 -9
  221. package/dist/stories/atoms/Map/Map.js.map +0 -1
  222. package/dist/stories/atoms/Map/Map.stories.d.ts +0 -9
  223. package/dist/stories/atoms/Map/Map.stories.js +0 -36
  224. package/dist/stories/atoms/Map/Map.stories.js.map +0 -1
  225. package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +0 -3
  226. package/dist/stories/organisms/Tables/TeamDrawCardTable.js +0 -126
  227. package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +0 -1
@@ -1,210 +1,210 @@
1
- import React from 'react';
2
-
3
- import GlobalNavigation, { GlobalNavigationProps } from './GlobalNavigation';
4
-
5
- // Default
6
- export default {
7
- title: 'Organisms/GlobalNavigation',
8
- };
9
-
10
- // Templates
11
- function GlobalNavigationTemplate(args: GlobalNavigationProps) {
12
- return <GlobalNavigation {...args} />;
13
- }
14
-
15
- const fullWidthNavItems = [
16
- {
17
- label: 'Players',
18
- filterType: 'players',
19
- sportType: 'tennis,pickleball'
20
- },
21
- {
22
- label: 'All events',
23
- filterType: 'events',
24
- sportType: 'tennis,pickleball'
25
- },
26
- ];
27
-
28
- const tennisGlobalNavItems = [
29
- {
30
- label: 'Flex leagues',
31
- filterType: 'flexLeagues',
32
- sportType: 'tennis'
33
- },
34
- {
35
- label: 'Adult Team Tennis',
36
- filterType: 1,
37
- sportType: 'tennis',
38
- isLeagues: true
39
- },
40
- {
41
- label: 'Junior Team Tennis',
42
- filterType: 3,
43
- sportType: 'tennis',
44
- isLeagues: true
45
- },
46
- {
47
- label: 'UTR pro tennis tour',
48
- filterType: 'proTennisTour',
49
- sportType: 'tennis'
50
- },
51
- {
52
- label: 'Paid hits',
53
- filterType: 'paidHits',
54
- sportType: 'tennis'
55
- },
56
- {
57
- label: 'Paid hitters',
58
- filterType: 'paidHitClubs',
59
- sportType: 'tennis'
60
- },
61
- {
62
- label: 'Junior circuits',
63
- filterType: 'juniorCircuits',
64
- sportType: 'tennis'
65
- },
66
- {
67
- label: 'College circuits',
68
- filterType: 'collegeCircuits',
69
- sportType: 'tennis'
70
- },
71
- {
72
- label: 'Junior regionals',
73
- filterType: 'juniorRegionals',
74
- sportType: 'tennis'
75
- },
76
- {
77
- label: 'Camps',
78
- filterType: 'camps',
79
- sportType: 'tennis'
80
- },
81
- {
82
- label: 'Clubs',
83
- filterType: 'clubs',
84
- sportType: 'tennis,pickleball'
85
- },
86
- {
87
- label: 'High schools',
88
- filterType: 'highSchools',
89
- sportType: 'tennis'
90
- },
91
- {
92
- label: 'Colleges',
93
- filterType: 'colleges',
94
- sportType: 'tennis'
95
- }
96
- ];
97
-
98
- const pickleballGlobalNavItems = [
99
- {
100
- label: 'Flex leagues',
101
- filterType: 'flexLeagues',
102
- sportType: 'pickleball',
103
- },
104
- {
105
- label: 'Golden Ticket',
106
- filterType: 'events',
107
- data: { 'Golden Ticket': true },
108
- sportType: 'pickleball',
109
- },
110
- {
111
- label: 'APP',
112
- filterType: 'app',
113
- sportType: 'pickleball',
114
- },
115
- {
116
- label: 'USAP',
117
- filterType: 'usap',
118
- sportType: 'pickleball',
119
- },
120
- {
121
- label: 'Adult team pickleball',
122
- filterType: 6,
123
- sportType: 'pickleball',
124
- isLeagues: true,
125
- },
126
- {
127
- label: 'Junior team pickleball',
128
- filterType: 7,
129
- sportType: 'pickleball',
130
- isLeagues: true,
131
- },
132
- {
133
- label: 'Clubs',
134
- filterType: 'clubs',
135
- sportType: 'tennis,pickleball'
136
- }
137
- ];
138
-
139
- const LeagueTypes = {
140
- UT_ADULT_TEAM_PICKLEBALL: 6,
141
- UT_JUNIOR_TEAM_PICKLEBALL: 7,
142
- };
143
-
144
- const onTeamLeagueSearchClick = (item: { filterType: string; sportType?: string; }) => {
145
- console.log(`Team League Search Clicked: Filter Type - ${item?.filterType}, Sport Type - ${item?.sportType}`);
146
- };
147
-
148
- const onTypeFilterClick = (item: { filterType: string; sportType?: string; }) => {
149
- console.log(`Type Filter Clicked: Filter Type - ${item?.filterType}, Sport Type - ${item?.sportType}`);
150
- };
151
-
152
- // Stories
153
- export const GlobalNav = GlobalNavigationTemplate.bind({});
154
- GlobalNav.args = {
155
- fullWidthNavItems,
156
- isAdultTeamPickleballEnabled: true,
157
- isJuniorTeamPickleballEnabled: true,
158
- tennisNavItems: tennisGlobalNavItems,
159
- pickleballNavItems: pickleballGlobalNavItems,
160
- onTeamLeagueSearchClick,
161
- onTypeFilterClick
162
- };
163
-
164
- export const TennisOnly = GlobalNavigationTemplate.bind({});
165
- TennisOnly.args = {
166
- fullWidthNavItems,
167
- isAdultTeamPickleballEnabled: true,
168
- isJuniorTeamPickleballEnabled: true,
169
- leagueTypes: LeagueTypes,
170
- tennisNavItems: tennisGlobalNavItems,
171
- pickleballNavItems: pickleballGlobalNavItems,
172
- onTeamLeagueSearchClick,
173
- onTypeFilterClick
174
- };
175
-
176
- export const PickleballOnly = GlobalNavigationTemplate.bind({});
177
- PickleballOnly.args = {
178
- fullWidthNavItems,
179
- isAdultTeamPickleballEnabled: true,
180
- isJuniorTeamPickleballEnabled: true,
181
- leagueTypes: LeagueTypes,
182
- tennisNavItems: tennisGlobalNavItems,
183
- pickleballNavItems: pickleballGlobalNavItems,
184
- onTeamLeagueSearchClick,
185
- onTypeFilterClick
186
- };
187
-
188
- export const AdultTeamPickleballDisabled = GlobalNavigationTemplate.bind({});
189
- AdultTeamPickleballDisabled.args = {
190
- fullWidthNavItems,
191
- isAdultTeamPickleballEnabled: false,
192
- isJuniorTeamPickleballEnabled: true,
193
- leagueTypes: LeagueTypes,
194
- tennisNavItems: tennisGlobalNavItems,
195
- pickleballNavItems: pickleballGlobalNavItems,
196
- onTeamLeagueSearchClick,
197
- onTypeFilterClick
198
- };
199
-
200
- export const JuniorTeamPickleballDisabled = GlobalNavigationTemplate.bind({});
201
- JuniorTeamPickleballDisabled.args = {
202
- fullWidthNavItems,
203
- isAdultTeamPickleballEnabled: true,
204
- isJuniorTeamPickleballEnabled: false,
205
- leagueTypes: LeagueTypes,
206
- tennisNavItems: tennisGlobalNavItems,
207
- pickleballNavItems: pickleballGlobalNavItems,
208
- onTeamLeagueSearchClick,
209
- onTypeFilterClick
210
- };
1
+ import React from 'react';
2
+
3
+ import GlobalNavigation, { GlobalNavigationProps } from './GlobalNavigation';
4
+
5
+ // Default
6
+ export default {
7
+ title: 'Organisms/GlobalNavigation',
8
+ };
9
+
10
+ // Templates
11
+ function GlobalNavigationTemplate(args: GlobalNavigationProps) {
12
+ return <GlobalNavigation {...args} />;
13
+ }
14
+
15
+ const fullWidthNavItems = [
16
+ {
17
+ label: 'Players',
18
+ filterType: 'players',
19
+ sportType: 'tennis,pickleball'
20
+ },
21
+ {
22
+ label: 'All events',
23
+ filterType: 'events',
24
+ sportType: 'tennis,pickleball'
25
+ },
26
+ ];
27
+
28
+ const tennisGlobalNavItems = [
29
+ {
30
+ label: 'Flex leagues',
31
+ filterType: 'flexLeagues',
32
+ sportType: 'tennis'
33
+ },
34
+ {
35
+ label: 'Adult Team Tennis',
36
+ filterType: 1,
37
+ sportType: 'tennis',
38
+ isLeagues: true
39
+ },
40
+ {
41
+ label: 'Junior Team Tennis',
42
+ filterType: 3,
43
+ sportType: 'tennis',
44
+ isLeagues: true
45
+ },
46
+ {
47
+ label: 'UTR pro tennis tour',
48
+ filterType: 'proTennisTour',
49
+ sportType: 'tennis'
50
+ },
51
+ {
52
+ label: 'Paid hits',
53
+ filterType: 'paidHits',
54
+ sportType: 'tennis'
55
+ },
56
+ {
57
+ label: 'Paid hitters',
58
+ filterType: 'paidHitClubs',
59
+ sportType: 'tennis'
60
+ },
61
+ {
62
+ label: 'Junior circuits',
63
+ filterType: 'juniorCircuits',
64
+ sportType: 'tennis'
65
+ },
66
+ {
67
+ label: 'College circuits',
68
+ filterType: 'collegeCircuits',
69
+ sportType: 'tennis'
70
+ },
71
+ {
72
+ label: 'Junior regionals',
73
+ filterType: 'juniorRegionals',
74
+ sportType: 'tennis'
75
+ },
76
+ {
77
+ label: 'Camps',
78
+ filterType: 'camps',
79
+ sportType: 'tennis'
80
+ },
81
+ {
82
+ label: 'Clubs',
83
+ filterType: 'clubs',
84
+ sportType: 'tennis,pickleball'
85
+ },
86
+ {
87
+ label: 'High schools',
88
+ filterType: 'highSchools',
89
+ sportType: 'tennis'
90
+ },
91
+ {
92
+ label: 'Colleges',
93
+ filterType: 'colleges',
94
+ sportType: 'tennis'
95
+ }
96
+ ];
97
+
98
+ const pickleballGlobalNavItems = [
99
+ {
100
+ label: 'Flex leagues',
101
+ filterType: 'flexLeagues',
102
+ sportType: 'pickleball',
103
+ },
104
+ {
105
+ label: 'Golden Ticket',
106
+ filterType: 'events',
107
+ data: { 'Golden Ticket': true },
108
+ sportType: 'pickleball',
109
+ },
110
+ {
111
+ label: 'APP',
112
+ filterType: 'app',
113
+ sportType: 'pickleball',
114
+ },
115
+ {
116
+ label: 'USAP',
117
+ filterType: 'usap',
118
+ sportType: 'pickleball',
119
+ },
120
+ {
121
+ label: 'Adult team pickleball',
122
+ filterType: 6,
123
+ sportType: 'pickleball',
124
+ isLeagues: true,
125
+ },
126
+ {
127
+ label: 'Junior team pickleball',
128
+ filterType: 7,
129
+ sportType: 'pickleball',
130
+ isLeagues: true,
131
+ },
132
+ {
133
+ label: 'Clubs',
134
+ filterType: 'clubs',
135
+ sportType: 'tennis,pickleball'
136
+ }
137
+ ];
138
+
139
+ const LeagueTypes = {
140
+ UT_ADULT_TEAM_PICKLEBALL: 6,
141
+ UT_JUNIOR_TEAM_PICKLEBALL: 7,
142
+ };
143
+
144
+ const onTeamLeagueSearchClick = (item: { filterType: string; sportType?: string; }) => {
145
+ console.log(`Team League Search Clicked: Filter Type - ${item?.filterType}, Sport Type - ${item?.sportType}`);
146
+ };
147
+
148
+ const onTypeFilterClick = (item: { filterType: string; sportType?: string; }) => {
149
+ console.log(`Type Filter Clicked: Filter Type - ${item?.filterType}, Sport Type - ${item?.sportType}`);
150
+ };
151
+
152
+ // Stories
153
+ export const GlobalNav = GlobalNavigationTemplate.bind({});
154
+ GlobalNav.args = {
155
+ fullWidthNavItems,
156
+ isAdultTeamPickleballEnabled: true,
157
+ isJuniorTeamPickleballEnabled: true,
158
+ tennisNavItems: tennisGlobalNavItems,
159
+ pickleballNavItems: pickleballGlobalNavItems,
160
+ onTeamLeagueSearchClick,
161
+ onTypeFilterClick
162
+ };
163
+
164
+ export const TennisOnly = GlobalNavigationTemplate.bind({});
165
+ TennisOnly.args = {
166
+ fullWidthNavItems,
167
+ isAdultTeamPickleballEnabled: true,
168
+ isJuniorTeamPickleballEnabled: true,
169
+ leagueTypes: LeagueTypes,
170
+ tennisNavItems: tennisGlobalNavItems,
171
+ pickleballNavItems: pickleballGlobalNavItems,
172
+ onTeamLeagueSearchClick,
173
+ onTypeFilterClick
174
+ };
175
+
176
+ export const PickleballOnly = GlobalNavigationTemplate.bind({});
177
+ PickleballOnly.args = {
178
+ fullWidthNavItems,
179
+ isAdultTeamPickleballEnabled: true,
180
+ isJuniorTeamPickleballEnabled: true,
181
+ leagueTypes: LeagueTypes,
182
+ tennisNavItems: tennisGlobalNavItems,
183
+ pickleballNavItems: pickleballGlobalNavItems,
184
+ onTeamLeagueSearchClick,
185
+ onTypeFilterClick
186
+ };
187
+
188
+ export const AdultTeamPickleballDisabled = GlobalNavigationTemplate.bind({});
189
+ AdultTeamPickleballDisabled.args = {
190
+ fullWidthNavItems,
191
+ isAdultTeamPickleballEnabled: false,
192
+ isJuniorTeamPickleballEnabled: true,
193
+ leagueTypes: LeagueTypes,
194
+ tennisNavItems: tennisGlobalNavItems,
195
+ pickleballNavItems: pickleballGlobalNavItems,
196
+ onTeamLeagueSearchClick,
197
+ onTypeFilterClick
198
+ };
199
+
200
+ export const JuniorTeamPickleballDisabled = GlobalNavigationTemplate.bind({});
201
+ JuniorTeamPickleballDisabled.args = {
202
+ fullWidthNavItems,
203
+ isAdultTeamPickleballEnabled: true,
204
+ isJuniorTeamPickleballEnabled: false,
205
+ leagueTypes: LeagueTypes,
206
+ tennisNavItems: tennisGlobalNavItems,
207
+ pickleballNavItems: pickleballGlobalNavItems,
208
+ onTeamLeagueSearchClick,
209
+ onTypeFilterClick
210
+ };
@@ -1,120 +1,120 @@
1
- import React from 'react';
2
-
3
- import { styled } from "@mui/material/styles";
4
- import Box from '@mui/material/Box';
5
- import GlobalNavItem from '../../molecules/GlobalNavItem/GlobalNavItem';
6
- import TennisBallIcon from '../../atoms/Icons/TennisBallIcon';
7
- import PickleballBallIcon from '../../atoms/Icons/PickleballBallIcon';
8
- import Typography from '../../atoms/Typography/Typography';
9
-
10
- export interface GlobalNavigationProps {
11
- fullWidthNavItems: [
12
- item: {
13
- label: string,
14
- filterType: string,
15
- sportType: string
16
- }
17
- ],
18
- isAdultTeamPickleballEnabled: boolean;
19
- isJuniorTeamPickleballEnabled: boolean;
20
- leagueTypes: Record<string, string | number>;
21
- tennisNavItems?: [
22
- item: {
23
- label: string;
24
- filterType: string;
25
- sportType: string;
26
- isLeagues?: boolean;
27
- onClick: (item: object) => void;
28
- }
29
- ]
30
- pickleballNavItems?: [
31
- item: {
32
- label: string;
33
- filterType: string;
34
- sportType: string;
35
- isLeagues?: boolean;
36
- data?: object;
37
- onClick: (item: object) => void;
38
- }
39
- ]
40
- onTypeFilterClick:(item: object) => void
41
- onTeamLeagueSearchClick: (item: object) => void
42
- }
43
-
44
- const NavItemsContainer = styled(Box)(({ theme }) => ({
45
- display: "flex",
46
- marginTop: "24px",
47
- gap: "24px",
48
- flexDirection: 'column',
49
- [theme.breakpoints.up('sm')]: {
50
- flexDirection: 'row',
51
- },
52
- }));
53
-
54
- function GlobalNavigation({
55
- fullWidthNavItems,
56
- tennisNavItems,
57
- isAdultTeamPickleballEnabled,
58
- isJuniorTeamPickleballEnabled,
59
- leagueTypes,
60
- pickleballNavItems,
61
- onTeamLeagueSearchClick,
62
- onTypeFilterClick
63
- }: Readonly<GlobalNavigationProps>) {
64
- const handleOnClick = (item: { isLeagues?: boolean }) => {
65
- if (item?.isLeagues) {
66
- onTeamLeagueSearchClick(item);
67
- } else {
68
- onTypeFilterClick(item);
69
- }
70
- };
71
- const filteredPickleballNavItems = pickleballNavItems?.filter((item) => {
72
- if (!isAdultTeamPickleballEnabled && item?.filterType === leagueTypes?.UT_ADULT_TEAM_PICKLEBALL) {
73
- return false;
74
- }
75
- if (!isJuniorTeamPickleballEnabled && item?.filterType === leagueTypes?.UT_JUNIOR_TEAM_PICKLEBALL) {
76
- return false;
77
- }
78
- return true;
79
- });
80
- return (
81
- <Box display="flex" flexDirection="column">
82
- {fullWidthNavItems?.map((item) => (
83
- <GlobalNavItem onClick={handleOnClick} item={item} key={item.label} />
84
- ))}
85
- <NavItemsContainer>
86
- <Box display="flex" flexDirection="column" width="100%">
87
- <Box
88
- display="flex"
89
- alignItems="center"
90
- gap="7px"
91
- height="30px"
92
- sx={{ borderBottom: '.5px solid var(--darkest-grey)' }}
93
- >
94
- <TennisBallIcon size={18} />
95
- <Typography category="secondary" size="medium-cap" color="var(--black)">Tennis</Typography>
96
- </Box>
97
- {tennisNavItems?.map((item) => (
98
- <GlobalNavItem item={item} key={item?.label} onClick={handleOnClick} />
99
- ))}
100
- </Box>
101
- <Box display="flex" flexDirection="column" width="100%">
102
- <Box
103
- display="flex"
104
- alignItems="center"
105
- gap="7px"
106
- height="30px"
107
- sx={{ borderBottom: '.5px solid var(--darkest-grey)' }}
108
- >
109
- <PickleballBallIcon size={18} />
110
- <Typography category="secondary" size="medium-cap" color="var(--black)">Pickleball</Typography>
111
- </Box>
112
- {filteredPickleballNavItems?.map((item) => (
113
- <GlobalNavItem item={item} key={item?.label} onClick={handleOnClick} />
114
- ))}
115
- </Box>
116
- </NavItemsContainer>
117
- </Box>
118
- );
119
- }
120
- export default GlobalNavigation;
1
+ import React from 'react';
2
+
3
+ import { styled } from "@mui/material/styles";
4
+ import Box from '@mui/material/Box';
5
+ import GlobalNavItem from '../../molecules/GlobalNavItem/GlobalNavItem';
6
+ import TennisBallIcon from '../../atoms/Icons/TennisBallIcon';
7
+ import PickleballBallIcon from '../../atoms/Icons/PickleballBallIcon';
8
+ import Typography from '../../atoms/Typography/Typography';
9
+
10
+ export interface GlobalNavigationProps {
11
+ fullWidthNavItems: [
12
+ item: {
13
+ label: string,
14
+ filterType: string,
15
+ sportType: string
16
+ }
17
+ ],
18
+ isAdultTeamPickleballEnabled: boolean;
19
+ isJuniorTeamPickleballEnabled: boolean;
20
+ leagueTypes: Record<string, string | number>;
21
+ tennisNavItems?: [
22
+ item: {
23
+ label: string;
24
+ filterType: string;
25
+ sportType: string;
26
+ isLeagues?: boolean;
27
+ onClick: (item: object) => void;
28
+ }
29
+ ]
30
+ pickleballNavItems?: [
31
+ item: {
32
+ label: string;
33
+ filterType: string;
34
+ sportType: string;
35
+ isLeagues?: boolean;
36
+ data?: object;
37
+ onClick: (item: object) => void;
38
+ }
39
+ ]
40
+ onTypeFilterClick:(item: object) => void
41
+ onTeamLeagueSearchClick: (item: object) => void
42
+ }
43
+
44
+ const NavItemsContainer = styled(Box)(({ theme }) => ({
45
+ display: "flex",
46
+ marginTop: "24px",
47
+ gap: "24px",
48
+ flexDirection: 'column',
49
+ [theme.breakpoints.up('sm')]: {
50
+ flexDirection: 'row',
51
+ },
52
+ }));
53
+
54
+ function GlobalNavigation({
55
+ fullWidthNavItems,
56
+ tennisNavItems,
57
+ isAdultTeamPickleballEnabled,
58
+ isJuniorTeamPickleballEnabled,
59
+ leagueTypes,
60
+ pickleballNavItems,
61
+ onTeamLeagueSearchClick,
62
+ onTypeFilterClick
63
+ }: Readonly<GlobalNavigationProps>) {
64
+ const handleOnClick = (item: { isLeagues?: boolean }) => {
65
+ if (item?.isLeagues) {
66
+ onTeamLeagueSearchClick(item);
67
+ } else {
68
+ onTypeFilterClick(item);
69
+ }
70
+ };
71
+ const filteredPickleballNavItems = pickleballNavItems?.filter((item) => {
72
+ if (!isAdultTeamPickleballEnabled && item?.filterType === leagueTypes?.UT_ADULT_TEAM_PICKLEBALL) {
73
+ return false;
74
+ }
75
+ if (!isJuniorTeamPickleballEnabled && item?.filterType === leagueTypes?.UT_JUNIOR_TEAM_PICKLEBALL) {
76
+ return false;
77
+ }
78
+ return true;
79
+ });
80
+ return (
81
+ <Box display="flex" flexDirection="column">
82
+ {fullWidthNavItems?.map((item) => (
83
+ <GlobalNavItem onClick={handleOnClick} item={item} key={item.label} />
84
+ ))}
85
+ <NavItemsContainer>
86
+ <Box display="flex" flexDirection="column" width="100%">
87
+ <Box
88
+ display="flex"
89
+ alignItems="center"
90
+ gap="7px"
91
+ height="30px"
92
+ sx={{ borderBottom: '.5px solid var(--darkest-grey)' }}
93
+ >
94
+ <TennisBallIcon size={18} />
95
+ <Typography category="secondary" size="medium-cap" color="var(--black)">Tennis</Typography>
96
+ </Box>
97
+ {tennisNavItems?.map((item) => (
98
+ <GlobalNavItem item={item} key={item?.label} onClick={handleOnClick} />
99
+ ))}
100
+ </Box>
101
+ <Box display="flex" flexDirection="column" width="100%">
102
+ <Box
103
+ display="flex"
104
+ alignItems="center"
105
+ gap="7px"
106
+ height="30px"
107
+ sx={{ borderBottom: '.5px solid var(--darkest-grey)' }}
108
+ >
109
+ <PickleballBallIcon size={18} />
110
+ <Typography category="secondary" size="medium-cap" color="var(--black)">Pickleball</Typography>
111
+ </Box>
112
+ {filteredPickleballNavItems?.map((item) => (
113
+ <GlobalNavItem item={item} key={item?.label} onClick={handleOnClick} />
114
+ ))}
115
+ </Box>
116
+ </NavItemsContainer>
117
+ </Box>
118
+ );
119
+ }
120
+ export default GlobalNavigation;