{"version":3,"file":"ui-vts-kit-ng-vts-space.mjs","sources":["../../components/space/space-item.directive.ts","../../components/space/space.component.ts","../../components/space/space.module.ts","../../components/space/types.ts","../../components/space/public-api.ts","../../components/space/ui-vts-kit-ng-vts-space.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 { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[vtsSpaceItem]'\n})\nexport class VtsSpaceItemDirective {\n  constructor() {}\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 {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  Input,\n  OnChanges,\n  OnDestroy,\n  QueryList,\n  TemplateRef\n} from '@angular/core';\nimport { VtsConfigKey, VtsConfigService } from '@ui-vts-kit/ng-vts/core/config';\nimport { BooleanInput, NumberInput, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean, InputNumber } from '@ui-vts-kit/ng-vts/core/util';\n\nimport { Subject } from 'rxjs';\nimport { VtsSpaceItemDirective } from './space-item.directive';\nimport { VtsSpaceAlign, VtsSpaceDirection, VtsSpaceJustify, VtsSpaceType } from './types';\n\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'space';\nconst SPACE_SIZE: {\n  [sizeKey in VtsSpaceType]: number;\n} = {\n  sm: 8,\n  md: 16,\n  lg: 24\n};\n\nconst PRESET_SPACE_SIZE: {\n  [key: string]: number;\n} = {\n  0: 0,\n  1: 4,\n  2: 8,\n  3: 16,\n  4: 24,\n  5: 32,\n  6: 40,\n  7: 48,\n  8: 64,\n  9: 96,\n  10: 160\n};\n\n@Component({\n  selector: 'vts-space, [vts-space]',\n  exportAs: 'VtsSpace',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-content></ng-content>\n    <ng-template ngFor let-item let-last=\"last\" let-index=\"index\" [ngForOf]=\"items\">\n      <div\n        class=\"vts-space-item\"\n        [style.margin-bottom.px]=\"vtsDirection === 'vertical' ? (last ? null : spaceSize) : null\"\n        [style.margin-right.px]=\"vtsDirection === 'horizontal' ? (last ? null : spaceSize) : null\"\n      >\n        <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n      </div>\n      <span\n        *ngIf=\"vtsSplit && !last\"\n        class=\"vts-space-split\"\n        [style.margin-bottom.px]=\"vtsDirection === 'vertical' ? (last ? null : spaceSize) : null\"\n        [style.margin-right.px]=\"vtsDirection === 'horizontal' ? (last ? null : spaceSize) : null\"\n      >\n        <ng-template\n          [ngTemplateOutlet]=\"vtsSplit\"\n          [ngTemplateOutletContext]=\"{ $implicit: index }\"\n        ></ng-template>\n      </span>\n    </ng-template>\n  `,\n  host: {\n    class: 'vts-space',\n    '[class.vts-space-horizontal]': 'vtsDirection === \"horizontal\"',\n    '[class.vts-space-vertical]': 'vtsDirection === \"vertical\"',\n    '[class.vts-space-align-start]': 'vtsAlign === \"start\"',\n    '[class.vts-space-align-end]': 'vtsAlign === \"end\"',\n    '[class.vts-space-align-center]': 'vtsAlign === \"center\"',\n    '[class.vts-space-align-baseline]': 'vtsAlign === \"baseline\"',\n    '[class.vts-space-align-stretch]': 'vtsAlign === \"stretch\"',\n    '[class.vts-space-justify-around]': 'vtsJustify === \"around\"',\n    '[class.vts-space-justify-between]': 'vtsJustify === \"between\"',\n    '[class.vts-space-justify-center]': 'vtsJustify === \"center\"',\n    '[class.vts-space-justify-end]': 'vtsJustify === \"end\"',\n    '[class.vts-space-justify-start]': 'vtsJustify === \"start\"',\n    '[style.flex-wrap]': 'vtsWrap ? \"wrap\" : null'\n  }\n})\nexport class VtsSpaceComponent implements OnChanges, OnDestroy, AfterContentInit {\n  static ngAcceptInputType_vtsWrap: BooleanInput;\n  static ngAcceptInputType_vtsPreset: NumberInput;\n  static ngAcceptInputType_vtsSize: NumberInput;\n\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\n\n  @Input() vtsDirection: VtsSpaceDirection = 'horizontal';\n  @Input() vtsAlign?: VtsSpaceAlign;\n  @Input() vtsJustify?: VtsSpaceJustify;\n  @Input() vtsSplit: TemplateRef<{ $implicit: number }> | null = null;\n  @Input() @InputBoolean() vtsWrap: boolean = false;\n  @Input() @InputNumber() vtsSize?: number;\n  @Input() @InputNumber() vtsPreset?: number;\n\n  @ContentChildren(VtsSpaceItemDirective, { read: TemplateRef })\n  items!: QueryList<TemplateRef<VtsSafeAny>>;\n\n  mergedAlign?: VtsSpaceAlign;\n  spaceSize: number = SPACE_SIZE.sm;\n  private destroy$ = new Subject();\n\n  constructor(public vtsConfigService: VtsConfigService, private cdr: ChangeDetectorRef) {}\n\n  private updateSpaceItems(): void {\n    let numberSize: number;\n    if (this.vtsPreset != undefined) {\n      const preset =\n        this.vtsPreset >= 0 && this.vtsPreset <= 10 ? this.vtsPreset : this.vtsPreset < 0 ? 0 : 10;\n      numberSize = PRESET_SPACE_SIZE[preset.toString()];\n    } else {\n      numberSize = this.vtsSize ?? 0;\n    }\n    this.spaceSize = numberSize / (!!this.vtsSplit ? 2 : 1);\n    this.cdr.markForCheck();\n  }\n\n  ngOnChanges(): void {\n    this.updateSpaceItems();\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  ngAfterContentInit(): void {\n    this.updateSpaceItems();\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 { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { VtsSpaceItemDirective } from './space-item.directive';\nimport { VtsSpaceComponent } from './space.component';\n\n@NgModule({\n  declarations: [VtsSpaceComponent, VtsSpaceItemDirective],\n  exports: [VtsSpaceComponent, VtsSpaceItemDirective],\n  imports: [BidiModule, CommonModule]\n})\nexport class VtsSpaceModule {}\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 type VtsSpaceDirection = 'vertical' | 'horizontal';\nexport type VtsSpaceAlign = 'start' | 'end' | 'center' | 'baseline' | 'stretch';\nexport type VtsSpaceJustify = 'around' | 'between' | 'center' | 'end' | 'start';\nexport type VtsSpaceType = 'sm' | 'md' | 'lg';\nexport type VtsSpaceSize = VtsSpaceType | number;\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 './space.module';\nexport * from './space.component';\nexport * from './space-item.directive';\nexport * from './types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}