tab-button.component.mjs 6.3 KB

12345678910111213141516171819202122232425262728293031
  1. import { AsyncPipe, NgClass } from '@angular/common';
  2. import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, signal } from '@angular/core';
  3. import * as i0 from "@angular/core";
  4. export class TabButtonComponent {
  5. constructor() {
  6. this.key = '';
  7. this.title = '';
  8. this.subTitle = '';
  9. this.variant = 'solid';
  10. this.clicked = new EventEmitter();
  11. this.isActive = signal(false);
  12. }
  13. static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TabButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
  14. static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TabButtonComponent, isStandalone: true, selector: "ct-tab-button", inputs: { key: "key", title: "title", subTitle: "subTitle", variant: "variant" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"flex w-full cursor-pointer flex-col p-1 text-center\"\n [ngClass]=\"{\n 'rounded-md hover:bg-surface-variant dark:hover:bg-surface-variant-dark': variant === 'solid',\n 'bg-surface dark:bg-surface-dark': isActive() && variant === 'solid',\n 'border-b-4 rounded-t-md': variant === 'flat',\n 'border-surface-variant dark:border-surface-variant-dark': isActive() && variant === 'flat',\n 'border-transparent hover:border-surface dark:hover:border-surface-dark': !isActive() && variant === 'flat'\n }\"\n (click)=\"clicked.emit(key)\">\n <span class=\"font-bold\">{{ title }}</span>\n @if (subTitle) {\n <p class=\"text-sm\">{{ subTitle }}</p>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
  15. }
  16. i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TabButtonComponent, decorators: [{
  17. type: Component,
  18. args: [{ selector: 'ct-tab-button', standalone: true, imports: [NgClass, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n tabindex=\"0\"\n class=\"flex w-full cursor-pointer flex-col p-1 text-center\"\n [ngClass]=\"{\n 'rounded-md hover:bg-surface-variant dark:hover:bg-surface-variant-dark': variant === 'solid',\n 'bg-surface dark:bg-surface-dark': isActive() && variant === 'solid',\n 'border-b-4 rounded-t-md': variant === 'flat',\n 'border-surface-variant dark:border-surface-variant-dark': isActive() && variant === 'flat',\n 'border-transparent hover:border-surface dark:hover:border-surface-dark': !isActive() && variant === 'flat'\n }\"\n (click)=\"clicked.emit(key)\">\n <span class=\"font-bold\">{{ title }}</span>\n @if (subTitle) {\n <p class=\"text-sm\">{{ subTitle }}</p>\n }\n</div>\n" }]
  19. }], propDecorators: { key: [{
  20. type: Input,
  21. args: [{ required: true }]
  22. }], title: [{
  23. type: Input
  24. }], subTitle: [{
  25. type: Input
  26. }], variant: [{
  27. type: Input
  28. }], clicked: [{
  29. type: Output
  30. }] } });
  31. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaXJjbGV0b25lL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy90YWItYnV0dG9uL3RhYi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2lyY2xldG9uZS9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvdGFiLWJ1dHRvbi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXhHLE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRNkIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFlBQU8sR0FBcUIsT0FBTyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQy9DLGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDMUI7OEdBUFksa0JBQWtCO2tHQUFsQixrQkFBa0IsNExDWC9CLHlzQkFnQkEsNENEVFksT0FBTzs7MkZBSU4sa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLG1CQUVaLHVCQUF1QixDQUFDLE1BQU07OEJBR3BCLEdBQUc7c0JBQTdCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VmFyaWFudCB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2NvbXBvbmVudHMvY29tcG9uZW50LXZhcmlhbnQudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N0LXRhYi1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFiQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkga2V5ID0gJyc7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHN1YlRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IENvbXBvbmVudFZhcmlhbnQgPSAnc29saWQnO1xuICBAT3V0cHV0KCkgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBpc0FjdGl2ZSA9IHNpZ25hbChmYWxzZSk7XG59XG4iLCI8ZGl2XG4gIHRhYmluZGV4PVwiMFwiXG4gIGNsYXNzPVwiZmxleCB3LWZ1bGwgY3Vyc29yLXBvaW50ZXIgZmxleC1jb2wgcC0xIHRleHQtY2VudGVyXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdyb3VuZGVkLW1kIGhvdmVyOmJnLXN1cmZhY2UtdmFyaWFudCBkYXJrOmhvdmVyOmJnLXN1cmZhY2UtdmFyaWFudC1kYXJrJzogdmFyaWFudCA9PT0gJ3NvbGlkJyxcbiAgICAnYmctc3VyZmFjZSBkYXJrOmJnLXN1cmZhY2UtZGFyayc6IGlzQWN0aXZlKCkgJiYgdmFyaWFudCA9PT0gJ3NvbGlkJyxcbiAgICAnYm9yZGVyLWItNCByb3VuZGVkLXQtbWQnOiB2YXJpYW50ID09PSAnZmxhdCcsXG4gICAgJ2JvcmRlci1zdXJmYWNlLXZhcmlhbnQgZGFyazpib3JkZXItc3VyZmFjZS12YXJpYW50LWRhcmsnOiBpc0FjdGl2ZSgpICYmIHZhcmlhbnQgPT09ICdmbGF0JyxcbiAgICAnYm9yZGVyLXRyYW5zcGFyZW50IGhvdmVyOmJvcmRlci1zdXJmYWNlIGRhcms6aG92ZXI6Ym9yZGVyLXN1cmZhY2UtZGFyayc6ICFpc0FjdGl2ZSgpICYmIHZhcmlhbnQgPT09ICdmbGF0J1xuICB9XCJcbiAgKGNsaWNrKT1cImNsaWNrZWQuZW1pdChrZXkpXCI+XG4gIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gIEBpZiAoc3ViVGl0bGUpIHtcbiAgICA8cCBjbGFzcz1cInRleHQtc21cIj57eyBzdWJUaXRsZSB9fTwvcD5cbiAgfVxuPC9kaXY+XG4iXX0=