pdf-factory 0.1.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 (105) hide show
  1. package/dist/comparison/visualCompare.d.ts +26 -0
  2. package/dist/comparison/visualCompare.d.ts.map +1 -0
  3. package/dist/composition/editorTypes.d.ts +80 -0
  4. package/dist/composition/editorTypes.d.ts.map +1 -0
  5. package/dist/composition/footerLayouts.d.ts +5 -0
  6. package/dist/composition/footerLayouts.d.ts.map +1 -0
  7. package/dist/composition/headerLayouts.d.ts +4 -0
  8. package/dist/composition/headerLayouts.d.ts.map +1 -0
  9. package/dist/composition/page.d.ts +11 -0
  10. package/dist/composition/page.d.ts.map +1 -0
  11. package/dist/composition/printDispatcher.d.ts +31 -0
  12. package/dist/composition/printDispatcher.d.ts.map +1 -0
  13. package/dist/composition/printModalTypes.d.ts +66 -0
  14. package/dist/composition/printModalTypes.d.ts.map +1 -0
  15. package/dist/composition/seedingsFooter.d.ts +6 -0
  16. package/dist/composition/seedingsFooter.d.ts.map +1 -0
  17. package/dist/config/compositionCatalog.d.ts +20 -0
  18. package/dist/config/compositionCatalog.d.ts.map +1 -0
  19. package/dist/config/formatPresets.d.ts +5 -0
  20. package/dist/config/formatPresets.d.ts.map +1 -0
  21. package/dist/config/types.d.ts +99 -0
  22. package/dist/config/types.d.ts.map +1 -0
  23. package/dist/core/drawsDataToDrawData.d.ts +6 -0
  24. package/dist/core/drawsDataToDrawData.d.ts.map +1 -0
  25. package/dist/core/extractCompassData.d.ts +19 -0
  26. package/dist/core/extractCompassData.d.ts.map +1 -0
  27. package/dist/core/extractCourtCardData.d.ts +25 -0
  28. package/dist/core/extractCourtCardData.d.ts.map +1 -0
  29. package/dist/core/extractDrawData.d.ts +39 -0
  30. package/dist/core/extractDrawData.d.ts.map +1 -0
  31. package/dist/core/extractParticipantData.d.ts +17 -0
  32. package/dist/core/extractParticipantData.d.ts.map +1 -0
  33. package/dist/core/extractRoundRobinData.d.ts +30 -0
  34. package/dist/core/extractRoundRobinData.d.ts.map +1 -0
  35. package/dist/core/extractScheduleData.d.ts +34 -0
  36. package/dist/core/extractScheduleData.d.ts.map +1 -0
  37. package/dist/generators/courtCard.d.ts +9 -0
  38. package/dist/generators/courtCard.d.ts.map +1 -0
  39. package/dist/generators/drawPDF.d.ts +36 -0
  40. package/dist/generators/drawPDF.d.ts.map +1 -0
  41. package/dist/generators/drawSheet.d.ts +10 -0
  42. package/dist/generators/drawSheet.d.ts.map +1 -0
  43. package/dist/generators/generateFromEventData.d.ts +13 -0
  44. package/dist/generators/generateFromEventData.d.ts.map +1 -0
  45. package/dist/generators/matchCard.d.ts +25 -0
  46. package/dist/generators/matchCard.d.ts.map +1 -0
  47. package/dist/generators/playerList.d.ts +11 -0
  48. package/dist/generators/playerList.d.ts.map +1 -0
  49. package/dist/generators/schedule.d.ts +11 -0
  50. package/dist/generators/schedule.d.ts.map +1 -0
  51. package/dist/generators/scheduleV2.d.ts +18 -0
  52. package/dist/generators/scheduleV2.d.ts.map +1 -0
  53. package/dist/generators/sequentialOOP.d.ts +16 -0
  54. package/dist/generators/sequentialOOP.d.ts.map +1 -0
  55. package/dist/generators/signInSheet.d.ts +11 -0
  56. package/dist/generators/signInSheet.d.ts.map +1 -0
  57. package/dist/index.d.ts +77 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/layout/brackets.d.ts +26 -0
  60. package/dist/layout/brackets.d.ts.map +1 -0
  61. package/dist/layout/fonts.d.ts +20 -0
  62. package/dist/layout/fonts.d.ts.map +1 -0
  63. package/dist/layout/headers.d.ts +12 -0
  64. package/dist/layout/headers.d.ts.map +1 -0
  65. package/dist/layout/tables.d.ts +3 -0
  66. package/dist/layout/tables.d.ts.map +1 -0
  67. package/dist/parser/coordinateClustering.d.ts +16 -0
  68. package/dist/parser/coordinateClustering.d.ts.map +1 -0
  69. package/dist/parser/drawExtractor.d.ts +32 -0
  70. package/dist/parser/drawExtractor.d.ts.map +1 -0
  71. package/dist/parser/pdfExtractor.d.ts +37 -0
  72. package/dist/parser/pdfExtractor.d.ts.map +1 -0
  73. package/dist/parser/regionDetector.d.ts +16 -0
  74. package/dist/parser/regionDetector.d.ts.map +1 -0
  75. package/dist/parser/textAnalyzer.d.ts +23 -0
  76. package/dist/parser/textAnalyzer.d.ts.map +1 -0
  77. package/dist/parser/textMerger.d.ts +25 -0
  78. package/dist/parser/textMerger.d.ts.map +1 -0
  79. package/dist/pdf-factory.cjs +23 -0
  80. package/dist/pdf-factory.cjs.map +1 -0
  81. package/dist/pdf-factory.mjs +121901 -0
  82. package/dist/pdf-factory.mjs.map +1 -0
  83. package/dist/renderers/backdrawDraw.d.ts +9 -0
  84. package/dist/renderers/backdrawDraw.d.ts.map +1 -0
  85. package/dist/renderers/compassDraw.d.ts +5 -0
  86. package/dist/renderers/compassDraw.d.ts.map +1 -0
  87. package/dist/renderers/consolationDraw.d.ts +15 -0
  88. package/dist/renderers/consolationDraw.d.ts.map +1 -0
  89. package/dist/renderers/doubleEliminationDraw.d.ts +10 -0
  90. package/dist/renderers/doubleEliminationDraw.d.ts.map +1 -0
  91. package/dist/renderers/drawSplitter.d.ts +16 -0
  92. package/dist/renderers/drawSplitter.d.ts.map +1 -0
  93. package/dist/renderers/formatEntry.d.ts +10 -0
  94. package/dist/renderers/formatEntry.d.ts.map +1 -0
  95. package/dist/renderers/luckyDraw.d.ts +5 -0
  96. package/dist/renderers/luckyDraw.d.ts.map +1 -0
  97. package/dist/renderers/mirroredDraw.d.ts +5 -0
  98. package/dist/renderers/mirroredDraw.d.ts.map +1 -0
  99. package/dist/renderers/roundRobinDraw.d.ts +5 -0
  100. package/dist/renderers/roundRobinDraw.d.ts.map +1 -0
  101. package/dist/renderers/traditionalDraw.d.ts +15 -0
  102. package/dist/renderers/traditionalDraw.d.ts.map +1 -0
  103. package/dist/utils/primitives.d.ts +10 -0
  104. package/dist/utils/primitives.d.ts.map +1 -0
  105. package/package.json +111 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Visual comparison of PDFs using pdf-to-img + pixelmatch.
3
+ *
4
+ * Converts PDF pages to PNG images and compares them pixel-by-pixel.
5
+ * Supports snapshot-based regression testing: first run creates snapshots,
6
+ * subsequent runs compare against them and produce diff images.
7
+ */
8
+ export interface CompareResult {
9
+ page: number;
10
+ mismatchedPixels: number;
11
+ totalPixels: number;
12
+ mismatchPercent: number;
13
+ diffPath?: string;
14
+ snapshotCreated: boolean;
15
+ }
16
+ export interface CompareOptions {
17
+ scale?: number;
18
+ threshold?: number;
19
+ snapshotsDir: string;
20
+ snapshotName: string;
21
+ updateSnapshots?: boolean;
22
+ }
23
+ export declare function pdfToImages(pdfBuffer: Buffer, scale?: number): Promise<Buffer[]>;
24
+ export declare function comparePdfToSnapshot(pdfBuffer: Buffer, options: CompareOptions): Promise<CompareResult[]>;
25
+ export declare function comparetwoPdfs(pdfA: Buffer, pdfB: Buffer, outputDir: string, nameA?: string, nameB?: string, scale?: number, threshold?: number): Promise<CompareResult[]>;
26
+ //# sourceMappingURL=visualCompare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visualCompare.d.ts","sourceRoot":"","sources":["../../src/comparison/visualCompare.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO3F;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA+D/G;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAY,EACnB,KAAK,GAAE,MAAY,EACnB,KAAK,GAAE,MAAY,EACnB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CA2D1B"}
@@ -0,0 +1,80 @@
1
+ import { HeaderConfig, FooterConfig, PageConfig, DrawFormatConfig, HeaderLayout, FooterLayout } from '../config/types';
2
+ export interface CompositionConfig {
3
+ id?: string;
4
+ name: string;
5
+ description?: string;
6
+ page: PageConfig;
7
+ header: HeaderConfig;
8
+ footer: FooterConfig;
9
+ format: DrawFormatConfig;
10
+ content: ContentOptions;
11
+ createdAt?: string;
12
+ updatedAt?: string;
13
+ }
14
+ export interface ContentOptions {
15
+ draw?: {
16
+ includeSeedings: boolean;
17
+ includeScores: boolean;
18
+ splitStrategy: 'single-page' | 'halves' | 'quarters';
19
+ showDrawPositions: boolean;
20
+ showByes: boolean;
21
+ };
22
+ schedule?: {
23
+ cellStyle: 'detailed' | 'compact';
24
+ showMatchNumbers: boolean;
25
+ alertBanner?: string;
26
+ showPotentialParticipants: boolean;
27
+ };
28
+ playerList?: {
29
+ includeRanking: boolean;
30
+ includeEvents: boolean;
31
+ groupByEvent: boolean;
32
+ showSignInStatus: boolean;
33
+ };
34
+ courtCard?: {
35
+ showNextMatch: boolean;
36
+ showVenueName: boolean;
37
+ cardsPerPage: number;
38
+ };
39
+ }
40
+ export interface EditorState {
41
+ activeTab: 'page' | 'header' | 'footer' | 'content' | 'preview';
42
+ config: CompositionConfig;
43
+ previewData?: PreviewData;
44
+ isDirty: boolean;
45
+ }
46
+ export interface PreviewData {
47
+ type: 'draw' | 'schedule' | 'playerList' | 'courtCard' | 'signInSheet' | 'matchCard';
48
+ pdfBlob?: Blob;
49
+ previewUrl?: string;
50
+ }
51
+ export interface CompositionTemplate {
52
+ id: string;
53
+ name: string;
54
+ description: string;
55
+ category: 'grand-slam' | 'itf' | 'national' | 'club' | 'custom';
56
+ config: CompositionConfig;
57
+ }
58
+ export declare const HEADER_LAYOUT_OPTIONS: {
59
+ value: HeaderLayout;
60
+ label: string;
61
+ description: string;
62
+ }[];
63
+ export declare const FOOTER_LAYOUT_OPTIONS: {
64
+ value: FooterLayout;
65
+ label: string;
66
+ description: string;
67
+ }[];
68
+ export declare const PAGE_SIZE_OPTIONS: {
69
+ value: string;
70
+ label: string;
71
+ }[];
72
+ export declare const ORIENTATION_OPTIONS: {
73
+ value: string;
74
+ label: string;
75
+ }[];
76
+ export declare const SPLIT_STRATEGY_OPTIONS: {
77
+ value: string;
78
+ label: string;
79
+ }[];
80
+ //# sourceMappingURL=editorTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorTypes.d.ts","sourceRoot":"","sources":["../../src/composition/editorTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IAGzB,OAAO,EAAE,cAAc,CAAC;IAGxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAE7B,IAAI,CAAC,EAAE;QACL,eAAe,EAAE,OAAO,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;QACrD,iBAAiB,EAAE,OAAO,CAAC;QAC3B,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IAGF,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;QAClC,gBAAgB,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,yBAAyB,EAAE,OAAO,CAAC;KACpC,CAAC;IAGF,UAAU,CAAC,EAAE;QACX,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IAGF,SAAS,CAAC,EAAE;QACV,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAID,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAChE,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IACrF,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChE,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAID,eAAO,MAAM,qBAAqB,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAS9F,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAK9F,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;GAG7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAI/B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;GAIlC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { default as jsPDF } from 'jspdf';
2
+ import { FooterConfig, PageConfig } from '../config/types';
3
+ export declare function renderFooter(doc: jsPDF, config: FooterConfig, pageConfig: PageConfig, pageNumber?: number): number;
4
+ export declare function measureFooterHeight(config: FooterConfig): number;
5
+ //# sourceMappingURL=footerLayouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footerLayouts.d.ts","sourceRoot":"","sources":["../../src/composition/footerLayouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGhE,wBAAgB,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBlH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAuBhE"}
@@ -0,0 +1,4 @@
1
+ import { default as jsPDF } from 'jspdf';
2
+ import { HeaderConfig, PageConfig } from '../config/types';
3
+ export declare function renderHeader(doc: jsPDF, config: HeaderConfig, pageConfig: PageConfig): number;
4
+ //# sourceMappingURL=headerLayouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerLayouts.d.ts","sourceRoot":"","sources":["../../src/composition/headerLayouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGhE,wBAAgB,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAe7F"}
@@ -0,0 +1,11 @@
1
+ import { default as jsPDF } from 'jspdf';
2
+ import { PageConfig, PageRegions } from '../config/types';
3
+ declare const PAGE_DIMENSIONS: Record<string, {
4
+ width: number;
5
+ height: number;
6
+ }>;
7
+ export declare function createDoc(config: PageConfig, drawSize?: number): jsPDF;
8
+ export declare function getPageRegions(doc: jsPDF, config: PageConfig, headerHeight: number, footerHeight: number): PageRegions;
9
+ export declare function getDefaultPageConfig(): PageConfig;
10
+ export { PAGE_DIMENSIONS };
11
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/composition/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,QAAA,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAGtE,CAAC;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAMtE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,WAAW,CAkBb;AAED,wBAAgB,oBAAoB,IAAI,UAAU,CAMjD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { default as jsPDF } from 'jspdf';
2
+ import { PrintRequest } from './printModalTypes';
3
+ export interface PrintResult {
4
+ success: boolean;
5
+ doc?: jsPDF;
6
+ blob?: Blob;
7
+ filename?: string;
8
+ error?: string;
9
+ }
10
+ /**
11
+ * Execute a print request and return the PDF.
12
+ *
13
+ * The caller (TMX) provides tournament data via the factory engine —
14
+ * this function extracts the needed data using the factory queries
15
+ * and generates the appropriate PDF.
16
+ *
17
+ * Usage in TMX:
18
+ * ```typescript
19
+ * import { executePrint } from 'pdf-factory';
20
+ * import { tournamentEngine } from 'tods-competition-factory';
21
+ *
22
+ * const result = executePrint(printRequest, { tournamentEngine });
23
+ * if (result.success && result.blob) {
24
+ * window.open(URL.createObjectURL(result.blob));
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function executePrint(request: PrintRequest, _engine: {
29
+ tournamentEngine: any;
30
+ }): PrintResult;
31
+ //# sourceMappingURL=printDispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printDispatcher.d.ts","sourceRoot":"","sources":["../../src/composition/printDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;IAAE,gBAAgB,EAAE,GAAG,CAAA;CAAE,GAAG,WAAW,CAenG"}
@@ -0,0 +1,66 @@
1
+ import { CompositionConfig } from './editorTypes';
2
+ export type PrintRequest = PrintDrawRequest | PrintScheduleRequest | PrintPlayerListRequest | PrintCourtCardsRequest | PrintSignInSheetRequest | PrintMatchCardRequest;
3
+ export interface PrintDrawRequest {
4
+ type: 'draw';
5
+ drawId: string;
6
+ eventId: string;
7
+ composition: CompositionConfig;
8
+ }
9
+ export interface PrintScheduleRequest {
10
+ type: 'schedule';
11
+ scheduledDate: string;
12
+ venueId?: string;
13
+ composition: CompositionConfig;
14
+ }
15
+ export interface PrintPlayerListRequest {
16
+ type: 'playerList';
17
+ eventId?: string;
18
+ composition: CompositionConfig;
19
+ }
20
+ export interface PrintCourtCardsRequest {
21
+ type: 'courtCards';
22
+ venueId?: string;
23
+ scheduledDate?: string;
24
+ composition: CompositionConfig;
25
+ }
26
+ export interface PrintSignInSheetRequest {
27
+ type: 'signInSheet';
28
+ eventId: string;
29
+ composition: CompositionConfig;
30
+ }
31
+ export interface PrintMatchCardRequest {
32
+ type: 'matchCard';
33
+ matchUpIds: string[];
34
+ composition: CompositionConfig;
35
+ }
36
+ export interface PrintResult {
37
+ success: boolean;
38
+ doc?: any;
39
+ blob?: Blob;
40
+ filename?: string;
41
+ error?: string;
42
+ }
43
+ export interface PrintModalConfig {
44
+ title: string;
45
+ tabs: PrintModalTab[];
46
+ }
47
+ export interface PrintModalTab {
48
+ id: string;
49
+ label: string;
50
+ icon?: string;
51
+ fields: PrintModalField[];
52
+ }
53
+ export interface PrintModalField {
54
+ id: string;
55
+ label: string;
56
+ type: 'select' | 'checkbox' | 'text' | 'number';
57
+ options?: {
58
+ value: string;
59
+ label: string;
60
+ }[];
61
+ defaultValue?: any;
62
+ configPath: string;
63
+ }
64
+ export declare const DRAW_MODAL_TABS: PrintModalTab[];
65
+ export declare const SCHEDULE_MODAL_TABS: PrintModalTab[];
66
+ //# sourceMappingURL=printModalTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printModalTypes.d.ts","sourceRoot":"","sources":["../../src/composition/printModalTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAID,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,eAAe,EAAE,aAAa,EAsE1C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,EA4C9C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { default as jsPDF } from 'jspdf';
2
+ import { DrawFormatConfig } from '../config/types';
3
+ import { DrawData } from '../core/extractDrawData';
4
+ export declare function renderSeedingsFooter(doc: jsPDF, drawData: DrawData, format: DrawFormatConfig, startY: number): number;
5
+ export declare function measureSeedingsHeight(seedCount: number): number;
6
+ //# sourceMappingURL=seedingsFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seedingsFooter.d.ts","sourceRoot":"","sources":["../../src/composition/seedingsFooter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAMxD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoCrH;AAoBD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI/D"}
@@ -0,0 +1,20 @@
1
+ import { HeaderConfig, FooterConfig, PageConfig } from './types';
2
+ export interface CompositionPreset {
3
+ id: string;
4
+ name: string;
5
+ description: string;
6
+ category: 'grand-slam' | 'tour' | 'itf' | 'national' | 'collegiate' | 'club';
7
+ tier: 1 | 2 | 3;
8
+ header: Partial<HeaderConfig>;
9
+ footer: Partial<FooterConfig>;
10
+ page?: Partial<PageConfig>;
11
+ drawFormatPreset?: string;
12
+ }
13
+ export declare const COMPOSITION_CATALOG: Record<string, CompositionPreset>;
14
+ export declare function getCatalogPreset(id: string): CompositionPreset | undefined;
15
+ export declare function listCatalogPresets(category?: string): CompositionPreset[];
16
+ export declare function mergeCatalogPreset(id: string, headerOverrides?: Partial<HeaderConfig>, footerOverrides?: Partial<FooterConfig>): {
17
+ header: Partial<HeaderConfig>;
18
+ footer: Partial<FooterConfig>;
19
+ };
20
+ //# sourceMappingURL=compositionCatalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compositionCatalog.d.ts","sourceRoot":"","sources":["../../src/config/compositionCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKtE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC7E,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAyHjE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE1E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAGzE;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,eAAe,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EACvC,eAAe,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GACtC;IAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,CAMlE"}
@@ -0,0 +1,5 @@
1
+ import { DrawFormatConfig } from './types';
2
+ export declare const PRESETS: Record<string, DrawFormatConfig>;
3
+ export declare function getPreset(name: string): DrawFormatConfig;
4
+ export declare function mergePreset(name: string, overrides: Partial<DrawFormatConfig>): DrawFormatConfig;
5
+ //# sourceMappingURL=formatPresets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatPresets.d.ts","sourceRoot":"","sources":["../../src/config/formatPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAwDhD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA0FpD,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAExD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEhG"}
@@ -0,0 +1,99 @@
1
+ export interface PageConfig {
2
+ pageSize: 'a4' | 'letter';
3
+ orientation: 'portrait' | 'landscape' | 'auto';
4
+ margins: {
5
+ top: number;
6
+ right: number;
7
+ bottom: number;
8
+ left: number;
9
+ };
10
+ }
11
+ export interface PageRegions {
12
+ headerHeight: number;
13
+ footerHeight: number;
14
+ contentY: number;
15
+ contentHeight: number;
16
+ contentWidth: number;
17
+ pageWidth: number;
18
+ pageHeight: number;
19
+ }
20
+ export type NameFormat = 'LAST, First' | 'LAST First' | 'F. LAST';
21
+ export type NationalityFormat = 'bare' | 'parens' | 'hyphen';
22
+ export type SeedPosition = 'before-position' | 'after-name' | 'after-country';
23
+ export type SeedFormat = 'brackets' | 'parens';
24
+ export type EntryFormat = 'parens' | 'hyphen' | 'bare';
25
+ export type GameScoreSeparator = '-' | '/';
26
+ export type SetScoreSeparator = ' ' | ' | ';
27
+ export type RenderStyle = 'traditional-lines' | 'boxes' | 'lucky-draw' | 'round-robin' | 'mirrored-bracket';
28
+ export interface DrawFormatConfig {
29
+ nameFormat: NameFormat;
30
+ nationalityFormat: NationalityFormat;
31
+ seedPosition: SeedPosition;
32
+ seedFormat: SeedFormat;
33
+ entryFormat: EntryFormat;
34
+ gameScoreSeparator: GameScoreSeparator;
35
+ setScoreSeparator: SetScoreSeparator;
36
+ retirementLabel: string;
37
+ walkoverLabel: string;
38
+ roundLabels: Record<string, string>;
39
+ renderStyle: RenderStyle;
40
+ page: PageConfig;
41
+ }
42
+ export interface DrawSplitConfig {
43
+ maxPositionsPerPage: number;
44
+ includeOverlapRounds: boolean;
45
+ summaryPage: boolean;
46
+ }
47
+ export type HeaderLayout = 'itf' | 'grand-slam' | 'minimal' | 'none' | 'wta-tour' | 'national-federation';
48
+ export type FooterLayout = 'standard' | 'seedings' | 'officials' | 'none' | 'seedings-table' | 'prize-money' | 'officials-signoff' | 'combined-tour';
49
+ export interface HeaderConfig {
50
+ layout: HeaderLayout;
51
+ tournamentName: string;
52
+ subtitle?: string;
53
+ startDate?: string;
54
+ endDate?: string;
55
+ location?: string;
56
+ organizer?: string;
57
+ surface?: string;
58
+ grade?: string;
59
+ supervisor?: string;
60
+ city?: string;
61
+ country?: string;
62
+ prizeMoney?: string;
63
+ currency?: string;
64
+ tournamentId?: string;
65
+ sectionLabel?: string;
66
+ leftLogoBase64?: string;
67
+ rightLogoBase64?: string;
68
+ chiefUmpire?: string;
69
+ }
70
+ export interface FooterConfig {
71
+ layout: FooterLayout;
72
+ showPageNumbers?: boolean;
73
+ showTimestamp?: boolean;
74
+ notes?: string[];
75
+ officials?: string[];
76
+ seedAssignments?: {
77
+ seedValue: number;
78
+ participantName: string;
79
+ nationality?: string;
80
+ ranking?: number;
81
+ }[];
82
+ prizeMoney?: {
83
+ round: string;
84
+ amount?: string;
85
+ points?: string;
86
+ }[];
87
+ signatureLines?: {
88
+ role: string;
89
+ name?: string;
90
+ }[];
91
+ drawCeremonyDate?: string;
92
+ releaseDate?: string;
93
+ withdrawals?: {
94
+ name: string;
95
+ reason?: string;
96
+ }[];
97
+ luckyLosers?: string[];
98
+ }
99
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DrawData } from './extractDrawData';
2
+ /** Convert a single drawsData structure into DrawData */
3
+ export declare function structureToDrawData(struct: any): DrawData;
4
+ /** Find a structure by stage from drawsData */
5
+ export declare function findStructure(drawsData: any[], stage: string): any;
6
+ //# sourceMappingURL=drawsDataToDrawData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawsDataToDrawData.d.ts","sourceRoot":"","sources":["../../src/core/drawsDataToDrawData.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,mBAAmB,CAAC;AAEzE,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,QAAQ,CAwEzD;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAElE"}
@@ -0,0 +1,19 @@
1
+ import { DrawSlot, DrawMatchUp } from './extractDrawData';
2
+ export interface CompassStructure {
3
+ name: string;
4
+ abbreviation: string;
5
+ drawSize: number;
6
+ slots: DrawSlot[];
7
+ matchUps: DrawMatchUp[];
8
+ totalRounds: number;
9
+ }
10
+ export interface CompassDrawData {
11
+ drawName: string;
12
+ structures: CompassStructure[];
13
+ mainStructure?: CompassStructure;
14
+ }
15
+ export declare function extractCompassData(params: {
16
+ drawDefinition: any;
17
+ participants?: any[];
18
+ }): CompassDrawData;
19
+ //# sourceMappingURL=extractCompassData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractCompassData.d.ts","sourceRoot":"","sources":["../../src/core/extractCompassData.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC;AAaD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,cAAc,EAAE,GAAG,CAAC;IAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,eAAe,CAyDzG"}
@@ -0,0 +1,25 @@
1
+ export interface CourtCardData {
2
+ courtName: string;
3
+ venueName?: string;
4
+ currentMatch?: CourtCardMatch;
5
+ nextMatch?: CourtCardMatch;
6
+ }
7
+ export interface CourtCardMatch {
8
+ eventName: string;
9
+ roundName: string;
10
+ scheduledTime?: string;
11
+ side1: {
12
+ name: string;
13
+ nationality: string;
14
+ };
15
+ side2: {
16
+ name: string;
17
+ nationality: string;
18
+ };
19
+ }
20
+ export declare function extractCourtCardData(params: {
21
+ matchUps?: any[];
22
+ venues?: any[];
23
+ scheduledDate?: string;
24
+ }): CourtCardData[];
25
+ //# sourceMappingURL=extractCourtCardData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractCourtCardData.d.ts","sourceRoot":"","sources":["../../src/core/extractCourtCardData.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,aAAa,EAAE,CAoDlB"}
@@ -0,0 +1,39 @@
1
+ export interface DrawSlot {
2
+ drawPosition: number;
3
+ participantName: string;
4
+ nationality: string;
5
+ seedValue?: number;
6
+ entryStatus?: string;
7
+ isBye?: boolean;
8
+ }
9
+ export interface DrawMatchUp {
10
+ roundNumber: number;
11
+ roundPosition: number;
12
+ drawPositions: number[];
13
+ score?: string;
14
+ winningSide?: number;
15
+ matchUpStatus?: string;
16
+ }
17
+ export interface DrawData {
18
+ drawName: string;
19
+ drawSize: number;
20
+ drawType: string;
21
+ totalRounds: number;
22
+ slots: DrawSlot[];
23
+ matchUps: DrawMatchUp[];
24
+ seedAssignments: {
25
+ seedValue: number;
26
+ participantName: string;
27
+ nationality: string;
28
+ }[];
29
+ roundLabelMap?: Record<number, string>;
30
+ noWinnerColumn?: boolean;
31
+ }
32
+ export declare function extractDrawData(params: {
33
+ drawDefinition: any;
34
+ participants?: any[];
35
+ structureId?: string;
36
+ processedMatchUps?: any[];
37
+ }): DrawData;
38
+ export declare function getRoundLabel(roundNumber: number, totalRounds: number): string;
39
+ //# sourceMappingURL=extractDrawData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDrawData.d.ts","sourceRoot":"","sources":["../../src/core/extractDrawData.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,cAAc,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;CAC3B,GAAG,QAAQ,CA2EX;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9E"}
@@ -0,0 +1,17 @@
1
+ export interface ParticipantRow {
2
+ name: string;
3
+ nationality: string;
4
+ ranking?: string;
5
+ seedValue?: number;
6
+ entryStatus: string;
7
+ events: string[];
8
+ signedIn?: boolean;
9
+ }
10
+ export declare function extractParticipantData(params: {
11
+ participants?: any[];
12
+ eventEntries?: {
13
+ eventName: string;
14
+ entries: any[];
15
+ }[];
16
+ }): ParticipantRow[];
17
+ //# sourceMappingURL=extractParticipantData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractParticipantData.d.ts","sourceRoot":"","sources":["../../src/core/extractParticipantData.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,CAAC;CACxD,GAAG,cAAc,EAAE,CAgCnB"}
@@ -0,0 +1,30 @@
1
+ export interface RoundRobinParticipant {
2
+ participantName: string;
3
+ nationality: string;
4
+ seedValue?: number;
5
+ groupPosition: number;
6
+ }
7
+ export interface RoundRobinResult {
8
+ rowPosition: number;
9
+ colPosition: number;
10
+ score: string;
11
+ winningSide?: number;
12
+ }
13
+ export interface RoundRobinGroupData {
14
+ groupName: string;
15
+ participants: RoundRobinParticipant[];
16
+ results: RoundRobinResult[];
17
+ standings?: {
18
+ position: number;
19
+ participantName: string;
20
+ wins: number;
21
+ losses: number;
22
+ setsWon: number;
23
+ setsLost: number;
24
+ }[];
25
+ }
26
+ export declare function extractRoundRobinData(params: {
27
+ structure: any;
28
+ participants?: any[];
29
+ }): RoundRobinGroupData[];
30
+ //# sourceMappingURL=extractRoundRobinData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractRoundRobinData.d.ts","sourceRoot":"","sources":["../../src/core/extractRoundRobinData.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,mBAAmB,EAAE,CAmD7G"}
@@ -0,0 +1,34 @@
1
+ export interface ScheduleMatch {
2
+ courtName: string;
3
+ scheduledTime: string;
4
+ eventName: string;
5
+ eventAbbr: string;
6
+ roundName: string;
7
+ side1: {
8
+ name: string;
9
+ nationality: string;
10
+ };
11
+ side2: {
12
+ name: string;
13
+ nationality: string;
14
+ };
15
+ score?: string;
16
+ matchUpStatus?: string;
17
+ notBeforeTime?: string;
18
+ }
19
+ export interface ScheduleTimeSlot {
20
+ time: string;
21
+ label: string;
22
+ matches: ScheduleMatch[];
23
+ }
24
+ export interface ScheduleData {
25
+ scheduledDate: string;
26
+ courts: string[];
27
+ timeSlots: ScheduleTimeSlot[];
28
+ }
29
+ export declare function extractScheduleData(params: {
30
+ matchUps?: any[];
31
+ venues?: any[];
32
+ scheduledDate?: string;
33
+ }): ScheduleData;
34
+ //# sourceMappingURL=extractScheduleData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractScheduleData.d.ts","sourceRoot":"","sources":["../../src/core/extractScheduleData.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,YAAY,CA+Df"}
@@ -0,0 +1,9 @@
1
+ import { default as jsPDF } from 'jspdf';
2
+ import { CourtCardData } from '../core/extractCourtCardData';
3
+ export interface CourtCardOptions {
4
+ tournamentName?: string;
5
+ pageSize?: 'a4' | 'a5' | 'letter';
6
+ cardsPerPage?: number;
7
+ }
8
+ export declare function generateCourtCardPDF(cards: CourtCardData[], options?: CourtCardOptions): jsPDF;
9
+ //# sourceMappingURL=courtCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"courtCard.d.ts","sourceRoot":"","sources":["../../src/generators/courtCard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,OAAO,GAAE,gBAAqB,GAAG,KAAK,CAUlG"}