{"version":3,"file":"mosaic-design-infosec-components-components-file-size.mjs","sources":["../../../libs/components/file-size/src/lib/pipes/file-size/file-size.pipe.ts","../../../libs/components/file-size/src/lib/components/file-size/file-size.component.ts","../../../libs/components/file-size/src/lib/components/file-size/file-size.component.html","../../../libs/components/file-size/src/lib/constants/i18n.ts","../../../libs/components/file-size/src/lib/file-size.module.ts","../../../libs/components/file-size/mosaic-design-infosec-components-components-file-size.ts"],"sourcesContent":["import { ChangeDetectorRef, Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { KbqDecimalPipe } from '@koobiq/components/core';\nimport { takeUntil } from 'rxjs';\n\nimport { Destroyable } from '@mosaic-design/infosec-components/core-components/common';\nimport { IcTranslocoScopeAlias } from '@mosaic-design/infosec-components/types';\nimport { getFileSize } from '@mosaic-design/infosec-components/utils';\n\n@Injectable({ providedIn: 'root' })\n@Pipe({\n    name: 'icFileSize',\n    pure: false\n})\nexport class IcFileSizePipe extends Destroyable implements PipeTransform {\n    constructor(\n        private changeDetectorRef: ChangeDetectorRef,\n        private translocoService: TranslocoService,\n        private decimalPipe: KbqDecimalPipe\n    ) {\n        super();\n\n        this.translocoService.langChanges$.pipe(takeUntil(this.destroyed$)).subscribe(() => {\n            this.changeDetectorRef.markForCheck();\n        });\n    }\n\n    transform(length: number, precision = 0): string {\n        const fileSize = getFileSize(length, precision);\n        const formattedSize = this.decimalPipe.transform(fileSize.size);\n\n        return `${formattedSize} ${this.translocoService.translate(\n            `FileSize.Size.Unit.${fileSize.unit}`,\n            {},\n            IcTranslocoScopeAlias.FileSize\n        )}`;\n    }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { isNonNullable } from '@mosaic-design/infosec-components/utils';\n\n@Component({\n    selector: 'ic-file-size',\n    templateUrl: './file-size.component.html',\n    styleUrls: ['./file-size.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FileSizeComponent {\n    protected readonly isNonNullable = isNonNullable;\n\n    @Input() length: number | undefined;\n    @Input() precision: number | undefined;\n}\n","<ng-container *ngIf=\"isNonNullable(length)\">\n    <span>{{ length | icFileSize: precision ?? 0 }}</span>\n</ng-container>\n","import { fileSizeTranslates } from '@mosaic-design/infosec-components/i18n-resources';\nimport { LocalizationScopeConfig, IcTranslocoScopeAlias } from '@mosaic-design/infosec-components/types';\n\nexport const scopeConfig: LocalizationScopeConfig = {\n    alias: IcTranslocoScopeAlias.FileSize,\n    localTranslates: fileSizeTranslates\n};\n","import { NgIf } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FileSizeComponent } from './components';\nimport { IcFileSizePipe } from './pipes';\n\n/**\n * @deprecated Будет удален в 19 версии. Компоненты будут standalone\n */\n@NgModule({\n    imports: [NgIf],\n    declarations: [FileSizeComponent, IcFileSizePipe],\n    exports: [FileSizeComponent, IcFileSizePipe]\n})\nexport class IcFileSizeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.IcFileSizePipe"],"mappings":";;;;;;;;;;;;AAcM,MAAO,cAAe,SAAQ,WAAW,CAAA;AAE/B,IAAA,iBAAA,CAAA;AACA,IAAA,gBAAA,CAAA;AACA,IAAA,WAAA,CAAA;AAHZ,IAAA,WAAA,CACY,iBAAoC,EACpC,gBAAkC,EAClC,WAA2B,EAAA;AAEnC,QAAA,KAAK,EAAE,CAAC;QAJA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgB;AAInC,QAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC/E,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;KACN;AAED,IAAA,SAAS,CAAC,MAAc,EAAE,SAAS,GAAG,CAAC,EAAA;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAChD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhE,OAAO,CAAA,EAAG,aAAa,CAAI,CAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACtD,CAAsB,mBAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,CAAE,EACrC,EAAE,EACF,qBAAqB,CAAC,QAAQ,CACjC,CAAA,CAAE,CAAC;KACP;2HAtBQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yHAAd,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cALD,MAAM,EAAA,CAAA,CAAA;;4FAKnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;kBACjC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,IAAI,EAAE,KAAK;AACd,iBAAA,CAAA;;;MCHY,iBAAiB,CAAA;IACP,aAAa,GAAG,aAAa,CAAC;AAExC,IAAA,MAAM,CAAqB;AAC3B,IAAA,SAAS,CAAqB;2HAJ9B,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,0GCV9B,+HAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDOa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACI,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+HAAA,EAAA,CAAA;8BAKtC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEXG,MAAA,WAAW,GAA4B;IAChD,KAAK,EAAE,qBAAqB,CAAC,QAAQ;AACrC,IAAA,eAAe,EAAE,kBAAkB;;;ACCvC;;AAEG;MAMU,gBAAgB,CAAA;2HAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4HAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,iBAAiB,EAAE,cAAc,aADtC,IAAI,CAAA,EAAA,OAAA,EAAA,CAEJ,iBAAiB,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;4HAElC,gBAAgB,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,IAAI,CAAC;AACf,oBAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;AACjD,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;AAC/C,iBAAA,CAAA;;;ACbD;;AAEG;;;;"}