@linkiez/boleto-sdk 1.1.4 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"PdfRenderer.d.ts","sourceRoot":"","sources":["../../../src/generators/pdf/PdfRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,WAAW,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAwB,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,eAAe,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,KAAK,oBAAoB,GAAG,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KACE,MAAM,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAUD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAC1C,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,0BAA0B,EACnC,YAAY,GAAE,uBAA4B,GACzC,OAAO,CAAC,IAAI,CAAC,CAqFf"}
1
+ {"version":3,"file":"PdfRenderer.d.ts","sourceRoot":"","sources":["../../../src/generators/pdf/PdfRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,WAAW,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAwB,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,eAAe,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,KAAK,oBAAoB,GAAG,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KACE,MAAM,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAUD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAC1C,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,0BAA0B,EACnC,YAAY,GAAE,uBAA4B,GACzC,OAAO,CAAC,IAAI,CAAC,CA6Kf"}
@@ -10,33 +10,117 @@ const PIX_QR_SIZE = 120;
10
10
  async function renderBoletoToPdf(document, data, options, dependencies = {}) {
11
11
  const { showInstructions, showAdditionalInfo } = (0, PdfTemplate_1.derivePdfLayoutFlags)(options.layout);
12
12
  const fonts = dependencies.fonts;
13
+ const dueDate = formatDateBr(data.payment.dueDate);
14
+ const amount = (0, formatters_1.formatMoney)(data.payment.amount);
15
+ const pageLeft = document.page.margins.left;
16
+ const pageRight = document.page.width - document.page.margins.right;
17
+ const usableWidth = pageRight - pageLeft;
13
18
  setBoldFont(document, fonts);
14
- document.fontSize(18).text(options.title, { align: 'center' });
15
- document.moveDown();
19
+ document.fontSize(19).fillColor('#121315').text('INDUSTRIAL INTEGRITY', pageLeft, document.y, {
20
+ width: usableWidth,
21
+ align: 'left',
22
+ });
16
23
  setRegularFont(document, fonts);
17
- document.fontSize(12).text(`Banco: ${data.bank.code} - ${data.bank.name}`);
18
- document.text(`Beneficiário: ${data.beneficiary.name}`);
19
- document.text(`Pagador: ${data.payer.name}`);
20
- document.text(`Valor: ${(0, formatters_1.formatMoney)(data.payment.amount)}`);
21
- document.text(`Vencimento: ${formatDateIso(data.payment.dueDate)}`);
24
+ document.fontSize(10).fillColor('#46464B').text('FICHA DE COMPENSACAO', pageLeft, document.y, {
25
+ width: usableWidth,
26
+ align: 'left',
27
+ });
28
+ setBoldFont(document, fonts);
29
+ document
30
+ .fontSize(11)
31
+ .fillColor('#121315')
32
+ .text(`${data.bank.code} - ${data.bank.name}`, pageLeft, document.y - 13, {
33
+ width: usableWidth,
34
+ align: 'right',
35
+ });
22
36
  document.moveDown();
37
+ drawCardRow(document, fonts, [
38
+ {
39
+ label: 'Beneficiario',
40
+ value: `${data.beneficiary.name} - ${data.beneficiary.document}`,
41
+ width: usableWidth * 0.5,
42
+ },
43
+ { label: 'Vencimento', value: dueDate, width: usableWidth * 0.25 },
44
+ { label: 'Valor', value: amount, width: usableWidth * 0.25 },
45
+ ]);
46
+ drawCardRow(document, fonts, [
47
+ {
48
+ label: 'Pagador',
49
+ value: `${data.payer.name} - ${data.payer.document}`,
50
+ width: usableWidth,
51
+ },
52
+ ]);
53
+ document.moveDown(0.8);
54
+ document
55
+ .moveTo(pageLeft, document.y)
56
+ .lineTo(pageRight, document.y)
57
+ .dash(3, { space: 2 })
58
+ .strokeColor('#C7C6CB')
59
+ .lineWidth(1)
60
+ .stroke()
61
+ .undash();
62
+ document.moveDown(0.6);
23
63
  setMonoFont(document, fonts);
24
- document.fontSize(11).text(`Linha digitável: ${data.payment.digitableLine}`);
64
+ document.rect(pageLeft, document.y, usableWidth, 22).lineWidth(1).strokeColor('#121315').stroke();
65
+ document
66
+ .fontSize(13)
67
+ .fillColor('#121315')
68
+ .text(data.payment.digitableLine, pageLeft + 8, document.y + 7, {
69
+ width: usableWidth - 16,
70
+ align: 'center',
71
+ });
72
+ document.moveDown(1.8);
73
+ drawCardRow(document, fonts, [
74
+ {
75
+ label: 'Local de Pagamento',
76
+ value: 'Pagavel em qualquer banco ate o vencimento.',
77
+ width: usableWidth * 0.7,
78
+ },
79
+ { label: 'Vencimento', value: dueDate, width: usableWidth * 0.3 },
80
+ ]);
81
+ drawCardRow(document, fonts, [
82
+ {
83
+ label: 'Numero Documento',
84
+ value: data.payment.documentNumber,
85
+ width: usableWidth * 0.35,
86
+ },
87
+ {
88
+ label: 'Nosso Numero',
89
+ value: data.payment.ourNumber,
90
+ width: usableWidth * 0.35,
91
+ },
92
+ {
93
+ label: 'Carteira',
94
+ value: data.additionalInfo?.Carteira ?? '-',
95
+ width: usableWidth * 0.3,
96
+ },
97
+ ]);
25
98
  if (options.includeBarcode && data.payment.barcode) {
26
99
  const barcodeRenderer = dependencies.renderBarcodePng ?? BarcodeRenderer_1.renderI2of5Png;
27
100
  const barcodePng = barcodeRenderer(data.payment.barcode);
28
- document.image(barcodePng, {
101
+ document.moveDown(0.6);
102
+ document.image(barcodePng, pageLeft + 6, document.y, {
29
103
  width: options.barcode.width,
30
104
  height: options.barcode.height,
31
105
  });
106
+ setMonoFont(document, fonts);
107
+ document
108
+ .fontSize(10)
109
+ .fillColor('#121315')
110
+ .text(data.payment.barcode, pageLeft, document.y + options.barcode.height + 4, {
111
+ width: usableWidth,
112
+ align: 'center',
113
+ });
114
+ document.moveDown(2.3);
32
115
  }
33
116
  else {
34
- document.fontSize(9).text(`Código de barras: ${data.payment.barcode}`);
117
+ setMonoFont(document, fonts);
118
+ document.fontSize(9).text(`Codigo de barras: ${data.payment.barcode}`);
35
119
  }
36
120
  document.moveDown();
37
121
  if (showInstructions) {
38
122
  setBoldFont(document, fonts);
39
- document.fontSize(12).text('Instruções', { underline: true });
123
+ document.fontSize(12).text('Instrucoes', { underline: true });
40
124
  if (data.instructions && data.instructions.length > 0) {
41
125
  data.instructions.forEach((instruction) => {
42
126
  setRegularFont(document, fonts);
@@ -45,13 +129,13 @@ async function renderBoletoToPdf(document, data, options, dependencies = {}) {
45
129
  }
46
130
  else {
47
131
  setRegularFont(document, fonts);
48
- document.fontSize(10).text('Sem instruções');
132
+ document.fontSize(10).text('Sem instrucoes');
49
133
  }
50
134
  document.moveDown();
51
135
  }
52
136
  if (showAdditionalInfo) {
53
137
  setBoldFont(document, fonts);
54
- document.fontSize(12).text('Informações adicionais', { underline: true });
138
+ document.fontSize(12).text('Informacoes adicionais', { underline: true });
55
139
  const additionalInfo = data.additionalInfo ?? {};
56
140
  const entries = Object.entries(additionalInfo);
57
141
  if (entries.length > 0) {
@@ -62,7 +146,7 @@ async function renderBoletoToPdf(document, data, options, dependencies = {}) {
62
146
  }
63
147
  else {
64
148
  setRegularFont(document, fonts);
65
- document.fontSize(10).text('Sem informações adicionais');
149
+ document.fontSize(10).text('Sem informacoes adicionais');
66
150
  }
67
151
  document.moveDown();
68
152
  }
@@ -84,8 +168,32 @@ async function renderBoletoToPdf(document, data, options, dependencies = {}) {
84
168
  height: PIX_QR_SIZE,
85
169
  });
86
170
  }
87
- function formatDateIso(value) {
88
- return value.toISOString().slice(0, 10);
171
+ function formatDateBr(value) {
172
+ return value.toLocaleDateString('pt-BR', { timeZone: 'UTC' });
173
+ }
174
+ function drawCardRow(document, fonts, cells) {
175
+ const startX = document.page.margins.left;
176
+ const startY = document.y;
177
+ const rowHeight = 36;
178
+ let offsetX = startX;
179
+ cells.forEach((cell, index) => {
180
+ const width = index === cells.length - 1
181
+ ? document.page.width - document.page.margins.right - offsetX
182
+ : cell.width;
183
+ document.rect(offsetX, startY, width, rowHeight).lineWidth(0.8).strokeColor('#77767B').stroke();
184
+ setRegularFont(document, fonts);
185
+ document
186
+ .fontSize(8)
187
+ .fillColor('#46464B')
188
+ .text(cell.label, offsetX + 5, startY + 4, { width: width - 10, align: 'left' });
189
+ setBoldFont(document, fonts);
190
+ document
191
+ .fontSize(10)
192
+ .fillColor('#121315')
193
+ .text(cell.value, offsetX + 5, startY + 16, { width: width - 10, align: 'left' });
194
+ offsetX += width;
195
+ });
196
+ document.y = startY + rowHeight;
89
197
  }
90
198
  function setRegularFont(document, fonts) {
91
199
  document.font(fonts?.regular ?? 'Helvetica');
@@ -1 +1 @@
1
- {"version":3,"file":"PdfRenderer.js","sourceRoot":"","sources":["../../../src/generators/pdf/PdfRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PdfRenderer.js","sourceRoot":"","sources":["../../../src/generators/pdf/PdfRenderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GenericTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/GenericTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,qBAAa,eAAgB,YAAW,cAAc;IAC7C,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;CAShD"}
1
+ {"version":3,"file":"GenericTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/GenericTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,qBAAa,eAAgB,YAAW,cAAc;IAC7C,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;CAGhD"}
@@ -1,16 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GenericTemplate = void 0;
4
- const HtmlTemplateBuilder_1 = require("./HtmlTemplateBuilder");
4
+ const IndustrialIntegrityTemplate_1 = require("./IndustrialIntegrityTemplate");
5
5
  class GenericTemplate {
6
6
  render(data) {
7
- return (0, HtmlTemplateBuilder_1.buildBoletoHtml)(data, {
8
- title: 'Boleto',
9
- heading: 'Boleto',
10
- bankLabel: 'Banco',
11
- bankCodeLabel: 'Banco',
12
- showBankName: false,
13
- });
7
+ return new IndustrialIntegrityTemplate_1.IndustrialIntegrityTemplate().render(data);
14
8
  }
15
9
  }
16
10
  exports.GenericTemplate = GenericTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"GenericTemplate.js","sourceRoot":"","sources":["../../src/templates/GenericTemplate.ts"],"names":[],"mappings":";;;AACA,+DAAwD;AAExD,MAAa,eAAe;IACnB,MAAM,CAAC,IAAwB;QACpC,OAAO,IAAA,qCAAe,EAAC,IAAI,EAAE;YAC3B,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,OAAO;YAClB,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,0CAUC"}
1
+ {"version":3,"file":"GenericTemplate.js","sourceRoot":"","sources":["../../src/templates/GenericTemplate.ts"],"names":[],"mappings":";;;AACA,+EAA4E;AAE5E,MAAa,eAAe;IACnB,MAAM,CAAC,IAAwB;QACpC,OAAO,IAAI,yDAA2B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACF;AAJD,0CAIC"}
@@ -0,0 +1,5 @@
1
+ import type { BoletoTemplate, BoletoTemplateData } from './BoletoTemplate';
2
+ export declare class IndustrialIntegrityTemplate implements BoletoTemplate {
3
+ render(data: BoletoTemplateData): string;
4
+ }
5
+ //# sourceMappingURL=IndustrialIntegrityTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndustrialIntegrityTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/IndustrialIntegrityTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,qBAAa,2BAA4B,YAAW,cAAc;IACzD,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;CAwYhD"}
@@ -0,0 +1,420 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndustrialIntegrityTemplate = void 0;
4
+ const BarcodeRenderer_1 = require("../generators/barcode/BarcodeRenderer");
5
+ class IndustrialIntegrityTemplate {
6
+ render(data) {
7
+ const dueDate = formatDateBr(data.payment.dueDate);
8
+ const amount = formatMoney(data.payment.amount);
9
+ const documentDate = escapeHtml(data.additionalInfo?.dataDocumento ?? dueDate);
10
+ const processingDate = escapeHtml(data.additionalInfo?.dataProcessamento ?? dueDate);
11
+ const agencyCode = escapeHtml(data.additionalInfo?.agenciaCodigoCedente ?? '-');
12
+ const wallet = escapeHtml(data.additionalInfo?.Carteira ?? data.additionalInfo?.carteira ?? '-');
13
+ const bankCode = escapeHtml(data.bank.code);
14
+ const bankCheckDigit = escapeHtml(data.additionalInfo?.bankCheckDigit ?? '7');
15
+ const bankDisplayCode = `${bankCode}-${bankCheckDigit}`;
16
+ const beneficiaryName = escapeHtml(data.beneficiary.name);
17
+ const beneficiaryDoc = escapeHtml(data.beneficiary.document);
18
+ const payerName = escapeHtml(data.payer.name);
19
+ const payerDoc = escapeHtml(data.payer.document);
20
+ const payerAddress = escapeHtml(data.payer.address || '-');
21
+ const digitavel = escapeHtml(data.payment.digitableLine);
22
+ const barcodeSvg = (0, BarcodeRenderer_1.renderI2of5Svg)(data.payment.barcode, {
23
+ height: 72,
24
+ narrowWidth: 2,
25
+ wideWidth: 4,
26
+ quietZone: 1,
27
+ });
28
+ const pixPayload = data.payment.pix?.payload ? escapeHtml(data.payment.pix.payload) : null;
29
+ const pixQrCodeSvg = data.payment.pix?.qrCodeSvg ?? null;
30
+ const instructionItems = (data.instructions ?? [])
31
+ .slice(0, 3)
32
+ .map((item) => `<p class="font-body-md text-sm">${escapeHtml(item)}</p>`)
33
+ .join('');
34
+ return `<!DOCTYPE html>
35
+ <html lang="pt-BR"><head>
36
+ <meta charset="utf-8"/>
37
+ <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
38
+ <title>INDUSTRIAL INTEGRITY - Ficha de Compensação</title>
39
+ <link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;600;700;800&amp;family=Inter:wght@400;500;600&amp;family=JetBrains+Mono:wght@400;600&amp;display=swap" rel="stylesheet"/>
40
+ <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&amp;display=swap" rel="stylesheet"/>
41
+ <script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
42
+ <script id="tailwind-config">
43
+ tailwind.config = {
44
+ darkMode: "class",
45
+ theme: {
46
+ extend: {
47
+ "colors": {
48
+ "on-primary": "#ffffff",
49
+ "inverse-on-surface": "#f0f1f2",
50
+ "tertiary-container": "#27272d",
51
+ "on-tertiary": "#ffffff",
52
+ "surface-container-lowest": "#ffffff",
53
+ "surface-dim": "#d9dadb",
54
+ "error": "#ba1a1a",
55
+ "on-tertiary-fixed-variant": "#46464d",
56
+ "on-secondary": "#ffffff",
57
+ "on-secondary-container": "#fffbff",
58
+ "primary-fixed-dim": "#c8c6c9",
59
+ "on-primary-fixed-variant": "#47464a",
60
+ "primary-fixed": "#e4e1e5",
61
+ "tertiary-fixed": "#e3e1ea",
62
+ "on-error": "#ffffff",
63
+ "surface": "#f8f9fa",
64
+ "tertiary-fixed-dim": "#c7c5ce",
65
+ "secondary": "#bb0112",
66
+ "tertiary": "#121218",
67
+ "on-secondary-fixed-variant": "#93000b",
68
+ "on-tertiary-container": "#8f8d96",
69
+ "primary-container": "#27272a",
70
+ "on-primary-fixed": "#1b1b1e",
71
+ "on-primary-container": "#8f8e91",
72
+ "surface-container-high": "#e7e8e9",
73
+ "outline": "#77767b",
74
+ "surface-alt": "#F4F4F5",
75
+ "on-background": "#191c1d",
76
+ "on-error-container": "#93000a",
77
+ "outline-variant": "#c7c6cb",
78
+ "surface-variant": "#e1e3e4",
79
+ "on-surface": "#191c1d",
80
+ "error-container": "#ffdad6",
81
+ "secondary-fixed": "#ffdad6",
82
+ "surface-container": "#edeeef",
83
+ "surface-container-low": "#f3f4f5",
84
+ "background": "#f8f9fa",
85
+ "surface-container-highest": "#e1e3e4",
86
+ "on-surface-variant": "#46464b",
87
+ "on-tertiary-fixed": "#1b1b21",
88
+ "secondary-fixed-dim": "#ffb4ab",
89
+ "iron-gray": "#3F3F46",
90
+ "primary": "#121315",
91
+ "surface-bright": "#f8f9fa",
92
+ "on-secondary-fixed": "#410002",
93
+ "industrial-red": "#DC2626",
94
+ "surface-tint": "#5f5e61",
95
+ "slate-steel": "#27272A",
96
+ "inverse-surface": "#2e3132",
97
+ "inverse-primary": "#c8c6c9",
98
+ "secondary-container": "#e02928"
99
+ },
100
+ "borderRadius": {
101
+ "DEFAULT": "0.125rem",
102
+ "lg": "0.25rem",
103
+ "xl": "0.5rem",
104
+ "full": "0.75rem"
105
+ },
106
+ "fontFamily": {
107
+ "headline-md": ["Hanken Grotesk"],
108
+ "headline-lg-mobile": ["Hanken Grotesk"],
109
+ "body-md": ["Inter"],
110
+ "code-sm": ["JetBrains Mono"],
111
+ "headline-lg": ["Hanken Grotesk"],
112
+ "body-lg": ["Inter"],
113
+ "label-caps": ["JetBrains Mono"]
114
+ }
115
+ }
116
+ }
117
+ }
118
+ </script>
119
+ <style>
120
+ .material-symbols-outlined {
121
+ font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
122
+ vertical-align: middle;
123
+ }
124
+ @media print {
125
+ .no-print { display: none !important; }
126
+ body { background: white !important; margin: 0; padding: 0; }
127
+ .a4-page {
128
+ box-shadow: none !important;
129
+ margin: 0 !important;
130
+ border: none !important;
131
+ width: 210mm !important;
132
+ height: 297mm !important;
133
+ }
134
+ .print-border-black { border-color: #000 !important; }
135
+ * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
136
+ }
137
+ .a4-page {
138
+ width: 210mm;
139
+ min-height: 297mm;
140
+ padding: 20mm;
141
+ margin: 2rem auto;
142
+ background: white;
143
+ box-shadow: 0 0 10px rgba(0,0,0,0.1);
144
+ }
145
+ .a4-page {
146
+ --boleto-border-color: #8f8f95;
147
+ }
148
+ .a4-page .border,
149
+ .a4-page .border-t,
150
+ .a4-page .border-r,
151
+ .a4-page .border-b,
152
+ .a4-page .border-l,
153
+ .a4-page .border-x,
154
+ .a4-page .border-y {
155
+ border-color: var(--boleto-border-color) !important;
156
+ }
157
+ .boleto-table {
158
+ border-collapse: collapse;
159
+ width: 100%;
160
+ border-color: var(--boleto-border-color);
161
+ }
162
+ .boleto-table td, .boleto-table th {
163
+ border: 1px solid var(--boleto-border-color);
164
+ padding: 4px 8px;
165
+ vertical-align: top;
166
+ }
167
+ .a4-page .border-black {
168
+ border-color: #000 !important;
169
+ }
170
+ .label-text {
171
+ font-family: 'JetBrains Mono', monospace;
172
+ font-size: 8px;
173
+ text-transform: uppercase;
174
+ color: #46464b;
175
+ display: block;
176
+ margin-bottom: 2px;
177
+ }
178
+ .data-text {
179
+ font-family: 'Inter', sans-serif;
180
+ font-size: 13px;
181
+ font-weight: 600;
182
+ color: #121315;
183
+ }
184
+ .barcode-svg {
185
+ width: 100%;
186
+ height: 50px;
187
+ }
188
+ .barcode-area svg {
189
+ width: 100%;
190
+ height: 100%;
191
+ display: block;
192
+ }
193
+ body, body * {
194
+ color: #000 !important;
195
+ }
196
+ </style>
197
+ </head>
198
+ <body class="bg-surface-container-low font-body-md">
199
+ <div class="no-print bg-slate-steel text-white py-3 px-4 sticky top-0 z-50 flex justify-between items-center shadow-lg">
200
+ <div class="flex items-center gap-2">
201
+ <span class="material-symbols-outlined">print</span>
202
+ <span class="font-semibold">Visualização de Impressão</span>
203
+ </div>
204
+ <div class="flex gap-4">
205
+ <button class="bg-industrial-red hover:bg-secondary-container px-6 py-2 rounded-lg font-bold flex items-center gap-2 transition-all" onclick="window.print()">
206
+ <span class="material-symbols-outlined">print</span> IMPRIMIR BOLETO
207
+ </button>
208
+ <button class="bg-white/10 hover:bg-white/20 px-4 py-2 rounded-lg text-sm border border-white/20 transition-all" onclick="copyCode()">
209
+ Copiar Linha Digitável
210
+ </button>
211
+ </div>
212
+ </div>
213
+ <div class="a4-page relative flex flex-col">
214
+ <header class="flex justify-between items-end mb-4 border-b-2 border-dashed border-outline-variant pb-6">
215
+ <div class="flex flex-col">
216
+ <h2 class="font-headline-md text-primary text-2xl tracking-tighter">INDUSTRIAL INTEGRITY</h2>
217
+ <span class="font-label-caps text-[10px] text-on-surface-variant">SOLUÇÕES INDUSTRIAIS</span>
218
+ </div>
219
+ <div class="text-right">
220
+ <p class="font-label-caps text-on-surface-variant text-xs">RECIBO DO PAGADOR</p>
221
+ <div class="flex items-center gap-2 mt-1">
222
+ <div class="bg-slate-steel px-2 py-1 font-bold rounded" style="color: #fff !important;">${bankDisplayCode}</div>
223
+ <span class="font-body-md font-bold">${escapeHtml(data.bank.name)}</span>
224
+ </div>
225
+ </div>
226
+ </header>
227
+ <div class="grid grid-cols-4 border border-outline mb-12">
228
+ <div class="col-span-3 border-r border-outline p-2">
229
+ <span class="label-text">Beneficiario</span>
230
+ <span class="data-text">${beneficiaryName} - ${formatDocumentLabel(beneficiaryDoc)}: ${beneficiaryDoc}</span>
231
+ </div>
232
+ <div class="p-2">
233
+ <span class="label-text">Vencimento</span>
234
+ <span class="data-text">${escapeHtml(dueDate)}</span>
235
+ </div>
236
+ <div class="col-span-2 border-t border-r border-outline p-2">
237
+ <span class="label-text">Pagador</span>
238
+ <span class="data-text">${payerName}</span>
239
+ </div>
240
+ <div class="border-t border-r border-outline p-2">
241
+ <span class="label-text">Agência/Código Beneficiário</span>
242
+ <span class="data-text">${agencyCode}</span>
243
+ </div>
244
+ <div class="border-t border-outline p-2">
245
+ <span class="label-text">Valor do Documento</span>
246
+ <span class="data-text">${escapeHtml(amount)}</span>
247
+ </div>
248
+ </div>
249
+ <div class="border-b-2 border-dashed border-outline-variant mb-12 relative">
250
+ <span class="absolute -top-3 left-1/2 -translate-x-1/2 bg-white px-4 font-label-caps text-[10px] text-outline">Corte na linha pontilhada</span>
251
+ </div>
252
+ <div class="flex items-center mb-0">
253
+ <div class="w-24 h-12 flex items-center justify-center border-r-2 border-black mr-4">
254
+ <span class="font-bold text-2xl">${bankDisplayCode}</span>
255
+ </div>
256
+ <div class="flex-1 flex items-center justify-between px-4 border-b-2 border-black h-12">
257
+ <span class="font-bold text-xl tracking-tight" id="digitavel">${digitavel}</span>
258
+ </div>
259
+ </div>
260
+ <table class="boleto-table mb-0 border-t-0">
261
+ <tbody>
262
+ <tr>
263
+ <td class="w-3/4" colspan="4">
264
+ <span class="label-text">Local de Pagamento</span>
265
+ <span class="data-text">Pagável em qualquer banco até o vencimento.</span>
266
+ </td>
267
+ <td>
268
+ <span class="label-text">Vencimento</span>
269
+ <span class="data-text">${escapeHtml(dueDate)}</span>
270
+ </td>
271
+ </tr>
272
+ <tr>
273
+ <td colspan="4">
274
+ <span class="label-text">Beneficiario</span>
275
+ <span class="data-text">${beneficiaryName} - ${formatDocumentLabel(beneficiaryDoc)}: ${beneficiaryDoc}</span>
276
+ </td>
277
+ <td>
278
+ <span class="label-text">Agência / Código Beneficiário</span>
279
+ <span class="data-text">${agencyCode}</span>
280
+ </td>
281
+ </tr>
282
+ <tr>
283
+ <td class="w-1/6">
284
+ <span class="label-text">Data do Doc.</span>
285
+ <span class="data-text">${documentDate}</span>
286
+ </td>
287
+ <td class="w-1/6">
288
+ <span class="label-text">Nº do Documento</span>
289
+ <span class="data-text">${escapeHtml(data.payment.documentNumber)}</span>
290
+ </td>
291
+ <td class="w-1/6">
292
+ <span class="label-text">Espécie Doc.</span>
293
+ <span class="data-text">DM</span>
294
+ </td>
295
+ <td class="w-1/6">
296
+ <span class="label-text">Aceite</span>
297
+ <span class="data-text">N</span>
298
+ </td>
299
+ <td>
300
+ <span class="label-text">Data Processamento</span>
301
+ <span class="data-text">${processingDate}</span>
302
+ </td>
303
+ </tr>
304
+ <tr>
305
+ <td class="w-1/6">
306
+ <span class="label-text">Uso do Banco</span>
307
+ <span class="data-text"></span>
308
+ </td>
309
+ <td class="w-1/6">
310
+ <span class="label-text">Carteira</span>
311
+ <span class="data-text">${wallet}</span>
312
+ </td>
313
+ <td class="w-1/6">
314
+ <span class="label-text">Espécie</span>
315
+ <span class="data-text">R$</span>
316
+ </td>
317
+ <td class="w-1/6">
318
+ <span class="label-text">Quantidade</span>
319
+ <span class="data-text"></span>
320
+ </td>
321
+ <td>
322
+ <span class="label-text">(=) Valor do Documento</span>
323
+ <span class="data-text">${escapeHtml(amount)}</span>
324
+ </td>
325
+ </tr>
326
+ <tr>
327
+ <td colspan="4" rowspan="5">
328
+ <span class="label-text">Instruções (Texto de responsabilidade do beneficiário)</span>
329
+ <div class="mt-2 flex flex-col gap-2">
330
+ ${instructionItems || '<p class="font-body-md text-sm">Sem instruções.</p>'}
331
+ </div>
332
+ </td>
333
+ <td><span class="label-text">(-) Descontos / Abatimento</span><span class="data-text"></span></td>
334
+ </tr>
335
+ <tr><td><span class="label-text">(-) Outras Deduções</span><span class="data-text"></span></td></tr>
336
+ <tr><td><span class="label-text">(+) Mora / Multa</span><span class="data-text"></span></td></tr>
337
+ <tr><td><span class="label-text">(+) Outros Acréscimos</span><span class="data-text"></span></td></tr>
338
+ <tr><td><span class="label-text">(=) Valor Cobrado</span><span class="data-text"></span></td></tr>
339
+ <tr>
340
+ <td colspan="5">
341
+ <div class="flex flex-col">
342
+ <span class="label-text">Pagador</span>
343
+ <span class="data-text">${payerName} - ${formatDocumentLabel(payerDoc)}: ${payerDoc}</span>
344
+ <span class="data-text font-normal text-xs">${payerAddress}</span>
345
+ </div>
346
+ </td>
347
+ </tr>
348
+ </tbody>
349
+ </table>
350
+ <div class="mt-0 pt-0">
351
+ <div class="border-x border-b border-outline border-t-0 bg-white w-full -mt-px">
352
+ <div class="p-0">
353
+ <div class="barcode-area h-20 overflow-hidden bg-white w-full px-2 py-1">
354
+ ${barcodeSvg}
355
+ </div>
356
+ <div class="flex justify-center py-1 text-center">
357
+ <span class="font-label-caps text-[8px] text-outline-variant">AUTENTICAÇÃO MECÂNICA - FICHA DE COMPENSAÇÃO</span>
358
+ </div>
359
+ </div>
360
+ ${pixPayload
361
+ ? `<div class="border-t border-outline p-3 mt-0">
362
+ <span class="label-text">PIX Copia e Cola</span>
363
+ <div class="mt-2 flex items-start gap-4">
364
+ <div class="w-28 h-28 border border-outline flex items-center justify-center bg-white">${pixQrCodeSvg ?? ''}</div>
365
+ <div class="flex-1">
366
+ <p class="data-text text-xs break-all">${pixPayload}</p>
367
+ </div>
368
+ </div>
369
+ </div>`
370
+ : ''}
371
+ </div>
372
+ </div>
373
+ <div class="fixed bottom-8 left-1/2 -translate-x-1/2 bg-slate-steel text-white px-6 py-3 rounded-full font-body-md shadow-lg transform translate-y-32 opacity-0 transition-all duration-300" id="toast">
374
+ Código copiado para a área de transferência!
375
+ </div>
376
+ <script>
377
+ function copyCode() {
378
+ const codeText = document.getElementById('digitavel').innerText;
379
+ navigator.clipboard.writeText(codeText).then(() => {
380
+ const toast = document.getElementById('toast');
381
+ toast.classList.remove('translate-y-32', 'opacity-0');
382
+ toast.classList.add('translate-y-0', 'opacity-100');
383
+
384
+ setTimeout(() => {
385
+ toast.classList.add('translate-y-32', 'opacity-0');
386
+ toast.classList.remove('translate-y-0', 'opacity-100');
387
+ }, 3000);
388
+ });
389
+ }
390
+ </script>
391
+ </body></html>`;
392
+ }
393
+ }
394
+ exports.IndustrialIntegrityTemplate = IndustrialIntegrityTemplate;
395
+ function escapeHtml(value) {
396
+ return value
397
+ .replaceAll('&', '&amp;')
398
+ .replaceAll('<', '&lt;')
399
+ .replaceAll('>', '&gt;')
400
+ .replaceAll('"', '&quot;')
401
+ .replaceAll("'", '&#39;');
402
+ }
403
+ function formatDateBr(value) {
404
+ const date = value instanceof Date ? value : new Date(value);
405
+ if (Number.isNaN(date.getTime())) {
406
+ return '-';
407
+ }
408
+ return date.toLocaleDateString('pt-BR', { timeZone: 'UTC' });
409
+ }
410
+ function formatMoney(amount) {
411
+ return new Intl.NumberFormat('pt-BR', {
412
+ style: 'currency',
413
+ currency: 'BRL',
414
+ }).format(amount);
415
+ }
416
+ function formatDocumentLabel(document) {
417
+ const digits = document.replace(/\D+/g, '');
418
+ return digits.length > 11 ? 'CNPJ' : 'CPF';
419
+ }
420
+ //# sourceMappingURL=IndustrialIntegrityTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndustrialIntegrityTemplate.js","sourceRoot":"","sources":["../../src/templates/IndustrialIntegrityTemplate.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- export * from './BBTemplate';
2
1
  export * from './BoletoTemplate';
3
- export * from './BradescoTemplate';
4
- export * from './GenericTemplate';
5
2
  export * from './HtmlTemplateBuilder';
6
- export * from './ItauTemplate';
3
+ export * from './IndustrialIntegrityTemplate';
7
4
  export * from './TemplateRenderer';
8
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC"}
@@ -14,11 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./BBTemplate"), exports);
18
17
  __exportStar(require("./BoletoTemplate"), exports);
19
- __exportStar(require("./BradescoTemplate"), exports);
20
- __exportStar(require("./GenericTemplate"), exports);
21
18
  __exportStar(require("./HtmlTemplateBuilder"), exports);
22
- __exportStar(require("./ItauTemplate"), exports);
19
+ __exportStar(require("./IndustrialIntegrityTemplate"), exports);
23
20
  __exportStar(require("./TemplateRenderer"), exports);
24
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,mDAAiC;AACjC,qDAAmC;AACnC,oDAAkC;AAClC,wDAAsC;AACtC,iDAA+B;AAC/B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,gEAA8C;AAC9C,qDAAmC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkiez/boleto-sdk",
3
- "version": "1.1.4",
3
+ "version": "1.2.1",
4
4
  "description": "SDK for Brazilian banking boletos and CNAB files processing",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -20,6 +20,7 @@
20
20
  "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
21
21
  "build": "npm run clean && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
22
22
  "benchmark:pdf-batch": "ts-node scripts/benchmark-pdf-batch.ts",
23
+ "preview:boleto": "ts-node scripts/preview-boleto.ts",
23
24
  "test": "jest",
24
25
  "test:watch": "jest --watch",
25
26
  "test:coverage": "jest --coverage",
@@ -81,6 +82,7 @@
81
82
  "jest": "^29.7.0",
82
83
  "jest-sonar-reporter": "^2.0.0",
83
84
  "lint-staged": "^17.0.4",
85
+ "playwright": "^1.60.0",
84
86
  "prettier": "^3.2.4",
85
87
  "semantic-release": "^25",
86
88
  "sonarqube-scanner": "^4.3.6",
@@ -1,5 +0,0 @@
1
- import type { BoletoTemplate, BoletoTemplateData } from './BoletoTemplate';
2
- export declare class BBTemplate implements BoletoTemplate {
3
- render(data: BoletoTemplateData): string;
4
- }
5
- //# sourceMappingURL=BBTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BBTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/BBTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,qBAAa,UAAW,YAAW,cAAc;IACxC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;CAOhD"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BBTemplate = void 0;
4
- const HtmlTemplateBuilder_1 = require("./HtmlTemplateBuilder");
5
- class BBTemplate {
6
- render(data) {
7
- return (0, HtmlTemplateBuilder_1.buildBoletoHtml)(data, {
8
- title: 'Boleto - Banco do Brasil',
9
- heading: 'Boleto Banco do Brasil',
10
- bankCodeLabel: 'Código do banco',
11
- });
12
- }
13
- }
14
- exports.BBTemplate = BBTemplate;
15
- //# sourceMappingURL=BBTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BBTemplate.js","sourceRoot":"","sources":["../../src/templates/BBTemplate.ts"],"names":[],"mappings":";;;AACA,+DAAwD;AAExD,MAAa,UAAU;IACd,MAAM,CAAC,IAAwB;QACpC,OAAO,IAAA,qCAAe,EAAC,IAAI,EAAE;YAC3B,KAAK,EAAE,0BAA0B;YACjC,OAAO,EAAE,wBAAwB;YACjC,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AARD,gCAQC"}
@@ -1,5 +0,0 @@
1
- import type { BoletoTemplate, BoletoTemplateData } from './BoletoTemplate';
2
- export declare class BradescoTemplate implements BoletoTemplate {
3
- render(data: BoletoTemplateData): string;
4
- }
5
- //# sourceMappingURL=BradescoTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BradescoTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/BradescoTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,qBAAa,gBAAiB,YAAW,cAAc;IAC9C,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;CAOhD"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BradescoTemplate = void 0;
4
- const HtmlTemplateBuilder_1 = require("./HtmlTemplateBuilder");
5
- class BradescoTemplate {
6
- render(data) {
7
- return (0, HtmlTemplateBuilder_1.buildBoletoHtml)(data, {
8
- title: 'Boleto - Bradesco',
9
- heading: 'Boleto Bradesco',
10
- bankCodeLabel: 'Código do banco',
11
- });
12
- }
13
- }
14
- exports.BradescoTemplate = BradescoTemplate;
15
- //# sourceMappingURL=BradescoTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BradescoTemplate.js","sourceRoot":"","sources":["../../src/templates/BradescoTemplate.ts"],"names":[],"mappings":";;;AACA,+DAAwD;AAExD,MAAa,gBAAgB;IACpB,MAAM,CAAC,IAAwB;QACpC,OAAO,IAAA,qCAAe,EAAC,IAAI,EAAE;YAC3B,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AARD,4CAQC"}
@@ -1,5 +0,0 @@
1
- import type { BoletoTemplate, BoletoTemplateData } from './BoletoTemplate';
2
- export declare class ItauTemplate implements BoletoTemplate {
3
- render(data: BoletoTemplateData): string;
4
- }
5
- //# sourceMappingURL=ItauTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItauTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/ItauTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,qBAAa,YAAa,YAAW,cAAc;IAC1C,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;CAOhD"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ItauTemplate = void 0;
4
- const HtmlTemplateBuilder_1 = require("./HtmlTemplateBuilder");
5
- class ItauTemplate {
6
- render(data) {
7
- return (0, HtmlTemplateBuilder_1.buildBoletoHtml)(data, {
8
- title: 'Boleto - Itaú',
9
- heading: 'Boleto Itaú',
10
- bankCodeLabel: 'Código do banco',
11
- });
12
- }
13
- }
14
- exports.ItauTemplate = ItauTemplate;
15
- //# sourceMappingURL=ItauTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItauTemplate.js","sourceRoot":"","sources":["../../src/templates/ItauTemplate.ts"],"names":[],"mappings":";;;AACA,+DAAwD;AAExD,MAAa,YAAY;IAChB,MAAM,CAAC,IAAwB;QACpC,OAAO,IAAA,qCAAe,EAAC,IAAI,EAAE;YAC3B,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AARD,oCAQC"}