@design.estate/dees-document 5.2.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +420 -410
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_bundle/bundle.js.third-party-notices.json +27 -1
- package/dist_bundle/bundle.js.third-party-notices.txt +58 -2
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.pdfservice.d.ts +2 -1
- package/dist_ts/classes.pdfservice.js +5 -2
- package/dist_ts_shared/appearance.d.ts +29 -0
- package/dist_ts_shared/appearance.js +53 -0
- package/dist_ts_shared/index.d.ts +1 -0
- package/dist_ts_shared/index.js +2 -1
- package/dist_ts_shared/paymentcode.d.ts +30 -3
- package/dist_ts_shared/paymentcode.js +33 -3
- package/dist_ts_shared/plugins.d.ts +2 -0
- package/dist_ts_shared/plugins.js +4 -1
- package/dist_ts_shared/translation.d.ts +1 -0
- package/dist_ts_shared/translation.js +3 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/contentinvoice.d.ts +5 -1
- package/dist_ts_web/elements/contentinvoice.js +18 -7
- package/dist_ts_web/elements/document.js +7 -3
- package/dist_ts_web/elements/page.js +5 -3
- package/dist_ts_web/elements/pagefooter.js +1 -2
- package/dist_ts_web/elements/paymentcode.d.ts +2 -0
- package/dist_ts_web/elements/paymentcode.js +14 -2
- package/dist_ts_web/style.js +1 -1
- package/package.json +4 -3
- package/readme.md +4 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.pdfservice.ts +4 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/contentinvoice.ts +21 -8
- package/ts_web/elements/document.ts +6 -2
- package/ts_web/elements/page.ts +4 -2
- package/ts_web/elements/pagefooter.ts +0 -1
- package/ts_web/elements/paymentcode.ts +7 -0
- package/ts_web/style.ts +1 -1
|
@@ -98,6 +98,19 @@
|
|
|
98
98
|
}
|
|
99
99
|
]
|
|
100
100
|
},
|
|
101
|
+
{
|
|
102
|
+
"name": "@fin.cx/calculation",
|
|
103
|
+
"version": "1.4.0",
|
|
104
|
+
"license": "MIT",
|
|
105
|
+
"files": [
|
|
106
|
+
{
|
|
107
|
+
"name": "license",
|
|
108
|
+
"origin": "package",
|
|
109
|
+
"sha256": "8831025142911880cea1c7890cc04f147b7330678888e97ba523900e5493bb5d",
|
|
110
|
+
"text": "MIT License\n\nCopyright (c) 2025 Task Venture Capital GmbH\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
},
|
|
101
114
|
{
|
|
102
115
|
"name": "@lit/context",
|
|
103
116
|
"version": "1.1.6",
|
|
@@ -425,7 +438,7 @@
|
|
|
425
438
|
},
|
|
426
439
|
{
|
|
427
440
|
"name": "@tsclass/tsclass",
|
|
428
|
-
"version": "10.
|
|
441
|
+
"version": "10.2.0",
|
|
429
442
|
"license": "MIT",
|
|
430
443
|
"files": [
|
|
431
444
|
{
|
|
@@ -579,6 +592,19 @@
|
|
|
579
592
|
}
|
|
580
593
|
]
|
|
581
594
|
},
|
|
595
|
+
{
|
|
596
|
+
"name": "decimal.js",
|
|
597
|
+
"version": "10.6.0",
|
|
598
|
+
"license": "MIT",
|
|
599
|
+
"files": [
|
|
600
|
+
{
|
|
601
|
+
"name": "LICENCE.md",
|
|
602
|
+
"origin": "package",
|
|
603
|
+
"sha256": "3108b546bcff5d346923a82f48b2d252ca722f9088076db6d145f6b67757ad6c",
|
|
604
|
+
"text": "The MIT Licence.\n\nCopyright (c) 2025 Michael Mclaughlin\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"
|
|
605
|
+
}
|
|
606
|
+
]
|
|
607
|
+
},
|
|
582
608
|
{
|
|
583
609
|
"name": "decode-named-character-reference",
|
|
584
610
|
"version": "1.2.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Third-party notices
|
|
2
2
|
|
|
3
3
|
The JavaScript bundle this file accompanies, including its chunks and module workers,
|
|
4
|
-
contains code from the following
|
|
4
|
+
contains code from the following 137 npm package(s). Each entry reproduces
|
|
5
5
|
the license and notice files the package ships, or the license text the project
|
|
6
6
|
or a bundled package supplied for it.
|
|
7
7
|
|
|
@@ -1297,6 +1297,33 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
1297
1297
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1298
1298
|
SOFTWARE.
|
|
1299
1299
|
|
|
1300
|
+
================================================================================
|
|
1301
|
+
@fin.cx/calculation@1.4.0
|
|
1302
|
+
License: MIT
|
|
1303
|
+
|
|
1304
|
+
--- license ---
|
|
1305
|
+
|
|
1306
|
+
MIT License
|
|
1307
|
+
|
|
1308
|
+
Copyright (c) 2025 Task Venture Capital GmbH
|
|
1309
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
1310
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
1311
|
+
in the Software without restriction, including without limitation the rights
|
|
1312
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
1313
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
1314
|
+
furnished to do so, subject to the following conditions:
|
|
1315
|
+
|
|
1316
|
+
The above copyright notice and this permission notice shall be included in all
|
|
1317
|
+
copies or substantial portions of the Software.
|
|
1318
|
+
|
|
1319
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1320
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1321
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1322
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1323
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1324
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1325
|
+
SOFTWARE.
|
|
1326
|
+
|
|
1300
1327
|
================================================================================
|
|
1301
1328
|
@lit/context@1.1.6
|
|
1302
1329
|
License: BSD-3-Clause
|
|
@@ -1974,7 +2001,7 @@ The above copyright notice and this permission notice shall be included in all c
|
|
|
1974
2001
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1975
2002
|
|
|
1976
2003
|
================================================================================
|
|
1977
|
-
@tsclass/tsclass@10.
|
|
2004
|
+
@tsclass/tsclass@10.2.0
|
|
1978
2005
|
License: MIT
|
|
1979
2006
|
|
|
1980
2007
|
--- license ---
|
|
@@ -2308,6 +2335,35 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
2308
2335
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
2309
2336
|
SOFTWARE.
|
|
2310
2337
|
|
|
2338
|
+
================================================================================
|
|
2339
|
+
decimal.js@10.6.0
|
|
2340
|
+
License: MIT
|
|
2341
|
+
|
|
2342
|
+
--- LICENCE.md ---
|
|
2343
|
+
|
|
2344
|
+
The MIT Licence.
|
|
2345
|
+
|
|
2346
|
+
Copyright (c) 2025 Michael Mclaughlin
|
|
2347
|
+
|
|
2348
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
2349
|
+
a copy of this software and associated documentation files (the
|
|
2350
|
+
'Software'), to deal in the Software without restriction, including
|
|
2351
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
2352
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
2353
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
2354
|
+
the following conditions:
|
|
2355
|
+
|
|
2356
|
+
The above copyright notice and this permission notice shall be
|
|
2357
|
+
included in all copies or substantial portions of the Software.
|
|
2358
|
+
|
|
2359
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
2360
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
2361
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
2362
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
2363
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
2364
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
2365
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
2366
|
+
|
|
2311
2367
|
================================================================================
|
|
2312
2368
|
decode-named-character-reference@1.2.0
|
|
2313
2369
|
License: MIT
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-document',
|
|
6
|
-
version: '5.
|
|
6
|
+
version: '5.4.0',
|
|
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
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw4QkFBOEI7SUFDcEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVMQUF1TDtDQUNyTSxDQUFBIn0=
|
|
@@ -21,7 +21,8 @@ export declare class PdfService {
|
|
|
21
21
|
* creates an letter
|
|
22
22
|
*
|
|
23
23
|
* An accounting document whose advance payments do not add up to its paid
|
|
24
|
-
* amount
|
|
24
|
+
* amount, and a letter whose accent colour (`appearance.accentColor`) is no
|
|
25
|
+
* hex colour, are refused before anything is rendered: this rejects.
|
|
25
26
|
*/
|
|
26
27
|
createPdfFromLetterObject(optionsArg: {
|
|
27
28
|
letterData: plugins.tsclass.business.TLetter;
|
|
@@ -33,11 +33,14 @@ export class PdfService {
|
|
|
33
33
|
* creates an letter
|
|
34
34
|
*
|
|
35
35
|
* An accounting document whose advance payments do not add up to its paid
|
|
36
|
-
* amount
|
|
36
|
+
* amount, and a letter whose accent colour (`appearance.accentColor`) is no
|
|
37
|
+
* hex colour, are refused before anything is rendered: this rejects.
|
|
37
38
|
*/
|
|
38
39
|
async createPdfFromLetterObject(optionsArg) {
|
|
39
40
|
plugins.shared.assertPaidAmountMatchesAdvancePayments(optionsArg.letterData);
|
|
40
41
|
plugins.shared.assertWithoutVatStatesNoTax(optionsArg.letterData, optionsArg.documentSettings);
|
|
42
|
+
// a letter's accent colour that is no hex colour is refused before anything is rendered
|
|
43
|
+
plugins.shared.resolvedAccentOf(optionsArg.documentSettings.theme, optionsArg.letterData);
|
|
41
44
|
const html = `
|
|
42
45
|
<script type="module">
|
|
43
46
|
${await helpers.getBundleAsString()}
|
|
@@ -49,4 +52,4 @@ export class PdfService {
|
|
|
49
52
|
return pdfResult;
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wZGZzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wZGZzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBSXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckIsU0FBUztJQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUNoQyxVQUF5QztRQUV6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztJQUNYLE9BQU8sQ0FBZ0M7SUFFaEMsZ0JBQWdCLENBQTZCO0lBRXBELFlBQVksVUFBeUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMseUJBQXlCLENBQUMsVUFHdEM7UUFDQyxPQUFPLENBQUMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RSxPQUFPLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0Ysd0ZBQXdGO1FBQ3hGLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUYsTUFBTSxJQUFJLEdBQUc7O1VBRVAsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7OzJEQUVnQixPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FDcEYsVUFBVSxDQUFDLGdCQUFnQixDQUM1QixpQkFBaUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQ25ELFVBQVUsQ0FBQyxVQUFVLENBQ3RCO0tBQ0EsQ0FBQztRQUNGLHFCQUFxQjtRQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDdkUsSUFBSSxDQUNMLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as plugins from "./plugins.js";
|
|
2
|
+
import type { IDocumentTheme } from "./interfaces/document.js";
|
|
3
|
+
/** The text colours an accent is written on with: the document's dark grey, or white. */
|
|
4
|
+
export type TAccentForeground = "#333333" | "#ffffff";
|
|
5
|
+
/**
|
|
6
|
+
* The text colour that reads better on an accent: the document's dark grey
|
|
7
|
+
* (`#333333`) or white, whichever has the higher WCAG contrast against it. A
|
|
8
|
+
* light accent (a yellow, a pastel) gets dark text, a strong or dark one white.
|
|
9
|
+
*/
|
|
10
|
+
export declare const accentForegroundOf: (hexArg: string) => TAccentForeground;
|
|
11
|
+
/** The accent a letter is drawn in; a side left out takes the document's default (`style.ts`: red, and white on it). */
|
|
12
|
+
export interface IResolvedAccent {
|
|
13
|
+
background?: string;
|
|
14
|
+
foreground?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The accent colour a letter's footer rule and page-number tab are drawn in:
|
|
18
|
+
* the theme's (`IDocumentSettings.theme.colorAccentBackground`), which the
|
|
19
|
+
* caller of the renderer states, else the letter's own
|
|
20
|
+
* (`appearance.accentColor`, the issuer's branding), else the default. The
|
|
21
|
+
* page number is written in the theme's `colorAccentForeground`, else, on a
|
|
22
|
+
* hex accent, in dark grey or white by contrast (`accentForegroundOf`); on a
|
|
23
|
+
* theme accent of another CSS form, in the default white.
|
|
24
|
+
*
|
|
25
|
+
* The letter's accent colour is data of the document and is written into the
|
|
26
|
+
* page's style, so it is taken only as `#` and three or six hex digits;
|
|
27
|
+
* anything else is refused, and nothing is printed.
|
|
28
|
+
*/
|
|
29
|
+
export declare const resolvedAccentOf: (themeArg: IDocumentTheme | undefined, letterArg: plugins.tsclass.business.TLetter | null | undefined) => IResolvedAccent;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as plugins from "./plugins.js";
|
|
2
|
+
/** A colour written as `#` and three or six hex digits. */
|
|
3
|
+
const HEX_COLOR_PATTERN = /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
|
|
4
|
+
/** The relative luminance of a hex colour (WCAG 2.x), from 0 (black) to 1 (white). */
|
|
5
|
+
const relativeLuminanceOf = (hexArg) => {
|
|
6
|
+
const digits = hexArg.length === 4 ? hexArg.slice(1).replace(/./g, "$&$&") : hexArg.slice(1);
|
|
7
|
+
const channel = (offsetArg) => {
|
|
8
|
+
const value = Number.parseInt(digits.slice(offsetArg, offsetArg + 2), 16) / 255;
|
|
9
|
+
return value <= 0.04045 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4;
|
|
10
|
+
};
|
|
11
|
+
return 0.2126 * channel(0) + 0.7152 * channel(2) + 0.0722 * channel(4);
|
|
12
|
+
};
|
|
13
|
+
/** The WCAG contrast of two luminances, from 1 to 21. */
|
|
14
|
+
const contrastOf = (leftArg, rightArg) => (Math.max(leftArg, rightArg) + 0.05) / (Math.min(leftArg, rightArg) + 0.05);
|
|
15
|
+
/**
|
|
16
|
+
* The text colour that reads better on an accent: the document's dark grey
|
|
17
|
+
* (`#333333`) or white, whichever has the higher WCAG contrast against it. A
|
|
18
|
+
* light accent (a yellow, a pastel) gets dark text, a strong or dark one white.
|
|
19
|
+
*/
|
|
20
|
+
export const accentForegroundOf = (hexArg) => {
|
|
21
|
+
if (!HEX_COLOR_PATTERN.test(hexArg)) {
|
|
22
|
+
throw new Error(`accentForegroundOf: "${hexArg}" is no hex colour`);
|
|
23
|
+
}
|
|
24
|
+
const accent = relativeLuminanceOf(hexArg);
|
|
25
|
+
return contrastOf(accent, relativeLuminanceOf("#333333")) > contrastOf(accent, 1) ? "#333333" : "#ffffff";
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The accent colour a letter's footer rule and page-number tab are drawn in:
|
|
29
|
+
* the theme's (`IDocumentSettings.theme.colorAccentBackground`), which the
|
|
30
|
+
* caller of the renderer states, else the letter's own
|
|
31
|
+
* (`appearance.accentColor`, the issuer's branding), else the default. The
|
|
32
|
+
* page number is written in the theme's `colorAccentForeground`, else, on a
|
|
33
|
+
* hex accent, in dark grey or white by contrast (`accentForegroundOf`); on a
|
|
34
|
+
* theme accent of another CSS form, in the default white.
|
|
35
|
+
*
|
|
36
|
+
* The letter's accent colour is data of the document and is written into the
|
|
37
|
+
* page's style, so it is taken only as `#` and three or six hex digits;
|
|
38
|
+
* anything else is refused, and nothing is printed.
|
|
39
|
+
*/
|
|
40
|
+
export const resolvedAccentOf = (themeArg, letterArg) => {
|
|
41
|
+
const stated = letterArg?.appearance?.accentColor;
|
|
42
|
+
if (stated !== undefined && !HEX_COLOR_PATTERN.test(stated)) {
|
|
43
|
+
throw new Error(`appearance.accentColor: "${stated}" is no hex colour (#RGB or #RRGGBB); the document is not printed.`);
|
|
44
|
+
}
|
|
45
|
+
const background = themeArg?.colorAccentBackground ?? stated;
|
|
46
|
+
const foreground = themeArg?.colorAccentForeground
|
|
47
|
+
?? (background !== undefined && HEX_COLOR_PATTERN.test(background) ? accentForegroundOf(background) : undefined);
|
|
48
|
+
return {
|
|
49
|
+
...(background !== undefined ? { background } : {}),
|
|
50
|
+
...(foreground !== undefined ? { foreground } : {}),
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZWFyYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3NoYXJlZC9hcHBlYXJhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBR3hDLDJEQUEyRDtBQUMzRCxNQUFNLGlCQUFpQixHQUFHLHNDQUFzQyxDQUFDO0FBS2pFLHNGQUFzRjtBQUN0RixNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUU7SUFDckQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RixNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtRQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDaEYsT0FBTyxLQUFLLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUM3RSxDQUFDLENBQUM7SUFDRixPQUFPLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUMsQ0FBQztBQUVGLHlEQUF5RDtBQUN6RCxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQWUsRUFBRSxRQUFnQixFQUFVLEVBQUUsQ0FDL0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0FBRTlFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQWMsRUFBcUIsRUFBRTtJQUN0RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsTUFBTSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM1RyxDQUFDLENBQUM7QUFRRjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixRQUFvQyxFQUNwQyxTQUE4RCxFQUM3QyxFQUFFO0lBQ25CLE1BQU0sTUFBTSxHQUFHLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO0lBQ2xELElBQUksTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLE1BQU0sb0VBQW9FLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLHFCQUFxQixJQUFJLE1BQU0sQ0FBQztJQUM3RCxNQUFNLFVBQVUsR0FBRyxRQUFRLEVBQUUscUJBQXFCO1dBQzdDLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuSCxPQUFPO1FBQ0wsR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxHQUFHLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3BELENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -6,6 +6,7 @@ export { interfaces };
|
|
|
6
6
|
import * as translation from "./translation.js";
|
|
7
7
|
export { translation };
|
|
8
8
|
export * from "./accountingdoc.js";
|
|
9
|
+
export * from "./appearance.js";
|
|
9
10
|
export * from "./demoletter.js";
|
|
10
11
|
export * from "./paidamount.js";
|
|
11
12
|
export * from "./paymentcode.js";
|
package/dist_ts_shared/index.js
CHANGED
|
@@ -9,9 +9,10 @@ export { interfaces };
|
|
|
9
9
|
import * as translation from "./translation.js";
|
|
10
10
|
export { translation };
|
|
11
11
|
export * from "./accountingdoc.js";
|
|
12
|
+
export * from "./appearance.js";
|
|
12
13
|
export * from "./demoletter.js";
|
|
13
14
|
export * from "./paidamount.js";
|
|
14
15
|
export * from "./paymentcode.js";
|
|
15
16
|
export * from "./paymentreminder.js";
|
|
16
17
|
export * from "./unitnames.js";
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLGdCQUFnQjtBQUN2QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZTtBQUN0RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYTtBQUVqRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWE7SUFDbEMsT0FBTyxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxPQUFPLEtBQUssVUFBVSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUV0QixPQUFPLEtBQUssV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUV2QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDIn0=
|
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
* 5 BIC 11 unstructured remittance information
|
|
11
11
|
* 6 beneficiary name
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Line 10 takes an ISO 11649 creditor reference (`RF…`), line 11 free text;
|
|
14
|
+
* the code carries one of them, never both. Which one a document gives is
|
|
15
|
+
* `epcRemittanceOf`: the creditor reference it states, else the reference it
|
|
16
|
+
* states as free text, else its number.
|
|
15
17
|
*
|
|
16
18
|
* Lines are separated by a line feed, and nothing follows the last filled line.
|
|
17
19
|
* A line break inside the name or the remittance information becomes a space.
|
|
@@ -25,9 +27,32 @@ export interface IEpcQrPaymentData {
|
|
|
25
27
|
iban: string;
|
|
26
28
|
currency: string;
|
|
27
29
|
amount: number;
|
|
28
|
-
/** What the payer's bank transfers as remittance information, at most 140 characters. */
|
|
30
|
+
/** What the payer's bank transfers as remittance information, at most 140 characters; empty beside a creditor reference. */
|
|
29
31
|
remittanceInformation: string;
|
|
32
|
+
/**
|
|
33
|
+
* An ISO 11649 creditor reference (`RF…`, typed or printed), carried in line
|
|
34
|
+
* 10 in its electronic form. It must be valid, and the remittance
|
|
35
|
+
* information empty beside it; otherwise no code exists.
|
|
36
|
+
*/
|
|
37
|
+
creditorReference?: string;
|
|
30
38
|
}
|
|
39
|
+
/** How a document's payment is referenced in its EPC QR code, and what its pay box prints of it. */
|
|
40
|
+
export interface IEpcRemittance {
|
|
41
|
+
/** the creditor reference for line 10, in its electronic form */
|
|
42
|
+
creditorReference?: string;
|
|
43
|
+
/** the free text for line 11; empty beside a creditor reference */
|
|
44
|
+
remittanceInformation: string;
|
|
45
|
+
/** the reference the document states, as its pay box prints it: a creditor reference in groups of four; absent when it states none */
|
|
46
|
+
printedReference?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* How a document references its payment: the reference it states
|
|
50
|
+
* (`paymentOptions.paymentReference`, EN 16931 BT-83) as a creditor reference
|
|
51
|
+
* when it is a valid ISO 11649 one, printed in groups of four; any other
|
|
52
|
+
* stated reference as free text, as stated; and where it states none, its
|
|
53
|
+
* number as free text, printed nowhere else, as before.
|
|
54
|
+
*/
|
|
55
|
+
export declare const epcRemittanceOf: (statedReferenceArg: string | undefined, numberArg: string) => IEpcRemittance;
|
|
31
56
|
/**
|
|
32
57
|
* Builds the EPC QR code content, or returns null when no valid code exists
|
|
33
58
|
* for the payment: the EPC QR code transfers euros only, an amount from 0.01
|
|
@@ -39,5 +64,7 @@ export interface IEpcQrPaymentData {
|
|
|
39
64
|
* remittance information is cut further at whole grapheme clusters. The name is
|
|
40
65
|
* not cut further: when the other lines alone leave no room for any of the
|
|
41
66
|
* remittance information, or exceed 331 bytes themselves, the result is null.
|
|
67
|
+
* A creditor reference that is no valid ISO 11649 one, or one given beside
|
|
68
|
+
* remittance information, leaves no valid code either.
|
|
42
69
|
*/
|
|
43
70
|
export declare const buildEpcQrPayload: (paymentArg: IEpcQrPaymentData) => string | null;
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
import * as plugins from "./plugins.js";
|
|
2
|
+
/**
|
|
3
|
+
* How a document references its payment: the reference it states
|
|
4
|
+
* (`paymentOptions.paymentReference`, EN 16931 BT-83) as a creditor reference
|
|
5
|
+
* when it is a valid ISO 11649 one, printed in groups of four; any other
|
|
6
|
+
* stated reference as free text, as stated; and where it states none, its
|
|
7
|
+
* number as free text, printed nowhere else, as before.
|
|
8
|
+
*/
|
|
9
|
+
export const epcRemittanceOf = (statedReferenceArg, numberArg) => {
|
|
10
|
+
const stated = statedReferenceArg?.trim() ?? "";
|
|
11
|
+
if (stated.length === 0) {
|
|
12
|
+
return { remittanceInformation: numberArg };
|
|
13
|
+
}
|
|
14
|
+
const creditorReference = plugins.calculation.normalizeCreditorReference(stated);
|
|
15
|
+
return creditorReference === null
|
|
16
|
+
? { remittanceInformation: stated, printedReference: stated }
|
|
17
|
+
: {
|
|
18
|
+
creditorReference,
|
|
19
|
+
remittanceInformation: "",
|
|
20
|
+
printedReference: plugins.calculation.formatCreditorReference(creditorReference),
|
|
21
|
+
};
|
|
22
|
+
};
|
|
1
23
|
/** The largest amount an EPC QR code can carry. */
|
|
2
24
|
const EPC_MAX_AMOUNT = 999999999.99;
|
|
3
25
|
/** The largest EPC QR code content, in bytes. */
|
|
@@ -43,12 +65,21 @@ const truncateToGraphemes = (textArg, maxCharactersArg, maxBytesArg) => {
|
|
|
43
65
|
* remittance information is cut further at whole grapheme clusters. The name is
|
|
44
66
|
* not cut further: when the other lines alone leave no room for any of the
|
|
45
67
|
* remittance information, or exceed 331 bytes themselves, the result is null.
|
|
68
|
+
* A creditor reference that is no valid ISO 11649 one, or one given beside
|
|
69
|
+
* remittance information, leaves no valid code either.
|
|
46
70
|
*/
|
|
47
71
|
export const buildEpcQrPayload = (paymentArg) => {
|
|
48
72
|
const iban = paymentArg.iban?.replace(/\s+/g, "").toUpperCase() ?? "";
|
|
49
73
|
const name = truncateToGraphemes(toSingleLine(paymentArg.name ?? ""), EPC_MAX_NAME_CHARACTERS, EPC_MAX_PAYLOAD_BYTES);
|
|
50
74
|
const bic = paymentArg.bic?.replace(/\s+/g, "").toUpperCase() ?? "";
|
|
51
75
|
const amount = Math.round(paymentArg.amount * 100) / 100;
|
|
76
|
+
const statedCreditorReference = paymentArg.creditorReference?.trim() ?? "";
|
|
77
|
+
const creditorReference = statedCreditorReference.length > 0 ? plugins.calculation.normalizeCreditorReference(statedCreditorReference) : "";
|
|
78
|
+
const remittanceText = toSingleLine(paymentArg.remittanceInformation ?? "");
|
|
79
|
+
if (creditorReference === null || (creditorReference.length > 0 && remittanceText.length > 0)) {
|
|
80
|
+
// line 10 takes a valid creditor reference only, and the code one reference, never two
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
52
83
|
if (paymentArg.currency !== "EUR" ||
|
|
53
84
|
!Number.isFinite(amount) ||
|
|
54
85
|
amount < 0.01 ||
|
|
@@ -67,10 +98,9 @@ export const buildEpcQrPayload = (paymentArg) => {
|
|
|
67
98
|
iban,
|
|
68
99
|
`EUR${amount.toFixed(2)}`,
|
|
69
100
|
"",
|
|
70
|
-
|
|
101
|
+
creditorReference,
|
|
71
102
|
];
|
|
72
103
|
// the remittance line and its separator get the bytes the other lines leave
|
|
73
|
-
const remittanceText = toSingleLine(paymentArg.remittanceInformation ?? "");
|
|
74
104
|
const remittance = truncateToGraphemes(remittanceText, EPC_MAX_REMITTANCE_CHARACTERS, Math.max(0, EPC_MAX_PAYLOAD_BYTES - utf8Length(leadingLines.join("\n")) - 1));
|
|
75
105
|
if (remittanceText.length > 0 && remittance.length === 0) {
|
|
76
106
|
return null;
|
|
@@ -82,4 +112,4 @@ export const buildEpcQrPayload = (paymentArg) => {
|
|
|
82
112
|
const payload = lines.join("\n");
|
|
83
113
|
return utf8Length(payload) <= EPC_MAX_PAYLOAD_BYTES ? payload : null;
|
|
84
114
|
};
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudGNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvcGF5bWVudGNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFtRHhDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLGtCQUFzQyxFQUFFLFNBQWlCLEVBQWtCLEVBQUU7SUFDM0csTUFBTSxNQUFNLEdBQUcsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRixPQUFPLGlCQUFpQixLQUFLLElBQUk7UUFDL0IsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtRQUM3RCxDQUFDLENBQUM7WUFDRSxpQkFBaUI7WUFDakIscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDO1NBQ2pGLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRixtREFBbUQ7QUFDbkQsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBRXBDLGlEQUFpRDtBQUNqRCxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUVsQyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUNuQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQztBQUUxQywrQ0FBK0M7QUFDL0MsTUFBTSxXQUFXLEdBQUcsZ0NBQWdDLENBQUM7QUFFckQs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
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
// tsclass scope
|
|
2
2
|
import * as tsclass from '@tsclass/tsclass';
|
|
3
3
|
export { tsclass };
|
|
4
|
-
|
|
4
|
+
// fin.cx scope
|
|
5
|
+
import * as calculation from '@fin.cx/calculation';
|
|
6
|
+
export { calculation };
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3NoYXJlZC9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUVuQixlQUFlO0FBQ2YsT0FBTyxLQUFLLFdBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMifQ==
|
|
@@ -81,6 +81,7 @@ export const EN_translations = {
|
|
|
81
81
|
"payment.paid": "Paid in advance",
|
|
82
82
|
"payment.qr": "Pay via QR code",
|
|
83
83
|
"payment.qr.description": "Scan the QR code with you banking app",
|
|
84
|
+
"payment.reference": "Payment reference",
|
|
84
85
|
"payment.terms": "Payment Terms",
|
|
85
86
|
"payment.terms.amountDue": "without deduction until",
|
|
86
87
|
"payment.terms.direct": "Without deduction until",
|
|
@@ -210,6 +211,7 @@ export const DE_translations = {
|
|
|
210
211
|
"payment.paid": "Bereits gezahlt",
|
|
211
212
|
"payment.qr": "Überweisen per QR-Code",
|
|
212
213
|
"payment.qr.description": "Den QR-Code einfach mit der Banking-App einscannen",
|
|
214
|
+
"payment.reference": "Verwendungszweck",
|
|
213
215
|
"payment.terms": "Zahlungsbedingungen",
|
|
214
216
|
"payment.terms.amountDue": "ohne Abzug bis zum",
|
|
215
217
|
"payment.terms.direct": "Ohne Abzug bis zum",
|
|
@@ -298,4 +300,4 @@ export const translate = (languageCode, key) => {
|
|
|
298
300
|
// an unknown key renders as itself, so a missing translation is visible instead of empty
|
|
299
301
|
return found ?? key;
|
|
300
302
|
};
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19zaGFyZWQvdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUM3QywrQ0FBK0MsQ0FBQztBQUVsRCwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLHdCQUF3QixFQUFFLGdCQUFnQjtJQUMxQyw0QkFBNEIsRUFBRSxJQUFJO0lBQ2xDLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsc0JBQXNCLEVBQUUsaUJBQWlCO0lBQ3pDLG9CQUFvQixFQUFFLGNBQWM7SUFDcEMsb0JBQW9CLEVBQUUsYUFBYTtJQUNuQyxVQUFVLEVBQUUsS0FBSztJQUNqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixrQkFBa0IsRUFBRSxhQUFhO0lBQ2pDLHVCQUF1QixFQUFFLGlCQUFpQjtJQUMxQyxlQUFlLEVBQUUsUUFBUTtJQUN6QixvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUMsc0JBQXNCLEVBQUUsMkJBQTJCO0lBQ25ELHdCQUF3QixFQUFFLG1CQUFtQjtJQUM3QyxpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsZUFBZSxFQUFFLFVBQVU7SUFDM0IsZUFBZSxFQUFFLFNBQVM7SUFDMUIsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDLGtCQUFrQixFQUFFLGFBQWE7SUFDakMsZ0JBQWdCLEVBQUUsY0FBYztJQUNoQyw4QkFBOEIsRUFBRSxtQkFBbUI7SUFDbkQsbUNBQW1DLEVBQUUsV0FBVztJQUNoRCxpQ0FBaUMsRUFBRSxVQUFVO0lBQzdDLHVDQUF1QyxFQUFFLGdCQUFnQjtJQUN6RCxtQ0FBbUMsRUFBRSxZQUFZO0lBQ2pELG1DQUFtQyxFQUNqQywwRkFBMEY7SUFD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
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-document',
|
|
6
|
-
version: '5.
|
|
6
|
+
version: '5.4.0',
|
|
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
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSx1TEFBdUw7Q0FDck0sQ0FBQSJ9
|
|
@@ -118,7 +118,11 @@ export declare class DeContentInvoice extends DeesElement {
|
|
|
118
118
|
/**
|
|
119
119
|
* The QR pay box. It is printed only when the payment has a valid EPC QR
|
|
120
120
|
* code: a euro amount to the sender's IBAN, which a document in another
|
|
121
|
-
* currency or without the sender's IBAN does not have.
|
|
121
|
+
* currency or without the sender's IBAN does not have. The code carries the
|
|
122
|
+
* reference the document states (`paymentOptions.paymentReference`): an ISO
|
|
123
|
+
* 11649 creditor reference in line 10, any other as free text, and where it
|
|
124
|
+
* states none, the letter's number (`epcRemittanceOf`). A stated reference
|
|
125
|
+
* is printed beside the code, so a payer who types the transfer quotes it.
|
|
122
126
|
*/
|
|
123
127
|
private renderPaymentInfo;
|
|
124
128
|
/**
|