@rolatech/angular-payment 20.2.7-beta.1 → 20.2.8-beta.10

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.
@@ -111,10 +111,10 @@ class PayoutIndexComponent extends BaseComponent {
111
111
  },
112
112
  });
113
113
  }
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PayoutIndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
115
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: PayoutIndexComponent, isStandalone: true, selector: "rolatech-payout-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"\u652F\u51FA\u8BB0\u5F55\"> </rolatech-toolbar>\n<div>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- status Column -->\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef>\u72B6\u6001</th>\n <td mat-cell *matCellDef=\"let item\">{{ status[item.status] }}</td>\n </ng-container>\n\n <!-- amount Column -->\n <ng-container matColumnDef=\"total\">\n <th mat-header-cell *matHeaderCellDef>\u91D1\u989D(\u5143)</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.amount / 100 }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>\u4EA4\u6613\u65E5\u671F</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n routerLink=\"./{{ row.id }}\"\n class=\"hover:bg-[--rt-raised-background] cursor-pointer\"\n ></tr>\n </table>\n <mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = find($event)\"\n hidePageSize\n showFirstLastButtons\n >\n </mat-paginator>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}.mat-mdc-cell:nth-last-child(1),.mat-mdc-header-cell:nth-last-child(1),.mat-mdc-footer-cell:nth-last-child(1){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PayoutIndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
115
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.0", type: PayoutIndexComponent, isStandalone: true, selector: "rolatech-payout-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"\u652F\u51FA\u8BB0\u5F55\"> </rolatech-toolbar>\n<div>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- status Column -->\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef>\u72B6\u6001</th>\n <td mat-cell *matCellDef=\"let item\">{{ status[item.status] }}</td>\n </ng-container>\n\n <!-- amount Column -->\n <ng-container matColumnDef=\"total\">\n <th mat-header-cell *matHeaderCellDef>\u91D1\u989D(\u5143)</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.amount / 100 }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>\u4EA4\u6613\u65E5\u671F</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n routerLink=\"./{{ row.id }}\"\n class=\"hover:bg-[--rt-raised-background] cursor-pointer\"\n ></tr>\n </table>\n <mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = find($event)\"\n hidePageSize\n showFirstLastButtons\n >\n </mat-paginator>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}.mat-mdc-cell:nth-last-child(1),.mat-mdc-header-cell:nth-last-child(1),.mat-mdc-footer-cell:nth-last-child(1){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PayoutIndexComponent, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PayoutIndexComponent, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: 'rolatech-payout-index', imports: [ToolbarComponent, MatTableModule, MatPaginator, RouterLink], template: "<rolatech-toolbar title=\"\u652F\u51FA\u8BB0\u5F55\"> </rolatech-toolbar>\n<div>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- status Column -->\n <ng-container matColumnDef=\"status\">\n <th mat-header-cell *matHeaderCellDef>\u72B6\u6001</th>\n <td mat-cell *matCellDef=\"let item\">{{ status[item.status] }}</td>\n </ng-container>\n\n <!-- amount Column -->\n <ng-container matColumnDef=\"total\">\n <th mat-header-cell *matHeaderCellDef>\u91D1\u989D(\u5143)</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.amount / 100 }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>\u4EA4\u6613\u65E5\u671F</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n routerLink=\"./{{ row.id }}\"\n class=\"hover:bg-[--rt-raised-background] cursor-pointer\"\n ></tr>\n </table>\n <mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = find($event)\"\n hidePageSize\n showFirstLastButtons\n >\n </mat-paginator>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}.mat-mdc-cell:nth-last-child(1),.mat-mdc-header-cell:nth-last-child(1),.mat-mdc-footer-cell:nth-last-child(1){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"] }]
120
120
  }], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }] } });
@@ -139,10 +139,10 @@ class WithdrawDialogComponent {
139
139
  close() {
140
140
  this.dialogRef.close();
141
141
  }
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: WithdrawDialogComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: WithdrawDialogComponent, isStandalone: true, selector: "rolatech-withdraw-dialog", ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n <div class=\"text-md font-medium\" i18n>Withdraw</div>\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 mt-3 overflow-y-auto max-h-[55vh]\">\n <div class=\"p-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n>Withdraw to</mat-label>\n <mat-select name=\"type\" [(ngModel)]=\"type\" [compareWith]=\"compareFn\">\n @for (item of type; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Total </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"total\" name=\"name\" required type=\"number\" />\n </mat-form-field>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-end items-center px-5\">\n <button mat-button [mat-dialog-close]=\"total\" cdkFocusInitial i18n>Ok</button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { 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: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.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: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.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: i6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i7.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: MatButtonModule }, { kind: "component", type: i8.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: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WithdrawDialogComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: WithdrawDialogComponent, isStandalone: true, selector: "rolatech-withdraw-dialog", ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n <div class=\"text-md font-medium\" i18n>Withdraw</div>\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 mt-3 overflow-y-auto max-h-[55vh]\">\n <div class=\"p-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n>Withdraw to</mat-label>\n <mat-select name=\"type\" [(ngModel)]=\"type\" [compareWith]=\"compareFn\">\n @for (item of type; track item) {\n <mat-option [value]=\"item.key\">\n {{ item.value }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Total </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"total\" name=\"name\" required type=\"number\" />\n </mat-form-field>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-end items-center px-5\">\n <button mat-button [mat-dialog-close]=\"total\" cdkFocusInitial i18n>Ok</button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { 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: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.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: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.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: i6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i7.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: MatButtonModule }, { kind: "component", type: i8.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: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: WithdrawDialogComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WithdrawDialogComponent, decorators: [{
146
146
  type: Component,
147
147
  args: [{ selector: 'rolatech-withdraw-dialog', imports: [
148
148
  MatIconModule,
@@ -161,10 +161,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
161
161
  }] }] });
162
162
 
163
163
  class PayoutApproveDialogComponent {
164
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PayoutApproveDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
165
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: PayoutApproveDialogComponent, isStandalone: true, selector: "rolatech-payout-approve-dialog", ngImport: i0, template: "<p>payout-approve-dialog works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
164
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PayoutApproveDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
165
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: PayoutApproveDialogComponent, isStandalone: true, selector: "rolatech-payout-approve-dialog", ngImport: i0, template: "<p>payout-approve-dialog works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PayoutApproveDialogComponent, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PayoutApproveDialogComponent, decorators: [{
168
168
  type: Component,
169
169
  args: [{ selector: 'rolatech-payout-approve-dialog', imports: [CommonModule], template: "<p>payout-approve-dialog works!</p>\n" }]
170
170
  }] });
@@ -226,10 +226,10 @@ class PayoutDetailComponent extends BaseComponent {
226
226
  }
227
227
  });
228
228
  }
229
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PayoutDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PayoutDetailComponent, isStandalone: true, selector: "rolatech-payout-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"\u5206\u8D26\u5BA1\u6838\u8BE6\u60C5\">\n @if (payout && payout.status === 'CREATED') {\n <button mat-button (click)=\"approve()\">\u901A\u8FC7</button>\n }\n</rolatech-toolbar>\n\n<div class=\"py-3 px-5\">\n @if (payout) {\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <div class=\"text-2xl font-medium mb-3\">\n {{ status[payout.status] }}\n </div>\n <div>\n <span>\u5206\u8D26\u91D1\u989D: </span> <span> \u00A5{{ payout.amount / 100 }}</span>\n </div>\n <div>\n <span>\u8BA2\u5355\u603B\u8BA1: </span> <span>\u00A5{{ payout.total / 100 }}</span>\n </div>\n @if (order) {\n <div class=\"mt-3\">\n <div class=\"text-lg font-medium\" i18n>Order info</div>\n <div>\n <div><span>\u8BA2\u5355\u53F7: </span>{{ order.orderNo }}</div>\n <div><span>\u4E0B\u5355\u65E5\u671F: </span>{{ order.createdAt }}</div>\n <div><span>\u5E94\u4ED8\u91D1\u989D: </span>\u00A5{{ (order.total / 100).toFixed(2) }}</div>\n </div>\n </div>\n }\n @if (instructor) {\n <div class=\"mt-3\">\n <div class=\"text-lg font-medium\">\u521B\u4F5C\u8005\u4FE1\u606F</div>\n <div>\n <div><span>\u59D3\u540D: </span>{{ instructor?.name }}</div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PayoutDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PayoutDetailComponent, isStandalone: true, selector: "rolatech-payout-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"\u5206\u8D26\u5BA1\u6838\u8BE6\u60C5\">\n @if (payout && payout.status === 'CREATED') {\n <button mat-button (click)=\"approve()\">\u901A\u8FC7</button>\n }\n</rolatech-toolbar>\n\n<div class=\"py-3 px-5\">\n @if (payout) {\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <div class=\"text-2xl font-medium mb-3\">\n {{ status[payout.status] }}\n </div>\n <div>\n <span>\u5206\u8D26\u91D1\u989D: </span> <span> \u00A5{{ payout.amount / 100 }}</span>\n </div>\n <div>\n <span>\u8BA2\u5355\u603B\u8BA1: </span> <span>\u00A5{{ payout.total / 100 }}</span>\n </div>\n @if (order) {\n <div class=\"mt-3\">\n <div class=\"text-lg font-medium\" i18n>Order info</div>\n <div>\n <div><span>\u8BA2\u5355\u53F7: </span>{{ order.orderNo }}</div>\n <div><span>\u4E0B\u5355\u65E5\u671F: </span>{{ order.createdAt }}</div>\n <div><span>\u5E94\u4ED8\u91D1\u989D: </span>\u00A5{{ (order.total / 100).toFixed(2) }}</div>\n </div>\n </div>\n }\n @if (instructor) {\n <div class=\"mt-3\">\n <div class=\"text-lg font-medium\">\u521B\u4F5C\u8005\u4FE1\u606F</div>\n <div>\n <div><span>\u59D3\u540D: </span>{{ instructor?.name }}</div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
231
231
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PayoutDetailComponent, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PayoutDetailComponent, decorators: [{
233
233
  type: Component,
234
234
  args: [{ selector: 'rolatech-payout-detail', imports: [ToolbarComponent], template: "<rolatech-toolbar title=\"\u5206\u8D26\u5BA1\u6838\u8BE6\u60C5\">\n @if (payout && payout.status === 'CREATED') {\n <button mat-button (click)=\"approve()\">\u901A\u8FC7</button>\n }\n</rolatech-toolbar>\n\n<div class=\"py-3 px-5\">\n @if (payout) {\n <div class=\"flex justify-between\">\n <div class=\"flex flex-col\">\n <div class=\"text-2xl font-medium mb-3\">\n {{ status[payout.status] }}\n </div>\n <div>\n <span>\u5206\u8D26\u91D1\u989D: </span> <span> \u00A5{{ payout.amount / 100 }}</span>\n </div>\n <div>\n <span>\u8BA2\u5355\u603B\u8BA1: </span> <span>\u00A5{{ payout.total / 100 }}</span>\n </div>\n @if (order) {\n <div class=\"mt-3\">\n <div class=\"text-lg font-medium\" i18n>Order info</div>\n <div>\n <div><span>\u8BA2\u5355\u53F7: </span>{{ order.orderNo }}</div>\n <div><span>\u4E0B\u5355\u65E5\u671F: </span>{{ order.createdAt }}</div>\n <div><span>\u5E94\u4ED8\u91D1\u989D: </span>\u00A5{{ (order.total / 100).toFixed(2) }}</div>\n </div>\n </div>\n }\n @if (instructor) {\n <div class=\"mt-3\">\n <div class=\"text-lg font-medium\">\u521B\u4F5C\u8005\u4FE1\u606F</div>\n <div>\n <div><span>\u59D3\u540D: </span>{{ instructor?.name }}</div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n" }]
235
235
  }] });
@@ -352,10 +352,10 @@ class PaymentIndex extends Loading {
352
352
  replaceUrl: true, // optional: avoid stacking history on every page click
353
353
  });
354
354
  }
355
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentIndex, deps: null, target: i0.ɵɵFactoryTarget.Component });
356
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PaymentIndex, isStandalone: true, selector: "rolatech-payment-index", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Payments\"></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 class=\"space-y-4 mt-3\">\n <div class=\"overflow-hidden\">\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full divide-y divide-[--rt-raised-background] text-sm\">\n <thead\n class=\"bg-[--rt-raised-background] text-left text-xs font-semibold uppercase tracking-wide text-[--rt-text-primary]\"\n >\n <tr>\n <th class=\"px-2 py-3\">Invoice #</th>\n <th class=\"px-6 py-3\">Status</th>\n <th class=\"px-6 py-3\">Type</th>\n <th class=\"px-6 py-3\">Amount</th>\n <th class=\"px-6 py-3 text-right\">Created</th>\n </tr>\n </thead>\n <tbody class=\"divide-y divide-[--rt-raised-background]\">\n @if (loading()) { @for (row of skeletonRows; track row) {\n <tr>\n <td class=\"py-4\" colspan=\"5\">\n <rolatech-skeleton class=\"h-6 w-full\"></rolatech-skeleton>\n </td>\n </tr>\n } } @else { @if (payments().length) { @for (payment of payments(); track payment.id) {\n <tr class=\"transition hover:bg-[--rt-raised-background] hover:cursor-pointer\" routerLink=\"./{{ payment.id }}\">\n <td class=\"px-2 py-4 text-[--rt-text-primary]\">{{ payment.invoiceId }}</td>\n <td class=\"px-4 py-4\">\n <span\n class=\"inline-flex items-center rounded-full px-3 py-2 text-xs font-semibold\"\n [ngClass]=\"statusBadgeClass(payment.status)\"\n >\n {{ status[payment.status] || payment.status }}\n </span>\n </td>\n <td class=\"px-6 py-4 text-[--rt-text-primary]\">{{ types[payment.type] || payment.type }}</td>\n <td class=\"px-6 py-4 font-semibold text-[--rt-text-primary]\">{{ payment.amount | price }}</td>\n <td class=\"px-6 py-4 text-[--rt-text-primary] text-right\">\n {{ payment.createdAt | date:'dd/MM/yyyy':'Europe/London'}}\n </td>\n </tr>\n } } @else {\n <tr>\n <td class=\"px-6 py-6 text-center text-sm text-[--rt-text-primary]\" colspan=\"5\">No payment records</td>\n </tr>\n } }\n </tbody>\n </table>\n </div>\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 </div>\n</rolatech-container>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading", "block"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
355
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentIndex, deps: null, target: i0.ɵɵFactoryTarget.Component });
356
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PaymentIndex, isStandalone: true, selector: "rolatech-payment-index", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Payments\"></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 class=\"space-y-4 mt-3\">\n <div class=\"overflow-hidden\">\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full divide-y divide-[--rt-raised-background] text-sm\">\n <thead\n class=\"bg-[--rt-raised-background] text-left text-xs font-semibold uppercase tracking-wide text-[--rt-text-primary]\"\n >\n <tr>\n <th class=\"px-2 py-3\">Invoice #</th>\n <th class=\"px-6 py-3\">Status</th>\n <th class=\"px-6 py-3\">Type</th>\n <th class=\"px-6 py-3\">Amount</th>\n <th class=\"px-6 py-3 text-right\">Created</th>\n </tr>\n </thead>\n <tbody class=\"divide-y divide-[--rt-raised-background]\">\n @if (loading()) { @for (row of skeletonRows; track row) {\n <tr>\n <td class=\"py-4\" colspan=\"5\">\n <rolatech-skeleton class=\"h-6 w-full\"></rolatech-skeleton>\n </td>\n </tr>\n } } @else { @if (payments().length) { @for (payment of payments(); track payment.id) {\n <tr class=\"transition hover:bg-[--rt-raised-background] hover:cursor-pointer\" routerLink=\"./{{ payment.id }}\">\n <td class=\"px-2 py-4 text-[--rt-text-primary]\">{{ payment.invoiceId }}</td>\n <td class=\"px-4 py-4\">\n <span\n class=\"inline-flex items-center rounded-full px-3 py-2 text-xs font-semibold\"\n [ngClass]=\"statusBadgeClass(payment.status)\"\n >\n {{ status[payment.status] || payment.status }}\n </span>\n </td>\n <td class=\"px-6 py-4 text-[--rt-text-primary]\">{{ types[payment.type] || payment.type }}</td>\n <td class=\"px-6 py-4 font-semibold text-[--rt-text-primary]\">{{ payment.amount | price }}</td>\n <td class=\"px-6 py-4 text-[--rt-text-primary] text-right\">\n {{ payment.createdAt | date:'dd/MM/yyyy':'Europe/London'}}\n </td>\n </tr>\n } } @else {\n <tr>\n <td class=\"px-6 py-6 text-center text-sm text-[--rt-text-primary]\" colspan=\"5\">No payment records</td>\n </tr>\n } }\n </tbody>\n </table>\n </div>\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 </div>\n</rolatech-container>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading", "block"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
357
357
  }
358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentIndex, decorators: [{
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentIndex, decorators: [{
359
359
  type: Component,
360
360
  args: [{ selector: 'rolatech-payment-index', imports: [
361
361
  CommonModule,
@@ -397,10 +397,10 @@ class PaymentDetail extends Loading {
397
397
  },
398
398
  });
399
399
  }
400
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentDetail, deps: null, target: i0.ɵɵFactoryTarget.Component });
401
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PaymentDetail, isStandalone: true, selector: "rolatech-payment-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Payment Detail\" link=\"../\"></rolatech-toolbar>\n @if (loading()) {\n <section class=\"detail-card space-y-4\">\n <rolatech-skeleton class=\"h-6 w-32\"></rolatech-skeleton>\n <div class=\"space-y-3\">\n @for (_ of [1, 2, 3, 4, 5, 6]; track idx; let idx = $index) {\n <div class=\"flex items-center gap-4\">\n <rolatech-skeleton class=\"h-4 w-24\"></rolatech-skeleton>\n <rolatech-skeleton class=\"h-4 flex-1\"></rolatech-skeleton>\n </div>\n }\n </div>\n </section>\n } @else { @if (payment(); as detail) {\n <section class=\"detail-card\">\n <div class=\"detail-row\">\n <span>Status</span>\n <strong>{{ status[detail.status] || detail.status }}</strong>\n </div>\n <div class=\"detail-row\">\n <span>Type</span>\n <span>{{ types[detail.type] || detail.type }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Amount</span>\n <span>{{ detail.amount | price }}</span>\n </div>\n @if (detail.deposit) {\n <div class=\"detail-row\">\n <span>Deposit</span>\n <span>{{ detail.deposit| price }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span>Payment ID</span>\n <span>{{ detail.id }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Order #</span>\n <span>{{ detail.invoiceId }}</span>\n </div>\n <div class=\"detail-row\">\n <span>User</span>\n <span>{{ detail.userId || '-' }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Created</span>\n <span>{{ detail.createdAt | date:'dd/MM/yyyy':'Europe/London' }}</span>\n </div>\n </section>\n @if (detail.description) {\n <section class=\"detail-card\">\n <div class=\"detail-title\">Memo</div>\n <p class=\"detail-description\">{{ detail.description }}</p>\n </section>\n } } @else {\n <div class=\"detail-state\">Payment not found</div>\n } }\n</rolatech-container>\n", styles: [".detail-card{background:var(--rt-raised-background, #fff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rt-border-color, rgba(0, 0, 0, .06));font-size:.95rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--rt-text-secondary, #666)}.detail-title{font-weight:600;margin-bottom:.5rem}.detail-description{margin:0;white-space:pre-wrap;line-height:1.5;color:var(--rt-text-secondary, #666)}.detail-state{padding:2rem 0;text-align:center;color:var(--rt-text-secondary, #666)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
400
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentDetail, deps: null, target: i0.ɵɵFactoryTarget.Component });
401
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PaymentDetail, isStandalone: true, selector: "rolatech-payment-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"Payment Detail\" link=\"../\"></rolatech-toolbar>\n @if (loading()) {\n <section class=\"detail-card space-y-4\">\n <rolatech-skeleton class=\"h-6 w-32\"></rolatech-skeleton>\n <div class=\"space-y-3\">\n @for (_ of [1, 2, 3, 4, 5, 6]; track idx; let idx = $index) {\n <div class=\"flex items-center gap-4\">\n <rolatech-skeleton class=\"h-4 w-24\"></rolatech-skeleton>\n <rolatech-skeleton class=\"h-4 flex-1\"></rolatech-skeleton>\n </div>\n }\n </div>\n </section>\n } @else { @if (payment(); as detail) {\n <section class=\"detail-card\">\n <div class=\"detail-row\">\n <span>Status</span>\n <strong>{{ status[detail.status] || detail.status }}</strong>\n </div>\n <div class=\"detail-row\">\n <span>Type</span>\n <span>{{ types[detail.type] || detail.type }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Amount</span>\n <span>{{ detail.amount | price }}</span>\n </div>\n @if (detail.deposit) {\n <div class=\"detail-row\">\n <span>Deposit</span>\n <span>{{ detail.deposit| price }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span>Payment ID</span>\n <span>{{ detail.id }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Order #</span>\n <span>{{ detail.invoiceId }}</span>\n </div>\n <div class=\"detail-row\">\n <span>User</span>\n <span>{{ detail.userId || '-' }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Created</span>\n <span>{{ detail.createdAt | date:'dd/MM/yyyy':'Europe/London' }}</span>\n </div>\n </section>\n @if (detail.description) {\n <section class=\"detail-card\">\n <div class=\"detail-title\">Memo</div>\n <p class=\"detail-description\">{{ detail.description }}</p>\n </section>\n } } @else {\n <div class=\"detail-state\">Payment not found</div>\n } }\n</rolatech-container>\n", styles: [".detail-card{background:var(--rt-raised-background, #fff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rt-border-color, rgba(0, 0, 0, .06));font-size:.95rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--rt-text-secondary, #666)}.detail-title{font-weight:600;margin-bottom:.5rem}.detail-description{margin:0;white-space:pre-wrap;line-height:1.5;color:var(--rt-text-secondary, #666)}.detail-state{padding:2rem 0;text-align:center;color:var(--rt-text-secondary, #666)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
402
402
  }
403
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentDetail, decorators: [{
403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentDetail, decorators: [{
404
404
  type: Component,
405
405
  args: [{ selector: 'rolatech-payment-detail', imports: [CommonModule, ToolbarComponent, ContainerComponent, Skeleton, PricePipe], template: "<rolatech-container>\n <rolatech-toolbar title=\"Payment Detail\" link=\"../\"></rolatech-toolbar>\n @if (loading()) {\n <section class=\"detail-card space-y-4\">\n <rolatech-skeleton class=\"h-6 w-32\"></rolatech-skeleton>\n <div class=\"space-y-3\">\n @for (_ of [1, 2, 3, 4, 5, 6]; track idx; let idx = $index) {\n <div class=\"flex items-center gap-4\">\n <rolatech-skeleton class=\"h-4 w-24\"></rolatech-skeleton>\n <rolatech-skeleton class=\"h-4 flex-1\"></rolatech-skeleton>\n </div>\n }\n </div>\n </section>\n } @else { @if (payment(); as detail) {\n <section class=\"detail-card\">\n <div class=\"detail-row\">\n <span>Status</span>\n <strong>{{ status[detail.status] || detail.status }}</strong>\n </div>\n <div class=\"detail-row\">\n <span>Type</span>\n <span>{{ types[detail.type] || detail.type }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Amount</span>\n <span>{{ detail.amount | price }}</span>\n </div>\n @if (detail.deposit) {\n <div class=\"detail-row\">\n <span>Deposit</span>\n <span>{{ detail.deposit| price }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span>Payment ID</span>\n <span>{{ detail.id }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Order #</span>\n <span>{{ detail.invoiceId }}</span>\n </div>\n <div class=\"detail-row\">\n <span>User</span>\n <span>{{ detail.userId || '-' }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Created</span>\n <span>{{ detail.createdAt | date:'dd/MM/yyyy':'Europe/London' }}</span>\n </div>\n </section>\n @if (detail.description) {\n <section class=\"detail-card\">\n <div class=\"detail-title\">Memo</div>\n <p class=\"detail-description\">{{ detail.description }}</p>\n </section>\n } } @else {\n <div class=\"detail-state\">Payment not found</div>\n } }\n</rolatech-container>\n", styles: [".detail-card{background:var(--rt-raised-background, #fff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rt-border-color, rgba(0, 0, 0, .06));font-size:.95rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--rt-text-secondary, #666)}.detail-title{font-weight:600;margin-bottom:.5rem}.detail-description{margin:0;white-space:pre-wrap;line-height:1.5;color:var(--rt-text-secondary, #666)}.detail-state{padding:2rem 0;text-align:center;color:var(--rt-text-secondary, #666)}\n"] }]
406
406
  }] });
@@ -536,10 +536,10 @@ class PaymentManageIndex extends Loading {
536
536
  replaceUrl: true, // optional: avoid stacking history on every page click
537
537
  });
538
538
  }
539
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentManageIndex, deps: null, target: i0.ɵɵFactoryTarget.Component });
540
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PaymentManageIndex, isStandalone: true, selector: "rolatech-payment-manage-index", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Payments\"></rolatech-toolbar>\n<div class=\"px-3\">\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 class=\"space-y-4 mt-3\">\n <div class=\"overflow-hidden bg-[--rt-base-background]\">\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full divide-y divide-[--rt-border-color]text-sm\">\n <thead\n class=\"bg-[--rt-raised-background] text-left text-xs font-semibold uppercase tracking-wide text-[--rt-text-primary]\"\n >\n <tr>\n <th class=\"px-2 py-3\">Invoice #</th>\n <th class=\"px-6 py-3\">Status</th>\n <th class=\"px-6 py-3\">Type</th>\n <th class=\"px-6 py-3\">Amount</th>\n <th class=\"px-6 py-3\">Customer</th>\n <th class=\"px-6 py-3 text-right\">Created</th>\n </tr>\n </thead>\n <tbody class=\"divide-y divide-[--rt-raised-background]\">\n @if (loading()) { @for (row of skeletonRows; track row) {\n <tr>\n <td class=\"py-4\" colspan=\"6\">\n <rolatech-skeleton class=\"h-6 w-full\"></rolatech-skeleton>\n </td>\n </tr>\n } } @else { @if (payments().length) { @for (payment of payments(); track payment.id) {\n <tr class=\"transition hover:bg-[--rt-raised-background] hover:cursor-pointer\" routerLink=\"./{{ payment.id }}\">\n <td class=\"px-2 py-4 text-[--rt-text-primary]\">{{ payment.invoiceId}}</td>\n <td class=\"px-4 py-4\">\n <span\n class=\"inline-flex items-center rounded-full px-3 py-2 text-xs font-semibold\"\n [ngClass]=\"statusBadgeClass(payment.status)\"\n >\n {{ status[payment.status] || payment.status }}\n </span>\n </td>\n <td class=\"px-6 py-4 text-[--rt-text-primary]\">{{ types[payment.type] || payment.type }}</td>\n <td class=\"px-6 py-4 font-semibold text-[--rt-text-primary]\">{{ payment.amount | price }}</td>\n <td class=\"px-6 py-4 text-[--rt-text-primary]\">{{ payment.customerId || '-' }}</td>\n <td class=\"px-6 py-4 text-[--rt-text-primary] text-right\">\n {{ payment.createdAt | date:'dd/MM/yyyy':'Europe/London' }}\n </td>\n </tr>\n } } @else {\n <tr>\n <td class=\"px-6 py-6 text-center text-sm text-[--rt-text-primary]\" colspan=\"6\">No payments found</td>\n </tr>\n } }\n </tbody>\n </table>\n </div>\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 </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading", "block"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
539
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentManageIndex, deps: null, target: i0.ɵɵFactoryTarget.Component });
540
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PaymentManageIndex, isStandalone: true, selector: "rolatech-payment-manage-index", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Payments\"></rolatech-toolbar>\n<div class=\"px-3\">\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 class=\"space-y-4 mt-3\">\n <div class=\"overflow-hidden bg-[--rt-base-background]\">\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full divide-y divide-[--rt-border-color]text-sm\">\n <thead\n class=\"bg-[--rt-raised-background] text-left text-xs font-semibold uppercase tracking-wide text-[--rt-text-primary]\"\n >\n <tr>\n <th class=\"px-2 py-3\">Invoice #</th>\n <th class=\"px-6 py-3\">Status</th>\n <th class=\"px-6 py-3\">Type</th>\n <th class=\"px-6 py-3\">Amount</th>\n <th class=\"px-6 py-3\">Customer</th>\n <th class=\"px-6 py-3 text-right\">Created</th>\n </tr>\n </thead>\n <tbody class=\"divide-y divide-[--rt-raised-background]\">\n @if (loading()) { @for (row of skeletonRows; track row) {\n <tr>\n <td class=\"py-4\" colspan=\"6\">\n <rolatech-skeleton class=\"h-6 w-full\"></rolatech-skeleton>\n </td>\n </tr>\n } } @else { @if (payments().length) { @for (payment of payments(); track payment.id) {\n <tr class=\"transition hover:bg-[--rt-raised-background] hover:cursor-pointer\" routerLink=\"./{{ payment.id }}\">\n <td class=\"px-2 py-4 text-[--rt-text-primary]\">{{ payment.invoiceId}}</td>\n <td class=\"px-4 py-4\">\n <span\n class=\"inline-flex items-center rounded-full px-3 py-2 text-xs font-semibold\"\n [ngClass]=\"statusBadgeClass(payment.status)\"\n >\n {{ status[payment.status] || payment.status }}\n </span>\n </td>\n <td class=\"px-6 py-4 text-[--rt-text-primary]\">{{ types[payment.type] || payment.type }}</td>\n <td class=\"px-6 py-4 font-semibold text-[--rt-text-primary]\">{{ payment.amount | price }}</td>\n <td class=\"px-6 py-4 text-[--rt-text-primary]\">{{ payment.customerId || '-' }}</td>\n <td class=\"px-6 py-4 text-[--rt-text-primary] text-right\">\n {{ payment.createdAt | date:'dd/MM/yyyy':'Europe/London' }}\n </td>\n </tr>\n } } @else {\n <tr>\n <td class=\"px-6 py-6 text-center text-sm text-[--rt-text-primary]\" colspan=\"6\">No payments found</td>\n </tr>\n } }\n </tbody>\n </table>\n </div>\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 </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "component", type: TabsComponent, selector: "rolatech-tabs", inputs: ["select", "loading", "block"], outputs: ["selectChange"] }, { kind: "component", type: TabComponent, selector: "rolatech-tab", inputs: ["label"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
541
541
  }
542
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentManageIndex, decorators: [{
542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentManageIndex, decorators: [{
543
543
  type: Component,
544
544
  args: [{ selector: 'rolatech-payment-manage-index', imports: [
545
545
  CommonModule,
@@ -581,10 +581,10 @@ class PaymentManageDetail extends Loading {
581
581
  },
582
582
  });
583
583
  }
584
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentManageDetail, deps: null, target: i0.ɵɵFactoryTarget.Component });
585
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PaymentManageDetail, isStandalone: true, selector: "rolatech-payment-manage-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Payment Detail\" link=\"../\"></rolatech-toolbar>\n<div class=\"px-4\">\n @if (loading()) {\n <section class=\"detail-card space-y-4\">\n <rolatech-skeleton class=\"h-6 w-32\"></rolatech-skeleton>\n <div class=\"space-y-3\">\n @for (_ of [1, 2, 3, 4, 5, 6]; track idx; let idx = $index) {\n <div class=\"flex items-center gap-4\">\n <rolatech-skeleton class=\"h-4 w-24\"></rolatech-skeleton>\n <rolatech-skeleton class=\"h-4 flex-1\"></rolatech-skeleton>\n </div>\n }\n </div>\n </section>\n } @else { @if (payment(); as detail) {\n <section class=\"detail-card\">\n <div class=\"detail-row\">\n <span>Status</span>\n <strong>{{ status[detail.status] || detail.status }}</strong>\n </div>\n <div class=\"detail-row\">\n <span>Type</span>\n <span>{{ types[detail.type] || detail.type }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Amount</span>\n <span>{{ detail.amount | price }}</span>\n </div>\n @if (detail.deposit) {\n <div class=\"detail-row\">\n <span>Deposit</span>\n <span>{{ detail.deposit| price }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span>Payment ID</span>\n <span>{{ detail.id }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Invoice #</span>\n <span>{{ detail.invoiceId }}</span>\n </div>\n <div class=\"detail-row\">\n <span>User</span>\n <span>{{ detail.userId || '-' }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Created</span>\n <span>{{ detail.createdAt | date:'dd/MM/yyyy':'Europe/London' }}</span>\n </div>\n </section>\n @if (detail.description) {\n <section class=\"detail-card\">\n <div class=\"detail-title\">Memo</div>\n <p class=\"detail-description\">{{ detail.description }}</p>\n </section>\n } } @else {\n <div class=\"detail-state\">Payment not found</div>\n } }\n</div>\n", styles: [".detail-card{background:var(--rt-raised-background, #fff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rt-border-color, rgba(0, 0, 0, .06));font-size:.95rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--rt-text-secondary, #6b7280)}.detail-row strong{font-weight:600}.detail-title{font-weight:600;margin-bottom:.5rem}.detail-description{margin:0;line-height:1.5;color:var(--rt-text-secondary, #6b7280)}.detail-state{padding:2rem 0;text-align:center;color:var(--rt-text-secondary, #6b7280)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
584
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentManageDetail, deps: null, target: i0.ɵɵFactoryTarget.Component });
585
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PaymentManageDetail, isStandalone: true, selector: "rolatech-payment-manage-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Payment Detail\" link=\"../\"></rolatech-toolbar>\n<div class=\"px-4\">\n @if (loading()) {\n <section class=\"detail-card space-y-4\">\n <rolatech-skeleton class=\"h-6 w-32\"></rolatech-skeleton>\n <div class=\"space-y-3\">\n @for (_ of [1, 2, 3, 4, 5, 6]; track idx; let idx = $index) {\n <div class=\"flex items-center gap-4\">\n <rolatech-skeleton class=\"h-4 w-24\"></rolatech-skeleton>\n <rolatech-skeleton class=\"h-4 flex-1\"></rolatech-skeleton>\n </div>\n }\n </div>\n </section>\n } @else { @if (payment(); as detail) {\n <section class=\"detail-card\">\n <div class=\"detail-row\">\n <span>Status</span>\n <strong>{{ status[detail.status] || detail.status }}</strong>\n </div>\n <div class=\"detail-row\">\n <span>Type</span>\n <span>{{ types[detail.type] || detail.type }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Amount</span>\n <span>{{ detail.amount | price }}</span>\n </div>\n @if (detail.deposit) {\n <div class=\"detail-row\">\n <span>Deposit</span>\n <span>{{ detail.deposit| price }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span>Payment ID</span>\n <span>{{ detail.id }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Invoice #</span>\n <span>{{ detail.invoiceId }}</span>\n </div>\n <div class=\"detail-row\">\n <span>User</span>\n <span>{{ detail.userId || '-' }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Created</span>\n <span>{{ detail.createdAt | date:'dd/MM/yyyy':'Europe/London' }}</span>\n </div>\n </section>\n @if (detail.description) {\n <section class=\"detail-card\">\n <div class=\"detail-title\">Memo</div>\n <p class=\"detail-description\">{{ detail.description }}</p>\n </section>\n } } @else {\n <div class=\"detail-state\">Payment not found</div>\n } }\n</div>\n", styles: [".detail-card{background:var(--rt-raised-background, #fff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rt-border-color, rgba(0, 0, 0, .06));font-size:.95rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--rt-text-secondary, #6b7280)}.detail-row strong{font-weight:600}.detail-title{font-weight:600;margin-bottom:.5rem}.detail-description{margin:0;line-height:1.5;color:var(--rt-text-secondary, #6b7280)}.detail-state{padding:2rem 0;text-align:center;color:var(--rt-text-secondary, #6b7280)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: Skeleton, selector: "rolatech-skeleton" }, { kind: "pipe", type: i1$2.DatePipe, name: "date" }, { kind: "pipe", type: PricePipe, name: "price" }] });
586
586
  }
587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PaymentManageDetail, decorators: [{
587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PaymentManageDetail, decorators: [{
588
588
  type: Component,
589
589
  args: [{ selector: 'rolatech-payment-manage-detail', imports: [CommonModule, ToolbarComponent, Skeleton, PricePipe], template: "<rolatech-toolbar title=\"Payment Detail\" link=\"../\"></rolatech-toolbar>\n<div class=\"px-4\">\n @if (loading()) {\n <section class=\"detail-card space-y-4\">\n <rolatech-skeleton class=\"h-6 w-32\"></rolatech-skeleton>\n <div class=\"space-y-3\">\n @for (_ of [1, 2, 3, 4, 5, 6]; track idx; let idx = $index) {\n <div class=\"flex items-center gap-4\">\n <rolatech-skeleton class=\"h-4 w-24\"></rolatech-skeleton>\n <rolatech-skeleton class=\"h-4 flex-1\"></rolatech-skeleton>\n </div>\n }\n </div>\n </section>\n } @else { @if (payment(); as detail) {\n <section class=\"detail-card\">\n <div class=\"detail-row\">\n <span>Status</span>\n <strong>{{ status[detail.status] || detail.status }}</strong>\n </div>\n <div class=\"detail-row\">\n <span>Type</span>\n <span>{{ types[detail.type] || detail.type }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Amount</span>\n <span>{{ detail.amount | price }}</span>\n </div>\n @if (detail.deposit) {\n <div class=\"detail-row\">\n <span>Deposit</span>\n <span>{{ detail.deposit| price }}</span>\n </div>\n }\n <div class=\"detail-row\">\n <span>Payment ID</span>\n <span>{{ detail.id }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Invoice #</span>\n <span>{{ detail.invoiceId }}</span>\n </div>\n <div class=\"detail-row\">\n <span>User</span>\n <span>{{ detail.userId || '-' }}</span>\n </div>\n <div class=\"detail-row\">\n <span>Created</span>\n <span>{{ detail.createdAt | date:'dd/MM/yyyy':'Europe/London' }}</span>\n </div>\n </section>\n @if (detail.description) {\n <section class=\"detail-card\">\n <div class=\"detail-title\">Memo</div>\n <p class=\"detail-description\">{{ detail.description }}</p>\n </section>\n } } @else {\n <div class=\"detail-state\">Payment not found</div>\n } }\n</div>\n", styles: [".detail-card{background:var(--rt-raised-background, #fff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rt-border-color, rgba(0, 0, 0, .06));font-size:.95rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--rt-text-secondary, #6b7280)}.detail-row strong{font-weight:600}.detail-title{font-weight:600;margin-bottom:.5rem}.detail-description{margin:0;line-height:1.5;color:var(--rt-text-secondary, #6b7280)}.detail-state{padding:2rem 0;text-align:center;color:var(--rt-text-secondary, #6b7280)}\n"] }]
590
590
  }] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-payment",
3
- "version": "20.2.7-beta.1",
3
+ "version": "20.2.8-beta.10",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",
@@ -12,10 +12,10 @@
12
12
  },
13
13
  "sideEffects": false,
14
14
  "dependencies": {
15
- "@rolatech/angular-components": "20.2.7-beta.1",
16
- "@rolatech/angular-services": "20.2.7-beta.1",
17
- "@rolatech/angular-auth": "20.2.7-beta.1",
18
- "@rolatech/angular-order": "20.2.7-beta.1",
15
+ "@rolatech/angular-components": "20.2.8-beta.10",
16
+ "@rolatech/angular-services": "20.2.8-beta.10",
17
+ "@rolatech/angular-auth": "20.2.8-beta.10",
18
+ "@rolatech/angular-order": "20.2.8-beta.10",
19
19
  "tslib": "^2.3.0"
20
20
  },
21
21
  "repository": {