whale-code 6.5.7 → 6.5.9

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 (101) hide show
  1. package/README.md +14 -2
  2. package/dist/cli/services/agent-loop.js +26 -2
  3. package/dist/cli/services/agent-loop.js.map +1 -1
  4. package/dist/cli/services/hooks.js +2 -1
  5. package/dist/cli/services/hooks.js.map +1 -1
  6. package/dist/cli/services/telemetry-spans.js +1 -0
  7. package/dist/cli/services/telemetry-spans.js.map +1 -1
  8. package/dist/cli/services/telemetry.d.ts +23 -0
  9. package/dist/cli/services/telemetry.js +45 -1
  10. package/dist/cli/services/telemetry.js.map +1 -1
  11. package/dist/server/handlers/__test-utils__/test-db.d.ts +17 -3
  12. package/dist/server/handlers/__test-utils__/test-db.js +113 -14
  13. package/dist/server/handlers/__test-utils__/test-db.js.map +1 -1
  14. package/dist/server/handlers/affiliates.d.ts +9 -0
  15. package/dist/server/handlers/affiliates.js +197 -0
  16. package/dist/server/handlers/affiliates.js.map +1 -0
  17. package/dist/server/handlers/api-docs.d.ts +4 -2
  18. package/dist/server/handlers/api-docs.js +204 -1681
  19. package/dist/server/handlers/api-docs.js.map +1 -1
  20. package/dist/server/handlers/campaigns.d.ts +9 -0
  21. package/dist/server/handlers/campaigns.js +237 -0
  22. package/dist/server/handlers/campaigns.js.map +1 -0
  23. package/dist/server/handlers/catalog-schemas.js +9 -9
  24. package/dist/server/handlers/catalog-schemas.js.map +1 -1
  25. package/dist/server/handlers/catalog.js +1 -1
  26. package/dist/server/handlers/catalog.js.map +1 -1
  27. package/dist/server/handlers/comms-documents.js +28 -2
  28. package/dist/server/handlers/comms-documents.js.map +1 -1
  29. package/dist/server/handlers/comms-pdf-generation.js +25 -3
  30. package/dist/server/handlers/comms-pdf-generation.js.map +1 -1
  31. package/dist/server/handlers/comms-pdf-helpers.js +4 -4
  32. package/dist/server/handlers/comms-pdf-helpers.js.map +1 -1
  33. package/dist/server/handlers/comms.d.ts +100 -0
  34. package/dist/server/handlers/comms.js +146 -12
  35. package/dist/server/handlers/comms.js.map +1 -1
  36. package/dist/server/handlers/coupons.d.ts +9 -0
  37. package/dist/server/handlers/coupons.js +220 -0
  38. package/dist/server/handlers/coupons.js.map +1 -0
  39. package/dist/server/handlers/embeddings.js +1 -1
  40. package/dist/server/handlers/embeddings.js.map +1 -1
  41. package/dist/server/handlers/enrichment.js +2 -622
  42. package/dist/server/handlers/enrichment.js.map +1 -1
  43. package/dist/server/handlers/fulfillment.d.ts +9 -0
  44. package/dist/server/handlers/fulfillment.js +209 -0
  45. package/dist/server/handlers/fulfillment.js.map +1 -0
  46. package/dist/server/handlers/google-ads.d.ts +24 -0
  47. package/dist/server/handlers/google-ads.js +2199 -0
  48. package/dist/server/handlers/google-ads.js.map +1 -0
  49. package/dist/server/handlers/invoices.d.ts +9 -0
  50. package/dist/server/handlers/invoices.js +252 -0
  51. package/dist/server/handlers/invoices.js.map +1 -0
  52. package/dist/server/handlers/loyalty.d.ts +9 -0
  53. package/dist/server/handlers/loyalty.js +197 -0
  54. package/dist/server/handlers/loyalty.js.map +1 -0
  55. package/dist/server/handlers/meta-ads-graph-api.js +18 -3
  56. package/dist/server/handlers/meta-ads-graph-api.js.map +1 -1
  57. package/dist/server/handlers/phone.d.ts +9 -0
  58. package/dist/server/handlers/phone.js +197 -0
  59. package/dist/server/handlers/phone.js.map +1 -0
  60. package/dist/server/handlers/pipeline.d.ts +9 -0
  61. package/dist/server/handlers/pipeline.js +277 -0
  62. package/dist/server/handlers/pipeline.js.map +1 -0
  63. package/dist/server/handlers/qr-codes.d.ts +9 -0
  64. package/dist/server/handlers/qr-codes.js +198 -0
  65. package/dist/server/handlers/qr-codes.js.map +1 -0
  66. package/dist/server/handlers/reviews.d.ts +9 -0
  67. package/dist/server/handlers/reviews.js +171 -0
  68. package/dist/server/handlers/reviews.js.map +1 -0
  69. package/dist/server/handlers/segments.d.ts +9 -0
  70. package/dist/server/handlers/segments.js +229 -0
  71. package/dist/server/handlers/segments.js.map +1 -0
  72. package/dist/server/handlers/social.d.ts +9 -0
  73. package/dist/server/handlers/social.js +81 -0
  74. package/dist/server/handlers/social.js.map +1 -0
  75. package/dist/server/handlers/tax.d.ts +9 -0
  76. package/dist/server/handlers/tax.js +182 -0
  77. package/dist/server/handlers/tax.js.map +1 -0
  78. package/dist/server/handlers/wallet.d.ts +9 -0
  79. package/dist/server/handlers/wallet.js +203 -0
  80. package/dist/server/handlers/wallet.js.map +1 -0
  81. package/dist/server/handlers/webhooks-mgmt.d.ts +9 -0
  82. package/dist/server/handlers/webhooks-mgmt.js +181 -0
  83. package/dist/server/handlers/webhooks-mgmt.js.map +1 -0
  84. package/dist/server/handlers/wholesale.d.ts +9 -0
  85. package/dist/server/handlers/wholesale.js +219 -0
  86. package/dist/server/handlers/wholesale.js.map +1 -0
  87. package/dist/server/index.js +20 -9
  88. package/dist/server/index.js.map +1 -1
  89. package/dist/server/lib/clickhouse-buffer.js +1 -0
  90. package/dist/server/lib/clickhouse-buffer.js.map +1 -1
  91. package/dist/server/lib/coa-renderer.d.ts +1 -1
  92. package/dist/server/lib/coa-renderer.js +32 -10
  93. package/dist/server/lib/coa-renderer.js.map +1 -1
  94. package/dist/server/server-worker.d.ts +1 -0
  95. package/dist/server/server-worker.js +464 -3
  96. package/dist/server/server-worker.js.map +1 -1
  97. package/dist/server/tool-router.js +118 -4
  98. package/dist/server/tool-router.js.map +1 -1
  99. package/package.json +28 -4
  100. package/vendor/ink/package.json +0 -2
  101. package/whale-logo.png +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"coa-renderer.js","names":["React","Document","Page","Text","View","Image","StyleSheet","renderToBuffer","Svg","Path","e","createElement","colors","black","gray900","gray800","gray700","gray600","gray500","gray400","gray300","gray200","gray100","gray50","green700","green500","green50","white","pieColors","THCa","THCP","CBD","CBDa","CBG","CBGa","CBC","CBN","CBDV","THCV","CBL","CBCA","CBNA","Other","styles","create","page","paddingTop","paddingBottom","paddingLeft","paddingRight","fontSize","fontFamily","color","backgroundColor","header","flexDirection","justifyContent","borderBottomWidth","borderBottomColor","marginBottom","headerLeft","alignItems","logo","width","height","companyInfo","marginLeft","companyName","companySubname","marginTop","divider","marginHorizontal","labContact","lineHeight","docTitle","sampleSection","sampleCol","flex","paddingHorizontal","sampleTitle","infoRow","infoLabel","infoValue","sectionHeader","sectionTitle","sectionStatus","tableContainer","table","borderWidth","borderColor","tableHeader","tableHeaderCell","padding","textAlign","borderRightWidth","borderRightColor","tableHeaderCellLast","tableRow","minHeight","tableRowAlt","tableCell","tableCellLast","tableCellLeft","tableSummaryRow","summaryContainer","summaryBox","summaryBoxInactive","summaryValue","summaryValueInactive","summaryLabel","summaryLabelInactive","summaryTableTitle","summaryTable","summaryTableRow","summaryTableCell","summaryTableCellLeft","methodology","methodologyTitle","methodologyText","footer","borderTopWidth","borderTopColor","footerLeft","qrSection","marginRight","qrCode","qrLabel","disclaimer","footerRight","footerCompany","signatureSection","signatureName","signatureTitle","panelStyles","pageHeader","pageHeaderLeft","pageHeaderLogo","pageHeaderTitle","pageHeaderCompany","pageHeaderSubtitle","pageHeaderRight","pageTitle","pageSampleInfo","panelSection","summaryCard","borderRadius","summaryCardTitle","summaryCardText","panelHeader","panelTitle","flexShrink","statusBadge","paddingVertical","statusBadgeFail","panelTable","panelTableHeader","panelTableHeaderCell","panelTableRow","panelTableCell","panelTableCellLeft","pesticideTableRow","pesticideTableCell","pesticideTableCellLeft","passText","failText","twoColumnContainer","gap","columnHalf","pageFooter","position","bottom","left","right","footerText","categoryBadge","categoryTitle","categorySubtitle","createPieSlice","cx","cy","r","startAngle","endAngle","start","x","Math","cos","PI","y","sin","end","largeArc","PieChart","cannabinoids","detected","filter","c","result","percentWeight","sort","a","b","length","reduce","sum","placeholderData","name","pct","currentAngle","placeholderSlices","map","item","i","angle","path","key","String","d","fill","opacity","placeholderLegend","style","viewBox","total","slices","legend","slice","displayName","replace","toFixed","PanelPageHeader","data","title","logoUrl","src","labName","split","join","sampleName","sampleId","sampleType","dateCollected","dateReceived","dateTested","batchId","clientName","clientAddress","licenseNumber","letterSpacing","PanelPageFooter","pageNum","totalPages","methodText","qrCodeDataUrl","labWebsite","signatureUrl","labDirector","directorTitle","approvalDate","SafetyTestingPage","microbialPassed","microbialResults","some","status","heavyMetalsPassed","heavyMetalsResults","mycotoxinsPassed","mycotoxinResults","size","analyte","test","limit","lod","loq","PesticidePage","category","pesticides","allPassed","half","ceil","leftColumn","rightColumn","isCat1","renderColumn","items","ResidualSolventsPage","testsResidualSolvents","solvents","CannabisCOADocument","totalTHC","totalCBD","totalCBDDisplay","totalCannabinoids","hasResidualSolvents","fullPanel","top4","pages","push","sampleSize","mgPerG","parseFloat","testsBatch","testsCannabinoids","testsMoisture","moisture","notes","pesticidesCat1","pesticidesCat2","renderCOAToPdf","doc","buffer","Buffer","from"],"sources":["../../../src/server/lib/coa-renderer.ts"],"sourcesContent":["// server/lib/coa-renderer.ts — React-PDF COA renderer\n// Ported from CoaGenerator edge function. Produces pixel-perfect branded COA PDFs.\n\nimport React from \"react\";\nimport {\n Document,\n Page,\n Text,\n View,\n Image,\n StyleSheet,\n renderToBuffer,\n Svg,\n Path,\n} from \"@react-pdf/renderer\";\n\nconst e = React.createElement;\n\n// ============================================================================\n// Design Tokens\n// ============================================================================\n\nconst colors = {\n black: \"#000000\",\n gray900: \"#111827\",\n gray800: \"#1f2937\",\n gray700: \"#374151\",\n gray600: \"#4b5563\",\n gray500: \"#6b7280\",\n gray400: \"#9ca3af\",\n gray300: \"#d1d5db\",\n gray200: \"#e5e7eb\",\n gray100: \"#f3f4f6\",\n gray50: \"#f9fafb\",\n green700: \"#15803d\",\n green500: \"#10b981\",\n green50: \"#f0fdf4\",\n white: \"#ffffff\",\n};\n\nconst pieColors: Record<string, string> = {\n THCa: \"#10B981\",\n \"D9-THC\": \"#F59E0B\",\n \"D8-THC\": \"#EF4444\",\n THCP: \"#8B5CF6\",\n CBD: \"#3B82F6\",\n CBDa: \"#06B6D4\",\n CBG: \"#14B8A6\",\n CBGa: \"#059669\",\n CBC: \"#EC4899\",\n CBN: \"#F97316\",\n CBDV: \"#6366F1\",\n THCV: \"#A855F7\",\n CBL: \"#84CC16\",\n CBCA: \"#D946EF\",\n CBNA: \"#F43F5E\",\n Other: \"#9CA3AF\",\n};\n\n// ============================================================================\n// Interfaces\n// ============================================================================\n\nexport interface COAData {\n labName?: string;\n labContact?: string;\n logoUrl?: string;\n labWebsite?: string;\n labDirector?: string;\n directorTitle?: string;\n signatureUrl?: string;\n approvalDate?: string;\n sampleName: string;\n sampleId: string;\n strain?: string;\n sampleType?: string;\n sampleSize?: string;\n batchId?: string;\n dateCollected?: string;\n dateReceived?: string;\n dateTested?: string;\n dateReported?: string;\n clientName: string;\n clientAddress?: string;\n licenseNumber?: string;\n clientState?: string;\n clientType?: string;\n cannabinoids?: Cannabinoid[];\n totalTHC?: number;\n totalCBD?: number;\n totalCannabinoids?: number;\n moisture?: number;\n D9_THC?: number;\n d9_thc?: number;\n testsBatch?: boolean;\n testsCannabinoids?: boolean;\n testsMoisture?: boolean;\n qrCodeDataUrl?: string;\n notes?: string;\n fullPanel?: boolean;\n totalPages?: number;\n microbialResults?: MicrobialResult[];\n heavyMetalsResults?: HeavyMetalResult[];\n mycotoxinResults?: MycotoxinResult[];\n pesticidesCat1?: PesticideResult[];\n pesticidesCat2?: PesticideResult[];\n testsResidualSolvents?: ResidualSolventResult[];\n}\n\ninterface Cannabinoid {\n name: string;\n lod: number;\n loq: number;\n result: string | number;\n percentWeight: number;\n mgPerG: number;\n}\n\ninterface MicrobialResult {\n test?: string;\n analyte?: string;\n result: number | \"ND\";\n limit: number | \"ND\" | string;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface HeavyMetalResult {\n analyte: string;\n lod: number;\n loq: number;\n result: number | \"ND\";\n limit: number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface MycotoxinResult {\n analyte: string;\n lod: number;\n loq: number;\n result: number | \"ND\";\n limit: number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface PesticideResult {\n analyte: string;\n result: \"ND\" | number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface ResidualSolventResult {\n analyte: string;\n result: string | number;\n limit: number;\n loq?: number;\n unit: string;\n status: \"Pass\" | \"Fail\";\n}\n\n// ============================================================================\n// StyleSheets\n// ============================================================================\n\nconst styles = StyleSheet.create({\n page: {\n paddingTop: 15,\n paddingBottom: 15,\n paddingLeft: 10,\n paddingRight: 10,\n fontSize: 8,\n fontFamily: \"Helvetica\",\n color: colors.gray900,\n backgroundColor: colors.white,\n },\n header: {\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n paddingBottom: 6,\n marginBottom: 6,\n },\n headerLeft: { flexDirection: \"row\", alignItems: \"center\" },\n logo: { width: 45, height: 45 },\n companyInfo: { marginLeft: 8 },\n companyName: { fontSize: 22, fontFamily: \"Helvetica-Bold\", color: colors.black },\n companySubname: { fontSize: 17, color: colors.black, marginTop: -2 },\n divider: { width: 1, height: 45, backgroundColor: colors.gray300, marginHorizontal: 10 },\n labContact: { fontSize: 8, color: colors.gray700, lineHeight: 1.4 },\n docTitle: { fontSize: 11, color: colors.gray700, marginTop: 6 },\n sampleSection: {\n flexDirection: \"row\",\n marginBottom: 8,\n paddingBottom: 6,\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n },\n sampleCol: { flex: 1, paddingHorizontal: 8 },\n sampleTitle: { fontSize: 11, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n infoRow: { flexDirection: \"row\", marginBottom: 2 },\n infoLabel: { fontSize: 7.5, fontFamily: \"Helvetica-Bold\", color: colors.gray900 },\n infoValue: { fontSize: 7.5, color: colors.gray700, marginLeft: 3 },\n sectionHeader: { flexDirection: \"row\", justifyContent: \"space-between\", marginBottom: 4 },\n sectionTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\" },\n sectionStatus: { fontSize: 8, color: colors.gray700 },\n tableContainer: { flexDirection: \"row\" },\n table: { flex: 1, borderWidth: 1, borderColor: colors.gray200 },\n tableHeader: {\n flexDirection: \"row\",\n backgroundColor: colors.gray50,\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n },\n tableHeaderCell: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n tableHeaderCellLast: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n },\n tableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 22,\n },\n tableRowAlt: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200,\n backgroundColor: colors.gray50, minHeight: 22,\n },\n tableCell: {\n padding: 6, fontSize: 9, textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200, color: colors.gray700,\n },\n tableCellLast: { padding: 6, fontSize: 9, textAlign: \"center\", color: colors.gray700 },\n tableCellLeft: {\n padding: 6, fontSize: 9, textAlign: \"left\",\n borderRightWidth: 1, borderRightColor: colors.gray200, fontFamily: \"Helvetica-Bold\",\n },\n tableSummaryRow: {\n flexDirection: \"row\", backgroundColor: colors.gray100, minHeight: 22,\n },\n summaryContainer: { width: 145, marginLeft: 12 },\n summaryBox: {\n borderWidth: 2, borderColor: colors.green500, backgroundColor: colors.green50,\n padding: 10, marginBottom: 8, alignItems: \"center\",\n },\n summaryBoxInactive: {\n borderWidth: 2, borderColor: colors.gray300, backgroundColor: colors.gray50,\n padding: 10, marginBottom: 8, alignItems: \"center\",\n },\n summaryValue: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.green700 },\n summaryValueInactive: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.gray500 },\n summaryLabel: { fontSize: 9, fontFamily: \"Helvetica-Bold\", color: colors.green700, marginTop: 3 },\n summaryLabelInactive: { fontSize: 9, fontFamily: \"Helvetica-Bold\", color: colors.gray500, marginTop: 3 },\n summaryTableTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\", marginTop: 10, marginBottom: 4 },\n summaryTable: { borderWidth: 1, borderColor: colors.gray200 },\n summaryTableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 18,\n },\n summaryTableCell: { padding: 4, fontSize: 8, flex: 1, textAlign: \"center\" },\n summaryTableCellLeft: {\n padding: 4, fontSize: 8, flex: 1, textAlign: \"left\", fontFamily: \"Helvetica-Bold\",\n },\n methodology: { backgroundColor: colors.gray50, padding: 8, marginTop: 8, marginBottom: 8 },\n methodologyTitle: { fontSize: 9, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n methodologyText: { fontSize: 7, color: colors.gray700, lineHeight: 1.5 },\n footer: {\n flexDirection: \"row\", borderTopWidth: 1, borderTopColor: colors.gray200,\n paddingTop: 8, marginTop: 6,\n },\n footerLeft: { flex: 1, flexDirection: \"row\" },\n qrSection: { alignItems: \"center\", marginRight: 12 },\n qrCode: { width: 60, height: 60, borderWidth: 1, borderColor: colors.gray300 },\n qrLabel: { fontSize: 7, color: colors.gray700, marginTop: 3 },\n disclaimer: { flex: 1, fontSize: 7, color: colors.gray700, lineHeight: 1.4 },\n footerRight: { width: 150, alignItems: \"flex-end\" },\n footerCompany: { fontSize: 9, textAlign: \"right\", marginBottom: 8 },\n signatureSection: {\n borderTopWidth: 1, borderTopColor: colors.gray300, paddingTop: 8, alignItems: \"flex-end\",\n },\n signatureName: { fontSize: 9, fontFamily: \"Helvetica-Bold\" },\n signatureTitle: { fontSize: 8, color: colors.gray700 },\n});\n\nconst panelStyles = StyleSheet.create({\n pageHeader: {\n flexDirection: \"row\", justifyContent: \"space-between\", alignItems: \"center\",\n borderBottomWidth: 2, borderBottomColor: colors.green500, paddingBottom: 6, marginBottom: 8,\n },\n pageHeaderLeft: { flexDirection: \"row\", alignItems: \"center\" },\n pageHeaderLogo: { width: 28, height: 28 },\n pageHeaderTitle: { marginLeft: 8 },\n pageHeaderCompany: { fontSize: 14, fontFamily: \"Helvetica-Bold\" },\n pageHeaderSubtitle: { fontSize: 9, color: colors.gray600 },\n pageHeaderRight: { textAlign: \"right\" },\n pageTitle: { fontSize: 12, fontFamily: \"Helvetica-Bold\" },\n pageSampleInfo: { fontSize: 8, color: colors.gray600 },\n panelSection: { marginBottom: 6 },\n summaryCard: {\n backgroundColor: colors.green50, borderWidth: 2, borderColor: colors.green500,\n borderRadius: 8, padding: 8, marginBottom: 8,\n },\n summaryCardTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\", color: colors.green700, marginBottom: 6 },\n summaryCardText: { fontSize: 8, color: colors.gray700, lineHeight: 1.4 },\n panelHeader: {\n flexDirection: \"row\", justifyContent: \"space-between\", alignItems: \"center\",\n backgroundColor: colors.gray100, padding: 8, marginBottom: 1,\n },\n panelTitle: { fontSize: 11, fontFamily: \"Helvetica-Bold\", flexShrink: 0 },\n statusBadge: {\n backgroundColor: colors.green500, color: colors.white,\n paddingHorizontal: 8, paddingVertical: 3, borderRadius: 3,\n fontSize: 8, fontFamily: \"Helvetica-Bold\",\n },\n statusBadgeFail: {\n backgroundColor: \"#EF4444\", color: colors.white,\n paddingHorizontal: 8, paddingVertical: 3, borderRadius: 3,\n fontSize: 8, fontFamily: \"Helvetica-Bold\",\n },\n panelTable: { borderWidth: 1, borderColor: colors.gray200 },\n panelTableHeader: {\n flexDirection: \"row\", backgroundColor: colors.gray50,\n borderBottomWidth: 1, borderBottomColor: colors.gray200,\n },\n panelTableHeaderCell: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n panelTableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 18,\n },\n panelTableCell: {\n padding: 3, fontSize: 7, textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n panelTableCellLeft: {\n padding: 3, fontSize: 7, textAlign: \"left\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n pesticideTableRow: {\n flexDirection: \"row\", borderBottomWidth: 0.5, borderBottomColor: colors.gray200, minHeight: 14,\n },\n pesticideTableCell: {\n padding: 2, fontSize: 6.5, textAlign: \"center\",\n borderRightWidth: 0.5, borderRightColor: colors.gray200,\n },\n pesticideTableCellLeft: {\n padding: 2, fontSize: 6.5, textAlign: \"left\",\n borderRightWidth: 0.5, borderRightColor: colors.gray200,\n },\n passText: { color: colors.green700, fontFamily: \"Helvetica-Bold\" },\n failText: { color: \"#EF4444\", fontFamily: \"Helvetica-Bold\" },\n twoColumnContainer: { flexDirection: \"row\", gap: 12 },\n columnHalf: { flex: 1 },\n pageFooter: {\n position: \"absolute\", bottom: 20, left: 20, right: 20,\n flexDirection: \"row\", justifyContent: \"space-between\",\n borderTopWidth: 1, borderTopColor: colors.gray200, paddingTop: 8,\n },\n footerText: { fontSize: 7, color: colors.gray600 },\n methodology: { marginTop: 8, padding: 6, backgroundColor: colors.gray50 },\n methodologyTitle: { fontSize: 8, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n methodologyText: { fontSize: 7, color: colors.gray600, lineHeight: 1.4 },\n categoryBadge: {\n backgroundColor: colors.green500, color: colors.white,\n paddingHorizontal: 6, paddingVertical: 2, fontSize: 7, fontFamily: \"Helvetica-Bold\",\n },\n categoryTitle: { fontSize: 9, fontFamily: \"Helvetica-Bold\", marginLeft: 8 },\n categorySubtitle: { fontSize: 7, color: colors.gray600, marginLeft: 8 },\n});\n\n// ============================================================================\n// Pie Chart\n// ============================================================================\n\nconst createPieSlice = (cx: number, cy: number, r: number, startAngle: number, endAngle: number): string => {\n const start = {\n x: cx + r * Math.cos((startAngle * Math.PI) / 180),\n y: cy + r * Math.sin((startAngle * Math.PI) / 180),\n };\n const end = {\n x: cx + r * Math.cos((endAngle * Math.PI) / 180),\n y: cy + r * Math.sin((endAngle * Math.PI) / 180),\n };\n const largeArc = endAngle - startAngle > 180 ? 1 : 0;\n return `M ${cx} ${cy} L ${start.x} ${start.y} A ${r} ${r} 0 ${largeArc} 1 ${end.x} ${end.y} Z`;\n};\n\nconst PieChart = ({ cannabinoids }: { cannabinoids: Cannabinoid[] }) => {\n const detected = cannabinoids\n .filter((c) => c.result !== \"ND\" && c.percentWeight > 0)\n .sort((a, b) => b.percentWeight - a.percentWeight);\n const cx = 35, cy = 35, r = 30;\n\n if (detected.length === 0 || detected.reduce((sum, c) => sum + c.percentWeight, 0) === 0) {\n const placeholderData = [\n { name: \"D9-THC\", pct: 65 }, { name: \"THCa\", pct: 20 },\n { name: \"CBD\", pct: 10 }, { name: \"Other\", pct: 5 },\n ];\n let currentAngle = -90;\n const placeholderSlices = placeholderData.map((item, i) => {\n const angle = (item.pct / 100) * 360;\n const path = createPieSlice(cx, cy, r, currentAngle, currentAngle + angle);\n const color = pieColors[item.name] || pieColors.Other;\n currentAngle += angle;\n return e(Path, { key: String(i), d: path, fill: color, opacity: 0.4 });\n });\n const placeholderLegend = placeholderData.map((item, i) => {\n const color = pieColors[item.name] || pieColors.Other;\n return e(View, { key: String(i), style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 2 } },\n e(View, { style: { width: 6, height: 6, backgroundColor: color, opacity: 0.4, marginRight: 3 } }),\n e(Text, { style: { fontSize: 6, color: colors.gray400 } }, `${item.name}: --%`),\n );\n });\n return e(View, { style: { flexDirection: \"row\", alignItems: \"flex-start\" } },\n e(Svg, { width: 70, height: 70, viewBox: \"0 0 70 70\" }, ...placeholderSlices),\n e(View, { style: { marginLeft: 4 } }, ...placeholderLegend),\n );\n }\n\n const total = detected.reduce((sum, c) => sum + c.percentWeight, 0);\n let currentAngle = -90;\n const slices = detected.map((c, i) => {\n const angle = (c.percentWeight / total) * 360;\n const path = createPieSlice(cx, cy, r, currentAngle, currentAngle + angle);\n const color = pieColors[c.name] || pieColors.Other;\n currentAngle += angle;\n return e(Path, { key: String(i), d: path, fill: color });\n });\n const legend = detected.slice(0, 6).map((c, i) => {\n const color = pieColors[c.name] || pieColors.Other;\n const displayName = c.name.replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\").replace(/Delta/gi, \"D\");\n return e(View, { key: String(i), style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 2 } },\n e(View, { style: { width: 6, height: 6, backgroundColor: color, marginRight: 3 } }),\n e(Text, { style: { fontSize: 6, color: colors.gray700 } }, `${displayName}: ${c.percentWeight.toFixed(2)}%`),\n );\n });\n return e(View, { style: { flexDirection: \"row\", alignItems: \"flex-start\" } },\n e(Svg, { width: 70, height: 70, viewBox: \"0 0 70 70\" }, ...slices),\n e(View, { style: { marginLeft: 4 } }, ...legend),\n );\n};\n\n// ============================================================================\n// Shared Components (Pages 2-5)\n// ============================================================================\n\nconst PanelPageHeader = ({ data, title }: { data: COAData; title: string }) => {\n return e(View, null,\n e(View, { style: styles.header },\n e(View, { style: styles.headerLeft },\n data.logoUrl\n ? e(Image, { src: data.logoUrl, style: styles.logo })\n : e(View, { style: { ...styles.logo, backgroundColor: colors.green500, borderRadius: 8 } }),\n e(View, { style: styles.companyInfo },\n e(Text, { style: styles.companyName }, (data.labName || \"Lab\").split(\" \")[0]),\n e(Text, { style: styles.companySubname }, (data.labName || \"\").split(\" \").slice(1).join(\" \") || \"\"),\n ),\n e(View, { style: styles.divider }),\n e(Text, { style: styles.labContact }, data.labContact || \"\"),\n ),\n e(Text, { style: { ...styles.docTitle, fontSize: 10, fontFamily: \"Helvetica-Bold\" } }, title),\n ),\n e(View, { style: { ...styles.sampleSection, marginBottom: 8 } },\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.sampleTitle }, data.sampleName),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Sample ID:\"),\n e(Text, { style: styles.infoValue }, data.sampleId),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Matrix:\"),\n e(Text, { style: styles.infoValue }, data.sampleType || \"Plant\"),\n ),\n ),\n e(View, { style: styles.sampleCol },\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Collected:\"),\n e(Text, { style: styles.infoValue }, data.dateCollected || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Received:\"),\n e(Text, { style: styles.infoValue }, data.dateReceived || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Completed:\"),\n e(Text, { style: styles.infoValue }, data.dateTested || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Batch #:\"),\n e(Text, { style: styles.infoValue }, data.batchId || \"\\u2014\"),\n ),\n ),\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.infoLabel }, \"Client:\"),\n e(Text, { style: { ...styles.infoValue, fontFamily: \"Helvetica-Bold\", marginLeft: 0 } }, data.clientName),\n data.clientAddress ? e(Text, { style: { ...styles.infoValue, marginLeft: 0, fontSize: 6.5 } }, data.clientAddress) : null,\n data.licenseNumber ? e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Lic #:\"),\n e(Text, { style: styles.infoValue }, data.licenseNumber),\n ) : null,\n ),\n e(View, { style: { ...styles.sampleCol, alignItems: \"center\", justifyContent: \"center\" } },\n e(Text, { style: { ...styles.infoLabel, marginBottom: 4, textAlign: \"center\" } }, \"Test Result\"),\n e(View, { style: {\n width: 70, height: 40, borderWidth: 3, borderColor: colors.green500,\n borderRadius: 4, backgroundColor: colors.white, alignItems: \"center\", justifyContent: \"center\",\n } },\n e(Text, { style: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.green500, letterSpacing: 2 } }, \"PASS\"),\n ),\n ),\n ),\n );\n};\n\nconst PanelPageFooter = ({ data, pageNum, totalPages }: { data: COAData; pageNum: number; totalPages: number }) => {\n const methodText = pageNum === 2\n ? \"All safety and compliance testing is performed in accordance with ISO 17025 accredited laboratory standards. Heavy metals via ICP-MS. Microbial via qPCR. Solvents via HS-GC-MS. Mycotoxins via LC-MS/MS. ND = Not Detected (below Limit of Detection).\"\n : pageNum >= 3\n ? \"Comprehensive pesticide screening performed using LC-MS/MS in accordance with ISO 17025 standards. Category I pesticides are banned substances with zero tolerance. Category II pesticides have established action levels. All results in ppm. ND = Not Detected.\"\n : \"Testing performed using validated methods per ISO 17025 standards. This Certificate applies only to the sample(s) tested.\";\n\n return e(View, null,\n e(View, { style: styles.methodology },\n e(Text, { style: styles.methodologyTitle }, \"Methodology & Quality Control\"),\n e(Text, { style: styles.methodologyText }, methodText),\n ),\n e(View, { style: styles.footer },\n e(View, { style: styles.footerLeft },\n data.qrCodeDataUrl ? e(View, { style: styles.qrSection },\n e(Image, { src: data.qrCodeDataUrl, style: styles.qrCode }),\n e(Text, { style: styles.qrLabel }, \"Scan for digital copy\"),\n ) : null,\n e(Text, { style: styles.disclaimer },\n `${data.labName || \"This laboratory\"} performs analytical testing using validated internal methodologies and quality control protocols. All results apply only to the sample(s) tested. This Certificate is not a declaration of product safety, efficacy, or regulatory compliance. Testing performed in accordance with applicable state regulations.\\n\\nThis report may not be reproduced except in full without written approval from ${data.labName || \"the laboratory\"}.`,\n ),\n e(Text, { style: { ...styles.disclaimer, marginTop: 4 } },\n `For inquiries: support@quantixanalytics.com | Raleigh, NC | ${data.labWebsite || \"www.quantixanalytics.com\"}`,\n ),\n ),\n e(View, { style: styles.footerRight },\n e(View, { style: styles.footerCompany },\n e(Text, { style: { fontFamily: \"Helvetica-Bold\" } }, data.labName || \"Laboratory\"),\n e(Text, {}, \"All Rights Reserved\"),\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, data.labWebsite || \"www.quantixanalytics.com\"),\n ),\n e(View, { style: styles.signatureSection },\n data.signatureUrl ? e(Image, { src: data.signatureUrl, style: { width: 180, height: 70, marginBottom: 4 } }) : null,\n e(Text, { style: styles.signatureName }, data.labDirector || \"Sarah Mitchell\"),\n e(Text, { style: styles.signatureTitle }, data.directorTitle || \"Laboratory Director\"),\n e(Text, { style: styles.signatureTitle }, data.approvalDate || data.dateTested || \"\\u2014\"),\n e(Text, { style: { fontSize: 7, color: colors.gray500, marginTop: 8, textAlign: \"right\" } },\n `Page ${pageNum} of ${totalPages}`,\n ),\n ),\n ),\n ),\n );\n};\n\n// ============================================================================\n// Page 2: Safety & Compliance\n// ============================================================================\n\nconst SafetyTestingPage = ({ data }: { data: COAData }) => {\n const microbialPassed = !data.microbialResults?.some((r) => r.status === \"Fail\");\n const heavyMetalsPassed = !data.heavyMetalsResults?.some((r) => r.status === \"Fail\");\n const mycotoxinsPassed = !data.mycotoxinResults?.some((r) => r.status === \"Fail\");\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: \"Safety & Compliance Testing\" }),\n e(View, { style: panelStyles.summaryCard },\n e(Text, { style: panelStyles.summaryCardTitle }, \"\\u2713 All Safety Tests Passed\"),\n e(Text, { style: panelStyles.summaryCardText },\n \"This sample has been tested for microbial contaminants, heavy metals, and mycotoxins. All results are within acceptable limits as defined by state regulations and industry standards.\",\n ),\n ),\n e(View, { style: panelStyles.twoColumnContainer },\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Microbial Contaminants\"),\n e(Text, { style: microbialPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n microbialPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"45%\", textAlign: \"left\" } }, \"Test\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.microbialResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"45%\" } }, r.analyte || r.test || \"\"),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"20%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"20%\" } }, String(r.limit || \"\")),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"15%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n ),\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Heavy Metals Analysis\"),\n e(Text, { style: heavyMetalsPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n heavyMetalsPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOD\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOQ\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"18%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.heavyMetalsResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"28%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.lod)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.loq)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"15%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, `<${r.limit}`),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"18%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Mycotoxins\"),\n e(Text, { style: mycotoxinsPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n mycotoxinsPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOD\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOQ\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"18%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.mycotoxinResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"28%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.lod)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.loq)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"15%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, `<${r.limit}`),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"18%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n ),\n ),\n e(PanelPageFooter, { data, pageNum: 2, totalPages: data.totalPages || 4 }),\n );\n};\n\n// ============================================================================\n// Pages 3 & 4: Pesticide tables (shared renderer)\n// ============================================================================\n\nconst PesticidePage = ({ data, category, pesticides, pageNum }: {\n data: COAData; category: \"I\" | \"II\"; pesticides: PesticideResult[]; pageNum: number;\n}) => {\n const allPassed = !pesticides.some((r) => r.status === \"Fail\");\n const half = Math.ceil(pesticides.length / 2);\n const leftColumn = pesticides.slice(0, half);\n const rightColumn = pesticides.slice(half);\n const isCat1 = category === \"I\";\n\n const renderColumn = (items: PesticideResult[]) =>\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"60%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...items.map((r, i) =>\n e(View, { key: String(i), style: panelStyles.pesticideTableRow },\n e(Text, { style: { ...panelStyles.pesticideTableCellLeft, width: \"60%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"20%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: {\n ...panelStyles.pesticideTableCell, width: \"20%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n );\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: isCat1 ? \"Pesticide Screening\" : \"Pesticide Screening (Continued)\" }),\n e(View, { style: { ...panelStyles.summaryCard, backgroundColor: allPassed ? colors.green50 : \"#FEF2F2\" } },\n e(Text, { style: panelStyles.summaryCardTitle }, allPassed ? \"\\u2713 All Pesticide Tests Passed\" : \"\\u26A0 Pesticide Detection\"),\n e(Text, { style: panelStyles.summaryCardText },\n isCat1\n ? \"Category I pesticides are banned substances with zero tolerance. Any detection of these pesticides results in automatic failure and product cannot be sold.\"\n : \"Category II pesticides have established action levels. Results must be below the regulatory limits shown. These pesticides are restricted but allowed at specified concentrations.\",\n ),\n ),\n e(View, { style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 8 } },\n e(Text, { style: panelStyles.categoryBadge }, `CATEGORY ${category}`),\n e(Text, { style: panelStyles.categoryTitle },\n isCat1 ? `Zero Tolerance - ${pesticides.length} Analytes` : `Action Level - ${pesticides.length} Analytes`),\n e(Text, { style: panelStyles.categorySubtitle },\n isCat1 ? \"Any detection = FAIL\" : \"Must be below established limits\"),\n ),\n isCat1 ? e(View, { style: { ...panelStyles.panelHeader, marginBottom: 8 } },\n e(Text, { style: panelStyles.panelTitle }, \"Pesticide Analysis - 66 Analytes\"),\n e(Text, { style: allPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n allPassed ? \"Pass\" : \"Fail\"),\n ) : null,\n isCat1 ? e(Text, { style: { fontSize: 7, color: colors.gray600, marginBottom: 8 } },\n \"Method: LC-MS/MS | LOD: 0.005-0.05 ppm | LOQ: 0.01-0.1 ppm\") : null,\n e(View, { style: panelStyles.twoColumnContainer }, renderColumn(leftColumn), renderColumn(rightColumn)),\n e(PanelPageFooter, { data, pageNum, totalPages: data.totalPages || 4 }),\n );\n};\n\n// ============================================================================\n// Page 5: Residual Solvents\n// ============================================================================\n\nconst ResidualSolventsPage = ({ data }: { data: COAData }) => {\n const allPassed = !data.testsResidualSolvents?.some((r) => r.status === \"Fail\");\n const solvents = data.testsResidualSolvents || [];\n const half = Math.ceil(solvents.length / 2);\n const leftColumn = solvents.slice(0, half);\n const rightColumn = solvents.slice(half);\n\n const renderColumn = (items: ResidualSolventResult[]) =>\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"45%\", textAlign: \"left\" } }, \"Solvent\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"25%\" } }, \"Result (ppm)\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"30%\", borderRightWidth: 0 } }, \"Limit (ppm)\"),\n ),\n ...items.map((r, i) =>\n e(View, { key: String(i), style: panelStyles.pesticideTableRow },\n e(Text, { style: { ...panelStyles.pesticideTableCellLeft, width: \"45%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"25%\", fontFamily: \"Helvetica-Bold\" } },\n typeof r.result === \"string\" ? r.result : String(r.result)),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"30%\", borderRightWidth: 0 } },\n String(r.limit)),\n ),\n ),\n ),\n );\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: \"Residual Solvents Analysis\" }),\n e(View, { style: { ...panelStyles.summaryCard, backgroundColor: allPassed ? colors.green50 : \"#FEF2F2\" } },\n e(Text, { style: panelStyles.summaryCardTitle }, allPassed ? \"\\u2713 All Solvent Tests Passed\" : \"\\u26A0 Solvent Detection\"),\n e(Text, { style: panelStyles.summaryCardText },\n \"Residual solvents testing per USP <467> standards. Class 1 solvents (carcinogens) have strict limits. Class 2/3 solvents have higher allowable limits. All results in ppm (parts per million).\",\n ),\n ),\n e(View, { style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 12 } },\n e(Text, { style: panelStyles.categoryBadge }, \"USP <467>\"),\n e(Text, { style: panelStyles.categoryTitle }, `Residual Solvents - ${solvents.length} Analytes`),\n e(Text, { style: panelStyles.categorySubtitle }, \"HS-GC-MS Analysis\"),\n ),\n e(View, { style: panelStyles.twoColumnContainer }, renderColumn(leftColumn), renderColumn(rightColumn)),\n e(PanelPageFooter, { data, pageNum: 5, totalPages: data.totalPages || 5 }),\n );\n};\n\n// ============================================================================\n// Main Document\n// ============================================================================\n\nconst CannabisCOADocument = ({ data }: { data: COAData }) => {\n const totalTHC = data.totalTHC && data.totalTHC > 0 ? data.totalTHC.toFixed(2) : \"ND\";\n const totalCBD = data.totalCBD || 0;\n const totalCBDDisplay = totalCBD > 0 ? totalCBD.toFixed(2) : \"ND\";\n const totalCannabinoids = data.totalCannabinoids && data.totalCannabinoids > 0 ? data.totalCannabinoids.toFixed(2) : \"ND\";\n const hasResidualSolvents = data.testsResidualSolvents && data.testsResidualSolvents.length > 0;\n const totalPages = data.fullPanel ? (hasResidualSolvents ? 5 : 4) : 1;\n\n const top4 = (data.cannabinoids || [])\n .filter((c: Cannabinoid) => c.result !== \"ND\" && c.percentWeight > 0)\n .sort((a: Cannabinoid, b: Cannabinoid) => b.percentWeight - a.percentWeight)\n .slice(0, 4);\n\n const pages = [];\n\n // Page 1: Cannabinoid Profile\n pages.push(e(Page, { key: \"page1\", size: \"A4\", style: styles.page },\n e(View, { style: styles.header },\n e(View, { style: styles.headerLeft },\n data.logoUrl\n ? e(Image, { src: data.logoUrl, style: styles.logo })\n : e(View, { style: { ...styles.logo, backgroundColor: colors.green500, borderRadius: 8 } }),\n e(View, { style: styles.companyInfo },\n e(Text, { style: styles.companyName }, (data.labName || \"Lab\").split(\" \")[0]),\n e(Text, { style: styles.companySubname }, (data.labName || \"\").split(\" \").slice(1).join(\" \") || \"\"),\n ),\n e(View, { style: styles.divider }),\n e(Text, { style: styles.labContact }, data.labContact || \"\"),\n ),\n e(Text, { style: styles.docTitle }, \"Certificate of Analysis\"),\n ),\n e(View, { style: styles.sampleSection },\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.sampleTitle }, data.sampleName),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Sample ID:\"), e(Text, { style: styles.infoValue }, data.sampleId)),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Matrix:\"), e(Text, { style: styles.infoValue }, data.sampleType || \"Plant\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Sample Size:\"), e(Text, { style: styles.infoValue }, data.sampleSize || \"\\u2014\")),\n ),\n e(View, { style: styles.sampleCol },\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Collected:\"), e(Text, { style: styles.infoValue }, data.dateCollected || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Received:\"), e(Text, { style: styles.infoValue }, data.dateReceived || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Completed:\"), e(Text, { style: styles.infoValue }, data.dateTested || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Batch #:\"), e(Text, { style: styles.infoValue }, data.batchId || \"\\u2014\")),\n ),\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.infoLabel }, \"Client:\"),\n e(Text, { style: { ...styles.infoValue, fontFamily: \"Helvetica-Bold\", marginLeft: 0 } }, data.clientName),\n data.clientAddress ? e(Text, { style: { ...styles.infoValue, marginLeft: 0, fontSize: 6.5 } }, data.clientAddress) : null,\n data.licenseNumber ? e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Lic #:\"),\n e(Text, { style: styles.infoValue }, data.licenseNumber),\n ) : null,\n ),\n e(View, { style: { ...styles.sampleCol, alignItems: \"center\" } },\n e(Text, { style: { ...styles.infoLabel, marginBottom: 4 } }, \"Cannabinoid Distribution\"),\n e(PieChart, { cannabinoids: data.cannabinoids || [] }),\n ),\n ),\n e(View, { style: styles.sectionHeader },\n e(Text, { style: styles.sectionTitle }, \"Cannabinoids\"),\n e(Text, { style: styles.sectionStatus }, \"Complete\"),\n ),\n e(View, { style: styles.tableContainer },\n e(View, { style: styles.table },\n e(View, { style: styles.tableHeader },\n e(Text, { style: { ...styles.tableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"14%\" } }, \"LOD mg/g\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"14%\" } }, \"LOQ mg/g\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"22%\" } }, \"Result %\"),\n e(Text, { style: { ...styles.tableHeaderCellLast, width: \"22%\" } }, \"Result mg/g\"),\n ),\n ...(data.cannabinoids || []).map((c, i) => {\n const displayName = (c.name || \"\").replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\").replace(/Delta/gi, \"D\");\n return e(View, { key: String(i), style: i % 2 === 0 ? styles.tableRow : styles.tableRowAlt },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, displayName),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, c.lod.toFixed(2)),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, c.loq.toFixed(2)),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } },\n c.result === \"ND\" ? \"ND\" : c.percentWeight.toFixed(2)),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } },\n c.result === \"ND\" ? \"ND\" : c.mgPerG.toFixed(2)),\n );\n }),\n e(View, { style: styles.tableSummaryRow },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total THC\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalTHC),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalTHC === \"ND\" ? \"ND\" : (parseFloat(totalTHC) * 10).toFixed(2)),\n ),\n e(View, { style: styles.tableSummaryRow },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total CBD\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalCBDDisplay),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalCBD > 0 ? (totalCBD * 10).toFixed(2) : \"ND\"),\n ),\n e(View, { style: { ...styles.tableSummaryRow, borderBottomWidth: 0 } },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total Cannabinoids\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalCannabinoids),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalCannabinoids === \"ND\" ? \"ND\" : (parseFloat(totalCannabinoids) * 10).toFixed(2)),\n ),\n ),\n e(View, { style: styles.summaryContainer },\n ...top4.map((c: Cannabinoid, i: number) =>\n e(View, { key: String(i), style: styles.summaryBox },\n e(Text, { style: styles.summaryValue }, `${c.percentWeight.toFixed(2)}%`),\n e(Text, { style: styles.summaryLabel }, c.name.replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\")),\n ),\n ),\n e(Text, { style: styles.summaryTableTitle }, \"Summary\"),\n e(View, { style: styles.summaryTable },\n e(View, { style: { ...styles.summaryTableRow, backgroundColor: colors.gray50 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Test\"),\n e(Text, { style: styles.summaryTableCell }, \"Date\"),\n e(Text, { style: styles.summaryTableCell }, \"Result\"),\n ),\n e(View, { style: styles.summaryTableRow },\n e(Text, { style: styles.summaryTableCellLeft }, \"Batch\"),\n e(Text, { style: styles.summaryTableCell }, data.testsBatch ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsBatch ? \"Complete\" : \"Not Submitted\"),\n ),\n e(View, { style: { ...styles.summaryTableRow, backgroundColor: colors.gray50 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Cannabinoids\"),\n e(Text, { style: styles.summaryTableCell }, data.testsCannabinoids ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsCannabinoids ? \"Complete\" : \"Not Tested\"),\n ),\n e(View, { style: { ...styles.summaryTableRow, borderBottomWidth: 0 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Moisture\"),\n e(Text, { style: styles.summaryTableCell }, data.testsMoisture ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsMoisture ? `${data.moisture ? data.moisture.toFixed(2) : \"0.00\"}%` : \"Not Tested\"),\n ),\n ),\n ),\n ),\n e(View, { style: styles.methodology },\n e(Text, { style: styles.methodologyTitle }, data.notes || \"Methodology & Quality Control\"),\n e(Text, { style: styles.methodologyText },\n \"Total THC = D9-THC + 0.877 \\u00D7 THCa. Total CBD = CBD + 0.877 \\u00D7 CBDa. Total Cannabinoids = Sum of individual cannabinoids detected. Testing performed using validated HPLC-UV/MS methods per ISO 17025 standards. Unless otherwise stated, all quality control samples performed within specifications. This Certificate applies only to the sample(s) tested and is not a declaration of product safety, efficacy, or regulatory compliance.\",\n ),\n ),\n e(View, { style: styles.footer },\n e(View, { style: styles.footerLeft },\n data.qrCodeDataUrl ? e(View, { style: styles.qrSection },\n e(Image, { src: data.qrCodeDataUrl, style: styles.qrCode }),\n e(Text, { style: styles.qrLabel }, \"Scan for digital copy\"),\n ) : null,\n e(Text, { style: styles.disclaimer },\n `${data.labName || \"This laboratory\"} performs analytical testing using validated internal methodologies and quality control protocols. All results apply only to the sample(s) tested. This Certificate is not a declaration of product safety, efficacy, or regulatory compliance. Testing performed in accordance with applicable state regulations.\\n\\nThis report may not be reproduced except in full without written approval from ${data.labName || \"the laboratory\"}.`,\n ),\n e(Text, { style: { ...styles.disclaimer, marginTop: 4 } },\n `For inquiries: support@quantixanalytics.com | Raleigh, NC | ${data.labWebsite || \"www.quantixanalytics.com\"}`,\n ),\n ),\n e(View, { style: styles.footerRight },\n e(View, { style: styles.footerCompany },\n e(Text, { style: { fontFamily: \"Helvetica-Bold\" } }, data.labName || \"Laboratory\"),\n e(Text, {}, \"All Rights Reserved\"),\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, data.labWebsite || \"www.quantixanalytics.com\"),\n ),\n e(View, { style: styles.signatureSection },\n data.signatureUrl ? e(Image, { src: data.signatureUrl, style: { width: 180, height: 70, marginBottom: 4 } }) : null,\n e(Text, { style: styles.signatureName }, data.labDirector || \"Sarah Mitchell\"),\n e(Text, { style: styles.signatureTitle }, data.directorTitle || \"Laboratory Director\"),\n e(Text, { style: styles.signatureTitle }, data.approvalDate || data.dateTested || \"\\u2014\"),\n data.fullPanel ? e(Text, { style: { fontSize: 7, color: colors.gray500, marginTop: 8, textAlign: \"right\" } },\n `Page 1 of ${totalPages}`) : null,\n ),\n ),\n ),\n ));\n\n if (data.fullPanel) {\n pages.push(e(SafetyTestingPage, { key: \"page2\", data: { ...data, totalPages } }));\n pages.push(e(PesticidePage, { key: \"page3\", data: { ...data, totalPages }, category: \"I\", pesticides: data.pesticidesCat1 || [], pageNum: 3 }));\n pages.push(e(PesticidePage, { key: \"page4\", data: { ...data, totalPages }, category: \"II\", pesticides: data.pesticidesCat2 || [], pageNum: 4 }));\n if (hasResidualSolvents) {\n pages.push(e(ResidualSolventsPage, { key: \"page5\", data: { ...data, totalPages } }));\n }\n }\n\n return e(Document, {}, ...pages);\n};\n\n// ============================================================================\n// Public API\n// ============================================================================\n\nexport async function renderCOAToPdf(data: COAData): Promise<Buffer> {\n const doc = React.createElement(CannabisCOADocument, { data }) as any;\n const buffer = await renderToBuffer(doc);\n return Buffer.from(buffer);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"coa-renderer.js","names":["React","Document","Page","Text","View","Image","StyleSheet","renderToBuffer","Svg","Path","e","createElement","colors","black","gray900","gray800","gray700","gray600","gray500","gray400","gray300","gray200","gray100","gray50","green700","green500","green50","white","pieColors","THCa","THCP","CBD","CBDa","CBG","CBGa","CBC","CBN","CBDV","THCV","CBL","CBCA","CBNA","Other","styles","create","page","paddingTop","paddingBottom","paddingLeft","paddingRight","fontSize","fontFamily","color","backgroundColor","header","flexDirection","justifyContent","borderBottomWidth","borderBottomColor","marginBottom","headerLeft","alignItems","logo","width","height","companyInfo","marginLeft","companyName","companySubname","marginTop","divider","marginHorizontal","labContact","lineHeight","docTitle","sampleSection","sampleCol","flex","paddingHorizontal","sampleTitle","infoRow","infoLabel","infoValue","sectionHeader","sectionTitle","sectionStatus","tableContainer","table","borderWidth","borderColor","tableHeader","tableHeaderCell","padding","textAlign","borderRightWidth","borderRightColor","tableHeaderCellLast","tableRow","minHeight","tableRowAlt","tableCell","tableCellLast","tableCellLeft","tableSummaryRow","summaryContainer","summaryBox","summaryBoxInactive","summaryValue","summaryValueInactive","summaryLabel","summaryLabelInactive","summaryTableTitle","summaryTable","summaryTableRow","summaryTableCell","summaryTableCellLeft","methodology","methodologyTitle","methodologyText","footer","borderTopWidth","borderTopColor","footerLeft","qrSection","marginRight","qrCode","qrLabel","disclaimer","footerRight","footerCompany","signatureSection","signatureName","signatureTitle","panelStyles","pageHeader","pageHeaderLeft","pageHeaderLogo","pageHeaderTitle","pageHeaderCompany","pageHeaderSubtitle","pageHeaderRight","pageTitle","pageSampleInfo","panelSection","summaryCard","borderRadius","summaryCardTitle","summaryCardText","panelHeader","panelTitle","flexShrink","statusBadge","paddingVertical","statusBadgeFail","panelTable","panelTableHeader","panelTableHeaderCell","panelTableRow","panelTableCell","panelTableCellLeft","pesticideTableRow","pesticideTableCell","pesticideTableCellLeft","passText","failText","twoColumnContainer","gap","columnHalf","pageFooter","position","bottom","left","right","footerText","categoryBadge","categoryTitle","categorySubtitle","createPieSlice","cx","cy","r","startAngle","endAngle","start","x","Math","cos","PI","y","sin","end","largeArc","PieChart","cannabinoids","detected","filter","c","result","percentWeight","sort","a","b","length","reduce","sum","placeholderData","name","pct","currentAngle","placeholderSlices","map","item","i","angle","path","key","String","d","fill","opacity","placeholderLegend","style","viewBox","total","slices","legend","slice","displayName","replace","toFixed","PanelPageHeader","data","title","logoUrl","src","labName","split","join","labAddress","sampleName","sampleId","sampleType","dateCollected","dateReceived","dateTested","batchId","clientName","clientAddress","licenseNumber","letterSpacing","PanelPageFooter","pageNum","totalPages","methodText","qrCodeDataUrl","labWebsite","signatureUrl","labDirector","directorTitle","SafetyTestingPage","microbialPassed","microbialResults","some","status","heavyMetalsPassed","heavyMetalsResults","mycotoxinsPassed","mycotoxinResults","size","analyte","test","limit","lod","loq","PesticidePage","category","pesticides","allPassed","half","ceil","leftColumn","rightColumn","isCat1","renderColumn","items","ResidualSolventsPage","testsResidualSolvents","solvents","CannabisCOADocument","totalTHC","totalCBD","totalCBDDisplay","totalCannabinoids","hasResidualSolvents","fullPanel","top4","pages","push","sampleSize","mgPerG","parseFloat","testsBatch","testsCannabinoids","testsMoisture","moisture","notes","pesticidesCat1","pesticidesCat2","renderCOAToPdf","doc","buffer","Buffer","from"],"sources":["../../../src/server/lib/coa-renderer.ts"],"sourcesContent":["// server/lib/coa-renderer.ts — React-PDF COA renderer\n// Ported from CoaGenerator edge function. Produces pixel-perfect branded COA PDFs.\n\nimport React from \"react\";\nimport {\n Document,\n Page,\n Text,\n View,\n Image,\n StyleSheet,\n renderToBuffer,\n Svg,\n Path,\n} from \"@react-pdf/renderer\";\n\nconst e = React.createElement;\n\n// ============================================================================\n// Design Tokens\n// ============================================================================\n\nconst colors = {\n black: \"#000000\",\n gray900: \"#111827\",\n gray800: \"#1f2937\",\n gray700: \"#374151\",\n gray600: \"#4b5563\",\n gray500: \"#6b7280\",\n gray400: \"#9ca3af\",\n gray300: \"#d1d5db\",\n gray200: \"#e5e7eb\",\n gray100: \"#f3f4f6\",\n gray50: \"#f9fafb\",\n green700: \"#15803d\",\n green500: \"#10b981\",\n green50: \"#f0fdf4\",\n white: \"#ffffff\",\n};\n\nconst pieColors: Record<string, string> = {\n THCa: \"#10B981\",\n \"D9-THC\": \"#F59E0B\",\n \"D8-THC\": \"#EF4444\",\n THCP: \"#8B5CF6\",\n CBD: \"#3B82F6\",\n CBDa: \"#06B6D4\",\n CBG: \"#14B8A6\",\n CBGa: \"#059669\",\n CBC: \"#EC4899\",\n CBN: \"#F97316\",\n CBDV: \"#6366F1\",\n THCV: \"#A855F7\",\n CBL: \"#84CC16\",\n CBCA: \"#D946EF\",\n CBNA: \"#F43F5E\",\n Other: \"#9CA3AF\",\n};\n\n// ============================================================================\n// Interfaces\n// ============================================================================\n\nexport interface COAData {\n labName?: string;\n labAddress?: string;\n labContact?: string;\n logoUrl?: string;\n labWebsite?: string;\n labDirector?: string;\n directorTitle?: string;\n signatureUrl?: string;\n sampleName: string;\n sampleId: string;\n strain?: string;\n sampleType?: string;\n sampleSize?: string;\n batchId?: string;\n dateCollected?: string;\n dateReceived?: string;\n dateTested?: string;\n dateReported?: string;\n clientName: string;\n clientAddress?: string;\n licenseNumber?: string;\n clientState?: string;\n clientType?: string;\n cannabinoids?: Cannabinoid[];\n totalTHC?: number;\n totalCBD?: number;\n totalCannabinoids?: number;\n moisture?: number;\n D9_THC?: number;\n d9_thc?: number;\n testsBatch?: boolean;\n testsCannabinoids?: boolean;\n testsMoisture?: boolean;\n qrCodeDataUrl?: string;\n notes?: string;\n fullPanel?: boolean;\n totalPages?: number;\n microbialResults?: MicrobialResult[];\n heavyMetalsResults?: HeavyMetalResult[];\n mycotoxinResults?: MycotoxinResult[];\n pesticidesCat1?: PesticideResult[];\n pesticidesCat2?: PesticideResult[];\n testsResidualSolvents?: ResidualSolventResult[];\n}\n\ninterface Cannabinoid {\n name: string;\n lod: number;\n loq: number;\n result: string | number;\n percentWeight: number;\n mgPerG: number;\n}\n\ninterface MicrobialResult {\n test?: string;\n analyte?: string;\n result: number | \"ND\";\n limit: number | \"ND\" | string;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface HeavyMetalResult {\n analyte: string;\n lod: number;\n loq: number;\n result: number | \"ND\";\n limit: number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface MycotoxinResult {\n analyte: string;\n lod: number;\n loq: number;\n result: number | \"ND\";\n limit: number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface PesticideResult {\n analyte: string;\n result: \"ND\" | number;\n status: \"Pass\" | \"Fail\";\n}\n\ninterface ResidualSolventResult {\n analyte: string;\n result: string | number;\n limit: number;\n loq?: number;\n unit: string;\n status: \"Pass\" | \"Fail\";\n}\n\n// ============================================================================\n// StyleSheets\n// ============================================================================\n\nconst styles = StyleSheet.create({\n page: {\n paddingTop: 15,\n paddingBottom: 15,\n paddingLeft: 10,\n paddingRight: 10,\n fontSize: 8,\n fontFamily: \"Helvetica\",\n color: colors.gray900,\n backgroundColor: colors.white,\n },\n header: {\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n paddingBottom: 6,\n marginBottom: 6,\n },\n headerLeft: { flexDirection: \"row\", alignItems: \"center\" },\n logo: { width: 45, height: 45 },\n companyInfo: { marginLeft: 8 },\n companyName: { fontSize: 22, fontFamily: \"Helvetica-Bold\", color: colors.black },\n companySubname: { fontSize: 17, color: colors.black, marginTop: -2 },\n divider: { width: 1, height: 45, backgroundColor: colors.gray300, marginHorizontal: 10 },\n labContact: { fontSize: 8, color: colors.gray700, lineHeight: 1.4 },\n docTitle: { fontSize: 11, color: colors.gray700, marginTop: 6 },\n sampleSection: {\n flexDirection: \"row\",\n marginBottom: 8,\n paddingBottom: 6,\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n },\n sampleCol: { flex: 1, paddingHorizontal: 8 },\n sampleTitle: { fontSize: 11, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n infoRow: { flexDirection: \"row\", marginBottom: 2 },\n infoLabel: { fontSize: 7.5, fontFamily: \"Helvetica-Bold\", color: colors.gray900 },\n infoValue: { fontSize: 7.5, color: colors.gray700, marginLeft: 3 },\n sectionHeader: { flexDirection: \"row\", justifyContent: \"space-between\", marginBottom: 4 },\n sectionTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\" },\n sectionStatus: { fontSize: 8, color: colors.gray700 },\n tableContainer: { flexDirection: \"row\" },\n table: { flex: 1, borderWidth: 1, borderColor: colors.gray200 },\n tableHeader: {\n flexDirection: \"row\",\n backgroundColor: colors.gray50,\n borderBottomWidth: 1,\n borderBottomColor: colors.gray200,\n },\n tableHeaderCell: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n tableHeaderCellLast: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n },\n tableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 22,\n },\n tableRowAlt: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200,\n backgroundColor: colors.gray50, minHeight: 22,\n },\n tableCell: {\n padding: 6, fontSize: 9, textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200, color: colors.gray700,\n },\n tableCellLast: { padding: 6, fontSize: 9, textAlign: \"center\", color: colors.gray700 },\n tableCellLeft: {\n padding: 6, fontSize: 9, textAlign: \"left\",\n borderRightWidth: 1, borderRightColor: colors.gray200, fontFamily: \"Helvetica-Bold\",\n },\n tableSummaryRow: {\n flexDirection: \"row\", backgroundColor: colors.gray100, minHeight: 22,\n },\n summaryContainer: { width: 145, marginLeft: 12 },\n summaryBox: {\n borderWidth: 2, borderColor: colors.green500, backgroundColor: colors.green50,\n padding: 10, marginBottom: 8, alignItems: \"center\",\n },\n summaryBoxInactive: {\n borderWidth: 2, borderColor: colors.gray300, backgroundColor: colors.gray50,\n padding: 10, marginBottom: 8, alignItems: \"center\",\n },\n summaryValue: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.green700 },\n summaryValueInactive: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.gray500 },\n summaryLabel: { fontSize: 9, fontFamily: \"Helvetica-Bold\", color: colors.green700, marginTop: 3 },\n summaryLabelInactive: { fontSize: 9, fontFamily: \"Helvetica-Bold\", color: colors.gray500, marginTop: 3 },\n summaryTableTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\", marginTop: 10, marginBottom: 4 },\n summaryTable: { borderWidth: 1, borderColor: colors.gray200 },\n summaryTableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 18,\n },\n summaryTableCell: { padding: 4, fontSize: 8, flex: 1, textAlign: \"center\" },\n summaryTableCellLeft: {\n padding: 4, fontSize: 8, flex: 1, textAlign: \"left\", fontFamily: \"Helvetica-Bold\",\n },\n methodology: { backgroundColor: colors.gray50, padding: 8, marginTop: 8, marginBottom: 8 },\n methodologyTitle: { fontSize: 9, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n methodologyText: { fontSize: 7, color: colors.gray700, lineHeight: 1.5 },\n footer: {\n flexDirection: \"row\", borderTopWidth: 1, borderTopColor: colors.gray200,\n paddingTop: 8, marginTop: 6,\n },\n footerLeft: { flex: 1, flexDirection: \"row\" },\n qrSection: { alignItems: \"center\", marginRight: 12 },\n qrCode: { width: 60, height: 60, borderWidth: 1, borderColor: colors.gray300 },\n qrLabel: { fontSize: 7, color: colors.gray700, marginTop: 3 },\n disclaimer: { flex: 1, fontSize: 7, color: colors.gray700, lineHeight: 1.4 },\n footerRight: { width: 150, alignItems: \"flex-end\" },\n footerCompany: { fontSize: 9, textAlign: \"right\", marginBottom: 8 },\n signatureSection: {\n borderTopWidth: 1, borderTopColor: colors.gray300, paddingTop: 8, alignItems: \"flex-end\",\n },\n signatureName: { fontSize: 9, fontFamily: \"Helvetica-Bold\" },\n signatureTitle: { fontSize: 8, color: colors.gray700 },\n});\n\nconst panelStyles = StyleSheet.create({\n pageHeader: {\n flexDirection: \"row\", justifyContent: \"space-between\", alignItems: \"center\",\n borderBottomWidth: 2, borderBottomColor: colors.green500, paddingBottom: 6, marginBottom: 8,\n },\n pageHeaderLeft: { flexDirection: \"row\", alignItems: \"center\" },\n pageHeaderLogo: { width: 28, height: 28 },\n pageHeaderTitle: { marginLeft: 8 },\n pageHeaderCompany: { fontSize: 14, fontFamily: \"Helvetica-Bold\" },\n pageHeaderSubtitle: { fontSize: 9, color: colors.gray600 },\n pageHeaderRight: { textAlign: \"right\" },\n pageTitle: { fontSize: 12, fontFamily: \"Helvetica-Bold\" },\n pageSampleInfo: { fontSize: 8, color: colors.gray600 },\n panelSection: { marginBottom: 6 },\n summaryCard: {\n backgroundColor: colors.green50, borderWidth: 2, borderColor: colors.green500,\n borderRadius: 8, padding: 8, marginBottom: 8,\n },\n summaryCardTitle: { fontSize: 10, fontFamily: \"Helvetica-Bold\", color: colors.green700, marginBottom: 6 },\n summaryCardText: { fontSize: 8, color: colors.gray700, lineHeight: 1.4 },\n panelHeader: {\n flexDirection: \"row\", justifyContent: \"space-between\", alignItems: \"center\",\n backgroundColor: colors.gray100, padding: 8, marginBottom: 1,\n },\n panelTitle: { fontSize: 11, fontFamily: \"Helvetica-Bold\", flexShrink: 0 },\n statusBadge: {\n backgroundColor: colors.green500, color: colors.white,\n paddingHorizontal: 8, paddingVertical: 3, borderRadius: 3,\n fontSize: 8, fontFamily: \"Helvetica-Bold\",\n },\n statusBadgeFail: {\n backgroundColor: \"#EF4444\", color: colors.white,\n paddingHorizontal: 8, paddingVertical: 3, borderRadius: 3,\n fontSize: 8, fontFamily: \"Helvetica-Bold\",\n },\n panelTable: { borderWidth: 1, borderColor: colors.gray200 },\n panelTableHeader: {\n flexDirection: \"row\", backgroundColor: colors.gray50,\n borderBottomWidth: 1, borderBottomColor: colors.gray200,\n },\n panelTableHeaderCell: {\n padding: 6, fontSize: 9, fontFamily: \"Helvetica-Bold\", textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n panelTableRow: {\n flexDirection: \"row\", borderBottomWidth: 1, borderBottomColor: colors.gray200, minHeight: 18,\n },\n panelTableCell: {\n padding: 3, fontSize: 7, textAlign: \"center\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n panelTableCellLeft: {\n padding: 3, fontSize: 7, textAlign: \"left\",\n borderRightWidth: 1, borderRightColor: colors.gray200,\n },\n pesticideTableRow: {\n flexDirection: \"row\", borderBottomWidth: 0.5, borderBottomColor: colors.gray200, minHeight: 14,\n },\n pesticideTableCell: {\n padding: 2, fontSize: 6.5, textAlign: \"center\",\n borderRightWidth: 0.5, borderRightColor: colors.gray200,\n },\n pesticideTableCellLeft: {\n padding: 2, fontSize: 6.5, textAlign: \"left\",\n borderRightWidth: 0.5, borderRightColor: colors.gray200,\n },\n passText: { color: colors.green700, fontFamily: \"Helvetica-Bold\" },\n failText: { color: \"#EF4444\", fontFamily: \"Helvetica-Bold\" },\n twoColumnContainer: { flexDirection: \"row\", gap: 12 },\n columnHalf: { flex: 1 },\n pageFooter: {\n position: \"absolute\", bottom: 20, left: 20, right: 20,\n flexDirection: \"row\", justifyContent: \"space-between\",\n borderTopWidth: 1, borderTopColor: colors.gray200, paddingTop: 8,\n },\n footerText: { fontSize: 7, color: colors.gray600 },\n methodology: { marginTop: 8, padding: 6, backgroundColor: colors.gray50 },\n methodologyTitle: { fontSize: 8, fontFamily: \"Helvetica-Bold\", marginBottom: 4 },\n methodologyText: { fontSize: 7, color: colors.gray600, lineHeight: 1.4 },\n categoryBadge: {\n backgroundColor: colors.green500, color: colors.white,\n paddingHorizontal: 6, paddingVertical: 2, fontSize: 7, fontFamily: \"Helvetica-Bold\",\n },\n categoryTitle: { fontSize: 9, fontFamily: \"Helvetica-Bold\", marginLeft: 8 },\n categorySubtitle: { fontSize: 7, color: colors.gray600, marginLeft: 8 },\n});\n\n// ============================================================================\n// Pie Chart\n// ============================================================================\n\nconst createPieSlice = (cx: number, cy: number, r: number, startAngle: number, endAngle: number): string => {\n const start = {\n x: cx + r * Math.cos((startAngle * Math.PI) / 180),\n y: cy + r * Math.sin((startAngle * Math.PI) / 180),\n };\n const end = {\n x: cx + r * Math.cos((endAngle * Math.PI) / 180),\n y: cy + r * Math.sin((endAngle * Math.PI) / 180),\n };\n const largeArc = endAngle - startAngle > 180 ? 1 : 0;\n return `M ${cx} ${cy} L ${start.x} ${start.y} A ${r} ${r} 0 ${largeArc} 1 ${end.x} ${end.y} Z`;\n};\n\nconst PieChart = ({ cannabinoids }: { cannabinoids: Cannabinoid[] }) => {\n const detected = cannabinoids\n .filter((c) => c.result !== \"ND\" && c.percentWeight > 0)\n .sort((a, b) => b.percentWeight - a.percentWeight);\n const cx = 35, cy = 35, r = 30;\n\n if (detected.length === 0 || detected.reduce((sum, c) => sum + c.percentWeight, 0) === 0) {\n const placeholderData = [\n { name: \"D9-THC\", pct: 65 }, { name: \"THCa\", pct: 20 },\n { name: \"CBD\", pct: 10 }, { name: \"Other\", pct: 5 },\n ];\n let currentAngle = -90;\n const placeholderSlices = placeholderData.map((item, i) => {\n const angle = (item.pct / 100) * 360;\n const path = createPieSlice(cx, cy, r, currentAngle, currentAngle + angle);\n const color = pieColors[item.name] || pieColors.Other;\n currentAngle += angle;\n return e(Path, { key: String(i), d: path, fill: color, opacity: 0.4 });\n });\n const placeholderLegend = placeholderData.map((item, i) => {\n const color = pieColors[item.name] || pieColors.Other;\n return e(View, { key: String(i), style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 2 } },\n e(View, { style: { width: 6, height: 6, backgroundColor: color, opacity: 0.4, marginRight: 3 } }),\n e(Text, { style: { fontSize: 6, color: colors.gray400 } }, `${item.name}: --%`),\n );\n });\n return e(View, { style: { flexDirection: \"row\", alignItems: \"flex-start\" } },\n e(Svg, { width: 70, height: 70, viewBox: \"0 0 70 70\" }, ...placeholderSlices),\n e(View, { style: { marginLeft: 4 } }, ...placeholderLegend),\n );\n }\n\n const total = detected.reduce((sum, c) => sum + c.percentWeight, 0);\n let currentAngle = -90;\n const slices = detected.map((c, i) => {\n const angle = (c.percentWeight / total) * 360;\n const path = createPieSlice(cx, cy, r, currentAngle, currentAngle + angle);\n const color = pieColors[c.name] || pieColors.Other;\n currentAngle += angle;\n return e(Path, { key: String(i), d: path, fill: color });\n });\n const legend = detected.slice(0, 6).map((c, i) => {\n const color = pieColors[c.name] || pieColors.Other;\n const displayName = c.name.replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\").replace(/Delta/gi, \"D\");\n return e(View, { key: String(i), style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 2 } },\n e(View, { style: { width: 6, height: 6, backgroundColor: color, marginRight: 3 } }),\n e(Text, { style: { fontSize: 6, color: colors.gray700 } }, `${displayName}: ${c.percentWeight.toFixed(2)}%`),\n );\n });\n return e(View, { style: { flexDirection: \"row\", alignItems: \"flex-start\" } },\n e(Svg, { width: 70, height: 70, viewBox: \"0 0 70 70\" }, ...slices),\n e(View, { style: { marginLeft: 4 } }, ...legend),\n );\n};\n\n// ============================================================================\n// Shared Components (Pages 2-5)\n// ============================================================================\n\nconst PanelPageHeader = ({ data, title }: { data: COAData; title: string }) => {\n return e(View, null,\n e(View, { style: styles.header },\n e(View, { style: styles.headerLeft },\n data.logoUrl\n ? e(Image, { src: data.logoUrl, style: styles.logo })\n : e(View, { style: { ...styles.logo, backgroundColor: colors.green500, borderRadius: 8 } }),\n e(View, { style: styles.companyInfo },\n e(Text, { style: styles.companyName }, (data.labName || \"Lab\").split(\" \")[0]),\n e(Text, { style: styles.companySubname }, (data.labName || \"\").split(\" \").slice(1).join(\" \") || \"\"),\n ),\n e(View, { style: styles.divider }),\n e(View, null,\n e(Text, { style: styles.labContact }, data.labContact || \"\"),\n data.labAddress ? e(Text, { style: { fontSize: 7, color: colors.gray600, lineHeight: 1.3 } }, data.labAddress) : null,\n ),\n ),\n e(Text, { style: { ...styles.docTitle, fontSize: 10, fontFamily: \"Helvetica-Bold\" } }, title),\n ),\n e(View, { style: { ...styles.sampleSection, marginBottom: 8 } },\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.sampleTitle }, data.sampleName),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Sample ID:\"),\n e(Text, { style: styles.infoValue }, data.sampleId),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Matrix:\"),\n e(Text, { style: styles.infoValue }, data.sampleType || \"Plant\"),\n ),\n ),\n e(View, { style: styles.sampleCol },\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Collected:\"),\n e(Text, { style: styles.infoValue }, data.dateCollected || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Received:\"),\n e(Text, { style: styles.infoValue }, data.dateReceived || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Completed:\"),\n e(Text, { style: styles.infoValue }, data.dateTested || \"\\u2014\"),\n ),\n e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Batch #:\"),\n e(Text, { style: styles.infoValue }, data.batchId || \"\\u2014\"),\n ),\n ),\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.infoLabel }, \"Client:\"),\n e(Text, { style: { ...styles.infoValue, fontFamily: \"Helvetica-Bold\", marginLeft: 0 } }, data.clientName),\n data.clientAddress ? e(Text, { style: { ...styles.infoValue, marginLeft: 0, fontSize: 6.5 } }, data.clientAddress) : null,\n data.licenseNumber ? e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Lic #:\"),\n e(Text, { style: styles.infoValue }, data.licenseNumber),\n ) : null,\n ),\n e(View, { style: { ...styles.sampleCol, alignItems: \"center\", justifyContent: \"center\" } },\n e(Text, { style: { ...styles.infoLabel, marginBottom: 4, textAlign: \"center\" } }, \"Test Result\"),\n e(View, { style: {\n width: 70, height: 40, borderWidth: 3, borderColor: colors.green500,\n borderRadius: 4, backgroundColor: colors.white, alignItems: \"center\", justifyContent: \"center\",\n } },\n e(Text, { style: { fontSize: 18, fontFamily: \"Helvetica-Bold\", color: colors.green500, letterSpacing: 2 } }, \"PASS\"),\n ),\n ),\n ),\n );\n};\n\nconst PanelPageFooter = ({ data, pageNum, totalPages }: { data: COAData; pageNum: number; totalPages: number }) => {\n const methodText = pageNum === 2\n ? \"All safety and compliance testing is performed in accordance with ISO 17025 accredited laboratory standards. Heavy metals via ICP-MS. Microbial via qPCR. Solvents via HS-GC-MS. Mycotoxins via LC-MS/MS. ND = Not Detected (below Limit of Detection).\"\n : pageNum >= 3\n ? \"Comprehensive pesticide screening performed using LC-MS/MS in accordance with ISO 17025 standards. Category I pesticides are banned substances with zero tolerance. Category II pesticides have established action levels. All results in ppm. ND = Not Detected.\"\n : \"Testing performed using validated methods per ISO 17025 standards. This Certificate applies only to the sample(s) tested.\";\n\n return e(View, null,\n e(View, { style: styles.methodology },\n e(Text, { style: styles.methodologyTitle }, \"Methodology & Quality Control\"),\n e(Text, { style: styles.methodologyText }, methodText),\n ),\n e(View, { style: styles.footer },\n e(View, { style: styles.footerLeft },\n data.qrCodeDataUrl ? e(View, { style: styles.qrSection },\n e(Image, { src: data.qrCodeDataUrl, style: styles.qrCode }),\n e(Text, { style: styles.qrLabel }, \"Scan for digital copy\"),\n ) : null,\n e(Text, { style: styles.disclaimer },\n `${data.labName || \"This laboratory\"} performs analytical testing using validated internal methodologies and quality control protocols. All results apply only to the sample(s) tested. This Certificate is not a declaration of product safety, efficacy, or regulatory compliance. Testing performed in accordance with applicable state regulations.\\n\\nThis report may not be reproduced except in full without written approval from ${data.labName || \"the laboratory\"}.`,\n ),\n e(Text, { style: { ...styles.disclaimer, marginTop: 4 } },\n `For inquiries: support@quantixanalytics.com | Raleigh, NC | ${data.labWebsite || \"www.quantixanalytics.com\"}`,\n ),\n ),\n e(View, { style: styles.footerRight },\n e(View, { style: styles.footerCompany },\n e(Text, { style: { fontFamily: \"Helvetica-Bold\" } }, data.labName || \"Laboratory\"),\n e(Text, {}, \"All Rights Reserved\"),\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, data.labWebsite || \"www.quantixanalytics.com\"),\n ),\n e(View, { style: styles.signatureSection },\n data.signatureUrl ? e(Image, { src: data.signatureUrl, style: { width: 180, height: 70, marginBottom: 4 } }) : null,\n e(Text, { style: styles.signatureName }, data.labDirector || \"Sarah Mitchell\"),\n e(Text, { style: styles.signatureTitle }, data.directorTitle || \"Laboratory Director\"),\n e(Text, { style: styles.signatureTitle }, data.dateTested || \"\\u2014\"),\n e(Text, { style: { fontSize: 7, color: colors.gray500, marginTop: 8, textAlign: \"right\" } },\n `Page ${pageNum} of ${totalPages}`,\n ),\n ),\n ),\n ),\n );\n};\n\n// ============================================================================\n// Page 2: Safety & Compliance\n// ============================================================================\n\nconst SafetyTestingPage = ({ data }: { data: COAData }) => {\n const microbialPassed = !data.microbialResults?.some((r) => r.status === \"Fail\");\n const heavyMetalsPassed = !data.heavyMetalsResults?.some((r) => r.status === \"Fail\");\n const mycotoxinsPassed = !data.mycotoxinResults?.some((r) => r.status === \"Fail\");\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: \"Safety & Compliance Testing\" }),\n e(View, { style: panelStyles.summaryCard },\n e(Text, { style: panelStyles.summaryCardTitle }, \"\\u2713 All Safety Tests Passed\"),\n e(Text, { style: panelStyles.summaryCardText },\n \"This sample has been tested for microbial contaminants, heavy metals, and mycotoxins. All results are within acceptable limits as defined by state regulations and industry standards.\",\n ),\n ),\n e(View, { style: panelStyles.twoColumnContainer },\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Microbial Contaminants\"),\n e(Text, { style: microbialPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n microbialPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"45%\", textAlign: \"left\" } }, \"Test\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.microbialResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"45%\" } }, r.analyte || r.test || \"\"),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"20%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"20%\" } }, String(r.limit || \"\")),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"15%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n ),\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Heavy Metals Analysis\"),\n e(Text, { style: heavyMetalsPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n heavyMetalsPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOD\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOQ\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"18%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.heavyMetalsResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"28%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.lod)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.loq)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"15%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, `<${r.limit}`),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"18%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n e(View, { style: panelStyles.panelSection },\n e(View, { style: panelStyles.panelHeader },\n e(Text, { style: panelStyles.panelTitle }, \"Mycotoxins\"),\n e(Text, { style: mycotoxinsPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n mycotoxinsPassed ? \"Pass\" : \"Fail\"),\n ),\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOD\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"LOQ\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"15%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"13%\" } }, \"Limit\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"18%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...(data.mycotoxinResults || []).map((r, i) =>\n e(View, { key: String(i), style: panelStyles.panelTableRow },\n e(Text, { style: { ...panelStyles.panelTableCellLeft, width: \"28%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.lod)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, String(r.loq)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"15%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: { ...panelStyles.panelTableCell, width: \"13%\" } }, `<${r.limit}`),\n e(Text, { style: {\n ...panelStyles.panelTableCell, width: \"18%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n ),\n ),\n ),\n e(PanelPageFooter, { data, pageNum: 2, totalPages: data.totalPages || 4 }),\n );\n};\n\n// ============================================================================\n// Pages 3 & 4: Pesticide tables (shared renderer)\n// ============================================================================\n\nconst PesticidePage = ({ data, category, pesticides, pageNum }: {\n data: COAData; category: \"I\" | \"II\"; pesticides: PesticideResult[]; pageNum: number;\n}) => {\n const allPassed = !pesticides.some((r) => r.status === \"Fail\");\n const half = Math.ceil(pesticides.length / 2);\n const leftColumn = pesticides.slice(0, half);\n const rightColumn = pesticides.slice(half);\n const isCat1 = category === \"I\";\n\n const renderColumn = (items: PesticideResult[]) =>\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"60%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\" } }, \"Result\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"20%\", borderRightWidth: 0 } }, \"Status\"),\n ),\n ...items.map((r, i) =>\n e(View, { key: String(i), style: panelStyles.pesticideTableRow },\n e(Text, { style: { ...panelStyles.pesticideTableCellLeft, width: \"60%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"20%\", fontFamily: \"Helvetica-Bold\" } },\n r.result === \"ND\" ? \"ND\" : String(r.result)),\n e(Text, { style: {\n ...panelStyles.pesticideTableCell, width: \"20%\", borderRightWidth: 0,\n ...(r.status === \"Pass\" ? panelStyles.passText : panelStyles.failText),\n } }, r.status),\n ),\n ),\n ),\n );\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: isCat1 ? \"Pesticide Screening\" : \"Pesticide Screening (Continued)\" }),\n e(View, { style: { ...panelStyles.summaryCard, backgroundColor: allPassed ? colors.green50 : \"#FEF2F2\" } },\n e(Text, { style: panelStyles.summaryCardTitle }, allPassed ? \"\\u2713 All Pesticide Tests Passed\" : \"\\u26A0 Pesticide Detection\"),\n e(Text, { style: panelStyles.summaryCardText },\n isCat1\n ? \"Category I pesticides are banned substances with zero tolerance. Any detection of these pesticides results in automatic failure and product cannot be sold.\"\n : \"Category II pesticides have established action levels. Results must be below the regulatory limits shown. These pesticides are restricted but allowed at specified concentrations.\",\n ),\n ),\n e(View, { style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 8 } },\n e(Text, { style: panelStyles.categoryBadge }, `CATEGORY ${category}`),\n e(Text, { style: panelStyles.categoryTitle },\n isCat1 ? `Zero Tolerance - ${pesticides.length} Analytes` : `Action Level - ${pesticides.length} Analytes`),\n e(Text, { style: panelStyles.categorySubtitle },\n isCat1 ? \"Any detection = FAIL\" : \"Must be below established limits\"),\n ),\n isCat1 ? e(View, { style: { ...panelStyles.panelHeader, marginBottom: 8 } },\n e(Text, { style: panelStyles.panelTitle }, \"Pesticide Analysis - 66 Analytes\"),\n e(Text, { style: allPassed ? panelStyles.statusBadge : panelStyles.statusBadgeFail },\n allPassed ? \"Pass\" : \"Fail\"),\n ) : null,\n isCat1 ? e(Text, { style: { fontSize: 7, color: colors.gray600, marginBottom: 8 } },\n \"Method: LC-MS/MS | LOD: 0.005-0.05 ppm | LOQ: 0.01-0.1 ppm\") : null,\n e(View, { style: panelStyles.twoColumnContainer }, renderColumn(leftColumn), renderColumn(rightColumn)),\n e(PanelPageFooter, { data, pageNum, totalPages: data.totalPages || 4 }),\n );\n};\n\n// ============================================================================\n// Page 5: Residual Solvents\n// ============================================================================\n\nconst ResidualSolventsPage = ({ data }: { data: COAData }) => {\n const allPassed = !data.testsResidualSolvents?.some((r) => r.status === \"Fail\");\n const solvents = data.testsResidualSolvents || [];\n const half = Math.ceil(solvents.length / 2);\n const leftColumn = solvents.slice(0, half);\n const rightColumn = solvents.slice(half);\n\n const renderColumn = (items: ResidualSolventResult[]) =>\n e(View, { style: panelStyles.columnHalf },\n e(View, { style: panelStyles.panelTable },\n e(View, { style: panelStyles.panelTableHeader },\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"45%\", textAlign: \"left\" } }, \"Solvent\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"25%\" } }, \"Result (ppm)\"),\n e(Text, { style: { ...panelStyles.panelTableHeaderCell, width: \"30%\", borderRightWidth: 0 } }, \"Limit (ppm)\"),\n ),\n ...items.map((r, i) =>\n e(View, { key: String(i), style: panelStyles.pesticideTableRow },\n e(Text, { style: { ...panelStyles.pesticideTableCellLeft, width: \"45%\" } }, r.analyte),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"25%\", fontFamily: \"Helvetica-Bold\" } },\n typeof r.result === \"string\" ? r.result : String(r.result)),\n e(Text, { style: { ...panelStyles.pesticideTableCell, width: \"30%\", borderRightWidth: 0 } },\n String(r.limit)),\n ),\n ),\n ),\n );\n\n return e(Page, { size: \"A4\", style: styles.page },\n e(PanelPageHeader, { data, title: \"Residual Solvents Analysis\" }),\n e(View, { style: { ...panelStyles.summaryCard, backgroundColor: allPassed ? colors.green50 : \"#FEF2F2\" } },\n e(Text, { style: panelStyles.summaryCardTitle }, allPassed ? \"\\u2713 All Solvent Tests Passed\" : \"\\u26A0 Solvent Detection\"),\n e(Text, { style: panelStyles.summaryCardText },\n \"Residual solvents testing per USP <467> standards. Class 1 solvents (carcinogens) have strict limits. Class 2/3 solvents have higher allowable limits. All results in ppm (parts per million).\",\n ),\n ),\n e(View, { style: { flexDirection: \"row\", alignItems: \"center\", marginBottom: 12 } },\n e(Text, { style: panelStyles.categoryBadge }, \"USP <467>\"),\n e(Text, { style: panelStyles.categoryTitle }, `Residual Solvents - ${solvents.length} Analytes`),\n e(Text, { style: panelStyles.categorySubtitle }, \"HS-GC-MS Analysis\"),\n ),\n e(View, { style: panelStyles.twoColumnContainer }, renderColumn(leftColumn), renderColumn(rightColumn)),\n e(PanelPageFooter, { data, pageNum: 5, totalPages: data.totalPages || 5 }),\n );\n};\n\n// ============================================================================\n// Main Document\n// ============================================================================\n\nconst CannabisCOADocument = ({ data }: { data: COAData }) => {\n const totalTHC = data.totalTHC && data.totalTHC > 0 ? data.totalTHC.toFixed(2) : \"ND\";\n const totalCBD = data.totalCBD || 0;\n const totalCBDDisplay = totalCBD > 0 ? totalCBD.toFixed(2) : \"ND\";\n const totalCannabinoids = data.totalCannabinoids && data.totalCannabinoids > 0 ? data.totalCannabinoids.toFixed(2) : \"ND\";\n const hasResidualSolvents = data.testsResidualSolvents && data.testsResidualSolvents.length > 0;\n const totalPages = data.fullPanel ? (hasResidualSolvents ? 5 : 4) : 1;\n\n const top4 = (data.cannabinoids || [])\n .filter((c: Cannabinoid) => c.result !== \"ND\" && c.percentWeight > 0)\n .sort((a: Cannabinoid, b: Cannabinoid) => b.percentWeight - a.percentWeight)\n .slice(0, 4);\n\n const pages = [];\n\n // Page 1: Cannabinoid Profile\n pages.push(e(Page, { key: \"page1\", size: \"A4\", style: styles.page },\n e(View, { style: styles.header },\n e(View, { style: styles.headerLeft },\n data.logoUrl\n ? e(Image, { src: data.logoUrl, style: styles.logo })\n : e(View, { style: { ...styles.logo, backgroundColor: colors.green500, borderRadius: 8 } }),\n e(View, { style: styles.companyInfo },\n e(Text, { style: styles.companyName }, (data.labName || \"Lab\").split(\" \")[0]),\n e(Text, { style: styles.companySubname }, (data.labName || \"\").split(\" \").slice(1).join(\" \") || \"\"),\n ),\n e(View, { style: styles.divider }),\n e(View, null,\n e(Text, { style: styles.labContact }, data.labContact || \"\"),\n data.labAddress ? e(Text, { style: { fontSize: 7, color: colors.gray600, lineHeight: 1.3 } }, data.labAddress) : null,\n ),\n ),\n e(Text, { style: styles.docTitle }, \"Certificate of Analysis\"),\n ),\n e(View, { style: styles.sampleSection },\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.sampleTitle }, data.sampleName),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Sample ID:\"), e(Text, { style: styles.infoValue }, data.sampleId)),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Matrix:\"), e(Text, { style: styles.infoValue }, data.sampleType || \"Plant\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Sample Size:\"), e(Text, { style: styles.infoValue }, data.sampleSize || \"\\u2014\")),\n ),\n e(View, { style: styles.sampleCol },\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Collected:\"), e(Text, { style: styles.infoValue }, data.dateCollected || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Received:\"), e(Text, { style: styles.infoValue }, data.dateReceived || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Completed:\"), e(Text, { style: styles.infoValue }, data.dateTested || \"\\u2014\")),\n e(View, { style: styles.infoRow }, e(Text, { style: styles.infoLabel }, \"Batch #:\"), e(Text, { style: styles.infoValue }, data.batchId || \"\\u2014\")),\n ),\n e(View, { style: styles.sampleCol },\n e(Text, { style: styles.infoLabel }, \"Client:\"),\n e(Text, { style: { ...styles.infoValue, fontFamily: \"Helvetica-Bold\", marginLeft: 0 } }, data.clientName),\n data.clientAddress ? e(Text, { style: { ...styles.infoValue, marginLeft: 0, fontSize: 6.5 } }, data.clientAddress) : null,\n data.licenseNumber ? e(View, { style: styles.infoRow },\n e(Text, { style: styles.infoLabel }, \"Lic #:\"),\n e(Text, { style: styles.infoValue }, data.licenseNumber),\n ) : null,\n ),\n e(View, { style: { ...styles.sampleCol, alignItems: \"center\" } },\n e(Text, { style: { ...styles.infoLabel, marginBottom: 4 } }, \"Cannabinoid Distribution\"),\n e(PieChart, { cannabinoids: data.cannabinoids || [] }),\n ),\n ),\n e(View, { style: styles.sectionHeader },\n e(Text, { style: styles.sectionTitle }, \"Cannabinoids\"),\n e(Text, { style: styles.sectionStatus }, \"Complete\"),\n ),\n e(View, { style: styles.tableContainer },\n e(View, { style: styles.table },\n e(View, { style: styles.tableHeader },\n e(Text, { style: { ...styles.tableHeaderCell, width: \"28%\", textAlign: \"left\" } }, \"Analyte\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"14%\" } }, \"LOD mg/g\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"14%\" } }, \"LOQ mg/g\"),\n e(Text, { style: { ...styles.tableHeaderCell, width: \"22%\" } }, \"Result %\"),\n e(Text, { style: { ...styles.tableHeaderCellLast, width: \"22%\" } }, \"Result mg/g\"),\n ),\n ...(data.cannabinoids || []).map((c, i) => {\n const displayName = (c.name || \"\").replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\").replace(/Delta/gi, \"D\");\n return e(View, { key: String(i), style: i % 2 === 0 ? styles.tableRow : styles.tableRowAlt },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, displayName),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, c.lod.toFixed(2)),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, c.loq.toFixed(2)),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } },\n c.result === \"ND\" ? \"ND\" : c.percentWeight.toFixed(2)),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } },\n c.result === \"ND\" ? \"ND\" : c.mgPerG.toFixed(2)),\n );\n }),\n e(View, { style: styles.tableSummaryRow },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total THC\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalTHC),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalTHC === \"ND\" ? \"ND\" : (parseFloat(totalTHC) * 10).toFixed(2)),\n ),\n e(View, { style: styles.tableSummaryRow },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total CBD\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalCBDDisplay),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalCBD > 0 ? (totalCBD * 10).toFixed(2) : \"ND\"),\n ),\n e(View, { style: { ...styles.tableSummaryRow, borderBottomWidth: 0 } },\n e(Text, { style: { ...styles.tableCellLeft, width: \"28%\" } }, \"Total Cannabinoids\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"14%\" } }, \"\"),\n e(Text, { style: { ...styles.tableCell, width: \"22%\", fontFamily: \"Helvetica-Bold\" } }, totalCannabinoids),\n e(Text, { style: { ...styles.tableCellLast, width: \"22%\" } }, totalCannabinoids === \"ND\" ? \"ND\" : (parseFloat(totalCannabinoids) * 10).toFixed(2)),\n ),\n ),\n e(View, { style: styles.summaryContainer },\n ...top4.map((c: Cannabinoid, i: number) =>\n e(View, { key: String(i), style: styles.summaryBox },\n e(Text, { style: styles.summaryValue }, `${c.percentWeight.toFixed(2)}%`),\n e(Text, { style: styles.summaryLabel }, c.name.replace(/Δ/g, \"D\").replace(/\\u0394/g, \"D\")),\n ),\n ),\n e(Text, { style: styles.summaryTableTitle }, \"Summary\"),\n e(View, { style: styles.summaryTable },\n e(View, { style: { ...styles.summaryTableRow, backgroundColor: colors.gray50 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Test\"),\n e(Text, { style: styles.summaryTableCell }, \"Date\"),\n e(Text, { style: styles.summaryTableCell }, \"Result\"),\n ),\n e(View, { style: styles.summaryTableRow },\n e(Text, { style: styles.summaryTableCellLeft }, \"Batch\"),\n e(Text, { style: styles.summaryTableCell }, data.testsBatch ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsBatch ? \"Complete\" : \"Not Submitted\"),\n ),\n e(View, { style: { ...styles.summaryTableRow, backgroundColor: colors.gray50 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Cannabinoids\"),\n e(Text, { style: styles.summaryTableCell }, data.testsCannabinoids ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsCannabinoids ? \"Complete\" : \"Not Tested\"),\n ),\n e(View, { style: { ...styles.summaryTableRow, borderBottomWidth: 0 } },\n e(Text, { style: styles.summaryTableCellLeft }, \"Moisture\"),\n e(Text, { style: styles.summaryTableCell }, data.testsMoisture ? data.dateTested || \"\\u2014\" : \"\\u2014\"),\n e(Text, { style: styles.summaryTableCell }, data.testsMoisture ? `${data.moisture ? data.moisture.toFixed(2) : \"0.00\"}%` : \"Not Tested\"),\n ),\n ),\n ),\n ),\n e(View, { style: styles.methodology },\n e(Text, { style: styles.methodologyTitle }, data.notes || \"Methodology & Quality Control\"),\n e(Text, { style: styles.methodologyText },\n \"Total THC = D9-THC + 0.877 \\u00D7 THCa. Total CBD = CBD + 0.877 \\u00D7 CBDa. Total Cannabinoids = Sum of individual cannabinoids detected. Testing performed using validated HPLC-UV/MS methods per ISO 17025 standards. Unless otherwise stated, all quality control samples performed within specifications. This Certificate applies only to the sample(s) tested and is not a declaration of product safety, efficacy, or regulatory compliance.\",\n ),\n ),\n e(View, { style: styles.footer },\n e(View, { style: styles.footerLeft },\n data.qrCodeDataUrl ? e(View, { style: styles.qrSection },\n e(Image, { src: data.qrCodeDataUrl, style: styles.qrCode }),\n e(Text, { style: styles.qrLabel }, \"Scan for digital copy\"),\n ) : null,\n e(Text, { style: styles.disclaimer },\n `${data.labName || \"This laboratory\"} performs analytical testing using validated internal methodologies and quality control protocols. All results apply only to the sample(s) tested. This Certificate is not a declaration of product safety, efficacy, or regulatory compliance. Testing performed in accordance with applicable state regulations.\\n\\nThis report may not be reproduced except in full without written approval from ${data.labName || \"the laboratory\"}.`,\n ),\n e(Text, { style: { ...styles.disclaimer, marginTop: 4 } },\n `For inquiries: support@quantixanalytics.com | Raleigh, NC | ${data.labWebsite || \"www.quantixanalytics.com\"}`,\n ),\n ),\n e(View, { style: styles.footerRight },\n e(View, { style: styles.footerCompany },\n e(Text, { style: { fontFamily: \"Helvetica-Bold\" } }, data.labName || \"Laboratory\"),\n e(Text, {}, \"All Rights Reserved\"),\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, data.labWebsite || \"www.quantixanalytics.com\"),\n ),\n e(View, { style: styles.signatureSection },\n data.signatureUrl ? e(Image, { src: data.signatureUrl, style: { width: 180, height: 70, marginBottom: 4 } }) : null,\n e(Text, { style: styles.signatureName }, data.labDirector || \"Sarah Mitchell\"),\n e(Text, { style: styles.signatureTitle }, data.directorTitle || \"Laboratory Director\"),\n e(Text, { style: styles.signatureTitle }, data.dateTested || \"\\u2014\"),\n ),\n ),\n ),\n data.fullPanel ? e(View, { style: { position: \"absolute\" as const, bottom: 20, left: 20, right: 20, flexDirection: \"row\" as const, justifyContent: \"flex-end\", borderTopWidth: 1, borderTopColor: colors.gray200, paddingTop: 8 } },\n e(Text, { style: { fontSize: 7, color: colors.gray600 } }, `Page 1 of ${totalPages}`),\n ) : null,\n ));\n\n if (data.fullPanel) {\n pages.push(e(SafetyTestingPage, { key: \"page2\", data: { ...data, totalPages } }));\n pages.push(e(PesticidePage, { key: \"page3\", data: { ...data, totalPages }, category: \"I\", pesticides: data.pesticidesCat1 || [], pageNum: 3 }));\n pages.push(e(PesticidePage, { key: \"page4\", data: { ...data, totalPages }, category: \"II\", pesticides: data.pesticidesCat2 || [], pageNum: 4 }));\n if (hasResidualSolvents) {\n pages.push(e(ResidualSolventsPage, { key: \"page5\", data: { ...data, totalPages } }));\n }\n }\n\n return e(Document, {}, ...pages);\n};\n\n// ============================================================================\n// Public API\n// ============================================================================\n\nexport async function renderCOAToPdf(data: COAData): Promise<Buffer> {\n const doc = React.createElement(CannabisCOADocument, { data }) as any;\n const buffer = await renderToBuffer(doc);\n return Buffer.from(buffer);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import type { SupabaseClient } from "@supabase/supabase-js";
2
2
  export declare function enforceNodeOfflineStatus(sb: SupabaseClient): Promise<number>;
3
+ export declare function processEventBusEvents(sb: SupabaseClient): Promise<number>;
3
4
  export declare function startWorkerLoop(): void;
4
5
  export declare function stopWorkerLoop(): void;