{"version":3,"file":"cty-mobile-ui-segment-slides.mjs","sources":["../../../packages/components/segment-slides/segment-slides.ts","../../../packages/components/segment-slides/segment-slides.html","../../../packages/components/segment-slides/module.ts","../../../packages/components/segment-slides/cty-mobile-ui-segment-slides.ts"],"sourcesContent":["import {\r\n    Component,\r\n    OnInit,\r\n    Input,\r\n    Output,\r\n    EventEmitter,\r\n    ViewChild,\r\n    ContentChildren,\r\n    QueryList,\r\n    ElementRef,\r\n    SimpleChange,\r\n    CUSTOM_ELEMENTS_SCHEMA\r\n} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {register} from 'swiper/element/bundle';\r\nimport {LayoutType, SegmentOption, Props} from './types';\r\nimport {CTYUtil} from 'cty-mobile-ui/utils';\r\nimport {TemplateRefDirective} from 'cty-mobile-ui/directives';\r\nimport {IonSegment, IonSegmentButton, IonLabel} from '@ionic/angular/standalone';\r\nimport { CtyIcon } from 'cty-mobile-ui/icon';\r\nregister();\r\n@Component({\r\n    selector: 'cty-segment-slides',\r\n    standalone: true,\r\n    imports: [\r\n        FormsModule,\r\n        CommonModule,\r\n        IonSegment,\r\n        IonSegmentButton,\r\n        IonLabel,\r\n        TemplateRefDirective,\r\n        CtyIcon\r\n    ],\r\n    schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n    templateUrl: './segment-slides.html',\r\n    styleUrl: './segment-slides.scss'\r\n})\r\nexport class CtySegmentSlides implements OnInit {\r\n    @ContentChildren(TemplateRefDirective)templateChildrenRefs !: QueryList < TemplateRefDirective >;\r\n    @ViewChild('slidesRef')slidesEl : ElementRef | undefined;\r\n    @Input()segments : Array < string | SegmentOption > = [];\r\n    @Input()autoHeight : boolean = false;\r\n    @Input()top : number | string = '';\r\n    @Input()props : Props = {};\r\n    @Input()layout : LayoutType = 'icon-hide';\r\n    @Input()observer : boolean = true;\r\n    @Input()observerParents : boolean = true;\r\n    @Output()ctySlideChange = new EventEmitter<number>();\r\n    _slideValue : number = 0;\r\n    _segments : SegmentOption[] = [];\r\n    _top : string = '';\r\n    _props = {\r\n        'label': 'label',\r\n        'icon': 'icon'\r\n    }\r\n    get tempRefs() {\r\n        const tempTypes: any = {};\r\n        this.templateChildrenRefs.forEach(template => {\r\n            const key: any = template.templateChildRef;\r\n            tempTypes[key] = template;\r\n        })\r\n        return tempTypes;\r\n    }\r\n    ngOnInit() {\r\n        this._props = Object.assign(this._props, this.props);\r\n    }\r\n    ngOnChanges(changes : SimpleChange) {\r\n        for (const propName in changes) {\r\n            if (propName === 'segments') {\r\n                let segments: SegmentOption[] = [];\r\n                segments = this.segments.map(segment => {\r\n                    if (typeof segment === 'string') {\r\n                        let item: SegmentOption = {};\r\n                        item[this._props.label as string] = segment;\r\n                        return item;\r\n                    }\r\n                    return segment;\r\n                });\r\n                this._segments.splice(0);\r\n                this._segments.push(... segments);\r\n            }\r\n            if (propName === 'top') {\r\n                this._top = CTYUtil.getSize(this.top, '');\r\n            }\r\n        }\r\n    }\r\n    segmentChanged() {\r\n        this.doSlideTo(this._slideValue);\r\n    }\r\n    doSlideTo(index : number) {\r\n        this.slidesEl !.nativeElement.swiper.slideTo(index);\r\n    }\r\n    ionSlideWillChange() {\r\n        const index = this.getActiveIndex();\r\n        this._slideValue = index;\r\n        this.ctySlideChange.emit(this._slideValue);\r\n    }\r\n    getActiveIndex() {\r\n        return this.slidesEl !.nativeElement.swiper.activeIndex;\r\n    }\r\n}\r\n","<ion-segment\r\n    class=\"cty-segment-slides__segment\"\r\n    [(ngModel)]=\"_slideValue\" \r\n    (ionChange)=\"segmentChanged()\" \r\n    mode=\"md\"\r\n    [ngStyle]=\"{'top':_top}\"\r\n>\r\n    <ng-content select=\"segments\"></ng-content>\r\n    <ion-segment-button *ngFor=\"let item of _segments;let idx = index;\" [value]=\"idx\" [layout]=\"layout\" class=\"cty-segment-slides__segment-button\">\r\n        <ion-label *ngIf=\"item[_props['label']]\" class=\"cty-segment-slides__segment-label\">\r\n            {{item[_props['label']]}}\r\n        </ion-label>\r\n        <cty-icon  *ngIf=\"item[_props['icon']]\" [name]=\"item[_props['icon']]\" class=\"cty-segment-slides__segment-icon\"></cty-icon>\r\n        <ng-container *ngIf=\"item.render!==undefined&&tempRefs[item.render]\">\r\n            <ng-container *ngTemplateOutlet=\"tempRefs[item.render].templateRef; context: { $implicit: item, i: idx }\"></ng-container>\r\n        </ng-container>\r\n    </ion-segment-button>\r\n</ion-segment>\r\n<swiper-container \r\n    class=\"cty-segment-slides__swiper-container\"\r\n    #slidesRef \r\n    [observer]=\"observer\"\r\n    [observerParents]=\"observerParents\"\r\n    [resistanceRatio]=\"0\"\r\n    [autoHeight]=\"autoHeight\"\r\n    [ngClass]=\"{'cty-segment-slides__swiper-auto-height':autoHeight===true}\"\r\n    (swiperslidechangetransitionstart)=\"ionSlideWillChange()\"\r\n>\r\n    <ng-content></ng-content>\r\n</swiper-container>","import {NgModule} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CtySegmentSlides} from './segment-slides';\r\n@NgModule({\r\n    imports: [CommonModule,CtySegmentSlides],\r\n    exports: [CtySegmentSlides]\r\n})\r\nexport class CtySegmentSlidesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}