{"version":3,"file":"se.mjs","sources":["../../../../packages/abc/se/se-container.component.ts","../../../../packages/abc/se/se.component.ts","../../../../packages/abc/se/se.component.html","../../../../packages/abc/se/se.module.ts","../../../../packages/abc/se/se.types.ts","../../../../packages/abc/se/se.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnInit,\n  Renderer2,\n  TemplateRef,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n  numberAttribute\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter } from 'rxjs';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { SEErrorRefresh, SELayout } from './se.types';\n\n@Component({\n  selector: 'se-title, [se-title]',\n  exportAs: 'seTitle',\n  template: '<ng-content />',\n  host: {\n    '[class.se__title]': 'true'\n  },\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: true\n})\nexport class SETitleComponent implements OnInit {\n  private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true });\n  private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n  private readonly ren = inject(Renderer2);\n  constructor() {\n    if (this.parentComp == null) {\n      throw new Error(`[se-title] must include 'se-container' component`);\n    }\n  }\n\n  private setClass(): void {\n    const { el } = this;\n    const gutter = this.parentComp!.gutter as number;\n    this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n    this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n  }\n\n  ngOnInit(): void {\n    this.setClass();\n  }\n}\n\n@Component({\n  selector: 'se-container, [se-container]',\n  exportAs: 'seContainer',\n  template: `\n    @if (title) {\n      <div se-title>\n        <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n      </div>\n    }\n    <ng-content />\n  `,\n  host: {\n    '[class.ant-row]': `true`,\n    '[class.se__container]': `true`,\n    '[class.se__horizontal]': `nzLayout === 'horizontal'`,\n    '[class.se__vertical]': `nzLayout === 'vertical'`,\n    '[class.se__inline]': `nzLayout === 'inline'`,\n    '[class.se__compact]': `size === 'compact'`,\n    '[style.margin-left.px]': `margin`,\n    '[style.margin-right.px]': `margin`\n  },\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: true,\n  imports: [SETitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SEContainerComponent {\n  private errorNotify$ = new BehaviorSubject<SEErrorRefresh>(null as NzSafeAny);\n  @Input({ alias: 'se-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n  colInCon?: REP_TYPE;\n  @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col!: REP_TYPE;\n  @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth!: number;\n  @Input({ transform: booleanAttribute }) noColon = false;\n  @Input() title?: string | TemplateRef<void> | null;\n\n  @Input({ transform: numberAttribute })\n  get gutter(): number {\n    return this.nzLayout === 'horizontal' ? this._gutter : 0;\n  }\n  set gutter(value: number) {\n    this._gutter = value;\n  }\n  private _gutter!: number;\n\n  @Input()\n  get nzLayout(): SELayout {\n    return this._nzLayout;\n  }\n  set nzLayout(value: SELayout) {\n    this._nzLayout = value;\n    if (value === 'inline') {\n      this.size = 'compact';\n    }\n  }\n  private _nzLayout!: SELayout;\n\n  @Input() size!: 'default' | 'compact';\n  @Input({ transform: booleanAttribute }) firstVisual!: boolean;\n  @Input({ transform: booleanAttribute }) ingoreDirty!: boolean;\n  @Input({ transform: booleanAttribute }) line = false;\n  @Input()\n  set errors(val: SEErrorRefresh[]) {\n    this.setErrors(val);\n  }\n\n  get margin(): number {\n    return -((this.gutter as number) / 2);\n  }\n\n  get errorNotify(): Observable<SEErrorRefresh> {\n    return this.errorNotify$.pipe(filter(v => v != null));\n  }\n\n  constructor(configSrv: AlainConfigService) {\n    configSrv.attach(this, 'se', {\n      size: 'default',\n      nzLayout: 'horizontal',\n      gutter: 32,\n      col: 2,\n      labelWidth: 150,\n      firstVisual: false,\n      ingoreDirty: false\n    });\n  }\n\n  setErrors(errors: SEErrorRefresh[]): void {\n    for (const error of errors) {\n      this.errorNotify$.next(error);\n    }\n  }\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport { NgClass } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  DestroyRef,\n  ElementRef,\n  Input,\n  OnChanges,\n  Renderer2,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n  numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControlName, NgModel, RequiredValidator, Validator, Validators } from '@angular/forms';\nimport { filter } from 'rxjs';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { helpMotion } from 'ng-zorro-antd/core/animation';\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent } from './se-container.component';\nimport { SEError, SEErrorType } from './se.types';\n\nconst prefixCls = `se`;\nlet nextUniqueId = 0;\n\n@Component({\n  selector: 'se',\n  exportAs: 'se',\n  templateUrl: './se.component.html',\n  host: {\n    '[style.padding-left.px]': 'paddingValue',\n    '[style.padding-right.px]': 'paddingValue',\n    '[class.se__hide-label]': 'hideLabel',\n    '[class.ant-form-item-has-error]': 'invalid',\n    '[class.ant-form-item-with-help]': 'showErr'\n  },\n  preserveWhitespaces: false,\n  providers: [NzFormStatusService],\n  animations: [helpMotion],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  standalone: true,\n  imports: [NgClass, NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SEComponent implements OnChanges, AfterContentInit, AfterViewInit {\n  private readonly parentComp = inject(SEContainerComponent, { host: true, optional: true })!;\n  private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n  private readonly rep = inject(ResponsiveService);\n  private readonly ren = inject(Renderer2);\n  private readonly cdr = inject(ChangeDetectorRef);\n  private readonly statusSrv = inject(NzFormStatusService);\n  private readonly destroy$ = inject(DestroyRef);\n\n  @ContentChild(NgModel, { static: true }) private readonly ngModel?: NgModel;\n  @ContentChild(FormControlName, { static: true })\n  private readonly formControlName?: FormControlName;\n  @ViewChild('contentElement', { static: true }) private readonly contentElement!: ElementRef;\n  private clsMap: string[] = [];\n  private inited = false;\n  private onceFlag = false;\n  private errorData: SEError = {};\n  private isBindModel = false;\n  invalid = false;\n  _labelWidth: number | null = null;\n  _noColon: boolean | null = null;\n  _error?: string | TemplateRef<void>;\n\n  // #region fields\n\n  @Input() optional?: string | TemplateRef<void> | null = null;\n  @Input() optionalHelp?: string | TemplateRef<void> | null = null;\n  @Input() optionalHelpColor?: string;\n  @Input()\n  set error(val: SEErrorType) {\n    this.errorData = typeof val === 'string' || val instanceof TemplateRef ? { '': val } : val;\n  }\n  @Input() extra?: string | TemplateRef<void> | null;\n  @Input() label?: string | TemplateRef<void> | null;\n  @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col?: number | null;\n  @Input({ transform: booleanAttribute }) required = false;\n  @Input() controlClass?: string | null = '';\n  @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) line?: boolean | null;\n  @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) labelWidth?: number | null;\n  @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) noColon?: boolean | null;\n  @Input({ transform: booleanAttribute }) hideLabel = false;\n\n  @Input()\n  set id(value: string) {\n    this._id = value;\n    this._autoId = false;\n  }\n\n  _id = `_se-${++nextUniqueId}`;\n  _autoId = true;\n\n  // #endregion\n\n  get paddingValue(): number {\n    return (this.parentComp.gutter as number) / 2;\n  }\n\n  get showErr(): boolean {\n    return this.invalid && !!this._error && !this.compact;\n  }\n\n  get compact(): boolean {\n    return this.parentComp.size === 'compact';\n  }\n\n  private get ngControl(): NgModel | FormControlName | null | undefined {\n    return this.ngModel || this.formControlName;\n  }\n\n  constructor() {\n    if (this.parentComp == null) {\n      throw new Error(`[se] must include 'se-container' component`);\n    }\n    this.parentComp.errorNotify\n      .pipe(\n        takeUntilDestroyed(),\n        filter(w => this.inited && this.ngControl != null && this.ngControl.name === w.name)\n      )\n      .subscribe(item => {\n        this.error = item.error;\n        this.updateStatus(this.ngControl!.invalid!);\n      });\n  }\n\n  private setClass(): this {\n    const { el, ren, clsMap, col, cdr, line, labelWidth, rep, noColon } = this;\n    const parent = this.parentComp!;\n    this._noColon = noColon != null ? noColon : parent.noColon;\n    this._labelWidth = parent.nzLayout === 'horizontal' ? (labelWidth != null ? labelWidth : parent.labelWidth) : null;\n    clsMap.forEach(cls => ren.removeClass(el, cls));\n    clsMap.length = 0;\n    const parentCol = parent.colInCon || parent.col;\n    const repCls = parent.nzLayout === 'horizontal' ? rep.genCls(col != null ? col : parentCol, parentCol) : [];\n    clsMap.push(`ant-form-item`, ...repCls, `${prefixCls}__item`);\n    if (line || parent.line) {\n      clsMap.push(`${prefixCls}__line`);\n    }\n    clsMap.forEach(cls => ren.addClass(el, cls));\n    cdr.detectChanges();\n    return this;\n  }\n\n  private bindModel(): void {\n    if (!this.ngControl || this.isBindModel) return;\n\n    this.isBindModel = true;\n    this.ngControl\n      .statusChanges!.pipe(takeUntilDestroyed(this.destroy$))\n      .subscribe(res => this.updateStatus(res === 'INVALID'));\n    if (this._autoId) {\n      const controlAccessor = this.ngControl.valueAccessor as NzSafeAny;\n      const control = (controlAccessor?.elementRef || controlAccessor?._elementRef)?.nativeElement as HTMLElement;\n      if (!!control) {\n        if (control.id) {\n          this._id = control.id;\n        } else {\n          control.id = this._id;\n        }\n      }\n    }\n    // auto required\n    if (this.required !== true) {\n      let required = this.ngControl?.control?.hasValidator(Validators.required);\n      if (required !== true) {\n        const rawValidators = (this.ngControl as NzSafeAny)?._rawValidators as Validator[];\n        required = rawValidators.find(w => w instanceof RequiredValidator) != null;\n      }\n      this.required = required;\n      this.cdr.detectChanges();\n    }\n  }\n\n  private updateStatus(invalid: boolean): void {\n    if (this.ngControl?.disabled || this.ngControl?.isDisabled) {\n      return;\n    }\n    this.invalid =\n      !this.onceFlag && invalid && this.parentComp.ingoreDirty === false && !this.ngControl?.dirty ? false : invalid;\n    const errors = this.ngControl?.errors;\n    if (errors != null && Object.keys(errors).length > 0) {\n      const key = Object.keys(errors)[0] || '';\n      const err = this.errorData[key];\n      this._error = err != null ? err : this.errorData[''] || '';\n    }\n\n    this.statusSrv.formStatusChanges.next({ status: this.invalid ? 'error' : '', hasFeedback: false });\n\n    this.cdr.detectChanges();\n  }\n\n  checkContent(): void {\n    const el = this.contentElement.nativeElement;\n    const cls = `${prefixCls}__item-empty`;\n    if (isEmpty(el)) {\n      this.ren.addClass(el, cls);\n    } else {\n      this.ren.removeClass(el, cls);\n    }\n  }\n\n  ngAfterContentInit(): void {\n    this.checkContent();\n  }\n\n  ngOnChanges(): void {\n    this.onceFlag = this.parentComp.firstVisual;\n    if (this.inited) {\n      this.setClass().bindModel();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    this.setClass().bindModel();\n    this.inited = true;\n    if (this.onceFlag) {\n      Promise.resolve().then(() => {\n        this.updateStatus(this.ngControl?.invalid!);\n        this.onceFlag = false;\n      });\n    }\n  }\n}\n","<div class=\"ant-form-item-label\" [class.se__nolabel]=\"hideLabel || !label\" [style.width.px]=\"_labelWidth\">\n  @if (label) {\n    <label\n      [attr.for]=\"_id\"\n      class=\"se__label\"\n      [ngClass]=\"{ 'ant-form-item-required': required, 'se__no-colon': _noColon }\"\n    >\n      <span class=\"se__label-text\">\n        <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n      </span>\n      @if (optional || optionalHelp) {\n        <span class=\"se__label-optional\" [class.se__label-optional-no-text]=\"!optional\">\n          <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n          @if (optionalHelp) {\n            <i\n              nz-tooltip\n              [nzTooltipTitle]=\"optionalHelp\"\n              [nzTooltipColor]=\"optionalHelpColor\"\n              nz-icon\n              nzType=\"question-circle\"\n            ></i>\n          }\n        </span>\n      }\n    </label>\n  }\n</div>\n<div class=\"ant-form-item-control se__control\">\n  <div class=\"ant-form-item-control-input {{ controlClass }}\">\n    <div class=\"ant-form-item-control-input-content\" (cdkObserveContent)=\"checkContent()\" #contentElement>\n      <ng-content />\n    </div>\n  </div>\n  @if (showErr) {\n    <div @helpMotion class=\"ant-form-item-explain ant-form-item-explain-connected\">\n      <div role=\"alert\" class=\"ant-form-item-explain-error\">\n        <ng-container *nzStringTemplateOutlet=\"_error\">{{ _error }}</ng-container>\n      </div>\n    </div>\n  }\n  @if (extra && !compact) {\n    <div class=\"ant-form-item-extra\">\n      <ng-container *nzStringTemplateOutlet=\"extra\">{{ extra }}</ng-container>\n    </div>\n  }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SEContainerComponent, SETitleComponent } from './se-container.component';\nimport { SEComponent } from './se.component';\n\nconst COMPONENTS = [SEContainerComponent, SEComponent, SETitleComponent];\n\n@NgModule({\n  imports: [CommonModule, NzToolTipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n  exports: COMPONENTS\n})\nexport class SEModule {}\n","import { TemplateRef } from '@angular/core';\n\nexport type SELayout = 'horizontal' | 'vertical' | 'inline';\n\nexport type SESize = 'default' | 'compact';\n\nexport type SEErrorType = string | TemplateRef<void> | SEError;\n\nexport interface SEError {\n  [key: string]: string | TemplateRef<void>;\n}\n\nexport interface SEErrorRefresh {\n  name: string;\n  error: SEErrorType;\n}\n\n// /**\n//  * Error collection\n//  * - `name`: The value of` ngModel` or `formControlName`\n//  * - `error`: Replaced error value\n//  */\n// errors: Array<{ name: string; error: SEErrorType }>;\n// /**\n//  * Whether force show error, even if the form component has not invalid, Default: `false`\n//  * - `false`: Whether to display error by `invalid`\n//  * - `true`: Force show display error\n//  */\n// force?: boolean;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}