@obliczeniowo/elementary
Version:
Library made in Angular version 19
1 lines • 6.17 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-dropdown-button.mjs","sources":["../../../../projects/components/dropdown-button/components/dropdown-button/dropdown-button.component.ts","../../../../projects/components/dropdown-button/components/dropdown-button/dropdown-button.component.html","../../../../projects/components/dropdown-button/dropdown-button.module.ts","../../../../projects/components/dropdown-button/obliczeniowo-elementary-dropdown-button.ts"],"sourcesContent":["import { Component, input, OnInit, TemplateRef } from '@angular/core';\r\nimport { Animations } from '@obliczeniowo/elementary/animations';\r\n\r\nexport interface DropdownButton {\r\n matIcon?: string;\r\n svgIcon?: string;\r\n imgIcon?: string;\r\n cb: () => void;\r\n}\r\n\r\n@Component({\r\n selector: 'obl-dropdown-button',\r\n templateUrl: './dropdown-button.component.html',\r\n styleUrls: ['./dropdown-button.component.scss'],\r\n animations: [\r\n Animations.rotate180deg\r\n ],\r\n standalone: false\r\n})\r\nexport class DropdownButtonComponent implements OnInit {\r\n buttons = input<DropdownButton[]>([]);\r\n templateRef = input<TemplateRef<any>>();\r\n\r\n selected: DropdownButton | undefined;\r\n\r\n isOpen = false;\r\n\r\n ngOnInit(): void {\r\n if (this.buttons && !this.selected) {\r\n this.selected = this.buttons()[0];\r\n }\r\n }\r\n\r\n clicked(button: DropdownButton): void {\r\n this.selected = button;\r\n this.isOpen = false;\r\n button.cb();\r\n }\r\n}\r\n","@if (buttons().length) {\r\n <div class=\"button\" cdkOverlayOrigin #dropDown=\"cdkOverlayOrigin\">\r\n @if (selected) {\r\n <button (click)=\"selected.cb()\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templateRef() || img; context: { $implicit: selected }\"\r\n ></ng-container>\r\n </button>\r\n }\r\n <obl-expand-button\r\n [isOpen]=\"isOpen\"\r\n (click)=\"isOpen = !isOpen\"\r\n ></obl-expand-button>\r\n </div>\r\n\r\n <ng-template\r\n #buttonsTmpl\r\n cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"dropDown\"\r\n [cdkConnectedOverlayOpen]=\"isOpen\"\r\n (overlayOutsideClick)=\"isOpen = !isOpen\"\r\n >\r\n <div class=\"dropdown-buttons\">\r\n @for (button of buttons(); track $index) {\r\n @if (button !== selected) {\r\n <button (click)=\"clicked(button)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n templateRef() || img;\r\n context: { $implicit: button }\r\n \"\r\n ></ng-container>\r\n </button>\r\n }\r\n }\r\n </div>\r\n </ng-template>\r\n}\r\n\r\n<ng-template #img let-button>\r\n @if (button.imgIcon) {\r\n <img [src]=\"button.imgIcon\" />\r\n }\r\n</ng-template>\r\n","import { ButtonsModule } from '@obliczeniowo/elementary/buttons';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nimport { DropdownButtonComponent } from './components/dropdown-button/dropdown-button.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownButtonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n OverlayModule,\r\n ButtonsModule\r\n ],\r\n exports: [\r\n DropdownButtonComponent\r\n ]\r\n})\r\nexport class DropdownButtonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}