@agorapulse/ui-components 15.0.19 → 15.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-15.0.20.tgz +0 -0
- package/button/button.component.d.ts +43 -0
- package/button/index.d.ts +5 -0
- package/button/public_api.d.ts +1 -0
- package/esm2020/add-comment/add-comment.component.mjs +5 -6
- package/esm2020/button/agorapulse-ui-components-button.mjs +5 -0
- package/esm2020/button/button.component.mjs +72 -0
- package/esm2020/button/public_api.mjs +2 -0
- package/esm2020/confirm-modal/confirm-modal.component.mjs +4 -5
- package/esm2020/index.mjs +6 -4
- package/esm2020/modal/modal.component.mjs +4 -4
- package/esm2020/neo-datepicker/neo-datepicker.component.mjs +14 -14
- package/esm2020/paginator/paginator-button/paginator-button.component.mjs +6 -5
- package/esm2020/paginator/paginator.component.mjs +4 -4
- package/esm2020/popmenu/popmenu.component.mjs +5 -6
- package/esm2020/social-button/agorapulse-ui-components-social-button.mjs +5 -0
- package/esm2020/social-button/public_api.mjs +2 -0
- package/esm2020/social-button/social-button.component.mjs +86 -0
- package/esm2020/split-button/agorapulse-ui-components-split-button.mjs +5 -0
- package/esm2020/split-button/public_api.mjs +2 -0
- package/esm2020/split-button/split-button.component.mjs +97 -0
- package/fesm2015/agorapulse-ui-components-add-comment.mjs +4 -5
- package/fesm2015/agorapulse-ui-components-add-comment.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-button.mjs +79 -0
- package/fesm2015/agorapulse-ui-components-button.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-confirm-modal.mjs +3 -4
- package/fesm2015/agorapulse-ui-components-confirm-modal.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-modal.mjs +3 -3
- package/fesm2015/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs +11 -11
- package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-paginator.mjs +10 -9
- package/fesm2015/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-popmenu.mjs +4 -5
- package/fesm2015/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-social-button.mjs +93 -0
- package/fesm2015/agorapulse-ui-components-social-button.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-split-button.mjs +104 -0
- package/fesm2015/agorapulse-ui-components-split-button.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components.mjs +2 -0
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-add-comment.mjs +4 -5
- package/fesm2020/agorapulse-ui-components-add-comment.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-button.mjs +79 -0
- package/fesm2020/agorapulse-ui-components-button.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-confirm-modal.mjs +3 -4
- package/fesm2020/agorapulse-ui-components-confirm-modal.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-modal.mjs +3 -3
- package/fesm2020/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs +11 -11
- package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-paginator.mjs +10 -9
- package/fesm2020/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-popmenu.mjs +4 -5
- package/fesm2020/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-social-button.mjs +93 -0
- package/fesm2020/agorapulse-ui-components-social-button.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-split-button.mjs +104 -0
- package/fesm2020/agorapulse-ui-components-split-button.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components.mjs +2 -0
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/index.d.ts +5 -3
- package/neo-datepicker/neo-datepicker.component.d.ts +1 -1
- package/package.json +25 -1
- package/snackbars-thread/component/snackbars-thread.component.d.ts +1 -1
- package/social-button/index.d.ts +5 -0
- package/social-button/public_api.d.ts +1 -0
- package/social-button/social-button.component.d.ts +24 -0
- package/split-button/index.d.ts +5 -0
- package/split-button/public_api.d.ts +1 -0
- package/split-button/split-button.component.d.ts +39 -0
- package/agorapulse-ui-components-15.0.19.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-popmenu.mjs","sources":["../../../libs/ui-components/popmenu/src/popmenu.component.ts","../../../libs/ui-components/popmenu/src/popmenu.component.html","../../../libs/ui-components/popmenu/src/options.ts","../../../libs/ui-components/popmenu/src/popmenu-options.service.ts","../../../libs/ui-components/popmenu/src/popmenu.directive.ts","../../../libs/ui-components/popmenu/src/popmenu.module.ts","../../../libs/ui-components/popmenu/src/agorapulse-ui-components-popmenu.ts"],"sourcesContent":["import {NgIf, NgStyle, NgTemplateOutlet} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\nimport {MatLegacyMenuModule as MatMenuModule, MatLegacyMenuTrigger as MatMenuTrigger} from '@angular/material/legacy-menu';\nimport {merge} from \"rxjs\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, NgStyle, NgTemplateOutlet, NgIf],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n setTimeout(() => {\n this.trigger.closeMenu();\n }, 100);\n }\n }\n\n menuOpen: boolean;\n\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get backdropClass() {\n return this.data.options.backdropClass;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get panelClass() {\n return this.data.options.panelClass;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get offsetSkidding(): number {\n return Number(this.data.options.offsets.skidding) || 0;\n }\n\n get offsetDistance(): number {\n return Number(this.data.options.offsets.distance || 0);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(\n public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this.viewInit = true;\n merge(this.trigger.menuOpened,this.trigger.menuClosed).subscribe(()=>{\n this.menuOpen = this.trigger.menuOpen;\n })\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight\n ? this.element.getBoundingClientRect().height\n : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth\n ? this.element.getBoundingClientRect().width\n : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset - this.offsetDistance;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset + this.offsetDistance;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset - this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset + this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = this.elementPosition.top + scrollY + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if (\n (topEdge < 0 ||\n bottomEdge > document.body.clientHeight ||\n leftEdge < 0 ||\n rightEdge > document.body.clientWidth) &&\n this.autoPlacement\n ) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement?: string): void {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'tooltip-' + (placement ? placement.split(' ')[0] : placement)\n );\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'yPosition-' + (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center')\n );\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter(\n (child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow'\n );\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger['_overlayRef']) {\n this.trigger['_overlayRef'].dispose();\n this.trigger['_overlayRef'] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n }\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}} {{panelClass}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value;context:{menu:this}\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'offsets': {},\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n ApplicationRef,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n menuOpen: boolean;\n}\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass: string;\n @Input() panelClass: string;\n @Input() offset: number;\n @Input() offsets: { distance?: number, skidding?: number };\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n componentElement: HTMLElement;\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input() set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n this.componentElement = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(this.componentElement);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen: boolean;\n\n @Input()\n get menuOpen() {\n return this.#menuOpen;\n }\n\n set menuOpen(menuOpen: boolean) {\n this.menuOpenChange.emit(menuOpen);\n this.#menuOpen = menuOpen;\n if (this.#menuOpen) {\n this.elementRef.nativeElement.classList.add(\"popmenu-open\");\n this.elementRef.nativeElement.classList.remove(\"popmenu-close\");\n } else {\n this.elementRef.nativeElement.classList.remove(\"popmenu-open\");\n this.elementRef.nativeElement.classList.add(\"popmenu-close\");\n }\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n this.menuOpen = false;\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\n@NgModule({\n imports: [\n PopmenuDirective,\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MatMenuTrigger","MatButtonModule","MatMenuModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-popmenu.mjs","sources":["../../../libs/ui-components/popmenu/src/popmenu.component.ts","../../../libs/ui-components/popmenu/src/popmenu.component.html","../../../libs/ui-components/popmenu/src/options.ts","../../../libs/ui-components/popmenu/src/popmenu-options.service.ts","../../../libs/ui-components/popmenu/src/popmenu.directive.ts","../../../libs/ui-components/popmenu/src/popmenu.module.ts","../../../libs/ui-components/popmenu/src/agorapulse-ui-components-popmenu.ts"],"sourcesContent":["import {NgIf, NgStyle, NgTemplateOutlet} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {MatLegacyMenuModule as MatMenuModule, MatLegacyMenuTrigger as MatMenuTrigger} from '@angular/material/legacy-menu';\nimport {merge} from \"rxjs\";\nimport {ButtonComponent} from \"@agorapulse/ui-components/button\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss'],\n standalone: true,\n imports: [ButtonComponent, MatMenuModule, NgStyle, NgTemplateOutlet, NgIf],\n})\nexport class PopmenuComponent implements AfterViewInit {\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n setTimeout(() => {\n this.trigger.closeMenu();\n }, 100);\n }\n }\n\n menuOpen: boolean;\n\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get backdropClass() {\n return this.data.options.backdropClass;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get panelClass() {\n return this.data.options.panelClass;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get offsetSkidding(): number {\n return Number(this.data.options.offsets.skidding) || 0;\n }\n\n get offsetDistance(): number {\n return Number(this.data.options.offsets.distance || 0);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(\n public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this.viewInit = true;\n merge(this.trigger.menuOpened,this.trigger.menuClosed).subscribe(()=>{\n this.menuOpen = this.trigger.menuOpen;\n })\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight\n ? this.element.getBoundingClientRect().height\n : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth\n ? this.element.getBoundingClientRect().width\n : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset - this.offsetDistance;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset + this.offsetDistance;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset - this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset + this.offsetDistance;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = this.elementPosition.top + scrollY + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? this.arrowOffset + '%' : elementHeight / 2 + 'px';\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = this.elementPosition.top + elementHeight + scrollY + this.offsetSkidding;\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset\n ? this.arrowOffset + '%'\n : -(tooltip.clientHeight - elementHeight / 2) + 'px';\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 4.5 + 'px';\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right + this.offsetSkidding;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? this.arrowOffset + '%' : elementWidth / 2 - 2.5 + 'px';\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if (\n (topEdge < 0 ||\n bottomEdge > document.body.clientHeight ||\n leftEdge < 0 ||\n rightEdge > document.body.clientWidth) &&\n this.autoPlacement\n ) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement?: string): void {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'tooltip-' + (placement ? placement.split(' ')[0] : placement)\n );\n this.renderer.addClass(\n this.elementRef.nativeElement,\n 'yPosition-' + (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center')\n );\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter(\n (child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow'\n );\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger['_overlayRef']) {\n this.trigger['_overlayRef'].dispose();\n this.trigger['_overlayRef'] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n }\n}\n","<button id=\"menuTrigger\" class=\"button-trigger\" mat-button\n [matMenuTriggerFor]=\"menu\" (menuClosed)=\"onMenuClosed()\" (menuOpened)=\"onMenuOpened()\">\n</button>\n<mat-menu #menu=\"matMenu\" [yPosition]=\"!below ? 'above': 'below'\" [xPosition]=\"!before? 'after': 'before'\" [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{arrow ? 'arrow-before ' + arrowClass : ''}} {{shadow ? 'shadow' : ''}} {{border ? '' : (shadow ? 'shadow-no-border' : '')}} {{rounded ? 'rounded-component' : ''}} {{ background ? '' : 'no-background'}} {{panelClass}}\">\n\n <div *ngIf=\"arrow\" class=\"{{arrow ? 'arrow-before ' + arrowClass : ''}}\" [ngStyle]=\"{'left': arrowLeftPosition, 'right': arrowRightPosition, 'top': arrowTopPosition, 'bottom': arrowBottomPosition}\"></div>\n <div (click)=\"$event.stopPropagation()\" class=\"{{rounded ? 'rounded-component' : ''}} outline-none\">\n <div class=\"{{border ? 'popover-content ' : ''}} {{rounded ? 'rounded-component' : ''}}\">\n <ng-container *ngTemplateOutlet=\"value;context:{menu:this}\"></ng-container>\n </div>\n </div>\n</mat-menu>\n\n\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'offsets': {},\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n ApplicationRef,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n menuOpen: boolean;\n}\n\n@Directive({\n selector: '[apPopmenu]',\n standalone: true,\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: ComponentRef<any>;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() backdropClass: string;\n @Input() panelClass: string;\n @Input() offset: number;\n @Input() offsets: { distance?: number, skidding?: number };\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n componentElement: HTMLElement;\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input() set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n this.componentElement = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(this.componentElement);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n this.menuOpen = (<AdComponent>this.componentRef.instance).menuOpen;\n });\n\n }\n\n @Output()\n menuOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n #menuOpen: boolean;\n\n @Input()\n get menuOpen() {\n return this.#menuOpen;\n }\n\n set menuOpen(menuOpen: boolean) {\n this.menuOpenChange.emit(menuOpen);\n this.#menuOpen = menuOpen;\n if (this.#menuOpen) {\n this.elementRef.nativeElement.classList.add(\"popmenu-open\");\n this.elementRef.nativeElement.classList.remove(\"popmenu-close\");\n } else {\n this.elementRef.nativeElement.classList.remove(\"popmenu-open\");\n this.elementRef.nativeElement.classList.add(\"popmenu-close\");\n }\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n this.menuOpen = false;\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\n@NgModule({\n imports: [\n PopmenuDirective,\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MatMenuTrigger","MatMenuModule"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output } from '@angular/core';
|
|
3
|
+
import { NgIf, CommonModule } from '@angular/common';
|
|
4
|
+
import * as i1 from '@agorapulse/ui-symbol';
|
|
5
|
+
import { apFacebook, apTwitter, apLinkedin, apLinkedinOfficial, apYoutubeOfficial, apYoutube, apInstagramOutline, apTiktokOfficial, apTiktokWhiteOfficial, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
6
|
+
import * as i2 from '@agorapulse/ui-animations';
|
|
7
|
+
import { AgorapulseUiAnimationsModule } from '@agorapulse/ui-animations';
|
|
8
|
+
|
|
9
|
+
class SocialButtonComponent {
|
|
10
|
+
constructor(elementRef, symbolRegistry) {
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.symbolRegistry = symbolRegistry;
|
|
13
|
+
this.disabled = false;
|
|
14
|
+
this.loading = false;
|
|
15
|
+
this.network = 'facebook';
|
|
16
|
+
this.buttonType = 'default';
|
|
17
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
18
|
+
this.click = new EventEmitter();
|
|
19
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
20
|
+
this.focus = new EventEmitter();
|
|
21
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
22
|
+
this.blur = new EventEmitter();
|
|
23
|
+
this.symbolIdPerNetwork = {
|
|
24
|
+
facebook: {
|
|
25
|
+
default: 'facebook',
|
|
26
|
+
stroked: 'facebook-official',
|
|
27
|
+
},
|
|
28
|
+
instagram: {
|
|
29
|
+
default: 'instagram-outline',
|
|
30
|
+
stroked: 'instagram-official',
|
|
31
|
+
},
|
|
32
|
+
twitter: {
|
|
33
|
+
default: 'twitter',
|
|
34
|
+
stroked: 'twitter-official',
|
|
35
|
+
},
|
|
36
|
+
linkedin: {
|
|
37
|
+
default: 'linkedin',
|
|
38
|
+
stroked: 'linkedin-official',
|
|
39
|
+
},
|
|
40
|
+
youtube: {
|
|
41
|
+
default: 'youtube',
|
|
42
|
+
stroked: 'youtube-official',
|
|
43
|
+
},
|
|
44
|
+
tiktok: {
|
|
45
|
+
default: 'tiktok-white-official',
|
|
46
|
+
stroked: 'tiktok-official',
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');
|
|
50
|
+
this.symbolRegistry.registerSymbols([
|
|
51
|
+
apFacebook,
|
|
52
|
+
apTwitter,
|
|
53
|
+
apLinkedin,
|
|
54
|
+
apLinkedinOfficial,
|
|
55
|
+
apYoutubeOfficial,
|
|
56
|
+
apYoutube,
|
|
57
|
+
apInstagramOutline,
|
|
58
|
+
apTiktokOfficial,
|
|
59
|
+
apTiktokWhiteOfficial,
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
SocialButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: SocialButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
+
SocialButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: SocialButtonComponent, isStandalone: true, selector: "ap-social-button[name]", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", loading: "loading", name: "name", network: "network", buttonType: "buttonType" }, outputs: { click: "click", focus: "focus", blur: "blur" }, providers: [], ngImport: i0, template: "<button\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.data-test]=\"hostDataTest ?? name\"\n (click)=\"click.emit($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n>\n <ap-symbol *ngIf=\"!loading\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\"\n size=\"micro\"\n ></ap-symbol>\n <ap-loader\n *ngIf=\"loading\"\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\"\n ></ap-loader>\n <ng-content select=\"span\"></ng-content>\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;min-height:36px;max-height:36px;width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter{background-color:var(--ref-color-twitter-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover{background-color:#3eaef4}ap-social-button button.twitter:active:not(:disabled){background-color:#73c4f7}ap-social-button button.twitter:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading{background-color:#73c4f7}ap-social-button button.twitter.stroked{background:transparent;border:1px solid var(--ref-color-twitter-100)}ap-social-button button.twitter.stroked span{color:var(--ref-color-twitter-100)}ap-social-button button.twitter.stroked:hover{background:transparent;border-color:#1a8cd8}ap-social-button button.twitter.stroked:hover span{color:#1a8cd8}ap-social-button button.twitter.stroked:active:not(:disabled){border-color:#1a8cd8;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span{color:#1a8cd8}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100);background:transparent}ap-social-button button.twitter.stroked:disabled{opacity:.2}ap-social-button button.twitter.stroked.loading{border-color:var(--ref-color-twitter-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#FEE49A 0%,#FCB178 26.56%,#DC478A 50.52%,#A942D1 73.96%,#6B75DB 100%)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#FFF3D1 0%,#FCB178 26.56%,#E576A8 50.52%,#BD6FDC 73.96%,#989FE6 100%)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#FFF3D1 0%,#FCB178 26.56%,#E576A8 50.52%,#BD6FDC 73.96%,#989FE6 100%)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:34px}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AgorapulseUiAnimationsModule }, { kind: "component", type: i2.LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: SocialButtonComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-social-button[name]', standalone: true, imports: [NgIf, SymbolComponent, CommonModule, AgorapulseUiAnimationsModule], providers: [], encapsulation: ViewEncapsulation.None, template: "<button\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.data-test]=\"hostDataTest ?? name\"\n (click)=\"click.emit($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n>\n <ap-symbol *ngIf=\"!loading\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\"\n size=\"micro\"\n ></ap-symbol>\n <ap-loader\n *ngIf=\"loading\"\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\"\n ></ap-loader>\n <ng-content select=\"span\"></ng-content>\n</button>\n", styles: ["ap-social-button{display:inline-flex;position:relative}ap-social-button button{border:none;border-radius:4px;padding:var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;min-height:36px;max-height:36px;width:100%}ap-social-button button ap-loader{display:flex;justify-content:center;align-items:center}ap-social-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-social-button button:disabled{pointer-events:none}@media (hover: hover){ap-social-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-social-button button span{font-size:var(--comp-button-text-size);font-family:var(--comp-button-text-font-family);line-height:var(--comp-button-text-line-height);font-weight:var(--comp-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-social-button button.facebook{background-color:var(--ref-color-facebook-100)}ap-social-button button.facebook span,ap-social-button button.facebook ap-symbol{color:var(--ref-color-white)}ap-social-button button.facebook:hover{background-color:#398af3}ap-social-button button.facebook:active:not(:disabled){background-color:#6ea9f7}ap-social-button button.facebook:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.facebook.loading{background-color:#6ea9f7}ap-social-button button.facebook.stroked{background:transparent;border:1px solid var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked span{color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:hover{background:transparent;border-color:#398af3}ap-social-button button.facebook.stroked:hover span{color:#398af3}ap-social-button button.facebook.stroked:active:not(:disabled){background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked:active:not(:disabled) span{color:#5da0f6}ap-social-button button.facebook.stroked:focus:not(:disabled):not(:active){background:transparent;border-color:var(--ref-color-facebook-100)}ap-social-button button.facebook.stroked:disabled{opacity:.2}ap-social-button button.facebook.stroked.loading{background:transparent;border-color:#5da0f6}ap-social-button button.facebook.stroked.loading span{color:#5da0f6}ap-social-button button.twitter{background-color:var(--ref-color-twitter-100)}ap-social-button button.twitter span,ap-social-button button.twitter ap-symbol{color:var(--ref-color-white)}ap-social-button button.twitter:hover{background-color:#3eaef4}ap-social-button button.twitter:active:not(:disabled){background-color:#73c4f7}ap-social-button button.twitter:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.twitter.loading{background-color:#73c4f7}ap-social-button button.twitter.stroked{background:transparent;border:1px solid var(--ref-color-twitter-100)}ap-social-button button.twitter.stroked span{color:var(--ref-color-twitter-100)}ap-social-button button.twitter.stroked:hover{background:transparent;border-color:#1a8cd8}ap-social-button button.twitter.stroked:hover span{color:#1a8cd8}ap-social-button button.twitter.stroked:active:not(:disabled){border-color:#1a8cd8;background:transparent}ap-social-button button.twitter.stroked:active:not(:disabled) span{color:#1a8cd8}ap-social-button button.twitter.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100);background:transparent}ap-social-button button.twitter.stroked:disabled{opacity:.2}ap-social-button button.twitter.stroked.loading{border-color:var(--ref-color-twitter-100);background:transparent}ap-social-button button.instagram{background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%)}ap-social-button button.instagram span,ap-social-button button.instagram ap-symbol{color:var(--ref-color-white)}ap-social-button button.instagram ap-symbol{box-shadow:0 0 4px #0000001f;border-radius:8px}ap-social-button button.instagram:hover{background:linear-gradient(90deg,#FEE49A 0%,#FCB178 26.56%,#DC478A 50.52%,#A942D1 73.96%,#6B75DB 100%)}ap-social-button button.instagram:active:not(:disabled){background:linear-gradient(90deg,#FFF3D1 0%,#FCB178 26.56%,#E576A8 50.52%,#BD6FDC 73.96%,#989FE6 100%)}ap-social-button button.instagram:disabled{background:var(--ref-color-grey-20)}ap-social-button button.instagram.loading{background:linear-gradient(90deg,#FFF3D1 0%,#FCB178 26.56%,#E576A8 50.52%,#BD6FDC 73.96%,#989FE6 100%)}ap-social-button button.instagram.stroked{background:transparent;border:solid 1px transparent;overflow:visible}ap-social-button button.instagram.stroked:after{content:\"\";position:absolute;border-radius:4px;padding:1px;background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%);inset:-.9px -1px -1px;z-index:1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;height:34px}ap-social-button button.instagram.stroked span{background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;z-index:2}ap-social-button button.instagram.stroked ap-symbol{box-shadow:none;z-index:2}ap-social-button button.instagram.stroked:hover{background:transparent}ap-social-button button.instagram.stroked:hover:before{background:linear-gradient(90deg,#FEDA75 0%,#FA7E1E 26.56%,#D62976 50.52%,#962FBF 73.96%,#4F5BD5 100%)}ap-social-button button.instagram.stroked:active:not(:disabled){background:transparent}ap-social-button button.instagram.stroked:focus:not(:disabled):not(:active){background:transparent}ap-social-button button.instagram.stroked:disabled{opacity:.2}ap-social-button button.instagram.stroked.loading{background:transparent}ap-social-button button.linkedin{background-color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin span,ap-social-button button.linkedin ap-symbol{color:var(--ref-color-white)}ap-social-button button.linkedin:hover{background-color:#2c78ce}ap-social-button button.linkedin:active:not(:disabled){background-color:#5795db}ap-social-button button.linkedin:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.linkedin.loading{background-color:#5795db}ap-social-button button.linkedin.stroked{background:transparent;border:1px solid var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked span{color:var(--ref-color-linkedin-100)}ap-social-button button.linkedin.stroked:hover{background:transparent;border-color:#2c78ce}ap-social-button button.linkedin.stroked:hover span{color:#2c78ce}ap-social-button button.linkedin.stroked:active:not(:disabled){border-color:#5795db;background:transparent}ap-social-button button.linkedin.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.linkedin.stroked:disabled{opacity:.2}ap-social-button button.linkedin.stroked.loading{border-color:var(--ref-color-linkedin-100);background:transparent}ap-social-button button.youtube{background-color:var(--ref-color-youtube-100)}ap-social-button button.youtube span,ap-social-button button.youtube ap-symbol{color:var(--ref-color-white)}ap-social-button button.youtube:hover{background-color:#f94242}ap-social-button button.youtube:active:not(:disabled){background-color:#fe5d5d}ap-social-button button.youtube:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.youtube.loading{background-color:#fe5d5d}ap-social-button button.youtube.stroked{background:transparent;border:1px solid var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked span{color:var(--ref-color-youtube-100)}ap-social-button button.youtube.stroked:hover{background:transparent;border-color:#f94242}ap-social-button button.youtube.stroked:hover span{color:#f94242}ap-social-button button.youtube.stroked:active:not(:disabled){border-color:#fe5d5d;color:#fe5d5d;background:transparent}ap-social-button button.youtube.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.youtube.stroked:disabled{opacity:.2}ap-social-button button.youtube.stroked.loading{border-color:var(--ref-color-youtube-100);background:transparent}ap-social-button button.tiktok{background-color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok span,ap-social-button button.tiktok ap-symbol{color:var(--ref-color-white)}ap-social-button button.tiktok:hover{background-color:#202020}ap-social-button button.tiktok:active:not(:disabled){background-color:#2e2e2e}ap-social-button button.tiktok:disabled{background-color:var(--ref-color-grey-20)}ap-social-button button.tiktok.loading{background-color:#2e2e2e}ap-social-button button.tiktok.stroked{background:transparent;border:1px solid var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked span{color:var(--ref-color-tiktok-default-100)}ap-social-button button.tiktok.stroked:hover{background:transparent;border-color:#202020}ap-social-button button.tiktok.stroked:hover span{color:#202020}ap-social-button button.tiktok.stroked:active:not(:disabled){border-color:#2e2e2e;background:transparent}ap-social-button button.tiktok.stroked:active:not(:disabled) span{color:#2e2e2e}ap-social-button button.tiktok.stroked:focus:not(:disabled):not(:active){border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}ap-social-button button.tiktok.stroked:disabled{opacity:.2}ap-social-button button.tiktok.stroked.loading{border-color:var(--ref-color-twitter-100--ref-color-tiktok-default-100);background:transparent}\n"] }]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SymbolRegistry }]; }, propDecorators: { ariaLabel: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], disabled: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], loading: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], name: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], network: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], buttonType: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], click: [{
|
|
81
|
+
type: Output
|
|
82
|
+
}], focus: [{
|
|
83
|
+
type: Output
|
|
84
|
+
}], blur: [{
|
|
85
|
+
type: Output
|
|
86
|
+
}] } });
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Generated bundle index. Do not edit.
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
export { SocialButtonComponent };
|
|
93
|
+
//# sourceMappingURL=agorapulse-ui-components-social-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-social-button.mjs","sources":["../../../libs/ui-components/social-button/src/social-button.component.ts","../../../libs/ui-components/social-button/src/social-button.component.html","../../../libs/ui-components/social-button/src/agorapulse-ui-components-social-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CommonModule, NgIf} from '@angular/common';\nimport {\n apFacebook,\n apInstagramOutline,\n apLinkedin,\n apLinkedinOfficial,\n apTiktokOfficial,\n apTiktokWhiteOfficial,\n apTwitter,\n apYoutube,\n apYoutubeOfficial,\n SymbolComponent,\n SymbolRegistry,\n} from '@agorapulse/ui-symbol';\nimport {AgorapulseUiAnimationsModule} from '@agorapulse/ui-animations';\n\ntype Service = 'facebook' | 'instagram' | 'twitter' | 'linkedin' | 'youtube' | 'tiktok';\ntype SocialButtonType = 'default' | 'stroked';\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-social-button[name]',\n styleUrls: ['./social-button.component.scss'],\n standalone: true,\n imports: [NgIf, SymbolComponent, CommonModule, AgorapulseUiAnimationsModule],\n providers: [],\n templateUrl: './social-button.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SocialButtonComponent {\n @Input() ariaLabel: string;\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() name: string;\n @Input() network: Service = 'facebook';\n @Input() buttonType: SocialButtonType = 'default';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<MouseEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus: EventEmitter<FocusEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur: EventEmitter<FocusEvent> = new EventEmitter();\n\n hostDataTest: string;\n\n symbolIdPerNetwork: Record<Service, Record<SocialButtonType, string>> = {\n facebook: {\n default: 'facebook',\n stroked: 'facebook-official',\n },\n instagram: {\n default: 'instagram-outline',\n stroked: 'instagram-official',\n },\n twitter: {\n default: 'twitter',\n stroked: 'twitter-official',\n },\n linkedin: {\n default: 'linkedin',\n stroked: 'linkedin-official',\n },\n youtube: {\n default: 'youtube',\n stroked: 'youtube-official',\n },\n tiktok: {\n default: 'tiktok-white-official',\n stroked: 'tiktok-official',\n },\n };\n constructor(private elementRef: ElementRef, private symbolRegistry: SymbolRegistry) {\n this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');\n this.symbolRegistry.registerSymbols([\n apFacebook,\n apTwitter,\n apLinkedin,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apYoutube,\n apInstagramOutline,\n apTiktokOfficial,\n apTiktokWhiteOfficial,\n ]);\n }\n}\n","<button\n [class.stroked]=\"buttonType === 'stroked'\"\n [class.facebook]=\"network === 'facebook'\"\n [class.twitter]=\"network === 'twitter'\"\n [class.instagram]=\"network === 'instagram'\"\n [class.linkedin]=\"network === 'linkedin'\"\n [class.youtube]=\"network === 'youtube'\"\n [class.tiktok]=\"network === 'tiktok'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.data-test]=\"hostDataTest ?? name\"\n (click)=\"click.emit($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n>\n <ap-symbol *ngIf=\"!loading\"\n [symbolId]=\"symbolIdPerNetwork[network][buttonType]\"\n size=\"micro\"\n ></ap-symbol>\n <ap-loader\n *ngIf=\"loading\"\n [color]=\"buttonType === 'default' ? 'white' : network\"\n [diameter]=\"16\"\n ></ap-loader>\n <ng-content select=\"span\"></ng-content>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, EventEmitter, SimpleChange, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ContentChild, Output } from '@angular/core';
|
|
3
|
+
import { CommonModule, NgIf } from '@angular/common';
|
|
4
|
+
import { SymbolRegistry, apArrowDown1, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
5
|
+
import * as i1 from '@angular/material/menu';
|
|
6
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
7
|
+
|
|
8
|
+
class SplitButtonComponent {
|
|
9
|
+
constructor(elementRef) {
|
|
10
|
+
this.elementRef = elementRef;
|
|
11
|
+
this.symbolRegistry = inject(SymbolRegistry);
|
|
12
|
+
this.disabled = false;
|
|
13
|
+
this.splitDisabled = false;
|
|
14
|
+
this.symbolPosition = 'right';
|
|
15
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
16
|
+
this.click = new EventEmitter();
|
|
17
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
18
|
+
this.focus = new EventEmitter();
|
|
19
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
20
|
+
this.blur = new EventEmitter();
|
|
21
|
+
this.menuOpened = new EventEmitter();
|
|
22
|
+
this.menuClosed = new EventEmitter();
|
|
23
|
+
this.menuOpen = false;
|
|
24
|
+
this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');
|
|
25
|
+
this.symbolRegistry.registerSymbols([apArrowDown1]);
|
|
26
|
+
}
|
|
27
|
+
ngAfterViewChecked() {
|
|
28
|
+
if (this.symbolComponent) {
|
|
29
|
+
this.symbolComponent.size = 'micro';
|
|
30
|
+
this.symbolComponent.ngOnChanges({
|
|
31
|
+
size: new SimpleChange(null, this.symbolComponent.size, false),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
onClickHandle($event) {
|
|
36
|
+
$event.stopImmediatePropagation();
|
|
37
|
+
this.buttonElement.nativeElement.blur();
|
|
38
|
+
this.click.emit($event);
|
|
39
|
+
this.focus.emit($event);
|
|
40
|
+
}
|
|
41
|
+
onSplitButtonClickHandle($event) {
|
|
42
|
+
$event.stopImmediatePropagation();
|
|
43
|
+
}
|
|
44
|
+
handleMenuOpened() {
|
|
45
|
+
this.menuOpened.emit();
|
|
46
|
+
this.menuOpen = true;
|
|
47
|
+
this.buttonElement.nativeElement.blur();
|
|
48
|
+
this.splitButtonElement.nativeElement.blur();
|
|
49
|
+
}
|
|
50
|
+
handleMenuClosed() {
|
|
51
|
+
this.menuClosed.emit();
|
|
52
|
+
this.menuOpen = false;
|
|
53
|
+
this.buttonElement.nativeElement.blur();
|
|
54
|
+
this.splitButtonElement.nativeElement.blur();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
SplitButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: SplitButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: SplitButtonComponent, isStandalone: true, selector: "ap-split-button[name]", inputs: { ariaLabel: "ariaLabel", config: "config", menuTrigger: "menuTrigger", disabled: "disabled", splitDisabled: "splitDisabled", name: "name", symbolPosition: "symbolPosition", splitButtonDataTest: "splitButtonDataTest" }, outputs: { click: "click", focus: "focus", blur: "blur", menuOpened: "menuOpened", menuClosed: "menuClosed" }, providers: [], queries: [{ propertyName: "symbolComponent", first: true, predicate: SymbolComponent, descendants: true }], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true }, { propertyName: "splitButtonElement", first: true, predicate: ["splitButton"], descendants: true }], ngImport: i0, template: "<button\n #button\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n>\n <ng-content select=\"span\"></ng-content>\n <ng-content select=\"ap-symbol\"></ng-content>\n</button>\n<button\n #splitButton\n #trigger=\"matMenuTrigger\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [disabled]=\"splitDisabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"splitDisabled.toString()\"\n [attr.data-test]=\"splitButtonDataTest ?? name + '-split'\"\n (click)=\"onSplitButtonClickHandle($event)\"\n [matMenuTriggerFor]=\"menuTrigger\"\n (menuClosed)=\"handleMenuClosed()\"\n (menuOpened)=\"handleMenuOpened()\"\n>\n <ap-symbol symbolId=\"arrow-down-1\"\n size=\"nano\"\n [class.opened]=\"menuOpen\"></ap-symbol>\n</button>\n", styles: ["ap-split-button{--loading-bar-width: 50px;display:inline-flex;gap:1px;position:relative}ap-split-button button{border:none;position:relative;padding:var(--comp-split-button-padding-horizontal) var(--comp-split-button-padding-vertical);overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px}ap-split-button button.inverse{flex-direction:row-reverse}ap-split-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-split-button button:disabled{pointer-events:none}@media (hover: hover){ap-split-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px;z-index:10}}ap-split-button button span{font-size:var(--comp-split-button-text-size);font-family:var(--comp-split-button-text-font-family);line-height:var(--comp-split-button-text-line-height);font-weight:var(--comp-split-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-split-button button.loading{pointer-events:none}ap-split-button button.primary span,ap-split-button button.primary ap-symbol{color:var(--ref-color-white)}ap-split-button button.primary.orange{background:var(--ref-color-orange-100)}ap-split-button button.primary.orange:hover{background-color:var(--ref-color-orange-80)}ap-split-button button.primary.orange:active:not(:disabled){background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange:disabled{background-color:var(--ref-color-orange-20)}ap-split-button button.primary.orange.loading{background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange .loading-bar{background-color:var(--ref-color-orange-100)}ap-split-button button.primary.blue{background:var(--ref-color-electric-blue-100)}ap-split-button button.primary.blue:hover{background-color:var(--ref-color-electric-blue-80)}ap-split-button button.primary.blue:active:not(:disabled){background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue:disabled{background-color:var(--ref-color-electric-blue-20)}ap-split-button button.primary.blue.loading{background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue .loading-bar{background-color:var(--ref-color-electric-blue-100)}ap-split-button button:first-child{border-top-left-radius:var(--comp-split-button-border-radius);border-bottom-left-radius:var(--comp-split-button-border-radius)}ap-split-button button:last-child{border-top-right-radius:var(--comp-split-button-border-radius);border-bottom-right-radius:var(--comp-split-button-border-radius);padding:var(--comp-split-button-padding-horizontal) 10px var(--comp-split-button-padding-horizontal) 10px}ap-split-button button ap-symbol{will-change:transform;transition:.2s ease-in-out}ap-split-button button ap-symbol.opened{transform:rotate(180deg)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "directive", type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-split-button[name]', standalone: true, imports: [NgIf, SymbolComponent, CommonModule, MatMenuModule], providers: [], encapsulation: ViewEncapsulation.None, template: "<button\n #button\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n>\n <ng-content select=\"span\"></ng-content>\n <ng-content select=\"ap-symbol\"></ng-content>\n</button>\n<button\n #splitButton\n #trigger=\"matMenuTrigger\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [disabled]=\"splitDisabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"splitDisabled.toString()\"\n [attr.data-test]=\"splitButtonDataTest ?? name + '-split'\"\n (click)=\"onSplitButtonClickHandle($event)\"\n [matMenuTriggerFor]=\"menuTrigger\"\n (menuClosed)=\"handleMenuClosed()\"\n (menuOpened)=\"handleMenuOpened()\"\n>\n <ap-symbol symbolId=\"arrow-down-1\"\n size=\"nano\"\n [class.opened]=\"menuOpen\"></ap-symbol>\n</button>\n", styles: ["ap-split-button{--loading-bar-width: 50px;display:inline-flex;gap:1px;position:relative}ap-split-button button{border:none;position:relative;padding:var(--comp-split-button-padding-horizontal) var(--comp-split-button-padding-vertical);overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px}ap-split-button button.inverse{flex-direction:row-reverse}ap-split-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-split-button button:disabled{pointer-events:none}@media (hover: hover){ap-split-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px;z-index:10}}ap-split-button button span{font-size:var(--comp-split-button-text-size);font-family:var(--comp-split-button-text-font-family);line-height:var(--comp-split-button-text-line-height);font-weight:var(--comp-split-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-split-button button.loading{pointer-events:none}ap-split-button button.primary span,ap-split-button button.primary ap-symbol{color:var(--ref-color-white)}ap-split-button button.primary.orange{background:var(--ref-color-orange-100)}ap-split-button button.primary.orange:hover{background-color:var(--ref-color-orange-80)}ap-split-button button.primary.orange:active:not(:disabled){background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange:disabled{background-color:var(--ref-color-orange-20)}ap-split-button button.primary.orange.loading{background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange .loading-bar{background-color:var(--ref-color-orange-100)}ap-split-button button.primary.blue{background:var(--ref-color-electric-blue-100)}ap-split-button button.primary.blue:hover{background-color:var(--ref-color-electric-blue-80)}ap-split-button button.primary.blue:active:not(:disabled){background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue:disabled{background-color:var(--ref-color-electric-blue-20)}ap-split-button button.primary.blue.loading{background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue .loading-bar{background-color:var(--ref-color-electric-blue-100)}ap-split-button button:first-child{border-top-left-radius:var(--comp-split-button-border-radius);border-bottom-left-radius:var(--comp-split-button-border-radius)}ap-split-button button:last-child{border-top-right-radius:var(--comp-split-button-border-radius);border-bottom-right-radius:var(--comp-split-button-border-radius);padding:var(--comp-split-button-padding-horizontal) 10px var(--comp-split-button-padding-horizontal) 10px}ap-split-button button ap-symbol{will-change:transform;transition:.2s ease-in-out}ap-split-button button ap-symbol.opened{transform:rotate(180deg)}\n"] }]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ariaLabel: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], config: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], menuTrigger: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], disabled: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], splitDisabled: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], name: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], symbolPosition: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], splitButtonDataTest: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], buttonElement: [{
|
|
79
|
+
type: ViewChild,
|
|
80
|
+
args: ['button']
|
|
81
|
+
}], splitButtonElement: [{
|
|
82
|
+
type: ViewChild,
|
|
83
|
+
args: ['splitButton']
|
|
84
|
+
}], symbolComponent: [{
|
|
85
|
+
type: ContentChild,
|
|
86
|
+
args: [SymbolComponent]
|
|
87
|
+
}], click: [{
|
|
88
|
+
type: Output
|
|
89
|
+
}], focus: [{
|
|
90
|
+
type: Output
|
|
91
|
+
}], blur: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}], menuOpened: [{
|
|
94
|
+
type: Output
|
|
95
|
+
}], menuClosed: [{
|
|
96
|
+
type: Output
|
|
97
|
+
}] } });
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Generated bundle index. Do not edit.
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
export { SplitButtonComponent };
|
|
104
|
+
//# sourceMappingURL=agorapulse-ui-components-split-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-split-button.mjs","sources":["../../../libs/ui-components/split-button/src/split-button.component.ts","../../../libs/ui-components/split-button/src/split-button.component.html","../../../libs/ui-components/split-button/src/agorapulse-ui-components-split-button.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n SimpleChange,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CommonModule, NgIf} from '@angular/common';\nimport {apArrowDown1, SymbolComponent, SymbolRegistry} from '@agorapulse/ui-symbol';\nimport {MatLegacyMenu} from '@angular/material/legacy-menu';\nimport {MatMenuModule} from '@angular/material/menu';\n\ntype SplitButtonConfig = {style: 'primary'; color: 'orange' | 'blue'};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-split-button[name]',\n styleUrls: ['./split-button.component.scss'],\n standalone: true,\n imports: [NgIf, SymbolComponent, CommonModule, MatMenuModule],\n providers: [],\n templateUrl: './split-button.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SplitButtonComponent implements AfterViewChecked {\n private symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n @Input() ariaLabel: string;\n @Input() config: SplitButtonConfig;\n @Input() menuTrigger: MatLegacyMenu;\n @Input() disabled: boolean = false;\n @Input() splitDisabled: boolean = false;\n @Input() name: string;\n @Input() symbolPosition: 'left' | 'right' = 'right';\n @Input() splitButtonDataTest: string;\n\n @ViewChild('button') buttonElement: ElementRef<HTMLButtonElement>;\n @ViewChild('splitButton') splitButtonElement: ElementRef<HTMLButtonElement>;\n\n @ContentChild(SymbolComponent) symbolComponent: SymbolComponent;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click: EventEmitter<MouseEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus: EventEmitter<FocusEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur: EventEmitter<FocusEvent> = new EventEmitter();\n @Output() menuOpened: EventEmitter<void> = new EventEmitter();\n @Output() menuClosed: EventEmitter<void> = new EventEmitter();\n\n hostDataTest: string;\n menuOpen = false;\n\n constructor(private elementRef: ElementRef) {\n this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');\n this.symbolRegistry.registerSymbols([apArrowDown1]);\n }\n ngAfterViewChecked(): void {\n if (this.symbolComponent) {\n this.symbolComponent.size = 'micro';\n this.symbolComponent.ngOnChanges({\n size: new SimpleChange(null, this.symbolComponent.size, false),\n });\n }\n }\n\n onClickHandle($event: MouseEvent): void {\n $event.stopImmediatePropagation();\n this.buttonElement.nativeElement.blur();\n this.click.emit($event);\n this.focus.emit($event);\n }\n\n onSplitButtonClickHandle($event: MouseEvent): void {\n $event.stopImmediatePropagation();\n }\n\n handleMenuOpened(): void {\n this.menuOpened.emit();\n this.menuOpen = true;\n this.buttonElement.nativeElement.blur();\n this.splitButtonElement.nativeElement.blur();\n }\n\n handleMenuClosed(): void {\n this.menuClosed.emit();\n this.menuOpen = false;\n this.buttonElement.nativeElement.blur();\n this.splitButtonElement.nativeElement.blur();\n }\n}\n","<button\n #button\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n>\n <ng-content select=\"span\"></ng-content>\n <ng-content select=\"ap-symbol\"></ng-content>\n</button>\n<button\n #splitButton\n #trigger=\"matMenuTrigger\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [disabled]=\"splitDisabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"splitDisabled.toString()\"\n [attr.data-test]=\"splitButtonDataTest ?? name + '-split'\"\n (click)=\"onSplitButtonClickHandle($event)\"\n [matMenuTriggerFor]=\"menuTrigger\"\n (menuClosed)=\"handleMenuClosed()\"\n (menuOpened)=\"handleMenuOpened()\"\n>\n <ap-symbol symbolId=\"arrow-down-1\"\n size=\"nano\"\n [class.opened]=\"menuOpen\"></ap-symbol>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,8 @@ import { MAT_LEGACY_TABS_CONFIG } from '@angular/material/legacy-tabs';
|
|
|
46
46
|
export { CheckboxComponent } from '@agorapulse/ui-components/checkbox';
|
|
47
47
|
export { IconButtonComponent } from '@agorapulse/ui-components/icon-button';
|
|
48
48
|
export { ToggleComponent } from '@agorapulse/ui-components/toggle';
|
|
49
|
+
export { ButtonComponent } from '@agorapulse/ui-components/button';
|
|
50
|
+
export { SocialButtonComponent } from '@agorapulse/ui-components/social-button';
|
|
49
51
|
|
|
50
52
|
// Modules
|
|
51
53
|
/**
|