ngx-cho-components 0.1.3 → 0.1.6

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.
@@ -0,0 +1,92 @@
1
+ import { Component, ChangeDetectionStrategy, contentChild, computed, contentChildren, ElementRef, } from '@angular/core';
2
+ import { ChoHeaderBarComponent } from './cho-header-bar.component';
3
+ import { ChoToolBarComponent } from './cho-tool-bar.component';
4
+ import * as i0 from "@angular/core";
5
+ export class ChoCardComponent {
6
+ constructor() {
7
+ this.elements = contentChildren(ElementRef, { descendants: true });
8
+ this.header = contentChild(ChoHeaderBarComponent);
9
+ this.toolBar = contentChild(ChoToolBarComponent);
10
+ this.hasContent = computed(() => {
11
+ return this.elements().some(el => {
12
+ const tag = el.nativeElement.tagName.toLowerCase();
13
+ return !['cho-header-bar', 'cho-tool-bar'].includes(tag);
14
+ });
15
+ });
16
+ this.hasHeader = computed(() => !!this.header());
17
+ this.hasToolbar = computed(() => !!this.toolBar());
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardComponent, isStandalone: true, selector: "cho-card", queries: [{ propertyName: "elements", predicate: ElementRef, descendants: true, isSignal: true }, { propertyName: "header", first: true, predicate: ChoHeaderBarComponent, descendants: true, isSignal: true }, { propertyName: "toolBar", first: true, predicate: ChoToolBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
21
+ <section class="card mb-3">
22
+ @if (hasHeader() && hasToolbar()) {
23
+ <cho-header-bar>
24
+ <ng-content select="cho-header-bar" />
25
+
26
+ <cho-tool-bar>
27
+ <ng-content select="cho-tool-bar" />
28
+ </cho-tool-bar>
29
+ </cho-header-bar>
30
+ } @else {
31
+ @if (hasHeader()) {
32
+ <cho-header-bar>
33
+ <ng-content select="cho-header-bar" />
34
+ </cho-header-bar>
35
+ }
36
+
37
+ @if (hasToolbar()) {
38
+ <cho-tool-bar>
39
+ <ng-content select="cho-tool-bar" />
40
+ </cho-tool-bar>
41
+ }
42
+ }
43
+
44
+ @if (hasContent()) {
45
+ <div class="card-body">
46
+ <ng-content />
47
+ </div>
48
+ }
49
+ </section>
50
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoHeaderBarComponent, selector: "cho-header-bar" }, { kind: "component", type: ChoToolBarComponent, selector: "cho-tool-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
53
+ type: Component,
54
+ args: [{
55
+ selector: 'cho-card',
56
+ standalone: true,
57
+ changeDetection: ChangeDetectionStrategy.OnPush,
58
+ imports: [ChoHeaderBarComponent, ChoToolBarComponent],
59
+ template: `
60
+ <section class="card mb-3">
61
+ @if (hasHeader() && hasToolbar()) {
62
+ <cho-header-bar>
63
+ <ng-content select="cho-header-bar" />
64
+
65
+ <cho-tool-bar>
66
+ <ng-content select="cho-tool-bar" />
67
+ </cho-tool-bar>
68
+ </cho-header-bar>
69
+ } @else {
70
+ @if (hasHeader()) {
71
+ <cho-header-bar>
72
+ <ng-content select="cho-header-bar" />
73
+ </cho-header-bar>
74
+ }
75
+
76
+ @if (hasToolbar()) {
77
+ <cho-tool-bar>
78
+ <ng-content select="cho-tool-bar" />
79
+ </cho-tool-bar>
80
+ }
81
+ }
82
+
83
+ @if (hasContent()) {
84
+ <div class="card-body">
85
+ <ng-content />
86
+ </div>
87
+ }
88
+ </section>
89
+ `,
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixRQUFRLEVBQ1IsZUFBZSxFQUNmLFVBQVUsR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUF1Qy9ELE1BQU0sT0FBTyxnQkFBZ0I7SUFyQzdCO1FBc0NJLGFBQVEsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFOUQsV0FBTSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUU1QyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuRCxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ2pEOytHQWRZLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDZGQUNFLFVBQVUseUZBRWYscUJBQXFCLDBGQUNwQixtQkFBbUIsZ0VBcENoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJULDREQS9CUyxxQkFBcUIsMkRBQUUsbUJBQW1COzs0RkFpQzNDLGdCQUFnQjtrQkFyQzVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3JELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgY29udGVudENoaWxkLFxyXG4gICAgY29tcHV0ZWQsXHJcbiAgICBjb250ZW50Q2hpbGRyZW4sXHJcbiAgICBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2hvSGVhZGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8taGVhZGVyLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaG9Ub29sQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tdG9vbC1iYXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tY2FyZCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbQ2hvSGVhZGVyQmFyQ29tcG9uZW50LCBDaG9Ub29sQmFyQ29tcG9uZW50XSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJjYXJkIG1iLTNcIj5cclxuICAgICAgICAgICAgQGlmIChoYXNIZWFkZXIoKSAmJiBoYXNUb29sYmFyKCkpIHtcclxuICAgICAgICAgICAgICAgIDxjaG8taGVhZGVyLWJhcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjaG8taGVhZGVyLWJhclwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxjaG8tdG9vbC1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNoby10b29sLWJhclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9jaG8tdG9vbC1iYXI+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1oZWFkZXItYmFyPlxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoaGFzSGVhZGVyKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICA8Y2hvLWhlYWRlci1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNoby1oZWFkZXItYmFyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Noby1oZWFkZXItYmFyPlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpZiAoaGFzVG9vbGJhcigpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGNoby10b29sLWJhcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2hvLXRvb2wtYmFyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Noby10b29sLWJhcj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGlmIChoYXNDb250ZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZENvbXBvbmVudCB7XHJcbiAgICBlbGVtZW50cyA9IGNvbnRlbnRDaGlsZHJlbihFbGVtZW50UmVmLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xyXG5cclxuICAgIGhlYWRlciA9IGNvbnRlbnRDaGlsZChDaG9IZWFkZXJCYXJDb21wb25lbnQpO1xyXG4gICAgdG9vbEJhciA9IGNvbnRlbnRDaGlsZChDaG9Ub29sQmFyQ29tcG9uZW50KTtcclxuXHJcbiAgICBoYXNDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzKCkuc29tZShlbCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhZyA9IGVsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gIVsnY2hvLWhlYWRlci1iYXInLCAnY2hvLXRvb2wtYmFyJ10uaW5jbHVkZXModGFnKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgaGFzSGVhZGVyID0gY29tcHV0ZWQoKCkgPT4gISF0aGlzLmhlYWRlcigpKTtcclxuICAgIGhhc1Rvb2xiYXIgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudG9vbEJhcigpKTtcclxufVxyXG4iXX0=
@@ -1,26 +1,21 @@
1
- import { Component, ContentChild, Input, TemplateRef } from '@angular/core';
1
+ import { Component, ContentChild, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ChoDetailsCardComponent {
4
4
  constructor() {
5
- this.cardTitle = '';
5
+ this.title = '';
6
6
  this.toolbar = null;
7
- this.tabs = null;
8
7
  }
9
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- 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, read: TemplateRef }, { propertyName: "tabs", first: true, predicate: ["[tabs]"], descendants: true, read: TemplateRef }], ngImport: i0, template: `
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoDetailsCardComponent, isStandalone: true, selector: "cho-details-card", inputs: { title: "title" }, queries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: `
11
10
  <div class="card mb-3">
12
11
  <div class="card-header">
13
- <h3 class="card-title">{{ cardTitle }}</h3>
12
+ <h3 class="card-title">{{ title }}</h3>
14
13
 
15
14
  <div class="card-toolbar">
16
- <ng-content select="[toolbar]"></ng-content>
15
+ <ng-content #toolbar select="[toolbar]"></ng-content>
17
16
  </div>
18
17
  </div>
19
18
 
20
- <div class="card-body card-tabs me-3 optional-content-wrapper">
21
- <ng-content select="[tabs]"></ng-content>
22
- </div>
23
-
24
19
  <div class="card-body">
25
20
  <ng-content></ng-content>
26
21
  </div>
@@ -35,30 +30,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
35
30
  template: `
36
31
  <div class="card mb-3">
37
32
  <div class="card-header">
38
- <h3 class="card-title">{{ cardTitle }}</h3>
33
+ <h3 class="card-title">{{ title }}</h3>
39
34
 
40
35
  <div class="card-toolbar">
41
- <ng-content select="[toolbar]"></ng-content>
36
+ <ng-content #toolbar select="[toolbar]"></ng-content>
42
37
  </div>
43
38
  </div>
44
39
 
45
- <div class="card-body card-tabs me-3 optional-content-wrapper">
46
- <ng-content select="[tabs]"></ng-content>
47
- </div>
48
-
49
40
  <div class="card-body">
50
41
  <ng-content></ng-content>
51
42
  </div>
52
43
  </div>
53
44
  `,
54
45
  }]
55
- }], propDecorators: { cardTitle: [{
46
+ }], propDecorators: { title: [{
56
47
  type: Input
57
48
  }], toolbar: [{
58
49
  type: ContentChild,
59
- args: ['[toolbar]', { read: TemplateRef }]
60
- }], tabs: [{
61
- type: ContentChild,
62
- args: ['[tabs]', { read: TemplateRef }]
50
+ args: ['toolbar']
63
51
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tZGV0YWlscy1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXlCNUUsTUFBTSxPQUFPLHVCQUF1QjtJQXZCcEM7UUF3QmEsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUUwQixZQUFPLEdBQWdDLElBQUksQ0FBQztRQUMvQyxTQUFJLEdBQWdDLElBQUksQ0FBQztLQUMzRjsrR0FMWSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2TEFHRyxXQUFXLHlGQUNkLFdBQVcsNkJBeEJqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0JUOzs0RkFFUSx1QkFBdUI7a0JBdkJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtCVDtpQkFDSjs4QkFFWSxTQUFTO3NCQUFqQixLQUFLO2dCQUU0QyxPQUFPO3NCQUF4RCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0QsSUFBSTtzQkFBbEQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1kZXRhaWxzLWNhcmQnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyBjYXJkVGl0bGUgfX08L2gzPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9vbGJhcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGNhcmQtdGFicyBtZS0zIG9wdGlvbmFsLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RhYnNdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvRGV0YWlsc0NhcmRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY2FyZFRpdGxlID0gJyc7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnW3Rvb2xiYXJdJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0b29sYmFyOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xyXG4gICAgQENvbnRlbnRDaGlsZCgnW3RhYnNdJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0YWJzOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xyXG59XHJcbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tZGV0YWlscy1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBcUI1RSxNQUFNLE9BQU8sdUJBQXVCO0lBbkJwQztRQW9CYSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRUssWUFBTyxHQUFnQyxJQUFJLENBQUM7S0FDeEU7K0dBSlksdUJBQXVCO21HQUF2Qix1QkFBdUIsd01BaEJ0Qjs7Ozs7Ozs7Ozs7Ozs7S0FjVDs7NEZBRVEsdUJBQXVCO2tCQW5CbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKOzhCQUVZLEtBQUs7c0JBQWIsS0FBSztnQkFFbUIsT0FBTztzQkFBL0IsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1kZXRhaWxzLWNhcmQnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50ICN0b29sYmFyIHNlbGVjdD1cIlt0b29sYmFyXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvRGV0YWlsc0NhcmRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgdGl0bGUgPSAnJztcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCd0b29sYmFyJykgdG9vbGJhcjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcclxufVxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ChoFilterBarComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFilterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoFilterBarComponent, isStandalone: true, selector: "cho-filter-bar", ngImport: i0, template: `
6
+ <div class="card-filterbar">
7
+ <ng-content />
8
+ </div>
9
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFilterBarComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'cho-filter-bar',
15
+ standalone: true,
16
+ template: `
17
+ <div class="card-filterbar">
18
+ <ng-content />
19
+ </div>
20
+ `,
21
+ changeDetection: ChangeDetectionStrategy.OnPush,
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWZpbHRlci1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWZpbHRlci1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWW5FLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjttR0FBckIscUJBQXFCLDBFQVBwQjs7OztLQUlUOzs0RkFHUSxxQkFBcUI7a0JBVmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tZmlsdGVyLWJhcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1maWx0ZXJiYXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0ZpbHRlckJhckNvbXBvbmVudCB7fVxyXG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Component, ChangeDetectionStrategy, contentChild, computed } from '@angular/core';
2
+ import { ChoToolBarComponent } from './cho-tool-bar.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ChoHeaderBarComponent {
5
+ constructor() {
6
+ this.toolBar = contentChild(ChoToolBarComponent);
7
+ this.hasToolbar = computed(() => !!this.toolBar());
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoHeaderBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoHeaderBarComponent, isStandalone: true, selector: "cho-header-bar", queries: [{ propertyName: "toolBar", first: true, predicate: ChoToolBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
11
+ <div class="card-header">
12
+ <h3>
13
+ <ng-content />
14
+ </h3>
15
+
16
+ @if (hasToolbar()) {
17
+ <cho-tool-bar>
18
+ <ng-content select="cho-tool-bar" />
19
+ </cho-tool-bar>
20
+ }
21
+ </div>
22
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoToolBarComponent, selector: "cho-tool-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoHeaderBarComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'cho-header-bar',
28
+ standalone: true,
29
+ changeDetection: ChangeDetectionStrategy.OnPush,
30
+ imports: [ChoToolBarComponent],
31
+ template: `
32
+ <div class="card-header">
33
+ <h3>
34
+ <ng-content />
35
+ </h3>
36
+
37
+ @if (hasToolbar()) {
38
+ <cho-tool-bar>
39
+ <ng-content select="cho-tool-bar" />
40
+ </cho-tool-bar>
41
+ }
42
+ </div>
43
+ `,
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWhlYWRlci1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWhlYWRlci1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFxQi9ELE1BQU0sT0FBTyxxQkFBcUI7SUFuQmxDO1FBb0JJLFlBQU8sR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUU1QyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNqRDsrR0FKWSxxQkFBcUI7bUdBQXJCLHFCQUFxQiwrR0FDUCxtQkFBbUIsZ0VBZmhDOzs7Ozs7Ozs7Ozs7S0FZVCw0REFiUyxtQkFBbUI7OzRGQWVwQixxQkFBcUI7a0JBbkJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0tBWVQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBjb250ZW50Q2hpbGQsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENob1Rvb2xCYXJDb21wb25lbnQgfSBmcm9tICcuL2Noby10b29sLWJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1oZWFkZXItYmFyJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGltcG9ydHM6IFtDaG9Ub29sQmFyQ29tcG9uZW50XSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxoMz5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgIDwvaDM+XHJcblxyXG4gICAgICAgICAgICBAaWYgKGhhc1Rvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby10b29sLWJhcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjaG8tdG9vbC1iYXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tdG9vbC1iYXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9IZWFkZXJCYXJDb21wb25lbnQge1xyXG4gICAgdG9vbEJhciA9IGNvbnRlbnRDaGlsZChDaG9Ub29sQmFyQ29tcG9uZW50KTtcclxuXHJcbiAgICBoYXNUb29sYmFyID0gY29tcHV0ZWQoKCkgPT4gISF0aGlzLnRvb2xCYXIoKSk7XHJcbn1cclxuIl19
@@ -0,0 +1,63 @@
1
+ import { Component, ChangeDetectionStrategy, input, output, effect, contentChildren, } from '@angular/core';
2
+ import { ChoTabItemComponent } from './cho-tab-item.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ChoTabBarComponent {
5
+ constructor() {
6
+ this.activeTab = input.required();
7
+ this.tabItems = contentChildren(ChoTabItemComponent);
8
+ this.select = output();
9
+ this.activeIndex = 0;
10
+ }
11
+ ngAfterContentInit() {
12
+ effect(() => {
13
+ const index = Math.max(this.tabItems().findIndex(item => item.value() === this.activeTab()), 0);
14
+ this.setActive(index);
15
+ });
16
+ }
17
+ onSelect(tab) {
18
+ const index = this.tabItems().findIndex(item => item.value() === tab.value());
19
+ this.setActive(index);
20
+ }
21
+ setActive(index) {
22
+ if (index === this.activeIndex)
23
+ return;
24
+ this.select.emit(this.tabItems()[index].value());
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoTabBarComponent, isStandalone: true, selector: "cho-tab-bar", inputs: { activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { select: "select" }, queries: [{ propertyName: "tabItems", predicate: ChoTabItemComponent, isSignal: true }], ngImport: i0, template: `
28
+ @if (tabItems().length) {
29
+ <ul class="card-tabbar">
30
+ @for (tab of tabItems(); track $index) {
31
+ <cho-tab-item
32
+ [value]="tab.value()"
33
+ [activeTab]="activeTab()"
34
+ (click)="onSelect(tab)">
35
+ </cho-tab-item>
36
+ }
37
+ </ul>
38
+ }
39
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoTabItemComponent, selector: "cho-tab-item", inputs: ["value", "activeTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabBarComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ selector: 'cho-tab-bar',
45
+ standalone: true,
46
+ imports: [ChoTabItemComponent],
47
+ template: `
48
+ @if (tabItems().length) {
49
+ <ul class="card-tabbar">
50
+ @for (tab of tabItems(); track $index) {
51
+ <cho-tab-item
52
+ [value]="tab.value()"
53
+ [activeTab]="activeTab()"
54
+ (click)="onSelect(tab)">
55
+ </cho-tab-item>
56
+ }
57
+ </ul>
58
+ }
59
+ `,
60
+ changeDetection: ChangeDetectionStrategy.OnPush,
61
+ }]
62
+ }] });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXRhYi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLXRhYi1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLGVBQWUsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBcUIvRCxNQUFNLE9BQU8sa0JBQWtCO0lBbkIvQjtRQW9CSSxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3JDLGFBQVEsR0FBRyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVoRCxXQUFNLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7S0FzQjNCO0lBcEJHLGtCQUFrQjtRQUNkLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUNwRSxDQUFDLENBQ0osQ0FBQztZQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQXdCO1FBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBM0JRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhRQUVBLG1CQUFtQiw2Q0FqQnBDOzs7Ozs7Ozs7Ozs7S0FZVCw0REFiUyxtQkFBbUI7OzRGQWdCcEIsa0JBQWtCO2tCQW5COUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztLQVlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBpbnB1dCxcclxuICAgIG91dHB1dCxcclxuICAgIGVmZmVjdCxcclxuICAgIGNvbnRlbnRDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hvVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2hvLXRhYi1pdGVtLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLXRhYi1iYXInLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDaG9UYWJJdGVtQ29tcG9uZW50XSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgQGlmICh0YWJJdGVtcygpLmxlbmd0aCkge1xyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJjYXJkLXRhYmJhclwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYkl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxjaG8tdGFiLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRhYi52YWx1ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZVRhYl09XCJhY3RpdmVUYWIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdCh0YWIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9jaG8tdGFiLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgfVxyXG4gICAgYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvVGFiQmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgICBhY3RpdmVUYWIgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgICB0YWJJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihDaG9UYWJJdGVtQ29tcG9uZW50KTtcclxuXHJcbiAgICBzZWxlY3QgPSBvdXRwdXQ8c3RyaW5nPigpO1xyXG5cclxuICAgIHByaXZhdGUgYWN0aXZlSW5kZXggPSAwO1xyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJJdGVtcygpLmZpbmRJbmRleChpdGVtID0+IGl0ZW0udmFsdWUoKSA9PT0gdGhpcy5hY3RpdmVUYWIoKSksXHJcbiAgICAgICAgICAgICAgICAwXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZShpbmRleCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3QodGFiOiBDaG9UYWJJdGVtQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkl0ZW1zKCkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS52YWx1ZSgpID09PSB0YWIudmFsdWUoKSk7XHJcbiAgICAgICAgdGhpcy5zZXRBY3RpdmUoaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0QWN0aXZlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSW5kZXgpIHJldHVybjtcclxuICAgICAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMudGFiSXRlbXMoKVtpbmRleF0udmFsdWUoKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,35 @@
1
+ import { Component, ChangeDetectionStrategy, ElementRef, input, inject, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ChoTabItemComponent {
4
+ constructor() {
5
+ this.el = inject((ElementRef));
6
+ this.value = input.required();
7
+ this.activeTab = input();
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ChoTabItemComponent, isStandalone: true, selector: "cho-tab-item", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
11
+ <li>
12
+ <a
13
+ [class.active]="value() === activeTab()">
14
+ <ng-content />
15
+ </a>
16
+ </li>
17
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: 'cho-tab-item',
23
+ standalone: true,
24
+ changeDetection: ChangeDetectionStrategy.OnPush,
25
+ template: `
26
+ <li>
27
+ <a
28
+ [class.active]="value() === activeTab()">
29
+ <ng-content />
30
+ </a>
31
+ </li>
32
+ `,
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXRhYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby10YWItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsVUFBVSxFQUVWLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7O0FBZXZCLE1BQU0sT0FBTyxtQkFBbUI7SUFiaEM7UUFjWSxPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFN0MsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxjQUFTLEdBQUcsS0FBSyxFQUFVLENBQUM7S0FDL0I7K0dBTFksbUJBQW1CO21HQUFuQixtQkFBbUIsK1VBVGxCOzs7Ozs7O0tBT1Q7OzRGQUVRLG1CQUFtQjtrQkFiL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgaW5wdXQsXHJcbiAgICBpbmplY3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLXRhYi1pdGVtJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ2YWx1ZSgpID09PSBhY3RpdmVUYWIoKVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvVGFiSXRlbUNvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcclxuXHJcbiAgICB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuICAgIGFjdGl2ZVRhYiA9IGlucHV0PHN0cmluZz4oKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ChoToolBarComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoToolBarComponent, isStandalone: true, selector: "cho-tool-bar", ngImport: i0, template: `
6
+ <div class="card-toolbar">
7
+ <ng-content />
8
+ </div>
9
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoToolBarComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'cho-tool-bar',
15
+ standalone: true,
16
+ template: `
17
+ <div class="card-toolbar">
18
+ <ng-content />
19
+ </div>
20
+ `,
21
+ changeDetection: ChangeDetectionStrategy.OnPush,
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXRvb2wtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby10b29sLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZbkUsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO21HQUFuQixtQkFBbUIsd0VBUGxCOzs7O0tBSVQ7OzRGQUdRLG1CQUFtQjtrQkFWL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tdG9vbC1iYXInLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvVG9vbEJhckNvbXBvbmVudCB7fVxyXG4iXX0=
@@ -1,8 +1,14 @@
1
+ export { ChoCardComponent } from './cho-card.component';
1
2
  export { ChoAddressInfoComponent } from './cho-address-info.component';
2
3
  export { ChoDetailsCardComponent } from './cho-details-card.component';
3
4
  export { ChoEmailInfoComponent } from './cho-email-info.component';
5
+ export { ChoFilterBarComponent } from './cho-filter-bar.component';
6
+ export { ChoHeaderBarComponent } from './cho-header-bar.component';
4
7
  export { ChoModalComponent } from './cho-modal.component';
5
8
  export { ChoPhoneInfoComponent } from './cho-phone-info.component';
6
9
  export { ChoRadioGroupComponent } from './cho-radio-group.component';
7
10
  export { ChoReviewStatusAlertComponent } from './cho-review-status-alert.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENob0FkZHJlc3NJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0RldGFpbHNDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tZGV0YWlscy1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0VtYWlsSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWVtYWlsLWluZm8uY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2Noby1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9QaG9uZUluZm9Db21wb25lbnQgfSBmcm9tICcuL2Noby1waG9uZS1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob1JhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2Noby1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9SZXZpZXdTdGF0dXNBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY2hvLXJldmlldy1zdGF0dXMtYWxlcnQuY29tcG9uZW50JztcclxuIl19
11
+ export { ChoTabBarComponent } from './cho-tab-bar.component';
12
+ export { ChoToolBarComponent } from './cho-tool-bar.component';
13
+ export { ChoTabItemComponent } from './cho-tab-item.component';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENob0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0FkZHJlc3NJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0RldGFpbHNDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tZGV0YWlscy1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob0VtYWlsSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWVtYWlsLWluZm8uY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvRmlsdGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tZmlsdGVyLWJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9IZWFkZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1oZWFkZXItYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvUGhvbmVJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tcGhvbmUtaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDaG9SYWRpb0dyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvUmV2aWV3U3RhdHVzQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2Noby1yZXZpZXctc3RhdHVzLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob1RhYkJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLXRhYi1iYXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2hvVG9vbEJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLXRvb2wtYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IENob1RhYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Noby10YWItaXRlbS5jb21wb25lbnQnO1xyXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, TemplateRef, ContentChild, EventEmitter, Output } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, contentChild, computed, contentChildren, ElementRef, Input, ContentChild, EventEmitter, Output, inject, input, output, effect } from '@angular/core';
3
3
  import { TitleCasePipe, NgIf, NgFor, DatePipe } from '@angular/common';
4
4
  import * as i1 from '@angular/platform-browser';
5
5
  import * as i1$1 from '@ng-bootstrap/ng-bootstrap';
@@ -7,6 +7,159 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
7
7
  import * as i1$2 from '@angular/forms';
8
8
  import { FormsModule } from '@angular/forms';
9
9
 
10
+ class ChoToolBarComponent {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoToolBarComponent, isStandalone: true, selector: "cho-tool-bar", ngImport: i0, template: `
13
+ <div class="card-toolbar">
14
+ <ng-content />
15
+ </div>
16
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoToolBarComponent, decorators: [{
19
+ type: Component,
20
+ args: [{
21
+ selector: 'cho-tool-bar',
22
+ standalone: true,
23
+ template: `
24
+ <div class="card-toolbar">
25
+ <ng-content />
26
+ </div>
27
+ `,
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
29
+ }]
30
+ }] });
31
+
32
+ class ChoHeaderBarComponent {
33
+ constructor() {
34
+ this.toolBar = contentChild(ChoToolBarComponent);
35
+ this.hasToolbar = computed(() => !!this.toolBar());
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoHeaderBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoHeaderBarComponent, isStandalone: true, selector: "cho-header-bar", queries: [{ propertyName: "toolBar", first: true, predicate: ChoToolBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
39
+ <div class="card-header">
40
+ <h3>
41
+ <ng-content />
42
+ </h3>
43
+
44
+ @if (hasToolbar()) {
45
+ <cho-tool-bar>
46
+ <ng-content select="cho-tool-bar" />
47
+ </cho-tool-bar>
48
+ }
49
+ </div>
50
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoToolBarComponent, selector: "cho-tool-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoHeaderBarComponent, decorators: [{
53
+ type: Component,
54
+ args: [{
55
+ selector: 'cho-header-bar',
56
+ standalone: true,
57
+ changeDetection: ChangeDetectionStrategy.OnPush,
58
+ imports: [ChoToolBarComponent],
59
+ template: `
60
+ <div class="card-header">
61
+ <h3>
62
+ <ng-content />
63
+ </h3>
64
+
65
+ @if (hasToolbar()) {
66
+ <cho-tool-bar>
67
+ <ng-content select="cho-tool-bar" />
68
+ </cho-tool-bar>
69
+ }
70
+ </div>
71
+ `,
72
+ }]
73
+ }] });
74
+
75
+ class ChoCardComponent {
76
+ constructor() {
77
+ this.elements = contentChildren(ElementRef, { descendants: true });
78
+ this.header = contentChild(ChoHeaderBarComponent);
79
+ this.toolBar = contentChild(ChoToolBarComponent);
80
+ this.hasContent = computed(() => {
81
+ return this.elements().some(el => {
82
+ const tag = el.nativeElement.tagName.toLowerCase();
83
+ return !['cho-header-bar', 'cho-tool-bar'].includes(tag);
84
+ });
85
+ });
86
+ this.hasHeader = computed(() => !!this.header());
87
+ this.hasToolbar = computed(() => !!this.toolBar());
88
+ }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardComponent, isStandalone: true, selector: "cho-card", queries: [{ propertyName: "elements", predicate: ElementRef, descendants: true, isSignal: true }, { propertyName: "header", first: true, predicate: ChoHeaderBarComponent, descendants: true, isSignal: true }, { propertyName: "toolBar", first: true, predicate: ChoToolBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
91
+ <section class="card mb-3">
92
+ @if (hasHeader() && hasToolbar()) {
93
+ <cho-header-bar>
94
+ <ng-content select="cho-header-bar" />
95
+
96
+ <cho-tool-bar>
97
+ <ng-content select="cho-tool-bar" />
98
+ </cho-tool-bar>
99
+ </cho-header-bar>
100
+ } @else {
101
+ @if (hasHeader()) {
102
+ <cho-header-bar>
103
+ <ng-content select="cho-header-bar" />
104
+ </cho-header-bar>
105
+ }
106
+
107
+ @if (hasToolbar()) {
108
+ <cho-tool-bar>
109
+ <ng-content select="cho-tool-bar" />
110
+ </cho-tool-bar>
111
+ }
112
+ }
113
+
114
+ @if (hasContent()) {
115
+ <div class="card-body">
116
+ <ng-content />
117
+ </div>
118
+ }
119
+ </section>
120
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoHeaderBarComponent, selector: "cho-header-bar" }, { kind: "component", type: ChoToolBarComponent, selector: "cho-tool-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
123
+ type: Component,
124
+ args: [{
125
+ selector: 'cho-card',
126
+ standalone: true,
127
+ changeDetection: ChangeDetectionStrategy.OnPush,
128
+ imports: [ChoHeaderBarComponent, ChoToolBarComponent],
129
+ template: `
130
+ <section class="card mb-3">
131
+ @if (hasHeader() && hasToolbar()) {
132
+ <cho-header-bar>
133
+ <ng-content select="cho-header-bar" />
134
+
135
+ <cho-tool-bar>
136
+ <ng-content select="cho-tool-bar" />
137
+ </cho-tool-bar>
138
+ </cho-header-bar>
139
+ } @else {
140
+ @if (hasHeader()) {
141
+ <cho-header-bar>
142
+ <ng-content select="cho-header-bar" />
143
+ </cho-header-bar>
144
+ }
145
+
146
+ @if (hasToolbar()) {
147
+ <cho-tool-bar>
148
+ <ng-content select="cho-tool-bar" />
149
+ </cho-tool-bar>
150
+ }
151
+ }
152
+
153
+ @if (hasContent()) {
154
+ <div class="card-body">
155
+ <ng-content />
156
+ </div>
157
+ }
158
+ </section>
159
+ `,
160
+ }]
161
+ }] });
162
+
10
163
  class ChoAddressInfoComponent {
11
164
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
165
  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">
@@ -43,25 +196,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
196
 
44
197
  class ChoDetailsCardComponent {
45
198
  constructor() {
46
- this.cardTitle = '';
199
+ this.title = '';
47
200
  this.toolbar = null;
48
- this.tabs = null;
49
201
  }
50
202
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- 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, read: TemplateRef }, { propertyName: "tabs", first: true, predicate: ["[tabs]"], descendants: true, read: TemplateRef }], ngImport: i0, template: `
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoDetailsCardComponent, isStandalone: true, selector: "cho-details-card", inputs: { title: "title" }, queries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: `
52
204
  <div class="card mb-3">
53
205
  <div class="card-header">
54
- <h3 class="card-title">{{ cardTitle }}</h3>
206
+ <h3 class="card-title">{{ title }}</h3>
55
207
 
56
208
  <div class="card-toolbar">
57
- <ng-content select="[toolbar]"></ng-content>
209
+ <ng-content #toolbar select="[toolbar]"></ng-content>
58
210
  </div>
59
211
  </div>
60
212
 
61
- <div class="card-body card-tabs me-3 optional-content-wrapper">
62
- <ng-content select="[tabs]"></ng-content>
63
- </div>
64
-
65
213
  <div class="card-body">
66
214
  <ng-content></ng-content>
67
215
  </div>
@@ -76,31 +224,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
76
224
  template: `
77
225
  <div class="card mb-3">
78
226
  <div class="card-header">
79
- <h3 class="card-title">{{ cardTitle }}</h3>
227
+ <h3 class="card-title">{{ title }}</h3>
80
228
 
81
229
  <div class="card-toolbar">
82
- <ng-content select="[toolbar]"></ng-content>
230
+ <ng-content #toolbar select="[toolbar]"></ng-content>
83
231
  </div>
84
232
  </div>
85
233
 
86
- <div class="card-body card-tabs me-3 optional-content-wrapper">
87
- <ng-content select="[tabs]"></ng-content>
88
- </div>
89
-
90
234
  <div class="card-body">
91
235
  <ng-content></ng-content>
92
236
  </div>
93
237
  </div>
94
238
  `,
95
239
  }]
96
- }], propDecorators: { cardTitle: [{
240
+ }], propDecorators: { title: [{
97
241
  type: Input
98
242
  }], toolbar: [{
99
243
  type: ContentChild,
100
- args: ['[toolbar]', { read: TemplateRef }]
101
- }], tabs: [{
102
- type: ContentChild,
103
- args: ['[tabs]', { read: TemplateRef }]
244
+ args: ['toolbar']
104
245
  }] } });
105
246
 
106
247
  class ChoEmailInfoComponent {
@@ -135,6 +276,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
135
276
  type: Input
136
277
  }] } });
137
278
 
279
+ class ChoFilterBarComponent {
280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFilterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoFilterBarComponent, isStandalone: true, selector: "cho-filter-bar", ngImport: i0, template: `
282
+ <div class="card-filterbar">
283
+ <ng-content />
284
+ </div>
285
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
286
+ }
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFilterBarComponent, decorators: [{
288
+ type: Component,
289
+ args: [{
290
+ selector: 'cho-filter-bar',
291
+ standalone: true,
292
+ template: `
293
+ <div class="card-filterbar">
294
+ <ng-content />
295
+ </div>
296
+ `,
297
+ changeDetection: ChangeDetectionStrategy.OnPush,
298
+ }]
299
+ }] });
300
+
138
301
  class ChoModalComponent {
139
302
  constructor(activeModal) {
140
303
  this.activeModal = activeModal;
@@ -308,6 +471,99 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
308
471
  type: Input
309
472
  }] } });
310
473
 
474
+ class ChoTabItemComponent {
475
+ constructor() {
476
+ this.el = inject((ElementRef));
477
+ this.value = input.required();
478
+ this.activeTab = input();
479
+ }
480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
481
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ChoTabItemComponent, isStandalone: true, selector: "cho-tab-item", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
482
+ <li>
483
+ <a
484
+ [class.active]="value() === activeTab()">
485
+ <ng-content />
486
+ </a>
487
+ </li>
488
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
489
+ }
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, decorators: [{
491
+ type: Component,
492
+ args: [{
493
+ selector: 'cho-tab-item',
494
+ standalone: true,
495
+ changeDetection: ChangeDetectionStrategy.OnPush,
496
+ template: `
497
+ <li>
498
+ <a
499
+ [class.active]="value() === activeTab()">
500
+ <ng-content />
501
+ </a>
502
+ </li>
503
+ `,
504
+ }]
505
+ }] });
506
+
507
+ class ChoTabBarComponent {
508
+ constructor() {
509
+ this.activeTab = input.required();
510
+ this.tabItems = contentChildren(ChoTabItemComponent);
511
+ this.select = output();
512
+ this.activeIndex = 0;
513
+ }
514
+ ngAfterContentInit() {
515
+ effect(() => {
516
+ const index = Math.max(this.tabItems().findIndex(item => item.value() === this.activeTab()), 0);
517
+ this.setActive(index);
518
+ });
519
+ }
520
+ onSelect(tab) {
521
+ const index = this.tabItems().findIndex(item => item.value() === tab.value());
522
+ this.setActive(index);
523
+ }
524
+ setActive(index) {
525
+ if (index === this.activeIndex)
526
+ return;
527
+ this.select.emit(this.tabItems()[index].value());
528
+ }
529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
530
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoTabBarComponent, isStandalone: true, selector: "cho-tab-bar", inputs: { activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { select: "select" }, queries: [{ propertyName: "tabItems", predicate: ChoTabItemComponent, isSignal: true }], ngImport: i0, template: `
531
+ @if (tabItems().length) {
532
+ <ul class="card-tabbar">
533
+ @for (tab of tabItems(); track $index) {
534
+ <cho-tab-item
535
+ [value]="tab.value()"
536
+ [activeTab]="activeTab()"
537
+ (click)="onSelect(tab)">
538
+ </cho-tab-item>
539
+ }
540
+ </ul>
541
+ }
542
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoTabItemComponent, selector: "cho-tab-item", inputs: ["value", "activeTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
543
+ }
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabBarComponent, decorators: [{
545
+ type: Component,
546
+ args: [{
547
+ selector: 'cho-tab-bar',
548
+ standalone: true,
549
+ imports: [ChoTabItemComponent],
550
+ template: `
551
+ @if (tabItems().length) {
552
+ <ul class="card-tabbar">
553
+ @for (tab of tabItems(); track $index) {
554
+ <cho-tab-item
555
+ [value]="tab.value()"
556
+ [activeTab]="activeTab()"
557
+ (click)="onSelect(tab)">
558
+ </cho-tab-item>
559
+ }
560
+ </ul>
561
+ }
562
+ `,
563
+ changeDetection: ChangeDetectionStrategy.OnPush,
564
+ }]
565
+ }] });
566
+
311
567
  /*
312
568
  * Public API Surface of ngx-cho-components
313
569
  */
@@ -316,5 +572,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
316
572
  * Generated bundle index. Do not edit.
317
573
  */
318
574
 
319
- export { ChoAddressInfoComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoModalComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent };
575
+ export { ChoAddressInfoComponent, ChoCardComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoFilterBarComponent, ChoHeaderBarComponent, ChoModalComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent, ChoTabBarComponent, ChoTabItemComponent, ChoToolBarComponent };
320
576
  //# 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-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, 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 select=\"[toolbar]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body card-tabs me-3 optional-content-wrapper\">\r\n <ng-content select=\"[tabs]\"></ng-content>\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]', { read: TemplateRef }) toolbar: TemplateRef<unknown> | null = null;\r\n @ContentChild('[tabs]', { read: TemplateRef }) tabs: 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-tool-bar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-header-bar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-address-info.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-filter-bar.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/lib/cho-tab-item.component.ts","../../../projects/ngx-cho-components/src/lib/cho-tab-bar.component.ts","../../../projects/ngx-cho-components/src/public-api.ts","../../../projects/ngx-cho-components/src/ngx-cho-components.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-tool-bar',\r\n standalone: true,\r\n template: `\r\n <div class=\"card-toolbar\">\r\n <ng-content />\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChoToolBarComponent {}\r\n","import { Component, ChangeDetectionStrategy, contentChild, computed } from '@angular/core';\r\nimport { ChoToolBarComponent } from './cho-tool-bar.component';\r\n\r\n@Component({\r\n selector: 'cho-header-bar',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ChoToolBarComponent],\r\n template: `\r\n <div class=\"card-header\">\r\n <h3>\r\n <ng-content />\r\n </h3>\r\n\r\n @if (hasToolbar()) {\r\n <cho-tool-bar>\r\n <ng-content select=\"cho-tool-bar\" />\r\n </cho-tool-bar>\r\n }\r\n </div>\r\n `,\r\n})\r\nexport class ChoHeaderBarComponent {\r\n toolBar = contentChild(ChoToolBarComponent);\r\n\r\n hasToolbar = computed(() => !!this.toolBar());\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n contentChild,\r\n computed,\r\n contentChildren,\r\n ElementRef,\r\n} from '@angular/core';\r\n\r\nimport { ChoHeaderBarComponent } from './cho-header-bar.component';\r\nimport { ChoToolBarComponent } from './cho-tool-bar.component';\r\n\r\n@Component({\r\n selector: 'cho-card',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ChoHeaderBarComponent, ChoToolBarComponent],\r\n template: `\r\n <section class=\"card mb-3\">\r\n @if (hasHeader() && hasToolbar()) {\r\n <cho-header-bar>\r\n <ng-content select=\"cho-header-bar\" />\r\n\r\n <cho-tool-bar>\r\n <ng-content select=\"cho-tool-bar\" />\r\n </cho-tool-bar>\r\n </cho-header-bar>\r\n } @else {\r\n @if (hasHeader()) {\r\n <cho-header-bar>\r\n <ng-content select=\"cho-header-bar\" />\r\n </cho-header-bar>\r\n }\r\n\r\n @if (hasToolbar()) {\r\n <cho-tool-bar>\r\n <ng-content select=\"cho-tool-bar\" />\r\n </cho-tool-bar>\r\n }\r\n }\r\n\r\n @if (hasContent()) {\r\n <div class=\"card-body\">\r\n <ng-content />\r\n </div>\r\n }\r\n </section>\r\n `,\r\n})\r\nexport class ChoCardComponent {\r\n elements = contentChildren(ElementRef, { descendants: true });\r\n\r\n header = contentChild(ChoHeaderBarComponent);\r\n toolBar = contentChild(ChoToolBarComponent);\r\n\r\n hasContent = computed(() => {\r\n return this.elements().some(el => {\r\n const tag = el.nativeElement.tagName.toLowerCase();\r\n return !['cho-header-bar', 'cho-tool-bar'].includes(tag);\r\n });\r\n });\r\n hasHeader = computed(() => !!this.header());\r\n hasToolbar = computed(() => !!this.toolBar());\r\n}\r\n","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, 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\">{{ title }}</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() title = '';\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, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-filter-bar',\r\n standalone: true,\r\n template: `\r\n <div class=\"card-filterbar\">\r\n <ng-content />\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChoFilterBarComponent {}\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","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n AfterContentInit,\r\n input,\r\n inject,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-tab-item',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n <li>\r\n <a\r\n [class.active]=\"value() === activeTab()\">\r\n <ng-content />\r\n </a>\r\n </li>\r\n `,\r\n})\r\nexport class ChoTabItemComponent {\r\n private el = inject(ElementRef<HTMLElement>);\r\n\r\n value = input.required<string>();\r\n activeTab = input<string>();\r\n}\r\n","import {\r\n Component,\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n input,\r\n output,\r\n effect,\r\n contentChildren,\r\n} from '@angular/core';\r\nimport { ChoTabItemComponent } from './cho-tab-item.component';\r\n\r\n@Component({\r\n selector: 'cho-tab-bar',\r\n standalone: true,\r\n imports: [ChoTabItemComponent],\r\n template: `\r\n @if (tabItems().length) {\r\n <ul class=\"card-tabbar\">\r\n @for (tab of tabItems(); track $index) {\r\n <cho-tab-item\r\n [value]=\"tab.value()\"\r\n [activeTab]=\"activeTab()\"\r\n (click)=\"onSelect(tab)\">\r\n </cho-tab-item>\r\n }\r\n </ul>\r\n }\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ChoTabBarComponent implements AfterContentInit {\r\n activeTab = input.required<string>();\r\n tabItems = contentChildren(ChoTabItemComponent);\r\n\r\n select = output<string>();\r\n\r\n private activeIndex = 0;\r\n\r\n ngAfterContentInit(): void {\r\n effect(() => {\r\n const index = Math.max(\r\n this.tabItems().findIndex(item => item.value() === this.activeTab()),\r\n 0\r\n );\r\n\r\n this.setActive(index);\r\n });\r\n }\r\n\r\n onSelect(tab: ChoTabItemComponent): void {\r\n const index = this.tabItems().findIndex(item => item.value() === tab.value());\r\n this.setActive(index);\r\n }\r\n\r\n private setActive(index: number): void {\r\n if (index === this.activeIndex) return;\r\n this.select.emit(this.tabItems()[index].value());\r\n }\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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"}
@@ -0,0 +1,14 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { ChoHeaderBarComponent } from './cho-header-bar.component';
3
+ import { ChoToolBarComponent } from './cho-tool-bar.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ChoCardComponent {
6
+ elements: import("@angular/core").Signal<readonly ElementRef<any>[]>;
7
+ header: import("@angular/core").Signal<ChoHeaderBarComponent | undefined>;
8
+ toolBar: import("@angular/core").Signal<ChoToolBarComponent | undefined>;
9
+ hasContent: import("@angular/core").Signal<boolean>;
10
+ hasHeader: import("@angular/core").Signal<boolean>;
11
+ hasToolbar: import("@angular/core").Signal<boolean>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoCardComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoCardComponent, "cho-card", never, {}, {}, ["elements", "header", "toolBar"], ["cho-header-bar", "cho-tool-bar", "cho-header-bar", "cho-tool-bar", "*"], true, never>;
14
+ }
@@ -1,9 +1,8 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ChoDetailsCardComponent {
4
- cardTitle: string;
4
+ title: string;
5
5
  toolbar: TemplateRef<unknown> | null;
6
- tabs: TemplateRef<unknown> | null;
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ChoDetailsCardComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<ChoDetailsCardComponent, "cho-details-card", never, { "cardTitle": { "alias": "cardTitle"; "required": false; }; }, {}, ["toolbar", "tabs"], ["[toolbar]", "[tabs]", "*"], true, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoDetailsCardComponent, "cho-details-card", never, { "title": { "alias": "title"; "required": false; }; }, {}, ["toolbar"], ["[toolbar]", "*"], true, never>;
9
8
  }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ChoFilterBarComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoFilterBarComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoFilterBarComponent, "cho-filter-bar", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { ChoToolBarComponent } from './cho-tool-bar.component';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ChoHeaderBarComponent {
4
+ toolBar: import("@angular/core").Signal<ChoToolBarComponent | undefined>;
5
+ hasToolbar: import("@angular/core").Signal<boolean>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoHeaderBarComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoHeaderBarComponent, "cho-header-bar", never, {}, {}, ["toolBar"], ["*", "cho-tool-bar"], true, never>;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { AfterContentInit } from '@angular/core';
2
+ import { ChoTabItemComponent } from './cho-tab-item.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ChoTabBarComponent implements AfterContentInit {
5
+ activeTab: import("@angular/core").InputSignal<string>;
6
+ tabItems: import("@angular/core").Signal<readonly ChoTabItemComponent[]>;
7
+ select: import("@angular/core").OutputEmitterRef<string>;
8
+ private activeIndex;
9
+ ngAfterContentInit(): void;
10
+ onSelect(tab: ChoTabItemComponent): void;
11
+ private setActive;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoTabBarComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoTabBarComponent, "cho-tab-bar", never, { "activeTab": { "alias": "activeTab"; "required": true; "isSignal": true; }; }, { "select": "select"; }, ["tabItems"], never, true, never>;
14
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ChoTabItemComponent {
3
+ private el;
4
+ value: import("@angular/core").InputSignal<string>;
5
+ activeTab: import("@angular/core").InputSignal<string | undefined>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoTabItemComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoTabItemComponent, "cho-tab-item", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
8
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ChoToolBarComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoToolBarComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoToolBarComponent, "cho-tool-bar", never, {}, {}, never, ["*"], true, never>;
5
+ }
package/lib/index.d.ts CHANGED
@@ -1,7 +1,13 @@
1
+ export { ChoCardComponent } from './cho-card.component';
1
2
  export { ChoAddressInfoComponent } from './cho-address-info.component';
2
3
  export { ChoDetailsCardComponent } from './cho-details-card.component';
3
4
  export { ChoEmailInfoComponent } from './cho-email-info.component';
5
+ export { ChoFilterBarComponent } from './cho-filter-bar.component';
6
+ export { ChoHeaderBarComponent } from './cho-header-bar.component';
4
7
  export { ChoModalComponent } from './cho-modal.component';
5
8
  export { ChoPhoneInfoComponent } from './cho-phone-info.component';
6
9
  export { ChoRadioGroupComponent } from './cho-radio-group.component';
7
10
  export { ChoReviewStatusAlertComponent } from './cho-review-status-alert.component';
11
+ export { ChoTabBarComponent } from './cho-tab-bar.component';
12
+ export { ChoToolBarComponent } from './cho-tool-bar.component';
13
+ export { ChoTabItemComponent } from './cho-tab-item.component';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-cho-components",
3
- "version": "0.1.3",
3
+ "version": "0.1.6",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",