{"version":3,"file":"primeng-speeddial.mjs","sources":["../../src/app/components/speeddial/speeddial.ts","../../src/app/components/speeddial/primeng-speeddial.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { DomHandler } from 'primeng/dom';\nimport { PlusIcon } from 'primeng/icons/plus';\nimport { RippleModule } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { asapScheduler } from 'rxjs';\n\n/**\n * When pressed, a floating action button can display multiple primary actions that can be performed on a page.\n * @group Components\n */\n@Component({\n selector: 'p-speedDial',\n template: `\n
\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./speeddial.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class SpeedDial implements AfterViewInit, AfterContentInit, OnDestroy {\n /**\n * List of items id.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * MenuModel instance to define the action items.\n * @group Props\n */\n @Input() model: MenuItem[] | null = null;\n /**\n * Specifies the visibility of the overlay.\n * @defaultValue false\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n this._visible = value;\n\n if (this._visible) {\n this.bindDocumentClickListener();\n } else {\n this.unbindDocumentClickListener();\n }\n }\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() className: string | undefined;\n /**\n * Specifies the opening direction of actions.\n * @gruop Props\n */\n @Input() direction: 'up' | 'down' | 'left' | 'right' | 'up-left' | 'up-right' | 'down-left' | 'down-right' | undefined = 'up';\n /**\n * Transition delay step for each action item.\n * @group Props\n */\n @Input({ transform: numberAttribute }) transitionDelay: number = 30;\n /**\n * Specifies the opening type of actions.\n * @group Props\n */\n @Input() type: 'linear' | 'circle' | 'semi-circle' | 'quarter-circle' | undefined = 'linear';\n /**\n * Radius for *circle types.\n * @group Props\n */\n @Input({ transform: numberAttribute }) radius: number = 0;\n /**\n * Whether to show a mask element behind the speeddial.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) mask: boolean = false;\n /**\n * Whether the component is disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n /**\n * Whether the actions close when clicked outside.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnClickOutside: boolean = true;\n /**\n * Inline style of the button element.\n * @group Props\n */\n @Input() buttonStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the button element.\n * @group Props\n */\n @Input() buttonClassName: string | undefined;\n /**\n * Inline style of the mask element.\n * @group Props\n */\n @Input() maskStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the mask element.\n * @group Props\n */\n @Input() maskClassName: string | undefined;\n /**\n * Show icon of the button element.\n * @group Props\n */\n @Input() showIcon: string | undefined;\n /**\n * Hide icon of the button element.\n * @group Props\n */\n @Input() hideIcon: string | undefined;\n /**\n * Defined to rotate showIcon when hideIcon is not present.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) rotateAnimation: boolean = true;\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Fired when the visibility of element changed.\n * @param {boolean} boolean - Visibility value.\n * @group Emits\n */\n @Output() onVisibleChange: EventEmitter