courthive-components 1.1.0 → 1.1.1

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 (285) hide show
  1. package/dist/assets/team-logos/index.d.ts +9 -0
  2. package/dist/components/burstChart/burstChart.d.ts +108 -0
  3. package/dist/components/burstChart/matchUpTransform.d.ts +11 -0
  4. package/dist/components/burstChart/textHelpers.d.ts +11 -0
  5. package/dist/components/button/barButton.d.ts +1 -0
  6. package/dist/components/button/cvaButton.d.ts +8 -0
  7. package/dist/components/button/dropDownButton.d.ts +5 -0
  8. package/dist/components/categories/ageCategory/ageCategory.d.ts +54 -0
  9. package/dist/components/categories/ageCategory/ageCategoryLogic.d.ts +55 -0
  10. package/dist/components/categories/category/category.d.ts +47 -0
  11. package/dist/components/composition-editor/compositionEditor.d.ts +6 -0
  12. package/dist/components/composition-editor/compositionEditorStore.d.ts +24 -0
  13. package/dist/components/composition-editor/compositionEditorTypes.d.ts +37 -0
  14. package/dist/components/composition-editor/compositionPreview.d.ts +2 -0
  15. package/dist/components/composition-editor/scaleConstants.d.ts +7 -0
  16. package/dist/components/composition-editor/sections/displaySection.d.ts +3 -0
  17. package/dist/components/composition-editor/sections/fieldBuilders.d.ts +20 -0
  18. package/dist/components/composition-editor/sections/layoutSection.d.ts +3 -0
  19. package/dist/components/composition-editor/sections/participantSection.d.ts +3 -0
  20. package/dist/components/composition-editor/sections/placeholderSection.d.ts +3 -0
  21. package/dist/components/composition-editor/sections/scaleSection.d.ts +3 -0
  22. package/dist/components/composition-editor/sections/scoreSection.d.ts +3 -0
  23. package/dist/components/composition-editor/sections/sectionBuilder.d.ts +8 -0
  24. package/dist/components/composition-editor/sections/themeSection.d.ts +3 -0
  25. package/dist/components/composition-editor/styles.d.ts +26 -0
  26. package/dist/components/controlBar/controlBar.d.ts +11 -0
  27. package/dist/components/controlBar/toggleOverlay.d.ts +3 -0
  28. package/dist/components/courts/courts.d.ts +7 -0
  29. package/dist/components/courts/index.d.ts +1 -0
  30. package/dist/components/drawer/drawer.d.ts +14 -0
  31. package/dist/components/flightProfile/flightProfileLogic.d.ts +51 -0
  32. package/dist/components/flightProfile/flightProfileNew.d.ts +34 -0
  33. package/dist/components/flightProfile/getFlightProfileFormItems.d.ts +13 -0
  34. package/dist/components/flightProfile/getFlightProfileFormRelationships.d.ts +1 -0
  35. package/dist/components/forms/createMultiSelect.d.ts +34 -0
  36. package/dist/components/forms/renderButtons.d.ts +3 -0
  37. package/dist/components/forms/renderField.d.ts +7 -0
  38. package/dist/components/forms/renderForm.d.ts +1 -0
  39. package/dist/components/forms/renderMenu.d.ts +3 -0
  40. package/dist/components/forms/renderValidator.d.ts +113 -0
  41. package/dist/components/forms/styles.d.ts +0 -0
  42. package/dist/components/generateRound.d.ts +6 -0
  43. package/dist/components/inline-scoring/engineToMatchUp.d.ts +6 -0
  44. package/dist/components/inline-scoring/index.d.ts +5 -0
  45. package/dist/components/inline-scoring/inlineScoringFooter.d.ts +18 -0
  46. package/dist/components/inline-scoring/inlineScoringManager.d.ts +49 -0
  47. package/dist/components/inline-scoring/inlineScoringTypes.d.ts +40 -0
  48. package/dist/components/inline-scoring/renderInlineMatchUp.d.ts +27 -0
  49. package/dist/components/interactive-scoring/buildInteractiveScoringShell.d.ts +28 -0
  50. package/dist/components/interactive-scoring/index.d.ts +2 -0
  51. package/dist/components/interactive-scoring/types.d.ts +60 -0
  52. package/dist/components/matchUpFormat/matchUpFormat.d.ts +81 -0
  53. package/dist/components/matchUpFormat/matchUpFormatLogic.d.ts +112 -0
  54. package/dist/components/modal/cmodal.d.ts +30 -0
  55. package/dist/components/modal/cmodalStyles.d.ts +8 -0
  56. package/dist/components/modal/compositionEditorModal.d.ts +46 -0
  57. package/dist/components/modal/generateTeamsModal.d.ts +26 -0
  58. package/dist/components/modal/mockParticipants.d.ts +91 -0
  59. package/dist/components/modal/scheduleCellConfigModal.d.ts +44 -0
  60. package/dist/components/modal/selectItem.d.ts +24 -0
  61. package/dist/components/notes-toolbar/notesToolbar.d.ts +20 -0
  62. package/dist/components/policy-catalog/controller/policyCatalogControl.d.ts +18 -0
  63. package/dist/components/policy-catalog/domain/catalogProjections.d.ts +11 -0
  64. package/dist/components/policy-catalog/domain/policyDefaults.d.ts +26 -0
  65. package/dist/components/policy-catalog/domain/utils.d.ts +4 -0
  66. package/dist/components/policy-catalog/editors/ranking/domain/emptyRankingPolicy.d.ts +2 -0
  67. package/dist/components/policy-catalog/editors/ranking/domain/rankingProjections.d.ts +32 -0
  68. package/dist/components/policy-catalog/editors/ranking/index.d.ts +9 -0
  69. package/dist/components/policy-catalog/editors/ranking/rankingPointsEditorControl.d.ts +27 -0
  70. package/dist/components/policy-catalog/editors/ranking/rankingPointsEditorPanel.d.ts +8 -0
  71. package/dist/components/policy-catalog/editors/ranking/rankingPointsEditorStore.d.ts +53 -0
  72. package/dist/components/policy-catalog/editors/ranking/sections/aggregationSection.d.ts +6 -0
  73. package/dist/components/policy-catalog/editors/ranking/sections/bonusPointsRow.d.ts +6 -0
  74. package/dist/components/policy-catalog/editors/ranking/sections/metadataSection.d.ts +6 -0
  75. package/dist/components/policy-catalog/editors/ranking/sections/perWinPointsRow.d.ts +6 -0
  76. package/dist/components/policy-catalog/editors/ranking/sections/positionPointsTable.d.ts +6 -0
  77. package/dist/components/policy-catalog/editors/ranking/sections/profileCard.d.ts +6 -0
  78. package/dist/components/policy-catalog/editors/ranking/sections/qualityWinSection.d.ts +6 -0
  79. package/dist/components/policy-catalog/editors/ranking/sections/scopeBadges.d.ts +2 -0
  80. package/dist/components/policy-catalog/editors/ranking/sections/scopeEditor.d.ts +6 -0
  81. package/dist/components/policy-catalog/editors/ranking/styles.d.ts +25 -0
  82. package/dist/components/policy-catalog/editors/ranking/types.d.ts +146 -0
  83. package/dist/components/policy-catalog/editors/scheduling/domain/schedulingProjections.d.ts +5 -0
  84. package/dist/components/policy-catalog/editors/scheduling/domain/schedulingValidation.d.ts +2 -0
  85. package/dist/components/policy-catalog/editors/scheduling/index.d.ts +11 -0
  86. package/dist/components/policy-catalog/editors/scheduling/schedulingEditorControl.d.ts +26 -0
  87. package/dist/components/policy-catalog/editors/scheduling/schedulingEditorPanel.d.ts +6 -0
  88. package/dist/components/policy-catalog/editors/scheduling/schedulingEditorStore.d.ts +32 -0
  89. package/dist/components/policy-catalog/editors/scheduling/sections/averageTimesSection.d.ts +6 -0
  90. package/dist/components/policy-catalog/editors/scheduling/sections/dailyLimitsSection.d.ts +6 -0
  91. package/dist/components/policy-catalog/editors/scheduling/sections/defaultTimesSection.d.ts +6 -0
  92. package/dist/components/policy-catalog/editors/scheduling/sections/formatTimeRow.d.ts +22 -0
  93. package/dist/components/policy-catalog/editors/scheduling/sections/modificationFlagsSection.d.ts +6 -0
  94. package/dist/components/policy-catalog/editors/scheduling/sections/recoveryTimesSection.d.ts +6 -0
  95. package/dist/components/policy-catalog/editors/scheduling/styles.d.ts +27 -0
  96. package/dist/components/policy-catalog/editors/scheduling/types.d.ts +65 -0
  97. package/dist/components/policy-catalog/engine/policyCatalogStore.d.ts +25 -0
  98. package/dist/components/policy-catalog/index.d.ts +22 -0
  99. package/dist/components/policy-catalog/types.d.ts +57 -0
  100. package/dist/components/policy-catalog/ui/editorShell.d.ts +11 -0
  101. package/dist/components/policy-catalog/ui/jsonEditor.d.ts +5 -0
  102. package/dist/components/policy-catalog/ui/policyCatalogLayout.d.ts +6 -0
  103. package/dist/components/policy-catalog/ui/policyCatalogPanel.d.ts +10 -0
  104. package/dist/components/policy-catalog/ui/styles.d.ts +28 -0
  105. package/dist/components/popover/tipster.d.ts +14 -0
  106. package/dist/components/print-composition-editor/printCompositionEditor.d.ts +2 -0
  107. package/dist/components/print-composition-editor/printCompositionEditorTypes.d.ts +77 -0
  108. package/dist/components/renderSchematicStructure/index.d.ts +4 -0
  109. package/dist/components/renderSchematicStructure/renderSchematicMatchUp.d.ts +26 -0
  110. package/dist/components/renderSchematicStructure/renderSchematicRound.d.ts +15 -0
  111. package/dist/components/renderSchematicStructure/renderSchematicStructure.d.ts +12 -0
  112. package/dist/components/renderStructure/isLuckyDraw.d.ts +9 -0
  113. package/dist/components/renderStructure/renderAddress.d.ts +5 -0
  114. package/dist/components/renderStructure/renderCenterInfo.d.ts +10 -0
  115. package/dist/components/renderStructure/renderContainer.d.ts +4 -0
  116. package/dist/components/renderStructure/renderFlag.d.ts +6 -0
  117. package/dist/components/renderStructure/renderFrill.d.ts +10 -0
  118. package/dist/components/renderStructure/renderGameScore.d.ts +3 -0
  119. package/dist/components/renderStructure/renderIndividual.d.ts +12 -0
  120. package/dist/components/renderStructure/renderMatchUp.d.ts +14 -0
  121. package/dist/components/renderStructure/renderParticipant.d.ts +11 -0
  122. package/dist/components/renderStructure/renderParticipantDetail.d.ts +7 -0
  123. package/dist/components/renderStructure/renderParticipantInput.d.ts +10 -0
  124. package/dist/components/renderStructure/renderPersonAttribute.d.ts +6 -0
  125. package/dist/components/renderStructure/renderRound.d.ts +17 -0
  126. package/dist/components/renderStructure/renderRoundHeader.d.ts +8 -0
  127. package/dist/components/renderStructure/renderScale.d.ts +8 -0
  128. package/dist/components/renderStructure/renderSchedule.d.ts +5 -0
  129. package/dist/components/renderStructure/renderSeeding.d.ts +6 -0
  130. package/dist/components/renderStructure/renderSide.d.ts +9 -0
  131. package/dist/components/renderStructure/renderSideScore.d.ts +16 -0
  132. package/dist/components/renderStructure/renderStatusPill.d.ts +3 -0
  133. package/dist/components/renderStructure/renderStructure.d.ts +13 -0
  134. package/dist/components/renderStructure/renderTeam.d.ts +5 -0
  135. package/dist/components/renderStructure/renderTeamLogo.d.ts +4 -0
  136. package/dist/components/renderStructure/renderTick.d.ts +3 -0
  137. package/dist/components/schedule-page/controller/schedulePageControl.d.ts +18 -0
  138. package/dist/components/schedule-page/domain/matchUpCatalogProjections.d.ts +4 -0
  139. package/dist/components/schedule-page/domain/scheduleIssues.d.ts +2 -0
  140. package/dist/components/schedule-page/domain/utils.d.ts +5 -0
  141. package/dist/components/schedule-page/engine/schedulePageStore.d.ts +34 -0
  142. package/dist/components/schedule-page/index.d.ts +24 -0
  143. package/dist/components/schedule-page/types.d.ts +218 -0
  144. package/dist/components/schedule-page/ui/courtGridSlot.d.ts +8 -0
  145. package/dist/components/schedule-page/ui/dateStrip.d.ts +5 -0
  146. package/dist/components/schedule-page/ui/inspectorPanel.d.ts +2 -0
  147. package/dist/components/schedule-page/ui/issuesPanel.d.ts +2 -0
  148. package/dist/components/schedule-page/ui/matchUpCard.d.ts +5 -0
  149. package/dist/components/schedule-page/ui/matchUpCatalog.d.ts +11 -0
  150. package/dist/components/schedule-page/ui/scheduleCellTypeAhead.d.ts +23 -0
  151. package/dist/components/schedule-page/ui/scheduleGridCell.d.ts +8 -0
  152. package/dist/components/schedule-page/ui/schedulePageLayout.d.ts +18 -0
  153. package/dist/components/schedule-page/ui/styles.d.ts +41 -0
  154. package/dist/components/scheduling-profile/controller/schedulingProfileControl.d.ts +14 -0
  155. package/dist/components/scheduling-profile/domain/catalogProjections.d.ts +16 -0
  156. package/dist/components/scheduling-profile/domain/dndApply.d.ts +2 -0
  157. package/dist/components/scheduling-profile/domain/issueIndex.d.ts +2 -0
  158. package/dist/components/scheduling-profile/domain/profileProjections.d.ts +6 -0
  159. package/dist/components/scheduling-profile/domain/utils.d.ts +7 -0
  160. package/dist/components/scheduling-profile/domain/validateProfile.d.ts +13 -0
  161. package/dist/components/scheduling-profile/engine/profileStore.d.ts +27 -0
  162. package/dist/components/scheduling-profile/index.d.ts +25 -0
  163. package/dist/components/scheduling-profile/types.d.ts +197 -0
  164. package/dist/components/scheduling-profile/ui/cardPopover.d.ts +11 -0
  165. package/dist/components/scheduling-profile/ui/dateStrip.d.ts +5 -0
  166. package/dist/components/scheduling-profile/ui/inspectorPanel.d.ts +2 -0
  167. package/dist/components/scheduling-profile/ui/issuesPanel.d.ts +5 -0
  168. package/dist/components/scheduling-profile/ui/roundCard.d.ts +12 -0
  169. package/dist/components/scheduling-profile/ui/roundCatalog.d.ts +8 -0
  170. package/dist/components/scheduling-profile/ui/schedulingProfileLayout.d.ts +15 -0
  171. package/dist/components/scheduling-profile/ui/styles.d.ts +46 -0
  172. package/dist/components/scheduling-profile/ui/venueBoard.d.ts +7 -0
  173. package/dist/components/scorecard/index.d.ts +2 -0
  174. package/dist/components/scorecard/renderScorecard.d.ts +26 -0
  175. package/dist/components/scoring/approaches/dialPadApproach.d.ts +2 -0
  176. package/dist/components/scoring/approaches/dialPadLogic.d.ts +12 -0
  177. package/dist/components/scoring/approaches/dynamicSetsApproach.d.ts +2 -0
  178. package/dist/components/scoring/approaches/freeScoreApproach.d.ts +2 -0
  179. package/dist/components/scoring/approaches/inlineScoringApproach.d.ts +2 -0
  180. package/dist/components/scoring/config.d.ts +28 -0
  181. package/dist/components/scoring/index.d.ts +6 -0
  182. package/dist/components/scoring/logic/dynamicSetsLogic.d.ts +124 -0
  183. package/dist/components/scoring/scoringModal.d.ts +2 -0
  184. package/dist/components/scoring/types.d.ts +60 -0
  185. package/dist/components/scoring/utils/scoreFormatters.d.ts +12 -0
  186. package/dist/components/scoring/utils/scoreValidator.d.ts +16 -0
  187. package/dist/components/scoring/utils/setExpansionLogic.d.ts +24 -0
  188. package/dist/components/temporal-grid/controller/temporalGridControl.d.ts +137 -0
  189. package/dist/components/temporal-grid/controller/viewProjections.d.ts +220 -0
  190. package/dist/components/temporal-grid/engine/viewState.d.ts +34 -0
  191. package/dist/components/temporal-grid/index.d.ts +18 -0
  192. package/dist/components/temporal-grid/timeline/CourtTimeline.d.ts +77 -0
  193. package/dist/components/temporal-grid/timeline/InteractionManager.d.ts +59 -0
  194. package/dist/components/temporal-grid/timeline/ItemRenderer.d.ts +35 -0
  195. package/dist/components/temporal-grid/timeline/RowLayout.d.ts +38 -0
  196. package/dist/components/temporal-grid/timeline/TimeAxis.d.ts +41 -0
  197. package/dist/components/temporal-grid/timeline/TimeScale.d.ts +106 -0
  198. package/dist/components/temporal-grid/timeline/types.d.ts +124 -0
  199. package/dist/components/temporal-grid/ui/blockPopover.d.ts +29 -0
  200. package/dist/components/temporal-grid/ui/courtAvailabilityModal.d.ts +29 -0
  201. package/dist/components/temporal-grid/ui/modernTimePicker.d.ts +46 -0
  202. package/dist/components/temporal-grid/ui/statsBar.d.ts +21 -0
  203. package/dist/components/temporal-grid/ui/temporalGrid.d.ts +149 -0
  204. package/dist/components/temporal-grid/ui/viewToolbar.d.ts +37 -0
  205. package/dist/components/topology-builder/controller/topologyBuilderControl.d.ts +19 -0
  206. package/dist/components/topology-builder/domain/feedRounds.d.ts +42 -0
  207. package/dist/components/topology-builder/domain/generateDrawFromTopology.d.ts +16 -0
  208. package/dist/components/topology-builder/domain/playoffProfilesCache.d.ts +16 -0
  209. package/dist/components/topology-builder/domain/previewGenerator.d.ts +9 -0
  210. package/dist/components/topology-builder/domain/templates.d.ts +2 -0
  211. package/dist/components/topology-builder/domain/topologyToDrawOptions.d.ts +6 -0
  212. package/dist/components/topology-builder/domain/topologyValidator.d.ts +8 -0
  213. package/dist/components/topology-builder/engine/topologyStore.d.ts +30 -0
  214. package/dist/components/topology-builder/index.d.ts +23 -0
  215. package/dist/components/topology-builder/types.d.ts +59 -0
  216. package/dist/components/topology-builder/ui/edgeEditor.d.ts +7 -0
  217. package/dist/components/topology-builder/ui/nodeEditor.d.ts +9 -0
  218. package/dist/components/topology-builder/ui/structureCard.d.ts +39 -0
  219. package/dist/components/topology-builder/ui/toolbar.d.ts +15 -0
  220. package/dist/components/topology-builder/ui/topologyBuilderLayout.d.ts +7 -0
  221. package/dist/components/topology-builder/ui/topologyCanvas.d.ts +10 -0
  222. package/dist/components/validators/numericRange.d.ts +1 -0
  223. package/dist/components/validators/numericValidator.d.ts +1 -0
  224. package/dist/compositions/compositions.d.ts +2 -0
  225. package/dist/compositions/lineHeights.d.ts +5 -0
  226. package/dist/compositions/resolvePublishedComposition.d.ts +12 -0
  227. package/dist/constants/matchUpFormats.d.ts +34 -0
  228. package/dist/courthive-components.css +1 -1
  229. package/dist/courthive-components.es.js +4 -4
  230. package/dist/courthive-components.umd.js +1 -1
  231. package/dist/data/componentConstants.d.ts +1 -0
  232. package/dist/data/generateEventData.d.ts +15 -0
  233. package/dist/data/generateMatchUps.d.ts +25 -0
  234. package/dist/helpers/createTypeAhead.d.ts +14 -0
  235. package/dist/helpers/drawStateManager.d.ts +91 -0
  236. package/dist/helpers/getAttr.d.ts +4 -0
  237. package/dist/helpers/typeOf.d.ts +4 -0
  238. package/dist/index.d.ts +80 -4006
  239. package/dist/styles/centerInfoStyle.d.ts +6 -0
  240. package/dist/styles/containerStyle.d.ts +1 -0
  241. package/dist/styles/flagStyle.d.ts +3 -0
  242. package/dist/styles/getChevronStyle.d.ts +4 -0
  243. package/dist/styles/getLinkStyle.d.ts +25 -0
  244. package/dist/styles/getMatchUpStyle.d.ts +4 -0
  245. package/dist/styles/getSelectedMatchUpStyle.d.ts +1 -0
  246. package/dist/styles/groupNameStyle.d.ts +1 -0
  247. package/dist/styles/groupSeparatorStyle.d.ts +4 -0
  248. package/dist/styles/matchUpContainerStyle.d.ts +1 -0
  249. package/dist/styles/participantDetailStyle.d.ts +1 -0
  250. package/dist/styles/participantStyle.d.ts +17 -0
  251. package/dist/styles/pillStyle.d.ts +3 -0
  252. package/dist/styles/resultStyles.d.ts +4 -0
  253. package/dist/styles/roundContainerStyle.d.ts +1 -0
  254. package/dist/styles/roundHeaderStyle.d.ts +1 -0
  255. package/dist/styles/roundStyle.d.ts +3 -0
  256. package/dist/styles/scaleStyle.d.ts +3 -0
  257. package/dist/styles/schedulingStyle.d.ts +1 -0
  258. package/dist/styles/scoreStyles.d.ts +9 -0
  259. package/dist/styles/scoreWrapperStyle.d.ts +4 -0
  260. package/dist/styles/seedStyle.d.ts +1 -0
  261. package/dist/styles/sideStyles.d.ts +3 -0
  262. package/dist/styles/structureStyle.d.ts +1 -0
  263. package/dist/styles/teamLogoStyle.d.ts +1 -0
  264. package/dist/styles/themes/australianTheme.d.ts +1 -0
  265. package/dist/styles/themes/basicCardTheme.d.ts +1 -0
  266. package/dist/styles/themes/basicTheme.d.ts +1 -0
  267. package/dist/styles/themes/createTheme.d.ts +5 -0
  268. package/dist/styles/themes/frenchTheme.d.ts +1 -0
  269. package/dist/styles/themes/index.d.ts +7 -0
  270. package/dist/styles/themes/itfTheme.d.ts +1 -0
  271. package/dist/styles/themes/usOpenTheme.d.ts +1 -0
  272. package/dist/styles/themes/wimbledonTheme.d.ts +1 -0
  273. package/dist/tools/freeScore/freeScore.d.ts +79 -0
  274. package/dist/types.d.ts +321 -0
  275. package/dist/utilities/isElement.d.ts +1 -0
  276. package/dist/validators/dateValidator.d.ts +1 -0
  277. package/dist/validators/emailValidator.d.ts +1 -0
  278. package/dist/validators/index.d.ts +7 -0
  279. package/dist/validators/nameValidator.d.ts +1 -0
  280. package/dist/validators/numericRange.d.ts +1 -0
  281. package/dist/validators/numericValidator.d.ts +1 -0
  282. package/dist/validators/passwordValidator.d.ts +1 -0
  283. package/dist/validators/wordValidator.d.ts +1 -0
  284. package/dist/version.d.ts +1 -0
  285. package/package.json +4 -4
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Types for the print-composition editor.
3
+ *
4
+ * The editor produces a config that mirrors pdf-factory's `CompositionConfig`
5
+ * shape but is defined locally to avoid a hard runtime dep on pdf-factory.
6
+ * Callers (admin-client) bridge this object to pdf-factory at print time.
7
+ *
8
+ * See `Mentat/planning/PRINT_COMPOSITION_POLICY_PLAN.md` for the
9
+ * end-to-end architecture.
10
+ */
11
+ export type PrintType = 'draw' | 'schedule' | 'playerList' | 'courtCard' | 'signInSheet' | 'matchCard';
12
+ export type HeaderLayout = 'grand-slam' | 'itf' | 'minimal' | 'none';
13
+ export type FooterLayout = 'standard' | 'seedings' | 'officials' | 'none';
14
+ export type PageSize = 'a4' | 'letter';
15
+ export type PageOrientation = 'portrait' | 'landscape' | 'auto';
16
+ export interface PageBlock {
17
+ pageSize?: PageSize;
18
+ orientation?: PageOrientation;
19
+ margins?: {
20
+ top: number;
21
+ right: number;
22
+ bottom: number;
23
+ left: number;
24
+ };
25
+ }
26
+ export interface HeaderBlock {
27
+ layout?: HeaderLayout;
28
+ tournamentName?: string;
29
+ subtitle?: string;
30
+ }
31
+ export interface FooterBlock {
32
+ layout?: FooterLayout;
33
+ showTimestamp?: boolean;
34
+ showPageNumbers?: boolean;
35
+ }
36
+ export interface DrawContent {
37
+ includeSeedings?: boolean;
38
+ includeScores?: boolean;
39
+ showByes?: boolean;
40
+ showDrawPositions?: boolean;
41
+ }
42
+ export interface ScheduleContent {
43
+ cellStyle?: 'detailed' | 'compact';
44
+ showMatchNumbers?: boolean;
45
+ alertBanner?: string;
46
+ }
47
+ export interface ContentBlock {
48
+ draw?: DrawContent;
49
+ schedule?: ScheduleContent;
50
+ }
51
+ export interface PrintCompositionConfig {
52
+ name?: string;
53
+ page?: PageBlock;
54
+ header?: HeaderBlock;
55
+ footer?: FooterBlock;
56
+ content?: ContentBlock;
57
+ }
58
+ export interface PrintCompositionEditorConfig {
59
+ /** The print type whose composition is being edited. Determines which content fields render. */
60
+ printType: PrintType;
61
+ /** Initial config to seed the form. Defaults applied for missing fields. */
62
+ config?: PrintCompositionConfig;
63
+ /** When true, all fields are disabled. */
64
+ readOnly?: boolean;
65
+ /** Fired when the user clicks Save. */
66
+ onSave?: (config: PrintCompositionConfig) => void;
67
+ /** Fired on every field change with the current config. */
68
+ onChange?: (config: PrintCompositionConfig) => void;
69
+ }
70
+ export interface PrintCompositionEditorHandle {
71
+ /** Remove the editor from the DOM and detach listeners. */
72
+ destroy: () => void;
73
+ /** Get the current config (deep clone). */
74
+ getConfig: () => PrintCompositionConfig;
75
+ /** Replace the config and re-render. */
76
+ setConfig: (config: PrintCompositionConfig) => void;
77
+ }
@@ -0,0 +1,4 @@
1
+ export { renderSchematicStructure } from './renderSchematicStructure';
2
+ export { renderSchematicRound } from './renderSchematicRound';
3
+ export { renderSchematicMatchUp } from './renderSchematicMatchUp';
4
+ export type { SchematicMatchUp } from './renderSchematicMatchUp';
@@ -0,0 +1,26 @@
1
+ export interface SchematicMatchUp {
2
+ matchUpId: string;
3
+ roundNumber: number;
4
+ roundPosition?: number;
5
+ drawPositions?: number[];
6
+ finishingRound?: number;
7
+ roundFactor?: number;
8
+ stage?: string;
9
+ isRoundRobin?: boolean;
10
+ preFeedRound?: boolean;
11
+ structureId?: string;
12
+ collectionId?: string;
13
+ }
14
+ /**
15
+ * Renders a compact matchup: two 5px-tall slots separated by a 1px divider.
16
+ * Total height 11px vs ~60px for the full renderMatchUp.
17
+ */
18
+ export declare function renderSchematicMatchUp({ matchUp, moiety, isFirstRound, isFinalRound, isRoundRobin, isLucky }: {
19
+ matchUp: SchematicMatchUp;
20
+ moiety?: boolean;
21
+ isFirstRound?: boolean;
22
+ isFinalRound?: boolean;
23
+ isRoundRobin?: boolean;
24
+ isLucky?: boolean;
25
+ initialRoundNumber?: number;
26
+ }): HTMLElement;
@@ -0,0 +1,15 @@
1
+ import { SchematicMatchUp } from './renderSchematicMatchUp';
2
+ /**
3
+ * Renders a round column with optional simplified header (round number only)
4
+ * and compact schematic matchups.
5
+ */
6
+ export declare function renderSchematicRound({ initialRoundFactor, initialRoundNumber, isFinalRound, isRoundRobin, roundNumber, matchUps, showHeader, isLucky }: {
7
+ initialRoundFactor?: number;
8
+ initialRoundNumber?: number;
9
+ isFinalRound?: boolean;
10
+ isRoundRobin?: boolean;
11
+ roundNumber: number;
12
+ matchUps: SchematicMatchUp[];
13
+ showHeader?: boolean;
14
+ isLucky?: boolean;
15
+ }): HTMLElement;
@@ -0,0 +1,12 @@
1
+ import { SchematicMatchUp } from './renderSchematicMatchUp';
2
+ /**
3
+ * Compact bracket renderer showing structure shape without participant details.
4
+ * Uses the same getRoundMatchUps() engine call as renderStructure but produces
5
+ * a much smaller visual (~14px per matchup vs ~60px).
6
+ */
7
+ export declare function renderSchematicStructure({ initialRoundNumber, showHeaders, structureId, matchUps }: {
8
+ initialRoundNumber?: number;
9
+ showHeaders?: boolean;
10
+ structureId?: string;
11
+ matchUps: SchematicMatchUp[];
12
+ }): HTMLElement;
@@ -0,0 +1,9 @@
1
+ import { RoundProfile } from 'tods-competition-factory';
2
+ interface IsLuckyDrawParams {
3
+ roundsNotPowerOf2?: boolean;
4
+ hasNoRoundPositions?: boolean;
5
+ roundNumbers?: number[];
6
+ roundProfile?: RoundProfile;
7
+ }
8
+ export declare function isLuckyDraw({ roundsNotPowerOf2, hasNoRoundPositions, roundNumbers, roundProfile }: IsLuckyDrawParams): boolean;
9
+ export {};
@@ -0,0 +1,5 @@
1
+ import { IndividualParticipant } from '../../types';
2
+ export declare function renderAddress({ individualParticipant, className }: {
3
+ individualParticipant?: IndividualParticipant;
4
+ className?: string;
5
+ }): HTMLElement;
@@ -0,0 +1,10 @@
1
+ import { EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderCenterInfo({ eventHandlers, entryStatus, sideNumber, className, matchUp }: {
3
+ eventHandlers?: EventHandlers;
4
+ entryStatus?: string;
5
+ sideNumber?: number;
6
+ className?: string;
7
+ matchUp?: MatchUp;
8
+ }): {
9
+ element: HTMLElement;
10
+ };
@@ -0,0 +1,4 @@
1
+ export declare function renderContainer({ content, theme }: {
2
+ content: string | HTMLElement;
3
+ theme?: string;
4
+ }): HTMLElement;
@@ -0,0 +1,6 @@
1
+ import { IndividualParticipant, MatchUp } from '../../types';
2
+ export declare function renderFlag({ matchUp, individualParticipant, spacer }: {
3
+ matchUp?: MatchUp;
4
+ individualParticipant?: IndividualParticipant;
5
+ spacer?: boolean;
6
+ }): HTMLElement;
@@ -0,0 +1,10 @@
1
+ import { Composition, IndividualParticipant, MatchUp, Side } from '../../types';
2
+ export declare function renderFrill({ individualParticipant, composition, className, matchUp, spacer, side, type }: {
3
+ individualParticipant?: IndividualParticipant;
4
+ composition?: Composition;
5
+ className?: string;
6
+ matchUp?: MatchUp;
7
+ spacer?: boolean;
8
+ side?: Side;
9
+ type?: string;
10
+ }): HTMLElement;
@@ -0,0 +1,3 @@
1
+ export declare function renderGameScore({ value }?: {
2
+ value?: string | number;
3
+ }): HTMLInputElement;
@@ -0,0 +1,12 @@
1
+ import { Composition, EventHandlers, IndividualParticipant, MatchUp, Side } from '../../types';
2
+ export declare function renderIndividual(params: {
3
+ isWinningSide?: boolean;
4
+ side?: Side;
5
+ sideNumber?: number;
6
+ individualParticipant?: IndividualParticipant;
7
+ matchUp?: MatchUp;
8
+ composition?: Composition;
9
+ eventHandlers?: EventHandlers;
10
+ }): {
11
+ element: HTMLElement;
12
+ };
@@ -0,0 +1,14 @@
1
+ import { Composition, EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderMatchUp(params: {
3
+ composition?: Composition;
4
+ initialRoundNumber?: number;
5
+ matchUp: MatchUp;
6
+ moiety?: boolean;
7
+ selectedMatchUpId?: string;
8
+ searchActive?: boolean;
9
+ isFinalRound?: boolean;
10
+ isLucky?: boolean;
11
+ isAdHoc?: boolean;
12
+ eventHandlers?: EventHandlers;
13
+ className?: string;
14
+ }): HTMLElement;
@@ -0,0 +1,11 @@
1
+ import { Composition, EventHandlers, MatchUp, Participant } from '../../types';
2
+ export declare function renderParticipant({ initialRoundNumber, eventHandlers, sideContainer, composition, participant, placeholder, sideNumber, matchUp }: {
3
+ initialRoundNumber?: number;
4
+ eventHandlers?: EventHandlers;
5
+ sideContainer?: boolean;
6
+ composition?: Composition;
7
+ participant?: Participant;
8
+ placeholder?: any;
9
+ sideNumber?: number;
10
+ matchUp?: MatchUp;
11
+ }): HTMLElement;
@@ -0,0 +1,7 @@
1
+ import { Composition, IndividualParticipant } from '../../types';
2
+ export declare function renderParticipantDetail(params: {
3
+ composition?: Composition;
4
+ individualParticipant?: IndividualParticipant;
5
+ className?: string;
6
+ [key: string]: any;
7
+ }): HTMLElement;
@@ -0,0 +1,10 @@
1
+ import { Composition, EventHandlers, MatchUp, Side } from '../../types';
2
+ export declare function renderParticipantInput({ matchUp, side, sideNumber, eventHandlers, composition, position, currentParticipant }: {
3
+ matchUp: MatchUp;
4
+ side?: Side;
5
+ sideNumber?: number;
6
+ eventHandlers?: EventHandlers;
7
+ composition?: Composition;
8
+ position?: number;
9
+ currentParticipant?: any;
10
+ }): HTMLElement;
@@ -0,0 +1,6 @@
1
+ import { IndividualParticipant } from '../../types';
2
+ export declare function renderPersonAttribute({ individualParticipant, attribute, className }: {
3
+ individualParticipant?: IndividualParticipant;
4
+ attribute: string;
5
+ className?: string;
6
+ }): HTMLElement | string;
@@ -0,0 +1,17 @@
1
+ import { Composition, EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderRound({ initialRoundNumber, selectedMatchUpId, eventHandlers, isFinalRound, isRoundRobin, searchActive, composition, roundFactor, roundNumber, roundProfile, minWidth, matchUps, context, isLucky }: {
3
+ initialRoundNumber?: number;
4
+ selectedMatchUpId?: string;
5
+ eventHandlers?: EventHandlers;
6
+ isFinalRound?: boolean;
7
+ isRoundRobin?: boolean;
8
+ searchActive?: boolean;
9
+ composition?: Composition;
10
+ roundFactor?: number;
11
+ roundNumber: number;
12
+ roundProfile?: any;
13
+ minWidth?: string;
14
+ matchUps: MatchUp[];
15
+ context?: any;
16
+ isLucky?: boolean;
17
+ }): HTMLElement;
@@ -0,0 +1,8 @@
1
+ import { EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderRoundHeader({ eventHandlers, roundMatchUps, roundProfile, roundNumber, context }: {
3
+ eventHandlers?: EventHandlers;
4
+ roundMatchUps?: MatchUp[];
5
+ roundProfile?: any;
6
+ roundNumber: number;
7
+ context?: any;
8
+ }): HTMLElement;
@@ -0,0 +1,8 @@
1
+ import { Composition, IndividualParticipant, MatchUp } from '../../types';
2
+ export declare function renderScale({ individualParticipant, composition, className, matchUp, spacer }: {
3
+ individualParticipant?: IndividualParticipant;
4
+ composition?: Composition;
5
+ className?: string;
6
+ matchUp?: MatchUp;
7
+ spacer?: boolean;
8
+ }): HTMLElement;
@@ -0,0 +1,5 @@
1
+ import { EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderSchedule({ matchUp, eventHandlers }: {
3
+ matchUp?: MatchUp;
4
+ eventHandlers?: EventHandlers;
5
+ }): HTMLElement;
@@ -0,0 +1,6 @@
1
+ import { Composition, Side } from '../../types';
2
+ export declare function renderSeeding({ className, composition, side }: {
3
+ className?: string;
4
+ composition?: Composition;
5
+ side?: Side;
6
+ }): HTMLElement | string;
@@ -0,0 +1,9 @@
1
+ import { Composition, EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderSide({ initialRoundNumber, eventHandlers, composition, sideNumber, className, matchUp }: {
3
+ initialRoundNumber?: number;
4
+ eventHandlers?: EventHandlers;
5
+ composition?: Composition;
6
+ sideNumber: number;
7
+ className?: string;
8
+ matchUp: MatchUp;
9
+ }): HTMLElement;
@@ -0,0 +1,16 @@
1
+ import { Composition, EventHandlers, MatchUp, SetScore } from '../../types';
2
+ export declare function setScore({ gameScoreOnly, scoreStripes, set, sideNumber }: {
3
+ gameScoreOnly?: boolean;
4
+ scoreStripes?: boolean;
5
+ set: SetScore & {
6
+ editing?: number;
7
+ };
8
+ sideNumber: number;
9
+ }): HTMLElement;
10
+ export declare function renderSideScore({ participantHeight, eventHandlers, composition, sideNumber, matchUp }: {
11
+ participantHeight?: number;
12
+ eventHandlers?: EventHandlers;
13
+ composition?: Composition;
14
+ sideNumber: number;
15
+ matchUp: MatchUp;
16
+ }): HTMLElement;
@@ -0,0 +1,3 @@
1
+ export declare function renderStatusPill({ matchUpStatus }: {
2
+ matchUpStatus?: string;
3
+ }): HTMLElement;
@@ -0,0 +1,13 @@
1
+ import { Composition, EventHandlers, MatchUp } from '../../types';
2
+ export declare function renderStructure({ initialRoundNumber, selectedMatchUpId, eventHandlers, searchActive, composition, structureId, finalColumn, matchUps, minWidth, context }: {
3
+ initialRoundNumber?: number;
4
+ selectedMatchUpId?: string;
5
+ eventHandlers?: EventHandlers;
6
+ searchActive?: boolean;
7
+ composition?: Composition;
8
+ structureId?: string;
9
+ finalColumn?: boolean | HTMLElement;
10
+ matchUps: MatchUp[];
11
+ minWidth?: string;
12
+ context?: any;
13
+ }): HTMLElement;
@@ -0,0 +1,5 @@
1
+ import { IndividualParticipant } from '../../types';
2
+ export declare function renderTeam({ individualParticipant, className }: {
3
+ individualParticipant?: IndividualParticipant;
4
+ className?: string;
5
+ }): HTMLElement;
@@ -0,0 +1,4 @@
1
+ export declare function renderTeamLogo({ participantId }: {
2
+ teamLogo?: any;
3
+ participantId?: string;
4
+ }): HTMLElement;
@@ -0,0 +1,3 @@
1
+ export declare function renderTick({ dim }?: {
2
+ dim?: string;
3
+ }): string;
@@ -0,0 +1,18 @@
1
+ import { SchedulePageStore } from '../engine/schedulePageStore';
2
+ import { SchedulePageConfig, CatalogMatchUpItem, ScheduleDate, ScheduleIssue, PendingScheduleAction } from '../types';
3
+ export declare class SchedulePageControl {
4
+ private readonly store;
5
+ private readonly layout;
6
+ private readonly unsubscribe;
7
+ private container;
8
+ constructor(config: SchedulePageConfig);
9
+ render(container: HTMLElement): void;
10
+ destroy(): void;
11
+ setMatchUpCatalog(catalog: CatalogMatchUpItem[]): void;
12
+ setScheduleDates(dates: ScheduleDate[]): void;
13
+ setIssues(issues: ScheduleIssue[]): void;
14
+ save(): PendingScheduleAction[];
15
+ discardPending(): void;
16
+ get hasUnsavedChanges(): boolean;
17
+ getStore(): SchedulePageStore;
18
+ }
@@ -0,0 +1,4 @@
1
+ import { CatalogMatchUpItem, CatalogFilters, MatchUpCatalogGroupBy, ScheduledBehavior } from '../types';
2
+ export declare function isCompletedStatus(status?: string): boolean;
3
+ export declare function filterMatchUpCatalog(catalog: CatalogMatchUpItem[], query: string, behavior?: ScheduledBehavior, filters?: CatalogFilters, showCompleted?: boolean): CatalogMatchUpItem[];
4
+ export declare function groupMatchUpCatalog(items: CatalogMatchUpItem[], mode: MatchUpCatalogGroupBy): Map<string, CatalogMatchUpItem[]>;
@@ -0,0 +1,2 @@
1
+ import { ScheduleIssue, ScheduleIssueIndex } from '../types';
2
+ export declare function buildScheduleIssueIndex(issues: ScheduleIssue[]): ScheduleIssueIndex;
@@ -0,0 +1,5 @@
1
+ import { CatalogMatchUpItem, MatchUpSide } from '../types';
2
+ export declare function deepClone<T>(obj: T): T;
3
+ export declare function matchUpLabel(item: CatalogMatchUpItem): string;
4
+ export declare function participantLabel(side?: MatchUpSide): string;
5
+ export declare function matchUpSearchKey(item: CatalogMatchUpItem): string;
@@ -0,0 +1,34 @@
1
+ import { SchedulePageState, SchedulePageChangeListener, SchedulePageConfig, CatalogMatchUpItem, CatalogFilters, ScheduleDate, ScheduleIssue, MatchUpCatalogGroupBy, PendingScheduleAction, SchedulePageDragPayload } from '../types';
2
+ export declare class SchedulePageStore {
3
+ private state;
4
+ private readonly listeners;
5
+ private readonly config;
6
+ constructor(config: SchedulePageConfig);
7
+ getState(): SchedulePageState;
8
+ setMatchUpCatalog(catalog: CatalogMatchUpItem[]): void;
9
+ setScheduleDates(dates: ScheduleDate[]): void;
10
+ setIssues(issues: ScheduleIssue[]): void;
11
+ handleMatchUpDrop(payload: SchedulePageDragPayload, event: DragEvent): void;
12
+ handleMatchUpRemove(matchUpId: string): void;
13
+ /**
14
+ * Flush all pending actions via the onBulkSave callback and clear the queue.
15
+ * Returns the actions that were flushed.
16
+ */
17
+ save(): PendingScheduleAction[];
18
+ /**
19
+ * Discard all pending actions without saving.
20
+ */
21
+ discardPending(): void;
22
+ getPendingActions(): PendingScheduleAction[];
23
+ selectDate(date: string): void;
24
+ selectMatchUp(matchUp: CatalogMatchUpItem | null): void;
25
+ setCatalogSearch(query: string): void;
26
+ setCatalogGroupBy(mode: MatchUpCatalogGroupBy): void;
27
+ setCatalogFilters(filters: CatalogFilters): void;
28
+ setShowCompleted(show: boolean): void;
29
+ setShowScheduled(show: boolean): void;
30
+ toggleLeftPanel(): void;
31
+ subscribe(listener: SchedulePageChangeListener): () => void;
32
+ private setState;
33
+ private emit;
34
+ }
@@ -0,0 +1,24 @@
1
+ import { SchedulePageConfig } from './types';
2
+ import { SchedulePageControl } from './controller/schedulePageControl';
3
+ /**
4
+ * Schedule Page — Public API
5
+ *
6
+ * Main entry point for the schedule page component.
7
+ */
8
+ export { SchedulePageControl } from './controller/schedulePageControl';
9
+ export { SchedulePageStore } from './engine/schedulePageStore';
10
+ export { filterMatchUpCatalog, groupMatchUpCatalog, isCompletedStatus } from './domain/matchUpCatalogProjections';
11
+ export { buildScheduleIssueIndex } from './domain/scheduleIssues';
12
+ export { matchUpLabel, participantLabel, matchUpSearchKey, deepClone } from './domain/utils';
13
+ export { buildScheduleDateStrip } from './ui/dateStrip';
14
+ export { buildScheduleIssuesPanel } from './ui/issuesPanel';
15
+ export { buildMatchUpCatalog } from './ui/matchUpCatalog';
16
+ export { buildMatchUpCard } from './ui/matchUpCard';
17
+ export { buildScheduleInspectorPanel } from './ui/inspectorPanel';
18
+ export { buildCourtGridSlot } from './ui/courtGridSlot';
19
+ export { buildSchedulePageLayout } from './ui/schedulePageLayout';
20
+ export { buildScheduleGridCell, mapMatchUpToCellData, DEFAULT_SCHEDULE_CELL_CONFIG } from './ui/scheduleGridCell';
21
+ export { activateScheduleCellTypeAhead } from './ui/scheduleCellTypeAhead';
22
+ export type { ScheduleCellTypeAheadOptions } from './ui/scheduleCellTypeAhead';
23
+ export type { CatalogMatchUpItem, CatalogFilters, MatchUpSide, ScheduleDate, ScheduleIssue, ScheduleIssueSeverity, ScheduleIssueIndex, ScheduleIssueCounts, MatchUpCatalogGroupBy, ScheduledBehavior, SchedulingMode, PendingScheduleAction, CatalogMatchUpDragPayload, GridMatchUpDragPayload, SchedulePageDragPayload, SchedulePageConfig, SchedulePageState, SchedulePageChangeListener, UIPanel, ScheduleCellConfig, ScheduleCellField, ParticipantDisplayConfig, ScheduleCellData, ScheduleCellSide } from './types';
24
+ export declare function createSchedulePage(config: SchedulePageConfig, container: HTMLElement): SchedulePageControl;