{"version":3,"file":"cty-mobile-ui-tutorial.mjs","sources":["../../../packages/components/tutorial/tutorial.ts","../../../packages/components/tutorial/tutorial.html","../../../packages/components/tutorial/module.ts","../../../packages/components/tutorial/controller.ts","../../../packages/components/tutorial/cty-mobile-ui-tutorial.ts"],"sourcesContent":["import {\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CtyIcon } from 'cty-mobile-ui/icon';\r\nimport { CtyOverlay } from 'cty-mobile-ui/overlay';\r\nimport { CtyBanner, Autoplay, Result } from 'cty-mobile-ui/banner';\r\nimport { Option, Props } from './types';\r\n@Component({\r\n  selector: 'cty-tutorial',\r\n  standalone: true,\r\n  imports: [CommonModule, CtyOverlay, CtyIcon, CtyBanner],\r\n  templateUrl: './tutorial.html',\r\n  styleUrl: './tutorial.scss',\r\n})\r\nexport class CtyTutorial implements OnInit {\r\n  @Input() banners: (string | Option)[] = [];\r\n  @Input() backdropDismiss: boolean = false;\r\n  @Input() closeable: boolean = true;\r\n  @Input() props: Props = {\r\n    banner:'pic'\r\n  };\r\n  @Input() autoplay: boolean | Autoplay = {\r\n    delay: 2500,\r\n    disableOnInteraction: false,\r\n  };\r\n  @Input() loop: boolean = true;\r\n  @Input() pagination: boolean = true;\r\n  @Output() ctyDismiss = new EventEmitter<CtyTutorial>(true);\r\n  @Output() ctyChange = new EventEmitter<number>(true);\r\n  @Output() ctyTap = new EventEmitter<number>(true);\r\n\r\n  _banners: Option[] = [];\r\n  _props: Props = { banner: 'pic' };\r\n  constructor() {}\r\n\r\n  ngOnInit() {\r\n    this._props = Object.assign(this._props, this.props);\r\n    this._banners = this.banners.map((p) => {\r\n      if (typeof p === 'string') {\r\n        const item: Option = {pic:''};\r\n        item[this._props.banner || 'pic'] = p;\r\n        return item;\r\n      }\r\n      return p;\r\n    });\r\n  }\r\n  ctySlideChange(e: Result) {\r\n    const { realIndex } = e;\r\n    this.ctyChange.emit(realIndex);\r\n  }\r\n  ctySlideClick(e: Result){\r\n    const { realIndex } = e;\r\n    const option = this._banners[realIndex];\r\n    option.handler && option.handler(option);\r\n    this.ctyTap.emit(realIndex);\r\n  }\r\n  _dismiss() {\r\n    this.ctyDismiss.emit();\r\n  }\r\n}\r\n","<cty-overlay\r\n    [backdropDismiss]=\"backdropDismiss\"\r\n    (ctyDismiss)=\"_dismiss()\"\r\n>\r\n    <div class=\"cty-tutorial\" (click)=\"$event.stopPropagation();\">\r\n        <cty-banner\r\n            [banners]=\"_banners\"\r\n            [autoplay]=\"autoplay\"\r\n            [loop]=\"loop\"\r\n            [pagination]=\"pagination\"\r\n            (ctySlideChange)=\"ctySlideChange($event)\"\r\n            (ctySlideClick)=\"ctySlideClick($event)\"\r\n        ></cty-banner>\r\n    </div>\r\n    <div\r\n        *ngIf=\"closeable\"\r\n        class=\"cty-tutorial__close flex-center\"\r\n        (click)=\"_dismiss()\"\r\n    >\r\n        <cty-icon name=\"cty-close2\"></cty-icon>\r\n    </div>\r\n</cty-overlay>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CtyTutorial } from './tutorial';\r\n@NgModule({\r\n  imports: [CommonModule, CtyTutorial],\r\n  exports: [CtyTutorial],\r\n})\r\nexport class CtyTutorialModule {}\r\n","import {\r\n  Injectable,\r\n  ApplicationRef,\r\n  EmbeddedViewRef,\r\n  EnvironmentInjector,\r\n  ComponentRef,\r\n  createComponent,\r\n} from '@angular/core';\r\nimport { CtyTutorial } from './tutorial';\r\nimport { TutorialOptions } from './types';\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class CtyTutorialController {\r\n  constructor(\r\n    public applicationRef: ApplicationRef,\r\n    public injector: EnvironmentInjector\r\n  ) {}\r\n  public async create(\r\n    opt: TutorialOptions,\r\n    selector: string = 'app-root',\r\n    className: string = ''\r\n  ): Promise<CtyTutorial> {\r\n    const componentRef: ComponentRef<CtyTutorial> = createComponent(\r\n      CtyTutorial,\r\n      {\r\n        environmentInjector: this.injector,\r\n      }\r\n    );\r\n    this.applicationRef.attachView(componentRef.hostView);\r\n    const customEl = (componentRef.hostView as EmbeddedViewRef<any>)\r\n      .rootNodes[0] as HTMLElement;\r\n    customEl.className = className;\r\n    document.body.querySelector(selector)!.appendChild(customEl);\r\n    let component: any = componentRef.instance;\r\n    for (let key in opt) {\r\n      component[key] = opt[key as keyof TutorialOptions];\r\n    }\r\n    component.ctyDismiss.subscribe(() => {\r\n      componentRef.destroy();\r\n    });\r\n    return component;\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}