{"version":3,"file":"vts-voffice-ng-vts-grid.mjs","sources":["../../components/grid/row.directive.ts","../../components/grid/col.directive.ts","../../components/grid/grid.module.ts","../../components/grid/public-api.ts","../../components/grid/vts-voffice-ng-vts-grid.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  NgZone,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Renderer2,\r\n  SimpleChanges\r\n} from '@angular/core';\r\nimport {\r\n  gridResponsiveMap,\r\n  VtsBreakpointKey,\r\n  VtsBreakpointService\r\n} from '@vts-voffice/ng-vts/core/services';\r\nimport { IndexableObject } from '@vts-voffice/ng-vts/core/types';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport type VtsJustify = 'start' | 'end' | 'center' | 'space-around' | 'space-between';\r\nexport type VtsAlign = 'top' | 'middle' | 'bottom';\r\n\r\n@Directive({\r\n  selector: '[vts-row],vts-row,vts-form-item',\r\n  exportAs: 'vtsRow',\r\n  host: {\r\n    '[class.vts-row-top]': `vtsAlign === 'top'`,\r\n    '[class.vts-row-middle]': `vtsAlign === 'middle'`,\r\n    '[class.vts-row-bottom]': `vtsAlign === 'bottom'`,\r\n    '[class.vts-row-start]': `vtsJustify === 'start'`,\r\n    '[class.vts-row-end]': `vtsJustify === 'end'`,\r\n    '[class.vts-row-center]': `vtsJustify === 'center'`,\r\n    '[class.vts-row-space-around]': `vtsJustify === 'space-around'`,\r\n    '[class.vts-row-space-between]': `vtsJustify === 'space-between'`,\r\n    '[class.vts-row-rtl]': `dir === \"rtl\"`\r\n  }\r\n})\r\nexport class VtsRowDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n  @Input() vtsAlign: VtsAlign | null = null;\r\n  @Input() vtsJustify: VtsJustify | null = null;\r\n  @Input() vtsGutter:\r\n    | string\r\n    | number\r\n    | IndexableObject\r\n    | [number, number]\r\n    | [IndexableObject, IndexableObject]\r\n    | null = null;\r\n\r\n  readonly actualGutter$ = new ReplaySubject<[number | null, number | null]>(1);\r\n\r\n  dir: Direction = 'ltr';\r\n  private readonly destroy$ = new Subject();\r\n\r\n  getGutter(): [number | null, number | null] {\r\n    const results: [number | null, number | null] = [null, null];\r\n    const gutter = this.vtsGutter || 0;\r\n    const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, null];\r\n    normalizedGutter.forEach((g, index) => {\r\n      if (typeof g === 'object' && g !== null) {\r\n        results[index] = null;\r\n        Object.keys(gridResponsiveMap).map((screen: string) => {\r\n          const bp = screen as VtsBreakpointKey;\r\n          if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && g[bp]) {\r\n            results[index] = g![bp] as number;\r\n          }\r\n        });\r\n      } else {\r\n        results[index] = Number(g) || null;\r\n      }\r\n    });\r\n    return results;\r\n  }\r\n\r\n  setGutterStyle(): void {\r\n    const [horizontalGutter, verticalGutter] = this.getGutter();\r\n    this.actualGutter$.next([horizontalGutter, verticalGutter]);\r\n    const renderGutter = (name: string, gutter: number | null) => {\r\n      const nativeElement = this.elementRef.nativeElement;\r\n      if (gutter !== null) {\r\n        this.renderer.setStyle(nativeElement, name, `-${gutter / 2}px`);\r\n      }\r\n    };\r\n    renderGutter('margin-left', horizontalGutter);\r\n    renderGutter('margin-right', horizontalGutter);\r\n    renderGutter('margin-top', verticalGutter);\r\n    renderGutter('margin-bottom', verticalGutter);\r\n  }\r\n  constructor(\r\n    public elementRef: ElementRef,\r\n    public renderer: Renderer2,\r\n    public mediaMatcher: MediaMatcher,\r\n    public ngZone: NgZone,\r\n    public platform: Platform,\r\n    private breakpointService: VtsBreakpointService,\r\n    @Optional() private directionality: Directionality\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-row');\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.dir = this.directionality.value;\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n    });\r\n\r\n    this.setGutterStyle();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes.vtsGutter) {\r\n      this.setGutterStyle();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.platform.isBrowser) {\r\n      this.breakpointService\r\n        .subscribe(gridResponsiveMap)\r\n        .pipe(takeUntil(this.destroy$))\r\n        .subscribe(() => {\r\n          this.setGutterStyle();\r\n        });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Host,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Renderer2,\r\n  SimpleChanges\r\n} from '@angular/core';\r\nimport { NgClassInterface } from '@vts-voffice/ng-vts/core/types';\r\nimport { isNotNil } from '@vts-voffice/ng-vts/core/util';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsRowDirective } from './row.directive';\r\n\r\nexport interface EmbeddedProperty {\r\n  span?: number;\r\n  pull?: number;\r\n  push?: number;\r\n  offset?: number;\r\n  order?: number;\r\n}\r\n\r\n@Directive({\r\n  selector: '[vts-col],vts-col,vts-form-control,vts-form-label',\r\n  exportAs: 'vtsCol',\r\n  host: {\r\n    '[style.flex]': 'hostFlexStyle'\r\n  }\r\n})\r\nexport class VtsColDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n  private classMap: { [key: string]: boolean } = {};\r\n  private destroy$ = new Subject();\r\n  hostFlexStyle: string | null = null;\r\n  dir: Direction = 'ltr';\r\n  @Input() vtsFlex: string | number | null = null;\r\n  @Input() vtsSpan: string | number | null = null;\r\n  @Input() vtsOrder: string | number | null = null;\r\n  @Input() vtsOffset: string | number | null = null;\r\n  @Input() vtsPush: string | number | null = null;\r\n  @Input() vtsPull: string | number | null = null;\r\n  @Input() vtsXXXs: string | number | EmbeddedProperty | null = null;\r\n  @Input() vtsXXs: string | number | EmbeddedProperty | null = null;\r\n  @Input() vtsXs: string | number | EmbeddedProperty | null = null;\r\n  @Input() vtsSm: string | number | EmbeddedProperty | null = null;\r\n  @Input() vtsMd: string | number | EmbeddedProperty | null = null;\r\n  @Input() vtsLg: string | number | EmbeddedProperty | null = null;\r\n  @Input() vtsXl: string | number | EmbeddedProperty | null = null;\r\n\r\n  setHostClassMap(): void {\r\n    const hostClassMap = {\r\n      ['vts-col']: true,\r\n      [`vts-col-${this.vtsSpan}`]: isNotNil(this.vtsSpan),\r\n      [`vts-col-order-${this.vtsOrder}`]: isNotNil(this.vtsOrder),\r\n      [`vts-col-offset-${this.vtsOffset}`]: isNotNil(this.vtsOffset),\r\n      [`vts-col-pull-${this.vtsPull}`]: isNotNil(this.vtsPull),\r\n      [`vts-col-push-${this.vtsPush}`]: isNotNil(this.vtsPush),\r\n      ['vts-col-rtl']: this.dir === 'rtl',\r\n      ...this.generateClass()\r\n    };\r\n    for (const i in this.classMap) {\r\n      if (this.classMap.hasOwnProperty(i)) {\r\n        this.renderer.removeClass(this.elementRef.nativeElement, i);\r\n      }\r\n    }\r\n    this.classMap = { ...hostClassMap };\r\n    for (const i in this.classMap) {\r\n      if (this.classMap.hasOwnProperty(i) && this.classMap[i]) {\r\n        this.renderer.addClass(this.elementRef.nativeElement, i);\r\n      }\r\n    }\r\n  }\r\n\r\n  setHostFlexStyle(): void {\r\n    this.hostFlexStyle = this.parseFlex(this.vtsFlex);\r\n  }\r\n\r\n  parseFlex(flex: number | string | null): string | null {\r\n    if (typeof flex === 'number') {\r\n      return `${flex} ${flex} auto`;\r\n    } else if (typeof flex === 'string') {\r\n      if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\r\n        return `0 0 ${flex}`;\r\n      }\r\n    }\r\n    return flex;\r\n  }\r\n\r\n  generateClass(): object {\r\n    const listOfSizeInputName: Array<keyof VtsColDirective> = [\r\n      'vtsXXXs',\r\n      'vtsXXs',\r\n      'vtsXs',\r\n      'vtsSm',\r\n      'vtsMd',\r\n      'vtsLg',\r\n      'vtsXl'\r\n    ];\r\n    const listClassMap: NgClassInterface = {};\r\n    listOfSizeInputName.forEach(name => {\r\n      const sizeName = name.replace('vts', '').toLowerCase();\r\n      if (isNotNil(this[name])) {\r\n        if (typeof this[name] === 'number' || typeof this[name] === 'string') {\r\n          listClassMap[`vts-col-${sizeName}-${this[name]}`] = true;\r\n        } else {\r\n          const embedded = this[name] as EmbeddedProperty;\r\n          const prefixArray: Array<keyof EmbeddedProperty> = [\r\n            'span',\r\n            'pull',\r\n            'push',\r\n            'offset',\r\n            'order'\r\n          ];\r\n          prefixArray.forEach(prefix => {\r\n            const prefixClass = prefix === 'span' ? '-' : `-${prefix}-`;\r\n            listClassMap[`vts-col-${sizeName}${prefixClass}${embedded[prefix]}`] =\r\n              embedded && isNotNil(embedded[prefix]);\r\n          });\r\n        }\r\n      }\r\n    });\r\n    return listClassMap;\r\n  }\r\n\r\n  constructor(\r\n    private elementRef: ElementRef,\r\n    @Optional() @Host() public vtsRowDirective: VtsRowDirective,\r\n    public renderer: Renderer2,\r\n    @Optional() private directionality: Directionality\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.dir = this.directionality.value;\r\n    this.directionality.change.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n      this.setHostClassMap();\r\n    });\r\n\r\n    this.setHostClassMap();\r\n    this.setHostFlexStyle();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    this.setHostClassMap();\r\n    const { vtsFlex } = changes;\r\n    if (vtsFlex) {\r\n      this.setHostFlexStyle();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.vtsRowDirective) {\r\n      this.vtsRowDirective.actualGutter$\r\n        .pipe(takeUntil(this.destroy$))\r\n        .subscribe(([horizontalGutter, verticalGutter]) => {\r\n          const renderGutter = (name: string, gutter: number | null) => {\r\n            const nativeElement = this.elementRef.nativeElement;\r\n            if (gutter !== null) {\r\n              this.renderer.setStyle(nativeElement, name, `${gutter / 2}px`);\r\n            }\r\n          };\r\n          renderGutter('padding-left', horizontalGutter);\r\n          renderGutter('padding-right', horizontalGutter);\r\n          renderGutter('padding-top', verticalGutter);\r\n          renderGutter('padding-bottom', verticalGutter);\r\n        });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { PlatformModule } from '@angular/cdk/platform';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { VtsColDirective } from './col.directive';\r\nimport { VtsRowDirective } from './row.directive';\r\n\r\n@NgModule({\r\n  declarations: [VtsColDirective, VtsRowDirective],\r\n  exports: [VtsColDirective, VtsRowDirective],\r\n  imports: [BidiModule, CommonModule, LayoutModule, PlatformModule]\r\n})\r\nexport class VtsGridModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './row.directive';\r\nexport * from './col.directive';\r\nexport * from './grid.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VtsRowDirective","i2"],"mappings":"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"}