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,30 @@
1
+ import { TopologyNode, TopologyEdge, TopologyState, TopologyChangeListener } from '../types';
2
+ export declare class TopologyStore {
3
+ private state;
4
+ private listeners;
5
+ constructor(initialState?: Partial<TopologyState>);
6
+ getState(): TopologyState;
7
+ subscribe(listener: TopologyChangeListener): () => void;
8
+ private notify;
9
+ setDrawName(name: string): void;
10
+ addNode(partial: Omit<TopologyNode, 'id' | 'position'>): TopologyNode;
11
+ updateNode(nodeId: string, updates: Partial<Omit<TopologyNode, 'id'>>): void;
12
+ removeNode(nodeId: string): void;
13
+ addEdge(partial: Omit<TopologyEdge, 'id' | 'label'>): TopologyEdge | null;
14
+ updateEdge(edgeId: string, updates: Partial<Omit<TopologyEdge, 'id'>>): void;
15
+ removeEdge(edgeId: string): void;
16
+ selectNode(nodeId: string | null): void;
17
+ selectEdge(edgeId: string | null): void;
18
+ /**
19
+ * If the given node is a consolation structure, clamp its drawSize so it
20
+ * does not exceed the total capacity of inbound links.
21
+ */
22
+ private clampConsolationDrawSize;
23
+ /** Sum of losers that all inbound edges can deliver to a node. */
24
+ private inboundCapacity;
25
+ /** Find a non-overlapping position for a newly added node. */
26
+ private nextNodePosition;
27
+ autoLayout(): void;
28
+ loadState(newState: TopologyState): void;
29
+ private computeEdgeLabel;
30
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Topology Builder — Public API
3
+ */
4
+ export { TopologyBuilderControl } from './controller/topologyBuilderControl';
5
+ export { TopologyStore } from './engine/topologyStore';
6
+ export { topologyToDrawOptions } from './domain/topologyToDrawOptions';
7
+ export type { DrawOptionsResult } from './domain/topologyToDrawOptions';
8
+ export { generateDrawFromTopology } from './domain/generateDrawFromTopology';
9
+ export type { GenerationResult, StructureInfo } from './domain/generateDrawFromTopology';
10
+ export { validateTopology } from './domain/topologyValidator';
11
+ export type { ValidationError } from './domain/topologyValidator';
12
+ export { generatePreviewMatchUps } from './domain/previewGenerator';
13
+ export { getPlayoffProfiles, clearPlayoffProfilesCache } from './domain/playoffProfilesCache';
14
+ export type { PlayoffProfiles, PlayoffRoundRange, PlayoffFinishingPositionRange } from './domain/playoffProfilesCache';
15
+ export { standardTemplates } from './domain/templates';
16
+ export { buildTopologyCanvas } from './ui/topologyCanvas';
17
+ export { buildStructureCard, getPortPosition, getCardWidth, getNumRounds } from './ui/structureCard';
18
+ export type { RoundAnnotation } from './ui/structureCard';
19
+ export { buildNodeEditor } from './ui/nodeEditor';
20
+ export { buildEdgeEditor } from './ui/edgeEditor';
21
+ export { buildToolbar } from './ui/toolbar';
22
+ export { buildTopologyBuilderLayout } from './ui/topologyBuilderLayout';
23
+ export type { TopologyNode, TopologyEdge, TopologyState, TopologyChangeListener, TopologyBuilderConfig, TopologyTemplate, UIPanel } from './types';
@@ -0,0 +1,59 @@
1
+ import { SchematicMatchUp } from '../renderSchematicStructure';
2
+ export interface TopologyNode {
3
+ id: string;
4
+ structureName: string;
5
+ stage: 'MAIN' | 'QUALIFYING' | 'CONSOLATION' | 'PLAY_OFF';
6
+ structureType: string;
7
+ drawSize: number;
8
+ qualifyingPositions?: number;
9
+ matchUpFormat?: string;
10
+ structureOptions?: any;
11
+ position: {
12
+ x: number;
13
+ y: number;
14
+ };
15
+ matchUps?: SchematicMatchUp[];
16
+ }
17
+ export interface TopologyEdge {
18
+ id: string;
19
+ sourceNodeId: string;
20
+ targetNodeId: string;
21
+ linkType: 'WINNER' | 'LOSER' | 'POSITION';
22
+ sourceRoundNumber?: number;
23
+ targetRoundNumber?: number;
24
+ feedProfile?: string;
25
+ finishingPositions?: number[];
26
+ qualifyingPositions?: number;
27
+ label?: string;
28
+ }
29
+ export interface TopologyState {
30
+ nodes: TopologyNode[];
31
+ edges: TopologyEdge[];
32
+ selectedNodeId: string | null;
33
+ selectedEdgeId: string | null;
34
+ drawName: string;
35
+ templateName?: string;
36
+ }
37
+ export type TopologyChangeListener = (state: TopologyState) => void;
38
+ export interface TopologyBuilderConfig {
39
+ initialState?: Partial<TopologyState>;
40
+ onGenerate?: (state: TopologyState) => void;
41
+ onDoubleClickNode?: (node: TopologyNode, state: TopologyState) => void;
42
+ onSaveTemplate?: (state: TopologyState) => void;
43
+ onClear?: () => void;
44
+ templates?: TopologyTemplate[];
45
+ hideTemplates?: boolean;
46
+ hideGenerate?: boolean;
47
+ hideDelete?: boolean;
48
+ readOnly?: boolean;
49
+ }
50
+ export interface TopologyTemplate {
51
+ name: string;
52
+ description?: string;
53
+ state: Omit<TopologyState, 'selectedNodeId' | 'selectedEdgeId'>;
54
+ }
55
+ export interface UIPanel<T = unknown> {
56
+ element: HTMLElement;
57
+ update: (state: T) => void;
58
+ destroy?: () => void;
59
+ }
@@ -0,0 +1,7 @@
1
+ import { TopologyEdge, TopologyState, UIPanel } from '../types';
2
+ export interface EdgeEditorCallbacks {
3
+ onUpdateEdge: (edgeId: string, updates: Partial<TopologyEdge>) => void;
4
+ onDeleteEdge: (edgeId: string) => void;
5
+ readOnly?: boolean;
6
+ }
7
+ export declare function buildEdgeEditor(callbacks: EdgeEditorCallbacks): UIPanel<TopologyState>;
@@ -0,0 +1,9 @@
1
+ import { TopologyEdge, TopologyNode, TopologyState, UIPanel } from '../types';
2
+ export interface NodeEditorCallbacks {
3
+ onUpdateNode: (nodeId: string, updates: Partial<TopologyNode>) => void;
4
+ onUpdateEdge: (edgeId: string, updates: Partial<TopologyEdge>) => void;
5
+ onDeleteNode: (nodeId: string) => void;
6
+ readOnly?: boolean;
7
+ hideDelete?: boolean;
8
+ }
9
+ export declare function buildNodeEditor(callbacks: NodeEditorCallbacks): UIPanel<TopologyState>;
@@ -0,0 +1,39 @@
1
+ import { TopologyNode } from '../types';
2
+ /**
3
+ * Compute the number of schematic rounds for a given draw configuration.
4
+ * For qualifying structures with qualifyingPositions, truncate to only
5
+ * the rounds needed to produce that many qualifiers.
6
+ */
7
+ export declare function getNumRounds(node: TopologyNode): number;
8
+ /**
9
+ * Compute the card width needed to fit the schematic preview.
10
+ */
11
+ export declare function getCardWidth(node: TopologyNode): number;
12
+ export interface RoundAnnotation {
13
+ roundNumber: number;
14
+ linkType: string;
15
+ direction: 'source' | 'target';
16
+ edgeId: string;
17
+ isSelected: boolean;
18
+ }
19
+ export interface PositionChip {
20
+ position: number;
21
+ edgeId: string;
22
+ targetName: string;
23
+ }
24
+ export interface StructureCardCallbacks {
25
+ onSelect: (nodeId: string) => void;
26
+ onSelectEdge: (edgeId: string) => void;
27
+ onDoubleClick?: (nodeId: string) => void;
28
+ onPortMouseDown: (nodeId: string, portType: 'winner' | 'loser') => void;
29
+ onPortMouseUp: (nodeId: string) => void;
30
+ onDragStart: (nodeId: string, startX: number, startY: number) => void;
31
+ }
32
+ export declare function buildStructureCard(node: TopologyNode, callbacks: StructureCardCallbacks, isSelected: boolean, hasWinnerLink: boolean, roundAnnotations?: RoundAnnotation[], warnings?: string[], advanceInfo?: string, positionChips?: PositionChip[]): HTMLElement;
33
+ /**
34
+ * Get port position relative to canvas for SVG edge rendering.
35
+ */
36
+ export declare function getPortPosition(node: TopologyNode, portType: 'input' | 'winner' | 'loser'): {
37
+ x: number;
38
+ y: number;
39
+ };
@@ -0,0 +1,15 @@
1
+ import { TopologyState, TopologyTemplate, UIPanel } from '../types';
2
+ export interface ToolbarCallbacks {
3
+ onAddStructure: (stage: string, structureType?: string) => void;
4
+ onLoadTemplate: (template: TopologyTemplate) => void;
5
+ onAutoLayout: () => void;
6
+ onGenerate: () => void;
7
+ onSaveTemplate?: () => void;
8
+ onClear?: () => void;
9
+ }
10
+ export interface ToolbarOptions {
11
+ hideTemplates?: boolean;
12
+ hideGenerate?: boolean;
13
+ readOnly?: boolean;
14
+ }
15
+ export declare function buildToolbar(callbacks: ToolbarCallbacks, templates: TopologyTemplate[], options?: ToolbarOptions): UIPanel<TopologyState>;
@@ -0,0 +1,7 @@
1
+ import { TopologyState, UIPanel } from '../types';
2
+ export declare function buildTopologyBuilderLayout({ toolbar, canvas, nodeEditor, edgeEditor }: {
3
+ toolbar: UIPanel<TopologyState>;
4
+ canvas: UIPanel<TopologyState>;
5
+ nodeEditor: UIPanel<TopologyState>;
6
+ edgeEditor: UIPanel<TopologyState>;
7
+ }): UIPanel<TopologyState>;
@@ -0,0 +1,10 @@
1
+ import { TopologyState, UIPanel } from '../types';
2
+ export interface CanvasCallbacks {
3
+ onSelectNode: (nodeId: string | null) => void;
4
+ onSelectEdge: (edgeId: string | null) => void;
5
+ onDoubleClickNode?: (nodeId: string) => void;
6
+ onMoveNode: (nodeId: string, x: number, y: number) => void;
7
+ onCreateEdge: (sourceNodeId: string, targetNodeId: string, linkType: 'WINNER' | 'LOSER' | 'POSITION') => void;
8
+ onPortMouseDown: (nodeId: string, portType: 'winner' | 'loser') => void;
9
+ }
10
+ export declare function buildTopologyCanvas(callbacks: CanvasCallbacks): UIPanel<TopologyState>;
@@ -0,0 +1 @@
1
+ export declare const numericRange: (min: number, max: number) => (value: string | number) => boolean;
@@ -0,0 +1 @@
1
+ export declare function numericValidator(value: string | number): boolean;
@@ -0,0 +1,2 @@
1
+ import { Composition } from '../types';
2
+ export declare const compositions: Record<string, Composition>;
@@ -0,0 +1,5 @@
1
+ export declare const lineHeights: {
2
+ scheduleInfo: number;
3
+ centerInfo: number;
4
+ gameScore: number;
5
+ };
@@ -0,0 +1,12 @@
1
+ import { Composition, Configuration } from '../types';
2
+ export interface DisplayExtensionValue {
3
+ compositionName?: string;
4
+ theme?: string;
5
+ configuration?: Partial<Configuration>;
6
+ }
7
+ /**
8
+ * Resolves a published composition from a DISPLAY extension value.
9
+ * Returns a new composition object (never mutates the built-in singletons).
10
+ * Falls back to 'National' if the named composition is not found.
11
+ */
12
+ export declare function resolvePublishedComposition(display?: DisplayExtensionValue, fallbackName?: string): Composition;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * MatchUp format constants
3
+ * Generated from matchUpFormats.json for use in tests
4
+ */
5
+ export declare const MATCH_FORMATS: {
6
+ readonly SET3_S6_TB7: "SET3-S:6/TB7";
7
+ readonly SET3_S6_TB7_F_TB10: "SET3-S:6/TB7-F:TB10";
8
+ readonly SET3_S6_TB10: "SET3-S:6/TB10";
9
+ readonly SET3_S6_F_TB10: "SET3-S:6-F:TB10";
10
+ readonly SET3_S6_TB7_NOAD: "SET3-S:6/TB7NOAD";
11
+ readonly SET3_S8_TB7: "SET3-S:8/TB7";
12
+ readonly SET3_S8_TB7_AT7: "SET3-S:8/TB7@7";
13
+ readonly SET3_S4_TB7: "SET3-S:4/TB7";
14
+ readonly SET3_S4_TB7_F_TB10: "SET3-S:4/TB7-F:TB10";
15
+ readonly SET3_S4_TB5_AT3_F_TB10: "SET3-S:4/TB5@3-F:TB10";
16
+ readonly SET5_S6_TB7: "SET5-S:6/TB7";
17
+ readonly SET5_S6_TB7_F_TB10: "SET5-S:6/TB7-F:TB10";
18
+ readonly SET1_S6_TB7: "SET1-S:6/TB7";
19
+ readonly SET1_S6_TB10: "SET1-S:6/TB10";
20
+ readonly SET1_S6_TB7_AT5: "SET1-S:6/TB7@5";
21
+ readonly SET1_S8_TB7: "SET1-S:8/TB7";
22
+ readonly SET1_S4_TB7: "SET1-S:4/TB7";
23
+ readonly SET1_S5_TB9_AT4: "SET1-S:5/TB9@4";
24
+ readonly SET1_S_TB7: "SET1-S:T7";
25
+ readonly SET1_S_TB10: "SET1-S:TB10";
26
+ readonly SET1_S_TB21: "SET1-S:T21";
27
+ readonly SET1_S8: "SET1-S:8";
28
+ readonly SET1_S10: "SET1-S:10";
29
+ readonly FAST4: "SET5-S:4/NOAD";
30
+ readonly SET3X_T10A_TB1: "SET3XA-S:T10-F:TB1";
31
+ readonly SET3X_T10A_TB1_NOAD: "SET3XA-S:T10-F:TB1NOAD";
32
+ readonly SET4X_T10A_TB1: "SET4XA-S:T10-F:TB1";
33
+ };
34
+ export type MatchUpFormatCode = (typeof MATCH_FORMATS)[keyof typeof MATCH_FORMATS];