@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
@@ -2,14 +2,20 @@
2
2
  <div class="p-4 bg-neutral">
3
3
  <!-- Icon and Header -->
4
4
  <div class="w-full flex flex-row justify-center mb-8">
5
- <p :class="['bg-' + iconBackgroundColor, 'flex flex-row justify-center h-20 w-20 rounded-full', 'border border-' + iconBorderColor]">
5
+ <p
6
+ :class="[
7
+ 'bg-' + iconBackgroundColor,
8
+ 'flex flex-row justify-center h-20 w-20 rounded-full',
9
+ 'border border-' + iconBorderColor
10
+ ]"
11
+ >
6
12
  <BaseIcon
7
- :icon-name="selectedDisplayType.text === 'ScoreBoard' ? 'fa-screencast' : 'fa-screen-users'"
8
- iconStyle="fa-solid"
9
- size="4xl"
10
- :color="iconColor"
11
- class="mb-3 mt-5"
12
- data-testid="base-icon"
13
+ :icon-name="selectedDisplayType.text === 'ScoreBoard' ? 'fa-screencast' : 'fa-screen-users'"
14
+ iconStyle="fa-solid"
15
+ size="4xl"
16
+ :color="iconColor"
17
+ class="mb-3 mt-5"
18
+ data-testid="base-icon"
13
19
  />
14
20
  </p>
15
21
  </div>
@@ -22,61 +28,89 @@
22
28
  <div class="mb-4">
23
29
  <BaseText color="quinary" size="sm" text="Display Type" :invalid="validation.Type" weight="normal" class="mb-1" />
24
30
  <DropDownMenu
25
- label=""
26
- :items="displayTypes"
27
- :selected-item="selectedDisplayType"
28
- :alignEnd="false"
29
- width="w-full"
30
- @update:selectedItem="handleDisplayTypeChange"
31
+ label=""
32
+ :items="displayTypes"
33
+ :selected-item="selectedDisplayType"
34
+ :alignEnd="false"
35
+ width="w-full"
36
+ @update:selectedItem="handleDisplayTypeChange"
31
37
  />
32
38
  </div>
33
39
 
34
40
  <!-- Display Name / FlightBoard Name Input -->
35
41
  <div class="h-32">
36
42
  <div v-if="selectedDisplayType.text === 'ScoreBoard'" class="mb-4">
37
- <BaseText color="quinary" size="sm" text="Ring Name" :invalid="validation.DisplayName" weight="normal" class="mb-1" />
43
+ <BaseText
44
+ color="quinary"
45
+ size="sm"
46
+ text="Ring Name"
47
+ :invalid="validation.DisplayName"
48
+ weight="normal"
49
+ class="mb-1"
50
+ />
38
51
  <DropDownMenu
39
- label=""
40
- :items="ringNames"
41
- :selected-item="selectedDisplayName"
42
- :alignEnd="false"
43
- width="w-full"
44
- @update:selectedItem="handleDisplayNameChange"
52
+ label=""
53
+ :items="ringNames"
54
+ :selected-item="selectedDisplayName"
55
+ :alignEnd="false"
56
+ width="w-full"
57
+ @update:selectedItem="handleDisplayNameChange"
45
58
  />
46
59
  </div>
47
60
  <div v-if="selectedDisplayType.text === 'FlightBoard'" class="mb-4">
48
- <BaseText color="quinary" size="sm" text="Flightboard Name" :invalid="validation.DisplayName" weight="normal" class="mb-1" />
61
+ <BaseText
62
+ color="quinary"
63
+ size="sm"
64
+ text="Flightboard Name"
65
+ :invalid="validation.DisplayName"
66
+ weight="normal"
67
+ class="mb-1"
68
+ />
49
69
  <DropDownMenu
50
- label=""
51
- :items="flightBoardNames"
52
- :selected-item="selectedFlightBoardName"
53
- :alignEnd="false"
54
- width="w-full"
55
- @update:selectedItem="handleDisplayNameChange"
70
+ label=""
71
+ :items="flightBoardNames"
72
+ :selected-item="selectedFlightBoardName"
73
+ :alignEnd="false"
74
+ width="w-full"
75
+ @update:selectedItem="handleDisplayNameChange"
56
76
  />
57
77
  </div>
58
78
 
59
79
  <!-- Assignment -->
60
80
  <div v-if="selectedDisplayType.text === 'ScoreBoard'" class="mb-4">
61
- <BaseText color="quinary" size="sm" text="Assigned To" :invalid="validation.AssignedTo" weight="normal" class="mb-1" />
81
+ <BaseText
82
+ color="quinary"
83
+ size="sm"
84
+ text="Assigned To"
85
+ :invalid="validation.AssignedTo"
86
+ weight="normal"
87
+ class="mb-1"
88
+ />
62
89
  <DropDownMenu
63
- label=""
64
- :items="staff"
65
- :selected-item="selectedStaff"
66
- :alignEnd="false"
67
- width="w-full"
68
- @update:selectedItem="handleStaffAssignment"
90
+ label=""
91
+ :items="staff"
92
+ :selected-item="selectedStaff"
93
+ :alignEnd="false"
94
+ width="w-full"
95
+ @update:selectedItem="handleStaffAssignment"
69
96
  />
70
97
  </div>
71
98
  <div v-else-if="selectedDisplayType.text === 'FlightBoard'" class="mb-4">
72
- <BaseText color="quinary" size="sm" text="Event To Track" :invalid="validation.AssignedTo" weight="normal" class="mb-1" />
99
+ <BaseText
100
+ color="quinary"
101
+ size="sm"
102
+ text="Event To Track"
103
+ :invalid="validation.AssignedTo"
104
+ weight="normal"
105
+ class="mb-1"
106
+ />
73
107
  <DropDownMenu
74
- label=""
75
- :items="events"
76
- :selected-item="selectedEvent"
77
- :alignEnd="false"
78
- width="w-full"
79
- @update:selectedItem="handleEventAssignment"
108
+ label=""
109
+ :items="events"
110
+ :selected-item="selectedEvent"
111
+ :alignEnd="false"
112
+ width="w-full"
113
+ @update:selectedItem="handleEventAssignment"
80
114
  />
81
115
  </div>
82
116
  </div>
@@ -84,20 +118,66 @@
84
118
  <!-- Submit and Cancel Buttons -->
85
119
  <div class="flex flex-row justify-center mt-10">
86
120
  <div class="w-1/2 ml-1">
87
- <BaseButton class="w-full" color="neutral" label="Cancel" size="sm" type="primary" @buttonClick="handleCancel" />
121
+ <BaseButton
122
+ class="w-full"
123
+ color="neutral"
124
+ label="Cancel"
125
+ size="sm"
126
+ type="primary"
127
+ @buttonClick="handleCancel"
128
+ />
88
129
  </div>
89
130
  <div class="w-1/2 ml-1">
90
- <BaseButton class="w-full transition-all duration-300 ease-in-out" color="neutral" label="Save" size="sm" type="primary" :selected="true" @buttonClick="handleSubmit" />
131
+ <BaseButton
132
+ class="w-full transition-all duration-300 ease-in-out"
133
+ color="neutral"
134
+ label="Save"
135
+ size="sm"
136
+ type="primary"
137
+ :selected="true"
138
+ @buttonClick="handleSubmit"
139
+ />
91
140
  </div>
92
141
  </div>
93
142
  </div>
94
143
  </template>
95
144
 
96
145
  <script>
97
- import BaseText from "../../../Atoms/Text/BaseText.vue";
98
- import DropDownMenu from "../../ComplexInputs/DropDown/DropDownMenu.vue";
99
- import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
100
- import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
146
+ import BaseText from '../../../Atoms/Text/BaseText.vue';
147
+ import DropDownMenu from '../../ComplexInputs/DropDown/DropDownMenu.vue';
148
+ import BaseButton from '../../../Molecules/Buttons/BaseButton/BaseButton.vue';
149
+ import BaseIcon from '../../../Atoms/Icon/BaseIcon.vue';
150
+
151
+ const createOption = text => ({ text, link: text });
152
+ const createNumberedOptions = (label, count) =>
153
+ Array.from({ length: count }, (_, index) => createOption(`${label} ${index + 1}`));
154
+
155
+ const displayTypes = ['ScoreBoard', 'FlightBoard'].map(createOption);
156
+ const ringNames = createNumberedOptions('Ring', 20);
157
+ const flightBoardNames = createNumberedOptions('FlightBoard', 20);
158
+
159
+ const cloneOptions = options => options.map(option => ({ ...option }));
160
+
161
+ const createDisplayData = kiosk => {
162
+ const display = kiosk || {};
163
+ return {
164
+ iconName: 'fa-check-circle',
165
+ iconColor: 'accepted',
166
+ iconBackgroundColor: 'acceptedHighlight',
167
+ editableDisplay: {
168
+ DisplayName: display.DisplayName || '',
169
+ Type: display.Type || '',
170
+ AssignedTo: '',
171
+ AssignedToType: '',
172
+ Person: { DisplayName: '', PersonId: null }
173
+ },
174
+ selectedEvent: createOption('Select Event'),
175
+ validation: { DisplayName: false, Type: false, AssignedTo: false },
176
+ displayTypes: cloneOptions(displayTypes),
177
+ ringNames: cloneOptions(ringNames),
178
+ flightBoardNames: cloneOptions(flightBoardNames)
179
+ };
180
+ };
101
181
 
102
182
  export default {
103
183
  name: 'AddDisplay',
@@ -121,76 +201,7 @@ export default {
121
201
  }
122
202
  },
123
203
  data() {
124
- return {
125
- iconName: 'fa-check-circle',
126
- iconColor: 'accepted',
127
- iconBackgroundColor: 'acceptedHighlight',
128
- // Create an editable copy from kiosk for display properties.
129
- editableDisplay: {
130
- DisplayName: this.kiosk.DisplayName || '',
131
- Type: this.kiosk.Type || '',
132
- AssignedTo: '', // Will store either a PersonId or an Event identifier.
133
- AssignedToType: '', // Either 'Person' or 'Event'
134
- Person: {
135
- DisplayName: '',
136
- PersonId: null
137
- }
138
- },
139
- selectedEvent: { text: 'Select Event', link: 'Select Event' },
140
- validation: {
141
- DisplayName: false,
142
- Type: false,
143
- AssignedTo: false
144
- },
145
- displayTypes: [
146
- { text: 'ScoreBoard', link: 'ScoreBoard' },
147
- { text: 'FlightBoard', link: 'FlightBoard' }
148
- ],
149
- ringNames: [
150
- { text: 'Ring 1', link: 'Ring 1' },
151
- { text: 'Ring 2', link: 'Ring 2' },
152
- { text: 'Ring 3', link: 'Ring 3' },
153
- { text: 'Ring 4', link: 'Ring 4' },
154
- { text: 'Ring 5', link: 'Ring 5' },
155
- { text: 'Ring 6', link: 'Ring 6' },
156
- { text: 'Ring 7', link: 'Ring 7' },
157
- { text: 'Ring 8', link: 'Ring 8' },
158
- { text: 'Ring 9', link: 'Ring 9' },
159
- { text: 'Ring 10', link: 'Ring 10' },
160
- { text: 'Ring 11', link: 'Ring 11' },
161
- { text: 'Ring 13', link: 'Ring 12' },
162
- { text: 'Ring 14', link: 'Ring 13' },
163
- { text: 'Ring 14', link: 'Ring 14' },
164
- { text: 'Ring 15', link: 'Ring 15' },
165
- { text: 'Ring 16', link: 'Ring 16' },
166
- { text: 'Ring 17', link: 'Ring 17' },
167
- { text: 'Ring 18', link: 'Ring 18' },
168
- { text: 'Ring 19', link: 'Ring 19' },
169
- { text: 'Ring 20', link: 'Ring 20' }
170
- ],
171
- flightBoardNames: [
172
- { text: 'FlightBoard 1', link: 'FlightBoard 1' },
173
- { text: 'FlightBoard 2', link: 'FlightBoard 2' },
174
- { text: 'FlightBoard 3', link: 'FlightBoard 3' },
175
- { text: 'FlightBoard 4', link: 'FlightBoard 4' },
176
- { text: 'FlightBoard 5', link: 'FlightBoard 5' },
177
- { text: 'FlightBoard 6', link: 'FlightBoard 6' },
178
- { text: 'FlightBoard 7', link: 'FlightBoard 7' },
179
- { text: 'FlightBoard 8', link: 'FlightBoard 8' },
180
- { text: 'FlightBoard 9', link: 'FlightBoard 9' },
181
- { text: 'FlightBoard 10', link: 'FlightBoard 10' },
182
- { text: 'FlightBoard 11', link: 'FlightBoard 11' },
183
- { text: 'FlightBoard 12', link: 'FlightBoard 12' },
184
- { text: 'FlightBoard 13', link: 'FlightBoard 13' },
185
- { text: 'FlightBoard 14', link: 'FlightBoard 14' },
186
- { text: 'FlightBoard 15', link: 'FlightBoard 15' },
187
- { text: 'FlightBoard 16', link: 'FlightBoard 16' },
188
- { text: 'FlightBoard 17', link: 'FlightBoard 17' },
189
- { text: 'FlightBoard 18', link: 'FlightBoard 18' },
190
- { text: 'FlightBoard 19', link: 'FlightBoard 19' },
191
- { text: 'FlightBoard 20', link: 'FlightBoard 20' },
192
- ]
193
- };
204
+ return createDisplayData(this.kiosk);
194
205
  },
195
206
  computed: {
196
207
  selectedDisplayType() {
@@ -247,7 +258,8 @@ export default {
247
258
  this.validation.AssignedTo = false;
248
259
  },
249
260
  validateForm() {
250
- this.validation.DisplayName = !this.editableDisplay.DisplayName || this.editableDisplay.DisplayName === 'Unassigned';
261
+ this.validation.DisplayName =
262
+ !this.editableDisplay.DisplayName || this.editableDisplay.DisplayName === 'Unassigned';
251
263
  this.validation.Type = !this.editableDisplay.Type;
252
264
  this.validation.AssignedTo = !this.editableDisplay.AssignedTo;
253
265
  },
@@ -1,21 +1,20 @@
1
- import AddNewPerson from "./AddNewPerson.vue";
1
+ import AddNewPerson from './AddNewPerson.vue';
2
2
 
3
3
  export default {
4
- title: "Organisms/Forms/AddNewPerson",
5
- component: AddNewPerson,
6
- argTypes: {
7
- fencingClubs: { control: "array" },
8
- onNewPersonSubmitted: { action: "new-person-submitted" },
9
- },
4
+ title: 'Organisms/Forms/AddNewPerson',
5
+ component: AddNewPerson,
6
+ argTypes: {
7
+ fencingClubs: { control: 'array' },
8
+ onNewPersonSubmitted: { action: 'new-person-submitted' }
9
+ }
10
10
  };
11
11
 
12
-
13
12
  export const Default = {
14
- args: {
15
- fencingClubs: [
16
- {Name: "Iron Edge Academy", ClubId: 1},
17
- {Name: "Silver Sword Guild", ClubId: 2},
18
- {Name: "Steel Ring Dojo", ClubId: 3},
19
- ],
20
- }
13
+ args: {
14
+ fencingClubs: [
15
+ { Name: 'Iron Edge Academy', ClubId: 1 },
16
+ { Name: 'Silver Sword Guild', ClubId: 2 },
17
+ { Name: 'Steel Ring Dojo', ClubId: 3 }
18
+ ]
19
+ }
21
20
  };
@@ -1,94 +1,100 @@
1
1
  <template>
2
2
  <div class="text-start">
3
- <BaseText class="mb-4 border-b border-dropdownSelect" size="md" color="primary" weight="simibold" text="Enter New Fencers Information" />
3
+ <BaseText
4
+ class="mb-4 border-b border-dropdownSelect"
5
+ size="md"
6
+ color="primary"
7
+ weight="simibold"
8
+ text="Enter New Fencers Information"
9
+ />
4
10
 
5
11
  <TitledInput
6
- :inputValue="formData.personName"
7
- :invalid="validation.personName.invalid"
8
- :placeholder="'Display Name (required)'"
9
- :title="validation.personName.invalid ? `Display Name - ${validation.personName.message}` : 'Display Name'"
10
- class="mt-2 w-full"
11
- @update:value="updateForm('personName', $event)"
12
+ :inputValue="formData.personName"
13
+ :invalid="validation.personName.invalid"
14
+ :placeholder="'Display Name (required)'"
15
+ :title="validation.personName.invalid ? `Display Name - ${validation.personName.message}` : 'Display Name'"
16
+ class="mt-2 w-full"
17
+ @update:value="updateForm('personName', $event)"
12
18
  />
13
19
 
14
20
  <TitledInput
15
- :inputValue="formData.personLegalName"
16
- :invalid="validation.personLegalName.invalid"
17
- :placeholder="'Legal Name (required)'"
18
- :title="validation.personLegalName.invalid ? `Legal Name - ${validation.personLegalName.message}` : 'Legal Name'"
19
- class="mt-2"
20
- @update:value="updateForm('personLegalName', $event)"
21
+ :inputValue="formData.personLegalName"
22
+ :invalid="validation.personLegalName.invalid"
23
+ :placeholder="'Legal Name (required)'"
24
+ :title="validation.personLegalName.invalid ? `Legal Name - ${validation.personLegalName.message}` : 'Legal Name'"
25
+ class="mt-2"
26
+ @update:value="updateForm('personLegalName', $event)"
21
27
  />
22
28
 
23
- <div class=" flex-col">
29
+ <div class="flex-col">
24
30
  <BaseText
25
- :color="'primaryHighlight'"
26
- :invalid="validation.personPronouns.invalid"
27
- :size="'sm'"
28
- :text="validation.personPronouns.invalid ? `Pronouns - ${validation.personPronouns.message}` : 'Pronouns'"
29
- :weight="'normal'"
30
- class="mt-2"
31
- data-testid="text-description"
31
+ :color="'primaryHighlight'"
32
+ :invalid="validation.personPronouns.invalid"
33
+ :size="'sm'"
34
+ :text="validation.personPronouns.invalid ? `Pronouns - ${validation.personPronouns.message}` : 'Pronouns'"
35
+ :weight="'normal'"
36
+ class="mt-2"
37
+ data-testid="text-description"
32
38
  />
33
39
  <DropDownMenu
34
- :label="formData.personPronouns.text.length < 2 ? 'Preferred Pronouns' : ''"
35
- :items="pronouns"
36
- class="pb-2"
37
- :selectedItem="formData.personPronouns"
38
- @update:selectedItem="handleSelectedPronouns"
39
- :alignEnd="false"
40
- width="w-full"
41
- dropDownWidth="w-[342px]"
40
+ :label="formData.personPronouns.text.length < 2 ? 'Preferred Pronouns' : ''"
41
+ :items="pronouns"
42
+ class="pb-2"
43
+ :selectedItem="formData.personPronouns"
44
+ @update:selectedItem="handleSelectedPronouns"
45
+ :alignEnd="false"
46
+ width="w-full"
47
+ dropDownWidth="w-[342px]"
42
48
  />
43
49
  </div>
44
50
 
45
51
  <TitledInput
46
- :inputValue="formData.personEmail"
47
- :invalid="validation.personEmail.invalid"
48
- :placeholder="'Email (optional) but required for user to log-in later'"
49
- :title="validation.personEmail.invalid ? `Email - ${validation.personEmail.message}` : 'Email'"
50
- class="mt-2"
51
- @update:value="updateForm('personEmail', $event)"
52
+ :inputValue="formData.personEmail"
53
+ :invalid="validation.personEmail.invalid"
54
+ :placeholder="'Email (optional) but required for user to log-in later'"
55
+ :title="validation.personEmail.invalid ? `Email - ${validation.personEmail.message}` : 'Email'"
56
+ class="mt-2"
57
+ @update:value="updateForm('personEmail', $event)"
52
58
  />
53
59
 
54
60
  <div class="mb-2">
55
61
  <BaseText
56
- :color="'primaryHighlight'"
57
- :invalid="validation.selectedClub.invalid"
58
- :size="'sm'"
59
- :text="validation.selectedClub.invalid ? `Club - ${validation.selectedClub.message}` : 'Club'"
60
- :weight="'normal'"
61
- class="mt-2"
62
- data-testid="text-description"
62
+ :color="'primaryHighlight'"
63
+ :invalid="validation.selectedClub.invalid"
64
+ :size="'sm'"
65
+ :text="validation.selectedClub.invalid ? `Club - ${validation.selectedClub.message}` : 'Club'"
66
+ :weight="'normal'"
67
+ class="mt-2"
68
+ data-testid="text-description"
63
69
  />
64
70
  <DropDownMenu
65
- :label="formData.selectedClub.text.length < 2 ? 'Select Club' : ''"
66
- :items="formattedClubs"
67
- :selectedItem="formData.selectedClub"
68
- :invalid="validation.selectedClub.invalid"
69
- @update:selectedItem="handleSelectedClub"
70
- width="w-full"
71
- :alignEnd="false"
72
- dropDownWidth="w-[342px]"
71
+ :label="formData.selectedClub.text.length < 2 ? 'Select Club' : ''"
72
+ :items="formattedClubs"
73
+ :selectedItem="formData.selectedClub"
74
+ :invalid="validation.selectedClub.invalid"
75
+ @update:selectedItem="handleSelectedClub"
76
+ width="w-full"
77
+ :alignEnd="false"
78
+ dropDownWidth="w-[342px]"
73
79
  />
74
80
  </div>
75
81
 
76
- <BaseButton type="secondary" label="Add Person" class="mt-4" @buttonClick="handleSubmit"/>
82
+ <BaseButton type="secondary" label="Add Person" class="mt-4" @buttonClick="handleSubmit" />
77
83
  </div>
78
84
  </template>
79
85
 
80
86
  <script>
81
- import BaseInput from "../../../Atoms/Input/BaseInput.vue";
82
- import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
83
- import BaseText from "../../../Atoms/Text/BaseText.vue";
84
- import DropDownMenu from "../../ComplexInputs/DropDown/DropDownMenu.vue";
85
- import { validateField } from "../../../Util/Validations/AddNewPersonModalValidation.js";
86
- import TitledInput from "../../../Molecules/CombinationInputs/TitledInput/TitledInput.vue";
87
+ import BaseInput from '../../../Atoms/Input/BaseInput.vue';
88
+ import BaseButton from '../../../Molecules/Buttons/BaseButton/BaseButton.vue';
89
+ import BaseText from '../../../Atoms/Text/BaseText.vue';
90
+ import DropDownMenu from '../../ComplexInputs/DropDown/DropDownMenu.vue';
91
+ import { validateField } from '../../../Util/Validations/AddNewPersonModalValidation.js';
92
+ import TitledInput from '../../../Molecules/CombinationInputs/TitledInput/TitledInput.vue';
87
93
 
88
94
  export default {
89
- name: "AddNewPerson",
95
+ name: 'AddNewPerson',
90
96
  emits: ['newPersonSubmitted'],
91
- components: {TitledInput, DropDownMenu, BaseText, BaseButton, BaseInput },
97
+ components: { TitledInput, DropDownMenu, BaseText, BaseButton, BaseInput },
92
98
  props: {
93
99
  fencingClubs: {
94
100
  type: Array,
@@ -98,26 +104,26 @@ export default {
98
104
  data() {
99
105
  return {
100
106
  formData: {
101
- personName: "",
102
- personLegalName: "",
103
- personEmail: "",
104
- personPronouns: { text: "He/Him", link: "" },
105
- selectedClub: { text: "", link: "" },
106
- clubId: "",
107
+ personName: '',
108
+ personLegalName: '',
109
+ personEmail: '',
110
+ personPronouns: { text: 'He/Him', link: '' },
111
+ selectedClub: { text: '', link: '' },
112
+ clubId: ''
107
113
  },
108
114
  pronouns: [
109
- { text: "He/Him", link: "he-him" },
110
- { text: "She/Her", link: "she-her" },
111
- { text: "They/Them", link: "they-them" },
112
- { text: "Ze/Hir", link: "ze-hir" },
113
- { text: "Xe/Xem", link: "xe-xem" }
115
+ { text: 'He/Him', link: 'he-him' },
116
+ { text: 'She/Her', link: 'she-her' },
117
+ { text: 'They/Them', link: 'they-them' },
118
+ { text: 'Ze/Hir', link: 'ze-hir' },
119
+ { text: 'Xe/Xem', link: 'xe-xem' }
114
120
  ],
115
121
  validation: {
116
- personName: { invalid: false, message: "" },
117
- personLegalName: { invalid: false, message: "" },
118
- personPronouns: { invalid: false, message: "" },
119
- personEmail: { invalid: false, message: "" },
120
- selectedClub: { invalid: false, message: "" }
122
+ personName: { invalid: false, message: '' },
123
+ personLegalName: { invalid: false, message: '' },
124
+ personPronouns: { invalid: false, message: '' },
125
+ personEmail: { invalid: false, message: '' },
126
+ selectedClub: { invalid: false, message: '' }
121
127
  },
122
128
  formSubmitted: false
123
129
  };
@@ -140,7 +146,7 @@ export default {
140
146
  },
141
147
  handleSelectedClub(value) {
142
148
  this.formData.selectedClub = value;
143
- this.validateFieldState("selectedClub", value);
149
+ this.validateFieldState('selectedClub', value);
144
150
  },
145
151
  handleSelectedPronouns(value) {
146
152
  this.formData.selectedPronouns = value;
@@ -169,24 +175,24 @@ export default {
169
175
  };
170
176
 
171
177
  this.clearForm();
172
- this.$emit("newPersonSubmitted", newPerson);
178
+ this.$emit('newPersonSubmitted', newPerson);
173
179
  },
174
180
 
175
181
  clearForm() {
176
182
  this.formData = {
177
- personName: "",
178
- personLegalName: "",
179
- personEmail: "",
180
- personPronouns: { text: "", link: "" },
181
- selectedClub: { text: "", link: "" },
182
- clubId: "",
183
+ personName: '',
184
+ personLegalName: '',
185
+ personEmail: '',
186
+ personPronouns: { text: '', link: '' },
187
+ selectedClub: { text: '', link: '' },
188
+ clubId: ''
183
189
  };
184
190
  this.validation = {
185
- personName: { invalid: false, message: "" },
186
- personLegalName: { invalid: false, message: "" },
187
- personPronouns: { text: "He/Him", link: "" },
188
- personEmail: { invalid: false, message: "" },
189
- selectedClub: { invalid: false, message: "" }
191
+ personName: { invalid: false, message: '' },
192
+ personLegalName: { invalid: false, message: '' },
193
+ personPronouns: { text: 'He/Him', link: '' },
194
+ personEmail: { invalid: false, message: '' },
195
+ selectedClub: { invalid: false, message: '' }
190
196
  };
191
197
  this.formSubmitted = false;
192
198
  }