{"version":3,"file":"ng-zorro-antd-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/ng-zorro-antd-grid.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n  AfterViewInit,\n  DestroyRef,\n  Directive,\n  ElementRef,\n  inject,\n  Input,\n  OnChanges,\n  OnInit,\n  Renderer2,\n  SimpleChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ReplaySubject } from 'rxjs';\n\nimport { gridResponsiveMap, NzBreakpointKey, NzBreakpointService } from 'ng-zorro-antd/core/services';\nimport { IndexableObject } from 'ng-zorro-antd/core/types';\n\nexport type NzJustify = 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';\nexport type NzAlign = 'top' | 'middle' | 'bottom';\n\n@Directive({\n  selector: '[nz-row],nz-row,nz-form-item',\n  exportAs: 'nzRow',\n  host: {\n    class: 'ant-row',\n    '[class.ant-row-top]': `nzAlign === 'top'`,\n    '[class.ant-row-middle]': `nzAlign === 'middle'`,\n    '[class.ant-row-bottom]': `nzAlign === 'bottom'`,\n    '[class.ant-row-start]': `nzJustify === 'start'`,\n    '[class.ant-row-end]': `nzJustify === 'end'`,\n    '[class.ant-row-center]': `nzJustify === 'center'`,\n    '[class.ant-row-space-around]': `nzJustify === 'space-around'`,\n    '[class.ant-row-space-between]': `nzJustify === 'space-between'`,\n    '[class.ant-row-space-evenly]': `nzJustify === 'space-evenly'`,\n    '[class.ant-row-rtl]': `dir === \"rtl\"`\n  }\n})\nexport class NzRowDirective implements OnInit, OnChanges, AfterViewInit {\n  private elementRef = inject(ElementRef);\n  private renderer = inject(Renderer2);\n  private mediaMatcher = inject(MediaMatcher);\n  private platform = inject(Platform);\n  private breakpointService = inject(NzBreakpointService);\n  private directionality = inject(Directionality);\n  private destroyRef = inject(DestroyRef);\n  @Input() nzAlign: NzAlign | null = null;\n  @Input() nzJustify: NzJustify | null = null;\n  @Input() nzGutter: string | number | IndexableObject | [number, number] | [IndexableObject, IndexableObject] | null =\n    null;\n\n  readonly actualGutter$ = new ReplaySubject<[number | null, number | null]>(1);\n\n  dir: Direction = 'ltr';\n\n  getGutter(): [number | null, number | null] {\n    const results: [number | null, number | null] = [null, null];\n    const gutter = this.nzGutter || 0;\n    const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, null];\n    normalizedGutter.forEach((g, index) => {\n      if (typeof g === 'object' && g !== null) {\n        results[index] = null;\n        Object.keys(gridResponsiveMap).map((screen: string) => {\n          const bp = screen as NzBreakpointKey;\n          if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && g[bp]) {\n            results[index] = g![bp] as number;\n          }\n        });\n      } else {\n        results[index] = Number(g) || null;\n      }\n    });\n    return results;\n  }\n\n  setGutterStyle(): void {\n    const [horizontalGutter, verticalGutter] = this.getGutter();\n    this.actualGutter$.next([horizontalGutter, verticalGutter]);\n    const renderGutter = (name: string, gutter: number | null): void => {\n      const nativeElement = this.elementRef.nativeElement;\n      if (gutter !== null) {\n        this.renderer.setStyle(nativeElement, name, `-${gutter / 2}px`);\n      }\n    };\n    renderGutter('margin-left', horizontalGutter);\n    renderGutter('margin-right', horizontalGutter);\n    renderGutter('margin-top', verticalGutter);\n    renderGutter('margin-bottom', verticalGutter);\n  }\n\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(direction => {\n      this.dir = direction;\n    });\n\n    this.setGutterStyle();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.nzGutter) {\n      this.setGutterStyle();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.platform.isBrowser) {\n      this.breakpointService\n        .subscribe(gridResponsiveMap)\n        .pipe(takeUntilDestroyed(this.destroyRef))\n        .subscribe(() => {\n          this.setGutterStyle();\n        });\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  DestroyRef,\n  Directive,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnInit,\n  Renderer2,\n  SimpleChanges,\n  inject,\n  type AfterViewInit\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { NgClassInterface } from 'ng-zorro-antd/core/types';\nimport { isNotNil } from 'ng-zorro-antd/core/util';\n\nimport { NzRowDirective } from './row.directive';\n\nexport interface EmbeddedProperty {\n  span?: number;\n  pull?: number;\n  push?: number;\n  offset?: number;\n  order?: number;\n}\n\n@Directive({\n  selector: '[nz-col],nz-col,nz-form-control,nz-form-label',\n  exportAs: 'nzCol',\n  host: {\n    '[style.flex]': 'hostFlexStyle'\n  }\n})\nexport class NzColDirective implements OnInit, OnChanges, AfterViewInit {\n  private elementRef = inject(ElementRef);\n  private renderer = inject(Renderer2);\n  private directionality = inject(Directionality);\n  private destroyRef = inject(DestroyRef);\n  private classMap: Record<string, boolean> = {};\n  hostFlexStyle: string | null = null;\n  dir: Direction = 'ltr';\n  @Input() nzFlex: string | number | null = null;\n  @Input() nzSpan: string | number | null = null;\n  @Input() nzOrder: string | number | null = null;\n  @Input() nzOffset: string | number | null = null;\n  @Input() nzPush: string | number | null = null;\n  @Input() nzPull: string | number | null = null;\n  @Input() nzXs: string | number | EmbeddedProperty | null = null;\n  @Input() nzSm: string | number | EmbeddedProperty | null = null;\n  @Input() nzMd: string | number | EmbeddedProperty | null = null;\n  @Input() nzLg: string | number | EmbeddedProperty | null = null;\n  @Input() nzXl: string | number | EmbeddedProperty | null = null;\n  @Input() nzXXl: string | number | EmbeddedProperty | null = null;\n\n  setHostClassMap(): void {\n    const hostClassMap = {\n      ['ant-col']: true,\n      [`ant-col-${this.nzSpan}`]: isNotNil(this.nzSpan),\n      [`ant-col-order-${this.nzOrder}`]: isNotNil(this.nzOrder),\n      [`ant-col-offset-${this.nzOffset}`]: isNotNil(this.nzOffset),\n      [`ant-col-pull-${this.nzPull}`]: isNotNil(this.nzPull),\n      [`ant-col-push-${this.nzPush}`]: isNotNil(this.nzPush),\n      ['ant-col-rtl']: this.dir === 'rtl',\n      ...this.generateClass()\n    };\n    for (const i in this.classMap) {\n      if (this.classMap.hasOwnProperty(i)) {\n        this.renderer.removeClass(this.elementRef.nativeElement, i);\n      }\n    }\n    this.classMap = { ...hostClassMap };\n    for (const i in this.classMap) {\n      if (this.classMap.hasOwnProperty(i) && this.classMap[i]) {\n        this.renderer.addClass(this.elementRef.nativeElement, i);\n      }\n    }\n  }\n\n  setHostFlexStyle(): void {\n    this.hostFlexStyle = this.parseFlex(this.nzFlex);\n  }\n\n  parseFlex(flex: number | string | null): string | null {\n    if (typeof flex === 'number') {\n      return `${flex} ${flex} auto`;\n    } else if (typeof flex === 'string') {\n      if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n        return `0 0 ${flex}`;\n      }\n    }\n    return flex;\n  }\n\n  generateClass(): object {\n    const listOfSizeInputName: Array<keyof NzColDirective> = ['nzXs', 'nzSm', 'nzMd', 'nzLg', 'nzXl', 'nzXXl'];\n    const listClassMap: NgClassInterface = {};\n    listOfSizeInputName.forEach(name => {\n      const sizeName = name.replace('nz', '').toLowerCase();\n      if (isNotNil(this[name])) {\n        if (typeof this[name] === 'number' || typeof this[name] === 'string') {\n          listClassMap[`ant-col-${sizeName}-${this[name]}`] = true;\n        } else {\n          const embedded = this[name] as EmbeddedProperty;\n          const prefixArray: Array<keyof EmbeddedProperty> = ['span', 'pull', 'push', 'offset', 'order'];\n          prefixArray.forEach(prefix => {\n            const prefixClass = prefix === 'span' ? '-' : `-${prefix}-`;\n            listClassMap[`ant-col-${sizeName}${prefixClass}${embedded[prefix]}`] =\n              embedded && isNotNil(embedded[prefix]);\n          });\n        }\n      }\n    });\n    return listClassMap;\n  }\n\n  nzRowDirective = inject(NzRowDirective, { host: true, optional: true });\n\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(direction => {\n      this.dir = direction;\n      this.setHostClassMap();\n    });\n\n    this.setHostClassMap();\n    this.setHostFlexStyle();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.setHostClassMap();\n    const { nzFlex } = changes;\n    if (nzFlex) {\n      this.setHostFlexStyle();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.nzRowDirective) {\n      this.nzRowDirective.actualGutter$\n        .pipe(takeUntilDestroyed(this.destroyRef))\n        .subscribe(([horizontalGutter, verticalGutter]) => {\n          const renderGutter = (name: string, gutter: number | null): void => {\n            const nativeElement = this.elementRef.nativeElement;\n            if (gutter !== null) {\n              this.renderer.setStyle(nativeElement, name, `${gutter / 2}px`);\n            }\n          };\n          renderGutter('padding-left', horizontalGutter);\n          renderGutter('padding-right', horizontalGutter);\n          renderGutter('padding-top', verticalGutter);\n          renderGutter('padding-bottom', verticalGutter);\n        });\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzColDirective } from './col.directive';\nimport { NzRowDirective } from './row.directive';\n\n@NgModule({\n  imports: [NzColDirective, NzRowDirective],\n  exports: [NzColDirective, NzRowDirective]\n})\nexport class NzGridModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './row.directive';\nexport * from './col.directive';\nexport * from './grid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}