@rolatech/angular-membership 19.1.0-beta.3
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.
package/README.md
ADDED
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, inject, input, model, output } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { ContainerComponent, ToolbarComponent, BaseComponent, EmptyComponent } from '@rolatech/angular-components';
|
|
5
|
+
import * as i1 from '@angular/material/button';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { MembershipService } from '@rolatech/angular-services';
|
|
8
|
+
import { AuthService } from '@rolatech/angular-auth';
|
|
9
|
+
import * as i2$1 from '@angular/material/icon';
|
|
10
|
+
import { MatIcon, MatIconModule } from '@angular/material/icon';
|
|
11
|
+
import { RouterLink, Router, ActivatedRoute } from '@angular/router';
|
|
12
|
+
import { FixedPipe } from '@rolatech/angular-common';
|
|
13
|
+
import * as i4 from '@angular/cdk/text-field';
|
|
14
|
+
import { TextFieldModule } from '@angular/cdk/text-field';
|
|
15
|
+
import * as i1$1 from '@angular/forms';
|
|
16
|
+
import { FormsModule } from '@angular/forms';
|
|
17
|
+
import { MatOptionModule } from '@angular/material/core';
|
|
18
|
+
import * as i2 from '@angular/material/form-field';
|
|
19
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
20
|
+
import * as i3 from '@angular/material/input';
|
|
21
|
+
import { MatInputModule } from '@angular/material/input';
|
|
22
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
23
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
24
|
+
import * as i6 from '@angular/material/checkbox';
|
|
25
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
26
|
+
|
|
27
|
+
class MembershipIndex {
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipIndex, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: MembershipIndex, isStandalone: true, selector: "rolatech-membership-index", ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u4F1A\u5458\" large> </rolatech-toolbar>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }] });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipIndex, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'rolatech-membership-index', imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u6211\u7684\u4F1A\u5458\" large> </rolatech-toolbar>\n</rolatech-container>\n" }]
|
|
34
|
+
}] });
|
|
35
|
+
|
|
36
|
+
class MembershipPlan extends BaseComponent {
|
|
37
|
+
authService = inject(AuthService);
|
|
38
|
+
membershipService = inject(MembershipService);
|
|
39
|
+
authenticated = this.authService.authenticated;
|
|
40
|
+
plans = [];
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.findPlans();
|
|
43
|
+
}
|
|
44
|
+
findPlans() {
|
|
45
|
+
this.membershipService.findPlans({}).subscribe({
|
|
46
|
+
next: (res) => {
|
|
47
|
+
this.plans = res.data;
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
checkout(plan) {
|
|
52
|
+
console.log(plan);
|
|
53
|
+
if (this.authenticated()) {
|
|
54
|
+
this.router.navigate([`/checkout/memberships/plans/${plan.id}`]);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.snackBarService.open('Please sign in');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipPlan, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipPlan, isStandalone: true, selector: "rolatech-membership-plan", usesInheritance: true, ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u5F00\u901A\u4F1A\u5458\" large> </rolatech-toolbar>\n <div class=\"text-3xl font-bold py-3 text-center\" i18n>Select a plan.</div>\n <div class=\"flex justify-center items-start gap-3\">\n @for (item of plans; track $index) {\n <div class=\"border border-dark-50 rounded-md p-3\">\n <div class=\"mb-3\">\n <div class=\"text-xl font-bold\">{{item.name}}</div>\n <div>{{item.description}}</div>\n <div>{{item.price}}</div>\n </div>\n <div>{{item.id}}</div>\n <div class=\"p-3\">\n <button mat-flat-button (click)=\"checkout(item)\">Select this plan</button>\n </div>\n <div>\n @for (benefit of item.benefits; track $index) {\n <div>{{benefit.title}}</div>\n }\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { 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"] }] });
|
|
62
|
+
}
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipPlan, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: 'rolatech-membership-plan', imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule], template: "<rolatech-container>\n <rolatech-toolbar title=\"\u5F00\u901A\u4F1A\u5458\" large> </rolatech-toolbar>\n <div class=\"text-3xl font-bold py-3 text-center\" i18n>Select a plan.</div>\n <div class=\"flex justify-center items-start gap-3\">\n @for (item of plans; track $index) {\n <div class=\"border border-dark-50 rounded-md p-3\">\n <div class=\"mb-3\">\n <div class=\"text-xl font-bold\">{{item.name}}</div>\n <div>{{item.description}}</div>\n <div>{{item.price}}</div>\n </div>\n <div>{{item.id}}</div>\n <div class=\"p-3\">\n <button mat-flat-button (click)=\"checkout(item)\">Select this plan</button>\n </div>\n <div>\n @for (benefit of item.benefits; track $index) {\n <div>{{benefit.title}}</div>\n }\n </div>\n </div>\n }\n </div>\n</rolatech-container>\n" }]
|
|
66
|
+
}] });
|
|
67
|
+
|
|
68
|
+
const membershipRoutes = [
|
|
69
|
+
{
|
|
70
|
+
path: '',
|
|
71
|
+
component: MembershipIndex,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
path: 'plans',
|
|
75
|
+
component: MembershipPlan,
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
class MembershipItemComponent {
|
|
80
|
+
membership = input.required();
|
|
81
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.3", type: MembershipItemComponent, isStandalone: true, selector: "rolatech-membership-item", inputs: { membership: { classPropertyName: "membership", publicName: "membership", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ membership().id }}</div>\n <div>{{ membership().plan.name }}</div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
83
|
+
}
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipItemComponent, decorators: [{
|
|
85
|
+
type: Component,
|
|
86
|
+
args: [{ selector: 'rolatech-membership-item', imports: [CommonModule], template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ membership().id }}</div>\n <div>{{ membership().plan.name }}</div>\n</div>\n" }]
|
|
87
|
+
}] });
|
|
88
|
+
|
|
89
|
+
class MembershipManageIndexComponent {
|
|
90
|
+
membershipService = inject(MembershipService);
|
|
91
|
+
data;
|
|
92
|
+
ngOnInit() {
|
|
93
|
+
this.find();
|
|
94
|
+
}
|
|
95
|
+
find() {
|
|
96
|
+
this.membershipService.find({}).subscribe({
|
|
97
|
+
next: (res) => {
|
|
98
|
+
this.data = res.data;
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipManageIndexComponent, isStandalone: true, selector: "rolatech-membership-manage-index", ngImport: i0, template: "<rolatech-toolbar title=\"Membership\"> </rolatech-toolbar>\n<div class=\"p-3\">\n @if (data && data.length > 0) {\n @for (item of data; track $index) {\n <rolatech-membership-item [membership]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MembershipItemComponent, selector: "rolatech-membership-item", inputs: ["membership"] }, { kind: "component", type: EmptyComponent, selector: "rolatech-empty" }] });
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageIndexComponent, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'rolatech-membership-manage-index', imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIcon, RouterLink, MembershipItemComponent, EmptyComponent], template: "<rolatech-toolbar title=\"Membership\"> </rolatech-toolbar>\n<div class=\"p-3\">\n @if (data && data.length > 0) {\n @for (item of data; track $index) {\n <rolatech-membership-item [membership]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-item>\n }\n } @else {\n <rolatech-empty></rolatech-empty>\n }\n</div>\n" }]
|
|
108
|
+
}] });
|
|
109
|
+
|
|
110
|
+
class MembershipPlanItemComponent {
|
|
111
|
+
plan = input.required();
|
|
112
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipPlanItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.3", type: MembershipPlanItemComponent, isStandalone: true, selector: "rolatech-membership-plan-item", inputs: { plan: { classPropertyName: "plan", publicName: "plan", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex flex-col\">\n <div>{{ plan().name }}</div>\n <div>{{ plan().description }}</div>\n </div>\n <div>\u00A5{{ plan().price | fixed }}</div>\n</div>\n<hr />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: FixedPipe, name: "fixed" }] });
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipPlanItemComponent, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{ selector: 'rolatech-membership-plan-item', imports: [CommonModule, FixedPipe], template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div class=\"flex flex-col\">\n <div>{{ plan().name }}</div>\n <div>{{ plan().description }}</div>\n </div>\n <div>\u00A5{{ plan().price | fixed }}</div>\n</div>\n<hr />\n" }]
|
|
118
|
+
}] });
|
|
119
|
+
|
|
120
|
+
class MembershipManagePlanIndexComponent {
|
|
121
|
+
membershipService = inject(MembershipService);
|
|
122
|
+
data;
|
|
123
|
+
ngOnInit() {
|
|
124
|
+
this.find();
|
|
125
|
+
}
|
|
126
|
+
find() {
|
|
127
|
+
this.membershipService.findPlans({}).subscribe({
|
|
128
|
+
next: (res) => {
|
|
129
|
+
this.data = res.data;
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManagePlanIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
134
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipManagePlanIndexComponent, isStandalone: true, selector: "rolatech-membership-manage-plan-index", ngImport: i0, template: "<rolatech-toolbar title=\"Membership plans\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Create Plan</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Name</div>\n <div i18n>Price</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-plan-item [plan]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-plan-item>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: MembershipPlanItemComponent, selector: "rolatech-membership-plan-item", inputs: ["plan"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
135
|
+
}
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManagePlanIndexComponent, decorators: [{
|
|
137
|
+
type: Component,
|
|
138
|
+
args: [{ selector: 'rolatech-membership-manage-plan-index', imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipPlanItemComponent, RouterLink], template: "<rolatech-toolbar title=\"Membership plans\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Create Plan</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Name</div>\n <div i18n>Price</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-plan-item [plan]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-plan-item>\n }\n</div>\n" }]
|
|
139
|
+
}] });
|
|
140
|
+
|
|
141
|
+
class MembershipManagePlanCreateComponent {
|
|
142
|
+
membershipService = inject(MembershipService);
|
|
143
|
+
router = inject(Router);
|
|
144
|
+
route = inject(ActivatedRoute);
|
|
145
|
+
snackBar = inject(MatSnackBar);
|
|
146
|
+
plan = {};
|
|
147
|
+
benefits = [];
|
|
148
|
+
selected = [];
|
|
149
|
+
ngOnInit() {
|
|
150
|
+
this.findBenefits();
|
|
151
|
+
}
|
|
152
|
+
create() {
|
|
153
|
+
this.plan.benefits = this.selected;
|
|
154
|
+
const data = {
|
|
155
|
+
...this.plan,
|
|
156
|
+
};
|
|
157
|
+
this.membershipService.createPlan(data).subscribe({
|
|
158
|
+
next: (res) => {
|
|
159
|
+
this.router.navigate([`../${res.data.id}`], {
|
|
160
|
+
relativeTo: this.route,
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
error: (e) => {
|
|
164
|
+
this.snackBar.open(e.message);
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
findBenefits() {
|
|
169
|
+
this.membershipService.findBenefits({}).subscribe({
|
|
170
|
+
next: (res) => {
|
|
171
|
+
this.benefits = res.data;
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
toggleValue(item, checked) {
|
|
176
|
+
if (checked) {
|
|
177
|
+
this.selected.push(item.id);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
const index = this.selected.indexOf(item.id);
|
|
181
|
+
if (index !== -1)
|
|
182
|
+
this.selected.splice(index, 1);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManagePlanCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipManagePlanCreateComponent, isStandalone: true, selector: "rolatech-membership-manage-plan-create", ngImport: i0, template: "<rolatech-toolbar title=\"Create Plan\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits; track $index) {\n <mat-checkbox (change)=\"toggleValue(item, $event.checked)\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n </form>\n </section>\n <div class=\"py-2\" i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatOptionModule }, { 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: MatCheckboxModule }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] });
|
|
187
|
+
}
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManagePlanCreateComponent, decorators: [{
|
|
189
|
+
type: Component,
|
|
190
|
+
args: [{ selector: 'rolatech-membership-manage-plan-create', imports: [
|
|
191
|
+
CommonModule,
|
|
192
|
+
ToolbarComponent,
|
|
193
|
+
FormsModule,
|
|
194
|
+
MatFormFieldModule,
|
|
195
|
+
MatInputModule,
|
|
196
|
+
TextFieldModule,
|
|
197
|
+
MatSelectModule,
|
|
198
|
+
MatOptionModule,
|
|
199
|
+
MatButtonModule,
|
|
200
|
+
MatCheckboxModule,
|
|
201
|
+
], template: "<rolatech-toolbar title=\"Create Plan\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan.bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits; track $index) {\n <mat-checkbox (change)=\"toggleValue(item, $event.checked)\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n </form>\n </section>\n <div class=\"py-2\" i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n" }]
|
|
202
|
+
}] });
|
|
203
|
+
|
|
204
|
+
class MembershipPlanAddComponent {
|
|
205
|
+
plan = model.required();
|
|
206
|
+
benefits = model.required();
|
|
207
|
+
output = output();
|
|
208
|
+
select = output();
|
|
209
|
+
selected = [];
|
|
210
|
+
ngOnInit() {
|
|
211
|
+
if (this.plan().benefits) {
|
|
212
|
+
this.plan().benefits.forEach((item) => {
|
|
213
|
+
this.selected.push(item.id);
|
|
214
|
+
});
|
|
215
|
+
console.log(this.selected);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
onSelect(item, checked) {
|
|
219
|
+
if (checked) {
|
|
220
|
+
this.selected.push(item.id);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
const index = this.selected.indexOf(item.id);
|
|
224
|
+
if (index !== -1)
|
|
225
|
+
this.selected.splice(index, 1);
|
|
226
|
+
}
|
|
227
|
+
this.plan.update((plan) => {
|
|
228
|
+
plan.benefits = this.selected;
|
|
229
|
+
return { ...plan };
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
ngDoCheck() {
|
|
233
|
+
const { name, description, price } = this.plan();
|
|
234
|
+
const data = {
|
|
235
|
+
name,
|
|
236
|
+
description,
|
|
237
|
+
price,
|
|
238
|
+
};
|
|
239
|
+
this.output.emit(data);
|
|
240
|
+
}
|
|
241
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipPlanAddComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipPlanAddComponent, isStandalone: true, selector: "rolatech-membership-plan-add", inputs: { plan: { classPropertyName: "plan", publicName: "plan", isSignal: true, isRequired: true, transformFunction: null }, benefits: { classPropertyName: "benefits", publicName: "benefits", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { plan: "planChange", benefits: "benefitsChange", output: "output", select: "select" }, ngImport: i0, template: "<form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan().description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits(); track $index) {\n <mat-checkbox [checked]=\"selected.includes(item.id)\" (change)=\"onSelect(item, $event.checked)\" [checked]=\"\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] });
|
|
243
|
+
}
|
|
244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipPlanAddComponent, decorators: [{
|
|
245
|
+
type: Component,
|
|
246
|
+
args: [{ selector: 'rolatech-membership-plan-add', imports: [
|
|
247
|
+
FormsModule,
|
|
248
|
+
MatFormFieldModule,
|
|
249
|
+
MatInputModule,
|
|
250
|
+
TextFieldModule,
|
|
251
|
+
MatSelectModule,
|
|
252
|
+
MatOptionModule,
|
|
253
|
+
MatButtonModule,
|
|
254
|
+
MatCheckboxModule,
|
|
255
|
+
], template: "<form #productForm=\"ngForm\">\n <div class=\"flex flex-col px-2\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().name\" name=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"plan().description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Price </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().price\" name=\"price\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Duration Days </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().durationDays\" name=\"durationDays\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Bonus points </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"plan().bonusPoints\" name=\"bonusPoints\" required />\n </mat-form-field>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"text-xl font-bold p-2\" i18n>Benefits</div>\n @for (item of benefits(); track $index) {\n <mat-checkbox [checked]=\"selected.includes(item.id)\" (change)=\"onSelect(item, $event.checked)\" [checked]=\"\">\n {{ item.title }}\n </mat-checkbox>\n }\n </div>\n</form>\n" }]
|
|
256
|
+
}] });
|
|
257
|
+
|
|
258
|
+
class MembershipManagePlanDetailComponent extends BaseComponent {
|
|
259
|
+
membershipService = inject(MembershipService);
|
|
260
|
+
plan;
|
|
261
|
+
benefits = [];
|
|
262
|
+
selected = [];
|
|
263
|
+
ngOnInit() {
|
|
264
|
+
this.get();
|
|
265
|
+
this.findBenefits();
|
|
266
|
+
}
|
|
267
|
+
get() {
|
|
268
|
+
this.membershipService.getPlan(this.id).subscribe({
|
|
269
|
+
next: (res) => {
|
|
270
|
+
this.plan = res.data;
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
findBenefits() {
|
|
275
|
+
this.membershipService.findBenefits({}).subscribe({
|
|
276
|
+
next: (res) => {
|
|
277
|
+
this.benefits = res.data;
|
|
278
|
+
},
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
toggleValue(item, checked) {
|
|
282
|
+
if (checked) {
|
|
283
|
+
this.selected.push(item.id);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
const index = this.selected.indexOf(item.id);
|
|
287
|
+
if (index !== -1)
|
|
288
|
+
this.selected.splice(index, 1);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
update() {
|
|
292
|
+
console.log(this.plan);
|
|
293
|
+
this.membershipService.updatePlan(this.id, this.plan).subscribe({
|
|
294
|
+
next: (res) => { },
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManagePlanDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipManagePlanDetailComponent, isStandalone: true, selector: "rolatech-membership-manage-plan-detail", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Plan detail\" back>\n <button mat-flat-button (click)=\"update()\">\n <mat-icon>save</mat-icon>\n <span i18n>Save</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n @if (plan) {\n <rolatech-membership-plan-add [plan]=\"plan\" [benefits]=\"benefits\"></rolatech-membership-plan-add>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { 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: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MembershipPlanAddComponent, selector: "rolatech-membership-plan-add", inputs: ["plan", "benefits"], outputs: ["planChange", "benefitsChange", "output", "select"] }] });
|
|
299
|
+
}
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManagePlanDetailComponent, decorators: [{
|
|
301
|
+
type: Component,
|
|
302
|
+
args: [{ selector: 'rolatech-membership-manage-plan-detail', imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIconModule, MembershipPlanAddComponent], template: "<rolatech-toolbar title=\"Plan detail\" back>\n <button mat-flat-button (click)=\"update()\">\n <mat-icon>save</mat-icon>\n <span i18n>Save</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n @if (plan) {\n <rolatech-membership-plan-add [plan]=\"plan\" [benefits]=\"benefits\"></rolatech-membership-plan-add>\n }\n</div>\n" }]
|
|
303
|
+
}] });
|
|
304
|
+
|
|
305
|
+
class MembershipBenefitItemComponent {
|
|
306
|
+
benefit = input.required();
|
|
307
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipBenefitItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
308
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.3", type: MembershipBenefitItemComponent, isStandalone: true, selector: "rolatech-membership-benefit-item", inputs: { benefit: { classPropertyName: "benefit", publicName: "benefit", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ benefit().title }}</div>\n <div>{{ benefit().description }}</div>\n</div>\n<hr />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
309
|
+
}
|
|
310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipBenefitItemComponent, decorators: [{
|
|
311
|
+
type: Component,
|
|
312
|
+
args: [{ selector: 'rolatech-membership-benefit-item', imports: [CommonModule], template: "<div class=\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\">\n <div>{{ benefit().title }}</div>\n <div>{{ benefit().description }}</div>\n</div>\n<hr />\n" }]
|
|
313
|
+
}] });
|
|
314
|
+
|
|
315
|
+
class MembershipManageBenefitIndexComponent {
|
|
316
|
+
membershipService = inject(MembershipService);
|
|
317
|
+
data;
|
|
318
|
+
ngOnInit() {
|
|
319
|
+
this.find();
|
|
320
|
+
}
|
|
321
|
+
find() {
|
|
322
|
+
this.membershipService.findBenefits({}).subscribe({
|
|
323
|
+
next: (res) => {
|
|
324
|
+
this.data = res.data;
|
|
325
|
+
},
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageBenefitIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
329
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: MembershipManageBenefitIndexComponent, isStandalone: true, selector: "rolatech-membership-manage-benefit-index", ngImport: i0, template: "<rolatech-toolbar title=\"Membership benefits\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Add benefit</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Title</div>\n <div i18n>Description</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-benefit-item [benefit]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-benefit-item>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: MembershipBenefitItemComponent, selector: "rolatech-membership-benefit-item", inputs: ["benefit"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
330
|
+
}
|
|
331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageBenefitIndexComponent, decorators: [{
|
|
332
|
+
type: Component,
|
|
333
|
+
args: [{ selector: 'rolatech-membership-manage-benefit-index', imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipBenefitItemComponent, RouterLink], template: "<rolatech-toolbar title=\"Membership benefits\">\n <button mat-flat-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n <span i18n>Add benefit</span>\n </button>\n</rolatech-toolbar>\n<div class=\"p-3\">\n <div class=\"flex justify-between items-center text-lg font-bold p-2\">\n <div i18n>Title</div>\n <div i18n>Description</div>\n </div>\n @for (item of data; track $index) {\n <rolatech-membership-benefit-item [benefit]=\"item\" [routerLink]=\"['./', item.id]\"></rolatech-membership-benefit-item>\n }\n</div>\n" }]
|
|
334
|
+
}] });
|
|
335
|
+
|
|
336
|
+
class MembershipManageBenefitCreateComponent {
|
|
337
|
+
membershipService = inject(MembershipService);
|
|
338
|
+
router = inject(Router);
|
|
339
|
+
route = inject(ActivatedRoute);
|
|
340
|
+
snackBar = inject(MatSnackBar);
|
|
341
|
+
benefit = {};
|
|
342
|
+
create() {
|
|
343
|
+
const data = {
|
|
344
|
+
...this.benefit,
|
|
345
|
+
};
|
|
346
|
+
this.membershipService.addBenefit(data).subscribe({
|
|
347
|
+
next: (res) => {
|
|
348
|
+
this.router.navigate([`../`], {
|
|
349
|
+
relativeTo: this.route,
|
|
350
|
+
});
|
|
351
|
+
},
|
|
352
|
+
error: (e) => {
|
|
353
|
+
this.snackBar.open(e.message);
|
|
354
|
+
},
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageBenefitCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
358
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: MembershipManageBenefitCreateComponent, isStandalone: true, selector: "rolatech-membership-manage-benefit-create", ngImport: i0, template: "<rolatech-toolbar title=\"Add Benefit\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Title </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"benefit.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Sort order </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.sortOrder\" name=\"sortOrder\" required />\n </mat-form-field>\n </div>\n </form>\n </section>\n <div i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatOptionModule }, { 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"] }] });
|
|
359
|
+
}
|
|
360
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageBenefitCreateComponent, decorators: [{
|
|
361
|
+
type: Component,
|
|
362
|
+
args: [{ selector: 'rolatech-membership-manage-benefit-create', imports: [
|
|
363
|
+
CommonModule,
|
|
364
|
+
ToolbarComponent,
|
|
365
|
+
FormsModule,
|
|
366
|
+
MatFormFieldModule,
|
|
367
|
+
MatInputModule,
|
|
368
|
+
TextFieldModule,
|
|
369
|
+
MatSelectModule,
|
|
370
|
+
MatOptionModule,
|
|
371
|
+
MatButtonModule,
|
|
372
|
+
], template: "<rolatech-toolbar title=\"Add Benefit\"></rolatech-toolbar>\n<div class=\"p-3\">\n <section>\n <form #productForm=\"ngForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Title </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.title\" name=\"title\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <textarea\n matInput\n type=\"text\"\n [(ngModel)]=\"benefit.description\"\n name=\"description\"\n required\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"3\"\n ></textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Sort order </mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"benefit.sortOrder\" name=\"sortOrder\" required />\n </mat-form-field>\n </div>\n </form>\n </section>\n <div i18n>* items are required</div>\n <div class=\"mt-3\">\n <button mat-flat-button class=\"w-28\" (click)=\"create()\" i18n>Create</button>\n </div>\n</div>\n" }]
|
|
373
|
+
}] });
|
|
374
|
+
|
|
375
|
+
class MembershipManageBenefitDetailComponent {
|
|
376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageBenefitDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
377
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: MembershipManageBenefitDetailComponent, isStandalone: true, selector: "rolatech-membership-manage-benefit-detail", ngImport: i0, template: "<p>membership-manage-benefit-detail works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
378
|
+
}
|
|
379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: MembershipManageBenefitDetailComponent, decorators: [{
|
|
380
|
+
type: Component,
|
|
381
|
+
args: [{ selector: 'rolatech-membership-manage-benefit-detail', imports: [CommonModule], template: "<p>membership-manage-benefit-detail works!</p>\n" }]
|
|
382
|
+
}] });
|
|
383
|
+
|
|
384
|
+
const membershipManageRoutes = [
|
|
385
|
+
{
|
|
386
|
+
path: '',
|
|
387
|
+
component: MembershipManageIndexComponent,
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
path: 'plans',
|
|
391
|
+
component: MembershipManagePlanIndexComponent,
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
path: 'plans/create',
|
|
395
|
+
component: MembershipManagePlanCreateComponent,
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
path: 'plans/:id',
|
|
399
|
+
component: MembershipManagePlanDetailComponent,
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
path: 'benefits',
|
|
403
|
+
component: MembershipManageBenefitIndexComponent,
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
path: 'benefits/create',
|
|
407
|
+
component: MembershipManageBenefitCreateComponent,
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
path: 'benefits/:id',
|
|
411
|
+
component: MembershipManageBenefitDetailComponent,
|
|
412
|
+
},
|
|
413
|
+
];
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Generated bundle index. Do not edit.
|
|
417
|
+
*/
|
|
418
|
+
|
|
419
|
+
export { membershipManageRoutes, membershipRoutes };
|
|
420
|
+
//# sourceMappingURL=rolatech-angular-membership.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-membership.mjs","sources":["../tmp-esm2022/lib/pages/membership/membership-index/membership-index.js","../tmp-esm2022/lib/pages/membership/membership-plan/membership-plan.js","../tmp-esm2022/lib/pages/membership/membership.routes.js","../tmp-esm2022/lib/components/membership-item/membership-item.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-index/membership-manage-index.component.js","../tmp-esm2022/lib/components/membership-plan-item/membership-plan-item.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-plan-index/membership-manage-plan-index.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-plan-create/membership-manage-plan-create.component.js","../tmp-esm2022/lib/components/membership-plan-add/membership-plan-add.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-plan-detail/membership-manage-plan-detail.component.js","../tmp-esm2022/lib/components/membership-benefit-item/membership-benefit-item.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-benefit-index/membership-manage-benefit-index.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-benefit-create/membership-manage-benefit-create.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage-benefit-detail/membership-manage-benefit-detail.component.js","../tmp-esm2022/lib/pages/membership-manage/membership-manage.routes.js","../tmp-esm2022/rolatech-angular-membership.js"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nexport class MembershipIndex {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipIndex, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: MembershipIndex, isStandalone: true, selector: \"rolatech-membership-index\", ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"\\u6211\\u7684\\u4F1A\\u5458\\\" large> </rolatech-toolbar>\\n</rolatech-container>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatButtonModule }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipIndex, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-index', imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule], template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"\\u6211\\u7684\\u4F1A\\u5458\\\" large> </rolatech-toolbar>\\n</rolatech-container>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItbWVtYmVyc2hpcC9zcmMvbGliL3BhZ2VzL21lbWJlcnNoaXAvbWVtYmVyc2hpcC1pbmRleC9tZW1iZXJzaGlwLWluZGV4LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC9tZW1iZXJzaGlwLWluZGV4L21lbWJlcnNoaXAtaW5kZXguaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBUTNELE1BQU0sT0FBTyxlQUFlO3VHQUFmLGVBQWU7MkZBQWYsZUFBZSxxRkNYNUIsa0lBR0EseURESVksWUFBWSwrQkFBRSxrQkFBa0IsK0RBQUUsZ0JBQWdCLCtIQUFFLGVBQWU7OzJGQUlsRSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLDJCQUEyQixXQUM1QixDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW1lbWJlcnNoaXAtaW5kZXgnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW1iZXJzaGlwLWluZGV4Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1pbmRleC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTWVtYmVyc2hpcEluZGV4IHt9XG4iLCI8cm9sYXRlY2gtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuaIkeeahOS8muWRmFwiIGxhcmdlPiA8L3JvbGF0ZWNoLXRvb2xiYXI+XG48L3JvbGF0ZWNoLWNvbnRhaW5lcj5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseComponent, ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { AuthService } from '@rolatech/angular-auth';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class MembershipPlan extends BaseComponent {\n authService = inject(AuthService);\n membershipService = inject(MembershipService);\n authenticated = this.authService.authenticated;\n plans = [];\n ngOnInit() {\n this.findPlans();\n }\n findPlans() {\n this.membershipService.findPlans({}).subscribe({\n next: (res) => {\n this.plans = res.data;\n },\n });\n }\n checkout(plan) {\n console.log(plan);\n if (this.authenticated()) {\n this.router.navigate([`/checkout/memberships/plans/${plan.id}`]);\n }\n else {\n this.snackBarService.open('Please sign in');\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipPlan, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipPlan, isStandalone: true, selector: \"rolatech-membership-plan\", usesInheritance: true, ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"\\u5F00\\u901A\\u4F1A\\u5458\\\" large> </rolatech-toolbar>\\n <div class=\\\"text-3xl font-bold py-3 text-center\\\" i18n>Select a plan.</div>\\n <div class=\\\"flex justify-center items-start gap-3\\\">\\n @for (item of plans; track $index) {\\n <div class=\\\"border border-dark-50 rounded-md p-3\\\">\\n <div class=\\\"mb-3\\\">\\n <div class=\\\"text-xl font-bold\\\">{{item.name}}</div>\\n <div>{{item.description}}</div>\\n <div>{{item.price}}</div>\\n </div>\\n <div>{{item.id}}</div>\\n <div class=\\\"p-3\\\">\\n <button mat-flat-button (click)=\\\"checkout(item)\\\">Select this plan</button>\\n </div>\\n <div>\\n @for (benefit of item.benefits; track $index) {\\n <div>{{benefit.title}}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n</rolatech-container>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { 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\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipPlan, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-plan', imports: [CommonModule, ContainerComponent, ToolbarComponent, MatButtonModule], template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"\\u5F00\\u901A\\u4F1A\\u5458\\\" large> </rolatech-toolbar>\\n <div class=\\\"text-3xl font-bold py-3 text-center\\\" i18n>Select a plan.</div>\\n <div class=\\\"flex justify-center items-start gap-3\\\">\\n @for (item of plans; track $index) {\\n <div class=\\\"border border-dark-50 rounded-md p-3\\\">\\n <div class=\\\"mb-3\\\">\\n <div class=\\\"text-xl font-bold\\\">{{item.name}}</div>\\n <div>{{item.description}}</div>\\n <div>{{item.price}}</div>\\n </div>\\n <div>{{item.id}}</div>\\n <div class=\\\"p-3\\\">\\n <button mat-flat-button (click)=\\\"checkout(item)\\\">Select this plan</button>\\n </div>\\n <div>\\n @for (benefit of item.benefits; track $index) {\\n <div>{{benefit.title}}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n</rolatech-container>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1wbGFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC9tZW1iZXJzaGlwLXBsYW4vbWVtYmVyc2hpcC1wbGFuLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC9tZW1iZXJzaGlwLXBsYW4vbWVtYmVyc2hpcC1wbGFuLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFRckQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBQy9DLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQy9DLEtBQUssR0FBUSxFQUFFLENBQUM7SUFDaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFTO1FBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLCtCQUErQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQzt1R0F0QlUsY0FBYzsyRkFBZCxjQUFjLDJHQ2IzQixrMkJBd0JBLHlERGZZLFlBQVksK0JBQUUsa0JBQWtCLCtEQUFFLGdCQUFnQiwrSEFBRSxlQUFlOzsyRkFJbEUsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSwwQkFBMEIsV0FDM0IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE1lbWJlcnNoaXBTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtbWVtYmVyc2hpcC1wbGFuJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29udGFpbmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50LCBNYXRCdXR0b25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVtYmVyc2hpcC1wbGFuLmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1wbGFuLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1iZXJzaGlwUGxhbiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIG1lbWJlcnNoaXBTZXJ2aWNlID0gaW5qZWN0KE1lbWJlcnNoaXBTZXJ2aWNlKTtcbiAgYXV0aGVudGljYXRlZCA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlZDtcbiAgcGxhbnM6IGFueSA9IFtdO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmRQbGFucygpO1xuICB9XG4gIGZpbmRQbGFucygpIHtcbiAgICB0aGlzLm1lbWJlcnNoaXBTZXJ2aWNlLmZpbmRQbGFucyh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5wbGFucyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjaGVja291dChwbGFuOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhwbGFuKTtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2NoZWNrb3V0L21lbWJlcnNoaXBzL3BsYW5zLyR7cGxhbi5pZH1gXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1BsZWFzZSBzaWduIGluJyk7XG4gICAgfVxuICB9XG59XG4iLCI8cm9sYXRlY2gtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuW8gOmAmuS8muWRmFwiIGxhcmdlPiA8L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWJvbGQgcHktMyB0ZXh0LWNlbnRlclwiIGkxOG4+U2VsZWN0IGEgcGxhbi48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtc3RhcnQgZ2FwLTNcIj5cbiAgICBAZm9yIChpdGVtIG9mIHBsYW5zOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1kYXJrLTUwIHJvdW5kZWQtbWQgcC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC14bCBmb250LWJvbGRcIj57e2l0ZW0ubmFtZX19PC9kaXY+XG4gICAgICAgIDxkaXY+e3tpdGVtLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgPGRpdj57e2l0ZW0ucHJpY2V9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2Pnt7aXRlbS5pZH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJjaGVja291dChpdGVtKVwiPlNlbGVjdCB0aGlzIHBsYW48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgQGZvciAoYmVuZWZpdCBvZiBpdGVtLmJlbmVmaXRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdj57e2JlbmVmaXQudGl0bGV9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9yb2xhdGVjaC1jb250YWluZXI+XG4iXX0=","import { MembershipIndex } from './membership-index/membership-index';\nimport { MembershipPlan } from './membership-plan/membership-plan';\nexport const membershipRoutes = [\n {\n path: '',\n component: MembershipIndex,\n },\n {\n path: 'plans',\n component: MembershipPlan,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9wYWdlcy9tZW1iZXJzaGlwL21lbWJlcnNoaXAucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVc7SUFDdEM7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxlQUFlO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxjQUFjO0tBQzFCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNZW1iZXJzaGlwSW5kZXggfSBmcm9tICcuL21lbWJlcnNoaXAtaW5kZXgvbWVtYmVyc2hpcC1pbmRleCc7XG5pbXBvcnQgeyBNZW1iZXJzaGlwUGxhbiB9IGZyb20gJy4vbWVtYmVyc2hpcC1wbGFuL21lbWJlcnNoaXAtcGxhbic7XG5cbmV4cG9ydCBjb25zdCBtZW1iZXJzaGlwUm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IE1lbWJlcnNoaXBJbmRleCxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdwbGFucycsXG4gICAgY29tcG9uZW50OiBNZW1iZXJzaGlwUGxhbixcbiAgfSxcbl07XG4iXX0=","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class MembershipItemComponent {\n membership = input.required();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.3\", type: MembershipItemComponent, isStandalone: true, selector: \"rolatech-membership-item\", inputs: { membership: { classPropertyName: \"membership\", publicName: \"membership\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>{{ membership().id }}</div>\\n <div>{{ membership().plan.name }}</div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-item', imports: [CommonModule], template: \"<div class=\\\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>{{ membership().id }}</div>\\n <div>{{ membership().plan.name }}</div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItbWVtYmVyc2hpcC9zcmMvbGliL2NvbXBvbmVudHMvbWVtYmVyc2hpcC1pdGVtL21lbWJlcnNoaXAtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9jb21wb25lbnRzL21lbWJlcnNoaXAtaXRlbS9tZW1iZXJzaGlwLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFjLENBQUM7dUdBRC9CLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHNPQ1ZwQyx1TUFJQSx5RERFWSxZQUFZOzsyRkFJWCx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsMEJBQTBCLFdBQzNCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lbWJlcnNoaXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbWJlcnNoaXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLWl0ZW0nLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbWJlcnNoaXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW1iZXJzaGlwLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1iZXJzaGlwSXRlbUNvbXBvbmVudCB7XG4gIG1lbWJlcnNoaXAgPSBpbnB1dC5yZXF1aXJlZDxNZW1iZXJzaGlwPigpO1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC0yIHB5LTMgaG92ZXI6YmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGN1cnNvci1wb2ludGVyXCI+XG4gIDxkaXY+e3sgbWVtYmVyc2hpcCgpLmlkIH19PC9kaXY+XG4gIDxkaXY+e3sgbWVtYmVyc2hpcCgpLnBsYW4ubmFtZSB9fTwvZGl2PlxuPC9kaXY+XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EmptyComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { RouterLink } from '@angular/router';\nimport { MembershipItemComponent } from '../../../components/membership-item/membership-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nexport class MembershipManageIndexComponent {\n membershipService = inject(MembershipService);\n data;\n ngOnInit() {\n this.find();\n }\n find() {\n this.membershipService.find({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipManageIndexComponent, isStandalone: true, selector: \"rolatech-membership-manage-index\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Membership\\\"> </rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n @if (data && data.length > 0) {\\n @for (item of data; track $index) {\\n <rolatech-membership-item [membership]=\\\"item\\\" [routerLink]=\\\"['./', item.id]\\\"></rolatech-membership-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: MembershipItemComponent, selector: \"rolatech-membership-item\", inputs: [\"membership\"] }, { kind: \"component\", type: EmptyComponent, selector: \"rolatech-empty\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-index', imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIcon, RouterLink, MembershipItemComponent, EmptyComponent], template: \"<rolatech-toolbar title=\\\"Membership\\\"> </rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n @if (data && data.length > 0) {\\n @for (item of data; track $index) {\\n <rolatech-membership-item [membership]=\\\"item\\\" [routerLink]=\\\"['./', item.id]\\\"></rolatech-membership-item>\\n }\\n } @else {\\n <rolatech-empty></rolatech-empty>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtaW5kZXgvbWVtYmVyc2hpcC1tYW5hZ2UtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtaW5kZXgvbWVtYmVyc2hpcC1tYW5hZ2UtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFRL0QsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQU07SUFDVixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN4QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQVpVLDhCQUE4QjsyRkFBOUIsOEJBQThCLDRGQ2YzQyw0VkFVQSx5RERDWSxZQUFZLCtCQUFFLGdCQUFnQiwrSEFBRSxlQUFlLCtCQUFXLFVBQVUsb09BQUUsdUJBQXVCLDZGQUFFLGNBQWM7OzJGQUk1Ryw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0Usa0NBQWtDLFdBQ25DLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbXB0eUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVtYmVyc2hpcEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL21lbWJlcnNoaXAtaXRlbS9tZW1iZXJzaGlwLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lbWJlcnNoaXBTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLW1hbmFnZS1pbmRleCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRvb2xiYXJDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbiwgUm91dGVyTGluaywgTWVtYmVyc2hpcEl0ZW1Db21wb25lbnQsIEVtcHR5Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbWJlcnNoaXAtbWFuYWdlLWluZGV4LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21lbWJlcnNoaXAtbWFuYWdlLWluZGV4LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTWVtYmVyc2hpcE1hbmFnZUluZGV4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbWVtYmVyc2hpcFNlcnZpY2UgPSBpbmplY3QoTWVtYmVyc2hpcFNlcnZpY2UpO1xuICBkYXRhOiBhbnk7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZCgpO1xuICB9XG4gIGZpbmQoKSB7XG4gICAgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5maW5kKHt9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCJNZW1iZXJzaGlwXCI+IDwvcm9sYXRlY2gtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgQGlmIChkYXRhICYmIGRhdGEubGVuZ3RoID4gMCkge1xuICAgIEBmb3IgKGl0ZW0gb2YgZGF0YTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cm9sYXRlY2gtbWVtYmVyc2hpcC1pdGVtIFttZW1iZXJzaGlwXT1cIml0ZW1cIiBbcm91dGVyTGlua109XCJbJy4vJywgaXRlbS5pZF1cIj48L3JvbGF0ZWNoLW1lbWJlcnNoaXAtaXRlbT5cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIDxyb2xhdGVjaC1lbXB0eT48L3JvbGF0ZWNoLWVtcHR5PlxuICB9XG48L2Rpdj5cbiJdfQ==","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FixedPipe } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nexport class MembershipPlanItemComponent {\n plan = input.required();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipPlanItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.3\", type: MembershipPlanItemComponent, isStandalone: true, selector: \"rolatech-membership-plan-item\", inputs: { plan: { classPropertyName: \"plan\", publicName: \"plan\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div class=\\\"flex flex-col\\\">\\n <div>{{ plan().name }}</div>\\n <div>{{ plan().description }}</div>\\n </div>\\n <div>\\u00A5{{ plan().price | fixed }}</div>\\n</div>\\n<hr />\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: FixedPipe, name: \"fixed\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipPlanItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-plan-item', imports: [CommonModule, FixedPipe], template: \"<div class=\\\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div class=\\\"flex flex-col\\\">\\n <div>{{ plan().name }}</div>\\n <div>{{ plan().description }}</div>\\n </div>\\n <div>\\u00A5{{ plan().price | fixed }}</div>\\n</div>\\n<hr />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1wbGFuLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvY29tcG9uZW50cy9tZW1iZXJzaGlwLXBsYW4taXRlbS9tZW1iZXJzaGlwLXBsYW4taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9jb21wb25lbnRzL21lbWJlcnNoaXAtcGxhbi1pdGVtL21lbWJlcnNoaXAtcGxhbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBUXJELE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWtCLENBQUM7dUdBRDdCLDJCQUEyQjsyRkFBM0IsMkJBQTJCLHlOQ1h4QyxxU0FRQSx5REREWSxZQUFZLDBCQUFFLFNBQVM7OzJGQUl0QiwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsK0JBQStCLFdBQ2hDLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNZW1iZXJzaGlwUGxhbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbWVtYmVyc2hpcCc7XG5pbXBvcnQgeyBGaXhlZFBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLXBsYW4taXRlbScsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZpeGVkUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW1iZXJzaGlwLXBsYW4taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW1iZXJzaGlwLXBsYW4taXRlbS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE1lbWJlcnNoaXBQbGFuSXRlbUNvbXBvbmVudCB7XG4gIHBsYW4gPSBpbnB1dC5yZXF1aXJlZDxNZW1iZXJzaGlwUGxhbj4oKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtMiBweS0zIGhvdmVyOmJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBjdXJzb3ItcG9pbnRlclwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgIDxkaXY+e3sgcGxhbigpLm5hbWUgfX08L2Rpdj5cbiAgICA8ZGl2Pnt7IHBsYW4oKS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdj7CpXt7IHBsYW4oKS5wcmljZSB8IGZpeGVkIH19PC9kaXY+XG48L2Rpdj5cbjxociAvPlxuIl19","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipPlanItemComponent } from '../../../components/membership-plan-item/membership-plan-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class MembershipManagePlanIndexComponent {\n membershipService = inject(MembershipService);\n data;\n ngOnInit() {\n this.find();\n }\n find() {\n this.membershipService.findPlans({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManagePlanIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipManagePlanIndexComponent, isStandalone: true, selector: \"rolatech-membership-manage-plan-index\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Membership plans\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Create Plan</span>\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <div class=\\\"flex justify-between items-center text-lg font-bold p-2\\\">\\n <div i18n>Name</div>\\n <div i18n>Price</div>\\n </div>\\n @for (item of data; track $index) {\\n <rolatech-membership-plan-item [plan]=\\\"item\\\" [routerLink]=\\\"['./', item.id]\\\"></rolatech-membership-plan-item>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { 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: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: MembershipPlanItemComponent, selector: \"rolatech-membership-plan-item\", inputs: [\"plan\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManagePlanIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-plan-index', imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipPlanItemComponent, RouterLink], template: \"<rolatech-toolbar title=\\\"Membership plans\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Create Plan</span>\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <div class=\\\"flex justify-between items-center text-lg font-bold p-2\\\">\\n <div i18n>Name</div>\\n <div i18n>Price</div>\\n </div>\\n @for (item of data; track $index) {\\n <rolatech-membership-plan-item [plan]=\\\"item\\\" [routerLink]=\\\"['./', item.id]\\\"></rolatech-membership-plan-item>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1pbmRleC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9wYWdlcy9tZW1iZXJzaGlwLW1hbmFnZS9tZW1iZXJzaGlwLW1hbmFnZS1wbGFuLWluZGV4L21lbWJlcnNoaXAtbWFuYWdlLXBsYW4taW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1pbmRleC9tZW1iZXJzaGlwLW1hbmFnZS1wbGFuLWluZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUTdDLE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFNO0lBQ1YsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQVpVLGtDQUFrQzsyRkFBbEMsa0NBQWtDLGlHQ2YvQyxpaEJBZUEseURESlksWUFBWSw4QkFBRSxlQUFlLG9YQUFFLE9BQU8sMklBQUUsZ0JBQWdCLGdJQUFFLDJCQUEyQiw0RkFBRSxVQUFVOzsyRkFJaEcsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLHVDQUF1QyxXQUN4QyxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDJCQUEyQixFQUFFLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFBsYW5JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9tZW1iZXJzaGlwLXBsYW4taXRlbS9tZW1iZXJzaGlwLXBsYW4taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1pbmRleCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbiwgVG9vbGJhckNvbXBvbmVudCwgTWVtYmVyc2hpcFBsYW5JdGVtQ29tcG9uZW50LCBSb3V0ZXJMaW5rXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbWJlcnNoaXAtbWFuYWdlLXBsYW4taW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1pbmRleC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE1lbWJlcnNoaXBNYW5hZ2VQbGFuSW5kZXhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtZW1iZXJzaGlwU2VydmljZSA9IGluamVjdChNZW1iZXJzaGlwU2VydmljZSk7XG4gIGRhdGE6IGFueTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kKCk7XG4gIH1cbiAgZmluZCgpIHtcbiAgICB0aGlzLm1lbWJlcnNoaXBTZXJ2aWNlLmZpbmRQbGFucyh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIk1lbWJlcnNoaXAgcGxhbnNcIj5cbiAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gcm91dGVyTGluaz1cIi4vY3JlYXRlXCI+XG4gICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgPHNwYW4gaTE4bj5DcmVhdGUgUGxhbjwvc3Bhbj5cbiAgPC9idXR0b24+XG48L3JvbGF0ZWNoLXRvb2xiYXI+XG48ZGl2IGNsYXNzPVwicC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgdGV4dC1sZyBmb250LWJvbGQgcC0yXCI+XG4gICAgPGRpdiBpMThuPk5hbWU8L2Rpdj5cbiAgICA8ZGl2IGkxOG4+UHJpY2U8L2Rpdj5cbiAgPC9kaXY+XG4gIEBmb3IgKGl0ZW0gb2YgZGF0YTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHJvbGF0ZWNoLW1lbWJlcnNoaXAtcGxhbi1pdGVtIFtwbGFuXT1cIml0ZW1cIiBbcm91dGVyTGlua109XCJbJy4vJywgaXRlbS5pZF1cIj48L3JvbGF0ZWNoLW1lbWJlcnNoaXAtcGxhbi1pdGVtPlxuICB9XG48L2Rpdj5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/button\";\nimport * as i6 from \"@angular/material/checkbox\";\nexport class MembershipManagePlanCreateComponent {\n membershipService = inject(MembershipService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n snackBar = inject(MatSnackBar);\n plan = {};\n benefits = [];\n selected = [];\n ngOnInit() {\n this.findBenefits();\n }\n create() {\n this.plan.benefits = this.selected;\n const data = {\n ...this.plan,\n };\n this.membershipService.createPlan(data).subscribe({\n next: (res) => {\n this.router.navigate([`../${res.data.id}`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n findBenefits() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.benefits = res.data;\n },\n });\n }\n toggleValue(item, checked) {\n if (checked) {\n this.selected.push(item.id);\n }\n else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1)\n this.selected.splice(index, 1);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManagePlanCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipManagePlanCreateComponent, isStandalone: true, selector: \"rolatech-membership-manage-plan-create\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Create Plan\\\"></rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col px-2\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"plan.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.price\\\" name=\\\"price\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Duration Days </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.durationDays\\\" name=\\\"durationDays\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Bonus points </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.bonusPoints\\\" name=\\\"bonusPoints\\\" required />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"text-xl font-bold p-2\\\" i18n>Benefits</div>\\n @for (item of benefits; track $index) {\\n <mat-checkbox (change)=\\\"toggleValue(item, $event.checked)\\\">\\n {{ item.title }}\\n </mat-checkbox>\\n }\\n </div>\\n </form>\\n </section>\\n <div class=\\\"py-2\\\" i18n>* items are required</div>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { 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.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.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: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.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: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i5.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: MatCheckboxModule }, { kind: \"component\", type: i6.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"aria-expanded\", \"aria-controls\", \"aria-owns\", \"id\", \"required\", \"labelPosition\", \"name\", \"value\", \"disableRipple\", \"tabIndex\", \"color\", \"disabledInteractive\", \"checked\", \"disabled\", \"indeterminate\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManagePlanCreateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-plan-create', imports: [\n CommonModule,\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n MatCheckboxModule,\n ], template: \"<rolatech-toolbar title=\\\"Create Plan\\\"></rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col px-2\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"plan.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.price\\\" name=\\\"price\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Duration Days </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.durationDays\\\" name=\\\"durationDays\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Bonus points </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan.bonusPoints\\\" name=\\\"bonusPoints\\\" required />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"text-xl font-bold p-2\\\" i18n>Benefits</div>\\n @for (item of benefits; track $index) {\\n <mat-checkbox (change)=\\\"toggleValue(item, $event.checked)\\\">\\n {{ item.title }}\\n </mat-checkbox>\\n }\\n </div>\\n </form>\\n </section>\\n <div class=\\\"py-2\\\" i18n>* items are required</div>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVB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Q2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFRleHRGaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbWJlcnNoaXAtbWFuYWdlLXBsYW4tY3JlYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21lbWJlcnNoaXAtbWFuYWdlLXBsYW4tY3JlYXRlLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTWVtYmVyc2hpcE1hbmFnZVBsYW5DcmVhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIG1lbWJlcnNoaXBTZXJ2aWNlID0gaW5qZWN0KE1lbWJlcnNoaXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBwbGFuOiBhbnkgPSB7fTtcbiAgYmVuZWZpdHM6IGFueSA9IFtdO1xuICBzZWxlY3RlZDogYW55ID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kQmVuZWZpdHMoKTtcbiAgfVxuICBjcmVhdGUoKSB7XG4gICAgdGhpcy5wbGFuLmJlbmVmaXRzID0gdGhpcy5zZWxlY3RlZDtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgLi4udGhpcy5wbGFuLFxuICAgIH07XG4gICAgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5jcmVhdGVQbGFuKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi4vJHtyZXMuZGF0YS5pZH1gXSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZEJlbmVmaXRzKCkge1xuICAgIHRoaXMubWVtYmVyc2hpcFNlcnZpY2UuZmluZEJlbmVmaXRzKHt9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmJlbmVmaXRzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHRvZ2dsZVZhbHVlKGl0ZW06IGFueSwgY2hlY2tlZDogYm9vbGVhbikge1xuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLnB1c2goaXRlbS5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZC5pbmRleE9mKGl0ZW0uaWQpO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkgdGhpcy5zZWxlY3RlZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCJDcmVhdGUgUGxhblwiPjwvcm9sYXRlY2gtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgPHNlY3Rpb24+XG4gICAgPGZvcm0gI3Byb2R1Y3RGb3JtPVwibmdGb3JtXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0yXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gTmFtZSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInBsYW4ubmFtZVwiIG5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBEZXNjcmlwdGlvbiA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInBsYW4uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgbmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIzXCJcbiAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBQcmljZSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInBsYW4ucHJpY2VcIiBuYW1lPVwicHJpY2VcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IER1cmF0aW9uIERheXMgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwbGFuLmR1cmF0aW9uRGF5c1wiIG5hbWU9XCJkdXJhdGlvbkRheXNcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IEJvbnVzIHBvaW50cyA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInBsYW4uYm9udXNQb2ludHNcIiBuYW1lPVwiYm9udXNQb2ludHNcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgcC0yXCIgaTE4bj5CZW5lZml0czwvZGl2PlxuICAgICAgICBAZm9yIChpdGVtIG9mIGJlbmVmaXRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwidG9nZ2xlVmFsdWUoaXRlbSwgJGV2ZW50LmNoZWNrZWQpXCI+XG4gICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9zZWN0aW9uPlxuICA8ZGl2IGNsYXNzPVwicHktMlwiIGkxOG4+KiBpdGVtcyBhcmUgcmVxdWlyZWQ8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInctMjhcIiAoY2xpY2spPVwiY3JlYXRlKClcIiBpMThuPkNyZWF0ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, model, output } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/checkbox\";\nexport class MembershipPlanAddComponent {\n plan = model.required();\n benefits = model.required();\n output = output();\n select = output();\n selected = [];\n ngOnInit() {\n if (this.plan().benefits) {\n this.plan().benefits.forEach((item) => {\n this.selected.push(item.id);\n });\n console.log(this.selected);\n }\n }\n onSelect(item, checked) {\n if (checked) {\n this.selected.push(item.id);\n }\n else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1)\n this.selected.splice(index, 1);\n }\n this.plan.update((plan) => {\n plan.benefits = this.selected;\n return { ...plan };\n });\n }\n ngDoCheck() {\n const { name, description, price } = this.plan();\n const data = {\n name,\n description,\n price,\n };\n this.output.emit(data);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipPlanAddComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipPlanAddComponent, isStandalone: true, selector: \"rolatech-membership-plan-add\", inputs: { plan: { classPropertyName: \"plan\", publicName: \"plan\", isSignal: true, isRequired: true, transformFunction: null }, benefits: { classPropertyName: \"benefits\", publicName: \"benefits\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { plan: \"planChange\", benefits: \"benefitsChange\", output: \"output\", select: \"select\" }, ngImport: i0, template: \"<form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col px-2\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"plan().description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().price\\\" name=\\\"price\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Duration Days </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().durationDays\\\" name=\\\"durationDays\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Bonus points </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().bonusPoints\\\" name=\\\"bonusPoints\\\" required />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"text-xl font-bold p-2\\\" i18n>Benefits</div>\\n @for (item of benefits(); track $index) {\\n <mat-checkbox [checked]=\\\"selected.includes(item.id)\\\" (change)=\\\"onSelect(item, $event.checked)\\\" [checked]=\\\"\\\">\\n {{ item.title }}\\n </mat-checkbox>\\n }\\n </div>\\n</form>\\n\", styles: [\"\"], dependencies: [{ 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.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.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: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.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: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"ngmodule\", type: MatCheckboxModule }, { kind: \"component\", type: i5.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"aria-expanded\", \"aria-controls\", \"aria-owns\", \"id\", \"required\", \"labelPosition\", \"name\", \"value\", \"disableRipple\", \"tabIndex\", \"color\", \"disabledInteractive\", \"checked\", \"disabled\", \"indeterminate\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipPlanAddComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-plan-add', imports: [\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n MatCheckboxModule,\n ], template: \"<form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col px-2\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"plan().description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().price\\\" name=\\\"price\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Duration Days </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().durationDays\\\" name=\\\"durationDays\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Bonus points </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"plan().bonusPoints\\\" name=\\\"bonusPoints\\\" required />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"text-xl font-bold p-2\\\" i18n>Benefits</div>\\n @for (item of benefits(); track $index) {\\n <mat-checkbox [checked]=\\\"selected.includes(item.id)\\\" (change)=\\\"onSelect(item, $event.checked)\\\" [checked]=\\\"\\\">\\n {{ item.title }}\\n </mat-checkbox>\\n }\\n </div>\\n</form>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1wbGFuLWFkZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9jb21wb25lbnRzL21lbWJlcnNoaXAtcGxhbi1hZGQvbWVtYmVyc2hpcC1wbGFuLWFkZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9jb21wb25lbnRzL21lbWJlcnNoaXAtcGxhbi1hZGQvbWVtYmVyc2hpcC1wbGFuLWFkZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFrQjNELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWtCLENBQUM7SUFDeEMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7SUFDakQsTUFBTSxHQUFHLE1BQU0sRUFBTyxDQUFDO0lBQ3ZCLE1BQU0sR0FBRyxNQUFNLEVBQXFCLENBQUM7SUFDckMsUUFBUSxHQUFRLEVBQUUsQ0FBQztJQUNuQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRLENBQUMsSUFBdUIsRUFBRSxPQUFnQjtRQUNoRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlCLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFNBQVM7UUFDUCxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakQsTUFBTSxJQUFJLEdBQUc7WUFDWCxJQUFJO1lBQ0osV0FBVztZQUNYLEtBQUs7U0FDTixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzt1R0FsQ1UsMEJBQTBCOzJGQUExQiwwQkFBMEIseWJDMUJ2Qywwa0RBd0NBLHlERDFCSSxXQUFXLG93Q0FDWCxrQkFBa0IsMFNBQ2xCLGNBQWMsZ21CQUNkLGVBQWUsOEJBQ2YsZUFBZSw4QkFDZixlQUFlLDhCQUNmLGVBQWUsOEJBQ2YsaUJBQWlCOzsyRkFLUiwwQkFBMEI7a0JBZnRDLFNBQVM7K0JBQ0UsOEJBQThCLFdBQy9CO3dCQUNQLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRG9DaGVjaywgbW9kZWwsIE9uSW5pdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNZW1iZXJzaGlwQmVuZWZpdCwgTWVtYmVyc2hpcFBsYW4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbWJlcnNoaXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLXBsYW4tYWRkJyxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW1iZXJzaGlwLXBsYW4tYWRkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21lbWJlcnNoaXAtcGxhbi1hZGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1iZXJzaGlwUGxhbkFkZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjayB7XG4gIHBsYW4gPSBtb2RlbC5yZXF1aXJlZDxNZW1iZXJzaGlwUGxhbj4oKTtcbiAgYmVuZWZpdHMgPSBtb2RlbC5yZXF1aXJlZDxNZW1iZXJzaGlwQmVuZWZpdFtdPigpO1xuICBvdXRwdXQgPSBvdXRwdXQ8YW55PigpO1xuICBzZWxlY3QgPSBvdXRwdXQ8TWVtYmVyc2hpcEJlbmVmaXQ+KCk7XG4gIHNlbGVjdGVkOiBhbnkgPSBbXTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGxhbigpLmJlbmVmaXRzKSB7XG4gICAgICB0aGlzLnBsYW4oKS5iZW5lZml0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQucHVzaChpdGVtLmlkKTtcbiAgICAgIH0pO1xuICAgICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG4gIG9uU2VsZWN0KGl0ZW06IE1lbWJlcnNoaXBCZW5lZml0LCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQucHVzaChpdGVtLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkLmluZGV4T2YoaXRlbS5pZCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB0aGlzLnNlbGVjdGVkLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMucGxhbi51cGRhdGUoKHBsYW4pID0+IHtcbiAgICAgIHBsYW4uYmVuZWZpdHMgPSB0aGlzLnNlbGVjdGVkO1xuICAgICAgcmV0dXJuIHsgLi4ucGxhbiB9O1xuICAgIH0pO1xuICB9XG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hbWUsIGRlc2NyaXB0aW9uLCBwcmljZSB9ID0gdGhpcy5wbGFuKCk7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIHByaWNlLFxuICAgIH07XG4gICAgdGhpcy5vdXRwdXQuZW1pdChkYXRhKTtcbiAgfVxufVxuIiwiPGZvcm0gI3Byb2R1Y3RGb3JtPVwibmdGb3JtXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB4LTJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgIDxtYXQtbGFiZWwgaTE4bj4gTmFtZSA8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicGxhbigpLm5hbWVcIiBuYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgIDxtYXQtbGFiZWwgaTE4bj4gRGVzY3JpcHRpb24gPC9tYXQtbGFiZWw+XG4gICAgICA8dGV4dGFyZWFcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInBsYW4oKS5kZXNjcmlwdGlvblwiXG4gICAgICAgIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIHJlcXVpcmVkXG4gICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiM1wiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPG1hdC1sYWJlbCBpMThuPiBQcmljZSA8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicGxhbigpLnByaWNlXCIgbmFtZT1cInByaWNlXCIgcmVxdWlyZWQgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPG1hdC1sYWJlbCBpMThuPiBEdXJhdGlvbiBEYXlzIDwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwbGFuKCkuZHVyYXRpb25EYXlzXCIgbmFtZT1cImR1cmF0aW9uRGF5c1wiIHJlcXVpcmVkIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgIDxtYXQtbGFiZWwgaTE4bj4gQm9udXMgcG9pbnRzIDwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwbGFuKCkuYm9udXNQb2ludHNcIiBuYW1lPVwiYm9udXNQb2ludHNcIiByZXF1aXJlZCAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBwLTJcIiBpMThuPkJlbmVmaXRzPC9kaXY+XG4gICAgQGZvciAoaXRlbSBvZiBiZW5lZml0cygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwic2VsZWN0ZWQuaW5jbHVkZXMoaXRlbS5pZClcIiAoY2hhbmdlKT1cIm9uU2VsZWN0KGl0ZW0sICRldmVudC5jaGVja2VkKVwiIFtjaGVja2VkXT1cIlwiPlxuICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICB9XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MembershipPlanAddComponent } from '../../../components/membership-plan-add/membership-plan-add.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nexport class MembershipManagePlanDetailComponent extends BaseComponent {\n membershipService = inject(MembershipService);\n plan;\n benefits = [];\n selected = [];\n ngOnInit() {\n this.get();\n this.findBenefits();\n }\n get() {\n this.membershipService.getPlan(this.id).subscribe({\n next: (res) => {\n this.plan = res.data;\n },\n });\n }\n findBenefits() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.benefits = res.data;\n },\n });\n }\n toggleValue(item, checked) {\n if (checked) {\n this.selected.push(item.id);\n }\n else {\n const index = this.selected.indexOf(item.id);\n if (index !== -1)\n this.selected.splice(index, 1);\n }\n }\n update() {\n console.log(this.plan);\n this.membershipService.updatePlan(this.id, this.plan).subscribe({\n next: (res) => { },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManagePlanDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipManagePlanDetailComponent, isStandalone: true, selector: \"rolatech-membership-manage-plan-detail\", usesInheritance: true, ngImport: i0, template: \"<rolatech-toolbar title=\\\"Plan detail\\\" back>\\n <button mat-flat-button (click)=\\\"update()\\\">\\n <mat-icon>save</mat-icon>\\n <span i18n>Save</span>\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n @if (plan) {\\n <rolatech-membership-plan-add [plan]=\\\"plan\\\" [benefits]=\\\"benefits\\\"></rolatech-membership-plan-add>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { 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: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: MembershipPlanAddComponent, selector: \"rolatech-membership-plan-add\", inputs: [\"plan\", \"benefits\"], outputs: [\"planChange\", \"benefitsChange\", \"output\", \"select\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManagePlanDetailComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-plan-detail', imports: [CommonModule, ToolbarComponent, MatButtonModule, MatIconModule, MembershipPlanAddComponent], template: \"<rolatech-toolbar title=\\\"Plan detail\\\" back>\\n <button mat-flat-button (click)=\\\"update()\\\">\\n <mat-icon>save</mat-icon>\\n <span i18n>Save</span>\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n @if (plan) {\\n <rolatech-membership-plan-add [plan]=\\\"plan\\\" [benefits]=\\\"benefits\\\"></rolatech-membership-plan-add>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDOzs7O0FBUW5ILE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxhQUFhO0lBQ3BFLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBTTtJQUNWLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFRLEVBQUUsQ0FBQztJQUNuQixRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBUyxFQUFFLE9BQWdCO1FBQ3JDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU07UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM5RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFFLENBQUM7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FwQ1UsbUNBQW1DOzJGQUFuQyxtQ0FBbUMseUhDZGhELDRWQVdBLHlERERZLFlBQVksK0JBQUUsZ0JBQWdCLCtIQUFFLGVBQWUsbVhBQUUsYUFBYSxvTEFBRSwwQkFBMEI7OzJGQUl6RixtQ0FBbUM7a0JBTi9DLFNBQVM7K0JBQ0Usd0NBQXdDLFdBQ3pDLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFBsYW5BZGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL21lbWJlcnNoaXAtcGxhbi1hZGQvbWVtYmVyc2hpcC1wbGFuLWFkZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLW1hbmFnZS1wbGFuLWRldGFpbCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRvb2xiYXJDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWVtYmVyc2hpcFBsYW5BZGRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1kZXRhaWwuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1iZXJzaGlwTWFuYWdlUGxhbkRldGFpbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtZW1iZXJzaGlwU2VydmljZSA9IGluamVjdChNZW1iZXJzaGlwU2VydmljZSk7XG4gIHBsYW46IGFueTtcbiAgYmVuZWZpdHM6IGFueSA9IFtdO1xuICBzZWxlY3RlZDogYW55ID0gW107XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCk7XG4gICAgdGhpcy5maW5kQmVuZWZpdHMoKTtcbiAgfVxuICBnZXQoKSB7XG4gICAgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5nZXRQbGFuKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucGxhbiA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kQmVuZWZpdHMoKSB7XG4gICAgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5maW5kQmVuZWZpdHMoe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuYmVuZWZpdHMgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgdG9nZ2xlVmFsdWUoaXRlbTogYW55LCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQucHVzaChpdGVtLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkLmluZGV4T2YoaXRlbS5pZCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB0aGlzLnNlbGVjdGVkLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG4gIHVwZGF0ZSgpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnBsYW4pO1xuICAgIHRoaXMubWVtYmVyc2hpcFNlcnZpY2UudXBkYXRlUGxhbih0aGlzLmlkLCB0aGlzLnBsYW4pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7fSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCJQbGFuIGRldGFpbFwiIGJhY2s+XG4gIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJ1cGRhdGUoKVwiPlxuICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICA8c3BhbiBpMThuPlNhdmU8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9yb2xhdGVjaC10b29sYmFyPlxuPGRpdiBjbGFzcz1cInAtM1wiPlxuICBAaWYgKHBsYW4pIHtcbiAgICA8cm9sYXRlY2gtbWVtYmVyc2hpcC1wbGFuLWFkZCBbcGxhbl09XCJwbGFuXCIgW2JlbmVmaXRzXT1cImJlbmVmaXRzXCI+PC9yb2xhdGVjaC1tZW1iZXJzaGlwLXBsYW4tYWRkPlxuICB9XG48L2Rpdj5cbiJdfQ==","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class MembershipBenefitItemComponent {\n benefit = input.required();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipBenefitItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.3\", type: MembershipBenefitItemComponent, isStandalone: true, selector: \"rolatech-membership-benefit-item\", inputs: { benefit: { classPropertyName: \"benefit\", publicName: \"benefit\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>{{ benefit().title }}</div>\\n <div>{{ benefit().description }}</div>\\n</div>\\n<hr />\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipBenefitItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-benefit-item', imports: [CommonModule], template: \"<div class=\\\"flex items-center justify-between px-2 py-3 hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>{{ benefit().title }}</div>\\n <div>{{ benefit().description }}</div>\\n</div>\\n<hr />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1iZW5lZml0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvY29tcG9uZW50cy9tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbS9tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9jb21wb25lbnRzL21lbWJlcnNoaXAtYmVuZWZpdC1pdGVtL21lbWJlcnNoaXAtYmVuZWZpdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQzt1R0FEbkMsOEJBQThCOzJGQUE5Qiw4QkFBOEIscU9DVjNDLDhNQUtBLHlERENZLFlBQVk7OzJGQUlYLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSxrQ0FBa0MsV0FDbkMsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWVtYmVyc2hpcEJlbmVmaXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbWJlcnNoaXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbScsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVtYmVyc2hpcC1iZW5lZml0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1iZW5lZml0LWl0ZW0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1iZXJzaGlwQmVuZWZpdEl0ZW1Db21wb25lbnQge1xuICBiZW5lZml0ID0gaW5wdXQucmVxdWlyZWQ8TWVtYmVyc2hpcEJlbmVmaXQ+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB4LTIgcHktMyBob3ZlcjpiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gY3Vyc29yLXBvaW50ZXJcIj5cbiAgPGRpdj57eyBiZW5lZml0KCkudGl0bGUgfX08L2Rpdj5cbiAgPGRpdj57eyBiZW5lZml0KCkuZGVzY3JpcHRpb24gfX08L2Rpdj5cbjwvZGl2PlxuPGhyIC8+XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipBenefitItemComponent } from '../../../components/membership-benefit-item/membership-benefit-item.component';\nimport { MembershipService } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class MembershipManageBenefitIndexComponent {\n membershipService = inject(MembershipService);\n data;\n ngOnInit() {\n this.find();\n }\n find() {\n this.membershipService.findBenefits({}).subscribe({\n next: (res) => {\n this.data = res.data;\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageBenefitIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: MembershipManageBenefitIndexComponent, isStandalone: true, selector: \"rolatech-membership-manage-benefit-index\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Membership benefits\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add benefit</span>\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <div class=\\\"flex justify-between items-center text-lg font-bold p-2\\\">\\n <div i18n>Title</div>\\n <div i18n>Description</div>\\n </div>\\n @for (item of data; track $index) {\\n <rolatech-membership-benefit-item [benefit]=\\\"item\\\" [routerLink]=\\\"['./', item.id]\\\"></rolatech-membership-benefit-item>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { 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: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: MembershipBenefitItemComponent, selector: \"rolatech-membership-benefit-item\", inputs: [\"benefit\"] }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageBenefitIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-benefit-index', imports: [CommonModule, MatButtonModule, MatIcon, ToolbarComponent, MembershipBenefitItemComponent, RouterLink], template: \"<rolatech-toolbar title=\\\"Membership benefits\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add benefit</span>\\n </button>\\n</rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <div class=\\\"flex justify-between items-center text-lg font-bold p-2\\\">\\n <div i18n>Title</div>\\n <div i18n>Description</div>\\n </div>\\n @for (item of data; track $index) {\\n <rolatech-membership-benefit-item [benefit]=\\\"item\\\" [routerLink]=\\\"['./', item.id]\\\"></rolatech-membership-benefit-item>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1pbmRleC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLW1lbWJlcnNoaXAvc3JjL2xpYi9wYWdlcy9tZW1iZXJzaGlwLW1hbmFnZS9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWluZGV4L21lbWJlcnNoaXAtbWFuYWdlLWJlbmVmaXQtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1pbmRleC9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWluZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUTdDLE1BQU0sT0FBTyxxQ0FBcUM7SUFDaEQsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFNO0lBQ1YsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEQsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQVpVLHFDQUFxQzsyRkFBckMscUNBQXFDLG9HQ2ZsRCxvaUJBZUEseURESlksWUFBWSw4QkFBRSxlQUFlLG9YQUFFLE9BQU8sMklBQUUsZ0JBQWdCLGdJQUFFLDhCQUE4QixrR0FBRSxVQUFVOzsyRkFJbkcscUNBQXFDO2tCQU5qRCxTQUFTOytCQUNFLDBDQUEwQyxXQUMzQyxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcEJlbmVmaXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbS9tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1pbmRleCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbiwgVG9vbGJhckNvbXBvbmVudCwgTWVtYmVyc2hpcEJlbmVmaXRJdGVtQ29tcG9uZW50LCBSb3V0ZXJMaW5rXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbWJlcnNoaXAtbWFuYWdlLWJlbmVmaXQtaW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1pbmRleC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE1lbWJlcnNoaXBNYW5hZ2VCZW5lZml0SW5kZXhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtZW1iZXJzaGlwU2VydmljZSA9IGluamVjdChNZW1iZXJzaGlwU2VydmljZSk7XG4gIGRhdGE6IGFueTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kKCk7XG4gIH1cbiAgZmluZCgpIHtcbiAgICB0aGlzLm1lbWJlcnNoaXBTZXJ2aWNlLmZpbmRCZW5lZml0cyh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIk1lbWJlcnNoaXAgYmVuZWZpdHNcIj5cbiAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gcm91dGVyTGluaz1cIi4vY3JlYXRlXCI+XG4gICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgPHNwYW4gaTE4bj5BZGQgYmVuZWZpdDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L3JvbGF0ZWNoLXRvb2xiYXI+XG48ZGl2IGNsYXNzPVwicC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgdGV4dC1sZyBmb250LWJvbGQgcC0yXCI+XG4gICAgPGRpdiBpMThuPlRpdGxlPC9kaXY+XG4gICAgPGRpdiBpMThuPkRlc2NyaXB0aW9uPC9kaXY+XG4gIDwvZGl2PlxuICBAZm9yIChpdGVtIG9mIGRhdGE7IHRyYWNrICRpbmRleCkge1xuICAgIDxyb2xhdGVjaC1tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbSBbYmVuZWZpdF09XCJpdGVtXCIgW3JvdXRlckxpbmtdPVwiWycuLycsIGl0ZW0uaWRdXCI+PC9yb2xhdGVjaC1tZW1iZXJzaGlwLWJlbmVmaXQtaXRlbT5cbiAgfVxuPC9kaXY+XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { MembershipService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/button\";\nexport class MembershipManageBenefitCreateComponent {\n membershipService = inject(MembershipService);\n router = inject(Router);\n route = inject(ActivatedRoute);\n snackBar = inject(MatSnackBar);\n benefit = {};\n create() {\n const data = {\n ...this.benefit,\n };\n this.membershipService.addBenefit(data).subscribe({\n next: (res) => {\n this.router.navigate([`../`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageBenefitCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: MembershipManageBenefitCreateComponent, isStandalone: true, selector: \"rolatech-membership-manage-benefit-create\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Add Benefit\\\"></rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Title </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"benefit.title\\\" name=\\\"title\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"benefit.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Sort order </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"benefit.sortOrder\\\" name=\\\"sortOrder\\\" required />\\n </mat-form-field>\\n </div>\\n </form>\\n </section>\\n <div i18n>* items are required</div>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { 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.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.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: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.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: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i5.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\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageBenefitCreateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-benefit-create', imports: [\n CommonModule,\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ], template: \"<rolatech-toolbar title=\\\"Add Benefit\\\"></rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Title </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"benefit.title\\\" name=\\\"title\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"benefit.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Sort order </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"benefit.sortOrder\\\" name=\\\"sortOrder\\\" required />\\n </mat-form-field>\\n </div>\\n </form>\\n </section>\\n <div i18n>* items are required</div>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBa0IvRCxNQUFNLE9BQU8sc0NBQXNDO0lBQ3pDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sR0FBUSxFQUFFLENBQUM7SUFDbEIsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHO1lBQ1gsR0FBRyxJQUFJLENBQUMsT0FBTztTQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEQsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUN2QixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXBCVSxzQ0FBc0M7MkZBQXRDLHNDQUFzQyxxR0M5Qm5ELHdzQ0FpQ0EseUREaEJJLFlBQVksK0JBQ1osZ0JBQWdCLCtIQUNoQixXQUFXLG93Q0FDWCxrQkFBa0IsMFNBQ2xCLGNBQWMsZ21CQUNkLGVBQWUsOEJBQ2YsZUFBZSw4QkFDZixlQUFlLDhCQUNmLGVBQWU7OzJGQUtOLHNDQUFzQztrQkFoQmxELFNBQVM7K0JBQ0UsMkNBQTJDLFdBQzVDO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW1lbWJlcnNoaXAtbWFuYWdlLWJlbmVmaXQtY3JlYXRlJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWNyZWF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWNyZWF0ZS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE1lbWJlcnNoaXBNYW5hZ2VCZW5lZml0Q3JlYXRlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBtZW1iZXJzaGlwU2VydmljZSA9IGluamVjdChNZW1iZXJzaGlwU2VydmljZSk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgYmVuZWZpdDogYW55ID0ge307XG4gIGNyZWF0ZSgpIHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgLi4udGhpcy5iZW5lZml0LFxuICAgIH07XG4gICAgdGhpcy5tZW1iZXJzaGlwU2VydmljZS5hZGRCZW5lZml0KGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi4vYF0sIHtcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGUubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIkFkZCBCZW5lZml0XCI+PC9yb2xhdGVjaC10b29sYmFyPlxuPGRpdiBjbGFzcz1cInAtM1wiPlxuICA8c2VjdGlvbj5cbiAgICA8Zm9ybSAjcHJvZHVjdEZvcm09XCJuZ0Zvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gVGl0bGUgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJiZW5lZml0LnRpdGxlXCIgbmFtZT1cInRpdGxlXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBEZXNjcmlwdGlvbiA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImJlbmVmaXQuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgbmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIzXCJcbiAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBTb3J0IG9yZGVyIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiYmVuZWZpdC5zb3J0T3JkZXJcIiBuYW1lPVwic29ydE9yZGVyXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9zZWN0aW9uPlxuICA8ZGl2IGkxOG4+KiBpdGVtcyBhcmUgcmVxdWlyZWQ8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInctMjhcIiAoY2xpY2spPVwiY3JlYXRlKClcIiBpMThuPkNyZWF0ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class MembershipManageBenefitDetailComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageBenefitDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: MembershipManageBenefitDetailComponent, isStandalone: true, selector: \"rolatech-membership-manage-benefit-detail\", ngImport: i0, template: \"<p>membership-manage-benefit-detail works!</p>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MembershipManageBenefitDetailComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-membership-manage-benefit-detail', imports: [CommonModule], template: \"<p>membership-manage-benefit-detail works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUS9DLE1BQU0sT0FBTyxzQ0FBc0M7dUdBQXRDLHNDQUFzQzsyRkFBdEMsc0NBQXNDLHFHQ1RuRCxrREFDQSx5RERJWSxZQUFZOzsyRkFJWCxzQ0FBc0M7a0JBTmxELFNBQVM7K0JBQ0UsMkNBQTJDLFdBQzVDLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWRldGFpbCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW1iZXJzaGlwTWFuYWdlQmVuZWZpdERldGFpbENvbXBvbmVudCB7fVxuIiwiPHA+bWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1kZXRhaWwgd29ya3MhPC9wPlxuIl19","import { MembershipManageIndexComponent } from './membership-manage-index/membership-manage-index.component';\nimport { MembershipManagePlanIndexComponent } from './membership-manage-plan-index/membership-manage-plan-index.component';\nimport { MembershipManagePlanCreateComponent } from './membership-manage-plan-create/membership-manage-plan-create.component';\nimport { MembershipManagePlanDetailComponent } from './membership-manage-plan-detail/membership-manage-plan-detail.component';\nimport { MembershipManageBenefitIndexComponent } from './membership-manage-benefit-index/membership-manage-benefit-index.component';\nimport { MembershipManageBenefitCreateComponent } from './membership-manage-benefit-create/membership-manage-benefit-create.component';\nimport { MembershipManageBenefitDetailComponent } from './membership-manage-benefit-detail/membership-manage-benefit-detail.component';\nexport const membershipManageRoutes = [\n {\n path: '',\n component: MembershipManageIndexComponent,\n },\n {\n path: 'plans',\n component: MembershipManagePlanIndexComponent,\n },\n {\n path: 'plans/create',\n component: MembershipManagePlanCreateComponent,\n },\n {\n path: 'plans/:id',\n component: MembershipManagePlanDetailComponent,\n },\n {\n path: 'benefits',\n component: MembershipManageBenefitIndexComponent,\n },\n {\n path: 'benefits/create',\n component: MembershipManageBenefitCreateComponent,\n },\n {\n path: 'benefits/:id',\n component: MembershipManageBenefitDetailComponent,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcC1tYW5hZ2Uucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9saWIvcGFnZXMvbWVtYmVyc2hpcC1tYW5hZ2UvbWVtYmVyc2hpcC1tYW5hZ2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBRXZJLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFXO0lBQzVDO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsOEJBQThCO0tBQzFDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxrQ0FBa0M7S0FDOUM7SUFDRDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLFNBQVMsRUFBRSxtQ0FBbUM7S0FDL0M7SUFDRDtRQUNFLElBQUksRUFBRSxXQUFXO1FBQ2pCLFNBQVMsRUFBRSxtQ0FBbUM7S0FDL0M7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLFNBQVMsRUFBRSxxQ0FBcUM7S0FDakQ7SUFDRDtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsU0FBUyxFQUFFLHNDQUFzQztLQUNsRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsU0FBUyxFQUFFLHNDQUFzQztLQUNsRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVtYmVyc2hpcE1hbmFnZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9tZW1iZXJzaGlwLW1hbmFnZS1pbmRleC9tZW1iZXJzaGlwLW1hbmFnZS1pbmRleC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcE1hbmFnZVBsYW5JbmRleENvbXBvbmVudCB9IGZyb20gJy4vbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1pbmRleC9tZW1iZXJzaGlwLW1hbmFnZS1wbGFuLWluZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW1iZXJzaGlwTWFuYWdlUGxhbkNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4vbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUvbWVtYmVyc2hpcC1tYW5hZ2UtcGxhbi1jcmVhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1lbWJlcnNoaXBNYW5hZ2VQbGFuRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9tZW1iZXJzaGlwLW1hbmFnZS1wbGFuLWRldGFpbC9tZW1iZXJzaGlwLW1hbmFnZS1wbGFuLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVtYmVyc2hpcE1hbmFnZUJlbmVmaXRJbmRleENvbXBvbmVudCB9IGZyb20gJy4vbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1pbmRleC9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWluZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW1iZXJzaGlwTWFuYWdlQmVuZWZpdENyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4vbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUvbWVtYmVyc2hpcC1tYW5hZ2UtYmVuZWZpdC1jcmVhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1lbWJlcnNoaXBNYW5hZ2VCZW5lZml0RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWRldGFpbC9tZW1iZXJzaGlwLW1hbmFnZS1iZW5lZml0LWRldGFpbC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgbWVtYmVyc2hpcE1hbmFnZVJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBNZW1iZXJzaGlwTWFuYWdlSW5kZXhDb21wb25lbnQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAncGxhbnMnLFxuICAgIGNvbXBvbmVudDogTWVtYmVyc2hpcE1hbmFnZVBsYW5JbmRleENvbXBvbmVudCxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdwbGFucy9jcmVhdGUnLFxuICAgIGNvbXBvbmVudDogTWVtYmVyc2hpcE1hbmFnZVBsYW5DcmVhdGVDb21wb25lbnQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAncGxhbnMvOmlkJyxcbiAgICBjb21wb25lbnQ6IE1lbWJlcnNoaXBNYW5hZ2VQbGFuRGV0YWlsQ29tcG9uZW50LFxuICB9LFxuICB7XG4gICAgcGF0aDogJ2JlbmVmaXRzJyxcbiAgICBjb21wb25lbnQ6IE1lbWJlcnNoaXBNYW5hZ2VCZW5lZml0SW5kZXhDb21wb25lbnQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnYmVuZWZpdHMvY3JlYXRlJyxcbiAgICBjb21wb25lbnQ6IE1lbWJlcnNoaXBNYW5hZ2VCZW5lZml0Q3JlYXRlQ29tcG9uZW50LFxuICB9LFxuICB7XG4gICAgcGF0aDogJ2JlbmVmaXRzLzppZCcsXG4gICAgY29tcG9uZW50OiBNZW1iZXJzaGlwTWFuYWdlQmVuZWZpdERldGFpbENvbXBvbmVudCxcbiAgfSxcbl07XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1tZW1iZXJzaGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1tZW1iZXJzaGlwL3NyYy9yb2xhdGVjaC1hbmd1bGFyLW1lbWJlcnNoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i5","i2"],"mappings":"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"}
|
package/index.d.ts
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rolatech/angular-membership",
|
|
3
|
+
"version": "19.1.0-beta.3",
|
|
4
|
+
"private": false,
|
|
5
|
+
"peerDependencies": {
|
|
6
|
+
"@angular/common": "^19.2.0",
|
|
7
|
+
"@angular/core": "^19.2.0"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@rolatech/angular-common": "19.1.0-beta.3",
|
|
11
|
+
"@rolatech/angular-components": "19.1.0-beta.3",
|
|
12
|
+
"@rolatech/angular-services": "19.1.0-beta.3",
|
|
13
|
+
"tslib": "^2.3.0"
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false,
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/viablecell/rolatech-web.git"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"module": "fesm2022/rolatech-angular-membership.mjs",
|
|
25
|
+
"typings": "index.d.ts",
|
|
26
|
+
"exports": {
|
|
27
|
+
"./package.json": {
|
|
28
|
+
"default": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./index.d.ts",
|
|
32
|
+
"default": "./fesm2022/rolatech-angular-membership.mjs"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|