{"version":3,"file":"bootkit-angular-components-info-table.mjs","sources":["../../../projects/bootkit/components/info-table/info-table-row.directive.ts","../../../projects/bootkit/components/info-table/info-table.component.ts","../../../projects/bootkit/components/info-table/info-table.component.html","../../../projects/bootkit/components/info-table/info-table.module.ts","../../../projects/bootkit/components/info-table/bootkit-angular-components-info-table.ts"],"sourcesContent":["import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\nimport { BooleanTranslateFormat } from '@bootkit/angular/localization';\r\n\r\n@Directive({\r\n  selector: 'bk-info-table-row',\r\n  standalone: true\r\n})\r\nexport class InfoTableRowDirective {\r\n  @ContentChild(TemplateRef) templateRef?: TemplateRef<any>;\r\n  @Input() label?: string;\r\n  @Input() icon?: string;\r\n  @Input() value?: string | number | boolean | { url?: string, text?: string, newWindow?: boolean, showIcon?: boolean } | null;\r\n  @Input() type: 'text' | 'textarea' | 'id' | 'code' | 'number' | 'currency' | 'date' | 'time' | 'timespan' | 'link' |\r\n  { enum: string } |\r\n  { boolean: BooleanTranslateFormat } = 'text';\r\n  @Input() valueClass?: string | string[];\r\n  @Input() englishDigits = false;\r\n  @Input() boldLabel = false;\r\n  @Input() boldValue = false;\r\n  @Input() showCopy = false;\r\n  @Input() emptyCellText?: string;\r\n\r\n  constructor() {\r\n  }\r\n}\r\n","import { Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core';\r\nimport { InfoTableRowDirective } from './info-table-row.directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LocalizationModule } from '@bootkit/angular/localization';\r\n\r\n@Component({\r\n  selector: 'bk-info-table',\r\n  templateUrl: './info-table.component.html',\r\n  styleUrls: ['./info-table.component.scss'],\r\n  standalone: true,\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n    LocalizationModule,\r\n],\r\n})\r\nexport class InfoTableComponent implements OnInit {\r\n  @ContentChildren(InfoTableRowDirective) _rows!: QueryList<InfoTableRowDirective>;\r\n\r\n  constructor() {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n}\r\n","<table class=\"info-table w-100\">\r\n    <tbody>\r\n        <tr *ngFor=\"let row of _rows\">\r\n            <td *ngIf=\"row.icon\" class=\"\" style=\"max-width: 1px\">\r\n                <i [ngClass]=\"row.icon\" class=\"display-5\"></i>\r\n            </td>\r\n            <td class=\"text-nowrap\">\r\n                {{row.label}}:\r\n            </td>\r\n            <td [class.fw-bold]=\"row.boldValue\" [ngClass]=\"row.valueClass\" [class.english-digits]=\"row.englishDigits\">\r\n                <ng-template [ngIf]=\"row.templateRef\" [ngIfElse]=\"cellTemplate\">\r\n                    <ng-container *ngTemplateOutlet=\"row.templateRef;\"></ng-container>\r\n                </ng-template>\r\n\r\n                <ng-template #cellTemplate>\r\n                    <ng-container [ngSwitch]=\"row.type\">\r\n                        <ng-container *ngSwitchCase=\"'text'\">\r\n                            <div class=\"text-break\">\r\n                                {{row.value}}\r\n                            </div>\r\n                        </ng-container>\r\n                        <ng-container *ngSwitchCase=\"'textarea'\">\r\n                            <textarea rows=\"5\"\r\n                                      class=\"form-control w-100 bg-white ltr english-digits\">{{row.value}}</textarea>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchCase=\"'id'\">\r\n                            <span class=\"english-digits\">{{row.value}}</span>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchCase=\"'code'\">\r\n                            <code>{{row.value}}</code>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchCase=\"'date'\">\r\n                            <span class=\"ltr d-inline-block\">{{$any(row.value) | bkDate}}</span>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchCase=\"'timespan'\">\r\n                            <span>{{$any(row.value) | bkTimeSpan}}</span>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchCase=\"'number'\">\r\n                            <span class=\"\">{{$any(row.value) | number}}</span>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchCase=\"'link'\">\r\n                            <i *ngIf=\"$any(row).value.showIcon\" class=\"fas fa-external-link me-1\"></i>\r\n                            <a [href]=\"$any(row).value.url\"\r\n                               [target]=\"$any(row).value.newWindow ? '_blank' : '_self'\"\r\n                               class=\"ltr d-inline-block\">{{$any(row).value.text}}</a>\r\n                        </ng-container>\r\n\r\n                        <ng-container *ngSwitchDefault>\r\n                            <ng-container *ngIf=\"$any(row.type).boolean\">\r\n                                {{row.value | bkTranslateBool: $any(row.type).boolean }}\r\n                            </ng-container>\r\n                            <ng-container *ngIf=\"$any(row.type).enum\">\r\n                                {{$any(row.value) | bkTranslateEnum: $any(row.type).enum }}\r\n                            </ng-container>\r\n                        </ng-container>\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"row.value == null && row.emptyCellText\">\r\n                        {{row.emptyCellText}}\r\n                    </ng-container>\r\n                </ng-template>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</table>","import { NgModule } from '@angular/core';\r\nimport { InfoTableComponent } from './info-table.component';\r\nimport { InfoTableRowDirective } from './info-table-row.directive';\r\n\r\n@NgModule({\r\n    imports: [\r\n        InfoTableComponent,\r\n        InfoTableRowDirective\r\n    ],\r\n    exports: [\r\n        InfoTableComponent,\r\n        InfoTableRowDirective\r\n    ]\r\n})\r\nexport class InfoTableModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAOa,qBAAqB,CAAA;AACL,IAAA,WAAW,CAAoB;AACjD,IAAA,KAAK,CAAU;AACf,IAAA,IAAI,CAAU;AACd,IAAA,KAAK,CAA+G;IACpH,IAAI,GAEyB,MAAM,CAAC;AACpC,IAAA,UAAU,CAAqB;IAC/B,aAAa,GAAG,KAAK,CAAC;IACtB,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;AACjB,IAAA,aAAa,CAAU;AAEhC,IAAA,WAAA,GAAA;KACC;wGAhBU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,8VAClB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FADd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wDAE4B,WAAW,EAAA,CAAA;sBAArC,YAAY;uBAAC,WAAW,CAAA;gBAChB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;MCHK,kBAAkB,CAAA;AACW,IAAA,KAAK,CAAoC;AAEjF,IAAA,WAAA,GAAA;KACC;IAED,QAAQ,GAAA;KACP;wGAPU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EACZ,qBAAqB,EClBxC,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,slHAsEQ,+ED1DJ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGT,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;+BACE,eAAe,EAAA,UAAA,EAGb,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;AACrB,qBAAA,EAAA,QAAA,EAAA,slHAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;wDAGyC,KAAK,EAAA,CAAA;sBAA5C,eAAe;uBAAC,qBAAqB,CAAA;;;MEJ3B,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YARpB,kBAAkB;AAClB,YAAA,qBAAqB,aAGrB,kBAAkB;YAClB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YARpB,kBAAkB,CAAA,EAAA,CAAA,CAAA;;4FAQb,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,qBAAqB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,qBAAqB;AACxB,qBAAA;AACJ,iBAAA,CAAA;;;ACbD;;AAEG;;;;"}