ngx-cho-components 0.1.17 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-cho-components.mjs","sources":["../../../projects/ngx-cho-components/src/lib/cho-address-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-filters.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-toolbar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-header.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-tabs.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-details-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-email-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-modal.component.ts","../../../projects/ngx-cho-components/src/lib/cho-phone-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-radio-group.component.ts","../../../projects/ngx-cho-components/src/lib/cho-review-status-alert.component.ts","../../../projects/ngx-cho-components/src/public-api.ts","../../../projects/ngx-cho-components/src/ngx-cho-components.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { IAddress } from 'ngx-cho-common';\r\nimport { NgIf, TitleCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cho-address-info',\r\n template: `<p *ngIf=\"address.addressLine1\" class=\"m-0\">\r\n {{ address.addressLine1 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.addressLine2\" class=\"m-0\">\r\n {{ address.addressLine2 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.city\" class=\"m-0\">\r\n {{ address.city | titlecase }}, {{ address.stateProvinceCode }}\r\n {{ address.postalCode }}\r\n </p> `,\r\n standalone: true,\r\n imports: [TitleCasePipe, NgIf],\r\n})\r\nexport class ChoAddressInfoComponent {\r\n @Input() address!: IAddress;\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-filters',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-filters' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardFiltersComponent {}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-toolbar',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-toolbar' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardToolbarComponent {}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\n\r\n@Component({\r\n selector: 'cho-card-header',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [NgTemplateOutlet, ChoCardToolbarComponent],\r\n template: `\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">\r\n @if (headerText()) {\r\n {{ headerText() }}\r\n } @else {\r\n <ng-content />\r\n }\r\n </h3>\r\n\r\n @if (toolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardHeaderComponent {\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any> | null>();\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, input, OnInit, output } from '@angular/core';\r\nimport { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-card-tabs',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n template: `\r\n <div class=\"card-tabs\">\r\n <ul>\r\n @for (tab of tabs(); track tab.value) {\r\n <li (click)=\"onSelect(tab.value)\">\r\n <a\r\n class=\"nav-link text-active-primary\"\r\n [class.active]=\"activeTab === tab.value\">\r\n {{ tab.label }}\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardTabsComponent implements OnInit {\r\n private readonly navigationService = inject(ChoNavigationService);\r\n private readonly routeParamService = inject(ChoRouteParamService);\r\n\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n tabSelect = output<string>();\r\n\r\n activeTab: string | undefined;\r\n\r\n ngOnInit(): void {\r\n this.activeTab = this.routeParamService.getQueryParameterValue('vw') || '';\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n\r\n onSelect(tabValue: string): void {\r\n this.activeTab = tabValue;\r\n\r\n this.navigationService.setQueryParams({\r\n vw: tabValue ? tabValue : null,\r\n });\r\n\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChoCardFiltersComponent } from './cho-card-filters.component';\r\nimport { ChoCardHeaderComponent } from './cho-card-header.component';\r\nimport { ChoCardTabsComponent } from './cho-card-tabs.component';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n computed,\r\n ElementRef,\r\n effect,\r\n viewChild,\r\n signal,\r\n input,\r\n TemplateRef,\r\n output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgTemplateOutlet,\r\n ChoCardHeaderComponent,\r\n ChoCardToolbarComponent,\r\n ChoCardFiltersComponent,\r\n ChoCardTabsComponent,\r\n ],\r\n template: `\r\n <div class=\"card mb-3\">\r\n @if (hasHeader()) {\r\n <cho-card-header [toolbar]=\"toolbar()\" [headerText]=\"headerText()\">\r\n <ng-container *ngTemplateOutlet=\"header()!\" />\r\n </cho-card-header>\r\n } @else if (hasToolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n\r\n @if (hasFilters()) {\r\n <cho-card-filters>\r\n <ng-container *ngTemplateOutlet=\"filters()!\" />\r\n </cho-card-filters>\r\n }\r\n\r\n @if (hasTabs()) {\r\n <cho-card-tabs [tabs]=\"tabs()!\" (tabSelect)=\"tabSelect.emit($event)\">\r\n </cho-card-tabs>\r\n }\r\n\r\n <div class=\"card-body\" #contentWrapper [hidden]=\"!hasContent()\">\r\n @if (content()) {\r\n <ng-container *ngTemplateOutlet=\"content()!\" />\r\n } @else {\r\n <ng-content />\r\n }\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardComponent {\r\n header = input<TemplateRef<any>>();\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any>>();\r\n filters = input<TemplateRef<any>>();\r\n content = input<TemplateRef<any>>();\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n\r\n tabSelect = output<string>();\r\n\r\n // used for projected content detection\r\n contentWrapper = viewChild<ElementRef>('contentWrapper');\r\n\r\n hasContent = computed(() => this.content() || this._hasProjectedContent());\r\n hasFilters = computed(() => !!this.filters());\r\n hasHeader = computed(() => !!this.header() || !!this.headerText());\r\n hasTabs = computed(() => !!this.tabs() && this.tabs()!.length > 0);\r\n hasToolbar = computed(() => !!this.toolbar());\r\n\r\n private _hasProjectedContent = signal(false);\r\n\r\n constructor() {\r\n effect(() => this.detectProjectedContent(), { allowSignalWrites: true });\r\n }\r\n\r\n private detectProjectedContent() {\r\n const wrapper = this.contentWrapper();\r\n\r\n if (wrapper) {\r\n const element = wrapper.nativeElement;\r\n\r\n const hasRealContent = Array.from(element.childNodes).some((node: any) => {\r\n if (node.nodeType === Node.ELEMENT_NODE) return true;\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n return node.textContent?.trim().length > 0;\r\n }\r\n return false;\r\n });\r\n\r\n this._hasProjectedContent.set(hasRealContent);\r\n }\r\n }\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-details-card',\r\n standalone: true,\r\n template: `\r\n <div class=\"card mb-3\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">{{ cardTitle }}</h3>\r\n\r\n <div class=\"card-toolbar\">\r\n <ng-content #toolbar select=\"[toolbar]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoDetailsCardComponent {\r\n @Input() cardTitle = '';\r\n\r\n @ContentChild('toolbar') toolbar: TemplateRef<unknown> | null = null;\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { IEmailInfo } from 'ngx-cho-common';\r\n\r\n\r\n@Component({\r\n selector: 'cho-email-info',\r\n template: `<ng-container *ngIf=\"email; else empty\"\r\n ><span *ngIf=\"email.emailTypeCode\">{{ email.emailTypeCode[0] }}: </span>\r\n <a [href]=\"sanitizedEmailLink\">{{ email.emailAddress }}</a>\r\n <small *ngIf=\"email.description\"> ({{ email.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n standalone: true,\r\n imports: [NgIf],\r\n})\r\nexport class ChoEmailInfoComponent {\r\n @Input() email!: IEmailInfo;\r\n\r\n public sanitizedEmailLink: SafeUrl;\r\n\r\n constructor(private sanitizer: DomSanitizer) {\r\n this.sanitizedEmailLink = this.email?.emailAddress\r\n ? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)\r\n : '';\r\n }\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'cho-modal',\r\n template: `\r\n <div class=\"modal-header\">\r\n <h2 id=\"modal-basic-title\" class=\"modal-title\">{{ title }}</h2>\r\n <button\r\n (click)=\"activeModal.dismiss()\"\r\n type=\"button\"\r\n class=\"btn btn-light py-1 px-3 fa-solid fa-x\"></button>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div class=\"modal-footer\">\r\n <ng-content #footer select=\"[footer]\"></ng-content>\r\n </div>\r\n `,\r\n standalone: true,\r\n providers: [NgbActiveModal],\r\n})\r\nexport class ChoModalComponent {\r\n @Input()\r\n title!: string;\r\n\r\n @ContentChild('footer')\r\n filters: TemplateRef<unknown> | undefined;\r\n\r\n constructor(public readonly activeModal: NgbActiveModal) {}\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { IPhoneInfo } from 'ngx-cho-common';\r\n\r\n\r\n@Component({\r\n selector: 'cho-phone-info',\r\n template: ` <ng-container *ngIf=\"phone; else empty\"\r\n ><span *ngIf=\"phone.phoneTypeCode\">{{ phone.phoneTypeCode[0] }}: </span>\r\n {{ phone.phoneNumber }}\r\n <small *ngIf=\"phone.description\"> ({{ phone.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n standalone: true,\r\n imports: [NgIf],\r\n})\r\nexport class ChoPhoneInfoComponent {\r\n @Input() phone!: IPhoneInfo;\r\n}\r\n","import { NgFor } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cho-radio-group',\r\n template: `\r\n <div>\r\n <label class=\"form-label\">{{ label }}</label>\r\n <div *ngFor=\"let option of options\" class=\"form-check form-check-inline\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"radio\"\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [(ngModel)]=\"selectedOption\"\r\n (change)=\"emitSelection()\" />\r\n {{ option.label }}\r\n </div>\r\n </div>\r\n `,\r\n standalone: true,\r\n imports: [NgFor, FormsModule],\r\n})\r\nexport class ChoRadioGroupComponent<T> {\r\n @Input() label = '';\r\n @Input() options: { label: string; value: unknown }[] = [];\r\n @Input() groupName = '';\r\n @Input() defaultValue: T | null = null;\r\n\r\n @Output() selectionChange = new EventEmitter<T | null>();\r\n\r\n public selectedOption: T | null = this.defaultValue;\r\n\r\n public emitSelection() {\r\n if (this.selectedOption !== undefined) {\r\n this.selectionChange.emit(this.selectedOption);\r\n }\r\n }\r\n}\r\n","import { DatePipe, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-review-status-alert',\r\n template: `\r\n <div class=\"alert alert-info\" *ngIf=\"reviewedDateTime\">\r\n Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date : 'shortDate' }} at\r\n {{ reviewedDateTime | date : 'shortTime' }}.\r\n </div>\r\n `,\r\n standalone: true,\r\n imports: [NgIf, DatePipe],\r\n})\r\nexport class ChoReviewStatusAlertComponent {\r\n @Input() reviewedBy: string | undefined;\r\n @Input() reviewedDateTime: string | undefined;\r\n}\r\n","/*\r\n * Public API Surface of ngx-cho-components\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-cho-components.mjs","sources":["../../../projects/ngx-cho-components/src/lib/cho-address-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-filters.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-toolbar.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-header.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card-tabs.component.ts","../../../projects/ngx-cho-components/src/lib/cho-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-details-card.component.ts","../../../projects/ngx-cho-components/src/lib/cho-email-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-phone-info.component.ts","../../../projects/ngx-cho-components/src/lib/cho-radio-group.component.ts","../../../projects/ngx-cho-components/src/lib/cho-review-status-alert.component.ts","../../../projects/ngx-cho-components/src/public-api.ts","../../../projects/ngx-cho-components/src/ngx-cho-components.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { IAddress } from 'ngx-cho-common';\r\nimport { NgIf, TitleCasePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cho-address-info',\r\n template: `<p *ngIf=\"address.addressLine1\" class=\"m-0\">\r\n {{ address.addressLine1 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.addressLine2\" class=\"m-0\">\r\n {{ address.addressLine2 | titlecase }}\r\n </p>\r\n <p *ngIf=\"address.city\" class=\"m-0\">\r\n {{ address.city | titlecase }}, {{ address.stateProvinceCode }}\r\n {{ address.postalCode }}\r\n </p> `,\r\n imports: [TitleCasePipe, NgIf],\r\n})\r\nexport class ChoAddressInfoComponent {\r\n @Input() address!: IAddress;\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-filters',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-filters' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardFiltersComponent {}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card-toolbar',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n host: { class: 'card-toolbar' },\r\n template: ` <ng-content /> `,\r\n})\r\nexport class ChoCardToolbarComponent {}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\n\r\n@Component({\r\n selector: 'cho-card-header',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [NgTemplateOutlet, ChoCardToolbarComponent],\r\n template: `\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">\r\n @if (headerText()) {\r\n {{ headerText() }}\r\n } @else {\r\n <ng-content />\r\n }\r\n </h3>\r\n\r\n @if (toolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardHeaderComponent {\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any> | null>();\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, input, OnInit, output } from '@angular/core';\r\nimport { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-card-tabs',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n template: `\r\n <div class=\"card-tabs\">\r\n <ul>\r\n @for (tab of tabs(); track tab.value) {\r\n <li (click)=\"onSelect(tab.value)\">\r\n <a\r\n class=\"nav-link text-active-primary\"\r\n [class.active]=\"activeTab === tab.value\">\r\n {{ tab.label }}\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardTabsComponent implements OnInit {\r\n private readonly navigationService = inject(ChoNavigationService);\r\n private readonly routeParamService = inject(ChoRouteParamService);\r\n\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n tabSelect = output<string>();\r\n\r\n activeTab: string | undefined;\r\n\r\n ngOnInit(): void {\r\n this.activeTab = this.routeParamService.getQueryParameterValue('vw') || '';\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n\r\n onSelect(tabValue: string): void {\r\n this.activeTab = tabValue;\r\n\r\n this.navigationService.setQueryParams({\r\n vw: tabValue ? tabValue : null,\r\n });\r\n\r\n this.tabSelect.emit(this.activeTab);\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { ChoCardFiltersComponent } from './cho-card-filters.component';\r\nimport { ChoCardHeaderComponent } from './cho-card-header.component';\r\nimport { ChoCardTabsComponent } from './cho-card-tabs.component';\r\nimport { ChoCardToolbarComponent } from './cho-card-toolbar.component';\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n computed,\r\n ElementRef,\r\n effect,\r\n viewChild,\r\n signal,\r\n input,\r\n TemplateRef,\r\n output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-card',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgTemplateOutlet,\r\n ChoCardHeaderComponent,\r\n ChoCardToolbarComponent,\r\n ChoCardFiltersComponent,\r\n ChoCardTabsComponent,\r\n ],\r\n template: `\r\n <div class=\"card mb-3\">\r\n @if (hasHeader()) {\r\n <cho-card-header [toolbar]=\"toolbar()\" [headerText]=\"headerText()\">\r\n <ng-container *ngTemplateOutlet=\"header()!\" />\r\n </cho-card-header>\r\n } @else if (hasToolbar()) {\r\n <cho-card-toolbar>\r\n <ng-container *ngTemplateOutlet=\"toolbar()!\" />\r\n </cho-card-toolbar>\r\n }\r\n\r\n @if (hasFilters()) {\r\n <cho-card-filters>\r\n <ng-container *ngTemplateOutlet=\"filters()!\" />\r\n </cho-card-filters>\r\n }\r\n\r\n @if (hasTabs()) {\r\n <cho-card-tabs [tabs]=\"tabs()!\" (tabSelect)=\"tabSelect.emit($event)\">\r\n </cho-card-tabs>\r\n }\r\n\r\n <div class=\"card-body\" #contentWrapper [hidden]=\"!hasContent()\">\r\n @if (content()) {\r\n <ng-container *ngTemplateOutlet=\"content()!\" />\r\n } @else {\r\n <ng-content />\r\n }\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoCardComponent {\r\n header = input<TemplateRef<any>>();\r\n headerText = input<string>();\r\n toolbar = input<TemplateRef<any>>();\r\n filters = input<TemplateRef<any>>();\r\n content = input<TemplateRef<any>>();\r\n tabs = input<Array<{ value: string; label: string }>>();\r\n\r\n tabSelect = output<string>();\r\n\r\n // used for projected content detection\r\n contentWrapper = viewChild<ElementRef>('contentWrapper');\r\n\r\n hasContent = computed(() => this.content() || this._hasProjectedContent());\r\n hasFilters = computed(() => !!this.filters());\r\n hasHeader = computed(() => !!this.header() || !!this.headerText());\r\n hasTabs = computed(() => !!this.tabs() && this.tabs()!.length > 0);\r\n hasToolbar = computed(() => !!this.toolbar());\r\n\r\n private _hasProjectedContent = signal(false);\r\n\r\n constructor() {\r\n effect(() => this.detectProjectedContent(), { allowSignalWrites: true });\r\n }\r\n\r\n private detectProjectedContent() {\r\n const wrapper = this.contentWrapper();\r\n\r\n if (wrapper) {\r\n const element = wrapper.nativeElement;\r\n\r\n const hasRealContent = Array.from(element.childNodes).some((node: any) => {\r\n if (node.nodeType === Node.ELEMENT_NODE) return true;\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n return node.textContent?.trim().length > 0;\r\n }\r\n return false;\r\n });\r\n\r\n this._hasProjectedContent.set(hasRealContent);\r\n }\r\n }\r\n}\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-details-card',\r\n standalone: true,\r\n template: `\r\n <div class=\"card mb-3\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title\">{{ cardTitle }}</h3>\r\n\r\n <div class=\"card-toolbar\">\r\n <ng-content #toolbar select=\"[toolbar]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ChoDetailsCardComponent {\r\n @Input() cardTitle = '';\r\n\r\n @ContentChild('toolbar') toolbar: TemplateRef<unknown> | null = null;\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { IEmailInfo } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-email-info',\r\n template: `<ng-container *ngIf=\"email; else empty\"\r\n ><span *ngIf=\"email.emailTypeCode\">{{ email.emailTypeCode[0] }}: </span>\r\n <a [href]=\"sanitizedEmailLink\">{{ email.emailAddress }}</a>\r\n <small *ngIf=\"email.description\"> ({{ email.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n imports: [NgIf],\r\n})\r\nexport class ChoEmailInfoComponent {\r\n @Input() email!: IEmailInfo;\r\n\r\n public sanitizedEmailLink: SafeUrl;\r\n\r\n constructor(private sanitizer: DomSanitizer) {\r\n this.sanitizedEmailLink = this.email?.emailAddress\r\n ? this.sanitizer.bypassSecurityTrustUrl(`mailto:${this.email.emailAddress}`)\r\n : '';\r\n }\r\n}\r\n","import { NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { IPhoneInfo } from 'ngx-cho-common';\r\n\r\n@Component({\r\n selector: 'cho-phone-info',\r\n template: ` <ng-container *ngIf=\"phone; else empty\"\r\n ><span *ngIf=\"phone.phoneTypeCode\">{{ phone.phoneTypeCode[0] }}: </span>\r\n {{ phone.phoneNumber }}\r\n <small *ngIf=\"phone.description\"> ({{ phone.description }})</small></ng-container\r\n >\r\n <ng-template #empty><span>--</span></ng-template>`,\r\n imports: [NgIf],\r\n})\r\nexport class ChoPhoneInfoComponent {\r\n @Input() phone!: IPhoneInfo;\r\n}\r\n","import { NgFor } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cho-radio-group',\r\n template: `\r\n <div>\r\n <label class=\"form-label\">{{ label }}</label>\r\n <div *ngFor=\"let option of options\" class=\"form-check form-check-inline\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"radio\"\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [(ngModel)]=\"selectedOption\"\r\n (change)=\"emitSelection()\" />\r\n {{ option.label }}\r\n </div>\r\n </div>\r\n `,\r\n imports: [NgFor, FormsModule],\r\n})\r\nexport class ChoRadioGroupComponent<T> {\r\n @Input() label = '';\r\n @Input() options: { label: string; value: unknown }[] = [];\r\n @Input() groupName = '';\r\n @Input() defaultValue: T | null = null;\r\n\r\n @Output() selectionChange = new EventEmitter<T | null>();\r\n\r\n public selectedOption: T | null = this.defaultValue;\r\n\r\n public emitSelection() {\r\n if (this.selectedOption !== undefined) {\r\n this.selectionChange.emit(this.selectedOption);\r\n }\r\n }\r\n}\r\n","import { DatePipe, NgIf } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cho-review-status-alert',\r\n template: `\r\n <div class=\"alert alert-info\" *ngIf=\"reviewedDateTime\">\r\n Review completed by {{ reviewedBy }} on {{ reviewedDateTime | date: 'shortDate' }} at\r\n {{ reviewedDateTime | date: 'shortTime' }}.\r\n </div>\r\n `,\r\n imports: [NgIf, DatePipe],\r\n})\r\nexport class ChoReviewStatusAlertComponent {\r\n @Input() reviewedBy: string | undefined;\r\n @Input() reviewedDateTime: string | undefined;\r\n}\r\n","/*\r\n * Public API Surface of ngx-cho-components\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export { ChoCardTabsComponent } from './cho-card-tabs.component';
6
6
  export { ChoCardToolbarComponent } from './cho-card-toolbar.component';
7
7
  export { ChoDetailsCardComponent } from './cho-details-card.component';
8
8
  export { ChoEmailInfoComponent } from './cho-email-info.component';
9
- export { ChoModalComponent } from './cho-modal.component';
10
9
  export { ChoPhoneInfoComponent } from './cho-phone-info.component';
11
10
  export { ChoRadioGroupComponent } from './cho-radio-group.component';
12
11
  export { ChoReviewStatusAlertComponent } from './cho-review-status-alert.component';
package/package.json CHANGED
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "name": "ngx-cho-components",
3
- "version": "0.1.17",
3
+ "version": "2.0.0",
4
4
  "peerDependencies": {
5
- "@angular/common": "^17.3.0",
6
- "@angular/core": "^17.3.0",
7
- "bootstrap": "^5.3.3",
8
- "ngx-cho-common": "^1.0.14",
9
- "@ng-bootstrap/ng-bootstrap": "^17.0.0"
5
+ "@angular/common": "^19.2.0",
6
+ "@angular/core": "^19.2.0",
7
+ "ngx-cho-common": "^3.0.0"
10
8
  },
11
9
  "dependencies": {
12
10
  "tslib": "^2.3.0"
@@ -20,8 +18,6 @@
20
18
  },
21
19
  ".": {
22
20
  "types": "./index.d.ts",
23
- "esm2022": "./esm2022/ngx-cho-components.mjs",
24
- "esm": "./esm2022/ngx-cho-components.mjs",
25
21
  "default": "./fesm2022/ngx-cho-components.mjs"
26
22
  }
27
23
  }
@@ -1,37 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { NgIf, TitleCasePipe } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export class ChoAddressInfoComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoAddressInfoComponent, isStandalone: true, selector: "cho-address-info", inputs: { address: "address" }, ngImport: i0, template: `<p *ngIf="address.addressLine1" class="m-0">
7
- {{ address.addressLine1 | titlecase }}
8
- </p>
9
- <p *ngIf="address.addressLine2" class="m-0">
10
- {{ address.addressLine2 | titlecase }}
11
- </p>
12
- <p *ngIf="address.city" class="m-0">
13
- {{ address.city | titlecase }}, {{ address.stateProvinceCode }}
14
- {{ address.postalCode }}
15
- </p> `, isInline: true, dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAddressInfoComponent, decorators: [{
18
- type: Component,
19
- args: [{
20
- selector: 'cho-address-info',
21
- template: `<p *ngIf="address.addressLine1" class="m-0">
22
- {{ address.addressLine1 | titlecase }}
23
- </p>
24
- <p *ngIf="address.addressLine2" class="m-0">
25
- {{ address.addressLine2 | titlecase }}
26
- </p>
27
- <p *ngIf="address.city" class="m-0">
28
- {{ address.city | titlecase }}, {{ address.stateProvinceCode }}
29
- {{ address.postalCode }}
30
- </p> `,
31
- standalone: true,
32
- imports: [TitleCasePipe, NgIf],
33
- }]
34
- }], propDecorators: { address: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWFkZHJlc3MtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tYWRkcmVzcy1pbmZvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWlCdEQsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUIsNEdBYnRCOzs7Ozs7Ozs7Y0FTQSx1REFFQSxhQUFhLGtEQUFFLElBQUk7OzRGQUVwQix1QkFBdUI7a0JBZm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Y0FTQTtvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQztpQkFDakM7OEJBRVksT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQWRkcmVzcyB9IGZyb20gJ25neC1jaG8tY29tbW9uJztcclxuaW1wb3J0IHsgTmdJZiwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWFkZHJlc3MtaW5mbycsXHJcbiAgICB0ZW1wbGF0ZTogYDxwICpuZ0lmPVwiYWRkcmVzcy5hZGRyZXNzTGluZTFcIiBjbGFzcz1cIm0tMFwiPlxyXG4gICAgICAgICAgICB7eyBhZGRyZXNzLmFkZHJlc3NMaW5lMSB8IHRpdGxlY2FzZSB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8cCAqbmdJZj1cImFkZHJlc3MuYWRkcmVzc0xpbmUyXCIgY2xhc3M9XCJtLTBcIj5cclxuICAgICAgICAgICAge3sgYWRkcmVzcy5hZGRyZXNzTGluZTIgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPHAgKm5nSWY9XCJhZGRyZXNzLmNpdHlcIiBjbGFzcz1cIm0tMFwiPlxyXG4gICAgICAgICAgICB7eyBhZGRyZXNzLmNpdHkgfCB0aXRsZWNhc2UgfX0sIHt7IGFkZHJlc3Muc3RhdGVQcm92aW5jZUNvZGUgfX1cclxuICAgICAgICAgICAge3sgYWRkcmVzcy5wb3N0YWxDb2RlIH19XHJcbiAgICAgICAgPC9wPiBgLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtUaXRsZUNhc2VQaXBlLCBOZ0lmXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0FkZHJlc3NJbmZvQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGFkZHJlc3MhOiBJQWRkcmVzcztcclxufVxyXG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ChoCardFiltersComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoCardFiltersComponent, isStandalone: true, selector: "cho-card-filters", host: { classAttribute: "card-filters" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardFiltersComponent, decorators: [{
8
- type: Component,
9
- args: [{
10
- selector: 'cho-card-filters',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- imports: [],
14
- host: { class: 'card-filters' },
15
- template: ` <ng-content /> `,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QixzSEFGdEIsa0JBQWtCOzs0RkFFbkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWNhcmQtZmlsdGVycycsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdjYXJkLWZpbHRlcnMnIH0sXHJcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCAvPiBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZEZpbHRlcnNDb21wb25lbnQge31cclxuIl19
@@ -1,55 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
3
- import { ChoCardToolbarComponent } from './cho-card-toolbar.component';
4
- import * as i0 from "@angular/core";
5
- export class ChoCardHeaderComponent {
6
- constructor() {
7
- this.headerText = input();
8
- this.toolbar = input();
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardHeaderComponent, isStandalone: true, selector: "cho-card-header", inputs: { headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
12
- <div class="card-header">
13
- <h3 class="card-title">
14
- @if (headerText()) {
15
- {{ headerText() }}
16
- } @else {
17
- <ng-content />
18
- }
19
- </h3>
20
-
21
- @if (toolbar()) {
22
- <cho-card-toolbar>
23
- <ng-container *ngTemplateOutlet="toolbar()!" />
24
- </cho-card-toolbar>
25
- }
26
- </div>
27
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChoCardToolbarComponent, selector: "cho-card-toolbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardHeaderComponent, decorators: [{
30
- type: Component,
31
- args: [{
32
- selector: 'cho-card-header',
33
- standalone: true,
34
- changeDetection: ChangeDetectionStrategy.OnPush,
35
- imports: [NgTemplateOutlet, ChoCardToolbarComponent],
36
- template: `
37
- <div class="card-header">
38
- <h3 class="card-title">
39
- @if (headerText()) {
40
- {{ headerText() }}
41
- } @else {
42
- <ng-content />
43
- }
44
- </h3>
45
-
46
- @if (toolbar()) {
47
- <cho-card-toolbar>
48
- <ng-container *ngTemplateOutlet="toolbar()!" />
49
- </cho-card-toolbar>
50
- }
51
- </div>
52
- `,
53
- }]
54
- }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jaG8tY29tcG9uZW50cy9zcmMvbGliL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBeUJ2RSxNQUFNLE9BQU8sc0JBQXNCO0lBdkJuQztRQXdCSSxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBMkIsQ0FBQztLQUM5QzsrR0FIWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0VkFsQnJCOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JULDREQWpCUyxnQkFBZ0Isb0pBQUUsdUJBQXVCOzs0RkFtQjFDLHNCQUFzQjtrQkF2QmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQztvQkFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLWhlYWRlcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnRdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgQGlmIChoZWFkZXJUZXh0KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBoZWFkZXJUZXh0KCkgfX1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvaDM+XHJcblxyXG4gICAgICAgICAgICBAaWYgKHRvb2xiYXIoKSkge1xyXG4gICAgICAgICAgICAgICAgPGNoby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2xiYXIoKSFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9jaG8tY2FyZC10b29sYmFyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZEhlYWRlckNvbXBvbmVudCB7XHJcbiAgICBoZWFkZXJUZXh0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gICAgdG9vbGJhciA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPigpO1xyXG59XHJcbiJdfQ==
@@ -1,63 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject, input, output } from '@angular/core';
2
- import { ChoNavigationService, ChoRouteParamService } from 'ngx-cho-common';
3
- import * as i0 from "@angular/core";
4
- export class ChoCardTabsComponent {
5
- constructor() {
6
- this.navigationService = inject(ChoNavigationService);
7
- this.routeParamService = inject(ChoRouteParamService);
8
- this.tabs = input();
9
- this.tabSelect = output();
10
- }
11
- ngOnInit() {
12
- this.activeTab = this.routeParamService.getQueryParameterValue('vw') || '';
13
- this.tabSelect.emit(this.activeTab);
14
- }
15
- onSelect(tabValue) {
16
- this.activeTab = tabValue;
17
- this.navigationService.setQueryParams({
18
- vw: tabValue ? tabValue : null,
19
- });
20
- this.tabSelect.emit(this.activeTab);
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardTabsComponent, isStandalone: true, selector: "cho-card-tabs", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, ngImport: i0, template: `
24
- <div class="card-tabs">
25
- <ul>
26
- @for (tab of tabs(); track tab.value) {
27
- <li (click)="onSelect(tab.value)">
28
- <a
29
- class="nav-link text-active-primary"
30
- [class.active]="activeTab === tab.value">
31
- {{ tab.label }}
32
- </a>
33
- </li>
34
- }
35
- </ul>
36
- </div>
37
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardTabsComponent, decorators: [{
40
- type: Component,
41
- args: [{
42
- selector: 'cho-card-tabs',
43
- standalone: true,
44
- changeDetection: ChangeDetectionStrategy.OnPush,
45
- imports: [],
46
- template: `
47
- <div class="card-tabs">
48
- <ul>
49
- @for (tab of tabs(); track tab.value) {
50
- <li (click)="onSelect(tab.value)">
51
- <a
52
- class="nav-link text-active-primary"
53
- [class.active]="activeTab === tab.value">
54
- {{ tab.label }}
55
- </a>
56
- </li>
57
- }
58
- </ul>
59
- </div>
60
- `,
61
- }]
62
- }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQXVCNUUsTUFBTSxPQUFPLG9CQUFvQjtJQXJCakM7UUFzQnFCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxFLFNBQUksR0FBRyxLQUFLLEVBQTJDLENBQUM7UUFDeEQsY0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBa0JoQztJQWRHLFFBQVE7UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztZQUNsQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDakMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7K0dBdEJRLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtPQWhCbkI7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7OzRGQUVRLG9CQUFvQjtrQkFyQmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hvTmF2aWdhdGlvblNlcnZpY2UsIENob1JvdXRlUGFyYW1TZXJ2aWNlIH0gZnJvbSAnbmd4LWNoby1jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkLXRhYnMnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRhYnNcIj5cclxuICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnMoKTsgdHJhY2sgdGFiLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJvblNlbGVjdCh0YWIudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIHRleHQtYWN0aXZlLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0NhcmRUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvblNlcnZpY2UgPSBpbmplY3QoQ2hvTmF2aWdhdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZVBhcmFtU2VydmljZSA9IGluamVjdChDaG9Sb3V0ZVBhcmFtU2VydmljZSk7XHJcblxyXG4gICAgdGFicyA9IGlucHV0PEFycmF5PHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9Pj4oKTtcclxuICAgIHRhYlNlbGVjdCA9IG91dHB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICAgYWN0aXZlVGFiOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0aGlzLnJvdXRlUGFyYW1TZXJ2aWNlLmdldFF1ZXJ5UGFyYW1ldGVyVmFsdWUoJ3Z3JykgfHwgJyc7XHJcbiAgICAgICAgdGhpcy50YWJTZWxlY3QuZW1pdCh0aGlzLmFjdGl2ZVRhYik7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3QodGFiVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiVmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2Uuc2V0UXVlcnlQYXJhbXMoe1xyXG4gICAgICAgICAgICB2dzogdGFiVmFsdWUgPyB0YWJWYWx1ZSA6IG51bGwsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMudGFiU2VsZWN0LmVtaXQodGhpcy5hY3RpdmVUYWIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ChoCardToolbarComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoCardToolbarComponent, isStandalone: true, selector: "cho-card-toolbar", host: { classAttribute: "card-toolbar" }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardToolbarComponent, decorators: [{
8
- type: Component,
9
- args: [{
10
- selector: 'cho-card-toolbar',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- imports: [],
14
- host: { class: 'card-toolbar' },
15
- template: ` <ng-content /> `,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tY2FyZC10b29sYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QixzSEFGdEIsa0JBQWtCOzs0RkFFbkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2hvLWNhcmQtdG9vbGJhcicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdjYXJkLXRvb2xiYXInIH0sXHJcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCAvPiBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnQge31cclxuIl19
@@ -1,123 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { ChoCardFiltersComponent } from './cho-card-filters.component';
3
- import { ChoCardHeaderComponent } from './cho-card-header.component';
4
- import { ChoCardTabsComponent } from './cho-card-tabs.component';
5
- import { ChoCardToolbarComponent } from './cho-card-toolbar.component';
6
- import { Component, ChangeDetectionStrategy, computed, effect, viewChild, signal, input, output, } from '@angular/core';
7
- import * as i0 from "@angular/core";
8
- export class ChoCardComponent {
9
- constructor() {
10
- this.header = input();
11
- this.headerText = input();
12
- this.toolbar = input();
13
- this.filters = input();
14
- this.content = input();
15
- this.tabs = input();
16
- this.tabSelect = output();
17
- // used for projected content detection
18
- this.contentWrapper = viewChild('contentWrapper');
19
- this.hasContent = computed(() => this.content() || this._hasProjectedContent());
20
- this.hasFilters = computed(() => !!this.filters());
21
- this.hasHeader = computed(() => !!this.header() || !!this.headerText());
22
- this.hasTabs = computed(() => !!this.tabs() && this.tabs().length > 0);
23
- this.hasToolbar = computed(() => !!this.toolbar());
24
- this._hasProjectedContent = signal(false);
25
- effect(() => this.detectProjectedContent(), { allowSignalWrites: true });
26
- }
27
- detectProjectedContent() {
28
- const wrapper = this.contentWrapper();
29
- if (wrapper) {
30
- const element = wrapper.nativeElement;
31
- const hasRealContent = Array.from(element.childNodes).some((node) => {
32
- if (node.nodeType === Node.ELEMENT_NODE)
33
- return true;
34
- if (node.nodeType === Node.TEXT_NODE) {
35
- return node.textContent?.trim().length > 0;
36
- }
37
- return false;
38
- });
39
- this._hasProjectedContent.set(hasRealContent);
40
- }
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChoCardComponent, isStandalone: true, selector: "cho-card", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: `
44
- <div class="card mb-3">
45
- @if (hasHeader()) {
46
- <cho-card-header [toolbar]="toolbar()" [headerText]="headerText()">
47
- <ng-container *ngTemplateOutlet="header()!" />
48
- </cho-card-header>
49
- } @else if (hasToolbar()) {
50
- <cho-card-toolbar>
51
- <ng-container *ngTemplateOutlet="toolbar()!" />
52
- </cho-card-toolbar>
53
- }
54
-
55
- @if (hasFilters()) {
56
- <cho-card-filters>
57
- <ng-container *ngTemplateOutlet="filters()!" />
58
- </cho-card-filters>
59
- }
60
-
61
- @if (hasTabs()) {
62
- <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
63
- </cho-card-tabs>
64
- }
65
-
66
- <div class="card-body" #contentWrapper [hidden]="!hasContent()">
67
- @if (content()) {
68
- <ng-container *ngTemplateOutlet="content()!" />
69
- } @else {
70
- <ng-content />
71
- }
72
- </div>
73
- </div>
74
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChoCardHeaderComponent, selector: "cho-card-header", inputs: ["headerText", "toolbar"] }, { kind: "component", type: ChoCardToolbarComponent, selector: "cho-card-toolbar" }, { kind: "component", type: ChoCardFiltersComponent, selector: "cho-card-filters" }, { kind: "component", type: ChoCardTabsComponent, selector: "cho-card-tabs", inputs: ["tabs"], outputs: ["tabSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoCardComponent, decorators: [{
77
- type: Component,
78
- args: [{
79
- selector: 'cho-card',
80
- standalone: true,
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
- imports: [
83
- NgTemplateOutlet,
84
- ChoCardHeaderComponent,
85
- ChoCardToolbarComponent,
86
- ChoCardFiltersComponent,
87
- ChoCardTabsComponent,
88
- ],
89
- template: `
90
- <div class="card mb-3">
91
- @if (hasHeader()) {
92
- <cho-card-header [toolbar]="toolbar()" [headerText]="headerText()">
93
- <ng-container *ngTemplateOutlet="header()!" />
94
- </cho-card-header>
95
- } @else if (hasToolbar()) {
96
- <cho-card-toolbar>
97
- <ng-container *ngTemplateOutlet="toolbar()!" />
98
- </cho-card-toolbar>
99
- }
100
-
101
- @if (hasFilters()) {
102
- <cho-card-filters>
103
- <ng-container *ngTemplateOutlet="filters()!" />
104
- </cho-card-filters>
105
- }
106
-
107
- @if (hasTabs()) {
108
- <cho-card-tabs [tabs]="tabs()!" (tabSelect)="tabSelect.emit($event)">
109
- </cho-card-tabs>
110
- }
111
-
112
- <div class="card-body" #contentWrapper [hidden]="!hasContent()">
113
- @if (content()) {
114
- <ng-container *ngTemplateOutlet="content()!" />
115
- } @else {
116
- <ng-content />
117
- }
118
- </div>
119
- </div>
120
- `,
121
- }]
122
- }], ctorParameters: () => [] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21wb25lbnRzL3NyYy9saWIvY2hvLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFFUixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDOztBQThDdkIsTUFBTSxPQUFPLGdCQUFnQjtJQXFCekI7UUFwQkEsV0FBTSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUNuQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsWUFBTyxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBQ3BDLFlBQU8sR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFDcEMsU0FBSSxHQUFHLEtBQUssRUFBMkMsQ0FBQztRQUV4RCxjQUFTLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFFN0IsdUNBQXVDO1FBQ3ZDLG1CQUFjLEdBQUcsU0FBUyxDQUFhLGdCQUFnQixDQUFDLENBQUM7UUFFekQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUMzRSxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25FLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUd6QyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBRXRDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNyRSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVk7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBQ3JELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25DLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQzsrR0F6Q1EsZ0JBQWdCO21HQUFoQixnQkFBZ0IsdytCQWpDZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQStCVCw0REFyQ0csZ0JBQWdCLG9KQUNoQixzQkFBc0IsK0ZBQ3RCLHVCQUF1Qiw2REFDdkIsdUJBQXVCLDZEQUN2QixvQkFBb0I7OzRGQW1DZixnQkFBZ0I7a0JBNUM1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRTt3QkFDTCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBK0JUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENob0NhcmRGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jaG8tY2FyZC1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENob0NhcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Noby1jYXJkLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVGFic0NvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaG9DYXJkVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY2hvLWNhcmQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBjb21wdXRlZCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBlZmZlY3QsXHJcbiAgICB2aWV3Q2hpbGQsXHJcbiAgICBzaWduYWwsXHJcbiAgICBpbnB1dCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgb3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Noby1jYXJkJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgICAgIENob0NhcmRIZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgQ2hvQ2FyZFRvb2xiYXJDb21wb25lbnQsXHJcbiAgICAgICAgQ2hvQ2FyZEZpbHRlcnNDb21wb25lbnQsXHJcbiAgICAgICAgQ2hvQ2FyZFRhYnNDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBtYi0zXCI+XHJcbiAgICAgICAgICAgIEBpZiAoaGFzSGVhZGVyKCkpIHtcclxuICAgICAgICAgICAgICAgIDxjaG8tY2FyZC1oZWFkZXIgW3Rvb2xiYXJdPVwidG9vbGJhcigpXCIgW2hlYWRlclRleHRdPVwiaGVhZGVyVGV4dCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcigpIVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoaGFzVG9vbGJhcigpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9vbGJhcigpIVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLXRvb2xiYXI+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAoaGFzRmlsdGVycygpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtZmlsdGVycz5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVycygpIVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLWZpbHRlcnM+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAoaGFzVGFicygpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2hvLWNhcmQtdGFicyBbdGFic109XCJ0YWJzKCkhXCIgKHRhYlNlbGVjdCk9XCJ0YWJTZWxlY3QuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Noby1jYXJkLXRhYnM+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIiAjY29udGVudFdyYXBwZXIgW2hpZGRlbl09XCIhaGFzQ29udGVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbnRlbnQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50KCkhXCIgLz5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob0NhcmRDb21wb25lbnQge1xyXG4gICAgaGVhZGVyID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAgIGhlYWRlclRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgICB0b29sYmFyID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcclxuICAgIGZpbHRlcnMgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xyXG4gICAgY29udGVudCA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XHJcbiAgICB0YWJzID0gaW5wdXQ8QXJyYXk8eyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0+PigpO1xyXG5cclxuICAgIHRhYlNlbGVjdCA9IG91dHB1dDxzdHJpbmc+KCk7XHJcblxyXG4gICAgLy8gdXNlZCBmb3IgcHJvamVjdGVkIGNvbnRlbnQgZGV0ZWN0aW9uXHJcbiAgICBjb250ZW50V3JhcHBlciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignY29udGVudFdyYXBwZXInKTtcclxuXHJcbiAgICBoYXNDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250ZW50KCkgfHwgdGhpcy5faGFzUHJvamVjdGVkQ29udGVudCgpKTtcclxuICAgIGhhc0ZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuZmlsdGVycygpKTtcclxuICAgIGhhc0hlYWRlciA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5oZWFkZXIoKSB8fCAhIXRoaXMuaGVhZGVyVGV4dCgpKTtcclxuICAgIGhhc1RhYnMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudGFicygpICYmIHRoaXMudGFicygpIS5sZW5ndGggPiAwKTtcclxuICAgIGhhc1Rvb2xiYXIgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMudG9vbGJhcigpKTtcclxuXHJcbiAgICBwcml2YXRlIF9oYXNQcm9qZWN0ZWRDb250ZW50ID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5kZXRlY3RQcm9qZWN0ZWRDb250ZW50KCksIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXRlY3RQcm9qZWN0ZWRDb250ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLmNvbnRlbnRXcmFwcGVyKCk7XHJcblxyXG4gICAgICAgIGlmICh3cmFwcGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB3cmFwcGVyLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBoYXNSZWFsQ29udGVudCA9IEFycmF5LmZyb20oZWxlbWVudC5jaGlsZE5vZGVzKS5zb21lKChub2RlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS50ZXh0Q29udGVudD8udHJpbSgpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5faGFzUHJvamVjdGVkQ29udGVudC5zZXQoaGFzUmVhbENvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,52 +0,0 @@
1
- import { Component, ContentChild, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ChoDetailsCardComponent {
4
- constructor() {
5
- this.cardTitle = '';
6
- this.toolbar = null;
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChoDetailsCardComponent, isStandalone: true, selector: "cho-details-card", inputs: { cardTitle: "cardTitle" }, queries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: `
10
- <div class="card mb-3">
11
- <div class="card-header">
12
- <h3 class="card-title">{{ cardTitle }}</h3>
13
-
14
- <div class="card-toolbar">
15
- <ng-content #toolbar select="[toolbar]"></ng-content>
16
- </div>
17
- </div>
18
-
19
- <div class="card-body">
20
- <ng-content></ng-content>
21
- </div>
22
- </div>
23
- `, isInline: true }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoDetailsCardComponent, decorators: [{
26
- type: Component,
27
- args: [{
28
- selector: 'cho-details-card',
29
- standalone: true,
30
- template: `
31
- <div class="card mb-3">
32
- <div class="card-header">
33
- <h3 class="card-title">{{ cardTitle }}</h3>
34
-
35
- <div class="card-toolbar">
36
- <ng-content #toolbar select="[toolbar]"></ng-content>
37
- </div>
38
- </div>
39
-
40
- <div class="card-body">
41
- <ng-content></ng-content>
42
- </div>
43
- </div>
44
- `,
45
- }]
46
- }], propDecorators: { cardTitle: [{
47
- type: Input
48
- }], toolbar: [{
49
- type: ContentChild,
50
- args: ['toolbar']
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWRldGFpbHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbXBvbmVudHMvc3JjL2xpYi9jaG8tZGV0YWlscy1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBcUI1RSxNQUFNLE9BQU8sdUJBQXVCO0lBbkJwQztRQW9CYSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRUMsWUFBTyxHQUFnQyxJQUFJLENBQUM7S0FDeEU7K0dBSlksdUJBQXVCO21HQUF2Qix1QkFBdUIsZ05BaEJ0Qjs7Ozs7Ozs7Ozs7Ozs7S0FjVDs7NEZBRVEsdUJBQXVCO2tCQW5CbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO2lCQUNKOzhCQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRW1CLE9BQU87c0JBQS9CLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaG8tZGV0YWlscy1jYXJkJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgY2FyZFRpdGxlIH19PC9oMz5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgI3Rvb2xiYXIgc2VsZWN0PVwiW3Rvb2xiYXJdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9EZXRhaWxzQ2FyZENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBjYXJkVGl0bGUgPSAnJztcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCd0b29sYmFyJykgdG9vbGJhcjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcclxufVxyXG4iXX0=