@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,66 @@
1
+ const LINE_WIDTH = 1;
2
+ const path = (d) => `<path d="${d}" stroke="red" fill="none" stroke-width="${LINE_WIDTH}" />`;
3
+ export const drawMan = (items, roundRelations, dimensions) => {
4
+ const { columnWidth, matchHeight, rowGap, columnGap, roundHeaderHeight, gridDefinitions } = dimensions;
5
+ const roundHeaderRowGap = roundHeaderHeight ? rowGap : 0;
6
+ const baseOffsetY = roundHeaderHeight + roundHeaderRowGap;
7
+ const columnGapCenter = columnGap / 2;
8
+ const totalHeight = (gridDefinitions.rowCount - 1) * matchHeight + (gridDefinitions.rowCount - 1) * rowGap + roundHeaderHeight; // TODO: This is not correct in double elimination
9
+ const svgParts = [];
10
+ // a nothing to one draws nothing
11
+ // a one to nothing draws nothing
12
+ // a one to one draws a line
13
+ // a one to two draws a line that splits into in the middle
14
+ // a two to one draws two lines that merge into one in the middle
15
+ // WE ONLY EVER DRAW THE LEFT SIDE (on-to, nothing-to, two-to)
16
+ for (const round of items.values()) {
17
+ const rows = round.roundRelation.currentRound.matchCount;
18
+ const rowGaps = rows - 1;
19
+ const rowHeight = (totalHeight - baseOffsetY) / rows - rowGaps * rowGap;
20
+ const rowWhitespace = (rowHeight - matchHeight) / 2;
21
+ const matchHeightOffset = rowWhitespace + matchHeight / 2; // the vertical middle of a match in this row
22
+ for (const item of round.items.values()) {
23
+ if (item.type === 'round')
24
+ continue; // we don't draw lines for round headers
25
+ switch (item.matchRelation.type) {
26
+ case 'nothing-to-one': {
27
+ continue;
28
+ }
29
+ case 'one-to-nothing':
30
+ case 'one-to-one': {
31
+ // draw a straight line
32
+ const previousRound = items.get(item.matchRelation.previousRound.id);
33
+ if (!previousRound)
34
+ throw new Error('Previous round or match is missing');
35
+ const previousMatch = previousRound.items.get(item.matchRelation.previousMatch.id);
36
+ if (!previousMatch || previousMatch.type !== 'match')
37
+ throw new Error('Previous round or match is missing');
38
+ const previousRoundRows = previousRound.roundRelation.currentRound.matchCount;
39
+ const previousRoundRowGaps = previousRoundRows - 1;
40
+ const previousRoundRowHeight = (totalHeight - baseOffsetY) / previousRoundRows - previousRoundRowGaps * rowGap;
41
+ const previousRoundRowWhitespace = (previousRoundRowHeight - matchHeight) / 2;
42
+ const previousRoundMatchHeightOffset = previousRoundRowWhitespace + matchHeight / 2;
43
+ const fromX = previousRound.columnStart * columnWidth + (round.columnStart - 2) * columnGap;
44
+ const toX = (round.columnStart - 1) * columnWidth + (round.columnStart - 1) * columnGap;
45
+ const fromY = previousMatch.matchRelation.currentMatch.indexInRound * previousRoundRowWhitespace +
46
+ previousMatch.matchRelation.currentMatch.indexInRound * rowGap +
47
+ baseOffsetY +
48
+ previousRoundMatchHeightOffset;
49
+ const toY = item.matchRelation.currentMatch.indexInRound * rowWhitespace +
50
+ item.matchRelation.currentMatch.indexInRound * rowGap +
51
+ baseOffsetY +
52
+ matchHeightOffset;
53
+ svgParts.push(path(`M ${fromX} ${fromY} L ${toX} ${toY}`));
54
+ break;
55
+ }
56
+ case 'two-to-nothing':
57
+ case 'two-to-one': {
58
+ // draw two lines that merge into one in the middle
59
+ break;
60
+ }
61
+ }
62
+ }
63
+ }
64
+ return svgParts.join(' /n');
65
+ };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1tYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9jb21wb25lbnRzL25ldy1icmFja2V0L2RyYXctbWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFNLElBQUksR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLDRDQUE0QyxVQUFVLE1BQU0sQ0FBQztBQUV0RyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FDckIsS0FBd0UsRUFDeEUsY0FBNkQsRUFDN0QsVUFBNkIsRUFDN0IsRUFBRTtJQUNGLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLEdBQUcsVUFBVSxDQUFDO0lBQ3ZHLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBRTFELE1BQU0sZUFBZSxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsa0RBQWtEO0lBQ2hLLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUU5QixpQ0FBaUM7SUFDakMsaUNBQWlDO0lBQ2pDLDRCQUE0QjtJQUM1QiwyREFBMkQ7SUFDM0QsaUVBQWlFO0lBRWpFLDhEQUE4RDtJQUU5RCxLQUFLLE1BQU0sS0FBSyxJ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QkFDckQsV0FBVzt3QkFDWCxpQkFBaUIsQ0FBQztvQkFFcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBRTNELE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLGdCQUFnQixDQUFDO2dCQUN0QixLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7b0JBQ2xCLG1EQUFtRDtvQkFFbkQsTUFBTTtnQkFDUixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyYWNrZXRSb3VuZElkLCBCcmFja2V0Um91bmRSZWxhdGlvbnMgfSBmcm9tICcuL2JyYWNrZXQtbmV3JztcbmltcG9ydCB7IEJyYWNrZXRHcmlkRGVmaW5pdGlvbnMgfSBmcm9tICcuL2dyaWQtZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgQnJhY2tldEdyaWRSb3VuZEl0ZW0gfSBmcm9tICcuL2dyaWQtcGxhY2VtZW50cyc7XG5cbmV4cG9ydCB0eXBlIERyYXdNYW5EaW1lbnNpb25zID0ge1xuICBjb2x1bW5XaWR0aDogbnVtYmVyO1xuICBtYXRjaEhlaWdodDogbnVtYmVyO1xuICByb3VuZEhlYWRlckhlaWdodDogbnVtYmVyO1xuICBjb2x1bW5HYXA6IG51bWJlcjtcbiAgcm93R2FwOiBudW1iZXI7XG4gIGdyaWREZWZpbml0aW9uczogQnJhY2tldEdyaWREZWZpbml0aW9ucztcbn07XG5cbmNvbnN0IExJTkVfV0lEVEggPSAxO1xuXG5jb25zdCBwYXRoID0gKGQ6IHN0cmluZykgPT4gYDxwYXRoIGQ9XCIke2R9XCIgc3Ryb2tlPVwicmVkXCIgZmlsbD1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIke0xJTkVfV0lEVEh9XCIgLz5gO1xuXG5leHBvcnQgY29uc3QgZHJhd01hbiA9IDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPihcbiAgaXRlbXM6IE1hcDxCcmFja2V0Um91bmRJZCwgQnJhY2tldEdyaWRSb3VuZEl0ZW08VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4+LFxuICByb3VuZFJlbGF0aW9uczogQnJhY2tldFJvdW5kUmVsYXRpb25zPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+LFxuICBkaW1lbnNpb25zOiBEcmF3TWFuRGltZW5zaW9ucyxcbikgPT4ge1xuICBjb25zdCB7IGNvbHVtbldpZHRoLCBtYXRjaEhlaWdodCwgcm93R2FwLCBjb2x1bW5HYXAsIHJvdW5kSGVhZGVySGVpZ2h0LCBncmlkRGVmaW5pdGlvbnMgfSA9IGRpbWVuc2lvbnM7XG4gIGNvbnN0IHJvdW5kSGVhZGVyUm93R2FwID0gcm91bmRIZWFkZXJIZWlnaHQgPyByb3dHYXAgOiAwO1xuICBjb25zdCBiYXNlT2Zmc2V0WSA9IHJvdW5kSGVhZGVySGVpZ2h0ICsgcm91bmRIZWFkZXJSb3dHYXA7XG5cbiAgY29uc3QgY29sdW1uR2FwQ2VudGVyID0gY29sdW1uR2FwIC8gMjtcbiAgY29uc3QgdG90YWxIZWlnaHQgPVxuICAgIChncmlkRGVmaW5pdGlvbnMucm93Q291bnQgLSAxKSAqIG1hdGNoSGVpZ2h0ICsgKGdyaWREZWZpbml0aW9ucy5yb3dDb3VudCAtIDEpICogcm93R2FwICsgcm91bmRIZWFkZXJIZWlnaHQ7IC8vIFRPRE86IFRoaXMgaXMgbm90IGNvcnJlY3QgaW4gZG91YmxlIGVsaW1pbmF0aW9uXG4gIGNvbnN0IHN2Z1BhcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIGEgbm90aGluZyB0byBvbmUgZHJhd3Mgbm90aGluZ1xuICAvLyBhIG9uZSB0byBub3RoaW5nIGRyYXdzIG5vdGhpbmdcbiAgLy8gYSBvbmUgdG8gb25lIGRyYXdzIGEgbGluZVxuICAvLyBhIG9uZSB0byB0d28gZHJhd3MgYSBsaW5lIHRoYXQgc3BsaXRzIGludG8gaW4gdGhlIG1pZGRsZVxuICAvLyBhIHR3byB0byBvbmUgZHJhd3MgdHdvIGxpbmVzIHRoYXQgbWVyZ2UgaW50byBvbmUgaW4gdGhlIG1pZGRsZVxuXG4gIC8vIFdFIE9OTFkgRVZFUiBEUkFXIFRIRSBMRUZUIFNJREUgKG9uLXRvLCBub3RoaW5nLXRvLCB0d28tdG8pXG5cbiAgZm9yIChjb25zdCByb3VuZCBvZiBpdGVtcy52YWx1ZXMoKSkge1xuICAgIGNvbnN0IHJvd3MgPSByb3VuZC5yb3VuZFJlbGF0aW9uLmN1cnJlbnRSb3VuZC5tYXRjaENvdW50O1xuICAgIGNvbnN0IHJvd0dhcHMgPSByb3dzIC0gMTtcbiAgICBjb25zdCByb3dIZWlnaHQgPSAodG90YWxIZWlnaHQgLSBiYXNlT2Zmc2V0WSkgLyByb3dzIC0gcm93R2FwcyAqIHJvd0dhcDtcbiAgICBjb25zdCByb3dXaGl0ZXNwYWNlID0gKHJvd0hlaWdodCAtIG1hdGNoSGVpZ2h0KSAvIDI7XG4gICAgY29uc3QgbWF0Y2hIZWlnaHRPZmZzZXQgPSByb3dXaGl0ZXNwYWNlICsgbWF0Y2hIZWlnaHQgLyAyOyAvLyB0aGUgdmVydGljYWwgbWlkZGxlIG9mIGEgbWF0Y2ggaW4gdGhpcyByb3dcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiByb3VuZC5pdGVtcy52YWx1ZXMoKSkge1xuICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ3JvdW5kJykgY29udGludWU7IC8vIHdlIGRvbid0IGRyYXcgbGluZXMgZm9yIHJvdW5kIGhlYWRlcnNcblxuICAgICAgc3dpdGNoIChpdGVtLm1hdGNoUmVsYXRpb24udHlwZSkge1xuICAgICAgICBjYXNlICdub3RoaW5nLXRvLW9uZSc6IHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdvbmUtdG8tbm90aGluZyc6XG4gICAgICAgIGNhc2UgJ29uZS10by1vbmUnOiB7XG4gICAgICAgICAgLy8gZHJhdyBhIHN0cmFpZ2h0IGxpbmVcbiAgICAgICAgICBjb25zdCBwcmV2aW91c1JvdW5kID0gaXRlbXMuZ2V0KGl0ZW0ubWF0Y2hSZWxhdGlvbi5wcmV2aW91c1JvdW5kLmlkKTtcbiAgICAgICAgICBpZiAoIXByZXZpb3VzUm91bmQpIHRocm93IG5ldyBFcnJvcignUHJldmlvdXMgcm91bmQgb3IgbWF0Y2ggaXMgbWlzc2luZycpO1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzTWF0Y2ggPSBwcmV2aW91c1JvdW5kLml0ZW1zLmdldChpdGVtLm1hdGNoUmVsYXRpb24ucHJldmlvdXNNYXRjaC5pZCk7XG4gICAgICAgICAgaWYgKCFwcmV2aW91c01hdGNoIHx8IHByZXZpb3VzTWF0Y2gudHlwZSAhPT0gJ21hdGNoJykgdGhyb3cgbmV3IEVycm9yKCdQcmV2aW91cyByb3VuZCBvciBtYXRjaCBpcyBtaXNzaW5nJyk7XG5cbiAgICAgICAgICBjb25zdCBwcmV2aW91c1JvdW5kUm93cyA9IHByZXZpb3VzUm91bmQucm91bmRSZWxhdGlvbi5jdXJyZW50Um91bmQubWF0Y2hDb3VudDtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c1JvdW5kUm93R2FwcyA9IHByZXZpb3VzUm91bmRSb3dzIC0gMTtcblxuICAgICAgICAgIGNvbnN0IHByZXZpb3VzUm91bmRSb3dIZWlnaHQgPVxuICAgICAgICAgICAgKHRvdGFsSGVpZ2h0IC0gYmFzZU9mZnNldFkpIC8gcHJldmlvdXNSb3VuZFJvd3MgLSBwcmV2aW91c1JvdW5kUm93R2FwcyAqIHJvd0dhcDtcblxuICAgICAgICAgIGNvbnN0IHByZXZpb3VzUm91bmRSb3dXaGl0ZXNwYWNlID0gKHByZXZpb3VzUm91bmRSb3dIZWlnaHQgLSBtYXRjaEhlaWdodCkgLyAyO1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzUm91bmRNYXRjaEhlaWdodE9mZnNldCA9IHByZXZpb3VzUm91bmRSb3dXaGl0ZXNwYWNlICsgbWF0Y2hIZWlnaHQgLyAyO1xuXG4gICAgICAgICAgY29uc3QgZnJvbVggPSBwcmV2aW91c1JvdW5kLmNvbHVtblN0YXJ0ICogY29sdW1uV2lkdGggKyAocm91bmQuY29sdW1uU3RhcnQgLSAyKSAqIGNvbHVtbkdhcDtcbiAgICAgICAgICBjb25zdCB0b1ggPSAocm91bmQuY29sdW1uU3RhcnQgLSAxKSAqIGNvbHVtbldpZHRoICsgKHJvdW5kLmNvbHVtblN0YXJ0IC0gMSkgKiBjb2x1bW5HYXA7XG5cbiAgICAgICAgICBjb25zdCBmcm9tWSA9XG4gICAgICAgICAgICBwcmV2aW91c01hdGNoLm1hdGNoUmVsYXRpb24uY3VycmVudE1hdGNoLmluZGV4SW5Sb3VuZCAqIHByZXZpb3VzUm91bmRSb3dXaGl0ZXNwYWNlICtcbiAgICAgICAgICAgIHByZXZpb3VzTWF0Y2gubWF0Y2hSZWxhdGlvbi5jdXJyZW50TWF0Y2guaW5kZXhJblJvdW5kICogcm93R2FwICtcbiAgICAgICAgICAgIGJhc2VPZmZzZXRZICtcbiAgICAgICAgICAgIHByZXZpb3VzUm91bmRNYXRjaEhlaWdodE9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1kgPVxuICAgICAgICAgICAgaXRlbS5tYXRjaFJlbGF0aW9uLmN1cnJlbnRNYXRjaC5pbmRleEluUm91bmQgKiByb3dXaGl0ZXNwYWNlICtcbiAgICAgICAgICAgIGl0ZW0ubWF0Y2hSZWxhdGlvbi5jdXJyZW50TWF0Y2guaW5kZXhJblJvdW5kICogcm93R2FwICtcbiAgICAgICAgICAgIGJhc2VPZmZzZXRZICtcbiAgICAgICAgICAgIG1hdGNoSGVpZ2h0T2Zmc2V0O1xuXG4gICAgICAgICAgc3ZnUGFydHMucHVzaChwYXRoKGBNICR7ZnJvbVh9ICR7ZnJvbVl9IEwgJHt0b1h9ICR7dG9ZfWApKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3R3by10by1ub3RoaW5nJzpcbiAgICAgICAgY2FzZSAndHdvLXRvLW9uZSc6IHtcbiAgICAgICAgICAvLyBkcmF3IHR3byBsaW5lcyB0aGF0IG1lcmdlIGludG8gb25lIGluIHRoZSBtaWRkbGVcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN2Z1BhcnRzLmpvaW4oJyAvbicpO1xufTtcbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { COMMON_BRACKET_ROUND_TYPE, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, TOURNAMENT_MODE, } from './bracket-new';
2
+ const generateColumnCount = (bracketData, roundTypeMap) => {
3
+ const thirdPlaceRoundSize = roundTypeMap.get(COMMON_BRACKET_ROUND_TYPE.THIRD_PLACE)?.size || 0;
4
+ switch (bracketData.mode) {
5
+ case TOURNAMENT_MODE.DOUBLE_ELIMINATION: {
6
+ const upperBracketSize = roundTypeMap.get(DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.UPPER_BRACKET)?.size || 0;
7
+ const lowerBracketSize = roundTypeMap.get(DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.LOWER_BRACKET)?.size || 0;
8
+ // the total columns are the bigger number of winner bracket rounds vs looser bracket rounds + all other rounds excluding third place
9
+ return bracketData.rounds.size - thirdPlaceRoundSize + Math.max(upperBracketSize, lowerBracketSize);
10
+ }
11
+ default: {
12
+ // the total columns are the amount of rounds excluding third place
13
+ return bracketData.rounds.size - thirdPlaceRoundSize;
14
+ }
15
+ }
16
+ };
17
+ const generateRowCount = (bracketData, roundTypeMap, options) => {
18
+ switch (bracketData.mode) {
19
+ case TOURNAMENT_MODE.DOUBLE_ELIMINATION: {
20
+ const upperBracketSize = roundTypeMap.get(DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.UPPER_BRACKET)?.values().next()
21
+ .value?.matchCount;
22
+ const lowerBracketSize = roundTypeMap.get(DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE.LOWER_BRACKET)?.values().next()
23
+ .value?.matchCount;
24
+ const roundHeadersCount = options.includeRoundHeaders ? 2 : 0;
25
+ if (upperBracketSize === undefined || lowerBracketSize === undefined) {
26
+ throw new Error('Upper or lower bracket size is undefined');
27
+ }
28
+ // the total rows the amount of matches in the first upper bracket round + first lower bracket round + if true, the round header row for both
29
+ return upperBracketSize + lowerBracketSize + roundHeadersCount;
30
+ }
31
+ default: {
32
+ const firstRoundSize = bracketData.rounds.values().next().value?.matchCount;
33
+ const roundHeadersCount = options.includeRoundHeaders ? 1 : 0;
34
+ if (firstRoundSize === undefined) {
35
+ throw new Error('First round size is undefined');
36
+ }
37
+ // the total rows are the amount of matches in the first round + if true, the round header row
38
+ return firstRoundSize + roundHeadersCount;
39
+ }
40
+ }
41
+ };
42
+ export const generateBracketGridDefinitions = (bracketData, roundTypeMap, options) => {
43
+ const columnCount = generateColumnCount(bracketData, roundTypeMap);
44
+ const rowCount = generateRowCount(bracketData, roundTypeMap, options);
45
+ return { columnCount, rowCount };
46
+ };
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kZWZpbml0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9icmFja2V0L2NvbXBvbmVudHMvbmV3LWJyYWNrZXQvZ3JpZC1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLHFDQUFxQyxFQUNyQyxlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsV0FBZ0QsRUFDaEQsWUFBeUQsRUFDekQsRUFBRTtJQUNGLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBRS9GLFFBQVEsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLEtBQUssZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUMxRyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUUxRyxxSUFBcUk7WUFDckksT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDUixtRUFBbUU7WUFDbkUsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsV0FBZ0QsRUFDaEQsWUFBeUQsRUFDekQsT0FBOEMsRUFDOUMsRUFBRTtJQUNGLFFBQVEsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLEtBQUssZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFO2lCQUM1RyxLQUFLLEVBQUUsVUFBVSxDQUFDO1lBQ3JCLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUU7aUJBQzVHLEtBQUssRUFBRSxVQUFVLENBQUM7WUFDckIsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTlELElBQUksZ0JBQWdCLEtBQUssU0FBUyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNyRSxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUVELDZJQUE2STtZQUM3SSxPQUFPLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDO1FBQ2pFLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO1lBQzVFLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5RCxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFFRCw4RkFBOEY7WUFDOUYsT0FBTyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUM1QyxXQUFnRCxFQUNoRCxZQUF5RCxFQUN6RCxPQUE4QyxFQUN0QixFQUFFO0lBQzFCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuRSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDbkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQnJhY2tldERhdGEsXG4gIEJyYWNrZXRSb3VuZFR5cGVNYXAsXG4gIENPTU1PTl9CUkFDS0VUX1JPVU5EX1RZUEUsXG4gIERPVUJMRV9FTElNSU5BVElPTl9CUkFDS0VUX1JPVU5EX1RZUEUsXG4gIFRPVVJOQU1FTlRfTU9ERSxcbn0gZnJvbSAnLi9icmFja2V0LW5ldyc7XG5cbmV4cG9ydCB0eXBlIGdlbmVyYXRlQnJhY2tldEdyaWREZWZpbml0aW9uc09wdGlvbnMgPSB7XG4gIGluY2x1ZGVSb3VuZEhlYWRlcnM6IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZW5lcmF0ZUNvbHVtbkNvdW50ID0gPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+KFxuICBicmFja2V0RGF0YTogQnJhY2tldERhdGE8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHJvdW5kVHlwZU1hcDogQnJhY2tldFJvdW5kVHlwZU1hcDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbikgPT4ge1xuICBjb25zdCB0aGlyZFBsYWNlUm91bmRTaXplID0gcm91bmRUeXBlTWFwLmdldChDT01NT05fQlJBQ0tFVF9ST1VORF9UWVBFLlRISVJEX1BMQUNFKT8uc2l6ZSB8fCAwO1xuXG4gIHN3aXRjaCAoYnJhY2tldERhdGEubW9kZSkge1xuICAgIGNhc2UgVE9VUk5BTUVOVF9NT0RFLkRPVUJMRV9FTElNSU5BVElPTjoge1xuICAgICAgY29uc3QgdXBwZXJCcmFja2V0U2l6ZSA9IHJvdW5kVHlwZU1hcC5nZXQoRE9VQkxFX0VMSU1JTkFUSU9OX0JSQUNLRVRfUk9VTkRfVFlQRS5VUFBFUl9CUkFDS0VUKT8uc2l6ZSB8fCAwO1xuICAgICAgY29uc3QgbG93ZXJCcmFja2V0U2l6ZSA9IHJvdW5kVHlwZU1hcC5nZXQoRE9VQkxFX0VMSU1JTkFUSU9OX0JSQUNLRVRfUk9VTkRfVFlQRS5MT1dFUl9CUkFDS0VUKT8uc2l6ZSB8fCAwO1xuXG4gICAgICAvLyB0aGUgdG90YWwgY29sdW1ucyBhcmUgdGhlIGJpZ2dlciBudW1iZXIgb2Ygd2lubmVyIGJyYWNrZXQgcm91bmRzIHZzIGxvb3NlciBicmFja2V0IHJvdW5kcyArIGFsbCBvdGhlciByb3VuZHMgZXhjbHVkaW5nIHRoaXJkIHBsYWNlXG4gICAgICByZXR1cm4gYnJhY2tldERhdGEucm91bmRzLnNpemUgLSB0aGlyZFBsYWNlUm91bmRTaXplICsgTWF0aC5tYXgodXBwZXJCcmFja2V0U2l6ZSwgbG93ZXJCcmFja2V0U2l6ZSk7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIC8vIHRoZSB0b3RhbCBjb2x1bW5zIGFyZSB0aGUgYW1vdW50IG9mIHJvdW5kcyBleGNsdWRpbmcgdGhpcmQgcGxhY2VcbiAgICAgIHJldHVybiBicmFja2V0RGF0YS5yb3VuZHMuc2l6ZSAtIHRoaXJkUGxhY2VSb3VuZFNpemU7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBnZW5lcmF0ZVJvd0NvdW50ID0gPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+KFxuICBicmFja2V0RGF0YTogQnJhY2tldERhdGE8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHJvdW5kVHlwZU1hcDogQnJhY2tldFJvdW5kVHlwZU1hcDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgb3B0aW9uczogZ2VuZXJhdGVCcmFja2V0R3JpZERlZmluaXRpb25zT3B0aW9ucyxcbikgPT4ge1xuICBzd2l0Y2ggKGJyYWNrZXREYXRhLm1vZGUpIHtcbiAgICBjYXNlIFRPVVJOQU1FTlRfTU9ERS5ET1VCTEVfRUxJTUlOQVRJT046IHtcbiAgICAgIGNvbnN0IHVwcGVyQnJhY2tldFNpemUgPSByb3VuZFR5cGVNYXAuZ2V0KERPVUJMRV9FTElNSU5BVElPTl9CUkFDS0VUX1JPVU5EX1RZUEUuVVBQRVJfQlJBQ0tFVCk/LnZhbHVlcygpLm5leHQoKVxuICAgICAgICAudmFsdWU/Lm1hdGNoQ291bnQ7XG4gICAgICBjb25zdCBsb3dlckJyYWNrZXRTaXplID0gcm91bmRUeXBlTWFwLmdldChET1VCTEVfRUxJTUlOQVRJT05fQlJBQ0tFVF9ST1VORF9UWVBFLkxPV0VSX0JSQUNLRVQpPy52YWx1ZXMoKS5uZXh0KClcbiAgICAgICAgLnZhbHVlPy5tYXRjaENvdW50O1xuICAgICAgY29uc3Qgcm91bmRIZWFkZXJzQ291bnQgPSBvcHRpb25zLmluY2x1ZGVSb3VuZEhlYWRlcnMgPyAyIDogMDtcblxuICAgICAgaWYgKHVwcGVyQnJhY2tldFNpemUgPT09IHVuZGVmaW5lZCB8fCBsb3dlckJyYWNrZXRTaXplID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVcHBlciBvciBsb3dlciBicmFja2V0IHNpemUgaXMgdW5kZWZpbmVkJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIHRoZSB0b3RhbCByb3dzIHRoZSBhbW91bnQgb2YgbWF0Y2hlcyBpbiB0aGUgZmlyc3QgdXBwZXIgYnJhY2tldCByb3VuZCArIGZpcnN0IGxvd2VyIGJyYWNrZXQgcm91bmQgKyBpZiB0cnVlLCB0aGUgcm91bmQgaGVhZGVyIHJvdyBmb3IgYm90aFxuICAgICAgcmV0dXJuIHVwcGVyQnJhY2tldFNpemUgKyBsb3dlckJyYWNrZXRTaXplICsgcm91bmRIZWFkZXJzQ291bnQ7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGNvbnN0IGZpcnN0Um91bmRTaXplID0gYnJhY2tldERhdGEucm91bmRzLnZhbHVlcygpLm5leHQoKS52YWx1ZT8ubWF0Y2hDb3VudDtcbiAgICAgIGNvbnN0IHJvdW5kSGVhZGVyc0NvdW50ID0gb3B0aW9ucy5pbmNsdWRlUm91bmRIZWFkZXJzID8gMSA6IDA7XG5cbiAgICAgIGlmIChmaXJzdFJvdW5kU2l6ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmlyc3Qgcm91bmQgc2l6ZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgIH1cblxuICAgICAgLy8gdGhlIHRvdGFsIHJvd3MgYXJlIHRoZSBhbW91bnQgb2YgbWF0Y2hlcyBpbiB0aGUgZmlyc3Qgcm91bmQgKyBpZiB0cnVlLCB0aGUgcm91bmQgaGVhZGVyIHJvd1xuICAgICAgcmV0dXJuIGZpcnN0Um91bmRTaXplICsgcm91bmRIZWFkZXJzQ291bnQ7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgdHlwZSBCcmFja2V0R3JpZERlZmluaXRpb25zID0ge1xuICBjb2x1bW5Db3VudDogbnVtYmVyO1xuICByb3dDb3VudDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQnJhY2tldEdyaWREZWZpbml0aW9ucyA9IDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPihcbiAgYnJhY2tldERhdGE6IEJyYWNrZXREYXRhPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+LFxuICByb3VuZFR5cGVNYXA6IEJyYWNrZXRSb3VuZFR5cGVNYXA8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIG9wdGlvbnM6IGdlbmVyYXRlQnJhY2tldEdyaWREZWZpbml0aW9uc09wdGlvbnMsXG4pOiBCcmFja2V0R3JpZERlZmluaXRpb25zID0+IHtcbiAgY29uc3QgY29sdW1uQ291bnQgPSBnZW5lcmF0ZUNvbHVtbkNvdW50KGJyYWNrZXREYXRhLCByb3VuZFR5cGVNYXApO1xuICBjb25zdCByb3dDb3VudCA9IGdlbmVyYXRlUm93Q291bnQoYnJhY2tldERhdGEsIHJvdW5kVHlwZU1hcCwgb3B0aW9ucyk7XG5cbiAgcmV0dXJuIHsgY29sdW1uQ291bnQsIHJvd0NvdW50IH07XG59O1xuIl19
@@ -0,0 +1,97 @@
1
+ import { TOURNAMENT_MODE, } from './bracket-new';
2
+ import { NewBracketDefaultMatchComponent } from './new-bracket-default-match.component';
3
+ import { NewBracketDefaultRoundHeaderComponent } from './new-bracket-default-round-header.component';
4
+ export const generateBracketGridItems = (bracketData, roundTypeMap, swissGroups, roundRelations, matchRelations, options) => {
5
+ const roundHeaderComponent = options.headerComponent ?? NewBracketDefaultRoundHeaderComponent;
6
+ const matchComponent = options.matchComponent ?? NewBracketDefaultMatchComponent;
7
+ const optionsWithDefaults = {
8
+ ...options,
9
+ headerComponent: roundHeaderComponent,
10
+ matchComponent: matchComponent,
11
+ };
12
+ switch (bracketData.mode) {
13
+ case TOURNAMENT_MODE.DOUBLE_ELIMINATION:
14
+ return generateDoubleEliminationGridPlacements(bracketData, roundTypeMap, roundRelations, matchRelations, optionsWithDefaults);
15
+ case TOURNAMENT_MODE.SWISS_WITH_ELIMINATION: {
16
+ if (!swissGroups)
17
+ throw new Error('Swiss groups are required for swiss with elimination mode');
18
+ return generateSwissWithEliminationGridPlacements(bracketData, roundTypeMap, swissGroups, roundRelations, matchRelations, optionsWithDefaults);
19
+ }
20
+ default:
21
+ return generateGenericGridPlacements(bracketData, roundTypeMap, roundRelations, matchRelations, optionsWithDefaults);
22
+ }
23
+ };
24
+ const generateGenericGridPlacements = (bracketData, roundTypeMap, roundRelations, matchRelations, options) => {
25
+ const gridItems = new Map();
26
+ const firstRound = bracketData.rounds.values().next().value;
27
+ if (!firstRound) {
28
+ throw new Error('First round is missing');
29
+ }
30
+ for (const round of bracketData.rounds.values()) {
31
+ const roundRelation = roundRelations.get(round.id);
32
+ let currentMatchRow = 1;
33
+ const columnStart = round.index + 1;
34
+ const columnEnd = columnStart + 1;
35
+ if (!roundRelation) {
36
+ throw new Error('Round relation is missing');
37
+ }
38
+ if (roundRelation.type === 'two-to-nothing' || roundRelation.type === 'two-to-one') {
39
+ throw new Error(`Invalid relation type ${roundRelation.type}`);
40
+ }
41
+ const roundItem = {
42
+ id: round.id,
43
+ columnStart,
44
+ columnEnd,
45
+ roundRelation,
46
+ items: new Map(),
47
+ };
48
+ if (options.includeRoundHeaders) {
49
+ const roundHeaderItem = {
50
+ type: 'round',
51
+ id: round.id,
52
+ rowStart: currentMatchRow,
53
+ rowEnd: ++currentMatchRow,
54
+ component: options.headerComponent,
55
+ roundRelation,
56
+ data: {
57
+ bracketRound: round,
58
+ },
59
+ };
60
+ roundItem.items.set(round.id, roundHeaderItem);
61
+ }
62
+ const rootRoundMatchFactor = roundRelation.type !== 'nothing-to-one' ? roundRelation.rootRoundMatchFactor : null;
63
+ const matchHeight = rootRoundMatchFactor ? rootRoundMatchFactor : 1;
64
+ for (const match of round.matches.values()) {
65
+ const matchRelation = matchRelations.get(match.id);
66
+ if (!matchRelation) {
67
+ throw new Error('Match relation is missing');
68
+ }
69
+ const baseRow = match.indexInRound * matchHeight;
70
+ const matchItem = {
71
+ type: 'match',
72
+ id: match.id,
73
+ rowStart: baseRow + currentMatchRow,
74
+ rowEnd: baseRow + currentMatchRow + matchHeight,
75
+ component: options.matchComponent,
76
+ matchRelation,
77
+ roundRelation,
78
+ data: {
79
+ bracketRound: round,
80
+ bracketMatch: match,
81
+ },
82
+ };
83
+ roundItem.items.set(match.id, matchItem);
84
+ }
85
+ gridItems.set(round.id, roundItem);
86
+ }
87
+ return gridItems;
88
+ };
89
+ const generateDoubleEliminationGridPlacements = (bracketData, roundTypeMap, roundRelations, matchRelations, options) => {
90
+ const gridItems = new Map();
91
+ return gridItems;
92
+ };
93
+ const generateSwissWithEliminationGridPlacements = (bracketData, roundTypeMap, swissGroups, roundRelations, matchRelations, options) => {
94
+ const gridItems = new Map();
95
+ return gridItems;
96
+ };
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wbGFjZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2JyYWNrZXQvY29tcG9uZW50cy9uZXctYnJhY2tldC9ncmlkLXBsYWNlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQVlMLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFpRXJHLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLFdBQWdELEVBQ2hELFlBQXlELEVBQ3pELFdBQXdFLEVBQ3hFLGNBQTZELEVBQzdELGNBQWdFLEVBQ2hFLE9BQWdFLEVBQ2hFLEVBQUU7SUFDRixNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUkscUNBQXFDLENBQUM7SUFDOUYsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSwrQkFBK0IsQ0FBQztJQUVqRixNQUFNLG1CQUFtQixHQUF3RTtRQUMvRixHQUFHLE9BQU87UUFDVixlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLGNBQWMsRUFBRSxjQUFjO0tBQy9CLENBQUM7SUFFRixRQUFRLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixLQUFLLGVBQWUsQ0FBQyxrQkFBa0I7WUFDckMsT0FBTyx1Q0FBdUMsQ0FDNUMsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLEVBQ2QsY0FBYyxFQUNkLG1CQUFtQixDQUNwQixDQUFDO1FBQ0osS0FBSyxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxXQUFXO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztZ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L0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSW5wdXRTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJyYWNrZXREYXRhLFxuICBCcmFja2V0TWF0Y2gsXG4gIEJyYWNrZXRNYXRjaElkLFxuICBCcmFja2V0TWF0Y2hSZWxhdGlvbixcbiAgQnJhY2tldE1hdGNoUmVsYXRpb25zTWFwLFxuICBCcmFja2V0Um91bmQsXG4gIEJyYWNrZXRSb3VuZElkLFxuICBCcmFja2V0Um91bmRNYXBXaXRoU3dpc3NEYXRhLFxuICBCcmFja2V0Um91bmRSZWxhdGlvbixcbiAgQnJhY2tldFJvdW5kUmVsYXRpb25zLFxuICBCcmFja2V0Um91bmRUeXBlTWFwLFxuICBUT1VSTkFNRU5UX01PREUsXG59IGZyb20gJy4vYnJhY2tldC1uZXcnO1xuaW1wb3J0IHsgTmV3QnJhY2tldERlZmF1bHRNYXRjaENvbXBvbmVudCB9IGZyb20gJy4vbmV3LWJyYWNrZXQtZGVmYXVsdC1tYXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmV3QnJhY2tldERlZmF1bHRSb3VuZEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbmV3LWJyYWNrZXQtZGVmYXVsdC1yb3VuZC1oZWFkZXIuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQnJhY2tldFJvdW5kSGVhZGVyQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+ID0gQ29tcG9uZW50VHlwZTx7XG4gIGJyYWNrZXRSb3VuZDogSW5wdXRTaWduYWw8QnJhY2tldFJvdW5kPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+Pjtcbn0+O1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRJbnB1dFZhbHVlPFQ+ID0gKCkgPT4ge1xuICBbUCBpbiBrZXlvZiBUXTogVFtQXSBleHRlbmRzIElucHV0U2lnbmFsPGluZmVyIFU+ID8gVSA6IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQnJhY2tldE1hdGNoQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+ID0gQ29tcG9uZW50VHlwZTx7XG4gIGJyYWNrZXRSb3VuZDogSW5wdXRTaWduYWw8QnJhY2tldFJvdW5kPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+PjtcbiAgYnJhY2tldE1hdGNoOiBJbnB1dFNpZ25hbDxCcmFja2V0TWF0Y2g8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4+O1xufT47XG5cbmV4cG9ydCB0eXBlIEJyYWNrZXRHcmlkUm91bmRJdGVtPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+ID0ge1xuICBpZDogc3RyaW5nO1xuICBjb2x1bW5TdGFydDogbnVtYmVyO1xuICBjb2x1bW5FbmQ6IG51bWJlcjtcbiAgcm91bmRSZWxhdGlvbjogQnJhY2tldFJvdW5kUmVsYXRpb248VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT47XG4gIGl0ZW1zOiBNYXA8QnJhY2tldFJvdW5kSWQgfCBCcmFja2V0TWF0Y2hJZCwgQnJhY2tldEdyaWRJdGVtPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJyYWNrZXRHcmlkUm91bmRIZWFkZXJJdGVtPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+ID0ge1xuICB0eXBlOiAncm91bmQnO1xuICBpZDogc3RyaW5nO1xuICByb3dTdGFydDogbnVtYmVyO1xuICByb3dFbmQ6IG51bWJlcjtcbiAgY29tcG9uZW50OiBCcmFja2V0Um91bmRIZWFkZXJDb21wb25lbnQ8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT47XG4gIHJvdW5kUmVsYXRpb246IEJyYWNrZXRSb3VuZFJlbGF0aW9uPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+O1xuICBkYXRhOiB7XG4gICAgYnJhY2tldFJvdW5kOiBCcmFja2V0Um91bmQ8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCcmFja2V0R3JpZE1hdGNoSXRlbTxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPiA9IHtcbiAgdHlwZTogJ21hdGNoJztcbiAgaWQ6IHN0cmluZztcbiAgcm93U3RhcnQ6IG51bWJlcjtcbiAgcm93RW5kOiBudW1iZXI7XG4gIGNvbXBvbmVudDogQnJhY2tldE1hdGNoQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+O1xuICBtYXRjaFJlbGF0aW9uOiBCcmFja2V0TWF0Y2hSZWxhdGlvbjxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPjtcbiAgcm91bmRSZWxhdGlvbjogQnJhY2tldFJvdW5kUmVsYXRpb248VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT47XG4gIGRhdGE6IHtcbiAgICBicmFja2V0Um91bmQ6IEJyYWNrZXRSb3VuZDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPjtcbiAgICBicmFja2V0TWF0Y2g6IEJyYWNrZXRNYXRjaDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJyYWNrZXRHcmlkSXRlbTxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPiA9XG4gIHwgQnJhY2tldEdyaWRSb3VuZEhlYWRlckl0ZW08VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT5cbiAgfCBCcmFja2V0R3JpZE1hdGNoSXRlbTxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPjtcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVCcmFja2V0R3JpZEl0ZW1zT3B0aW9uczxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPiA9IHtcbiAgaW5jbHVkZVJvdW5kSGVhZGVyczogYm9vbGVhbjtcbiAgaGVhZGVyQ29tcG9uZW50PzogQnJhY2tldFJvdW5kSGVhZGVyQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+O1xuICBtYXRjaENvbXBvbmVudD86IEJyYWNrZXRNYXRjaENvbXBvbmVudDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlbmVyYXRlQnJhY2tldEdyaWRJdGVtc09wdGlvbnNXaXRoRGVmYXVsdHM8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4gPSB7XG4gIGluY2x1ZGVSb3VuZEhlYWRlcnM6IGJvb2xlYW47XG4gIGhlYWRlckNvbXBvbmVudDogQnJhY2tldFJvdW5kSGVhZGVyQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+O1xuICBtYXRjaENvbXBvbmVudDogQnJhY2tldE1hdGNoQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+O1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQnJhY2tldEdyaWRJdGVtcyA9IDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPihcbiAgYnJhY2tldERhdGE6IEJyYWNrZXREYXRhPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+LFxuICByb3VuZFR5cGVNYXA6IEJyYWNrZXRSb3VuZFR5cGVNYXA8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHN3aXNzR3JvdXBzOiBCcmFja2V0Um91bmRNYXBXaXRoU3dpc3NEYXRhPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+IHwgbnVsbCxcbiAgcm91bmRSZWxhdGlvbnM6IEJyYWNrZXRSb3VuZFJlbGF0aW9uczxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgbWF0Y2hSZWxhdGlvbnM6IEJyYWNrZXRNYXRjaFJlbGF0aW9uc01hcDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgb3B0aW9uczogR2VuZXJhdGVCcmFja2V0R3JpZEl0ZW1zT3B0aW9uczxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbikgPT4ge1xuICBjb25zdCByb3VuZEhlYWRlckNvbXBvbmVudCA9IG9wdGlvbnMuaGVhZGVyQ29tcG9uZW50ID8/IE5ld0JyYWNrZXREZWZhdWx0Um91bmRIZWFkZXJDb21wb25lbnQ7XG4gIGNvbnN0IG1hdGNoQ29tcG9uZW50ID0gb3B0aW9ucy5tYXRjaENvbXBvbmVudCA/PyBOZXdCcmFja2V0RGVmYXVsdE1hdGNoQ29tcG9uZW50O1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRoRGVmYXVsdHM6IEdlbmVyYXRlQnJhY2tldEdyaWRJdGVtc09wdGlvbnNXaXRoRGVmYXVsdHM8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4gPSB7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBoZWFkZXJDb21wb25lbnQ6IHJvdW5kSGVhZGVyQ29tcG9uZW50LFxuICAgIG1hdGNoQ29tcG9uZW50OiBtYXRjaENvbXBvbmVudCxcbiAgfTtcblxuICBzd2l0Y2ggKGJyYWNrZXREYXRhLm1vZGUpIHtcbiAgICBjYXNlIFRPVVJOQU1FTlRfTU9ERS5ET1VCTEVfRUxJTUlOQVRJT046XG4gICAgICByZXR1cm4gZ2VuZXJhdGVEb3VibGVFbGltaW5hdGlvbkdyaWRQbGFjZW1lbnRzKFxuICAgICAgICBicmFja2V0RGF0YSxcbiAgICAgICAgcm91bmRUeXBlTWFwLFxuICAgICAgICByb3VuZFJlbGF0aW9ucyxcbiAgICAgICAgbWF0Y2hSZWxhdGlvbnMsXG4gICAgICAgIG9wdGlvbnNXaXRoRGVmYXVsdHMsXG4gICAgICApO1xuICAgIGNhc2UgVE9VUk5BTUVOVF9NT0RFLlNXSVNTX1dJVEhfRUxJTUlOQVRJT046IHtcbiAgICAgIGlmICghc3dpc3NHcm91cHMpIHRocm93IG5ldyBFcnJvcignU3dpc3MgZ3JvdXBzIGFyZSByZXF1aXJlZCBmb3Igc3dpc3Mgd2l0aCBlbGltaW5hdGlvbiBtb2RlJyk7XG5cbiAgICAgIHJldHVybiBnZW5lcmF0ZVN3aXNzV2l0aEVsaW1pbmF0aW9uR3JpZFBsYWNlbWVudHMoXG4gICAgICAgIGJyYWNrZXREYXRhLFxuICAgICAgICByb3VuZFR5cGVNYXAsXG4gICAgICAgIHN3aXNzR3JvdXBzLFxuICAgICAgICByb3VuZFJlbGF0aW9ucyxcbiAgICAgICAgbWF0Y2hSZWxhdGlvbnMsXG4gICAgICAgIG9wdGlvbnNXaXRoRGVmYXVsdHMsXG4gICAgICApO1xuICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZ2VuZXJhdGVHZW5lcmljR3JpZFBsYWNlbWVudHMoXG4gICAgICAgIGJyYWNrZXREYXRhLFxuICAgICAgICByb3VuZFR5cGVNYXAsXG4gICAgICAgIHJvdW5kUmVsYXRpb25zLFxuICAgICAgICBtYXRjaFJlbGF0aW9ucyxcbiAgICAgICAgb3B0aW9uc1dpdGhEZWZhdWx0cyxcbiAgICAgICk7XG4gIH1cbn07XG5cbmNvbnN0IGdlbmVyYXRlR2VuZXJpY0dyaWRQbGFjZW1lbnRzID0gPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+KFxuICBicmFja2V0RGF0YTogQnJhY2tldERhdGE8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHJvdW5kVHlwZU1hcDogQnJhY2tldFJvdW5kVHlwZU1hcDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgcm91bmRSZWxhdGlvbnM6IEJyYWNrZXRSb3VuZFJlbGF0aW9uczxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgbWF0Y2hSZWxhdGlvbnM6IEJyYWNrZXRNYXRjaFJlbGF0aW9uc01hcDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgb3B0aW9uczogR2VuZXJhdGVCcmFja2V0R3JpZEl0ZW1zT3B0aW9uc1dpdGhEZWZhdWx0czxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbikgPT4ge1xuICBjb25zdCBncmlkSXRlbXM6IE1hcDxCcmFja2V0Um91bmRJZCwgQnJhY2tldEdyaWRSb3VuZEl0ZW08VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4+ID0gbmV3IE1hcCgpO1xuICBjb25zdCBmaXJzdFJvdW5kID0gYnJhY2tldERhdGEucm91bmRzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcblxuICBpZiAoIWZpcnN0Um91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpcnN0IHJvdW5kIGlzIG1pc3NpbmcnKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qgcm91bmQgb2YgYnJhY2tldERhdGEucm91bmRzLnZhbHVlcygpKSB7XG4gICAgY29uc3Qgcm91bmRSZWxhdGlvbiA9IHJvdW5kUmVsYXRpb25zLmdldChyb3VuZC5pZCk7XG5cbiAgICBsZXQgY3VycmVudE1hdGNoUm93ID0gMTtcblxuICAgIGNvbnN0IGNvbHVtblN0YXJ0ID0gcm91bmQuaW5kZXggKyAxO1xuICAgIGNvbnN0IGNvbHVtbkVuZCA9IGNvbHVtblN0YXJ0ICsgMTtcblxuICAgIGlmICghcm91bmRSZWxhdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb3VuZCByZWxhdGlvbiBpcyBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgaWYgKHJvdW5kUmVsYXRpb24udHlwZSA9PT0gJ3R3by10by1ub3RoaW5nJyB8fCByb3VuZFJlbGF0aW9uLnR5cGUgPT09ICd0d28tdG8tb25lJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlbGF0aW9uIHR5cGUgJHtyb3VuZFJlbGF0aW9uLnR5cGV9YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91bmRJdGVtOiBCcmFja2V0R3JpZFJvdW5kSXRlbTxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPiA9IHtcbiAgICAgIGlkOiByb3VuZC5pZCxcbiAgICAgIGNvbHVtblN0YXJ0LFxuICAgICAgY29sdW1uRW5kLFxuICAgICAgcm91bmRSZWxhdGlvbixcbiAgICAgIGl0ZW1zOiBuZXcgTWFwKCksXG4gICAgfTtcblxuICAgIGlmIChvcHRpb25zLmluY2x1ZGVSb3VuZEhlYWRlcnMpIHtcbiAgICAgIGNvbnN0IHJvdW5kSGVhZGVySXRlbTogQnJhY2tldEdyaWRSb3VuZEhlYWRlckl0ZW08VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4gPSB7XG4gICAgICAgIHR5cGU6ICdyb3VuZCcsXG4gICAgICAgIGlkOiByb3VuZC5pZCxcbiAgICAgICAgcm93U3RhcnQ6IGN1cnJlbnRNYXRjaFJvdyxcbiAgICAgICAgcm93RW5kOiArK2N1cnJlbnRNYXRjaFJvdyxcbiAgICAgICAgY29tcG9uZW50OiBvcHRpb25zLmhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgcm91bmRSZWxhdGlvbixcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGJyYWNrZXRSb3VuZDogcm91bmQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICByb3VuZEl0ZW0uaXRlbXMuc2V0KHJvdW5kLmlkLCByb3VuZEhlYWRlckl0ZW0pO1xuICAgIH1cblxuICAgIGNvbnN0IHJvb3RSb3VuZE1hdGNoRmFjdG9yID0gcm91bmRSZWxhdGlvbi50eXBlICE9PSAnbm90aGluZy10by1vbmUnID8gcm91bmRSZWxhdGlvbi5yb290Um91bmRNYXRjaEZhY3RvciA6IG51bGw7XG4gICAgY29uc3QgbWF0Y2hIZWlnaHQgPSByb290Um91bmRNYXRjaEZhY3RvciA/IHJvb3RSb3VuZE1hdGNoRmFjdG9yIDogMTtcblxuICAgIGZvciAoY29uc3QgbWF0Y2ggb2Ygcm91bmQubWF0Y2hlcy52YWx1ZXMoKSkge1xuICAgICAgY29uc3QgbWF0Y2hSZWxhdGlvbiA9IG1hdGNoUmVsYXRpb25zLmdldChtYXRjaC5pZCk7XG5cbiAgICAgIGlmICghbWF0Y2hSZWxhdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hdGNoIHJlbGF0aW9uIGlzIG1pc3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYmFzZVJvdyA9IG1hdGNoLmluZGV4SW5Sb3VuZCAqIG1hdGNoSGVpZ2h0O1xuXG4gICAgICBjb25zdCBtYXRjaEl0ZW06IEJyYWNrZXRHcmlkTWF0Y2hJdGVtPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+ID0ge1xuICAgICAgICB0eXBlOiAnbWF0Y2gnLFxuICAgICAgICBpZDogbWF0Y2guaWQsXG4gICAgICAgIHJvd1N0YXJ0OiBiYXNlUm93ICsgY3VycmVudE1hdGNoUm93LFxuICAgICAgICByb3dFbmQ6IGJhc2VSb3cgKyBjdXJyZW50TWF0Y2hSb3cgKyBtYXRjaEhlaWdodCxcbiAgICAgICAgY29tcG9uZW50OiBvcHRpb25zLm1hdGNoQ29tcG9uZW50LFxuICAgICAgICBtYXRjaFJlbGF0aW9uLFxuICAgICAgICByb3VuZFJlbGF0aW9uLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgYnJhY2tldFJvdW5kOiByb3VuZCxcbiAgICAgICAgICBicmFja2V0TWF0Y2g6IG1hdGNoLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcm91bmRJdGVtLml0ZW1zLnNldChtYXRjaC5pZCwgbWF0Y2hJdGVtKTtcbiAgICB9XG5cbiAgICBncmlkSXRlbXMuc2V0KHJvdW5kLmlkLCByb3VuZEl0ZW0pO1xuICB9XG5cbiAgcmV0dXJuIGdyaWRJdGVtcztcbn07XG5cbmNvbnN0IGdlbmVyYXRlRG91YmxlRWxpbWluYXRpb25HcmlkUGxhY2VtZW50cyA9IDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPihcbiAgYnJhY2tldERhdGE6IEJyYWNrZXREYXRhPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+LFxuICByb3VuZFR5cGVNYXA6IEJyYWNrZXRSb3VuZFR5cGVNYXA8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHJvdW5kUmVsYXRpb25zOiBCcmFja2V0Um91bmRSZWxhdGlvbnM8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIG1hdGNoUmVsYXRpb25zOiBCcmFja2V0TWF0Y2hSZWxhdGlvbnNNYXA8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIG9wdGlvbnM6IEdlbmVyYXRlQnJhY2tldEdyaWRJdGVtc09wdGlvbnNXaXRoRGVmYXVsdHM8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4pID0+IHtcbiAgY29uc3QgZ3JpZEl0ZW1zOiBNYXA8QnJhY2tldFJvdW5kSWQsIEJyYWNrZXRHcmlkUm91bmRJdGVtPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+PiA9IG5ldyBNYXAoKTtcblxuICByZXR1cm4gZ3JpZEl0ZW1zO1xufTtcblxuY29uc3QgZ2VuZXJhdGVTd2lzc1dpdGhFbGltaW5hdGlvbkdyaWRQbGFjZW1lbnRzID0gPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+KFxuICBicmFja2V0RGF0YTogQnJhY2tldERhdGE8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHJvdW5kVHlwZU1hcDogQnJhY2tldFJvdW5kVHlwZU1hcDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPixcbiAgc3dpc3NHcm91cHM6IEJyYWNrZXRSb3VuZE1hcFdpdGhTd2lzc0RhdGE8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIHJvdW5kUmVsYXRpb25zOiBCcmFja2V0Um91bmRSZWxhdGlvbnM8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIG1hdGNoUmVsYXRpb25zOiBCcmFja2V0TWF0Y2hSZWxhdGlvbnNNYXA8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4gIG9wdGlvbnM6IEdlbmVyYXRlQnJhY2tldEdyaWRJdGVtc09wdGlvbnNXaXRoRGVmYXVsdHM8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4sXG4pID0+IHtcbiAgY29uc3QgZ3JpZEl0ZW1zOiBNYXA8QnJhY2tldFJvdW5kSWQsIEJyYWNrZXRHcmlkUm91bmRJdGVtPFRSb3VuZERhdGEsIFRNYXRjaERhdGE+PiA9IG5ldyBNYXAoKTtcblxuICByZXR1cm4gZ3JpZEl0ZW1zO1xufTtcbiJdfQ==
@@ -0,0 +1,8 @@
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';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9jb21wb25lbnRzL25ldy1icmFja2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJhY2tldC1uZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmF3LW1hbic7XG5leHBvcnQgKiBmcm9tICcuL2dyaWQtZGVmaW5pdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkLXBsYWNlbWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXctYnJhY2tldC1kZWZhdWx0LW1hdGNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25ldy1icmFja2V0LWRlZmF1bHQtcm91bmQtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25ldy1icmFja2V0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NewBracketDefaultMatchComponent {
4
+ constructor() {
5
+ this.bracketRound = input.required();
6
+ this.bracketMatch = input.required();
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NewBracketDefaultMatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NewBracketDefaultMatchComponent, isStandalone: true, selector: "et-new-bracket-default-match", inputs: { bracketRound: { classPropertyName: "bracketRound", publicName: "bracketRound", isSignal: true, isRequired: true, transformFunction: null }, bracketMatch: { classPropertyName: "bracketMatch", publicName: "bracketMatch", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "et-new-bracket-default-match-host" }, ngImport: i0, template: ` {{ bracketMatch().id }} `, isInline: true, styles: [".et-new-bracket-default-match-host{display:block;padding:8px;border:1px solid yellow;inline-size:250px;block-size:75px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NewBracketDefaultMatchComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'et-new-bracket-default-match', template: ` {{ bracketMatch().id }} `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
+ class: 'et-new-bracket-default-match-host',
15
+ }, styles: [".et-new-bracket-default-match-host{display:block;padding:8px;border:1px solid yellow;inline-size:250px;block-size:75px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:12px}\n"] }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWJyYWNrZXQtZGVmYXVsdC1tYXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9jb21wb25lbnRzL25ldy1icmFja2V0L25ldy1icmFja2V0LWRlZmF1bHQtbWF0Y2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQTJCN0YsTUFBTSxPQUFPLCtCQUErQjtJQXhCNUM7UUF5QkUsaUJBQVksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF3QyxDQUFDO1FBQ3RFLGlCQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBd0MsQ0FBQztLQUN2RTsrR0FIWSwrQkFBK0I7bUdBQS9CLCtCQUErQiwyYkF0QmhDLDJCQUEyQjs7NEZBc0IxQiwrQkFBK0I7a0JBeEIzQyxTQUFTOytCQUNFLDhCQUE4QixZQUM5QiwyQkFBMkIsY0FDekIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxtQ0FBbUM7cUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcmFja2V0TWF0Y2gsIEJyYWNrZXRSb3VuZCB9IGZyb20gJy4vYnJhY2tldC1uZXcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1uZXctYnJhY2tldC1kZWZhdWx0LW1hdGNoJyxcbiAgdGVtcGxhdGU6IGAge3sgYnJhY2tldE1hdGNoKCkuaWQgfX0gYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LW5ldy1icmFja2V0LWRlZmF1bHQtbWF0Y2gtaG9zdCcsXG4gIH0sXG4gIHN0eWxlczogYFxuICAgIC5ldC1uZXctYnJhY2tldC1kZWZhdWx0LW1hdGNoLWhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB5ZWxsb3c7XG4gICAgICBpbmxpbmUtc2l6ZTogMjUwcHg7XG4gICAgICBibG9jay1zaXplOiA3NXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBOZXdCcmFja2V0RGVmYXVsdE1hdGNoQ29tcG9uZW50PFRSb3VuZERhdGEgPSB1bmtub3duLCBUTWF0Y2hEYXRhID0gdW5rbm93bj4ge1xuICBicmFja2V0Um91bmQgPSBpbnB1dC5yZXF1aXJlZDxCcmFja2V0Um91bmQ8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4+KCk7XG4gIGJyYWNrZXRNYXRjaCA9IGlucHV0LnJlcXVpcmVkPEJyYWNrZXRNYXRjaDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPj4oKTtcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NewBracketDefaultRoundHeaderComponent {
4
+ constructor() {
5
+ this.bracketRound = input.required();
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NewBracketDefaultRoundHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NewBracketDefaultRoundHeaderComponent, isStandalone: true, selector: "et-new-bracket-default-round-header", inputs: { bracketRound: { classPropertyName: "bracketRound", publicName: "bracketRound", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "et-new-bracket-default-round-header-host" }, ngImport: i0, template: ` {{ bracketRound().name }} `, isInline: true, styles: [".et-new-bracket-default-round-header-host{display:block;padding:8px;border:1px solid green;inline-size:250px;block-size:50px;display:flex;justify-content:center;align-items:center;box-sizing:border-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NewBracketDefaultRoundHeaderComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'et-new-bracket-default-round-header', template: ` {{ bracketRound().name }} `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
13
+ class: 'et-new-bracket-default-round-header-host',
14
+ }, styles: [".et-new-bracket-default-round-header-host{display:block;padding:8px;border:1px solid green;inline-size:250px;block-size:50px;display:flex;justify-content:center;align-items:center;box-sizing:border-box}\n"] }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWJyYWNrZXQtZGVmYXVsdC1yb3VuZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2JyYWNrZXQvY29tcG9uZW50cy9uZXctYnJhY2tldC9uZXctYnJhY2tldC1kZWZhdWx0LXJvdW5kLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBMEI3RixNQUFNLE9BQU8scUNBQXFDO0lBdkJsRDtRQXdCRSxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXdDLENBQUM7S0FDdkU7K0dBRlkscUNBQXFDO21HQUFyQyxxQ0FBcUMsNlRBckJ0Qyw2QkFBNkI7OzRGQXFCNUIscUNBQXFDO2tCQXZCakQsU0FBUzsrQkFDRSxxQ0FBcUMsWUFDckMsNkJBQTZCLGNBQzNCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsMENBQTBDO3FCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJhY2tldFJvdW5kIH0gZnJvbSAnLi9icmFja2V0LW5ldyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LW5ldy1icmFja2V0LWRlZmF1bHQtcm91bmQtaGVhZGVyJyxcbiAgdGVtcGxhdGU6IGAge3sgYnJhY2tldFJvdW5kKCkubmFtZSB9fSBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtbmV3LWJyYWNrZXQtZGVmYXVsdC1yb3VuZC1oZWFkZXItaG9zdCcsXG4gIH0sXG4gIHN0eWxlczogYFxuICAgIC5ldC1uZXctYnJhY2tldC1kZWZhdWx0LXJvdW5kLWhlYWRlci1ob3N0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47XG4gICAgICBpbmxpbmUtc2l6ZTogMjUwcHg7XG4gICAgICBibG9jay1zaXplOiA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBOZXdCcmFja2V0RGVmYXVsdFJvdW5kSGVhZGVyQ29tcG9uZW50PFRSb3VuZERhdGEgPSB1bmtub3duLCBUTWF0Y2hEYXRhID0gdW5rbm93bj4ge1xuICBicmFja2V0Um91bmQgPSBpbnB1dC5yZXF1aXJlZDxCcmFja2V0Um91bmQ8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4+KCk7XG59XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { NgComponentOutlet } from '@angular/common';
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, numberAttribute, ViewEncapsulation, } from '@angular/core';
3
+ import { DomSanitizer } from '@angular/platform-browser';
4
+ import { generateBracketRoundSwissGroupMaps, generateBracketRoundTypeMap, generateMatchParticipantMap, generateMatchPositionMaps, generateMatchRelations, generateRoundRelations, } from './bracket-new';
5
+ import { drawMan } from './draw-man';
6
+ import { generateBracketGridDefinitions } from './grid-definitions';
7
+ import { generateBracketGridItems } from './grid-placements';
8
+ import * as i0 from "@angular/core";
9
+ export class NewBracketComponent {
10
+ constructor() {
11
+ this.#domSanitizer = inject(DomSanitizer);
12
+ this.bracketData = input.required();
13
+ this.columnWidth = input(250, { transform: numberAttribute });
14
+ this.matchHeight = input(75, { transform: numberAttribute });
15
+ this.roundHeaderHeight = input(50, { transform: numberAttribute });
16
+ this.columnGap = input(60, { transform: numberAttribute });
17
+ this.rowGap = input(30, { transform: numberAttribute });
18
+ this.hideRoundHeaders = input(false, { transform: booleanAttribute });
19
+ this.roundHeaderComponent = input();
20
+ this.matchComponent = input();
21
+ this.roundTypeMap = computed(() => generateBracketRoundTypeMap(this.bracketData()));
22
+ this.matchParticipantMap = computed(() => generateMatchParticipantMap(this.bracketData()));
23
+ this.matchPositionsMap = computed(() => generateMatchPositionMaps(this.bracketData()));
24
+ this.roundRelations = computed(() => generateRoundRelations(this.bracketData()));
25
+ this.matchRelations = computed(() => generateMatchRelations(this.bracketData(), this.roundRelations(), this.matchPositionsMap()));
26
+ this.swissGroups = computed(() => generateBracketRoundSwissGroupMaps(this.bracketData(), this.matchParticipantMap()));
27
+ this.items = computed(() => generateBracketGridItems(this.bracketData(), this.roundTypeMap(), this.swissGroups(), this.roundRelations(), this.matchRelations(), {
28
+ includeRoundHeaders: !this.hideRoundHeaders(),
29
+ headerComponent: this.roundHeaderComponent(),
30
+ matchComponent: this.matchComponent(),
31
+ }));
32
+ this.definitions = computed(() => generateBracketGridDefinitions(this.bracketData(), this.roundTypeMap(), {
33
+ includeRoundHeaders: !this.hideRoundHeaders(),
34
+ }));
35
+ this.drawManData = computed(() => this.#domSanitizer.bypassSecurityTrustHtml(drawMan(this.items(), this.roundRelations(), {
36
+ columnGap: this.columnGap(),
37
+ columnWidth: this.columnWidth(),
38
+ matchHeight: this.matchHeight(),
39
+ roundHeaderHeight: this.hideRoundHeaders() ? 0 : this.roundHeaderHeight(),
40
+ rowGap: this.rowGap(),
41
+ gridDefinitions: this.definitions(),
42
+ })));
43
+ }
44
+ #domSanitizer;
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NewBracketComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NewBracketComponent, isStandalone: true, selector: "et-new-bracket", inputs: { bracketData: { classPropertyName: "bracketData", publicName: "bracketData", isSignal: true, isRequired: true, transformFunction: null }, columnWidth: { classPropertyName: "columnWidth", publicName: "columnWidth", isSignal: true, isRequired: false, transformFunction: null }, matchHeight: { classPropertyName: "matchHeight", publicName: "matchHeight", isSignal: true, isRequired: false, transformFunction: null }, roundHeaderHeight: { classPropertyName: "roundHeaderHeight", publicName: "roundHeaderHeight", isSignal: true, isRequired: false, transformFunction: null }, columnGap: { classPropertyName: "columnGap", publicName: "columnGap", isSignal: true, isRequired: false, transformFunction: null }, rowGap: { classPropertyName: "rowGap", publicName: "rowGap", isSignal: true, isRequired: false, transformFunction: null }, hideRoundHeaders: { classPropertyName: "hideRoundHeaders", publicName: "hideRoundHeaders", isSignal: true, isRequired: false, transformFunction: null }, roundHeaderComponent: { classPropertyName: "roundHeaderComponent", publicName: "roundHeaderComponent", isSignal: true, isRequired: false, transformFunction: null }, matchComponent: { classPropertyName: "matchComponent", publicName: "matchComponent", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-new-bracket-host" }, ngImport: i0, template: "<section\n [style.--_cw.px]=\"columnWidth()\"\n [style.--_mh.px]=\"matchHeight()\"\n [style.--_rhh.px]=\"roundHeaderHeight()\"\n [style.--_cg.px]=\"columnGap()\"\n [style.--_rg.px]=\"rowGap()\"\n [style.--_bcc]=\"definitions().columnCount\"\n [style.--_brc]=\"definitions().rowCount\"\n class=\"et-bracket-new\"\n>\n <svg [innerHTML]=\"drawManData()\" class=\"et-bracket-new-svg\" xmlns=\"http://www.w3.org/2000/svg\" />\n\n @for (round of items().values(); track round.id) {\n <ul [style.--_c]=\"round.columnStart + ' / ' + round.columnEnd\" class=\"et-bracket-new-round\">\n @for (item of round.items.values(); track item.id) {\n <li [style.--_r]=\"item.rowStart + ' / ' + item.rowEnd\" class=\"et-bracket-new-item\">\n <ng-container *ngComponentOutlet=\"item.component; inputs: item.data\" />\n </li>\n }\n </ul>\n }\n</section>\n", styles: [".et-bracket-new{display:grid;gap:var(--_cg);grid-auto-columns:var(--_cw)}.et-bracket-new-round{display:grid;grid-column:var(--_c);grid-row:1;list-style:none;margin:0;padding:0;gap:var(--_rg);grid-template-rows:var(--_rhh);grid-auto-rows:var(--_mh)}.et-bracket-new-item{grid-row:var(--_r);place-self:center}.et-bracket-new-svg{grid-column:1/calc(var(--_bcc) + 1);grid-row:1/2;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NewBracketComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'et-new-bracket', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
51
+ class: 'et-new-bracket-host',
52
+ }, imports: [NgComponentOutlet], template: "<section\n [style.--_cw.px]=\"columnWidth()\"\n [style.--_mh.px]=\"matchHeight()\"\n [style.--_rhh.px]=\"roundHeaderHeight()\"\n [style.--_cg.px]=\"columnGap()\"\n [style.--_rg.px]=\"rowGap()\"\n [style.--_bcc]=\"definitions().columnCount\"\n [style.--_brc]=\"definitions().rowCount\"\n class=\"et-bracket-new\"\n>\n <svg [innerHTML]=\"drawManData()\" class=\"et-bracket-new-svg\" xmlns=\"http://www.w3.org/2000/svg\" />\n\n @for (round of items().values(); track round.id) {\n <ul [style.--_c]=\"round.columnStart + ' / ' + round.columnEnd\" class=\"et-bracket-new-round\">\n @for (item of round.items.values(); track item.id) {\n <li [style.--_r]=\"item.rowStart + ' / ' + item.rowEnd\" class=\"et-bracket-new-item\">\n <ng-container *ngComponentOutlet=\"item.component; inputs: item.data\" />\n </li>\n }\n </ul>\n }\n</section>\n", styles: [".et-bracket-new{display:grid;gap:var(--_cg);grid-auto-columns:var(--_cw)}.et-bracket-new-round{display:grid;grid-column:var(--_c);grid-row:1;list-style:none;margin:0;padding:0;gap:var(--_rg);grid-template-rows:var(--_rhh);grid-auto-rows:var(--_mh)}.et-bracket-new-item{grid-row:var(--_r);place-self:center}.et-bracket-new-svg{grid-column:1/calc(var(--_bcc) + 1);grid-row:1/2;inline-size:100%;block-size:100%}\n"] }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWJyYWNrZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2JyYWNrZXQvY29tcG9uZW50cy9uZXctYnJhY2tldC9uZXctYnJhY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9jb21wb25lbnRzL25ldy1icmFja2V0L25ldy1icmFja2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBQ2YsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBRUwsa0NBQWtDLEVBQ2xDLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QixzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQXNELHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBY2pILE1BQU0sT0FBTyxtQkFBbUI7SUFaaEM7UUFhRSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVDLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDeEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQzlELGNBQVMsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDdEQsV0FBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUVuRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUVqRSx5QkFBb0IsR0FBRyxLQUFLLEVBQW1FLENBQUM7UUFDaEcsbUJBQWMsR0FBRyxLQUFLLEVBQTZELENBQUM7UUFFcEYsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRSx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RixzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsRixtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVFLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM3QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQzVGLENBQUM7UUFFRixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpILFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3BCLHdCQUF3QixDQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLEVBQ2xCLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLEVBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFDckI7WUFDRSxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUM3QyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQ3RDLENBQ0YsQ0FDRixDQUFDO1FBRUYsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzFCLDhCQUE4QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDdEUsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7U0FDOUMsQ0FBQyxDQUNILENBQUM7UUFFRixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDM0MsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3pFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ3BDLENBQUMsQ0FDSCxDQUNGLENBQUM7S0FDSDtJQTFEQyxhQUFhLENBQXdCOytHQUQxQixtQkFBbUI7bUdBQW5CLG1CQUFtQixnNUNDckNoQyxxM0JBc0JBLG9kRGFZLGlCQUFpQjs7NEZBRWhCLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0IsV0FDUSxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDb21wb25lbnRPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1xuICBCcmFja2V0RGF0YSxcbiAgZ2VuZXJhdGVCcmFja2V0Um91bmRTd2lzc0dyb3VwTWFwcyxcbiAgZ2VuZXJhdGVCcmFja2V0Um91bmRUeXBlTWFwLFxuICBnZW5lcmF0ZU1hdGNoUGFydGljaXBhbnRNYXAsXG4gIGdlbmVyYXRlTWF0Y2hQb3NpdGlvbk1hcHMsXG4gIGdlbmVyYXRlTWF0Y2hSZWxhdGlvbnMsXG4gIGdlbmVyYXRlUm91bmRSZWxhdGlvbnMsXG59IGZyb20gJy4vYnJhY2tldC1uZXcnO1xuaW1wb3J0IHsgZHJhd01hbiB9IGZyb20gJy4vZHJhdy1tYW4nO1xuaW1wb3J0IHsgZ2VuZXJhdGVCcmFja2V0R3JpZERlZmluaXRpb25zIH0gZnJvbSAnLi9ncmlkLWRlZmluaXRpb25zJztcbmltcG9ydCB7IEJyYWNrZXRNYXRjaENvbXBvbmVudCwgQnJhY2tldFJvdW5kSGVhZGVyQ29tcG9uZW50LCBnZW5lcmF0ZUJyYWNrZXRHcmlkSXRlbXMgfSBmcm9tICcuL2dyaWQtcGxhY2VtZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LW5ldy1icmFja2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL25ldy1icmFja2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL25ldy1icmFja2V0LmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LW5ldy1icmFja2V0LWhvc3QnLFxuICB9LFxuICBpbXBvcnRzOiBbTmdDb21wb25lbnRPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZXdCcmFja2V0Q29tcG9uZW50PFRSb3VuZERhdGEgPSB1bmtub3duLCBUTWF0Y2hEYXRhID0gdW5rbm93bj4ge1xuICAjZG9tU2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIGJyYWNrZXREYXRhID0gaW5wdXQucmVxdWlyZWQ8QnJhY2tldERhdGE8VFJvdW5kRGF0YSwgVE1hdGNoRGF0YT4+KCk7XG5cbiAgY29sdW1uV2lkdGggPSBpbnB1dCgyNTAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIG1hdGNoSGVpZ2h0ID0gaW5wdXQoNzUsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHJvdW5kSGVhZGVySGVpZ2h0ID0gaW5wdXQoNTAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIGNvbHVtbkdhcCA9IGlucHV0KDYwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICByb3dHYXAgPSBpbnB1dCgzMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICBoaWRlUm91bmRIZWFkZXJzID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIHJvdW5kSGVhZGVyQ29tcG9uZW50ID0gaW5wdXQ8QnJhY2tldFJvdW5kSGVhZGVyQ29tcG9uZW50PFRSb3VuZERhdGEsIFRNYXRjaERhdGE+IHwgdW5kZWZpbmVkPigpO1xuICBtYXRjaENvbXBvbmVudCA9IGlucHV0PEJyYWNrZXRNYXRjaENvbXBvbmVudDxUUm91bmREYXRhLCBUTWF0Y2hEYXRhPiB8IHVuZGVmaW5lZD4oKTtcblxuICByb3VuZFR5cGVNYXAgPSBjb21wdXRlZCgoKSA9PiBnZW5lcmF0ZUJyYWNrZXRSb3VuZFR5cGVNYXAodGhpcy5icmFja2V0RGF0YSgpKSk7XG4gIG1hdGNoUGFydGljaXBhbnRNYXAgPSBjb21wdXRlZCgoKSA9PiBnZW5lcmF0ZU1hdGNoUGFydGljaXBhbnRNYXAodGhpcy5icmFja2V0RGF0YSgpKSk7XG4gIG1hdGNoUG9zaXRpb25zTWFwID0gY29tcHV0ZWQoKCkgPT4gZ2VuZXJhdGVNYXRjaFBvc2l0aW9uTWFwcyh0aGlzLmJyYWNrZXREYXRhKCkpKTtcblxuICByb3VuZFJlbGF0aW9ucyA9IGNvbXB1dGVkKCgpID0+IGdlbmVyYXRlUm91bmRSZWxhdGlvbnModGhpcy5icmFja2V0RGF0YSgpKSk7XG4gIG1hdGNoUmVsYXRpb25zID0gY29tcHV0ZWQoKCkgPT5cbiAgICBnZW5lcmF0ZU1hdGNoUmVsYXRpb25zKHRoaXMuYnJhY2tldERhdGEoKSwgdGhpcy5yb3VuZFJlbGF0aW9ucygpLCB0aGlzLm1hdGNoUG9zaXRpb25zTWFwKCkpLFxuICApO1xuXG4gIHN3aXNzR3JvdXBzID0gY29tcHV0ZWQoKCkgPT4gZ2VuZXJhdGVCcmFja2V0Um91bmRTd2lzc0dyb3VwTWFwcyh0aGlzLmJyYWNrZXREYXRhKCksIHRoaXMubWF0Y2hQYXJ0aWNpcGFudE1hcCgpKSk7XG5cbiAgaXRlbXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIGdlbmVyYXRlQnJhY2tldEdyaWRJdGVtcyhcbiAgICAgIHRoaXMuYnJhY2tldERhdGEoKSxcbiAgICAgIHRoaXMucm91bmRUeXBlTWFwKCksXG4gICAgICB0aGlzLnN3aXNzR3JvdXBzKCksXG4gICAgICB0aGlzLnJvdW5kUmVsYXRpb25zKCksXG4gICAgICB0aGlzLm1hdGNoUmVsYXRpb25zKCksXG4gICAgICB7XG4gICAgICAgIGluY2x1ZGVSb3VuZEhlYWRlcnM6ICF0aGlzLmhpZGVSb3VuZEhlYWRlcnMoKSxcbiAgICAgICAgaGVhZGVyQ29tcG9uZW50OiB0aGlzLnJvdW5kSGVhZGVyQ29tcG9uZW50KCksXG4gICAgICAgIG1hdGNoQ29tcG9uZW50OiB0aGlzLm1hdGNoQ29tcG9uZW50KCksXG4gICAgICB9LFxuICAgICksXG4gICk7XG5cbiAgZGVmaW5pdGlvbnMgPSBjb21wdXRlZCgoKSA9PlxuICAgIGdlbmVyYXRlQnJhY2tldEdyaWREZWZpbml0aW9ucyh0aGlzLmJyYWNrZXREYXRhKCksIHRoaXMucm91bmRUeXBlTWFwKCksIHtcbiAgICAgIGluY2x1ZGVSb3VuZEhlYWRlcnM6ICF0aGlzLmhpZGVSb3VuZEhlYWRlcnMoKSxcbiAgICB9KSxcbiAgKTtcblxuICBkcmF3TWFuRGF0YSA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy4jZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxuICAgICAgZHJhd01hbih0aGlzLml0ZW1zKCksIHRoaXMucm91bmRSZWxhdGlvbnMoKSwge1xuICAgICAgICBjb2x1bW5HYXA6IHRoaXMuY29sdW1uR2FwKCksXG4gICAgICAgIGNvbHVtbldpZHRoOiB0aGlzLmNvbHVtbldpZHRoKCksXG4gICAgICAgIG1hdGNoSGVpZ2h0OiB0aGlzLm1hdGNoSGVpZ2h0KCksXG4gICAgICAgIHJvdW5kSGVhZGVySGVpZ2h0OiB0aGlzLmhpZGVSb3VuZEhlYWRlcnMoKSA/IDAgOiB0aGlzLnJvdW5kSGVhZGVySGVpZ2h0KCksXG4gICAgICAgIHJvd0dhcDogdGhpcy5yb3dHYXAoKSxcbiAgICAgICAgZ3JpZERlZmluaXRpb25zOiB0aGlzLmRlZmluaXRpb25zKCksXG4gICAgICB9KSxcbiAgICApLFxuICApO1xufVxuIiwiPHNlY3Rpb25cbiAgW3N0eWxlLi0tX2N3LnB4XT1cImNvbHVtbldpZHRoKClcIlxuICBbc3R5bGUuLS1fbWgucHhdPVwibWF0Y2hIZWlnaHQoKVwiXG4gIFtzdHlsZS4tLV9yaGgucHhdPVwicm91bmRIZWFkZXJIZWlnaHQoKVwiXG4gIFtzdHlsZS4tLV9jZy5weF09XCJjb2x1bW5HYXAoKVwiXG4gIFtzdHlsZS4tLV9yZy5weF09XCJyb3dHYXAoKVwiXG4gIFtzdHlsZS4tLV9iY2NdPVwiZGVmaW5pdGlvbnMoKS5jb2x1bW5Db3VudFwiXG4gIFtzdHlsZS4tLV9icmNdPVwiZGVmaW5pdGlvbnMoKS5yb3dDb3VudFwiXG4gIGNsYXNzPVwiZXQtYnJhY2tldC1uZXdcIlxuPlxuICA8c3ZnIFtpbm5lckhUTUxdPVwiZHJhd01hbkRhdGEoKVwiIGNsYXNzPVwiZXQtYnJhY2tldC1uZXctc3ZnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIC8+XG5cbiAgQGZvciAocm91bmQgb2YgaXRlbXMoKS52YWx1ZXMoKTsgdHJhY2sgcm91bmQuaWQpIHtcbiAgICA8dWwgW3N0eWxlLi0tX2NdPVwicm91bmQuY29sdW1uU3RhcnQgKyAnIC8gJyArIHJvdW5kLmNvbHVtbkVuZFwiIGNsYXNzPVwiZXQtYnJhY2tldC1uZXctcm91bmRcIj5cbiAgICAgIEBmb3IgKGl0ZW0gb2Ygcm91bmQuaXRlbXMudmFsdWVzKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgPGxpIFtzdHlsZS4tLV9yXT1cIml0ZW0ucm93U3RhcnQgKyAnIC8gJyArIGl0ZW0ucm93RW5kXCIgY2xhc3M9XCJldC1icmFja2V0LW5ldy1pdGVtXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJpdGVtLmNvbXBvbmVudDsgaW5wdXRzOiBpdGVtLmRhdGFcIiAvPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gIH1cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -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';
@@ -7,4 +8,4 @@ export * from '../partials/bracket-match';
7
8
  export * from '../partials/bracket-round-header';
8
9
  export * from '../types';
9
10
  export * from '../utils';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9wdWJsaWMtYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vYnJhY2tldC5pbXBvcnRzJztcbmV4cG9ydCAqIGZyb20gJy4uL2NvbXBvbmVudHMvYnJhY2tldCc7XG5leHBvcnQgKiBmcm9tICcuLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi4vZGlyZWN0aXZlcy9icmFja2V0LW1hdGNoJztcbmV4cG9ydCAqIGZyb20gJy4uL2RpcmVjdGl2ZXMvYnJhY2tldC1yb3VuZCc7XG5leHBvcnQgKiBmcm9tICcuLi9wYXJ0aWFscy9icmFja2V0LW1hdGNoJztcbmV4cG9ydCAqIGZyb20gJy4uL3BhcnRpYWxzL2JyYWNrZXQtcm91bmQtaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4uL3V0aWxzJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvYnJhY2tldC9wdWJsaWMtYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxPQUFPLEtBQUssVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi9icmFja2V0LmltcG9ydHMnO1xuZXhwb3J0ICogZnJvbSAnLi4vY29tcG9uZW50cy9icmFja2V0JztcbmV4cG9ydCAqIGFzIEJyYWNrZXROZXcgZnJvbSAnLi4vY29tcG9uZW50cy9uZXctYnJhY2tldCc7XG5leHBvcnQgKiBmcm9tICcuLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi4vZGlyZWN0aXZlcy9icmFja2V0LW1hdGNoJztcbmV4cG9ydCAqIGZyb20gJy4uL2RpcmVjdGl2ZXMvYnJhY2tldC1yb3VuZCc7XG5leHBvcnQgKiBmcm9tICcuLi9wYXJ0aWFscy9icmFja2V0LW1hdGNoJztcbmV4cG9ydCAqIGZyb20gJy4uL3BhcnRpYWxzL2JyYWNrZXQtcm91bmQtaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4uL3V0aWxzJztcbiJdfQ==