ngx-ui-tour-ng-bootstrap
Version:
UI tour library for Angular 12+
1 lines • 18.4 kB
Source Map (JSON)
{"version":3,"file":"ngx-ui-tour-ng-bootstrap.mjs","sources":["../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/ng-bootstrap-tour.service.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-step-template.service.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-anchor.directive.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-step-template/tour-default-step-template/tour-default-step-template.component.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-step-template/tour-default-step-template/tour-default-step-template.component.html","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-step-template/tour-step-template.component.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-step-template/tour-step-template.component.html","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/tour-proxy-anchor.component.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/lib/ng-bootstrap.module.ts","../../../libs/ngx-ui-tour-ng-bootstrap/src/ngx-ui-tour-ng-bootstrap.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\r\nimport {TourService} from 'ngx-ui-tour-core';\r\n\r\nimport type {INgbStepOption} from './step-option.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NgbTourService<T extends INgbStepOption = INgbStepOption> extends TourService<T> {}\r\n","import type {TemplateRef} from '@angular/core';\r\nimport {Injectable} from '@angular/core';\r\nimport type {IStepOption} from 'ngx-ui-tour-core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TourStepTemplateService {\r\n public template: TemplateRef<{ step: IStepOption }>;\r\n}\r\n","import {Directive, ElementRef, inject, Input, type OnDestroy, type OnInit, signal} from '@angular/core';\r\nimport type {Placement} from '@ng-bootstrap/ng-bootstrap';\r\nimport {NgbPopover} from '@ng-bootstrap/ng-bootstrap';\r\nimport type {TourAnchorDirective} from 'ngx-ui-tour-core';\r\n\r\nimport {NgbTourService} from './ng-bootstrap-tour.service';\r\nimport type {INgbStepOption} from './step-option.interface';\r\nimport {TourStepTemplateService} from './tour-step-template.service';\r\nimport {firstValueFrom} from 'rxjs';\r\nimport type {Options} from '@popperjs/core';\r\n\r\n\r\n@Directive({\r\n selector: '[tourAnchor]',\r\n hostDirectives: [NgbPopover],\r\n host: {\r\n '[class.touranchor--is-active]': 'isActive()'\r\n }\r\n})\r\nexport class TourAnchorNgBootstrapDirective implements OnInit, OnDestroy, TourAnchorDirective {\r\n\r\n @Input()\r\n public tourAnchor: string;\r\n\r\n public isActive = signal(false);\r\n public readonly element = inject(ElementRef);\r\n private readonly tourService = inject(NgbTourService);\r\n private readonly tourStepTemplate = inject(TourStepTemplateService);\r\n private popoverDirective = inject(NgbPopover, {host: true});\r\n\r\n constructor() {\r\n this.popoverDirective.autoClose = false;\r\n this.popoverDirective.triggers = '';\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.popoverDirective.toggle = () => {};\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.tourService.register(this.tourAnchor, this);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.tourService.unregister(this.tourAnchor);\r\n }\r\n\r\n // noinspection JSUnusedGlobalSymbols\r\n public async showTourStep(step: INgbStepOption) {\r\n if (this.popoverDirective.isOpen()) {\r\n await firstValueFrom(this.popoverDirective.hidden);\r\n }\r\n\r\n this.isActive.set(true);\r\n this.popoverDirective.ngbPopover = this.tourStepTemplate.template;\r\n if (step.useLegacyTitle) {\r\n this.popoverDirective.popoverTitle = step.title;\r\n }\r\n this.popoverDirective.container = 'body';\r\n\r\n const popoverClass = step.popoverClass ?? '';\r\n this.popoverDirective.popoverClass = `tour-step ${popoverClass}`;\r\n this.popoverDirective.placement = (step.placement || 'auto')\r\n .replace('before', 'left').replace('after', 'right')\r\n .replace('below', 'bottom').replace('above', 'top') as Placement;\r\n\r\n const offset = step.backdropConfig?.offset;\r\n\r\n if (offset) {\r\n this.popoverDirective.popperOptions = options => this.setOffsetModifier(options, offset);\r\n }\r\n this.popoverDirective.positionTarget = this.element.nativeElement;\r\n\r\n this.popoverDirective.open({step});\r\n }\r\n\r\n private setOffsetModifier(options: Partial<Options>, offset: number): Partial<Options> {\r\n const offsetModifier = options.modifiers\r\n ?.find(modifier => modifier.name === 'offset' && modifier.options),\r\n arrowHeight = 10;\r\n\r\n if (offsetModifier) {\r\n offsetModifier.options['offset'] = [0, offset + arrowHeight];\r\n }\r\n\r\n return options;\r\n }\r\n\r\n // noinspection JSUnusedGlobalSymbols\r\n public hideTourStep(): void {\r\n this.isActive.set(false);\r\n this.popoverDirective.close();\r\n }\r\n\r\n}\r\n","import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\r\nimport type {INgbStepOption} from '../../step-option.interface';\r\nimport {NgbTourService} from '../../ng-bootstrap-tour.service';\r\n\r\n@Component({\r\n selector: 'tour-default-step-template',\r\n imports: [],\r\n templateUrl: './tour-default-step-template.component.html',\r\n styleUrl: './tour-default-step-template.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TourDefaultStepTemplateComponent {\r\n\r\n readonly step = input.required<INgbStepOption>();\r\n protected readonly tourService = inject(NgbTourService);\r\n\r\n}\r\n","@let step = this.step();\r\n\r\n<div\r\n [style.width]=\"step.stepDimensions?.width\"\r\n [style.min-width]=\"step.stepDimensions?.minWidth\"\r\n [style.max-width]=\"step.stepDimensions?.maxWidth\"\r\n class=\"main-container\"\r\n>\r\n @if (!step?.useLegacyTitle && step?.title) {\r\n <div class=\"title-container\">\r\n <h5>{{ step?.title }}</h5>\r\n <button\r\n type=\"button\"\r\n class=\"btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"tourService.end()\"\r\n ></button>\r\n </div>\r\n }\r\n <p\r\n class=\"card-text\"\r\n [innerHTML]=\"step?.content\"\r\n ></p>\r\n <div\r\n class=\"buttons\"\r\n [class.no-progress]=\"!step.showProgress\"\r\n >\r\n <button\r\n [disabled]=\"!tourService.hasPrev(step)\"\r\n class=\"btn btn-sm btn-outline-secondary prev\"\r\n (click)=\"tourService.prev()\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n {{ step?.prevBtnTitle }}\r\n </button>\r\n @if (step.showProgress) {\r\n <div class=\"progress\">{{ tourService.steps.indexOf(step) + 1 }} / {{ tourService.steps.length }}</div>\r\n }\r\n @if (tourService.hasNext(step) && !step.nextOnAnchorClick) {\r\n <button\r\n class=\"btn btn-sm btn-outline-primary next\"\r\n (click)=\"tourService.next()\"\r\n >\r\n {{ step?.nextBtnTitle }}\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n <path d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </button>\r\n }\r\n @if (!tourService.hasNext(step)) {\r\n <button\r\n class=\"btn btn-sm btn-outline-primary\"\r\n (click)=\"tourService.end()\"\r\n >\r\n {{ step?.endBtnTitle }}\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n","import {\r\n type AfterContentInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n inject,\r\n Input,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {TourHotkeyListenerComponent} from 'ngx-ui-tour-core';\r\nimport {TourStepTemplateService} from '../tour-step-template.service';\r\nimport {NgbTourService} from '../ng-bootstrap-tour.service';\r\nimport type {IStepOption} from '../../public_api';\r\nimport {TourDefaultStepTemplateComponent} from './tour-default-step-template/tour-default-step-template.component';\r\n\r\n@Component({\r\n selector: 'tour-step-template',\r\n templateUrl: './tour-step-template.component.html',\r\n styleUrls: ['./tour-step-template.component.scss'],\r\n imports: [\r\n TourDefaultStepTemplateComponent\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TourStepTemplateComponent extends TourHotkeyListenerComponent implements AfterContentInit {\r\n\r\n @ViewChild('tourStep', {read: TemplateRef, static: true})\r\n public defaultTourStepTemplate: TemplateRef<{ step: IStepOption }>;\r\n\r\n @Input()\r\n public stepTemplate: TemplateRef<{ step: IStepOption }>;\r\n\r\n @ContentChild(TemplateRef)\r\n public stepTemplateContent: TemplateRef<{ step: IStepOption }>;\r\n\r\n private readonly tourStepTemplateService = inject(TourStepTemplateService);\r\n public override readonly tourService = inject(NgbTourService);\r\n\r\n public ngAfterContentInit(): void {\r\n this.tourStepTemplateService.template =\r\n this.stepTemplate ||\r\n this.stepTemplateContent ||\r\n this.defaultTourStepTemplate;\r\n }\r\n\r\n}\r\n","<ng-template #tourStep let-step=\"step\">\r\n <tour-default-step-template\r\n [step]=\"step\"\r\n />\r\n</ng-template>\r\n","import {BaseTourProxyAnchor} from 'ngx-ui-tour-core';\r\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\r\nimport {TourAnchorNgBootstrapDirective} from './tour-anchor.directive';\r\n\r\n@Component({\r\n selector: 'tour-proxy-anchor',\r\n template: ``,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [],\r\n hostDirectives: [{\r\n directive: TourAnchorNgBootstrapDirective,\r\n inputs: ['tourAnchor: anchorId']\r\n }]\r\n})\r\nexport class TourProxyAnchorComponent extends BaseTourProxyAnchor {\r\n\r\n // noinspection JSUnusedGlobalSymbols\r\n protected override readonly anchorDirective = inject(TourAnchorNgBootstrapDirective, {\r\n host: true\r\n });\r\n\r\n @Input({required: true})\r\n public override anchorEl: string | HTMLElement;\r\n\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {TourAnchorNgBootstrapDirective} from './tour-anchor.directive';\r\nimport {TourStepTemplateComponent} from './tour-step-template/tour-step-template.component';\r\nimport {TourProxyAnchorComponent} from './tour-proxy-anchor.component';\r\n\r\nconst COMPONENTS = [TourAnchorNgBootstrapDirective, TourStepTemplateComponent, TourProxyAnchorComponent];\r\n\r\n@NgModule({\r\n imports: COMPONENTS,\r\n exports: COMPONENTS\r\n})\r\nexport class TourNgBootstrapModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}