ngx-cho-components 0.1.16 → 1.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
@@ -6,26 +6,30 @@ Generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.
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
 
@@ -72,12 +76,12 @@ Storybook will be available at `http://localhost:6006`
72
76
  ng test ngx-cho-components
73
77
  ```
74
78
 
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
79
+ ## Publishing
80
+
81
+ 1. **Update version** in `projects/ngx-cho-components/package.json`. Use a major version for the modal-component and peer-dependency removal.
82
+ 2. **Build dependencies and library**:
83
+ ```bash
84
+ ng build ngx-cho-common
81
85
  ng build ngx-cho-components --configuration production
82
86
  ```
83
87
  3. **Publish to npm**:
@@ -100,28 +104,20 @@ import { NgxChoComponentsModule } from 'ngx-cho-components';
100
104
  export class AppModule {}
101
105
  ```
102
106
 
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
- ```
107
+ Use components in your templates:
108
+
109
+ ```html
110
+ <cho-address-info [address]="userAddress"></cho-address-info>
111
+
112
+ <cho-radio-group
113
+ [options]="radioOptions"
114
+ [(value)]="selectedValue">
115
+ </cho-radio-group>
116
+ ```
117
+
118
+ ## Styling
119
+
120
+ Components are framework-neutral and do not require Bootstrap. Applications should provide their own layout, dialog, and theme styling.
125
121
 
126
122
  ## Documentation
127
123
 
@@ -1,5 +1,5 @@
1
- import { Component, ChangeDetectionStrategy, input } from '@angular/core';
2
1
  import { NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
3
3
  import { ChoCardToolbarComponent } from './cho-card-toolbar.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ChoCardHeaderComponent {
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
52
52
  `,
53
53
  }]
54
54
  }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBZSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBeUJ2RSxNQUFNLE9BQU8sc0JBQXNCO0lBdkJuQztRQXdCSSxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBMkIsQ0FBQztLQUM5QzsrR0FIWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0VkFsQnJCOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JULDREQWpCUyxnQkFBZ0Isb0pBQUUsdUJBQXVCOzs0RkFtQjFDLHNCQUFzQjtrQkF2QmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLWhlYWRlcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnRdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgQGlmIChoZWFkZXJUZXh0KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBoZWFkZXJUZXh0KCkgfX1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvaDM+XHJcblxyXG4gICAgICAgICAgICBAaWYgKHRvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2xiYXIoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC10b29sYmFyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZEhlYWRlckNvbXBvbmVudCB7XHJcbiAgICBoZWFkZXJUZXh0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gICAgdG9vbGJhciA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPigpO1xyXG59XHJcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBeUJ2RSxNQUFNLE9BQU8sc0JBQXNCO0lBdkJuQztRQXdCSSxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBMkIsQ0FBQztLQUM5QzsrR0FIWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0VkFsQnJCOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JULDREQWpCUyxnQkFBZ0Isb0pBQUUsdUJBQXVCOzs0RkFtQjFDLHNCQUFzQjtrQkF2QmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLWhlYWRlcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnRdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgQGlmIChoZWFkZXJUZXh0KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBoZWFkZXJUZXh0KCkgfX1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvaDM+XHJcblxyXG4gICAgICAgICAgICBAaWYgKHRvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2xiYXIoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC10b29sYmFyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZEhlYWRlckNvbXBvbmVudCB7XHJcbiAgICBoZWFkZXJUZXh0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gICAgdG9vbGJhciA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPigpO1xyXG59XHJcbiJdfQ==
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
60
60
  `,
61
61
  }]
62
62
  }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUF1QjVFLE1BQU0sT0FBTyxvQkFBb0I7SUFyQmpDO1FBc0JxQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNqRCxzQkFBaUIsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVsRSxTQUFJLEdBQUcsS0FBSyxFQUEyQyxDQUFDO1FBQ3hELGNBQVMsR0FBRyxNQUFNLEVBQVUsQ0FBQztLQWtCaEM7SUFkRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBRTFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7WUFDbEMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ2pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQXRCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrT0FoQm5COzs7Ozs7Ozs7Ozs7OztLQWNUOzs0RkFFUSxvQkFBb0I7a0JBckJoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7S0FjVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIG1vZGVsLCBPbkluaXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaG9OYXZpZ2F0aW9uU2VydmljZSwgQ2hvUm91dGVQYXJhbVNlcnZpY2UgfSBmcm9tICduZ3gtY2hvLWNvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWNhcmQtdGFicycsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGFic1wiPlxyXG4gICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICBAZm9yICh0YWIgb2YgdGFicygpOyB0cmFjayB0YWIudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT1cIm9uU2VsZWN0KHRhYi52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gdGFiLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXZpZ2F0aW9uU2VydmljZSA9IGluamVjdChDaG9OYXZpZ2F0aW9uU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlUGFyYW1TZXJ2aWNlID0gaW5qZWN0KENob1JvdXRlUGFyYW1TZXJ2aWNlKTtcclxuXHJcbiAgICB0YWJzID0gaW5wdXQ8QXJyYXk8eyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0+PigpO1xyXG4gICAgdGFiU2VsZWN0ID0gb3V0cHV0PHN0cmluZz4oKTtcclxuXHJcbiAgICBhY3RpdmVUYWI6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9IHRoaXMucm91dGVQYXJhbVNlcnZpY2UuZ2V0UXVlcnlQYXJhbWV0ZXJWYWx1ZSgndncnKSB8fCAnJztcclxuICAgICAgICB0aGlzLnRhYlNlbGVjdC5lbWl0KHRoaXMuYWN0aXZlVGFiKTtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdCh0YWJWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0YWJWYWx1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5zZXRRdWVyeVBhcmFtcyh7XHJcbiAgICAgICAgICAgIHZ3OiB0YWJWYWx1ZSA/IHRhYlZhbHVlIDogbnVsbCxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy50YWJTZWxlY3QuZW1pdCh0aGlzLmFjdGl2ZVRhYik7XHJcbiAgICB9XHJcbn1cclxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQXVCNUUsTUFBTSxPQUFPLG9CQUFvQjtJQXJCakM7UUFzQnFCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxFLFNBQUksR0FBRyxLQUFLLEVBQTJDLENBQUM7UUFDeEQsY0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBa0JoQztJQWRHLFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztZQUNsQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDakMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7K0dBdEJRLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtPQWhCbkI7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7OzRGQUVRLG9CQUFvQjtrQkFyQmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hvTmF2aWdhdGlvblNlcnZpY2UsIENob1JvdXRlUGFyYW1TZXJ2aWNlIH0gZnJvbSAnbmd4LWNoby1jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLXRhYnMnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRhYnNcIj5cclxuICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnMoKTsgdHJhY2sgdGFiLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJvblNlbGVjdCh0YWIudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIHRleHQtYWN0aXZlLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0NhcmRUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvblNlcnZpY2UgPSBpbmplY3QoQ2hvTmF2aWdhdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZVBhcmFtU2VydmljZSA9IGluamVjdChDaG9Sb3V0ZVBhcmFtU2VydmljZSk7XHJcblxyXG4gICAgdGFicyA9IGlucHV0PEFycmF5PHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9Pj4oKTtcclxuICAgIHRhYlNlbGVjdCA9IG91dHB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICAgYWN0aXZlVGFiOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0aGlzLnJvdXRlUGFyYW1TZXJ2aWNlLmdldFF1ZXJ5UGFyYW1ldGVyVmFsdWUoJ3Z3JykgfHwgJyc7XHJcbiAgICAgICAgdGhpcy50YWJTZWxlY3QuZW1pdCh0aGlzLmFjdGl2ZVRhYik7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3QodGFiVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiVmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2Uuc2V0UXVlcnlQYXJhbXMoe1xyXG4gICAgICAgICAgICB2dzogdGFiVmFsdWUgPyB0YWJWYWx1ZSA6IG51bGwsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMudGFiU2VsZWN0LmVtaXQodGhpcy5hY3RpdmVUYWIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,9 +1,9 @@
1
- import { Component, ChangeDetectionStrategy, computed, effect, viewChild, signal, input, output, } from '@angular/core';
2
1
  import { NgTemplateOutlet } from '@angular/common';
3
- import { ChoCardHeaderComponent } from './cho-card-header.component';
4
- import { ChoCardToolbarComponent } from './cho-card-toolbar.component';
5
2
  import { ChoCardFiltersComponent } from './cho-card-filters.component';
3
+ import { ChoCardHeaderComponent } from './cho-card-header.component';
6
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
7
  import * as i0 from "@angular/core";
8
8
  export class ChoCardComponent {
9
9
  constructor() {
@@ -59,7 +59,8 @@ export class ChoCardComponent {
59
59
  }
60
60
 
61
61
  @if (hasTabs()) {
62
- <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)"> </cho-card-tabs>
62
+ <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
63
+ </cho-card-tabs>
63
64
  }
64
65
 
65
66
  <div class="card-body" #contentWrapper [hidden]="!hasContent()">
@@ -104,7 +105,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
104
105
  }
105
106
 
106
107
  @if (hasTabs()) {
107
- <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)"> </cho-card-tabs>
108
+ <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
109
+ </cho-card-tabs>
108
110
  }
109
111
 
110
112
  <div class="card-body" #contentWrapper [hidden]="!hasContent()">
@@ -118,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
118
120
  `,
119
121
  }]
120
122
  }], ctorParameters: () => [] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFFUixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQTZDakUsTUFBTSxPQUFPLGdCQUFnQjtJQXFCekI7UUFwQkEsV0FBTSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUNuQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQ3BDLFlBQU8sR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDcEMsU0FBSSxHQUFHLEtBQUssRUFBMkMsQ0FBQztRQUV4RCxjQUFTLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFFN0IsdUNBQXVDO1FBQ3ZDLG1CQUFjLEdBQUcsU0FBUyxDQUFhLGdCQUFnQixDQUFDLENBQUM7UUFFekQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUMzRSxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25FLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUd6QyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBRXRDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNyRSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVk7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBQ3JELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25DLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQzsrR0F6Q1EsZ0JBQWdCO21HQUFoQixnQkFBZ0IsdytCQWhDZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJULDREQXBDRyxnQkFBZ0Isb0pBQ2hCLHNCQUFzQiwrRkFDdEIsdUJBQXVCLDZEQUN2Qix1QkFBdUIsNkRBQ3ZCLG9CQUFvQjs7NEZBa0NmLGdCQUFnQjtrQkEzQzVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3FCQUN2QjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIGNvbXB1dGVkLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIGVmZmVjdCxcclxuICAgIHZpZXdDaGlsZCxcclxuICAgIHNpZ25hbCxcclxuICAgIGlucHV0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBvdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaG9DYXJkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tY2FyZC1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hvQ2FyZEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLWZpbHRlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hvQ2FyZFRhYnNDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLXRhYnMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tY2FyZCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgICAgICBDaG9DYXJkSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIENob0NhcmRUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgICAgIENob0NhcmRGaWx0ZXJzQ29tcG9uZW50LFxyXG4gICAgICAgIENob0NhcmRUYWJzQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItM1wiPlxyXG4gICAgICAgICAgICBAaWYgKGhhc0hlYWRlcigpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtaGVhZGVyIFt0b29sYmFyXT1cInRvb2xiYXIoKVwiIFtoZWFkZXJUZXh0XT1cImhlYWRlclRleHQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXIoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGhhc1Rvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2xiYXIoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC10b29sYmFyPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgKGhhc0ZpbHRlcnMoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLWZpbHRlcnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlcnMoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC1maWx0ZXJzPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgKGhhc1RhYnMoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLXRhYnMgW3RhYnNdPVwidGFicygpIVwiICh0YWJTZWxlY3QpPVwidGFiU2VsZWN0LmVtaXQoJGV2ZW50KVwiPiA8L2Noby1jYXJkLXRhYnM+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIiAjY29udGVudFdyYXBwZXIgW2hpZGRlbl09XCIhaGFzQ29udGVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbnRlbnQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50KCkhXCIgLz5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0NhcmRDb21wb25lbnQge1xyXG4gICAgaGVhZGVyID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAgIGhlYWRlclRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgICB0b29sYmFyID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAgIGZpbHRlcnMgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gICAgY29udGVudCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgICB0YWJzID0gaW5wdXQ8QXJyYXk8eyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0+PigpO1xyXG5cclxuICAgIHRhYlNlbGVjdCA9IG91dHB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICAgLy8gdXNlZCBmb3IgcHJvamVjdGVkIGNvbnRlbnQgZGV0ZWN0aW9uXHJcbiAgICBjb250ZW50V3JhcHBlciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignY29udGVudFdyYXBwZXInKTtcclxuXHJcbiAgICBoYXNDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50KCkgfHwgdGhpcy5faGFzUHJvamVjdGVkQ29udGVudCgpKTtcclxuICAgIGhhc0ZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuZmlsdGVycygpKTtcclxuICAgIGhhc0hlYWRlciA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5oZWFkZXIoKSB8fCAhIXRoaXMuaGVhZGVyVGV4dCgpKTtcclxuICAgIGhhc1RhYnMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudGFicygpICYmIHRoaXMudGFicygpIS5sZW5ndGggPiAwKTtcclxuICAgIGhhc1Rvb2xiYXIgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudG9vbGJhcigpKTtcclxuXHJcbiAgICBwcml2YXRlIF9oYXNQcm9qZWN0ZWRDb250ZW50ID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5kZXRlY3RQcm9qZWN0ZWRDb250ZW50KCksIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXRlY3RQcm9qZWN0ZWRDb250ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLmNvbnRlbnRXcmFwcGVyKCk7XHJcblxyXG4gICAgICAgIGlmICh3cmFwcGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB3cmFwcGVyLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBoYXNSZWFsQ29udGVudCA9IEFycmF5LmZyb20oZWxlbWVudC5jaGlsZE5vZGVzKS5zb21lKChub2RlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS50ZXh0Q29udGVudD8udHJpbSgpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5faGFzUHJvamVjdGVkQ29udGVudC5zZXQoaGFzUmVhbENvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
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=
@@ -6,8 +6,7 @@ export { ChoCardTabsComponent } from './cho-card-tabs.component';
6
6
  export { ChoCardToolbarComponent } from './cho-card-toolbar.component';
7
7
  export { ChoDetailsCardComponent } from './cho-details-card.component';
8
8
  export { ChoEmailInfoComponent } from './cho-email-info.component';
9
- export { ChoModalComponent } from './cho-modal.component';
10
9
  export { ChoPhoneInfoComponent } from './cho-phone-info.component';
11
10
  export { ChoRadioGroupComponent } from './cho-radio-group.component';
12
11
  export { ChoReviewStatusAlertComponent } from './cho-review-status-alert.component';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENob0FkZHJlc3NJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9DYXJkVGFic0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdGFicy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9EZXRhaWxzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9FbWFpbEluZm9Db21wb25lbnQgfSBmcm9tICcuL2Noby1lbWFpbC1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvUGhvbmVJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tcGhvbmUtaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9SYWRpb0dyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvUmV2aWV3U3RhdHVzQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2Noby1yZXZpZXctc3RhdHVzLWFsZXJ0LmNvbXBvbmVudCc7XHJcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENob0FkZHJlc3NJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0NhcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9DYXJkVGFic0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdGFicy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9EZXRhaWxzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hvRW1haWxJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tZW1haWwtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hvUGhvbmVJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tcGhvbmUtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2hvUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vY2hvLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDaG9SZXZpZXdTdGF0dXNBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY2hvLXJldmlldy1zdGF0dXMtYWxlcnQuY29tcG9uZW50JztcbiJdfQ==
@@ -3,9 +3,7 @@ import { Component, Input, ChangeDetectionStrategy, input, inject, output, viewC
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 {
@@ -42,6 +40,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
42
40
  type: Input
43
41
  }] } });
44
42
 
43
+ class ChoCardFiltersComponent {
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ 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 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
48
+ type: Component,
49
+ args: [{
50
+ selector: 'cho-card-filters',
51
+ standalone: true,
52
+ changeDetection: ChangeDetectionStrategy.OnPush,
53
+ imports: [],
54
+ host: { class: 'card-filters' },
55
+ template: ` <ng-content /> `,
56
+ }]
57
+ }] });
58
+
45
59
  class ChoCardToolbarComponent {
46
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
61
  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 }); }
@@ -109,22 +123,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
109
123
  }]
110
124
  }] });
111
125
 
112
- class ChoCardFiltersComponent {
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- 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 }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
117
- type: Component,
118
- args: [{
119
- selector: 'cho-card-filters',
120
- standalone: true,
121
- changeDetection: ChangeDetectionStrategy.OnPush,
122
- imports: [],
123
- host: { class: 'card-filters' },
124
- template: ` <ng-content /> `,
125
- }]
126
- }] });
127
-
128
126
  class ChoCardTabsComponent {
129
127
  constructor() {
130
128
  this.navigationService = inject(ChoNavigationService);
@@ -239,7 +237,8 @@ class ChoCardComponent {
239
237
  }
240
238
 
241
239
  @if (hasTabs()) {
242
- <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)"> </cho-card-tabs>
240
+ <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
241
+ </cho-card-tabs>
243
242
  }
244
243
 
245
244
  <div class="card-body" #contentWrapper [hidden]="!hasContent()">
@@ -284,7 +283,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
284
283
  }
285
284
 
286
285
  @if (hasTabs()) {
287
- <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)"> </cho-card-tabs>
286
+ <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
287
+ </cho-card-tabs>
288
288
  }
289
289
 
290
290
  <div class="card-body" #contentWrapper [hidden]="!hasContent()">
@@ -381,60 +381,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
381
381
  type: Input
382
382
  }] } });
383
383
 
384
- class ChoModalComponent {
385
- constructor(activeModal) {
386
- this.activeModal = activeModal;
387
- }
388
- 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 }); }
389
- 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: `
390
- <div class="modal-header">
391
- <h2 id="modal-basic-title" class="modal-title">{{ title }}</h2>
392
- <button
393
- (click)="activeModal.dismiss()"
394
- type="button"
395
- class="btn btn-light py-1 px-3 fa-solid fa-x"></button>
396
- </div>
397
-
398
- <div class="modal-body">
399
- <ng-content></ng-content>
400
- </div>
401
-
402
- <div class="modal-footer">
403
- <ng-content #footer select="[footer]"></ng-content>
404
- </div>
405
- `, isInline: true }); }
406
- }
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoModalComponent, decorators: [{
408
- type: Component,
409
- args: [{
410
- selector: 'cho-modal',
411
- template: `
412
- <div class="modal-header">
413
- <h2 id="modal-basic-title" class="modal-title">{{ title }}</h2>
414
- <button
415
- (click)="activeModal.dismiss()"
416
- type="button"
417
- class="btn btn-light py-1 px-3 fa-solid fa-x"></button>
418
- </div>
419
-
420
- <div class="modal-body">
421
- <ng-content></ng-content>
422
- </div>
423
-
424
- <div class="modal-footer">
425
- <ng-content #footer select="[footer]"></ng-content>
426
- </div>
427
- `,
428
- standalone: true,
429
- providers: [NgbActiveModal],
430
- }]
431
- }], ctorParameters: () => [{ type: i1$1.NgbActiveModal }], propDecorators: { title: [{
432
- type: Input
433
- }], filters: [{
434
- type: ContentChild,
435
- args: ['footer']
436
- }] } });
437
-
438
384
  class ChoPhoneInfoComponent {
439
385
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoPhoneInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
440
386
  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"
@@ -490,7 +436,7 @@ class ChoRadioGroupComponent {
490
436
  {{ option.label }}
491
437
  </div>
492
438
  </div>
493
- `, 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"] }] }); }
439
+ `, 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"] }] }); }
494
440
  }
495
441
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoRadioGroupComponent, decorators: [{
496
442
  type: Component,
@@ -562,5 +508,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
562
508
  * Generated bundle index. Do not edit.
563
509
  */
564
510
 
565
- export { ChoAddressInfoComponent, ChoCardComponent, ChoCardFiltersComponent, ChoCardHeaderComponent, ChoCardTabsComponent, ChoCardToolbarComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoModalComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent };
511
+ export { ChoAddressInfoComponent, ChoCardComponent, ChoCardFiltersComponent, ChoCardHeaderComponent, ChoCardTabsComponent, ChoCardToolbarComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent };
566
512
  //# sourceMappingURL=ngx-cho-components.mjs.map
@@ -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-toolbar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-header.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-filters.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-modal.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-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 { Component, ChangeDetectionStrategy, TemplateRef, input } from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\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 { 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 { ChangeDetectionStrategy, Component, inject, input, model, 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 {\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\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { ChoCardHeaderComponent } from './cho-card-header.component';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\nimport { ChoCardFiltersComponent } from './cho-card-filters.component';\r\nimport { ChoCardTabsComponent } from './cho-card-tabs.component';\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)\"> </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 { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'cho-modal',\r\n template: `\r\n <div class=\"modal-header\">\r\n <h2 id=\"modal-basic-title\" class=\"modal-title\">{{ title }}</h2>\r\n <button\r\n (click)=\"activeModal.dismiss()\"\r\n type=\"button\"\r\n class=\"btn btn-light py-1 px-3 fa-solid fa-x\"></button>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div class=\"modal-footer\">\r\n <ng-content #footer select=\"[footer]\"></ng-content>\r\n </div>\r\n `,\r\n standalone: true,\r\n providers: [NgbActiveModal],\r\n})\r\nexport class ChoModalComponent {\r\n @Input()\r\n title!: string;\r\n\r\n @ContentChild('footer')\r\n filters: TemplateRef<unknown> | undefined;\r\n\r\n constructor(public readonly activeModal: NgbActiveModal) {}\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":"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"}
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":"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"}
package/lib/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export { ChoCardTabsComponent } from './cho-card-tabs.component';
6
6
  export { ChoCardToolbarComponent } from './cho-card-toolbar.component';
7
7
  export { ChoDetailsCardComponent } from './cho-details-card.component';
8
8
  export { ChoEmailInfoComponent } from './cho-email-info.component';
9
- export { ChoModalComponent } from './cho-modal.component';
10
9
  export { ChoPhoneInfoComponent } from './cho-phone-info.component';
11
10
  export { ChoRadioGroupComponent } from './cho-radio-group.component';
12
11
  export { ChoReviewStatusAlertComponent } from './cho-review-status-alert.component';
package/package.json CHANGED
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "name": "ngx-cho-components",
3
- "version": "0.1.16",
3
+ "version": "1.0.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",
7
- "bootstrap": "^5.3.3",
8
- "ngx-cho-common": "^1.0.14",
9
- "@ng-bootstrap/ng-bootstrap": "^17.0.0"
7
+ "ngx-cho-common": "^2.0.0"
10
8
  },
11
9
  "dependencies": {
12
10
  "tslib": "^2.3.0"
@@ -1,58 +0,0 @@
1
- import { Component, ContentChild, Input } from '@angular/core';
2
- import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ng-bootstrap/ng-bootstrap";
5
- export class ChoModalComponent {
6
- constructor(activeModal) {
7
- this.activeModal = activeModal;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoModalComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component }); }
10
- 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: `
11
- <div class="modal-header">
12
- <h2 id="modal-basic-title" class="modal-title">{{ title }}</h2>
13
- <button
14
- (click)="activeModal.dismiss()"
15
- type="button"
16
- class="btn btn-light py-1 px-3 fa-solid fa-x"></button>
17
- </div>
18
-
19
- <div class="modal-body">
20
- <ng-content></ng-content>
21
- </div>
22
-
23
- <div class="modal-footer">
24
- <ng-content #footer select="[footer]"></ng-content>
25
- </div>
26
- `, isInline: true }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoModalComponent, decorators: [{
29
- type: Component,
30
- args: [{
31
- selector: 'cho-modal',
32
- template: `
33
- <div class="modal-header">
34
- <h2 id="modal-basic-title" class="modal-title">{{ title }}</h2>
35
- <button
36
- (click)="activeModal.dismiss()"
37
- type="button"
38
- class="btn btn-light py-1 px-3 fa-solid fa-x"></button>
39
- </div>
40
-
41
- <div class="modal-body">
42
- <ng-content></ng-content>
43
- </div>
44
-
45
- <div class="modal-footer">
46
- <ng-content #footer select="[footer]"></ng-content>
47
- </div>
48
- `,
49
- standalone: true,
50
- providers: [NgbActiveModal],
51
- }]
52
- }], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { title: [{
53
- type: Input
54
- }], filters: [{
55
- type: ContentChild,
56
- args: ['footer']
57
- }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBd0I1RCxNQUFNLE9BQU8saUJBQWlCO0lBTzFCLFlBQTRCLFdBQTJCO1FBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUFHLENBQUM7K0dBUGxELGlCQUFpQjttR0FBakIsaUJBQWlCLG9GQUZmLENBQUMsY0FBYyxDQUFDLHlIQWxCakI7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlQ7OzRGQUlRLGlCQUFpQjtrQkF0QjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM5QjttRkFHRyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixZQUFZO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGgyIGlkPVwibW9kYWwtYmFzaWMtdGl0bGVcIiBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gyPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IHB5LTEgcHgtMyBmYS1zb2xpZCBmYS14XCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCAjZm9vdGVyIHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBwcm92aWRlcnM6IFtOZ2JBY3RpdmVNb2RhbF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9Nb2RhbENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgdGl0bGUhOiBzdHJpbmc7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnZm9vdGVyJylcclxuICAgIGZpbHRlcnM6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwpIHt9XHJcbn1cclxuIl19
@@ -1,11 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
- import * as i0 from "@angular/core";
4
- export declare class ChoModalComponent {
5
- readonly activeModal: NgbActiveModal;
6
- title: string;
7
- filters: TemplateRef<unknown> | undefined;
8
- constructor(activeModal: NgbActiveModal);
9
- static ɵfac: i0.ɵɵFactoryDeclaration<ChoModalComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<ChoModalComponent, "cho-modal", never, { "title": { "alias": "title"; "required": false; }; }, {}, ["filters"], ["*", "[footer]"], true, never>;
11
- }