@dangl/angular-ava 1.2.2 → 1.2.3-beta0006

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,6 +1,6 @@
1
1
  import { AsyncPipe, NgTemplateOutlet, NgClass, DecimalPipe, CurrencyPipe, DatePipe, PercentPipe } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, inject, Directive, Input, HostListener, Pipe, Component, ViewChild, ViewChildren, EventEmitter, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, Self, Output, DestroyRef, input } from '@angular/core';
3
+ import { Injectable, inject, Directive, Input, HostListener, Pipe, Component, ViewChild, ViewChildren, EventEmitter, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, Self, Output, DestroyRef } from '@angular/core';
4
4
  import * as i11 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import * as i7 from '@angular/material/button';
@@ -239,14 +239,37 @@ var ModeViewType;
239
239
 
240
240
  // This file is automatically generated as part of the build process
241
241
  const version = {
242
- version: "1.2.2",
243
- commitInfo: "Branch.main.Sha.d4ae6befb47289c2725648990b5c1945880fd102",
244
- commitDate: "2025-01-16",
245
- commitHash: "d4ae6befb47289c2725648990b5c1945880fd102",
246
- informationalVersion: "1.2.2+Branch.main.Sha.d4ae6befb47289c2725648990b5c1945880fd102",
247
- buildDateUtc: new Date(Date.UTC(2025, 0, 16, 15, 30, 4))
242
+ version: "1.2.3-beta0006",
243
+ commitInfo: "Branch.develop.Sha.aa0e1643b584ac84e587c054317693dbe2471efe",
244
+ commitDate: "2025-01-27",
245
+ commitHash: "aa0e1643b584ac84e587c054317693dbe2471efe",
246
+ informationalVersion: "1.2.3-beta.6+Branch.develop.Sha.aa0e1643b584ac84e587c054317693dbe2471efe",
247
+ buildDateUtc: new Date(Date.UTC(2025, 0, 27, 15, 5, 15))
248
248
  };
249
249
 
250
+ const DEFAULT_FILTERS = [
251
+ (element, filter) => {
252
+ if (element.elementType === 'PositionDto' ||
253
+ element.elementType === 'ServiceSpecificationGroupDto' ||
254
+ element.elementType === 'NoteTextDto') {
255
+ return element.shortText?.trim().toLocaleLowerCase().includes(filter);
256
+ }
257
+ return false;
258
+ },
259
+ (element, filter) => {
260
+ if (element.elementType === 'ExecutionDescriptionDto') {
261
+ return element.label?.trim().toLocaleLowerCase().includes(filter);
262
+ }
263
+ return false;
264
+ },
265
+ (element, filter) => {
266
+ if (element.elementType === 'PositionDto' || element.elementType === 'ServiceSpecificationGroupDto') {
267
+ return element.itemNumber?.stringRepresentation?.includes(filter);
268
+ }
269
+ return false;
270
+ }
271
+ ];
272
+
250
273
  const DEFAULT_TEXT_WORDS = {
251
274
  textSearch: 'Search',
252
275
  textNothing: 'Nothing',
@@ -276,6 +299,10 @@ const germanTextsAva = {
276
299
  defaultNamePosition: 'Position'
277
300
  };
278
301
 
302
+ const defaults = {
303
+ doubleClickTimeoutInMilliseconds: 300
304
+ };
305
+
279
306
  class ConfigurationTreeService {
280
307
  constructor() {
281
308
  this._textWords = { ...DEFAULT_TEXT_WORDS };
@@ -288,7 +315,7 @@ class ConfigurationTreeService {
288
315
  this._isSelectionMode = false;
289
316
  this._initiallySelectedElements = [];
290
317
  this._customKeyboardOperationConfig = null;
291
- this._listFilterFunc = [];
318
+ this._listFilterFunc = DEFAULT_FILTERS;
292
319
  this.treeConfigSource = new BehaviorSubject(this.getDefaultConfiguration());
293
320
  this.treeConfig$ = this.treeConfigSource.asObservable();
294
321
  }
@@ -332,7 +359,7 @@ class ConfigurationTreeService {
332
359
  return this.treeConfig$.pipe(map((config) => config?.customKeyboardOperationConfig || null), distinctUntilChanged((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)));
333
360
  }
334
361
  getListFilterFuncFromConfig() {
335
- return this.treeConfig$.pipe(map((config) => config?.listFilterFunc || []), distinctUntilChanged((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)));
362
+ return this.treeConfig$.pipe(map((config) => config?.listFilterFunc || this._listFilterFunc), distinctUntilChanged((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)));
336
363
  }
337
364
  getDefaultConfiguration() {
338
365
  return {
@@ -383,33 +410,6 @@ class ExpandParentGroupService {
383
410
  }
384
411
  }
385
412
 
386
- const DEFAULT_FILTERS = [
387
- (element, filter) => {
388
- if (element.elementType === 'PositionDto' ||
389
- element.elementType === 'ServiceSpecificationGroupDto' ||
390
- element.elementType === 'NoteTextDto') {
391
- return element.shortText?.trim().toLocaleLowerCase().includes(filter);
392
- }
393
- return false;
394
- },
395
- (element, filter) => {
396
- if (element.elementType === 'ExecutionDescriptionDto') {
397
- return element.label?.trim().toLocaleLowerCase().includes(filter);
398
- }
399
- return false;
400
- },
401
- (element, filter) => {
402
- if (element.elementType === 'PositionDto' || element.elementType === 'ServiceSpecificationGroupDto') {
403
- return element.itemNumber?.stringRepresentation?.includes(filter);
404
- }
405
- return false;
406
- }
407
- ];
408
-
409
- const defaults = {
410
- doubleClickTimeoutInMilliseconds: 300
411
- };
412
-
413
413
  class FlatElementsService {
414
414
  constructor() {
415
415
  this._flatElementsDto = [];
@@ -2234,9 +2234,6 @@ class InvoiceDisplayComponent {
2234
2234
  }
2235
2235
  constructor(configurationInvoiceService) {
2236
2236
  this.configurationInvoiceService = configurationInvoiceService;
2237
- // TODO remove type any after TODO under will be resolved
2238
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2239
- this.invoice = input.required();
2240
2237
  this.textWords$ = this.configurationInvoiceService.getTextWordsFromConfig();
2241
2238
  /**TODO: For setting invoice instead:
2242
2239
  * <ava-invoice-display id="invoice"></ava-invoice-display>
@@ -2246,21 +2243,19 @@ class InvoiceDisplayComponent {
2246
2243
  * window['InvoiceGlobalVariable'] = INVOICE;
2247
2244
  * Temporary solution until the problem of setting the value for InputSignal is solved. See this PR https://github.com/angular/angular/pull/55067
2248
2245
  */
2249
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2250
2246
  if (window['InvoiceGlobalVariable']) {
2251
- this.invoice = () => {
2252
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2253
- return window['InvoiceGlobalVariable'];
2254
- };
2247
+ this.invoice = window['InvoiceGlobalVariable'];
2255
2248
  }
2256
2249
  }
2257
2250
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: InvoiceDisplayComponent, deps: [{ token: ConfigurationInvoiceService }], target: i0.ɵɵFactoryTarget.Component }); }
2258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: InvoiceDisplayComponent, isStandalone: true, selector: "ava-invoice-display", inputs: { invoice: { classPropertyName: "invoice", publicName: "invoice", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null } }, providers: [ConfigurationInvoiceService], ngImport: i0, template: "@if (textWords$ | async; as textWords) {\n <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=\"buyer-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceBuyerTitle }}</h2>\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 @if (invoice().buyer?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice().buyer?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice().buyer?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice().buyer?.contactPersonName }}</span>\n </p>\n }\n @if (invoice().buyer?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice().buyer?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice().buyer?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice().buyer?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n <div class=\"invoice-details\">\n <h2 [class.header]=\"textWords.invoiceBuyerTitle.trim() || textWords.invoiceSellerTitle.trim()\"></h2>\n @if (invoice().invoiceNumber) {\n <p>\n <strong>{{ textWords.detailsInvoiceNumber }}: </strong>\n <span>{{ invoice().invoiceNumber }}</span>\n </p>\n }\n @if (invoice().invoiceDate) {\n <p>\n <strong>{{ textWords.detailsInvoiceDate }}: </strong>\n <span>{{ invoice().invoiceDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice().paymentDueDate) {\n <p>\n <strong>{{ textWords.detailsPaymentDueDate }}: </strong>\n <span>{{ invoice().paymentDueDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice().currencyCode) {\n <p>\n <strong>{{ textWords.detailsCurrencyCode }}: </strong>\n <span>{{ invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().paymentTerms) {\n <p>\n <strong>{{ textWords.detailsPaymentTerms }}: </strong>\n <span>{{ invoice().paymentTerms }}</span>\n </p>\n }\n </div>\n <div class=\"seller-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceSellerTitle }}</h2>\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 @if (invoice().seller?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice().seller?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice().seller?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice().seller?.contactPersonName }}</span>\n </p>\n }\n @if (invoice().seller?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice().seller?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice().seller?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice().seller?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n </header>\n <mat-divider></mat-divider>\n <div class=\"invoice-info\">\n <section class=\"invoice-references\">\n @if (textWords.referencesTopic) {\n <h2 class=\"info-title\">{{ textWords.referencesTopic }}</h2>\n }\n @if (invoice().references?.buyerReference) {\n <p>\n <strong>{{ textWords.referencesBuyerReference }}: </strong>\n <span>{{ invoice().references?.buyerReference }}</span>\n </p>\n }\n @if (invoice().references?.projectReference) {\n <p>\n <strong>{{ textWords.referencesProjectReference }}: </strong>\n <span>{{ invoice().references?.projectReference }}</span>\n </p>\n }\n @if (invoice().references?.contractReference) {\n <p>\n <strong>{{ textWords.referencesContractReference }}: </strong>\n <span>{{ invoice().references?.contractReference }}</span>\n </p>\n }\n @if (invoice().references?.purchaseOrderReference) {\n <p>\n <strong>{{ textWords.referencesPurchaseOrderReference }}: </strong>\n <span>{{ invoice().references?.purchaseOrderReference }}</span>\n </p>\n }\n @if (invoice().references?.salesOrderReference) {\n <p>\n <strong>{{ textWords.referencesSalesOrderReference }}: </strong>\n <span>{{ invoice().references?.salesOrderReference }}</span>\n </p>\n }\n @if (invoice().references?.receivingAdviceReference) {\n <p>\n <strong>{{ textWords.referencesReceivingAdviceReference }}: </strong>\n <span>{{ invoice().references?.receivingAdviceReference }}</span>\n </p>\n }\n @if (invoice().references?.dispatchAdviceReference) {\n <p>\n <strong>{{ textWords.referencesDispatchAdviceReference }}: </strong>\n <span> {{ invoice().references?.dispatchAdviceReference }}</span>\n </p>\n }\n @if (invoice().references?.tenderOrLotReference) {\n <p>\n <strong>{{ textWords.referencesTenderOrLotReference }}: </strong>\n <span>{{ invoice().references?.tenderOrLotReference }}</span>\n </p>\n }\n @if (invoice().references?.invoicedObjectIdentifier) {\n <p>\n <strong>{{ textWords.referencesInvoicedObjectIdentifier }}: </strong>\n <span>{{ invoice().references?.invoicedObjectIdentifier }}</span>\n </p>\n }\n </section>\n @if (invoice().deliveryInformation) {\n <section class=\"invoice-delivery\">\n <h2 class=\"info-title\">{{ textWords.deliveryInformationTitle }}</h2>\n\n @if (invoice().deliveryInformation?.deliverToName) {\n <p>\n <strong>{{ textWords.deliverToName }}: </strong>\n <span>{{ invoice().deliveryInformation?.deliverToName }}</span>\n </p>\n }\n @if (invoice().deliveryInformation?.deliverToLocationIdentifier) {\n <p>\n <strong>{{ textWords.deliverToLocationIdentifier }}: </strong>\n <span>{{ invoice().deliveryInformation?.deliverToLocationIdentifier }}</span>\n </p>\n }\n @if (invoice().deliveryInformation?.deliveryDate) {\n <p>\n <strong>{{ textWords.deliveryDate }}: </strong>\n <span>{{ invoice().deliveryInformation?.deliveryDate | date: 'shortDate' }}</span>\n </p>\n }\n @if (invoice().deliveryInformation?.deliveryAddress) {\n <p>\n <strong>{{ textWords.deliveryAddress }}: </strong>\n <span>\n @if (invoice().deliveryInformation?.deliveryAddress?.address) {\n <p>{{ invoice().deliveryInformation?.deliveryAddress?.address }}</p>\n }\n @if (invoice().deliveryInformation?.deliveryAddress?.city) {\n <span>{{ invoice().deliveryInformation?.deliveryAddress?.city }},</span>\n }\n @if (invoice().deliveryInformation?.deliveryAddress?.zipCode) {\n <span>{{ invoice().deliveryInformation?.deliveryAddress?.zipCode }}</span>\n }\n @if (invoice().deliveryInformation?.deliveryAddress?.countryCode) {\n <p>{{ invoice().deliveryInformation?.deliveryAddress?.countryCode }}</p>\n }\n </span>\n </p>\n }\n </section>\n }\n </div>\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 <th>{{ textWords.vat }}</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 class=\"currency-table-cell\">{{ item.priceDetails?.netPrice | currency: invoice().currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.netAmount | currency: invoice().currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.vatInformation[0]?.vatRate | percent: '1.0-2' }}</td>\n </tr>\n }\n </tbody>\n </table>\n\n <div class=\"addition-info\">\n <section class=\"invoice-totals\">\n <h2 class=\"info-title\">{{ textWords.totalsTopic }}</h2>\n\n @if (invoice().totals?.totalNet) {\n <p>\n <strong>{{ textWords.totalsTotalNet }}: </strong>\n <span>{{ invoice().totals?.totalNet | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalAllowances) {\n <p>\n <strong>{{ textWords.totalsTotalAllowances }}: </strong>\n <span> {{ invoice().totals?.totalAllowances | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalCharges) {\n <p>\n <strong>{{ textWords.totalsTotalCharges }}: </strong>\n <span> {{ invoice().totals?.totalCharges | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalAfterDeductions) {\n <p>\n <strong>{{ textWords.totalsTotalAfterDeductions }}: </strong>\n <span>{{ invoice().totals?.totalAfterDeductions | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalVatAmount) {\n <p>\n <strong>{{ textWords.totalsTotalVatAmount }}: </strong>\n <span>{{ invoice().totals?.totalVatAmount | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalGross) {\n <p>\n <strong>{{ textWords.totalsTotalGross }}: </strong>\n <span> {{ invoice().totals?.totalGross | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.alreadyPaidTotal) {\n <p>\n <strong>{{ textWords.totalsAlreadyPaidTotal }}: </strong>\n <span>{{ invoice().totals?.alreadyPaidTotal | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalToBePaid) {\n <p class=\"total\">\n <strong>{{ textWords.totalsTotalToBePaid }}: </strong>\n <strong> {{ invoice().totals?.totalToBePaid | currency: invoice().currencyCode }}</strong>\n </p>\n }\n </section>\n <section class=\"taxes\">\n <h2 class=\"info-title\">{{ textWords.taxesHeading }}</h2>\n <table class=\"tax-report-table\">\n <thead>\n <tr>\n <th>{{ textWords.vat }}</th>\n <th>{{ textWords.totalsTotalNet }}</th>\n <th>{{ textWords.totalsTotalVatAmount }}</th>\n </tr>\n </thead>\n <tbody>\n @for (tax of invoice().vatBreakdown; track tax.taxRate) {\n <tr>\n <td class=\"currency-table-cell\">\n @if (tax.taxRate) {\n <span>{{ tax.taxRate | percent: '1.0-2' }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.netTaxableAmount) {\n <span>{{ tax.netTaxableAmount | currency: invoice().currencyCode }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.vatAmount) {\n <span>{{ tax.vatAmount | currency: invoice().currencyCode }}</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </section>\n\n <section class=\"payment-instructions\">\n <h2 class=\"info-title\">{{ textWords.instructionsTopic }}</h2>\n @if (invoice().paymentInstructions?.description) {\n <p>{{ invoice().paymentInstructions?.description }}</p>\n }\n @for (means of invoice().paymentInstructions?.paymentMeans; track means) {\n <div>\n @if (means.accountIdentifier) {\n <p>\n <strong>{{ textWords.instructionsAccountIdentifier }}: </strong>\n <span>{{ means.accountIdentifier }}</span>\n </p>\n }\n @if (means.accountName) {\n <p>\n <strong>{{ textWords.instructionsAccountName }}: </strong>\n <span>{{ means.accountName }}</span>\n </p>\n }\n @if (means.serviceProviderIdentifier) {\n <p>\n <strong>{{ textWords.instructionsServiceProviderIdentifier }}: </strong>\n <span>{{ means.serviceProviderIdentifier }}</span>\n </p>\n }\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 @if (note?.shortText) {\n <p>\n <strong>{{ note?.shortText }}</strong>\n </p>\n }\n @if (note?.longText) {\n <p>{{ note?.longText }}</p>\n }\n </div>\n }\n </section>\n @if (invoice().documents?.length) {\n <section class=\"invoice-attachments\">\n <ava-invoice-documents [documents]=\"invoice().documents\"></ava-invoice-documents>\n </section>\n }\n </div>\n}\n", styles: [".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}.invoice-header .header{height:32px}.invoice-header .header-title{background:var(--color-primary);color:#fff;text-align:center}.seller-info,.buyer-info,.invoice-details{width:30%}.seller-info,.invoice-delivery,.payment-instructions{text-align:right}.currency-table-cell{text-align:right!important}.invoice-title{font-size:48px;margin:20px 0}.invoice-references,.invoice-totals,.payment-instructions,.invoice-notes,.taxes,.invoice-delivery{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:var(--color-primary)}.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;gap:10px}.total{background-color:var(--color-primary);color:#fff;padding:5px;border-radius:5px}th{color:#fff;text-wrap:nowrap}.invoice-attachments{padding-bottom:15px}.invoice-info{display:flex;justify-content:space-between;margin-bottom:20px}.info-title{border-bottom:2px solid var(--color-primary);text-align:center}.tax-report-table{width:100%;border-collapse:collapse;margin-top:10px}.tax-report-table th,.tax-report-table td{padding:12px;text-align:center;border:1px solid #ddd}.tax-report-table th{background-color:var(--color-primary);color:#fff;font-weight:700;border:1px solid #000}.tax-report-table td{font-size:14px;color:#333;border:1px solid #000}\n"], dependencies: [{ kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: InvoiceDocumentsComponent, selector: "ava-invoice-documents", inputs: ["documents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2251
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: InvoiceDisplayComponent, isStandalone: true, selector: "ava-invoice-display", inputs: { invoice: "invoice", config: "config" }, providers: [ConfigurationInvoiceService], ngImport: i0, template: "@if (textWords$ | async; as textWords) {\n <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=\"buyer-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceBuyerTitle }}</h2>\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 @if (invoice.buyer?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice.buyer?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice.buyer?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice.buyer?.contactPersonName }}</span>\n </p>\n }\n @if (invoice.buyer?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice.buyer?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice.buyer?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice.buyer?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n <div class=\"invoice-details\">\n <h2 [class.header]=\"textWords.invoiceBuyerTitle.trim() || textWords.invoiceSellerTitle.trim()\"></h2>\n @if (invoice.invoiceNumber) {\n <p>\n <strong>{{ textWords.detailsInvoiceNumber }}: </strong>\n <span>{{ invoice.invoiceNumber }}</span>\n </p>\n }\n @if (invoice.invoiceDate) {\n <p>\n <strong>{{ textWords.detailsInvoiceDate }}: </strong>\n <span>{{ invoice.invoiceDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice.paymentDueDate) {\n <p>\n <strong>{{ textWords.detailsPaymentDueDate }}: </strong>\n <span>{{ invoice.paymentDueDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice.currencyCode) {\n <p>\n <strong>{{ textWords.detailsCurrencyCode }}: </strong>\n <span>{{ invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.paymentTerms) {\n <p>\n <strong>{{ textWords.detailsPaymentTerms }}: </strong>\n <span>{{ invoice.paymentTerms }}</span>\n </p>\n }\n </div>\n <div class=\"seller-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceSellerTitle }}</h2>\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 @if (invoice.seller?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice.seller?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice.seller?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice.seller?.contactPersonName }}</span>\n </p>\n }\n @if (invoice.seller?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice.seller?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice.seller?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice.seller?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n </header>\n <mat-divider></mat-divider>\n <div class=\"invoice-info\">\n <section class=\"invoice-references\">\n @if (textWords.referencesTopic) {\n <h2 class=\"info-title\">{{ textWords.referencesTopic }}</h2>\n }\n @if (invoice.references?.buyerReference) {\n <p>\n <strong>{{ textWords.referencesBuyerReference }}: </strong>\n <span>{{ invoice.references?.buyerReference }}</span>\n </p>\n }\n @if (invoice.references?.projectReference) {\n <p>\n <strong>{{ textWords.referencesProjectReference }}: </strong>\n <span>{{ invoice.references?.projectReference }}</span>\n </p>\n }\n @if (invoice.references?.contractReference) {\n <p>\n <strong>{{ textWords.referencesContractReference }}: </strong>\n <span>{{ invoice.references?.contractReference }}</span>\n </p>\n }\n @if (invoice.references?.purchaseOrderReference) {\n <p>\n <strong>{{ textWords.referencesPurchaseOrderReference }}: </strong>\n <span>{{ invoice.references?.purchaseOrderReference }}</span>\n </p>\n }\n @if (invoice.references?.salesOrderReference) {\n <p>\n <strong>{{ textWords.referencesSalesOrderReference }}: </strong>\n <span>{{ invoice.references?.salesOrderReference }}</span>\n </p>\n }\n @if (invoice.references?.receivingAdviceReference) {\n <p>\n <strong>{{ textWords.referencesReceivingAdviceReference }}: </strong>\n <span>{{ invoice.references?.receivingAdviceReference }}</span>\n </p>\n }\n @if (invoice.references?.dispatchAdviceReference) {\n <p>\n <strong>{{ textWords.referencesDispatchAdviceReference }}: </strong>\n <span> {{ invoice.references?.dispatchAdviceReference }}</span>\n </p>\n }\n @if (invoice.references?.tenderOrLotReference) {\n <p>\n <strong>{{ textWords.referencesTenderOrLotReference }}: </strong>\n <span>{{ invoice.references?.tenderOrLotReference }}</span>\n </p>\n }\n @if (invoice.references?.invoicedObjectIdentifier) {\n <p>\n <strong>{{ textWords.referencesInvoicedObjectIdentifier }}: </strong>\n <span>{{ invoice.references?.invoicedObjectIdentifier }}</span>\n </p>\n }\n </section>\n @if (invoice.deliveryInformation) {\n <section class=\"invoice-delivery\">\n <h2 class=\"info-title\">{{ textWords.deliveryInformationTitle }}</h2>\n\n @if (invoice.deliveryInformation.deliverToName) {\n <p>\n <strong>{{ textWords.deliverToName }}: </strong>\n <span>{{ invoice.deliveryInformation.deliverToName }}</span>\n </p>\n }\n @if (invoice.deliveryInformation.deliverToLocationIdentifier) {\n <p>\n <strong>{{ textWords.deliverToLocationIdentifier }}: </strong>\n <span>{{ invoice.deliveryInformation.deliverToLocationIdentifier }}</span>\n </p>\n }\n @if (invoice.deliveryInformation.deliveryDate) {\n <p>\n <strong>{{ textWords.deliveryDate }}: </strong>\n <span>{{ invoice.deliveryInformation.deliveryDate | date: 'shortDate' }}</span>\n </p>\n }\n @if (invoice.deliveryInformation.deliveryAddress) {\n <p>\n <strong>{{ textWords.deliveryAddress }}: </strong>\n <span>\n @if (invoice.deliveryInformation.deliveryAddress.address) {\n <p>{{ invoice.deliveryInformation.deliveryAddress.address }}</p>\n }\n @if (invoice.deliveryInformation.deliveryAddress.city) {\n <span>{{ invoice.deliveryInformation.deliveryAddress.city }},</span>\n }\n @if (invoice.deliveryInformation.deliveryAddress.zipCode) {\n <span>{{ invoice.deliveryInformation.deliveryAddress.zipCode }}</span>\n }\n @if (invoice.deliveryInformation.deliveryAddress.countryCode) {\n <p>{{ invoice.deliveryInformation.deliveryAddress.countryCode }}</p>\n }\n </span>\n </p>\n }\n </section>\n }\n </div>\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 <th>{{ textWords.vat }}</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 class=\"currency-table-cell\">{{ item.priceDetails?.netPrice | currency: invoice.currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.netAmount | currency: invoice.currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.vatInformation?.[0]?.vatRate | percent: '1.0-2' }}</td>\n </tr>\n }\n </tbody>\n </table>\n\n <div class=\"addition-info\">\n <section class=\"invoice-totals\">\n <h2 class=\"info-title\">{{ textWords.totalsTopic }}</h2>\n\n @if (invoice.totals?.totalNet) {\n <p>\n <strong>{{ textWords.totalsTotalNet }}: </strong>\n <span>{{ invoice.totals?.totalNet | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalAllowances) {\n <p>\n <strong>{{ textWords.totalsTotalAllowances }}: </strong>\n <span> {{ invoice.totals?.totalAllowances | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalCharges) {\n <p>\n <strong>{{ textWords.totalsTotalCharges }}: </strong>\n <span> {{ invoice.totals?.totalCharges | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalAfterDeductions) {\n <p>\n <strong>{{ textWords.totalsTotalAfterDeductions }}: </strong>\n <span>{{ invoice.totals?.totalAfterDeductions | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalVatAmount) {\n <p>\n <strong>{{ textWords.totalsTotalVatAmount }}: </strong>\n <span>{{ invoice.totals?.totalVatAmount | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalGross) {\n <p>\n <strong>{{ textWords.totalsTotalGross }}: </strong>\n <span> {{ invoice.totals?.totalGross | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.alreadyPaidTotal) {\n <p>\n <strong>{{ textWords.totalsAlreadyPaidTotal }}: </strong>\n <span>{{ invoice.totals?.alreadyPaidTotal | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalToBePaid) {\n <p class=\"total\">\n <strong>{{ textWords.totalsTotalToBePaid }}: </strong>\n <strong> {{ invoice.totals?.totalToBePaid | currency: invoice.currencyCode }}</strong>\n </p>\n }\n </section>\n <section class=\"taxes\">\n <h2 class=\"info-title\">{{ textWords.taxesHeading }}</h2>\n <table class=\"tax-report-table\">\n <thead>\n <tr>\n <th>{{ textWords.vat }}</th>\n <th>{{ textWords.totalsTotalNet }}</th>\n <th>{{ textWords.totalsTotalVatAmount }}</th>\n </tr>\n </thead>\n <tbody>\n @for (tax of invoice.vatBreakdown; track tax.taxRate) {\n <tr>\n <td class=\"currency-table-cell\">\n @if (tax.taxRate) {\n <span>{{ tax.taxRate | percent: '1.0-2' }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.netTaxableAmount) {\n <span>{{ tax.netTaxableAmount | currency: invoice.currencyCode }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.vatAmount) {\n <span>{{ tax.vatAmount | currency: invoice.currencyCode }}</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </section>\n\n <section class=\"payment-instructions\">\n <h2 class=\"info-title\">{{ textWords.instructionsTopic }}</h2>\n @if (invoice.paymentInstructions?.description) {\n <p>{{ invoice.paymentInstructions?.description }}</p>\n }\n @for (means of invoice.paymentInstructions?.paymentMeans; track means) {\n <div>\n @if (means.accountIdentifier) {\n <p>\n <strong>{{ textWords.instructionsAccountIdentifier }}: </strong>\n <span>{{ means.accountIdentifier }}</span>\n </p>\n }\n @if (means.accountName) {\n <p>\n <strong>{{ textWords.instructionsAccountName }}: </strong>\n <span>{{ means.accountName }}</span>\n </p>\n }\n @if (means.serviceProviderIdentifier) {\n <p>\n <strong>{{ textWords.instructionsServiceProviderIdentifier }}: </strong>\n <span>{{ means.serviceProviderIdentifier }}</span>\n </p>\n }\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 @if (note?.shortText) {\n <p>\n <strong>{{ note?.shortText }}</strong>\n </p>\n }\n @if (note?.longText) {\n <p>{{ note?.longText }}</p>\n }\n </div>\n }\n </section>\n @if (invoice.documents?.length) {\n <section class=\"invoice-attachments\">\n <ava-invoice-documents [documents]=\"invoice.documents ?? []\"></ava-invoice-documents>\n </section>\n }\n </div>\n}\n", styles: [".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}.invoice-header .header{height:32px}.invoice-header .header-title{background:var(--color-primary);color:#fff;text-align:center}.seller-info,.buyer-info,.invoice-details{width:30%}.seller-info,.invoice-delivery,.payment-instructions{text-align:right}.currency-table-cell{text-align:right!important}.invoice-title{font-size:48px;margin:20px 0}.invoice-references,.invoice-totals,.payment-instructions,.invoice-notes,.taxes,.invoice-delivery{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:var(--color-primary)}.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;gap:10px}.total{background-color:var(--color-primary);color:#fff;padding:5px;border-radius:5px}th{color:#fff;text-wrap:nowrap}.invoice-attachments{padding-bottom:15px}.invoice-info{display:flex;justify-content:space-between;margin-bottom:20px}.info-title{border-bottom:2px solid var(--color-primary);text-align:center}.tax-report-table{width:100%;border-collapse:collapse;margin-top:10px}.tax-report-table th,.tax-report-table td{padding:12px;text-align:center;border:1px solid #ddd}.tax-report-table th{background-color:var(--color-primary);color:#fff;font-weight:700;border:1px solid #000}.tax-report-table td{font-size:14px;color:#333;border:1px solid #000}\n"], dependencies: [{ kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: InvoiceDocumentsComponent, selector: "ava-invoice-documents", inputs: ["documents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2259
2252
  }
2260
2253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: InvoiceDisplayComponent, decorators: [{
2261
2254
  type: Component,
2262
- args: [{ selector: 'ava-invoice-display', imports: [CurrencyPipe, DatePipe, PercentPipe, AsyncPipe, MatDividerModule, InvoiceDocumentsComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfigurationInvoiceService], template: "@if (textWords$ | async; as textWords) {\n <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=\"buyer-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceBuyerTitle }}</h2>\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 @if (invoice().buyer?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice().buyer?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice().buyer?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice().buyer?.contactPersonName }}</span>\n </p>\n }\n @if (invoice().buyer?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice().buyer?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice().buyer?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice().buyer?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n <div class=\"invoice-details\">\n <h2 [class.header]=\"textWords.invoiceBuyerTitle.trim() || textWords.invoiceSellerTitle.trim()\"></h2>\n @if (invoice().invoiceNumber) {\n <p>\n <strong>{{ textWords.detailsInvoiceNumber }}: </strong>\n <span>{{ invoice().invoiceNumber }}</span>\n </p>\n }\n @if (invoice().invoiceDate) {\n <p>\n <strong>{{ textWords.detailsInvoiceDate }}: </strong>\n <span>{{ invoice().invoiceDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice().paymentDueDate) {\n <p>\n <strong>{{ textWords.detailsPaymentDueDate }}: </strong>\n <span>{{ invoice().paymentDueDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice().currencyCode) {\n <p>\n <strong>{{ textWords.detailsCurrencyCode }}: </strong>\n <span>{{ invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().paymentTerms) {\n <p>\n <strong>{{ textWords.detailsPaymentTerms }}: </strong>\n <span>{{ invoice().paymentTerms }}</span>\n </p>\n }\n </div>\n <div class=\"seller-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceSellerTitle }}</h2>\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 @if (invoice().seller?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice().seller?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice().seller?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice().seller?.contactPersonName }}</span>\n </p>\n }\n @if (invoice().seller?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice().seller?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice().seller?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice().seller?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n </header>\n <mat-divider></mat-divider>\n <div class=\"invoice-info\">\n <section class=\"invoice-references\">\n @if (textWords.referencesTopic) {\n <h2 class=\"info-title\">{{ textWords.referencesTopic }}</h2>\n }\n @if (invoice().references?.buyerReference) {\n <p>\n <strong>{{ textWords.referencesBuyerReference }}: </strong>\n <span>{{ invoice().references?.buyerReference }}</span>\n </p>\n }\n @if (invoice().references?.projectReference) {\n <p>\n <strong>{{ textWords.referencesProjectReference }}: </strong>\n <span>{{ invoice().references?.projectReference }}</span>\n </p>\n }\n @if (invoice().references?.contractReference) {\n <p>\n <strong>{{ textWords.referencesContractReference }}: </strong>\n <span>{{ invoice().references?.contractReference }}</span>\n </p>\n }\n @if (invoice().references?.purchaseOrderReference) {\n <p>\n <strong>{{ textWords.referencesPurchaseOrderReference }}: </strong>\n <span>{{ invoice().references?.purchaseOrderReference }}</span>\n </p>\n }\n @if (invoice().references?.salesOrderReference) {\n <p>\n <strong>{{ textWords.referencesSalesOrderReference }}: </strong>\n <span>{{ invoice().references?.salesOrderReference }}</span>\n </p>\n }\n @if (invoice().references?.receivingAdviceReference) {\n <p>\n <strong>{{ textWords.referencesReceivingAdviceReference }}: </strong>\n <span>{{ invoice().references?.receivingAdviceReference }}</span>\n </p>\n }\n @if (invoice().references?.dispatchAdviceReference) {\n <p>\n <strong>{{ textWords.referencesDispatchAdviceReference }}: </strong>\n <span> {{ invoice().references?.dispatchAdviceReference }}</span>\n </p>\n }\n @if (invoice().references?.tenderOrLotReference) {\n <p>\n <strong>{{ textWords.referencesTenderOrLotReference }}: </strong>\n <span>{{ invoice().references?.tenderOrLotReference }}</span>\n </p>\n }\n @if (invoice().references?.invoicedObjectIdentifier) {\n <p>\n <strong>{{ textWords.referencesInvoicedObjectIdentifier }}: </strong>\n <span>{{ invoice().references?.invoicedObjectIdentifier }}</span>\n </p>\n }\n </section>\n @if (invoice().deliveryInformation) {\n <section class=\"invoice-delivery\">\n <h2 class=\"info-title\">{{ textWords.deliveryInformationTitle }}</h2>\n\n @if (invoice().deliveryInformation?.deliverToName) {\n <p>\n <strong>{{ textWords.deliverToName }}: </strong>\n <span>{{ invoice().deliveryInformation?.deliverToName }}</span>\n </p>\n }\n @if (invoice().deliveryInformation?.deliverToLocationIdentifier) {\n <p>\n <strong>{{ textWords.deliverToLocationIdentifier }}: </strong>\n <span>{{ invoice().deliveryInformation?.deliverToLocationIdentifier }}</span>\n </p>\n }\n @if (invoice().deliveryInformation?.deliveryDate) {\n <p>\n <strong>{{ textWords.deliveryDate }}: </strong>\n <span>{{ invoice().deliveryInformation?.deliveryDate | date: 'shortDate' }}</span>\n </p>\n }\n @if (invoice().deliveryInformation?.deliveryAddress) {\n <p>\n <strong>{{ textWords.deliveryAddress }}: </strong>\n <span>\n @if (invoice().deliveryInformation?.deliveryAddress?.address) {\n <p>{{ invoice().deliveryInformation?.deliveryAddress?.address }}</p>\n }\n @if (invoice().deliveryInformation?.deliveryAddress?.city) {\n <span>{{ invoice().deliveryInformation?.deliveryAddress?.city }},</span>\n }\n @if (invoice().deliveryInformation?.deliveryAddress?.zipCode) {\n <span>{{ invoice().deliveryInformation?.deliveryAddress?.zipCode }}</span>\n }\n @if (invoice().deliveryInformation?.deliveryAddress?.countryCode) {\n <p>{{ invoice().deliveryInformation?.deliveryAddress?.countryCode }}</p>\n }\n </span>\n </p>\n }\n </section>\n }\n </div>\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 <th>{{ textWords.vat }}</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 class=\"currency-table-cell\">{{ item.priceDetails?.netPrice | currency: invoice().currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.netAmount | currency: invoice().currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.vatInformation[0]?.vatRate | percent: '1.0-2' }}</td>\n </tr>\n }\n </tbody>\n </table>\n\n <div class=\"addition-info\">\n <section class=\"invoice-totals\">\n <h2 class=\"info-title\">{{ textWords.totalsTopic }}</h2>\n\n @if (invoice().totals?.totalNet) {\n <p>\n <strong>{{ textWords.totalsTotalNet }}: </strong>\n <span>{{ invoice().totals?.totalNet | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalAllowances) {\n <p>\n <strong>{{ textWords.totalsTotalAllowances }}: </strong>\n <span> {{ invoice().totals?.totalAllowances | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalCharges) {\n <p>\n <strong>{{ textWords.totalsTotalCharges }}: </strong>\n <span> {{ invoice().totals?.totalCharges | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalAfterDeductions) {\n <p>\n <strong>{{ textWords.totalsTotalAfterDeductions }}: </strong>\n <span>{{ invoice().totals?.totalAfterDeductions | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalVatAmount) {\n <p>\n <strong>{{ textWords.totalsTotalVatAmount }}: </strong>\n <span>{{ invoice().totals?.totalVatAmount | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalGross) {\n <p>\n <strong>{{ textWords.totalsTotalGross }}: </strong>\n <span> {{ invoice().totals?.totalGross | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.alreadyPaidTotal) {\n <p>\n <strong>{{ textWords.totalsAlreadyPaidTotal }}: </strong>\n <span>{{ invoice().totals?.alreadyPaidTotal | currency: invoice().currencyCode }}</span>\n </p>\n }\n @if (invoice().totals?.totalToBePaid) {\n <p class=\"total\">\n <strong>{{ textWords.totalsTotalToBePaid }}: </strong>\n <strong> {{ invoice().totals?.totalToBePaid | currency: invoice().currencyCode }}</strong>\n </p>\n }\n </section>\n <section class=\"taxes\">\n <h2 class=\"info-title\">{{ textWords.taxesHeading }}</h2>\n <table class=\"tax-report-table\">\n <thead>\n <tr>\n <th>{{ textWords.vat }}</th>\n <th>{{ textWords.totalsTotalNet }}</th>\n <th>{{ textWords.totalsTotalVatAmount }}</th>\n </tr>\n </thead>\n <tbody>\n @for (tax of invoice().vatBreakdown; track tax.taxRate) {\n <tr>\n <td class=\"currency-table-cell\">\n @if (tax.taxRate) {\n <span>{{ tax.taxRate | percent: '1.0-2' }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.netTaxableAmount) {\n <span>{{ tax.netTaxableAmount | currency: invoice().currencyCode }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.vatAmount) {\n <span>{{ tax.vatAmount | currency: invoice().currencyCode }}</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </section>\n\n <section class=\"payment-instructions\">\n <h2 class=\"info-title\">{{ textWords.instructionsTopic }}</h2>\n @if (invoice().paymentInstructions?.description) {\n <p>{{ invoice().paymentInstructions?.description }}</p>\n }\n @for (means of invoice().paymentInstructions?.paymentMeans; track means) {\n <div>\n @if (means.accountIdentifier) {\n <p>\n <strong>{{ textWords.instructionsAccountIdentifier }}: </strong>\n <span>{{ means.accountIdentifier }}</span>\n </p>\n }\n @if (means.accountName) {\n <p>\n <strong>{{ textWords.instructionsAccountName }}: </strong>\n <span>{{ means.accountName }}</span>\n </p>\n }\n @if (means.serviceProviderIdentifier) {\n <p>\n <strong>{{ textWords.instructionsServiceProviderIdentifier }}: </strong>\n <span>{{ means.serviceProviderIdentifier }}</span>\n </p>\n }\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 @if (note?.shortText) {\n <p>\n <strong>{{ note?.shortText }}</strong>\n </p>\n }\n @if (note?.longText) {\n <p>{{ note?.longText }}</p>\n }\n </div>\n }\n </section>\n @if (invoice().documents?.length) {\n <section class=\"invoice-attachments\">\n <ava-invoice-documents [documents]=\"invoice().documents\"></ava-invoice-documents>\n </section>\n }\n </div>\n}\n", styles: [".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}.invoice-header .header{height:32px}.invoice-header .header-title{background:var(--color-primary);color:#fff;text-align:center}.seller-info,.buyer-info,.invoice-details{width:30%}.seller-info,.invoice-delivery,.payment-instructions{text-align:right}.currency-table-cell{text-align:right!important}.invoice-title{font-size:48px;margin:20px 0}.invoice-references,.invoice-totals,.payment-instructions,.invoice-notes,.taxes,.invoice-delivery{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:var(--color-primary)}.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;gap:10px}.total{background-color:var(--color-primary);color:#fff;padding:5px;border-radius:5px}th{color:#fff;text-wrap:nowrap}.invoice-attachments{padding-bottom:15px}.invoice-info{display:flex;justify-content:space-between;margin-bottom:20px}.info-title{border-bottom:2px solid var(--color-primary);text-align:center}.tax-report-table{width:100%;border-collapse:collapse;margin-top:10px}.tax-report-table th,.tax-report-table td{padding:12px;text-align:center;border:1px solid #ddd}.tax-report-table th{background-color:var(--color-primary);color:#fff;font-weight:700;border:1px solid #000}.tax-report-table td{font-size:14px;color:#333;border:1px solid #000}\n"] }]
2263
- }], ctorParameters: () => [{ type: ConfigurationInvoiceService }], propDecorators: { config: [{
2255
+ args: [{ selector: 'ava-invoice-display', imports: [CurrencyPipe, DatePipe, PercentPipe, AsyncPipe, MatDividerModule, InvoiceDocumentsComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfigurationInvoiceService], template: "@if (textWords$ | async; as textWords) {\n <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=\"buyer-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceBuyerTitle }}</h2>\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 @if (invoice.buyer?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice.buyer?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice.buyer?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice.buyer?.contactPersonName }}</span>\n </p>\n }\n @if (invoice.buyer?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice.buyer?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice.buyer?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice.buyer?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n <div class=\"invoice-details\">\n <h2 [class.header]=\"textWords.invoiceBuyerTitle.trim() || textWords.invoiceSellerTitle.trim()\"></h2>\n @if (invoice.invoiceNumber) {\n <p>\n <strong>{{ textWords.detailsInvoiceNumber }}: </strong>\n <span>{{ invoice.invoiceNumber }}</span>\n </p>\n }\n @if (invoice.invoiceDate) {\n <p>\n <strong>{{ textWords.detailsInvoiceDate }}: </strong>\n <span>{{ invoice.invoiceDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice.paymentDueDate) {\n <p>\n <strong>{{ textWords.detailsPaymentDueDate }}: </strong>\n <span>{{ invoice.paymentDueDate | date: 'dd.MM.yyyy' }}</span>\n </p>\n }\n @if (invoice.currencyCode) {\n <p>\n <strong>{{ textWords.detailsCurrencyCode }}: </strong>\n <span>{{ invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.paymentTerms) {\n <p>\n <strong>{{ textWords.detailsPaymentTerms }}: </strong>\n <span>{{ invoice.paymentTerms }}</span>\n </p>\n }\n </div>\n <div class=\"seller-info\">\n <h2 class=\"header-title\">{{ textWords.invoiceSellerTitle }}</h2>\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 @if (invoice.seller?.vatId) {\n <p>\n <strong>{{ textWords.vatId }}: </strong>\n <span>{{ invoice.seller?.vatId }}</span>\n </p>\n }\n <mat-divider></mat-divider>\n @if (invoice.seller?.contactPersonName) {\n <p>\n <strong>{{ textWords.contactPersonName }}: </strong>\n <span>{{ invoice.seller?.contactPersonName }}</span>\n </p>\n }\n @if (invoice.seller?.contactPersonPhone) {\n <p>\n <strong>{{ textWords.contactPersonPhone }}: </strong>\n <span>{{ invoice.seller?.contactPersonPhone }}</span>\n </p>\n }\n @if (invoice.seller?.contactPersonEmail) {\n <p>\n <strong>{{ textWords.contactPersonEmail }}: </strong>\n <span>{{ invoice.seller?.contactPersonEmail }}</span>\n </p>\n }\n </div>\n </header>\n <mat-divider></mat-divider>\n <div class=\"invoice-info\">\n <section class=\"invoice-references\">\n @if (textWords.referencesTopic) {\n <h2 class=\"info-title\">{{ textWords.referencesTopic }}</h2>\n }\n @if (invoice.references?.buyerReference) {\n <p>\n <strong>{{ textWords.referencesBuyerReference }}: </strong>\n <span>{{ invoice.references?.buyerReference }}</span>\n </p>\n }\n @if (invoice.references?.projectReference) {\n <p>\n <strong>{{ textWords.referencesProjectReference }}: </strong>\n <span>{{ invoice.references?.projectReference }}</span>\n </p>\n }\n @if (invoice.references?.contractReference) {\n <p>\n <strong>{{ textWords.referencesContractReference }}: </strong>\n <span>{{ invoice.references?.contractReference }}</span>\n </p>\n }\n @if (invoice.references?.purchaseOrderReference) {\n <p>\n <strong>{{ textWords.referencesPurchaseOrderReference }}: </strong>\n <span>{{ invoice.references?.purchaseOrderReference }}</span>\n </p>\n }\n @if (invoice.references?.salesOrderReference) {\n <p>\n <strong>{{ textWords.referencesSalesOrderReference }}: </strong>\n <span>{{ invoice.references?.salesOrderReference }}</span>\n </p>\n }\n @if (invoice.references?.receivingAdviceReference) {\n <p>\n <strong>{{ textWords.referencesReceivingAdviceReference }}: </strong>\n <span>{{ invoice.references?.receivingAdviceReference }}</span>\n </p>\n }\n @if (invoice.references?.dispatchAdviceReference) {\n <p>\n <strong>{{ textWords.referencesDispatchAdviceReference }}: </strong>\n <span> {{ invoice.references?.dispatchAdviceReference }}</span>\n </p>\n }\n @if (invoice.references?.tenderOrLotReference) {\n <p>\n <strong>{{ textWords.referencesTenderOrLotReference }}: </strong>\n <span>{{ invoice.references?.tenderOrLotReference }}</span>\n </p>\n }\n @if (invoice.references?.invoicedObjectIdentifier) {\n <p>\n <strong>{{ textWords.referencesInvoicedObjectIdentifier }}: </strong>\n <span>{{ invoice.references?.invoicedObjectIdentifier }}</span>\n </p>\n }\n </section>\n @if (invoice.deliveryInformation) {\n <section class=\"invoice-delivery\">\n <h2 class=\"info-title\">{{ textWords.deliveryInformationTitle }}</h2>\n\n @if (invoice.deliveryInformation.deliverToName) {\n <p>\n <strong>{{ textWords.deliverToName }}: </strong>\n <span>{{ invoice.deliveryInformation.deliverToName }}</span>\n </p>\n }\n @if (invoice.deliveryInformation.deliverToLocationIdentifier) {\n <p>\n <strong>{{ textWords.deliverToLocationIdentifier }}: </strong>\n <span>{{ invoice.deliveryInformation.deliverToLocationIdentifier }}</span>\n </p>\n }\n @if (invoice.deliveryInformation.deliveryDate) {\n <p>\n <strong>{{ textWords.deliveryDate }}: </strong>\n <span>{{ invoice.deliveryInformation.deliveryDate | date: 'shortDate' }}</span>\n </p>\n }\n @if (invoice.deliveryInformation.deliveryAddress) {\n <p>\n <strong>{{ textWords.deliveryAddress }}: </strong>\n <span>\n @if (invoice.deliveryInformation.deliveryAddress.address) {\n <p>{{ invoice.deliveryInformation.deliveryAddress.address }}</p>\n }\n @if (invoice.deliveryInformation.deliveryAddress.city) {\n <span>{{ invoice.deliveryInformation.deliveryAddress.city }},</span>\n }\n @if (invoice.deliveryInformation.deliveryAddress.zipCode) {\n <span>{{ invoice.deliveryInformation.deliveryAddress.zipCode }}</span>\n }\n @if (invoice.deliveryInformation.deliveryAddress.countryCode) {\n <p>{{ invoice.deliveryInformation.deliveryAddress.countryCode }}</p>\n }\n </span>\n </p>\n }\n </section>\n }\n </div>\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 <th>{{ textWords.vat }}</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 class=\"currency-table-cell\">{{ item.priceDetails?.netPrice | currency: invoice.currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.netAmount | currency: invoice.currencyCode }}</td>\n <td class=\"currency-table-cell\">{{ item.vatInformation?.[0]?.vatRate | percent: '1.0-2' }}</td>\n </tr>\n }\n </tbody>\n </table>\n\n <div class=\"addition-info\">\n <section class=\"invoice-totals\">\n <h2 class=\"info-title\">{{ textWords.totalsTopic }}</h2>\n\n @if (invoice.totals?.totalNet) {\n <p>\n <strong>{{ textWords.totalsTotalNet }}: </strong>\n <span>{{ invoice.totals?.totalNet | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalAllowances) {\n <p>\n <strong>{{ textWords.totalsTotalAllowances }}: </strong>\n <span> {{ invoice.totals?.totalAllowances | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalCharges) {\n <p>\n <strong>{{ textWords.totalsTotalCharges }}: </strong>\n <span> {{ invoice.totals?.totalCharges | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalAfterDeductions) {\n <p>\n <strong>{{ textWords.totalsTotalAfterDeductions }}: </strong>\n <span>{{ invoice.totals?.totalAfterDeductions | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalVatAmount) {\n <p>\n <strong>{{ textWords.totalsTotalVatAmount }}: </strong>\n <span>{{ invoice.totals?.totalVatAmount | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalGross) {\n <p>\n <strong>{{ textWords.totalsTotalGross }}: </strong>\n <span> {{ invoice.totals?.totalGross | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.alreadyPaidTotal) {\n <p>\n <strong>{{ textWords.totalsAlreadyPaidTotal }}: </strong>\n <span>{{ invoice.totals?.alreadyPaidTotal | currency: invoice.currencyCode }}</span>\n </p>\n }\n @if (invoice.totals?.totalToBePaid) {\n <p class=\"total\">\n <strong>{{ textWords.totalsTotalToBePaid }}: </strong>\n <strong> {{ invoice.totals?.totalToBePaid | currency: invoice.currencyCode }}</strong>\n </p>\n }\n </section>\n <section class=\"taxes\">\n <h2 class=\"info-title\">{{ textWords.taxesHeading }}</h2>\n <table class=\"tax-report-table\">\n <thead>\n <tr>\n <th>{{ textWords.vat }}</th>\n <th>{{ textWords.totalsTotalNet }}</th>\n <th>{{ textWords.totalsTotalVatAmount }}</th>\n </tr>\n </thead>\n <tbody>\n @for (tax of invoice.vatBreakdown; track tax.taxRate) {\n <tr>\n <td class=\"currency-table-cell\">\n @if (tax.taxRate) {\n <span>{{ tax.taxRate | percent: '1.0-2' }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.netTaxableAmount) {\n <span>{{ tax.netTaxableAmount | currency: invoice.currencyCode }}</span>\n }\n </td>\n <td class=\"currency-table-cell\">\n @if (tax.vatAmount) {\n <span>{{ tax.vatAmount | currency: invoice.currencyCode }}</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </section>\n\n <section class=\"payment-instructions\">\n <h2 class=\"info-title\">{{ textWords.instructionsTopic }}</h2>\n @if (invoice.paymentInstructions?.description) {\n <p>{{ invoice.paymentInstructions?.description }}</p>\n }\n @for (means of invoice.paymentInstructions?.paymentMeans; track means) {\n <div>\n @if (means.accountIdentifier) {\n <p>\n <strong>{{ textWords.instructionsAccountIdentifier }}: </strong>\n <span>{{ means.accountIdentifier }}</span>\n </p>\n }\n @if (means.accountName) {\n <p>\n <strong>{{ textWords.instructionsAccountName }}: </strong>\n <span>{{ means.accountName }}</span>\n </p>\n }\n @if (means.serviceProviderIdentifier) {\n <p>\n <strong>{{ textWords.instructionsServiceProviderIdentifier }}: </strong>\n <span>{{ means.serviceProviderIdentifier }}</span>\n </p>\n }\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 @if (note?.shortText) {\n <p>\n <strong>{{ note?.shortText }}</strong>\n </p>\n }\n @if (note?.longText) {\n <p>{{ note?.longText }}</p>\n }\n </div>\n }\n </section>\n @if (invoice.documents?.length) {\n <section class=\"invoice-attachments\">\n <ava-invoice-documents [documents]=\"invoice.documents ?? []\"></ava-invoice-documents>\n </section>\n }\n </div>\n}\n", styles: [".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}.invoice-header .header{height:32px}.invoice-header .header-title{background:var(--color-primary);color:#fff;text-align:center}.seller-info,.buyer-info,.invoice-details{width:30%}.seller-info,.invoice-delivery,.payment-instructions{text-align:right}.currency-table-cell{text-align:right!important}.invoice-title{font-size:48px;margin:20px 0}.invoice-references,.invoice-totals,.payment-instructions,.invoice-notes,.taxes,.invoice-delivery{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:var(--color-primary)}.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;gap:10px}.total{background-color:var(--color-primary);color:#fff;padding:5px;border-radius:5px}th{color:#fff;text-wrap:nowrap}.invoice-attachments{padding-bottom:15px}.invoice-info{display:flex;justify-content:space-between;margin-bottom:20px}.info-title{border-bottom:2px solid var(--color-primary);text-align:center}.tax-report-table{width:100%;border-collapse:collapse;margin-top:10px}.tax-report-table th,.tax-report-table td{padding:12px;text-align:center;border:1px solid #ddd}.tax-report-table th{background-color:var(--color-primary);color:#fff;font-weight:700;border:1px solid #000}.tax-report-table td{font-size:14px;color:#333;border:1px solid #000}\n"] }]
2256
+ }], ctorParameters: () => [{ type: ConfigurationInvoiceService }], propDecorators: { invoice: [{
2257
+ type: Input
2258
+ }], config: [{
2264
2259
  type: Input
2265
2260
  }] } });
2266
2261