@ethlete/cdk 4.48.0 → 4.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm2022/lib/components/bracket/components/new-bracket/bracket-new.mjs +103 -1
  3. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_DOUBLE_SYNC.mjs +1116 -0
  4. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_SINGLE.mjs +2691 -0
  5. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_SWISS.mjs +72479 -0
  6. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATE_DOUBLE_ASYNC.mjs +1275 -0
  7. package/esm2022/lib/components/bracket/stories/dummy-data/FIFA_DUMMY_DATA_DOUBLE.mjs +2453 -0
  8. package/esm2022/lib/components/bracket/stories/dummy-data/FIFA_DUMMY_DATA_SINGLE.mjs +2570 -0
  9. package/esm2022/lib/components/bracket/stories/dummy-data/index.mjs +7 -0
  10. package/fesm2022/ethlete-cdk.mjs +105 -0
  11. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  12. package/lib/components/bracket/components/new-bracket/bracket-new.d.ts +1620 -0
  13. package/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_DOUBLE_SYNC.d.ts +149 -0
  14. package/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_SINGLE.d.ts +184 -0
  15. package/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_SWISS.d.ts +214 -0
  16. package/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATE_DOUBLE_ASYNC.d.ts +149 -0
  17. package/lib/components/bracket/stories/dummy-data/FIFA_DUMMY_DATA_DOUBLE.d.ts +1640 -0
  18. package/lib/components/bracket/stories/dummy-data/FIFA_DUMMY_DATA_SINGLE.d.ts +2388 -0
  19. package/lib/components/bracket/stories/dummy-data/index.d.ts +6 -0
  20. package/lib/components/query-error/directives/query-error/query-error.directive.d.ts +1 -1
  21. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ export * from './ET_DUMMY_DATA_DOUBLE_SYNC';
2
+ export * from './ET_DUMMY_DATA_SINGLE';
3
+ export * from './ET_DUMMY_DATA_SWISS';
4
+ export * from './ET_DUMMY_DATE_DOUBLE_ASYNC';
5
+ export * from './FIFA_DUMMY_DATA_DOUBLE';
6
+ export * from './FIFA_DUMMY_DATA_SINGLE';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9zdG9yaWVzL2R1bW15LWRhdGEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0VUX0RVTU1ZX0RBVEFfRE9VQkxFX1NZTkMnO1xuZXhwb3J0ICogZnJvbSAnLi9FVF9EVU1NWV9EQVRBX1NJTkdMRSc7XG5leHBvcnQgKiBmcm9tICcuL0VUX0RVTU1ZX0RBVEFfU1dJU1MnO1xuZXhwb3J0ICogZnJvbSAnLi9FVF9EVU1NWV9EQVRFX0RPVUJMRV9BU1lOQyc7XG5leHBvcnQgKiBmcm9tICcuL0ZJRkFfRFVNTVlfREFUQV9ET1VCTEUnO1xuZXhwb3J0ICogZnJvbSAnLi9GSUZBX0RVTU1ZX0RBVEFfU0lOR0xFJztcbiJdfQ==
@@ -1951,6 +1951,108 @@ const generateBracketData = (source, options) => {
1951
1951
  }
1952
1952
  return bracketData;
1953
1953
  };
1954
+ const generateTournamentModeFormGgData = (source) => {
1955
+ switch (source.mode) {
1956
+ // case 'groups':
1957
+ // return TOURNAMENT_MODE.GROUP;
1958
+ // case 'fifa_swiss': {
1959
+ // const lastRound = source[source.length - 1];
1960
+ // if (!lastRound) throw new Error('No last round found');
1961
+ // if (lastRound.matches.length !== firstRound.matches.length) {
1962
+ // return TOURNAMENT_MODE.SWISS_WITH_ELIMINATION;
1963
+ // } else {
1964
+ // return TOURNAMENT_MODE.SWISS;
1965
+ // }
1966
+ // }
1967
+ case 'double-elimination':
1968
+ return TOURNAMENT_MODE.DOUBLE_ELIMINATION;
1969
+ case 'single-elimination':
1970
+ return TOURNAMENT_MODE.SINGLE_ELIMINATION;
1971
+ default:
1972
+ throw new Error(`Unsupported tournament mode: ${source.mode}`);
1973
+ }
1974
+ };
1975
+ const generateRoundTypeFromGgMatch = (tournamentMode, bracketType, // 'winner' | 'looser' | null,
1976
+ stageNumber, matchCount) => {
1977
+ switch (tournamentMode) {
1978
+ case 'double-elimination': {
1979
+ switch (stageNumber) {
1980
+ case 1: {
1981
+ switch (bracketType) {
1982
+ case 'winner':
1983
+ return DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.UPPER_BRACKET;
1984
+ case 'looser':
1985
+ return DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.LOWER_BRACKET;
1986
+ default:
1987
+ throw new Error(`Unsupported bracket type: ${bracketType}`);
1988
+ }
1989
+ }
1990
+ case 2: {
1991
+ return COMMON_BRACKET_ROUND_TYPE.FINAL;
1992
+ }
1993
+ case 3: {
1994
+ return DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.REVERSE_FINAL;
1995
+ }
1996
+ default: {
1997
+ throw new Error(`Unsupported stage number: ${stageNumber}`);
1998
+ }
1999
+ }
2000
+ }
2001
+ case 'single-elimination': {
2002
+ if (matchCount === 1) {
2003
+ return COMMON_BRACKET_ROUND_TYPE.FINAL;
2004
+ }
2005
+ else {
2006
+ return SINGLE_ELIMINATION_BRACKET_ROUND_TYPE.SINGLE_ELIMINATION_BRACKET;
2007
+ }
2008
+ }
2009
+ default: {
2010
+ throw new Error(`Unsupported tournament mode: ${tournamentMode}`);
2011
+ }
2012
+ }
2013
+ };
2014
+ const generateBracketDataForGg = (source) => {
2015
+ const tournamentMode = generateTournamentModeFormGgData(source);
2016
+ const bracketData = {
2017
+ rounds: [],
2018
+ matches: [],
2019
+ mode: tournamentMode,
2020
+ };
2021
+ const matchesGrouped = new Map();
2022
+ for (const match of source.matches) {
2023
+ const roundId = `${match.roundNumber}-${match.stageNumber}-${match.bracketType || null}`;
2024
+ if (!matchesGrouped.has(roundId)) {
2025
+ matchesGrouped.set(roundId, []);
2026
+ }
2027
+ matchesGrouped.get(roundId)?.push(match);
2028
+ }
2029
+ for (const [roundId, matches] of matchesGrouped.entries()) {
2030
+ const firstMatch = matches[0];
2031
+ if (!firstMatch)
2032
+ throw new Error('First match not found');
2033
+ const roundType = generateRoundTypeFromGgMatch(tournamentMode, firstMatch.bracketType, firstMatch.stageNumber, matches.length);
2034
+ const bracketRound = {
2035
+ type: roundType,
2036
+ id: roundId,
2037
+ data: null,
2038
+ name: firstMatch.roundTitle,
2039
+ };
2040
+ bracketData.rounds.push(bracketRound);
2041
+ for (const match of matches) {
2042
+ const bracketMatch = {
2043
+ id: match.id,
2044
+ data: match,
2045
+ roundId: roundId,
2046
+ home: match.homeMatchSide.participant?.id || null,
2047
+ away: match.awayMatchSide.participant?.id || null,
2048
+ winner: match.winningSide,
2049
+ status: match.status === 'completed' ? 'completed' : 'pending',
2050
+ };
2051
+ bracketData.matches.push(bracketMatch);
2052
+ }
2053
+ }
2054
+ return bracketData;
2055
+ };
1954
2056
 
1955
2057
  const path = (d, options) => `<path d="${d.replace(/\s+/g, ' ').trim()}" stroke="currentColor" fill="none" stroke-width="${options.width}" stroke-dasharray="${options.dashArray}" stroke-dashoffset="${options.dashOffset}" class="${options.className}" />`;
1956
2058
  const curve = (from, to, direction, options) => {
@@ -2459,6 +2561,7 @@ var index = /*#__PURE__*/Object.freeze({
2459
2561
  drawMan: drawMan,
2460
2562
  generateBracketData: generateBracketData,
2461
2563
  generateBracketDataForEthlete: generateBracketDataForEthlete,
2564
+ generateBracketDataForGg: generateBracketDataForGg,
2462
2565
  generateBracketGridDefinitions: generateBracketGridDefinitions,
2463
2566
  generateBracketGridItems: generateBracketGridItems,
2464
2567
  generateBracketRoundSwissGroupMaps: generateBracketRoundSwissGroupMaps,
@@ -2470,7 +2573,9 @@ var index = /*#__PURE__*/Object.freeze({
2470
2573
  generateMatchRelations: generateMatchRelations,
2471
2574
  generateRoundRelations: generateRoundRelations,
2472
2575
  generateRoundTypeFromEthleteRoundType: generateRoundTypeFromEthleteRoundType,
2576
+ generateRoundTypeFromGgMatch: generateRoundTypeFromGgMatch,
2473
2577
  generateTournamentModeFormEthleteRounds: generateTournamentModeFormEthleteRounds,
2578
+ generateTournamentModeFormGgData: generateTournamentModeFormGgData,
2474
2579
  getAvailableSwissGroupsForRound: getAvailableSwissGroupsForRound,
2475
2580
  getFirstRounds: getFirstRounds,
2476
2581
  logRoundRelations: logRoundRelations