ngx-cho-components 0.1.3 → 0.1.5

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,88 @@
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
+ <cho-tool-bar>
26
+ <ng-content select="cho-tool-bar" />
27
+ </cho-tool-bar>
28
+ </cho-header-bar>
29
+ } @else {
30
+ @if (hasHeader()) {
31
+ <cho-header-bar>
32
+ <ng-content select="cho-header-bar" />
33
+ </cho-header-bar>
34
+ }
35
+ @if (hasToolbar()) {
36
+ <cho-tool-bar>
37
+ <ng-content select="cho-tool-bar" />
38
+ </cho-tool-bar>
39
+ }
40
+ }
41
+
42
+ @if (hasContent()) {
43
+ <div class="card-body">
44
+ <ng-content />
45
+ </div>
46
+ }
47
+ </section>
48
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoHeaderBarComponent, selector: "cho-header-bar" }, { kind: "component", type: ChoToolBarComponent, selector: "cho-tool-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'cho-card',
54
+ standalone: true,
55
+ changeDetection: ChangeDetectionStrategy.OnPush,
56
+ imports: [ChoHeaderBarComponent, ChoToolBarComponent],
57
+ template: `
58
+ <section class="card mb-3">
59
+ @if (hasHeader() && hasToolbar()) {
60
+ <cho-header-bar>
61
+ <ng-content select="cho-header-bar" />
62
+ <cho-tool-bar>
63
+ <ng-content select="cho-tool-bar" />
64
+ </cho-tool-bar>
65
+ </cho-header-bar>
66
+ } @else {
67
+ @if (hasHeader()) {
68
+ <cho-header-bar>
69
+ <ng-content select="cho-header-bar" />
70
+ </cho-header-bar>
71
+ }
72
+ @if (hasToolbar()) {
73
+ <cho-tool-bar>
74
+ <ng-content select="cho-tool-bar" />
75
+ </cho-tool-bar>
76
+ }
77
+ }
78
+
79
+ @if (hasContent()) {
80
+ <div class="card-body">
81
+ <ng-content />
82
+ </div>
83
+ }
84
+ </section>
85
+ `,
86
+ }]
87
+ }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixRQUFRLEVBQ1IsZUFBZSxFQUNmLFVBQVUsR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFxQy9ELE1BQU0sT0FBTyxnQkFBZ0I7SUFuQzdCO1FBb0NJLGFBQVEsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFOUQsV0FBTSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUU1QyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuRCxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ2pEOytHQWRZLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDZGQUNFLFVBQVUseUZBRWYscUJBQXFCLDBGQUNwQixtQkFBbUIsZ0VBbENoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTRCVCw0REE3QlMscUJBQXFCLDJEQUFFLG1CQUFtQjs7NEZBK0IzQyxnQkFBZ0I7a0JBbkM1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDO29CQUNyRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0QlQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBjb250ZW50Q2hpbGQsXHJcbiAgICBjb21wdXRlZCxcclxuICAgIGNvbnRlbnRDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDaG9IZWFkZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1oZWFkZXItYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENob1Rvb2xCYXJDb21wb25lbnQgfSBmcm9tICcuL2Noby10b29sLWJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGltcG9ydHM6IFtDaG9IZWFkZXJCYXJDb21wb25lbnQsIENob1Rvb2xCYXJDb21wb25lbnRdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImNhcmQgbWItM1wiPlxyXG4gICAgICAgICAgICBAaWYgKGhhc0hlYWRlcigpICYmIGhhc1Rvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1oZWFkZXItYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNoby1oZWFkZXItYmFyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8Y2hvLXRvb2wtYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjaG8tdG9vbC1iYXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvY2hvLXRvb2wtYmFyPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8taGVhZGVyLWJhcj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGhhc0hlYWRlcigpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGNoby1oZWFkZXItYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjaG8taGVhZGVyLWJhclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9jaG8taGVhZGVyLWJhcj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoaGFzVG9vbGJhcigpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGNoby10b29sLWJhcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2hvLXRvb2wtYmFyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Noby10b29sLWJhcj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGlmIChoYXNDb250ZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+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: ["activeTab", "value"] }], 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,40 @@
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.activeTab = input.required();
7
+ this.value = input.required();
8
+ this.label = '';
9
+ }
10
+ ngAfterContentInit() {
11
+ // Use textContent so <strong>, icons, etc. still work
12
+ this.label = (this.el.nativeElement.textContent ?? '').trim();
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ChoTabItemComponent, isStandalone: true, selector: "cho-tab-item", inputs: { activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
16
+ <li>
17
+ <a
18
+ [class.active]="value() === activeTab()">
19
+ <ng-content />
20
+ </a>
21
+ </li>
22
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'cho-tab-item',
28
+ standalone: true,
29
+ changeDetection: ChangeDetectionStrategy.OnPush,
30
+ template: `
31
+ <li>
32
+ <a
33
+ [class.active]="value() === activeTab()">
34
+ <ng-content />
35
+ </a>
36
+ </li>
37
+ `,
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLXRhYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby10YWItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsVUFBVSxFQUVWLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7O0FBZXZCLE1BQU0sT0FBTyxtQkFBbUI7SUFiaEM7UUFjWSxPQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFN0MsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxFQUFFLENBQUM7S0FNZDtJQUpHLGtCQUFrQjtRQUNkLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xFLENBQUM7K0dBVlEsbUJBQW1CO21HQUFuQixtQkFBbUIsOFVBVGxCOzs7Ozs7O0tBT1Q7OzRGQUVRLG1CQUFtQjtrQkFiL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgaW5wdXQsXHJcbiAgICBpbmplY3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLXRhYi1pdGVtJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ2YWx1ZSgpID09PSBhY3RpdmVUYWIoKVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvVGFiSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XHJcblxyXG4gICAgYWN0aXZlVGFiID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgICBsYWJlbCA9ICcnO1xyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBVc2UgdGV4dENvbnRlbnQgc28gPHN0cm9uZz4sIGljb25zLCBldGMuIHN0aWxsIHdvcmtcclxuICAgICAgICB0aGlzLmxhYmVsID0gKHRoaXMuZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA/PyAnJykudHJpbSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -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,155 @@ 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
+ <cho-tool-bar>
96
+ <ng-content select="cho-tool-bar" />
97
+ </cho-tool-bar>
98
+ </cho-header-bar>
99
+ } @else {
100
+ @if (hasHeader()) {
101
+ <cho-header-bar>
102
+ <ng-content select="cho-header-bar" />
103
+ </cho-header-bar>
104
+ }
105
+ @if (hasToolbar()) {
106
+ <cho-tool-bar>
107
+ <ng-content select="cho-tool-bar" />
108
+ </cho-tool-bar>
109
+ }
110
+ }
111
+
112
+ @if (hasContent()) {
113
+ <div class="card-body">
114
+ <ng-content />
115
+ </div>
116
+ }
117
+ </section>
118
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoHeaderBarComponent, selector: "cho-header-bar" }, { kind: "component", type: ChoToolBarComponent, selector: "cho-tool-bar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
121
+ type: Component,
122
+ args: [{
123
+ selector: 'cho-card',
124
+ standalone: true,
125
+ changeDetection: ChangeDetectionStrategy.OnPush,
126
+ imports: [ChoHeaderBarComponent, ChoToolBarComponent],
127
+ template: `
128
+ <section class="card mb-3">
129
+ @if (hasHeader() && hasToolbar()) {
130
+ <cho-header-bar>
131
+ <ng-content select="cho-header-bar" />
132
+ <cho-tool-bar>
133
+ <ng-content select="cho-tool-bar" />
134
+ </cho-tool-bar>
135
+ </cho-header-bar>
136
+ } @else {
137
+ @if (hasHeader()) {
138
+ <cho-header-bar>
139
+ <ng-content select="cho-header-bar" />
140
+ </cho-header-bar>
141
+ }
142
+ @if (hasToolbar()) {
143
+ <cho-tool-bar>
144
+ <ng-content select="cho-tool-bar" />
145
+ </cho-tool-bar>
146
+ }
147
+ }
148
+
149
+ @if (hasContent()) {
150
+ <div class="card-body">
151
+ <ng-content />
152
+ </div>
153
+ }
154
+ </section>
155
+ `,
156
+ }]
157
+ }] });
158
+
10
159
  class ChoAddressInfoComponent {
11
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
161
  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 +192,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
192
 
44
193
  class ChoDetailsCardComponent {
45
194
  constructor() {
46
- this.cardTitle = '';
195
+ this.title = '';
47
196
  this.toolbar = null;
48
- this.tabs = null;
49
197
  }
50
198
  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: `
199
+ 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
200
  <div class="card mb-3">
53
201
  <div class="card-header">
54
- <h3 class="card-title">{{ cardTitle }}</h3>
202
+ <h3 class="card-title">{{ title }}</h3>
55
203
 
56
204
  <div class="card-toolbar">
57
- <ng-content select="[toolbar]"></ng-content>
205
+ <ng-content #toolbar select="[toolbar]"></ng-content>
58
206
  </div>
59
207
  </div>
60
208
 
61
- <div class="card-body card-tabs me-3 optional-content-wrapper">
62
- <ng-content select="[tabs]"></ng-content>
63
- </div>
64
-
65
209
  <div class="card-body">
66
210
  <ng-content></ng-content>
67
211
  </div>
@@ -76,31 +220,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
76
220
  template: `
77
221
  <div class="card mb-3">
78
222
  <div class="card-header">
79
- <h3 class="card-title">{{ cardTitle }}</h3>
223
+ <h3 class="card-title">{{ title }}</h3>
80
224
 
81
225
  <div class="card-toolbar">
82
- <ng-content select="[toolbar]"></ng-content>
226
+ <ng-content #toolbar select="[toolbar]"></ng-content>
83
227
  </div>
84
228
  </div>
85
229
 
86
- <div class="card-body card-tabs me-3 optional-content-wrapper">
87
- <ng-content select="[tabs]"></ng-content>
88
- </div>
89
-
90
230
  <div class="card-body">
91
231
  <ng-content></ng-content>
92
232
  </div>
93
233
  </div>
94
234
  `,
95
235
  }]
96
- }], propDecorators: { cardTitle: [{
236
+ }], propDecorators: { title: [{
97
237
  type: Input
98
238
  }], toolbar: [{
99
239
  type: ContentChild,
100
- args: ['[toolbar]', { read: TemplateRef }]
101
- }], tabs: [{
102
- type: ContentChild,
103
- args: ['[tabs]', { read: TemplateRef }]
240
+ args: ['toolbar']
104
241
  }] } });
105
242
 
106
243
  class ChoEmailInfoComponent {
@@ -135,6 +272,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
135
272
  type: Input
136
273
  }] } });
137
274
 
275
+ class ChoFilterBarComponent {
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFilterBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
277
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoFilterBarComponent, isStandalone: true, selector: "cho-filter-bar", ngImport: i0, template: `
278
+ <div class="card-filterbar">
279
+ <ng-content />
280
+ </div>
281
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
282
+ }
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFilterBarComponent, decorators: [{
284
+ type: Component,
285
+ args: [{
286
+ selector: 'cho-filter-bar',
287
+ standalone: true,
288
+ template: `
289
+ <div class="card-filterbar">
290
+ <ng-content />
291
+ </div>
292
+ `,
293
+ changeDetection: ChangeDetectionStrategy.OnPush,
294
+ }]
295
+ }] });
296
+
138
297
  class ChoModalComponent {
139
298
  constructor(activeModal) {
140
299
  this.activeModal = activeModal;
@@ -308,6 +467,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
308
467
  type: Input
309
468
  }] } });
310
469
 
470
+ class ChoTabItemComponent {
471
+ constructor() {
472
+ this.el = inject((ElementRef));
473
+ this.activeTab = input.required();
474
+ this.value = input.required();
475
+ this.label = '';
476
+ }
477
+ ngAfterContentInit() {
478
+ // Use textContent so <strong>, icons, etc. still work
479
+ this.label = (this.el.nativeElement.textContent ?? '').trim();
480
+ }
481
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
482
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ChoTabItemComponent, isStandalone: true, selector: "cho-tab-item", inputs: { activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
483
+ <li>
484
+ <a
485
+ [class.active]="value() === activeTab()">
486
+ <ng-content />
487
+ </a>
488
+ </li>
489
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
490
+ }
491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabItemComponent, decorators: [{
492
+ type: Component,
493
+ args: [{
494
+ selector: 'cho-tab-item',
495
+ standalone: true,
496
+ changeDetection: ChangeDetectionStrategy.OnPush,
497
+ template: `
498
+ <li>
499
+ <a
500
+ [class.active]="value() === activeTab()">
501
+ <ng-content />
502
+ </a>
503
+ </li>
504
+ `,
505
+ }]
506
+ }] });
507
+
508
+ class ChoTabBarComponent {
509
+ constructor() {
510
+ this.activeTab = input.required();
511
+ this.tabItems = contentChildren(ChoTabItemComponent);
512
+ this.select = output();
513
+ this.activeIndex = 0;
514
+ }
515
+ ngAfterContentInit() {
516
+ effect(() => {
517
+ const index = Math.max(this.tabItems().findIndex(item => item.value() === this.activeTab()), 0);
518
+ this.setActive(index);
519
+ });
520
+ }
521
+ onSelect(tab) {
522
+ const index = this.tabItems().findIndex(item => item.value() === tab.value());
523
+ this.setActive(index);
524
+ }
525
+ setActive(index) {
526
+ if (index === this.activeIndex)
527
+ return;
528
+ this.select.emit(this.tabItems()[index].value());
529
+ }
530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
531
+ 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: `
532
+ @if (tabItems().length) {
533
+ <ul class="card-tabbar">
534
+ @for (tab of tabItems(); track $index) {
535
+ <cho-tab-item
536
+ [value]="tab.value()"
537
+ [activeTab]="activeTab()"
538
+ (click)="onSelect(tab)">
539
+ </cho-tab-item>
540
+ }
541
+ </ul>
542
+ }
543
+ `, isInline: true, dependencies: [{ kind: "component", type: ChoTabItemComponent, selector: "cho-tab-item", inputs: ["activeTab", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
544
+ }
545
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoTabBarComponent, decorators: [{
546
+ type: Component,
547
+ args: [{
548
+ selector: 'cho-tab-bar',
549
+ standalone: true,
550
+ imports: [ChoTabItemComponent],
551
+ template: `
552
+ @if (tabItems().length) {
553
+ <ul class="card-tabbar">
554
+ @for (tab of tabItems(); track $index) {
555
+ <cho-tab-item
556
+ [value]="tab.value()"
557
+ [activeTab]="activeTab()"
558
+ (click)="onSelect(tab)">
559
+ </cho-tab-item>
560
+ }
561
+ </ul>
562
+ }
563
+ `,
564
+ changeDetection: ChangeDetectionStrategy.OnPush,
565
+ }]
566
+ }] });
567
+
311
568
  /*
312
569
  * Public API Surface of ngx-cho-components
313
570
  */
@@ -316,5 +573,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
316
573
  * Generated bundle index. Do not edit.
317
574
  */
318
575
 
319
- export { ChoAddressInfoComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoModalComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent };
576
+ export { ChoAddressInfoComponent, ChoCardComponent, ChoDetailsCardComponent, ChoEmailInfoComponent, ChoFilterBarComponent, ChoHeaderBarComponent, ChoModalComponent, ChoPhoneInfoComponent, ChoRadioGroupComponent, ChoReviewStatusAlertComponent, ChoTabBarComponent, ChoTabItemComponent, ChoToolBarComponent };
320
577
  //# 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 <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 @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 implements AfterContentInit {\r\n private el = inject(ElementRef<HTMLElement>);\r\n\r\n activeTab = input.required<string>();\r\n value = input.required<string>();\r\n label = '';\r\n\r\n ngAfterContentInit(): void {\r\n // Use textContent so <strong>, icons, etc. still work\r\n this.label = (this.el.nativeElement.textContent ?? '').trim();\r\n }\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,11 @@
1
+ import { AfterContentInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ChoTabItemComponent implements AfterContentInit {
4
+ private el;
5
+ activeTab: import("@angular/core").InputSignal<string>;
6
+ value: import("@angular/core").InputSignal<string>;
7
+ label: string;
8
+ ngAfterContentInit(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChoTabItemComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChoTabItemComponent, "cho-tab-item", never, { "activeTab": { "alias": "activeTab"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
11
+ }
@@ -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.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",