@design.estate/dees-document 1.0.91

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 (78) hide show
  1. package/dist_bundle/bundle.js +865 -0
  2. package/dist_bundle/bundle.js.map +7 -0
  3. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  4. package/dist_ts/00_commitinfo_data.js +9 -0
  5. package/dist_ts/classes.pdfservice.d.ts +23 -0
  6. package/dist_ts/classes.pdfservice.js +39 -0
  7. package/dist_ts/helpers.d.ts +1 -0
  8. package/dist_ts/helpers.js +6 -0
  9. package/dist_ts/index.d.ts +2 -0
  10. package/dist_ts/index.js +3 -0
  11. package/dist_ts/paths.d.ts +4 -0
  12. package/dist_ts/paths.js +7 -0
  13. package/dist_ts/plugins.d.ts +9 -0
  14. package/dist_ts/plugins.js +13 -0
  15. package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
  16. package/dist_ts_web/00_commitinfo_data.js +9 -0
  17. package/dist_ts_web/elements/contentinvoice.d.ts +34 -0
  18. package/dist_ts_web/elements/contentinvoice.js +335 -0
  19. package/dist_ts_web/elements/document.d.ts +20 -0
  20. package/dist_ts_web/elements/document.js +157 -0
  21. package/dist_ts_web/elements/index.d.ts +8 -0
  22. package/dist_ts_web/elements/index.js +9 -0
  23. package/dist_ts_web/elements/letterheader.d.ts +16 -0
  24. package/dist_ts_web/elements/letterheader.js +123 -0
  25. package/dist_ts_web/elements/page.d.ts +19 -0
  26. package/dist_ts_web/elements/page.js +144 -0
  27. package/dist_ts_web/elements/pagecontainer.d.ts +14 -0
  28. package/dist_ts_web/elements/pagecontainer.js +66 -0
  29. package/dist_ts_web/elements/pagecontent.d.ts +18 -0
  30. package/dist_ts_web/elements/pagecontent.js +144 -0
  31. package/dist_ts_web/elements/pagefooter.d.ts +16 -0
  32. package/dist_ts_web/elements/pagefooter.js +130 -0
  33. package/dist_ts_web/elements/pageheader.d.ts +16 -0
  34. package/dist_ts_web/elements/pageheader.js +95 -0
  35. package/dist_ts_web/elements/shared/demoletter.d.ts +2 -0
  36. package/dist_ts_web/elements/shared/demoletter.js +117 -0
  37. package/dist_ts_web/elements/shared/index.d.ts +5 -0
  38. package/dist_ts_web/elements/shared/index.js +6 -0
  39. package/dist_ts_web/index.d.ts +1 -0
  40. package/dist_ts_web/index.js +2 -0
  41. package/dist_ts_web/pages/index.d.ts +2 -0
  42. package/dist_ts_web/pages/index.js +3 -0
  43. package/dist_ts_web/pages/page1.d.ts +1 -0
  44. package/dist_ts_web/pages/page1.js +18 -0
  45. package/dist_ts_web/pages/page2.d.ts +1 -0
  46. package/dist_ts_web/pages/page2.js +5 -0
  47. package/dist_ts_web/plugins.d.ts +7 -0
  48. package/dist_ts_web/plugins.js +11 -0
  49. package/dist_watch/bundle.js +21871 -0
  50. package/dist_watch/bundle.js.map +7 -0
  51. package/dist_watch/index.html +28 -0
  52. package/license +19 -0
  53. package/npmextra.json +20 -0
  54. package/package.json +65 -0
  55. package/readme.md +7 -0
  56. package/ts/00_commitinfo_data.ts +8 -0
  57. package/ts/classes.pdfservice.ts +51 -0
  58. package/ts/helpers.ts +6 -0
  59. package/ts/index.ts +2 -0
  60. package/ts/paths.ts +9 -0
  61. package/ts/plugins.ts +26 -0
  62. package/ts_web/00_commitinfo_data.ts +8 -0
  63. package/ts_web/elements/contentinvoice.ts +385 -0
  64. package/ts_web/elements/document.ts +168 -0
  65. package/ts_web/elements/index.ts +8 -0
  66. package/ts_web/elements/letterheader.ts +125 -0
  67. package/ts_web/elements/page.ts +142 -0
  68. package/ts_web/elements/pagecontainer.ts +69 -0
  69. package/ts_web/elements/pagecontent.ts +147 -0
  70. package/ts_web/elements/pagefooter.ts +132 -0
  71. package/ts_web/elements/pageheader.ts +96 -0
  72. package/ts_web/elements/shared/demoletter.ts +121 -0
  73. package/ts_web/elements/shared/index.ts +6 -0
  74. package/ts_web/index.ts +1 -0
  75. package/ts_web/pages/index.ts +2 -0
  76. package/ts_web/pages/page1.ts +18 -0
  77. package/ts_web/pages/page2.ts +5 -0
  78. package/ts_web/plugins.ts +15 -0
@@ -0,0 +1,8 @@
1
+ /**
2
+ * autocreated commitinfo by @pushrocks/commitinfo
3
+ */
4
+ export declare const commitinfo: {
5
+ name: string;
6
+ version: string;
7
+ description: string;
8
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * autocreated commitinfo by @pushrocks/commitinfo
3
+ */
4
+ export const commitinfo = {
5
+ name: '@fin2021_private/letter-catalog',
6
+ version: '1.0.90',
7
+ description: 'a catalog for creating documents like invoices'
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLGdEQUFnRDtDQUM5RCxDQUFBIn0=
@@ -0,0 +1,23 @@
1
+ import * as plugins from './plugins.js';
2
+ export interface IPdfServiceConstructorOptions {
3
+ }
4
+ /**
5
+ * a pdf service for generating pdfs
6
+ */
7
+ export declare class PdfService {
8
+ options: IPdfServiceConstructorOptions;
9
+ smartpdfInstance: plugins.smartpdf.SmartPdf;
10
+ constructor(optionsArg: IPdfServiceConstructorOptions);
11
+ /**
12
+ * starts the PdfService
13
+ */
14
+ start(): Promise<void>;
15
+ /**
16
+ * stops the PdfService
17
+ */
18
+ stop(): Promise<void>;
19
+ /**
20
+ * creates an letter
21
+ */
22
+ createPdfFromLetterObject(letterDataArg: plugins.tsclass.business.ILetter): Promise<plugins.tsclass.business.IPdf>;
23
+ }
@@ -0,0 +1,39 @@
1
+ import * as plugins from './plugins.js';
2
+ import * as paths from './paths.js';
3
+ import * as helpers from './helpers.js';
4
+ /**
5
+ * a pdf service for generating pdfs
6
+ */
7
+ export class PdfService {
8
+ constructor(optionsArg) {
9
+ this.options = optionsArg;
10
+ }
11
+ /**
12
+ * starts the PdfService
13
+ */
14
+ async start() {
15
+ this.smartpdfInstance = new plugins.smartpdf.SmartPdf();
16
+ await this.smartpdfInstance.start();
17
+ }
18
+ /**
19
+ * stops the PdfService
20
+ */
21
+ async stop() {
22
+ await this.smartpdfInstance.stop();
23
+ }
24
+ /**
25
+ * creates an letter
26
+ */
27
+ async createPdfFromLetterObject(letterDataArg) {
28
+ const html = `
29
+ <script type="module">
30
+ ${await helpers.getBundleAsString()}
31
+ </script>
32
+ <dedocument-dedocument printMode letterData="${plugins.smartjson.stringifyBase64(letterDataArg)}"></dedocument-dedocument>
33
+ `;
34
+ // console.log(html);
35
+ const pdfResult = await this.smartpdfInstance.getA4PdfResultForHtmlString(html);
36
+ return pdfResult;
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wZGZzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wZGZzZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBTXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFBWSxVQUF5QztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHlCQUF5QixDQUFDLGFBQStDO1FBQ3BGLE1BQU0sSUFBSSxHQUFHOztVQUVQLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixFQUFFOztxREFFVSxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7S0FDaEcsQ0FBQztRQUNGLHFCQUFxQjtRQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ export declare const getBundleAsString: () => Promise<string>;
@@ -0,0 +1,6 @@
1
+ import * as plugins from './plugins.js';
2
+ import * as paths from './paths.js';
3
+ export const getBundleAsString = async () => {
4
+ return plugins.smartfile.fs.toStringSync(paths.bundleFile);
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUM7QUFFcEMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDMUMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQSJ9
@@ -0,0 +1,2 @@
1
+ export * from './helpers.js';
2
+ export * from './classes.pdfservice.js';
@@ -0,0 +1,3 @@
1
+ export * from './helpers.js';
2
+ export * from './classes.pdfservice.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ export declare const packageDir: string;
2
+ export declare const nogitDir: string;
3
+ export declare const bundleDir: string;
4
+ export declare const bundleFile: string;
@@ -0,0 +1,7 @@
1
+ import * as plugins from './plugins.js';
2
+ export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');
3
+ export const nogitDir = plugins.path.join(packageDir, '.nogit/');
4
+ plugins.smartfile.fs.ensureDirSync(nogitDir);
5
+ export const bundleDir = plugins.path.join(packageDir, './dist_bundle');
6
+ export const bundleFile = plugins.path.join(bundleDir, './bundle.js');
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUVwSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2pFLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMifQ==
@@ -0,0 +1,9 @@
1
+ import * as path from 'path';
2
+ export { path };
3
+ import * as smartfile from '@push.rocks/smartfile';
4
+ import * as smartjson from '@push.rocks/smartjson';
5
+ import * as smartpath from '@push.rocks/smartpath';
6
+ import * as smartpdf from '@push.rocks/smartpdf';
7
+ export { smartfile, smartpath, smartjson, smartpdf, };
8
+ import * as tsclass from '@tsclass/tsclass';
9
+ export { tsclass, };
@@ -0,0 +1,13 @@
1
+ // node native
2
+ import * as path from 'path';
3
+ export { path };
4
+ // @push.rocks/scope
5
+ import * as smartfile from '@push.rocks/smartfile';
6
+ import * as smartjson from '@push.rocks/smartjson';
7
+ import * as smartpath from '@push.rocks/smartpath';
8
+ import * as smartpdf from '@push.rocks/smartpdf';
9
+ export { smartfile, smartpath, smartjson, smartpdf, };
10
+ // @tsclass scope
11
+ import * as tsclass from '@tsclass/tsclass';
12
+ export { tsclass, };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFDTCxJQUFJLEVBQ0wsQ0FBQTtBQUVELG9CQUFvQjtBQUNwQixPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxRQUFRLEdBQ1QsQ0FBQTtBQUVELGlCQUFpQjtBQUNqQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFDTCxPQUFPLEdBQ1IsQ0FBQSJ9
@@ -0,0 +1,8 @@
1
+ /**
2
+ * autocreated commitinfo by @pushrocks/commitinfo
3
+ */
4
+ export declare const commitinfo: {
5
+ name: string;
6
+ version: string;
7
+ description: string;
8
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * autocreated commitinfo by @pushrocks/commitinfo
3
+ */
4
+ export const commitinfo = {
5
+ name: '@design.estate/dees-document',
6
+ version: '1.0.90',
7
+ description: 'a catalog for creating documents like invoices'
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxnREFBZ0Q7Q0FDOUQsQ0FBQSJ9
@@ -0,0 +1,34 @@
1
+ /**
2
+ * content for invoices
3
+ */
4
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
5
+ import * as plugins from '../plugins.js';
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'dedocument-contentinvoice': DeContentInvoice;
9
+ }
10
+ }
11
+ export declare class DeContentInvoice extends DeesElement {
12
+ static demo: () => TemplateResult<1>;
13
+ letterData: plugins.tsclass.business.ILetter;
14
+ constructor();
15
+ static styles: import("@design.estate/dees-element").CSSResult[];
16
+ render(): TemplateResult;
17
+ getTotalNet: () => number;
18
+ getTotalGross: () => number;
19
+ getVatGroups: () => {
20
+ vatPercentage: number;
21
+ items: plugins.tsclass.finance.IInvoice['items'];
22
+ vatAmountSum: number;
23
+ }[];
24
+ getContentNodes(): Promise<{
25
+ currentContent: HTMLElement;
26
+ trimmedContent: HTMLElement;
27
+ repeatedContent: HTMLElement;
28
+ }>;
29
+ getContentLength(): Promise<number>;
30
+ trimEndByOne(): Promise<void>;
31
+ trimStartToOffset(contentOffsetArg: number): Promise<void>;
32
+ firstUpdated(_changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
33
+ attachInvoiceDom(): Promise<void>;
34
+ }
@@ -0,0 +1,335 @@
1
+ /**
2
+ * content for invoices
3
+ */
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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
+ import { DeesElement, property, html, customElement, css, cssManager, unsafeCSS, render, } from '@design.estate/dees-element';
14
+ import * as domtools from '@design.estate/dees-domtools';
15
+ import * as plugins from '../plugins.js';
16
+ import * as shared from './shared/index.js';
17
+ export let DeContentInvoice = class DeContentInvoice extends DeesElement {
18
+ static { this.demo = () => html `
19
+ <style>
20
+ .demoContainer {
21
+ background: white;
22
+ padding: 50px;
23
+ }
24
+ </style>
25
+ <div class="demoContainer">
26
+ <dedocument-contentinvoice></dedocument-contentinvoice>
27
+ </div>
28
+ `; }
29
+ constructor() {
30
+ super();
31
+ this.getTotalNet = () => {
32
+ let totalNet = 0;
33
+ if (!this.letterData) {
34
+ return totalNet;
35
+ }
36
+ for (const item of this.letterData.content.invoiceData.items) {
37
+ totalNet += item.unitNetPrice * item.unitQuantity;
38
+ }
39
+ return totalNet;
40
+ };
41
+ this.getTotalGross = () => {
42
+ let totalVat = 0;
43
+ if (!this.letterData) {
44
+ return totalVat;
45
+ }
46
+ for (const taxgroup of this.getVatGroups()) {
47
+ totalVat += taxgroup.vatAmountSum;
48
+ }
49
+ return this.getTotalNet() + totalVat;
50
+ };
51
+ this.getVatGroups = () => {
52
+ const vatGroups = [];
53
+ if (!this.letterData) {
54
+ return vatGroups;
55
+ }
56
+ const taxAmounts = [];
57
+ for (const item of this.letterData.content.invoiceData.items) {
58
+ taxAmounts.includes(item.vatPercentage) ? null : taxAmounts.push(item.vatPercentage);
59
+ }
60
+ for (const taxAmount of taxAmounts) {
61
+ const matchingItems = this.letterData.content.invoiceData.items.filter((itemArg) => itemArg.vatPercentage === taxAmount);
62
+ let sum = 0;
63
+ for (const matchingItem of matchingItems) {
64
+ sum += matchingItem.unitNetPrice * matchingItem.unitQuantity * (taxAmount / 100);
65
+ }
66
+ vatGroups.push({
67
+ items: matchingItems,
68
+ vatPercentage: taxAmount,
69
+ vatAmountSum: Math.round(sum * 100) / 100,
70
+ });
71
+ }
72
+ return vatGroups;
73
+ };
74
+ domtools.DomTools.setupDomTools();
75
+ }
76
+ static { this.styles = [
77
+ domtools.elementBasic.staticStyles,
78
+ css `
79
+ :host {
80
+ color: #333;
81
+ }
82
+
83
+ .trimmedContent {
84
+ display: none;
85
+ }
86
+
87
+ .repeatedContent {
88
+ }
89
+ `,
90
+ ]; }
91
+ render() {
92
+ return html `
93
+ <div class="trimmedContent"></div>
94
+ <div class="repeatedContent"></div>
95
+ <div class="currentContent"></div>
96
+ `;
97
+ }
98
+ async getContentNodes() {
99
+ await this.elementDomReady;
100
+ return {
101
+ currentContent: this.shadowRoot.querySelector('.currentContent'),
102
+ trimmedContent: this.shadowRoot.querySelector('.trimmedContent'),
103
+ repeatedContent: this.shadowRoot.querySelector('.repeatedContent'),
104
+ };
105
+ }
106
+ async getContentLength() {
107
+ await this.elementDomReady;
108
+ return (await this.getContentNodes()).currentContent.children.length;
109
+ }
110
+ async trimEndByOne() {
111
+ await this.elementDomReady;
112
+ this.shadowRoot
113
+ .querySelector('.trimmedContent')
114
+ .append((await this.getContentNodes()).currentContent.children.item((await this.getContentNodes()).currentContent.children.length - 1));
115
+ }
116
+ async trimStartToOffset(contentOffsetArg) {
117
+ await this.elementDomReady;
118
+ const beginningLength = (await this.getContentNodes()).currentContent.children.length;
119
+ while ((await this.getContentNodes()).currentContent.children.length !==
120
+ beginningLength - contentOffsetArg) {
121
+ (await this.getContentNodes()).trimmedContent.append((await this.getContentNodes()).currentContent.children.item(0));
122
+ console.log('hey' + this.shadowRoot.children.length);
123
+ }
124
+ if ((await this.getContentNodes()).currentContent.children
125
+ .item(0)
126
+ .classList.contains('needsDataHeader')) {
127
+ const trimmedContent = (await this.getContentNodes()).trimmedContent;
128
+ let startPoint = trimmedContent.children.length;
129
+ while (startPoint > 0) {
130
+ const element = trimmedContent.children.item(startPoint - 1);
131
+ if (element.classList.contains('dataHeader')) {
132
+ (await this.getContentNodes()).repeatedContent.append(element);
133
+ break;
134
+ }
135
+ startPoint--;
136
+ }
137
+ }
138
+ }
139
+ async firstUpdated(_changedProperties) {
140
+ super.firstUpdated(_changedProperties);
141
+ this.attachInvoiceDom();
142
+ }
143
+ async attachInvoiceDom() {
144
+ const contentNodes = await this.getContentNodes();
145
+ render(html `
146
+ <style>
147
+ .grid {
148
+ display: grid;
149
+ grid-template-columns: 40px auto 80px 80px 90px 90px;
150
+ }
151
+ .topLine {
152
+ margin-top: 5px;
153
+ background: #e7e7e7;
154
+ font-weight: bold;
155
+ }
156
+ .lineItem {
157
+ font-size: 12px;
158
+ padding: 5px;
159
+ }
160
+
161
+ .invoiceLine {
162
+ border-bottom: 1px dotted #ccc;
163
+ }
164
+
165
+ .sums {
166
+ margin-top: 5px;
167
+ font-size: 12px;
168
+ padding-left: 50%;
169
+ }
170
+
171
+ .sums .sumline {
172
+ margin-top: 3px;
173
+ display: grid;
174
+ grid-template-columns: auto 90px;
175
+ }
176
+
177
+ .sums .sumline .label {
178
+ padding: 2px 5px;
179
+ border-right: 1px solid #ccc;
180
+ text-align: right;
181
+ font-weight: bold;
182
+ }
183
+
184
+ .sums .sumline .value {
185
+ padding: 2px 5px;
186
+ font-weight: bold;
187
+ }
188
+
189
+ .divider {
190
+ margin-top: 8px;
191
+ border-top: 1px dotted #ccc;
192
+ }
193
+
194
+ .taxNote {
195
+ font-size: 12px;
196
+ padding: 4px;
197
+ background: #eeeeeb;
198
+ text-align: center;
199
+ }
200
+
201
+ .infoBox {
202
+ border-radius: 7px;
203
+ border: 1px solid #ddd;
204
+ border-left: 3px solid #c5e1a5;
205
+ padding: 8px;
206
+ margin-top: 16px;
207
+ line-height: 1.4em;
208
+ font-size: 16px;
209
+ }
210
+
211
+ .infoBox .label {
212
+ padding-bottom: 2px;
213
+ font-size: 12px;
214
+ font-weight: bold;
215
+ }
216
+
217
+ .paymentCode {
218
+ text-align: center;
219
+ border-left: 2px solid #666;
220
+ }
221
+ </style>
222
+ <div>We hereby invoice products and services provided to you by Lossless GmbH:</div>
223
+ <div class="grid topLine dataHeader">
224
+ <div class="lineItem">Item Pos.</div>
225
+ <div class="lineItem">Description</div>
226
+ <div class="lineItem">Quantity</div>
227
+ <div class="lineItem">Unit Type</div>
228
+ <div class="lineItem">Unit Net Price</div>
229
+ <div class="lineItem">Total Net Price</div>
230
+ </div>
231
+ ${(() => {
232
+ let counter = 1;
233
+ return this.letterData?.content.invoiceData?.items?.map((invoiceItem) => html `
234
+ <div class="grid invoiceLine needsDataHeader">
235
+ <div class="lineItem">${counter++}</div>
236
+ <div class="lineItem">${invoiceItem.name}</div>
237
+ <div class="lineItem">${invoiceItem.unitQuantity}</div>
238
+ <div class="lineItem">${invoiceItem.unitType}</div>
239
+ <div class="lineItem">${invoiceItem.unitNetPrice} ${invoiceItem.currency}</div>
240
+ <div class="lineItem">
241
+ ${invoiceItem.unitQuantity * invoiceItem.unitNetPrice} ${invoiceItem.currency}
242
+ </div>
243
+ </div>
244
+ `);
245
+ })()}
246
+ <div class="sums">
247
+ <div class="sumline">
248
+ <div class="label">Total net</div>
249
+ <div class="value">${this.getTotalNet()} EUR</div>
250
+ </div>
251
+ ${this.getVatGroups().map((vatGroupArg) => {
252
+ let itemNumbers = '';
253
+ for (const item of vatGroupArg.items) {
254
+ const itemIndex = this.letterData.content.invoiceData.items.indexOf(item);
255
+ itemNumbers += ` ${itemIndex + 1},`;
256
+ }
257
+ return html `
258
+ <div class="sumline">
259
+ <div class="label">
260
+ Vat ${vatGroupArg.vatPercentage}%<br />
261
+ <span style="font-weight: normal">(on item positions: ${itemNumbers})</span>
262
+ </div>
263
+ <div class="value">${vatGroupArg.vatAmountSum} EUR</div>
264
+ </div>
265
+ `;
266
+ })}
267
+ <div class="sumline">
268
+ <div class="label">Total gross</div>
269
+ <div class="value">${this.getTotalGross()} EUR</div>
270
+ </div>
271
+ </div>
272
+ <div class="divider"></div>
273
+ ${this.letterData?.content.invoiceData.reverseCharge
274
+ ? html `
275
+ <div class="taxNote">
276
+ VAT arises on a reverse charge basis and is payable by the customer.
277
+ </div>
278
+ `
279
+ : ``}
280
+ <div class="infoBox">
281
+ <div class="label">Payment Terms:</div>
282
+ Payment is due within 30 days starting from the reception of this invoice. Please use the
283
+ following SEPA details:
284
+ <br /><br />
285
+ Beneficiary: ${this.letterData?.from.name}<br />
286
+ IBAN: ${this.letterData?.from?.sepaConnection?.iban}<br />
287
+ BIC: ${this.letterData?.from?.sepaConnection?.bic}<br />
288
+ Description: ${this.letterData?.content.invoiceData?.id}<br />
289
+ Amount: ${this.getTotalGross()} ${this.letterData?.content.invoiceData.items[0].currency}
290
+ </div>
291
+ ${this.letterData?.content?.contractData?.contractDate
292
+ ? html `
293
+ <div class="infoBox">
294
+ <div class="label">Referenced contract:</div>
295
+ This invoice is adhering to agreements made by contract between the parties on
296
+ ${plugins.smarttime.ExtendedDate.fromMillis(this.letterData?.content.contractData.contractDate).format('MMMM D, YYYY')}.
297
+ </div>
298
+ `
299
+ : html ``}
300
+ <div class="infoBox paymentCode">
301
+ <div class="label">Sepa Payment Code:</div>
302
+ </div>
303
+ `, contentNodes.currentContent);
304
+ const canvas = document.createElement('canvas');
305
+ plugins.qrcode.toCanvas(canvas, `BCD
306
+ 001
307
+ 1
308
+ SCT
309
+ ${this.letterData.content.invoiceData.billedBy.sepaConnection.bic}
310
+ ${this.letterData.content.invoiceData.billedBy.name}
311
+ ${this.letterData.content.invoiceData.billedBy.sepaConnection.iban}
312
+ EUR${this.getTotalGross()}
313
+ CHAR
314
+ ${this.letterData.content.invoiceData.id}
315
+ ${this.letterData.content.invoiceData.id}
316
+ EPC QR Code`, (error) => {
317
+ if (error)
318
+ console.error(error);
319
+ console.log('success!');
320
+ });
321
+ contentNodes.currentContent.querySelector('.paymentCode').append(canvas);
322
+ }
323
+ };
324
+ __decorate([
325
+ property({
326
+ type: Object,
327
+ reflect: true,
328
+ }),
329
+ __metadata("design:type", Object)
330
+ ], DeContentInvoice.prototype, "letterData", void 0);
331
+ DeContentInvoice = __decorate([
332
+ customElement('dedocument-contentinvoice'),
333
+ __metadata("design:paramtypes", [])
334
+ ], DeContentInvoice);
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGludm9pY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvY29udGVudGludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7Ozs7Ozs7Ozs7QUFFSCxPQUFPLEVBQ0wsV0FBVyxFQUNYLFFBQVEsRUFDUixJQUFJLEVBQ0osYUFBYSxFQUViLEdBQUcsRUFDSCxVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQVVyQyxXQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLFdBQVc7YUFDakMsU0FBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7Ozs7Ozs7OztHQVU5QixBQVZpQixDQVVoQjtJQVFGO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE0QkgsZ0JBQVcsR0FBRyxHQUFXLEVBQUU7WUFDaEMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBRWpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLFFBQVEsQ0FBQzthQUNqQjtZQUVELEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtnQkFDNUQsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNuRDtZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQztRQUVLLGtCQUFhLEdBQUcsR0FBVyxFQUFFO1lBQ2xDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztZQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUs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
@@ -0,0 +1,20 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import * as plugins from '../plugins.js';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'dedocument-dedocument': DeDocument;
6
+ }
7
+ }
8
+ export declare class DeDocument extends DeesElement {
9
+ static demo: () => TemplateResult<1>;
10
+ format: 'a4';
11
+ viewWidth: number;
12
+ printMode: boolean;
13
+ letterData: plugins.tsclass.business.ILetter;
14
+ letterDataUrl: string;
15
+ constructor();
16
+ static styles: import("@design.estate/dees-element").CSSResult[];
17
+ render(): TemplateResult;
18
+ firstUpdated(_changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
19
+ renderDocument(): Promise<void>;
20
+ }