courthive-components 1.1.0 → 1.2.0
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.
- package/dist/assets/team-logos/index.d.ts +9 -0
- package/dist/components/burstChart/burstChart.d.ts +108 -0
- package/dist/components/burstChart/matchUpTransform.d.ts +11 -0
- package/dist/components/burstChart/textHelpers.d.ts +11 -0
- package/dist/components/button/barButton.d.ts +1 -0
- package/dist/components/button/cvaButton.d.ts +8 -0
- package/dist/components/button/dropDownButton.d.ts +5 -0
- package/dist/components/categories/ageCategory/ageCategory.d.ts +54 -0
- package/dist/components/categories/ageCategory/ageCategoryLogic.d.ts +55 -0
- package/dist/components/categories/category/category.d.ts +47 -0
- package/dist/components/composition-editor/compositionEditor.d.ts +6 -0
- package/dist/components/composition-editor/compositionEditorStore.d.ts +24 -0
- package/dist/components/composition-editor/compositionEditorTypes.d.ts +37 -0
- package/dist/components/composition-editor/compositionPreview.d.ts +2 -0
- package/dist/components/composition-editor/scaleConstants.d.ts +7 -0
- package/dist/components/composition-editor/sections/displaySection.d.ts +3 -0
- package/dist/components/composition-editor/sections/fieldBuilders.d.ts +20 -0
- package/dist/components/composition-editor/sections/layoutSection.d.ts +3 -0
- package/dist/components/composition-editor/sections/participantSection.d.ts +3 -0
- package/dist/components/composition-editor/sections/placeholderSection.d.ts +3 -0
- package/dist/components/composition-editor/sections/scaleSection.d.ts +3 -0
- package/dist/components/composition-editor/sections/scoreSection.d.ts +3 -0
- package/dist/components/composition-editor/sections/sectionBuilder.d.ts +8 -0
- package/dist/components/composition-editor/sections/themeSection.d.ts +3 -0
- package/dist/components/composition-editor/styles.d.ts +26 -0
- package/dist/components/controlBar/controlBar.d.ts +11 -0
- package/dist/components/controlBar/toggleOverlay.d.ts +3 -0
- package/dist/components/courts/courts.d.ts +7 -0
- package/dist/components/courts/index.d.ts +1 -0
- package/dist/components/drawer/drawer.d.ts +14 -0
- package/dist/components/flightProfile/flightProfileLogic.d.ts +51 -0
- package/dist/components/flightProfile/flightProfileNew.d.ts +34 -0
- package/dist/components/flightProfile/getFlightProfileFormItems.d.ts +13 -0
- package/dist/components/flightProfile/getFlightProfileFormRelationships.d.ts +1 -0
- package/dist/components/forms/createMultiSelect.d.ts +34 -0
- package/dist/components/forms/renderButtons.d.ts +3 -0
- package/dist/components/forms/renderField.d.ts +7 -0
- package/dist/components/forms/renderForm.d.ts +1 -0
- package/dist/components/forms/renderMenu.d.ts +3 -0
- package/dist/components/forms/renderValidator.d.ts +113 -0
- package/dist/components/forms/styles.d.ts +0 -0
- package/dist/components/generateRound.d.ts +6 -0
- package/dist/components/inline-scoring/engineToMatchUp.d.ts +6 -0
- package/dist/components/inline-scoring/index.d.ts +5 -0
- package/dist/components/inline-scoring/inlineScoringFooter.d.ts +18 -0
- package/dist/components/inline-scoring/inlineScoringManager.d.ts +49 -0
- package/dist/components/inline-scoring/inlineScoringTypes.d.ts +40 -0
- package/dist/components/inline-scoring/renderInlineMatchUp.d.ts +27 -0
- package/dist/components/interactive-scoring/buildInteractiveScoringShell.d.ts +28 -0
- package/dist/components/interactive-scoring/index.d.ts +2 -0
- package/dist/components/interactive-scoring/types.d.ts +60 -0
- package/dist/components/matchUpFormat/matchUpFormat.d.ts +81 -0
- package/dist/components/matchUpFormat/matchUpFormatLogic.d.ts +112 -0
- package/dist/components/modal/cmodal.d.ts +30 -0
- package/dist/components/modal/cmodalStyles.d.ts +8 -0
- package/dist/components/modal/compositionEditorModal.d.ts +46 -0
- package/dist/components/modal/generateTeamsModal.d.ts +26 -0
- package/dist/components/modal/mockParticipants.d.ts +91 -0
- package/dist/components/modal/scheduleCellConfigModal.d.ts +44 -0
- package/dist/components/modal/selectItem.d.ts +24 -0
- package/dist/components/notes-toolbar/notesToolbar.d.ts +20 -0
- package/dist/components/policy-catalog/controller/policyCatalogControl.d.ts +18 -0
- package/dist/components/policy-catalog/domain/catalogProjections.d.ts +11 -0
- package/dist/components/policy-catalog/domain/policyDefaults.d.ts +26 -0
- package/dist/components/policy-catalog/domain/utils.d.ts +4 -0
- package/dist/components/policy-catalog/editors/ranking/domain/emptyRankingPolicy.d.ts +2 -0
- package/dist/components/policy-catalog/editors/ranking/domain/rankingProjections.d.ts +32 -0
- package/dist/components/policy-catalog/editors/ranking/index.d.ts +9 -0
- package/dist/components/policy-catalog/editors/ranking/rankingPointsEditorControl.d.ts +27 -0
- package/dist/components/policy-catalog/editors/ranking/rankingPointsEditorPanel.d.ts +8 -0
- package/dist/components/policy-catalog/editors/ranking/rankingPointsEditorStore.d.ts +53 -0
- package/dist/components/policy-catalog/editors/ranking/sections/aggregationSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/bonusPointsRow.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/metadataSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/perWinPointsRow.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/positionPointsTable.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/profileCard.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/qualityWinSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/sections/scopeBadges.d.ts +2 -0
- package/dist/components/policy-catalog/editors/ranking/sections/scopeEditor.d.ts +6 -0
- package/dist/components/policy-catalog/editors/ranking/styles.d.ts +25 -0
- package/dist/components/policy-catalog/editors/ranking/types.d.ts +146 -0
- package/dist/components/policy-catalog/editors/scheduling/domain/schedulingProjections.d.ts +5 -0
- package/dist/components/policy-catalog/editors/scheduling/domain/schedulingValidation.d.ts +2 -0
- package/dist/components/policy-catalog/editors/scheduling/index.d.ts +11 -0
- package/dist/components/policy-catalog/editors/scheduling/schedulingEditorControl.d.ts +26 -0
- package/dist/components/policy-catalog/editors/scheduling/schedulingEditorPanel.d.ts +6 -0
- package/dist/components/policy-catalog/editors/scheduling/schedulingEditorStore.d.ts +32 -0
- package/dist/components/policy-catalog/editors/scheduling/sections/averageTimesSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/scheduling/sections/dailyLimitsSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/scheduling/sections/defaultTimesSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/scheduling/sections/formatTimeRow.d.ts +22 -0
- package/dist/components/policy-catalog/editors/scheduling/sections/modificationFlagsSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/scheduling/sections/recoveryTimesSection.d.ts +6 -0
- package/dist/components/policy-catalog/editors/scheduling/styles.d.ts +27 -0
- package/dist/components/policy-catalog/editors/scheduling/types.d.ts +65 -0
- package/dist/components/policy-catalog/engine/policyCatalogStore.d.ts +25 -0
- package/dist/components/policy-catalog/index.d.ts +22 -0
- package/dist/components/policy-catalog/types.d.ts +57 -0
- package/dist/components/policy-catalog/ui/editorShell.d.ts +11 -0
- package/dist/components/policy-catalog/ui/jsonEditor.d.ts +5 -0
- package/dist/components/policy-catalog/ui/policyCatalogLayout.d.ts +6 -0
- package/dist/components/policy-catalog/ui/policyCatalogPanel.d.ts +10 -0
- package/dist/components/policy-catalog/ui/styles.d.ts +28 -0
- package/dist/components/popover/tipster.d.ts +14 -0
- package/dist/components/print-composition-editor/printCompositionEditor.d.ts +2 -0
- package/dist/components/print-composition-editor/printCompositionEditorTypes.d.ts +77 -0
- package/dist/components/renderSchematicStructure/index.d.ts +4 -0
- package/dist/components/renderSchematicStructure/renderSchematicMatchUp.d.ts +26 -0
- package/dist/components/renderSchematicStructure/renderSchematicRound.d.ts +15 -0
- package/dist/components/renderSchematicStructure/renderSchematicStructure.d.ts +12 -0
- package/dist/components/renderStructure/isLuckyDraw.d.ts +9 -0
- package/dist/components/renderStructure/renderAddress.d.ts +5 -0
- package/dist/components/renderStructure/renderCenterInfo.d.ts +10 -0
- package/dist/components/renderStructure/renderContainer.d.ts +4 -0
- package/dist/components/renderStructure/renderFlag.d.ts +6 -0
- package/dist/components/renderStructure/renderFrill.d.ts +10 -0
- package/dist/components/renderStructure/renderGameScore.d.ts +3 -0
- package/dist/components/renderStructure/renderIndividual.d.ts +12 -0
- package/dist/components/renderStructure/renderMatchUp.d.ts +14 -0
- package/dist/components/renderStructure/renderParticipant.d.ts +11 -0
- package/dist/components/renderStructure/renderParticipantDetail.d.ts +7 -0
- package/dist/components/renderStructure/renderParticipantInput.d.ts +10 -0
- package/dist/components/renderStructure/renderPersonAttribute.d.ts +6 -0
- package/dist/components/renderStructure/renderRound.d.ts +17 -0
- package/dist/components/renderStructure/renderRoundHeader.d.ts +8 -0
- package/dist/components/renderStructure/renderScale.d.ts +8 -0
- package/dist/components/renderStructure/renderSchedule.d.ts +5 -0
- package/dist/components/renderStructure/renderSeeding.d.ts +6 -0
- package/dist/components/renderStructure/renderSide.d.ts +9 -0
- package/dist/components/renderStructure/renderSideScore.d.ts +16 -0
- package/dist/components/renderStructure/renderStatusPill.d.ts +3 -0
- package/dist/components/renderStructure/renderStructure.d.ts +13 -0
- package/dist/components/renderStructure/renderTeam.d.ts +5 -0
- package/dist/components/renderStructure/renderTeamLogo.d.ts +4 -0
- package/dist/components/renderStructure/renderTick.d.ts +3 -0
- package/dist/components/schedule-page/controller/schedulePageControl.d.ts +21 -0
- package/dist/components/schedule-page/domain/activeStrip.d.ts +72 -0
- package/dist/components/schedule-page/domain/matchUpCatalogProjections.d.ts +4 -0
- package/dist/components/schedule-page/domain/scheduleIssues.d.ts +2 -0
- package/dist/components/schedule-page/domain/utils.d.ts +5 -0
- package/dist/components/schedule-page/engine/schedulePageStore.d.ts +36 -0
- package/dist/components/schedule-page/index.d.ts +28 -0
- package/dist/components/schedule-page/types.d.ts +221 -0
- package/dist/components/schedule-page/ui/activeStrip.d.ts +46 -0
- package/dist/components/schedule-page/ui/courtGridSlot.d.ts +8 -0
- package/dist/components/schedule-page/ui/dateStrip.d.ts +5 -0
- package/dist/components/schedule-page/ui/inspectorPanel.d.ts +2 -0
- package/dist/components/schedule-page/ui/issuesPanel.d.ts +2 -0
- package/dist/components/schedule-page/ui/matchUpCard.d.ts +5 -0
- package/dist/components/schedule-page/ui/matchUpCatalog.d.ts +11 -0
- package/dist/components/schedule-page/ui/scheduleCellTypeAhead.d.ts +23 -0
- package/dist/components/schedule-page/ui/scheduleGridCell.d.ts +8 -0
- package/dist/components/schedule-page/ui/schedulePageLayout.d.ts +18 -0
- package/dist/components/schedule-page/ui/styles.d.ts +41 -0
- package/dist/components/scheduling-profile/controller/schedulingProfileControl.d.ts +14 -0
- package/dist/components/scheduling-profile/domain/catalogProjections.d.ts +16 -0
- package/dist/components/scheduling-profile/domain/dndApply.d.ts +2 -0
- package/dist/components/scheduling-profile/domain/issueIndex.d.ts +2 -0
- package/dist/components/scheduling-profile/domain/profileProjections.d.ts +6 -0
- package/dist/components/scheduling-profile/domain/utils.d.ts +7 -0
- package/dist/components/scheduling-profile/domain/validateProfile.d.ts +13 -0
- package/dist/components/scheduling-profile/engine/profileStore.d.ts +27 -0
- package/dist/components/scheduling-profile/index.d.ts +25 -0
- package/dist/components/scheduling-profile/types.d.ts +197 -0
- package/dist/components/scheduling-profile/ui/cardPopover.d.ts +11 -0
- package/dist/components/scheduling-profile/ui/dateStrip.d.ts +5 -0
- package/dist/components/scheduling-profile/ui/inspectorPanel.d.ts +2 -0
- package/dist/components/scheduling-profile/ui/issuesPanel.d.ts +5 -0
- package/dist/components/scheduling-profile/ui/roundCard.d.ts +12 -0
- package/dist/components/scheduling-profile/ui/roundCatalog.d.ts +8 -0
- package/dist/components/scheduling-profile/ui/schedulingProfileLayout.d.ts +15 -0
- package/dist/components/scheduling-profile/ui/styles.d.ts +46 -0
- package/dist/components/scheduling-profile/ui/venueBoard.d.ts +7 -0
- package/dist/components/scorecard/index.d.ts +2 -0
- package/dist/components/scorecard/renderScorecard.d.ts +26 -0
- package/dist/components/scoring/approaches/dialPadApproach.d.ts +2 -0
- package/dist/components/scoring/approaches/dialPadLogic.d.ts +12 -0
- package/dist/components/scoring/approaches/dynamicSetsApproach.d.ts +2 -0
- package/dist/components/scoring/approaches/freeScoreApproach.d.ts +2 -0
- package/dist/components/scoring/approaches/inlineScoringApproach.d.ts +2 -0
- package/dist/components/scoring/config.d.ts +28 -0
- package/dist/components/scoring/index.d.ts +6 -0
- package/dist/components/scoring/logic/dynamicSetsLogic.d.ts +124 -0
- package/dist/components/scoring/scoringModal.d.ts +2 -0
- package/dist/components/scoring/types.d.ts +60 -0
- package/dist/components/scoring/utils/scoreFormatters.d.ts +12 -0
- package/dist/components/scoring/utils/scoreValidator.d.ts +16 -0
- package/dist/components/scoring/utils/setExpansionLogic.d.ts +24 -0
- package/dist/components/temporal-grid/controller/temporalGridControl.d.ts +137 -0
- package/dist/components/temporal-grid/controller/viewProjections.d.ts +220 -0
- package/dist/components/temporal-grid/engine/viewState.d.ts +34 -0
- package/dist/components/temporal-grid/index.d.ts +18 -0
- package/dist/components/temporal-grid/timeline/CourtTimeline.d.ts +77 -0
- package/dist/components/temporal-grid/timeline/InteractionManager.d.ts +59 -0
- package/dist/components/temporal-grid/timeline/ItemRenderer.d.ts +35 -0
- package/dist/components/temporal-grid/timeline/RowLayout.d.ts +38 -0
- package/dist/components/temporal-grid/timeline/TimeAxis.d.ts +41 -0
- package/dist/components/temporal-grid/timeline/TimeScale.d.ts +106 -0
- package/dist/components/temporal-grid/timeline/types.d.ts +124 -0
- package/dist/components/temporal-grid/ui/blockPopover.d.ts +29 -0
- package/dist/components/temporal-grid/ui/courtAvailabilityModal.d.ts +29 -0
- package/dist/components/temporal-grid/ui/modernTimePicker.d.ts +46 -0
- package/dist/components/temporal-grid/ui/statsBar.d.ts +21 -0
- package/dist/components/temporal-grid/ui/temporalGrid.d.ts +149 -0
- package/dist/components/temporal-grid/ui/viewToolbar.d.ts +37 -0
- package/dist/components/topology-builder/controller/topologyBuilderControl.d.ts +19 -0
- package/dist/components/topology-builder/domain/feedRounds.d.ts +42 -0
- package/dist/components/topology-builder/domain/generateDrawFromTopology.d.ts +16 -0
- package/dist/components/topology-builder/domain/playoffProfilesCache.d.ts +16 -0
- package/dist/components/topology-builder/domain/previewGenerator.d.ts +9 -0
- package/dist/components/topology-builder/domain/templates.d.ts +2 -0
- package/dist/components/topology-builder/domain/topologyToDrawOptions.d.ts +6 -0
- package/dist/components/topology-builder/domain/topologyValidator.d.ts +8 -0
- package/dist/components/topology-builder/engine/topologyStore.d.ts +30 -0
- package/dist/components/topology-builder/index.d.ts +23 -0
- package/dist/components/topology-builder/types.d.ts +59 -0
- package/dist/components/topology-builder/ui/edgeEditor.d.ts +7 -0
- package/dist/components/topology-builder/ui/nodeEditor.d.ts +9 -0
- package/dist/components/topology-builder/ui/structureCard.d.ts +39 -0
- package/dist/components/topology-builder/ui/toolbar.d.ts +15 -0
- package/dist/components/topology-builder/ui/topologyBuilderLayout.d.ts +7 -0
- package/dist/components/topology-builder/ui/topologyCanvas.d.ts +10 -0
- package/dist/components/validators/numericRange.d.ts +1 -0
- package/dist/components/validators/numericValidator.d.ts +1 -0
- package/dist/compositions/compositions.d.ts +2 -0
- package/dist/compositions/lineHeights.d.ts +5 -0
- package/dist/compositions/resolvePublishedComposition.d.ts +12 -0
- package/dist/constants/matchUpFormats.d.ts +34 -0
- package/dist/courthive-components.css +1 -1
- package/dist/courthive-components.es.js +803 -626
- package/dist/courthive-components.umd.js +4 -4
- package/dist/data/componentConstants.d.ts +1 -0
- package/dist/data/generateEventData.d.ts +15 -0
- package/dist/data/generateMatchUps.d.ts +25 -0
- package/dist/helpers/createTypeAhead.d.ts +14 -0
- package/dist/helpers/drawStateManager.d.ts +91 -0
- package/dist/helpers/getAttr.d.ts +4 -0
- package/dist/helpers/typeOf.d.ts +4 -0
- package/dist/index.d.ts +80 -4006
- package/dist/styles/centerInfoStyle.d.ts +6 -0
- package/dist/styles/containerStyle.d.ts +1 -0
- package/dist/styles/flagStyle.d.ts +3 -0
- package/dist/styles/getChevronStyle.d.ts +4 -0
- package/dist/styles/getLinkStyle.d.ts +25 -0
- package/dist/styles/getMatchUpStyle.d.ts +4 -0
- package/dist/styles/getSelectedMatchUpStyle.d.ts +1 -0
- package/dist/styles/groupNameStyle.d.ts +1 -0
- package/dist/styles/groupSeparatorStyle.d.ts +4 -0
- package/dist/styles/matchUpContainerStyle.d.ts +1 -0
- package/dist/styles/participantDetailStyle.d.ts +1 -0
- package/dist/styles/participantStyle.d.ts +17 -0
- package/dist/styles/pillStyle.d.ts +3 -0
- package/dist/styles/resultStyles.d.ts +4 -0
- package/dist/styles/roundContainerStyle.d.ts +1 -0
- package/dist/styles/roundHeaderStyle.d.ts +1 -0
- package/dist/styles/roundStyle.d.ts +3 -0
- package/dist/styles/scaleStyle.d.ts +3 -0
- package/dist/styles/schedulingStyle.d.ts +1 -0
- package/dist/styles/scoreStyles.d.ts +9 -0
- package/dist/styles/scoreWrapperStyle.d.ts +4 -0
- package/dist/styles/seedStyle.d.ts +1 -0
- package/dist/styles/sideStyles.d.ts +3 -0
- package/dist/styles/structureStyle.d.ts +1 -0
- package/dist/styles/teamLogoStyle.d.ts +1 -0
- package/dist/styles/themes/australianTheme.d.ts +1 -0
- package/dist/styles/themes/basicCardTheme.d.ts +1 -0
- package/dist/styles/themes/basicTheme.d.ts +1 -0
- package/dist/styles/themes/createTheme.d.ts +5 -0
- package/dist/styles/themes/frenchTheme.d.ts +1 -0
- package/dist/styles/themes/index.d.ts +7 -0
- package/dist/styles/themes/itfTheme.d.ts +1 -0
- package/dist/styles/themes/usOpenTheme.d.ts +1 -0
- package/dist/styles/themes/wimbledonTheme.d.ts +1 -0
- package/dist/tools/freeScore/freeScore.d.ts +79 -0
- package/dist/types.d.ts +321 -0
- package/dist/utilities/isElement.d.ts +1 -0
- package/dist/validators/dateValidator.d.ts +1 -0
- package/dist/validators/emailValidator.d.ts +1 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/nameValidator.d.ts +1 -0
- package/dist/validators/numericRange.d.ts +1 -0
- package/dist/validators/numericValidator.d.ts +1 -0
- package/dist/validators/passwordValidator.d.ts +1 -0
- package/dist/validators/wordValidator.d.ts +1 -0
- package/dist/version.d.ts +1 -0
- package/package.json +5 -5
|
@@ -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,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];
|