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,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schedule Page — Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* All interfaces for the schedule page component.
|
|
5
|
+
* The component provides layout + matchUp catalog; the consumer injects the court grid.
|
|
6
|
+
*/
|
|
7
|
+
export interface MatchUpSide {
|
|
8
|
+
participantName?: string;
|
|
9
|
+
participantId?: string;
|
|
10
|
+
seedNumber?: number;
|
|
11
|
+
ranking?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface CatalogMatchUpItem {
|
|
14
|
+
matchUpId: string;
|
|
15
|
+
eventId: string;
|
|
16
|
+
eventName: string;
|
|
17
|
+
drawId: string;
|
|
18
|
+
drawName?: string;
|
|
19
|
+
structureId: string;
|
|
20
|
+
roundNumber: number;
|
|
21
|
+
roundName?: string;
|
|
22
|
+
matchUpFormat?: string;
|
|
23
|
+
matchUpType?: 'SINGLES' | 'DOUBLES';
|
|
24
|
+
matchUpStatus?: string;
|
|
25
|
+
gender?: string;
|
|
26
|
+
sides?: MatchUpSide[];
|
|
27
|
+
isScheduled: boolean;
|
|
28
|
+
scheduledTime?: string;
|
|
29
|
+
scheduledCourtName?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ScheduleDate {
|
|
32
|
+
date: string;
|
|
33
|
+
isActive: boolean;
|
|
34
|
+
matchUpCount?: number;
|
|
35
|
+
issueCount?: number;
|
|
36
|
+
}
|
|
37
|
+
export type ScheduleIssueSeverity = 'ERROR' | 'WARN' | 'INFO';
|
|
38
|
+
export interface ScheduleIssue {
|
|
39
|
+
severity: ScheduleIssueSeverity;
|
|
40
|
+
message: string;
|
|
41
|
+
matchUpId?: string;
|
|
42
|
+
date?: string;
|
|
43
|
+
/** Structured conflict data for rich rendering */
|
|
44
|
+
issueType?: string;
|
|
45
|
+
prefix?: string;
|
|
46
|
+
participants?: string;
|
|
47
|
+
conflictParticipants?: string[];
|
|
48
|
+
/** All matchUpIds involved in this conflict (for click-to-scroll fallback) */
|
|
49
|
+
conflictMatchUpIds?: string[];
|
|
50
|
+
}
|
|
51
|
+
export type MatchUpCatalogGroupBy = 'event' | 'draw' | 'round' | 'structure';
|
|
52
|
+
export interface CatalogFilters {
|
|
53
|
+
eventType?: string;
|
|
54
|
+
eventName?: string;
|
|
55
|
+
drawName?: string;
|
|
56
|
+
gender?: string;
|
|
57
|
+
roundName?: string;
|
|
58
|
+
}
|
|
59
|
+
export type ScheduledBehavior = 'dim' | 'hide';
|
|
60
|
+
/**
|
|
61
|
+
* Controls how drop/remove actions are committed:
|
|
62
|
+
* - 'immediate': each drop fires the consumer callback right away (e.g. executionQueue per action)
|
|
63
|
+
* - 'bulk': actions accumulate in a pending queue; consumer calls save() to flush
|
|
64
|
+
*/
|
|
65
|
+
export type SchedulingMode = 'immediate' | 'bulk';
|
|
66
|
+
export interface PendingScheduleAction {
|
|
67
|
+
kind: 'schedule' | 'unschedule';
|
|
68
|
+
matchUpId: string;
|
|
69
|
+
/** Present for 'schedule' actions — the full item that was dropped */
|
|
70
|
+
matchUp?: CatalogMatchUpItem;
|
|
71
|
+
/** The DragEvent from the drop, if available */
|
|
72
|
+
event?: DragEvent;
|
|
73
|
+
}
|
|
74
|
+
export interface CatalogMatchUpDragPayload {
|
|
75
|
+
type: 'CATALOG_MATCHUP';
|
|
76
|
+
matchUp: CatalogMatchUpItem;
|
|
77
|
+
}
|
|
78
|
+
export interface GridMatchUpDragPayload {
|
|
79
|
+
type: 'GRID_MATCHUP';
|
|
80
|
+
matchUp: CatalogMatchUpItem;
|
|
81
|
+
sourceTime?: string;
|
|
82
|
+
sourceCourt?: string;
|
|
83
|
+
}
|
|
84
|
+
export type SchedulePageDragPayload = CatalogMatchUpDragPayload | GridMatchUpDragPayload;
|
|
85
|
+
export interface SchedulePageConfig {
|
|
86
|
+
matchUpCatalog: CatalogMatchUpItem[];
|
|
87
|
+
scheduleDates: ScheduleDate[];
|
|
88
|
+
issues?: ScheduleIssue[];
|
|
89
|
+
courtGridElement?: HTMLElement;
|
|
90
|
+
/** Max height for the court grid viewport (e.g. '500px', '60vh'). Defaults to none (fills available space). */
|
|
91
|
+
gridMaxHeight?: string;
|
|
92
|
+
/** When true, the left column (date strip + issues panel) is not rendered at all. */
|
|
93
|
+
hideLeft?: boolean;
|
|
94
|
+
/** Which side to place the matchUp catalog. Defaults to 'right'. */
|
|
95
|
+
catalogSide?: 'left' | 'right';
|
|
96
|
+
scheduledBehavior?: ScheduledBehavior;
|
|
97
|
+
schedulingMode?: SchedulingMode;
|
|
98
|
+
onDateSelected?: (date: string) => void;
|
|
99
|
+
onMatchUpDrop?: (payload: SchedulePageDragPayload, event: DragEvent) => void;
|
|
100
|
+
onMatchUpRemove?: (matchUpId: string) => void;
|
|
101
|
+
onMatchUpSelected?: (matchUp: CatalogMatchUpItem | null) => void;
|
|
102
|
+
/** Called in 'bulk' mode when the user triggers save — receives all pending actions */
|
|
103
|
+
onBulkSave?: (actions: PendingScheduleAction[]) => void;
|
|
104
|
+
}
|
|
105
|
+
export interface SchedulePageState {
|
|
106
|
+
matchUpCatalog: CatalogMatchUpItem[];
|
|
107
|
+
scheduleDates: ScheduleDate[];
|
|
108
|
+
issues: ScheduleIssue[];
|
|
109
|
+
selectedDate: string | null;
|
|
110
|
+
selectedMatchUp: CatalogMatchUpItem | null;
|
|
111
|
+
catalogSearchQuery: string;
|
|
112
|
+
catalogGroupBy: MatchUpCatalogGroupBy;
|
|
113
|
+
catalogFilters: CatalogFilters;
|
|
114
|
+
showCompleted: boolean;
|
|
115
|
+
showScheduled: boolean;
|
|
116
|
+
scheduledBehavior: ScheduledBehavior;
|
|
117
|
+
schedulingMode: SchedulingMode;
|
|
118
|
+
pendingActions: PendingScheduleAction[];
|
|
119
|
+
hasUnsavedChanges: boolean;
|
|
120
|
+
leftCollapsed: boolean;
|
|
121
|
+
hideLeft: boolean;
|
|
122
|
+
}
|
|
123
|
+
export type SchedulePageChangeListener = (state: SchedulePageState) => void;
|
|
124
|
+
export interface ScheduleIssueCounts {
|
|
125
|
+
total: number;
|
|
126
|
+
ERROR: number;
|
|
127
|
+
WARN: number;
|
|
128
|
+
INFO: number;
|
|
129
|
+
}
|
|
130
|
+
export interface ScheduleIssueIndex {
|
|
131
|
+
all: ScheduleIssue[];
|
|
132
|
+
bySeverity: Record<ScheduleIssueSeverity, ScheduleIssue[]>;
|
|
133
|
+
byDate: Record<string, ScheduleIssue[]>;
|
|
134
|
+
counts: ScheduleIssueCounts;
|
|
135
|
+
countsByDate: Record<string, ScheduleIssueCounts>;
|
|
136
|
+
}
|
|
137
|
+
export interface UIPanel<T = unknown> {
|
|
138
|
+
element: HTMLElement;
|
|
139
|
+
update: (state: T) => void;
|
|
140
|
+
destroy?: () => void;
|
|
141
|
+
}
|
|
142
|
+
/** Field identifiers for the 3-zone cell layout */
|
|
143
|
+
export type ScheduleCellField = 'time' | 'eventRound' | 'participants' | 'score' | 'matchUpStatus' | 'matchUpFormat' | 'umpire';
|
|
144
|
+
/** Controls how participant names are rendered inside a cell */
|
|
145
|
+
export interface ParticipantDisplayConfig {
|
|
146
|
+
nameFormat?: 'full' | 'last' | 'lastFirst' | 'firstLast';
|
|
147
|
+
showSeed?: boolean;
|
|
148
|
+
showRanking?: boolean;
|
|
149
|
+
showNationality?: boolean;
|
|
150
|
+
boldWinner?: boolean;
|
|
151
|
+
showPotentials?: boolean;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* JSON-serializable cell configuration.
|
|
155
|
+
* 3 fixed zones (header, body, footer), each containing an ordered array of field identifiers.
|
|
156
|
+
* Safe for factory extensions and publishing data.
|
|
157
|
+
*/
|
|
158
|
+
export interface ScheduleCellConfig {
|
|
159
|
+
header: ScheduleCellField[];
|
|
160
|
+
body: ScheduleCellField[];
|
|
161
|
+
footer: ScheduleCellField[];
|
|
162
|
+
participantDisplay?: ParticipantDisplayConfig;
|
|
163
|
+
}
|
|
164
|
+
/** Participant info for a single side of a matchUp cell */
|
|
165
|
+
export interface ScheduleCellSide {
|
|
166
|
+
sideNumber?: number;
|
|
167
|
+
participantName?: string;
|
|
168
|
+
participantId?: string;
|
|
169
|
+
seedNumber?: number;
|
|
170
|
+
ranking?: number;
|
|
171
|
+
nationality?: string;
|
|
172
|
+
/** Team name when participant is a member of a team (tie/team event) */
|
|
173
|
+
teamName?: string;
|
|
174
|
+
/** True if this side is a BYE (no participant) */
|
|
175
|
+
bye?: boolean;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Flat data shape the cell renderer consumes — mapped from factory matchUp objects.
|
|
179
|
+
* Decouples the renderer from the factory's nested matchUp shape.
|
|
180
|
+
*/
|
|
181
|
+
export interface ScheduleCellData {
|
|
182
|
+
matchUpId: string;
|
|
183
|
+
drawId?: string;
|
|
184
|
+
eventName?: string;
|
|
185
|
+
roundName?: string;
|
|
186
|
+
matchUpFormat?: string;
|
|
187
|
+
matchUpType?: string;
|
|
188
|
+
matchUpStatus?: string;
|
|
189
|
+
winningSide?: number;
|
|
190
|
+
gender?: string;
|
|
191
|
+
sides?: ScheduleCellSide[];
|
|
192
|
+
potentialParticipants?: any[][];
|
|
193
|
+
schedule?: {
|
|
194
|
+
scheduledTime?: string;
|
|
195
|
+
startTime?: string;
|
|
196
|
+
timeModifiers?: string[];
|
|
197
|
+
courtAnnotation?: string;
|
|
198
|
+
courtId?: string;
|
|
199
|
+
courtOrder?: number;
|
|
200
|
+
venueId?: string;
|
|
201
|
+
};
|
|
202
|
+
score?: {
|
|
203
|
+
scoreStringSide1?: string;
|
|
204
|
+
scoreStringSide2?: string;
|
|
205
|
+
};
|
|
206
|
+
umpire?: string;
|
|
207
|
+
/** Conflict state injected by proConflicts */
|
|
208
|
+
scheduleState?: string;
|
|
209
|
+
issueType?: string;
|
|
210
|
+
issueIds?: string[];
|
|
211
|
+
/** Blocked cell (alternative to matchUp) */
|
|
212
|
+
isBlocked?: boolean;
|
|
213
|
+
booking?: {
|
|
214
|
+
bookingType?: string;
|
|
215
|
+
rowCount?: number;
|
|
216
|
+
notes?: string;
|
|
217
|
+
};
|
|
218
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SchedulePageState, UIPanel, SchedulePageDragPayload } from '../types';
|
|
2
|
+
export interface CourtGridSlotCallbacks {
|
|
3
|
+
onMatchUpDrop?: (payload: SchedulePageDragPayload, event: DragEvent) => void;
|
|
4
|
+
}
|
|
5
|
+
export interface CourtGridSlotOptions {
|
|
6
|
+
gridMaxHeight?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function buildCourtGridSlot(courtGridElement: HTMLElement | undefined, callbacks: CourtGridSlotCallbacks, options?: CourtGridSlotOptions): UIPanel<SchedulePageState>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SchedulePageState, UIPanel, MatchUpCatalogGroupBy, CatalogMatchUpItem, CatalogFilters } from '../types';
|
|
2
|
+
export interface MatchUpCatalogCallbacks {
|
|
3
|
+
onSearchChange: (query: string) => void;
|
|
4
|
+
onGroupByChange: (mode: MatchUpCatalogGroupBy) => void;
|
|
5
|
+
onFilterChange: (filters: CatalogFilters) => void;
|
|
6
|
+
onShowCompletedChange: (show: boolean) => void;
|
|
7
|
+
onShowScheduledChange?: (show: boolean) => void;
|
|
8
|
+
onMatchUpSelected?: (matchUp: CatalogMatchUpItem) => void;
|
|
9
|
+
onDropRemove?: (matchUpId: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildMatchUpCatalog(callbacks: MatchUpCatalogCallbacks): UIPanel<SchedulePageState>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schedule Cell TypeAhead — inline autocomplete for empty grid cells.
|
|
3
|
+
*
|
|
4
|
+
* Activates an Awesomplete typeahead input inside an empty schedule cell.
|
|
5
|
+
* The consumer provides a list of unscheduled matchUps and a selection callback.
|
|
6
|
+
* Reuses the existing createTypeAhead helper (Awesomplete wrapper).
|
|
7
|
+
*/
|
|
8
|
+
export interface ScheduleCellTypeAheadOptions {
|
|
9
|
+
/** The grid cell element to activate the typeahead in */
|
|
10
|
+
cell: HTMLElement;
|
|
11
|
+
/** Returns the list of assignable matchUps as { label, value } */
|
|
12
|
+
listProvider: () => Array<{
|
|
13
|
+
label: string;
|
|
14
|
+
value: string;
|
|
15
|
+
}>;
|
|
16
|
+
/** Called when a matchUp is selected — value is the matchUpId */
|
|
17
|
+
onSelect: (matchUpId: string) => void;
|
|
18
|
+
/** Called when the typeahead is dismissed without selection */
|
|
19
|
+
onCancel?: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function activateScheduleCellTypeAhead({ cell, listProvider, onSelect, onCancel }: ScheduleCellTypeAheadOptions): {
|
|
22
|
+
destroy: () => void;
|
|
23
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ScheduleCellConfig, ScheduleCellData } from '../types';
|
|
2
|
+
export declare const DEFAULT_SCHEDULE_CELL_CONFIG: ScheduleCellConfig;
|
|
3
|
+
export declare function buildScheduleGridCell(data: ScheduleCellData, config?: ScheduleCellConfig): HTMLElement;
|
|
4
|
+
/**
|
|
5
|
+
* Maps a factory hydrated matchUp object to the flat ScheduleCellData shape.
|
|
6
|
+
* Handles sides[].participant.participantName nesting, schedule.* extraction, etc.
|
|
7
|
+
*/
|
|
8
|
+
export declare function mapMatchUpToCellData(matchUp: any): ScheduleCellData;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SchedulePageState, UIPanel } from '../types';
|
|
2
|
+
export interface SchedulePageLayoutPanels {
|
|
3
|
+
dateStrip: UIPanel<SchedulePageState>;
|
|
4
|
+
issuesPanel: UIPanel<SchedulePageState>;
|
|
5
|
+
courtGridSlot: UIPanel<SchedulePageState>;
|
|
6
|
+
matchUpCatalog: UIPanel<SchedulePageState>;
|
|
7
|
+
inspectorPanel: UIPanel<SchedulePageState>;
|
|
8
|
+
}
|
|
9
|
+
export interface SchedulePageLayoutCallbacks {
|
|
10
|
+
onToggleLeft: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function buildSchedulePageLayout(panels: SchedulePageLayoutPanels, callbacks: SchedulePageLayoutCallbacks, options?: {
|
|
13
|
+
hideLeft?: boolean;
|
|
14
|
+
catalogSide?: 'left' | 'right';
|
|
15
|
+
}): {
|
|
16
|
+
element: HTMLElement;
|
|
17
|
+
update: (state: SchedulePageState) => void;
|
|
18
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare const splLayoutStyle: () => string;
|
|
2
|
+
export declare const splLeftStyle: () => string;
|
|
3
|
+
export declare const splToggleStyle: () => string;
|
|
4
|
+
export declare const splCenterStyle: () => string;
|
|
5
|
+
export declare const splCenterHeaderStyle: () => string;
|
|
6
|
+
export declare const splCenterTitleStyle: () => string;
|
|
7
|
+
export declare const splCenterMetaStyle: () => string;
|
|
8
|
+
export declare const splGridSlotStyle: () => string;
|
|
9
|
+
export declare const splRightStyle: () => string;
|
|
10
|
+
export declare const splMatchUpCardStyle: () => string;
|
|
11
|
+
export declare const splCardTitleStyle: () => string;
|
|
12
|
+
export declare const splCardSidesStyle: () => string;
|
|
13
|
+
export declare const splCardMetaStyle: () => string;
|
|
14
|
+
export declare const splCardChipsStyle: () => string;
|
|
15
|
+
export declare const splCardChipStyle: () => string;
|
|
16
|
+
export declare const spPanelStyle: () => string;
|
|
17
|
+
export declare const spPanelHeaderStyle: () => string;
|
|
18
|
+
export declare const spPanelTitleStyle: () => string;
|
|
19
|
+
export declare const spPanelMetaStyle: () => string;
|
|
20
|
+
export declare const spPanelBodyStyle: () => string;
|
|
21
|
+
export declare const spDateStripStyle: () => string;
|
|
22
|
+
export declare const spDateChipStyle: () => string;
|
|
23
|
+
export declare const spBadgesStyle: () => string;
|
|
24
|
+
export declare const spBadgeStyle: () => string;
|
|
25
|
+
export declare const spCatalogStyle: () => string;
|
|
26
|
+
export declare const spCatalogToolbarStyle: () => string;
|
|
27
|
+
export declare const spInputStyle: () => string;
|
|
28
|
+
export declare const spSelectStyle: () => string;
|
|
29
|
+
export declare const spGroupStyle: () => string;
|
|
30
|
+
export declare const spGroupHeaderStyle: () => string;
|
|
31
|
+
export declare const spGroupBodyStyle: () => string;
|
|
32
|
+
export declare const spGroupChevronStyle: () => string;
|
|
33
|
+
export declare const spIssuesStyle: () => string;
|
|
34
|
+
export declare const spIssueStyle: () => string;
|
|
35
|
+
export declare const spIssueCodeStyle: () => string;
|
|
36
|
+
export declare const spIssueMsgStyle: () => string;
|
|
37
|
+
export declare const spInspectorStyle: () => string;
|
|
38
|
+
export declare const spKvStyle: () => string;
|
|
39
|
+
export declare const spKvKeyStyle: () => string;
|
|
40
|
+
export declare const spKvValueStyle: () => string;
|
|
41
|
+
export declare const spSmallStyle: () => string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ProfileStore } from '../engine/profileStore';
|
|
2
|
+
import { SchedulingProfileConfig, SchedulingProfile } from '../types';
|
|
3
|
+
export declare class SchedulingProfileControl {
|
|
4
|
+
private readonly store;
|
|
5
|
+
private readonly layout;
|
|
6
|
+
private readonly unsubscribe;
|
|
7
|
+
private readonly popover;
|
|
8
|
+
private container;
|
|
9
|
+
constructor(config: SchedulingProfileConfig);
|
|
10
|
+
render(container: HTMLElement): void;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
getProfile(): SchedulingProfile;
|
|
13
|
+
getStore(): ProfileStore;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CatalogRoundItem, CatalogGroupBy, PlannedRoundBehavior } from '../types';
|
|
2
|
+
export declare function filterCatalog(catalog: CatalogRoundItem[], query: string, plannedKeys: Set<string>, behavior?: PlannedRoundBehavior): Array<CatalogRoundItem & {
|
|
3
|
+
isPlanned: boolean;
|
|
4
|
+
}>;
|
|
5
|
+
export declare function groupCatalog(items: Array<CatalogRoundItem & {
|
|
6
|
+
isPlanned: boolean;
|
|
7
|
+
}>, mode: CatalogGroupBy): Map<string, Array<CatalogRoundItem & {
|
|
8
|
+
isPlanned: boolean;
|
|
9
|
+
}>>;
|
|
10
|
+
export declare function getPlannedRoundKeys(profile: {
|
|
11
|
+
venues: {
|
|
12
|
+
rounds: {
|
|
13
|
+
roundSegment?: unknown;
|
|
14
|
+
}[];
|
|
15
|
+
}[];
|
|
16
|
+
}[]): Set<string>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SchedulingProfile, RoundProfile, RoundKey, RoundLocator, ValidationResult, Severity } from '../types';
|
|
2
|
+
export declare function getVenueRounds(profile: SchedulingProfile, date: string, venueId: string): RoundProfile[];
|
|
3
|
+
export declare function getRoundAt(profile: SchedulingProfile, locator: RoundLocator): RoundProfile | null;
|
|
4
|
+
export declare function findIssuesForLocator(ruleResults: ValidationResult[], locator: RoundLocator): ValidationResult[];
|
|
5
|
+
export declare function maxSeverity(issues: ValidationResult[]): Severity | null;
|
|
6
|
+
export declare function findRoundInProfile(profile: SchedulingProfile, roundKey: RoundKey): RoundLocator | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RoundProfile, RoundLocator, RoundKey } from '../types';
|
|
2
|
+
export declare function deepClone<T>(obj: T): T;
|
|
3
|
+
export declare function clamp(n: number, lo: number, hi: number): number;
|
|
4
|
+
export declare function roundKeyString(r: RoundKey | RoundProfile): string;
|
|
5
|
+
export declare function roundLabel(r: RoundProfile): string;
|
|
6
|
+
export declare function sameLocator(a: RoundLocator | null, b: RoundLocator | null): boolean;
|
|
7
|
+
export declare function pickRoundKey(r: RoundProfile): RoundKey;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SchedulingProfile, ValidationResult, TemporalAdapter, DependencyAdapter, FlattenedRound } from '../types';
|
|
2
|
+
export interface ValidateProfileParams {
|
|
3
|
+
profile: SchedulingProfile;
|
|
4
|
+
temporal?: TemporalAdapter;
|
|
5
|
+
dependencies?: DependencyAdapter;
|
|
6
|
+
venueOrder?: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function validateProfile({ profile, temporal, dependencies, venueOrder }: ValidateProfileParams): ValidationResult[];
|
|
9
|
+
export declare function validateRoundPrecedenceLocal({ profile }: {
|
|
10
|
+
profile: SchedulingProfile;
|
|
11
|
+
venueOrder?: string[];
|
|
12
|
+
}): ValidationResult[];
|
|
13
|
+
export declare function flatten(profile: SchedulingProfile): FlattenedRound[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ProfileStoreState, ProfileChangeListener, SchedulingProfileConfig, SchedulingProfile, RoundLocator, DragPayload, DropTarget, CatalogGroupBy, CatalogRoundItem, FixAction } from '../types';
|
|
2
|
+
export declare class ProfileStore {
|
|
3
|
+
private state;
|
|
4
|
+
private readonly listeners;
|
|
5
|
+
private readonly config;
|
|
6
|
+
constructor(config: SchedulingProfileConfig);
|
|
7
|
+
getState(): ProfileStoreState;
|
|
8
|
+
getSchedulingProfile(): SchedulingProfile;
|
|
9
|
+
selectDate(date: string): void;
|
|
10
|
+
selectCard(locator: RoundLocator | null): void;
|
|
11
|
+
setCatalogSearch(query: string): void;
|
|
12
|
+
setCatalogGroupBy(mode: CatalogGroupBy): void;
|
|
13
|
+
navigateToRound(item: CatalogRoundItem): void;
|
|
14
|
+
dropRound(drag: DragPayload, drop: DropTarget): {
|
|
15
|
+
ok: boolean;
|
|
16
|
+
errorMessage?: string;
|
|
17
|
+
};
|
|
18
|
+
removeRound(locator: RoundLocator): void;
|
|
19
|
+
setNotBeforeTime(locator: RoundLocator, time: string | undefined): void;
|
|
20
|
+
applyFixAction(action: FixAction): void;
|
|
21
|
+
subscribe(listener: ProfileChangeListener): () => void;
|
|
22
|
+
private setState;
|
|
23
|
+
private commitProfile;
|
|
24
|
+
private addRejectionNotice;
|
|
25
|
+
private revalidate;
|
|
26
|
+
private emit;
|
|
27
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SchedulingProfileConfig } from './types';
|
|
2
|
+
import { SchedulingProfileControl } from './controller/schedulingProfileControl';
|
|
3
|
+
/**
|
|
4
|
+
* Scheduling Profile — Public API
|
|
5
|
+
*
|
|
6
|
+
* Main entry point for the scheduling profile builder component.
|
|
7
|
+
*/
|
|
8
|
+
export { SchedulingProfileControl } from './controller/schedulingProfileControl';
|
|
9
|
+
export { ProfileStore } from './engine/profileStore';
|
|
10
|
+
export { validateProfile, type ValidateProfileParams } from './domain/validateProfile';
|
|
11
|
+
export { buildIssueIndex } from './domain/issueIndex';
|
|
12
|
+
export { applyDropCommit } from './domain/dndApply';
|
|
13
|
+
export { filterCatalog, groupCatalog, getPlannedRoundKeys } from './domain/catalogProjections';
|
|
14
|
+
export { getVenueRounds, getRoundAt, findIssuesForLocator, maxSeverity, findRoundInProfile } from './domain/profileProjections';
|
|
15
|
+
export { deepClone, clamp, roundKeyString, roundLabel, sameLocator, pickRoundKey } from './domain/utils';
|
|
16
|
+
export { buildDateStrip } from './ui/dateStrip';
|
|
17
|
+
export { buildVenueBoard } from './ui/venueBoard';
|
|
18
|
+
export { buildRoundCatalog } from './ui/roundCatalog';
|
|
19
|
+
export { buildInspectorPanel } from './ui/inspectorPanel';
|
|
20
|
+
export { buildIssuesPanel } from './ui/issuesPanel';
|
|
21
|
+
export { buildRoundCard } from './ui/roundCard';
|
|
22
|
+
export { createCardPopoverManager } from './ui/cardPopover';
|
|
23
|
+
export { buildSchedulingProfileLayout } from './ui/schedulingProfileLayout';
|
|
24
|
+
export type { SchedulingProfile, ScheduleDay, VenueSchedule, RoundProfile, RoundSegment, VenueInfo, CatalogRoundItem, CatalogGroupBy, RoundKey, RoundLocator, DragPayload, CatalogDragPayload, PlannedDragPayload, DropTarget, DropResult, Severity, ValidationCode, FixActionKind, FixAction, ValidationResult, SeverityCounts, IssueIndex, ProfileStoreState, ProfileChangeListener, TemporalAdapter, DemandAdapter, DependencyAdapter, SchedulingProfileConfig, UIPanel, FlattenedRound, PlannedRoundBehavior } from './types';
|
|
25
|
+
export declare function createSchedulingProfile(config: SchedulingProfileConfig, container: HTMLElement): SchedulingProfileControl;
|