ngx-cho-components 1.0.0 → 2.0.0
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 +7 -29
- package/fesm2022/ngx-cho-components.mjs +38 -48
- package/fesm2022/ngx-cho-components.mjs.map +1 -1
- package/package.json +4 -6
- package/esm2022/lib/cho-address-info.component.mjs +0 -37
- package/esm2022/lib/cho-card-filters.component.mjs +0 -18
- package/esm2022/lib/cho-card-header.component.mjs +0 -55
- package/esm2022/lib/cho-card-tabs.component.mjs +0 -63
- package/esm2022/lib/cho-card-toolbar.component.mjs +0 -18
- package/esm2022/lib/cho-card.component.mjs +0 -123
- package/esm2022/lib/cho-details-card.component.mjs +0 -52
- package/esm2022/lib/cho-email-info.component.mjs +0 -36
- package/esm2022/lib/cho-phone-info.component.mjs +0 -29
- package/esm2022/lib/cho-radio-group.component.mjs +0 -70
- package/esm2022/lib/cho-review-status-alert.component.mjs +0 -31
- package/esm2022/lib/index.mjs +0 -12
- package/esm2022/ngx-cho-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -5
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# NgxChoComponents
|
|
2
2
|
|
|
3
|
-
This library provides reusable Angular components for CHO applications
|
|
3
|
+
This library provides reusable Angular components for CHO applications.
|
|
4
4
|
|
|
5
|
-
Generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
5
|
+
Generated with [Angular CLI](https://github.com/angular/angular-cli) version 19.2.26.
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
@@ -56,21 +56,7 @@ ng generate service service-name --project ngx-cho-components
|
|
|
56
56
|
|
|
57
57
|
> Note: Always include `--project ngx-cho-components` or the component will be added to the default project.
|
|
58
58
|
|
|
59
|
-
###
|
|
60
|
-
|
|
61
|
-
This library includes Storybook for component development and documentation:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
# Start Storybook development server
|
|
65
|
-
ng run ngx-cho-components:storybook
|
|
66
|
-
|
|
67
|
-
# Build Storybook for deployment
|
|
68
|
-
ng run ngx-cho-components:build-storybook
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Storybook will be available at `http://localhost:6006`
|
|
72
|
-
|
|
73
|
-
### Running Tests
|
|
59
|
+
### Running Tests
|
|
74
60
|
|
|
75
61
|
```bash
|
|
76
62
|
ng test ngx-cho-components
|
|
@@ -119,15 +105,7 @@ Use components in your templates:
|
|
|
119
105
|
|
|
120
106
|
Components are framework-neutral and do not require Bootstrap. Applications should provide their own layout, dialog, and theme styling.
|
|
121
107
|
|
|
122
|
-
##
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
2. Navigate to `http://localhost:6006`
|
|
127
|
-
3. Browse component stories and interact with examples
|
|
128
|
-
|
|
129
|
-
## Further Help
|
|
130
|
-
|
|
131
|
-
- [Angular CLI Overview and Command Reference](https://angular.io/cli)
|
|
132
|
-
- [Storybook for Angular](https://storybook.js.org/docs/angular/get-started/introduction)
|
|
133
|
-
- [Angular Library Development Guide](https://angular.io/guide/creating-libraries)
|
|
108
|
+
## Further Help
|
|
109
|
+
|
|
110
|
+
- [Angular CLI Overview and Command Reference](https://angular.io/cli)
|
|
111
|
+
- [Angular Library Development Guide](https://angular.io/guide/creating-libraries)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Input, Component, ChangeDetectionStrategy, input, inject, output, viewChild, computed, signal, effect, ContentChild, EventEmitter, Output } from '@angular/core';
|
|
3
3
|
import { TitleCasePipe, NgIf, NgTemplateOutlet, NgFor, DatePipe } from '@angular/common';
|
|
4
4
|
import { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
@@ -7,8 +7,8 @@ import * as i1$1 from '@angular/forms';
|
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
|
|
9
9
|
class ChoAddressInfoComponent {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoAddressInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoAddressInfoComponent, isStandalone: true, selector: "cho-address-info", inputs: { address: "address" }, ngImport: i0, template: `<p *ngIf="address.addressLine1" class="m-0">
|
|
12
12
|
{{ address.addressLine1 | titlecase }}
|
|
13
13
|
</p>
|
|
14
14
|
<p *ngIf="address.addressLine2" class="m-0">
|
|
@@ -19,7 +19,7 @@ class ChoAddressInfoComponent {
|
|
|
19
19
|
{{ address.postalCode }}
|
|
20
20
|
</p> `, isInline: true, dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoAddressInfoComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: 'cho-address-info',
|
|
@@ -33,7 +33,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
33
33
|
{{ address.city | titlecase }}, {{ address.stateProvinceCode }}
|
|
34
34
|
{{ address.postalCode }}
|
|
35
35
|
</p> `,
|
|
36
|
-
standalone: true,
|
|
37
36
|
imports: [TitleCasePipe, NgIf],
|
|
38
37
|
}]
|
|
39
38
|
}], propDecorators: { address: [{
|
|
@@ -41,14 +40,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
41
40
|
}] } });
|
|
42
41
|
|
|
43
42
|
class ChoCardFiltersComponent {
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoCardFiltersComponent, isStandalone: true, selector: "cho-card-filters", host: { classAttribute: "card-filters" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
45
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
|
|
48
47
|
type: Component,
|
|
49
48
|
args: [{
|
|
50
49
|
selector: 'cho-card-filters',
|
|
51
|
-
standalone: true,
|
|
52
50
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
53
51
|
imports: [],
|
|
54
52
|
host: { class: 'card-filters' },
|
|
@@ -57,14 +55,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
57
55
|
}] });
|
|
58
56
|
|
|
59
57
|
class ChoCardToolbarComponent {
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoCardToolbarComponent, isStandalone: true, selector: "cho-card-toolbar", host: { classAttribute: "card-toolbar" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
62
60
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardToolbarComponent, decorators: [{
|
|
64
62
|
type: Component,
|
|
65
63
|
args: [{
|
|
66
64
|
selector: 'cho-card-toolbar',
|
|
67
|
-
standalone: true,
|
|
68
65
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
69
66
|
imports: [],
|
|
70
67
|
host: { class: 'card-toolbar' },
|
|
@@ -77,8 +74,8 @@ class ChoCardHeaderComponent {
|
|
|
77
74
|
this.headerText = input();
|
|
78
75
|
this.toolbar = input();
|
|
79
76
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.24", type: ChoCardHeaderComponent, isStandalone: true, selector: "cho-card-header", inputs: { headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
82
79
|
<div class="card-header">
|
|
83
80
|
<h3 class="card-title">
|
|
84
81
|
@if (headerText()) {
|
|
@@ -96,11 +93,10 @@ class ChoCardHeaderComponent {
|
|
|
96
93
|
</div>
|
|
97
94
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChoCardToolbarComponent, selector: "cho-card-toolbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
95
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardHeaderComponent, decorators: [{
|
|
100
97
|
type: Component,
|
|
101
98
|
args: [{
|
|
102
99
|
selector: 'cho-card-header',
|
|
103
|
-
standalone: true,
|
|
104
100
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
105
101
|
imports: [NgTemplateOutlet, ChoCardToolbarComponent],
|
|
106
102
|
template: `
|
|
@@ -141,8 +137,8 @@ class ChoCardTabsComponent {
|
|
|
141
137
|
});
|
|
142
138
|
this.tabSelect.emit(this.activeTab);
|
|
143
139
|
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.24", type: ChoCardTabsComponent, isStandalone: true, selector: "cho-card-tabs", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, ngImport: i0, template: `
|
|
146
142
|
<div class="card-tabs">
|
|
147
143
|
<ul>
|
|
148
144
|
@for (tab of tabs(); track tab.value) {
|
|
@@ -158,11 +154,10 @@ class ChoCardTabsComponent {
|
|
|
158
154
|
</div>
|
|
159
155
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
160
156
|
}
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardTabsComponent, decorators: [{
|
|
162
158
|
type: Component,
|
|
163
159
|
args: [{
|
|
164
160
|
selector: 'cho-card-tabs',
|
|
165
|
-
standalone: true,
|
|
166
161
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
167
162
|
imports: [],
|
|
168
163
|
template: `
|
|
@@ -217,8 +212,8 @@ class ChoCardComponent {
|
|
|
217
212
|
this._hasProjectedContent.set(hasRealContent);
|
|
218
213
|
}
|
|
219
214
|
}
|
|
220
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
221
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
216
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.24", type: ChoCardComponent, isStandalone: true, selector: "cho-card", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
222
217
|
<div class="card mb-3">
|
|
223
218
|
@if (hasHeader()) {
|
|
224
219
|
<cho-card-header [toolbar]="toolbar()" [headerText]="headerText()">
|
|
@@ -251,11 +246,10 @@ class ChoCardComponent {
|
|
|
251
246
|
</div>
|
|
252
247
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChoCardHeaderComponent, selector: "cho-card-header", inputs: ["headerText", "toolbar"] }, { kind: "component", type: ChoCardToolbarComponent, selector: "cho-card-toolbar" }, { kind: "component", type: ChoCardFiltersComponent, selector: "cho-card-filters" }, { kind: "component", type: ChoCardTabsComponent, selector: "cho-card-tabs", inputs: ["tabs"], outputs: ["tabSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
253
248
|
}
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardComponent, decorators: [{
|
|
255
250
|
type: Component,
|
|
256
251
|
args: [{
|
|
257
252
|
selector: 'cho-card',
|
|
258
|
-
standalone: true,
|
|
259
253
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
260
254
|
imports: [
|
|
261
255
|
NgTemplateOutlet,
|
|
@@ -304,8 +298,8 @@ class ChoDetailsCardComponent {
|
|
|
304
298
|
this.cardTitle = '';
|
|
305
299
|
this.toolbar = null;
|
|
306
300
|
}
|
|
307
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
308
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
301
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoDetailsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
302
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoDetailsCardComponent, isStandalone: true, selector: "cho-details-card", inputs: { cardTitle: "cardTitle" }, queries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: `
|
|
309
303
|
<div class="card mb-3">
|
|
310
304
|
<div class="card-header">
|
|
311
305
|
<h3 class="card-title">{{ cardTitle }}</h3>
|
|
@@ -321,7 +315,7 @@ class ChoDetailsCardComponent {
|
|
|
321
315
|
</div>
|
|
322
316
|
`, isInline: true }); }
|
|
323
317
|
}
|
|
324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoDetailsCardComponent, decorators: [{
|
|
325
319
|
type: Component,
|
|
326
320
|
args: [{
|
|
327
321
|
selector: 'cho-details-card',
|
|
@@ -356,15 +350,15 @@ class ChoEmailInfoComponent {
|
|
|
356
350
|
? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)
|
|
357
351
|
: '';
|
|
358
352
|
}
|
|
359
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
360
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
353
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoEmailInfoComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
354
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoEmailInfoComponent, isStandalone: true, selector: "cho-email-info", inputs: { email: "email" }, ngImport: i0, template: `<ng-container *ngIf="email; else empty"
|
|
361
355
|
><span *ngIf="email.emailTypeCode">{{ email.emailTypeCode[0] }}: </span>
|
|
362
356
|
<a [href]="sanitizedEmailLink">{{ email.emailAddress }}</a>
|
|
363
357
|
<small *ngIf="email.description"> ({{ email.description }})</small></ng-container
|
|
364
358
|
>
|
|
365
359
|
<ng-template #empty><span>--</span></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
366
360
|
}
|
|
367
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoEmailInfoComponent, decorators: [{
|
|
368
362
|
type: Component,
|
|
369
363
|
args: [{
|
|
370
364
|
selector: 'cho-email-info',
|
|
@@ -374,7 +368,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
374
368
|
<small *ngIf="email.description"> ({{ email.description }})</small></ng-container
|
|
375
369
|
>
|
|
376
370
|
<ng-template #empty><span>--</span></ng-template>`,
|
|
377
|
-
standalone: true,
|
|
378
371
|
imports: [NgIf],
|
|
379
372
|
}]
|
|
380
373
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { email: [{
|
|
@@ -382,15 +375,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
382
375
|
}] } });
|
|
383
376
|
|
|
384
377
|
class ChoPhoneInfoComponent {
|
|
385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
386
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
378
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoPhoneInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
379
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoPhoneInfoComponent, isStandalone: true, selector: "cho-phone-info", inputs: { phone: "phone" }, ngImport: i0, template: ` <ng-container *ngIf="phone; else empty"
|
|
387
380
|
><span *ngIf="phone.phoneTypeCode">{{ phone.phoneTypeCode[0] }}: </span>
|
|
388
381
|
{{ phone.phoneNumber }}
|
|
389
382
|
<small *ngIf="phone.description"> ({{ phone.description }})</small></ng-container
|
|
390
383
|
>
|
|
391
384
|
<ng-template #empty><span>--</span></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
392
385
|
}
|
|
393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
386
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoPhoneInfoComponent, decorators: [{
|
|
394
387
|
type: Component,
|
|
395
388
|
args: [{
|
|
396
389
|
selector: 'cho-phone-info',
|
|
@@ -400,7 +393,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
400
393
|
<small *ngIf="phone.description"> ({{ phone.description }})</small></ng-container
|
|
401
394
|
>
|
|
402
395
|
<ng-template #empty><span>--</span></ng-template>`,
|
|
403
|
-
standalone: true,
|
|
404
396
|
imports: [NgIf],
|
|
405
397
|
}]
|
|
406
398
|
}], propDecorators: { phone: [{
|
|
@@ -421,8 +413,8 @@ class ChoRadioGroupComponent {
|
|
|
421
413
|
this.selectionChange.emit(this.selectedOption);
|
|
422
414
|
}
|
|
423
415
|
}
|
|
424
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
425
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
416
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
417
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoRadioGroupComponent, isStandalone: true, selector: "cho-radio-group", inputs: { label: "label", options: "options", groupName: "groupName", defaultValue: "defaultValue" }, outputs: { selectionChange: "selectionChange" }, ngImport: i0, template: `
|
|
426
418
|
<div>
|
|
427
419
|
<label class="form-label">{{ label }}</label>
|
|
428
420
|
<div *ngFor="let option of options" class="form-check form-check-inline">
|
|
@@ -438,7 +430,7 @@ class ChoRadioGroupComponent {
|
|
|
438
430
|
</div>
|
|
439
431
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { 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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
440
432
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
433
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoRadioGroupComponent, decorators: [{
|
|
442
434
|
type: Component,
|
|
443
435
|
args: [{
|
|
444
436
|
selector: 'cho-radio-group',
|
|
@@ -457,7 +449,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
457
449
|
</div>
|
|
458
450
|
</div>
|
|
459
451
|
`,
|
|
460
|
-
standalone: true,
|
|
461
452
|
imports: [NgFor, FormsModule],
|
|
462
453
|
}]
|
|
463
454
|
}], propDecorators: { label: [{
|
|
@@ -473,25 +464,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
473
464
|
}] } });
|
|
474
465
|
|
|
475
466
|
class ChoReviewStatusAlertComponent {
|
|
476
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
467
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoReviewStatusAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
468
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.24", type: ChoReviewStatusAlertComponent, isStandalone: true, selector: "cho-review-status-alert", inputs: { reviewedBy: "reviewedBy", reviewedDateTime: "reviewedDateTime" }, ngImport: i0, template: `
|
|
478
469
|
<div class="alert alert-info" *ngIf="reviewedDateTime">
|
|
479
|
-
Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date
|
|
480
|
-
{{ reviewedDateTime | date
|
|
470
|
+
Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date: 'shortDate' }} at
|
|
471
|
+
{{ reviewedDateTime | date: 'shortTime' }}.
|
|
481
472
|
</div>
|
|
482
473
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
|
|
483
474
|
}
|
|
484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoReviewStatusAlertComponent, decorators: [{
|
|
485
476
|
type: Component,
|
|
486
477
|
args: [{
|
|
487
478
|
selector: 'cho-review-status-alert',
|
|
488
479
|
template: `
|
|
489
480
|
<div class="alert alert-info" *ngIf="reviewedDateTime">
|
|
490
|
-
Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date
|
|
491
|
-
{{ reviewedDateTime | date
|
|
481
|
+
Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date: 'shortDate' }} at
|
|
482
|
+
{{ reviewedDateTime | date: 'shortTime' }}.
|
|
492
483
|
</div>
|
|
493
484
|
`,
|
|
494
|
-
standalone: true,
|
|
495
485
|
imports: [NgIf, DatePipe],
|
|
496
486
|
}]
|
|
497
487
|
}], propDecorators: { reviewedBy: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-cho-components.mjs","sources":["../../../projects/ngx-cho-components/src/lib/cho-address-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-filters.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-toolbar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-header.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-tabs.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-details-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-email-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-phone-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-radio-group.component.ts","../../../projects/ngx-cho-components/src/lib/cho-review-status-alert.component.ts","../../../projects/ngx-cho-components/src/public-api.ts","../../../projects/ngx-cho-components/src/ngx-cho-components.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { IAddress } from 'ngx-cho-common';\r\nimport { NgIf, TitleCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cho-address-info',\r\n template: `<p *ngIf=\"address.addressLine1\" class=\"m-0\">\r\n {{ address.addressLine1 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.addressLine2\" class=\"m-0\">\r\n {{ address.addressLine2 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.city\" class=\"m-0\">\r\n {{ address.city | titlecase }}, {{ address.stateProvinceCode }}\r\n {{ address.postalCode }}\r\n </p> `,\r\n standalone: true,\r\n imports: [TitleCasePipe, NgIf],\r\n})\r\nexport class ChoAddressInfoComponent {\r\n @Input() address!: IAddress;\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-filters',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-filters' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardFiltersComponent {}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-toolbar',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-toolbar' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardToolbarComponent {}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\n\r\n@Component({\r\n selector: 'cho-card-header',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [NgTemplateOutlet, ChoCardToolbarComponent],\r\n template: `\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">\r\n @if (headerText()) {\r\n {{ headerText() }}\r\n } @else {\r\n <ng-content />\r\n }\r\n </h3>\r\n\r\n @if (toolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardHeaderComponent {\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any> | null>();\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, input, OnInit, output } from '@angular/core';\r\nimport { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-card-tabs',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n template: `\r\n <div class=\"card-tabs\">\r\n <ul>\r\n @for (tab of tabs(); track tab.value) {\r\n <li (click)=\"onSelect(tab.value)\">\r\n <a\r\n class=\"nav-link text-active-primary\"\r\n [class.active]=\"activeTab === tab.value\">\r\n {{ tab.label }}\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardTabsComponent implements OnInit {\r\n private readonly navigationService = inject(ChoNavigationService);\r\n private readonly routeParamService = inject(ChoRouteParamService);\r\n\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n tabSelect = output<string>();\r\n\r\n activeTab: string | undefined;\r\n\r\n ngOnInit(): void {\r\n this.activeTab = this.routeParamService.getQueryParameterValue('vw') || '';\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n\r\n onSelect(tabValue: string): void {\r\n this.activeTab = tabValue;\r\n\r\n this.navigationService.setQueryParams({\r\n vw: tabValue ? tabValue : null,\r\n });\r\n\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChoCardFiltersComponent } from './cho-card-filters.component';\r\nimport { ChoCardHeaderComponent } from './cho-card-header.component';\r\nimport { ChoCardTabsComponent } from './cho-card-tabs.component';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n computed,\r\n ElementRef,\r\n effect,\r\n viewChild,\r\n signal,\r\n input,\r\n TemplateRef,\r\n output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgTemplateOutlet,\r\n ChoCardHeaderComponent,\r\n ChoCardToolbarComponent,\r\n ChoCardFiltersComponent,\r\n ChoCardTabsComponent,\r\n ],\r\n template: `\r\n <div class=\"card mb-3\">\r\n @if (hasHeader()) {\r\n <cho-card-header [toolbar]=\"toolbar()\" [headerText]=\"headerText()\">\r\n <ng-container *ngTemplateOutlet=\"header()!\" />\r\n </cho-card-header>\r\n } @else if (hasToolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n\r\n @if (hasFilters()) {\r\n <cho-card-filters>\r\n <ng-container *ngTemplateOutlet=\"filters()!\" />\r\n </cho-card-filters>\r\n }\r\n\r\n @if (hasTabs()) {\r\n <cho-card-tabs [tabs]=\"tabs()!\" (tabSelect)=\"tabSelect.emit($event)\">\r\n </cho-card-tabs>\r\n }\r\n\r\n <div class=\"card-body\" #contentWrapper [hidden]=\"!hasContent()\">\r\n @if (content()) {\r\n <ng-container *ngTemplateOutlet=\"content()!\" />\r\n } @else {\r\n <ng-content />\r\n }\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardComponent {\r\n header = input<TemplateRef<any>>();\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any>>();\r\n filters = input<TemplateRef<any>>();\r\n content = input<TemplateRef<any>>();\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n\r\n tabSelect = output<string>();\r\n\r\n // used for projected content detection\r\n contentWrapper = viewChild<ElementRef>('contentWrapper');\r\n\r\n hasContent = computed(() => this.content() || this._hasProjectedContent());\r\n hasFilters = computed(() => !!this.filters());\r\n hasHeader = computed(() => !!this.header() || !!this.headerText());\r\n hasTabs = computed(() => !!this.tabs() && this.tabs()!.length > 0);\r\n hasToolbar = computed(() => !!this.toolbar());\r\n\r\n private _hasProjectedContent = signal(false);\r\n\r\n constructor() {\r\n effect(() => this.detectProjectedContent(), { allowSignalWrites: true });\r\n }\r\n\r\n private detectProjectedContent() {\r\n const wrapper = this.contentWrapper();\r\n\r\n if (wrapper) {\r\n const element = wrapper.nativeElement;\r\n\r\n const hasRealContent = Array.from(element.childNodes).some((node: any) => {\r\n if (node.nodeType === Node.ELEMENT_NODE) return true;\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n return node.textContent?.trim().length > 0;\r\n }\r\n return false;\r\n });\r\n\r\n this._hasProjectedContent.set(hasRealContent);\r\n }\r\n }\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-details-card',\r\n standalone: true,\r\n template: `\r\n <div class=\"card mb-3\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">{{ cardTitle }}</h3>\r\n\r\n <div class=\"card-toolbar\">\r\n <ng-content #toolbar select=\"[toolbar]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoDetailsCardComponent {\r\n @Input() cardTitle = '';\r\n\r\n @ContentChild('toolbar') toolbar: TemplateRef<unknown> | null = null;\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { IEmailInfo } from 'ngx-cho-common';\r\n\r\n\r\n@Component({\r\n selector: 'cho-email-info',\r\n template: `<ng-container *ngIf=\"email; else empty\"\r\n ><span *ngIf=\"email.emailTypeCode\">{{ email.emailTypeCode[0] }}: </span>\r\n <a [href]=\"sanitizedEmailLink\">{{ email.emailAddress }}</a>\r\n <small *ngIf=\"email.description\"> ({{ email.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n standalone: true,\r\n imports: [NgIf],\r\n})\r\nexport class ChoEmailInfoComponent {\r\n @Input() email!: IEmailInfo;\r\n\r\n public sanitizedEmailLink: SafeUrl;\r\n\r\n constructor(private sanitizer: DomSanitizer) {\r\n this.sanitizedEmailLink = this.email?.emailAddress\r\n ? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)\r\n : '';\r\n }\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { IPhoneInfo } from 'ngx-cho-common';\r\n\r\n\r\n@Component({\r\n selector: 'cho-phone-info',\r\n template: ` <ng-container *ngIf=\"phone; else empty\"\r\n ><span *ngIf=\"phone.phoneTypeCode\">{{ phone.phoneTypeCode[0] }}: </span>\r\n {{ phone.phoneNumber }}\r\n <small *ngIf=\"phone.description\"> ({{ phone.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n standalone: true,\r\n imports: [NgIf],\r\n})\r\nexport class ChoPhoneInfoComponent {\r\n @Input() phone!: IPhoneInfo;\r\n}\r\n","import { NgFor } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cho-radio-group',\r\n template: `\r\n <div>\r\n <label class=\"form-label\">{{ label }}</label>\r\n <div *ngFor=\"let option of options\" class=\"form-check form-check-inline\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"radio\"\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [(ngModel)]=\"selectedOption\"\r\n (change)=\"emitSelection()\" />\r\n {{ option.label }}\r\n </div>\r\n </div>\r\n `,\r\n standalone: true,\r\n imports: [NgFor, FormsModule],\r\n})\r\nexport class ChoRadioGroupComponent<T> {\r\n @Input() label = '';\r\n @Input() options: { label: string; value: unknown }[] = [];\r\n @Input() groupName = '';\r\n @Input() defaultValue: T | null = null;\r\n\r\n @Output() selectionChange = new EventEmitter<T | null>();\r\n\r\n public selectedOption: T | null = this.defaultValue;\r\n\r\n public emitSelection() {\r\n if (this.selectedOption !== undefined) {\r\n this.selectionChange.emit(this.selectedOption);\r\n }\r\n }\r\n}\r\n","import { DatePipe, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-review-status-alert',\r\n template: `\r\n <div class=\"alert alert-info\" *ngIf=\"reviewedDateTime\">\r\n Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date : 'shortDate' }} at\r\n {{ reviewedDateTime | date : 'shortTime' }}.\r\n </div>\r\n `,\r\n standalone: true,\r\n imports: [NgIf, DatePipe],\r\n})\r\nexport class ChoReviewStatusAlertComponent {\r\n @Input() reviewedBy: string | undefined;\r\n @Input() reviewedDateTime: string | undefined;\r\n}\r\n","/*\r\n * Public API Surface of ngx-cho-components\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;MAmBa,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAbtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;cASA,EAEA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,kDAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEpB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;AASA,aAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC;AACjC,iBAAA,CAAA;8BAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MCVG,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,sHAFtB,CAAkB,gBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAEnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;AAC/B,oBAAA,QAAQ,EAAE,CAAkB,gBAAA,CAAA;AAC/B,iBAAA,CAAA;;;MCCY,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,sHAFtB,CAAkB,gBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAEnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;AAC/B,oBAAA,QAAQ,EAAE,CAAkB,gBAAA,CAAA;AAC/B,iBAAA,CAAA;;;MCkBY,sBAAsB,CAAA;AAvBnC,IAAA,WAAA,GAAA;QAwBI,IAAU,CAAA,UAAA,GAAG,KAAK,EAAU,CAAC;QAC7B,IAAO,CAAA,OAAA,GAAG,KAAK,EAA2B,CAAC;AAC9C,KAAA;+GAHY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAlBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;KAgBT,EAjBS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAmB1C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;AACpD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;AAgBT,IAAA,CAAA;AACJ,iBAAA,CAAA;;;MCFY,oBAAoB,CAAA;AArBjC,IAAA,WAAA,GAAA;AAsBqB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACjD,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAElE,IAAI,CAAA,IAAA,GAAG,KAAK,EAA2C,CAAC;QACxD,IAAS,CAAA,SAAA,GAAG,MAAM,EAAU,CAAC;AAkBhC,KAAA;IAdG,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACvC;AAED,IAAA,QAAQ,CAAC,QAAgB,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAE1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;YAClC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;AACjC,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACvC;+GAtBQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAhBnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAEQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBArBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,IAAA,CAAA;AACJ,iBAAA,CAAA;;;MCuCY,gBAAgB,CAAA;AAqBzB,IAAA,WAAA,GAAA;QApBA,IAAM,CAAA,MAAA,GAAG,KAAK,EAAoB,CAAC;QACnC,IAAU,CAAA,UAAA,GAAG,KAAK,EAAU,CAAC;QAC7B,IAAO,CAAA,OAAA,GAAG,KAAK,EAAoB,CAAC;QACpC,IAAO,CAAA,OAAA,GAAG,KAAK,EAAoB,CAAC;QACpC,IAAO,CAAA,OAAA,GAAG,KAAK,EAAoB,CAAC;QACpC,IAAI,CAAA,IAAA,GAAG,KAAK,EAA2C,CAAC;QAExD,IAAS,CAAA,SAAA,GAAG,MAAM,EAAU,CAAC;;AAG7B,QAAA,IAAA,CAAA,cAAc,GAAG,SAAS,CAAa,gBAAgB,CAAC,CAAC;AAEzD,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3E,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,IAAS,CAAA,SAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnE,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAGzC,QAAA,MAAM,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;KAC5E;IAEO,sBAAsB,GAAA;AAC1B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtC,IAAI,OAAO,EAAE;AACT,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;AAEtC,YAAA,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,KAAI;AACrE,gBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;AAAE,oBAAA,OAAO,IAAI,CAAC;gBACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;oBAClC,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC9C;AACD,gBAAA,OAAO,KAAK,CAAC;AACjB,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACjD;KACJ;+GAzCQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAjCf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BT,EArCG,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAChB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,uBAAuB,EACvB,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,6DACvB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAmCf,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBA5C5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE;wBACL,gBAAgB;wBAChB,sBAAsB;wBACtB,uBAAuB;wBACvB,uBAAuB;wBACvB,oBAAoB;AACvB,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,IAAA,CAAA;AACJ,iBAAA,CAAA;;;MCxCY,uBAAuB,CAAA;AAnBpC,IAAA,WAAA,GAAA;QAoBa,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;QAEC,IAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;AACxE,KAAA;+GAJY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAhBtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAEQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAnBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,IAAA,CAAA;AACJ,iBAAA,CAAA;8BAEY,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEmB,OAAO,EAAA,CAAA;sBAA/B,YAAY;uBAAC,SAAS,CAAA;;;MCPd,qBAAqB,CAAA;AAK9B,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;AACvC,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY;AAC9C,cAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAU,OAAA,EAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;cAC1E,EAAE,CAAC;KACZ;+GATQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EATpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAK4C,yDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAE5C,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEL,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;AAK4C,yDAAA,CAAA;AACtD,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,CAAC;AAClB,iBAAA,CAAA;iFAEY,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MCFG,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EATpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAK4C,yDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAE5C,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEL,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;AAK4C,yDAAA,CAAA;AACtD,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,CAAC;AAClB,iBAAA,CAAA;8BAEY,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MCOG,sBAAsB,CAAA;AApBnC,IAAA,WAAA,GAAA;QAqBa,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAO,CAAA,OAAA,GAAwC,EAAE,CAAC;QAClD,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;QACf,IAAY,CAAA,YAAA,GAAa,IAAI,CAAC;AAE7B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAY,CAAC;AAElD,QAAA,IAAA,CAAA,cAAc,GAAa,IAAI,CAAC,YAAY,CAAC;AAOvD,KAAA;IALU,aAAa,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAClD;KACJ;+GAdQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAlBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;KAcT,EAES,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,KAAK,kHAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBApBlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,IAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;AAChC,iBAAA,CAAA;8BAEY,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEI,eAAe,EAAA,CAAA;sBAAxB,MAAM;;;MChBE,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAT5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;KAKT,EAES,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,wFAAE,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEf,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE,CAAA;;;;;AAKT,IAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC5B,iBAAA,CAAA;8BAEY,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;;;AChBV;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-cho-components.mjs","sources":["../../../projects/ngx-cho-components/src/lib/cho-address-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-filters.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-toolbar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-header.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-tabs.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-details-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-email-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-phone-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-radio-group.component.ts","../../../projects/ngx-cho-components/src/lib/cho-review-status-alert.component.ts","../../../projects/ngx-cho-components/src/public-api.ts","../../../projects/ngx-cho-components/src/ngx-cho-components.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { IAddress } from 'ngx-cho-common';\r\nimport { NgIf, TitleCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cho-address-info',\r\n template: `<p *ngIf=\"address.addressLine1\" class=\"m-0\">\r\n {{ address.addressLine1 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.addressLine2\" class=\"m-0\">\r\n {{ address.addressLine2 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.city\" class=\"m-0\">\r\n {{ address.city | titlecase }}, {{ address.stateProvinceCode }}\r\n {{ address.postalCode }}\r\n </p> `,\r\n imports: [TitleCasePipe, NgIf],\r\n})\r\nexport class ChoAddressInfoComponent {\r\n @Input() address!: IAddress;\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-filters',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-filters' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardFiltersComponent {}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-toolbar',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-toolbar' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardToolbarComponent {}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\n\r\n@Component({\r\n selector: 'cho-card-header',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [NgTemplateOutlet, ChoCardToolbarComponent],\r\n template: `\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">\r\n @if (headerText()) {\r\n {{ headerText() }}\r\n } @else {\r\n <ng-content />\r\n }\r\n </h3>\r\n\r\n @if (toolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardHeaderComponent {\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any> | null>();\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, input, OnInit, output } from '@angular/core';\r\nimport { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-card-tabs',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n template: `\r\n <div class=\"card-tabs\">\r\n <ul>\r\n @for (tab of tabs(); track tab.value) {\r\n <li (click)=\"onSelect(tab.value)\">\r\n <a\r\n class=\"nav-link text-active-primary\"\r\n [class.active]=\"activeTab === tab.value\">\r\n {{ tab.label }}\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardTabsComponent implements OnInit {\r\n private readonly navigationService = inject(ChoNavigationService);\r\n private readonly routeParamService = inject(ChoRouteParamService);\r\n\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n tabSelect = output<string>();\r\n\r\n activeTab: string | undefined;\r\n\r\n ngOnInit(): void {\r\n this.activeTab = this.routeParamService.getQueryParameterValue('vw') || '';\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n\r\n onSelect(tabValue: string): void {\r\n this.activeTab = tabValue;\r\n\r\n this.navigationService.setQueryParams({\r\n vw: tabValue ? tabValue : null,\r\n });\r\n\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChoCardFiltersComponent } from './cho-card-filters.component';\r\nimport { ChoCardHeaderComponent } from './cho-card-header.component';\r\nimport { ChoCardTabsComponent } from './cho-card-tabs.component';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n computed,\r\n ElementRef,\r\n effect,\r\n viewChild,\r\n signal,\r\n input,\r\n TemplateRef,\r\n output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgTemplateOutlet,\r\n ChoCardHeaderComponent,\r\n ChoCardToolbarComponent,\r\n ChoCardFiltersComponent,\r\n ChoCardTabsComponent,\r\n ],\r\n template: `\r\n <div class=\"card mb-3\">\r\n @if (hasHeader()) {\r\n <cho-card-header [toolbar]=\"toolbar()\" [headerText]=\"headerText()\">\r\n <ng-container *ngTemplateOutlet=\"header()!\" />\r\n </cho-card-header>\r\n } @else if (hasToolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n\r\n @if (hasFilters()) {\r\n <cho-card-filters>\r\n <ng-container *ngTemplateOutlet=\"filters()!\" />\r\n </cho-card-filters>\r\n }\r\n\r\n @if (hasTabs()) {\r\n <cho-card-tabs [tabs]=\"tabs()!\" (tabSelect)=\"tabSelect.emit($event)\">\r\n </cho-card-tabs>\r\n }\r\n\r\n <div class=\"card-body\" #contentWrapper [hidden]=\"!hasContent()\">\r\n @if (content()) {\r\n <ng-container *ngTemplateOutlet=\"content()!\" />\r\n } @else {\r\n <ng-content />\r\n }\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardComponent {\r\n header = input<TemplateRef<any>>();\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any>>();\r\n filters = input<TemplateRef<any>>();\r\n content = input<TemplateRef<any>>();\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n\r\n tabSelect = output<string>();\r\n\r\n // used for projected content detection\r\n contentWrapper = viewChild<ElementRef>('contentWrapper');\r\n\r\n hasContent = computed(() => this.content() || this._hasProjectedContent());\r\n hasFilters = computed(() => !!this.filters());\r\n hasHeader = computed(() => !!this.header() || !!this.headerText());\r\n hasTabs = computed(() => !!this.tabs() && this.tabs()!.length > 0);\r\n hasToolbar = computed(() => !!this.toolbar());\r\n\r\n private _hasProjectedContent = signal(false);\r\n\r\n constructor() {\r\n effect(() => this.detectProjectedContent(), { allowSignalWrites: true });\r\n }\r\n\r\n private detectProjectedContent() {\r\n const wrapper = this.contentWrapper();\r\n\r\n if (wrapper) {\r\n const element = wrapper.nativeElement;\r\n\r\n const hasRealContent = Array.from(element.childNodes).some((node: any) => {\r\n if (node.nodeType === Node.ELEMENT_NODE) return true;\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n return node.textContent?.trim().length > 0;\r\n }\r\n return false;\r\n });\r\n\r\n this._hasProjectedContent.set(hasRealContent);\r\n }\r\n }\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-details-card',\r\n standalone: true,\r\n template: `\r\n <div class=\"card mb-3\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">{{ cardTitle }}</h3>\r\n\r\n <div class=\"card-toolbar\">\r\n <ng-content #toolbar select=\"[toolbar]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoDetailsCardComponent {\r\n @Input() cardTitle = '';\r\n\r\n @ContentChild('toolbar') toolbar: TemplateRef<unknown> | null = null;\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { IEmailInfo } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-email-info',\r\n template: `<ng-container *ngIf=\"email; else empty\"\r\n ><span *ngIf=\"email.emailTypeCode\">{{ email.emailTypeCode[0] }}: </span>\r\n <a [href]=\"sanitizedEmailLink\">{{ email.emailAddress }}</a>\r\n <small *ngIf=\"email.description\"> ({{ email.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n imports: [NgIf],\r\n})\r\nexport class ChoEmailInfoComponent {\r\n @Input() email!: IEmailInfo;\r\n\r\n public sanitizedEmailLink: SafeUrl;\r\n\r\n constructor(private sanitizer: DomSanitizer) {\r\n this.sanitizedEmailLink = this.email?.emailAddress\r\n ? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)\r\n : '';\r\n }\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { IPhoneInfo } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-phone-info',\r\n template: ` <ng-container *ngIf=\"phone; else empty\"\r\n ><span *ngIf=\"phone.phoneTypeCode\">{{ phone.phoneTypeCode[0] }}: </span>\r\n {{ phone.phoneNumber }}\r\n <small *ngIf=\"phone.description\"> ({{ phone.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n imports: [NgIf],\r\n})\r\nexport class ChoPhoneInfoComponent {\r\n @Input() phone!: IPhoneInfo;\r\n}\r\n","import { NgFor } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cho-radio-group',\r\n template: `\r\n <div>\r\n <label class=\"form-label\">{{ label }}</label>\r\n <div *ngFor=\"let option of options\" class=\"form-check form-check-inline\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"radio\"\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [(ngModel)]=\"selectedOption\"\r\n (change)=\"emitSelection()\" />\r\n {{ option.label }}\r\n </div>\r\n </div>\r\n `,\r\n imports: [NgFor, FormsModule],\r\n})\r\nexport class ChoRadioGroupComponent<T> {\r\n @Input() label = '';\r\n @Input() options: { label: string; value: unknown }[] = [];\r\n @Input() groupName = '';\r\n @Input() defaultValue: T | null = null;\r\n\r\n @Output() selectionChange = new EventEmitter<T | null>();\r\n\r\n public selectedOption: T | null = this.defaultValue;\r\n\r\n public emitSelection() {\r\n if (this.selectedOption !== undefined) {\r\n this.selectionChange.emit(this.selectedOption);\r\n }\r\n }\r\n}\r\n","import { DatePipe, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-review-status-alert',\r\n template: `\r\n <div class=\"alert alert-info\" *ngIf=\"reviewedDateTime\">\r\n Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date: 'shortDate' }} at\r\n {{ reviewedDateTime | date: 'shortTime' }}.\r\n </div>\r\n `,\r\n imports: [NgIf, DatePipe],\r\n})\r\nexport class ChoReviewStatusAlertComponent {\r\n @Input() reviewedBy: string | undefined;\r\n @Input() reviewedDateTime: string | undefined;\r\n}\r\n","/*\r\n * Public API Surface of ngx-cho-components\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-cho-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"ngx-cho-common": "^
|
|
5
|
+
"@angular/common": "^19.2.0",
|
|
6
|
+
"@angular/core": "^19.2.0",
|
|
7
|
+
"ngx-cho-common": "^3.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"tslib": "^2.3.0"
|
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
},
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./index.d.ts",
|
|
21
|
-
"esm2022": "./esm2022/ngx-cho-components.mjs",
|
|
22
|
-
"esm": "./esm2022/ngx-cho-components.mjs",
|
|
23
21
|
"default": "./fesm2022/ngx-cho-components.mjs"
|
|
24
22
|
}
|
|
25
23
|
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { NgIf, TitleCasePipe } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ChoAddressInfoComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoAddressInfoComponent, isStandalone: true, selector: "cho-address-info", inputs: { address: "address" }, ngImport: i0, template: `<p *ngIf="address.addressLine1" class="m-0">
|
|
7
|
-
{{ address.addressLine1 | titlecase }}
|
|
8
|
-
</p>
|
|
9
|
-
<p *ngIf="address.addressLine2" class="m-0">
|
|
10
|
-
{{ address.addressLine2 | titlecase }}
|
|
11
|
-
</p>
|
|
12
|
-
<p *ngIf="address.city" class="m-0">
|
|
13
|
-
{{ address.city | titlecase }}, {{ address.stateProvinceCode }}
|
|
14
|
-
{{ address.postalCode }}
|
|
15
|
-
</p> `, isInline: true, dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{
|
|
20
|
-
selector: 'cho-address-info',
|
|
21
|
-
template: `<p *ngIf="address.addressLine1" class="m-0">
|
|
22
|
-
{{ address.addressLine1 | titlecase }}
|
|
23
|
-
</p>
|
|
24
|
-
<p *ngIf="address.addressLine2" class="m-0">
|
|
25
|
-
{{ address.addressLine2 | titlecase }}
|
|
26
|
-
</p>
|
|
27
|
-
<p *ngIf="address.city" class="m-0">
|
|
28
|
-
{{ address.city | titlecase }}, {{ address.stateProvinceCode }}
|
|
29
|
-
{{ address.postalCode }}
|
|
30
|
-
</p> `,
|
|
31
|
-
standalone: true,
|
|
32
|
-
imports: [TitleCasePipe, NgIf],
|
|
33
|
-
}]
|
|
34
|
-
}], propDecorators: { address: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWFkZHJlc3MtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWlCdEQsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUIsNEdBYnRCOzs7Ozs7Ozs7Y0FTQSx1REFFQSxhQUFhLGtEQUFFLElBQUk7OzRGQUVwQix1QkFBdUI7a0JBZm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Y0FTQTtvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQztpQkFDakM7OEJBRVksT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQWRkcmVzcyB9IGZyb20gJ25neC1jaG8tY29tbW9uJztcclxuaW1wb3J0IHsgTmdJZiwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWFkZHJlc3MtaW5mbycsXHJcbiAgICB0ZW1wbGF0ZTogYDxwICpuZ0lmPVwiYWRkcmVzcy5hZGRyZXNzTGluZTFcIiBjbGFzcz1cIm0tMFwiPlxyXG4gICAgICAgICAgICB7eyBhZGRyZXNzLmFkZHJlc3NMaW5lMSB8IHRpdGxlY2FzZSB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8cCAqbmdJZj1cImFkZHJlc3MuYWRkcmVzc0xpbmUyXCIgY2xhc3M9XCJtLTBcIj5cclxuICAgICAgICAgICAge3sgYWRkcmVzcy5hZGRyZXNzTGluZTIgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPHAgKm5nSWY9XCJhZGRyZXNzLmNpdHlcIiBjbGFzcz1cIm0tMFwiPlxyXG4gICAgICAgICAgICB7eyBhZGRyZXNzLmNpdHkgfCB0aXRsZWNhc2UgfX0sIHt7IGFkZHJlc3Muc3RhdGVQcm92aW5jZUNvZGUgfX1cclxuICAgICAgICAgICAge3sgYWRkcmVzcy5wb3N0YWxDb2RlIH19XHJcbiAgICAgICAgPC9wPiBgLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtUaXRsZUNhc2VQaXBlLCBOZ0lmXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0FkZHJlc3NJbmZvQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGFkZHJlc3MhOiBJQWRkcmVzcztcclxufVxyXG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ChoCardFiltersComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoCardFiltersComponent, isStandalone: true, selector: "cho-card-filters", host: { classAttribute: "card-filters" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
|
|
8
|
-
type: Component,
|
|
9
|
-
args: [{
|
|
10
|
-
selector: 'cho-card-filters',
|
|
11
|
-
standalone: true,
|
|
12
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
-
imports: [],
|
|
14
|
-
host: { class: 'card-filters' },
|
|
15
|
-
template: ` <ng-content /> `,
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QixzSEFGdEIsa0JBQWtCOzs0RkFFbkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWNhcmQtZmlsdGVycycsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdjYXJkLWZpbHRlcnMnIH0sXHJcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCAvPiBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZEZpbHRlcnNDb21wb25lbnQge31cclxuIl19
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
3
|
-
import { ChoCardToolbarComponent } from './cho-card-toolbar.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ChoCardHeaderComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.headerText = input();
|
|
8
|
-
this.toolbar = input();
|
|
9
|
-
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardHeaderComponent, isStandalone: true, selector: "cho-card-header", inputs: { headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
12
|
-
<div class="card-header">
|
|
13
|
-
<h3 class="card-title">
|
|
14
|
-
@if (headerText()) {
|
|
15
|
-
{{ headerText() }}
|
|
16
|
-
} @else {
|
|
17
|
-
<ng-content />
|
|
18
|
-
}
|
|
19
|
-
</h3>
|
|
20
|
-
|
|
21
|
-
@if (toolbar()) {
|
|
22
|
-
<cho-card-toolbar>
|
|
23
|
-
<ng-container *ngTemplateOutlet="toolbar()!" />
|
|
24
|
-
</cho-card-toolbar>
|
|
25
|
-
}
|
|
26
|
-
</div>
|
|
27
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChoCardToolbarComponent, selector: "cho-card-toolbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardHeaderComponent, decorators: [{
|
|
30
|
-
type: Component,
|
|
31
|
-
args: [{
|
|
32
|
-
selector: 'cho-card-header',
|
|
33
|
-
standalone: true,
|
|
34
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
35
|
-
imports: [NgTemplateOutlet, ChoCardToolbarComponent],
|
|
36
|
-
template: `
|
|
37
|
-
<div class="card-header">
|
|
38
|
-
<h3 class="card-title">
|
|
39
|
-
@if (headerText()) {
|
|
40
|
-
{{ headerText() }}
|
|
41
|
-
} @else {
|
|
42
|
-
<ng-content />
|
|
43
|
-
}
|
|
44
|
-
</h3>
|
|
45
|
-
|
|
46
|
-
@if (toolbar()) {
|
|
47
|
-
<cho-card-toolbar>
|
|
48
|
-
<ng-container *ngTemplateOutlet="toolbar()!" />
|
|
49
|
-
</cho-card-toolbar>
|
|
50
|
-
}
|
|
51
|
-
</div>
|
|
52
|
-
`,
|
|
53
|
-
}]
|
|
54
|
-
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBeUJ2RSxNQUFNLE9BQU8sc0JBQXNCO0lBdkJuQztRQXdCSSxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBMkIsQ0FBQztLQUM5QzsrR0FIWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0VkFsQnJCOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JULDREQWpCUyxnQkFBZ0Isb0pBQUUsdUJBQXVCOzs0RkFtQjFDLHNCQUFzQjtrQkF2QmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLWhlYWRlcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnRdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgQGlmIChoZWFkZXJUZXh0KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBoZWFkZXJUZXh0KCkgfX1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvaDM+XHJcblxyXG4gICAgICAgICAgICBAaWYgKHRvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2xiYXIoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC10b29sYmFyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZEhlYWRlckNvbXBvbmVudCB7XHJcbiAgICBoZWFkZXJUZXh0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gICAgdG9vbGJhciA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPigpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, input, output } from '@angular/core';
|
|
2
|
-
import { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ChoCardTabsComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.navigationService = inject(ChoNavigationService);
|
|
7
|
-
this.routeParamService = inject(ChoRouteParamService);
|
|
8
|
-
this.tabs = input();
|
|
9
|
-
this.tabSelect = output();
|
|
10
|
-
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
this.activeTab = this.routeParamService.getQueryParameterValue('vw') || '';
|
|
13
|
-
this.tabSelect.emit(this.activeTab);
|
|
14
|
-
}
|
|
15
|
-
onSelect(tabValue) {
|
|
16
|
-
this.activeTab = tabValue;
|
|
17
|
-
this.navigationService.setQueryParams({
|
|
18
|
-
vw: tabValue ? tabValue : null,
|
|
19
|
-
});
|
|
20
|
-
this.tabSelect.emit(this.activeTab);
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardTabsComponent, isStandalone: true, selector: "cho-card-tabs", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, ngImport: i0, template: `
|
|
24
|
-
<div class="card-tabs">
|
|
25
|
-
<ul>
|
|
26
|
-
@for (tab of tabs(); track tab.value) {
|
|
27
|
-
<li (click)="onSelect(tab.value)">
|
|
28
|
-
<a
|
|
29
|
-
class="nav-link text-active-primary"
|
|
30
|
-
[class.active]="activeTab === tab.value">
|
|
31
|
-
{{ tab.label }}
|
|
32
|
-
</a>
|
|
33
|
-
</li>
|
|
34
|
-
}
|
|
35
|
-
</ul>
|
|
36
|
-
</div>
|
|
37
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardTabsComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{
|
|
42
|
-
selector: 'cho-card-tabs',
|
|
43
|
-
standalone: true,
|
|
44
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
45
|
-
imports: [],
|
|
46
|
-
template: `
|
|
47
|
-
<div class="card-tabs">
|
|
48
|
-
<ul>
|
|
49
|
-
@for (tab of tabs(); track tab.value) {
|
|
50
|
-
<li (click)="onSelect(tab.value)">
|
|
51
|
-
<a
|
|
52
|
-
class="nav-link text-active-primary"
|
|
53
|
-
[class.active]="activeTab === tab.value">
|
|
54
|
-
{{ tab.label }}
|
|
55
|
-
</a>
|
|
56
|
-
</li>
|
|
57
|
-
}
|
|
58
|
-
</ul>
|
|
59
|
-
</div>
|
|
60
|
-
`,
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQXVCNUUsTUFBTSxPQUFPLG9CQUFvQjtJQXJCakM7UUFzQnFCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxFLFNBQUksR0FBRyxLQUFLLEVBQTJDLENBQUM7UUFDeEQsY0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBa0JoQztJQWRHLFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztZQUNsQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDakMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7K0dBdEJRLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtPQWhCbkI7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7OzRGQUVRLG9CQUFvQjtrQkFyQmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hvTmF2aWdhdGlvblNlcnZpY2UsIENob1JvdXRlUGFyYW1TZXJ2aWNlIH0gZnJvbSAnbmd4LWNoby1jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLXRhYnMnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRhYnNcIj5cclxuICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnMoKTsgdHJhY2sgdGFiLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJvblNlbGVjdCh0YWIudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIHRleHQtYWN0aXZlLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0NhcmRUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvblNlcnZpY2UgPSBpbmplY3QoQ2hvTmF2aWdhdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZVBhcmFtU2VydmljZSA9IGluamVjdChDaG9Sb3V0ZVBhcmFtU2VydmljZSk7XHJcblxyXG4gICAgdGFicyA9IGlucHV0PEFycmF5PHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9Pj4oKTtcclxuICAgIHRhYlNlbGVjdCA9IG91dHB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICAgYWN0aXZlVGFiOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0aGlzLnJvdXRlUGFyYW1TZXJ2aWNlLmdldFF1ZXJ5UGFyYW1ldGVyVmFsdWUoJ3Z3JykgfHwgJyc7XHJcbiAgICAgICAgdGhpcy50YWJTZWxlY3QuZW1pdCh0aGlzLmFjdGl2ZVRhYik7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3QodGFiVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiVmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2Uuc2V0UXVlcnlQYXJhbXMoe1xyXG4gICAgICAgICAgICB2dzogdGFiVmFsdWUgPyB0YWJWYWx1ZSA6IG51bGwsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMudGFiU2VsZWN0LmVtaXQodGhpcy5hY3RpdmVUYWIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ChoCardToolbarComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoCardToolbarComponent, isStandalone: true, selector: "cho-card-toolbar", host: { classAttribute: "card-toolbar" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, decorators: [{
|
|
8
|
-
type: Component,
|
|
9
|
-
args: [{
|
|
10
|
-
selector: 'cho-card-toolbar',
|
|
11
|
-
standalone: true,
|
|
12
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
-
imports: [],
|
|
14
|
-
host: { class: 'card-toolbar' },
|
|
15
|
-
template: ` <ng-content /> `,
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC10b29sYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QixzSEFGdEIsa0JBQWtCOzs0RkFFbkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWNhcmQtdG9vbGJhcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdjYXJkLXRvb2xiYXInIH0sXHJcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCAvPiBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnQge31cclxuIl19
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChoCardFiltersComponent } from './cho-card-filters.component';
|
|
3
|
-
import { ChoCardHeaderComponent } from './cho-card-header.component';
|
|
4
|
-
import { ChoCardTabsComponent } from './cho-card-tabs.component';
|
|
5
|
-
import { ChoCardToolbarComponent } from './cho-card-toolbar.component';
|
|
6
|
-
import { Component, ChangeDetectionStrategy, computed, effect, viewChild, signal, input, output, } from '@angular/core';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class ChoCardComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.header = input();
|
|
11
|
-
this.headerText = input();
|
|
12
|
-
this.toolbar = input();
|
|
13
|
-
this.filters = input();
|
|
14
|
-
this.content = input();
|
|
15
|
-
this.tabs = input();
|
|
16
|
-
this.tabSelect = output();
|
|
17
|
-
// used for projected content detection
|
|
18
|
-
this.contentWrapper = viewChild('contentWrapper');
|
|
19
|
-
this.hasContent = computed(() => this.content() || this._hasProjectedContent());
|
|
20
|
-
this.hasFilters = computed(() => !!this.filters());
|
|
21
|
-
this.hasHeader = computed(() => !!this.header() || !!this.headerText());
|
|
22
|
-
this.hasTabs = computed(() => !!this.tabs() && this.tabs().length > 0);
|
|
23
|
-
this.hasToolbar = computed(() => !!this.toolbar());
|
|
24
|
-
this._hasProjectedContent = signal(false);
|
|
25
|
-
effect(() => this.detectProjectedContent(), { allowSignalWrites: true });
|
|
26
|
-
}
|
|
27
|
-
detectProjectedContent() {
|
|
28
|
-
const wrapper = this.contentWrapper();
|
|
29
|
-
if (wrapper) {
|
|
30
|
-
const element = wrapper.nativeElement;
|
|
31
|
-
const hasRealContent = Array.from(element.childNodes).some((node) => {
|
|
32
|
-
if (node.nodeType === Node.ELEMENT_NODE)
|
|
33
|
-
return true;
|
|
34
|
-
if (node.nodeType === Node.TEXT_NODE) {
|
|
35
|
-
return node.textContent?.trim().length > 0;
|
|
36
|
-
}
|
|
37
|
-
return false;
|
|
38
|
-
});
|
|
39
|
-
this._hasProjectedContent.set(hasRealContent);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardComponent, isStandalone: true, selector: "cho-card", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
44
|
-
<div class="card mb-3">
|
|
45
|
-
@if (hasHeader()) {
|
|
46
|
-
<cho-card-header [toolbar]="toolbar()" [headerText]="headerText()">
|
|
47
|
-
<ng-container *ngTemplateOutlet="header()!" />
|
|
48
|
-
</cho-card-header>
|
|
49
|
-
} @else if (hasToolbar()) {
|
|
50
|
-
<cho-card-toolbar>
|
|
51
|
-
<ng-container *ngTemplateOutlet="toolbar()!" />
|
|
52
|
-
</cho-card-toolbar>
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@if (hasFilters()) {
|
|
56
|
-
<cho-card-filters>
|
|
57
|
-
<ng-container *ngTemplateOutlet="filters()!" />
|
|
58
|
-
</cho-card-filters>
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@if (hasTabs()) {
|
|
62
|
-
<cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
|
|
63
|
-
</cho-card-tabs>
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
<div class="card-body" #contentWrapper [hidden]="!hasContent()">
|
|
67
|
-
@if (content()) {
|
|
68
|
-
<ng-container *ngTemplateOutlet="content()!" />
|
|
69
|
-
} @else {
|
|
70
|
-
<ng-content />
|
|
71
|
-
}
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChoCardHeaderComponent, selector: "cho-card-header", inputs: ["headerText", "toolbar"] }, { kind: "component", type: ChoCardToolbarComponent, selector: "cho-card-toolbar" }, { kind: "component", type: ChoCardFiltersComponent, selector: "cho-card-filters" }, { kind: "component", type: ChoCardTabsComponent, selector: "cho-card-tabs", inputs: ["tabs"], outputs: ["tabSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
75
|
-
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
|
|
77
|
-
type: Component,
|
|
78
|
-
args: [{
|
|
79
|
-
selector: 'cho-card',
|
|
80
|
-
standalone: true,
|
|
81
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
82
|
-
imports: [
|
|
83
|
-
NgTemplateOutlet,
|
|
84
|
-
ChoCardHeaderComponent,
|
|
85
|
-
ChoCardToolbarComponent,
|
|
86
|
-
ChoCardFiltersComponent,
|
|
87
|
-
ChoCardTabsComponent,
|
|
88
|
-
],
|
|
89
|
-
template: `
|
|
90
|
-
<div class="card mb-3">
|
|
91
|
-
@if (hasHeader()) {
|
|
92
|
-
<cho-card-header [toolbar]="toolbar()" [headerText]="headerText()">
|
|
93
|
-
<ng-container *ngTemplateOutlet="header()!" />
|
|
94
|
-
</cho-card-header>
|
|
95
|
-
} @else if (hasToolbar()) {
|
|
96
|
-
<cho-card-toolbar>
|
|
97
|
-
<ng-container *ngTemplateOutlet="toolbar()!" />
|
|
98
|
-
</cho-card-toolbar>
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
@if (hasFilters()) {
|
|
102
|
-
<cho-card-filters>
|
|
103
|
-
<ng-container *ngTemplateOutlet="filters()!" />
|
|
104
|
-
</cho-card-filters>
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@if (hasTabs()) {
|
|
108
|
-
<cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
|
|
109
|
-
</cho-card-tabs>
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
<div class="card-body" #contentWrapper [hidden]="!hasContent()">
|
|
113
|
-
@if (content()) {
|
|
114
|
-
<ng-container *ngTemplateOutlet="content()!" />
|
|
115
|
-
} @else {
|
|
116
|
-
<ng-content />
|
|
117
|
-
}
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
`,
|
|
121
|
-
}]
|
|
122
|
-
}], ctorParameters: () => [] });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFFUixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDOztBQThDdkIsTUFBTSxPQUFPLGdCQUFnQjtJQXFCekI7UUFwQkEsV0FBTSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUNuQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQ3BDLFlBQU8sR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDcEMsU0FBSSxHQUFHLEtBQUssRUFBMkMsQ0FBQztRQUV4RCxjQUFTLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFFN0IsdUNBQXVDO1FBQ3ZDLG1CQUFjLEdBQUcsU0FBUyxDQUFhLGdCQUFnQixDQUFDLENBQUM7UUFFekQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUMzRSxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25FLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUd6QyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBRXRDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNyRSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVk7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBQ3JELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25DLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQzsrR0F6Q1EsZ0JBQWdCO21HQUFoQixnQkFBZ0IsdytCQWpDZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQStCVCw0REFyQ0csZ0JBQWdCLG9KQUNoQixzQkFBc0IsK0ZBQ3RCLHVCQUF1Qiw2REFDdkIsdUJBQXVCLDZEQUN2QixvQkFBb0I7OzRGQW1DZixnQkFBZ0I7a0JBNUM1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRTt3QkFDTCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBK0JUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENob0NhcmRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENob0NhcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVGFic0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBjb21wdXRlZCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBlZmZlY3QsXHJcbiAgICB2aWV3Q2hpbGQsXHJcbiAgICBzaWduYWwsXHJcbiAgICBpbnB1dCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgb3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgICAgIENob0NhcmRIZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICAgICAgQ2hvQ2FyZEZpbHRlcnNDb21wb25lbnQsXHJcbiAgICAgICAgQ2hvQ2FyZFRhYnNDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBtYi0zXCI+XHJcbiAgICAgICAgICAgIEBpZiAoaGFzSGVhZGVyKCkpIHtcclxuICAgICAgICAgICAgICAgIDxjaG8tY2FyZC1oZWFkZXIgW3Rvb2xiYXJdPVwidG9vbGJhcigpXCIgW2hlYWRlclRleHRdPVwiaGVhZGVyVGV4dCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcigpIVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoaGFzVG9vbGJhcigpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9vbGJhcigpIVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAoaGFzRmlsdGVycygpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtZmlsdGVycz5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVycygpIVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLWZpbHRlcnM+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAoaGFzVGFicygpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtdGFicyBbdGFic109XCJ0YWJzKCkhXCIgKHRhYlNlbGVjdCk9XCJ0YWJTZWxlY3QuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLXRhYnM+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIiAjY29udGVudFdyYXBwZXIgW2hpZGRlbl09XCIhaGFzQ29udGVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbnRlbnQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50KCkhXCIgLz5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0NhcmRDb21wb25lbnQge1xyXG4gICAgaGVhZGVyID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAgIGhlYWRlclRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgICB0b29sYmFyID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAgIGZpbHRlcnMgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gICAgY29udGVudCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgICB0YWJzID0gaW5wdXQ8QXJyYXk8eyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0+PigpO1xyXG5cclxuICAgIHRhYlNlbGVjdCA9IG91dHB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICAgLy8gdXNlZCBmb3IgcHJvamVjdGVkIGNvbnRlbnQgZGV0ZWN0aW9uXHJcbiAgICBjb250ZW50V3JhcHBlciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignY29udGVudFdyYXBwZXInKTtcclxuXHJcbiAgICBoYXNDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50KCkgfHwgdGhpcy5faGFzUHJvamVjdGVkQ29udGVudCgpKTtcclxuICAgIGhhc0ZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuZmlsdGVycygpKTtcclxuICAgIGhhc0hlYWRlciA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5oZWFkZXIoKSB8fCAhIXRoaXMuaGVhZGVyVGV4dCgpKTtcclxuICAgIGhhc1RhYnMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudGFicygpICYmIHRoaXMudGFicygpIS5sZW5ndGggPiAwKTtcclxuICAgIGhhc1Rvb2xiYXIgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudG9vbGJhcigpKTtcclxuXHJcbiAgICBwcml2YXRlIF9oYXNQcm9qZWN0ZWRDb250ZW50ID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5kZXRlY3RQcm9qZWN0ZWRDb250ZW50KCksIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXRlY3RQcm9qZWN0ZWRDb250ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLmNvbnRlbnRXcmFwcGVyKCk7XHJcblxyXG4gICAgICAgIGlmICh3cmFwcGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB3cmFwcGVyLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBoYXNSZWFsQ29udGVudCA9IEFycmF5LmZyb20oZWxlbWVudC5jaGlsZE5vZGVzKS5zb21lKChub2RlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS50ZXh0Q29udGVudD8udHJpbSgpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5faGFzUHJvamVjdGVkQ29udGVudC5zZXQoaGFzUmVhbENvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Component, ContentChild, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ChoDetailsCardComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.cardTitle = '';
|
|
6
|
-
this.toolbar = null;
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoDetailsCardComponent, isStandalone: true, selector: "cho-details-card", inputs: { cardTitle: "cardTitle" }, queries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: `
|
|
10
|
-
<div class="card mb-3">
|
|
11
|
-
<div class="card-header">
|
|
12
|
-
<h3 class="card-title">{{ cardTitle }}</h3>
|
|
13
|
-
|
|
14
|
-
<div class="card-toolbar">
|
|
15
|
-
<ng-content #toolbar select="[toolbar]"></ng-content>
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<div class="card-body">
|
|
20
|
-
<ng-content></ng-content>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
`, isInline: true }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{
|
|
28
|
-
selector: 'cho-details-card',
|
|
29
|
-
standalone: true,
|
|
30
|
-
template: `
|
|
31
|
-
<div class="card mb-3">
|
|
32
|
-
<div class="card-header">
|
|
33
|
-
<h3 class="card-title">{{ cardTitle }}</h3>
|
|
34
|
-
|
|
35
|
-
<div class="card-toolbar">
|
|
36
|
-
<ng-content #toolbar select="[toolbar]"></ng-content>
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<div class="card-body">
|
|
41
|
-
<ng-content></ng-content>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
`,
|
|
45
|
-
}]
|
|
46
|
-
}], propDecorators: { cardTitle: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], toolbar: [{
|
|
49
|
-
type: ContentChild,
|
|
50
|
-
args: ['toolbar']
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tZGV0YWlscy1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBcUI1RSxNQUFNLE9BQU8sdUJBQXVCO0lBbkJwQztRQW9CYSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRUMsWUFBTyxHQUFnQyxJQUFJLENBQUM7S0FDeEU7K0dBSlksdUJBQXVCO21HQUF2Qix1QkFBdUIsZ05BaEJ0Qjs7Ozs7Ozs7Ozs7Ozs7S0FjVDs7NEZBRVEsdUJBQXVCO2tCQW5CbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKOzhCQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRW1CLE9BQU87c0JBQS9CLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tZGV0YWlscy1jYXJkJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgY2FyZFRpdGxlIH19PC9oMz5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgI3Rvb2xiYXIgc2VsZWN0PVwiW3Rvb2xiYXJdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9EZXRhaWxzQ2FyZENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBjYXJkVGl0bGUgPSAnJztcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCd0b29sYmFyJykgdG9vbGJhcjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcclxufVxyXG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
export class ChoEmailInfoComponent {
|
|
6
|
-
constructor(sanitizer) {
|
|
7
|
-
this.sanitizer = sanitizer;
|
|
8
|
-
this.sanitizedEmailLink = this.email?.emailAddress
|
|
9
|
-
? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)
|
|
10
|
-
: '';
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoEmailInfoComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoEmailInfoComponent, isStandalone: true, selector: "cho-email-info", inputs: { email: "email" }, ngImport: i0, template: `<ng-container *ngIf="email; else empty"
|
|
14
|
-
><span *ngIf="email.emailTypeCode">{{ email.emailTypeCode[0] }}: </span>
|
|
15
|
-
<a [href]="sanitizedEmailLink">{{ email.emailAddress }}</a>
|
|
16
|
-
<small *ngIf="email.description"> ({{ email.description }})</small></ng-container
|
|
17
|
-
>
|
|
18
|
-
<ng-template #empty><span>--</span></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoEmailInfoComponent, decorators: [{
|
|
21
|
-
type: Component,
|
|
22
|
-
args: [{
|
|
23
|
-
selector: 'cho-email-info',
|
|
24
|
-
template: `<ng-container *ngIf="email; else empty"
|
|
25
|
-
><span *ngIf="email.emailTypeCode">{{ email.emailTypeCode[0] }}: </span>
|
|
26
|
-
<a [href]="sanitizedEmailLink">{{ email.emailAddress }}</a>
|
|
27
|
-
<small *ngIf="email.description"> ({{ email.description }})</small></ng-container
|
|
28
|
-
>
|
|
29
|
-
<ng-template #empty><span>--</span></ng-template>`,
|
|
30
|
-
standalone: true,
|
|
31
|
-
imports: [NgIf],
|
|
32
|
-
}]
|
|
33
|
-
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { email: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWVtYWlsLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWVtYWlsLWluZm8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBZ0JqRCxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWTtZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNiLENBQUM7K0dBVFEscUJBQXFCO21HQUFyQixxQkFBcUIsc0dBVHBCOzs7OzswREFLNEMsNERBRTVDLElBQUk7OzRGQUVMLHFCQUFxQjtrQkFYakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUU7Ozs7OzBEQUs0QztvQkFDdEQsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDbEI7aUZBRVksS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IElFbWFpbEluZm8gfSBmcm9tICduZ3gtY2hvLWNvbW1vbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1lbWFpbC1pbmZvJyxcclxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtYWlsOyBlbHNlIGVtcHR5XCJcclxuICAgICAgICAgICAgPjxzcGFuICpuZ0lmPVwiZW1haWwuZW1haWxUeXBlQ29kZVwiPnt7IGVtYWlsLmVtYWlsVHlwZUNvZGVbMF0gfX06IDwvc3Bhbj5cclxuICAgICAgICAgICAgPGEgW2hyZWZdPVwic2FuaXRpemVkRW1haWxMaW5rXCI+e3sgZW1haWwuZW1haWxBZGRyZXNzIH19PC9hPlxyXG4gICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJlbWFpbC5kZXNjcmlwdGlvblwiPiAoe3sgZW1haWwuZGVzY3JpcHRpb24gfX0pPC9zbWFsbD48L25nLWNvbnRhaW5lclxyXG4gICAgICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5PjxzcGFuPi0tPC9zcGFuPjwvbmctdGVtcGxhdGU+YCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9FbWFpbEluZm9Db21wb25lbnQge1xyXG4gICAgQElucHV0KCkgZW1haWwhOiBJRW1haWxJbmZvO1xyXG5cclxuICAgIHB1YmxpYyBzYW5pdGl6ZWRFbWFpbExpbms6IFNhZmVVcmw7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gICAgICAgIHRoaXMuc2FuaXRpemVkRW1haWxMaW5rID0gdGhpcy5lbWFpbD8uZW1haWxBZGRyZXNzXHJcbiAgICAgICAgICAgID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChgbWFpbHRvOiR7dGhpcy5lbWFpbC5lbWFpbEFkZHJlc3N9YClcclxuICAgICAgICAgICAgOiAnJztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ChoPhoneInfoComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoPhoneInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoPhoneInfoComponent, isStandalone: true, selector: "cho-phone-info", inputs: { phone: "phone" }, ngImport: i0, template: ` <ng-container *ngIf="phone; else empty"
|
|
7
|
-
><span *ngIf="phone.phoneTypeCode">{{ phone.phoneTypeCode[0] }}: </span>
|
|
8
|
-
{{ phone.phoneNumber }}
|
|
9
|
-
<small *ngIf="phone.description"> ({{ phone.description }})</small></ng-container
|
|
10
|
-
>
|
|
11
|
-
<ng-template #empty><span>--</span></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoPhoneInfoComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{
|
|
16
|
-
selector: 'cho-phone-info',
|
|
17
|
-
template: ` <ng-container *ngIf="phone; else empty"
|
|
18
|
-
><span *ngIf="phone.phoneTypeCode">{{ phone.phoneTypeCode[0] }}: </span>
|
|
19
|
-
{{ phone.phoneNumber }}
|
|
20
|
-
<small *ngIf="phone.description"> ({{ phone.description }})</small></ng-container
|
|
21
|
-
>
|
|
22
|
-
<ng-template #empty><span>--</span></ng-template>`,
|
|
23
|
-
standalone: true,
|
|
24
|
-
imports: [NgIf],
|
|
25
|
-
}]
|
|
26
|
-
}], propDecorators: { phone: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXBob25lLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLXBob25lLWluZm8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFlakQsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO21HQUFyQixxQkFBcUIsc0dBVHBCOzs7OzswREFLNEMsNERBRTVDLElBQUk7OzRGQUVMLHFCQUFxQjtrQkFYakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUU7Ozs7OzBEQUs0QztvQkFDdEQsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDbEI7OEJBRVksS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSVBob25lSW5mbyB9IGZyb20gJ25neC1jaG8tY29tbW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLXBob25lLWluZm8nLFxyXG4gICAgdGVtcGxhdGU6IGAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBob25lOyBlbHNlIGVtcHR5XCJcclxuICAgICAgICAgICAgPjxzcGFuICpuZ0lmPVwicGhvbmUucGhvbmVUeXBlQ29kZVwiPnt7IHBob25lLnBob25lVHlwZUNvZGVbMF0gfX06IDwvc3Bhbj5cclxuICAgICAgICAgICAge3sgcGhvbmUucGhvbmVOdW1iZXIgfX1cclxuICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwicGhvbmUuZGVzY3JpcHRpb25cIj4gKHt7IHBob25lLmRlc2NyaXB0aW9uIH19KTwvc21hbGw+PC9uZy1jb250YWluZXJcclxuICAgICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eT48c3Bhbj4tLTwvc3Bhbj48L25nLXRlbXBsYXRlPmAsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWZdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvUGhvbmVJbmZvQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIHBob25lITogSVBob25lSW5mbztcclxufVxyXG4iXX0=
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { NgFor } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
export class ChoRadioGroupComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.label = '';
|
|
9
|
-
this.options = [];
|
|
10
|
-
this.groupName = '';
|
|
11
|
-
this.defaultValue = null;
|
|
12
|
-
this.selectionChange = new EventEmitter();
|
|
13
|
-
this.selectedOption = this.defaultValue;
|
|
14
|
-
}
|
|
15
|
-
emitSelection() {
|
|
16
|
-
if (this.selectedOption !== undefined) {
|
|
17
|
-
this.selectionChange.emit(this.selectedOption);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoRadioGroupComponent, isStandalone: true, selector: "cho-radio-group", inputs: { label: "label", options: "options", groupName: "groupName", defaultValue: "defaultValue" }, outputs: { selectionChange: "selectionChange" }, ngImport: i0, template: `
|
|
22
|
-
<div>
|
|
23
|
-
<label class="form-label">{{ label }}</label>
|
|
24
|
-
<div *ngFor="let option of options" class="form-check form-check-inline">
|
|
25
|
-
<input
|
|
26
|
-
class="form-check-input"
|
|
27
|
-
type="radio"
|
|
28
|
-
[name]="groupName"
|
|
29
|
-
[value]="option.value"
|
|
30
|
-
[(ngModel)]="selectedOption"
|
|
31
|
-
(change)="emitSelection()" />
|
|
32
|
-
{{ option.label }}
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { 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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoRadioGroupComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{
|
|
40
|
-
selector: 'cho-radio-group',
|
|
41
|
-
template: `
|
|
42
|
-
<div>
|
|
43
|
-
<label class="form-label">{{ label }}</label>
|
|
44
|
-
<div *ngFor="let option of options" class="form-check form-check-inline">
|
|
45
|
-
<input
|
|
46
|
-
class="form-check-input"
|
|
47
|
-
type="radio"
|
|
48
|
-
[name]="groupName"
|
|
49
|
-
[value]="option.value"
|
|
50
|
-
[(ngModel)]="selectedOption"
|
|
51
|
-
(change)="emitSelection()" />
|
|
52
|
-
{{ option.label }}
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
`,
|
|
56
|
-
standalone: true,
|
|
57
|
-
imports: [NgFor, FormsModule],
|
|
58
|
-
}]
|
|
59
|
-
}], propDecorators: { label: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], options: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], groupName: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], defaultValue: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], selectionChange: [{
|
|
68
|
-
type: Output
|
|
69
|
-
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby1yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFzQjdDLE1BQU0sT0FBTyxzQkFBc0I7SUFwQm5DO1FBcUJhLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxZQUFPLEdBQXdDLEVBQUUsQ0FBQztRQUNsRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsaUJBQVksR0FBYSxJQUFJLENBQUM7UUFFN0Isb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRWxELG1CQUFjLEdBQWEsSUFBSSxDQUFDLFlBQVksQ0FBQztLQU92RDtJQUxVLGFBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0wsQ0FBQzsrR0FkUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixrT0FsQnJCOzs7Ozs7Ozs7Ozs7OztLQWNULDREQUVTLEtBQUssa0hBQUUsV0FBVzs7NEZBRW5CLHNCQUFzQjtrQkFwQmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO2lCQUNoQzs4QkFFWSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tcmFkaW8tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLWlubGluZVwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImdyb3VwTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJlbWl0U2VsZWN0aW9uKClcIiAvPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdGb3IsIEZvcm1zTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob1JhZGlvR3JvdXBDb21wb25lbnQ8VD4ge1xyXG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcclxuICAgIEBJbnB1dCgpIG9wdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHVua25vd24gfVtdID0gW107XHJcbiAgICBASW5wdXQoKSBncm91cE5hbWUgPSAnJztcclxuICAgIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQgfCBudWxsPigpO1xyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RlZE9wdGlvbjogVCB8IG51bGwgPSB0aGlzLmRlZmF1bHRWYWx1ZTtcclxuXHJcbiAgICBwdWJsaWMgZW1pdFNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { DatePipe, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ChoReviewStatusAlertComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoReviewStatusAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoReviewStatusAlertComponent, isStandalone: true, selector: "cho-review-status-alert", inputs: { reviewedBy: "reviewedBy", reviewedDateTime: "reviewedDateTime" }, ngImport: i0, template: `
|
|
7
|
-
<div class="alert alert-info" *ngIf="reviewedDateTime">
|
|
8
|
-
Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date : 'shortDate' }} at
|
|
9
|
-
{{ reviewedDateTime | date : 'shortTime' }}.
|
|
10
|
-
</div>
|
|
11
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoReviewStatusAlertComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{
|
|
16
|
-
selector: 'cho-review-status-alert',
|
|
17
|
-
template: `
|
|
18
|
-
<div class="alert alert-info" *ngIf="reviewedDateTime">
|
|
19
|
-
Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date : 'shortDate' }} at
|
|
20
|
-
{{ reviewedDateTime | date : 'shortTime' }}.
|
|
21
|
-
</div>
|
|
22
|
-
`,
|
|
23
|
-
standalone: true,
|
|
24
|
-
imports: [NgIf, DatePipe],
|
|
25
|
-
}]
|
|
26
|
-
}], propDecorators: { reviewedBy: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], reviewedDateTime: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXJldmlldy1zdGF0dXMtYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLXJldmlldy1zdGF0dXMtYWxlcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYWpELE1BQU0sT0FBTyw2QkFBNkI7K0dBQTdCLDZCQUE2QjttR0FBN0IsNkJBQTZCLCtKQVQ1Qjs7Ozs7S0FLVCw0REFFUyxJQUFJLHdGQUFFLFFBQVE7OzRGQUVmLDZCQUE2QjtrQkFYekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUU7Ozs7O0tBS1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7aUJBQzVCOzhCQUVZLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLXJldmlldy1zdGF0dXMtYWxlcnQnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiICpuZ0lmPVwicmV2aWV3ZWREYXRlVGltZVwiPlxyXG4gICAgICAgICAgICBSZXZpZXcgY29tcGxldGVkIGJ5IHt7IHJldmlld2VkQnkgfX0gb24ge3sgcmV2aWV3ZWREYXRlVGltZSB8IGRhdGUgOiAnc2hvcnREYXRlJyB9fSBhdFxyXG4gICAgICAgICAgICB7eyByZXZpZXdlZERhdGVUaW1lIHwgZGF0ZSA6ICdzaG9ydFRpbWUnIH19LlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgRGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvUmV2aWV3U3RhdHVzQWxlcnRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgcmV2aWV3ZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgQElucHV0KCkgcmV2aWV3ZWREYXRlVGltZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59XHJcbiJdfQ==
|
package/esm2022/lib/index.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export { ChoAddressInfoComponent } from './cho-address-info.component';
|
|
2
|
-
export { ChoCardComponent } from './cho-card.component';
|
|
3
|
-
export { ChoCardFiltersComponent } from './cho-card-filters.component';
|
|
4
|
-
export { ChoCardHeaderComponent } from './cho-card-header.component';
|
|
5
|
-
export { ChoCardTabsComponent } from './cho-card-tabs.component';
|
|
6
|
-
export { ChoCardToolbarComponent } from './cho-card-toolbar.component';
|
|
7
|
-
export { ChoDetailsCardComponent } from './cho-details-card.component';
|
|
8
|
-
export { ChoEmailInfoComponent } from './cho-email-info.component';
|
|
9
|
-
export { ChoPhoneInfoComponent } from './cho-phone-info.component';
|
|
10
|
-
export { ChoRadioGroupComponent } from './cho-radio-group.component';
|
|
11
|
-
export { ChoReviewStatusAlertComponent } from './cho-review-status-alert.component';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENob0FkZHJlc3NJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9DYXJkVGFic0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdGFicy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9EZXRhaWxzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hvRW1haWxJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tZW1haWwtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hvUGhvbmVJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tcGhvbmUtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hvUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vY2hvLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDaG9SZXZpZXdTdGF0dXNBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY2hvLXJldmlldy1zdGF0dXMtYWxlcnQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNoby1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9uZ3gtY2hvLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-cho-components
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1jaG8tY29tcG9uZW50c1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliJztcclxuIl19
|