ngx-bootstrap 8.0.0-RC.1 → 8.0.0-RC.5
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/accordion/package.json +5 -3
- package/alert/package.json +4 -2
- package/buttons/package.json +3 -1
- package/carousel/package.json +4 -2
- package/chronos/esm2020/i18n/es-pr.mjs +74 -0
- package/chronos/esm2020/public_api.mjs +2 -1
- package/chronos/fesm2015/ngx-bootstrap-chronos.mjs +90 -17
- package/chronos/fesm2015/ngx-bootstrap-chronos.mjs.map +1 -1
- package/chronos/fesm2020/ngx-bootstrap-chronos.mjs +90 -17
- package/chronos/fesm2020/ngx-bootstrap-chronos.mjs.map +1 -1
- package/chronos/i18n/es-pr.d.ts +2 -0
- package/chronos/package.json +3 -1
- package/chronos/public_api.d.ts +1 -0
- package/collapse/package.json +3 -1
- package/component-loader/esm2020/component-loader.class.mjs +4 -8
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs +5 -9
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs.map +1 -1
- package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs +3 -7
- package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs.map +1 -1
- package/component-loader/package.json +5 -3
- package/datepicker/esm2020/public_api.mjs +1 -9
- package/datepicker/esm2020/reducer/bs-datepicker.reducer.mjs +2 -2
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +3 -1108
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs +3 -1107
- package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/datepicker/package.json +10 -8
- package/datepicker/public_api.d.ts +0 -8
- package/dropdown/package.json +6 -4
- package/focus-trap/package.json +3 -1
- package/locale/esm2020/public_api.mjs +2 -1
- package/locale/fesm2015/ngx-bootstrap-locale.mjs +1 -1
- package/locale/fesm2020/ngx-bootstrap-locale.mjs +1 -1
- package/locale/package.json +4 -2
- package/locale/public_api.d.ts +1 -0
- package/mini-ngrx/package.json +3 -1
- package/modal/package.json +7 -5
- package/package.json +212 -19
- package/pagination/package.json +3 -1
- package/popover/esm2020/popover-container.component.mjs +3 -3
- package/popover/fesm2015/ngx-bootstrap-popover.mjs +2 -2
- package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +1 -1
- package/popover/fesm2020/ngx-bootstrap-popover.mjs +2 -2
- package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +1 -1
- package/popover/package.json +6 -4
- package/positioning/esm2020/modifiers/preventOverflow.mjs +6 -7
- package/positioning/esm2020/utils/computeAutoPlacement.mjs +15 -19
- package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +21 -26
- package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +1 -1
- package/positioning/fesm2020/ngx-bootstrap-positioning.mjs +19 -24
- package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +1 -1
- package/positioning/package.json +4 -2
- package/progressbar/package.json +4 -2
- package/rating/package.json +3 -1
- package/schematics/package.json +3 -1
- package/schematics/utils/current_dependency_versions.json +2 -2
- package/sortable/package.json +3 -1
- package/tabs/package.json +3 -1
- package/timepicker/package.json +4 -2
- package/tooltip/package.json +6 -4
- package/typeahead/package.json +6 -4
- package/utils/package.json +3 -1
- package/datepicker/date-formatter.d.ts +0 -3
- package/datepicker/datepicker-inner.component.d.ts +0 -80
- package/datepicker/datepicker.component.d.ts +0 -81
- package/datepicker/datepicker.config.d.ts +0 -22
- package/datepicker/datepicker.module.d.ts +0 -15
- package/datepicker/daypicker.component.d.ts +0 -20
- package/datepicker/esm2020/date-formatter.mjs +0 -7
- package/datepicker/esm2020/datepicker-inner.component.mjs +0 -325
- package/datepicker/esm2020/datepicker.component.mjs +0 -204
- package/datepicker/esm2020/datepicker.config.mjs +0 -32
- package/datepicker/esm2020/datepicker.module.mjs +0 -48
- package/datepicker/esm2020/daypicker.component.mjs +0 -255
- package/datepicker/esm2020/monthpicker.component.mjs +0 -131
- package/datepicker/esm2020/yearpicker.component.mjs +0 -146
- package/datepicker/monthpicker.component.d.ts +0 -14
- package/datepicker/yearpicker.component.d.ts +0 -14
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-popover.mjs","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../src/popover/popover-container.component.html","../../../../src/popover/popover.directive.ts","../../../../src/popover/popover.module.ts","../../../../src/popover/ngx-bootstrap-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * Configuration service for the Popover directive.\n * You can inject this service, typically in your root component, and customize\n * the values of its properties in order to provide default values for all the\n * popovers used in the application.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PopoverConfig {\n /** sets disable adaptive position */\n adaptivePosition = true;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\", \"auto\"\n */\n placement = 'top';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = 'click';\n\n outsideClick = false;\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container?: string;\n /** delay before showing the tooltip */\n delay = 0;\n}\n","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\n\n@Component({\n selector: 'popover-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.id]': 'popoverId',\n '[class]':\n '\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + checkMarginNecessity()',\n '[class.show]': '!_bsVersions.isBs3',\n '[class.bs3]': '_bsVersions.isBs3',\n role: 'tooltip',\n style: 'display:block;'\n },\n styles: [\n `\n :host.bs3.popover-top {\n margin-bottom: 10px;\n }\n :host.bs3.popover.top>.arrow {\n margin-left: -2px;\n }\n :host.bs3.popover.top {\n margin-bottom: 10px;\n }\n :host.popover.bottom>.arrow {\n margin-left: -4px;\n }\n :host.bs3.bs-popover-left {\n margin-right: .5rem;\n }\n :host.bs3.bs-popover-right .arrow, :host.bs3.bs-popover-left .arrow{\n margin: .3rem 0;\n }\n `\n ],\n templateUrl: './popover-container.component.html'\n})\nexport class PopoverContainerComponent {\n @Input() set placement(value: AvailbleBSPositions) {\n if (!this._bsVersions.isBs5) {\n this._placement = value;\n } else {\n this._placement = PlacementForBs5[value as keyof typeof PlacementForBs5];\n }\n };\n\n @Input() title?: string;\n\n containerClass?: string;\n popoverId?: string;\n _placement = 'top';\n\n get _bsVersions(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: PopoverConfig) {\n Object.assign(this, config);\n }\n\n checkMarginNecessity(): string {\n return checkMargins(this._placement);\n }\n}\n","<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output,\n Renderer2, TemplateRef, ViewContainerRef\n} from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PopoverContainerComponent } from './popover-container.component';\nimport { PositioningService, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\nimport { timer } from 'rxjs';\nimport { parseTriggers, Trigger } from 'ngx-bootstrap/utils';\n\nlet id = 0;\n\n/**\n * A lightweight, extensible directive for fancy popover creation.\n */\n@Directive({selector: '[popover]', exportAs: 'bs-popover'})\nexport class PopoverDirective implements OnInit, OnDestroy {\n /** unique id popover - use for aria-describedby */\n popoverId = id++;\n /** sets disable adaptive position */\n @Input() adaptivePosition = true;\n /**\n * Content to be displayed as popover.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popover?: string | TemplateRef<any>;\n /**\n * Context to be used if popover is a template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popoverContext: any;\n /**\n * Title of a popover.\n */\n @Input() popoverTitle?: string;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: AvailbleBSPositions = 'top';\n /**\n * Close popover on outside click\n */\n @Input() outsideClick = false;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * A selector specifying the element the popover should be appended to.\n */\n @Input() container?: string;\n\n /**\n * Css class for popover container\n */\n @Input() containerClass = '';\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._popover.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Delay before showing the tooltip\n */\n @Input() delay = 0;\n\n /**\n * Emits an event when the popover is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the popover is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n\n protected _popoverCancelShowFn?: () => void;\n\n protected _delayTimeoutId?: number;\n\n private _popover: ComponentLoader<PopoverContainerComponent>;\n private _isInited = false;\n private _ariaDescribedby?: string;\n\n constructor(\n _config: PopoverConfig,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory,\n private _positionService: PositioningService\n ) {\n this._popover = cis\n .createLoader<PopoverContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n )\n .provide({provide: PopoverConfig, useValue: _config});\n\n Object.assign(this, _config);\n\n this.onShown = this._popover.onShown;\n this.onHidden = this._popover.onHidden;\n\n // fix: no focus on button on Mac OS #1795\n if (typeof window !== 'undefined') {\n _elementRef.nativeElement.addEventListener('click', function () {\n try {\n _elementRef.nativeElement.focus();\n } catch (err) {\n return;\n }\n });\n }\n }\n\n /**\n * Set attribute aria-describedBy for element directive and\n * set id for the popover\n */\n setAriaDescribedBy(): void {\n this._ariaDescribedby = this.isOpen ? `ngx-popover-${this.popoverId}` : void 0;\n if (this._ariaDescribedby) {\n if (this._popover.instance) {\n this._popover.instance.popoverId = this._ariaDescribedby;\n }\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n }\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this._popover.isShown || !this.popover || this._delayTimeoutId) {\n return;\n }\n\n this._positionService.setOptions({\n modifiers: {\n flip: {\n enabled: this.adaptivePosition\n },\n preventOverflow: {\n enabled: this.adaptivePosition\n }\n }\n });\n\n const showPopover = () => {\n if (this._delayTimeoutId) {\n this._delayTimeoutId = undefined;\n }\n\n this._popover\n .attach(PopoverContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .show({\n content: this.popover,\n context: this.popoverContext,\n placement: this.placement,\n title: this.popoverTitle,\n containerClass: this.containerClass\n });\n\n if (!this.adaptivePosition && this._popover._componentRef) {\n this._positionService.calcPosition();\n this._positionService.deletePositionElement(this._popover._componentRef.location);\n }\n\n this.isOpen = true;\n this.setAriaDescribedBy();\n };\n\n const cancelDelayedTooltipShowing = () => {\n if (this._popoverCancelShowFn) {\n this._popoverCancelShowFn();\n }\n };\n\n if (this.delay) {\n const _timer = timer(this.delay).subscribe(() => {\n showPopover();\n cancelDelayedTooltipShowing();\n });\n\n if (this.triggers) {\n parseTriggers(this.triggers)\n .forEach((trigger: Trigger) => {\n if (!trigger.close) {\n return;\n }\n\n this._popoverCancelShowFn = this._renderer.listen(\n this._elementRef.nativeElement,\n trigger.close,\n () => {\n _timer.unsubscribe();\n cancelDelayedTooltipShowing();\n }\n );\n });\n }\n } else {\n showPopover();\n }\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (this._delayTimeoutId) {\n clearTimeout(this._delayTimeoutId);\n this._delayTimeoutId = undefined;\n }\n\n if (this.isOpen) {\n this._popover.hide();\n this.setAriaDescribedBy();\n this.isOpen = false;\n }\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n this._popover.listen({\n triggers: this.triggers,\n outsideClick: this.outsideClick,\n show: () => this.show(),\n hide: () => this.hide()\n });\n }\n\n ngOnDestroy(): void {\n this._popover.dispose();\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [PopoverDirective, PopoverContainerComponent],\n exports: [PopoverDirective],\n entryComponents: [PopoverContainerComponent]\n})\nexport class PopoverModule {\n static forRoot(): ModuleWithProviders<PopoverModule> {\n return {\n ngModule: PopoverModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-popover.mjs","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../src/popover/popover-container.component.html","../../../../src/popover/popover.directive.ts","../../../../src/popover/popover.module.ts","../../../../src/popover/ngx-bootstrap-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * Configuration service for the Popover directive.\n * You can inject this service, typically in your root component, and customize\n * the values of its properties in order to provide default values for all the\n * popovers used in the application.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PopoverConfig {\n /** sets disable adaptive position */\n adaptivePosition = true;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\", \"auto\"\n */\n placement = 'top';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = 'click';\n\n outsideClick = false;\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container?: string;\n /** delay before showing the tooltip */\n delay = 0;\n}\n","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\n\n@Component({\n selector: 'popover-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.id]': 'popoverId',\n '[class]':\n '\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + \" \" + checkMarginNecessity()',\n '[class.show]': '!_bsVersions.isBs3',\n '[class.bs3]': '_bsVersions.isBs3',\n role: 'tooltip',\n style: 'display:block;'\n },\n styles: [\n `\n :host.bs3.popover-top {\n margin-bottom: 10px;\n }\n :host.bs3.popover.top>.arrow {\n margin-left: -2px;\n }\n :host.bs3.popover.top {\n margin-bottom: 10px;\n }\n :host.popover.bottom>.arrow {\n margin-left: -4px;\n }\n :host.bs3.bs-popover-left {\n margin-right: .5rem;\n }\n :host.bs3.bs-popover-right .arrow, :host.bs3.bs-popover-left .arrow{\n margin: .3rem 0;\n }\n `\n ],\n templateUrl: './popover-container.component.html'\n})\nexport class PopoverContainerComponent {\n @Input() set placement(value: AvailbleBSPositions) {\n if (!this._bsVersions.isBs5) {\n this._placement = value;\n } else {\n this._placement = PlacementForBs5[value as keyof typeof PlacementForBs5];\n }\n };\n\n @Input() title?: string;\n\n containerClass?: string;\n popoverId?: string;\n _placement = 'top';\n\n get _bsVersions(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: PopoverConfig) {\n Object.assign(this, config);\n }\n\n checkMarginNecessity(): string {\n return checkMargins(this._placement);\n }\n}\n","<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output,\n Renderer2, TemplateRef, ViewContainerRef\n} from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PopoverContainerComponent } from './popover-container.component';\nimport { PositioningService, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\nimport { timer } from 'rxjs';\nimport { parseTriggers, Trigger } from 'ngx-bootstrap/utils';\n\nlet id = 0;\n\n/**\n * A lightweight, extensible directive for fancy popover creation.\n */\n@Directive({selector: '[popover]', exportAs: 'bs-popover'})\nexport class PopoverDirective implements OnInit, OnDestroy {\n /** unique id popover - use for aria-describedby */\n popoverId = id++;\n /** sets disable adaptive position */\n @Input() adaptivePosition = true;\n /**\n * Content to be displayed as popover.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popover?: string | TemplateRef<any>;\n /**\n * Context to be used if popover is a template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popoverContext: any;\n /**\n * Title of a popover.\n */\n @Input() popoverTitle?: string;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: AvailbleBSPositions = 'top';\n /**\n * Close popover on outside click\n */\n @Input() outsideClick = false;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * A selector specifying the element the popover should be appended to.\n */\n @Input() container?: string;\n\n /**\n * Css class for popover container\n */\n @Input() containerClass = '';\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._popover.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Delay before showing the tooltip\n */\n @Input() delay = 0;\n\n /**\n * Emits an event when the popover is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the popover is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n\n protected _popoverCancelShowFn?: () => void;\n\n protected _delayTimeoutId?: number;\n\n private _popover: ComponentLoader<PopoverContainerComponent>;\n private _isInited = false;\n private _ariaDescribedby?: string;\n\n constructor(\n _config: PopoverConfig,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory,\n private _positionService: PositioningService\n ) {\n this._popover = cis\n .createLoader<PopoverContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n )\n .provide({provide: PopoverConfig, useValue: _config});\n\n Object.assign(this, _config);\n\n this.onShown = this._popover.onShown;\n this.onHidden = this._popover.onHidden;\n\n // fix: no focus on button on Mac OS #1795\n if (typeof window !== 'undefined') {\n _elementRef.nativeElement.addEventListener('click', function () {\n try {\n _elementRef.nativeElement.focus();\n } catch (err) {\n return;\n }\n });\n }\n }\n\n /**\n * Set attribute aria-describedBy for element directive and\n * set id for the popover\n */\n setAriaDescribedBy(): void {\n this._ariaDescribedby = this.isOpen ? `ngx-popover-${this.popoverId}` : void 0;\n if (this._ariaDescribedby) {\n if (this._popover.instance) {\n this._popover.instance.popoverId = this._ariaDescribedby;\n }\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n }\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this._popover.isShown || !this.popover || this._delayTimeoutId) {\n return;\n }\n\n this._positionService.setOptions({\n modifiers: {\n flip: {\n enabled: this.adaptivePosition\n },\n preventOverflow: {\n enabled: this.adaptivePosition\n }\n }\n });\n\n const showPopover = () => {\n if (this._delayTimeoutId) {\n this._delayTimeoutId = undefined;\n }\n\n this._popover\n .attach(PopoverContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .show({\n content: this.popover,\n context: this.popoverContext,\n placement: this.placement,\n title: this.popoverTitle,\n containerClass: this.containerClass\n });\n\n if (!this.adaptivePosition && this._popover._componentRef) {\n this._positionService.calcPosition();\n this._positionService.deletePositionElement(this._popover._componentRef.location);\n }\n\n this.isOpen = true;\n this.setAriaDescribedBy();\n };\n\n const cancelDelayedTooltipShowing = () => {\n if (this._popoverCancelShowFn) {\n this._popoverCancelShowFn();\n }\n };\n\n if (this.delay) {\n const _timer = timer(this.delay).subscribe(() => {\n showPopover();\n cancelDelayedTooltipShowing();\n });\n\n if (this.triggers) {\n parseTriggers(this.triggers)\n .forEach((trigger: Trigger) => {\n if (!trigger.close) {\n return;\n }\n\n this._popoverCancelShowFn = this._renderer.listen(\n this._elementRef.nativeElement,\n trigger.close,\n () => {\n _timer.unsubscribe();\n cancelDelayedTooltipShowing();\n }\n );\n });\n }\n } else {\n showPopover();\n }\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (this._delayTimeoutId) {\n clearTimeout(this._delayTimeoutId);\n this._delayTimeoutId = undefined;\n }\n\n if (this.isOpen) {\n this._popover.hide();\n this.setAriaDescribedBy();\n this.isOpen = false;\n }\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n this._popover.listen({\n triggers: this.triggers,\n outsideClick: this.outsideClick,\n show: () => this.show(),\n hide: () => this.hide()\n });\n }\n\n ngOnDestroy(): void {\n this._popover.dispose();\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [PopoverDirective, PopoverContainerComponent],\n exports: [PopoverDirective],\n entryComponents: [PopoverContainerComponent]\n})\nexport class PopoverModule {\n static forRoot(): ModuleWithProviders<PopoverModule> {\n return {\n ngModule: PopoverModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -64,12 +64,12 @@ class PopoverContainerComponent {
|
|
64
64
|
}
|
65
65
|
}
|
66
66
|
PopoverContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverContainerComponent, deps: [{ token: PopoverConfig }], target: i0.ɵɵFactoryTarget.Component });
|
67
|
-
PopoverContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PopoverContainerComponent, selector: "popover-container", inputs: { placement: "placement", title: "title" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "popoverId", "class": "\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + checkMarginNecessity()", "class.show": "!_bsVersions.isBs3", "class.bs3": "_bsVersions.isBs3" }, styleAttribute: "display:block;" }, ngImport: i0, template: "<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.bs3.popover-top{margin-bottom:10px}:host.bs3.popover.top>.arrow{margin-left:-2px}:host.bs3.popover.top{margin-bottom:10px}:host.popover.bottom>.arrow{margin-left:-4px}:host.bs3.bs-popover-left{margin-right:.5rem}:host.bs3.bs-popover-right .arrow,:host.bs3.bs-popover-left .arrow{margin:.3rem 0}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
67
|
+
PopoverContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PopoverContainerComponent, selector: "popover-container", inputs: { placement: "placement", title: "title" }, host: { attributes: { "role": "tooltip" }, properties: { "attr.id": "popoverId", "class": "\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + \" \" + checkMarginNecessity()", "class.show": "!_bsVersions.isBs3", "class.bs3": "_bsVersions.isBs3" }, styleAttribute: "display:block;" }, ngImport: i0, template: "<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.bs3.popover-top{margin-bottom:10px}:host.bs3.popover.top>.arrow{margin-left:-2px}:host.bs3.popover.top{margin-bottom:10px}:host.popover.bottom>.arrow{margin-left:-4px}:host.bs3.bs-popover-left{margin-right:.5rem}:host.bs3.bs-popover-right .arrow,:host.bs3.bs-popover-left .arrow{margin:.3rem 0}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
68
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PopoverContainerComponent, decorators: [{
|
69
69
|
type: Component,
|
70
70
|
args: [{ selector: 'popover-container', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
71
71
|
'[attr.id]': 'popoverId',
|
72
|
-
'[class]': '"popover in popover-" + _placement + " " + "bs-popover-" + _placement + " " + _placement + " " + containerClass + checkMarginNecessity()',
|
72
|
+
'[class]': '"popover in popover-" + _placement + " " + "bs-popover-" + _placement + " " + _placement + " " + containerClass + " " + checkMarginNecessity()',
|
73
73
|
'[class.show]': '!_bsVersions.isBs3',
|
74
74
|
'[class.bs3]': '_bsVersions.isBs3',
|
75
75
|
role: 'tooltip',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-popover.mjs","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../src/popover/popover-container.component.html","../../../../src/popover/popover.directive.ts","../../../../src/popover/popover.module.ts","../../../../src/popover/ngx-bootstrap-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * Configuration service for the Popover directive.\n * You can inject this service, typically in your root component, and customize\n * the values of its properties in order to provide default values for all the\n * popovers used in the application.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PopoverConfig {\n /** sets disable adaptive position */\n adaptivePosition = true;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\", \"auto\"\n */\n placement = 'top';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = 'click';\n\n outsideClick = false;\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container?: string;\n /** delay before showing the tooltip */\n delay = 0;\n}\n","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\n\n@Component({\n selector: 'popover-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.id]': 'popoverId',\n '[class]':\n '\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + checkMarginNecessity()',\n '[class.show]': '!_bsVersions.isBs3',\n '[class.bs3]': '_bsVersions.isBs3',\n role: 'tooltip',\n style: 'display:block;'\n },\n styles: [\n `\n :host.bs3.popover-top {\n margin-bottom: 10px;\n }\n :host.bs3.popover.top>.arrow {\n margin-left: -2px;\n }\n :host.bs3.popover.top {\n margin-bottom: 10px;\n }\n :host.popover.bottom>.arrow {\n margin-left: -4px;\n }\n :host.bs3.bs-popover-left {\n margin-right: .5rem;\n }\n :host.bs3.bs-popover-right .arrow, :host.bs3.bs-popover-left .arrow{\n margin: .3rem 0;\n }\n `\n ],\n templateUrl: './popover-container.component.html'\n})\nexport class PopoverContainerComponent {\n @Input() set placement(value: AvailbleBSPositions) {\n if (!this._bsVersions.isBs5) {\n this._placement = value;\n } else {\n this._placement = PlacementForBs5[value as keyof typeof PlacementForBs5];\n }\n };\n\n @Input() title?: string;\n\n containerClass?: string;\n popoverId?: string;\n _placement = 'top';\n\n get _bsVersions(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: PopoverConfig) {\n Object.assign(this, config);\n }\n\n checkMarginNecessity(): string {\n return checkMargins(this._placement);\n }\n}\n","<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output,\n Renderer2, TemplateRef, ViewContainerRef\n} from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PopoverContainerComponent } from './popover-container.component';\nimport { PositioningService, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\nimport { timer } from 'rxjs';\nimport { parseTriggers, Trigger } from 'ngx-bootstrap/utils';\n\nlet id = 0;\n\n/**\n * A lightweight, extensible directive for fancy popover creation.\n */\n@Directive({selector: '[popover]', exportAs: 'bs-popover'})\nexport class PopoverDirective implements OnInit, OnDestroy {\n /** unique id popover - use for aria-describedby */\n popoverId = id++;\n /** sets disable adaptive position */\n @Input() adaptivePosition = true;\n /**\n * Content to be displayed as popover.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popover?: string | TemplateRef<any>;\n /**\n * Context to be used if popover is a template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popoverContext: any;\n /**\n * Title of a popover.\n */\n @Input() popoverTitle?: string;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: AvailbleBSPositions = 'top';\n /**\n * Close popover on outside click\n */\n @Input() outsideClick = false;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * A selector specifying the element the popover should be appended to.\n */\n @Input() container?: string;\n\n /**\n * Css class for popover container\n */\n @Input() containerClass = '';\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._popover.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Delay before showing the tooltip\n */\n @Input() delay = 0;\n\n /**\n * Emits an event when the popover is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the popover is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n\n protected _popoverCancelShowFn?: () => void;\n\n protected _delayTimeoutId?: number;\n\n private _popover: ComponentLoader<PopoverContainerComponent>;\n private _isInited = false;\n private _ariaDescribedby?: string;\n\n constructor(\n _config: PopoverConfig,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory,\n private _positionService: PositioningService\n ) {\n this._popover = cis\n .createLoader<PopoverContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n )\n .provide({provide: PopoverConfig, useValue: _config});\n\n Object.assign(this, _config);\n\n this.onShown = this._popover.onShown;\n this.onHidden = this._popover.onHidden;\n\n // fix: no focus on button on Mac OS #1795\n if (typeof window !== 'undefined') {\n _elementRef.nativeElement.addEventListener('click', function () {\n try {\n _elementRef.nativeElement.focus();\n } catch (err) {\n return;\n }\n });\n }\n }\n\n /**\n * Set attribute aria-describedBy for element directive and\n * set id for the popover\n */\n setAriaDescribedBy(): void {\n this._ariaDescribedby = this.isOpen ? `ngx-popover-${this.popoverId}` : void 0;\n if (this._ariaDescribedby) {\n if (this._popover.instance) {\n this._popover.instance.popoverId = this._ariaDescribedby;\n }\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n }\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this._popover.isShown || !this.popover || this._delayTimeoutId) {\n return;\n }\n\n this._positionService.setOptions({\n modifiers: {\n flip: {\n enabled: this.adaptivePosition\n },\n preventOverflow: {\n enabled: this.adaptivePosition\n }\n }\n });\n\n const showPopover = () => {\n if (this._delayTimeoutId) {\n this._delayTimeoutId = undefined;\n }\n\n this._popover\n .attach(PopoverContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .show({\n content: this.popover,\n context: this.popoverContext,\n placement: this.placement,\n title: this.popoverTitle,\n containerClass: this.containerClass\n });\n\n if (!this.adaptivePosition && this._popover._componentRef) {\n this._positionService.calcPosition();\n this._positionService.deletePositionElement(this._popover._componentRef.location);\n }\n\n this.isOpen = true;\n this.setAriaDescribedBy();\n };\n\n const cancelDelayedTooltipShowing = () => {\n if (this._popoverCancelShowFn) {\n this._popoverCancelShowFn();\n }\n };\n\n if (this.delay) {\n const _timer = timer(this.delay).subscribe(() => {\n showPopover();\n cancelDelayedTooltipShowing();\n });\n\n if (this.triggers) {\n parseTriggers(this.triggers)\n .forEach((trigger: Trigger) => {\n if (!trigger.close) {\n return;\n }\n\n this._popoverCancelShowFn = this._renderer.listen(\n this._elementRef.nativeElement,\n trigger.close,\n () => {\n _timer.unsubscribe();\n cancelDelayedTooltipShowing();\n }\n );\n });\n }\n } else {\n showPopover();\n }\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (this._delayTimeoutId) {\n clearTimeout(this._delayTimeoutId);\n this._delayTimeoutId = undefined;\n }\n\n if (this.isOpen) {\n this._popover.hide();\n this.setAriaDescribedBy();\n this.isOpen = false;\n }\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n this._popover.listen({\n triggers: this.triggers,\n outsideClick: this.outsideClick,\n show: () => this.show(),\n hide: () => this.hide()\n });\n }\n\n ngOnDestroy(): void {\n this._popover.dispose();\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [PopoverDirective, PopoverContainerComponent],\n exports: [PopoverDirective],\n entryComponents: [PopoverContainerComponent]\n})\nexport class PopoverModule {\n static forRoot(): ModuleWithProviders<PopoverModule> {\n return {\n ngModule: PopoverModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-popover.mjs","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../src/popover/popover-container.component.html","../../../../src/popover/popover.directive.ts","../../../../src/popover/popover.module.ts","../../../../src/popover/ngx-bootstrap-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * Configuration service for the Popover directive.\n * You can inject this service, typically in your root component, and customize\n * the values of its properties in order to provide default values for all the\n * popovers used in the application.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PopoverConfig {\n /** sets disable adaptive position */\n adaptivePosition = true;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\", \"auto\"\n */\n placement = 'top';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = 'click';\n\n outsideClick = false;\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container?: string;\n /** delay before showing the tooltip */\n delay = 0;\n}\n","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\n\n@Component({\n selector: 'popover-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.id]': 'popoverId',\n '[class]':\n '\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + \" \" + checkMarginNecessity()',\n '[class.show]': '!_bsVersions.isBs3',\n '[class.bs3]': '_bsVersions.isBs3',\n role: 'tooltip',\n style: 'display:block;'\n },\n styles: [\n `\n :host.bs3.popover-top {\n margin-bottom: 10px;\n }\n :host.bs3.popover.top>.arrow {\n margin-left: -2px;\n }\n :host.bs3.popover.top {\n margin-bottom: 10px;\n }\n :host.popover.bottom>.arrow {\n margin-left: -4px;\n }\n :host.bs3.bs-popover-left {\n margin-right: .5rem;\n }\n :host.bs3.bs-popover-right .arrow, :host.bs3.bs-popover-left .arrow{\n margin: .3rem 0;\n }\n `\n ],\n templateUrl: './popover-container.component.html'\n})\nexport class PopoverContainerComponent {\n @Input() set placement(value: AvailbleBSPositions) {\n if (!this._bsVersions.isBs5) {\n this._placement = value;\n } else {\n this._placement = PlacementForBs5[value as keyof typeof PlacementForBs5];\n }\n };\n\n @Input() title?: string;\n\n containerClass?: string;\n popoverId?: string;\n _placement = 'top';\n\n get _bsVersions(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: PopoverConfig) {\n Object.assign(this, config);\n }\n\n checkMarginNecessity(): string {\n return checkMargins(this._placement);\n }\n}\n","<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output,\n Renderer2, TemplateRef, ViewContainerRef\n} from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PopoverContainerComponent } from './popover-container.component';\nimport { PositioningService, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\nimport { timer } from 'rxjs';\nimport { parseTriggers, Trigger } from 'ngx-bootstrap/utils';\n\nlet id = 0;\n\n/**\n * A lightweight, extensible directive for fancy popover creation.\n */\n@Directive({selector: '[popover]', exportAs: 'bs-popover'})\nexport class PopoverDirective implements OnInit, OnDestroy {\n /** unique id popover - use for aria-describedby */\n popoverId = id++;\n /** sets disable adaptive position */\n @Input() adaptivePosition = true;\n /**\n * Content to be displayed as popover.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popover?: string | TemplateRef<any>;\n /**\n * Context to be used if popover is a template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popoverContext: any;\n /**\n * Title of a popover.\n */\n @Input() popoverTitle?: string;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: AvailbleBSPositions = 'top';\n /**\n * Close popover on outside click\n */\n @Input() outsideClick = false;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * A selector specifying the element the popover should be appended to.\n */\n @Input() container?: string;\n\n /**\n * Css class for popover container\n */\n @Input() containerClass = '';\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._popover.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Delay before showing the tooltip\n */\n @Input() delay = 0;\n\n /**\n * Emits an event when the popover is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the popover is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n\n protected _popoverCancelShowFn?: () => void;\n\n protected _delayTimeoutId?: number;\n\n private _popover: ComponentLoader<PopoverContainerComponent>;\n private _isInited = false;\n private _ariaDescribedby?: string;\n\n constructor(\n _config: PopoverConfig,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory,\n private _positionService: PositioningService\n ) {\n this._popover = cis\n .createLoader<PopoverContainerComponent>(\n _elementRef,\n _viewContainerRef,\n _renderer\n )\n .provide({provide: PopoverConfig, useValue: _config});\n\n Object.assign(this, _config);\n\n this.onShown = this._popover.onShown;\n this.onHidden = this._popover.onHidden;\n\n // fix: no focus on button on Mac OS #1795\n if (typeof window !== 'undefined') {\n _elementRef.nativeElement.addEventListener('click', function () {\n try {\n _elementRef.nativeElement.focus();\n } catch (err) {\n return;\n }\n });\n }\n }\n\n /**\n * Set attribute aria-describedBy for element directive and\n * set id for the popover\n */\n setAriaDescribedBy(): void {\n this._ariaDescribedby = this.isOpen ? `ngx-popover-${this.popoverId}` : void 0;\n if (this._ariaDescribedby) {\n if (this._popover.instance) {\n this._popover.instance.popoverId = this._ariaDescribedby;\n }\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n }\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this._popover.isShown || !this.popover || this._delayTimeoutId) {\n return;\n }\n\n this._positionService.setOptions({\n modifiers: {\n flip: {\n enabled: this.adaptivePosition\n },\n preventOverflow: {\n enabled: this.adaptivePosition\n }\n }\n });\n\n const showPopover = () => {\n if (this._delayTimeoutId) {\n this._delayTimeoutId = undefined;\n }\n\n this._popover\n .attach(PopoverContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .show({\n content: this.popover,\n context: this.popoverContext,\n placement: this.placement,\n title: this.popoverTitle,\n containerClass: this.containerClass\n });\n\n if (!this.adaptivePosition && this._popover._componentRef) {\n this._positionService.calcPosition();\n this._positionService.deletePositionElement(this._popover._componentRef.location);\n }\n\n this.isOpen = true;\n this.setAriaDescribedBy();\n };\n\n const cancelDelayedTooltipShowing = () => {\n if (this._popoverCancelShowFn) {\n this._popoverCancelShowFn();\n }\n };\n\n if (this.delay) {\n const _timer = timer(this.delay).subscribe(() => {\n showPopover();\n cancelDelayedTooltipShowing();\n });\n\n if (this.triggers) {\n parseTriggers(this.triggers)\n .forEach((trigger: Trigger) => {\n if (!trigger.close) {\n return;\n }\n\n this._popoverCancelShowFn = this._renderer.listen(\n this._elementRef.nativeElement,\n trigger.close,\n () => {\n _timer.unsubscribe();\n cancelDelayedTooltipShowing();\n }\n );\n });\n }\n } else {\n showPopover();\n }\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (this._delayTimeoutId) {\n clearTimeout(this._delayTimeoutId);\n this._delayTimeoutId = undefined;\n }\n\n if (this.isOpen) {\n this._popover.hide();\n this.setAriaDescribedBy();\n this.isOpen = false;\n }\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n this._popover.listen({\n triggers: this.triggers,\n outsideClick: this.outsideClick,\n show: () => this.show(),\n hide: () => this.hide()\n });\n }\n\n ngOnDestroy(): void {\n this._popover.dispose();\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [PopoverDirective, PopoverContainerComponent],\n exports: [PopoverDirective],\n entryComponents: [PopoverContainerComponent]\n})\nexport class PopoverModule {\n static forRoot(): ModuleWithProviders<PopoverModule> {\n return {\n ngModule: PopoverModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAEA;;;;;;MASa,aAAa;IAH1B;;QAKE,qBAAgB,GAAG,IAAI,CAAC;;;;QAIxB,cAAS,GAAG,KAAK,CAAC;;;;;QAKlB,aAAQ,GAAG,OAAO,CAAC;QAEnB,iBAAY,GAAG,KAAK,CAAC;;QAMrB,UAAK,GAAG,CAAC,CAAC;KACX;;0GApBY,aAAa;8GAAb,aAAa,cAFZ,MAAM;2FAEP,aAAa;kBAHzB,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCgCY,yBAAyB;IAmBpC,YAAY,MAAqB;QANjC,eAAU,GAAG,KAAK,CAAC;QAOjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;IApBD,IAAa,SAAS,CAAC,KAA0B;QAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,UAAU,GAAI,eAAe,CAAC,KAAqC,CAAC,CAAC;SAC3E;KACF;;IAQD,IAAI,WAAW;QACb,OAAO,QAAQ,EAAE,CAAC;KACnB;IAMD,oBAAoB;QAClB,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACtC;;sHAzBU,yBAAyB;0GAAzB,yBAAyB,idC1CtC,6MAKA;2FDqCa,yBAAyB;kBArCrC,SAAS;+BACE,mBAAmB,mBACZ,uBAAuB,CAAC,MAAM,QAEzC;wBACJ,WAAW,EAAE,WAAW;wBACxB,SAAS,EACP,gJAAgJ;wBAClJ,cAAc,EAAE,oBAAoB;wBACpC,aAAa,EAAE,mBAAmB;wBAClC,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,gBAAgB;qBACxB,UACO;wBACN;;;;;;;;;;;;;;;;;;;KAmBC;qBACF;iGAIY,SAAS;sBAArB,KAAK;gBAQG,KAAK;sBAAb,KAAK;;;AExCR,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;;MAIa,gBAAgB;IAgF3B,YACE,OAAsB,EACd,WAAuB,EACvB,SAAoB,EAC5B,iBAAmC,EACnC,GAA2B,EACnB,gBAAoC;QAJpC,gBAAW,GAAX,WAAW,CAAY;QACvB,cAAS,GAAT,SAAS,CAAW;QAGpB,qBAAgB,GAAhB,gBAAgB,CAAoB;;QApF9C,cAAS,GAAG,EAAE,EAAE,CAAC;;QAER,qBAAgB,GAAG,IAAI,CAAC;;;;QAkBxB,cAAS,GAAwB,KAAK,CAAC;;;;QAIvC,iBAAY,GAAG,KAAK,CAAC;;;;;QAKrB,aAAQ,GAAG,OAAO,CAAC;;;;QASnB,mBAAc,GAAG,EAAE,CAAC;;;;QAqBpB,UAAK,GAAG,CAAC,CAAC;QAgBX,cAAS,GAAG,KAAK,CAAC;QAWxB,IAAI,CAAC,QAAQ,GAAG,GAAG;aAChB,YAAY,CACX,WAAW,EACX,iBAAiB,EACjB,SAAS,CACV;aACA,OAAO,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;;QAGvC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAClD,IAAI;oBACF,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBACnC;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO;iBACR;aACF,CAAC,CAAC;SACJ;KACF;;;;IAlED,IACI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC9B;IAED,IAAI,MAAM,CAAC,KAAc;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;aAAM;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;KACF;;;;;IA6DD,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAC1D;YACD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACxG;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;SACpF;KACF;;;;;IAMD,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;YAClE,OAAO;SACR;QAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAC/B,SAAS,EAAE;gBACT,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,gBAAgB;iBAC/B;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI,CAAC,gBAAgB;iBAC/B;aACF;SACF,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG;YAClB,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;aAClC;YAED,IAAI,CAAC,QAAQ;iBACV,MAAM,CAAC,yBAAyB,CAAC;iBACjC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC;iBACtC,IAAI,CAAC;gBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,cAAc;gBAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC,CAAC;YAEL,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;gBACzD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBACrC,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACnF;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B,CAAC;QAEF,MAAM,2BAA2B,GAAG;YAClC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;gBACzC,WAAW,EAAE,CAAC;gBACd,2BAA2B,EAAE,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACzB,OAAO,CAAC,CAAC,OAAgB;oBACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wBAClB,OAAO;qBACR;oBAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC/C,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B,OAAO,CAAC,KAAK,EACb;wBACE,MAAM,CAAC,WAAW,EAAE,CAAC;wBACrB,2BAA2B,EAAE,CAAC;qBAC/B,CACF,CAAC;iBACH,CAAC,CAAC;aACN;SACF;aAAM;YACL,WAAW,EAAE,CAAC;SACf;KACF;;;;;IAMD,IAAI;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SAClC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;KACF;;;;;IAMD,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAED,QAAQ;;;;QAIN,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;YACvB,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;SACxB,CAAC,CAAC;KACJ;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;KACzB;;6GAjQU,gBAAgB;iGAAhB,gBAAgB;2FAAhB,gBAAgB;kBAD5B,SAAS;mBAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAC;yPAK/C,gBAAgB;sBAAxB,KAAK;gBAKG,OAAO;sBAAf,KAAK;gBAKG,cAAc;sBAAtB,KAAK;gBAIG,YAAY;sBAApB,KAAK;gBAIG,SAAS;sBAAjB,KAAK;gBAIG,YAAY;sBAApB,KAAK;gBAKG,QAAQ;sBAAhB,KAAK;gBAIG,SAAS;sBAAjB,KAAK;gBAKG,cAAc;sBAAtB,KAAK;gBAMF,MAAM;sBADT,KAAK;gBAgBG,KAAK;sBAAb,KAAK;gBAKI,OAAO;sBAAhB,MAAM;gBAIG,QAAQ;sBAAjB,MAAM;;;MCzEI,aAAa;IACxB,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SACxD,CAAC;KACH;;0GANU,aAAa;2GAAb,aAAa,iBAJT,gBAAgB,EAAE,yBAAyB,aADhD,YAAY,aAEZ,gBAAgB;2GAGf,aAAa,YALf,CAAC,YAAY,CAAC;2FAKZ,aAAa;kBANzB,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;oBAC3D,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,eAAe,EAAE,CAAC,yBAAyB,CAAC;iBAC7C;;;ACbD;;;;;;"}
|
package/popover/package.json
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "ngx-bootstrap/popover",
|
3
|
-
"version": "8.0.0-RC.
|
3
|
+
"version": "8.0.0-RC.5",
|
4
|
+
"author": "Dmitriy Shekhovtsov <valorkin@gmail.com>",
|
5
|
+
"license": "MIT",
|
4
6
|
"module": "fesm2015/ngx-bootstrap-popover.mjs",
|
5
7
|
"es2020": "fesm2020/ngx-bootstrap-popover.mjs",
|
6
8
|
"esm2020": "esm2020/ngx-bootstrap-popover.mjs",
|
@@ -26,11 +28,11 @@
|
|
26
28
|
},
|
27
29
|
"peerDependencies": {
|
28
30
|
"@angular/core": "13.1.1",
|
29
|
-
"ngx-bootstrap/utils": "8.0.0-RC.
|
30
|
-
"ngx-bootstrap/positioning": "8.0.0-RC.
|
31
|
+
"ngx-bootstrap/utils": "8.0.0-RC.5",
|
32
|
+
"ngx-bootstrap/positioning": "8.0.0-RC.5",
|
31
33
|
"@angular/common": "13.1.1",
|
32
34
|
"rxjs": "7.4.0",
|
33
35
|
"@angular-devkit/core": "13.1.2",
|
34
|
-
"ngx-bootstrap/component-loader": "8.0.0-RC.
|
36
|
+
"ngx-bootstrap/component-loader": "8.0.0-RC.5"
|
35
37
|
}
|
36
38
|
}
|
@@ -31,14 +31,13 @@ export function preventOverflow(data) {
|
|
31
31
|
return { [placement]: value };
|
32
32
|
},
|
33
33
|
secondary(placement) {
|
34
|
-
const
|
34
|
+
const isPlacementHorizontal = placement === 'right';
|
35
|
+
const mainSide = isPlacementHorizontal ? 'left' : 'top';
|
36
|
+
const measurement = isPlacementHorizontal ? 'width' : 'height';
|
35
37
|
let value = data.offsets.target[mainSide];
|
36
38
|
// escapeWithReference
|
37
|
-
if ((data.offsets.target[placement] ?? 0)
|
38
|
-
value = Math.min(data.offsets.target[mainSide] ?? 0, (boundaries[placement] ?? 0) - data.offsets.target
|
39
|
-
}
|
40
|
-
if ((data.offsets.target[placement] ?? 0) > (boundaries[placement] ?? 0) && placement === 'right') {
|
41
|
-
value = Math.min(data.offsets.target[mainSide] ?? 0, (boundaries[placement] ?? 0) - data.offsets.target.width);
|
39
|
+
if ((data.offsets.target[placement] ?? 0) > (boundaries[placement] ?? 0)) {
|
40
|
+
value = Math.min(data.offsets.target[mainSide] ?? 0, (boundaries[placement] ?? 0) - data.offsets.target[measurement]);
|
42
41
|
}
|
43
42
|
return { [mainSide]: value };
|
44
43
|
}
|
@@ -52,4 +51,4 @@ export function preventOverflow(data) {
|
|
52
51
|
});
|
53
52
|
return data;
|
54
53
|
}
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudE92ZXJmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Bvc2l0aW9uaW5nL21vZGlmaWVycy9wcmV2ZW50T3ZlcmZsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUc1RCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVU7SUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtRQUN2RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsd0JBQXdCO0lBQ3hCLDZGQUE2RjtJQUM3RiwrQ0FBK0M7SUFDL0MsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGtDQUFrQztJQUNuRixNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQztJQUMvRCxZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN0QixZQUFZLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN2QixZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRWpDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUNsQixDQUFDLEVBQUUsVUFBVTtJQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsSUFBSSxjQUFjLEVBQzNFLEtBQUssQ0FBQyxnQkFBZ0I7S0FDdkIsQ0FBQztJQUVGLHdCQUF3QjtJQUN4Qiw4RUFBOEU7SUFDOUUsWUFBWSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDdkIsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUV4QyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRWpELE1BQU0sS0FBSyxHQUFHO1FBQ1osT0FBTyxDQUFDLFNBQXdCO1lBQzlCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLDhCQUE4QjtZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hFLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDbkY7WUFFRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsU0FBUyxDQUFDLFNBQXdCO1lBQ2hDLE1BQU0scUJBQXFCLEdBQUcsU0FBUyxLQUFLLE9BQU8sQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDeEQsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQy9ELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTFDLHNCQUFzQjtZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hFLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDbEMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQ2hFLENBQUM7YUFDSDtZQUVELE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQy9CLENBQUM7S0FDRixDQUFDO0lBRUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQzFCLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXhHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHO1lBQ3BCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLFNBQTBCLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Qm91bmRhcmllcywgaXNNb2RpZmllckVuYWJsZWQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEYXRhLCBPZmZzZXRzIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByZXZlbnRPdmVyZmxvdyhkYXRhOiBEYXRhKSB7XG4gIGlmICghaXNNb2RpZmllckVuYWJsZWQoZGF0YS5vcHRpb25zLCAncHJldmVudE92ZXJmbG93JykpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8vIE5PVEU6IERPTSBhY2Nlc3MgaGVyZVxuICAvLyByZXNldHMgdGhlIHRhcmdldCBPZmZzZXRzJ3MgcG9zaXRpb24gc28gdGhhdCB0aGUgZG9jdW1lbnQgc2l6ZSBjYW4gYmUgY2FsY3VsYXRlZCBleGNsdWRpbmdcbiAgLy8gdGhlIHNpemUgb2YgdGhlIHRhcmdldE9mZnNldHMgZWxlbWVudCBpdHNlbGZcbiAgY29uc3QgdHJhbnNmb3JtUHJvcCA9ICd0cmFuc2Zvcm0nO1xuICBjb25zdCB0YXJnZXRTdHlsZXMgPSBkYXRhLmluc3RhbmNlLnRhcmdldC5zdHlsZTsgLy8gYXNzaWdubWVudCB0byBoZWxwIG1pbmlmaWNhdGlvblxuICBjb25zdCB7IHRvcCwgbGVmdCwgW3RyYW5zZm9ybVByb3BdOiB0cmFuc2Zvcm0gfSA9IHRhcmdldFN0eWxlcztcbiAgdGFyZ2V0U3R5bGVzLnRvcCA9ICcnO1xuICB0YXJnZXRTdHlsZXMubGVmdCA9ICcnO1xuICB0YXJnZXRTdHlsZXNbdHJhbnNmb3JtUHJvcF0gPSAnJztcblxuICBjb25zdCBib3VuZGFyaWVzID0gZ2V0Qm91bmRhcmllcyhcbiAgICBkYXRhLmluc3RhbmNlLnRhcmdldCxcbiAgICBkYXRhLmluc3RhbmNlLmhvc3QsXG4gICAgMCwgLy8gcGFkZGluZ1xuICAgIGRhdGEub3B0aW9ucy5tb2RpZmllcnMucHJldmVudE92ZXJmbG93Py5ib3VuZGFyaWVzRWxlbWVudCB8fCAnc2Nyb2xsUGFyZW50JyxcbiAgICBmYWxzZSAvLyBwb3NpdGlvbkZpeGVkXG4gICk7XG5cbiAgLy8gTk9URTogRE9NIGFjY2VzcyBoZXJlXG4gIC8vIHJlc3RvcmVzIHRoZSBvcmlnaW5hbCBzdHlsZSBwcm9wZXJ0aWVzIGFmdGVyIHRoZSBvZmZzZXRzIGhhdmUgYmVlbiBjb21wdXRlZFxuICB0YXJnZXRTdHlsZXMudG9wID0gdG9wO1xuICB0YXJnZXRTdHlsZXMubGVmdCA9IGxlZnQ7XG4gIHRhcmdldFN0eWxlc1t0cmFuc2Zvcm1Qcm9wXSA9IHRyYW5zZm9ybTtcblxuICBjb25zdCBvcmRlciA9IFsnbGVmdCcsICdyaWdodCcsICd0b3AnLCAnYm90dG9tJ107XG5cbiAgY29uc3QgY2hlY2sgPSB7XG4gICAgcHJpbWFyeShwbGFjZW1lbnQ6IGtleW9mIE9mZnNldHMpIHtcbiAgICAgIGxldCB2YWx1ZSA9IGRhdGEub2Zmc2V0cy50YXJnZXRbcGxhY2VtZW50XTtcbiAgICAgIC8vIG9wdGlvbnMuZXNjYXBlV2l0aFJlZmVyZW5jZVxuICAgICAgaWYgKChkYXRhLm9mZnNldHMudGFyZ2V0W3BsYWNlbWVudF0gPz8gMCkgPCAoYm91bmRhcmllc1twbGFjZW1lbnRdID8/IDApKSB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgoZGF0YS5vZmZzZXRzLnRhcmdldFtwbGFjZW1lbnRdID8/IDAsIGJvdW5kYXJpZXNbcGxhY2VtZW50XSA/PyAwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgW3BsYWNlbWVudF06IHZhbHVlIH07XG4gICAgfSxcbiAgICBzZWNvbmRhcnkocGxhY2VtZW50OiBrZXlvZiBPZmZzZXRzKSB7XG4gICAgICBjb25zdCBpc1BsYWNlbWVudEhvcml6b250YWwgPSBwbGFjZW1lbnQgPT09ICdyaWdodCc7XG4gICAgICBjb25zdCBtYWluU2lkZSA9IGlzUGxhY2VtZW50SG9yaXpvbnRhbCA/ICdsZWZ0JyA6ICd0b3AnO1xuICAgICAgY29uc3QgbWVhc3VyZW1lbnQgPSBpc1BsYWNlbWVudEhvcml6b250YWwgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG4gICAgICBsZXQgdmFsdWUgPSBkYXRhLm9mZnNldHMudGFyZ2V0W21haW5TaWRlXTtcblxuICAgICAgLy8gZXNjYXBlV2l0aFJlZmVyZW5jZVxuICAgICAgaWYgKChkYXRhLm9mZnNldHMudGFyZ2V0W3BsYWNlbWVudF0gPz8gMCkgPiAoYm91bmRhcmllc1twbGFjZW1lbnRdID8/IDApKSB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4oXG4gICAgICAgICAgZGF0YS5vZmZzZXRzLnRhcmdldFttYWluU2lkZV0gPz8gMCxcbiAgICAgICAgICAoYm91bmRhcmllc1twbGFjZW1lbnRdID8/IDApIC0gZGF0YS5vZmZzZXRzLnRhcmdldFttZWFzdXJlbWVudF1cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgW21haW5TaWRlXTogdmFsdWUgfTtcbiAgICB9XG4gIH07XG5cbiAgb3JkZXIuZm9yRWFjaCgocGxhY2VtZW50KSA9PiB7XG4gICAgY29uc3Qgc2lkZSA9IFsnbGVmdCcsICd0b3AnLCAnc3RhcnQnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xID8gY2hlY2tbJ3ByaW1hcnknXSA6IGNoZWNrWydzZWNvbmRhcnknXTtcblxuICAgIGRhdGEub2Zmc2V0cy50YXJnZXQgPSB7XG4gICAgICAuLi5kYXRhLm9mZnNldHMudGFyZ2V0LFxuICAgICAgLi4uc2lkZShwbGFjZW1lbnQgYXMga2V5b2YgT2Zmc2V0cylcbiAgICB9O1xuICB9KTtcblxuICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
|
@@ -15,45 +15,41 @@ export function computeAutoPlacement(placement, refRect, target, host, allowedPo
|
|
15
15
|
const boundaries = getBoundaries(target, host, padding, boundariesElement);
|
16
16
|
const rects = {
|
17
17
|
top: {
|
18
|
-
width: boundaries
|
19
|
-
height: refRect
|
18
|
+
width: boundaries?.width ?? 0,
|
19
|
+
height: (refRect?.top ?? 0) - (boundaries?.top ?? 0)
|
20
20
|
},
|
21
21
|
right: {
|
22
|
-
width: boundaries
|
23
|
-
height: boundaries
|
22
|
+
width: (boundaries?.right ?? 0) - (refRect?.right ?? 0),
|
23
|
+
height: boundaries?.height ?? 0
|
24
24
|
},
|
25
25
|
bottom: {
|
26
|
-
width: boundaries
|
27
|
-
height: boundaries
|
26
|
+
width: boundaries?.width ?? 0,
|
27
|
+
height: (boundaries?.bottom ?? 0) - (refRect?.bottom ?? 0)
|
28
28
|
},
|
29
29
|
left: {
|
30
|
-
width: refRect.left
|
31
|
-
height: boundaries
|
30
|
+
width: (refRect.left ?? 0) - (boundaries?.left ?? 0),
|
31
|
+
height: boundaries?.height ?? 0
|
32
32
|
}
|
33
33
|
};
|
34
34
|
const sortedAreas = Object.keys(rects)
|
35
35
|
.map((key) => ({
|
36
|
-
key,
|
36
|
+
position: key,
|
37
37
|
...rects[key],
|
38
38
|
area: getArea(rects[key])
|
39
39
|
}))
|
40
40
|
.sort((a, b) => b.area - a.area);
|
41
41
|
let filteredAreas = sortedAreas.filter(({ width, height }) => {
|
42
|
-
return width >= target.clientWidth
|
43
|
-
&& height >= target.clientHeight;
|
42
|
+
return width >= target.clientWidth && height >= target.clientHeight;
|
44
43
|
});
|
45
|
-
filteredAreas = filteredAreas.filter((position) => {
|
46
|
-
return allowedPositions
|
47
|
-
|
48
|
-
return allowedPosition === position.key;
|
44
|
+
filteredAreas = filteredAreas.filter(({ position }) => {
|
45
|
+
return allowedPositions.some((allowedPosition) => {
|
46
|
+
return allowedPosition === position;
|
49
47
|
});
|
50
48
|
});
|
51
|
-
const computedPlacement = filteredAreas.length > 0
|
52
|
-
? filteredAreas[0].key
|
53
|
-
: sortedAreas[0].key;
|
49
|
+
const computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].position : sortedAreas[0].position;
|
54
50
|
const variation = placement.split(' ')[1];
|
55
51
|
// for tooltip on auto position
|
56
52
|
target.className = target.className.replace(/bs-tooltip-auto/g, `bs-tooltip-${getBsVer().isBs5 ? PlacementForBs5[computedPlacement] : computedPlacement}`);
|
57
53
|
return computedPlacement + (variation ? `-${variation}` : '');
|
58
54
|
}
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZUF1dG9QbGFjZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcG9zaXRpb25pbmcvdXRpbHMvY29tcHV0ZUF1dG9QbGFjZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBVyxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLFNBQVMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBcUM7SUFDbkUsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLFNBQWlCLEVBQ2pCLE9BQWdCLEVBQ2hCLE1BQW1CLEVBQ25CLElBQWlCLEVBQ2pCLGdCQUFnQixHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQ3JELGlCQUFpQixHQUFHLFVBQVUsRUFDOUIsT0FBTyxHQUFHLENBQUM7SUFFWCxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDcEMsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUczRSxNQUFNLEtBQUssR0FBVTtRQUNuQixHQUFHLEVBQUU7WUFDSCxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssSUFBSSxDQUFDO1lBQzdCLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNyRDtRQUNELEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUN2RCxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2hDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLElBQUksQ0FBQztZQUM3QixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7WUFDcEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNoQztLQUNGLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDYixRQUFRLEVBQUUsR0FBRztRQUNiLEdBQUcsS0FBSyxDQUFDLEdBQWtCLENBQUM7UUFDNUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBa0IsQ0FBc0MsQ0FBQztLQUM5RSxDQUFDLENBQUM7U0FDRixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuQyxJQUFJLGFBQWEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtRQUMzRCxPQUFPLEtBQUssSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7UUFDcEQsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUF1QixFQUFFLEVBQUU7WUFDdkQsT0FBTyxlQUFlLEtBQUssUUFBUSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLGlCQUFpQixHQUFXLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRWpILE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsK0JBQStCO0lBQy9CLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3pDLGtCQUFrQixFQUNsQixjQUNFLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGlCQUFpRCxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUMxRixFQUFFLENBQ0gsQ0FBQztJQUVGLE9BQU8saUJBQWlCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFV0aWxpdHkgdXNlZCB0byB0cmFuc2Zvcm0gdGhlIGBhdXRvYCBwbGFjZW1lbnQgdG8gdGhlIHBsYWNlbWVudCB3aXRoIG1vcmVcbiAqIGF2YWlsYWJsZSBzcGFjZS5cbiAqL1xuaW1wb3J0IHsgZ2V0Qm91bmRhcmllcyB9IGZyb20gJy4vZ2V0Qm91bmRhcmllcyc7XG5pbXBvcnQgeyBPZmZzZXRzLCBQbGFjZW1lbnRGb3JCczUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0QnNWZXIgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3V0aWxzJztcblxuZnVuY3Rpb24gZ2V0QXJlYSh7IHdpZHRoLCBoZWlnaHQgfTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KSB7XG4gIHJldHVybiB3aWR0aCAqIGhlaWdodDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVBdXRvUGxhY2VtZW50KFxuICBwbGFjZW1lbnQ6IHN0cmluZyxcbiAgcmVmUmVjdDogT2Zmc2V0cyxcbiAgdGFyZ2V0OiBIVE1MRWxlbWVudCxcbiAgaG9zdDogSFRNTEVsZW1lbnQsXG4gIGFsbG93ZWRQb3NpdGlvbnMgPSBbJ3RvcCcsICdib3R0b20nLCAncmlnaHQnLCAnbGVmdCddLFxuICBib3VuZGFyaWVzRWxlbWVudCA9ICd2aWV3cG9ydCcsXG4gIHBhZGRpbmcgPSAwXG4pIHtcbiAgaWYgKHBsYWNlbWVudC5pbmRleE9mKCdhdXRvJykgPT09IC0xKSB7XG4gICAgcmV0dXJuIHBsYWNlbWVudDtcbiAgfVxuXG4gIGNvbnN0IGJvdW5kYXJpZXMgPSBnZXRCb3VuZGFyaWVzKHRhcmdldCwgaG9zdCwgcGFkZGluZywgYm91bmRhcmllc0VsZW1lbnQpO1xuXG4gIHR5cGUgUmVjdHMgPSB7IHRvcDogT2Zmc2V0czsgcmlnaHQ6IE9mZnNldHM7IGJvdHRvbTogT2Zmc2V0czsgbGVmdDogT2Zmc2V0cyB9O1xuICBjb25zdCByZWN0czogUmVjdHMgPSB7XG4gICAgdG9wOiB7XG4gICAgICB3aWR0aDogYm91bmRhcmllcz8ud2lkdGggPz8gMCxcbiAgICAgIGhlaWdodDogKHJlZlJlY3Q/LnRvcCA/PyAwKSAtIChib3VuZGFyaWVzPy50b3AgPz8gMClcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICB3aWR0aDogKGJvdW5kYXJpZXM/LnJpZ2h0ID8/IDApIC0gKHJlZlJlY3Q/LnJpZ2h0ID8/IDApLFxuICAgICAgaGVpZ2h0OiBib3VuZGFyaWVzPy5oZWlnaHQgPz8gMFxuICAgIH0sXG4gICAgYm90dG9tOiB7XG4gICAgICB3aWR0aDogYm91bmRhcmllcz8ud2lkdGggPz8gMCxcbiAgICAgIGhlaWdodDogKGJvdW5kYXJpZXM/LmJvdHRvbSA/PyAwKSAtIChyZWZSZWN0Py5ib3R0b20gPz8gMClcbiAgICB9LFxuICAgIGxlZnQ6IHtcbiAgICAgIHdpZHRoOiAocmVmUmVjdC5sZWZ0ID8/IDApIC0gKGJvdW5kYXJpZXM/LmxlZnQgPz8gMCksXG4gICAgICBoZWlnaHQ6IGJvdW5kYXJpZXM/LmhlaWdodCA/PyAwXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNvcnRlZEFyZWFzID0gT2JqZWN0LmtleXMocmVjdHMpXG4gICAgLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgcG9zaXRpb246IGtleSxcbiAgICAgIC4uLnJlY3RzW2tleSBhcyBrZXlvZiBSZWN0c10sXG4gICAgICBhcmVhOiBnZXRBcmVhKHJlY3RzW2tleSBhcyBrZXlvZiBSZWN0c10gYXMgeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KVxuICAgIH0pKVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmFyZWEgLSBhLmFyZWEpO1xuXG4gIGxldCBmaWx0ZXJlZEFyZWFzID0gc29ydGVkQXJlYXMuZmlsdGVyKCh7IHdpZHRoLCBoZWlnaHQgfSkgPT4ge1xuICAgIHJldHVybiB3aWR0aCA+PSB0YXJnZXQuY2xpZW50V2lkdGggJiYgaGVpZ2h0ID49IHRhcmdldC5jbGllbnRIZWlnaHQ7XG4gIH0pO1xuXG4gIGZpbHRlcmVkQXJlYXMgPSBmaWx0ZXJlZEFyZWFzLmZpbHRlcigoeyBwb3NpdGlvbiB9KSA9PiB7XG4gICAgcmV0dXJuIGFsbG93ZWRQb3NpdGlvbnMuc29tZSgoYWxsb3dlZFBvc2l0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBhbGxvd2VkUG9zaXRpb24gPT09IHBvc2l0aW9uO1xuICAgIH0pO1xuICB9KTtcblxuICBjb25zdCBjb21wdXRlZFBsYWNlbWVudDogc3RyaW5nID0gZmlsdGVyZWRBcmVhcy5sZW5ndGggPiAwID8gZmlsdGVyZWRBcmVhc1swXS5wb3NpdGlvbiA6IHNvcnRlZEFyZWFzWzBdLnBvc2l0aW9uO1xuXG4gIGNvbnN0IHZhcmlhdGlvbiA9IHBsYWNlbWVudC5zcGxpdCgnICcpWzFdO1xuICAvLyBmb3IgdG9vbHRpcCBvbiBhdXRvIHBvc2l0aW9uXG4gIHRhcmdldC5jbGFzc05hbWUgPSB0YXJnZXQuY2xhc3NOYW1lLnJlcGxhY2UoXG4gICAgL2JzLXRvb2x0aXAtYXV0by9nLFxuICAgIGBicy10b29sdGlwLSR7XG4gICAgICBnZXRCc1ZlcigpLmlzQnM1ID8gUGxhY2VtZW50Rm9yQnM1W2NvbXB1dGVkUGxhY2VtZW50IGFzIGtleW9mIHR5cGVvZiBQbGFjZW1lbnRGb3JCczVdIDogY29tcHV0ZWRQbGFjZW1lbnRcbiAgICB9YFxuICApO1xuXG4gIHJldHVybiBjb21wdXRlZFBsYWNlbWVudCArICh2YXJpYXRpb24gPyBgLSR7dmFyaWF0aW9ufWAgOiAnJyk7XG59XG4iXX0=
|
@@ -464,45 +464,41 @@ function getArea({ width, height }) {
|
|
464
464
|
return width * height;
|
465
465
|
}
|
466
466
|
function computeAutoPlacement(placement, refRect, target, host, allowedPositions = ['top', 'bottom', 'right', 'left'], boundariesElement = 'viewport', padding = 0) {
|
467
|
-
var _a, _b, _c, _d;
|
467
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
468
468
|
if (placement.indexOf('auto') === -1) {
|
469
469
|
return placement;
|
470
470
|
}
|
471
471
|
const boundaries = getBoundaries(target, host, padding, boundariesElement);
|
472
472
|
const rects = {
|
473
473
|
top: {
|
474
|
-
width: (_a = boundaries.width) !== null && _a !== void 0 ? _a : 0,
|
475
|
-
height: refRect
|
474
|
+
width: (_a = boundaries === null || boundaries === void 0 ? void 0 : boundaries.width) !== null && _a !== void 0 ? _a : 0,
|
475
|
+
height: ((_b = refRect === null || refRect === void 0 ? void 0 : refRect.top) !== null && _b !== void 0 ? _b : 0) - ((_c = boundaries === null || boundaries === void 0 ? void 0 : boundaries.top) !== null && _c !== void 0 ? _c : 0)
|
476
476
|
},
|
477
477
|
right: {
|
478
|
-
width: boundaries
|
479
|
-
height: (
|
478
|
+
width: ((_d = boundaries === null || boundaries === void 0 ? void 0 : boundaries.right) !== null && _d !== void 0 ? _d : 0) - ((_e = refRect === null || refRect === void 0 ? void 0 : refRect.right) !== null && _e !== void 0 ? _e : 0),
|
479
|
+
height: (_f = boundaries === null || boundaries === void 0 ? void 0 : boundaries.height) !== null && _f !== void 0 ? _f : 0
|
480
480
|
},
|
481
481
|
bottom: {
|
482
|
-
width: (
|
483
|
-
height: boundaries
|
482
|
+
width: (_g = boundaries === null || boundaries === void 0 ? void 0 : boundaries.width) !== null && _g !== void 0 ? _g : 0,
|
483
|
+
height: ((_h = boundaries === null || boundaries === void 0 ? void 0 : boundaries.bottom) !== null && _h !== void 0 ? _h : 0) - ((_j = refRect === null || refRect === void 0 ? void 0 : refRect.bottom) !== null && _j !== void 0 ? _j : 0)
|
484
484
|
},
|
485
485
|
left: {
|
486
|
-
width: refRect.left &&
|
487
|
-
height: (
|
486
|
+
width: ((_k = refRect.left) !== null && _k !== void 0 ? _k : 0) - ((_l = boundaries === null || boundaries === void 0 ? void 0 : boundaries.left) !== null && _l !== void 0 ? _l : 0),
|
487
|
+
height: (_m = boundaries === null || boundaries === void 0 ? void 0 : boundaries.height) !== null && _m !== void 0 ? _m : 0
|
488
488
|
}
|
489
489
|
};
|
490
490
|
const sortedAreas = Object.keys(rects)
|
491
|
-
.map((key) => (Object.assign(Object.assign({ key }, rects[key]), { area: getArea(rects[key]) })))
|
491
|
+
.map((key) => (Object.assign(Object.assign({ position: key }, rects[key]), { area: getArea(rects[key]) })))
|
492
492
|
.sort((a, b) => b.area - a.area);
|
493
493
|
let filteredAreas = sortedAreas.filter(({ width, height }) => {
|
494
|
-
return width >= target.clientWidth
|
495
|
-
&& height >= target.clientHeight;
|
494
|
+
return width >= target.clientWidth && height >= target.clientHeight;
|
496
495
|
});
|
497
|
-
filteredAreas = filteredAreas.filter((position) => {
|
498
|
-
return allowedPositions
|
499
|
-
|
500
|
-
return allowedPosition === position.key;
|
496
|
+
filteredAreas = filteredAreas.filter(({ position }) => {
|
497
|
+
return allowedPositions.some((allowedPosition) => {
|
498
|
+
return allowedPosition === position;
|
501
499
|
});
|
502
500
|
});
|
503
|
-
const computedPlacement = filteredAreas.length > 0
|
504
|
-
? filteredAreas[0].key
|
505
|
-
: sortedAreas[0].key;
|
501
|
+
const computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].position : sortedAreas[0].position;
|
506
502
|
const variation = placement.split(' ')[1];
|
507
503
|
// for tooltip on auto position
|
508
504
|
target.className = target.className.replace(/bs-tooltip-auto/g, `bs-tooltip-${getBsVer().isBs5 ? PlacementForBs5[computedPlacement] : computedPlacement}`);
|
@@ -868,15 +864,14 @@ function preventOverflow(data) {
|
|
868
864
|
return { [placement]: value };
|
869
865
|
},
|
870
866
|
secondary(placement) {
|
871
|
-
var _a, _b, _c, _d
|
872
|
-
const
|
867
|
+
var _a, _b, _c, _d;
|
868
|
+
const isPlacementHorizontal = placement === 'right';
|
869
|
+
const mainSide = isPlacementHorizontal ? 'left' : 'top';
|
870
|
+
const measurement = isPlacementHorizontal ? 'width' : 'height';
|
873
871
|
let value = data.offsets.target[mainSide];
|
874
872
|
// escapeWithReference
|
875
|
-
if (((_a = data.offsets.target[placement]) !== null && _a !== void 0 ? _a : 0)
|
876
|
-
value = Math.min((_c = data.offsets.target[mainSide]) !== null && _c !== void 0 ? _c : 0, ((_d = boundaries[placement]) !== null && _d !== void 0 ? _d : 0) - data.offsets.target
|
877
|
-
}
|
878
|
-
if (((_e = data.offsets.target[placement]) !== null && _e !== void 0 ? _e : 0) > ((_f = boundaries[placement]) !== null && _f !== void 0 ? _f : 0) && placement === 'right') {
|
879
|
-
value = Math.min((_g = data.offsets.target[mainSide]) !== null && _g !== void 0 ? _g : 0, ((_h = boundaries[placement]) !== null && _h !== void 0 ? _h : 0) - data.offsets.target.width);
|
873
|
+
if (((_a = data.offsets.target[placement]) !== null && _a !== void 0 ? _a : 0) > ((_b = boundaries[placement]) !== null && _b !== void 0 ? _b : 0)) {
|
874
|
+
value = Math.min((_c = data.offsets.target[mainSide]) !== null && _c !== void 0 ? _c : 0, ((_d = boundaries[placement]) !== null && _d !== void 0 ? _d : 0) - data.offsets.target[measurement]);
|
880
875
|
}
|
881
876
|
return { [mainSide]: value };
|
882
877
|
}
|