import { NSBaseComponent } from "../ns-base";
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
import * as i0 from "@angular/core";
export class NSTabNavigatorAngular extends NSBaseComponent {
    constructor() {
        super();
        this.tabChangeStarting = new EventEmitter();
        this.tabChanged = new EventEmitter();
        this.tabChangeEnd = new EventEmitter();
        this.hasInitialized = false;
        this.hasDestroyed = false;
        this.initializeScripts(['NSTabNavigator']);
    }
    ;
    ngOnInit() {
        this.initializeEvents([NSTabNavigator.TAB_CHANGE_STARTING,
            NSTabNavigator.TAB_CHANGED,
            NSTabNavigator.TAB_CHANGE_END]);
        this.create();
    }
    ;
    ngOnChanges(changes) {
    }
    ;
    ngAfterViewInit() {
    }
    ;
    ngOnDestroy() {
        if (this.hasInitialized) {
            this.hasDestroyed = true;
        }
    }
    ;
    create() {
        if (!this.nsTabNavigator && this.setting) {
            this.nsTabNavigator = new NSTabNavigator(this.element, this.setting);
        }
    }
    ;
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NSTabNavigatorAngular, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NSTabNavigatorAngular, selector: "ns-tab-navigator-angular", inputs: { setting: "setting" }, outputs: { tabChangeStarting: "tabChangeStarting", tabChanged: "tabChanged", tabChangeEnd: "tabChangeEnd" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".nsCarousel{position:relative;overflow:hidden;list-style:none;padding:0;width:100%;height:100%;margin-left:auto;margin-right:auto}.nsCarousel .nsCarouselSlideContainer{width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.nsCarousel.nsCarouselVertical .nsCarouselSlideContainer{flex-direction:column}.nsCarousel .nsCarouselSlide{display:flex;flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;align-items:center}.nsCarousel .nsCarouselSlide>*{width:100%;height:100%}.nsCarousel .nsCarouselButtonCon{position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:#0000;filter:alpha(opacity=50);opacity:.5}.nsCarousel.nsCarouselHorizontal .nsCarouselButtonCon{top:0;width:15%;max-width:50px;height:100%}.nsCarousel.nsCarouselVertical .nsCarouselButtonCon{left:0;width:100%;height:15%;max-height:50px}.nsCarousel .nsCarouselButtonCon.nsCarouselPrevCon{background-image:linear-gradient(to right,#00000080 0,#0000);background-repeat:repeat-x}.nsCarousel .nsCarouselButtonCon.nsCarouselNextCon{background-image:linear-gradient(to right,#0000 0,#00000080);background-repeat:repeat-x}.nsCarousel.nsCarouselHorizontal .nsCarouselPrevCon{left:0}.nsCarousel.nsCarouselHorizontal .nsCarouselNextCon{right:0}.nsCarousel.nsCarouselVertical .nsCarouselPrevCon{top:0}.nsCarousel.nsCarouselVertical .nsCarouselNextCon{bottom:0}.nsCarousel .nsCarouselButton{position:absolute}.nsCarousel .nsCarouselButton.nsCarouselButtonNav{display:inline-block;width:15px;height:15px;cursor:pointer;z-index:5;border:solid black;border-width:0 3px 3px 0;padding:3px}.nsCarousel.nsCarouselHorizontal .nsCarouselPrev{top:50%;left:50%;margin-top:-10px;margin-left:-10px;transform:rotate(135deg)}.nsCarousel.nsCarouselHorizontal .nsCarouselNext{top:50%;right:50%;margin-top:-10px;margin-right:-10px;transform:rotate(-45deg)}.nsCarousel.nsCarouselVertical .nsCarouselPrev{top:50%;left:50%;margin-top:-5px;margin-left:-10px;transform:rotate(-135deg)}.nsCarousel.nsCarouselVertical .nsCarouselNext{top:50%;right:50%;margin-top:-15px;margin-right:-10px;transform:rotate(45deg)}.nsCarousel .nsCarouselPageCon{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.nsCarousel.nsCarouselHorizontal .nsCarouselPageCon{width:100%;bottom:10px;left:0}.nsCarousel.nsCarouselVertical .nsCarouselPageCon{right:10px;top:50%;transform:translate3d(0,-50%,0)}.nsCarousel .nsCarouselPage{height:10px;width:10px;border-radius:50%;background-color:silver;cursor:pointer;transition:transform .2s,background-color .5s;transform-origin:50% 50%}.nsCarousel .nsCarouselPage:hover{transform:scale(1.5)}.nsCarousel.nsCarouselHorizontal .nsCarouselPageHorizontal{display:inline-block;margin-right:4px}.nsCarousel.nsCarouselVertical .nsCarouselPageVertical{display:block;margin-top:4px}.nsCarousel .nsCarouselPageActive{background-color:#007aff}.nsTabNavigator{margin:0;padding:0;overflow:hidden;position:relative}.nsTabNavigatorParentParent{text-align:left;white-space:nowrap;overflow:hidden;width:100%;padding:0;display:flex}.nsTabNavigator .nsTabContainer{display:inline-block;margin:-2px;list-style:none;position:relative;cursor:pointer}.nsTabNavigator .nsTabContainer.nsTabContainerHidden{display:none}.nsTabNavigator .nsTabContainer.nsTabContainerDisabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nsTabNavigator .nsTab{display:inline-block;padding:4px 12px;text-decoration:none;overflow:hidden}.nsTabNavigatorParent{text-align:left;width:100%;overflow:hidden}.nsTabNav{height:100%;width:35px;cursor:pointer;text-align:center}.nsTabNav.nsTabNavDisabled{opacity:.5;pointer-events:none;touch-action:none;background:inherit}.nsTabNavigator .nsTabContainer .nsTabClose{display:inline-block;float:right;margin:0 3px 0 0;cursor:pointer;text-align:center}.nsTabContentParent{text-align:left;padding:5px 15px}.nsTabContent{display:none;text-align:left}.nsTabContent.nsTabContentActive{display:block}.nsTabContent.nsTabContentHidden{display:none}.nsTabIndicator{position:absolute;bottom:0;left:0;height:4px;width:100px;background-color:transparent;transform-origin:0 0;transition:transform .2s ease-in-out,background-color .2s ease-in-out,-webkit-transform .2s ease-in-out}.nsTabNavigatorParentParentWhite{background-color:#fff;border-bottom:1px solid #eee}.nsTabNavigatorWhite .nsTabContainer{border:1px solid #c8c8c8;background-color:#f4f4f4;transition:background-color .2s,box-shadow .2s}.nsTabNavigatorWhite .nsTabContainerActive{background-color:#007ad9;border:1px solid #007ad9}.nsTabNavigatorWhite .nsTab{font-size:14px;font-weight:700;color:#333}.nsTabNavigatorWhite .nsTabContainerActive .nsTab{color:#fff;text-shadow:none}.nsTabNavigatorWhite .nsTabContainer .nsTabClose{font-size:20px;font-weight:700;color:#333}.nsTabNavigatorWhite .nsTabContainerActive .nsTabClose{color:#fff}.nsTabNavigatorWhite .nsTabContainer .nsTabClose:focus,.nsTabNavigatorWhite .nsTabContainer .nsTabClose:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4}.nsTabContentParentWhite{background-color:#fff;border:1px solid #eee;border-top:0px}.nsTabContentWhite{background-color:#fff}.nsTabNavWhite{border:1px solid #d9d9d9;border-bottom:0;border-radius:4px 4px 0 0;background:#f9f9f9}.nsTabIndicatorWhite{background:#e3165b}\n"], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NSTabNavigatorAngular, decorators: [{
            type: Component,
            args: [{ selector: 'ns-tab-navigator-angular', template: '', encapsulation: ViewEncapsulation.None, styles: [".nsCarousel{position:relative;overflow:hidden;list-style:none;padding:0;width:100%;height:100%;margin-left:auto;margin-right:auto}.nsCarousel .nsCarouselSlideContainer{width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.nsCarousel.nsCarouselVertical .nsCarouselSlideContainer{flex-direction:column}.nsCarousel .nsCarouselSlide{display:flex;flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;align-items:center}.nsCarousel .nsCarouselSlide>*{width:100%;height:100%}.nsCarousel .nsCarouselButtonCon{position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:#0000;filter:alpha(opacity=50);opacity:.5}.nsCarousel.nsCarouselHorizontal .nsCarouselButtonCon{top:0;width:15%;max-width:50px;height:100%}.nsCarousel.nsCarouselVertical .nsCarouselButtonCon{left:0;width:100%;height:15%;max-height:50px}.nsCarousel .nsCarouselButtonCon.nsCarouselPrevCon{background-image:linear-gradient(to right,#00000080 0,#0000);background-repeat:repeat-x}.nsCarousel .nsCarouselButtonCon.nsCarouselNextCon{background-image:linear-gradient(to right,#0000 0,#00000080);background-repeat:repeat-x}.nsCarousel.nsCarouselHorizontal .nsCarouselPrevCon{left:0}.nsCarousel.nsCarouselHorizontal .nsCarouselNextCon{right:0}.nsCarousel.nsCarouselVertical .nsCarouselPrevCon{top:0}.nsCarousel.nsCarouselVertical .nsCarouselNextCon{bottom:0}.nsCarousel .nsCarouselButton{position:absolute}.nsCarousel .nsCarouselButton.nsCarouselButtonNav{display:inline-block;width:15px;height:15px;cursor:pointer;z-index:5;border:solid black;border-width:0 3px 3px 0;padding:3px}.nsCarousel.nsCarouselHorizontal .nsCarouselPrev{top:50%;left:50%;margin-top:-10px;margin-left:-10px;transform:rotate(135deg)}.nsCarousel.nsCarouselHorizontal .nsCarouselNext{top:50%;right:50%;margin-top:-10px;margin-right:-10px;transform:rotate(-45deg)}.nsCarousel.nsCarouselVertical .nsCarouselPrev{top:50%;left:50%;margin-top:-5px;margin-left:-10px;transform:rotate(-135deg)}.nsCarousel.nsCarouselVertical .nsCarouselNext{top:50%;right:50%;margin-top:-15px;margin-right:-10px;transform:rotate(45deg)}.nsCarousel .nsCarouselPageCon{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.nsCarousel.nsCarouselHorizontal .nsCarouselPageCon{width:100%;bottom:10px;left:0}.nsCarousel.nsCarouselVertical .nsCarouselPageCon{right:10px;top:50%;transform:translate3d(0,-50%,0)}.nsCarousel .nsCarouselPage{height:10px;width:10px;border-radius:50%;background-color:silver;cursor:pointer;transition:transform .2s,background-color .5s;transform-origin:50% 50%}.nsCarousel .nsCarouselPage:hover{transform:scale(1.5)}.nsCarousel.nsCarouselHorizontal .nsCarouselPageHorizontal{display:inline-block;margin-right:4px}.nsCarousel.nsCarouselVertical .nsCarouselPageVertical{display:block;margin-top:4px}.nsCarousel .nsCarouselPageActive{background-color:#007aff}.nsTabNavigator{margin:0;padding:0;overflow:hidden;position:relative}.nsTabNavigatorParentParent{text-align:left;white-space:nowrap;overflow:hidden;width:100%;padding:0;display:flex}.nsTabNavigator .nsTabContainer{display:inline-block;margin:-2px;list-style:none;position:relative;cursor:pointer}.nsTabNavigator .nsTabContainer.nsTabContainerHidden{display:none}.nsTabNavigator .nsTabContainer.nsTabContainerDisabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nsTabNavigator .nsTab{display:inline-block;padding:4px 12px;text-decoration:none;overflow:hidden}.nsTabNavigatorParent{text-align:left;width:100%;overflow:hidden}.nsTabNav{height:100%;width:35px;cursor:pointer;text-align:center}.nsTabNav.nsTabNavDisabled{opacity:.5;pointer-events:none;touch-action:none;background:inherit}.nsTabNavigator .nsTabContainer .nsTabClose{display:inline-block;float:right;margin:0 3px 0 0;cursor:pointer;text-align:center}.nsTabContentParent{text-align:left;padding:5px 15px}.nsTabContent{display:none;text-align:left}.nsTabContent.nsTabContentActive{display:block}.nsTabContent.nsTabContentHidden{display:none}.nsTabIndicator{position:absolute;bottom:0;left:0;height:4px;width:100px;background-color:transparent;transform-origin:0 0;transition:transform .2s ease-in-out,background-color .2s ease-in-out,-webkit-transform .2s ease-in-out}.nsTabNavigatorParentParentWhite{background-color:#fff;border-bottom:1px solid #eee}.nsTabNavigatorWhite .nsTabContainer{border:1px solid #c8c8c8;background-color:#f4f4f4;transition:background-color .2s,box-shadow .2s}.nsTabNavigatorWhite .nsTabContainerActive{background-color:#007ad9;border:1px solid #007ad9}.nsTabNavigatorWhite .nsTab{font-size:14px;font-weight:700;color:#333}.nsTabNavigatorWhite .nsTabContainerActive .nsTab{color:#fff;text-shadow:none}.nsTabNavigatorWhite .nsTabContainer .nsTabClose{font-size:20px;font-weight:700;color:#333}.nsTabNavigatorWhite .nsTabContainerActive .nsTabClose{color:#fff}.nsTabNavigatorWhite .nsTabContainer .nsTabClose:focus,.nsTabNavigatorWhite .nsTabContainer .nsTabClose:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4}.nsTabContentParentWhite{background-color:#fff;border:1px solid #eee;border-top:0px}.nsTabContentWhite{background-color:#fff}.nsTabNavWhite{border:1px solid #d9d9d9;border-bottom:0;border-radius:4px 4px 0 0;background:#f9f9f9}.nsTabIndicatorWhite{background:#e3165b}\n"] }]
        }], ctorParameters: () => [], propDecorators: { setting: [{
                type: Input
            }], tabChangeStarting: [{
                type: Output
            }], tabChanged: [{
                type: Output
            }], tabChangeEnd: [{
                type: Output
            }] } });
//# sourceMappingURL=data:application/json;base64, 