@period-year-norway/ngx-bootstrap
Version:
1 lines • 26.7 kB
Source Map (JSON)
{"version":3,"file":"period-year-norway-ngx-bootstrap-tooltip.mjs","sources":["../../../../src/tooltip/tooltip.config.ts","../../../../src/tooltip/tooltip-container.component.ts","../../../../src/tooltip/tooltip.directive.ts","../../../../src/tooltip/tooltip.module.ts","../../../../src/tooltip/period-year-norway-ngx-bootstrap-tooltip.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n/** Default values provider for tooltip */\r\n@Injectable({ providedIn: 'root' })\r\nexport class TooltipConfig {\r\n /** sets disable adaptive position */\r\n adaptivePosition = true;\r\n /** tooltip placement, supported positions: 'top', 'bottom', 'left', 'right' */\r\n placement = 'top';\r\n /** array of event names which triggers tooltip opening */\r\n triggers = 'hover focus';\r\n /** a selector specifying the element the tooltip should be appended to. */\r\n container?: string;\r\n /** delay before showing the tooltip */\r\n delay = 0;\r\n}\r\n","import { AfterViewInit, Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { TooltipConfig } from './tooltip.config';\r\nimport { getBsVer, IBsVersion } from '@period-year-norway/ngx-bootstrap/utils';\r\nimport { PlacementForBs5 } from '@period-year-norway/ngx-bootstrap/positioning';\r\n\r\n@Component({\r\n selector: 'bs-tooltip-container',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[class]':\r\n '\"tooltip in tooltip-\" + placement + \" \" + \"bs-tooltip-\" + placement + \" \" + placement + \" \" + containerClass',\r\n '[class.show]': '!_bsVersions.isBs3',\r\n '[class.bs3]': '_bsVersions.isBs3',\r\n '[attr.id]': 'this.id',\r\n role: 'tooltip'\r\n },\r\n styles: [\r\n `\r\n :host.tooltip {\r\n display: block;\r\n pointer-events: none;\r\n }\r\n :host.bs3.tooltip.top > .arrow {\r\n margin-left: -2px;\r\n }\r\n :host.bs3.tooltip.bottom {\r\n margin-top: 0px;\r\n }\r\n :host.bs3.bs-tooltip-left,\r\n :host.bs3.bs-tooltip-right {\r\n margin: 0px;\r\n }\r\n :host.bs3.bs-tooltip-right .arrow,\r\n :host.bs3.bs-tooltip-left .arrow {\r\n margin: 0.3rem 0;\r\n }\r\n `\r\n ],\r\n template: `\r\n <div class=\"tooltip-arrow arrow\"></div>\r\n <div class=\"tooltip-inner\"><ng-content></ng-content></div>\r\n `,\r\n standalone: false\r\n})\r\nexport class TooltipContainerComponent implements AfterViewInit {\r\n classMap?: { [key: string]: boolean };\r\n placement?: string;\r\n containerClass?: string;\r\n animation?: boolean;\r\n id?: string;\r\n\r\n get _bsVersions(): IBsVersion {\r\n return getBsVer();\r\n }\r\n\r\n constructor(config: TooltipConfig) {\r\n Object.assign(this, config);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.classMap = { in: false, fade: false };\r\n if (this.placement) {\r\n if (this._bsVersions.isBs5) {\r\n this.placement = PlacementForBs5[this.placement as keyof typeof PlacementForBs5];\r\n }\r\n\r\n this.classMap[this.placement] = true;\r\n }\r\n this.classMap[`tooltip-${this.placement}`] = true;\r\n\r\n this.classMap['in'] = true;\r\n if (this.animation) {\r\n this.classMap['fade'] = true;\r\n }\r\n\r\n if (this.containerClass) {\r\n this.classMap[this.containerClass] = true;\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\nimport { TooltipContainerComponent } from './tooltip-container.component';\r\nimport { TooltipConfig } from './tooltip.config';\r\n\r\nimport { ComponentLoader, ComponentLoaderFactory } from '@period-year-norway/ngx-bootstrap/component-loader';\r\nimport { OnChange, warnOnce, parseTriggers, Trigger } from '@period-year-norway/ngx-bootstrap/utils';\r\nimport { PositioningService } from '@period-year-norway/ngx-bootstrap/positioning';\r\n\r\nimport { timer, Subscription } from 'rxjs';\r\nimport { AvailbleBSPositions } from '@period-year-norway/ngx-bootstrap/positioning';\r\n\r\nlet id = 0;\r\n\r\n@Directive({\n selector: '[tooltip], [tooltipHtml]',\n exportAs: 'bs-tooltip',\n standalone: false\n})\r\nexport class TooltipDirective implements OnInit, OnDestroy {\r\n tooltipId = id++;\r\n /** sets disable adaptive position */\r\n @Input() adaptivePosition = true;\r\n /**\r\n * Content to be displayed as tooltip.\r\n */\r\n @OnChange()\r\n @Input()\r\n tooltip?: string | TemplateRef<unknown>;\r\n /** Fired when tooltip content changes */\r\n @Output()\r\n tooltipChange: EventEmitter<string | TemplateRef<unknown>> = new EventEmitter();\r\n\r\n /**\r\n * Placement of a tooltip. Accepts: \"top\", \"bottom\", \"left\", \"right\"\r\n */\r\n @Input() placement: AvailbleBSPositions = 'top';\r\n /**\r\n * Specifies events that should trigger. Supports a space separated list of\r\n * event names.\r\n */\r\n @Input() triggers = 'hover focus';\r\n /**\r\n * A selector specifying the element the tooltip should be appended to.\r\n */\r\n @Input() container?: string;\r\n /**\r\n * Css class for tooltip container\r\n */\r\n @Input() containerClass = '';\r\n @Input() boundariesElement?: ('viewport' | 'scrollParent' | 'window');\r\n /**\r\n * Returns whether or not the tooltip is currently being shown\r\n */\r\n @Input()\r\n get isOpen(): boolean {\r\n return this._tooltip.isShown;\r\n }\r\n\r\n set isOpen(value: boolean) {\r\n if (value) {\r\n this.show();\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n /**\r\n * Allows to disable tooltip\r\n */\r\n @Input() isDisabled = false;\r\n\r\n /**\r\n * Delay before showing the tooltip\r\n */\r\n @Input() delay = 0;\r\n\r\n /**\r\n * Emits an event when the tooltip is shown\r\n */\r\n @Output() onShown: EventEmitter<unknown>;\r\n /**\r\n * Emits an event when the tooltip is hidden\r\n */\r\n @Output() onHidden: EventEmitter<unknown>;\r\n\r\n /** @deprecated - please use `tooltip` instead */\r\n @Input('tooltipHtml')\r\n set htmlContent(value: string | TemplateRef<unknown>) {\r\n warnOnce('tooltipHtml was deprecated, please use `tooltip` instead');\r\n this.tooltip = value;\r\n }\r\n\r\n /** @deprecated - please use `placement` instead */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipPlacement')\r\n set _placement(value: AvailbleBSPositions) {\r\n warnOnce('tooltipPlacement was deprecated, please use `placement` instead');\r\n this.placement = value;\r\n }\r\n\r\n /** @deprecated - please use `isOpen` instead */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipIsOpen')\r\n set _isOpen(value: boolean) {\r\n warnOnce('tooltipIsOpen was deprecated, please use `isOpen` instead');\r\n this.isOpen = value;\r\n }\r\n\r\n get _isOpen(): boolean {\r\n warnOnce('tooltipIsOpen was deprecated, please use `isOpen` instead');\r\n\r\n return this.isOpen;\r\n }\r\n\r\n /** @deprecated - please use `isDisabled` instead */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipEnable')\r\n set _enable(value: boolean) {\r\n warnOnce('tooltipEnable was deprecated, please use `isDisabled` instead');\r\n this.isDisabled = !value;\r\n }\r\n\r\n get _enable(): boolean {\r\n warnOnce('tooltipEnable was deprecated, please use `isDisabled` instead');\r\n\r\n return this.isDisabled;\r\n }\r\n\r\n /** @deprecated - please use `container=\"body\"` instead */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipAppendToBody')\r\n set _appendToBody(value: boolean) {\r\n warnOnce(\r\n 'tooltipAppendToBody was deprecated, please use `container=\"body\"` instead'\r\n );\r\n this.container = value ? 'body' : this.container;\r\n }\r\n\r\n get _appendToBody(): boolean {\r\n warnOnce(\r\n 'tooltipAppendToBody was deprecated, please use `container=\"body\"` instead'\r\n );\r\n\r\n return this.container === 'body';\r\n }\r\n\r\n /** @deprecated - removed, will be added to configuration */\r\n @Input() tooltipAnimation = true;\r\n\r\n /** @deprecated - will replaced with customClass */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipClass')\r\n set _popupClass(value: string) {\r\n warnOnce('tooltipClass deprecated');\r\n }\r\n\r\n /** @deprecated - removed */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipContext')\r\n set _tooltipContext(value: undefined) {\r\n warnOnce('tooltipContext deprecated');\r\n }\r\n\r\n /** @deprecated */\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('tooltipPopupDelay')\r\n set _tooltipPopupDelay(value: number) {\r\n warnOnce('tooltipPopupDelay is deprecated, use `delay` instead');\r\n this.delay = value;\r\n }\r\n\r\n /** @deprecated */\r\n @Input() tooltipFadeDuration = 150;\r\n\r\n /** @deprecated - please use `triggers` instead */\r\n @Input('tooltipTrigger')\r\n get _tooltipTrigger(): string | string[] {\r\n warnOnce('tooltipTrigger was deprecated, please use `triggers` instead');\r\n\r\n return this.triggers;\r\n }\r\n\r\n set _tooltipTrigger(value: string | string[]) {\r\n warnOnce('tooltipTrigger was deprecated, please use `triggers` instead');\r\n this.triggers = (value || '').toString();\r\n }\r\n\r\n /** @deprecated */\r\n @Output()\r\n tooltipStateChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n protected _delayTimeoutId?: number;\r\n protected _tooltipCancelShowFn?: () => void;\r\n\r\n private _tooltip: ComponentLoader<TooltipContainerComponent>;\r\n private _delaySubscription?: Subscription;\r\n private _ariaDescribedby?: string;\r\n constructor(\r\n _viewContainerRef: ViewContainerRef,\r\n cis: ComponentLoaderFactory,\r\n config: TooltipConfig,\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private _positionService: PositioningService\r\n ) {\r\n\r\n this._tooltip = cis\r\n .createLoader<TooltipContainerComponent>(\r\n this._elementRef,\r\n _viewContainerRef,\r\n this._renderer\r\n )\r\n .provide({provide: TooltipConfig, useValue: config});\r\n\r\n Object.assign(this, config);\r\n this.onShown = this._tooltip.onShown;\r\n this.onHidden = this._tooltip.onHidden;\r\n }\r\n\r\n ngOnInit(): void {\r\n this._tooltip.listen({\r\n triggers: this.triggers,\r\n show: () => this.show()\r\n });\r\n this.tooltipChange.subscribe((value) => {\r\n if (!value) {\r\n this._tooltip.hide();\r\n }\r\n });\r\n\r\n this.onShown.subscribe(() => {\r\n this.setAriaDescribedBy();\r\n });\r\n\r\n this.onHidden.subscribe(() => {\r\n this.setAriaDescribedBy();\r\n });\r\n }\r\n\r\n setAriaDescribedBy(): void {\r\n this._ariaDescribedby = this.isOpen ? `tooltip-${this.tooltipId}` : void 0;\r\n\r\n if (this._ariaDescribedby) {\r\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\r\n } else {\r\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\r\n }\r\n }\r\n\r\n /**\r\n * Toggles an element’s tooltip. This is considered a “manual” triggering of\r\n * the tooltip.\r\n */\r\n toggle(): void {\r\n if (this.isOpen) {\r\n return this.hide();\r\n }\r\n\r\n this.show();\r\n }\r\n\r\n /**\r\n * Opens an element’s tooltip. This is considered a “manual” triggering of\r\n * the tooltip.\r\n */\r\n show(): void {\r\n this._positionService.setOptions({\r\n modifiers: {\r\n flip: {\r\n enabled: this.adaptivePosition\r\n },\r\n preventOverflow: {\r\n enabled: this.adaptivePosition,\r\n boundariesElement: this.boundariesElement || 'scrollParent'\r\n }\r\n }\r\n });\r\n\r\n if (\r\n this.isOpen ||\r\n this.isDisabled ||\r\n this._delayTimeoutId ||\r\n !this.tooltip\r\n ) {\r\n return;\r\n }\r\n\r\n const showTooltip = () => {\r\n if (this._delayTimeoutId) {\r\n this._delayTimeoutId = undefined;\r\n }\r\n\r\n this._tooltip\r\n .attach(TooltipContainerComponent)\r\n .to(this.container)\r\n .position({attachment: this.placement})\r\n .show({\r\n content: this.tooltip,\r\n placement: this.placement,\r\n containerClass: this.containerClass,\r\n id: `tooltip-${this.tooltipId}`\r\n });\r\n };\r\n const cancelDelayedTooltipShowing = () => {\r\n if (this._tooltipCancelShowFn) {\r\n this._tooltipCancelShowFn();\r\n }\r\n };\r\n\r\n if (this.delay) {\r\n if (this._delaySubscription) {\r\n this._delaySubscription.unsubscribe();\r\n }\r\n\r\n this._delaySubscription = timer(this.delay).subscribe(() => {\r\n showTooltip();\r\n cancelDelayedTooltipShowing();\r\n });\r\n\r\n if (this.triggers) {\r\n parseTriggers(this.triggers)\r\n .forEach((trigger: Trigger) => {\r\n if (!trigger.close) {\r\n return;\r\n }\r\n this._tooltipCancelShowFn = this._renderer.listen(\r\n this._elementRef.nativeElement,\r\n trigger.close,\r\n () => {\r\n this._delaySubscription?.unsubscribe();\r\n cancelDelayedTooltipShowing();\r\n }\r\n );\r\n });\r\n }\r\n } else {\r\n showTooltip();\r\n }\r\n }\r\n\r\n /**\r\n * Closes an element’s tooltip. This is considered a “manual” triggering of\r\n * the tooltip.\r\n */\r\n hide(): void {\r\n if (this._delayTimeoutId) {\r\n clearTimeout(this._delayTimeoutId);\r\n this._delayTimeoutId = undefined;\r\n }\r\n\r\n if (!this._tooltip.isShown) {\r\n return;\r\n }\r\n\r\n if (this._tooltip.instance?.classMap) {\r\n this._tooltip.instance.classMap[\"in\"] = false;\r\n }\r\n\r\n setTimeout(() => {\r\n this._tooltip.hide();\r\n }, this.tooltipFadeDuration);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._tooltip.dispose();\r\n this.tooltipChange.unsubscribe();\r\n if (this._delaySubscription) {\r\n this._delaySubscription.unsubscribe();\r\n }\r\n this.onShown.unsubscribe();\r\n this.onHidden.unsubscribe();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { TooltipContainerComponent } from './tooltip-container.component';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { ComponentLoaderFactory } from '@period-year-norway/ngx-bootstrap/component-loader';\r\nimport { PositioningService } from '@period-year-norway/ngx-bootstrap/positioning';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [TooltipDirective, TooltipContainerComponent],\r\n exports: [TooltipDirective]\r\n})\r\nexport class TooltipModule {\r\n static forRoot(): ModuleWithProviders<TooltipModule> {\r\n return {\r\n ngModule: TooltipModule,\r\n providers: [ComponentLoaderFactory, PositioningService]\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TooltipConfig","i2.TooltipConfig"],"mappings":"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"}