ngx-cho-components 0.1.17 → 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 CHANGED
@@ -1,31 +1,35 @@
1
1
  # NgxChoComponents
2
2
 
3
- This library provides reusable Angular components for CHO applications with comprehensive Storybook documentation.
3
+ This library provides reusable Angular components for CHO applications.
4
4
 
5
- Generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
5
+ Generated with [Angular CLI](https://github.com/angular/angular-cli) version 19.2.26.
6
6
 
7
7
  ## Overview
8
8
 
9
- NgxChoComponents includes:
10
- - `ChoAddressInfoComponent` - Address display and editing
11
- - `ChoDetailsCardComponent` - Information card layout
12
- - `ChoEmailInfoComponent` - Email display and validation
13
- - `ChoModalComponent` - Modal dialog wrapper
14
- - `ChoPhoneInfoComponent` - Phone number display and formatting
15
- - `ChoRadioGroupComponent` - Radio button group with validation
16
- - `ChoReviewStatusAlertComponent` - Status alert messages
17
-
18
- ## Dependencies
19
-
20
- This library depends on:
21
- - **ngx-cho-common** (must be built first)
22
- - Bootstrap (for styling)
23
-
24
- ## Installation
25
-
26
- ```bash
27
- npm install ngx-cho-components ngx-cho-common bootstrap
28
- ```
9
+ NgxChoComponents includes:
10
+ - `ChoAddressInfoComponent` - Address display and editing
11
+ - `ChoDetailsCardComponent` - Information card layout
12
+ - `ChoEmailInfoComponent` - Email display and validation
13
+ - `ChoPhoneInfoComponent` - Phone number display and formatting
14
+ - `ChoRadioGroupComponent` - Radio button group with validation
15
+ - `ChoReviewStatusAlertComponent` - Status alert messages
16
+
17
+ ## Dependencies
18
+
19
+ This library depends on:
20
+ - **ngx-cho-common** (must be built first)
21
+
22
+ This library does not require Bootstrap, ng-bootstrap, Popper, or PrimeNG.
23
+
24
+ ## Installation
25
+
26
+ ```bash
27
+ npm install ngx-cho-components ngx-cho-common
28
+ ```
29
+
30
+ ## Breaking Changes
31
+
32
+ `ChoModalComponent` and the `<cho-modal>` selector have been removed. Applications should replace modal usage with an app-local dialog implementation, such as a native dialog or a PrimeNG dialog/drawer. This package no longer declares `bootstrap` or `@ng-bootstrap/ng-bootstrap` as peer dependencies.
29
33
 
30
34
  ## Build
31
35
 
@@ -52,32 +56,18 @@ ng generate service service-name --project ngx-cho-components
52
56
 
53
57
  > Note: Always include `--project ngx-cho-components` or the component will be added to the default project.
54
58
 
55
- ### Storybook Development
56
-
57
- This library includes Storybook for component development and documentation:
58
-
59
- ```bash
60
- # Start Storybook development server
61
- ng run ngx-cho-components:storybook
62
-
63
- # Build Storybook for deployment
64
- ng run ngx-cho-components:build-storybook
65
- ```
66
-
67
- Storybook will be available at `http://localhost:6006`
68
-
69
- ### Running Tests
59
+ ### Running Tests
70
60
 
71
61
  ```bash
72
62
  ng test ngx-cho-components
73
63
  ```
74
64
 
75
- ## Publishing
76
-
77
- 1. **Update version** in `projects/ngx-cho-components/package.json`
78
- 2. **Build dependencies and library**:
79
- ```bash
80
- ng build ngx-cho-common
65
+ ## Publishing
66
+
67
+ 1. **Update version** in `projects/ngx-cho-components/package.json`. Use a major version for the modal-component and peer-dependency removal.
68
+ 2. **Build dependencies and library**:
69
+ ```bash
70
+ ng build ngx-cho-common
81
71
  ng build ngx-cho-components --configuration production
82
72
  ```
83
73
  3. **Publish to npm**:
@@ -100,38 +90,22 @@ import { NgxChoComponentsModule } from 'ngx-cho-components';
100
90
  export class AppModule {}
101
91
  ```
102
92
 
103
- Use components in your templates:
104
-
105
- ```html
106
- <cho-address-info [address]="userAddress"></cho-address-info>
107
-
108
- <cho-modal [isOpen]="showModal" (closeModal)="handleClose()">
109
- <p>Modal content here</p>
110
- </cho-modal>
111
-
112
- <cho-radio-group
113
- [options]="radioOptions"
114
- [(value)]="selectedValue">
115
- </cho-radio-group>
116
- ```
117
-
118
- ## Styling
119
-
120
- Components are designed to work with Bootstrap. Include Bootstrap CSS in your application:
121
-
122
- ```scss
123
- @import 'bootstrap/dist/css/bootstrap.min.css';
124
- ```
125
-
126
- ## Documentation
127
-
128
- View component documentation and examples in Storybook:
129
- 1. Run `ng run ngx-cho-components:storybook`
130
- 2. Navigate to `http://localhost:6006`
131
- 3. Browse component stories and interact with examples
132
-
133
- ## Further Help
134
-
135
- - [Angular CLI Overview and Command Reference](https://angular.io/cli)
136
- - [Storybook for Angular](https://storybook.js.org/docs/angular/get-started/introduction)
137
- - [Angular Library Development Guide](https://angular.io/guide/creating-libraries)
93
+ Use components in your templates:
94
+
95
+ ```html
96
+ <cho-address-info [address]="userAddress"></cho-address-info>
97
+
98
+ <cho-radio-group
99
+ [options]="radioOptions"
100
+ [(value)]="selectedValue">
101
+ </cho-radio-group>
102
+ ```
103
+
104
+ ## Styling
105
+
106
+ Components are framework-neutral and do not require Bootstrap. Applications should provide their own layout, dialog, and theme styling.
107
+
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,16 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, ChangeDetectionStrategy, input, inject, output, viewChild, computed, signal, effect, ContentChild, EventEmitter, Output } from '@angular/core';
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';
6
- import * as i1$1 from '@ng-bootstrap/ng-bootstrap';
7
- import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
8
- import * as i1$2 from '@angular/forms';
6
+ import * as i1$1 from '@angular/forms';
9
7
  import { FormsModule } from '@angular/forms';
10
8
 
11
9
  class ChoAddressInfoComponent {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- 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">
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">
14
12
  {{ address.addressLine1 | titlecase }}
15
13
  </p>
16
14
  <p *ngIf="address.addressLine2" class="m-0">
@@ -21,7 +19,7 @@ class ChoAddressInfoComponent {
21
19
  {{ address.postalCode }}
22
20
  </p> `, isInline: true, dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
23
21
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoAddressInfoComponent, decorators: [{
25
23
  type: Component,
26
24
  args: [{
27
25
  selector: 'cho-address-info',
@@ -35,7 +33,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
35
33
  {{ address.city | titlecase }}, {{ address.stateProvinceCode }}
36
34
  {{ address.postalCode }}
37
35
  </p> `,
38
- standalone: true,
39
36
  imports: [TitleCasePipe, NgIf],
40
37
  }]
41
38
  }], propDecorators: { address: [{
@@ -43,14 +40,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
40
  }] } });
44
41
 
45
42
  class ChoCardFiltersComponent {
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- 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 }); }
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 }); }
48
45
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
50
47
  type: Component,
51
48
  args: [{
52
49
  selector: 'cho-card-filters',
53
- standalone: true,
54
50
  changeDetection: ChangeDetectionStrategy.OnPush,
55
51
  imports: [],
56
52
  host: { class: 'card-filters' },
@@ -59,14 +55,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
59
55
  }] });
60
56
 
61
57
  class ChoCardToolbarComponent {
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- 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 }); }
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 }); }
64
60
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardToolbarComponent, decorators: [{
66
62
  type: Component,
67
63
  args: [{
68
64
  selector: 'cho-card-toolbar',
69
- standalone: true,
70
65
  changeDetection: ChangeDetectionStrategy.OnPush,
71
66
  imports: [],
72
67
  host: { class: 'card-toolbar' },
@@ -79,8 +74,8 @@ class ChoCardHeaderComponent {
79
74
  this.headerText = input();
80
75
  this.toolbar = input();
81
76
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
- 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: `
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: `
84
79
  <div class="card-header">
85
80
  <h3 class="card-title">
86
81
  @if (headerText()) {
@@ -98,11 +93,10 @@ class ChoCardHeaderComponent {
98
93
  </div>
99
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 }); }
100
95
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardHeaderComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardHeaderComponent, decorators: [{
102
97
  type: Component,
103
98
  args: [{
104
99
  selector: 'cho-card-header',
105
- standalone: true,
106
100
  changeDetection: ChangeDetectionStrategy.OnPush,
107
101
  imports: [NgTemplateOutlet, ChoCardToolbarComponent],
108
102
  template: `
@@ -143,8 +137,8 @@ class ChoCardTabsComponent {
143
137
  });
144
138
  this.tabSelect.emit(this.activeTab);
145
139
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
147
- 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: `
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: `
148
142
  <div class="card-tabs">
149
143
  <ul>
150
144
  @for (tab of tabs(); track tab.value) {
@@ -160,11 +154,10 @@ class ChoCardTabsComponent {
160
154
  </div>
161
155
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
156
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardTabsComponent, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardTabsComponent, decorators: [{
164
158
  type: Component,
165
159
  args: [{
166
160
  selector: 'cho-card-tabs',
167
- standalone: true,
168
161
  changeDetection: ChangeDetectionStrategy.OnPush,
169
162
  imports: [],
170
163
  template: `
@@ -219,8 +212,8 @@ class ChoCardComponent {
219
212
  this._hasProjectedContent.set(hasRealContent);
220
213
  }
221
214
  }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
- 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: `
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: `
224
217
  <div class="card mb-3">
225
218
  @if (hasHeader()) {
226
219
  <cho-card-header [toolbar]="toolbar()" [headerText]="headerText()">
@@ -253,11 +246,10 @@ class ChoCardComponent {
253
246
  </div>
254
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 }); }
255
248
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoCardComponent, decorators: [{
257
250
  type: Component,
258
251
  args: [{
259
252
  selector: 'cho-card',
260
- standalone: true,
261
253
  changeDetection: ChangeDetectionStrategy.OnPush,
262
254
  imports: [
263
255
  NgTemplateOutlet,
@@ -306,8 +298,8 @@ class ChoDetailsCardComponent {
306
298
  this.cardTitle = '';
307
299
  this.toolbar = null;
308
300
  }
309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
- 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: `
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: `
311
303
  <div class="card mb-3">
312
304
  <div class="card-header">
313
305
  <h3 class="card-title">{{ cardTitle }}</h3>
@@ -323,7 +315,7 @@ class ChoDetailsCardComponent {
323
315
  </div>
324
316
  `, isInline: true }); }
325
317
  }
326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, decorators: [{
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoDetailsCardComponent, decorators: [{
327
319
  type: Component,
328
320
  args: [{
329
321
  selector: 'cho-details-card',
@@ -358,15 +350,15 @@ class ChoEmailInfoComponent {
358
350
  ? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)
359
351
  : '';
360
352
  }
361
- 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 }); }
362
- 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"
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"
363
355
  ><span *ngIf="email.emailTypeCode">{{ email.emailTypeCode[0] }}: </span>
364
356
  <a [href]="sanitizedEmailLink">{{ email.emailAddress }}</a>
365
357
  <small *ngIf="email.description"> ({{ email.description }})</small></ng-container
366
358
  >
367
359
  <ng-template #empty><span>--</span></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
368
360
  }
369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoEmailInfoComponent, decorators: [{
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoEmailInfoComponent, decorators: [{
370
362
  type: Component,
371
363
  args: [{
372
364
  selector: 'cho-email-info',
@@ -376,77 +368,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
376
368
  <small *ngIf="email.description"> ({{ email.description }})</small></ng-container
377
369
  >
378
370
  <ng-template #empty><span>--</span></ng-template>`,
379
- standalone: true,
380
371
  imports: [NgIf],
381
372
  }]
382
373
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { email: [{
383
374
  type: Input
384
375
  }] } });
385
376
 
386
- class ChoModalComponent {
387
- constructor(activeModal) {
388
- this.activeModal = activeModal;
389
- }
390
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoModalComponent, deps: [{ token: i1$1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component }); }
391
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoModalComponent, isStandalone: true, selector: "cho-modal", inputs: { title: "title" }, providers: [NgbActiveModal], queries: [{ propertyName: "filters", first: true, predicate: ["footer"], descendants: true }], ngImport: i0, template: `
392
- <div class="modal-header">
393
- <h2 id="modal-basic-title" class="modal-title">{{ title }}</h2>
394
- <button
395
- (click)="activeModal.dismiss()"
396
- type="button"
397
- class="btn btn-light py-1 px-3 fa-solid fa-x"></button>
398
- </div>
399
-
400
- <div class="modal-body">
401
- <ng-content></ng-content>
402
- </div>
403
-
404
- <div class="modal-footer">
405
- <ng-content #footer select="[footer]"></ng-content>
406
- </div>
407
- `, isInline: true }); }
408
- }
409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoModalComponent, decorators: [{
410
- type: Component,
411
- args: [{
412
- selector: 'cho-modal',
413
- template: `
414
- <div class="modal-header">
415
- <h2 id="modal-basic-title" class="modal-title">{{ title }}</h2>
416
- <button
417
- (click)="activeModal.dismiss()"
418
- type="button"
419
- class="btn btn-light py-1 px-3 fa-solid fa-x"></button>
420
- </div>
421
-
422
- <div class="modal-body">
423
- <ng-content></ng-content>
424
- </div>
425
-
426
- <div class="modal-footer">
427
- <ng-content #footer select="[footer]"></ng-content>
428
- </div>
429
- `,
430
- standalone: true,
431
- providers: [NgbActiveModal],
432
- }]
433
- }], ctorParameters: () => [{ type: i1$1.NgbActiveModal }], propDecorators: { title: [{
434
- type: Input
435
- }], filters: [{
436
- type: ContentChild,
437
- args: ['footer']
438
- }] } });
439
-
440
377
  class ChoPhoneInfoComponent {
441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoPhoneInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
442
- 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"
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"
443
380
  ><span *ngIf="phone.phoneTypeCode">{{ phone.phoneTypeCode[0] }}: </span>
444
381
  {{ phone.phoneNumber }}
445
382
  <small *ngIf="phone.description"> ({{ phone.description }})</small></ng-container
446
383
  >
447
384
  <ng-template #empty><span>--</span></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
448
385
  }
449
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoPhoneInfoComponent, decorators: [{
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoPhoneInfoComponent, decorators: [{
450
387
  type: Component,
451
388
  args: [{
452
389
  selector: 'cho-phone-info',
@@ -456,7 +393,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
456
393
  <small *ngIf="phone.description"> ({{ phone.description }})</small></ng-container
457
394
  >
458
395
  <ng-template #empty><span>--</span></ng-template>`,
459
- standalone: true,
460
396
  imports: [NgIf],
461
397
  }]
462
398
  }], propDecorators: { phone: [{
@@ -477,8 +413,8 @@ class ChoRadioGroupComponent {
477
413
  this.selectionChange.emit(this.selectedOption);
478
414
  }
479
415
  }
480
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
481
- 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: `
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: `
482
418
  <div>
483
419
  <label class="form-label">{{ label }}</label>
484
420
  <div *ngFor="let option of options" class="form-check form-check-inline">
@@ -492,9 +428,9 @@ class ChoRadioGroupComponent {
492
428
  {{ option.label }}
493
429
  </div>
494
430
  </div>
495
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.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$2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
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"] }] }); }
496
432
  }
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoRadioGroupComponent, decorators: [{
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoRadioGroupComponent, decorators: [{
498
434
  type: Component,
499
435
  args: [{
500
436
  selector: 'cho-radio-group',
@@ -513,7 +449,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
513
449
  </div>
514
450
  </div>
515
451
  `,
516
- standalone: true,
517
452
  imports: [NgFor, FormsModule],
518
453
  }]
519
454
  }], propDecorators: { label: [{
@@ -529,25 +464,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
529
464
  }] } });
530
465
 
531
466
  class ChoReviewStatusAlertComponent {
532
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoReviewStatusAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
533
- 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: `
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: `
534
469
  <div class="alert alert-info" *ngIf="reviewedDateTime">
535
- Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date : 'shortDate' }} at
536
- {{ reviewedDateTime | date : 'shortTime' }}.
470
+ Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date: 'shortDate' }} at
471
+ {{ reviewedDateTime | date: 'shortTime' }}.
537
472
  </div>
538
473
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
539
474
  }
540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoReviewStatusAlertComponent, decorators: [{
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: ChoReviewStatusAlertComponent, decorators: [{
541
476
  type: Component,
542
477
  args: [{
543
478
  selector: 'cho-review-status-alert',
544
479
  template: `
545
480
  <div class="alert alert-info" *ngIf="reviewedDateTime">
546
- Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date : 'shortDate' }} at
547
- {{ reviewedDateTime | date : 'shortTime' }}.
481
+ Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date: 'shortDate' }} at
482
+ {{ reviewedDateTime | date: 'shortTime' }}.
548
483
  </div>
549
484
  `,
550
- standalone: true,
551
485
  imports: [NgIf, DatePipe],
552
486
  }]
553
487
  }], propDecorators: { reviewedBy: [{
@@ -564,5 +498,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
564
498
  * Generated bundle index. Do not edit.
565
499
  */
566
500
 
567
- export { ChoAddressInfoComponent, ChoCardComponent, ChoCardFiltersComponent, ChoCardHeaderComponent, ChoCardTabsComponent, ChoCardToolbarComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoModalComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent };
501
+ export { ChoAddressInfoComponent, ChoCardComponent, ChoCardFiltersComponent, ChoCardHeaderComponent, ChoCardTabsComponent, ChoCardToolbarComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent };
568
502
  //# sourceMappingURL=ngx-cho-components.mjs.map