@dangl/angular-ava 1.0.1-beta0011 → 1.0.1-beta0021

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import * as i3 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
2
+ import { CommonModule, CurrencyPipe, DatePipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, inject, Directive, Input, Pipe, Component, EventEmitter, Self, Output, ViewChild, NgModule } from '@angular/core';
4
+ import { Injectable, inject, Directive, Input, Pipe, Component, EventEmitter, Self, Output, ViewChild, NgModule, input, ChangeDetectionStrategy } from '@angular/core';
5
5
  import * as i5 from '@angular/forms';
6
6
  import { ReactiveFormsModule, FormsModule } from '@angular/forms';
7
7
  import * as i11 from '@angular/material/button';
@@ -251,6 +251,83 @@ const DEFAULT_FILTERS = [
251
251
  }
252
252
  ];
253
253
 
254
+ const DEFAULT_TEXT_WORD_INVOICE = {
255
+ invoiceTitle: 'Invoice',
256
+ vatId: 'VAT ID',
257
+ detailsInvoiceNumber: 'Invoice Number',
258
+ detailsInvoiceDate: 'Invoice Date',
259
+ detailsPaymentDueDate: 'Due Date',
260
+ detailsCurrencyCode: 'Currency',
261
+ detailsPaymentTerms: 'Payment Terms',
262
+ referencesTopic: 'References',
263
+ referencesBuyerReference: 'Buyer Reference',
264
+ referencesProjectReference: 'Project Reference',
265
+ referencesContractReference: 'Contract Reference',
266
+ referencesPurchaseOrderReference: 'Purchase Order Reference',
267
+ referencesSalesOrderReference: 'Sales Order Reference',
268
+ referencesReceivingAdviceReference: 'Receiving Advice Reference',
269
+ referencesDispatchAdviceReference: 'Dispatch Advice Reference',
270
+ referencesTenderOrLotReference: 'Tender or Lot Reference',
271
+ referencesInvoicedObjectIdentifier: 'Invoiced Object Identifier',
272
+ tableHeadDescription: 'Description',
273
+ tableHeadQuantity: 'Quantity',
274
+ tableHeadUnit: 'Unit',
275
+ tableHeadNetPrice: 'Net Price',
276
+ tableHeadNetAmount: 'Net Amount',
277
+ totalsTopic: 'Totals',
278
+ totalsTotalNet: 'Total Net',
279
+ totalsTotalAllowances: 'Total Allowances',
280
+ totalsTotalCharges: 'Total Charges',
281
+ totalsTotalAfterDeductions: 'Total After Deductions',
282
+ totalsTotalVatAmount: 'Total VAT Amount',
283
+ totalsTotalGross: 'Total Gross',
284
+ totalsAlreadyPaidTotal: 'Already Paid Total',
285
+ totalsTotalToBePaid: 'Total to be Paid',
286
+ instructionsTopic: 'Payment Instructions',
287
+ instructionsAccountIdentifier: 'Account Identifier',
288
+ instructionsAccountName: 'Account Name',
289
+ instructionsServiceProviderIdentifier: 'Service Provider Identifier',
290
+ notesTopic: 'Notes'
291
+ };
292
+ const germanTextsInvoice = {
293
+ invoiceTitle: 'InvoiceDE',
294
+ vatId: 'VAT_ID DE',
295
+ detailsInvoiceNumber: 'Invoice Number DE',
296
+ detailsInvoiceDate: 'Invoice Date DE',
297
+ detailsPaymentDueDate: 'Due Date DE',
298
+ detailsCurrencyCode: 'Currency DE',
299
+ detailsPaymentTerms: 'Payment Terms DE',
300
+ referencesTopic: 'References DE',
301
+ referencesBuyerReference: 'Buyer Reference DE',
302
+ referencesProjectReference: 'Project Reference DE',
303
+ referencesContractReference: 'Contract Reference DE',
304
+ referencesPurchaseOrderReference: 'Purchase Order Reference DE',
305
+ referencesSalesOrderReference: 'Sales Order Reference DE',
306
+ referencesReceivingAdviceReference: 'Receiving Advice Reference DE',
307
+ referencesDispatchAdviceReference: 'Dispatch Advice Reference DE',
308
+ referencesTenderOrLotReference: 'Tender or Lot Reference DE',
309
+ referencesInvoicedObjectIdentifier: 'Invoiced Object Identifier DE',
310
+ tableHeadDescription: 'Description DE',
311
+ tableHeadQuantity: 'Quantity DE',
312
+ tableHeadUnit: 'Unit DE',
313
+ tableHeadNetPrice: 'Net Price DE',
314
+ tableHeadNetAmount: 'Net Amount DE',
315
+ totalsTopic: 'Totals DE',
316
+ totalsTotalNet: 'Total Net DE',
317
+ totalsTotalAllowances: 'Total Allowances DE',
318
+ totalsTotalCharges: 'Total Charges DE',
319
+ totalsTotalAfterDeductions: 'Total After Deductions DE',
320
+ totalsTotalVatAmount: 'Total VAT Amount DE',
321
+ totalsTotalGross: 'Total Gross DE',
322
+ totalsAlreadyPaidTotal: 'Already Paid Total DE',
323
+ totalsTotalToBePaid: 'Total to be Paid DE',
324
+ instructionsTopic: 'Payment Instructions DE',
325
+ instructionsAccountIdentifier: 'Account Identifier DE',
326
+ instructionsAccountName: 'Account Name DE',
327
+ instructionsServiceProviderIdentifier: 'Service Provider Identifier DE',
328
+ notesTopic: 'Notes DE'
329
+ };
330
+
254
331
  const DEFAULT_TEXT_WORDS = {
255
332
  textSearch: 'Suche',
256
333
  textNothing: 'Nichts',
@@ -1569,14 +1646,78 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
1569
1646
 
1570
1647
  // This file is automatically generated as part of the build process
1571
1648
  const version = {
1572
- version: "1.0.1-beta0011",
1573
- commitInfo: "Branch.develop.Sha.f3134912ea1cf46262435544bc253af6173bfdcf",
1574
- commitDate: "2024-05-10",
1575
- commitHash: "f3134912ea1cf46262435544bc253af6173bfdcf",
1576
- informationalVersion: "1.0.1-beta.11+Branch.develop.Sha.f3134912ea1cf46262435544bc253af6173bfdcf",
1577
- buildDateUtc: new Date(Date.UTC(2024, 4, 10, 8, 26, 8))
1649
+ version: "1.0.1-beta0021",
1650
+ commitInfo: "Branch.develop.Sha.bd4417c698c3e2911307cc58c7cffd3ed9bde764",
1651
+ commitDate: "2024-07-08",
1652
+ commitHash: "bd4417c698c3e2911307cc58c7cffd3ed9bde764",
1653
+ informationalVersion: "1.0.1-beta.21+Branch.develop.Sha.bd4417c698c3e2911307cc58c7cffd3ed9bde764",
1654
+ buildDateUtc: new Date(Date.UTC(2024, 6, 8, 13, 27, 38))
1578
1655
  };
1579
1656
 
1657
+ class InvoiceDisplayComponent {
1658
+ /**
1659
+ * You can supply a map of strings to be used for the text in the tree. This allows you to translate
1660
+ * the text in the tree to other languages.
1661
+ * {
1662
+ * invoiceTitle?: string;
1663
+ * vatId?: string;
1664
+ * detailsInvoiceNumber?: string;
1665
+ * detailsInvoiceDate?: string;
1666
+ * detailsPaymentDueDate?: string;
1667
+ * detailsCurrencyCode?: string;
1668
+ * detailsPaymentTerms?: string;
1669
+ * referencesTopic?: string;
1670
+ * referencesBuyerReference?: string;
1671
+ * referencesProjectReference?: string;
1672
+ * referencesContractReference?: string;
1673
+ * referencesPurchaseOrderReference?: string;
1674
+ * referencesSalesOrderReference?: string;
1675
+ * referencesReceivingAdviceReference?: string;
1676
+ * referencesDispatchAdviceReference?: string;
1677
+ * referencesTenderOrLotReference?: string;
1678
+ * referencesInvoicedObjectIdentifier?: string;
1679
+ * tableHeadDescription?: string;
1680
+ * tableHeadQuantity?: string;
1681
+ * tableHeadUnit?: string;
1682
+ * tableHeadNetPrice?: string;
1683
+ * tableHeadNetAmount?: string;
1684
+ * totalsTopic?: string;
1685
+ * totalsTotalNet?: string;
1686
+ * totalsTotalAllowances?: string;
1687
+ * totalsTotalCharges?: string;
1688
+ * totalsTotalAfterDeductions?: string;
1689
+ * totalsTotalVatAmount?: string;
1690
+ * totalsTotalGross?: string;
1691
+ * totalsAlreadyPaidTotal?: string;
1692
+ * totalsTotalToBePaid?: string;
1693
+ * instructionsTopic?: string;
1694
+ * instructionsAccountIdentifier?: string;
1695
+ * instructionsAccountName?: string;
1696
+ * instructionsServiceProviderIdentifier?: string;
1697
+ * notesTopic?: string;
1698
+ * }
1699
+ */
1700
+ set textWords(words) {
1701
+ this._textWords = { ...this.textWords, ...words };
1702
+ } // allow to translate all texts to other language
1703
+ get textWords() {
1704
+ return this._textWords;
1705
+ }
1706
+ constructor() {
1707
+ this.invoice = input.required();
1708
+ this._textWords = null;
1709
+ this._textWords = { ...DEFAULT_TEXT_WORD_INVOICE };
1710
+ }
1711
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: InvoiceDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1712
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: InvoiceDisplayComponent, isStandalone: true, selector: "ava-invoice-display", inputs: { invoice: { classPropertyName: "invoice", publicName: "invoice", isSignal: true, isRequired: true, transformFunction: null }, textWords: { classPropertyName: "textWords", publicName: "textWords", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"invoice-container\">\n <!-- Seller and Buyer Information -->\n <h1 class=\"invoice-title\">{{ textWords?.invoiceTitle }}</h1>\n <header class=\"invoice-header\">\n <div class=\"seller-info\">\n <p>\n <strong>{{ invoice().seller?.name }}</strong>\n </p>\n <p>{{ invoice().seller?.address }}</p>\n <p>{{ invoice().seller?.city }}, {{ invoice().seller?.zipCode }}</p>\n <p>{{ invoice().seller?.countryCode }}</p>\n <p>\n <strong>{{ textWords?.vatId }}:</strong> {{ invoice().seller?.vatId }}\n </p>\n </div>\n <div class=\"invoice-details\">\n <p>\n <strong>{{ textWords?.detailsInvoiceNumber }}:</strong> {{ invoice().invoiceNumber }}\n </p>\n <p>\n <strong>{{ textWords?.detailsInvoiceDate }}:</strong> {{ invoice().invoiceDate | date: 'dd.MM.yyyy' }}\n </p>\n <p>\n <strong>{{ textWords?.detailsPaymentDueDate }}:</strong> {{ invoice().paymentDueDate | date: 'dd.MM.yyyy' }}\n </p>\n <p>\n <strong>{{ textWords?.detailsCurrencyCode }}:</strong> {{ invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.detailsPaymentTerms }}:</strong> {{ invoice().paymentTerms }}\n </p>\n </div>\n <div class=\"buyer-info\">\n <p>\n <strong>{{ invoice().buyer?.name }}</strong>\n </p>\n <p>{{ invoice().buyer?.address }}</p>\n <p>{{ invoice().buyer?.city }}, {{ invoice().buyer?.zipCode }}</p>\n <p>{{ invoice().buyer?.countryCode }}</p>\n <p>\n <strong>{{ textWords?.vatId }}:</strong> {{ invoice().buyer?.vatId }}\n </p>\n </div>\n </header>\n\n <section class=\"invoice-references\">\n <h2>{{ textWords?.referencesTopic }}</h2>\n <p>\n <strong>{{ textWords?.referencesBuyerReference }}:</strong> {{ invoice().references?.buyerReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesProjectReference }}:</strong> {{ invoice().references?.projectReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesContractReference }}:</strong> {{ invoice().references?.contractReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesPurchaseOrderReference }}:</strong> {{ invoice().references?.purchaseOrderReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesSalesOrderReference }}:</strong> {{ invoice().references?.salesOrderReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesReceivingAdviceReference }}:</strong> {{ invoice().references?.receivingAdviceReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesDispatchAdviceReference }}:</strong> {{ invoice().references?.dispatchAdviceReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesTenderOrLotReference }}:</strong> {{ invoice().references?.tenderOrLotReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesInvoicedObjectIdentifier }}:</strong> {{ invoice().references?.invoicedObjectIdentifier }}\n </p>\n </section>\n\n <table class=\"invoice-table\">\n <thead>\n <tr>\n <th>#</th>\n <th>{{ textWords?.tableHeadDescription }}</th>\n <th>{{ textWords?.tableHeadQuantity }}</th>\n <th>{{ textWords?.tableHeadUnit }}</th>\n <th>{{ textWords?.tableHeadNetPrice }}</th>\n <th>{{ textWords?.tableHeadNetAmount }}</th>\n </tr>\n </thead>\n <tbody>\n @for (item of invoice().lineItems; track item; let i = $index) {\n <tr>\n <td>{{ i + 1 }}</td>\n <td>{{ item.itemInformation?.description }}</td>\n <td>{{ item.quantity }}</td>\n <td>{{ item.unitCode }}</td>\n <td>{{ item.priceDetails?.netPrice | currency: invoice().currencyCode }}</td>\n <td>{{ item.netAmount | currency: invoice().currencyCode }}</td>\n </tr>\n }\n </tbody>\n </table>\n\n <div class=\"addition-info\">\n <section class=\"invoice-totals\">\n <h2>{{ textWords?.totalsTopic }}</h2>\n <p>\n <strong>{{ textWords?.totalsTotalNet }}:</strong> {{ invoice().totals?.totalNet | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalAllowances }}:</strong> {{ invoice().totals?.totalAllowances | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalCharges }}:</strong> {{ invoice().totals?.totalCharges | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalAfterDeductions }}:</strong>\n {{ invoice().totals?.totalAfterDeductions | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalVatAmount }}:</strong> {{ invoice().totals?.totalVatAmount | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalGross }}:</strong> {{ invoice().totals?.totalGross | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsAlreadyPaidTotal }}:</strong>\n {{ invoice().totals?.alreadyPaidTotal | currency: invoice().currencyCode }}\n </p>\n <p class=\"total\">\n <strong>{{ textWords?.totalsTotalToBePaid }}:</strong>\n <strong> {{ invoice().totals?.totalToBePaid | currency: invoice().currencyCode }}</strong>\n </p>\n </section>\n\n <section class=\"payment-instructions\">\n <h2>{{ textWords?.instructionsTopic }}</h2>\n <p>{{ invoice().paymentInstructions?.description }}</p>\n @for (means of invoice().paymentInstructions?.paymentMeans; track means) {\n <div>\n <p>\n <strong>{{ textWords?.instructionsAccountIdentifier }}:</strong> {{ means.accountIdentifier }}\n </p>\n <p>\n <strong>{{ textWords?.instructionsAccountName }}:</strong> {{ means.accountName }}\n </p>\n <p>\n <strong>{{ textWords?.instructionsServiceProviderIdentifier }}:</strong> {{ means.serviceProviderIdentifier }}\n </p>\n </div>\n }\n </section>\n </div>\n\n <section class=\"invoice-notes\">\n <h2>{{ textWords?.notesTopic }}</h2>\n @for (note of invoice().invoiceNotes; track note) {\n <div>\n <p>\n <strong>{{ note.shortText }}</strong>\n </p>\n <p>{{ note.longText }}</p>\n </div>\n }\n </section>\n</div>\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.invoice-container{width:100%;max-width:800px;margin:auto;font-family:Arial,sans-serif;line-height:1.5}.invoice-header{display:flex;justify-content:space-between;margin-bottom:20px}.seller-info,.buyer-info,.invoice-details{width:30%}.invoice-title{font-size:48px;margin:20px 0}.invoice-references,.invoice-totals,.payment-instructions,.invoice-notes{margin:20px 0}.invoice-table{width:100%;border-collapse:collapse;margin:20px 0}.invoice-table th,.invoice-table td{border:1px solid #000;padding:8px;text-align:left}.invoice-table th{background-color:#00acc1}.invoice-totals p,.payment-instructions p,.invoice-notes p{margin:5px 0}h2{font-size:18px;margin-bottom:10px}.addition-info{display:flex;justify-content:space-between}.total{background-color:#bdbdbd}\n"], dependencies: [{ kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1713
+ }
1714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: InvoiceDisplayComponent, decorators: [{
1715
+ type: Component,
1716
+ args: [{ selector: 'ava-invoice-display', standalone: true, imports: [CurrencyPipe, DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"invoice-container\">\n <!-- Seller and Buyer Information -->\n <h1 class=\"invoice-title\">{{ textWords?.invoiceTitle }}</h1>\n <header class=\"invoice-header\">\n <div class=\"seller-info\">\n <p>\n <strong>{{ invoice().seller?.name }}</strong>\n </p>\n <p>{{ invoice().seller?.address }}</p>\n <p>{{ invoice().seller?.city }}, {{ invoice().seller?.zipCode }}</p>\n <p>{{ invoice().seller?.countryCode }}</p>\n <p>\n <strong>{{ textWords?.vatId }}:</strong> {{ invoice().seller?.vatId }}\n </p>\n </div>\n <div class=\"invoice-details\">\n <p>\n <strong>{{ textWords?.detailsInvoiceNumber }}:</strong> {{ invoice().invoiceNumber }}\n </p>\n <p>\n <strong>{{ textWords?.detailsInvoiceDate }}:</strong> {{ invoice().invoiceDate | date: 'dd.MM.yyyy' }}\n </p>\n <p>\n <strong>{{ textWords?.detailsPaymentDueDate }}:</strong> {{ invoice().paymentDueDate | date: 'dd.MM.yyyy' }}\n </p>\n <p>\n <strong>{{ textWords?.detailsCurrencyCode }}:</strong> {{ invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.detailsPaymentTerms }}:</strong> {{ invoice().paymentTerms }}\n </p>\n </div>\n <div class=\"buyer-info\">\n <p>\n <strong>{{ invoice().buyer?.name }}</strong>\n </p>\n <p>{{ invoice().buyer?.address }}</p>\n <p>{{ invoice().buyer?.city }}, {{ invoice().buyer?.zipCode }}</p>\n <p>{{ invoice().buyer?.countryCode }}</p>\n <p>\n <strong>{{ textWords?.vatId }}:</strong> {{ invoice().buyer?.vatId }}\n </p>\n </div>\n </header>\n\n <section class=\"invoice-references\">\n <h2>{{ textWords?.referencesTopic }}</h2>\n <p>\n <strong>{{ textWords?.referencesBuyerReference }}:</strong> {{ invoice().references?.buyerReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesProjectReference }}:</strong> {{ invoice().references?.projectReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesContractReference }}:</strong> {{ invoice().references?.contractReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesPurchaseOrderReference }}:</strong> {{ invoice().references?.purchaseOrderReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesSalesOrderReference }}:</strong> {{ invoice().references?.salesOrderReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesReceivingAdviceReference }}:</strong> {{ invoice().references?.receivingAdviceReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesDispatchAdviceReference }}:</strong> {{ invoice().references?.dispatchAdviceReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesTenderOrLotReference }}:</strong> {{ invoice().references?.tenderOrLotReference }}\n </p>\n <p>\n <strong>{{ textWords?.referencesInvoicedObjectIdentifier }}:</strong> {{ invoice().references?.invoicedObjectIdentifier }}\n </p>\n </section>\n\n <table class=\"invoice-table\">\n <thead>\n <tr>\n <th>#</th>\n <th>{{ textWords?.tableHeadDescription }}</th>\n <th>{{ textWords?.tableHeadQuantity }}</th>\n <th>{{ textWords?.tableHeadUnit }}</th>\n <th>{{ textWords?.tableHeadNetPrice }}</th>\n <th>{{ textWords?.tableHeadNetAmount }}</th>\n </tr>\n </thead>\n <tbody>\n @for (item of invoice().lineItems; track item; let i = $index) {\n <tr>\n <td>{{ i + 1 }}</td>\n <td>{{ item.itemInformation?.description }}</td>\n <td>{{ item.quantity }}</td>\n <td>{{ item.unitCode }}</td>\n <td>{{ item.priceDetails?.netPrice | currency: invoice().currencyCode }}</td>\n <td>{{ item.netAmount | currency: invoice().currencyCode }}</td>\n </tr>\n }\n </tbody>\n </table>\n\n <div class=\"addition-info\">\n <section class=\"invoice-totals\">\n <h2>{{ textWords?.totalsTopic }}</h2>\n <p>\n <strong>{{ textWords?.totalsTotalNet }}:</strong> {{ invoice().totals?.totalNet | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalAllowances }}:</strong> {{ invoice().totals?.totalAllowances | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalCharges }}:</strong> {{ invoice().totals?.totalCharges | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalAfterDeductions }}:</strong>\n {{ invoice().totals?.totalAfterDeductions | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalVatAmount }}:</strong> {{ invoice().totals?.totalVatAmount | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsTotalGross }}:</strong> {{ invoice().totals?.totalGross | currency: invoice().currencyCode }}\n </p>\n <p>\n <strong>{{ textWords?.totalsAlreadyPaidTotal }}:</strong>\n {{ invoice().totals?.alreadyPaidTotal | currency: invoice().currencyCode }}\n </p>\n <p class=\"total\">\n <strong>{{ textWords?.totalsTotalToBePaid }}:</strong>\n <strong> {{ invoice().totals?.totalToBePaid | currency: invoice().currencyCode }}</strong>\n </p>\n </section>\n\n <section class=\"payment-instructions\">\n <h2>{{ textWords?.instructionsTopic }}</h2>\n <p>{{ invoice().paymentInstructions?.description }}</p>\n @for (means of invoice().paymentInstructions?.paymentMeans; track means) {\n <div>\n <p>\n <strong>{{ textWords?.instructionsAccountIdentifier }}:</strong> {{ means.accountIdentifier }}\n </p>\n <p>\n <strong>{{ textWords?.instructionsAccountName }}:</strong> {{ means.accountName }}\n </p>\n <p>\n <strong>{{ textWords?.instructionsServiceProviderIdentifier }}:</strong> {{ means.serviceProviderIdentifier }}\n </p>\n </div>\n }\n </section>\n </div>\n\n <section class=\"invoice-notes\">\n <h2>{{ textWords?.notesTopic }}</h2>\n @for (note of invoice().invoiceNotes; track note) {\n <div>\n <p>\n <strong>{{ note.shortText }}</strong>\n </p>\n <p>{{ note.longText }}</p>\n </div>\n }\n </section>\n</div>\n", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}.invoice-container{width:100%;max-width:800px;margin:auto;font-family:Arial,sans-serif;line-height:1.5}.invoice-header{display:flex;justify-content:space-between;margin-bottom:20px}.seller-info,.buyer-info,.invoice-details{width:30%}.invoice-title{font-size:48px;margin:20px 0}.invoice-references,.invoice-totals,.payment-instructions,.invoice-notes{margin:20px 0}.invoice-table{width:100%;border-collapse:collapse;margin:20px 0}.invoice-table th,.invoice-table td{border:1px solid #000;padding:8px;text-align:left}.invoice-table th{background-color:#00acc1}.invoice-totals p,.payment-instructions p,.invoice-notes p{margin:5px 0}h2{font-size:18px;margin-bottom:10px}.addition-info{display:flex;justify-content:space-between}.total{background-color:#bdbdbd}\n"] }]
1717
+ }], ctorParameters: () => [], propDecorators: { textWords: [{
1718
+ type: Input
1719
+ }] } });
1720
+
1580
1721
  /*
1581
1722
  * Public API Surface of angular-ava
1582
1723
  */
@@ -1585,5 +1726,5 @@ const version = {
1585
1726
  * Generated bundle index. Do not edit.
1586
1727
  */
1587
1728
 
1588
- export { AngularAvaModule, AvaTreeComponent, ExchangePhaseDto, ItemNumberSchemaTierTypeDto, ItemNumberTypeDto, ModeViewType, OriginDto, PriceRoundingModeDto, PriceTypeDto, version };
1729
+ export { AngularAvaModule, AvaTreeComponent, DEFAULT_FILTERS, DEFAULT_TEXT_WORDS, DEFAULT_TEXT_WORD_INVOICE, ExchangePhaseDto, InvoiceDisplayComponent, ItemNumberSchemaTierTypeDto, ItemNumberTypeDto, ModeViewType, OriginDto, PriceRoundingModeDto, PriceTypeDto, defaults, germanTextsInvoice, version };
1589
1730
  //# sourceMappingURL=dangl-angular-ava.mjs.map