tab-button.component.mjs 4.9 KB

12345678910111213141516171819202122232425262728
  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.clicked = new EventEmitter();
  10. this.isActive = signal(false);
  11. }
  12. static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TabButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
  13. static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TabButtonComponent, isStandalone: true, selector: "ct-tab-button", inputs: { key: "key", title: "title", subTitle: "subTitle" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"flex w-full cursor-pointer flex-col rounded-md p-1 text-center hover:bg-surface-variant dark:hover:bg-surface-variant-dark\"\n [ngClass]=\"{\n 'bg-surface dark:bg-surface-dark': isActive()\n }\"\n (click)=\"clicked.emit(key)\">\n <span class=\"font-bold\">{{ title }}</span>\n <p class=\"text-sm\">{{ subTitle }}</p>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
  14. }
  15. i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TabButtonComponent, decorators: [{
  16. type: Component,
  17. 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 rounded-md p-1 text-center hover:bg-surface-variant dark:hover:bg-surface-variant-dark\"\n [ngClass]=\"{\n 'bg-surface dark:bg-surface-dark': isActive()\n }\"\n (click)=\"clicked.emit(key)\">\n <span class=\"font-bold\">{{ title }}</span>\n <p class=\"text-sm\">{{ subTitle }}</p>\n</div>\n" }]
  18. }], propDecorators: { key: [{
  19. type: Input,
  20. args: [{ required: true }]
  21. }], title: [{
  22. type: Input
  23. }], subTitle: [{
  24. type: Input
  25. }], clicked: [{
  26. type: Output
  27. }] } });
  28. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaXJjbGV0b25lL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy90YWItYnV0dG9uL3RhYi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2lyY2xldG9uZS9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvdGFiLWJ1dHRvbi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU3hHLE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRNkIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNiLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQy9DLGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDMUI7OEdBTlksa0JBQWtCO2tHQUFsQixrQkFBa0Isd0tDVi9CLGtYQVVBLDRDREpZLE9BQU87OzJGQUlOLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxtQkFFWix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdwQixHQUFHO3NCQUE3QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdC10YWItYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIEFzeW5jUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGtleSA9ICcnO1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBzdWJUaXRsZSA9ICcnO1xuICBAT3V0cHV0KCkgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBpc0FjdGl2ZSA9IHNpZ25hbChmYWxzZSk7XG59XG4iLCI8ZGl2XG4gIHRhYmluZGV4PVwiMFwiXG4gIGNsYXNzPVwiZmxleCB3LWZ1bGwgY3Vyc29yLXBvaW50ZXIgZmxleC1jb2wgcm91bmRlZC1tZCBwLTEgdGV4dC1jZW50ZXIgaG92ZXI6Ymctc3VyZmFjZS12YXJpYW50IGRhcms6aG92ZXI6Ymctc3VyZmFjZS12YXJpYW50LWRhcmtcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2JnLXN1cmZhY2UgZGFyazpiZy1zdXJmYWNlLWRhcmsnOiBpc0FjdGl2ZSgpXG4gIH1cIlxuICAoY2xpY2spPVwiY2xpY2tlZC5lbWl0KGtleSlcIj5cbiAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCI+e3sgc3ViVGl0bGUgfX08L3A+XG48L2Rpdj5cbiJdfQ==