{"version":3,"file":"cty-mobile-ui-action-sheet.mjs","sources":["../../../packages/components/action-sheet/action-sheet.ts","../../../packages/components/action-sheet/action-sheet.html","../../../packages/components/action-sheet/module.ts","../../../packages/components/action-sheet/controller.ts","../../../packages/components/action-sheet/cty-mobile-ui-action-sheet.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActionSheetOption } from './types';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CtyOverlay } from 'cty-mobile-ui/overlay';\r\nimport { CtyIcon } from 'cty-mobile-ui/icon';\r\nimport { IonButton } from '@ionic/angular/standalone';\r\n\r\n@Component({\r\n  selector: 'cty-action-sheet',\r\n  templateUrl: './action-sheet.html',\r\n  styleUrls: ['./action-sheet.scss'],\r\n  standalone: true,\r\n  imports: [CommonModule, CtyOverlay, CtyIcon, IonButton],\r\n})\r\nexport class CtyActionSheet implements OnInit {\r\n  @Input() backdropDismiss: boolean = true;\r\n  @Input() title: string = '';\r\n  @Input() subtitle: string = '';\r\n  @Input() cancelText: string = '';\r\n  @Input() options: ActionSheetOption[] = [];\r\n  @Input() closeable: boolean = false;\r\n  @Input() closeIcon: string = 'cty-close2';\r\n  @Output() ctyDismiss = new EventEmitter<any>(true);\r\n  @Output() ctyTap = new EventEmitter<any>(true);\r\n  _options: ActionSheetOption[] = [];\r\n  constructor() {}\r\n\r\n  ngOnInit() {\r\n    this._options = this.options.map((p) => {\r\n      if (p.cssClass) {\r\n        let cssClass: Record<string, any> = {};\r\n        if (typeof p.cssClass === 'string') {\r\n          const arr = p.cssClass.split(' ');\r\n          arr.forEach((p) => {\r\n            cssClass[p] = true;\r\n          });\r\n        } else if (Array.isArray(p.cssClass)) {\r\n          p.cssClass.forEach((p) => {\r\n            cssClass[p] = true;\r\n          });\r\n        } else {\r\n          cssClass = p.cssClass;\r\n        }\r\n        return { ...p, cssClass };\r\n      }\r\n      return {\r\n        ...p\r\n      };\r\n    });\r\n  }\r\n\r\n  _dismiss(e?:Event) {\r\n    console.log('acitn')\r\n      e?.stopPropagation();\r\n      this.ctyDismiss.emit();\r\n  }\r\n\r\n  _buttonClick(index: number) {\r\n    const option = this.options[index];\r\n    option.handler && option.handler(option);\r\n    this.ctyTap.emit({item: option, index});\r\n  }\r\n}\r\n","<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\r\n<cty-overlay position=\"bottom\" [backdropDismiss]=\"backdropDismiss\" (ctyDismiss)=\"_dismiss()\">\r\n    <div class=\"cty-action-sheet flex-column safe-area-bottom-border-color\" (click)=\"$event.stopPropagation();\">\r\n        <ng-content select=\"[name=header]\"></ng-content>\r\n        <div class=\"cty-action-sheet__header\" *ngIf=\"title||subtitle||closeable\">\r\n            <ng-content select=\"[name=title]\"></ng-content>\r\n            <h2 *ngIf=\"title\" class=\"cty-action-sheet__title cty-ellipsis\">{{title}}</h2>\r\n            <p *ngIf=\"subtitle\" class=\"cty-action-sheet__subtitle cty-ellipsis2\">{{subtitle}}</p>\r\n            <ng-content select=\"[name=subtitle]\"></ng-content>\r\n            <div class=\"cty-action-sheet__close\" *ngIf=\"closeable\" (click)=\"_dismiss($event)\">\r\n                <cty-icon [name]=\"closeIcon\"></cty-icon>\r\n            </div>\r\n        </div>\r\n        <ng-content select=\"[name=options]\"></ng-content>\r\n        <div class=\"cty-action-sheet__options\">\r\n            <ng-content select=\"[name=options-start]\"></ng-content>\r\n            <ion-button \r\n                *ngFor=\"let option of _options;let idx = index;\"\r\n                class=\"cty-action-sheet__option flex-column-center\" \r\n                [ngClass]=\"option.cssClass\" \r\n                [disabled]=\"option.disabled\"\r\n                (click)=\"_buttonClick(idx)\" \r\n            >\r\n                <div class=\"cty-action-sheet__option-content\">\r\n                    <span *ngIf=\"option.text\"  class=\"cty-action-sheet__option-text\" [ngStyle]=\"{'color': option.color}\">{{option.text}}</span>\r\n                    <span *ngIf=\"option.description\" class=\"cty-action-sheet__option-description\">{{option.description}}</span>\r\n                </div>\r\n            </ion-button>\r\n            <ng-content select=\"[name=options-end]\"></ng-content>\r\n        </div>\r\n        <ion-button *ngIf=\"cancelText\" class=\"cty-action-sheet__cancel flex-center\" (click)=\"_dismiss($event)\">{{cancelText}}</ion-button>\r\n        <ng-content select=\"[name=cancel]\"></ng-content>\r\n    </div>\r\n</cty-overlay>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CtyActionSheet } from './action-sheet';\r\n@NgModule({\r\n  imports: [CommonModule, CtyActionSheet],\r\n  exports: [CtyActionSheet],\r\n})\r\nexport class CtyActionSheetModule {}\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 { CtyActionSheet } from './action-sheet';\r\nimport { ActionSheetOptions } from './types';\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class CtyActionSheetController {\r\n  constructor(\r\n    public applicationRef: ApplicationRef,\r\n    public injector: EnvironmentInjector\r\n  ) {}\r\n\r\n  public async create(\r\n    opt?: ActionSheetOptions,\r\n    selector: string = 'app-root',\r\n    className: string = ''\r\n  ): Promise<CtyActionSheet> {\r\n    const componentRef: ComponentRef<CtyActionSheet> = createComponent(CtyActionSheet, {\r\n      environmentInjector: this.injector,\r\n    });\r\n    this.applicationRef.attachView(componentRef.hostView);\r\n    const customEle = (componentRef.hostView as EmbeddedViewRef<any>)\r\n      .rootNodes[0] as HTMLElement;\r\n    customEle.className = className;\r\n    document.body.querySelector(selector)!.appendChild(customEle);\r\n    const component: any = componentRef.instance;\r\n    for (const key in opt) {\r\n      component[key] = opt[key as keyof ActionSheetOptions];\r\n    }\r\n    component.ctyDismiss.subscribe(() => {\r\n      componentRef.destroy();\r\n    });\r\n    component.ctyTap.subscribe(() => {\r\n      componentRef.destroy();\r\n    });\r\n    return component;\r\n  }\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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"}