ngx-ui-tour-ngx-bootstrap
Version:
UI tour library for Angular 12+
1 lines • 14.9 kB
Source Map (JSON)
{"version":3,"file":"ngx-ui-tour-ngx-bootstrap.mjs","sources":["../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/tour-step-template.service.ts","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/ngx-bootstrap-tour.service.ts","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/tour-step-template/tour-default-step-template/tour-default-step-template.component.ts","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/tour-step-template/tour-default-step-template/tour-default-step-template.component.html","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/tour-step-template/tour-step-template.component.ts","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/tour-step-template/tour-step-template.component.html","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/tour-anchor.directive.ts","../../../libs/ngx-ui-tour-ngx-bootstrap/src/lib/ngx-bootstrap.module.ts","../../../libs/ngx-ui-tour-ngx-bootstrap/src/ngx-ui-tour-ngx-bootstrap.ts"],"sourcesContent":["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 {Injectable} from '@angular/core';\r\nimport {TourService} from 'ngx-ui-tour-core';\r\n\r\nimport type {INgxbStepOption} from './step-option.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgxbTourService<T extends INgxbStepOption = INgxbStepOption> extends TourService<T> {}\r\n","import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\r\nimport type {INgxbStepOption} from '../../step-option.interface';\r\nimport {NgxbTourService} from '../../ngx-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<INgxbStepOption>();\r\n protected readonly tourService = inject(NgxbTourService);\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 {NgxbTourService} from '../ngx-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(NgxbTourService);\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 {Directive, ElementRef, inject, Input, type OnDestroy, type OnInit, signal} from '@angular/core';\r\nimport {PopoverDirective} from 'ngx-bootstrap/popover';\r\nimport type {TourAnchorDirective} from 'ngx-ui-tour-core';\r\nimport type {INgxbStepOption as IStepOption} from './step-option.interface';\r\n\r\nimport {NgxbTourService} from './ngx-bootstrap-tour.service';\r\nimport {TourStepTemplateService} from './tour-step-template.service';\r\n\r\n@Directive({\r\n selector: '[tourAnchor]'\r\n})\r\nexport class TourAnchorNgxBootstrapPopoverDirective extends PopoverDirective {}\r\n\r\n@Directive({\r\n selector: '[tourAnchor]',\r\n host: {\r\n '[class.touranchor--is-active]': 'isActive()'\r\n }\r\n})\r\nexport class TourAnchorNgxBootstrapDirective implements OnInit, OnDestroy, TourAnchorDirective {\r\n\r\n @Input() public tourAnchor: string;\r\n\r\n public isActive = signal(false);\r\n public readonly element = inject(ElementRef);\r\n private readonly tourService = inject(NgxbTourService);\r\n private readonly tourStepTemplate = inject(TourStepTemplateService);\r\n private readonly popoverDirective = inject(TourAnchorNgxBootstrapPopoverDirective, {host: true});\r\n\r\n constructor() {\r\n this.popoverDirective.triggers = '';\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 showTourStep(step: IStepOption): void {\r\n this.isActive.set(true);\r\n this.popoverDirective.popover = this.tourStepTemplate.template;\r\n this.popoverDirective.popoverContext = {step};\r\n if (step.useLegacyTitle) {\r\n this.popoverDirective.popoverTitle = step.title;\r\n }\r\n this.popoverDirective.container = 'body';\r\n const popoverClass = step.popoverClass ?? '';\r\n this.popoverDirective.containerClass = `tour-step ${popoverClass}`;\r\n this.popoverDirective.placement = step.placement || 'auto';\r\n this.popoverDirective.show();\r\n }\r\n\r\n // noinspection JSUnusedGlobalSymbols\r\n public hideTourStep(): void {\r\n this.isActive.set(false);\r\n this.popoverDirective.hide();\r\n }\r\n\r\n}\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {TourAnchorNgxBootstrapDirective, TourAnchorNgxBootstrapPopoverDirective} from './tour-anchor.directive';\r\nimport {TourStepTemplateComponent} from './tour-step-template/tour-step-template.component';\r\n\r\nconst COMPONENTS = [TourAnchorNgxBootstrapDirective, TourAnchorNgxBootstrapPopoverDirective, TourStepTemplateComponent];\r\n\r\n@NgModule({\r\n imports: COMPONENTS,\r\n exports: COMPONENTS\r\n})\r\nexport class TourNgxBootstrapModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}