{"version":3,"file":"mosaic-design-infosec-components-components-splitter-with-sidebars.mjs","sources":["../../../libs/components/splitter-with-sidebars/src/lib/types/sidebar.ts","../../../libs/components/splitter-with-sidebars/src/lib/constants/sidebar.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/left-sidebar-opened-header/left-sidebar-opened-header.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/left-sidebar/left-sidebar.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/main-section-title/main-section-title.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/main-section/main-section.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/right-sidebar-opened-header/right-sidebar-opened-header.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/right-sidebar/right-sidebar.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/directives/sidebar-title/sidebar-title.directive.ts","../../../libs/components/splitter-with-sidebars/src/lib/components/splitter-with-sidebars/splitter-with-sidebars.component.ts","../../../libs/components/splitter-with-sidebars/src/lib/components/splitter-with-sidebars/splitter-with-sidebars.component.html","../../../libs/components/splitter-with-sidebars/src/lib/splitter-with-sidebars.module.ts","../../../libs/components/splitter-with-sidebars/mosaic-design-infosec-components-components-splitter-with-sidebars.ts"],"sourcesContent":["import { SidebarPositions } from '@koobiq/components/sidebar';\n\nexport enum SidebarState {\n    Opened = 'opened',\n    Closed = 'closed'\n}\n\nexport interface SidebarConstraintSize {\n    minWidth: string;\n    maxWidth: string;\n}\n\nexport interface SidebarSize extends SidebarConstraintSize {\n    width: string;\n}\n\nexport interface Sidebar {\n    state?: SidebarState;\n    width?: string;\n}\n\nexport interface SidebarChangedEvent {\n    position: SidebarPositions;\n    sidebar: Sidebar;\n}\n","import { Sidebar, SidebarSize, SidebarState } from '../types';\n\nexport const defaultLeftSidebarSize: Readonly<SidebarSize> = {\n    width: '265px',\n    minWidth: '265px',\n    maxWidth: '465px'\n};\n\nexport const defaultRightSidebarSize: Readonly<SidebarSize> = {\n    width: '400px',\n    minWidth: '400px',\n    maxWidth: '600px'\n};\n\nexport const defaultLeftSidebar: Required<Sidebar> = {\n    state: SidebarState.Opened,\n    width: defaultLeftSidebarSize.width\n};\n\nexport const defaultRightSidebar: Required<Sidebar> = {\n    state: SidebarState.Opened,\n    width: defaultRightSidebarSize.width\n};\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icLeftSidebarOpenedHeader]',\n    host: {\n        class: 'ic-sidebar-header__content'\n    }\n})\nexport class LeftSidebarOpenedHeaderDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icLeftSidebarOpenedContent], [icLeftSidebarClosedText]'\n})\nexport class LeftSidebarDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icMainSectionTitle]',\n    host: {\n        class: 'ic-section-header__title'\n    }\n})\nexport class MainSectionTitleDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icMainSectionHeader], [icMainSectionContent]'\n})\nexport class MainSectionDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icRightSidebarOpenedHeader]',\n    host: {\n        class: 'ic-sidebar-header__content'\n    }\n})\nexport class RightSidebarOpenedHeaderDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icRightSidebarOpenedContent], [icRightSidebarClosedText]'\n})\nexport class RightSidebarDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[icSidebarTitle]',\n    host: {\n        class: 'ic-sidebar-header__title'\n    }\n})\nexport class SidebarTitleDirective {}\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ContentChild,\n    EventEmitter,\n    Input,\n    Output\n} from '@angular/core';\nimport { SidebarPositions } from '@koobiq/components/sidebar';\n\nimport { formatPixelSize, isNonNullable } from '@mosaic-design/infosec-components/utils';\n\nimport {\n    defaultLeftSidebar,\n    defaultLeftSidebarSize,\n    defaultRightSidebar,\n    defaultRightSidebarSize\n} from '../../constants';\nimport {\n    LeftSidebarDirective,\n    LeftSidebarOpenedHeaderDirective,\n    RightSidebarDirective,\n    RightSidebarOpenedHeaderDirective\n} from '../../directives';\nimport { Sidebar, SidebarChangedEvent, SidebarConstraintSize, SidebarState } from '../../types';\n\n@Component({\n    selector: 'ic-splitter-with-sidebars',\n    templateUrl: './splitter-with-sidebars.component.html',\n    styleUrl: './splitter-with-sidebars.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SplitterWithSidebarsComponent implements AfterViewInit {\n    protected readonly SidebarPositions = SidebarPositions;\n    protected readonly SidebarState = SidebarState;\n\n    get leftSidebar(): Required<Sidebar> {\n        return this.#leftSidebar;\n    }\n\n    @Input() set leftSidebar(value: Sidebar | undefined) {\n        this.#leftSidebar = { ...defaultLeftSidebar, ...value };\n    }\n\n    #leftSidebar: Required<Sidebar> = defaultLeftSidebar;\n\n    get rightSidebar(): Required<Sidebar> {\n        return this.#rightSidebar;\n    }\n\n    @Input() set rightSidebar(value: Sidebar | undefined) {\n        this.#rightSidebar = { ...defaultRightSidebar, ...value };\n    }\n\n    #rightSidebar: Required<Sidebar> = defaultRightSidebar;\n\n    @Input() leftSidebarConstraintSize: SidebarConstraintSize = defaultLeftSidebarSize;\n    @Input() rightSidebarConstraintSize: SidebarConstraintSize = defaultRightSidebarSize;\n\n    @Output() sidebarChange = new EventEmitter<SidebarChangedEvent>();\n\n    get isLeftSidebarOpened(): boolean {\n        return this.leftSidebar.state === SidebarState.Opened;\n    }\n\n    get isRightSidebarOpened(): boolean {\n        return this.rightSidebar.state === SidebarState.Opened;\n    }\n\n    @ContentChild(LeftSidebarDirective) leftSidebarContent: LeftSidebarDirective | undefined;\n    @ContentChild(LeftSidebarOpenedHeaderDirective) leftSidebarOpenedHeader:\n        | LeftSidebarOpenedHeaderDirective\n        | undefined;\n\n    @ContentChild(RightSidebarDirective) rightSidebarContent: RightSidebarDirective | undefined;\n    @ContentChild(RightSidebarOpenedHeaderDirective) rightSidebarOpenedHeader:\n        | RightSidebarOpenedHeaderDirective\n        | undefined;\n\n    hasLeftSidebar = false;\n    hasRightSidebar = false;\n    // необходим из-за бага в koobiq с неправильным порядком элементов с условным kbq-splitter-area\n    // https://youtrack.ptsecurity.com/issue/DS-2487\n    hasMainContent = false;\n\n    constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n    ngAfterViewInit(): void {\n        this.hasLeftSidebar = isNonNullable(this.leftSidebarContent) || isNonNullable(this.leftSidebarOpenedHeader);\n        this.hasRightSidebar = isNonNullable(this.rightSidebarContent) || isNonNullable(this.rightSidebarOpenedHeader);\n        this.hasMainContent = true;\n\n        this.changeDetectorRef.markForCheck();\n    }\n\n    onSidebarSizeChanged(position: SidebarPositions, width: number): void {\n        const sidebar: Required<Sidebar> = {\n            width: formatPixelSize(width),\n            state: this.mapSidebarStateByPosition(position)\n        };\n\n        this.updateSidebar(position, sidebar);\n\n        this.sidebarChange.emit({\n            position,\n            sidebar\n        });\n    }\n\n    onSidebarStateChanged(position: SidebarPositions, isOpened: boolean): void {\n        const sidebar: Required<Sidebar> = {\n            width: this.mapSidebarWidthByPosition(position),\n            state: this.mapSidebarState(isOpened)\n        };\n\n        this.updateSidebar(position, sidebar);\n\n        this.sidebarChange.emit({\n            position,\n            sidebar\n        });\n    }\n\n    private updateSidebar(position: SidebarPositions, sidebar: Required<Sidebar>): void {\n        if (position === SidebarPositions.Left) {\n            this.#leftSidebar = sidebar;\n        } else {\n            this.#rightSidebar = sidebar;\n        }\n    }\n\n    private mapSidebarStateByPosition(position: SidebarPositions): SidebarState {\n        return position === SidebarPositions.Left ? this.leftSidebar.state : this.rightSidebar.state;\n    }\n\n    private mapSidebarWidthByPosition(position: SidebarPositions): string {\n        return position === SidebarPositions.Left ? this.leftSidebar.width : this.rightSidebar.width;\n    }\n\n    private mapSidebarState(isOpened: boolean): SidebarState {\n        return isOpened ? SidebarState.Opened : SidebarState.Closed;\n    }\n}\n","<kbq-splitter\n    class=\"splitter-with-sidebars\"\n    *ngIf=\"hasMainContent\"\n    [class.splitter-with-sidebars_left-sidebar-closed]=\"hasLeftSidebar && !isLeftSidebarOpened\"\n    [class.splitter-with-sidebars_right-sidebar-closed]=\"hasRightSidebar && !isRightSidebarOpened\"\n>\n    <kbq-sidebar\n        *ngIf=\"hasLeftSidebar\"\n        #kbqLeftSidebar=\"kbqSidebar\"\n        class=\"splitter-with-sidebars__sidebar-left\"\n        [ngClass]=\"{\n            'splitter-with-sidebars__sidebar-left_opened': isLeftSidebarOpened\n        }\"\n        kbq-splitter-area\n        [opened]=\"isLeftSidebarOpened\"\n        [position]=\"SidebarPositions.Left\"\n        (sizeChange)=\"onSidebarSizeChanged(SidebarPositions.Left, $event)\"\n        (stateChanged)=\"onSidebarStateChanged(SidebarPositions.Left, $event)\"\n    >\n        <div\n            kbq-sidebar-opened\n            [width]=\"leftSidebar.width\"\n            [minWidth]=\"leftSidebarConstraintSize.minWidth\"\n            [maxWidth]=\"leftSidebarConstraintSize.maxWidth\"\n            class=\"ic-section\"\n        >\n            <div class=\"ic-sidebar-header\">\n                <i\n                    kbq-icon=\"kbq-chevron-double-left-s_16\"\n                    class=\"ic-sidebar-toggle\"\n                    (click)=\"kbqLeftSidebar.toggle()\"\n                ></i>\n                <ng-content select=\"[icLeftSidebarOpenedHeader]\"></ng-content>\n            </div>\n\n            <ng-content select=\"[icLeftSidebarOpenedContent]\"></ng-content>\n        </div>\n\n        <div kbq-sidebar-closed (click)=\"kbqLeftSidebar.toggle()\">\n            <div class=\"ic-sidebar-header\">\n                <i kbq-icon=\"kbq-chevron-double-right-s_16\" class=\"ic-sidebar-toggle\"></i>\n\n                <div class=\"ic-sidebar-header__title\">\n                    <ng-content select=\"[icLeftSidebarClosedText]\"></ng-content>\n                </div>\n            </div>\n        </div>\n    </kbq-sidebar>\n\n    <div\n        kbq-splitter-area\n        *ngIf=\"hasMainContent\"\n        class=\"splitter-with-sidebars__main-section ic-section\"\n        [ngClass]=\"{\n            'splitter-with-sidebars__main-section_left-opened': hasLeftSidebar && isLeftSidebarOpened,\n            'splitter-with-sidebars__main-section_right-opened': hasRightSidebar && isRightSidebarOpened\n        }\"\n    >\n        <div class=\"ic-section-header ic-section-header_with-border\">\n            <ng-content select=\"[icMainSectionHeader]\"></ng-content>\n        </div>\n\n        <ng-content select=\"[icMainSectionContent]\"></ng-content>\n    </div>\n\n    <kbq-sidebar\n        *ngIf=\"hasRightSidebar\"\n        #kbqRightSidebar=\"kbqSidebar\"\n        class=\"splitter-with-sidebars__sidebar-right\"\n        [ngClass]=\"{\n            'splitter-with-sidebars__sidebar-right_opened': isRightSidebarOpened\n        }\"\n        kbq-splitter-area\n        [opened]=\"isRightSidebarOpened\"\n        [position]=\"SidebarPositions.Right\"\n        (sizeChange)=\"onSidebarSizeChanged(SidebarPositions.Right, $event)\"\n        (stateChanged)=\"onSidebarStateChanged(SidebarPositions.Right, $event)\"\n    >\n        <div\n            kbq-sidebar-opened\n            [width]=\"rightSidebar.width\"\n            [minWidth]=\"rightSidebarConstraintSize.minWidth\"\n            [maxWidth]=\"rightSidebarConstraintSize.maxWidth\"\n            class=\"ic-section\"\n        >\n            <div class=\"ic-sidebar-header\">\n                <i\n                    kbq-icon=\"kbq-chevron-double-right-s_16\"\n                    class=\"ic-sidebar-toggle\"\n                    (click)=\"kbqRightSidebar.toggle()\"\n                ></i>\n                <ng-content select=\"[icRightSidebarOpenedHeader]\"></ng-content>\n            </div>\n\n            <ng-content select=\"[icRightSidebarOpenedContent]\"></ng-content>\n        </div>\n\n        <div kbq-sidebar-closed (click)=\"kbqRightSidebar.toggle()\">\n            <div class=\"ic-sidebar-header\">\n                <i kbq-icon=\"kbq-chevron-double-left-s_16\" class=\"ic-sidebar-toggle\"></i>\n\n                <div class=\"ic-sidebar-header__title\">\n                    <ng-content select=\"[icRightSidebarClosedText]\"></ng-content>\n                </div>\n            </div>\n        </div>\n    </kbq-sidebar>\n</kbq-splitter>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqSidebarModule } from '@koobiq/components/sidebar';\nimport { KbqSplitterModule } from '@koobiq/components/splitter';\n\nimport { SplitterWithSidebarsComponent } from './components';\nimport {\n    LeftSidebarDirective,\n    LeftSidebarOpenedHeaderDirective,\n    MainSectionDirective,\n    MainSectionTitleDirective,\n    RightSidebarDirective,\n    RightSidebarOpenedHeaderDirective,\n    SidebarTitleDirective\n} from './directives';\n\nconst directives = [\n    LeftSidebarDirective,\n    LeftSidebarOpenedHeaderDirective,\n    MainSectionDirective,\n    MainSectionTitleDirective,\n    RightSidebarDirective,\n    RightSidebarOpenedHeaderDirective,\n    SidebarTitleDirective\n];\n\n/**\n * @deprecated Будет удален в 19 версии. Компоненты будут standalone\n */\n@NgModule({\n    imports: [CommonModule, KbqSplitterModule, KbqSidebarModule, KbqIconModule],\n    declarations: [SplitterWithSidebarsComponent, ...directives],\n    exports: [SplitterWithSidebarsComponent, ...directives]\n})\nexport class IcSplitterWithSidebarsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}