UNPKG

@obliczeniowo/elementary

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