@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
package/.prettierignore CHANGED
@@ -1 +1,7 @@
1
- node_modules/
1
+ node_modules/
2
+ dist/
3
+ storybook-static/
4
+ coverage/
5
+ tailwind/output.css
6
+ package-lock.json
7
+ *.log
@@ -1,19 +1,12 @@
1
1
  /** @type { import('@storybook/vue3-vite').StorybookConfig } */
2
2
  const config = {
3
- stories: [
4
- "../src/**/*.mdx",
5
- "../src/**/*.stories.@(js|jsx|ts|tsx|vue)"
6
- ],
7
- addons: [
8
- "@storybook/addon-links",
9
- "@chromatic-com/storybook",
10
- "@storybook/addon-docs"
11
- ],
3
+ stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx|vue)'],
4
+ addons: ['@storybook/addon-links', '@chromatic-com/storybook', '@storybook/addon-docs'],
12
5
  framework: {
13
- name: "@storybook/vue3-vite",
14
- options: {},
6
+ name: '@storybook/vue3-vite',
7
+ options: {}
15
8
  },
16
- docs: {},
9
+ docs: {}
17
10
  };
18
11
 
19
12
  export default config;
@@ -1,4 +1,11 @@
1
1
  <!--<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">-->
2
- <link href="https://pro.fontawesome.com/releases/v6.0.0-beta3/css/all.css?token=F0476B93-4907-4573-807B-E10E4A0A78FA" rel="stylesheet">
3
- <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC5kuJeMLopgjHDqsQPjRZ6Fkg3PFydw9Q&libraries=places&callback=initMap" async defer></script>
4
- <script src="https://kit.fontawesome.com/3bd5f7e934.js" crossorigin="anonymous"></script>
2
+ <link
3
+ href="https://pro.fontawesome.com/releases/v6.0.0-beta3/css/all.css?token=F0476B93-4907-4573-807B-E10E4A0A78FA"
4
+ rel="stylesheet"
5
+ />
6
+ <script
7
+ src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC5kuJeMLopgjHDqsQPjRZ6Fkg3PFydw9Q&libraries=places&callback=initMap"
8
+ async
9
+ defer
10
+ ></script>
11
+ <script src="https://kit.fontawesome.com/3bd5f7e934.js" crossorigin="anonymous"></script>
@@ -7,20 +7,12 @@ const preview = {
7
7
  controls: {
8
8
  matchers: {
9
9
  color: /(background|color)$/i,
10
- date: /Date$/,
11
- },
12
- },
10
+ date: /Date$/
11
+ }
12
+ }
13
13
  },
14
14
 
15
- tags: [
16
- 'autodocs',
17
- 'autodocs',
18
- 'autodocs',
19
- 'autodocs',
20
- 'autodocs',
21
- 'autodocs',
22
- 'autodocs'
23
- ]
15
+ tags: ['autodocs', 'autodocs', 'autodocs', 'autodocs', 'autodocs', 'autodocs', 'autodocs']
24
16
  };
25
17
 
26
- export default preview;
18
+ export default preview;
package/AGENTS.md CHANGED
@@ -37,7 +37,8 @@ This project is `@dcrackel/hematournamentui`, the shared Vue 3 Storybook/UI pack
37
37
 
38
38
  ## Interaction Pattern
39
39
 
40
- - Prefer optimistic UI for direct user edits: update the visible component state right away, then emit the change upward.
40
+ - Prefer optimistic UI for presentation-only edits: update the visible component state right away, then emit the change upward.
41
+ - Do not optimistically change authoritative workflow fields such as bout status, referee identity, sequence data, or completion timestamps.
41
42
  - The parent should perform persistence/API work and pass authoritative data back down through props.
42
43
  - Reconcile prop updates cleanly so the component reflects parent-owned truth after save, refresh, or rollback.
43
44
  - Do not block simple visual feedback on API completion unless the user action cannot be represented safely before confirmation.
@@ -70,6 +71,33 @@ This project is `@dcrackel/hematournamentui`, the shared Vue 3 Storybook/UI pack
70
71
  - Keep tournament domain rules explicit when they are needed for rendering. Name conditions that depend on pool vs DE, completed vs active, visible vs hidden, or editable vs read-only.
71
72
  - If a rule requires backend knowledge or app workflow context, prefer making it a prop or emitted decision rather than embedding the rule in a shared component.
72
73
 
74
+ ## Pool And Direct Elimination Boundaries
75
+
76
+ - Pool and Direct Elimination workflows are intentionally different. Confirm the domain rule before reusing assignment behavior between them.
77
+ - Pools may display available directors and emit pool, ring, or pool-work assignment intent. The consuming application persists that intent.
78
+ - Do not change pool assignment behavior while implementing bracket behavior.
79
+ - DE uses one shared collection of available bouts. The signed-in director claims a scheduled bout by selecting or starting it.
80
+ - Bracket components must not accept `directors` or `currentUserId` for assignment behavior.
81
+ - Bracket components must not expose director-selection modals, assignment buttons, or Assigned Bouts sections.
82
+ - The consuming application supplies `RefereeId` and `RefName` from the signed-in user.
83
+
84
+ ## Authoritative Bout Fields
85
+
86
+ - The consuming application owns `Status`, `RefereeId`, `RefName`, `RingName`, `Seq`, `LastUpdateSeq`, `Ended`, `SubmissionId`, persistence, and socket broadcasts.
87
+ - UI components may display authoritative fields and emit intent, but must not fabricate or authoritatively change them.
88
+ - Clicking a bout must not mark it Active. Submitting presentation data must not mark it Completed or create `Ended`.
89
+ - Closing a modal must not reset a bout to Scheduled or erase scores.
90
+ - Sequence freshness, stale-update rejection, recovery, and broadcast behavior belong in the consuming application.
91
+
92
+ ## Bracket Event Contract
93
+
94
+ - Scheduled and active bout selections emit `update:directing-bout`.
95
+ - Completed bout selections emit edit intent.
96
+ - BYE and incomplete bouts cannot be directed.
97
+ - List and tableau views must provide equivalent behavior.
98
+ - Do not introduce `assign:director` or `action:assignBout` into bracket components.
99
+ - Before adding a prop or event, search all component consumers and Storybook stories.
100
+
73
101
  ## Package Boundary
74
102
 
75
103
  - `src/index.js` is the package export surface. Keep exports intentional and stable.
@@ -84,5 +112,7 @@ This project is `@dcrackel/hematournamentui`, the shared Vue 3 Storybook/UI pack
84
112
  - Useful commands include `npm run lint`, `npm run build-storybook`, `npm run build:tailwind`, and `npm run test`.
85
113
  - For component behavior changes, verify emitted events, optimistic display updates, prop reconciliation, empty states, disabled states, and responsive layout.
86
114
  - For public API changes, update Storybook stories and check the consuming app contract.
115
+ - For bracket changes, test scheduled directing, active resume, completed editing, BYE rejection, modal-close state preservation, list/tableau consistency, and the absence of director-assignment UI.
87
116
  - Keep Storybook args aligned with component props. Stories should use `{ args: { ... } }`, include required props in every variant, and use correct control types for arrays, objects, booleans, and text.
88
117
  - Avoid running package version/publish flows unless explicitly requested. `npm run build` currently patches the package version as part of the script.
118
+ - Use `npm run build:check` for routine package validation without changing the package version.
package/README.md CHANGED
@@ -6,32 +6,31 @@ This template should help get you started developing with Vue 3 in Vite. The tem
6
6
 
7
7
  - [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
8
8
 
9
+ ## Publishing a Storybook Library to NPM
9
10
 
11
+ Follow this guide to publish your Storybook library to NPM, making it available for others to easily npm install.
10
12
 
13
+ ## Shared CSS
11
14
 
15
+ Build the package stylesheet as a separate step:
16
+
17
+ ```bash
18
+ npm run build:package-css
19
+ ```
20
+
21
+ The generated file is `dist/hematournamentui-tailwind.css`. Consuming apps should import it from the package instead of manually copying `tailwind/output.css`:
22
+
23
+ ```js
24
+ import '@dcrackel/hematournamentui/tailwind.css';
25
+ ```
26
+
27
+ Use `npm run build:tailwind` for Storybook's local `tailwind/output.css` workflow. Use `npm run build:package-css` when preparing CSS for the parent app or package publish.
28
+
29
+ # 1. Setup & Prerequisites
30
+
31
+ Ensure you have an account on npm. If not, you can create one for free.
32
+ Verify node and npm installations:
12
33
 
13
- ## Publishing a Storybook Library to NPM
14
- Follow this guide to publish your Storybook library to NPM, making it available for others to easily npm install.
15
-
16
- ## Shared CSS
17
-
18
- Build the package stylesheet as a separate step:
19
-
20
- ```bash
21
- npm run build:package-css
22
- ```
23
-
24
- The generated file is `dist/hematournamentui-tailwind.css`. Consuming apps should import it from the package instead of manually copying `tailwind/output.css`:
25
-
26
- ```js
27
- import '@dcrackel/hematournamentui/tailwind.css';
28
- ```
29
-
30
- Use `npm run build:tailwind` for Storybook's local `tailwind/output.css` workflow. Use `npm run build:package-css` when preparing CSS for the parent app or package publish.
31
-
32
- # 1. Setup & Prerequisites
33
- Ensure you have an account on npm. If not, you can create one for free.
34
- Verify node and npm installations:
35
34
  ```
36
35
  Copy code
37
36
  node -v
@@ -39,6 +38,7 @@ npm -v
39
38
  ```
40
39
 
41
40
  # 2. Preparing Your Storybook Library
41
+
42
42
  a. Building the Library
43
43
  Compile your library with Vite or your bundler:
44
44
 
@@ -55,20 +55,24 @@ main: Main entry file (e.g., dist/index.js).
55
55
  files: Files to include, e.g., ["dist"].
56
56
 
57
57
  # 3. Logging in to NPM
58
+
58
59
  Login to npm (if you haven't already):
59
60
 
60
61
  ```
61
62
  npm login
62
63
  ```
64
+
63
65
  Provide your username, password, and email.
64
66
 
65
67
  # 4. Publishing to NPM
68
+
66
69
  a. Default (Private Package)
67
70
  For scoped private packages (@username/project-name):
68
71
 
69
72
  ```
70
73
  npm publish
71
74
  ```
75
+
72
76
  b. Public Package
73
77
  For public packages:
74
78
 
@@ -77,14 +81,17 @@ npm publish --access=public
77
81
  ```
78
82
 
79
83
  # 5. Verifying Your Package
84
+
80
85
  Check on the npm website to verify your package's publication.
81
86
 
82
87
  Check the registry name
88
+
83
89
  ```
84
90
  npm get registry
85
91
  ```
86
92
 
87
93
  # 6. Installing and Using the Library
94
+
88
95
  To install the library:
89
96
 
90
97
  ```