@design.estate/dees-document 1.6.8 → 2.0.2

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 (97) hide show
  1. package/dist_bundle/bundle.js +636 -590
  2. package/dist_bundle/bundle.js.map +4 -4
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.pdfservice.d.ts +3 -3
  5. package/dist_ts/classes.pdfservice.js +6 -3
  6. package/dist_ts/helpers.d.ts +1 -1
  7. package/dist_ts/helpers.js +2 -2
  8. package/dist_ts/paths.js +4 -2
  9. package/dist_ts/plugins.d.ts +2 -0
  10. package/dist_ts/plugins.js +3 -1
  11. package/dist_ts_shared/demoletter.d.ts +3 -3
  12. package/dist_ts_shared/demoletter.js +223 -192
  13. package/dist_ts_shared/index.d.ts +6 -7
  14. package/dist_ts_shared/index.js +10 -8
  15. package/dist_ts_shared/interfaces/document.d.ts +15 -2
  16. package/dist_ts_shared/interfaces/document.js +1 -1
  17. package/dist_ts_shared/translation.d.ts +79 -28
  18. package/dist_ts_shared/translation.js +121 -107
  19. package/dist_ts_web/00_commitinfo_data.js +2 -2
  20. package/dist_ts_web/elements/contentinvoice.js +54 -26
  21. package/dist_ts_web/elements/document.js +8 -18
  22. package/dist_ts_web/elements/letterheader.js +5 -12
  23. package/dist_ts_web/elements/page.js +10 -22
  24. package/dist_ts_web/elements/pagecontainer.js +4 -10
  25. package/dist_ts_web/elements/pagecontent.js +5 -12
  26. package/dist_ts_web/elements/pagefooter.js +6 -14
  27. package/dist_ts_web/elements/pageheader.js +6 -14
  28. package/dist_ts_web/elements/viewer.js +3 -8
  29. package/dist_ts_web/ts_shared/translation.d.ts +82 -0
  30. package/dist_ts_web/ts_shared/translation.js +134 -0
  31. package/dist_ts_web/ts_web/00_commitinfo_data.d.ts +8 -0
  32. package/dist_ts_web/ts_web/00_commitinfo_data.js +9 -0
  33. package/dist_ts_web/ts_web/elements/contentinvoice.d.ts +41 -0
  34. package/dist_ts_web/ts_web/elements/contentinvoice.js +466 -0
  35. package/dist_ts_web/ts_web/elements/document.d.ts +27 -0
  36. package/dist_ts_web/ts_web/elements/document.demo.d.ts +1 -0
  37. package/dist_ts_web/ts_web/elements/document.demo.js +9 -0
  38. package/dist_ts_web/ts_web/elements/document.js +306 -0
  39. package/dist_ts_web/ts_web/elements/index.d.ts +10 -0
  40. package/dist_ts_web/ts_web/elements/index.js +11 -0
  41. package/dist_ts_web/ts_web/elements/letterheader.d.ts +18 -0
  42. package/dist_ts_web/ts_web/elements/letterheader.js +224 -0
  43. package/dist_ts_web/ts_web/elements/page.d.ts +25 -0
  44. package/dist_ts_web/ts_web/elements/page.js +335 -0
  45. package/dist_ts_web/ts_web/elements/pagecontainer.d.ts +14 -0
  46. package/dist_ts_web/ts_web/elements/pagecontainer.js +114 -0
  47. package/dist_ts_web/ts_web/elements/pagecontent.d.ts +19 -0
  48. package/dist_ts_web/ts_web/elements/pagecontent.js +177 -0
  49. package/dist_ts_web/ts_web/elements/pagefooter.d.ts +17 -0
  50. package/dist_ts_web/ts_web/elements/pagefooter.js +234 -0
  51. package/dist_ts_web/ts_web/elements/pageheader.d.ts +17 -0
  52. package/dist_ts_web/ts_web/elements/pageheader.js +165 -0
  53. package/dist_ts_web/ts_web/elements/paymentcode.d.ts +19 -0
  54. package/dist_ts_web/ts_web/elements/paymentcode.js +162 -0
  55. package/dist_ts_web/ts_web/elements/viewer.d.ts +15 -0
  56. package/dist_ts_web/ts_web/elements/viewer.demo.d.ts +1 -0
  57. package/dist_ts_web/ts_web/elements/viewer.demo.js +9 -0
  58. package/dist_ts_web/ts_web/elements/viewer.js +150 -0
  59. package/dist_ts_web/ts_web/index.d.ts +1 -0
  60. package/dist_ts_web/ts_web/index.js +2 -0
  61. package/dist_ts_web/ts_web/pages/index.d.ts +2 -0
  62. package/dist_ts_web/ts_web/pages/index.js +3 -0
  63. package/dist_ts_web/ts_web/pages/page1.d.ts +1 -0
  64. package/dist_ts_web/ts_web/pages/page1.js +21 -0
  65. package/dist_ts_web/ts_web/pages/page2.d.ts +1 -0
  66. package/dist_ts_web/ts_web/pages/page2.js +18 -0
  67. package/dist_ts_web/ts_web/plugins.d.ts +9 -0
  68. package/dist_ts_web/ts_web/plugins.js +14 -0
  69. package/dist_ts_web/ts_web/style.d.ts +1 -0
  70. package/dist_ts_web/ts_web/style.js +38 -0
  71. package/dist_watch/bundle.js +20439 -12738
  72. package/dist_watch/bundle.js.map +4 -4
  73. package/license +2 -2
  74. package/package.json +21 -19
  75. package/readme.hints.md +40 -1
  76. package/readme.md +202 -125
  77. package/ts/00_commitinfo_data.ts +1 -1
  78. package/ts/classes.pdfservice.ts +15 -7
  79. package/ts/helpers.ts +1 -1
  80. package/ts/paths.ts +3 -1
  81. package/ts/plugins.ts +3 -0
  82. package/ts_web/00_commitinfo_data.ts +1 -1
  83. package/ts_web/elements/contentinvoice.ts +290 -203
  84. package/ts_web/elements/document.demo.ts +7 -4
  85. package/ts_web/elements/document.ts +68 -82
  86. package/ts_web/elements/index.ts +10 -9
  87. package/ts_web/elements/letterheader.ts +106 -39
  88. package/ts_web/elements/page.ts +106 -48
  89. package/ts_web/elements/pagecontainer.ts +14 -13
  90. package/ts_web/elements/pagecontent.ts +34 -53
  91. package/ts_web/elements/pagefooter.ts +125 -45
  92. package/ts_web/elements/pageheader.ts +22 -16
  93. package/ts_web/elements/paymentcode.ts +95 -0
  94. package/ts_web/elements/viewer.demo.ts +7 -4
  95. package/ts_web/elements/viewer.ts +26 -12
  96. package/ts_web/pages/page1.ts +10 -6
  97. package/ts_web/style.ts +34 -3
@@ -1,31 +1,82 @@
1
1
  export declare const EN_translations: {
2
- readonly address: "Address";
3
- readonly bankConnection: "Bank Connection";
4
- readonly contactInfo: "Contact Info";
5
- readonly description: "Description";
6
- readonly invoice: "Invoice";
7
- readonly itemPos: "Item Pos.";
8
- readonly quantity: "Quantity";
9
- readonly registrationInfo: "Registration Info";
10
- readonly reverseVatNote: "VAT arises on a reverse charge basis and is payable by the customer.";
11
- readonly totalNetPrice: "Total Net Price";
12
- readonly unitNetPrice: "Unit Net Price";
13
- readonly unitType: "Unit Type";
14
- readonly yourCustomerId: "Your Customer ID:";
15
- readonly yourVatId: "Your vat id on file:";
16
- readonly continuesOnPage: "Continues on page";
17
- readonly finalPageStatement: "This is the final page of this document.";
18
- readonly page: "Page";
19
- readonly vatShort: "VAT";
2
+ address: string;
3
+ "bank.accountHolder": string;
4
+ "bank.bic": string;
5
+ "bank.iban": string;
6
+ "bank.institution": string;
7
+ "bankConnection@@title": string;
8
+ "contact@@title": string;
9
+ "customer.number": string;
10
+ description: string;
11
+ "empty.logo": string;
12
+ "empty.number.customer": string;
13
+ empty: string;
14
+ fax: string;
15
+ introStatement: string;
16
+ "invoice.number": string;
17
+ invoice: string;
18
+ "item.position": string;
19
+ mail: string;
20
+ "overlay@@draft": string;
21
+ "page.continueNext": string;
22
+ "page.final": string;
23
+ page: string;
24
+ pageOf: string;
25
+ "payment.qr": string;
26
+ "payment.qr.description": string;
27
+ "payment.terms": string;
28
+ "payment.terms.direct": string;
29
+ "periodOfPerformance.day": string;
30
+ "periodOfPerformance.range": string;
31
+ phone: string;
32
+ "price.total.net": string;
33
+ "price.unit.net": string;
34
+ price: string;
35
+ quantity: string;
36
+ referencedContract: string;
37
+ "referencedContract.text": string;
38
+ "registration.label": string;
39
+ subject: string;
40
+ sum: string;
41
+ totalGross: string;
42
+ "unit.type": string;
43
+ "vat.position": string;
44
+ "vat.reverseCharge.note": string;
45
+ "vat.short": string;
46
+ "vat.yourId": string;
47
+ vat: string;
20
48
  };
21
- export type TTranslationKey = keyof typeof EN_translations;
22
- export type TTranslationImplementation = {
23
- [key in TTranslationKey]: string;
49
+ /**
50
+ * For example:
51
+ * - price
52
+ */
53
+ type RawTranslationKeys = keyof typeof EN_translations;
54
+ /**
55
+ * For example:
56
+ * - price.item
57
+ * - price.sum
58
+ * - price.unit
59
+ * - vat.yourId
60
+ */
61
+ type NestedTranslationKeys = RawTranslationKeys | `${RawTranslationKeys}.${string}` | `${RawTranslationKeys}.${string}.${string}` | `${RawTranslationKeys}.${string}.${string}.${string}` | `${RawTranslationKeys}.${string}.${string}.${string}.${string}`;
62
+ /**
63
+ * For example:
64
+ * - contact@@mail
65
+ * - vat = 'VAT'
66
+ * - vat.yourId = 'your vat id'
67
+ * - footer@@vat.yourId = 'your vat id'
68
+ * - header@@vat.yourId = 'THIS IS YOUR VAT'
69
+ */
70
+ type LocationBasedTranslationKeys = `${string}@@${NestedTranslationKeys}`;
71
+ /**
72
+ * Mix of everything
73
+ */
74
+ export type TranslationKey = NestedTranslationKeys | LocationBasedTranslationKeys;
75
+ export type Dictionary = {
76
+ [key in TranslationKey]: string;
24
77
  };
25
- export declare const DE_translations: TTranslationImplementation;
26
- export declare const ES_translations: TTranslationImplementation;
27
- export declare const FR_translations: TTranslationImplementation;
28
- export declare const IT_translations: TTranslationImplementation;
29
- export declare const languageCodeMap: Record<string, TTranslationImplementation>;
30
- export type TLanguageCode = keyof typeof languageCodeMap;
31
- export declare const translate: (languageCode: TLanguageCode, key: TTranslationKey, defaultValue: string) => string;
78
+ export declare const DE_translations: Dictionary;
79
+ export declare const languageCodeMap: Record<string, Dictionary>;
80
+ export type LanguageCode = keyof typeof languageCodeMap;
81
+ export declare const translate: (languageCode: LanguageCode, key: TranslationKey) => string;
82
+ export {};
@@ -1,120 +1,134 @@
1
- import * as interfaces from './interfaces/index.js';
2
1
  // Define English translations without enforcing TTranslationImplementation yet
3
2
  export const EN_translations = {
4
- address: 'Address',
5
- bankConnection: 'Bank Connection',
6
- contactInfo: 'Contact Info',
7
- description: 'Description',
8
- invoice: 'Invoice',
9
- itemPos: 'Item Pos.',
10
- quantity: 'Quantity',
11
- registrationInfo: 'Registration Info',
12
- reverseVatNote: 'VAT arises on a reverse charge basis and is payable by the customer.',
13
- totalNetPrice: 'Total Net Price',
14
- unitNetPrice: 'Unit Net Price',
15
- unitType: 'Unit Type',
16
- yourCustomerId: 'Your Customer ID:',
17
- yourVatId: 'Your vat id on file:',
18
- continuesOnPage: 'Continues on page',
19
- finalPageStatement: 'This is the final page of this document.',
20
- page: 'Page',
21
- vatShort: 'VAT',
3
+ address: "Address",
4
+ "bank.accountHolder": "beneficiary",
5
+ "bank.bic": "bic",
6
+ "bank.iban": "iban",
7
+ "bank.institution": "institution",
8
+ "bankConnection@@title": "Bank Connection",
9
+ "contact@@title": "Contact Info",
10
+ "customer.number": "Your Customer ID",
11
+ description: "Description",
12
+ "empty.logo": "no logo provided",
13
+ "empty.number.customer": "not registered",
14
+ empty: "not provided",
15
+ fax: "Fax",
16
+ introStatement: "We hereby invoice the following products and services",
17
+ "invoice.number": "Invoice number",
18
+ invoice: "Invoice",
19
+ "item.position": "Pos.",
20
+ mail: "Mail",
21
+ "overlay@@draft": "Draft",
22
+ "page.continueNext": "Continues on page",
23
+ "page.final": "This is the final page of this document.",
24
+ page: "Page",
25
+ pageOf: "of",
26
+ "payment.qr": "Pay via QR code",
27
+ "payment.qr.description": "Scan the QR code with you banking app",
28
+ "payment.terms": "Payment Terms",
29
+ "payment.terms.direct": "Without deduction until",
30
+ "periodOfPerformance.day": "Delivery Date",
31
+ "periodOfPerformance.range": "Delivery Period",
32
+ phone: "Phone",
33
+ "price.total.net": "Total Net Price",
34
+ "price.unit.net": "Unit Net Price",
35
+ price: "Price",
36
+ quantity: "Quantity",
37
+ referencedContract: "Referenced contract",
38
+ "referencedContract.text": "This invoice is adhering to agreements made by contract between the parties on",
39
+ "registration.label": "Registration Info",
40
+ subject: "Subject",
41
+ sum: "Sum",
42
+ totalGross: "Total gross",
43
+ "unit.type": "Unit Type",
44
+ "vat.position": "on item positions",
45
+ "vat.reverseCharge.note": "VAT arises on a reverse charge basis and is payable by the customer.",
46
+ "vat.short": "VAT",
47
+ "vat.yourId": "Your vat id on file",
48
+ vat: "Valued Added Tax",
22
49
  };
23
50
  // Define German translations
24
51
  export const DE_translations = {
25
- address: 'Adresse',
26
- bankConnection: 'Bankverbindung',
27
- contactInfo: 'Kontaktinformationen',
28
- description: 'Beschreibung',
29
- invoice: 'Rechnung',
30
- itemPos: 'Pos.',
31
- quantity: 'Anzahl',
32
- registrationInfo: 'HRA/HRB Info',
33
- reverseVatNote: 'Umkehr der Umsatzsteuerpflicht: Der Rechnungsempfänger ist für die korrekte Abrechnung der Umsatzsteuer zuständig.',
34
- totalNetPrice: 'Summe netto',
35
- unitNetPrice: 'Einheit netto',
36
- unitType: 'Einheit',
37
- yourCustomerId: 'Ihre Kundennummer:',
38
- yourVatId: 'Ihre Umsatzsteuer-ID:',
39
- continuesOnPage: 'Fortsetzung auf Seite',
40
- finalPageStatement: 'Dies ist die letzte Seite dieses Dokuments.',
41
- page: 'Seite',
42
- vatShort: 'USt',
43
- };
44
- // Define Spanish translations
45
- export const ES_translations = {
46
- address: 'Dirección',
47
- bankConnection: 'Conexión bancaria',
48
- contactInfo: 'Información de contacto',
49
- description: 'Descripción',
50
- invoice: 'Factura',
51
- itemPos: 'Pos.',
52
- quantity: 'Cantidad',
53
- registrationInfo: 'Información de registro',
54
- reverseVatNote: 'El IVA se aplica por inversión del sujeto pasivo y debe ser pagado por el cliente.',
55
- totalNetPrice: 'Precio total neto',
56
- unitNetPrice: 'Precio unitario neto',
57
- unitType: 'Tipo de unidad',
58
- yourCustomerId: 'Su número de cliente:',
59
- yourVatId: 'Su ID de IVA:',
60
- continuesOnPage: 'Continúa en la página',
61
- finalPageStatement: 'Esta es la última página de este documento.',
62
- page: 'Página',
63
- vatShort: 'IVA',
64
- };
65
- // Define French translations
66
- export const FR_translations = {
67
- address: 'Adresse',
68
- bankConnection: 'Coordonnées bancaires',
69
- contactInfo: 'Informations de contact',
70
- description: 'Description',
71
- invoice: 'Facture',
72
- itemPos: 'Position',
73
- quantity: 'Quantité',
74
- registrationInfo: "Informations d'enregistrement",
75
- reverseVatNote: "La TVA s'applique selon le mécanisme d'autoliquidation et est à payer par le client.",
76
- totalNetPrice: 'Prix net total',
77
- unitNetPrice: 'Prix unitaire net',
78
- unitType: "Type d'unité",
79
- yourCustomerId: 'Votre numéro de client :',
80
- yourVatId: 'Votre numéro de TVA :',
81
- continuesOnPage: 'Continue sur la page',
82
- finalPageStatement: 'Ceci est la dernière page de ce document.',
83
- page: 'Page',
84
- vatShort: 'TVA',
85
- };
86
- // Define Italian translations
87
- export const IT_translations = {
88
- address: 'Indirizzo',
89
- bankConnection: 'Coordinate bancarie',
90
- contactInfo: 'Informazioni di contatto',
91
- description: 'Descrizione',
92
- invoice: 'Fattura',
93
- itemPos: 'Pos.',
94
- quantity: 'Quantità',
95
- registrationInfo: 'Informazioni di registrazione',
96
- reverseVatNote: "L'IVA è applicata con inversione contabile ed è a carico del cliente.",
97
- totalNetPrice: 'Prezzo netto totale',
98
- unitNetPrice: 'Prezzo netto unitario',
99
- unitType: 'Tipo di unità',
100
- yourCustomerId: 'Il tuo numero cliente:',
101
- yourVatId: 'Il tuo numero di partita IVA:',
102
- continuesOnPage: 'Continua alla pagina',
103
- finalPageStatement: 'Questa è l\'ultima pagina di questo documento.',
104
- page: 'Pagina',
105
- vatShort: 'IVA',
52
+ address: "Adresse",
53
+ "bank.accountHolder": "Kontoinhaber",
54
+ "bank.bic": "BIC",
55
+ "bank.iban": "IBAN",
56
+ "bank.institution": "Bankinstitut",
57
+ "bankConnection@@title": "Bankverbindung",
58
+ "contact@@title": "Kontaktinformationen",
59
+ "customer.number": "Ihre Kundennummer",
60
+ description: "Beschreibung",
61
+ "empty.logo": "Kein Logo gesetzt",
62
+ "empty.number.customer": "nicht registriert",
63
+ empty: "nicht angegeben",
64
+ fax: "Fax",
65
+ introStatement: "Wir stellen Ihnen hiermit folgende Produkte und Dienstleistungen in Rechnung",
66
+ "invoice.number": "Rechnungsnr.",
67
+ invoice: "Rechnung",
68
+ "item.position": "Pos.",
69
+ mail: "E-Mail",
70
+ "overlay@@draft": "Entwurf",
71
+ "page.continueNext": "Fortsetzung auf Seite",
72
+ "page.final": "Dies ist die letzte Seite dieses Dokuments.",
73
+ page: "Seite",
74
+ pageOf: "von",
75
+ "payment.qr": "Überweisen per QR-Code",
76
+ "payment.qr.description": "Den QR-Code einfach mit der Banking-App einscannen",
77
+ "payment.terms": "Zahlungsbedingungen",
78
+ "payment.terms.direct": "Ohne Abzug bis zum",
79
+ "periodOfPerformance.day": "Lieferdatum",
80
+ "periodOfPerformance.range": "Lieferzeitraum",
81
+ phone: "Telefon",
82
+ "price.total.net": "Gesamtpreis",
83
+ "price.unit.net": "Stückpreis",
84
+ price: "Preis",
85
+ quantity: "Menge",
86
+ referencedContract: "Referenzierter Vertrag",
87
+ "referencedContract.text": "Diese Rechnung bezieht sich auf die getroffenen Vertragsvereinbarungen vom",
88
+ "registration.label": "Registrierungsinfo",
89
+ subject: "Betreff",
90
+ sum: "Summe",
91
+ totalGross: "Gesamtbetrag brutto",
92
+ "unit.type": "Einheit",
93
+ "vat.position": "auf Positionen",
94
+ "vat.reverseCharge.note": "Die Umsatzsteuer entsteht im Reverse-Charge-Verfahren und ist vom Kunden zu zahlen.",
95
+ "vat.short": "MwSt.",
96
+ "vat.yourId": "Ihre hinterlegte USt-Id",
97
+ vat: "Umsatzsteuer",
106
98
  };
107
99
  // Language Code Map
108
100
  export const languageCodeMap = {
109
101
  EN: EN_translations,
110
102
  DE: DE_translations,
111
- ES: ES_translations,
112
- FR: FR_translations,
113
- IT: IT_translations,
114
103
  };
104
+ function* getTranslationKeyHierarchy(key) {
105
+ yield key;
106
+ const areaSplit = key.split("@@");
107
+ let rest = areaSplit[1];
108
+ if (rest) {
109
+ yield rest;
110
+ }
111
+ else {
112
+ rest = areaSplit[0];
113
+ }
114
+ if (!rest.includes("."))
115
+ return;
116
+ const parts = rest.split(".");
117
+ for (let i = parts.length - 1; i > 0; i--) {
118
+ yield parts.slice(0, i).join(".");
119
+ }
120
+ }
115
121
  // Translate Function
116
- export const translate = (languageCode, key, defaultValue) => {
117
- const translations = languageCodeMap[languageCode] || EN_translations;
118
- return translations[key] || defaultValue;
122
+ export const translate = (languageCode, key) => {
123
+ const dictionary = languageCodeMap[languageCode] || EN_translations;
124
+ const lookupHierarchy = getTranslationKeyHierarchy(key);
125
+ let found;
126
+ for (let keyOption of lookupHierarchy) {
127
+ found = dictionary[keyOption] || EN_translations[keyOption];
128
+ if (found) {
129
+ break;
130
+ }
131
+ }
132
+ return found;
119
133
  };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsV0FBVyxFQUFFLGNBQWM7SUFDM0IsV0FBVyxFQUFFLGFBQWE7SUFDMUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsZ0JBQWdCLEVBQUUsbUJBQW1CO0lBQ3JDLGNBQWMsRUFBRSxzRUFBc0U7SUFDdEYsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLGNBQWMsRUFBRSxtQkFBbUI7SUFDbkMsU0FBUyxFQUFFLHNCQUFzQjtJQUNqQyxlQUFlLEVBQUUsbUJBQW1CO0lBQ3BDLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxLQUFLO0NBQ1AsQ0FBQztBQVVYLDZCQUE2QjtBQUM3QixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQStCO0lBQ3pELE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQyxXQUFXLEVBQUUsY0FBYztJQUMzQixPQUFPLEVBQUUsVUFBVTtJQUNuQixPQUFPLEVBQUUsTUFBTTtJQUNmLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsY0FBYyxFQUNaLG9IQUFvSDtJQUN0SCxhQUFhLEVBQUUsYUFBYTtJQUM1QixZQUFZLEVBQUUsZUFBZTtJQUM3QixRQUFR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
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixPQUFPLEVBQUUsU0FBUztJQUNsQixvQkFBb0IsRUFBRSxhQUFhO0lBQ25DLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGtCQUFrQixFQUFFLGFBQWE7SUFDakMsdUJBQXVCLEVBQUUsaUJBQWlCO0lBQzFDLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsaUJBQWlCLEVBQUUsa0JBQWtCO0lBQ3JDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsdUJBQXVCLEVBQUUsZ0JBQWdCO0lBQ3pDLEtBQUssRUFBRSxjQUFjO0lBQ3JCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsY0FBYyxFQUFFLHVEQUF1RDtJQUN2RSxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsSUFBSSxFQUFFLE1BQU07SUFDWixnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4QyxZQUFZLEVBQUUsMENBQTBDO0lBQ3hELElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsaUJBQWlCO0lBQy9CLHdCQUF3QixFQUFFLHVDQUF1QztJQUNqRSxlQUFlLEVBQUUsZUFBZTtJQUNoQyxzQkFBc0IsRUFBRSx5QkFBeUI7SUFDakQseUJBQXlCLEVBQUUsZUFBZTtJQUMxQywyQkFBMkIsRUFBRSxpQkFBaUI7SUFDOUMsS0FBSyxFQUFFLE9BQU87SUFDZCxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLEtBQUssRUFB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
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-document',
6
- version: '1.6.8',
6
+ version: '1.6.11',
7
7
  description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSx1TEFBdUw7Q0FDck0sQ0FBQSJ9
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSx1TEFBdUw7Q0FDck0sQ0FBQSJ9
@@ -7,9 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
8
  return c > 3 && r && Object.defineProperty(target, key, r), r;
9
9
  };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
10
  import { DeesElement, property, html, customElement, css, cssManager, unsafeCSS, render, domtools, } from '@design.estate/dees-element';
14
11
  import * as plugins from '../plugins.js';
15
12
  import { dedocumentSharedStyle } from '../style.js';
@@ -158,14 +155,26 @@ let DeContentInvoice = class DeContentInvoice extends DeesElement {
158
155
  border-right: 1px dashed #ccc;
159
156
  }
160
157
 
158
+ .lineItem:last-child {
159
+ border-right: none;
160
+ }
161
+
161
162
  .lineItem.rightAlign {
162
163
  text-align: right;
163
164
  }
164
165
 
165
166
  .invoiceLine {
167
+ background: #ffffff00;
166
168
  border-bottom: 1px dotted #ccc;
167
169
  }
168
170
 
171
+ .invoiceLine.highlighted {
172
+ transition: background 0.2s;
173
+ background: #ffc18f;
174
+ border: 1px solid #ff9d4d;
175
+ box-sizing: content-box;
176
+ }
177
+
169
178
  .sums {
170
179
  margin-top: 5px;
171
180
  font-size: 12px;
@@ -225,31 +234,49 @@ let DeContentInvoice = class DeContentInvoice extends DeesElement {
225
234
  </style>
226
235
  <div>We hereby invoice products and services provided to you by Lossless GmbH:</div>
227
236
  <div class="grid topLine dataHeader">
228
- <div class="lineItem rightAlign">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'itemPos', 'Item Pos.')}</div>
229
- <div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'description', 'Description')}</div>
230
- <div class="lineItem rightAlign">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'quantity', 'Quantity')}</div>
231
- <div class="lineItem">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'unitType', 'Unit Type')}</div>
232
- <div class="lineItem rightAlign">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'unitNetPrice', 'Unit Net Price')}</div>
233
- <div class="lineItem rightAlign">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'totalNetPrice', 'Total Net Price')}</div>
234
- <div class="lineItem rightAlign">${plugins.shared.translation.translate(this.documentSettings.languageCode, 'vatShort', 'VAT')}</div>
237
+ <div class="lineItem rightAlign">
238
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'itemPos', 'Item Pos.')}
239
+ </div>
240
+ <div class="lineItem">
241
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'description', 'Description')}
242
+ </div>
243
+ <div class="lineItem rightAlign">
244
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'quantity', 'Quantity')}
245
+ </div>
246
+ <div class="lineItem">
247
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'unitType', 'Unit Type')}
248
+ </div>
249
+ <div class="lineItem rightAlign">
250
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'unitNetPrice', 'Unit Net Price')}
251
+ </div>
252
+ <div class="lineItem rightAlign">
253
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'totalNetPrice', 'Total Net Price')}
254
+ </div>
255
+ <div class="lineItem rightAlign">
256
+ ${plugins.shared.translation.translate(this.documentSettings.languageCode, 'vatShort', 'VAT')}
257
+ </div>
235
258
  </div>
236
259
  ${(() => {
237
260
  let counter = 1;
238
- return this.letterData?.content.invoiceData?.items?.map((invoiceItem) => html `
239
- <div class="grid invoiceLine needsDataHeader">
261
+ return this.letterData?.content.invoiceData?.items?.map((invoiceItem) => {
262
+ const isHighlighted = false; // TODO: implement rest of highlight logic
263
+ return html `
264
+ <div class="grid invoiceLine needsDataHeader ${isHighlighted ? 'highlighted' : ''}">
240
265
  <div class="lineItem rightAlign">${counter++}</div>
241
266
  <div class="lineItem">${invoiceItem.name}</div>
242
267
  <div class="lineItem rightAlign">${invoiceItem.unitQuantity}</div>
243
268
  <div class="lineItem">${invoiceItem.unitType}</div>
244
- <div class="lineItem rightAlign">${invoiceItem.unitNetPrice} ${this.letterData?.content.invoiceData.currency}</div>
245
269
  <div class="lineItem rightAlign">
246
- ${invoiceItem.unitQuantity * invoiceItem.unitNetPrice} ${this.letterData?.content.invoiceData.currency}
270
+ ${invoiceItem.unitNetPrice} ${this.letterData?.content.invoiceData.currency}
247
271
  </div>
248
272
  <div class="lineItem rightAlign">
249
- ${invoiceItem.vatPercentage}%
273
+ ${invoiceItem.unitQuantity * invoiceItem.unitNetPrice}
274
+ ${this.letterData?.content.invoiceData.currency}
250
275
  </div>
276
+ <div class="lineItem rightAlign">${invoiceItem.vatPercentage}%</div>
251
277
  </div>
252
- `);
278
+ `;
279
+ });
253
280
  })()}
254
281
  <div class="sums">
255
282
  <div class="sumline">
@@ -268,9 +295,13 @@ let DeContentInvoice = class DeContentInvoice extends DeesElement {
268
295
  <div class="sumline">
269
296
  <div class="label">
270
297
  Vat ${vatGroupArg.vatPercentage}%
271
- ${this.documentSettings.vatGroupPositions ? html `
272
- <br /><span style="font-weight: normal">(on item positions: ${itemNumbers})</span>
273
- ` : html ``}
298
+ ${this.documentSettings.vatGroupPositions
299
+ ? html `
300
+ <br /><span style="font-weight: normal"
301
+ >(on item positions: ${itemNumbers})</span
302
+ >
303
+ `
304
+ : html ``}
274
305
  </div>
275
306
  <div class="value">${vatGroupArg.vatAmountSum} EUR</div>
276
307
  </div>
@@ -336,19 +367,16 @@ __decorate([
336
367
  property({
337
368
  type: Object,
338
369
  reflect: true,
339
- }),
340
- __metadata("design:type", Object)
370
+ })
341
371
  ], DeContentInvoice.prototype, "letterData", void 0);
342
372
  __decorate([
343
373
  property({
344
374
  type: Object,
345
375
  reflect: true,
346
- }),
347
- __metadata("design:type", Object)
376
+ })
348
377
  ], DeContentInvoice.prototype, "documentSettings", void 0);
349
378
  DeContentInvoice = __decorate([
350
- customElement('dedocument-contentinvoice'),
351
- __metadata("design:paramtypes", [])
379
+ customElement('dedocument-contentinvoice')
352
380
  ], DeContentInvoice);
353
381
  export { DeContentInvoice };
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGludm9pY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvY29udGVudGludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7Ozs7Ozs7Ozs7QUFFSCxPQUFPLEVBQ0wsV0FBVyxFQUNYLFFBQVEsRUFDUixJQUFJLEVBQ0osYUFBYSxFQUViLEdBQUcsRUFDSCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEdBQ1QsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFVN0MsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxXQUFXO2FBQ2pDLFNBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7R0FVOUIsQUFWaUIsQ0FVaEI7SUFjRjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBNkJILGdCQUFXLEdBQUcsR0FBVyxFQUFFO1lBQ2hDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdELFFBQVEsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUVLLGtCQUFhLEdBQUcsR0FBVyxFQUFFO1lBQ2xDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBRUQsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDcEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFFSyxpQkFBWSxHQUFHLEdBQUcsRUFBRTtZQUN6QixNQUFNLFNBQVMsR0FJVCxFQUFFLENBQUM7WUFFVCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3RCxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RixDQUFDO1lBRUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3BFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FDakQsQ0FBQztnQkFDRixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQ1osS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDekMsR0FBRyxJQUFJLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksR0FBRyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDbkYsQ0FBQztnQkFDRCxTQUFTLENBQUMsSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxhQUFhO29CQUNwQixhQUFhLEVBQUUsU0FBUztvQkFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7aUJBQzFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFyRkEsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO2FBRWEsV0FBTSxHQUFHO1FBQ3JCLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWTtRQUNsQyxxQkFBcUI7UUFDckIsR0FBRyxDQUFBOzs7Ozs7Ozs7OztLQVdGO0tBQ0YsQUFmbUIsQ0FlbEI7SUFFSyxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUE7Ozs7S0FJVixDQUFDO0lBQ0osQ0FBQztJQTZETSxLQUFLLENBQUMsZUFBZTtRQUMxQixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDM0IsT0FBTztZQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBZ0I7WUFDL0UsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFnQjtZQUMvRSxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQWdCO1NBQ2xGLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDM0IsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDdkUsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVTthQUNaLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQzthQUNoQyxNQUFNLENBQ0wsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN6RCxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUNsRSxDQUNGLENBQUM7SUFDTixDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQixDQUFDLGdCQUF3QjtRQUNyRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDM0IsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3RGLE9BQ0UsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUM3RCxlQUFlLEdBQUcsZ0JBQWdCLEVBQ2xDLENBQUM7WUFDRCxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FDbEQsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQ0UsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRO2FBQ25ELElBQUksQ0FBQyxDQUFDLENBQUM7YUFDUCxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQ3hDLENBQUM7WUFDRCxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3JFLElBQUksVUFBVSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ2hELE9BQU8sVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQy9ELE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxVQUFVLEVBQUUsQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQTBEO1FBQ2xGLEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRCxNQUFNLENBQ0osSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkNBb0ZtQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO2tDQUMzRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDOzZDQUMzRixPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO2tDQUMzRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDOzZDQUN0RixPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7NkNBQzFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQzs2Q0FDNUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQzs7VUFFOUgsQ0FBQyxHQUFHLEVBQUU7WUFDTixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FDckQsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQTs7bURBRWtCLE9BQU8sRUFBRTt3Q0FDcEIsV0FBVyxDQUFDLElBQUk7bURBQ0wsV0FBVyxDQUFDLFlBQVk7d0NBQ25DLFdBQVcsQ0FBQyxRQUFRO21EQUNULFdBQVcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVE7O29CQUV4RyxXQUFXLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVE7OztvQkFHcEcsV0FBVyxDQUFDLGFBQWE7OzthQUdoQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsRUFBRTs7OztpQ0FJcUIsSUFBSSxDQUFDLFdBQVcsRUFBRTs7WUFFdkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3hDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxXQUFXLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUE7Ozt3QkFHQyxXQUFXLENBQUMsYUFBYTtvQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7a0ZBQ2dCLFdBQVc7bUJBQzFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxFQUFFOztxQ0FFUyxXQUFXLENBQUMsWUFBWTs7YUFFaEQsQ0FBQztRQUNKLENBQUMsQ0FBQzs7O2lDQUdxQixJQUFJLENBQUMsYUFBYSxFQUFFOzs7O1VBSTNDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhO1lBQ2xELENBQUMsQ0FBQyxJQUFJLENBQUE7O2tCQUVFLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHNFQUFzRSxDQUFDOzthQUV2SztZQUNILENBQUMsQ0FBQyxFQUFFOzs7Ozs7eUJBTVcsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtrQkFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUk7aUJBQzVDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHO3lCQUNsQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFROztVQUUvRSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWTtZQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFBOzs7O2tCQUlFLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQzs7YUFFekg7WUFDSCxDQUFDLENBQUMsSUFBSSxDQUFBLEVBQUU7Ozs7T0FJWCxFQUNELFlBQVksQ0FBQyxjQUFjLENBQzVCLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNyQixNQUFNLEVBQ047Ozs7RUFJSixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHO0VBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSTtFQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJO0tBQzdELElBQUksQ0FBQyxhQUFhLEVBQUU7O0VBRXZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO0VBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVCLEVBQ04sQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksS0FBSztnQkFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO1FBQ0YsWUFBWSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNFLENBQUM7O0FBbldNO0lBSk4sUUFBUSxDQUFDO1FBQ1IsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7O29EQUNrRDtBQU03QztJQUpOLFFBQVEsQ0FBQztRQUNSLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDOzswREFDbUU7QUF2QjFELGdCQUFnQjtJQUQ1QixhQUFhLENBQUMsMkJBQTJCLENBQUM7O0dBQzlCLGdCQUFnQixDQXFYNUIifQ==
382
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGludm9pY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvY29udGVudGludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7Ozs7Ozs7QUFFSCxPQUFPLEVBQ0wsV0FBVyxFQUNYLFFBQVEsRUFDUixJQUFJLEVBQ0osYUFBYSxFQUViLEdBQUcsRUFDSCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEdBQ1QsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFTN0MsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxXQUFXO2FBQ2pDLFNBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7R0FVOUIsQUFWaUIsQ0FVaEI7SUFjRjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBNkJILGdCQUFXLEdBQUcsR0FBVyxFQUFFO1lBQ2hDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdELFFBQVEsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUVLLGtCQUFhLEdBQUcsR0FBVyxFQUFFO1lBQ2xDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxD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