@dcrackel/hematournamentui 1.0.706 → 1.0.707

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 (330) hide show
  1. package/.prettierignore +7 -1
  2. package/.storybook/main.js +5 -12
  3. package/.storybook/preview-head.html +10 -3
  4. package/.storybook/preview.js +5 -13
  5. package/AGENTS.md +31 -1
  6. package/README.md +29 -22
  7. package/dist/HemaTournamentUI-lib.es.js +7189 -7467
  8. package/dist/HemaTournamentUI-lib.umd.js +27 -27
  9. package/dist/hematournamentui-tailwind.css +0 -24
  10. package/dist/hematournamentui.css +1 -1
  11. package/eslint.config.js +49 -23
  12. package/package.json +6 -2
  13. package/postcss.config.js +3 -3
  14. package/prettier.config.js +16 -10
  15. package/src/config/boutScreenConfigurations.js +52 -50
  16. package/src/main.js +1 -1
  17. package/src/mocks/EventQuestionsMock.js +43 -55
  18. package/src/mocks/assignments.js +180 -181
  19. package/src/mocks/clubGetAllMock.js +8143 -8143
  20. package/src/mocks/eventMock.js +205 -205
  21. package/src/mocks/eventPersonGetInitalPoolAssignmentsLivePools.js +541 -542
  22. package/src/mocks/eventPersonGetInitalPoolAssignmentsPreparing.js +522 -523
  23. package/src/mocks/eventPersonGetInitialPoolAssignments.js +386 -387
  24. package/src/mocks/eventPersonGetInitialPoolAssignments2.js +2267 -2268
  25. package/src/mocks/eventPersonGetInitialStaff.js +94 -95
  26. package/src/mocks/eventPersonGetPoolAssignmentEvent.js +161 -162
  27. package/src/mocks/eventRules.js +87 -86
  28. package/src/mocks/eventpersonGetEventById.js +1737 -1737
  29. package/src/mocks/getAllClubs.js +8143 -8143
  30. package/src/mocks/getAllStaffByTournamentId.js +74 -75
  31. package/src/mocks/getAllWeapons.js +81 -82
  32. package/src/mocks/getAttendance.js +43 -44
  33. package/src/mocks/getClub.js +43 -44
  34. package/src/mocks/getClubDisplayByClubId.js +104 -105
  35. package/src/mocks/getDEBouts-128Fencers.js +3247 -3248
  36. package/src/mocks/getDEBouts-42Fencers.js +3736 -3737
  37. package/src/mocks/getDEBouts-67Fencers.js +6684 -6690
  38. package/src/mocks/getDEBouts-DoubleElim.js +4198 -4199
  39. package/src/mocks/getDEWithBouts.js +628 -629
  40. package/src/mocks/getDeBouts-12fencers.js +1255 -1256
  41. package/src/mocks/getDeBouts-15fencers.js +925 -927
  42. package/src/mocks/getDeBouts-22fencers.js +1683 -1685
  43. package/src/mocks/getDeBouts-6fencers.js +818 -818
  44. package/src/mocks/getEventByTournamentId.js +47 -48
  45. package/src/mocks/getFinalEventResult.js +304 -305
  46. package/src/mocks/getPenaltiesByEvent.js +655 -656
  47. package/src/mocks/getPoolResults.js +1533 -1534
  48. package/src/mocks/getPoolsWithBouts.js +662 -663
  49. package/src/mocks/getPoolsWithBouts6PoolId139.js +885 -886
  50. package/src/mocks/getPoolsWithBoutsByPoolId.js +841 -841
  51. package/src/mocks/getPoolsWithBoutsClubColors.js +4 -4
  52. package/src/mocks/getPoolsWithBoutsComplete.js +919 -921
  53. package/src/mocks/locationMock.js +3213 -3214
  54. package/src/mocks/mockRoutes.js +3 -3
  55. package/src/mocks/personGetAllMock.js +2536 -2537
  56. package/src/mocks/personsMock.js +17569 -17570
  57. package/src/mocks/singleEventMock.js +249 -250
  58. package/src/mocks/tournamentMock.js +1988 -1927
  59. package/src/stories/Atoms/CheckBox/BaseCheckbox.stories.js +25 -23
  60. package/src/stories/Atoms/CheckBox/BaseCheckbox.vue +30 -24
  61. package/src/stories/Atoms/Icon/BaseIcon.stories.js +63 -64
  62. package/src/stories/Atoms/Icon/BaseIcon.test.js +67 -69
  63. package/src/stories/Atoms/Icon/BaseIcon.vue +2 -3
  64. package/src/stories/Atoms/Input/BaseInput.stories.js +18 -18
  65. package/src/stories/Atoms/Input/BaseInput.test.js +65 -67
  66. package/src/stories/Atoms/Input/BaseInput.vue +36 -31
  67. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.stories.js +21 -21
  68. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.test.js +31 -31
  69. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.vue +23 -18
  70. package/src/stories/Atoms/Tag/BaseTag.stories.js +21 -21
  71. package/src/stories/Atoms/Tag/BaseTag.test.js +26 -30
  72. package/src/stories/Atoms/Tag/BaseTag.vue +18 -19
  73. package/src/stories/Atoms/Text/BaseText.stories.js +54 -62
  74. package/src/stories/Atoms/Text/BaseText.test.js +152 -154
  75. package/src/stories/Atoms/Text/BaseText.vue +103 -81
  76. package/src/stories/Configure.mdx +5 -3
  77. package/src/stories/Molecules/Boxes/BoutBoxes/HandshotCounterBox/HandshotCounterBox.stories.js +24 -24
  78. package/src/stories/Molecules/Boxes/BoutBoxes/HandshotCounterBox/HandshotCounterBox.vue +33 -15
  79. package/src/stories/Molecules/Boxes/BoutBoxes/PassesBox/PassesBox.stories.js +46 -48
  80. package/src/stories/Molecules/Boxes/BoutBoxes/PassesBox/PassesBox.vue +38 -25
  81. package/src/stories/Molecules/Boxes/BoutBoxes/PenaltyConfirmationBox/PenaltyConfirmationBox.stories.js +4 -4
  82. package/src/stories/Molecules/Boxes/BoutBoxes/PenaltyConfirmationBox/PenaltyConfirmationBox.vue +9 -4
  83. package/src/stories/Molecules/Boxes/BoutBoxes/ScoreBox/ScoreBox.stories.js +90 -90
  84. package/src/stories/Molecules/Boxes/BoutBoxes/ScoreBox/ScoreBox.vue +51 -32
  85. package/src/stories/Molecules/Boxes/BoutBoxes/TimerBox/TimerBox.stories.js +25 -25
  86. package/src/stories/Molecules/Boxes/BoutBoxes/TimerBox/TimerBox.vue +47 -12
  87. package/src/stories/Molecules/Boxes/CounterBox/CounterBox.stories.js +19 -19
  88. package/src/stories/Molecules/Boxes/CounterBox/CounterBox.vue +25 -19
  89. package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.stories.js +25 -28
  90. package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.vue +7 -7
  91. package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.stories.js +28 -29
  92. package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.test.js +58 -58
  93. package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.vue +15 -15
  94. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.stories.js +86 -86
  95. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.test.js +101 -103
  96. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.vue +87 -24
  97. package/src/stories/Molecules/Buttons/ButtonBar/ButtonBar.stories.js +31 -31
  98. package/src/stories/Molecules/Buttons/ButtonBar/ButtonBar.vue +19 -21
  99. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.stories.js +57 -57
  100. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.test.js +64 -64
  101. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.vue +17 -16
  102. package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.stories.js +19 -19
  103. package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.vue +18 -7
  104. package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.stories.js +16 -18
  105. package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +31 -13
  106. package/src/stories/Molecules/Indicators/ServerConnected/ServerConnected.stories.js +27 -27
  107. package/src/stories/Molecules/Indicators/ServerConnected/ServerConnected.vue +6 -5
  108. package/src/stories/Molecules/Inputs/MultiSelect/MultiSelect.stories.js +35 -35
  109. package/src/stories/Molecules/Inputs/MultiSelect/MultiSelect.vue +13 -8
  110. package/src/stories/Molecules/Inputs/Toggle/Toggle.stories.js +27 -27
  111. package/src/stories/Molecules/Inputs/Toggle/Toggle.vue +8 -5
  112. package/src/stories/Molecules/Menus/TabBar/TabBar.stories.js +18 -18
  113. package/src/stories/Molecules/Menus/TabBar/TabBar.vue +1 -2
  114. package/src/stories/Molecules/Modals/AddDisplayModal/AddDisplay.stories.js +36 -27
  115. package/src/stories/Molecules/Modals/AddDisplayModal/AddDisplayModal.vue +25 -15
  116. package/src/stories/Molecules/Modals/BaseModal/BaseModal.stories.js +66 -65
  117. package/src/stories/Molecules/Modals/BaseModal/BaseModal.vue +47 -9
  118. package/src/stories/Molecules/Modals/ConfirmModal/ConfirmModal.stories.js +23 -23
  119. package/src/stories/Molecules/Modals/ConfirmModal/ConfirmModal.vue +59 -11
  120. package/src/stories/Molecules/Modals/DirectorModal/DirectorModal.stories.js +37 -37
  121. package/src/stories/Molecules/Modals/DirectorModal/DirectorModal.vue +27 -22
  122. package/src/stories/Molecules/Modals/EditBoutModal/EditBoutModal.stories.js +41 -41
  123. package/src/stories/Molecules/Modals/EditBoutModal/EditBoutModal.vue +27 -15
  124. package/src/stories/Molecules/Modals/EventWizardModal/EventWizardModal.stories.js +29 -30
  125. package/src/stories/Molecules/Modals/EventWizardModal/EventWizardModal.vue +18 -16
  126. package/src/stories/Molecules/Modals/LoadingModal/LoadingModal.stories.js +21 -21
  127. package/src/stories/Molecules/Modals/LoadingModal/LoadingModal.vue +7 -7
  128. package/src/stories/Molecules/Modals/PenaltyModal/PenaltyModal.stories.js +24 -24
  129. package/src/stories/Molecules/Modals/PenaltyModal/PenaltyModal.vue +30 -25
  130. package/src/stories/Molecules/Reorder/ReorderableShell.stories.js +81 -77
  131. package/src/stories/Molecules/Reorder/ReorderableShell.vue +46 -43
  132. package/src/stories/Molecules/StepIndicator/BaseStepIndicator/StepIndicator.stories.js +40 -40
  133. package/src/stories/Molecules/StepIndicator/BaseStepIndicator/StepIndicator.vue +23 -25
  134. package/src/stories/Organisms/Cards/BoutCard/BoutCard.stories.js +34 -29
  135. package/src/stories/Organisms/Cards/BoutCard/BoutCard.vue +69 -66
  136. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardActive/BoutCardActive.stories.js +24 -22
  137. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardActive/BoutCardActive.vue +53 -41
  138. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardInactive/BoutCardInactive.stories.js +24 -37
  139. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardInactive/BoutCardInactive.vue +88 -103
  140. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardReorder/BoutCardReorder.vue +13 -14
  141. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardWaiting/BoutCardWaiting.stories.js +5 -5
  142. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardWaiting/BoutCardWaiting.vue +22 -21
  143. package/src/stories/Organisms/Cards/ClubCard/ClubCard.stories.js +14 -17
  144. package/src/stories/Organisms/Cards/ClubCard/ClubCard.vue +25 -18
  145. package/src/stories/Organisms/Cards/Director/DirectorCard.stories.js +23 -23
  146. package/src/stories/Organisms/Cards/Director/DirectorCard.vue +159 -103
  147. package/src/stories/Organisms/Cards/EditBout/EditBout.stories.js +47 -47
  148. package/src/stories/Organisms/Cards/EditBout/EditBout.test.js +51 -0
  149. package/src/stories/Organisms/Cards/EditBout/EditBout.vue +82 -54
  150. package/src/stories/Organisms/Cards/EventCard/EventCard.stories.js +9 -10
  151. package/src/stories/Organisms/Cards/EventCard/EventCard.vue +83 -63
  152. package/src/stories/Organisms/Cards/FencerCard/FencerCard.stories.js +105 -105
  153. package/src/stories/Organisms/Cards/FencerCard/FencerCard.vue +142 -58
  154. package/src/stories/Organisms/Cards/FencerFinalResultCard/FencerFinalResultCard.stories.js +14 -14
  155. package/src/stories/Organisms/Cards/FencerFinalResultCard/FencerFinalResultCard.vue +37 -26
  156. package/src/stories/Organisms/Cards/FencerPoolResultsCard/FencerPoolResults.stories.js +24 -24
  157. package/src/stories/Organisms/Cards/FencerPoolResultsCard/FencerPoolResultsCard.vue +95 -28
  158. package/src/stories/Organisms/Cards/ImportFencerCard/ImportFencerCard.stories.js +59 -60
  159. package/src/stories/Organisms/Cards/ImportFencerCard/ImportFencerCard.vue +13 -7
  160. package/src/stories/Organisms/Cards/KioskCard/KioskCard.stories.js +34 -34
  161. package/src/stories/Organisms/Cards/KioskCard/KioskCard.vue +149 -104
  162. package/src/stories/Organisms/Cards/PenaltyCard/PenaltyCard.stories.js +19 -20
  163. package/src/stories/Organisms/Cards/PenaltyCard/PenaltyCard.vue +207 -163
  164. package/src/stories/Organisms/Cards/PenaltyFencerCard/PenaltyFencerCard.stories.js +17 -17
  165. package/src/stories/Organisms/Cards/PenaltyFencerCard/PenaltyFencerCard.vue +88 -46
  166. package/src/stories/Organisms/Cards/PoolBoutMatchCard/PoolBoutMatchCard.stories.js +182 -182
  167. package/src/stories/Organisms/Cards/PoolBoutMatchCard/PoolBoutMatchCard.vue +21 -12
  168. package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.stories.js +25 -28
  169. package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.vue +28 -22
  170. package/src/stories/Organisms/Cards/StaffCard/StaffCard.stories.js +62 -62
  171. package/src/stories/Organisms/Cards/StaffCard/StaffCard.vue +27 -22
  172. package/src/stories/Organisms/Cards/TableauBoutCard/SpacingConfig.js +103 -103
  173. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.stories.js +73 -73
  174. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.test.js +44 -0
  175. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.vue +69 -56
  176. package/src/stories/Organisms/Cards/TableauFencerCard/TableauFencerCard.stories.js +80 -81
  177. package/src/stories/Organisms/Cards/TableauFencerCard/TableauFencerCard.vue +39 -22
  178. package/src/stories/Organisms/Cards/TournamentAdminCard/TournamentAdmin.stories.js +20 -20
  179. package/src/stories/Organisms/Cards/TournamentAdminCard/TournamentAdminCard.vue +62 -33
  180. package/src/stories/Organisms/Cards/WaitlistFencerCard/WaitlistFencerCard.vue +44 -30
  181. package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.stories.js +6 -7
  182. package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.vue +7 -8
  183. package/src/stories/Organisms/ComplexInputs/ClubColorPicker/ClubColorPicker.stories.js +31 -31
  184. package/src/stories/Organisms/ComplexInputs/ClubColorPicker/ClubColorPicker.vue +30 -35
  185. package/src/stories/Organisms/ComplexInputs/DatePicker/DatePicker.stories.js +13 -16
  186. package/src/stories/Organisms/ComplexInputs/DatePicker/DatePicker.vue +68 -70
  187. package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.stories.js +32 -34
  188. package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.vue +48 -25
  189. package/src/stories/Organisms/ComplexInputs/FindLocation/FindLocation.stories.js +21 -21
  190. package/src/stories/Organisms/ComplexInputs/FindLocation/FindLocation.vue +65 -38
  191. package/src/stories/Organisms/ComplexInputs/FindOrAddPerson/FindOrAddPerson.stories.js +19 -20
  192. package/src/stories/Organisms/ComplexInputs/FindOrAddPerson/FindOrAddPerson.vue +46 -21
  193. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.stories.js +22 -22
  194. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.vue +68 -23
  195. package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.stories.js +13 -13
  196. package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.vue +25 -24
  197. package/src/stories/Organisms/ComplexInputs/TextBoxEditor/TextBoxEditor.stories.js +6 -10
  198. package/src/stories/Organisms/ComplexInputs/TextBoxEditor/TextBoxEditor.vue +112 -48
  199. package/src/stories/Organisms/Containers/BoutsSection/BoutsSection.stories.js +43 -44
  200. package/src/stories/Organisms/Containers/BoutsSection/BoutsSection.vue +30 -23
  201. package/src/stories/Organisms/Containers/FinalResults/FinalResultsTable.stories.js +20 -20
  202. package/src/stories/Organisms/Containers/FinalResults/FinalResultsTable.vue +12 -12
  203. package/src/stories/Organisms/Containers/KioskContainer/KioskContainer.stories.js +24 -25
  204. package/src/stories/Organisms/Containers/KioskContainer/KioskContainer.vue +112 -87
  205. package/src/stories/Organisms/Containers/Pool/Pool.stories.js +54 -54
  206. package/src/stories/Organisms/Containers/Pool/Pool.vue +64 -41
  207. package/src/stories/Organisms/Containers/PoolGrid/PoolGrid.stories.js +17 -19
  208. package/src/stories/Organisms/Containers/PoolGrid/PoolGrid.vue +189 -135
  209. package/src/stories/Organisms/Containers/PoolResults/PoolResultsTable.stories.js +53 -54
  210. package/src/stories/Organisms/Containers/PoolResults/PoolResultsTable.vue +107 -73
  211. package/src/stories/Organisms/Containers/Tableau/Tableau.stories.js +23 -24
  212. package/src/stories/Organisms/Containers/Tableau/Tableau.test.js +49 -10
  213. package/src/stories/Organisms/Containers/Tableau/Tableau.vue +96 -173
  214. package/src/stories/Organisms/Containers/TableauColumn/TabeauColumn.stories.js +26 -27
  215. package/src/stories/Organisms/Containers/TableauColumn/TableauColumn.vue +20 -17
  216. package/src/stories/Organisms/Containers/TableauLines/SpacingConfig.js +153 -103
  217. package/src/stories/Organisms/Containers/TableauLines/TableauLines.stories.js +13 -15
  218. package/src/stories/Organisms/Containers/TableauLines/TableauLines.vue +7 -8
  219. package/src/stories/Organisms/Form/AddDisplay/AddDisplay.stories.js +26 -26
  220. package/src/stories/Organisms/Form/AddDisplay/AddDisplay.vue +130 -118
  221. package/src/stories/Organisms/Form/AddNewPerson/AddNewPerson.stories.js +14 -15
  222. package/src/stories/Organisms/Form/AddNewPerson/AddNewPerson.vue +94 -88
  223. package/src/stories/Organisms/Grids/GridContainer.stories.js +101 -101
  224. package/src/stories/Organisms/Grids/GridContainer.vue +160 -136
  225. package/src/stories/Organisms/Headers/AttendanceSummary/AttendanceSummary.stories.js +47 -47
  226. package/src/stories/Organisms/Headers/AttendanceSummary/AttendanceSummary.vue +65 -54
  227. package/src/stories/Organisms/Headers/EventFinalResultsHeader/EventFinalResultsHeader.stories.js +27 -27
  228. package/src/stories/Organisms/Headers/EventFinalResultsHeader/EventFinalResultsHeader.vue +38 -22
  229. package/src/stories/Organisms/Headers/PenaltySummary/PenaltySummary.stories.js +80 -80
  230. package/src/stories/Organisms/Headers/PenaltySummary/PenaltySummary.vue +14 -6
  231. package/src/stories/Organisms/Headers/PoolResultsHeader/PoolResultsHeader.stories.js +34 -34
  232. package/src/stories/Organisms/Headers/PoolResultsHeader/PoolResultsHeader.vue +36 -36
  233. package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.stories.js +21 -21
  234. package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.vue +56 -29
  235. package/src/stories/Organisms/Headers/ToggleHeader/ToggleHeader.stories.js +38 -38
  236. package/src/stories/Organisms/Headers/ToggleHeader/ToggleHeader.vue +19 -20
  237. package/src/stories/Organisms/RankCalculator/ByLetter/RankCalculator.stories.js +12 -13
  238. package/src/stories/Organisms/RankCalculator/ByLetter/RankCalculator.vue +47 -41
  239. package/src/stories/Organisms/RankCalculator/ByPoints/RankCalculatorByPoints.stories.js +12 -13
  240. package/src/stories/Organisms/RankCalculator/ByPoints/RankCalculatorByPoints.vue +66 -37
  241. package/src/stories/Organisms/Skeletons/ClubManagement/ClubManagement.stories.js +6 -10
  242. package/src/stories/Organisms/Skeletons/ClubManagement/ClubMangementSkeleton.vue +2 -2
  243. package/src/stories/Organisms/Skeletons/EventCard/EventCardSkeleton.stories.js +6 -10
  244. package/src/stories/Organisms/Skeletons/EventCard/EventCardSkeleton.vue +2 -3
  245. package/src/stories/Organisms/Skeletons/FencerCard/FencerCardSkeleton.stories.js +6 -10
  246. package/src/stories/Organisms/Skeletons/FencerCard/FencerCardSkeleton.vue +1 -1
  247. package/src/stories/Organisms/Skeletons/PersonManagement/PersonManagementSkeleton.stories.js +6 -9
  248. package/src/stories/Organisms/Skeletons/PersonManagement/PersonManagementSkeleton.vue +2 -2
  249. package/src/stories/Organisms/Skeletons/PoolSkeleton/PoolSkeleton.stories.js +6 -10
  250. package/src/stories/Organisms/Skeletons/PoolSkeleton/PoolSkeleton.vue +10 -4
  251. package/src/stories/Organisms/Skeletons/TournamentCard/TournamentCardSkeleton.stories.js +6 -10
  252. package/src/stories/Organisms/Skeletons/TournamentCard/TournamentCardSkeleton.vue +2 -2
  253. package/src/stories/Organisms/Wizards/EditEventWizard/BasicEventInfo/BasicEventInfo.stories.js +34 -34
  254. package/src/stories/Organisms/Wizards/EditEventWizard/BasicEventInfo/BasicEventInfo.vue +106 -56
  255. package/src/stories/Organisms/Wizards/EditEventWizard/DirectElimination/DirectElimination.stories.js +95 -95
  256. package/src/stories/Organisms/Wizards/EditEventWizard/DirectElimination/DirectElimination.vue +129 -69
  257. package/src/stories/Organisms/Wizards/EditEventWizard/DirectEliminationPromotion/DirectEliminationPromotion.stories.js +87 -88
  258. package/src/stories/Organisms/Wizards/EditEventWizard/DirectEliminationPromotion/DirectEliminationPromotion.vue +105 -60
  259. package/src/stories/Organisms/Wizards/EditEventWizard/EditEventWizard.stories.js +82 -82
  260. package/src/stories/Organisms/Wizards/EditEventWizard/EditEventWizard.vue +150 -177
  261. package/src/stories/Organisms/Wizards/EditEventWizard/EventCustomization/EventCustomization.stories.js +28 -28
  262. package/src/stories/Organisms/Wizards/EditEventWizard/EventCustomization/EventCustomization.vue +96 -36
  263. package/src/stories/Organisms/Wizards/EditEventWizard/PoolConfiguration/PoolConfiguration.stories.js +99 -99
  264. package/src/stories/Organisms/Wizards/EditEventWizard/PoolConfiguration/PoolConfiguration.vue +115 -67
  265. package/src/stories/Templates/Assignment/Assignment.stories.js +22 -23
  266. package/src/stories/Templates/Assignment/Assignment.vue +210 -161
  267. package/src/stories/Templates/ClubManagement/ClubBasic/ClubBasic.stories.js +90 -90
  268. package/src/stories/Templates/ClubManagement/ClubBasic/ClubBasic.vue +68 -55
  269. package/src/stories/Templates/ClubManagement/ClubManagement.stories.js +87 -87
  270. package/src/stories/Templates/ClubManagement/ClubManagement.vue +167 -147
  271. package/src/stories/Templates/EventManagement/Bracket/Bracket.stories.js +82 -103
  272. package/src/stories/Templates/EventManagement/Bracket/Bracket.test.js +88 -43
  273. package/src/stories/Templates/EventManagement/Bracket/Bracket.vue +167 -200
  274. package/src/stories/Templates/EventManagement/EditEventInfo/EditEventInfo.stories.js +49 -50
  275. package/src/stories/Templates/EventManagement/EditEventInfo/EditEventInfo.vue +21 -21
  276. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.stories.js +105 -103
  277. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.vue +289 -226
  278. package/src/stories/Templates/EventManagement/EventFinalResults/EventFinalResults.stories.js +30 -30
  279. package/src/stories/Templates/EventManagement/EventFinalResults/EventFinalResults.vue +27 -22
  280. package/src/stories/Templates/EventManagement/KioskDisplay/KioskDisplay.stories.js +44 -45
  281. package/src/stories/Templates/EventManagement/KioskDisplay/KioskDisplay.vue +52 -43
  282. package/src/stories/Templates/EventManagement/Penalties/PenaltyReport.stories.js +28 -29
  283. package/src/stories/Templates/EventManagement/Penalties/PenaltyReport.vue +54 -39
  284. package/src/stories/Templates/EventManagement/PoolLive/PoolLive.stories.js +80 -111
  285. package/src/stories/Templates/EventManagement/PoolLive/PoolLive.test.js +121 -0
  286. package/src/stories/Templates/EventManagement/PoolLive/PoolLive.vue +290 -255
  287. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.stories.js +109 -107
  288. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.vue +144 -87
  289. package/src/stories/Templates/EventManagement/PoolResults/PoolResults.stories.js +56 -57
  290. package/src/stories/Templates/EventManagement/PoolResults/PoolResults.vue +132 -123
  291. package/src/stories/Templates/EventManagement/StaffList/StaffList.stories.js +56 -57
  292. package/src/stories/Templates/EventManagement/StaffList/StaffList.vue +84 -47
  293. package/src/stories/Templates/Menus/Admin/AdminLeftMenu.stories.js +29 -29
  294. package/src/stories/Templates/Menus/Admin/AdminLeftMenu.vue +71 -67
  295. package/src/stories/Templates/Menus/EditEventsTopMenu/EditEventsTopMenu.stories.js +39 -40
  296. package/src/stories/Templates/Menus/EditEventsTopMenu/EditEventsTopMenu.vue +79 -71
  297. package/src/stories/Templates/PersonManagement/Admin/Administration/Administration.stories.js +47 -47
  298. package/src/stories/Templates/PersonManagement/Admin/Administration/Administration.vue +39 -42
  299. package/src/stories/Templates/PersonManagement/Admin/FencerAdmin/FencerAdmin.stories.js +54 -54
  300. package/src/stories/Templates/PersonManagement/Admin/FencerAdmin/FencerAdmin.vue +27 -31
  301. package/src/stories/Templates/PersonManagement/Admin/MergeAccounts/MergeAccounts.stories.js +69 -69
  302. package/src/stories/Templates/PersonManagement/Admin/MergeAccounts/MergeAccounts.vue +78 -89
  303. package/src/stories/Templates/PersonManagement/Attendance/Attendance.stories.js +22 -22
  304. package/src/stories/Templates/PersonManagement/Attendance/Attendance.vue +61 -33
  305. package/src/stories/Templates/PersonManagement/Basic/BasicEdit.stories.js +29 -29
  306. package/src/stories/Templates/PersonManagement/Basic/BasicEdit.vue +80 -53
  307. package/src/stories/Templates/PersonManagement/PersonManagement.stories.js +84 -86
  308. package/src/stories/Templates/PersonManagement/PersonManagement.vue +107 -82
  309. package/src/stories/Templates/TournamentManagement/ListEvents/ListEvents.stories.js +31 -31
  310. package/src/stories/Templates/TournamentManagement/ListEvents/ListEvents.vue +70 -51
  311. package/src/stories/Templates/TournamentManagement/TournamentManagement.stories.js +79 -79
  312. package/src/stories/Templates/TournamentManagement/TournamentManagement.vue +275 -230
  313. package/src/stories/Templates/TournamentManagement/TournamentPageOne/TournamentPageOne.stories.js +113 -113
  314. package/src/stories/Templates/TournamentManagement/TournamentPageOne/TournamentPageOne.vue +175 -146
  315. package/src/stories/Templates/TournamentManagement/TournamentPageTwo/TournamentPageTwo.stories.js +77 -77
  316. package/src/stories/Templates/TournamentManagement/TournamentPageTwo/TournamentPageTwo.vue +208 -185
  317. package/src/stories/Util/Validations/AddNewPersonModalValidation.js +23 -19
  318. package/src/stories/Util/Validations/ClubManagementValidations.js +17 -21
  319. package/src/stories/Util/Validations/PersonManagementValidations.js +26 -22
  320. package/src/stories/Util/Validations/TournamentFieldsValidations.js +20 -18
  321. package/src/stories/Util/seeding.js +131 -131
  322. package/src/stories/Util/tabs.js +75 -75
  323. package/tailwind/tailwind.css +5 -7
  324. package/tailwind.config.js +12 -15
  325. package/vite.config.js +3 -3
  326. package/src/mocks/getDirectors.js +0 -18
  327. package/src/stories/Molecules/Modals/AssignDirectorModal/AssignDirectorModal.stories.js +0 -45
  328. package/src/stories/Molecules/Modals/AssignDirectorModal/AssignDirectorModal.vue +0 -111
  329. package/src/stories/Organisms/Cards/DirectorAssignmentCard/DirectorAssignmentCard.stories.js +0 -45
  330. package/src/stories/Organisms/Cards/DirectorAssignmentCard/DirectorAssignmentCard.vue +0 -83
@@ -3,9 +3,9 @@
3
3
  <div class="flex w-full flex-col gap-6 md:flex-row">
4
4
  <section class="border border-dropdownSelect rounded-lg p-4 bg-white md:w-1/2">
5
5
  <BaseText
6
- :text="`Merge into this account: ${person?.DisplayName || 'Root Account'}`"
7
- size="md"
8
- color="primary"
6
+ :text="`Merge into this account: ${person?.DisplayName || 'Root Account'}`"
7
+ size="md"
8
+ color="primary"
9
9
  />
10
10
 
11
11
  <div class="mt-3 space-y-2">
@@ -27,14 +27,12 @@
27
27
  <div class="min-h-0">
28
28
  <BaseText text="Accounts to merge in" size="sm" color="quaternary" weight="bold" />
29
29
  <div class="border-b border-dropdownSelect h-2"></div>
30
- <div v-if="selected.length === 0" class="mt-2 text-sm text-quaternary">
31
- None selected yet.
32
- </div>
30
+ <div v-if="selected.length === 0" class="mt-2 text-sm text-quaternary">None selected yet.</div>
33
31
  <div v-else class="mt-2 max-h-44 overflow-y-auto border border-dropdownSelect rounded-lg">
34
32
  <div
35
- v-for="p in selected"
36
- :key="p.PersonId"
37
- class="flex items-center justify-between px-3 py-2 border-b border-dropdownSelect last:border-b-0"
33
+ v-for="p in selected"
34
+ :key="p.PersonId"
35
+ class="flex items-center justify-between px-3 py-2 border-b border-dropdownSelect last:border-b-0"
38
36
  >
39
37
  <div class="min-w-0">
40
38
  <div class="text-sm text-primary font-semibold truncate">
@@ -48,11 +46,11 @@
48
46
  </div>
49
47
 
50
48
  <BaseButton
51
- color="warn"
52
- label="Remove"
53
- size="xs"
54
- type="primary"
55
- @buttonClick="removeSelected(p.PersonId)"
49
+ color="warn"
50
+ label="Remove"
51
+ size="xs"
52
+ type="primary"
53
+ @buttonClick="removeSelected(p.PersonId)"
56
54
  />
57
55
  </div>
58
56
  </div>
@@ -60,12 +58,12 @@
60
58
 
61
59
  <div class="flex justify-end">
62
60
  <BaseButton
63
- color="warn"
64
- label="Merge Accounts Together"
65
- size="sm"
66
- type="primary"
67
- :disabled="!canMerge"
68
- @buttonClick="emitMergeAccounts"
61
+ color="warn"
62
+ label="Merge Accounts Together"
63
+ size="sm"
64
+ type="primary"
65
+ :disabled="!canMerge"
66
+ @buttonClick="emitMergeAccounts"
69
67
  />
70
68
  </div>
71
69
  </div>
@@ -76,30 +74,24 @@
76
74
 
77
75
  <div class="mt-4">
78
76
  <TitledInput
79
- title="Filter people"
80
- placeholder="Type name or club..."
81
- :inputValue="filterText"
82
- @update:value="filterText = $event"
77
+ title="Filter people"
78
+ placeholder="Type name or club..."
79
+ :inputValue="filterText"
80
+ @update:value="filterText = $event"
83
81
  />
84
- <div class="text-xs text-quaternary mt-1">
85
- Filters Display Name, First/Last Name, or Club Name.
86
- </div>
82
+ <div class="text-xs text-quaternary mt-1">Filters Display Name, First/Last Name, or Club Name.</div>
87
83
  </div>
88
84
 
89
85
  <div class="mt-4 flex items-center justify-between text-xs text-quaternary">
90
- <span>
91
- Showing {{ filteredPeople.length }}{{ totalMatches > resultLimit ? '+' : '' }} results
92
- </span>
93
- <span v-if="totalMatches > resultLimit">
94
- (limited to first {{ resultLimit }})
95
- </span>
86
+ <span> Showing {{ filteredPeople.length }}{{ totalMatches > resultLimit ? '+' : '' }} results </span>
87
+ <span v-if="totalMatches > resultLimit"> (limited to first {{ resultLimit }}) </span>
96
88
  </div>
97
89
 
98
90
  <div class="mt-2 border border-dropdownSelect rounded-lg h-64 overflow-y-auto">
99
91
  <div
100
- v-for="p in filteredPeople"
101
- :key="p.PersonId"
102
- class="flex items-center justify-between px-3 py-2 border-b border-dropdownSelect last:border-b-0"
92
+ v-for="p in filteredPeople"
93
+ :key="p.PersonId"
94
+ class="flex items-center justify-between px-3 py-2 border-b border-dropdownSelect last:border-b-0"
103
95
  >
104
96
  <div class="min-w-0">
105
97
  <div class="text-sm text-primary font-semibold truncate">
@@ -112,18 +104,10 @@
112
104
  </div>
113
105
  </div>
114
106
 
115
- <BaseButton
116
- color="neutral"
117
- label="Add"
118
- size="xs"
119
- type="primary"
120
- @buttonClick="addSelected(p)"
121
- />
107
+ <BaseButton color="neutral" label="Add" size="xs" type="primary" @buttonClick="addSelected(p)" />
122
108
  </div>
123
109
 
124
- <div v-if="filteredPeople.length === 0" class="px-3 py-3 text-sm text-quaternary">
125
- No matches.
126
- </div>
110
+ <div v-if="filteredPeople.length === 0" class="px-3 py-3 text-sm text-quaternary">No matches.</div>
127
111
  </div>
128
112
  </section>
129
113
  </div>
@@ -131,54 +115,71 @@
131
115
  </template>
132
116
 
133
117
  <script>
134
- import BaseText from "../../../../Atoms/Text/BaseText.vue";
135
- import TitledInput from "../../../../Molecules/CombinationInputs/TitledInput/TitledInput.vue";
136
- import BaseButton from "../../../../Molecules/Buttons/BaseButton/BaseButton.vue";
118
+ import BaseText from '../../../../Atoms/Text/BaseText.vue';
119
+ import TitledInput from '../../../../Molecules/CombinationInputs/TitledInput/TitledInput.vue';
120
+ import BaseButton from '../../../../Molecules/Buttons/BaseButton/BaseButton.vue';
121
+
122
+ const getPersonSearchValues = person => {
123
+ const searchablePerson = person || {};
124
+ const club = searchablePerson.Club || {};
125
+ return [
126
+ searchablePerson.DisplayName,
127
+ searchablePerson.FirstName,
128
+ searchablePerson.LastName,
129
+ club.Name,
130
+ club.ShortName
131
+ ];
132
+ };
133
+
134
+ const normalizeSearchValue = value => String(value || '').toLowerCase();
135
+
136
+ const personMatchesQuery = (person, query) =>
137
+ getPersonSearchValues(person).some(value => normalizeSearchValue(value).includes(query));
137
138
 
138
139
  export default {
139
- name: "MergeAccounts",
140
+ name: 'MergeAccounts',
140
141
  components: { BaseText, TitledInput, BaseButton },
141
- emits: ["merge:merge"],
142
+ emits: ['merge:merge'],
142
143
  props: {
143
144
  person: { type: Object, required: true },
144
- people: { type: Array, required: true },
145
+ people: { type: Array, required: true }
145
146
  },
146
147
  data() {
147
148
  return {
148
- filterText: "",
149
+ filterText: '',
149
150
  selected: [],
150
- resultLimit: 200,
151
+ resultLimit: 200
151
152
  };
152
153
  },
153
154
  computed: {
154
155
  rootPersonId() {
155
- return this.person?.PersonId ?? "";
156
+ return this.person?.PersonId ?? '';
156
157
  },
157
158
  legalName() {
158
- const first = this.person?.FirstName || "";
159
- const last = this.person?.LastName || "";
160
- return `${first} ${last}`.trim() || "-";
159
+ const first = this.person?.FirstName || '';
160
+ const last = this.person?.LastName || '';
161
+ return `${first} ${last}`.trim() || '-';
161
162
  },
162
163
  clubName() {
163
- return this.person?.Club?.Name || "-";
164
+ return this.person?.Club?.Name || '-';
164
165
  },
165
166
  primaryEmail() {
166
167
  const emails = this.person?.PersonEmails || [];
167
- const primary = emails.find((email) => email.IsPrimary);
168
- return primary?.EmailAddress || "-";
168
+ const primary = emails.find(email => email.IsPrimary);
169
+ return primary?.EmailAddress || '-';
169
170
  },
170
171
  selectedIds() {
171
- return new Set(this.selected.map((p) => p.PersonId));
172
+ return new Set(this.selected.map(p => p.PersonId));
172
173
  },
173
174
  canMerge() {
174
175
  return this.selected.length > 0;
175
176
  },
176
177
  normalizedFilterText() {
177
- return (this.filterText || "").trim().toLowerCase();
178
+ return (this.filterText || '').trim().toLowerCase();
178
179
  },
179
180
  candidatePeople() {
180
181
  return (this.people || []).filter(
181
- (p) => p && p.PersonId !== this.rootPersonId && !this.selectedIds.has(p.PersonId)
182
+ p => p && p.PersonId !== this.rootPersonId && !this.selectedIds.has(p.PersonId)
182
183
  );
183
184
  },
184
185
  matchingPeople() {
@@ -186,14 +187,14 @@ export default {
186
187
 
187
188
  if (!q) return this.candidatePeople;
188
189
 
189
- return this.candidatePeople.filter((p) => this.matchesQuery(p, q));
190
+ return this.candidatePeople.filter(p => this.matchesQuery(p, q));
190
191
  },
191
192
  totalMatches() {
192
193
  return this.matchingPeople.length;
193
194
  },
194
195
  filteredPeople() {
195
196
  return this.matchingPeople.slice(0, this.resultLimit);
196
- },
197
+ }
197
198
  },
198
199
  watch: {
199
200
  rootPersonId() {
@@ -201,7 +202,7 @@ export default {
201
202
  },
202
203
  people() {
203
204
  this.removeUnavailableSelectedPeople();
204
- },
205
+ }
205
206
  },
206
207
  methods: {
207
208
  personClubSuffix(p) {
@@ -210,32 +211,20 @@ export default {
210
211
  resultTitle(p) {
211
212
  const email = this.getPrimaryEmail(p);
212
213
 
213
- if (!email) return p.DisplayName || "";
214
+ if (!email) return p.DisplayName || '';
214
215
 
215
216
  return `${p.DisplayName} - ${email}`;
216
217
  },
217
218
  getPrimaryEmail(p) {
218
219
  const emails = p?.PersonEmails || [];
219
- return emails.find((email) => email.IsPrimary)?.EmailAddress || "";
220
+ return emails.find(email => email.IsPrimary)?.EmailAddress || '';
220
221
  },
221
222
  matchesQuery(p, q) {
222
- const display = (p.DisplayName || "").toLowerCase();
223
- const first = (p.FirstName || "").toLowerCase();
224
- const last = (p.LastName || "").toLowerCase();
225
- const club = (p?.Club?.Name || "").toLowerCase();
226
- const clubShort = (p?.Club?.ShortName || "").toLowerCase();
227
-
228
- return (
229
- display.includes(q) ||
230
- first.includes(q) ||
231
- last.includes(q) ||
232
- club.includes(q) ||
233
- clubShort.includes(q)
234
- );
223
+ return personMatchesQuery(p, q);
235
224
  },
236
225
  removeUnavailableSelectedPeople() {
237
- const availableIds = new Set((this.people || []).map((p) => p?.PersonId));
238
- this.selected = this.selected.filter((p) => availableIds.has(p.PersonId));
226
+ const availableIds = new Set((this.people || []).map(p => p?.PersonId));
227
+ this.selected = this.selected.filter(p => availableIds.has(p.PersonId));
239
228
  },
240
229
  addSelected(p) {
241
230
  if (!p || p.PersonId === this.rootPersonId) return;
@@ -243,16 +232,16 @@ export default {
243
232
  this.selected = [...this.selected, p];
244
233
  },
245
234
  removeSelected(personId) {
246
- this.selected = this.selected.filter((p) => p.PersonId !== personId);
235
+ this.selected = this.selected.filter(p => p.PersonId !== personId);
247
236
  },
248
237
  emitMergeAccounts() {
249
238
  if (!this.canMerge) return;
250
239
 
251
- this.$emit("merge:merge", {
240
+ this.$emit('merge:merge', {
252
241
  rootPersonId: this.rootPersonId,
253
- mergePersonIds: this.selected.map((p) => p.PersonId),
242
+ mergePersonIds: this.selected.map(p => p.PersonId)
254
243
  });
255
- },
256
- },
244
+ }
245
+ }
257
246
  };
258
247
  </script>
@@ -1,38 +1,38 @@
1
1
  import UserAttendance from './Attendance.vue';
2
- import getAttendance from "../../../../mocks/getAttendance.js";
2
+ import getAttendance from '../../../../mocks/getAttendance.js';
3
3
 
4
4
  export default {
5
- title: 'Templates/PersonManagement/Attendance/UserAttendance',
6
- component: UserAttendance,
7
- tags: ['autodocs'],
8
- args: {
9
- attendance: getAttendance
10
- },
11
- argTypes: {
12
- attendance: { control: { type: 'array' } }
13
- }
5
+ title: 'Templates/PersonManagement/Attendance/UserAttendance',
6
+ component: UserAttendance,
7
+ tags: ['autodocs'],
8
+ args: {
9
+ attendance: getAttendance
10
+ },
11
+ argTypes: {
12
+ attendance: { control: { type: 'array' } }
13
+ }
14
14
  };
15
15
 
16
16
  export const Default = {
17
- args: {
18
- attendance: getAttendance
19
- }
17
+ args: {
18
+ attendance: getAttendance
19
+ }
20
20
  };
21
21
 
22
22
  export const Empty = {
23
- args: {
24
- attendance: []
25
- }
23
+ args: {
24
+ attendance: []
25
+ }
26
26
  };
27
27
 
28
28
  export const WithUpcomingOnly = {
29
- args: {
30
- attendance: getAttendance.filter(tournament => new Date(tournament.EndDate) >= new Date())
31
- }
29
+ args: {
30
+ attendance: getAttendance.filter(tournament => new Date(tournament.EndDate) >= new Date())
31
+ }
32
32
  };
33
33
 
34
34
  export const WithPastOnly = {
35
- args: {
36
- attendance: getAttendance.filter(tournament => new Date(tournament.EndDate) < new Date())
37
- }
35
+ args: {
36
+ attendance: getAttendance.filter(tournament => new Date(tournament.EndDate) < new Date())
37
+ }
38
38
  };
@@ -1,41 +1,70 @@
1
1
  <template>
2
2
  <section class="flex justify-center w-full pr-4">
3
- <div class="w-full md:p-2 min-h-80">
4
- <div v-if="attendance.length === 0" class="text-center mt-4">
5
- <BaseText text="No Attendance Records" color="secondary" size="lg" weight="normal"/>
6
- </div>
3
+ <div class="w-full md:p-2 min-h-80">
4
+ <div v-if="attendance.length === 0" class="text-center mt-4">
5
+ <BaseText text="No Attendance Records" color="secondary" size="lg" weight="normal" />
6
+ </div>
7
7
 
8
- <section v-if="attendance.length > 0">
9
- <div v-for="tournament in attendance" :key="tournament.TournamentId" class="mb-6">
10
- <div class="flex mr-4 md:mr-0">
11
- <div class="w-full flex flex-col justify-end md:ml-2">
12
- <div class="w-full flex ml-2 justify-between border-b border-dropdownSelect">
13
- <BaseText :text="tournament.Name" color="primary" size="" weight="text-sm md:text-md simi-bold"/>
14
- <BaseText :text="formatTournamentDates(tournament.StartDate, tournament.EndDate)" color="primary" size="" weight="normal" class="text-xs md:text-md pt-1.5" />
8
+ <section v-if="attendance.length > 0">
9
+ <div v-for="tournament in attendance" :key="tournament.TournamentId" class="mb-6">
10
+ <div class="flex mr-4 md:mr-0">
11
+ <div class="w-full flex flex-col justify-end md:ml-2">
12
+ <div class="w-full flex ml-2 justify-between border-b border-dropdownSelect">
13
+ <BaseText :text="tournament.Name" color="primary" size="" weight="text-sm md:text-md simi-bold" />
14
+ <BaseText
15
+ :text="formatTournamentDates(tournament.StartDate, tournament.EndDate)"
16
+ color="primary"
17
+ size=""
18
+ weight="normal"
19
+ class="text-xs md:text-md pt-1.5"
20
+ />
21
+ </div>
15
22
  </div>
16
23
  </div>
17
- </div>
18
-
19
- <div class="md:ml-14 md:-mt-2 w-full mt-2">
20
- <section v-for="event in tournament.Events" :key="event.EventId" class="mt-4 md:pl-4 mb-2 md:w-11/12">
21
- <div class="grid grid-cols-12 items-center gap-4 px-4 py-2 rounded-lg bg-poolSetup">
22
- <BaseIcon :icon-name="getWeaponIcon(event.Weapon)" iconStyle="fa-kit" size="md" color="quinary" class="col-span-1"/>
23
- <BaseText :text="event.EventName" color="primary" size="" weight="normal" class="text-xs md:text-sm col-span-5"/>
24
- <BaseText :text="formatEventDate(event.Date, event.StartTime)" color="primary" size="" weight="normal" class="text-xs md:text-md col-span-4"/>
25
- <BaseText :text="event.Status" color="primary" size="sm" weight="normal" class="col-span-2 text-right"/>
26
- </div>
27
- </section>
28
24
 
25
+ <div class="md:ml-14 md:-mt-2 w-full mt-2">
26
+ <section v-for="event in tournament.Events" :key="event.EventId" class="mt-4 md:pl-4 mb-2 md:w-11/12">
27
+ <div class="grid grid-cols-12 items-center gap-4 px-4 py-2 rounded-lg bg-poolSetup">
28
+ <BaseIcon
29
+ :icon-name="getWeaponIcon(event.Weapon)"
30
+ iconStyle="fa-kit"
31
+ size="md"
32
+ color="quinary"
33
+ class="col-span-1"
34
+ />
35
+ <BaseText
36
+ :text="event.EventName"
37
+ color="primary"
38
+ size=""
39
+ weight="normal"
40
+ class="text-xs md:text-sm col-span-5"
41
+ />
42
+ <BaseText
43
+ :text="formatEventDate(event.Date, event.StartTime)"
44
+ color="primary"
45
+ size=""
46
+ weight="normal"
47
+ class="text-xs md:text-md col-span-4"
48
+ />
49
+ <BaseText
50
+ :text="event.Status"
51
+ color="primary"
52
+ size="sm"
53
+ weight="normal"
54
+ class="col-span-2 text-right"
55
+ />
56
+ </div>
57
+ </section>
58
+ </div>
29
59
  </div>
30
- </div>
31
- </section>
32
- </div>
60
+ </section>
61
+ </div>
33
62
  </section>
34
63
  </template>
35
64
 
36
65
  <script>
37
- import BaseText from "../../../Atoms/Text/BaseText.vue";
38
- import BaseIcon from "../../..//Atoms/Icon/BaseIcon.vue";
66
+ import BaseText from '../../../Atoms/Text/BaseText.vue';
67
+ import BaseIcon from '../../..//Atoms/Icon/BaseIcon.vue';
39
68
 
40
69
  const weaponIcons = {
41
70
  Longsword: 'fa-longsword',
@@ -54,8 +83,8 @@ const daySuffixes = {
54
83
  };
55
84
 
56
85
  export default {
57
- name: "Attendance",
58
- components: {BaseIcon, BaseText },
86
+ name: 'Attendance',
87
+ components: { BaseIcon, BaseText },
59
88
  props: {
60
89
  attendance: {
61
90
  type: Array,
@@ -67,10 +96,9 @@ export default {
67
96
  showUpcoming: true
68
97
  };
69
98
  },
70
- computed: {
71
- },
99
+ computed: {},
72
100
  methods: {
73
- getWeaponIcon(weapon){
101
+ getWeaponIcon(weapon) {
74
102
  return weaponIcons[weapon] || 'fa-longsword';
75
103
  },
76
104
  formatEventDate(date, time) {
@@ -101,7 +129,7 @@ export default {
101
129
  getDaySuffix(day) {
102
130
  if (day > 3 && day < 21) return 'th';
103
131
  return daySuffixes[day % 10] || 'th';
104
- },
132
+ }
105
133
  }
106
134
  };
107
135
  </script>
@@ -1,37 +1,37 @@
1
1
  import PersonManagement from './BasicEdit.vue';
2
- import personsMock from "../../../../mocks/personsMock.js";
3
- import clubGetAllMock from "../../../../mocks/clubGetAllMock.js";
2
+ import personsMock from '../../../../mocks/personsMock.js';
3
+ import clubGetAllMock from '../../../../mocks/clubGetAllMock.js';
4
4
 
5
5
  export default {
6
- title: 'Templates/PersonManagement/Basic/Basic',
7
- component: PersonManagement,
8
- argTypes: {
9
- person: {
10
- control: 'object',
11
- description: 'The person profile object being edited'
12
- },
13
- fencingClubs: {
14
- control: 'array',
15
- description: 'The list of fencing clubs'
16
- },
17
- validation: {
18
- control: 'object',
19
- description: 'validation'
20
- },
21
- handleSubmit: { action: 'submit:person' },
22
- handleDelete: { action: 'delete:person' }
23
- }
6
+ title: 'Templates/PersonManagement/Basic/Basic',
7
+ component: PersonManagement,
8
+ argTypes: {
9
+ person: {
10
+ control: 'object',
11
+ description: 'The person profile object being edited'
12
+ },
13
+ fencingClubs: {
14
+ control: 'array',
15
+ description: 'The list of fencing clubs'
16
+ },
17
+ validation: {
18
+ control: 'object',
19
+ description: 'validation'
20
+ },
21
+ handleSubmit: { action: 'submit:person' },
22
+ handleDelete: { action: 'delete:person' }
23
+ }
24
24
  };
25
25
 
26
26
  export const Default = {
27
- args: {
28
- person: personsMock[1],
29
- fencingClubs: clubGetAllMock,
30
- validation: {
31
- DisplayName: { invalid: false, message: "" },
32
- LegalName: { invalid: false, message: "" },
33
- EmailAddress: { invalid: false, message: "" },
34
- Club: { invalid: false, message: "" },
35
- },
27
+ args: {
28
+ person: personsMock[1],
29
+ fencingClubs: clubGetAllMock,
30
+ validation: {
31
+ DisplayName: { invalid: false, message: '' },
32
+ LegalName: { invalid: false, message: '' },
33
+ EmailAddress: { invalid: false, message: '' },
34
+ Club: { invalid: false, message: '' }
36
35
  }
36
+ }
37
37
  };