@ethlete/cdk 4.45.0 → 4.46.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.
Files changed (22) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm2022/lib/components/bracket/components/new-bracket/bracket-new.mjs +782 -0
  3. package/esm2022/lib/components/bracket/components/new-bracket/draw-man.mjs +66 -0
  4. package/esm2022/lib/components/bracket/components/new-bracket/grid-definitions.mjs +47 -0
  5. package/esm2022/lib/components/bracket/components/new-bracket/grid-placements.mjs +97 -0
  6. package/esm2022/lib/components/bracket/components/new-bracket/index.mjs +8 -0
  7. package/esm2022/lib/components/bracket/components/new-bracket/new-bracket-default-match.component.mjs +17 -0
  8. package/esm2022/lib/components/bracket/components/new-bracket/new-bracket-default-round-header.component.mjs +16 -0
  9. package/esm2022/lib/components/bracket/components/new-bracket/new-bracket.component.mjs +54 -0
  10. package/esm2022/lib/components/bracket/public-api/index.mjs +2 -1
  11. package/fesm2022/ethlete-cdk.mjs +1096 -3
  12. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  13. package/lib/components/bracket/components/new-bracket/bracket-new.d.ts +238 -0
  14. package/lib/components/bracket/components/new-bracket/draw-man.d.ts +12 -0
  15. package/lib/components/bracket/components/new-bracket/grid-definitions.d.ts +9 -0
  16. package/lib/components/bracket/components/new-bracket/grid-placements.d.ts +56 -0
  17. package/lib/components/bracket/components/new-bracket/index.d.ts +7 -0
  18. package/lib/components/bracket/components/new-bracket/new-bracket-default-match.component.d.ts +8 -0
  19. package/lib/components/bracket/components/new-bracket/new-bracket-default-round-header.component.d.ts +7 -0
  20. package/lib/components/bracket/components/new-bracket/new-bracket.component.d.ts +26 -0
  21. package/lib/components/bracket/public-api/index.d.ts +1 -0
  22. package/package.json +1 -1
@@ -0,0 +1,238 @@
1
+ import { MatchListViewUnion, OpponentSide, RoundStageStructureView, RoundStageStructureWithMatchesView, RoundType } from '@ethlete/types';
2
+ export type BracketRoundId = string & {
3
+ __brand: 'BracketRoundId';
4
+ };
5
+ export type BracketMatchId = string & {
6
+ __brand: 'BracketMatchId';
7
+ };
8
+ export type BracketRoundPosition = number & {
9
+ __brand: 'BracketRoundPosition';
10
+ };
11
+ export type BracketMatchPosition = number & {
12
+ __brand: 'BracketMatchPosition';
13
+ };
14
+ export type MatchParticipantId = string & {
15
+ __brand: 'MatchParticipantId';
16
+ };
17
+ export type BracketRoundSwissGroupId = string & {
18
+ __brand: 'BracketRoundSwissGroupId';
19
+ };
20
+ export type MatchFactor = number;
21
+ export declare const FALLBACK_MATCH_POSITION: BracketMatchPosition;
22
+ export declare const TOURNAMENT_MODE: {
23
+ readonly SINGLE_ELIMINATION: "single-elimination";
24
+ readonly DOUBLE_ELIMINATION: "double-elimination";
25
+ readonly GROUP: "group";
26
+ readonly SWISS: "swiss";
27
+ readonly SWISS_WITH_ELIMINATION: "swiss-with-elimination";
28
+ };
29
+ export type TournamentMode = (typeof TOURNAMENT_MODE)[keyof typeof TOURNAMENT_MODE];
30
+ export declare const COMMON_BRACKET_ROUND_TYPE: {
31
+ readonly THIRD_PLACE: "third-place";
32
+ readonly FINAL: "final";
33
+ };
34
+ export declare const SINGLE_ELIMINATION_BRACKET_ROUND_TYPE: {
35
+ readonly SINGLE_ELIMINATION_BRACKET: "single-elimination-bracket";
36
+ };
37
+ export declare const DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE: {
38
+ readonly UPPER_BRACKET: "upper-bracket";
39
+ readonly LOWER_BRACKET: "lower-bracket";
40
+ readonly REVERSE_FINAL: "reverse-final";
41
+ };
42
+ export declare const SWISS_BRACKET_ROUND_TYPE: {
43
+ readonly SWISS: "swiss";
44
+ };
45
+ export declare const GROUP_BRACKET_ROUND_TYPE: {
46
+ readonly GROUP: "group";
47
+ };
48
+ export type CommonBracketRoundType = (typeof COMMON_BRACKET_ROUND_TYPE)[keyof typeof COMMON_BRACKET_ROUND_TYPE];
49
+ export type SingleEliminationBracketRoundType = CommonBracketRoundType | (typeof SINGLE_ELIMINATION_BRACKET_ROUND_TYPE)[keyof typeof SINGLE_ELIMINATION_BRACKET_ROUND_TYPE];
50
+ export type DoubleEliminationBracketRoundType = CommonBracketRoundType | (typeof DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE)[keyof typeof DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE];
51
+ export type SwissBracketRoundType = (typeof SWISS_BRACKET_ROUND_TYPE)[keyof typeof SWISS_BRACKET_ROUND_TYPE];
52
+ export type GroupBracketRoundType = (typeof GROUP_BRACKET_ROUND_TYPE)[keyof typeof GROUP_BRACKET_ROUND_TYPE];
53
+ export type BracketRoundType = SingleEliminationBracketRoundType | DoubleEliminationBracketRoundType | SwissBracketRoundType | GroupBracketRoundType;
54
+ export type BracketRound<TRoundData, TMatchData> = {
55
+ index: number;
56
+ type: BracketRoundType;
57
+ id: BracketRoundId;
58
+ data: TRoundData;
59
+ position: BracketRoundPosition;
60
+ name: string;
61
+ matchCount: number;
62
+ matches: BracketMatchMap<TRoundData, TMatchData>;
63
+ };
64
+ export type BracketMatchStatus = 'completed' | 'pending';
65
+ export type BracketMatch<TRoundData, TMatchData> = {
66
+ data: TMatchData;
67
+ indexInRound: number;
68
+ id: BracketMatchId;
69
+ round: BracketRound<TRoundData, TMatchData>;
70
+ position: BracketMatchPosition;
71
+ home: MatchParticipantId | null;
72
+ away: MatchParticipantId | null;
73
+ winner: OpponentSide | null;
74
+ status: BracketMatchStatus;
75
+ };
76
+ export type BracketRoundMap<TRoundData, TMatchData> = Map<BracketRoundId, BracketRound<TRoundData, TMatchData>>;
77
+ export type BracketMatchMap<TRoundData, TMatchData> = Map<BracketMatchId, BracketMatch<TRoundData, TMatchData>>;
78
+ export type BracketData<TRoundData, TMatchData> = {
79
+ rounds: BracketRoundMap<TRoundData, TMatchData>;
80
+ matches: BracketMatchMap<TRoundData, TMatchData>;
81
+ participants: BracketParticipantMap<TRoundData, TMatchData>;
82
+ mode: TournamentMode;
83
+ };
84
+ export type AnyBracketData = BracketData<unknown, unknown>;
85
+ export type BracketMatchRelationOneToOne<TRoundData, TMatchData> = {
86
+ type: 'one-to-one';
87
+ currentMatch: BracketMatch<TRoundData, TMatchData>;
88
+ currentRound: BracketRound<TRoundData, TMatchData>;
89
+ previousMatch: BracketMatch<TRoundData, TMatchData>;
90
+ previousRound: BracketRound<TRoundData, TMatchData>;
91
+ nextMatch: BracketMatch<TRoundData, TMatchData>;
92
+ nextRound: BracketRound<TRoundData, TMatchData>;
93
+ };
94
+ export type BracketMatchRelationNothingToOne<TRoundData, TMatchData> = {
95
+ type: 'nothing-to-one';
96
+ currentMatch: BracketMatch<TRoundData, TMatchData>;
97
+ currentRound: BracketRound<TRoundData, TMatchData>;
98
+ nextMatch: BracketMatch<TRoundData, TMatchData>;
99
+ nextRound: BracketRound<TRoundData, TMatchData>;
100
+ };
101
+ export type BracketMatchRelationOneToNothing<TRoundData, TMatchData> = {
102
+ type: 'one-to-nothing';
103
+ currentMatch: BracketMatch<TRoundData, TMatchData>;
104
+ currentRound: BracketRound<TRoundData, TMatchData>;
105
+ previousMatch: BracketMatch<TRoundData, TMatchData>;
106
+ previousRound: BracketRound<TRoundData, TMatchData>;
107
+ };
108
+ export type BracketMatchRelationTwoToOne<TRoundData, TMatchData> = {
109
+ type: 'two-to-one';
110
+ currentMatch: BracketMatch<TRoundData, TMatchData>;
111
+ currentRound: BracketRound<TRoundData, TMatchData>;
112
+ previousUpperMatch: BracketMatch<TRoundData, TMatchData>;
113
+ previousUpperRound: BracketRound<TRoundData, TMatchData>;
114
+ previousLowerMatch: BracketMatch<TRoundData, TMatchData>;
115
+ previousLowerRound: BracketRound<TRoundData, TMatchData>;
116
+ nextMatch: BracketMatch<TRoundData, TMatchData>;
117
+ nextRound: BracketRound<TRoundData, TMatchData>;
118
+ };
119
+ export type BracketMatchRelationTwoToNothing<TRoundData, TMatchData> = {
120
+ type: 'two-to-nothing';
121
+ currentMatch: BracketMatch<TRoundData, TMatchData>;
122
+ currentRound: BracketRound<TRoundData, TMatchData>;
123
+ previousUpperMatch: BracketMatch<TRoundData, TMatchData>;
124
+ previousUpperRound: BracketRound<TRoundData, TMatchData>;
125
+ previousLowerMatch: BracketMatch<TRoundData, TMatchData>;
126
+ previousLowerRound: BracketRound<TRoundData, TMatchData>;
127
+ };
128
+ export type BracketMatchRelation<TRoundData, TMatchData> = BracketMatchRelationOneToOne<TRoundData, TMatchData> | BracketMatchRelationTwoToOne<TRoundData, TMatchData> | BracketMatchRelationNothingToOne<TRoundData, TMatchData> | BracketMatchRelationOneToNothing<TRoundData, TMatchData> | BracketMatchRelationTwoToNothing<TRoundData, TMatchData>;
129
+ export type BracketMatchRelationsMap<TRoundData, TMatchData> = Map<BracketMatchId, BracketMatchRelation<TRoundData, TMatchData>>;
130
+ export type BracketRoundRelationNothingToOne<TRoundData, TMatchData> = {
131
+ type: 'nothing-to-one';
132
+ currentRound: BracketRound<TRoundData, TMatchData>;
133
+ nextRound: BracketRound<TRoundData, TMatchData>;
134
+ nextRoundMatchFactor: number;
135
+ };
136
+ export type BracketRoundRelationOneToNothing<TRoundData, TMatchData> = {
137
+ type: 'one-to-nothing';
138
+ currentRound: BracketRound<TRoundData, TMatchData>;
139
+ previousRound: BracketRound<TRoundData, TMatchData>;
140
+ previousRoundMatchFactor: number;
141
+ rootRoundMatchFactor: number;
142
+ };
143
+ export type BracketRoundRelationOneToOne<TRoundData, TMatchData> = {
144
+ type: 'one-to-one';
145
+ currentRound: BracketRound<TRoundData, TMatchData>;
146
+ previousRound: BracketRound<TRoundData, TMatchData>;
147
+ nextRound: BracketRound<TRoundData, TMatchData>;
148
+ nextRoundMatchFactor: number;
149
+ previousRoundMatchFactor: number;
150
+ rootRoundMatchFactor: number;
151
+ };
152
+ export type BracketRoundRelationTwoToOne<TRoundData, TMatchData> = {
153
+ type: 'two-to-one';
154
+ currentRound: BracketRound<TRoundData, TMatchData>;
155
+ previousUpperRound: BracketRound<TRoundData, TMatchData>;
156
+ previousLowerRound: BracketRound<TRoundData, TMatchData>;
157
+ nextRound: BracketRound<TRoundData, TMatchData>;
158
+ nextRoundMatchFactor: number;
159
+ previousUpperRoundMatchFactor: number;
160
+ previousLowerRoundMatchFactor: number;
161
+ upperRootRoundMatchFactor: number;
162
+ lowerRootRoundMatchFactor: number;
163
+ };
164
+ export type BracketRoundRelationTwoToNothing<TRoundData, TMatchData> = {
165
+ type: 'two-to-nothing';
166
+ currentRound: BracketRound<TRoundData, TMatchData>;
167
+ previousUpperRound: BracketRound<TRoundData, TMatchData>;
168
+ previousLowerRound: BracketRound<TRoundData, TMatchData>;
169
+ previousUpperRoundMatchFactor: number;
170
+ previousLowerRoundMatchFactor: number;
171
+ upperRootRoundMatchFactor: number;
172
+ lowerRootRoundMatchFactor: number;
173
+ };
174
+ export type BracketRoundRelation<TRoundData, TMatchData> = BracketRoundRelationNothingToOne<TRoundData, TMatchData> | BracketRoundRelationOneToNothing<TRoundData, TMatchData> | BracketRoundRelationOneToOne<TRoundData, TMatchData> | BracketRoundRelationTwoToOne<TRoundData, TMatchData> | BracketRoundRelationTwoToNothing<TRoundData, TMatchData>;
175
+ export type BracketRoundRelations<TRoundData, TMatchData> = Map<BracketRoundId, BracketRoundRelation<TRoundData, TMatchData>>;
176
+ export type MatchPositionMaps<TRoundData, TMatchData> = Map<BracketRoundId, Map<BracketMatchPosition, BracketMatch<TRoundData, TMatchData>>>;
177
+ export type ParticipantMatchResult = 'win' | 'loss' | 'tie';
178
+ export type ParticipantMatchType = BracketRoundType;
179
+ export type MatchParticipantMatch<TRoundData, TMatchData> = {
180
+ bracketMatch: BracketMatch<TRoundData, TMatchData>;
181
+ result: ParticipantMatchResult | null;
182
+ isEliminated: boolean;
183
+ isEliminationMatch: boolean;
184
+ isFirstRound: boolean;
185
+ isLastRound: boolean;
186
+ tieCount: number;
187
+ winCount: number;
188
+ lossCount: number;
189
+ };
190
+ export type MatchParticipant<TRoundData, TMatchData> = {
191
+ id: MatchParticipantId;
192
+ name: string;
193
+ matches: Map<BracketMatchId, MatchParticipantMatch<TRoundData, TMatchData>>;
194
+ };
195
+ export type BracketParticipantMatch<TRoundData, TMatchData> = {
196
+ side: OpponentSide;
197
+ bracketMatch: BracketMatch<TRoundData, TMatchData>;
198
+ };
199
+ export type BracketParticipant<TRoundData, TMatchData> = {
200
+ id: MatchParticipantId;
201
+ name: string;
202
+ matches: Map<BracketMatchId, BracketParticipantMatch<TRoundData, TMatchData>>;
203
+ };
204
+ export type BracketParticipantMap<TRoundData, TMatchData> = Map<MatchParticipantId, BracketParticipant<TRoundData, TMatchData>>;
205
+ export type MatchParticipantMap<TRoundData, TMatchData> = Map<MatchParticipantId, MatchParticipant<TRoundData, TMatchData>>;
206
+ export type BracketRoundSwissGroup<TRoundData, TMatchData> = {
207
+ id: BracketRoundSwissGroupId;
208
+ name: string;
209
+ matches: BracketMatchMap<TRoundData, TMatchData>;
210
+ allowedMatchCount: number;
211
+ };
212
+ export type BracketRoundSwissGroupMap<TRoundData, TMatchData> = Map<BracketRoundSwissGroupId, BracketRoundSwissGroup<TRoundData, TMatchData>>;
213
+ export type BracketRoundSwissData<TRoundData, TMatchData> = {
214
+ groups: BracketRoundSwissGroupMap<TRoundData, TMatchData>;
215
+ };
216
+ export type BracketRoundMapWithSwissData<TRoundData, TMatchData> = Map<BracketRoundId, BracketRoundSwissData<TRoundData, TMatchData>>;
217
+ export type BracketRoundTypeMap<TRoundData, TMatchData> = Map<BracketRoundType, BracketRoundMap<TRoundData, TMatchData>>;
218
+ export declare const generateRoundTypeFromEthleteRoundType: (type: RoundType, tournamentMode: TournamentMode) => BracketRoundType;
219
+ export declare const generateTournamentModeFormEthleteRounds: (source: RoundStageStructureWithMatchesView[]) => TournamentMode;
220
+ export declare const generateBracketDataForEthlete: (source: RoundStageStructureWithMatchesView[]) => BracketData<RoundStageStructureView, MatchListViewUnion>;
221
+ export declare const generateMatchPositionMaps: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>) => MatchPositionMaps<TRoundData, TMatchData>;
222
+ export declare const generateBracketRoundTypeMap: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>) => BracketRoundTypeMap<TRoundData, TMatchData>;
223
+ export declare const generateRoundRelations: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>) => BracketRoundRelations<TRoundData, TMatchData>;
224
+ export declare const generateMatchRelations: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>, roundRelations: BracketRoundRelations<TRoundData, TMatchData>, matchPositionMaps: MatchPositionMaps<TRoundData, TMatchData>) => BracketMatchRelationsMap<TRoundData, TMatchData>;
225
+ export declare const generateMatchRelationPositions: <TRoundData, TMatchData>(currentRelation: BracketRoundRelation<TRoundData, TMatchData>, match: BracketMatch<TRoundData, TMatchData>) => {
226
+ nextRoundMatchPosition: BracketMatchPosition;
227
+ previousUpperRoundMatchPosition: BracketMatchPosition;
228
+ previousLowerRoundMatchPosition: BracketMatchPosition;
229
+ };
230
+ export declare const generateMatchPosition: (match: BracketMatch<unknown, unknown>, factor: MatchFactor) => BracketMatchPosition;
231
+ export declare const logRoundRelations: (roundRelations: BracketRoundRelations<unknown, unknown>, bracketData: BracketData<unknown, unknown>) => void;
232
+ export declare const generateMatchParticipantMap: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>) => MatchParticipantMap<TRoundData, TMatchData>;
233
+ export declare const getAvailableSwissGroupsForRound: (roundNumber: number, totalMatchesInRound: number) => {
234
+ id: BracketRoundSwissGroupId;
235
+ name: string;
236
+ matchesInGroup: number;
237
+ }[];
238
+ export declare const generateBracketRoundSwissGroupMaps: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>, matchParticipantMap: MatchParticipantMap<TRoundData, TMatchData>) => BracketRoundMapWithSwissData<TRoundData, TMatchData> | null;
@@ -0,0 +1,12 @@
1
+ import { BracketRoundId, BracketRoundRelations } from './bracket-new';
2
+ import { BracketGridDefinitions } from './grid-definitions';
3
+ import { BracketGridRoundItem } from './grid-placements';
4
+ export type DrawManDimensions = {
5
+ columnWidth: number;
6
+ matchHeight: number;
7
+ roundHeaderHeight: number;
8
+ columnGap: number;
9
+ rowGap: number;
10
+ gridDefinitions: BracketGridDefinitions;
11
+ };
12
+ export declare const drawMan: <TRoundData, TMatchData>(items: Map<BracketRoundId, BracketGridRoundItem<TRoundData, TMatchData>>, roundRelations: BracketRoundRelations<TRoundData, TMatchData>, dimensions: DrawManDimensions) => string;
@@ -0,0 +1,9 @@
1
+ import { BracketData, BracketRoundTypeMap } from './bracket-new';
2
+ export type generateBracketGridDefinitionsOptions = {
3
+ includeRoundHeaders: boolean;
4
+ };
5
+ export type BracketGridDefinitions = {
6
+ columnCount: number;
7
+ rowCount: number;
8
+ };
9
+ export declare const generateBracketGridDefinitions: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>, roundTypeMap: BracketRoundTypeMap<TRoundData, TMatchData>, options: generateBracketGridDefinitionsOptions) => BracketGridDefinitions;
@@ -0,0 +1,56 @@
1
+ import { ComponentType } from '@angular/cdk/portal';
2
+ import { InputSignal } from '@angular/core';
3
+ import { BracketData, BracketMatch, BracketMatchId, BracketMatchRelation, BracketMatchRelationsMap, BracketRound, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundRelation, BracketRoundRelations, BracketRoundTypeMap } from './bracket-new';
4
+ export type BracketRoundHeaderComponent<TRoundData, TMatchData> = ComponentType<{
5
+ bracketRound: InputSignal<BracketRound<TRoundData, TMatchData>>;
6
+ }>;
7
+ export type ComponentInputValue<T> = () => {
8
+ [P in keyof T]: T[P] extends InputSignal<infer U> ? U : never;
9
+ };
10
+ export type BracketMatchComponent<TRoundData, TMatchData> = ComponentType<{
11
+ bracketRound: InputSignal<BracketRound<TRoundData, TMatchData>>;
12
+ bracketMatch: InputSignal<BracketMatch<TRoundData, TMatchData>>;
13
+ }>;
14
+ export type BracketGridRoundItem<TRoundData, TMatchData> = {
15
+ id: string;
16
+ columnStart: number;
17
+ columnEnd: number;
18
+ roundRelation: BracketRoundRelation<TRoundData, TMatchData>;
19
+ items: Map<BracketRoundId | BracketMatchId, BracketGridItem<TRoundData, TMatchData>>;
20
+ };
21
+ export type BracketGridRoundHeaderItem<TRoundData, TMatchData> = {
22
+ type: 'round';
23
+ id: string;
24
+ rowStart: number;
25
+ rowEnd: number;
26
+ component: BracketRoundHeaderComponent<TRoundData, TMatchData>;
27
+ roundRelation: BracketRoundRelation<TRoundData, TMatchData>;
28
+ data: {
29
+ bracketRound: BracketRound<TRoundData, TMatchData>;
30
+ };
31
+ };
32
+ export type BracketGridMatchItem<TRoundData, TMatchData> = {
33
+ type: 'match';
34
+ id: string;
35
+ rowStart: number;
36
+ rowEnd: number;
37
+ component: BracketMatchComponent<TRoundData, TMatchData>;
38
+ matchRelation: BracketMatchRelation<TRoundData, TMatchData>;
39
+ roundRelation: BracketRoundRelation<TRoundData, TMatchData>;
40
+ data: {
41
+ bracketRound: BracketRound<TRoundData, TMatchData>;
42
+ bracketMatch: BracketMatch<TRoundData, TMatchData>;
43
+ };
44
+ };
45
+ export type BracketGridItem<TRoundData, TMatchData> = BracketGridRoundHeaderItem<TRoundData, TMatchData> | BracketGridMatchItem<TRoundData, TMatchData>;
46
+ export type GenerateBracketGridItemsOptions<TRoundData, TMatchData> = {
47
+ includeRoundHeaders: boolean;
48
+ headerComponent?: BracketRoundHeaderComponent<TRoundData, TMatchData>;
49
+ matchComponent?: BracketMatchComponent<TRoundData, TMatchData>;
50
+ };
51
+ export type GenerateBracketGridItemsOptionsWithDefaults<TRoundData, TMatchData> = {
52
+ includeRoundHeaders: boolean;
53
+ headerComponent: BracketRoundHeaderComponent<TRoundData, TMatchData>;
54
+ matchComponent: BracketMatchComponent<TRoundData, TMatchData>;
55
+ };
56
+ export declare const generateBracketGridItems: <TRoundData, TMatchData>(bracketData: BracketData<TRoundData, TMatchData>, roundTypeMap: BracketRoundTypeMap<TRoundData, TMatchData>, swissGroups: BracketRoundMapWithSwissData<TRoundData, TMatchData> | null, roundRelations: BracketRoundRelations<TRoundData, TMatchData>, matchRelations: BracketMatchRelationsMap<TRoundData, TMatchData>, options: GenerateBracketGridItemsOptions<TRoundData, TMatchData>) => Map<BracketRoundId, BracketGridRoundItem<TRoundData, TMatchData>>;
@@ -0,0 +1,7 @@
1
+ export * from './bracket-new';
2
+ export * from './draw-man';
3
+ export * from './grid-definitions';
4
+ export * from './grid-placements';
5
+ export * from './new-bracket-default-match.component';
6
+ export * from './new-bracket-default-round-header.component';
7
+ export * from './new-bracket.component';
@@ -0,0 +1,8 @@
1
+ import { BracketMatch, BracketRound } from './bracket-new';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NewBracketDefaultMatchComponent<TRoundData = unknown, TMatchData = unknown> {
4
+ bracketRound: import("@angular/core").InputSignal<BracketRound<TRoundData, TMatchData>>;
5
+ bracketMatch: import("@angular/core").InputSignal<BracketMatch<TRoundData, TMatchData>>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewBracketDefaultMatchComponent<any, any>, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<NewBracketDefaultMatchComponent<any, any>, "et-new-bracket-default-match", never, { "bracketRound": { "alias": "bracketRound"; "required": true; "isSignal": true; }; "bracketMatch": { "alias": "bracketMatch"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { BracketRound } from './bracket-new';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NewBracketDefaultRoundHeaderComponent<TRoundData = unknown, TMatchData = unknown> {
4
+ bracketRound: import("@angular/core").InputSignal<BracketRound<TRoundData, TMatchData>>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewBracketDefaultRoundHeaderComponent<any, any>, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<NewBracketDefaultRoundHeaderComponent<any, any>, "et-new-bracket-default-round-header", never, { "bracketRound": { "alias": "bracketRound"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,26 @@
1
+ import { BracketData } from './bracket-new';
2
+ import { BracketMatchComponent, BracketRoundHeaderComponent } from './grid-placements';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NewBracketComponent<TRoundData = unknown, TMatchData = unknown> {
5
+ #private;
6
+ bracketData: import("@angular/core").InputSignal<BracketData<TRoundData, TMatchData>>;
7
+ columnWidth: import("@angular/core").InputSignalWithTransform<number, unknown>;
8
+ matchHeight: import("@angular/core").InputSignalWithTransform<number, unknown>;
9
+ roundHeaderHeight: import("@angular/core").InputSignalWithTransform<number, unknown>;
10
+ columnGap: import("@angular/core").InputSignalWithTransform<number, unknown>;
11
+ rowGap: import("@angular/core").InputSignalWithTransform<number, unknown>;
12
+ hideRoundHeaders: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ roundHeaderComponent: import("@angular/core").InputSignal<BracketRoundHeaderComponent<TRoundData, TMatchData> | undefined>;
14
+ matchComponent: import("@angular/core").InputSignal<BracketMatchComponent<TRoundData, TMatchData> | undefined>;
15
+ roundTypeMap: import("@angular/core").Signal<import("./bracket-new").BracketRoundTypeMap<TRoundData, TMatchData>>;
16
+ matchParticipantMap: import("@angular/core").Signal<import("./bracket-new").MatchParticipantMap<TRoundData, TMatchData>>;
17
+ matchPositionsMap: import("@angular/core").Signal<import("./bracket-new").MatchPositionMaps<TRoundData, TMatchData>>;
18
+ roundRelations: import("@angular/core").Signal<import("./bracket-new").BracketRoundRelations<TRoundData, TMatchData>>;
19
+ matchRelations: import("@angular/core").Signal<import("./bracket-new").BracketMatchRelationsMap<TRoundData, TMatchData>>;
20
+ swissGroups: import("@angular/core").Signal<import("./bracket-new").BracketRoundMapWithSwissData<TRoundData, TMatchData> | null>;
21
+ items: import("@angular/core").Signal<Map<import("./bracket-new").BracketRoundId, import("./grid-placements").BracketGridRoundItem<TRoundData, TMatchData>>>;
22
+ definitions: import("@angular/core").Signal<import("./grid-definitions").BracketGridDefinitions>;
23
+ drawManData: import("@angular/core").Signal<import("@angular/platform-browser").SafeHtml>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewBracketComponent<any, any>, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<NewBracketComponent<any, any>, "et-new-bracket", never, { "bracketData": { "alias": "bracketData"; "required": true; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; "matchHeight": { "alias": "matchHeight"; "required": false; "isSignal": true; }; "roundHeaderHeight": { "alias": "roundHeaderHeight"; "required": false; "isSignal": true; }; "columnGap": { "alias": "columnGap"; "required": false; "isSignal": true; }; "rowGap": { "alias": "rowGap"; "required": false; "isSignal": true; }; "hideRoundHeaders": { "alias": "hideRoundHeaders"; "required": false; "isSignal": true; }; "roundHeaderComponent": { "alias": "roundHeaderComponent"; "required": false; "isSignal": true; }; "matchComponent": { "alias": "matchComponent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }
@@ -1,5 +1,6 @@
1
1
  export * from '../bracket.imports';
2
2
  export * from '../components/bracket';
3
+ export * as BracketNew from '../components/new-bracket';
3
4
  export * from '../constants';
4
5
  export * from '../directives/bracket-match';
5
6
  export * from '../directives/bracket-round';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethlete/cdk",
3
- "version": "4.45.0",
3
+ "version": "4.46.0",
4
4
  "exports": {
5
5
  ".": {
6
6
  "css": "./src/lib/styles/index.css",