courthive-components 1.0.4 → 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.
- 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 +18 -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 +34 -0
- package/dist/components/schedule-page/index.d.ts +24 -0
- package/dist/components/schedule-page/types.d.ts +218 -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 +4823 -4605
- package/dist/courthive-components.umd.js +42 -42
- 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 -3913
- 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 +8 -8
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface TeamLogo {
|
|
2
|
+
name: string;
|
|
3
|
+
src: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const TEAM_LOGOS: TeamLogo[];
|
|
6
|
+
/** Get a team logo by index (wraps around) */
|
|
7
|
+
export declare function getTeamLogo(index: number): TeamLogo;
|
|
8
|
+
/** Simple hash of a string to get a stable numeric index */
|
|
9
|
+
export declare function hashString(str: string): number;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BurstChart D3v7 - Tournament Sunburst Visualization
|
|
3
|
+
*
|
|
4
|
+
* Modern D3v7 implementation with emoji flags and clean TypeScript architecture.
|
|
5
|
+
* Consumes TODS-aligned SunburstDrawData natively.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - D3v7 partition layout
|
|
9
|
+
* - Emoji flags (no image dependencies)
|
|
10
|
+
* - Interactive hover with winner/opponent display
|
|
11
|
+
* - Tournament title with text wrapping
|
|
12
|
+
* - Color coding by seed/entry type
|
|
13
|
+
* - Three-line hover display (winner, score, opponent)
|
|
14
|
+
*/
|
|
15
|
+
/** TODS-aligned draw structure for the sunburst */
|
|
16
|
+
export interface SunburstDrawData {
|
|
17
|
+
drawSize: number;
|
|
18
|
+
roundMatchUps: Record<number, SunburstMatchUp[]>;
|
|
19
|
+
seedAssignments?: {
|
|
20
|
+
participantId: string;
|
|
21
|
+
seedNumber: number;
|
|
22
|
+
}[];
|
|
23
|
+
}
|
|
24
|
+
export interface SunburstMatchUp {
|
|
25
|
+
roundNumber: number;
|
|
26
|
+
roundName?: string;
|
|
27
|
+
matchUpStatus: string;
|
|
28
|
+
winningSide?: number;
|
|
29
|
+
drawPositions: number[];
|
|
30
|
+
scoreString?: string;
|
|
31
|
+
sides: SunburstSide[];
|
|
32
|
+
}
|
|
33
|
+
export interface SunburstSide {
|
|
34
|
+
sideNumber: number;
|
|
35
|
+
drawPosition: number;
|
|
36
|
+
participantName?: string;
|
|
37
|
+
nationalityCode?: string;
|
|
38
|
+
seedNumber?: number;
|
|
39
|
+
entryStatus?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface HierarchyNode {
|
|
42
|
+
name: string;
|
|
43
|
+
drawPosition?: number;
|
|
44
|
+
seedNumber?: number;
|
|
45
|
+
entryStatus?: string;
|
|
46
|
+
participantName?: string;
|
|
47
|
+
nationalityCode?: string;
|
|
48
|
+
roundName?: string;
|
|
49
|
+
scoreString?: string;
|
|
50
|
+
matchUpStatus?: string;
|
|
51
|
+
matchUp?: SunburstMatchUp;
|
|
52
|
+
depth: number;
|
|
53
|
+
value?: number;
|
|
54
|
+
color?: string;
|
|
55
|
+
children?: HierarchyNode[];
|
|
56
|
+
opponent?: HierarchyNode;
|
|
57
|
+
}
|
|
58
|
+
export interface SegmentData {
|
|
59
|
+
participantName?: string;
|
|
60
|
+
drawPosition?: number;
|
|
61
|
+
seedNumber?: number;
|
|
62
|
+
entryStatus?: string;
|
|
63
|
+
nationalityCode?: string;
|
|
64
|
+
scoreString?: string;
|
|
65
|
+
matchUpStatus?: string;
|
|
66
|
+
roundName?: string;
|
|
67
|
+
depth: number;
|
|
68
|
+
matchUp?: SunburstMatchUp;
|
|
69
|
+
}
|
|
70
|
+
export interface BurstChartEventHandlers {
|
|
71
|
+
clickSegment?: (data: SegmentData) => void;
|
|
72
|
+
clickCenter?: () => void;
|
|
73
|
+
}
|
|
74
|
+
export interface BurstChartOptions {
|
|
75
|
+
width?: number;
|
|
76
|
+
height?: number;
|
|
77
|
+
title?: string;
|
|
78
|
+
colorBySeeds?: boolean;
|
|
79
|
+
countryCodes?: Record<string, string>;
|
|
80
|
+
eventHandlers?: BurstChartEventHandlers;
|
|
81
|
+
textScaleFactor?: number;
|
|
82
|
+
}
|
|
83
|
+
/** Handle returned by render() for controlling the chart after rendering */
|
|
84
|
+
export interface BurstChartInstance {
|
|
85
|
+
/** Highlight all segments belonging to a player. Returns count of highlighted nodes. Omit name to clear. */
|
|
86
|
+
highlightPlayer: (playerName?: string) => number;
|
|
87
|
+
/** Show or hide the entire chart SVG */
|
|
88
|
+
hide: (hidden: boolean) => void;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create a BurstChart D3v7 visualization.
|
|
92
|
+
* Accepts the TODS-aligned SunburstDrawData format.
|
|
93
|
+
*/
|
|
94
|
+
export declare function renderburstChart(container: HTMLElement, drawData: SunburstDrawData, title: string, options?: BurstChartOptions): BurstChartInstance;
|
|
95
|
+
/**
|
|
96
|
+
* Factory function to create a burst chart renderer.
|
|
97
|
+
* Accepts either SunburstDrawData (new) or TournamentDraw (legacy, auto-converted).
|
|
98
|
+
*/
|
|
99
|
+
export declare function burstChart(options?: BurstChartOptions): {
|
|
100
|
+
render: (container: HTMLElement, drawData: SunburstDrawData, title: string) => BurstChartInstance;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Convert IOC code to emoji flag
|
|
104
|
+
* Matches fixtures.flagISO() from tods-competition-factory
|
|
105
|
+
* @param ioc - IOC nationality code (e.g., "SRB", "GBR", "SUI")
|
|
106
|
+
* @returns Emoji flag
|
|
107
|
+
*/
|
|
108
|
+
export declare function flagISO(ioc: string): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SunburstDrawData } from './burstChart';
|
|
2
|
+
/**
|
|
3
|
+
* Convert a tods-competition-factory `getEventData().drawsData[i].structures[0]`
|
|
4
|
+
* object into the TODS-aligned SunburstDrawData that the sunburst consumes.
|
|
5
|
+
*/
|
|
6
|
+
export declare function fromFactoryDrawData(structure: any): SunburstDrawData;
|
|
7
|
+
/**
|
|
8
|
+
* Convert a legacy TournamentDraw (with R128/R64/.../F/W round keys)
|
|
9
|
+
* into the TODS-aligned SunburstDrawData.
|
|
10
|
+
*/
|
|
11
|
+
export declare function fromLegacyDraw(tournamentDraw: any): SunburstDrawData;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text Rendering Utilities
|
|
3
|
+
* Text wrapping and multi-line text helpers
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Wrap text into lines with maximum characters per line
|
|
7
|
+
* @param line - Text to wrap
|
|
8
|
+
* @param maxCharactersPerLine - Maximum characters per line (default: 15)
|
|
9
|
+
* @returns Array of wrapped lines
|
|
10
|
+
*/
|
|
11
|
+
export declare function wordwrap(line: string, maxCharactersPerLine?: number): string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function barButton(itemConfig: any): HTMLButtonElement;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface AgeCategoryConfig {
|
|
2
|
+
labels?: {
|
|
3
|
+
title?: string;
|
|
4
|
+
consideredDateLabel?: string;
|
|
5
|
+
typeLabel?: string;
|
|
6
|
+
ageLabel?: string;
|
|
7
|
+
standardCodesLabel?: string;
|
|
8
|
+
};
|
|
9
|
+
options?: {
|
|
10
|
+
ages?: number[];
|
|
11
|
+
categoryTypes?: string[];
|
|
12
|
+
};
|
|
13
|
+
preDefinedCodes?: Array<{
|
|
14
|
+
code: string;
|
|
15
|
+
text: string;
|
|
16
|
+
}>;
|
|
17
|
+
defaultConsideredDate?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Main function to open the age category modal
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAgeCategoryModal({ existingAgeCategoryCode, existingCategory, editorConfig: userConfig, consideredDate: providedDate, callback, config, modalConfig }?: {
|
|
23
|
+
existingAgeCategoryCode?: string;
|
|
24
|
+
existingCategory?: {
|
|
25
|
+
ageCategoryCode?: string;
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
};
|
|
28
|
+
editorConfig?: AgeCategoryConfig;
|
|
29
|
+
consideredDate?: string;
|
|
30
|
+
callback?: (category: {
|
|
31
|
+
ageCategoryCode: string;
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}) => void;
|
|
34
|
+
config?: AgeCategoryConfig;
|
|
35
|
+
modalConfig?: any;
|
|
36
|
+
}): {
|
|
37
|
+
setContent: ({ content: newContent, config }: {
|
|
38
|
+
content?: string | HTMLElement | ((container: HTMLElement) => any);
|
|
39
|
+
config?: import('../../../types').ModalConfig;
|
|
40
|
+
}) => void;
|
|
41
|
+
setButtons: ({ buttons, config }: {
|
|
42
|
+
buttons: import('../../../types').ModalButton[];
|
|
43
|
+
config?: import('../../../types').ModalConfig;
|
|
44
|
+
}) => void;
|
|
45
|
+
update: ({ content: newContent, buttons, title, config: newConfig, onClose }: {
|
|
46
|
+
content?: string | HTMLElement | ((container: HTMLElement) => any);
|
|
47
|
+
buttons?: import('../../../types').ModalButton[];
|
|
48
|
+
title?: string;
|
|
49
|
+
config?: import('../../../types').ModalConfig;
|
|
50
|
+
onClose?: (params: {
|
|
51
|
+
content?: any;
|
|
52
|
+
}) => void;
|
|
53
|
+
}) => void;
|
|
54
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure logic functions for Age Category Code parsing, validation, and generation.
|
|
3
|
+
* Supports ITF TODS standard age category codes.
|
|
4
|
+
*/
|
|
5
|
+
export interface ParsedAgeCategory {
|
|
6
|
+
type: 'under' | 'over' | 'range' | 'combined' | 'open';
|
|
7
|
+
ageValue?: number;
|
|
8
|
+
ageMin?: number;
|
|
9
|
+
ageMax?: number;
|
|
10
|
+
uPosition?: 'pre' | 'post';
|
|
11
|
+
oPosition?: 'pre' | 'post';
|
|
12
|
+
isCombined?: boolean;
|
|
13
|
+
rangeOrder?: 'max-min' | 'min-max';
|
|
14
|
+
}
|
|
15
|
+
export interface AgeCategoryCodeConfig {
|
|
16
|
+
type: 'under' | 'over' | 'range' | 'combined' | 'open';
|
|
17
|
+
ageValue?: number;
|
|
18
|
+
ageMin?: number;
|
|
19
|
+
ageMax?: number;
|
|
20
|
+
uPosition?: 'pre' | 'post';
|
|
21
|
+
oPosition?: 'pre' | 'post';
|
|
22
|
+
isCombined?: boolean;
|
|
23
|
+
rangeOrder?: 'max-min' | 'min-max';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Parse an age category code into its component parts
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseAgeCategoryCode(code: string): ParsedAgeCategory | null;
|
|
29
|
+
/**
|
|
30
|
+
* Build an age category code from configuration
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildAgeCategoryCode(config: AgeCategoryCodeConfig): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get age options for dropdowns
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAgeOptions(): number[];
|
|
37
|
+
/**
|
|
38
|
+
* Get category type options
|
|
39
|
+
*/
|
|
40
|
+
export declare function getCategoryTypeOptions(): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Convert category type to internal type
|
|
43
|
+
*/
|
|
44
|
+
export declare function categoryTypeToInternal(categoryType: string): ParsedAgeCategory['type'];
|
|
45
|
+
/**
|
|
46
|
+
* Convert internal type to category type label
|
|
47
|
+
*/
|
|
48
|
+
export declare function internalToCategory(type: ParsedAgeCategory['type']): string;
|
|
49
|
+
/**
|
|
50
|
+
* Get default predefined age category codes
|
|
51
|
+
*/
|
|
52
|
+
export declare function getDefaultPredefinedCodes(): Array<{
|
|
53
|
+
code: string;
|
|
54
|
+
text: string;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface CategoryConfig {
|
|
2
|
+
labels?: {
|
|
3
|
+
title?: string;
|
|
4
|
+
categoryNameLabel?: string;
|
|
5
|
+
typeLabel?: string;
|
|
6
|
+
ageCategoryCodeLabel?: string;
|
|
7
|
+
ratingTypeLabel?: string;
|
|
8
|
+
ratingMinLabel?: string;
|
|
9
|
+
ratingMaxLabel?: string;
|
|
10
|
+
ballTypeLabel?: string;
|
|
11
|
+
notesLabel?: string;
|
|
12
|
+
};
|
|
13
|
+
options?: {
|
|
14
|
+
types?: string[];
|
|
15
|
+
ratingTypes?: string[];
|
|
16
|
+
ballTypes?: string[];
|
|
17
|
+
};
|
|
18
|
+
defaultConsideredDate?: string;
|
|
19
|
+
modalConfig?: any;
|
|
20
|
+
}
|
|
21
|
+
export interface Category {
|
|
22
|
+
ageCategoryCode?: string;
|
|
23
|
+
ageMax?: number;
|
|
24
|
+
ageMaxDate?: string;
|
|
25
|
+
ageMin?: number;
|
|
26
|
+
ageMinDate?: string;
|
|
27
|
+
ballType?: string;
|
|
28
|
+
categoryName?: string;
|
|
29
|
+
categoryType?: string;
|
|
30
|
+
notes?: string;
|
|
31
|
+
ratingMax?: number;
|
|
32
|
+
ratingMin?: number;
|
|
33
|
+
ratingType?: string;
|
|
34
|
+
type?: 'AGE' | 'RATING' | 'BOTH';
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Opens the Category editor modal
|
|
38
|
+
* @param existingCategory - Optional existing category to edit
|
|
39
|
+
* @param editorConfig - Optional configuration for labels and options
|
|
40
|
+
* @param callback - Called with the category when user clicks OK
|
|
41
|
+
* @returns Modal result with open() and close() functions
|
|
42
|
+
*/
|
|
43
|
+
export declare function getCategoryModal(params: {
|
|
44
|
+
existingCategory?: Category;
|
|
45
|
+
editorConfig?: CategoryConfig;
|
|
46
|
+
callback?: (category: Category) => void;
|
|
47
|
+
}): any;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CompositionEditorConfig, SavedComposition } from './compositionEditorTypes';
|
|
2
|
+
export type { CompositionEditorConfig, SavedComposition };
|
|
3
|
+
export declare function createCompositionEditor(container: HTMLElement, config: CompositionEditorConfig): {
|
|
4
|
+
destroy: () => void;
|
|
5
|
+
getComposition: () => SavedComposition;
|
|
6
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Configuration } from '../../types';
|
|
2
|
+
import { CompositionEditorConfig, CompositionEditorState, CompositionEditorListener, SectionId } from './compositionEditorTypes';
|
|
3
|
+
export declare class CompositionEditorStore {
|
|
4
|
+
private state;
|
|
5
|
+
private readonly listeners;
|
|
6
|
+
private readonly config;
|
|
7
|
+
constructor(config: CompositionEditorConfig);
|
|
8
|
+
getState(): CompositionEditorState;
|
|
9
|
+
subscribe(listener: CompositionEditorListener): () => void;
|
|
10
|
+
toggleSection(sectionId: SectionId): void;
|
|
11
|
+
setTheme(theme: string): void;
|
|
12
|
+
setCompositionName(name: string): void;
|
|
13
|
+
setConfigField<K extends keyof Configuration>(key: K, value: Configuration[K]): void;
|
|
14
|
+
/** Update a nested object field (e.g., gameScore, placeHolders, scaleAttributes) */
|
|
15
|
+
setConfigNestedField<K extends keyof Configuration>(key: K, nestedKey: string, value: unknown): void;
|
|
16
|
+
/** Replace the entire configuration (e.g., loading a preset) */
|
|
17
|
+
setConfiguration(configuration: Configuration): void;
|
|
18
|
+
/** Load a full composition (theme + config + name) */
|
|
19
|
+
loadComposition(name: string, theme: string, configuration: Configuration): void;
|
|
20
|
+
resetToInitial(): void;
|
|
21
|
+
private setState;
|
|
22
|
+
private emit;
|
|
23
|
+
private notifyChange;
|
|
24
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Composition, Configuration } from '../../types';
|
|
2
|
+
/** JSON-serializable snapshot of a composition (no functions/DOM refs) */
|
|
3
|
+
export interface SavedComposition {
|
|
4
|
+
compositionName: string;
|
|
5
|
+
theme: string;
|
|
6
|
+
configuration: Configuration;
|
|
7
|
+
version?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface CompositionEditorConfig {
|
|
10
|
+
/** Initial composition to edit */
|
|
11
|
+
composition?: Composition;
|
|
12
|
+
/** Name for display/save */
|
|
13
|
+
compositionName?: string;
|
|
14
|
+
/** View-only mode */
|
|
15
|
+
readOnly?: boolean;
|
|
16
|
+
/** Called when user saves */
|
|
17
|
+
onSave?: (result: SavedComposition) => void;
|
|
18
|
+
/** Called on every change (live preview) */
|
|
19
|
+
onChange?: (composition: Composition) => void;
|
|
20
|
+
/** Restrict available theme choices */
|
|
21
|
+
availableThemes?: string[];
|
|
22
|
+
}
|
|
23
|
+
export type SectionId = 'theme' | 'display' | 'score' | 'participant' | 'placeholder' | 'scale' | 'layout';
|
|
24
|
+
export interface CompositionEditorState {
|
|
25
|
+
compositionName: string;
|
|
26
|
+
theme: string;
|
|
27
|
+
configuration: Configuration;
|
|
28
|
+
expandedSections: Set<SectionId>;
|
|
29
|
+
isDirty: boolean;
|
|
30
|
+
readOnly: boolean;
|
|
31
|
+
}
|
|
32
|
+
export type CompositionEditorListener = (state: CompositionEditorState) => void;
|
|
33
|
+
/** Standard panel interface */
|
|
34
|
+
export interface EditorPanel {
|
|
35
|
+
element: HTMLElement;
|
|
36
|
+
update(state: CompositionEditorState): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare function buildToggleField(label: string, checked: boolean, onChange: (val: boolean) => void, disabled?: boolean): {
|
|
2
|
+
element: HTMLElement;
|
|
3
|
+
setChecked: (v: boolean) => void;
|
|
4
|
+
setDisabled: (v: boolean) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function buildSelectField(label: string, options: Array<{
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
}>, currentValue: string, onChange: (val: string) => void, disabled?: boolean): {
|
|
10
|
+
element: HTMLElement;
|
|
11
|
+
setValue: (v: string) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare function buildTextInputField(label: string, currentValue: string, onChange: (val: string) => void, placeholder?: string, disabled?: boolean): {
|
|
14
|
+
element: HTMLElement;
|
|
15
|
+
setValue: (v: string) => void;
|
|
16
|
+
};
|
|
17
|
+
export declare function buildColorField(label: string, currentValue: string, onChange: (val: string) => void, disabled?: boolean): {
|
|
18
|
+
element: HTMLElement;
|
|
19
|
+
setValue: (v: string) => void;
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SectionId, EditorPanel } from '../compositionEditorTypes';
|
|
2
|
+
import { CompositionEditorStore } from '../compositionEditorStore';
|
|
3
|
+
export interface SectionDef {
|
|
4
|
+
id: SectionId;
|
|
5
|
+
label: string;
|
|
6
|
+
factory: (store: CompositionEditorStore) => EditorPanel;
|
|
7
|
+
}
|
|
8
|
+
export declare function buildSection(def: SectionDef, store: CompositionEditorStore): EditorPanel;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const ceLayout: () => string;
|
|
2
|
+
export declare const ceLeft: () => string;
|
|
3
|
+
export declare const ceRight: () => string;
|
|
4
|
+
export declare const ceNameRow: () => string;
|
|
5
|
+
export declare const ceNameLabel: () => string;
|
|
6
|
+
export declare const ceNameInput: () => string;
|
|
7
|
+
export declare const ceSection: () => string;
|
|
8
|
+
export declare const ceSectionHeader: () => string;
|
|
9
|
+
export declare const ceSectionChevron: () => string;
|
|
10
|
+
export declare const ceSectionBody: () => string;
|
|
11
|
+
export declare const ceField: () => string;
|
|
12
|
+
export declare const ceFieldLabel: () => string;
|
|
13
|
+
export declare const ceFieldControl: () => string;
|
|
14
|
+
export declare const ceSelect: () => string;
|
|
15
|
+
export declare const ceTextInput: () => string;
|
|
16
|
+
export declare const ceColorInput: () => string;
|
|
17
|
+
export declare const ceToggle: () => string;
|
|
18
|
+
export declare const ceToggleTrack: () => string;
|
|
19
|
+
export declare const cePreview: () => string;
|
|
20
|
+
export declare const cePreviewHeader: () => string;
|
|
21
|
+
export declare const cePreviewBody: () => string;
|
|
22
|
+
export declare const cePreviewMatchup: () => string;
|
|
23
|
+
export declare const cePresetRow: () => string;
|
|
24
|
+
export declare const cePresetLabel: () => string;
|
|
25
|
+
export declare const ceSubgroup: () => string;
|
|
26
|
+
export declare const ceSubgroupTitle: () => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function controlBar(params: {
|
|
2
|
+
table?: any;
|
|
3
|
+
targetClassName?: string;
|
|
4
|
+
items?: any[];
|
|
5
|
+
onSelection?: (rows: any[]) => void;
|
|
6
|
+
target?: HTMLElement;
|
|
7
|
+
selectItemFn?: (params: any) => void;
|
|
8
|
+
}): {
|
|
9
|
+
elements: Record<string, HTMLElement>;
|
|
10
|
+
inputs: Record<string, HTMLInputElement>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function tennisCourt(className: string): SVGSVGElement;
|
|
2
|
+
export declare function basketballCourt(className: string): SVGSVGElement;
|
|
3
|
+
export declare function baseballDiamond(className: string): SVGSVGElement;
|
|
4
|
+
export declare function hockeyRink(className: string): SVGSVGElement;
|
|
5
|
+
export declare function pickleballCourt(className: string): SVGSVGElement;
|
|
6
|
+
export declare function badmintonCourt(className: string): SVGSVGElement;
|
|
7
|
+
export declare function padelCourt(className: string): SVGSVGElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { tennisCourt, basketballCourt, baseballDiamond, hockeyRink, pickleballCourt, badmintonCourt, padelCourt } from './courts';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface DrawerOptions {
|
|
2
|
+
title?: string;
|
|
3
|
+
content?: string | ((elem: HTMLElement, close: () => void) => any);
|
|
4
|
+
side?: 'left' | 'right';
|
|
5
|
+
width?: string;
|
|
6
|
+
footer?: string | ((elem: HTMLElement, close: () => void) => any);
|
|
7
|
+
callback?: () => void;
|
|
8
|
+
onClose?: () => boolean | void;
|
|
9
|
+
}
|
|
10
|
+
export declare const drawer: (drawerId?: string) => any;
|
|
11
|
+
/**
|
|
12
|
+
* Initialize drawer HTML structure in the DOM
|
|
13
|
+
*/
|
|
14
|
+
export declare function initDrawer(drawerId?: string): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure logic functions for Flight Profile configuration.
|
|
3
|
+
* Handles flight naming, split methods, and scale attributes.
|
|
4
|
+
*/
|
|
5
|
+
export interface FlightProfileState {
|
|
6
|
+
flightsCount: number;
|
|
7
|
+
namingType: 'colors' | 'custom';
|
|
8
|
+
customName: string;
|
|
9
|
+
suffixType: 'letters' | 'numbers';
|
|
10
|
+
scaleType: 'RANKING' | 'RATING';
|
|
11
|
+
scaleName?: string;
|
|
12
|
+
eventType?: string;
|
|
13
|
+
splitMethod: 'WATERFALL' | 'LEVEL_BASED' | 'SHUTTLE';
|
|
14
|
+
flights?: Array<{
|
|
15
|
+
flightNumber: number;
|
|
16
|
+
drawId: string;
|
|
17
|
+
drawName: string;
|
|
18
|
+
}>;
|
|
19
|
+
isExisting: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const DEFAULT_COLORS: string[];
|
|
22
|
+
export declare const RATING_SYSTEMS: string[];
|
|
23
|
+
export declare const SPLIT_METHODS: {
|
|
24
|
+
value: string;
|
|
25
|
+
label: string;
|
|
26
|
+
description: string;
|
|
27
|
+
}[];
|
|
28
|
+
/**
|
|
29
|
+
* Generate flight names based on configuration
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateFlightNames(state: FlightProfileState): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Build scale attributes object for factory
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildScaleAttributes(state: FlightProfileState): any;
|
|
36
|
+
/**
|
|
37
|
+
* Get split method constant
|
|
38
|
+
*/
|
|
39
|
+
export declare function getSplitMethodConstant(method: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Parse existing flight profile
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseExistingFlightProfile(flightProfile: any): Partial<FlightProfileState>;
|
|
44
|
+
/**
|
|
45
|
+
* Validate flight profile state
|
|
46
|
+
*/
|
|
47
|
+
export declare function validateFlightProfile(state: FlightProfileState): string[];
|
|
48
|
+
/**
|
|
49
|
+
* Get flight count options
|
|
50
|
+
*/
|
|
51
|
+
export declare function getFlightCountOptions(): number[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface FlightProfileConfig {
|
|
2
|
+
labels?: {
|
|
3
|
+
title?: string;
|
|
4
|
+
flightsCountLabel?: string;
|
|
5
|
+
namingTypeLabel?: string;
|
|
6
|
+
customNameLabel?: string;
|
|
7
|
+
suffixTypeLabel?: string;
|
|
8
|
+
scaleTypeLabel?: string;
|
|
9
|
+
scaleNameLabel?: string;
|
|
10
|
+
eventTypeLabel?: string;
|
|
11
|
+
splitMethodLabel?: string;
|
|
12
|
+
flightNamesLabel?: string;
|
|
13
|
+
cancel?: string;
|
|
14
|
+
ok?: string;
|
|
15
|
+
existingNote?: string;
|
|
16
|
+
};
|
|
17
|
+
options?: {
|
|
18
|
+
eventTypes?: string[];
|
|
19
|
+
ratingTypes?: string[];
|
|
20
|
+
};
|
|
21
|
+
eventType?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Opens the Flight Profile editor modal
|
|
25
|
+
* @param existingFlightProfile - Optional existing flight profile to edit
|
|
26
|
+
* @param editorConfig - Optional configuration for labels and options
|
|
27
|
+
* @param callback - Called with the flight profile configuration when user clicks OK
|
|
28
|
+
* @returns Modal result with open() and close() functions
|
|
29
|
+
*/
|
|
30
|
+
export declare function getFlightProfileModal(params: {
|
|
31
|
+
existingFlightProfile?: any;
|
|
32
|
+
editorConfig?: FlightProfileConfig;
|
|
33
|
+
callback?: (config: any) => void;
|
|
34
|
+
}): any;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const FLIGHTS_COUNT = "flightsCount";
|
|
2
|
+
export declare const NAMING_TYPE = "namingType";
|
|
3
|
+
export declare const CUSTOM_NAME = "customName";
|
|
4
|
+
export declare const SUFFIX_TYPE = "suffixType";
|
|
5
|
+
export declare const SCALE_TYPE = "scaleType";
|
|
6
|
+
export declare const SCALE_NAME = "scaleName";
|
|
7
|
+
export declare const SPLIT_METHOD = "splitMethod";
|
|
8
|
+
interface FlightProfileFormItemsParams {
|
|
9
|
+
existingProfile?: any;
|
|
10
|
+
editorConfig?: any;
|
|
11
|
+
}
|
|
12
|
+
export declare function getFlightProfileFormItems({ existingProfile, editorConfig }?: FlightProfileFormItemsParams): any[];
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getFlightProfileFormRelationships(): any[];
|