UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 22.1 kB
{"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 { Directionality } from '@angular/cdk/bidi';\nimport { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { Platform } from '@angular/cdk/platform';\nimport { booleanAttribute, computed, Directive, inject, input, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { Breakpoint, ResponsiveLike, gridResponsiveMap, NzBreakpointService } from 'ng-zorro-antd/core/services';\nimport { NgStyleInterface } from 'ng-zorro-antd/core/types';\nimport { generateClassName, isNotNil, isNumber, isPlainObject } from 'ng-zorro-antd/core/util';\n\nexport type NzJustify = 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';\nexport type NzAlign = 'top' | 'middle' | 'bottom' | 'stretch';\nexport type Gutter = number | string | undefined | Partial<ResponsiveLike<number | string>>;\n\ntype Gap = number | string | undefined;\n\nconst CLASS_NAME = 'ant-row';\n\n@Directive({\n selector: '[nz-row],nz-row,nz-form-item',\n exportAs: 'nzRow',\n host: {\n class: 'ant-row',\n '[class]': `flexClass() + ' ' + alignClass()`,\n '[class.ant-row-rtl]': `dir() === 'rtl'`,\n '[class.ant-row-no-wrap]': `!nzWrap()`,\n '[style]': `gutterStyle()`\n }\n})\nexport class NzRowDirective {\n private readonly mediaMatcher = inject(MediaMatcher);\n private readonly platform = inject(Platform);\n private readonly breakpointService = inject(NzBreakpointService);\n protected readonly dir = inject(Directionality).valueSignal;\n\n readonly nzAlign = input<NzAlign | Partial<ResponsiveLike<NzAlign>> | null>(null);\n readonly nzJustify = input<NzJustify | Partial<ResponsiveLike<NzJustify>> | null>(null);\n readonly nzGutter = input<Gutter | [Gutter, Gutter] | null>(undefined);\n readonly nzWrap = input(true, { transform: booleanAttribute });\n\n /**\n * Internal signal tracking the current breakpoint.\n * Used to trigger recomputation of responsive gutters when viewport changes.\n */\n private readonly currentBreakpoint = this.platform.isBrowser\n ? toSignal(this.breakpointService.subscribe(gridResponsiveMap))\n : signal(undefined);\n\n protected readonly alignClass = computed<string>(() => {\n this.currentBreakpoint();\n const align = this.resolveResponsiveValue(this.nzAlign());\n return isNotNil(align) ? this.generateClass(align) : '';\n });\n\n protected readonly flexClass = computed<string>(() => {\n this.currentBreakpoint();\n const justify = this.resolveResponsiveValue(this.nzJustify());\n return isNotNil(justify) ? this.generateClass(justify) : '';\n });\n\n readonly gutter = computed<[Gap, Gap]>(() => {\n // Subscribe to breakpoint changes so this computed recomputes on viewport resize\n this.currentBreakpoint();\n\n const results: [Gap, Gap] = [undefined, undefined];\n const gutter = this.nzGutter() ?? 0;\n const normalizedGutter = Array.isArray(gutter) ? gutter : ([gutter, undefined] as [Gutter, Gutter]);\n normalizedGutter.forEach((g, index) => {\n if (isPlainObject(g)) {\n Object.keys(gridResponsiveMap).map(screen => {\n const bp = screen as Breakpoint;\n if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && g[bp]) {\n results[index] = g[bp];\n }\n });\n } else {\n results[index] = g;\n }\n });\n return results;\n });\n\n protected readonly gutterStyle = computed<NgStyleInterface>(() => {\n const [gutterH, gutterV] = this.gutter();\n const style: NgStyleInterface = {};\n\n if (gutterH) {\n const horizontalGutter = isNumber(gutterH) ? coerceCssPixelValue(gutterH / -2) : `calc(${gutterH} / -2)`;\n style['margin-inline'] = horizontalGutter;\n }\n\n style['row-gap'] = coerceCssPixelValue(gutterV);\n\n return style;\n });\n\n private generateClass(suffix: string): string {\n return generateClassName(CLASS_NAME, suffix);\n }\n\n private resolveResponsiveValue<T extends string>(value: T | Partial<ResponsiveLike<T>> | null): T | null {\n if (!isNotNil(value)) {\n return null;\n }\n if (isPlainObject<Partial<ResponsiveLike<T>>>(value)) {\n let result: T | null = null;\n Object.keys(gridResponsiveMap).forEach(screen => {\n const bp = screen as Breakpoint;\n if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && value[bp]) {\n result = value[bp] as T;\n }\n });\n return result;\n }\n return value;\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 { Directionality } from '@angular/cdk/bidi';\nimport { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { computed, Directive, inject, input } from '@angular/core';\n\nimport { responsiveArray, type ResponsiveLike } from 'ng-zorro-antd/core/services';\nimport type { NgStyleInterface } from 'ng-zorro-antd/core/types';\nimport { generateClassName, isNotNil, isNumber, isPlainObject } from 'ng-zorro-antd/core/util';\n\nimport { NzRowDirective } from './row.directive';\n\nexport type ColSpanType = number | string;\n\nexport interface ColSize {\n span?: ColSpanType;\n pull?: ColSpanType;\n push?: ColSpanType;\n offset?: ColSpanType;\n order?: ColSpanType;\n}\n\nconst CLASS_NAME = 'ant-col';\n\n@Directive({\n selector: '[nz-col],nz-col,nz-form-control,nz-form-label',\n exportAs: 'nzCol',\n host: {\n '[class]': 'hostClass()',\n '[class.ant-col-rtl]': `dir() === 'rtl'`,\n '[style]': 'gutterPaddingStyle()',\n '[style.flex]': 'flexStyle()'\n }\n})\nexport class NzColDirective {\n private readonly nzRowDirective = inject(NzRowDirective, { host: true, optional: true });\n protected readonly dir = inject(Directionality).valueSignal;\n\n readonly nzFlex = input<ColSpanType | null>();\n readonly nzSpan = input<ColSpanType | null>();\n readonly nzOrder = input<ColSpanType | null>();\n readonly nzOffset = input<ColSpanType | null>();\n readonly nzPush = input<ColSpanType | null>();\n readonly nzPull = input<ColSpanType | null>();\n readonly nzXs = input<ColSpanType | ColSize | null>();\n readonly nzSm = input<ColSpanType | ColSize | null>();\n readonly nzMd = input<ColSpanType | ColSize | null>();\n readonly nzLg = input<ColSpanType | ColSize | null>();\n readonly nzXl = input<ColSpanType | ColSize | null>();\n readonly nzXXl = input<ColSpanType | ColSize | null>();\n readonly nzXXXl = input<ColSpanType | ColSize | null>();\n\n protected readonly responsiveClass = computed(() => {\n const xs = this.nzXs();\n const sm = this.nzSm();\n const md = this.nzMd();\n const lg = this.nzLg();\n const xl = this.nzXl();\n const xxl = this.nzXXl();\n const xxxl = this.nzXXXl();\n return this.generateClassList({ xs, sm, md, lg, xl, xxl, xxxl });\n });\n\n protected readonly hostClass = computed(() => {\n const span = this.nzSpan();\n const order = this.nzOrder();\n const offset = this.nzOffset();\n const push = this.nzPush();\n const pull = this.nzPull();\n\n const classList = [CLASS_NAME];\n\n if (isNotNil(span)) {\n classList.push(this.generateClass(`${span}`));\n }\n\n if (order) {\n classList.push(this.generateClass(`order-${order}`));\n }\n\n if (offset) {\n classList.push(this.generateClass(`offset-${offset}`));\n }\n\n if (push) {\n classList.push(this.generateClass(`push-${push}`));\n }\n\n if (pull) {\n classList.push(this.generateClass(`pull-${pull}`));\n }\n\n return classList.concat(this.responsiveClass());\n });\n\n protected readonly flexStyle = computed(() => {\n const flex = this.nzFlex();\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 protected readonly gutterPaddingStyle = computed<NgStyleInterface>(() => {\n if (!this.nzRowDirective) {\n return {};\n }\n const [gutterH] = this.nzRowDirective.gutter();\n const style: NgStyleInterface = {};\n\n // Horizontal gutter use padding\n if (gutterH) {\n const horizontalGutter = isNumber(gutterH) ? coerceCssPixelValue(gutterH / 2) : `calc(${gutterH} / 2)`;\n style['padding-inline'] = horizontalGutter;\n }\n\n return style;\n });\n\n private generateClassList(props: Partial<ResponsiveLike<ColSpanType | ColSize | null>>): string[] {\n const classList: string[] = [];\n\n responsiveArray.forEach(size => {\n let sizeProps: ColSize = {};\n const propSize = props[size];\n if (isNumber(propSize) || typeof propSize === 'string') {\n sizeProps.span = propSize;\n } else if (isPlainObject(propSize)) {\n sizeProps = propSize || {};\n }\n\n const { span, pull, push, offset, order } = sizeProps;\n\n if (isNotNil(span)) {\n classList.push(this.generateClass(`${size}-${span}`));\n }\n\n if (order || order === 0) {\n classList.push(this.generateClass(`${size}-order-${order}`));\n }\n\n if (offset || offset === 0) {\n classList.push(this.generateClass(`${size}-offset-${offset}`));\n }\n\n if (push || push === 0) {\n classList.push(this.generateClass(`${size}-push-${push}`));\n }\n\n if (pull || pull === 0) {\n classList.push(this.generateClass(`${size}-pull-${pull}`));\n }\n });\n\n return classList;\n }\n\n private generateClass(suffix: string): string {\n return generateClassName(CLASS_NAME, suffix);\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":["CLASS_NAME"],"mappings":"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A,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+CAA+C;AACzD,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,aAAa;AACxB,wBAAA,qBAAqB,EAAE,CAAA,eAAA,CAAiB;AACxC,wBAAA,SAAS,EAAE,sBAAsB;AACjC,wBAAA,cAAc,EAAE;AACjB;AACF,iBAAA;;;ACpCD;;;AAGG;MAWU,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHb,cAAc,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAC9B,cAAc,EAAE,cAAc,CAAA,EAAA,CAAA;wGAE7B,YAAY,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;AACzC,oBAAA,OAAO,EAAE,CAAC,cAAc,EAAE,cAAc;AACzC,iBAAA;;;ACbD;;;AAGG;;ACHH;;AAEG;;;;"}