@rolatech/angular-billing 20.1.2 → 20.1.3-beta.1

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,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, Component, inject, ViewEncapsulation, DestroyRef, signal } from '@angular/core';
2
+ import { input, output, Component, inject, ViewEncapsulation, computed, signal, DestroyRef } from '@angular/core';
3
3
  import * as i10 from '@angular/common';
4
4
  import { DatePipe, KeyValuePipe, NgClass, CommonModule, CurrencyPipe, NgOptimizedImage } from '@angular/common';
5
5
  import * as i1$1 from '@angular/forms';
@@ -182,28 +182,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
182
182
  ], encapsulation: ViewEncapsulation.None, template: "<rolatech-container>\n <rolatech-toolbar title=\"Invoices\" large>\n <button mat-button (click)=\"filter = !filter\">\n <span>Filter</span>\n <mat-icon>tune</mat-icon>\n </button>\n </rolatech-toolbar>\n <rolatech-filter>\n <div class=\"collapsed\" [class.expanded]=\"filter\">\n <div\n class=\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\"\n >\n <div class=\"flex items-center gap-3 mt-2\">\n <mat-form-field appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-select name=\"type\" placeholder=\"Type\" [(ngModel)]=\"filterOptions.type\">\n @for (type of invoiceType | keyvalue; track type) {\n <mat-option [value]=\"type.key\">\n {{ type.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [compareWith]=\"statusCompareFn\" placeholder=\"Status\" [(ngModel)]=\"filterOptions.status\">\n @for (status of invoiceStatus | keyvalue; track status) {\n <mat-option [value]=\"status.key\">\n {{ status.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <div>\n <button mat-flat-button (click)=\"find()\">Search</button>\n <button mat-stroked-button (click)=\"resetFilter()\" class=\"ml-3\">Reset</button>\n </div>\n </div>\n </div>\n </div>\n </rolatech-filter>\n <rolatech-tabs [select]=\"select\">\n @for (item of links; track item) {\n @if (item.status) {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\" [queryParams]=\"{ status: item.status }\"></rolatech-tab>\n } @else {\n <rolatech-tab [label]=\"item.name\" routerLink=\"./\"></rolatech-tab>\n }\n }\n </rolatech-tabs>\n <rolatech-list>\n @if (invoices) {\n <rolatech-invoice-header></rolatech-invoice-header>\n @for (item of invoices; track item) {\n <rolatech-invoice-item [routerLink]=\"['./', item.id]\" [invoice]=\"item\"></rolatech-invoice-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n </rolatech-list>\n</rolatech-container>\n", styles: [".collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\n"] }]
183
183
  }] });
184
184
 
185
+ class InvoiceLineItem {
186
+ constructor() {
187
+ this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
188
+ this.link = input.required(...(ngDevMode ? [{ debugName: "link" }] : []));
189
+ this.thumbnail = computed(() => {
190
+ return this.item().imageUrl;
191
+ }, ...(ngDevMode ? [{ debugName: "thumbnail" }] : []));
192
+ }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InvoiceLineItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: InvoiceLineItem, isStandalone: true, selector: "rolatech-invoice-line-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex justify-between py-2\">\n <div class=\"flex w-full\">\n <div\n class=\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\"\n [routerLink]=\"link()\"\n >\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" mode=\"clip\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\"></div>\n }\n </div>\n\n <div class=\"w-full ml-3 flex flex-col justify-between\">\n <!-- info -->\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\" [routerLink]=\"link()\"\n >{{ item().title }}</span\n >\n <ng-content></ng-content>\n </div>\n <div class=\"text-right p-1\">\n <div class=\"text-sm\">\u00A3{{ item().amount }}</div>\n </div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], deferBlockDependencies: [() => [import('@rolatech/angular-components').then(m => m.ThumbnailComponent)]] }); }
195
+ }
196
+ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "20.3.4", ngImport: i0, type: InvoiceLineItem, resolveDeferredDeps: () => [import('@rolatech/angular-components').then(m => m.ThumbnailComponent)], resolveMetadata: ThumbnailComponent => ({ decorators: [{
197
+ type: Component,
198
+ args: [{ selector: 'rolatech-invoice-line-item', imports: [RouterLink, ThumbnailComponent], template: "<div class=\"flex justify-between py-2\">\n <div class=\"flex w-full\">\n <div\n class=\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\"\n [routerLink]=\"link()\"\n >\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" mode=\"clip\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\"></div>\n }\n </div>\n\n <div class=\"w-full ml-3 flex flex-col justify-between\">\n <!-- info -->\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <span class=\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\" [routerLink]=\"link()\"\n >{{ item().title }}</span\n >\n <ng-content></ng-content>\n </div>\n <div class=\"text-right p-1\">\n <div class=\"text-sm\">\u00A3{{ item().amount }}</div>\n </div>\n </div>\n <!-- action -->\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex items-center text-sm\"></div>\n </div>\n </div>\n </div>\n</div>\n" }]
199
+ }], ctorParameters: null, propDecorators: null }) });
200
+
185
201
  class InvoiceDetailComponent extends BaseComponent {
186
202
  constructor() {
187
203
  super(...arguments);
188
204
  this.invoiceService = inject(InvoiceService);
189
205
  this.paymentService = inject(PaymentService);
206
+ this.invoice = signal(null, ...(ngDevMode ? [{ debugName: "invoice" }] : []));
190
207
  this.status = InvoiceStatus;
208
+ this.paying = false;
191
209
  }
192
210
  ngOnInit() {
193
211
  this.route.params.subscribe((params) => {
194
212
  const id = params['id'];
195
213
  this.get(id);
196
214
  });
215
+ this.route.queryParams.subscribe(async (params) => {
216
+ const sessionId = params['session_id'];
217
+ if (sessionId) {
218
+ // this.invoiceService.checkOfferPaymentStatus(this.id, sessionId).subscribe({
219
+ // next: (res) => {
220
+ // if (res.status === 'paid') {
221
+ // this.invoice.update((state) => {
222
+ // if (!state) return state;
223
+ // state.status = InvoiceStatus.PAID;
224
+ // return state;
225
+ // });
226
+ // }
227
+ // },
228
+ // });
229
+ }
230
+ });
197
231
  }
198
232
  get(id) {
199
233
  this.invoiceService.get(id).subscribe({
200
234
  next: (res) => {
201
- console.log(res);
202
- this.invoice = res.data;
235
+ this.invoice.set(res.data);
236
+ console.log(res.data);
203
237
  },
204
238
  });
205
239
  }
206
240
  pay() {
241
+ this.paying = true;
207
242
  const data = {
208
243
  businessType: 'INVOICE',
209
244
  businessId: this.id,
@@ -217,17 +252,24 @@ class InvoiceDetailComponent extends BaseComponent {
217
252
  intentId: res.data.id,
218
253
  provider: 'STRIPE',
219
254
  method: 'STRIPE_CHECKOUT',
255
+ successUrl: window.location.href + '?session_id={CHECKOUT_SESSION_ID}',
256
+ cancelUrl: window.location.href,
220
257
  };
221
258
  return this.paymentService.createPayment(intent);
222
259
  }))
223
260
  .subscribe({
224
261
  next: (res) => {
225
- console.log(res);
262
+ this.paying = false;
263
+ const { redirectUrl } = res.data;
264
+ window.open(redirectUrl, '_blank');
265
+ },
266
+ error: (error) => {
267
+ this.paying = false;
226
268
  },
227
269
  });
228
270
  }
229
271
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InvoiceDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: InvoiceDetailComponent, isStandalone: true, selector: "rolatech-invoice-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar [title]=\"status[invoice.status]\" large link=\"../\"> </rolatech-toolbar>\n <div>\n <div>\n <div class=\"mt-3\">\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Created at</span>\n <span class=\"text-sm\"> {{ invoice.createdAt }}</span>\n </div>\n\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\" i18n>Note</span>\n <span class=\"text-sm\">{{ invoice.note || '\u65E0' }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Total</span>\n <span class=\"text-sm\">\u00A5{{ invoice.total | fixed }}</span>\n </div>\n </div>\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\" i18n>Payment method</div>\n\n <div class=\"flex items-center\">\n <svg\n class=\"svg-icon\"\n style=\"width: 2rem; height: 2rem\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\"\n fill=\"#09BB07\"\n />\n </svg>\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\n </div>\n </div>\n }\n </div>\n\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n <div class=\"flex items-center justify-end\">\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\" i18n>Pay</button>\n </div>\n </div>\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "pipe", type: FixedPipe, name: "fixed" }] }); }
272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: InvoiceDetailComponent, isStandalone: true, selector: "rolatech-invoice-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar [title]=\"invoice() ? status[invoice()!.status] : ''\" large link=\"../\"> </rolatech-toolbar>\n @if (invoice(); as invoice) {\n <div>\n <div>\n <div>\n @for (item of invoice.lines; track $index) {\n <rolatech-invoice-line-item [item]=\"item\" [link]=\"'/properties/' + item.extId\"></rolatech-invoice-line-item>\n }\n </div>\n <div class=\"mt-3\">\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Profile</span>\n <span class=\"text-sm\"> {{ invoice.firstName }},{{ invoice.lastName }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Email</span>\n <span class=\"text-sm\"> {{ invoice.email }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Phone</span>\n <span class=\"text-sm\"> {{ invoice.phone }}</span>\n </div>\n\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Total</span>\n <span class=\"text-sm\">\u00A3{{ invoice.total }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\" i18n>Note</span>\n <span class=\"text-sm\">{{ invoice.note || '\u65E0' }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Created at</span>\n <span class=\"text-sm\"> {{ invoice.createdAt }}</span>\n </div>\n </div>\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\" i18n>Payment method</div>\n <div class=\"flex items-center\">\n <span class=\"ml-1\">Stripe</span>\n </div>\n </div>\n }\n </div>\n\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n <div class=\"flex items-center justify-end\">\n <button mat-flat-button [disabled]=\"paying\" class=\"w-32 min-h-11\" (click)=\"pay()\" i18n>\n {{ paying ? 'Paying' : 'Pay' }}\n </button>\n </div>\n </div>\n </div>\n }\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: InvoiceLineItem, selector: "rolatech-invoice-line-item", inputs: ["item", "link"] }] }); }
231
273
  }
232
274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InvoiceDetailComponent, decorators: [{
233
275
  type: Component,
@@ -241,7 +283,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
241
283
  FixedPipe,
242
284
  ShippingAddressPipe,
243
285
  RouterLink,
244
- ], template: "<rolatech-container>\n <rolatech-toolbar [title]=\"status[invoice.status]\" large link=\"../\"> </rolatech-toolbar>\n <div>\n <div>\n <div class=\"mt-3\">\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Created at</span>\n <span class=\"text-sm\"> {{ invoice.createdAt }}</span>\n </div>\n\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\" i18n>Note</span>\n <span class=\"text-sm\">{{ invoice.note || '\u65E0' }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Total</span>\n <span class=\"text-sm\">\u00A5{{ invoice.total | fixed }}</span>\n </div>\n </div>\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\" i18n>Payment method</div>\n\n <div class=\"flex items-center\">\n <svg\n class=\"svg-icon\"\n style=\"width: 2rem; height: 2rem\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\"\n fill=\"#09BB07\"\n />\n </svg>\n <span class=\"ml-1\">\u5FAE\u4FE1\u652F\u4ED8</span>\n </div>\n </div>\n }\n </div>\n\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n <div class=\"flex items-center justify-end\">\n <button mat-flat-button class=\"w-32 min-h-11\" (click)=\"pay()\" i18n>Pay</button>\n </div>\n </div>\n </div>\n</rolatech-container>\n" }]
286
+ InvoiceLineItem,
287
+ ], template: "<rolatech-container>\n <rolatech-toolbar [title]=\"invoice() ? status[invoice()!.status] : ''\" large link=\"../\"> </rolatech-toolbar>\n @if (invoice(); as invoice) {\n <div>\n <div>\n <div>\n @for (item of invoice.lines; track $index) {\n <rolatech-invoice-line-item [item]=\"item\" [link]=\"'/properties/' + item.extId\"></rolatech-invoice-line-item>\n }\n </div>\n <div class=\"mt-3\">\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Profile</span>\n <span class=\"text-sm\"> {{ invoice.firstName }},{{ invoice.lastName }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Email</span>\n <span class=\"text-sm\"> {{ invoice.email }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Phone</span>\n <span class=\"text-sm\"> {{ invoice.phone }}</span>\n </div>\n\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Total</span>\n <span class=\"text-sm\">\u00A3{{ invoice.total }}</span>\n </div>\n <div class=\"flex items-baseline justify-between py-1\">\n <span class=\"font-medium min-w-20\" i18n>Note</span>\n <span class=\"text-sm\">{{ invoice.note || '\u65E0' }}</span>\n </div>\n <div class=\"flex items-center justify-between py-1\">\n <span class=\"font-medium\" i18n>Created at</span>\n <span class=\"text-sm\"> {{ invoice.createdAt }}</span>\n </div>\n </div>\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\n <div class=\"mt-6\">\n <div class=\"text-lg pb-3 font-medium\" i18n>Payment method</div>\n <div class=\"flex items-center\">\n <span class=\"ml-1\">Stripe</span>\n </div>\n </div>\n }\n </div>\n\n <!-- safe area -->\n <div class=\"pb-16 sm:pb-3\"></div>\n <div class=\"\">\n <div class=\"flex items-center justify-end\">\n <button mat-flat-button [disabled]=\"paying\" class=\"w-32 min-h-11\" (click)=\"pay()\" i18n>\n {{ paying ? 'Paying' : 'Pay' }}\n </button>\n </div>\n </div>\n </div>\n }\n</rolatech-container>\n" }]
245
288
  }] });
246
289
 
247
290
  const invoiceRoutes = [
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-billing.mjs","sources":["../tmp-esm2022/lib/pages/billing/billing.routes.js","../tmp-esm2022/lib/interfaces/invoice.js","../tmp-esm2022/lib/components/invoice-item/invoice-item.js","../tmp-esm2022/lib/components/invoice-manage-item/invoice-manage-item.js","../tmp-esm2022/lib/components/invoice-header/invoice-header.js","../tmp-esm2022/lib/pages/invoice/invoice-index/invoice-index.component.js","../tmp-esm2022/lib/pages/invoice/invoice-detail/invoice-detail.component.js","../tmp-esm2022/lib/pages/invoice/invoice.routes.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-index/invoice-manage-index.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-create/invoice-manage-create.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-detail/invoice-manage-detail.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-download/invoice-manage-download.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-preview/invoice-manage-preview.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage.routes.js","../tmp-esm2022/rolatech-angular-billing.js"],"sourcesContent":["export const billingRoutes = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9iaWxsaW5nL2JpbGxpbmcucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgY29uc3QgYmlsbGluZ1JvdXRlczogUm91dGVzID0gW107XG4iXX0=","export var InvoiceType;\n(function (InvoiceType) {\n InvoiceType[\"FIRST_PAYMENT\"] = \"First Payment\";\n InvoiceType[\"RECURRING_RENT\"] = \"Recurring\";\n InvoiceType[\"ADJUSTMENT\"] = \"Adjustment\";\n})(InvoiceType || (InvoiceType = {}));\nexport var InvoiceStatus;\n(function (InvoiceStatus) {\n InvoiceStatus[\"DRAFT\"] = \"Draft\";\n InvoiceStatus[\"ISSUED\"] = \"Issued\";\n InvoiceStatus[\"PARTIALLY_PAID\"] = \"Partially paid\";\n InvoiceStatus[\"PAID\"] = \"Paid\";\n InvoiceStatus[\"VOID\"] = \"void\";\n})(InvoiceStatus || (InvoiceStatus = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL2ludGVyZmFjZXMvaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBNEIsQ0FBQTtJQUM1Qix3Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFDRCxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixrREFBaUMsQ0FBQTtJQUNqQyw4QkFBYSxDQUFBO0lBQ2IsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxhQUFhLEtBQWIsYUFBYSxRQU14QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRheEFtb3VudDogbnVtYmVyO1xuICBkaXNjb3VudEFtb3VudDogbnVtYmVyO1xuICBjdXJyZW5jeTogc3RyaW5nO1xuICBkdWVBdDogc3RyaW5nO1xuICBwYWlkQXQ6IHN0cmluZztcbiAgdG90YWw6IG51bWJlcjtcbiAgbGluZXM6IEludm9pY2VMaW5lW107XG4gIHN0YXR1czogSW52b2ljZVN0YXR1cztcbiAgdHlwZTogSW52b2ljZVR5cGU7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVBdDogc3RyaW5nO1xuICBub3RlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEludm9pY2VMaW5lIHtcbiAgY29kZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBpbWFnZVVybDogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgY3VycmVuY3k6IHN0cmluZztcbn1cbmV4cG9ydCBlbnVtIEludm9pY2VUeXBlIHtcbiAgRklSU1RfUEFZTUVOVCA9ICdGaXJzdCBQYXltZW50JyxcbiAgUkVDVVJSSU5HX1JFTlQgPSAnUmVjdXJyaW5nJyxcbiAgQURKVVNUTUVOVCA9ICdBZGp1c3RtZW50Jyxcbn1cbmV4cG9ydCBlbnVtIEludm9pY2VTdGF0dXMge1xuICBEUkFGVCA9ICdEcmFmdCcsXG4gIElTU1VFRCA9ICdJc3N1ZWQnLFxuICBQQVJUSUFMTFlfUEFJRCA9ICdQYXJ0aWFsbHkgcGFpZCcsXG4gIFBBSUQgPSAnUGFpZCcsXG4gIFZPSUQgPSAndm9pZCcsXG59XG4vKipcbiAqIE1pbmltYWwgRFRPcyBtYXRjaGluZyBhIHR5cGljYWwgYmFja2VuZCAoYWRqdXN0IHRvIHlvdXIgQVBJKTpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlTGluZUNyZWF0ZUR0byB7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHF1YW50aXR5OiBudW1iZXI7IC8vIHdob2xlIHVuaXRzXG4gIHVuaXRQcmljZTogbnVtYmVyOyAvLyBzdG9yZSBpbiBwZW5jZSBwZXIgeW91ciBwcmVmZXJlbmNlXG4gIHRheFJhdGU6IG51bWJlcjsgLy8gZS5nLiAwLCA1LCAyMCAocGVyY2VudClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlQ3JlYXRlRHRvIHtcbiAgY3VzdG9tZXJOYW1lOiBzdHJpbmc7XG4gIGN1c3RvbWVyRW1haWw/OiBzdHJpbmc7XG4gIGN1c3RvbWVyQWRkcmVzcz86IHN0cmluZztcbiAgY3VycmVuY3k6ICdHQlAnIHwgJ1VTRCcgfCAnRVVSJztcbiAgaXNzdWVEYXRlOiBzdHJpbmc7IC8vIFlZWVktTU0tRERcbiAgZHVlRGF0ZT86IHN0cmluZzsgLy8gWVlZWS1NTS1ERFxuICBub3Rlcz86IHN0cmluZztcbiAgbGluZXM6IEludm9pY2VMaW5lQ3JlYXRlRHRvW107XG59XG4iXX0=","import { Component, input, output } from '@angular/core';\nimport { InvoiceStatus } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { DatePipe } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class InvoiceItem {\n constructor() {\n this.invoice = input.required(...(ngDevMode ? [{ debugName: \"invoice\" }] : []));\n this.status = InvoiceStatus;\n this.download = output();\n }\n onDownload() {\n this.download.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: InvoiceItem, isStandalone: true, selector: \"rolatech-invoice-item\", inputs: { invoice: { classPropertyName: \"invoice\", publicName: \"invoice\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { download: \"download\" }, ngImport: i0, template: \"<div class=\\\"flex w-full justify-between p-3 cursor-pointer hover:bg-[--rt-raised-background]\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"w-[180px] max-w-[180px]\\\">{{invoice().id}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>\\u00A3{{invoice().total}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>{{status[invoice().status]}}</div>\\n <div class=\\\"w-[100px]\\\">{{invoice().createdAt | date:'dd/MM/yyyy':'Europe/London'}}</div>\\n <button mat-icon-button class=\\\"px-2 min-w-[80px]\\\" (click)=\\\"onDownload();$event.stopPropagation()\\\">\\n <mat-icon>download</mat-icon>\\n </button>\\n </div>\\n</div>\\n\", styles: [\".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"pipe\", type: DatePipe, name: \"date\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceItem, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-item', imports: [MatButtonModule, MatIcon, DatePipe], template: \"<div class=\\\"flex w-full justify-between p-3 cursor-pointer hover:bg-[--rt-raised-background]\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"w-[180px] max-w-[180px]\\\">{{invoice().id}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>\\u00A3{{invoice().total}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>{{status[invoice().status]}}</div>\\n <div class=\\\"w-[100px]\\\">{{invoice().createdAt | date:'dd/MM/yyyy':'Europe/London'}}</div>\\n <button mat-icon-button class=\\\"px-2 min-w-[80px]\\\" (click)=\\\"onDownload();$event.stopPropagation()\\\">\\n <mat-icon>download</mat-icon>\\n </button>\\n </div>\\n</div>\\n\", styles: [\".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWl0ZW0vaW52b2ljZS1pdGVtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWl0ZW0vaW52b2ljZS1pdGVtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTyxXQUFXO0lBTnhCO1FBT0UsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLGtEQUFXLENBQUM7UUFDcEMsV0FBTSxHQUFRLGFBQWEsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxFQUFFLENBQUM7S0FJckI7SUFIQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQU5VLFdBQVc7a0dBQVgsV0FBVyw2UENaeEIsK3BCQWVBLHdLRFBZLGVBQWUsc05BQUUsT0FBTyxzSUFBRSxRQUFROzsyRkFJakMsV0FBVztrQkFOdkIsU0FBUzsrQkFDRSx1QkFBdUIsV0FDeEIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52b2ljZSwgSW52b2ljZVN0YXR1cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1pdGVtJyxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbiwgRGF0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW52b2ljZS1pdGVtLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1pdGVtLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlSXRlbSB7XG4gIGludm9pY2UgPSBpbnB1dC5yZXF1aXJlZDxJbnZvaWNlPigpO1xuICBzdGF0dXM6IGFueSA9IEludm9pY2VTdGF0dXM7XG4gIGRvd25sb2FkID0gb3V0cHV0KCk7XG4gIG9uRG93bmxvYWQoKSB7XG4gICAgdGhpcy5kb3dubG9hZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gcC0zIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXVwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidy1bMTgwcHhdIG1heC13LVsxODBweF1cIj57e2ludm9pY2UoKS5pZH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICA8ZGl2PsKje3tpbnZvaWNlKCkudG90YWx9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgPGRpdj57e3N0YXR1c1tpbnZvaWNlKCkuc3RhdHVzXX19PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInctWzEwMHB4XVwiPnt7aW52b2ljZSgpLmNyZWF0ZWRBdCB8IGRhdGU6J2RkL01NL3l5eXknOidFdXJvcGUvTG9uZG9uJ319PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJweC0yIG1pbi13LVs4MHB4XVwiIChjbGljayk9XCJvbkRvd25sb2FkKCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICA8bWF0LWljb24+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManageItem {\n constructor() {\n this.invoice = input.required(...(ngDevMode ? [{ debugName: \"invoice\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: InvoiceManageItem, isStandalone: true, selector: \"rolatech-invoice-manage-item\", inputs: { invoice: { classPropertyName: \"invoice\", publicName: \"invoice\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<p>invoice-manage-item works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageItem, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-item', imports: [], template: \"<p>invoice-manage-item works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL2NvbXBvbmVudHMvaW52b2ljZS1tYW5hZ2UtaXRlbS9pbnZvaWNlLW1hbmFnZS1pdGVtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLW1hbmFnZS1pdGVtL2ludm9pY2UtbWFuYWdlLWl0ZW0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLGlCQUFpQjtJQU45QjtRQU9FLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxrREFBVyxDQUFDO0tBQ3JDOzhHQUZZLGlCQUFpQjtrR0FBakIsaUJBQWlCLGlPQ1Q5QixxQ0FDQTs7MkZEUWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLDhCQUE4QixXQUMvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52b2ljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW52b2ljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWludm9pY2UtbWFuYWdlLWl0ZW0nLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWl0ZW0uaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnZvaWNlLW1hbmFnZS1pdGVtLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlSXRlbSB7XG4gIGludm9pY2UgPSBpbnB1dC5yZXF1aXJlZDxJbnZvaWNlPigpO1xufVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtaXRlbSB3b3JrcyE8L3A+XG4iXX0=","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceHeader {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceHeader, isStandalone: true, selector: \"rolatech-invoice-header\", ngImport: i0, template: \"<div class=\\\"flex items-center justify-between font-bold h-11 px-3\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"font-bold w-[180px] max-w-[180px]\\\">ID</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Total</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Status</div>\\n <div class=\\\"font-bold w-[100px]\\\">Date</div>\\n <div class=\\\"font-bold m-w-[80px]\\\">Download</div>\\n </div>\\n</div>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceHeader, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-header', imports: [], template: \"<div class=\\\"flex items-center justify-between font-bold h-11 px-3\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"font-bold w-[180px] max-w-[180px]\\\">ID</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Total</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Status</div>\\n <div class=\\\"font-bold w-[100px]\\\">Date</div>\\n <div class=\\\"font-bold m-w-[80px]\\\">Download</div>\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL2ludm9pY2UtaGVhZGVyL2ludm9pY2UtaGVhZGVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWhlYWRlci9pbnZvaWNlLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7a0dBQWIsYUFBYSxtRkNSMUIseWVBYUE7OzJGRExhLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1oZWFkZXInLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtaGVhZGVyLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1oZWFkZXIuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEludm9pY2VIZWFkZXIge31cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZm9udC1ib2xkIGgtMTEgcHgtM1wiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkIHctWzE4MHB4XSBtYXgtdy1bMTgwcHhdXCI+SUQ8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj5Ub3RhbDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPlN0YXR1czwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgdy1bMTAwcHhdXCI+RGF0ZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgbS13LVs4MHB4XVwiPkRvd25sb2FkPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { KeyValuePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { ContainerComponent, TabsComponent, TabComponent, ToolbarComponent, ListComponent, EmptyComponent, FilterComponent, } from '@rolatech/angular-components';\nimport { InvoiceItem } from '../../../components';\nimport { InvoiceService } from '@rolatech/angular-services';\nimport { Title } from '@angular/platform-browser';\nimport { InvoiceStatus, InvoiceType } from '../../../interfaces';\nimport { InvoiceHeader } from '../../../components/invoice-header/invoice-header';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/form-field\";\nimport * as i6 from \"@angular/material/core\";\nimport * as i7 from \"@angular/material/select\";\nexport class InvoiceIndexComponent {\n constructor() {\n this.invoiceService = inject(InvoiceService);\n this.title = inject(Title);\n this.route = inject(ActivatedRoute);\n this.filterOptions = {\n type: '',\n status: '',\n };\n this.invoiceType = InvoiceType;\n this.invoiceStatus = InvoiceStatus;\n this.links = [\n {\n name: 'ALL',\n icon: 'dashboard',\n },\n {\n name: 'Pending',\n icon: 'category',\n status: 'created',\n },\n {\n name: 'Paid',\n icon: 'category',\n status: 'paid',\n },\n ];\n this.invoices = [];\n this.select = 0;\n this.filter = false;\n }\n ngOnInit() {\n this.find();\n }\n find() {\n const options = {\n sort: 'updatedAt desc',\n };\n const filterString = this.convertFilterOptions(this.filterOptions);\n if (filterString) {\n options['filter'] = filterString;\n }\n this.invoiceService.me(options).subscribe({\n next: (res) => {\n console.log(res);\n this.invoices = res.data;\n },\n });\n }\n resetFilter() {\n this.filterOptions = {\n type: '',\n };\n this.filter = false;\n this.find();\n }\n convertFilterOptions(jsonObj) {\n return Object.entries(jsonObj)\n .filter(([key, value]) => value !== '' && value !== undefined)\n .map(([key, value]) => {\n return `${key}:${value}`;\n })\n .join(',');\n }\n statusCompareFn(t1, t2) {\n return t1 === t2;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceIndexComponent, isStandalone: true, selector: \"rolatech-invoice-index\", ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Invoices\\\" large>\\n <button mat-button (click)=\\\"filter = !filter\\\">\\n <span>Filter</span>\\n <mat-icon>tune</mat-icon>\\n </button>\\n </rolatech-toolbar>\\n <rolatech-filter>\\n <div class=\\\"collapsed\\\" [class.expanded]=\\\"filter\\\">\\n <div\\n class=\\\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex items-center gap-3 mt-2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select name=\\\"type\\\" placeholder=\\\"Type\\\" [(ngModel)]=\\\"filterOptions.type\\\">\\n @for (type of invoiceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field subscriptSizing=\\\"dynamic\\\">\\n <mat-select [compareWith]=\\\"statusCompareFn\\\" placeholder=\\\"Status\\\" [(ngModel)]=\\\"filterOptions.status\\\">\\n @for (status of invoiceStatus | keyvalue; track status) {\\n <mat-option [value]=\\\"status.key\\\">\\n {{ status.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <div>\\n <button mat-flat-button (click)=\\\"find()\\\">Search</button>\\n <button mat-stroked-button (click)=\\\"resetFilter()\\\" class=\\\"ml-3\\\">Reset</button>\\n </div>\\n </div>\\n </div>\\n </div>\\n </rolatech-filter>\\n <rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n </rolatech-tabs>\\n <rolatech-list>\\n @if (invoices) {\\n <rolatech-invoice-header></rolatech-invoice-header>\\n @for (item of invoices; track item) {\\n <rolatech-invoice-item [routerLink]=\\\"['./', item.id]\\\" [invoice]=\\\"item\\\"></rolatech-invoice-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n </rolatech-list>\\n</rolatech-container>\\n\", styles: [\".collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\\n\"], dependencies: [{ kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: TabsComponent, selector: \"rolatech-tabs\", inputs: [\"select\", \"loading\"], outputs: [\"selectChange\"] }, { kind: \"component\", type: TabComponent, selector: \"rolatech-tab\", inputs: [\"label\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ListComponent, selector: \"rolatech-list\" }, { kind: \"component\", type: InvoiceItem, selector: \"rolatech-invoice-item\", inputs: [\"invoice\"], outputs: [\"download\"] }, { kind: \"component\", type: EmptyComponent, selector: \"rolatech-empty\" }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i5.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"ngmodule\", type: MatDatepickerModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"component\", type: i6.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"component\", type: i7.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: FilterComponent, selector: \"rolatech-filter\" }, { kind: \"component\", type: InvoiceHeader, selector: \"rolatech-invoice-header\" }, { kind: \"pipe\", type: KeyValuePipe, name: \"keyvalue\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-index', imports: [\n ContainerComponent,\n RouterModule,\n TabsComponent,\n TabComponent,\n ToolbarComponent,\n ListComponent,\n InvoiceItem,\n EmptyComponent,\n MatButtonModule,\n MatIconModule,\n FormsModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatOptionModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n FilterComponent,\n KeyValuePipe,\n InvoiceHeader,\n ], encapsulation: ViewEncapsulation.None, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Invoices\\\" large>\\n <button mat-button (click)=\\\"filter = !filter\\\">\\n <span>Filter</span>\\n <mat-icon>tune</mat-icon>\\n </button>\\n </rolatech-toolbar>\\n <rolatech-filter>\\n <div class=\\\"collapsed\\\" [class.expanded]=\\\"filter\\\">\\n <div\\n class=\\\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex items-center gap-3 mt-2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select name=\\\"type\\\" placeholder=\\\"Type\\\" [(ngModel)]=\\\"filterOptions.type\\\">\\n @for (type of invoiceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field subscriptSizing=\\\"dynamic\\\">\\n <mat-select [compareWith]=\\\"statusCompareFn\\\" placeholder=\\\"Status\\\" [(ngModel)]=\\\"filterOptions.status\\\">\\n @for (status of invoiceStatus | keyvalue; track status) {\\n <mat-option [value]=\\\"status.key\\\">\\n {{ status.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <div>\\n <button mat-flat-button (click)=\\\"find()\\\">Search</button>\\n <button mat-stroked-button (click)=\\\"resetFilter()\\\" class=\\\"ml-3\\\">Reset</button>\\n </div>\\n </div>\\n </div>\\n </div>\\n </rolatech-filter>\\n <rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n </rolatech-tabs>\\n <rolatech-list>\\n @if (invoices) {\\n <rolatech-invoice-header></rolatech-invoice-header>\\n @for (item of invoices; track item) {\\n <rolatech-invoice-item [routerLink]=\\\"['./', item.id]\\\" [invoice]=\\\"item\\\"></rolatech-invoice-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n </rolatech-list>\\n</rolatech-container>\\n\", styles: [\".collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pbmRleC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2UtaW5kZXgvaW52b2ljZS1pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2UtaW5kZXgvaW52b2ljZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFB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Q0FBQztJQUNELGVBQWUsQ0FBQyxFQUFPLEVBQUUsRUFBTztRQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0FoRVUscUJBQXFCO2tHQUFyQixxQkFBcUIsa0ZDdERsQyxvN0VBMkRBLGtMRDlCSSxrQkFBa0IsOERBQ2xCLFlBQVksZ1JBQ1osYUFBYSxvSEFDYixZQUFZLDRFQUNaLGdCQUFnQixnSUFDaEIsYUFBYSwwREFDYixXQUFXLDhHQUNYLGNBQWMsMERBQ2QsZUFBZSxtWEFDZixhQUFhLG1MQUNiLFdBQVcsOFZBQ1gsa0JBQWtCLHlPQUNsQixtQkFBbUIsOEJBQ25CLGVBQWUsK0xBQ2YsY0FBYyw4QkFDZCxlQUFlLCtpQkFFZixlQUFlLDREQUVmLGFBQWEsK0RBRGIsWUFBWTs7MkZBT0gscUJBQXFCO2tCQTVCakMsU0FBUzsrQkFDRSx3QkFBd0IsV0FDekI7d0JBQ1Asa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3FCQUNkLGlCQUdjLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VmFsdWVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIENvbnRhaW5lckNvbXBvbmVudCxcbiAgVGFic0NvbXBvbmVudCxcbiAgVGFiQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxuICBMaXN0Q29tcG9uZW50LFxuICBFbXB0eUNvbXBvbmVudCxcbiAgRmlsdGVyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEludm9pY2VJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJbnZvaWNlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJbnZvaWNlLCBJbnZvaWNlU3RhdHVzLCBJbnZvaWNlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW52b2ljZUhlYWRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW52b2ljZS1oZWFkZXIvaW52b2ljZS1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLWluZGV4JyxcbiAgaW1wb3J0czogW1xuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVGFic0NvbXBvbmVudCxcbiAgICBUYWJDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBMaXN0Q29tcG9uZW50LFxuICAgIEludm9pY2VJdGVtLFxuICAgIEVtcHR5Q29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICBLZXlWYWx1ZVBpcGUsXG4gICAgSW52b2ljZUhlYWRlcixcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtaW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1pbmRleC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEludm9pY2VJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGludm9pY2VTZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcbiAgdGl0bGUgPSBpbmplY3QoVGl0bGUpO1xuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIGZpbHRlck9wdGlvbnM6IGFueSA9IHtcbiAgICB0eXBlOiAnJyxcbiAgICBzdGF0dXM6ICcnLFxuICB9O1xuICBpbnZvaWNlVHlwZSA9IEludm9pY2VUeXBlO1xuICBpbnZvaWNlU3RhdHVzID0gSW52b2ljZVN0YXR1cztcbiAgbGlua3MgPSBbXG4gICAge1xuICAgICAgbmFtZTogJ0FMTCcsXG4gICAgICBpY29uOiAnZGFzaGJvYXJkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQZW5kaW5nJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdjcmVhdGVkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQYWlkJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdwYWlkJyxcbiAgICB9LFxuICBdO1xuICBpbnZvaWNlczogSW52b2ljZVtdID0gW107XG4gIHNlbGVjdCA9IDA7XG4gIGZpbHRlciA9IGZhbHNlO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmQoKTtcbiAgfVxuICBmaW5kKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzb3J0OiAndXBkYXRlZEF0IGRlc2MnLFxuICAgIH07XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5jb252ZXJ0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIGlmIChmaWx0ZXJTdHJpbmcpIHtcbiAgICAgIG9wdGlvbnNbJ2ZpbHRlciddID0gZmlsdGVyU3RyaW5nO1xuICAgIH1cbiAgICB0aGlzLmludm9pY2VTZXJ2aWNlLm1lKG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgdGhpcy5pbnZvaWNlcyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICByZXNldEZpbHRlcigpIHtcbiAgICB0aGlzLmZpbHRlck9wdGlvbnMgPSB7XG4gICAgICB0eXBlOiAnJyxcbiAgICB9O1xuICAgIHRoaXMuZmlsdGVyID0gZmFsc2U7XG4gICAgdGhpcy5maW5kKCk7XG4gIH1cbiAgY29udmVydEZpbHRlck9wdGlvbnMoanNvbk9iaikge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhqc29uT2JqKVxuICAgICAgLmZpbHRlcigoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gJycgJiYgdmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICByZXR1cm4gYCR7a2V5fToke3ZhbHVlfWA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuICBzdGF0dXNDb21wYXJlRm4odDE6IGFueSwgdDI6IGFueSkge1xuICAgIHJldHVybiB0MSA9PT0gdDI7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1jb250YWluZXI+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiSW52b2ljZXNcIiBsYXJnZT5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImZpbHRlciA9ICFmaWx0ZXJcIj5cbiAgICAgIDxzcGFuPkZpbHRlcjwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbj50dW5lPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9yb2xhdGVjaC10b29sYmFyPlxuICA8cm9sYXRlY2gtZmlsdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZWRcIiBbY2xhc3MuZXhwYW5kZWRdPVwiZmlsdGVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWluLXctWzI1NnB4XSBtZDptaW4tdy1bMzIwcHhdIHB4LTMgaC1mdWxsIGZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6aC1mdWxsIGl0ZW1zLWNlbnRlciBtZDppdGVtcy1zdGFydCBzaGFkb3ctaW5uZXIgc2hhZG93LWxpZ2h0LTQwMCBtZDpzaGFkb3ctbm9uZSBvdmVyZmxvdy14LXNjcm9sbCBvdmVyZmxvdy15LWhpZGRlbiBzY3JvbGxiYXItaGlkZSB3aGl0ZXNwYWNlLXByZVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBtdC0yXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT1cInR5cGVcIiBwbGFjZWhvbGRlcj1cIlR5cGVcIiBbKG5nTW9kZWwpXT1cImZpbHRlck9wdGlvbnMudHlwZVwiPlxuICAgICAgICAgICAgICBAZm9yICh0eXBlIG9mIGludm9pY2VUeXBlIHwga2V5dmFsdWU7IHRyYWNrIHR5cGUpIHtcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHlwZS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbY29tcGFyZVdpdGhdPVwic3RhdHVzQ29tcGFyZUZuXCIgcGxhY2Vob2xkZXI9XCJTdGF0dXNcIiBbKG5nTW9kZWwpXT1cImZpbHRlck9wdGlvbnMuc3RhdHVzXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHN0YXR1cyBvZiBpbnZvaWNlU3RhdHVzIHwga2V5dmFsdWU7IHRyYWNrIHN0YXR1cykge1xuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJzdGF0dXMua2V5XCI+XG4gICAgICAgICAgICAgICAgICB7eyBzdGF0dXMudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiZmluZCgpXCI+U2VhcmNoPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwicmVzZXRGaWx0ZXIoKVwiIGNsYXNzPVwibWwtM1wiPlJlc2V0PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtZmlsdGVyPlxuICA8cm9sYXRlY2gtdGFicyBbc2VsZWN0XT1cInNlbGVjdFwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgbGlua3M7IHRyYWNrIGl0ZW0pIHtcbiAgICAgIEBpZiAoaXRlbS5zdGF0dXMpIHtcbiAgICAgICAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCIgW3F1ZXJ5UGFyYW1zXT1cInsgc3RhdHVzOiBpdGVtLnN0YXR1cyB9XCI+PC9yb2xhdGVjaC10YWI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCI+PC9yb2xhdGVjaC10YWI+XG4gICAgICB9XG4gICAgfVxuICA8L3JvbGF0ZWNoLXRhYnM+XG4gIDxyb2xhdGVjaC1saXN0PlxuICAgIEBpZiAoaW52b2ljZXMpIHtcbiAgICAgIDxyb2xhdGVjaC1pbnZvaWNlLWhlYWRlcj48L3JvbGF0ZWNoLWludm9pY2UtaGVhZGVyPlxuICAgICAgQGZvciAoaXRlbSBvZiBpbnZvaWNlczsgdHJhY2sgaXRlbSkge1xuICAgICAgICA8cm9sYXRlY2gtaW52b2ljZS1pdGVtIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCBpdGVtLmlkXVwiIFtpbnZvaWNlXT1cIml0ZW1cIj48L3JvbGF0ZWNoLWludm9pY2UtaXRlbT5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxyb2xhdGVjaC1lbXB0eT48L3JvbGF0ZWNoLWVtcHR5PlxuICAgIH1cbiAgPC9yb2xhdGVjaC1saXN0PlxuPC9yb2xhdGVjaC1jb250YWluZXI+XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { BaseComponent, ContainerComponent, SpinnerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { InvoiceService, PaymentService } from '@rolatech/angular-services';\nimport { switchMap } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterLink } from '@angular/router';\nimport { FixedPipe, ShippingAddressPipe } from '@rolatech/angular-common';\nimport { InvoiceStatus } from '../../../interfaces';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class InvoiceDetailComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.invoiceService = inject(InvoiceService);\n this.paymentService = inject(PaymentService);\n this.status = InvoiceStatus;\n }\n ngOnInit() {\n this.route.params.subscribe((params) => {\n const id = params['id'];\n this.get(id);\n });\n }\n get(id) {\n this.invoiceService.get(id).subscribe({\n next: (res) => {\n console.log(res);\n this.invoice = res.data;\n },\n });\n }\n pay() {\n const data = {\n businessType: 'INVOICE',\n businessId: this.id,\n provider: 'STRIPE',\n method: 'STRIPE_CHECKOUT',\n };\n this.paymentService\n .createPaymentIntent(data)\n .pipe(switchMap((res) => {\n const intent = {\n intentId: res.data.id,\n provider: 'STRIPE',\n method: 'STRIPE_CHECKOUT',\n };\n return this.paymentService.createPayment(intent);\n }))\n .subscribe({\n next: (res) => {\n console.log(res);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceDetailComponent, isStandalone: true, selector: \"rolatech-invoice-detail\", usesInheritance: true, ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar [title]=\\\"status[invoice.status]\\\" large link=\\\"../\\\"> </rolatech-toolbar>\\n <div>\\n <div>\\n <div class=\\\"mt-3\\\">\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Created at</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.createdAt }}</span>\\n </div>\\n\\n <div class=\\\"flex items-baseline justify-between py-1\\\">\\n <span class=\\\"font-medium min-w-20\\\" i18n>Note</span>\\n <span class=\\\"text-sm\\\">{{ invoice.note || '\\u65E0' }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Total</span>\\n <span class=\\\"text-sm\\\">\\u00A5{{ invoice.total | fixed }}</span>\\n </div>\\n </div>\\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\\n <div class=\\\"mt-6\\\">\\n <div class=\\\"text-lg pb-3 font-medium\\\" i18n>Payment method</div>\\n\\n <div class=\\\"flex items-center\\\">\\n <svg\\n class=\\\"svg-icon\\\"\\n style=\\\"width: 2rem; height: 2rem\\\"\\n viewBox=\\\"0 0 1024 1024\\\"\\n version=\\\"1.1\\\"\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\n >\\n <path\\n d=\\\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\\\"\\n fill=\\\"#09BB07\\\"\\n />\\n </svg>\\n <span class=\\\"ml-1\\\">\\u5FAE\\u4FE1\\u652F\\u4ED8</span>\\n </div>\\n </div>\\n }\\n </div>\\n\\n <!-- safe area -->\\n <div class=\\\"pb-16 sm:pb-3\\\"></div>\\n <div class=\\\"\\\">\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button class=\\\"w-32 min-h-11\\\" (click)=\\\"pay()\\\" i18n>Pay</button>\\n </div>\\n </div>\\n </div>\\n</rolatech-container>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"pipe\", type: FixedPipe, name: \"fixed\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceDetailComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-detail', imports: [\n MatButtonModule,\n MatIconModule,\n NgClass,\n SpinnerComponent,\n ContainerComponent,\n ToolbarComponent,\n FixedPipe,\n ShippingAddressPipe,\n RouterLink,\n ], template: \"<rolatech-container>\\n <rolatech-toolbar [title]=\\\"status[invoice.status]\\\" large link=\\\"../\\\"> </rolatech-toolbar>\\n <div>\\n <div>\\n <div class=\\\"mt-3\\\">\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Created at</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.createdAt }}</span>\\n </div>\\n\\n <div class=\\\"flex items-baseline justify-between py-1\\\">\\n <span class=\\\"font-medium min-w-20\\\" i18n>Note</span>\\n <span class=\\\"text-sm\\\">{{ invoice.note || '\\u65E0' }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Total</span>\\n <span class=\\\"text-sm\\\">\\u00A5{{ invoice.total | fixed }}</span>\\n </div>\\n </div>\\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\\n <div class=\\\"mt-6\\\">\\n <div class=\\\"text-lg pb-3 font-medium\\\" i18n>Payment method</div>\\n\\n <div class=\\\"flex items-center\\\">\\n <svg\\n class=\\\"svg-icon\\\"\\n style=\\\"width: 2rem; height: 2rem\\\"\\n viewBox=\\\"0 0 1024 1024\\\"\\n version=\\\"1.1\\\"\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\n >\\n <path\\n d=\\\"M395.846 603.585c-3.921 1.98-7.936 2.925-12.81 2.925-10.9 0-19.791-5.85-24.764-14.625l-2.006-3.864-78.106-167.913c-0.956-1.98-0.956-3.865-0.956-5.845 0-7.83 5.928-13.68 13.863-13.68 2.965 0 5.928 0.944 8.893 2.924l91.965 64.43c6.884 3.864 14.82 6.79 23.708 6.79 4.972 0 9.85-0.945 14.822-2.926L861.71 282.479c-77.149-89.804-204.684-148.384-349.135-148.384-235.371 0-427.242 157.158-427.242 351.294 0 105.368 57.361 201.017 147.323 265.447 6.88 4.905 11.852 13.68 11.852 22.45 0 2.925-0.957 5.85-2.006 8.775-6.881 26.318-18.831 69.334-18.831 71.223-0.958 2.92-2.013 6.79-2.013 10.75 0 7.83 5.929 13.68 13.865 13.68 2.963 0 5.928-0.944 7.935-2.925l92.922-53.674c6.885-3.87 14.82-6.794 22.756-6.794 3.916 0 8.889 0.944 12.81 1.98 43.496 12.644 91.012 19.53 139.48 19.53 235.372 0 427.24-157.158 427.24-351.294 0-58.58-17.78-114.143-48.467-163.003l-491.39 280.07-2.963 1.98z\\\"\\n fill=\\\"#09BB07\\\"\\n />\\n </svg>\\n <span class=\\\"ml-1\\\">\\u5FAE\\u4FE1\\u652F\\u4ED8</span>\\n </div>\\n </div>\\n }\\n </div>\\n\\n <!-- safe area -->\\n <div class=\\\"pb-16 sm:pb-3\\\"></div>\\n <div class=\\\"\\\">\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button class=\\\"w-32 min-h-11\\\" (click)=\\\"pay()\\\" i18n>Pay</button>\\n </div>\\n </div>\\n </div>\\n</rolatech-container>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS9pbnZvaWNlLWRldGFpbC9pbnZvaWNlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2UtZGV0YWlsL2ludm9pY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBZ0IsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFXLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFrQjdELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBaEJ6RDs7UUFpQkUsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFeEMsV0FBTSxHQUFHLGFBQWEsQ0FBQztLQXdDeEI7SUF2Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEVBQVU7UUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELEdBQUc7UUFDRCxNQUFNLElBQUksR0FBRztZQUNYLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNuQixRQUFRLEVBQUUsUUFBUTtZQUNsQixNQUFNLEVBQUUsaUJBQWlCO1NBQzFCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYzthQUNoQixtQkFBbUIsQ0FBQyxJQUFJLENBQUM7YUFDekIsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHO2dCQUNiLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixNQUFNLEVBQUUsaUJBQWlCO2FBQzFCLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0EzQ1Usc0JBQXNCO2tHQUF0QixzQkFBc0IsMEdDM0JuQywrcEZBbURBLHlERHJDSSxlQUFlLG1YQUNmLGFBQWEsK0JBR2Isa0JBQWtCLCtEQUNsQixnQkFBZ0IsMkhBQ2hCLFNBQVM7OzJGQU9BLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixVQUFVO3FCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIENvbnRhaW5lckNvbXBvbmVudCwgU3Bpbm5lckNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW52b2ljZVNlcnZpY2UsIFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGaXhlZFBpcGUsIFNoaXBwaW5nQWRkcmVzc1BpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgSW52b2ljZSwgSW52b2ljZVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLWRldGFpbCcsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgRml4ZWRQaXBlLFxuICAgIFNoaXBwaW5nQWRkcmVzc1BpcGUsXG4gICAgUm91dGVyTGluayxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ludm9pY2UtZGV0YWlsLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgSW52b2ljZURldGFpbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpbnZvaWNlU2VydmljZSA9IGluamVjdChJbnZvaWNlU2VydmljZSk7XG4gIHBheW1lbnRTZXJ2aWNlID0gaW5qZWN0KFBheW1lbnRTZXJ2aWNlKTtcbiAgaW52b2ljZSE6IEludm9pY2U7XG4gIHN0YXR1cyA9IEludm9pY2VTdGF0dXM7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHBhcmFtc1snaWQnXTtcbiAgICAgIHRoaXMuZ2V0KGlkKTtcbiAgICB9KTtcbiAgfVxuICBnZXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuaW52b2ljZVNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgIHRoaXMuaW52b2ljZSA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwYXkoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGJ1c2luZXNzVHlwZTogJ0lOVk9JQ0UnLFxuICAgICAgYnVzaW5lc3NJZDogdGhpcy5pZCxcbiAgICAgIHByb3ZpZGVyOiAnU1RSSVBFJyxcbiAgICAgIG1ldGhvZDogJ1NUUklQRV9DSEVDS09VVCcsXG4gICAgfTtcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlXG4gICAgICAuY3JlYXRlUGF5bWVudEludGVudChkYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBpbnRlbnQgPSB7XG4gICAgICAgICAgICBpbnRlbnRJZDogcmVzLmRhdGEuaWQsXG4gICAgICAgICAgICBwcm92aWRlcjogJ1NUUklQRScsXG4gICAgICAgICAgICBtZXRob2Q6ICdTVFJJUEVfQ0hFQ0tPVVQnLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuY3JlYXRlUGF5bWVudChpbnRlbnQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciBbdGl0bGVdPVwic3RhdHVzW2ludm9pY2Uuc3RhdHVzXVwiIGxhcmdlIGxpbms9XCIuLi9cIj4gPC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2PlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCIgaTE4bj5DcmVhdGVkIGF0PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPiB7eyBpbnZvaWNlLmNyZWF0ZWRBdCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtIG1pbi13LTIwXCIgaTE4bj5Ob3RlPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPnt7IGludm9pY2Uubm90ZSB8fCAn5pegJyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIiBpMThuPlRvdGFsPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPsKle3sgaW52b2ljZS50b3RhbCB8IGZpeGVkIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChpbnZvaWNlLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcgfHwgaW52b2ljZS5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ1BBSUQnKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC02XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgcGItMyBmb250LW1lZGl1bVwiIGkxOG4+UGF5bWVudCBtZXRob2Q8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICBjbGFzcz1cInN2Zy1pY29uXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMnJlbTsgaGVpZ2h0OiAycmVtXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMDI0IDEwMjRcIlxuICAgICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0zOTUuODQ2IDYwMy41ODVjLTMuOTIxIDEuOTgtNy45MzYgMi45MjUtMTIuODEgMi45MjUtMTAuOSAwLTE5Ljc5MS01Ljg1LTI0Ljc2NC0xNC42MjVsLTIuMDA2LTMuODY0LTc4LjEwNi0xNjcuOTEzYy0wLjk1Ni0xLjk4LTAuOTU2LTMuODY1LTAuOTU2LTUuODQ1IDAtNy44MyA1LjkyOC0xMy42OCAxMy44NjMtMTMuNjggMi45NjUgMCA1LjkyOCAwLjk0NCA4Ljg5MyAyLjkyNGw5MS45NjUgNjQuNDNjNi44ODQgMy44NjQgMTQuODIgNi43OSAyMy43MDggNi43OSA0Ljk3MiAwIDkuODUtMC45NDUgMTQuODIyLTIuOTI2TDg2MS43MSAyODIuNDc5Yy03Ny4xNDktODkuODA0LTIwNC42ODQtMTQ4LjM4NC0zNDkuMTM1LTE0OC4zODQtMjM1LjM3MSAwLTQyNy4yNDIgMTU3LjE1OC00MjcuMjQyIDM1MS4yOTQgMCAxMDUuMzY4IDU3LjM2MSAyMDEuMDE3IDE0Ny4zMjMgMjY1LjQ0NyA2Ljg4IDQuOTA1IDExLjg1MiAxMy42OCAxMS44NTIgMjIuNDUgMCAyLjkyNS0wLjk1NyA1Ljg1LTIuMDA2IDguNzc1LTYuODgxIDI2LjMxOC0xOC44MzEgNjkuMzM0LTE4LjgzMSA3MS4yMjMtMC45NTggMi45Mi0yLjAxMyA2Ljc5LTIuMDEzIDEwLjc1IDAgNy44MyA1LjkyOSAxMy42OCAxMy44NjUgMTMuNjggMi45NjMgMCA1LjkyOC0wLjk0NCA3LjkzNS0yLjkyNWw5Mi45MjItNTMuNjc0YzYuODg1LTMuODcgMTQuODItNi43OTQgMjIuNzU2LTYuNzk0IDMuOTE2IDAgOC44ODkgMC45NDQgMTIuODEgMS45OCA0My40OTYgMTIuNjQ0IDkxLjAxMiAxOS41MyAxMzkuNDggMTkuNTMgMjM1LjM3MiAwIDQyNy4yNC0xNTcuMTU4IDQyNy4yNC0zNTEuMjk0IDAtNTguNTgtMTcuNzgtMTE0LjE0My00OC40NjctMTYzLjAwM2wtNDkxLjM5IDI4MC4wNy0yLjk2MyAxLjk4elwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIiMwOUJCMDdcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTFcIj7lvq7kv6HmlK/ku5g8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBzYWZlIGFyZWEgLS0+XG4gICAgPGRpdiBjbGFzcz1cInBiLTE2IHNtOnBiLTNcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmRcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTMyIG1pbi1oLTExXCIgKGNsaWNrKT1cInBheSgpXCIgaTE4bj5QYXk8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtY29udGFpbmVyPlxuIl19","import { InvoiceIndexComponent } from './invoice-index/invoice-index.component';\nimport { InvoiceDetailComponent } from './invoice-detail/invoice-detail.component';\nexport const invoiceRoutes = [\n {\n path: '',\n component: InvoiceIndexComponent,\n },\n {\n path: ':id',\n component: InvoiceDetailComponent,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVztJQUNuQztRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZvaWNlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2ludm9pY2UtaW5kZXgvaW52b2ljZS1pbmRleC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW52b2ljZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vaW52b2ljZS1kZXRhaWwvaW52b2ljZS1kZXRhaWwuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IGludm9pY2VSb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGNvbXBvbmVudDogSW52b2ljZUluZGV4Q29tcG9uZW50LFxuICB9LFxuICB7XG4gICAgcGF0aDogJzppZCcsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlRGV0YWlsQ29tcG9uZW50LFxuICB9LFxuXTtcbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { Component, DestroyRef, inject, signal } from '@angular/core';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { TabComponent, TabsComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { InvoiceService } from '@rolatech/angular-services';\nimport { InvoiceManageItem } from '../../../components';\nimport { distinctUntilChanged, finalize, map, switchMap } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/paginator\";\nexport class InvoiceManageIndex {\n constructor() {\n this.invoiceService = inject(InvoiceService);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.destroyRef = inject(DestroyRef);\n this.select = 0;\n this.invoices = signal([], ...(ngDevMode ? [{ debugName: \"invoices\" }] : []));\n this.loading = false;\n this.length = 100;\n this.pageSize = 15;\n this.pageIndex = signal(0, ...(ngDevMode ? [{ debugName: \"pageIndex\" }] : []));\n this.pageSizeOptions = [5, 10, 25, 100];\n this.links = [\n {\n name: 'All',\n icon: 'dashboard',\n },\n {\n name: 'Pending',\n icon: 'category',\n status: 'created',\n },\n {\n name: 'Paid',\n icon: 'category',\n status: 'paid',\n },\n ];\n }\n ngOnInit() {\n const sub = this.route.queryParamMap\n .pipe(map((p) => {\n const page = p.get('page') ? Number(p.get('page')) : 1;\n this.pageIndex.set(Math.max(page - 1, 0));\n return {\n page,\n limit: p.get('limit') ? Number(p.get('limit')) : 15,\n sort: p.get('sort') || undefined,\n };\n }), \n // Cheap deep compare via JSON to avoid spam calls when nothing changed\n map((o) => JSON.stringify(o)), distinctUntilChanged(), map((s) => JSON.parse(s)), switchMap((params) => {\n this.loading = true;\n return this.invoiceService.findByManager(params).pipe(finalize(() => (this.loading = false)));\n }))\n .subscribe({\n next: (res) => {\n this.invoices.set(res.data);\n this.meta = res.meta;\n this.length = res.meta.pagination.count;\n },\n error: () => {\n this.invoices.set([]);\n this.length = 0;\n },\n });\n // // auto-unsubscribe on destroy\n this.destroyRef.onDestroy(() => sub.unsubscribe());\n }\n onPage(e) {\n this.router.navigate([], {\n queryParams: { page: e.pageIndex + 1, limit: e.pageSize },\n queryParamsHandling: 'merge',\n replaceUrl: true, // optional: avoid stacking history on every page click\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageIndex, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceManageIndex, isStandalone: true, selector: \"rolatech-invoice-manage-index\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Invoices\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) { @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n } }\\n</rolatech-tabs>\\n<div>\\n @for (item of invoices(); track $index) {\\n <rolatech-invoice-manage-item [invoice]=\\\"item\\\"></rolatech-invoice-manage-item>\\n }\\n</div>\\n<mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageIndex]=\\\"pageIndex()\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"onPage($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n>\\n</mat-paginator>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: TabsComponent, selector: \"rolatech-tabs\", inputs: [\"select\", \"loading\"], outputs: [\"selectChange\"] }, { kind: \"component\", type: TabComponent, selector: \"rolatech-tab\", inputs: [\"label\"] }, { kind: \"ngmodule\", type: MatPaginatorModule }, { kind: \"component\", type: i1.MatPaginator, selector: \"mat-paginator\", inputs: [\"color\", \"pageIndex\", \"length\", \"pageSize\", \"pageSizeOptions\", \"hidePageSize\", \"showFirstLastButtons\", \"selectConfig\", \"disabled\"], outputs: [\"page\"], exportAs: [\"matPaginator\"] }, { kind: \"component\", type: InvoiceManageItem, selector: \"rolatech-invoice-manage-item\", inputs: [\"invoice\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageIndex, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-index', imports: [CommonModule, RouterLink, ToolbarComponent, TabsComponent, TabComponent, MatPaginatorModule, InvoiceManageItem], template: \"<rolatech-toolbar title=\\\"Invoices\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) { @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n } }\\n</rolatech-tabs>\\n<div>\\n @for (item of invoices(); track $index) {\\n <rolatech-invoice-manage-item [invoice]=\\\"item\\\"></rolatech-invoice-manage-item>\\n }\\n</div>\\n<mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageIndex]=\\\"pageIndex()\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"onPage($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n>\\n</mat-paginator>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlLW1hbmFnZS9pbnZvaWNlLW1hbmFnZS1pbmRleC9pbnZvaWNlLW1hbmFnZS1pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWluZGV4L2ludm9pY2UtbWFuYWdlLWluZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFRdEUsTUFBTSxPQUFPLGtCQUFrQjtJQU4vQjtRQU9VLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxD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QUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLENBQUM7U0FDRixDQUFDLENBQUM7UUFFTCxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDekQsbUJBQW1CLEVBQUUsT0FBTztZQUM1QixVQUFVLEVBQUUsSUFBSSxFQUFFLHVEQUF1RDtTQUMxRSxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXpFVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix5RkNoQi9CLHV6QkEwQkEseUREZFksWUFBWSwrQkFBRSxVQUFVLG9PQUFFLGdCQUFnQixnSUFBRSxhQUFhLG9IQUFFLFlBQVksMkVBQUUsa0JBQWtCLG9TQUFFLGlCQUFpQjs7MkZBSTdHLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSwrQkFBK0IsV0FDaEMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUsIFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRhYkNvbXBvbmVudCwgVGFic0NvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW52b2ljZVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbnZvaWNlTWFuYWdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLW1hbmFnZS1pbmRleCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIFRvb2xiYXJDb21wb25lbnQsIFRhYnNDb21wb25lbnQsIFRhYkNvbXBvbmVudCwgTWF0UGFnaW5hdG9yTW9kdWxlLCBJbnZvaWNlTWFuYWdlSXRlbV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnZvaWNlLW1hbmFnZS1pbmRleC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWluZGV4LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlSW5kZXggaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGludm9pY2VTZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHNlbGVjdCA9IDA7XG4gIGludm9pY2VzID0gc2lnbmFsPEludm9pY2VbXT4oW10pO1xuICBtZXRhOiBhbnk7XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgbGVuZ3RoID0gMTAwO1xuICBwYWdlU2l6ZSA9IDE1O1xuICBwYWdlSW5kZXggPSBzaWduYWwoMCk7XG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbNSwgMTAsIDI1LCAxMDBdO1xuICBsaW5rcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnQWxsJyxcbiAgICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1BlbmRpbmcnLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ2NyZWF0ZWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1BhaWQnLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ3BhaWQnLFxuICAgIH0sXG4gIF07XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhZ2UgPSBwLmdldCgncGFnZScpID8gTnVtYmVyKHAuZ2V0KCdwYWdlJykpIDogMTtcbiAgICAgICAgICB0aGlzLnBhZ2VJbmRleC5zZXQoTWF0aC5tYXgocGFnZSAtIDEsIDApKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIGxpbWl0OiBwLmdldCgnbGltaXQnKSA/IE51bWJlcihwLmdldCgnbGltaXQnKSkgOiAxNSxcbiAgICAgICAgICAgIHNvcnQ6IHAuZ2V0KCdzb3J0JykgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgICAvLyBDaGVhcCBkZWVwIGNvbXBhcmUgdmlhIEpTT04gdG8gYXZvaWQgc3BhbSBjYWxscyB3aGVuIG5vdGhpbmcgY2hhbmdlZFxuICAgICAgICBtYXAoKG8pID0+IEpTT04uc3RyaW5naWZ5KG8pKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgbWFwKChzKSA9PiBKU09OLnBhcnNlKHMpKSxcbiAgICAgICAgc3dpdGNoTWFwKChwYXJhbXMpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiB0aGlzLmludm9pY2VTZXJ2aWNlLmZpbmRCeU1hbmFnZXIocGFyYW1zKS5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuaW52b2ljZXMuc2V0KHJlcy5kYXRhKTtcbiAgICAgICAgICB0aGlzLm1ldGEgPSByZXMubWV0YTtcbiAgICAgICAgICB0aGlzLmxlbmd0aCA9IHJlcy5tZXRhLnBhZ2luYXRpb24uY291bnQ7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnZvaWNlcy5zZXQoW10pO1xuICAgICAgICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgLy8gLy8gYXV0by11bnN1YnNjcmliZSBvbiBkZXN0cm95XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbiAgb25QYWdlKGU6IFBhZ2VFdmVudCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICBxdWVyeVBhcmFtczogeyBwYWdlOiBlLnBhZ2VJbmRleCArIDEsIGxpbWl0OiBlLnBhZ2VTaXplIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgcmVwbGFjZVVybDogdHJ1ZSwgLy8gb3B0aW9uYWw6IGF2b2lkIHN0YWNraW5nIGhpc3Rvcnkgb24gZXZlcnkgcGFnZSBjbGlja1xuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIkludm9pY2VzXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPjwvZGl2PlxuPC9yb2xhdGVjaC10b29sYmFyPlxuPHJvbGF0ZWNoLXRhYnMgW3NlbGVjdF09XCJzZWxlY3RcIj5cbiAgQGZvciAoaXRlbSBvZiBsaW5rczsgdHJhY2sgaXRlbSkgeyBAaWYgKGl0ZW0uc3RhdHVzKSB7XG4gIDxyb2xhdGVjaC10YWIgW2xhYmVsXT1cIml0ZW0ubmFtZVwiIHJvdXRlckxpbms9XCIuL1wiIFtxdWVyeVBhcmFtc109XCJ7IHN0YXR1czogaXRlbS5zdGF0dXMgfVwiPjwvcm9sYXRlY2gtdGFiPlxuICB9IEBlbHNlIHtcbiAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCI+PC9yb2xhdGVjaC10YWI+XG4gIH0gfVxuPC9yb2xhdGVjaC10YWJzPlxuPGRpdj5cbiAgQGZvciAoaXRlbSBvZiBpbnZvaWNlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgPHJvbGF0ZWNoLWludm9pY2UtbWFuYWdlLWl0ZW0gW2ludm9pY2VdPVwiaXRlbVwiPjwvcm9sYXRlY2gtaW52b2ljZS1tYW5hZ2UtaXRlbT5cbiAgfVxuPC9kaXY+XG48bWF0LXBhZ2luYXRvclxuICAjcGFnaW5hdG9yXG4gIFtsZW5ndGhdPVwibGVuZ3RoXCJcbiAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXgoKVwiXG4gIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgKHBhZ2UpPVwib25QYWdlKCRldmVudClcIlxuICBoaWRlUGFnZVNpemVcbiAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnNcbj5cbjwvbWF0LXBhZ2luYXRvcj5cbiJdfQ==","import { CommonModule, CurrencyPipe, NgOptimizedImage } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { InvoiceService } from '@rolatech/angular-services';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/form-field\";\nimport * as i5 from \"@angular/material/input\";\nimport * as i6 from \"@angular/material/select\";\nimport * as i7 from \"@angular/material/core\";\nimport * as i8 from \"@angular/material/divider\";\nimport * as i9 from \"@angular/material/card\";\nimport * as i10 from \"@angular/common\";\nexport class InvoiceManageCreate {\n constructor() {\n this.service = inject(InvoiceService);\n // Template-driven model\n this.invoice = {\n customerName: '',\n customerEmail: '',\n customerAddress: '',\n currency: 'GBP',\n issueDate: this.todayIso(),\n dueDate: '',\n notes: '',\n lines: [{ description: '', quantity: 1, unitPrice: 0, taxRate: 0 }],\n };\n this.lastResponse = null;\n }\n addLine() {\n this.invoice.lines.push({ description: '', quantity: 1, unitPrice: 0, taxRate: 0 });\n }\n removeLine(i) {\n this.invoice.lines.splice(i, 1);\n }\n subtotalPence() {\n return this.invoice.lines.reduce((sum, l) => sum + Math.round((l.unitPrice || 0) * 100) * (l.quantity || 0), 0);\n }\n taxPence() {\n return this.invoice.lines.reduce((t, l) => {\n const unitPence = Math.round((l.unitPrice || 0) * 100);\n const rate = (l.taxRate || 0) / 100;\n return t + Math.round(unitPence * (l.quantity || 0) * rate);\n }, 0);\n }\n totalPence() {\n return this.subtotalPence() + this.taxPence();\n }\n subtotalMajor() {\n return this.penceToMajor(this.subtotalPence());\n }\n taxMajor() {\n return this.penceToMajor(this.taxPence());\n }\n totalMajor() {\n return this.penceToMajor(this.totalPence());\n }\n save(form) {\n if (!form.form.valid || this.invoice.lines.length === 0)\n return;\n const dto = {\n customerName: this.invoice.customerName,\n customerEmail: this.invoice.customerEmail || undefined,\n customerAddress: this.invoice.customerAddress || undefined,\n currency: this.invoice.currency,\n issueDate: this.invoice.issueDate,\n dueDate: this.invoice.dueDate || undefined,\n notes: this.invoice.notes || undefined,\n lines: this.invoice.lines.map((l) => ({\n description: l.description,\n quantity: Number(l.quantity || 0),\n unitPrice: Math.round(Number(l.unitPrice || 0)),\n taxRate: Number(l.taxRate || 0),\n })),\n };\n this.service.create(dto).subscribe({\n next: (res) => {\n this.lastResponse = res;\n },\n error: (err) => {\n alert(err?.message || 'Failed to create invoice');\n },\n });\n }\n resetForm() {\n this.invoice = {\n customerName: '',\n customerEmail: '',\n customerAddress: '',\n currency: 'GBP',\n issueDate: this.todayIso(),\n dueDate: '',\n notes: '',\n lines: [{ description: '', quantity: 1, unitPrice: 0, taxRate: 0 }],\n };\n this.lastResponse = null;\n }\n penceToMajor(pence) {\n return Math.round(pence) / 100;\n }\n todayIso() {\n return new Date().toISOString().slice(0, 10);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageCreate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceManageCreate, isStandalone: true, selector: \"rolatech-invoice-manage-create\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Create Invoice\\\">\\n <button mat-stroked-button (click)=\\\"addLine()\\\">\\n <mat-icon>add</mat-icon>\\n Add line\\n </button>\\n <button\\n mat-flat-button\\n color=\\\"primary\\\"\\n (click)=\\\"save(invoiceForm)\\\"\\n [disabled]=\\\"!invoiceForm.form.valid || invoice.lines.length === 0\\\"\\n >\\n Save\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-4 md:p-8 max-w-6xl mx-auto space-y-6\\\">\\n <form #invoiceForm=\\\"ngForm\\\" novalidate>\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4\\\">\\n <div class=\\\"grid md:grid-cols-2 gap-4\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer name</mat-label>\\n <input matInput name=\\\"customerName\\\" [(ngModel)]=\\\"invoice.customerName\\\" required />\\n @if (invoiceForm.submitted && !invoice.customerName) {<mat-error>Name is required</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer email</mat-label>\\n <input matInput type=\\\"email\\\" name=\\\"customerEmail\\\" [(ngModel)]=\\\"invoice.customerEmail\\\" #email=\\\"ngModel\\\" email />\\n @if (email.invalid && (email.dirty || email.touched)) {<mat-error>Invalid email</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Customer address</mat-label>\\n <textarea matInput rows=\\\"2\\\" name=\\\"customerAddress\\\" [(ngModel)]=\\\"invoice.customerAddress\\\"></textarea>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Currency</mat-label>\\n <mat-select name=\\\"currency\\\" [(ngModel)]=\\\"invoice.currency\\\" required>\\n <mat-option value=\\\"GBP\\\">GBP</mat-option>\\n <mat-option value=\\\"USD\\\">USD</mat-option>\\n <mat-option value=\\\"EUR\\\">EUR</mat-option>\\n </mat-select>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Issue date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"issueDate\\\" [(ngModel)]=\\\"invoice.issueDate\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Due date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"dueDate\\\" [(ngModel)]=\\\"invoice.dueDate\\\" />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Notes</mat-label>\\n <textarea\\n matInput\\n rows=\\\"2\\\"\\n name=\\\"notes\\\"\\n [(ngModel)]=\\\"invoice.notes\\\"\\n placeholder=\\\"Optional notes shown on the invoice\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </mat-card>\\n\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 space-y-4 mt-4\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <h2 class=\\\"text-xl font-medium\\\">Line items</h2>\\n <button mat-stroked-button type=\\\"button\\\" (click)=\\\"addLine()\\\">\\n <mat-icon>playlist_add</mat-icon>\\n Add line\\n </button>\\n </div>\\n\\n <div class=\\\"hidden md:grid grid-cols-12 gap-2 text-sm font-medium px-2\\\">\\n <div class=\\\"col-span-5\\\">Description</div>\\n <div class=\\\"col-span-2 text-right\\\">Qty</div>\\n <div class=\\\"col-span-2 text-right\\\">Unit Price</div>\\n <div class=\\\"col-span-2 text-right\\\">Tax %</div>\\n <div class=\\\"col-span-1\\\"></div>\\n </div>\\n\\n <div class=\\\"space-y-3\\\">\\n @for ( line of invoice.lines; track line; let i = $index) {\\n <div class=\\\"grid grid-cols-1 md:grid-cols-12 gap-2 items-start\\\">\\n <mat-form-field class=\\\"md:col-span-5\\\" appearance=\\\"fill\\\">\\n <mat-label>Description</mat-label>\\n <input\\n matInput\\n [name]=\\\"'desc'+i\\\"\\n [(ngModel)]=\\\"line.description\\\"\\n required\\n placeholder=\\\"e.g. Photo editing package\\\"\\n />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Quantity</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"1\\\" step=\\\"1\\\" [name]=\\\"'qty'+i\\\" [(ngModel)]=\\\"line.quantity\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Unit Price (major unit)</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'unit'+i\\\" [(ngModel)]=\\\"line.unitPrice\\\" required />\\n <mat-hint>e.g. 99.99</mat-hint>\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Tax %</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'tax'+i\\\" [(ngModel)]=\\\"line.taxRate\\\" />\\n </mat-form-field>\\n\\n <div class=\\\"md:col-span-1 flex items-center justify-end\\\">\\n <button mat-icon-button color=\\\"warn\\\" type=\\\"button\\\" (click)=\\\"removeLine(i)\\\" aria-label=\\\"Remove line\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n </div>\\n <mat-divider></mat-divider>\\n }\\n </div>\\n\\n <div class=\\\"flex flex-col items-end space-y-1\\\">\\n <div class=\\\"text-sm\\\">\\n Subtotal: <span class=\\\"font-medium\\\">{{ subtotalMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-sm\\\">\\n Tax: <span class=\\\"font-medium\\\">{{ taxMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-lg font-semibold\\\">Total: {{ totalMajor() | number:'1.2-2' }} {{ invoice.currency }}</div>\\n </div>\\n </mat-card>\\n </form>\\n\\n @if (lastResponse) {\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 flex items-center justify-between\\\">\\n <div>\\n <div class=\\\"font-medium\\\">Created invoice #{{ lastResponse.data.id }}</div>\\n <div class=\\\"text-sm opacity-70\\\">\\n Total: {{ penceToMajor(lastResponse.data.total) | number:'1.2-2' }} {{ invoice.currency }}\\n </div>\\n </div>\\n <div class=\\\"space-x-2\\\">\\n <button mat-stroked-button (click)=\\\"resetForm()\\\">Create another</button>\\n <button mat-flat-button color=\\\"primary\\\">Download PDF</button>\\n </div>\\n </mat-card>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.EmailValidator, selector: \"[email][formControlName],[email][formControl],[email][ngModel]\", inputs: [\"email\"] }, { kind: \"directive\", type: i1.MinValidator, selector: \"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]\", inputs: [\"min\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i2.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i4.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i4.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i4.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i4.MatError, selector: \"mat-error, [matError]\", inputs: [\"id\"] }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i5.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"component\", type: i6.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: i7.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"ngmodule\", type: MatDividerModule }, { kind: \"component\", type: i8.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"ngmodule\", type: MatCardModule }, { kind: \"component\", type: i9.MatCard, selector: \"mat-card\", inputs: [\"appearance\"], exportAs: [\"matCard\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"pipe\", type: i10.DecimalPipe, name: \"number\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageCreate, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-create', imports: [\n CommonModule,\n FormsModule,\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDividerModule,\n MatCardModule,\n CurrencyPipe,\n NgOptimizedImage,\n ToolbarComponent,\n ], template: \"<rolatech-toolbar title=\\\"Create Invoice\\\">\\n <button mat-stroked-button (click)=\\\"addLine()\\\">\\n <mat-icon>add</mat-icon>\\n Add line\\n </button>\\n <button\\n mat-flat-button\\n color=\\\"primary\\\"\\n (click)=\\\"save(invoiceForm)\\\"\\n [disabled]=\\\"!invoiceForm.form.valid || invoice.lines.length === 0\\\"\\n >\\n Save\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-4 md:p-8 max-w-6xl mx-auto space-y-6\\\">\\n <form #invoiceForm=\\\"ngForm\\\" novalidate>\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4\\\">\\n <div class=\\\"grid md:grid-cols-2 gap-4\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer name</mat-label>\\n <input matInput name=\\\"customerName\\\" [(ngModel)]=\\\"invoice.customerName\\\" required />\\n @if (invoiceForm.submitted && !invoice.customerName) {<mat-error>Name is required</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer email</mat-label>\\n <input matInput type=\\\"email\\\" name=\\\"customerEmail\\\" [(ngModel)]=\\\"invoice.customerEmail\\\" #email=\\\"ngModel\\\" email />\\n @if (email.invalid && (email.dirty || email.touched)) {<mat-error>Invalid email</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Customer address</mat-label>\\n <textarea matInput rows=\\\"2\\\" name=\\\"customerAddress\\\" [(ngModel)]=\\\"invoice.customerAddress\\\"></textarea>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Currency</mat-label>\\n <mat-select name=\\\"currency\\\" [(ngModel)]=\\\"invoice.currency\\\" required>\\n <mat-option value=\\\"GBP\\\">GBP</mat-option>\\n <mat-option value=\\\"USD\\\">USD</mat-option>\\n <mat-option value=\\\"EUR\\\">EUR</mat-option>\\n </mat-select>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Issue date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"issueDate\\\" [(ngModel)]=\\\"invoice.issueDate\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Due date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"dueDate\\\" [(ngModel)]=\\\"invoice.dueDate\\\" />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Notes</mat-label>\\n <textarea\\n matInput\\n rows=\\\"2\\\"\\n name=\\\"notes\\\"\\n [(ngModel)]=\\\"invoice.notes\\\"\\n placeholder=\\\"Optional notes shown on the invoice\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </mat-card>\\n\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 space-y-4 mt-4\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <h2 class=\\\"text-xl font-medium\\\">Line items</h2>\\n <button mat-stroked-button type=\\\"button\\\" (click)=\\\"addLine()\\\">\\n <mat-icon>playlist_add</mat-icon>\\n Add line\\n </button>\\n </div>\\n\\n <div class=\\\"hidden md:grid grid-cols-12 gap-2 text-sm font-medium px-2\\\">\\n <div class=\\\"col-span-5\\\">Description</div>\\n <div class=\\\"col-span-2 text-right\\\">Qty</div>\\n <div class=\\\"col-span-2 text-right\\\">Unit Price</div>\\n <div class=\\\"col-span-2 text-right\\\">Tax %</div>\\n <div class=\\\"col-span-1\\\"></div>\\n </div>\\n\\n <div class=\\\"space-y-3\\\">\\n @for ( line of invoice.lines; track line; let i = $index) {\\n <div class=\\\"grid grid-cols-1 md:grid-cols-12 gap-2 items-start\\\">\\n <mat-form-field class=\\\"md:col-span-5\\\" appearance=\\\"fill\\\">\\n <mat-label>Description</mat-label>\\n <input\\n matInput\\n [name]=\\\"'desc'+i\\\"\\n [(ngModel)]=\\\"line.description\\\"\\n required\\n placeholder=\\\"e.g. Photo editing package\\\"\\n />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Quantity</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"1\\\" step=\\\"1\\\" [name]=\\\"'qty'+i\\\" [(ngModel)]=\\\"line.quantity\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Unit Price (major unit)</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'unit'+i\\\" [(ngModel)]=\\\"line.unitPrice\\\" required />\\n <mat-hint>e.g. 99.99</mat-hint>\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Tax %</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'tax'+i\\\" [(ngModel)]=\\\"line.taxRate\\\" />\\n </mat-form-field>\\n\\n <div class=\\\"md:col-span-1 flex items-center justify-end\\\">\\n <button mat-icon-button color=\\\"warn\\\" type=\\\"button\\\" (click)=\\\"removeLine(i)\\\" aria-label=\\\"Remove line\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n </div>\\n <mat-divider></mat-divider>\\n }\\n </div>\\n\\n <div class=\\\"flex flex-col items-end space-y-1\\\">\\n <div class=\\\"text-sm\\\">\\n Subtotal: <span class=\\\"font-medium\\\">{{ subtotalMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-sm\\\">\\n Tax: <span class=\\\"font-medium\\\">{{ taxMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-lg font-semibold\\\">Total: {{ totalMajor() | number:'1.2-2' }} {{ invoice.currency }}</div>\\n </div>\\n </mat-card>\\n </form>\\n\\n @if (lastResponse) {\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 flex items-center justify-between\\\">\\n <div>\\n <div class=\\\"font-medium\\\">Created invoice #{{ lastResponse.data.id }}</div>\\n <div class=\\\"text-sm opacity-70\\\">\\n Total: {{ penceToMajor(lastResponse.data.total) | number:'1.2-2' }} {{ invoice.currency }}\\n </div>\\n </div>\\n <div class=\\\"space-x-2\\\">\\n <button mat-stroked-button (click)=\\\"resetForm()\\\">Create another</button>\\n <button mat-flat-button color=\\\"primary\\\">Download PDF</button>\\n </div>\\n </mat-card>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS1tYW5hZ2UvaW52b2ljZS1tYW5hZ2UtY3JlYXRlL2ludm9pY2UtbWFuYWdlLWNyZWF0ZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWNyZWF0ZS9pbnZvaWNlLW1hbmFnZS1jcmVhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBa0QsV0FBVyxFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4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Qjt3QkFDaEIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgQ3VycmVuY3lQaXBlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEludm9pY2VTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgSW52b2ljZSwgSW52b2ljZUNyZWF0ZUR0bywgSW52b2ljZUxpbmVDcmVhdGVEdG8gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1tYW5hZ2UtY3JlYXRlJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBDdXJyZW5jeVBpcGUsXG4gICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW52b2ljZS1tYW5hZ2UtY3JlYXRlLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1tYW5hZ2UtY3JlYXRlLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlQ3JlYXRlIHtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcblxuICAvLyBUZW1wbGF0ZS1kcml2ZW4gbW9kZWxcbiAgaW52b2ljZToge1xuICAgIGN1c3RvbWVyTmFtZTogc3RyaW5nO1xuICAgIGN1c3RvbWVyRW1haWw/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJBZGRyZXNzPzogc3RyaW5nO1xuICAgIGN1cnJlbmN5OiAnR0JQJyB8ICdVU0QnIHwgJ0VVUic7XG4gICAgaXNzdWVEYXRlOiBzdHJpbmc7XG4gICAgZHVlRGF0ZT86IHN0cmluZztcbiAgICBub3Rlcz86IHN0cmluZztcbiAgICBsaW5lczogQXJyYXk8eyBkZXNjcmlwdGlvbjogc3RyaW5nOyBxdWFudGl0eTogbnVtYmVyOyB1bml0UHJpY2U6IG51bWJlcjsgdGF4UmF0ZTogbnVtYmVyIH0+O1xuICB9ID0ge1xuICAgIGN1c3RvbWVyTmFtZTogJycsXG4gICAgY3VzdG9tZXJFbWFpbDogJycsXG4gICAgY3VzdG9tZXJBZGRyZXNzOiAnJyxcbiAgICBjdXJyZW5jeTogJ0dCUCcsXG4gICAgaXNzdWVEYXRlOiB0aGlzLnRvZGF5SXNvKCksXG4gICAgZHVlRGF0ZTogJycsXG4gICAgbm90ZXM6ICcnLFxuICAgIGxpbmVzOiBbeyBkZXNjcmlwdGlvbjogJycsIHF1YW50aXR5OiAxLCB1bml0UHJpY2U6IDAsIHRheFJhdGU6IDAgfV0sXG4gIH07XG5cbiAgbGFzdFJlc3BvbnNlOiBBcGlSZXNwb25zZTxJbnZvaWNlPiB8IG51bGwgPSBudWxsO1xuXG4gIGFkZExpbmUoKSB7XG4gICAgdGhpcy5pbnZvaWNlLmxpbmVzLnB1c2goeyBkZXNjcmlwdGlvbjogJycsIHF1YW50aXR5OiAxLCB1bml0UHJpY2U6IDAsIHRheFJhdGU6IDAgfSk7XG4gIH1cbiAgcmVtb3ZlTGluZShpOiBudW1iZXIpIHtcbiAgICB0aGlzLmludm9pY2UubGluZXMuc3BsaWNlKGksIDEpO1xuICB9XG5cbiAgc3VidG90YWxQZW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludm9pY2UubGluZXMucmVkdWNlKChzdW0sIGwpID0+IHN1bSArIE1hdGgucm91bmQoKGwudW5pdFByaWNlIHx8IDApICogMTAwKSAqIChsLnF1YW50aXR5IHx8IDApLCAwKTtcbiAgfVxuICB0YXhQZW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludm9pY2UubGluZXMucmVkdWNlKCh0LCBsKSA9PiB7XG4gICAgICBjb25zdCB1bml0UGVuY2UgPSBNYXRoLnJvdW5kKChsLnVuaXRQcmljZSB8fCAwKSAqIDEwMCk7XG4gICAgICBjb25zdCByYXRlID0gKGwudGF4UmF0ZSB8fCAwKSAvIDEwMDtcbiAgICAgIHJldHVybiB0ICsgTWF0aC5yb3VuZCh1bml0UGVuY2UgKiAobC5xdWFudGl0eSB8fCAwKSAqIHJhdGUpO1xuICAgIH0sIDApO1xuICB9XG4gIHRvdGFsUGVuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdWJ0b3RhbFBlbmNlKCkgKyB0aGlzLnRheFBlbmNlKCk7XG4gIH1cblxuICBzdWJ0b3RhbE1ham9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGVuY2VUb01ham9yKHRoaXMuc3VidG90YWxQZW5jZSgpKTtcbiAgfVxuICB0YXhNYWpvcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBlbmNlVG9NYWpvcih0aGlzLnRheFBlbmNlKCkpO1xuICB9XG4gIHRvdGFsTWFqb3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZW5jZVRvTWFqb3IodGhpcy50b3RhbFBlbmNlKCkpO1xuICB9XG5cbiAgc2F2ZShmb3JtOiBhbnkpIHtcbiAgICBpZiAoIWZvcm0uZm9ybS52YWxpZCB8fCB0aGlzLmludm9pY2UubGluZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBkdG86IEludm9pY2VDcmVhdGVEdG8gPSB7XG4gICAgICBjdXN0b21lck5hbWU6IHRoaXMuaW52b2ljZS5jdXN0b21lck5hbWUsXG4gICAgICBjdXN0b21lckVtYWlsOiB0aGlzLmludm9pY2UuY3VzdG9tZXJFbWFpbCB8fCB1bmRlZmluZWQsXG4gICAgICBjdXN0b21lckFkZHJlc3M6IHRoaXMuaW52b2ljZS5jdXN0b21lckFkZHJlc3MgfHwgdW5kZWZpbmVkLFxuICAgICAgY3VycmVuY3k6IHRoaXMuaW52b2ljZS5jdXJyZW5jeSxcbiAgICAgIGlzc3VlRGF0ZTogdGhpcy5pbnZvaWNlLmlzc3VlRGF0ZSxcbiAgICAgIGR1ZURhdGU6IHRoaXMuaW52b2ljZS5kdWVEYXRlIHx8IHVuZGVmaW5lZCxcbiAgICAgIG5vdGVzOiB0aGlzLmludm9pY2Uubm90ZXMgfHwgdW5kZWZpbmVkLFxuICAgICAgbGluZXM6IHRoaXMuaW52b2ljZS5saW5lcy5tYXAoKGwpID0+ICh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBsLmRlc2NyaXB0aW9uLFxuICAgICAgICBxdWFudGl0eTogTnVtYmVyKGwucXVhbnRpdHkgfHwgMCksXG4gICAgICAgIHVuaXRQcmljZTogTWF0aC5yb3VuZChOdW1iZXIobC51bml0UHJpY2UgfHwgMCkpLFxuICAgICAgICB0YXhSYXRlOiBOdW1iZXIobC50YXhSYXRlIHx8IDApLFxuICAgICAgfSkpLFxuICAgIH07XG5cbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKGR0bykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RSZXNwb25zZSA9IHJlcztcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICBhbGVydChlcnI/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgaW52b2ljZScpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpIHtcbiAgICB0aGlzLmludm9pY2UgPSB7XG4gICAgICBjdXN0b21lck5hbWU6ICcnLFxuICAgICAgY3VzdG9tZXJFbWFpbDogJycsXG4gICAgICBjdXN0b21lckFkZHJlc3M6ICcnLFxuICAgICAgY3VycmVuY3k6ICdHQlAnLFxuICAgICAgaXNzdWVEYXRlOiB0aGlzLnRvZGF5SXNvKCksXG4gICAgICBkdWVEYXRlOiAnJyxcbiAgICAgIG5vdGVzOiAnJyxcbiAgICAgIGxpbmVzOiBbeyBkZXNjcmlwdGlvbjogJycsIHF1YW50aXR5OiAxLCB1bml0UHJpY2U6IDAsIHRheFJhdGU6IDAgfV0sXG4gICAgfTtcbiAgICB0aGlzLmxhc3RSZXNwb25zZSA9IG51bGw7XG4gIH1cblxuICBwZW5jZVRvTWFqb3IocGVuY2U6IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHBlbmNlKSAvIDEwMDtcbiAgfVxuICBwcml2YXRlIHRvZGF5SXNvKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIkNyZWF0ZSBJbnZvaWNlXCI+XG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJhZGRMaW5lKClcIj5cbiAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICBBZGQgbGluZVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgKGNsaWNrKT1cInNhdmUoaW52b2ljZUZvcm0pXCJcbiAgICBbZGlzYWJsZWRdPVwiIWludm9pY2VGb3JtLmZvcm0udmFsaWQgfHwgaW52b2ljZS5saW5lcy5sZW5ndGggPT09IDBcIlxuICA+XG4gICAgU2F2ZVxuICA8L2J1dHRvbj5cbjwvcm9sYXRlY2gtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJwLTQgbWQ6cC04IG1heC13LTZ4bCBteC1hdXRvIHNwYWNlLXktNlwiPlxuICA8Zm9ybSAjaW52b2ljZUZvcm09XCJuZ0Zvcm1cIiBub3ZhbGlkYXRlPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtNFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5DdXN0b21lciBuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJjdXN0b21lck5hbWVcIiBbKG5nTW9kZWwpXT1cImludm9pY2UuY3VzdG9tZXJOYW1lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgICBAaWYgKGludm9pY2VGb3JtLnN1Ym1pdHRlZCAmJiAhaW52b2ljZS5jdXN0b21lck5hbWUpIHs8bWF0LWVycm9yPk5hbWUgaXMgcmVxdWlyZWQ8L21hdC1lcnJvcj59XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5DdXN0b21lciBlbWFpbDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZW1haWxcIiBuYW1lPVwiY3VzdG9tZXJFbWFpbFwiIFsobmdNb2RlbCldPVwiaW52b2ljZS5jdXN0b21lckVtYWlsXCIgI2VtYWlsPVwibmdNb2RlbFwiIGVtYWlsIC8+XG4gICAgICAgICAgQGlmIChlbWFpbC5pbnZhbGlkICYmIChlbWFpbC5kaXJ0eSB8fCBlbWFpbC50b3VjaGVkKSkgezxtYXQtZXJyb3I+SW52YWxpZCBlbWFpbDwvbWF0LWVycm9yPn1cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cIm1kOmNvbC1zcGFuLTJcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPkN1c3RvbWVyIGFkZHJlc3M8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcm93cz1cIjJcIiBuYW1lPVwiY3VzdG9tZXJBZGRyZXNzXCIgWyhuZ01vZGVsKV09XCJpbnZvaWNlLmN1c3RvbWVyQWRkcmVzc1wiPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5DdXJyZW5jeTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9XCJjdXJyZW5jeVwiIFsobmdNb2RlbCldPVwiaW52b2ljZS5jdXJyZW5jeVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJHQlBcIj5HQlA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlVTRFwiPlVTRDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiRVVSXCI+RVVSPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPklzc3VlIGRhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cImRhdGVcIiBuYW1lPVwiaXNzdWVEYXRlXCIgWyhuZ01vZGVsKV09XCJpbnZvaWNlLmlzc3VlRGF0ZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5EdWUgZGF0ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZGF0ZVwiIG5hbWU9XCJkdWVEYXRlXCIgWyhuZ01vZGVsKV09XCJpbnZvaWNlLmR1ZURhdGVcIiAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwibWQ6Y29sLXNwYW4tMlwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+Tm90ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICByb3dzPVwiMlwiXG4gICAgICAgICAgICBuYW1lPVwibm90ZXNcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnZvaWNlLm5vdGVzXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWwgbm90ZXMgc2hvd24gb24gdGhlIGludm9pY2VcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtY2FyZD5cblxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtNCBzcGFjZS15LTQgbXQtNFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtbWVkaXVtXCI+TGluZSBpdGVtczwvaDI+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkTGluZSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnBsYXlsaXN0X2FkZDwvbWF0LWljb24+XG4gICAgICAgICAgQWRkIGxpbmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpncmlkIGdyaWQtY29scy0xMiBnYXAtMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHB4LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLTVcIj5EZXNjcmlwdGlvbjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMiB0ZXh0LXJpZ2h0XCI+UXR5PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc3Bhbi0yIHRleHQtcmlnaHRcIj5Vbml0IFByaWNlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc3Bhbi0yIHRleHQtcmlnaHRcIj5UYXggJTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGFjZS15LTNcIj5cbiAgICAgICAgQGZvciAoIGxpbmUgb2YgaW52b2ljZS5saW5lczsgdHJhY2sgbGluZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTEyIGdhcC0yIGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWQ6Y29sLXNwYW4tNVwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkRlc2NyaXB0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgW25hbWVdPVwiJ2Rlc2MnK2lcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpbmUuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gUGhvdG8gZWRpdGluZyBwYWNrYWdlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1kOmNvbC1zcGFuLTJcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5RdWFudGl0eTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIxXCIgc3RlcD1cIjFcIiBbbmFtZV09XCIncXR5JytpXCIgWyhuZ01vZGVsKV09XCJsaW5lLnF1YW50aXR5XCIgcmVxdWlyZWQgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWQ6Y29sLXNwYW4tMlwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlVuaXQgUHJpY2UgKG1ham9yIHVuaXQpPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBzdGVwPVwiMC4wMVwiIFtuYW1lXT1cIid1bml0JytpXCIgWyhuZ01vZGVsKV09XCJsaW5lLnVuaXRQcmljZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICA8bWF0LWhpbnQ+ZS5nLiA5OS45OTwvbWF0LWhpbnQ+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1kOmNvbC1zcGFuLTJcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5UYXggJTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjAuMDFcIiBbbmFtZV09XCIndGF4JytpXCIgWyhuZ01vZGVsKV09XCJsaW5lLnRheFJhdGVcIiAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWQ6Y29sLXNwYW4tMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZW1vdmVMaW5lKGkpXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBsaW5lXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWVuZCBzcGFjZS15LTFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc21cIj5cbiAgICAgICAgICBTdWJ0b3RhbDogPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IHN1YnRvdGFsTWFqb3IoKSB8IG51bWJlcjonMS4yLTInIH19IHt7IGludm9pY2UuY3VycmVuY3kgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICAgIFRheDogPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IHRheE1ham9yKCkgfCBudW1iZXI6JzEuMi0yJyB9fSB7eyBpbnZvaWNlLmN1cnJlbmN5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1zZW1pYm9sZFwiPlRvdGFsOiB7eyB0b3RhbE1ham9yKCkgfCBudW1iZXI6JzEuMi0yJyB9fSB7eyBpbnZvaWNlLmN1cnJlbmN5IH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkPlxuICA8L2Zvcm0+XG5cbiAgQGlmIChsYXN0UmVzcG9uc2UpIHtcbiAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwicC00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9udC1tZWRpdW1cIj5DcmVhdGVkIGludm9pY2UgI3t7IGxhc3RSZXNwb25zZS5kYXRhLmlkIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBvcGFjaXR5LTcwXCI+XG4gICAgICAgIFRvdGFsOiB7eyBwZW5jZVRvTWFqb3IobGFzdFJlc3BvbnNlLmRhdGEudG90YWwpIHwgbnVtYmVyOicxLjItMicgfX0ge3sgaW52b2ljZS5jdXJyZW5jeSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXgtMlwiPlxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cInJlc2V0Rm9ybSgpXCI+Q3JlYXRlIGFub3RoZXI8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPkRvd25sb2FkIFBERjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkPlxuICB9XG48L2Rpdj5cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManageDetail {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDetail, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceManageDetail, isStandalone: true, selector: \"rolatech-invoice-manage-detail\", ngImport: i0, template: \"<p>invoice-manage-detail works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDetail, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-detail', imports: [], template: \"<p>invoice-manage-detail works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS1tYW5hZ2UvaW52b2ljZS1tYW5hZ2UtZGV0YWlsL2ludm9pY2UtbWFuYWdlLWRldGFpbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWRldGFpbC9pbnZvaWNlLW1hbmFnZS1kZXRhaWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExQyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQiwwRkNSaEMsdUNBQ0E7OzJGRE9hLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxnQ0FBZ0MsV0FDakMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLW1hbmFnZS1kZXRhaWwnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWRldGFpbC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWRldGFpbC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgSW52b2ljZU1hbmFnZURldGFpbCB7fVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtZGV0YWlsIHdvcmtzITwvcD5cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManageDownload {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDownload, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceManageDownload, isStandalone: true, selector: \"rolatech-invoice-manage-download\", ngImport: i0, template: \"<p>invoice-manage-download works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDownload, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-download', imports: [], template: \"<p>invoice-manage-download works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtZG93bmxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlLW1hbmFnZS9pbnZvaWNlLW1hbmFnZS1kb3dubG9hZC9pbnZvaWNlLW1hbmFnZS1kb3dubG9hZC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUIsNEZDUmxDLHlDQUNBOzsyRkRPYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usa0NBQWtDLFdBQ25DLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1tYW5hZ2UtZG93bmxvYWQnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1tYW5hZ2UtZG93bmxvYWQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEludm9pY2VNYW5hZ2VEb3dubG9hZCB7fVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtZG93bmxvYWQgd29ya3MhPC9wPlxuIl19","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManagePreview {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManagePreview, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceManagePreview, isStandalone: true, selector: \"rolatech-invoice-manage-preview\", ngImport: i0, template: \"<p>invoice-manage-preview works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManagePreview, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-preview', imports: [], template: \"<p>invoice-manage-preview works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtcHJldmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLXByZXZpZXcvaW52b2ljZS1tYW5hZ2UtcHJldmlldy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLXByZXZpZXcvaW52b2ljZS1tYW5hZ2UtcHJldmlldy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJGQ1JqQyx3Q0FDQTs7MkZET2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWludm9pY2UtbWFuYWdlLXByZXZpZXcnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLXByZXZpZXcuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnZvaWNlLW1hbmFnZS1wcmV2aWV3LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlUHJldmlldyB7fVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtcHJldmlldyB3b3JrcyE8L3A+XG4iXX0=","import { InvoiceManageIndex } from './invoice-manage-index/invoice-manage-index';\nimport { InvoiceManageCreate } from './invoice-manage-create/invoice-manage-create';\nimport { InvoiceManageDetail } from './invoice-manage-detail/invoice-manage-detail';\nimport { InvoiceManageDownload } from './invoice-manage-download/invoice-manage-download';\nimport { InvoiceManagePreview } from './invoice-manage-preview/invoice-manage-preview';\nexport const invoiceManageRoutes = [\n {\n path: '',\n component: InvoiceManageIndex,\n },\n {\n path: 'create',\n component: InvoiceManageCreate,\n },\n {\n path: 'preview',\n component: InvoiceManagePreview,\n },\n {\n path: 'download',\n component: InvoiceManageDownload,\n },\n {\n path: ':id',\n component: InvoiceManageDetail,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2Uucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS1tYW5hZ2UvaW52b2ljZS1tYW5hZ2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXZGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXO0lBQ3pDO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsa0JBQWtCO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSxtQkFBbUI7S0FDL0I7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsU0FBUyxFQUFFLG9CQUFvQjtLQUNoQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsbUJBQW1CO0tBQy9CO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZvaWNlTWFuYWdlSW5kZXggfSBmcm9tICcuL2ludm9pY2UtbWFuYWdlLWluZGV4L2ludm9pY2UtbWFuYWdlLWluZGV4JztcbmltcG9ydCB7IEludm9pY2VNYW5hZ2VDcmVhdGUgfSBmcm9tICcuL2ludm9pY2UtbWFuYWdlLWNyZWF0ZS9pbnZvaWNlLW1hbmFnZS1jcmVhdGUnO1xuaW1wb3J0IHsgSW52b2ljZU1hbmFnZURldGFpbCB9IGZyb20gJy4vaW52b2ljZS1tYW5hZ2UtZGV0YWlsL2ludm9pY2UtbWFuYWdlLWRldGFpbCc7XG5pbXBvcnQgeyBJbnZvaWNlTWFuYWdlRG93bmxvYWQgfSBmcm9tICcuL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkJztcbmltcG9ydCB7IEludm9pY2VNYW5hZ2VQcmV2aWV3IH0gZnJvbSAnLi9pbnZvaWNlLW1hbmFnZS1wcmV2aWV3L2ludm9pY2UtbWFuYWdlLXByZXZpZXcnO1xuXG5leHBvcnQgY29uc3QgaW52b2ljZU1hbmFnZVJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlTWFuYWdlSW5kZXgsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnY3JlYXRlJyxcbiAgICBjb21wb25lbnQ6IEludm9pY2VNYW5hZ2VDcmVhdGUsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAncHJldmlldycsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlTWFuYWdlUHJldmlldyxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdkb3dubG9hZCcsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlTWFuYWdlRG93bmxvYWQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnOmlkJyxcbiAgICBjb21wb25lbnQ6IEludm9pY2VNYW5hZ2VEZXRhaWwsXG4gIH0sXG5dO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1iaWxsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9yb2xhdGVjaC1hbmd1bGFyLWJpbGxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i4","i5","i6","i7"],"mappings":"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"}
1
+ {"version":3,"file":"rolatech-angular-billing.mjs","sources":["../tmp-esm2022/lib/pages/billing/billing.routes.js","../tmp-esm2022/lib/interfaces/invoice.js","../tmp-esm2022/lib/components/invoice-item/invoice-item.js","../tmp-esm2022/lib/components/invoice-manage-item/invoice-manage-item.js","../tmp-esm2022/lib/components/invoice-header/invoice-header.js","../tmp-esm2022/lib/pages/invoice/invoice-index/invoice-index.component.js","../tmp-esm2022/lib/components/invoice-line-item/invoice-line-item.js","../tmp-esm2022/lib/pages/invoice/invoice-detail/invoice-detail.component.js","../tmp-esm2022/lib/pages/invoice/invoice.routes.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-index/invoice-manage-index.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-create/invoice-manage-create.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-detail/invoice-manage-detail.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-download/invoice-manage-download.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage-preview/invoice-manage-preview.js","../tmp-esm2022/lib/pages/invoice-manage/invoice-manage.routes.js","../tmp-esm2022/rolatech-angular-billing.js"],"sourcesContent":["export const billingRoutes = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9iaWxsaW5nL2JpbGxpbmcucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgY29uc3QgYmlsbGluZ1JvdXRlczogUm91dGVzID0gW107XG4iXX0=","export var InvoiceType;\n(function (InvoiceType) {\n InvoiceType[\"FIRST_PAYMENT\"] = \"First Payment\";\n InvoiceType[\"RECURRING_RENT\"] = \"Recurring\";\n InvoiceType[\"ADJUSTMENT\"] = \"Adjustment\";\n})(InvoiceType || (InvoiceType = {}));\nexport var InvoiceStatus;\n(function (InvoiceStatus) {\n InvoiceStatus[\"DRAFT\"] = \"Draft\";\n InvoiceStatus[\"ISSUED\"] = \"Issued\";\n InvoiceStatus[\"PARTIALLY_PAID\"] = \"Partially paid\";\n InvoiceStatus[\"PAID\"] = \"Paid\";\n InvoiceStatus[\"VOID\"] = \"void\";\n})(InvoiceStatus || (InvoiceStatus = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL2ludGVyZmFjZXMvaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QkEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBNEIsQ0FBQTtJQUM1Qix3Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFDRCxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQixrREFBaUMsQ0FBQTtJQUNqQyw4QkFBYSxDQUFBO0lBQ2IsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxhQUFhLEtBQWIsYUFBYSxRQU14QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBwaG9uZTogc3RyaW5nO1xuICB0YXhBbW91bnQ6IG51bWJlcjtcbiAgZGlzY291bnRBbW91bnQ6IG51bWJlcjtcbiAgY3VycmVuY3k6IHN0cmluZztcbiAgZHVlQXQ6IHN0cmluZztcbiAgcGFpZEF0OiBzdHJpbmc7XG4gIHRvdGFsOiBudW1iZXI7XG4gIGxpbmVzOiBJbnZvaWNlTGluZVtdO1xuICBzdGF0dXM6IEludm9pY2VTdGF0dXM7XG4gIHR5cGU6IEludm9pY2VUeXBlO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlQXQ6IHN0cmluZztcbiAgbm90ZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlTGluZSB7XG4gIGNvZGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaW1hZ2VVcmw6IHN0cmluZztcbiAgYW1vdW50OiBudW1iZXI7XG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIGN1cnJlbmN5OiBzdHJpbmc7XG4gIGV4dElkOiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBJbnZvaWNlVHlwZSB7XG4gIEZJUlNUX1BBWU1FTlQgPSAnRmlyc3QgUGF5bWVudCcsXG4gIFJFQ1VSUklOR19SRU5UID0gJ1JlY3VycmluZycsXG4gIEFESlVTVE1FTlQgPSAnQWRqdXN0bWVudCcsXG59XG5leHBvcnQgZW51bSBJbnZvaWNlU3RhdHVzIHtcbiAgRFJBRlQgPSAnRHJhZnQnLFxuICBJU1NVRUQgPSAnSXNzdWVkJyxcbiAgUEFSVElBTExZX1BBSUQgPSAnUGFydGlhbGx5IHBhaWQnLFxuICBQQUlEID0gJ1BhaWQnLFxuICBWT0lEID0gJ3ZvaWQnLFxufVxuLyoqXG4gKiBNaW5pbWFsIERUT3MgbWF0Y2hpbmcgYSB0eXBpY2FsIGJhY2tlbmQgKGFkanVzdCB0byB5b3VyIEFQSSk6XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZUxpbmVDcmVhdGVEdG8ge1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBxdWFudGl0eTogbnVtYmVyOyAvLyB3aG9sZSB1bml0c1xuICB1bml0UHJpY2U6IG51bWJlcjsgLy8gc3RvcmUgaW4gcGVuY2UgcGVyIHlvdXIgcHJlZmVyZW5jZVxuICB0YXhSYXRlOiBudW1iZXI7IC8vIGUuZy4gMCwgNSwgMjAgKHBlcmNlbnQpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZUNyZWF0ZUR0byB7XG4gIGN1c3RvbWVyTmFtZTogc3RyaW5nO1xuICBjdXN0b21lckVtYWlsPzogc3RyaW5nO1xuICBjdXN0b21lckFkZHJlc3M/OiBzdHJpbmc7XG4gIGN1cnJlbmN5OiAnR0JQJyB8ICdVU0QnIHwgJ0VVUic7XG4gIGlzc3VlRGF0ZTogc3RyaW5nOyAvLyBZWVlZLU1NLUREXG4gIGR1ZURhdGU/OiBzdHJpbmc7IC8vIFlZWVktTU0tRERcbiAgbm90ZXM/OiBzdHJpbmc7XG4gIGxpbmVzOiBJbnZvaWNlTGluZUNyZWF0ZUR0b1tdO1xufVxuIl19","import { Component, input, output } from '@angular/core';\nimport { InvoiceStatus } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { DatePipe } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class InvoiceItem {\n constructor() {\n this.invoice = input.required(...(ngDevMode ? [{ debugName: \"invoice\" }] : []));\n this.status = InvoiceStatus;\n this.download = output();\n }\n onDownload() {\n this.download.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: InvoiceItem, isStandalone: true, selector: \"rolatech-invoice-item\", inputs: { invoice: { classPropertyName: \"invoice\", publicName: \"invoice\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { download: \"download\" }, ngImport: i0, template: \"<div class=\\\"flex w-full justify-between p-3 cursor-pointer hover:bg-[--rt-raised-background]\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"w-[180px] max-w-[180px]\\\">{{invoice().id}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>\\u00A3{{invoice().total}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>{{status[invoice().status]}}</div>\\n <div class=\\\"w-[100px]\\\">{{invoice().createdAt | date:'dd/MM/yyyy':'Europe/London'}}</div>\\n <button mat-icon-button class=\\\"px-2 min-w-[80px]\\\" (click)=\\\"onDownload();$event.stopPropagation()\\\">\\n <mat-icon>download</mat-icon>\\n </button>\\n </div>\\n</div>\\n\", styles: [\".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"pipe\", type: DatePipe, name: \"date\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceItem, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-item', imports: [MatButtonModule, MatIcon, DatePipe], template: \"<div class=\\\"flex w-full justify-between p-3 cursor-pointer hover:bg-[--rt-raised-background]\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"w-[180px] max-w-[180px]\\\">{{invoice().id}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>\\u00A3{{invoice().total}}</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div>{{status[invoice().status]}}</div>\\n <div class=\\\"w-[100px]\\\">{{invoice().createdAt | date:'dd/MM/yyyy':'Europe/London'}}</div>\\n <button mat-icon-button class=\\\"px-2 min-w-[80px]\\\" (click)=\\\"onDownload();$event.stopPropagation()\\\">\\n <mat-icon>download</mat-icon>\\n </button>\\n </div>\\n</div>\\n\", styles: [\".scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWl0ZW0vaW52b2ljZS1pdGVtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWl0ZW0vaW52b2ljZS1pdGVtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTyxXQUFXO0lBTnhCO1FBT0UsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLGtEQUFXLENBQUM7UUFDcEMsV0FBTSxHQUFRLGFBQWEsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxFQUFFLENBQUM7S0FJckI7SUFIQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQU5VLFdBQVc7a0dBQVgsV0FBVyw2UENaeEIsK3BCQWVBLHdLRFBZLGVBQWUsc05BQUUsT0FBTyxzSUFBRSxRQUFROzsyRkFJakMsV0FBVztrQkFOdkIsU0FBUzsrQkFDRSx1QkFBdUIsV0FDeEIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52b2ljZSwgSW52b2ljZVN0YXR1cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1pdGVtJyxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbiwgRGF0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW52b2ljZS1pdGVtLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1pdGVtLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlSXRlbSB7XG4gIGludm9pY2UgPSBpbnB1dC5yZXF1aXJlZDxJbnZvaWNlPigpO1xuICBzdGF0dXM6IGFueSA9IEludm9pY2VTdGF0dXM7XG4gIGRvd25sb2FkID0gb3V0cHV0KCk7XG4gIG9uRG93bmxvYWQoKSB7XG4gICAgdGhpcy5kb3dubG9hZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gcC0zIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXVwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidy1bMTgwcHhdIG1heC13LVsxODBweF1cIj57e2ludm9pY2UoKS5pZH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICA8ZGl2PsKje3tpbnZvaWNlKCkudG90YWx9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgPGRpdj57e3N0YXR1c1tpbnZvaWNlKCkuc3RhdHVzXX19PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInctWzEwMHB4XVwiPnt7aW52b2ljZSgpLmNyZWF0ZWRBdCB8IGRhdGU6J2RkL01NL3l5eXknOidFdXJvcGUvTG9uZG9uJ319PC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJweC0yIG1pbi13LVs4MHB4XVwiIChjbGljayk9XCJvbkRvd25sb2FkKCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICA8bWF0LWljb24+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManageItem {\n constructor() {\n this.invoice = input.required(...(ngDevMode ? [{ debugName: \"invoice\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: InvoiceManageItem, isStandalone: true, selector: \"rolatech-invoice-manage-item\", inputs: { invoice: { classPropertyName: \"invoice\", publicName: \"invoice\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<p>invoice-manage-item works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageItem, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-item', imports: [], template: \"<p>invoice-manage-item works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL2NvbXBvbmVudHMvaW52b2ljZS1tYW5hZ2UtaXRlbS9pbnZvaWNlLW1hbmFnZS1pdGVtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLW1hbmFnZS1pdGVtL2ludm9pY2UtbWFuYWdlLWl0ZW0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLGlCQUFpQjtJQU45QjtRQU9FLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxrREFBVyxDQUFDO0tBQ3JDOzhHQUZZLGlCQUFpQjtrR0FBakIsaUJBQWlCLGlPQ1Q5QixxQ0FDQTs7MkZEUWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLDhCQUE4QixXQUMvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52b2ljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW52b2ljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWludm9pY2UtbWFuYWdlLWl0ZW0nLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWl0ZW0uaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnZvaWNlLW1hbmFnZS1pdGVtLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlSXRlbSB7XG4gIGludm9pY2UgPSBpbnB1dC5yZXF1aXJlZDxJbnZvaWNlPigpO1xufVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtaXRlbSB3b3JrcyE8L3A+XG4iXX0=","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceHeader {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceHeader, isStandalone: true, selector: \"rolatech-invoice-header\", ngImport: i0, template: \"<div class=\\\"flex items-center justify-between font-bold h-11 px-3\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"font-bold w-[180px] max-w-[180px]\\\">ID</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Total</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Status</div>\\n <div class=\\\"font-bold w-[100px]\\\">Date</div>\\n <div class=\\\"font-bold m-w-[80px]\\\">Download</div>\\n </div>\\n</div>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceHeader, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-header', imports: [], template: \"<div class=\\\"flex items-center justify-between font-bold h-11 px-3\\\">\\n <div class=\\\"flex items-center\\\">\\n <div class=\\\"font-bold w-[180px] max-w-[180px]\\\">ID</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Total</div>\\n </div>\\n <div class=\\\"flex items-center gap-3\\\">\\n <div class=\\\"font-bold\\\">Status</div>\\n <div class=\\\"font-bold w-[100px]\\\">Date</div>\\n <div class=\\\"font-bold m-w-[80px]\\\">Download</div>\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL2ludm9pY2UtaGVhZGVyL2ludm9pY2UtaGVhZGVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWhlYWRlci9pbnZvaWNlLWhlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7a0dBQWIsYUFBYSxtRkNSMUIseWVBYUE7OzJGRExhLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1oZWFkZXInLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtaGVhZGVyLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1oZWFkZXIuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEludm9pY2VIZWFkZXIge31cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZm9udC1ib2xkIGgtMTEgcHgtM1wiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkIHctWzE4MHB4XSBtYXgtdy1bMTgwcHhdXCI+SUQ8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj5Ub3RhbDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPlN0YXR1czwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgdy1bMTAwcHhdXCI+RGF0ZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGQgbS13LVs4MHB4XVwiPkRvd25sb2FkPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { KeyValuePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { ContainerComponent, TabsComponent, TabComponent, ToolbarComponent, ListComponent, EmptyComponent, FilterComponent, } from '@rolatech/angular-components';\nimport { InvoiceItem } from '../../../components';\nimport { InvoiceService } from '@rolatech/angular-services';\nimport { Title } from '@angular/platform-browser';\nimport { InvoiceStatus, InvoiceType } from '../../../interfaces';\nimport { InvoiceHeader } from '../../../components/invoice-header/invoice-header';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/form-field\";\nimport * as i6 from \"@angular/material/core\";\nimport * as i7 from \"@angular/material/select\";\nexport class InvoiceIndexComponent {\n constructor() {\n this.invoiceService = inject(InvoiceService);\n this.title = inject(Title);\n this.route = inject(ActivatedRoute);\n this.filterOptions = {\n type: '',\n status: '',\n };\n this.invoiceType = InvoiceType;\n this.invoiceStatus = InvoiceStatus;\n this.links = [\n {\n name: 'ALL',\n icon: 'dashboard',\n },\n {\n name: 'Pending',\n icon: 'category',\n status: 'created',\n },\n {\n name: 'Paid',\n icon: 'category',\n status: 'paid',\n },\n ];\n this.invoices = [];\n this.select = 0;\n this.filter = false;\n }\n ngOnInit() {\n this.find();\n }\n find() {\n const options = {\n sort: 'updatedAt desc',\n };\n const filterString = this.convertFilterOptions(this.filterOptions);\n if (filterString) {\n options['filter'] = filterString;\n }\n this.invoiceService.me(options).subscribe({\n next: (res) => {\n console.log(res);\n this.invoices = res.data;\n },\n });\n }\n resetFilter() {\n this.filterOptions = {\n type: '',\n };\n this.filter = false;\n this.find();\n }\n convertFilterOptions(jsonObj) {\n return Object.entries(jsonObj)\n .filter(([key, value]) => value !== '' && value !== undefined)\n .map(([key, value]) => {\n return `${key}:${value}`;\n })\n .join(',');\n }\n statusCompareFn(t1, t2) {\n return t1 === t2;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceIndexComponent, isStandalone: true, selector: \"rolatech-invoice-index\", ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Invoices\\\" large>\\n <button mat-button (click)=\\\"filter = !filter\\\">\\n <span>Filter</span>\\n <mat-icon>tune</mat-icon>\\n </button>\\n </rolatech-toolbar>\\n <rolatech-filter>\\n <div class=\\\"collapsed\\\" [class.expanded]=\\\"filter\\\">\\n <div\\n class=\\\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex items-center gap-3 mt-2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select name=\\\"type\\\" placeholder=\\\"Type\\\" [(ngModel)]=\\\"filterOptions.type\\\">\\n @for (type of invoiceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field subscriptSizing=\\\"dynamic\\\">\\n <mat-select [compareWith]=\\\"statusCompareFn\\\" placeholder=\\\"Status\\\" [(ngModel)]=\\\"filterOptions.status\\\">\\n @for (status of invoiceStatus | keyvalue; track status) {\\n <mat-option [value]=\\\"status.key\\\">\\n {{ status.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <div>\\n <button mat-flat-button (click)=\\\"find()\\\">Search</button>\\n <button mat-stroked-button (click)=\\\"resetFilter()\\\" class=\\\"ml-3\\\">Reset</button>\\n </div>\\n </div>\\n </div>\\n </div>\\n </rolatech-filter>\\n <rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n </rolatech-tabs>\\n <rolatech-list>\\n @if (invoices) {\\n <rolatech-invoice-header></rolatech-invoice-header>\\n @for (item of invoices; track item) {\\n <rolatech-invoice-item [routerLink]=\\\"['./', item.id]\\\" [invoice]=\\\"item\\\"></rolatech-invoice-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n </rolatech-list>\\n</rolatech-container>\\n\", styles: [\".collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\\n\"], dependencies: [{ kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: TabsComponent, selector: \"rolatech-tabs\", inputs: [\"select\", \"loading\"], outputs: [\"selectChange\"] }, { kind: \"component\", type: TabComponent, selector: \"rolatech-tab\", inputs: [\"label\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ListComponent, selector: \"rolatech-list\" }, { kind: \"component\", type: InvoiceItem, selector: \"rolatech-invoice-item\", inputs: [\"invoice\"], outputs: [\"download\"] }, { kind: \"component\", type: EmptyComponent, selector: \"rolatech-empty\" }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i5.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"ngmodule\", type: MatDatepickerModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"component\", type: i6.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"component\", type: i7.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: FilterComponent, selector: \"rolatech-filter\" }, { kind: \"component\", type: InvoiceHeader, selector: \"rolatech-invoice-header\" }, { kind: \"pipe\", type: KeyValuePipe, name: \"keyvalue\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-index', imports: [\n ContainerComponent,\n RouterModule,\n TabsComponent,\n TabComponent,\n ToolbarComponent,\n ListComponent,\n InvoiceItem,\n EmptyComponent,\n MatButtonModule,\n MatIconModule,\n FormsModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatOptionModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n FilterComponent,\n KeyValuePipe,\n InvoiceHeader,\n ], encapsulation: ViewEncapsulation.None, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"Invoices\\\" large>\\n <button mat-button (click)=\\\"filter = !filter\\\">\\n <span>Filter</span>\\n <mat-icon>tune</mat-icon>\\n </button>\\n </rolatech-toolbar>\\n <rolatech-filter>\\n <div class=\\\"collapsed\\\" [class.expanded]=\\\"filter\\\">\\n <div\\n class=\\\"min-w-[256px] md:min-w-[320px] px-3 h-full flex flex-row md:flex-col md:h-full items-center md:items-start shadow-inner shadow-light-400 md:shadow-none overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex items-center gap-3 mt-2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select name=\\\"type\\\" placeholder=\\\"Type\\\" [(ngModel)]=\\\"filterOptions.type\\\">\\n @for (type of invoiceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field subscriptSizing=\\\"dynamic\\\">\\n <mat-select [compareWith]=\\\"statusCompareFn\\\" placeholder=\\\"Status\\\" [(ngModel)]=\\\"filterOptions.status\\\">\\n @for (status of invoiceStatus | keyvalue; track status) {\\n <mat-option [value]=\\\"status.key\\\">\\n {{ status.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <div>\\n <button mat-flat-button (click)=\\\"find()\\\">Search</button>\\n <button mat-stroked-button (click)=\\\"resetFilter()\\\" class=\\\"ml-3\\\">Reset</button>\\n </div>\\n </div>\\n </div>\\n </div>\\n </rolatech-filter>\\n <rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) {\\n @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n }\\n }\\n </rolatech-tabs>\\n <rolatech-list>\\n @if (invoices) {\\n <rolatech-invoice-header></rolatech-invoice-header>\\n @for (item of invoices; track item) {\\n <rolatech-invoice-item [routerLink]=\\\"['./', item.id]\\\" [invoice]=\\\"item\\\"></rolatech-invoice-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n </rolatech-list>\\n</rolatech-container>\\n\", styles: [\".collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pbmRleC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2UtaW5kZXgvaW52b2ljZS1pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2UtaW5kZXgvaW52b2ljZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGFB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Q0FBQztJQUNELGVBQWUsQ0FBQyxFQUFPLEVBQUUsRUFBTztRQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0FoRVUscUJBQXFCO2tHQUFyQixxQkFBcUIsa0ZDdERsQyxvN0VBMkRBLGtMRDlCSSxrQkFBa0IsOERBQ2xCLFlBQVksZ1JBQ1osYUFBYSxvSEFDYixZQUFZLDRFQUNaLGdCQUFnQixnSUFDaEIsYUFBYSwwREFDYixXQUFXLDhHQUNYLGNBQWMsMERBQ2QsZUFBZSxtWEFDZixhQUFhLG1MQUNiLFdBQVcsOFZBQ1gsa0JBQWtCLHlPQUNsQixtQkFBbUIsOEJBQ25CLGVBQWUsK0xBQ2YsY0FBYyw4QkFDZCxlQUFlLCtpQkFFZixlQUFlLDREQUVmLGFBQWEsK0RBRGIsWUFBWTs7MkZBT0gscUJBQXFCO2tCQTVCakMsU0FBUzsrQkFDRSx3QkFBd0IsV0FDekI7d0JBQ1Asa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3FCQUNkLGlCQUdjLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VmFsdWVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIENvbnRhaW5lckNvbXBvbmVudCxcbiAgVGFic0NvbXBvbmVudCxcbiAgVGFiQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxuICBMaXN0Q29tcG9uZW50LFxuICBFbXB0eUNvbXBvbmVudCxcbiAgRmlsdGVyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEludm9pY2VJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJbnZvaWNlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJbnZvaWNlLCBJbnZvaWNlU3RhdHVzLCBJbnZvaWNlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW52b2ljZUhlYWRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW52b2ljZS1oZWFkZXIvaW52b2ljZS1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLWluZGV4JyxcbiAgaW1wb3J0czogW1xuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVGFic0NvbXBvbmVudCxcbiAgICBUYWJDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBMaXN0Q29tcG9uZW50LFxuICAgIEludm9pY2VJdGVtLFxuICAgIEVtcHR5Q29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICBLZXlWYWx1ZVBpcGUsXG4gICAgSW52b2ljZUhlYWRlcixcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtaW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1pbmRleC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEludm9pY2VJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGludm9pY2VTZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcbiAgdGl0bGUgPSBpbmplY3QoVGl0bGUpO1xuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIGZpbHRlck9wdGlvbnM6IGFueSA9IHtcbiAgICB0eXBlOiAnJyxcbiAgICBzdGF0dXM6ICcnLFxuICB9O1xuICBpbnZvaWNlVHlwZSA9IEludm9pY2VUeXBlO1xuICBpbnZvaWNlU3RhdHVzID0gSW52b2ljZVN0YXR1cztcbiAgbGlua3MgPSBbXG4gICAge1xuICAgICAgbmFtZTogJ0FMTCcsXG4gICAgICBpY29uOiAnZGFzaGJvYXJkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQZW5kaW5nJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdjcmVhdGVkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQYWlkJyxcbiAgICAgIGljb246ICdjYXRlZ29yeScsXG4gICAgICBzdGF0dXM6ICdwYWlkJyxcbiAgICB9LFxuICBdO1xuICBpbnZvaWNlczogSW52b2ljZVtdID0gW107XG4gIHNlbGVjdCA9IDA7XG4gIGZpbHRlciA9IGZhbHNlO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmQoKTtcbiAgfVxuICBmaW5kKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBzb3J0OiAndXBkYXRlZEF0IGRlc2MnLFxuICAgIH07XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5jb252ZXJ0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIGlmIChmaWx0ZXJTdHJpbmcpIHtcbiAgICAgIG9wdGlvbnNbJ2ZpbHRlciddID0gZmlsdGVyU3RyaW5nO1xuICAgIH1cbiAgICB0aGlzLmludm9pY2VTZXJ2aWNlLm1lKG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgdGhpcy5pbnZvaWNlcyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICByZXNldEZpbHRlcigpIHtcbiAgICB0aGlzLmZpbHRlck9wdGlvbnMgPSB7XG4gICAgICB0eXBlOiAnJyxcbiAgICB9O1xuICAgIHRoaXMuZmlsdGVyID0gZmFsc2U7XG4gICAgdGhpcy5maW5kKCk7XG4gIH1cbiAgY29udmVydEZpbHRlck9wdGlvbnMoanNvbk9iaikge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhqc29uT2JqKVxuICAgICAgLmZpbHRlcigoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gJycgJiYgdmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICByZXR1cm4gYCR7a2V5fToke3ZhbHVlfWA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuICBzdGF0dXNDb21wYXJlRm4odDE6IGFueSwgdDI6IGFueSkge1xuICAgIHJldHVybiB0MSA9PT0gdDI7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1jb250YWluZXI+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiSW52b2ljZXNcIiBsYXJnZT5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImZpbHRlciA9ICFmaWx0ZXJcIj5cbiAgICAgIDxzcGFuPkZpbHRlcjwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbj50dW5lPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9yb2xhdGVjaC10b29sYmFyPlxuICA8cm9sYXRlY2gtZmlsdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZWRcIiBbY2xhc3MuZXhwYW5kZWRdPVwiZmlsdGVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWluLXctWzI1NnB4XSBtZDptaW4tdy1bMzIwcHhdIHB4LTMgaC1mdWxsIGZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6aC1mdWxsIGl0ZW1zLWNlbnRlciBtZDppdGVtcy1zdGFydCBzaGFkb3ctaW5uZXIgc2hhZG93LWxpZ2h0LTQwMCBtZDpzaGFkb3ctbm9uZSBvdmVyZmxvdy14LXNjcm9sbCBvdmVyZmxvdy15LWhpZGRlbiBzY3JvbGxiYXItaGlkZSB3aGl0ZXNwYWNlLXByZVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBtdC0yXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgbmFtZT1cInR5cGVcIiBwbGFjZWhvbGRlcj1cIlR5cGVcIiBbKG5nTW9kZWwpXT1cImZpbHRlck9wdGlvbnMudHlwZVwiPlxuICAgICAgICAgICAgICBAZm9yICh0eXBlIG9mIGludm9pY2VUeXBlIHwga2V5dmFsdWU7IHRyYWNrIHR5cGUpIHtcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHlwZS5rZXlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbY29tcGFyZVdpdGhdPVwic3RhdHVzQ29tcGFyZUZuXCIgcGxhY2Vob2xkZXI9XCJTdGF0dXNcIiBbKG5nTW9kZWwpXT1cImZpbHRlck9wdGlvbnMuc3RhdHVzXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHN0YXR1cyBvZiBpbnZvaWNlU3RhdHVzIHwga2V5dmFsdWU7IHRyYWNrIHN0YXR1cykge1xuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJzdGF0dXMua2V5XCI+XG4gICAgICAgICAgICAgICAgICB7eyBzdGF0dXMudmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiZmluZCgpXCI+U2VhcmNoPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwicmVzZXRGaWx0ZXIoKVwiIGNsYXNzPVwibWwtM1wiPlJlc2V0PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcm9sYXRlY2gtZmlsdGVyPlxuICA8cm9sYXRlY2gtdGFicyBbc2VsZWN0XT1cInNlbGVjdFwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgbGlua3M7IHRyYWNrIGl0ZW0pIHtcbiAgICAgIEBpZiAoaXRlbS5zdGF0dXMpIHtcbiAgICAgICAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCIgW3F1ZXJ5UGFyYW1zXT1cInsgc3RhdHVzOiBpdGVtLnN0YXR1cyB9XCI+PC9yb2xhdGVjaC10YWI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCI+PC9yb2xhdGVjaC10YWI+XG4gICAgICB9XG4gICAgfVxuICA8L3JvbGF0ZWNoLXRhYnM+XG4gIDxyb2xhdGVjaC1saXN0PlxuICAgIEBpZiAoaW52b2ljZXMpIHtcbiAgICAgIDxyb2xhdGVjaC1pbnZvaWNlLWhlYWRlcj48L3JvbGF0ZWNoLWludm9pY2UtaGVhZGVyPlxuICAgICAgQGZvciAoaXRlbSBvZiBpbnZvaWNlczsgdHJhY2sgaXRlbSkge1xuICAgICAgICA8cm9sYXRlY2gtaW52b2ljZS1pdGVtIFtyb3V0ZXJMaW5rXT1cIlsnLi8nLCBpdGVtLmlkXVwiIFtpbnZvaWNlXT1cIml0ZW1cIj48L3JvbGF0ZWNoLWludm9pY2UtaXRlbT5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxyb2xhdGVjaC1lbXB0eT48L3JvbGF0ZWNoLWVtcHR5PlxuICAgIH1cbiAgPC9yb2xhdGVjaC1saXN0PlxuPC9yb2xhdGVjaC1jb250YWluZXI+XG4iXX0=","import { Component, computed, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceLineItem {\n constructor() {\n this.item = input.required(...(ngDevMode ? [{ debugName: \"item\" }] : []));\n this.link = input.required(...(ngDevMode ? [{ debugName: \"link\" }] : []));\n this.thumbnail = computed(() => {\n return this.item().imageUrl;\n }, ...(ngDevMode ? [{ debugName: \"thumbnail\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceLineItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceLineItem, isStandalone: true, selector: \"rolatech-invoice-line-item\", inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: true, transformFunction: null }, link: { classPropertyName: \"link\", publicName: \"link\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex justify-between py-2\\\">\\n <div class=\\\"flex w-full\\\">\\n <div\\n class=\\\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\\\"\\n [routerLink]=\\\"link()\\\"\\n >\\n @defer (on viewport()) {\\n <rolatech-thumbnail [src]=\\\"thumbnail()\\\" size=\\\"medium\\\" mode=\\\"clip\\\"> </rolatech-thumbnail>\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\\\"></div>\\n }\\n </div>\\n\\n <div class=\\\"w-full ml-3 flex flex-col justify-between\\\">\\n <!-- info -->\\n <div class=\\\"flex justify-between\\\">\\n <div class=\\\"flex flex-col\\\">\\n <span class=\\\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\\\" [routerLink]=\\\"link()\\\"\\n >{{ item().title }}</span\\n >\\n <ng-content></ng-content>\\n </div>\\n <div class=\\\"text-right p-1\\\">\\n <div class=\\\"text-sm\\\">\\u00A3{{ item().amount }}</div>\\n </div>\\n </div>\\n <!-- action -->\\n <div class=\\\"flex justify-between items-center w-full\\\">\\n <div class=\\\"flex items-center text-sm\\\"></div>\\n </div>\\n </div>\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }], deferBlockDependencies: [() => [import(\"@rolatech/angular-components\").then(m => m.ThumbnailComponent)]] }); }\n}\ni0.ɵɵngDeclareClassMetadataAsync({ minVersion: \"18.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceLineItem, resolveDeferredDeps: () => [import(\"@rolatech/angular-components\").then(m => m.ThumbnailComponent)], resolveMetadata: ThumbnailComponent => ({ decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-line-item', imports: [RouterLink, ThumbnailComponent], template: \"<div class=\\\"flex justify-between py-2\\\">\\n <div class=\\\"flex w-full\\\">\\n <div\\n class=\\\"min-w-24 w-36 aspect-video bg-[--rt-raised-background] hover:rounded-none rounded-lg h-fit cursor-pointer\\\"\\n [routerLink]=\\\"link()\\\"\\n >\\n @defer (on viewport()) {\\n <rolatech-thumbnail [src]=\\\"thumbnail()\\\" size=\\\"medium\\\" mode=\\\"clip\\\"> </rolatech-thumbnail>\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video\\\"></div>\\n }\\n </div>\\n\\n <div class=\\\"w-full ml-3 flex flex-col justify-between\\\">\\n <!-- info -->\\n <div class=\\\"flex justify-between\\\">\\n <div class=\\\"flex flex-col\\\">\\n <span class=\\\"text-lg font-bold hover:text-[--rt-brand-color] cursor-pointer\\\" [routerLink]=\\\"link()\\\"\\n >{{ item().title }}</span\\n >\\n <ng-content></ng-content>\\n </div>\\n <div class=\\\"text-right p-1\\\">\\n <div class=\\\"text-sm\\\">\\u00A3{{ item().amount }}</div>\\n </div>\\n </div>\\n <!-- action -->\\n <div class=\\\"flex justify-between items-center w-full\\\">\\n <div class=\\\"flex items-center text-sm\\\"></div>\\n </div>\\n </div>\\n </div>\\n</div>\\n\" }]\n }], ctorParameters: null, propDecorators: null }) });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1saW5lLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9jb21wb25lbnRzL2ludm9pY2UtbGluZS1pdGVtL2ludm9pY2UtbGluZS1pdGVtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvY29tcG9uZW50cy9pbnZvaWNlLWxpbmUtaXRlbS9pbnZvaWNlLWxpbmUtaXRlbS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUzdDLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBT0UsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLCtDQUFlLENBQUM7UUFDckMsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLCtDQUFVLENBQUM7UUFDaEMsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQzlCLENBQUMscURBQUMsQ0FBQztLQUNKOzhHQU5ZLGVBQWU7a0dBQWYsZUFBZSwwVUNYNUIsbXRDQWlDQSwwREQxQlksVUFBVTs7Z0dBSVQsZUFBZTtzQkFOM0IsU0FBUzttQ0FDRSw0QkFBNEIsV0FDN0IsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52b2ljZUxpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWludm9pY2UtbGluZS1pdGVtJyxcbiAgaW1wb3J0czogW1JvdXRlckxpbmssIFRodW1ibmFpbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnZvaWNlLWxpbmUtaXRlbS5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ludm9pY2UtbGluZS1pdGVtLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTGluZUl0ZW0ge1xuICBpdGVtID0gaW5wdXQucmVxdWlyZWQ8SW52b2ljZUxpbmU+KCk7XG4gIGxpbmsgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHRodW1ibmFpbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtKCkuaW1hZ2VVcmw7XG4gIH0pO1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHB5LTJcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtaW4tdy0yNCB3LTM2IGFzcGVjdC12aWRlbyBiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gaG92ZXI6cm91bmRlZC1ub25lIHJvdW5kZWQtbGcgaC1maXQgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgW3JvdXRlckxpbmtdPVwibGluaygpXCJcbiAgICA+XG4gICAgICBAZGVmZXIgKG9uIHZpZXdwb3J0KCkpIHtcbiAgICAgIDxyb2xhdGVjaC10aHVtYm5haWwgW3NyY109XCJ0aHVtYm5haWwoKVwiIHNpemU9XCJtZWRpdW1cIiBtb2RlPVwiY2xpcFwiPiA8L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgIH0gQHBsYWNlaG9sZGVyIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvXCI+PC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG1sLTMgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDwhLS0gaW5mbyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGQgaG92ZXI6dGV4dC1bLS1ydC1icmFuZC1jb2xvcl0gY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCJsaW5rKClcIlxuICAgICAgICAgICAgPnt7IGl0ZW0oKS50aXRsZSB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodCBwLTFcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPsKje3sgaXRlbSgpLmFtb3VudCB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","import { Component, inject, signal } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { BaseComponent, ContainerComponent, SpinnerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { InvoiceService, PaymentService } from '@rolatech/angular-services';\nimport { switchMap } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterLink } from '@angular/router';\nimport { FixedPipe, ShippingAddressPipe } from '@rolatech/angular-common';\nimport { InvoiceStatus } from '../../../interfaces';\nimport { InvoiceLineItem } from '../../../components/invoice-line-item/invoice-line-item';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class InvoiceDetailComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.invoiceService = inject(InvoiceService);\n this.paymentService = inject(PaymentService);\n this.invoice = signal(null, ...(ngDevMode ? [{ debugName: \"invoice\" }] : []));\n this.status = InvoiceStatus;\n this.paying = false;\n }\n ngOnInit() {\n this.route.params.subscribe((params) => {\n const id = params['id'];\n this.get(id);\n });\n this.route.queryParams.subscribe(async (params) => {\n const sessionId = params['session_id'];\n if (sessionId) {\n // this.invoiceService.checkOfferPaymentStatus(this.id, sessionId).subscribe({\n // next: (res) => {\n // if (res.status === 'paid') {\n // this.invoice.update((state) => {\n // if (!state) return state;\n // state.status = InvoiceStatus.PAID;\n // return state;\n // });\n // }\n // },\n // });\n }\n });\n }\n get(id) {\n this.invoiceService.get(id).subscribe({\n next: (res) => {\n this.invoice.set(res.data);\n console.log(res.data);\n },\n });\n }\n pay() {\n this.paying = true;\n const data = {\n businessType: 'INVOICE',\n businessId: this.id,\n provider: 'STRIPE',\n method: 'STRIPE_CHECKOUT',\n };\n this.paymentService\n .createPaymentIntent(data)\n .pipe(switchMap((res) => {\n const intent = {\n intentId: res.data.id,\n provider: 'STRIPE',\n method: 'STRIPE_CHECKOUT',\n successUrl: window.location.href + '?session_id={CHECKOUT_SESSION_ID}',\n cancelUrl: window.location.href,\n };\n return this.paymentService.createPayment(intent);\n }))\n .subscribe({\n next: (res) => {\n this.paying = false;\n const { redirectUrl } = res.data;\n window.open(redirectUrl, '_blank');\n },\n error: (error) => {\n this.paying = false;\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceDetailComponent, isStandalone: true, selector: \"rolatech-invoice-detail\", usesInheritance: true, ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar [title]=\\\"invoice() ? status[invoice()!.status] : ''\\\" large link=\\\"../\\\"> </rolatech-toolbar>\\n @if (invoice(); as invoice) {\\n <div>\\n <div>\\n <div>\\n @for (item of invoice.lines; track $index) {\\n <rolatech-invoice-line-item [item]=\\\"item\\\" [link]=\\\"'/properties/' + item.extId\\\"></rolatech-invoice-line-item>\\n }\\n </div>\\n <div class=\\\"mt-3\\\">\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Profile</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.firstName }},{{ invoice.lastName }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Email</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.email }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Phone</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.phone }}</span>\\n </div>\\n\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Total</span>\\n <span class=\\\"text-sm\\\">\\u00A3{{ invoice.total }}</span>\\n </div>\\n <div class=\\\"flex items-baseline justify-between py-1\\\">\\n <span class=\\\"font-medium min-w-20\\\" i18n>Note</span>\\n <span class=\\\"text-sm\\\">{{ invoice.note || '\\u65E0' }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Created at</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.createdAt }}</span>\\n </div>\\n </div>\\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\\n <div class=\\\"mt-6\\\">\\n <div class=\\\"text-lg pb-3 font-medium\\\" i18n>Payment method</div>\\n <div class=\\\"flex items-center\\\">\\n <span class=\\\"ml-1\\\">Stripe</span>\\n </div>\\n </div>\\n }\\n </div>\\n\\n <!-- safe area -->\\n <div class=\\\"pb-16 sm:pb-3\\\"></div>\\n <div class=\\\"\\\">\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button [disabled]=\\\"paying\\\" class=\\\"w-32 min-h-11\\\" (click)=\\\"pay()\\\" i18n>\\n {{ paying ? 'Paying' : 'Pay' }}\\n </button>\\n </div>\\n </div>\\n </div>\\n }\\n</rolatech-container>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: InvoiceLineItem, selector: \"rolatech-invoice-line-item\", inputs: [\"item\", \"link\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceDetailComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-detail', imports: [\n MatButtonModule,\n MatIconModule,\n NgClass,\n SpinnerComponent,\n ContainerComponent,\n ToolbarComponent,\n FixedPipe,\n ShippingAddressPipe,\n RouterLink,\n InvoiceLineItem,\n ], template: \"<rolatech-container>\\n <rolatech-toolbar [title]=\\\"invoice() ? status[invoice()!.status] : ''\\\" large link=\\\"../\\\"> </rolatech-toolbar>\\n @if (invoice(); as invoice) {\\n <div>\\n <div>\\n <div>\\n @for (item of invoice.lines; track $index) {\\n <rolatech-invoice-line-item [item]=\\\"item\\\" [link]=\\\"'/properties/' + item.extId\\\"></rolatech-invoice-line-item>\\n }\\n </div>\\n <div class=\\\"mt-3\\\">\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Profile</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.firstName }},{{ invoice.lastName }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Email</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.email }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Phone</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.phone }}</span>\\n </div>\\n\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Total</span>\\n <span class=\\\"text-sm\\\">\\u00A3{{ invoice.total }}</span>\\n </div>\\n <div class=\\\"flex items-baseline justify-between py-1\\\">\\n <span class=\\\"font-medium min-w-20\\\" i18n>Note</span>\\n <span class=\\\"text-sm\\\">{{ invoice.note || '\\u65E0' }}</span>\\n </div>\\n <div class=\\\"flex items-center justify-between py-1\\\">\\n <span class=\\\"font-medium\\\" i18n>Created at</span>\\n <span class=\\\"text-sm\\\"> {{ invoice.createdAt }}</span>\\n </div>\\n </div>\\n @if (invoice.status.toString() === 'CREATED' || invoice.status.toString() === 'PAID') {\\n <div class=\\\"mt-6\\\">\\n <div class=\\\"text-lg pb-3 font-medium\\\" i18n>Payment method</div>\\n <div class=\\\"flex items-center\\\">\\n <span class=\\\"ml-1\\\">Stripe</span>\\n </div>\\n </div>\\n }\\n </div>\\n\\n <!-- safe area -->\\n <div class=\\\"pb-16 sm:pb-3\\\"></div>\\n <div class=\\\"\\\">\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button [disabled]=\\\"paying\\\" class=\\\"w-32 min-h-11\\\" (click)=\\\"pay()\\\" i18n>\\n {{ paying ? 'Paying' : 'Pay' }}\\n </button>\\n </div>\\n </div>\\n </div>\\n }\\n</rolatech-container>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS9pbnZvaWNlLWRldGFpbC9pbnZvaWNlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2UtZGV0YWlsL2ludm9pY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFXLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7O0FBbUIxRixNQUFNLE9BQU8s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QUcsS0FBSyxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXBFVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwR0M3Qm5DLDYrRUEyREEseURENUNJLGVBQWUsbVhBQ2YsYUFBYSwrQkFHYixrQkFBa0IsK0RBQ2xCLGdCQUFnQixnSUFJaEIsZUFBZTs7MkZBS04sc0JBQXNCO2tCQWpCbEMsU0FBUzsrQkFDRSx5QkFBeUIsV0FDMUI7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgQ29udGFpbmVyQ29tcG9uZW50LCBTcGlubmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJbnZvaWNlU2VydmljZSwgUGF5bWVudFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZpeGVkUGlwZSwgU2hpcHBpbmdBZGRyZXNzUGlwZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBJbnZvaWNlLCBJbnZvaWNlU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbnZvaWNlTGluZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ludm9pY2UtbGluZS1pdGVtL2ludm9pY2UtbGluZS1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1kZXRhaWwnLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTmdDbGFzcyxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIEZpeGVkUGlwZSxcbiAgICBTaGlwcGluZ0FkZHJlc3NQaXBlLFxuICAgIFJvdXRlckxpbmssXG4gICAgSW52b2ljZUxpbmVJdGVtLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW52b2ljZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlRGV0YWlsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGludm9pY2VTZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcbiAgcGF5bWVudFNlcnZpY2UgPSBpbmplY3QoUGF5bWVudFNlcnZpY2UpO1xuICBpbnZvaWNlID0gc2lnbmFsPEludm9pY2UgfCBudWxsPihudWxsKTtcbiAgc3RhdHVzID0gSW52b2ljZVN0YXR1cztcbiAgcGF5aW5nID0gZmFsc2U7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHBhcmFtc1snaWQnXTtcbiAgICAgIHRoaXMuZ2V0KGlkKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICBjb25zdCBzZXNzaW9uSWQgPSBwYXJhbXNbJ3Nlc3Npb25faWQnXTtcbiAgICAgIGlmIChzZXNzaW9uSWQpIHtcbiAgICAgICAgLy8gdGhpcy5pbnZvaWNlU2VydmljZS5jaGVja09mZmVyUGF5bWVudFN0YXR1cyh0aGlzLmlkLCBzZXNzaW9uSWQpLnN1YnNjcmliZSh7XG4gICAgICAgIC8vICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAvLyAgICAgaWYgKHJlcy5zdGF0dXMgPT09ICdwYWlkJykge1xuICAgICAgICAvLyAgICAgICB0aGlzLmludm9pY2UudXBkYXRlKChzdGF0ZSkgPT4ge1xuICAgICAgICAvLyAgICAgICAgIGlmICghc3RhdGUpIHJldHVybiBzdGF0ZTtcbiAgICAgICAgLy8gICAgICAgICBzdGF0ZS5zdGF0dXMgPSBJbnZvaWNlU3RhdHVzLlBBSUQ7XG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICAvLyAgICAgICB9KTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9LFxuICAgICAgICAvLyB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBnZXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuaW52b2ljZVNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaW52b2ljZS5zZXQocmVzLmRhdGEpO1xuICAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHBheSgpIHtcbiAgICB0aGlzLnBheWluZyA9IHRydWU7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGJ1c2luZXNzVHlwZTogJ0lOVk9JQ0UnLFxuICAgICAgYnVzaW5lc3NJZDogdGhpcy5pZCxcbiAgICAgIHByb3ZpZGVyOiAnU1RSSVBFJyxcbiAgICAgIG1ldGhvZDogJ1NUUklQRV9DSEVDS09VVCcsXG4gICAgfTtcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlXG4gICAgICAuY3JlYXRlUGF5bWVudEludGVudChkYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBpbnRlbnQgPSB7XG4gICAgICAgICAgICBpbnRlbnRJZDogcmVzLmRhdGEuaWQsXG4gICAgICAgICAgICBwcm92aWRlcjogJ1NUUklQRScsXG4gICAgICAgICAgICBtZXRob2Q6ICdTVFJJUEVfQ0hFQ0tPVVQnLFxuICAgICAgICAgICAgc3VjY2Vzc1VybDogd2luZG93LmxvY2F0aW9uLmhyZWYgKyAnP3Nlc3Npb25faWQ9e0NIRUNLT1VUX1NFU1NJT05fSUR9JyxcbiAgICAgICAgICAgIGNhbmNlbFVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5jcmVhdGVQYXltZW50KGludGVudCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnBheWluZyA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IHsgcmVkaXJlY3RVcmwgfSA9IHJlcy5kYXRhO1xuICAgICAgICAgIHdpbmRvdy5vcGVuKHJlZGlyZWN0VXJsLCAnX2JsYW5rJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLnBheWluZyA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1jb250YWluZXI+XG4gIDxyb2xhdGVjaC10b29sYmFyIFt0aXRsZV09XCJpbnZvaWNlKCkgPyBzdGF0dXNbaW52b2ljZSgpIS5zdGF0dXNdIDogJydcIiBsYXJnZSBsaW5rPVwiLi4vXCI+IDwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgQGlmIChpbnZvaWNlKCk7IGFzIGludm9pY2UpIHtcbiAgICA8ZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGludm9pY2UubGluZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPHJvbGF0ZWNoLWludm9pY2UtbGluZS1pdGVtIFtpdGVtXT1cIml0ZW1cIiBbbGlua109XCInL3Byb3BlcnRpZXMvJyArIGl0ZW0uZXh0SWRcIj48L3JvbGF0ZWNoLWludm9pY2UtbGluZS1pdGVtPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCIgaTE4bj5Qcm9maWxlPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+IHt7IGludm9pY2UuZmlyc3ROYW1lIH19LHt7IGludm9pY2UubGFzdE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCIgaTE4bj5FbWFpbDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPiB7eyBpbnZvaWNlLmVtYWlsIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiIGkxOG4+UGhvbmU8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj4ge3sgaW52b2ljZS5waG9uZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiIGkxOG4+VG90YWw8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj7Co3t7IGludm9pY2UudG90YWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW0gbWluLXctMjBcIiBpMThuPk5vdGU8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIj57eyBpbnZvaWNlLm5vdGUgfHwgJ+aXoCcgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0xXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCIgaTE4bj5DcmVhdGVkIGF0PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+IHt7IGludm9pY2UuY3JlYXRlZEF0IH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChpbnZvaWNlLnN0YXR1cy50b1N0cmluZygpID09PSAnQ1JFQVRFRCcgfHwgaW52b2ljZS5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ1BBSUQnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxnIHBiLTMgZm9udC1tZWRpdW1cIiBpMThuPlBheW1lbnQgbWV0aG9kPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0xXCI+U3RyaXBlPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIHNhZmUgYXJlYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYi0xNiBzbTpwYi0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIFtkaXNhYmxlZF09XCJwYXlpbmdcIiBjbGFzcz1cInctMzIgbWluLWgtMTFcIiAoY2xpY2spPVwicGF5KClcIiBpMThuPlxuICAgICAgICAgICAge3sgcGF5aW5nID8gJ1BheWluZycgOiAnUGF5JyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L3JvbGF0ZWNoLWNvbnRhaW5lcj5cbiJdfQ==","import { InvoiceIndexComponent } from './invoice-index/invoice-index.component';\nimport { InvoiceDetailComponent } from './invoice-detail/invoice-detail.component';\nexport const invoiceRoutes = [\n {\n path: '',\n component: InvoiceIndexComponent,\n },\n {\n path: ':id',\n component: InvoiceDetailComponent,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlL2ludm9pY2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVztJQUNuQztRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZvaWNlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2ludm9pY2UtaW5kZXgvaW52b2ljZS1pbmRleC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW52b2ljZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vaW52b2ljZS1kZXRhaWwvaW52b2ljZS1kZXRhaWwuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IGludm9pY2VSb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGNvbXBvbmVudDogSW52b2ljZUluZGV4Q29tcG9uZW50LFxuICB9LFxuICB7XG4gICAgcGF0aDogJzppZCcsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlRGV0YWlsQ29tcG9uZW50LFxuICB9LFxuXTtcbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { Component, DestroyRef, inject, signal } from '@angular/core';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { TabComponent, TabsComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { InvoiceService } from '@rolatech/angular-services';\nimport { InvoiceManageItem } from '../../../components';\nimport { distinctUntilChanged, finalize, map, switchMap } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/paginator\";\nexport class InvoiceManageIndex {\n constructor() {\n this.invoiceService = inject(InvoiceService);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.destroyRef = inject(DestroyRef);\n this.select = 0;\n this.invoices = signal([], ...(ngDevMode ? [{ debugName: \"invoices\" }] : []));\n this.loading = false;\n this.length = 100;\n this.pageSize = 15;\n this.pageIndex = signal(0, ...(ngDevMode ? [{ debugName: \"pageIndex\" }] : []));\n this.pageSizeOptions = [5, 10, 25, 100];\n this.links = [\n {\n name: 'All',\n icon: 'dashboard',\n },\n {\n name: 'Pending',\n icon: 'category',\n status: 'created',\n },\n {\n name: 'Paid',\n icon: 'category',\n status: 'paid',\n },\n ];\n }\n ngOnInit() {\n const sub = this.route.queryParamMap\n .pipe(map((p) => {\n const page = p.get('page') ? Number(p.get('page')) : 1;\n this.pageIndex.set(Math.max(page - 1, 0));\n return {\n page,\n limit: p.get('limit') ? Number(p.get('limit')) : 15,\n sort: p.get('sort') || undefined,\n };\n }), \n // Cheap deep compare via JSON to avoid spam calls when nothing changed\n map((o) => JSON.stringify(o)), distinctUntilChanged(), map((s) => JSON.parse(s)), switchMap((params) => {\n this.loading = true;\n return this.invoiceService.findByManager(params).pipe(finalize(() => (this.loading = false)));\n }))\n .subscribe({\n next: (res) => {\n this.invoices.set(res.data);\n this.meta = res.meta;\n this.length = res.meta.pagination.count;\n },\n error: () => {\n this.invoices.set([]);\n this.length = 0;\n },\n });\n // // auto-unsubscribe on destroy\n this.destroyRef.onDestroy(() => sub.unsubscribe());\n }\n onPage(e) {\n this.router.navigate([], {\n queryParams: { page: e.pageIndex + 1, limit: e.pageSize },\n queryParamsHandling: 'merge',\n replaceUrl: true, // optional: avoid stacking history on every page click\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageIndex, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceManageIndex, isStandalone: true, selector: \"rolatech-invoice-manage-index\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Invoices\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) { @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n } }\\n</rolatech-tabs>\\n<div>\\n @for (item of invoices(); track $index) {\\n <rolatech-invoice-manage-item [invoice]=\\\"item\\\"></rolatech-invoice-manage-item>\\n }\\n</div>\\n<mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageIndex]=\\\"pageIndex()\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"onPage($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n>\\n</mat-paginator>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: TabsComponent, selector: \"rolatech-tabs\", inputs: [\"select\", \"loading\"], outputs: [\"selectChange\"] }, { kind: \"component\", type: TabComponent, selector: \"rolatech-tab\", inputs: [\"label\"] }, { kind: \"ngmodule\", type: MatPaginatorModule }, { kind: \"component\", type: i1.MatPaginator, selector: \"mat-paginator\", inputs: [\"color\", \"pageIndex\", \"length\", \"pageSize\", \"pageSizeOptions\", \"hidePageSize\", \"showFirstLastButtons\", \"selectConfig\", \"disabled\"], outputs: [\"page\"], exportAs: [\"matPaginator\"] }, { kind: \"component\", type: InvoiceManageItem, selector: \"rolatech-invoice-manage-item\", inputs: [\"invoice\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageIndex, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-index', imports: [CommonModule, RouterLink, ToolbarComponent, TabsComponent, TabComponent, MatPaginatorModule, InvoiceManageItem], template: \"<rolatech-toolbar title=\\\"Invoices\\\">\\n <div class=\\\"flex items-center gap-2\\\"></div>\\n</rolatech-toolbar>\\n<rolatech-tabs [select]=\\\"select\\\">\\n @for (item of links; track item) { @if (item.status) {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\" [queryParams]=\\\"{ status: item.status }\\\"></rolatech-tab>\\n } @else {\\n <rolatech-tab [label]=\\\"item.name\\\" routerLink=\\\"./\\\"></rolatech-tab>\\n } }\\n</rolatech-tabs>\\n<div>\\n @for (item of invoices(); track $index) {\\n <rolatech-invoice-manage-item [invoice]=\\\"item\\\"></rolatech-invoice-manage-item>\\n }\\n</div>\\n<mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageIndex]=\\\"pageIndex()\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"onPage($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n>\\n</mat-paginator>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlLW1hbmFnZS9pbnZvaWNlLW1hbmFnZS1pbmRleC9pbnZvaWNlLW1hbmFnZS1pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWluZGV4L2ludm9pY2UtbWFuYWdlLWluZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFRdEUsTUFBTSxPQUFPLGtCQUFrQjtJQU4vQjtRQU9VLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxD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QUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLENBQUM7U0FDRixDQUFDLENBQUM7UUFFTCxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDekQsbUJBQW1CLEVBQUUsT0FBTztZQUM1QixVQUFVLEVBQUUsSUFBSSxFQUFFLHVEQUF1RDtTQUMxRSxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXpFVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix5RkNoQi9CLHV6QkEwQkEseUREZFksWUFBWSwrQkFBRSxVQUFVLG9PQUFFLGdCQUFnQixnSUFBRSxhQUFhLG9IQUFFLFlBQVksMkVBQUUsa0JBQWtCLG9TQUFFLGlCQUFpQjs7MkZBSTdHLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSwrQkFBK0IsV0FDaEMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUsIFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRhYkNvbXBvbmVudCwgVGFic0NvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW52b2ljZVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbnZvaWNlTWFuYWdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLW1hbmFnZS1pbmRleCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIFRvb2xiYXJDb21wb25lbnQsIFRhYnNDb21wb25lbnQsIFRhYkNvbXBvbmVudCwgTWF0UGFnaW5hdG9yTW9kdWxlLCBJbnZvaWNlTWFuYWdlSXRlbV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnZvaWNlLW1hbmFnZS1pbmRleC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWluZGV4LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlSW5kZXggaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGludm9pY2VTZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHNlbGVjdCA9IDA7XG4gIGludm9pY2VzID0gc2lnbmFsPEludm9pY2VbXT4oW10pO1xuICBtZXRhOiBhbnk7XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgbGVuZ3RoID0gMTAwO1xuICBwYWdlU2l6ZSA9IDE1O1xuICBwYWdlSW5kZXggPSBzaWduYWwoMCk7XG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbNSwgMTAsIDI1LCAxMDBdO1xuICBsaW5rcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnQWxsJyxcbiAgICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1BlbmRpbmcnLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ2NyZWF0ZWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1BhaWQnLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ3BhaWQnLFxuICAgIH0sXG4gIF07XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhZ2UgPSBwLmdldCgncGFnZScpID8gTnVtYmVyKHAuZ2V0KCdwYWdlJykpIDogMTtcbiAgICAgICAgICB0aGlzLnBhZ2VJbmRleC5zZXQoTWF0aC5tYXgocGFnZSAtIDEsIDApKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIGxpbWl0OiBwLmdldCgnbGltaXQnKSA/IE51bWJlcihwLmdldCgnbGltaXQnKSkgOiAxNSxcbiAgICAgICAgICAgIHNvcnQ6IHAuZ2V0KCdzb3J0JykgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgICAvLyBDaGVhcCBkZWVwIGNvbXBhcmUgdmlhIEpTT04gdG8gYXZvaWQgc3BhbSBjYWxscyB3aGVuIG5vdGhpbmcgY2hhbmdlZFxuICAgICAgICBtYXAoKG8pID0+IEpTT04uc3RyaW5naWZ5KG8pKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgbWFwKChzKSA9PiBKU09OLnBhcnNlKHMpKSxcbiAgICAgICAgc3dpdGNoTWFwKChwYXJhbXMpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiB0aGlzLmludm9pY2VTZXJ2aWNlLmZpbmRCeU1hbmFnZXIocGFyYW1zKS5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuaW52b2ljZXMuc2V0KHJlcy5kYXRhKTtcbiAgICAgICAgICB0aGlzLm1ldGEgPSByZXMubWV0YTtcbiAgICAgICAgICB0aGlzLmxlbmd0aCA9IHJlcy5tZXRhLnBhZ2luYXRpb24uY291bnQ7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnZvaWNlcy5zZXQoW10pO1xuICAgICAgICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgLy8gLy8gYXV0by11bnN1YnNjcmliZSBvbiBkZXN0cm95XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbiAgb25QYWdlKGU6IFBhZ2VFdmVudCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICBxdWVyeVBhcmFtczogeyBwYWdlOiBlLnBhZ2VJbmRleCArIDEsIGxpbWl0OiBlLnBhZ2VTaXplIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgcmVwbGFjZVVybDogdHJ1ZSwgLy8gb3B0aW9uYWw6IGF2b2lkIHN0YWNraW5nIGhpc3Rvcnkgb24gZXZlcnkgcGFnZSBjbGlja1xuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIkludm9pY2VzXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPjwvZGl2PlxuPC9yb2xhdGVjaC10b29sYmFyPlxuPHJvbGF0ZWNoLXRhYnMgW3NlbGVjdF09XCJzZWxlY3RcIj5cbiAgQGZvciAoaXRlbSBvZiBsaW5rczsgdHJhY2sgaXRlbSkgeyBAaWYgKGl0ZW0uc3RhdHVzKSB7XG4gIDxyb2xhdGVjaC10YWIgW2xhYmVsXT1cIml0ZW0ubmFtZVwiIHJvdXRlckxpbms9XCIuL1wiIFtxdWVyeVBhcmFtc109XCJ7IHN0YXR1czogaXRlbS5zdGF0dXMgfVwiPjwvcm9sYXRlY2gtdGFiPlxuICB9IEBlbHNlIHtcbiAgPHJvbGF0ZWNoLXRhYiBbbGFiZWxdPVwiaXRlbS5uYW1lXCIgcm91dGVyTGluaz1cIi4vXCI+PC9yb2xhdGVjaC10YWI+XG4gIH0gfVxuPC9yb2xhdGVjaC10YWJzPlxuPGRpdj5cbiAgQGZvciAoaXRlbSBvZiBpbnZvaWNlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgPHJvbGF0ZWNoLWludm9pY2UtbWFuYWdlLWl0ZW0gW2ludm9pY2VdPVwiaXRlbVwiPjwvcm9sYXRlY2gtaW52b2ljZS1tYW5hZ2UtaXRlbT5cbiAgfVxuPC9kaXY+XG48bWF0LXBhZ2luYXRvclxuICAjcGFnaW5hdG9yXG4gIFtsZW5ndGhdPVwibGVuZ3RoXCJcbiAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXgoKVwiXG4gIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgKHBhZ2UpPVwib25QYWdlKCRldmVudClcIlxuICBoaWRlUGFnZVNpemVcbiAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnNcbj5cbjwvbWF0LXBhZ2luYXRvcj5cbiJdfQ==","import { CommonModule, CurrencyPipe, NgOptimizedImage } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { InvoiceService } from '@rolatech/angular-services';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/form-field\";\nimport * as i5 from \"@angular/material/input\";\nimport * as i6 from \"@angular/material/select\";\nimport * as i7 from \"@angular/material/core\";\nimport * as i8 from \"@angular/material/divider\";\nimport * as i9 from \"@angular/material/card\";\nimport * as i10 from \"@angular/common\";\nexport class InvoiceManageCreate {\n constructor() {\n this.service = inject(InvoiceService);\n // Template-driven model\n this.invoice = {\n customerName: '',\n customerEmail: '',\n customerAddress: '',\n currency: 'GBP',\n issueDate: this.todayIso(),\n dueDate: '',\n notes: '',\n lines: [{ description: '', quantity: 1, unitPrice: 0, taxRate: 0 }],\n };\n this.lastResponse = null;\n }\n addLine() {\n this.invoice.lines.push({ description: '', quantity: 1, unitPrice: 0, taxRate: 0 });\n }\n removeLine(i) {\n this.invoice.lines.splice(i, 1);\n }\n subtotalPence() {\n return this.invoice.lines.reduce((sum, l) => sum + Math.round((l.unitPrice || 0) * 100) * (l.quantity || 0), 0);\n }\n taxPence() {\n return this.invoice.lines.reduce((t, l) => {\n const unitPence = Math.round((l.unitPrice || 0) * 100);\n const rate = (l.taxRate || 0) / 100;\n return t + Math.round(unitPence * (l.quantity || 0) * rate);\n }, 0);\n }\n totalPence() {\n return this.subtotalPence() + this.taxPence();\n }\n subtotalMajor() {\n return this.penceToMajor(this.subtotalPence());\n }\n taxMajor() {\n return this.penceToMajor(this.taxPence());\n }\n totalMajor() {\n return this.penceToMajor(this.totalPence());\n }\n save(form) {\n if (!form.form.valid || this.invoice.lines.length === 0)\n return;\n const dto = {\n customerName: this.invoice.customerName,\n customerEmail: this.invoice.customerEmail || undefined,\n customerAddress: this.invoice.customerAddress || undefined,\n currency: this.invoice.currency,\n issueDate: this.invoice.issueDate,\n dueDate: this.invoice.dueDate || undefined,\n notes: this.invoice.notes || undefined,\n lines: this.invoice.lines.map((l) => ({\n description: l.description,\n quantity: Number(l.quantity || 0),\n unitPrice: Math.round(Number(l.unitPrice || 0)),\n taxRate: Number(l.taxRate || 0),\n })),\n };\n this.service.create(dto).subscribe({\n next: (res) => {\n this.lastResponse = res;\n },\n error: (err) => {\n alert(err?.message || 'Failed to create invoice');\n },\n });\n }\n resetForm() {\n this.invoice = {\n customerName: '',\n customerEmail: '',\n customerAddress: '',\n currency: 'GBP',\n issueDate: this.todayIso(),\n dueDate: '',\n notes: '',\n lines: [{ description: '', quantity: 1, unitPrice: 0, taxRate: 0 }],\n };\n this.lastResponse = null;\n }\n penceToMajor(pence) {\n return Math.round(pence) / 100;\n }\n todayIso() {\n return new Date().toISOString().slice(0, 10);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageCreate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: InvoiceManageCreate, isStandalone: true, selector: \"rolatech-invoice-manage-create\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Create Invoice\\\">\\n <button mat-stroked-button (click)=\\\"addLine()\\\">\\n <mat-icon>add</mat-icon>\\n Add line\\n </button>\\n <button\\n mat-flat-button\\n color=\\\"primary\\\"\\n (click)=\\\"save(invoiceForm)\\\"\\n [disabled]=\\\"!invoiceForm.form.valid || invoice.lines.length === 0\\\"\\n >\\n Save\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-4 md:p-8 max-w-6xl mx-auto space-y-6\\\">\\n <form #invoiceForm=\\\"ngForm\\\" novalidate>\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4\\\">\\n <div class=\\\"grid md:grid-cols-2 gap-4\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer name</mat-label>\\n <input matInput name=\\\"customerName\\\" [(ngModel)]=\\\"invoice.customerName\\\" required />\\n @if (invoiceForm.submitted && !invoice.customerName) {<mat-error>Name is required</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer email</mat-label>\\n <input matInput type=\\\"email\\\" name=\\\"customerEmail\\\" [(ngModel)]=\\\"invoice.customerEmail\\\" #email=\\\"ngModel\\\" email />\\n @if (email.invalid && (email.dirty || email.touched)) {<mat-error>Invalid email</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Customer address</mat-label>\\n <textarea matInput rows=\\\"2\\\" name=\\\"customerAddress\\\" [(ngModel)]=\\\"invoice.customerAddress\\\"></textarea>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Currency</mat-label>\\n <mat-select name=\\\"currency\\\" [(ngModel)]=\\\"invoice.currency\\\" required>\\n <mat-option value=\\\"GBP\\\">GBP</mat-option>\\n <mat-option value=\\\"USD\\\">USD</mat-option>\\n <mat-option value=\\\"EUR\\\">EUR</mat-option>\\n </mat-select>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Issue date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"issueDate\\\" [(ngModel)]=\\\"invoice.issueDate\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Due date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"dueDate\\\" [(ngModel)]=\\\"invoice.dueDate\\\" />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Notes</mat-label>\\n <textarea\\n matInput\\n rows=\\\"2\\\"\\n name=\\\"notes\\\"\\n [(ngModel)]=\\\"invoice.notes\\\"\\n placeholder=\\\"Optional notes shown on the invoice\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </mat-card>\\n\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 space-y-4 mt-4\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <h2 class=\\\"text-xl font-medium\\\">Line items</h2>\\n <button mat-stroked-button type=\\\"button\\\" (click)=\\\"addLine()\\\">\\n <mat-icon>playlist_add</mat-icon>\\n Add line\\n </button>\\n </div>\\n\\n <div class=\\\"hidden md:grid grid-cols-12 gap-2 text-sm font-medium px-2\\\">\\n <div class=\\\"col-span-5\\\">Description</div>\\n <div class=\\\"col-span-2 text-right\\\">Qty</div>\\n <div class=\\\"col-span-2 text-right\\\">Unit Price</div>\\n <div class=\\\"col-span-2 text-right\\\">Tax %</div>\\n <div class=\\\"col-span-1\\\"></div>\\n </div>\\n\\n <div class=\\\"space-y-3\\\">\\n @for ( line of invoice.lines; track line; let i = $index) {\\n <div class=\\\"grid grid-cols-1 md:grid-cols-12 gap-2 items-start\\\">\\n <mat-form-field class=\\\"md:col-span-5\\\" appearance=\\\"fill\\\">\\n <mat-label>Description</mat-label>\\n <input\\n matInput\\n [name]=\\\"'desc'+i\\\"\\n [(ngModel)]=\\\"line.description\\\"\\n required\\n placeholder=\\\"e.g. Photo editing package\\\"\\n />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Quantity</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"1\\\" step=\\\"1\\\" [name]=\\\"'qty'+i\\\" [(ngModel)]=\\\"line.quantity\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Unit Price (major unit)</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'unit'+i\\\" [(ngModel)]=\\\"line.unitPrice\\\" required />\\n <mat-hint>e.g. 99.99</mat-hint>\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Tax %</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'tax'+i\\\" [(ngModel)]=\\\"line.taxRate\\\" />\\n </mat-form-field>\\n\\n <div class=\\\"md:col-span-1 flex items-center justify-end\\\">\\n <button mat-icon-button color=\\\"warn\\\" type=\\\"button\\\" (click)=\\\"removeLine(i)\\\" aria-label=\\\"Remove line\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n </div>\\n <mat-divider></mat-divider>\\n }\\n </div>\\n\\n <div class=\\\"flex flex-col items-end space-y-1\\\">\\n <div class=\\\"text-sm\\\">\\n Subtotal: <span class=\\\"font-medium\\\">{{ subtotalMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-sm\\\">\\n Tax: <span class=\\\"font-medium\\\">{{ taxMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-lg font-semibold\\\">Total: {{ totalMajor() | number:'1.2-2' }} {{ invoice.currency }}</div>\\n </div>\\n </mat-card>\\n </form>\\n\\n @if (lastResponse) {\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 flex items-center justify-between\\\">\\n <div>\\n <div class=\\\"font-medium\\\">Created invoice #{{ lastResponse.data.id }}</div>\\n <div class=\\\"text-sm opacity-70\\\">\\n Total: {{ penceToMajor(lastResponse.data.total) | number:'1.2-2' }} {{ invoice.currency }}\\n </div>\\n </div>\\n <div class=\\\"space-x-2\\\">\\n <button mat-stroked-button (click)=\\\"resetForm()\\\">Create another</button>\\n <button mat-flat-button color=\\\"primary\\\">Download PDF</button>\\n </div>\\n </mat-card>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.EmailValidator, selector: \"[email][formControlName],[email][formControl],[email][ngModel]\", inputs: [\"email\"] }, { kind: \"directive\", type: i1.MinValidator, selector: \"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]\", inputs: [\"min\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i2.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i4.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i4.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i4.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i4.MatError, selector: \"mat-error, [matError]\", inputs: [\"id\"] }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i5.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"component\", type: i6.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: i7.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"ngmodule\", type: MatDividerModule }, { kind: \"component\", type: i8.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"ngmodule\", type: MatCardModule }, { kind: \"component\", type: i9.MatCard, selector: \"mat-card\", inputs: [\"appearance\"], exportAs: [\"matCard\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"pipe\", type: i10.DecimalPipe, name: \"number\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageCreate, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-create', imports: [\n CommonModule,\n FormsModule,\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatDividerModule,\n MatCardModule,\n CurrencyPipe,\n NgOptimizedImage,\n ToolbarComponent,\n ], template: \"<rolatech-toolbar title=\\\"Create Invoice\\\">\\n <button mat-stroked-button (click)=\\\"addLine()\\\">\\n <mat-icon>add</mat-icon>\\n Add line\\n </button>\\n <button\\n mat-flat-button\\n color=\\\"primary\\\"\\n (click)=\\\"save(invoiceForm)\\\"\\n [disabled]=\\\"!invoiceForm.form.valid || invoice.lines.length === 0\\\"\\n >\\n Save\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-4 md:p-8 max-w-6xl mx-auto space-y-6\\\">\\n <form #invoiceForm=\\\"ngForm\\\" novalidate>\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4\\\">\\n <div class=\\\"grid md:grid-cols-2 gap-4\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer name</mat-label>\\n <input matInput name=\\\"customerName\\\" [(ngModel)]=\\\"invoice.customerName\\\" required />\\n @if (invoiceForm.submitted && !invoice.customerName) {<mat-error>Name is required</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Customer email</mat-label>\\n <input matInput type=\\\"email\\\" name=\\\"customerEmail\\\" [(ngModel)]=\\\"invoice.customerEmail\\\" #email=\\\"ngModel\\\" email />\\n @if (email.invalid && (email.dirty || email.touched)) {<mat-error>Invalid email</mat-error>}\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Customer address</mat-label>\\n <textarea matInput rows=\\\"2\\\" name=\\\"customerAddress\\\" [(ngModel)]=\\\"invoice.customerAddress\\\"></textarea>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Currency</mat-label>\\n <mat-select name=\\\"currency\\\" [(ngModel)]=\\\"invoice.currency\\\" required>\\n <mat-option value=\\\"GBP\\\">GBP</mat-option>\\n <mat-option value=\\\"USD\\\">USD</mat-option>\\n <mat-option value=\\\"EUR\\\">EUR</mat-option>\\n </mat-select>\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Issue date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"issueDate\\\" [(ngModel)]=\\\"invoice.issueDate\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Due date</mat-label>\\n <input matInput type=\\\"date\\\" name=\\\"dueDate\\\" [(ngModel)]=\\\"invoice.dueDate\\\" />\\n </mat-form-field>\\n\\n <mat-form-field appearance=\\\"fill\\\" class=\\\"md:col-span-2\\\">\\n <mat-label>Notes</mat-label>\\n <textarea\\n matInput\\n rows=\\\"2\\\"\\n name=\\\"notes\\\"\\n [(ngModel)]=\\\"invoice.notes\\\"\\n placeholder=\\\"Optional notes shown on the invoice\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </mat-card>\\n\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 space-y-4 mt-4\\\">\\n <div class=\\\"flex items-center justify-between\\\">\\n <h2 class=\\\"text-xl font-medium\\\">Line items</h2>\\n <button mat-stroked-button type=\\\"button\\\" (click)=\\\"addLine()\\\">\\n <mat-icon>playlist_add</mat-icon>\\n Add line\\n </button>\\n </div>\\n\\n <div class=\\\"hidden md:grid grid-cols-12 gap-2 text-sm font-medium px-2\\\">\\n <div class=\\\"col-span-5\\\">Description</div>\\n <div class=\\\"col-span-2 text-right\\\">Qty</div>\\n <div class=\\\"col-span-2 text-right\\\">Unit Price</div>\\n <div class=\\\"col-span-2 text-right\\\">Tax %</div>\\n <div class=\\\"col-span-1\\\"></div>\\n </div>\\n\\n <div class=\\\"space-y-3\\\">\\n @for ( line of invoice.lines; track line; let i = $index) {\\n <div class=\\\"grid grid-cols-1 md:grid-cols-12 gap-2 items-start\\\">\\n <mat-form-field class=\\\"md:col-span-5\\\" appearance=\\\"fill\\\">\\n <mat-label>Description</mat-label>\\n <input\\n matInput\\n [name]=\\\"'desc'+i\\\"\\n [(ngModel)]=\\\"line.description\\\"\\n required\\n placeholder=\\\"e.g. Photo editing package\\\"\\n />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Quantity</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"1\\\" step=\\\"1\\\" [name]=\\\"'qty'+i\\\" [(ngModel)]=\\\"line.quantity\\\" required />\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Unit Price (major unit)</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'unit'+i\\\" [(ngModel)]=\\\"line.unitPrice\\\" required />\\n <mat-hint>e.g. 99.99</mat-hint>\\n </mat-form-field>\\n\\n <mat-form-field class=\\\"md:col-span-2\\\" appearance=\\\"fill\\\">\\n <mat-label>Tax %</mat-label>\\n <input matInput type=\\\"number\\\" min=\\\"0\\\" step=\\\"0.01\\\" [name]=\\\"'tax'+i\\\" [(ngModel)]=\\\"line.taxRate\\\" />\\n </mat-form-field>\\n\\n <div class=\\\"md:col-span-1 flex items-center justify-end\\\">\\n <button mat-icon-button color=\\\"warn\\\" type=\\\"button\\\" (click)=\\\"removeLine(i)\\\" aria-label=\\\"Remove line\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n </div>\\n <mat-divider></mat-divider>\\n }\\n </div>\\n\\n <div class=\\\"flex flex-col items-end space-y-1\\\">\\n <div class=\\\"text-sm\\\">\\n Subtotal: <span class=\\\"font-medium\\\">{{ subtotalMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-sm\\\">\\n Tax: <span class=\\\"font-medium\\\">{{ taxMajor() | number:'1.2-2' }} {{ invoice.currency }}</span>\\n </div>\\n <div class=\\\"text-lg font-semibold\\\">Total: {{ totalMajor() | number:'1.2-2' }} {{ invoice.currency }}</div>\\n </div>\\n </mat-card>\\n </form>\\n\\n @if (lastResponse) {\\n <mat-card appearance=\\\"outlined\\\" class=\\\"p-4 flex items-center justify-between\\\">\\n <div>\\n <div class=\\\"font-medium\\\">Created invoice #{{ lastResponse.data.id }}</div>\\n <div class=\\\"text-sm opacity-70\\\">\\n Total: {{ penceToMajor(lastResponse.data.total) | number:'1.2-2' }} {{ invoice.currency }}\\n </div>\\n </div>\\n <div class=\\\"space-x-2\\\">\\n <button mat-stroked-button (click)=\\\"resetForm()\\\">Create another</button>\\n <button mat-flat-button color=\\\"primary\\\">Download PDF</button>\\n </div>\\n </mat-card>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS1tYW5hZ2UvaW52b2ljZS1tYW5hZ2UtY3JlYXRlL2ludm9pY2UtbWFuYWdlLWNyZWF0ZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWNyZWF0ZS9pbnZvaWNlLW1hbmFnZS1jcmVhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBa0QsV0FBVyxFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4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Qjt3QkFDaEIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgQ3VycmVuY3lQaXBlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEludm9pY2VTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgSW52b2ljZSwgSW52b2ljZUNyZWF0ZUR0bywgSW52b2ljZUxpbmVDcmVhdGVEdG8gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1tYW5hZ2UtY3JlYXRlJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBDdXJyZW5jeVBpcGUsXG4gICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW52b2ljZS1tYW5hZ2UtY3JlYXRlLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1tYW5hZ2UtY3JlYXRlLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlQ3JlYXRlIHtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KEludm9pY2VTZXJ2aWNlKTtcblxuICAvLyBUZW1wbGF0ZS1kcml2ZW4gbW9kZWxcbiAgaW52b2ljZToge1xuICAgIGN1c3RvbWVyTmFtZTogc3RyaW5nO1xuICAgIGN1c3RvbWVyRW1haWw/OiBzdHJpbmc7XG4gICAgY3VzdG9tZXJBZGRyZXNzPzogc3RyaW5nO1xuICAgIGN1cnJlbmN5OiAnR0JQJyB8ICdVU0QnIHwgJ0VVUic7XG4gICAgaXNzdWVEYXRlOiBzdHJpbmc7XG4gICAgZHVlRGF0ZT86IHN0cmluZztcbiAgICBub3Rlcz86IHN0cmluZztcbiAgICBsaW5lczogQXJyYXk8eyBkZXNjcmlwdGlvbjogc3RyaW5nOyBxdWFudGl0eTogbnVtYmVyOyB1bml0UHJpY2U6IG51bWJlcjsgdGF4UmF0ZTogbnVtYmVyIH0+O1xuICB9ID0ge1xuICAgIGN1c3RvbWVyTmFtZTogJycsXG4gICAgY3VzdG9tZXJFbWFpbDogJycsXG4gICAgY3VzdG9tZXJBZGRyZXNzOiAnJyxcbiAgICBjdXJyZW5jeTogJ0dCUCcsXG4gICAgaXNzdWVEYXRlOiB0aGlzLnRvZGF5SXNvKCksXG4gICAgZHVlRGF0ZTogJycsXG4gICAgbm90ZXM6ICcnLFxuICAgIGxpbmVzOiBbeyBkZXNjcmlwdGlvbjogJycsIHF1YW50aXR5OiAxLCB1bml0UHJpY2U6IDAsIHRheFJhdGU6IDAgfV0sXG4gIH07XG5cbiAgbGFzdFJlc3BvbnNlOiBBcGlSZXNwb25zZTxJbnZvaWNlPiB8IG51bGwgPSBudWxsO1xuXG4gIGFkZExpbmUoKSB7XG4gICAgdGhpcy5pbnZvaWNlLmxpbmVzLnB1c2goeyBkZXNjcmlwdGlvbjogJycsIHF1YW50aXR5OiAxLCB1bml0UHJpY2U6IDAsIHRheFJhdGU6IDAgfSk7XG4gIH1cbiAgcmVtb3ZlTGluZShpOiBudW1iZXIpIHtcbiAgICB0aGlzLmludm9pY2UubGluZXMuc3BsaWNlKGksIDEpO1xuICB9XG5cbiAgc3VidG90YWxQZW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludm9pY2UubGluZXMucmVkdWNlKChzdW0sIGwpID0+IHN1bSArIE1hdGgucm91bmQoKGwudW5pdFByaWNlIHx8IDApICogMTAwKSAqIChsLnF1YW50aXR5IHx8IDApLCAwKTtcbiAgfVxuICB0YXhQZW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludm9pY2UubGluZXMucmVkdWNlKCh0LCBsKSA9PiB7XG4gICAgICBjb25zdCB1bml0UGVuY2UgPSBNYXRoLnJvdW5kKChsLnVuaXRQcmljZSB8fCAwKSAqIDEwMCk7XG4gICAgICBjb25zdCByYXRlID0gKGwudGF4UmF0ZSB8fCAwKSAvIDEwMDtcbiAgICAgIHJldHVybiB0ICsgTWF0aC5yb3VuZCh1bml0UGVuY2UgKiAobC5xdWFudGl0eSB8fCAwKSAqIHJhdGUpO1xuICAgIH0sIDApO1xuICB9XG4gIHRvdGFsUGVuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdWJ0b3RhbFBlbmNlKCkgKyB0aGlzLnRheFBlbmNlKCk7XG4gIH1cblxuICBzdWJ0b3RhbE1ham9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGVuY2VUb01ham9yKHRoaXMuc3VidG90YWxQZW5jZSgpKTtcbiAgfVxuICB0YXhNYWpvcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBlbmNlVG9NYWpvcih0aGlzLnRheFBlbmNlKCkpO1xuICB9XG4gIHRvdGFsTWFqb3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZW5jZVRvTWFqb3IodGhpcy50b3RhbFBlbmNlKCkpO1xuICB9XG5cbiAgc2F2ZShmb3JtOiBhbnkpIHtcbiAgICBpZiAoIWZvcm0uZm9ybS52YWxpZCB8fCB0aGlzLmludm9pY2UubGluZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBkdG86IEludm9pY2VDcmVhdGVEdG8gPSB7XG4gICAgICBjdXN0b21lck5hbWU6IHRoaXMuaW52b2ljZS5jdXN0b21lck5hbWUsXG4gICAgICBjdXN0b21lckVtYWlsOiB0aGlzLmludm9pY2UuY3VzdG9tZXJFbWFpbCB8fCB1bmRlZmluZWQsXG4gICAgICBjdXN0b21lckFkZHJlc3M6IHRoaXMuaW52b2ljZS5jdXN0b21lckFkZHJlc3MgfHwgdW5kZWZpbmVkLFxuICAgICAgY3VycmVuY3k6IHRoaXMuaW52b2ljZS5jdXJyZW5jeSxcbiAgICAgIGlzc3VlRGF0ZTogdGhpcy5pbnZvaWNlLmlzc3VlRGF0ZSxcbiAgICAgIGR1ZURhdGU6IHRoaXMuaW52b2ljZS5kdWVEYXRlIHx8IHVuZGVmaW5lZCxcbiAgICAgIG5vdGVzOiB0aGlzLmludm9pY2Uubm90ZXMgfHwgdW5kZWZpbmVkLFxuICAgICAgbGluZXM6IHRoaXMuaW52b2ljZS5saW5lcy5tYXAoKGwpID0+ICh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBsLmRlc2NyaXB0aW9uLFxuICAgICAgICBxdWFudGl0eTogTnVtYmVyKGwucXVhbnRpdHkgfHwgMCksXG4gICAgICAgIHVuaXRQcmljZTogTWF0aC5yb3VuZChOdW1iZXIobC51bml0UHJpY2UgfHwgMCkpLFxuICAgICAgICB0YXhSYXRlOiBOdW1iZXIobC50YXhSYXRlIHx8IDApLFxuICAgICAgfSkpLFxuICAgIH07XG5cbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKGR0bykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RSZXNwb25zZSA9IHJlcztcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICBhbGVydChlcnI/Lm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgaW52b2ljZScpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpIHtcbiAgICB0aGlzLmludm9pY2UgPSB7XG4gICAgICBjdXN0b21lck5hbWU6ICcnLFxuICAgICAgY3VzdG9tZXJFbWFpbDogJycsXG4gICAgICBjdXN0b21lckFkZHJlc3M6ICcnLFxuICAgICAgY3VycmVuY3k6ICdHQlAnLFxuICAgICAgaXNzdWVEYXRlOiB0aGlzLnRvZGF5SXNvKCksXG4gICAgICBkdWVEYXRlOiAnJyxcbiAgICAgIG5vdGVzOiAnJyxcbiAgICAgIGxpbmVzOiBbeyBkZXNjcmlwdGlvbjogJycsIHF1YW50aXR5OiAxLCB1bml0UHJpY2U6IDAsIHRheFJhdGU6IDAgfV0sXG4gICAgfTtcbiAgICB0aGlzLmxhc3RSZXNwb25zZSA9IG51bGw7XG4gIH1cblxuICBwZW5jZVRvTWFqb3IocGVuY2U6IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHBlbmNlKSAvIDEwMDtcbiAgfVxuICBwcml2YXRlIHRvZGF5SXNvKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIkNyZWF0ZSBJbnZvaWNlXCI+XG4gIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJhZGRMaW5lKClcIj5cbiAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICBBZGQgbGluZVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgKGNsaWNrKT1cInNhdmUoaW52b2ljZUZvcm0pXCJcbiAgICBbZGlzYWJsZWRdPVwiIWludm9pY2VGb3JtLmZvcm0udmFsaWQgfHwgaW52b2ljZS5saW5lcy5sZW5ndGggPT09IDBcIlxuICA+XG4gICAgU2F2ZVxuICA8L2J1dHRvbj5cbjwvcm9sYXRlY2gtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJwLTQgbWQ6cC04IG1heC13LTZ4bCBteC1hdXRvIHNwYWNlLXktNlwiPlxuICA8Zm9ybSAjaW52b2ljZUZvcm09XCJuZ0Zvcm1cIiBub3ZhbGlkYXRlPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtNFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5DdXN0b21lciBuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJjdXN0b21lck5hbWVcIiBbKG5nTW9kZWwpXT1cImludm9pY2UuY3VzdG9tZXJOYW1lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgICBAaWYgKGludm9pY2VGb3JtLnN1Ym1pdHRlZCAmJiAhaW52b2ljZS5jdXN0b21lck5hbWUpIHs8bWF0LWVycm9yPk5hbWUgaXMgcmVxdWlyZWQ8L21hdC1lcnJvcj59XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5DdXN0b21lciBlbWFpbDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZW1haWxcIiBuYW1lPVwiY3VzdG9tZXJFbWFpbFwiIFsobmdNb2RlbCldPVwiaW52b2ljZS5jdXN0b21lckVtYWlsXCIgI2VtYWlsPVwibmdNb2RlbFwiIGVtYWlsIC8+XG4gICAgICAgICAgQGlmIChlbWFpbC5pbnZhbGlkICYmIChlbWFpbC5kaXJ0eSB8fCBlbWFpbC50b3VjaGVkKSkgezxtYXQtZXJyb3I+SW52YWxpZCBlbWFpbDwvbWF0LWVycm9yPn1cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cIm1kOmNvbC1zcGFuLTJcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPkN1c3RvbWVyIGFkZHJlc3M8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcm93cz1cIjJcIiBuYW1lPVwiY3VzdG9tZXJBZGRyZXNzXCIgWyhuZ01vZGVsKV09XCJpbnZvaWNlLmN1c3RvbWVyQWRkcmVzc1wiPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5DdXJyZW5jeTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9XCJjdXJyZW5jeVwiIFsobmdNb2RlbCldPVwiaW52b2ljZS5jdXJyZW5jeVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJHQlBcIj5HQlA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlVTRFwiPlVTRDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiRVVSXCI+RVVSPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPklzc3VlIGRhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cImRhdGVcIiBuYW1lPVwiaXNzdWVEYXRlXCIgWyhuZ01vZGVsKV09XCJpbnZvaWNlLmlzc3VlRGF0ZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5EdWUgZGF0ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZGF0ZVwiIG5hbWU9XCJkdWVEYXRlXCIgWyhuZ01vZGVsKV09XCJpbnZvaWNlLmR1ZURhdGVcIiAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwibWQ6Y29sLXNwYW4tMlwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+Tm90ZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICByb3dzPVwiMlwiXG4gICAgICAgICAgICBuYW1lPVwibm90ZXNcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnZvaWNlLm5vdGVzXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWwgbm90ZXMgc2hvd24gb24gdGhlIGludm9pY2VcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtY2FyZD5cblxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cInAtNCBzcGFjZS15LTQgbXQtNFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtbWVkaXVtXCI+TGluZSBpdGVtczwvaDI+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkTGluZSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnBsYXlsaXN0X2FkZDwvbWF0LWljb24+XG4gICAgICAgICAgQWRkIGxpbmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpncmlkIGdyaWQtY29scy0xMiBnYXAtMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHB4LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLTVcIj5EZXNjcmlwdGlvbjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMiB0ZXh0LXJpZ2h0XCI+UXR5PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc3Bhbi0yIHRleHQtcmlnaHRcIj5Vbml0IFByaWNlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc3Bhbi0yIHRleHQtcmlnaHRcIj5UYXggJTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGFjZS15LTNcIj5cbiAgICAgICAgQGZvciAoIGxpbmUgb2YgaW52b2ljZS5saW5lczsgdHJhY2sgbGluZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTEyIGdhcC0yIGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWQ6Y29sLXNwYW4tNVwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkRlc2NyaXB0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgW25hbWVdPVwiJ2Rlc2MnK2lcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpbmUuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gUGhvdG8gZWRpdGluZyBwYWNrYWdlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1kOmNvbC1zcGFuLTJcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5RdWFudGl0eTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIxXCIgc3RlcD1cIjFcIiBbbmFtZV09XCIncXR5JytpXCIgWyhuZ01vZGVsKV09XCJsaW5lLnF1YW50aXR5XCIgcmVxdWlyZWQgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWQ6Y29sLXNwYW4tMlwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlVuaXQgUHJpY2UgKG1ham9yIHVuaXQpPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBzdGVwPVwiMC4wMVwiIFtuYW1lXT1cIid1bml0JytpXCIgWyhuZ01vZGVsKV09XCJsaW5lLnVuaXRQcmljZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICA8bWF0LWhpbnQ+ZS5nLiA5OS45OTwvbWF0LWhpbnQ+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1kOmNvbC1zcGFuLTJcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5UYXggJTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjAuMDFcIiBbbmFtZV09XCIndGF4JytpXCIgWyhuZ01vZGVsKV09XCJsaW5lLnRheFJhdGVcIiAvPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWQ6Y29sLXNwYW4tMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZW1vdmVMaW5lKGkpXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBsaW5lXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWVuZCBzcGFjZS15LTFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc21cIj5cbiAgICAgICAgICBTdWJ0b3RhbDogPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IHN1YnRvdGFsTWFqb3IoKSB8IG51bWJlcjonMS4yLTInIH19IHt7IGludm9pY2UuY3VycmVuY3kgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICAgIFRheDogPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IHRheE1ham9yKCkgfCBudW1iZXI6JzEuMi0yJyB9fSB7eyBpbnZvaWNlLmN1cnJlbmN5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1zZW1pYm9sZFwiPlRvdGFsOiB7eyB0b3RhbE1ham9yKCkgfCBudW1iZXI6JzEuMi0yJyB9fSB7eyBpbnZvaWNlLmN1cnJlbmN5IH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkPlxuICA8L2Zvcm0+XG5cbiAgQGlmIChsYXN0UmVzcG9uc2UpIHtcbiAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwicC00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9udC1tZWRpdW1cIj5DcmVhdGVkIGludm9pY2UgI3t7IGxhc3RSZXNwb25zZS5kYXRhLmlkIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBvcGFjaXR5LTcwXCI+XG4gICAgICAgIFRvdGFsOiB7eyBwZW5jZVRvTWFqb3IobGFzdFJlc3BvbnNlLmRhdGEudG90YWwpIHwgbnVtYmVyOicxLjItMicgfX0ge3sgaW52b2ljZS5jdXJyZW5jeSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXgtMlwiPlxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cInJlc2V0Rm9ybSgpXCI+Q3JlYXRlIGFub3RoZXI8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPkRvd25sb2FkIFBERjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkPlxuICB9XG48L2Rpdj5cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManageDetail {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDetail, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceManageDetail, isStandalone: true, selector: \"rolatech-invoice-manage-detail\", ngImport: i0, template: \"<p>invoice-manage-detail works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDetail, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-detail', imports: [], template: \"<p>invoice-manage-detail works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS1tYW5hZ2UvaW52b2ljZS1tYW5hZ2UtZGV0YWlsL2ludm9pY2UtbWFuYWdlLWRldGFpbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWRldGFpbC9pbnZvaWNlLW1hbmFnZS1kZXRhaWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExQyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQiwwRkNSaEMsdUNBQ0E7OzJGRE9hLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxnQ0FBZ0MsV0FDakMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1pbnZvaWNlLW1hbmFnZS1kZXRhaWwnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWRldGFpbC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWRldGFpbC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgSW52b2ljZU1hbmFnZURldGFpbCB7fVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtZGV0YWlsIHdvcmtzITwvcD5cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManageDownload {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDownload, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceManageDownload, isStandalone: true, selector: \"rolatech-invoice-manage-download\", ngImport: i0, template: \"<p>invoice-manage-download works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManageDownload, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-download', imports: [], template: \"<p>invoice-manage-download works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtZG93bmxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbGxpbmcvc3JjL2xpYi9wYWdlcy9pbnZvaWNlLW1hbmFnZS9pbnZvaWNlLW1hbmFnZS1kb3dubG9hZC9pbnZvaWNlLW1hbmFnZS1kb3dubG9hZC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUIsNEZDUmxDLHlDQUNBOzsyRkRPYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usa0NBQWtDLFdBQ25DLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtaW52b2ljZS1tYW5hZ2UtZG93bmxvYWQnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkLmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW52b2ljZS1tYW5hZ2UtZG93bmxvYWQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEludm9pY2VNYW5hZ2VEb3dubG9hZCB7fVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtZG93bmxvYWQgd29ya3MhPC9wPlxuIl19","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class InvoiceManagePreview {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManagePreview, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: InvoiceManagePreview, isStandalone: true, selector: \"rolatech-invoice-manage-preview\", ngImport: i0, template: \"<p>invoice-manage-preview works!</p>\\n\", styles: [\"\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: InvoiceManagePreview, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-invoice-manage-preview', imports: [], template: \"<p>invoice-manage-preview works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2UtcHJldmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLXByZXZpZXcvaW52b2ljZS1tYW5hZ2UtcHJldmlldy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmlsbGluZy9zcmMvbGliL3BhZ2VzL2ludm9pY2UtbWFuYWdlL2ludm9pY2UtbWFuYWdlLXByZXZpZXcvaW52b2ljZS1tYW5hZ2UtcHJldmlldy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJGQ1JqQyx3Q0FDQTs7MkZET2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWludm9pY2UtbWFuYWdlLXByZXZpZXcnLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludm9pY2UtbWFuYWdlLXByZXZpZXcuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnZvaWNlLW1hbmFnZS1wcmV2aWV3LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnZvaWNlTWFuYWdlUHJldmlldyB7fVxuIiwiPHA+aW52b2ljZS1tYW5hZ2UtcHJldmlldyB3b3JrcyE8L3A+XG4iXX0=","import { InvoiceManageIndex } from './invoice-manage-index/invoice-manage-index';\nimport { InvoiceManageCreate } from './invoice-manage-create/invoice-manage-create';\nimport { InvoiceManageDetail } from './invoice-manage-detail/invoice-manage-detail';\nimport { InvoiceManageDownload } from './invoice-manage-download/invoice-manage-download';\nimport { InvoiceManagePreview } from './invoice-manage-preview/invoice-manage-preview';\nexport const invoiceManageRoutes = [\n {\n path: '',\n component: InvoiceManageIndex,\n },\n {\n path: 'create',\n component: InvoiceManageCreate,\n },\n {\n path: 'preview',\n component: InvoiceManagePreview,\n },\n {\n path: 'download',\n component: InvoiceManageDownload,\n },\n {\n path: ':id',\n component: InvoiceManageDetail,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tYW5hZ2Uucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9saWIvcGFnZXMvaW52b2ljZS1tYW5hZ2UvaW52b2ljZS1tYW5hZ2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXZGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXO0lBQ3pDO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsa0JBQWtCO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSxtQkFBbUI7S0FDL0I7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsU0FBUyxFQUFFLG9CQUFvQjtLQUNoQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsbUJBQW1CO0tBQy9CO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZvaWNlTWFuYWdlSW5kZXggfSBmcm9tICcuL2ludm9pY2UtbWFuYWdlLWluZGV4L2ludm9pY2UtbWFuYWdlLWluZGV4JztcbmltcG9ydCB7IEludm9pY2VNYW5hZ2VDcmVhdGUgfSBmcm9tICcuL2ludm9pY2UtbWFuYWdlLWNyZWF0ZS9pbnZvaWNlLW1hbmFnZS1jcmVhdGUnO1xuaW1wb3J0IHsgSW52b2ljZU1hbmFnZURldGFpbCB9IGZyb20gJy4vaW52b2ljZS1tYW5hZ2UtZGV0YWlsL2ludm9pY2UtbWFuYWdlLWRldGFpbCc7XG5pbXBvcnQgeyBJbnZvaWNlTWFuYWdlRG93bmxvYWQgfSBmcm9tICcuL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkL2ludm9pY2UtbWFuYWdlLWRvd25sb2FkJztcbmltcG9ydCB7IEludm9pY2VNYW5hZ2VQcmV2aWV3IH0gZnJvbSAnLi9pbnZvaWNlLW1hbmFnZS1wcmV2aWV3L2ludm9pY2UtbWFuYWdlLXByZXZpZXcnO1xuXG5leHBvcnQgY29uc3QgaW52b2ljZU1hbmFnZVJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlTWFuYWdlSW5kZXgsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnY3JlYXRlJyxcbiAgICBjb21wb25lbnQ6IEludm9pY2VNYW5hZ2VDcmVhdGUsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAncHJldmlldycsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlTWFuYWdlUHJldmlldyxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdkb3dubG9hZCcsXG4gICAgY29tcG9uZW50OiBJbnZvaWNlTWFuYWdlRG93bmxvYWQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnOmlkJyxcbiAgICBjb21wb25lbnQ6IEludm9pY2VNYW5hZ2VEZXRhaWwsXG4gIH0sXG5dO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1iaWxsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaWxsaW5nL3NyYy9yb2xhdGVjaC1hbmd1bGFyLWJpbGxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i4","i5","i6","i7"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-billing",
3
- "version": "20.1.2",
3
+ "version": "20.1.3-beta.1",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/core": "^20.0.0",
@@ -8,10 +8,10 @@
8
8
  "@nx/angular": "^21.0.0 || ^22.0.0"
9
9
  },
10
10
  "dependencies": {
11
- "@rolatech/angular-common": "20.1.2",
12
- "@rolatech/angular-components": "20.1.2",
13
- "@rolatech/angular-services": "20.1.2",
14
- "@rolatech/angular-auth": "20.1.2",
11
+ "@rolatech/angular-common": "20.1.3-beta.1",
12
+ "@rolatech/angular-components": "20.1.3-beta.1",
13
+ "@rolatech/angular-services": "20.1.3-beta.1",
14
+ "@rolatech/angular-auth": "20.1.3-beta.1",
15
15
  "tslib": "^2.3.0"
16
16
  },
17
17
  "sideEffects": false,
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.left-\[30px\]{left:30px}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[30px\]{top:30px}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-5{grid-column:span 5/span 5}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-mt-4{margin-top:-1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[6px\]{margin-top:6px}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-4{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-4{-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.size-9{height:2.25rem;width:2.25rem}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[1px\]{height:1px}.h-\[256px\]{height:256px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-8{min-height:2rem}.min-h-\[320px\]{min-height:320px}.w-0{width:0}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/6{width:33.333333%}.w-20{width:5rem}.w-32{width:8rem}.w-4{width:1rem}.w-4\/6{width:66.666667%}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[180px\]{width:180px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[min\(92vw\2c 520px\)\]{width:min(92vw,520px)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-20{min-width:5rem}.min-w-\[256px\]{min-width:256px}.min-w-\[320px\]{min-width:320px}.min-w-\[80px\]{min-width:80px}.max-w-6xl{max-width:72rem}.max-w-\[180px\]{max-width:180px}.max-w-\[500px\]{max-width:500px}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-\[--rt-10-percent-layer\]>:not([hidden])~:not([hidden]){border-color:var(--rt-10-percent-layer)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-\[--rt-border-color\]{border-color:var(--rt-border-color)}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-transparent{border-color:transparent}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-t-transparent{border-top-color:transparent}.border-opacity-20{--tw-border-opacity:0.2}.\!bg-\[--rt-brand-color\]{background-color:var(--rt-brand-color)!important}.bg-\[--rt-10-percent-layer\]{background-color:var(--rt-10-percent-layer)}.bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.bg-\[--rt-brand-color\]{background-color:var(--rt-brand-color)}.bg-\[--rt-raised-background\]{background-color:var(--rt-raised-background)}.bg-\[var\(--rt-brand-color\)\]{background-color:var(--rt-brand-color)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-16{padding-bottom:4rem}.pb-3{padding-bottom:.75rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-thin{font-weight:100}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-none{line-height:1}.\!text-\[--rt-text-primary-inverse\]{color:var(--rt-text-primary-inverse)!important}.text-\[--rt-brand-color\]{color:var(--rt-brand-color)}.text-\[--rt-text-primary\]{color:var(--rt-text-primary)}.text-\[--rt-text-secondary\]{color:var(--rt-text-secondary)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[overflow-anchor\:none\]{overflow-anchor:none}html{line-height:normal}.after\:invisible:after{content:var(--tw-content);visibility:hidden}.after\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:px-3\.5:after{content:var(--tw-content);padding-left:.875rem;padding-right:.875rem}.after\:py-2\.5:after{content:var(--tw-content);padding-bottom:.625rem;padding-top:.625rem}.after\:text-inherit:after{color:inherit;content:var(--tw-content)}.after\:content-\[attr\(data-cloned-val\)_\'_\'\]:after{--tw-content:attr(data-cloned-val) " ";content:var(--tw-content)}.after\:\[grid-area\:1\/1\/2\/2\]:after{content:var(--tw-content);grid-area:1/1/2/2}.hover\:bg-\[--rt-10-percent-layer\]:hover{background-color:var(--rt-10-percent-layer)}.hover\:bg-\[--rt-base-background\]:hover{background-color:var(--rt-base-background)}.hover\:bg-\[--rt-raised-background\]:hover{background-color:var(--rt-raised-background)}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:outline-\[--rt-raised-background\]:hover{outline-color:var(--rt-raised-background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:w-1\/3{width:33.333333%}.sm\:pb-3{padding-bottom:.75rem}}@media (min-width:768px){.md\:visible{visibility:visible}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-5{grid-column:span 5/span 5}.md\:line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:grid{display:grid}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:min-w-\[320px\]{min-width:320px}.md\:max-w-\[768px\]{max-width:768px}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:2.5rem}.md\:p-8{padding:2rem}.md\:px-0{padding-left:0;padding-right:0}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-\[60px\]{padding-left:60px;padding-right:60px}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.lg\:w-1\/6{width:16.666667%}}@media (min-width:1280px){.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1024px\]{max-width:1024px}.\32xl\:max-w-\[1280px\]{max-width:1280px}}@media (prefers-color-scheme:dark){.dark\:bg-\[--rt-raised-background\]{background-color:var(--rt-raised-background)}}.\[\&\>textarea\]\:resize-none>textarea{resize:none}.\[\&\>textarea\]\:overflow-hidden>textarea{overflow:hidden}.\[\&\>textarea\]\:text-inherit>textarea{color:inherit}.\[\&\>textarea\]\:\[grid-area\:1\/1\/2\/2\]>textarea{grid-area:1/1/2/2}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.left-\[30px\]{left:30px}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[30px\]{top:30px}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-5{grid-column:span 5/span 5}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-mt-4{margin-top:-1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[6px\]{margin-top:6px}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-4{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-4{-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.size-9{height:2.25rem;width:2.25rem}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[1px\]{height:1px}.h-\[256px\]{height:256px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-8{min-height:2rem}.min-h-\[320px\]{min-height:320px}.w-0{width:0}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/6{width:33.333333%}.w-20{width:5rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-4\/6{width:66.666667%}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[180px\]{width:180px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[min\(92vw\2c 520px\)\]{width:min(92vw,520px)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-20{min-width:5rem}.min-w-24{min-width:6rem}.min-w-\[256px\]{min-width:256px}.min-w-\[320px\]{min-width:320px}.min-w-\[80px\]{min-width:80px}.max-w-6xl{max-width:72rem}.max-w-\[180px\]{max-width:180px}.max-w-\[500px\]{max-width:500px}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-\[--rt-10-percent-layer\]>:not([hidden])~:not([hidden]){border-color:var(--rt-10-percent-layer)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-\[--rt-border-color\]{border-color:var(--rt-border-color)}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-transparent{border-color:transparent}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-t-transparent{border-top-color:transparent}.border-opacity-20{--tw-border-opacity:0.2}.\!bg-\[--rt-brand-color\]{background-color:var(--rt-brand-color)!important}.bg-\[--rt-10-percent-layer\]{background-color:var(--rt-10-percent-layer)}.bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.bg-\[--rt-brand-color\]{background-color:var(--rt-brand-color)}.bg-\[--rt-raised-background\]{background-color:var(--rt-raised-background)}.bg-\[var\(--rt-brand-color\)\]{background-color:var(--rt-brand-color)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-16{padding-bottom:4rem}.pb-3{padding-bottom:.75rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-thin{font-weight:100}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-none{line-height:1}.\!text-\[--rt-text-primary-inverse\]{color:var(--rt-text-primary-inverse)!important}.text-\[--rt-brand-color\]{color:var(--rt-brand-color)}.text-\[--rt-text-primary\]{color:var(--rt-text-primary)}.text-\[--rt-text-secondary\]{color:var(--rt-text-secondary)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[overflow-anchor\:none\]{overflow-anchor:none}html{line-height:normal}.after\:invisible:after{content:var(--tw-content);visibility:hidden}.after\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:px-3\.5:after{content:var(--tw-content);padding-left:.875rem;padding-right:.875rem}.after\:py-2\.5:after{content:var(--tw-content);padding-bottom:.625rem;padding-top:.625rem}.after\:text-inherit:after{color:inherit;content:var(--tw-content)}.after\:content-\[attr\(data-cloned-val\)_\'_\'\]:after{--tw-content:attr(data-cloned-val) " ";content:var(--tw-content)}.after\:\[grid-area\:1\/1\/2\/2\]:after{content:var(--tw-content);grid-area:1/1/2/2}.hover\:rounded-none:hover{border-radius:0}.hover\:bg-\[--rt-10-percent-layer\]:hover{background-color:var(--rt-10-percent-layer)}.hover\:bg-\[--rt-base-background\]:hover{background-color:var(--rt-base-background)}.hover\:bg-\[--rt-raised-background\]:hover{background-color:var(--rt-raised-background)}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:text-\[--rt-brand-color\]:hover{color:var(--rt-brand-color)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:outline-\[--rt-raised-background\]:hover{outline-color:var(--rt-raised-background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:w-1\/3{width:33.333333%}.sm\:pb-3{padding-bottom:.75rem}}@media (min-width:768px){.md\:visible{visibility:visible}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-5{grid-column:span 5/span 5}.md\:line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:grid{display:grid}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:min-w-\[320px\]{min-width:320px}.md\:max-w-\[768px\]{max-width:768px}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:2.5rem}.md\:p-8{padding:2rem}.md\:px-0{padding-left:0;padding-right:0}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-\[60px\]{padding-left:60px;padding-right:60px}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.lg\:w-1\/6{width:16.666667%}}@media (min-width:1280px){.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1024px\]{max-width:1024px}.\32xl\:max-w-\[1280px\]{max-width:1280px}}@media (prefers-color-scheme:dark){.dark\:bg-\[--rt-raised-background\]{background-color:var(--rt-raised-background)}}.\[\&\>textarea\]\:resize-none>textarea{resize:none}.\[\&\>textarea\]\:overflow-hidden>textarea{overflow:hidden}.\[\&\>textarea\]\:text-inherit>textarea{color:inherit}.\[\&\>textarea\]\:\[grid-area\:1\/1\/2\/2\]>textarea{grid-area:1/1/2/2}