@dcrackel/hematournamentui 1.0.706 → 1.0.708

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 (350) 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 +118 -88
  6. package/README.md +29 -22
  7. package/dist/HemaTournamentUI-lib.es.js +8394 -8807
  8. package/dist/HemaTournamentUI-lib.umd.js +27 -27
  9. package/dist/hematournamentui-tailwind.css +183 -428
  10. package/dist/hematournamentui.css +1 -1
  11. package/eslint.config.js +49 -23
  12. package/package.json +15 -11
  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/index.js +2 -0
  17. package/src/main.js +1 -1
  18. package/src/mocks/EventQuestionsMock.js +43 -55
  19. package/src/mocks/assignments.js +180 -181
  20. package/src/mocks/clubGetAllMock.js +8143 -8143
  21. package/src/mocks/eventMock.js +205 -205
  22. package/src/mocks/eventPersonGetInitalPoolAssignmentsLivePools.js +541 -542
  23. package/src/mocks/eventPersonGetInitalPoolAssignmentsPreparing.js +522 -523
  24. package/src/mocks/eventPersonGetInitialPoolAssignments.js +386 -387
  25. package/src/mocks/eventPersonGetInitialPoolAssignments2.js +2267 -2268
  26. package/src/mocks/eventPersonGetInitialStaff.js +94 -95
  27. package/src/mocks/eventPersonGetPoolAssignmentEvent.js +161 -162
  28. package/src/mocks/eventRules.js +87 -86
  29. package/src/mocks/eventpersonGetEventById.js +1737 -1737
  30. package/src/mocks/getAllClubs.js +8143 -8143
  31. package/src/mocks/getAllStaffByTournamentId.js +74 -75
  32. package/src/mocks/getAllWeapons.js +81 -82
  33. package/src/mocks/getAttendance.js +43 -44
  34. package/src/mocks/getClub.js +43 -44
  35. package/src/mocks/getClubDisplayByClubId.js +104 -105
  36. package/src/mocks/getDEBouts-128Fencers.js +3247 -3248
  37. package/src/mocks/getDEBouts-42Fencers.js +3736 -3737
  38. package/src/mocks/getDEBouts-67Fencers.js +6684 -6690
  39. package/src/mocks/getDEBouts-DoubleElim.js +4198 -4199
  40. package/src/mocks/getDEBouts-TableOf128.js +37 -0
  41. package/src/mocks/getDEBouts-TableOf64.js +35 -0
  42. package/src/mocks/getDEWithBouts.js +628 -629
  43. package/src/mocks/getDeBouts-12fencers.js +1255 -1256
  44. package/src/mocks/getDeBouts-15fencers.js +925 -927
  45. package/src/mocks/getDeBouts-22fencers.js +1683 -1685
  46. package/src/mocks/getDeBouts-6fencers.js +818 -818
  47. package/src/mocks/getEventByTournamentId.js +47 -48
  48. package/src/mocks/getFinalEventResult.js +304 -305
  49. package/src/mocks/getPenaltiesByEvent.js +655 -656
  50. package/src/mocks/getPoolResults.js +1533 -1534
  51. package/src/mocks/getPoolsWithBouts.js +662 -663
  52. package/src/mocks/getPoolsWithBouts6PoolId139.js +885 -886
  53. package/src/mocks/getPoolsWithBoutsByPoolId.js +841 -841
  54. package/src/mocks/getPoolsWithBoutsClubColors.js +4 -4
  55. package/src/mocks/getPoolsWithBoutsComplete.js +919 -921
  56. package/src/mocks/locationMock.js +3213 -3214
  57. package/src/mocks/mockRoutes.js +3 -3
  58. package/src/mocks/personGetAllMock.js +2536 -2537
  59. package/src/mocks/personsMock.js +17569 -17570
  60. package/src/mocks/singleEventMock.js +249 -250
  61. package/src/mocks/tournamentMock.js +1988 -1927
  62. package/src/stories/Atoms/CheckBox/BaseCheckbox.stories.js +25 -23
  63. package/src/stories/Atoms/CheckBox/BaseCheckbox.vue +30 -24
  64. package/src/stories/Atoms/Icon/BaseIcon.stories.js +63 -64
  65. package/src/stories/Atoms/Icon/BaseIcon.test.js +67 -69
  66. package/src/stories/Atoms/Icon/BaseIcon.vue +2 -3
  67. package/src/stories/Atoms/Input/BaseInput.stories.js +18 -18
  68. package/src/stories/Atoms/Input/BaseInput.test.js +65 -67
  69. package/src/stories/Atoms/Input/BaseInput.vue +36 -31
  70. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.stories.js +21 -21
  71. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.test.js +31 -31
  72. package/src/stories/Atoms/RadioGroup/BaseRadioGroup.vue +23 -18
  73. package/src/stories/Atoms/Tag/BaseTag.stories.js +21 -21
  74. package/src/stories/Atoms/Tag/BaseTag.test.js +26 -30
  75. package/src/stories/Atoms/Tag/BaseTag.vue +18 -19
  76. package/src/stories/Atoms/Text/BaseText.stories.js +54 -62
  77. package/src/stories/Atoms/Text/BaseText.test.js +152 -154
  78. package/src/stories/Atoms/Text/BaseText.vue +103 -81
  79. package/src/stories/Configure.mdx +5 -3
  80. package/src/stories/Molecules/Boxes/BoutBoxes/HandshotCounterBox/HandshotCounterBox.stories.js +24 -24
  81. package/src/stories/Molecules/Boxes/BoutBoxes/HandshotCounterBox/HandshotCounterBox.vue +33 -15
  82. package/src/stories/Molecules/Boxes/BoutBoxes/PassesBox/PassesBox.stories.js +46 -48
  83. package/src/stories/Molecules/Boxes/BoutBoxes/PassesBox/PassesBox.vue +38 -25
  84. package/src/stories/Molecules/Boxes/BoutBoxes/PenaltyConfirmationBox/PenaltyConfirmationBox.stories.js +4 -4
  85. package/src/stories/Molecules/Boxes/BoutBoxes/PenaltyConfirmationBox/PenaltyConfirmationBox.vue +9 -4
  86. package/src/stories/Molecules/Boxes/BoutBoxes/ScoreBox/ScoreBox.stories.js +90 -90
  87. package/src/stories/Molecules/Boxes/BoutBoxes/ScoreBox/ScoreBox.vue +51 -32
  88. package/src/stories/Molecules/Boxes/BoutBoxes/TimerBox/TimerBox.stories.js +25 -25
  89. package/src/stories/Molecules/Boxes/BoutBoxes/TimerBox/TimerBox.vue +47 -12
  90. package/src/stories/Molecules/Boxes/CounterBox/CounterBox.stories.js +19 -19
  91. package/src/stories/Molecules/Boxes/CounterBox/CounterBox.vue +25 -19
  92. package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.stories.js +25 -28
  93. package/src/stories/Molecules/Boxes/EventStatusBox/EventStatusBox.vue +7 -7
  94. package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.stories.js +28 -29
  95. package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.test.js +58 -58
  96. package/src/stories/Molecules/Breadcrumb/Admin/Breadcrumb.vue +15 -15
  97. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.stories.js +86 -86
  98. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.test.js +101 -103
  99. package/src/stories/Molecules/Buttons/BaseButton/BaseButton.vue +87 -24
  100. package/src/stories/Molecules/Buttons/ButtonBar/ButtonBar.stories.js +31 -31
  101. package/src/stories/Molecules/Buttons/ButtonBar/ButtonBar.vue +19 -21
  102. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.stories.js +57 -57
  103. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.test.js +64 -64
  104. package/src/stories/Molecules/CombinationInputs/TitledInput/TitledInput.vue +17 -16
  105. package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.stories.js +19 -19
  106. package/src/stories/Molecules/Filters/FilterAndSortBar/FilterAndSortBar.vue +18 -7
  107. package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.stories.js +16 -18
  108. package/src/stories/Molecules/Filters/FilterUpcomingPast/FilterUpcomingPast.vue +31 -13
  109. package/src/stories/Molecules/Indicators/MissingHemaRatingsId/MissingHemaRatingsId.stories.js +23 -0
  110. package/src/stories/Molecules/Indicators/MissingHemaRatingsId/MissingHemaRatingsId.vue +35 -0
  111. package/src/stories/Molecules/Indicators/ServerConnected/ServerConnected.stories.js +27 -27
  112. package/src/stories/Molecules/Indicators/ServerConnected/ServerConnected.vue +6 -5
  113. package/src/stories/Molecules/Inputs/MultiSelect/MultiSelect.stories.js +35 -35
  114. package/src/stories/Molecules/Inputs/MultiSelect/MultiSelect.vue +13 -8
  115. package/src/stories/Molecules/Inputs/Toggle/Toggle.stories.js +27 -27
  116. package/src/stories/Molecules/Inputs/Toggle/Toggle.vue +8 -5
  117. package/src/stories/Molecules/Menus/TabBar/TabBar.stories.js +18 -18
  118. package/src/stories/Molecules/Menus/TabBar/TabBar.vue +1 -2
  119. package/src/stories/Molecules/Modals/AddDisplayModal/AddDisplay.stories.js +36 -27
  120. package/src/stories/Molecules/Modals/AddDisplayModal/AddDisplayModal.vue +25 -15
  121. package/src/stories/Molecules/Modals/BaseModal/BaseModal.stories.js +66 -65
  122. package/src/stories/Molecules/Modals/BaseModal/BaseModal.vue +47 -9
  123. package/src/stories/Molecules/Modals/ConfirmModal/ConfirmModal.stories.js +23 -23
  124. package/src/stories/Molecules/Modals/ConfirmModal/ConfirmModal.vue +59 -11
  125. package/src/stories/Molecules/Modals/DirectorModal/DirectorModal.stories.js +37 -37
  126. package/src/stories/Molecules/Modals/DirectorModal/DirectorModal.test.js +18 -0
  127. package/src/stories/Molecules/Modals/DirectorModal/DirectorModal.vue +29 -23
  128. package/src/stories/Molecules/Modals/EditBoutModal/EditBoutModal.stories.js +41 -41
  129. package/src/stories/Molecules/Modals/EditBoutModal/EditBoutModal.vue +28 -16
  130. package/src/stories/Molecules/Modals/EventWizardModal/EventWizardModal.stories.js +29 -30
  131. package/src/stories/Molecules/Modals/EventWizardModal/EventWizardModal.vue +18 -16
  132. package/src/stories/Molecules/Modals/LoadingModal/LoadingModal.stories.js +21 -21
  133. package/src/stories/Molecules/Modals/LoadingModal/LoadingModal.vue +7 -7
  134. package/src/stories/Molecules/Modals/PenaltyModal/PenaltyModal.stories.js +24 -24
  135. package/src/stories/Molecules/Modals/PenaltyModal/PenaltyModal.vue +30 -25
  136. package/src/stories/Molecules/Reorder/ReorderableShell.stories.js +81 -77
  137. package/src/stories/Molecules/Reorder/ReorderableShell.vue +46 -43
  138. package/src/stories/Molecules/StepIndicator/BaseStepIndicator/StepIndicator.stories.js +40 -40
  139. package/src/stories/Molecules/StepIndicator/BaseStepIndicator/StepIndicator.vue +23 -25
  140. package/src/stories/Organisms/Cards/BoutCard/BoutCard.stories.js +34 -29
  141. package/src/stories/Organisms/Cards/BoutCard/BoutCard.vue +69 -66
  142. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardActive/BoutCardActive.stories.js +24 -22
  143. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardActive/BoutCardActive.vue +53 -41
  144. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardInactive/BoutCardInactive.stories.js +24 -37
  145. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardInactive/BoutCardInactive.vue +88 -103
  146. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardReorder/BoutCardReorder.vue +13 -14
  147. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardWaiting/BoutCardWaiting.stories.js +5 -5
  148. package/src/stories/Organisms/Cards/BoutCard/Variants/BoutCardWaiting/BoutCardWaiting.vue +22 -21
  149. package/src/stories/Organisms/Cards/BracketDirectorAssignmentCard/BracketDirectorAssignmentCard.stories.js +33 -0
  150. package/src/stories/Organisms/Cards/BracketDirectorAssignmentCard/BracketDirectorAssignmentCard.test.js +45 -0
  151. package/src/stories/Organisms/Cards/BracketDirectorAssignmentCard/BracketDirectorAssignmentCard.vue +103 -0
  152. package/src/stories/Organisms/Cards/ClubCard/ClubCard.stories.js +14 -17
  153. package/src/stories/Organisms/Cards/ClubCard/ClubCard.vue +25 -18
  154. package/src/stories/Organisms/Cards/Director/DirectorCard.stories.js +23 -23
  155. package/src/stories/Organisms/Cards/Director/DirectorCard.vue +159 -103
  156. package/src/stories/Organisms/Cards/EditBout/EditBout.stories.js +47 -47
  157. package/src/stories/Organisms/Cards/EditBout/EditBout.test.js +51 -0
  158. package/src/stories/Organisms/Cards/EditBout/EditBout.vue +82 -54
  159. package/src/stories/Organisms/Cards/EventCard/EventCard.stories.js +9 -10
  160. package/src/stories/Organisms/Cards/EventCard/EventCard.vue +83 -63
  161. package/src/stories/Organisms/Cards/FencerCard/FencerCard.stories.js +105 -105
  162. package/src/stories/Organisms/Cards/FencerCard/FencerCard.vue +298 -194
  163. package/src/stories/Organisms/Cards/FencerFinalResultCard/FencerFinalResultCard.stories.js +14 -14
  164. package/src/stories/Organisms/Cards/FencerFinalResultCard/FencerFinalResultCard.vue +37 -26
  165. package/src/stories/Organisms/Cards/FencerPoolResultsCard/FencerPoolResults.stories.js +24 -24
  166. package/src/stories/Organisms/Cards/FencerPoolResultsCard/FencerPoolResultsCard.vue +95 -28
  167. package/src/stories/Organisms/Cards/ImportFencerCard/ImportFencerCard.stories.js +59 -60
  168. package/src/stories/Organisms/Cards/ImportFencerCard/ImportFencerCard.vue +13 -7
  169. package/src/stories/Organisms/Cards/KioskCard/KioskCard.stories.js +34 -34
  170. package/src/stories/Organisms/Cards/KioskCard/KioskCard.vue +149 -104
  171. package/src/stories/Organisms/Cards/PenaltyCard/PenaltyCard.stories.js +19 -20
  172. package/src/stories/Organisms/Cards/PenaltyCard/PenaltyCard.vue +207 -163
  173. package/src/stories/Organisms/Cards/PenaltyFencerCard/PenaltyFencerCard.stories.js +17 -17
  174. package/src/stories/Organisms/Cards/PenaltyFencerCard/PenaltyFencerCard.vue +88 -46
  175. package/src/stories/Organisms/Cards/PoolBoutMatchCard/PoolBoutMatchCard.stories.js +182 -182
  176. package/src/stories/Organisms/Cards/PoolBoutMatchCard/PoolBoutMatchCard.vue +21 -12
  177. package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.stories.js +25 -28
  178. package/src/stories/Organisms/Cards/PoolFencerCard/PoolFencerCard.vue +28 -22
  179. package/src/stories/Organisms/Cards/StaffCard/StaffCard.stories.js +62 -62
  180. package/src/stories/Organisms/Cards/StaffCard/StaffCard.vue +27 -22
  181. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.stories.js +60 -98
  182. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.test.js +143 -0
  183. package/src/stories/Organisms/Cards/TableauBoutCard/TableauBoutCard.vue +256 -202
  184. package/src/stories/Organisms/Cards/TableauFencerCard/TableauFencerCard.stories.js +69 -93
  185. package/src/stories/Organisms/Cards/TableauFencerCard/TableauFencerCard.vue +80 -111
  186. package/src/stories/Organisms/Cards/TournamentAdminCard/TournamentAdmin.stories.js +20 -20
  187. package/src/stories/Organisms/Cards/TournamentAdminCard/TournamentAdminCard.vue +62 -33
  188. package/src/stories/Organisms/Cards/WaitlistFencerCard/WaitlistFencerCard.vue +56 -32
  189. package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.stories.js +6 -7
  190. package/src/stories/Organisms/ComplexInputs/AddressAutocomplete/AddressAutocomplete.vue +7 -8
  191. package/src/stories/Organisms/ComplexInputs/ClubColorPicker/ClubColorPicker.stories.js +31 -31
  192. package/src/stories/Organisms/ComplexInputs/ClubColorPicker/ClubColorPicker.vue +30 -35
  193. package/src/stories/Organisms/ComplexInputs/DatePicker/DatePicker.stories.js +13 -16
  194. package/src/stories/Organisms/ComplexInputs/DatePicker/DatePicker.vue +68 -70
  195. package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.stories.js +32 -34
  196. package/src/stories/Organisms/ComplexInputs/DropDown/DropDownMenu.vue +48 -25
  197. package/src/stories/Organisms/ComplexInputs/FindLocation/FindLocation.stories.js +21 -21
  198. package/src/stories/Organisms/ComplexInputs/FindLocation/FindLocation.vue +65 -38
  199. package/src/stories/Organisms/ComplexInputs/FindOrAddPerson/FindOrAddPerson.stories.js +19 -20
  200. package/src/stories/Organisms/ComplexInputs/FindOrAddPerson/FindOrAddPerson.vue +46 -21
  201. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.stories.js +22 -22
  202. package/src/stories/Organisms/ComplexInputs/FindPerson/FindPerson.vue +68 -23
  203. package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.stories.js +13 -13
  204. package/src/stories/Organisms/ComplexInputs/ImageCropper/ImageCropper.vue +25 -24
  205. package/src/stories/Organisms/ComplexInputs/TextBoxEditor/TextBoxEditor.stories.js +6 -10
  206. package/src/stories/Organisms/ComplexInputs/TextBoxEditor/TextBoxEditor.vue +112 -48
  207. package/src/stories/Organisms/Containers/BoutsSection/BoutsSection.stories.js +43 -44
  208. package/src/stories/Organisms/Containers/BoutsSection/BoutsSection.vue +30 -23
  209. package/src/stories/Organisms/Containers/FinalResults/FinalResultsTable.stories.js +20 -20
  210. package/src/stories/Organisms/Containers/FinalResults/FinalResultsTable.vue +12 -12
  211. package/src/stories/Organisms/Containers/KioskContainer/KioskContainer.stories.js +24 -25
  212. package/src/stories/Organisms/Containers/KioskContainer/KioskContainer.vue +112 -87
  213. package/src/stories/Organisms/Containers/Pool/Pool.stories.js +54 -54
  214. package/src/stories/Organisms/Containers/Pool/Pool.vue +64 -41
  215. package/src/stories/Organisms/Containers/PoolGrid/PoolGrid.stories.js +17 -19
  216. package/src/stories/Organisms/Containers/PoolGrid/PoolGrid.vue +189 -135
  217. package/src/stories/Organisms/Containers/PoolResults/PoolResultsTable.stories.js +53 -54
  218. package/src/stories/Organisms/Containers/PoolResults/PoolResultsTable.vue +107 -73
  219. package/src/stories/Organisms/Containers/Tableau/Tableau.stories.js +23 -24
  220. package/src/stories/Organisms/Containers/Tableau/Tableau.test.js +177 -10
  221. package/src/stories/Organisms/Containers/Tableau/Tableau.vue +319 -198
  222. package/src/stories/Organisms/Containers/Tableau/components/BracketDirectorAssignmentPanel.test.js +29 -0
  223. package/src/stories/Organisms/Containers/Tableau/components/BracketDirectorAssignmentPanel.vue +46 -0
  224. package/src/stories/Organisms/Containers/Tableau/components/TableauSvgOverlay.test.js +21 -0
  225. package/src/stories/Organisms/Containers/Tableau/components/TableauSvgOverlay.vue +39 -0
  226. package/src/stories/Organisms/Containers/Tableau/layout/TableauLayoutEngine.js +145 -0
  227. package/src/stories/Organisms/Containers/Tableau/layout/TableauLayoutEngine.test.js +64 -0
  228. package/src/stories/Organisms/Containers/Tableau/plannedAssignments.js +57 -0
  229. package/src/stories/Organisms/Containers/Tableau/plannedAssignments.test.js +65 -0
  230. package/src/stories/Organisms/Containers/TableauColumn/TabeauColumn.stories.js +26 -27
  231. package/src/stories/Organisms/Containers/TableauColumn/TableauColumn.vue +31 -26
  232. package/src/stories/Organisms/Form/AddDisplay/AddDisplay.stories.js +26 -26
  233. package/src/stories/Organisms/Form/AddDisplay/AddDisplay.vue +130 -118
  234. package/src/stories/Organisms/Form/AddNewPerson/AddNewPerson.stories.js +14 -15
  235. package/src/stories/Organisms/Form/AddNewPerson/AddNewPerson.vue +94 -88
  236. package/src/stories/Organisms/Grids/GridContainer.stories.js +101 -101
  237. package/src/stories/Organisms/Grids/GridContainer.vue +160 -136
  238. package/src/stories/Organisms/Headers/AttendanceSummary/AttendanceSummary.stories.js +47 -47
  239. package/src/stories/Organisms/Headers/AttendanceSummary/AttendanceSummary.vue +65 -54
  240. package/src/stories/Organisms/Headers/EventFinalResultsHeader/EventFinalResultsHeader.stories.js +27 -27
  241. package/src/stories/Organisms/Headers/EventFinalResultsHeader/EventFinalResultsHeader.vue +38 -22
  242. package/src/stories/Organisms/Headers/PenaltySummary/PenaltySummary.stories.js +80 -80
  243. package/src/stories/Organisms/Headers/PenaltySummary/PenaltySummary.vue +14 -6
  244. package/src/stories/Organisms/Headers/PoolResultsHeader/PoolResultsHeader.stories.js +34 -34
  245. package/src/stories/Organisms/Headers/PoolResultsHeader/PoolResultsHeader.vue +36 -36
  246. package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.stories.js +21 -21
  247. package/src/stories/Organisms/Headers/PoolSummary/PoolSummary.vue +56 -29
  248. package/src/stories/Organisms/Headers/ToggleHeader/ToggleHeader.stories.js +38 -38
  249. package/src/stories/Organisms/Headers/ToggleHeader/ToggleHeader.vue +19 -20
  250. package/src/stories/Organisms/RankCalculator/ByLetter/RankCalculator.stories.js +12 -13
  251. package/src/stories/Organisms/RankCalculator/ByLetter/RankCalculator.vue +47 -41
  252. package/src/stories/Organisms/RankCalculator/ByPoints/RankCalculatorByPoints.stories.js +12 -13
  253. package/src/stories/Organisms/RankCalculator/ByPoints/RankCalculatorByPoints.vue +66 -37
  254. package/src/stories/Organisms/Skeletons/ClubManagement/ClubManagement.stories.js +6 -10
  255. package/src/stories/Organisms/Skeletons/ClubManagement/ClubMangementSkeleton.vue +2 -2
  256. package/src/stories/Organisms/Skeletons/EventCard/EventCardSkeleton.stories.js +6 -10
  257. package/src/stories/Organisms/Skeletons/EventCard/EventCardSkeleton.vue +2 -3
  258. package/src/stories/Organisms/Skeletons/FencerCard/FencerCardSkeleton.stories.js +6 -10
  259. package/src/stories/Organisms/Skeletons/FencerCard/FencerCardSkeleton.vue +1 -1
  260. package/src/stories/Organisms/Skeletons/PersonManagement/PersonManagementSkeleton.stories.js +6 -9
  261. package/src/stories/Organisms/Skeletons/PersonManagement/PersonManagementSkeleton.vue +2 -2
  262. package/src/stories/Organisms/Skeletons/PoolSkeleton/PoolSkeleton.stories.js +6 -10
  263. package/src/stories/Organisms/Skeletons/PoolSkeleton/PoolSkeleton.vue +10 -4
  264. package/src/stories/Organisms/Skeletons/TournamentCard/TournamentCardSkeleton.stories.js +6 -10
  265. package/src/stories/Organisms/Skeletons/TournamentCard/TournamentCardSkeleton.vue +2 -2
  266. package/src/stories/Organisms/Wizards/EditEventWizard/BasicEventInfo/BasicEventInfo.stories.js +34 -34
  267. package/src/stories/Organisms/Wizards/EditEventWizard/BasicEventInfo/BasicEventInfo.vue +106 -56
  268. package/src/stories/Organisms/Wizards/EditEventWizard/DirectElimination/DirectElimination.stories.js +95 -95
  269. package/src/stories/Organisms/Wizards/EditEventWizard/DirectElimination/DirectElimination.vue +129 -69
  270. package/src/stories/Organisms/Wizards/EditEventWizard/DirectEliminationPromotion/DirectEliminationPromotion.stories.js +87 -88
  271. package/src/stories/Organisms/Wizards/EditEventWizard/DirectEliminationPromotion/DirectEliminationPromotion.vue +105 -60
  272. package/src/stories/Organisms/Wizards/EditEventWizard/EditEventWizard.stories.js +82 -82
  273. package/src/stories/Organisms/Wizards/EditEventWizard/EditEventWizard.vue +150 -177
  274. package/src/stories/Organisms/Wizards/EditEventWizard/EventCustomization/EventCustomization.stories.js +28 -28
  275. package/src/stories/Organisms/Wizards/EditEventWizard/EventCustomization/EventCustomization.vue +96 -36
  276. package/src/stories/Organisms/Wizards/EditEventWizard/PoolConfiguration/PoolConfiguration.stories.js +99 -99
  277. package/src/stories/Organisms/Wizards/EditEventWizard/PoolConfiguration/PoolConfiguration.vue +115 -67
  278. package/src/stories/Templates/Assignment/Assignment.stories.js +22 -23
  279. package/src/stories/Templates/Assignment/Assignment.vue +210 -161
  280. package/src/stories/Templates/ClubManagement/ClubBasic/ClubBasic.stories.js +90 -90
  281. package/src/stories/Templates/ClubManagement/ClubBasic/ClubBasic.vue +68 -55
  282. package/src/stories/Templates/ClubManagement/ClubManagement.stories.js +87 -87
  283. package/src/stories/Templates/ClubManagement/ClubManagement.vue +167 -147
  284. package/src/stories/Templates/EventManagement/Bracket/Bracket.stories.js +216 -109
  285. package/src/stories/Templates/EventManagement/Bracket/Bracket.test.js +138 -43
  286. package/src/stories/Templates/EventManagement/Bracket/Bracket.vue +198 -195
  287. package/src/stories/Templates/EventManagement/Bracket/BracketPlannedSuggestions.js +39 -0
  288. package/src/stories/Templates/EventManagement/Bracket/BracketStoryHarness.js +39 -0
  289. package/src/stories/Templates/EventManagement/Bracket/BracketStoryHarness.test.js +79 -0
  290. package/src/stories/Templates/EventManagement/EditEventInfo/EditEventInfo.stories.js +49 -50
  291. package/src/stories/Templates/EventManagement/EditEventInfo/EditEventInfo.vue +21 -21
  292. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.stories.js +105 -103
  293. package/src/stories/Templates/EventManagement/EventAttendance/EventAttendance.vue +289 -226
  294. package/src/stories/Templates/EventManagement/EventFinalResults/EventFinalResults.stories.js +30 -30
  295. package/src/stories/Templates/EventManagement/EventFinalResults/EventFinalResults.vue +27 -22
  296. package/src/stories/Templates/EventManagement/KioskDisplay/KioskDisplay.stories.js +44 -45
  297. package/src/stories/Templates/EventManagement/KioskDisplay/KioskDisplay.vue +52 -43
  298. package/src/stories/Templates/EventManagement/Penalties/PenaltyReport.stories.js +28 -29
  299. package/src/stories/Templates/EventManagement/Penalties/PenaltyReport.vue +54 -39
  300. package/src/stories/Templates/EventManagement/PoolLive/PoolLive.stories.js +80 -111
  301. package/src/stories/Templates/EventManagement/PoolLive/PoolLive.test.js +121 -0
  302. package/src/stories/Templates/EventManagement/PoolLive/PoolLive.vue +290 -255
  303. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.stories.js +109 -107
  304. package/src/stories/Templates/EventManagement/PoolManagement/PoolManagement.vue +144 -87
  305. package/src/stories/Templates/EventManagement/PoolResults/PoolResults.stories.js +56 -57
  306. package/src/stories/Templates/EventManagement/PoolResults/PoolResults.vue +132 -123
  307. package/src/stories/Templates/EventManagement/StaffList/StaffList.stories.js +56 -57
  308. package/src/stories/Templates/EventManagement/StaffList/StaffList.vue +84 -47
  309. package/src/stories/Templates/Menus/Admin/AdminLeftMenu.stories.js +29 -29
  310. package/src/stories/Templates/Menus/Admin/AdminLeftMenu.vue +71 -67
  311. package/src/stories/Templates/Menus/EditEventsTopMenu/EditEventsTopMenu.stories.js +39 -40
  312. package/src/stories/Templates/Menus/EditEventsTopMenu/EditEventsTopMenu.vue +79 -71
  313. package/src/stories/Templates/PersonManagement/Admin/Administration/Administration.stories.js +47 -47
  314. package/src/stories/Templates/PersonManagement/Admin/Administration/Administration.vue +39 -42
  315. package/src/stories/Templates/PersonManagement/Admin/FencerAdmin/FencerAdmin.stories.js +54 -54
  316. package/src/stories/Templates/PersonManagement/Admin/FencerAdmin/FencerAdmin.vue +27 -31
  317. package/src/stories/Templates/PersonManagement/Admin/MergeAccounts/MergeAccounts.stories.js +69 -69
  318. package/src/stories/Templates/PersonManagement/Admin/MergeAccounts/MergeAccounts.vue +78 -89
  319. package/src/stories/Templates/PersonManagement/Attendance/Attendance.stories.js +22 -22
  320. package/src/stories/Templates/PersonManagement/Attendance/Attendance.vue +61 -33
  321. package/src/stories/Templates/PersonManagement/Basic/BasicEdit.stories.js +29 -29
  322. package/src/stories/Templates/PersonManagement/Basic/BasicEdit.vue +80 -53
  323. package/src/stories/Templates/PersonManagement/PersonManagement.stories.js +84 -86
  324. package/src/stories/Templates/PersonManagement/PersonManagement.vue +107 -82
  325. package/src/stories/Templates/TournamentManagement/ListEvents/ListEvents.stories.js +31 -31
  326. package/src/stories/Templates/TournamentManagement/ListEvents/ListEvents.vue +70 -51
  327. package/src/stories/Templates/TournamentManagement/TournamentManagement.stories.js +79 -79
  328. package/src/stories/Templates/TournamentManagement/TournamentManagement.vue +275 -230
  329. package/src/stories/Templates/TournamentManagement/TournamentPageOne/TournamentPageOne.stories.js +113 -113
  330. package/src/stories/Templates/TournamentManagement/TournamentPageOne/TournamentPageOne.vue +175 -146
  331. package/src/stories/Templates/TournamentManagement/TournamentPageTwo/TournamentPageTwo.stories.js +77 -77
  332. package/src/stories/Templates/TournamentManagement/TournamentPageTwo/TournamentPageTwo.vue +208 -185
  333. package/src/stories/Util/Validations/AddNewPersonModalValidation.js +23 -19
  334. package/src/stories/Util/Validations/ClubManagementValidations.js +17 -21
  335. package/src/stories/Util/Validations/PersonManagementValidations.js +26 -22
  336. package/src/stories/Util/Validations/TournamentFieldsValidations.js +20 -18
  337. package/src/stories/Util/seeding.js +131 -131
  338. package/src/stories/Util/tabs.js +75 -75
  339. package/tailwind/tailwind.css +5 -7
  340. package/tailwind.config.js +12 -15
  341. package/vite.config.js +3 -3
  342. package/src/mocks/getDirectors.js +0 -18
  343. package/src/stories/Molecules/Modals/AssignDirectorModal/AssignDirectorModal.stories.js +0 -45
  344. package/src/stories/Molecules/Modals/AssignDirectorModal/AssignDirectorModal.vue +0 -111
  345. package/src/stories/Organisms/Cards/DirectorAssignmentCard/DirectorAssignmentCard.stories.js +0 -45
  346. package/src/stories/Organisms/Cards/DirectorAssignmentCard/DirectorAssignmentCard.vue +0 -83
  347. package/src/stories/Organisms/Cards/TableauBoutCard/SpacingConfig.js +0 -111
  348. package/src/stories/Organisms/Containers/TableauLines/SpacingConfig.js +0 -112
  349. package/src/stories/Organisms/Containers/TableauLines/TableauLines.stories.js +0 -23
  350. package/src/stories/Organisms/Containers/TableauLines/TableauLines.vue +0 -79
@@ -1,44 +1,42 @@
1
1
  import DropDownMenu from './DropDownMenu.vue';
2
2
 
3
-
4
3
  export default {
5
- title: 'Organisms/ComplexInputs/DropDownMenu',
6
- component: DropDownMenu,
7
- tags: ['autodocs'],
8
- args: {},
9
- argTypes: {}
4
+ title: 'Organisms/ComplexInputs/DropDownMenu',
5
+ component: DropDownMenu,
6
+ tags: ['autodocs'],
7
+ args: {},
8
+ argTypes: {}
10
9
  };
11
10
 
12
11
  export const Default = {
13
- args: {
14
- label: 'Sort By',
15
- items: [
16
- {text: 'Text1', link: '/link1'},
17
- {text: 'Text2', link: '/link2'},
18
- {text: 'Text3', link: '/link3'}
19
- ],
20
- selectedItem: {text: 'Text1', link: '/link1'}
21
- }
12
+ args: {
13
+ label: 'Sort By',
14
+ items: [
15
+ { text: 'Text1', link: '/link1' },
16
+ { text: 'Text2', link: '/link2' },
17
+ { text: 'Text3', link: '/link3' }
18
+ ],
19
+ selectedItem: { text: 'Text1', link: '/link1' }
20
+ }
22
21
  };
23
22
 
24
23
  export const DropDownAlso = {
25
- args: {
26
- label: '',
27
- items: [
28
- { text: 'Purrfect Warriors', link: '/purrfect-warriors' },
29
- { text: 'Whisker Tactics', link: '/whisker-tactics' },
30
- { text: 'Meowtains of Fury', link: '/meowtains-of-fury' },
31
- { text: 'Feline Fury', link: '/feline-fury' },
32
- { text: 'Claws of Destiny', link: '/claws-of-destiny' },
33
- { text: 'Kitty Knights', link: '/kitty-knights' },
34
- { text: 'Paws of Valor', link: '/paws-of-valor' },
35
- { text: 'Mew-sketters', link: '/mew-sketters' },
36
- { text: 'Purr-suit of Power', link: '/purr-suit-of-power' },
37
- { text: 'Cat-astrophic Force', link: '/cat-astrophic-force' }
38
- ],
39
- selectedItem: {text: '', link: ''},
40
- width:"w-full",
41
- dropDownWidth:"w-[342px]"
42
- }
24
+ args: {
25
+ label: '',
26
+ items: [
27
+ { text: 'Purrfect Warriors', link: '/purrfect-warriors' },
28
+ { text: 'Whisker Tactics', link: '/whisker-tactics' },
29
+ { text: 'Meowtains of Fury', link: '/meowtains-of-fury' },
30
+ { text: 'Feline Fury', link: '/feline-fury' },
31
+ { text: 'Claws of Destiny', link: '/claws-of-destiny' },
32
+ { text: 'Kitty Knights', link: '/kitty-knights' },
33
+ { text: 'Paws of Valor', link: '/paws-of-valor' },
34
+ { text: 'Mew-sketters', link: '/mew-sketters' },
35
+ { text: 'Purr-suit of Power', link: '/purr-suit-of-power' },
36
+ { text: 'Cat-astrophic Force', link: '/cat-astrophic-force' }
37
+ ],
38
+ selectedItem: { text: '', link: '' },
39
+ width: 'w-full',
40
+ dropDownWidth: 'w-[342px]'
41
+ }
43
42
  };
44
-
@@ -1,13 +1,36 @@
1
1
  <template>
2
2
  <div :class="computedClass" ref="dropdownContainer">
3
- <div class="z-10 rounded-lg px-2 py-2 flex flex-row justify-between border border-dropdownSelect bg-white" :class="width" @click="handleDropDown">
4
- <BaseInput :placeholder="label" :value="getSelectedText" class="w-full text-xs md:text-sm" @click="clearInput" @keyup="filterDropDown" />
3
+ <div
4
+ class="z-10 rounded-lg px-2 py-2 flex flex-row justify-between border border-dropdownSelect bg-white"
5
+ :class="width"
6
+ @click="handleDropDown"
7
+ >
8
+ <BaseInput
9
+ :placeholder="label"
10
+ :value="getSelectedText"
11
+ class="w-full text-xs md:text-sm"
12
+ @click="clearInput"
13
+ @keyup="filterDropDown"
14
+ />
5
15
  <i class="fa-solid pt-1 fa-chevron-down text-xs text-quinary" />
6
16
  </div>
7
17
  <transition name="fade-in-down">
8
- <div v-if="isDropDownOpen" class="flex flex-col shadow-lg mt-10 z-20 rounded-b-xl absolute bg-neutral border border-dropdownSelect overflow-y-auto max-h-44" :class="dropDownWidth">
9
- <a v-for="item in localItems" :key="item.link" @click="handleClick(item)" class="hover:bg-dropdownSelect py-1 px-2 border-b border-l border-r border-dropdownSelect flex items-center space-x-2">
10
- <span v-if="item.color" :style="{ backgroundColor: item.color }" class="w-4 h-4 rounded-full border border-gray-300"></span>
18
+ <div
19
+ v-if="isDropDownOpen"
20
+ class="flex flex-col shadow-lg mt-10 z-20 rounded-b-xl absolute bg-neutral border border-dropdownSelect overflow-y-auto max-h-44"
21
+ :class="dropDownWidth"
22
+ >
23
+ <a
24
+ v-for="item in localItems"
25
+ :key="item.link"
26
+ @click="handleClick(item)"
27
+ class="hover:bg-dropdownSelect py-1 px-2 border-b border-l border-r border-dropdownSelect flex items-center space-x-2"
28
+ >
29
+ <span
30
+ v-if="item.color"
31
+ :style="{ backgroundColor: item.color }"
32
+ class="w-4 h-4 rounded-full border border-gray-300"
33
+ ></span>
11
34
  <BaseText :text="item.text" color="quinary" size=" " weight="normal" class="py-0.5 text-xs md:text-sm" />
12
35
  </a>
13
36
  </div>
@@ -16,8 +39,8 @@
16
39
  </template>
17
40
 
18
41
  <script>
19
- import BaseText from "../../../Atoms/Text/BaseText.vue";
20
- import BaseInput from "../../../Atoms/Input/BaseInput.vue";
42
+ import BaseText from '../../../Atoms/Text/BaseText.vue';
43
+ import BaseInput from '../../../Atoms/Input/BaseInput.vue';
21
44
 
22
45
  export default {
23
46
  name: 'DropDownMenu',
@@ -25,39 +48,39 @@ export default {
25
48
  components: { BaseInput, BaseText },
26
49
  props: {
27
50
  label: {
28
- type: String,
51
+ type: String
29
52
  },
30
53
  items: {
31
54
  type: Array,
32
- required: true,
55
+ required: true
33
56
  },
34
57
  selectedItem: {
35
58
  type: [Object, String],
36
- required: true,
59
+ required: true
37
60
  },
38
61
  width: {
39
62
  type: String,
40
- default: 'w-44',
63
+ default: 'w-44'
41
64
  },
42
65
  dropDownWidth: {
43
66
  type: String,
44
- default: 'w-44',
67
+ default: 'w-44'
45
68
  },
46
69
  alignEnd: {
47
70
  type: Boolean,
48
- default: true,
71
+ default: true
49
72
  },
50
73
  invalid: {
51
74
  type: Boolean,
52
- default: false,
53
- },
75
+ default: false
76
+ }
54
77
  },
55
78
  data() {
56
79
  return {
57
80
  localItems: this.items,
58
81
  isDropDownOpen: false,
59
82
  localSelectedItem: this.selectedItem,
60
- backupSelectedItem: { ...this.selectedItem },
83
+ backupSelectedItem: { ...this.selectedItem }
61
84
  };
62
85
  },
63
86
  mounted() {
@@ -69,24 +92,24 @@ export default {
69
92
  watch: {
70
93
  items(newItems) {
71
94
  this.localItems = newItems;
72
- },
95
+ }
73
96
  },
74
97
  computed: {
75
98
  computedClass() {
76
99
  return [
77
- "flex flex-row w-full relative rounded-lg",
78
- this.invalid ? "border border-alarm" : "",
79
- this.alignEnd ? "justify-end" : "",
100
+ 'flex flex-row w-full relative rounded-lg',
101
+ this.invalid ? 'border border-alarm' : '',
102
+ this.alignEnd ? 'justify-end' : ''
80
103
  ];
81
104
  },
82
105
  getSelectedText() {
83
- return this.localSelectedItem.text || "";
84
- },
106
+ return this.localSelectedItem.text || '';
107
+ }
85
108
  },
86
109
  methods: {
87
110
  clearInput() {
88
111
  this.backupSelectedItem = { ...this.localSelectedItem };
89
- this.localSelectedItem = { text: '', Link: null};
112
+ this.localSelectedItem = { text: '', Link: null };
90
113
  },
91
114
  restorePreviousValue() {
92
115
  if (!this.localSelectedItem?.text?.trim?.()) {
@@ -110,7 +133,7 @@ export default {
110
133
  filterDropDown(event) {
111
134
  const filter = event?.target?.value?.toLowerCase();
112
135
  this.localItems = this.items.filter(item => item?.text?.toLowerCase().includes(filter));
113
- },
114
- },
136
+ }
137
+ }
115
138
  };
116
139
  </script>
@@ -1,30 +1,30 @@
1
1
  import FindLocation from './FindLocation.vue';
2
2
  import mockLocation from '../../../../mocks/locationMock.js';
3
3
  export default {
4
- title: 'Organisms/ComplexInputs/FindLocation',
5
- component: FindLocation,
6
- tags: ['autodocs'],
7
- args: {
8
- locations: mockLocation,
9
- addNewText: "Add New Location"
4
+ title: 'Organisms/ComplexInputs/FindLocation',
5
+ component: FindLocation,
6
+ tags: ['autodocs'],
7
+ args: {
8
+ locations: mockLocation,
9
+ addNewText: 'Add New Location'
10
+ },
11
+ argTypes: {
12
+ locations: {
13
+ control: {
14
+ type: 'object'
15
+ }
10
16
  },
11
- argTypes: {
12
- locations: {
13
- control: {
14
- type: 'object'
15
- }
16
- },
17
- addNewText: {
18
- control: {
19
- type: 'text'
20
- }
21
- }
17
+ addNewText: {
18
+ control: {
19
+ type: 'text'
20
+ }
22
21
  }
22
+ }
23
23
  };
24
24
 
25
25
  export const Default = {
26
- args: {
27
- locations: mockLocation,
28
- addNewText: "Add New Location"
29
- }
26
+ args: {
27
+ locations: mockLocation,
28
+ addNewText: 'Add New Location'
29
+ }
30
30
  };
@@ -2,35 +2,62 @@
2
2
  <section>
3
3
  <div v-if="!showNewLocation" class="relative" ref="showNewLocation">
4
4
  <BaseInput
5
- :addBorder="addBorder"
6
- :value="inputValue"
7
- :invalid="invalid"
8
- placeholder="Enter Location Name"
9
- @click="clearInput"
10
- @input="updateInput"
5
+ :addBorder="addBorder"
6
+ :value="inputValue"
7
+ :invalid="invalid"
8
+ placeholder="Enter Location Name"
9
+ @click="clearInput"
10
+ @input="updateInput"
11
11
  />
12
- <div v-if="showDropdown && showAddNew" class="absolute z-10 w-full bg-white border rounded-md mt-1 max-h-60 overflow-y-auto">
12
+ <div
13
+ v-if="showDropdown && showAddNew"
14
+ class="absolute z-10 w-full bg-white border rounded-md mt-1 max-h-60 overflow-y-auto"
15
+ >
13
16
  <ul>
14
- <li v-for="(item, index) in filteredLocations" :key="index" class="p-2 hover:bg-gray-100 cursor-pointer" @click="selectItem(item)">{{ item.Name }}</li>
17
+ <li
18
+ v-for="(item, index) in filteredLocations"
19
+ :key="index"
20
+ class="p-2 hover:bg-gray-100 cursor-pointer"
21
+ @click="selectItem(item)"
22
+ >
23
+ {{ item.Name }}
24
+ </li>
15
25
  </ul>
16
26
  <div class="p-2 hover:bg-gray-100 cursor-pointer" @click="addNewItem">
17
27
  <base-button
18
- iconName="fa-location-dot"
19
- label="Add New Location"
20
- type="secondary"
21
- v-on:click="showNewLocation = true"
28
+ iconName="fa-location-dot"
29
+ label="Add New Location"
30
+ type="secondary"
31
+ v-on:click="showNewLocation = true"
22
32
  />
23
33
  </div>
24
34
  </div>
25
35
  </div>
26
36
  <div v-if="showNewLocation">
27
- <BaseModal :show="showNewLocation" buttonText="Add Location" iconName="fa-location-plus"
28
- @submit-modal="handleSubmit" @update:show="showNewLocation = false">
37
+ <BaseModal
38
+ :show="showNewLocation"
39
+ buttonText="Add Location"
40
+ iconName="fa-location-plus"
41
+ @submit-modal="handleSubmit"
42
+ @update:show="showNewLocation = false"
43
+ >
29
44
  <template #modal-content>
30
- <BaseInput :addBorder="true" :invalid="false" :value="locationName" class="pb-2"
31
- placeholder="Enter Location Name" type="formInput" @focus="clearInput" @update:value="handleLocationName"/>
32
- <AddressAutocomplete v-model="formData.Address1" :invalid="validAddress" class="text-lg"
33
- @update:address="handleNewAddress"/>
45
+ <BaseInput
46
+ :addBorder="true"
47
+ :invalid="false"
48
+ :value="locationName"
49
+ class="pb-2"
50
+ placeholder="Enter Location Name"
51
+ type="formInput"
52
+ @focus="clearInput"
53
+ @update:value="handleLocationName"
54
+ />
55
+ <AddressAutocomplete
56
+ v-model="formData.Address1"
57
+ :invalid="validAddress"
58
+ class="text-lg"
59
+ @update:address="handleNewAddress"
60
+ />
34
61
  </template>
35
62
  </BaseModal>
36
63
  </div>
@@ -39,15 +66,15 @@
39
66
 
40
67
  <script>
41
68
  import BaseInput from '../../../Atoms/Input/BaseInput.vue';
42
- import BaseIcon from "../../../Atoms/Icon/BaseIcon.vue";
43
- import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
44
- import AddressAutocomplete from "../AddressAutocomplete/AddressAutocomplete.vue";
45
- import BaseModal from "../../../Molecules/Modals/BaseModal/BaseModal.vue";
46
- import BaseText from "../../../Atoms/Text/BaseText.vue";
69
+ import BaseIcon from '../../../Atoms/Icon/BaseIcon.vue';
70
+ import BaseButton from '../../../Molecules/Buttons/BaseButton/BaseButton.vue';
71
+ import AddressAutocomplete from '../AddressAutocomplete/AddressAutocomplete.vue';
72
+ import BaseModal from '../../../Molecules/Modals/BaseModal/BaseModal.vue';
73
+ import BaseText from '../../../Atoms/Text/BaseText.vue';
47
74
 
48
75
  export default {
49
76
  name: 'FindLocation',
50
- components: {BaseText, BaseModal, AddressAutocomplete, BaseButton, BaseIcon, BaseInput},
77
+ components: { BaseText, BaseModal, AddressAutocomplete, BaseButton, BaseIcon, BaseInput },
51
78
  emits: ['update:location', 'add-new', 'submit:addNewAddress', 'submit:location'],
52
79
  props: {
53
80
  placeholder: {
@@ -74,9 +101,9 @@ export default {
74
101
  data() {
75
102
  return {
76
103
  formData: {
77
- Name: "",
78
- Address1: "",
79
- Coordinates: ""
104
+ Name: '',
105
+ Address1: '',
106
+ Coordinates: ''
80
107
  },
81
108
  locationName: '',
82
109
  validAddress: false,
@@ -117,7 +144,7 @@ export default {
117
144
  this.showAddNew = true;
118
145
  this.inputValue = event.target.value;
119
146
 
120
- if (this.inputValue.trim() === "") {
147
+ if (this.inputValue.trim() === '') {
121
148
  this.$emit('update:location', null);
122
149
  } else {
123
150
  this.debounceSearch();
@@ -139,13 +166,13 @@ export default {
139
166
  if (!this.showDropdown) return;
140
167
  const searchValue = (value || '').toLowerCase();
141
168
  this.filteredLocations = this.locations.filter(item => {
142
- return ((item.Name || '').toLowerCase().includes(searchValue));
169
+ return (item.Name || '').toLowerCase().includes(searchValue);
143
170
  });
144
171
  },
145
172
  debounceSearch() {
146
173
  clearTimeout(this.debouncedTimeout);
147
174
  this.debouncedTimeout = setTimeout(() => {
148
- this.onInputChanged(this.inputValue)
175
+ this.onInputChanged(this.inputValue);
149
176
  }, 500);
150
177
  },
151
178
  handleLocationName(newName) {
@@ -158,12 +185,12 @@ export default {
158
185
  },
159
186
  handleNewAddress(newAddress) {
160
187
  const parts = newAddress.address.split(',');
161
- this.formData.Name = this.locationName
162
- this.formData.Address1 = parts[0].trim()
163
- this.formData.City = parts[1].trim()
164
- this.formData.State = parts[2].trim()
165
- this.formData.Coordinates = newAddress.coordinates
166
- this.inputValue = this.locationName
188
+ this.formData.Name = this.locationName;
189
+ this.formData.Address1 = parts[0].trim();
190
+ this.formData.City = parts[1].trim();
191
+ this.formData.State = parts[2].trim();
192
+ this.formData.Coordinates = newAddress.coordinates;
193
+ this.inputValue = this.locationName;
167
194
  this.$emit('submit:addNewAddress', this.formData);
168
195
  },
169
196
  handleSubmit() {
@@ -176,7 +203,7 @@ export default {
176
203
  if (this.$refs.showNewLocation && !this.$refs.showNewLocation.contains(event.target)) {
177
204
  this.restorePreviousValue();
178
205
  }
179
- },
206
+ }
180
207
  }
181
208
  };
182
- </script>
209
+ </script>
@@ -1,27 +1,26 @@
1
1
  import FindOrAddPerson from './FindOrAddPerson.vue';
2
2
  import mockPersons from '../../../../mocks/personGetAllMock.js';
3
- import clubGetAllMock from "../../../../mocks/clubGetAllMock.js";
3
+ import clubGetAllMock from '../../../../mocks/clubGetAllMock.js';
4
4
 
5
5
  export default {
6
- title: 'Organisms/ComplexInputs/FindOrAddPerson',
7
- component: FindOrAddPerson,
8
- tags: ['autodocs'],
9
- args: {
10
- persons: mockPersons,
11
- addBorder: true,
12
- },
13
- argTypes: {
14
- persons: { control: 'array' },
15
- addBorder: { control: 'boolean' },
16
- clubs: { control: 'array'}
17
- },
6
+ title: 'Organisms/ComplexInputs/FindOrAddPerson',
7
+ component: FindOrAddPerson,
8
+ tags: ['autodocs'],
9
+ args: {
10
+ persons: mockPersons,
11
+ addBorder: true
12
+ },
13
+ argTypes: {
14
+ persons: { control: 'array' },
15
+ addBorder: { control: 'boolean' },
16
+ clubs: { control: 'array' }
17
+ }
18
18
  };
19
19
 
20
-
21
20
  export const Default = {
22
- args: {
23
- addBorder:true,
24
- persons: mockPersons,
25
- clubs: clubGetAllMock
26
- }
27
- };
21
+ args: {
22
+ addBorder: true,
23
+ persons: mockPersons,
24
+ clubs: clubGetAllMock
25
+ }
26
+ };
@@ -1,21 +1,44 @@
1
1
  <template>
2
2
  <section>
3
- <BaseButton type="primary" :label="addNewText" size=" " class="text-xs md:text-md" iconName="fa-user-plus" @buttonClick="openSearchModal" />
3
+ <BaseButton
4
+ type="primary"
5
+ :label="addNewText"
6
+ size=" "
7
+ class="text-xs md:text-md"
8
+ iconName="fa-user-plus"
9
+ @buttonClick="openSearchModal"
10
+ />
4
11
 
5
- <BaseModal :show="showModal" :iconName="modalIcon" :buttonText="modalButtonText" :disableButton="!isSearchMode" @submit-modal="handleSubmit" @update:show="closeModal">
12
+ <BaseModal
13
+ :show="showModal"
14
+ :iconName="modalIcon"
15
+ :buttonText="modalButtonText"
16
+ :disableButton="!isSearchMode"
17
+ @submit-modal="handleSubmit"
18
+ @update:show="closeModal"
19
+ >
6
20
  <template #modal-content>
7
21
  <div v-if="isSearchMode">
8
22
  <BaseInput
9
- ref="searchInput"
10
- :addBorder="true"
11
- :value="inputValue"
12
- @input="updateInput"
13
- placeholder="Type to search person..."
14
- tabindex="0"
23
+ ref="searchInput"
24
+ :addBorder="true"
25
+ :value="inputValue"
26
+ @input="updateInput"
27
+ placeholder="Type to search person..."
28
+ tabindex="0"
15
29
  />
16
- <div v-if="showDropdown" class="absolute z-10 w-11/12 bg-eventBoxBlue rounded-md" :class="[filteredPersons.length > 0 ? 'border border-dropdownSelect mt-2 p-2' : 'mt-4']">
30
+ <div
31
+ v-if="showDropdown"
32
+ class="absolute z-10 w-11/12 bg-eventBoxBlue rounded-md"
33
+ :class="[filteredPersons.length > 0 ? 'border border-dropdownSelect mt-2 p-2' : 'mt-4']"
34
+ >
17
35
  <ul>
18
- <li v-for="(person, index) in filteredPersons" :key="index" @click="selectPerson(person)" class="p-2 my-2 hover:bg-dropdownSelect rounded-lg cursor-pointer">
36
+ <li
37
+ v-for="(person, index) in filteredPersons"
38
+ :key="index"
39
+ @click="selectPerson(person)"
40
+ class="p-2 my-2 hover:bg-dropdownSelect rounded-lg cursor-pointer"
41
+ >
19
42
  <p class="grid grid-cols-2 w-full">
20
43
  <BaseText :text="person.DisplayName" size="" class="text-xs md:text-md" />
21
44
  <BaseText :text="person.Club.ShortName" size=" " class="ml-4 text-xs md:text-md" />
@@ -37,16 +60,16 @@
37
60
 
38
61
  <script>
39
62
  import BaseInput from '../../../Atoms/Input/BaseInput.vue';
40
- import BaseButton from "../../../Molecules/Buttons/BaseButton/BaseButton.vue";
41
- import BaseText from "../../../Atoms/Text/BaseText.vue";
42
- import BaseModal from "../../../Molecules/Modals/BaseModal/BaseModal.vue";
43
- import DropDownMenu from "../DropDown/DropDownMenu.vue";
44
- import AddNewPerson from "../../../Organisms/Form/AddNewPerson/AddNewPerson.vue";
63
+ import BaseButton from '../../../Molecules/Buttons/BaseButton/BaseButton.vue';
64
+ import BaseText from '../../../Atoms/Text/BaseText.vue';
65
+ import BaseModal from '../../../Molecules/Modals/BaseModal/BaseModal.vue';
66
+ import DropDownMenu from '../DropDown/DropDownMenu.vue';
67
+ import AddNewPerson from '../../../Organisms/Form/AddNewPerson/AddNewPerson.vue';
45
68
 
46
69
  export default {
47
70
  name: 'FindOrAddPerson',
48
71
  emits: ['new-person-submitted', 'person-selected'],
49
- components: {AddNewPerson, DropDownMenu, BaseModal, BaseText, BaseButton, BaseInput },
72
+ components: { AddNewPerson, DropDownMenu, BaseModal, BaseText, BaseButton, BaseInput },
50
73
  props: {
51
74
  persons: {
52
75
  type: Array,
@@ -138,7 +161,9 @@ export default {
138
161
  },
139
162
  onInputChanged(value) {
140
163
  if (!this.showDropdown) return;
141
- this.filteredPersons = this.persons.filter(person => person.DisplayName.toLowerCase().includes(value.toLowerCase()));
164
+ this.filteredPersons = this.persons.filter(person =>
165
+ person.DisplayName.toLowerCase().includes(value.toLowerCase())
166
+ );
142
167
  },
143
168
  debounceSearch() {
144
169
  clearTimeout(this.debouncedTimeout);
@@ -149,20 +174,20 @@ export default {
149
174
  },
150
175
  closeModal(value) {
151
176
  this.showModal = value;
152
- this.inputValue = "";
177
+ this.inputValue = '';
153
178
  },
154
- clearFields(){
179
+ clearFields() {
155
180
  this.personName = '';
156
181
  this.personLegalName = '';
157
182
  this.personEmail = '';
158
183
  this.selectedPronouns = { text: '', link: '' };
159
- this.selectedClub = { text: '', link: '' };
184
+ this.selectedClub = { text: '', link: '' };
160
185
  },
161
186
  handleSubmit(newPerson) {
162
187
  this.$emit('new-person-submitted', newPerson);
163
188
  this.showModal = false;
164
189
  this.clearFields();
165
- },
190
+ }
166
191
  }
167
192
  };
168
193
  </script>
@@ -2,31 +2,31 @@ import FindPerson from './FindPerson.vue';
2
2
  import mockPersons from '../../../../mocks/personGetAllMock.js';
3
3
 
4
4
  export default {
5
- title: 'Organisms/ComplexInputs/FindPerson',
6
- component: FindPerson,
7
- tags: ['autodocs'],
8
- args: {
9
- persons: mockPersons,
10
- addNewText: "Add New Person"
5
+ title: 'Organisms/ComplexInputs/FindPerson',
6
+ component: FindPerson,
7
+ tags: ['autodocs'],
8
+ args: {
9
+ persons: mockPersons,
10
+ addNewText: 'Add New Person'
11
+ },
12
+ argTypes: {
13
+ locations: {
14
+ control: {
15
+ type: 'object'
16
+ }
11
17
  },
12
- argTypes: {
13
- locations: {
14
- control: {
15
- type: 'object'
16
- }
17
- },
18
- addNewText: {
19
- control: {
20
- type: 'text'
21
- }
22
- }
18
+ addNewText: {
19
+ control: {
20
+ type: 'text'
21
+ }
23
22
  }
23
+ }
24
24
  };
25
25
 
26
26
  export const Default = {
27
- args: {
28
- addBorder:true,
29
- locations: mockPersons,
30
- addNewText: "Add New Location"
31
- }
27
+ args: {
28
+ addBorder: true,
29
+ locations: mockPersons,
30
+ addNewText: 'Add New Location'
31
+ }
32
32
  };