{"version":3,"file":"ng-nest-ui-divider.mjs","sources":["../../../../lib/ng-nest/ui/divider/divider.property.ts","../../../../lib/ng-nest/ui/divider/divider.component.ts","../../../../lib/ng-nest/ui/divider/divider.component.html","../../../../lib/ng-nest/ui/divider/divider.module.ts","../../../../lib/ng-nest/ui/divider/ng-nest-ui-divider.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction } from '@ng-nest/ui/core';\r\nimport type { XSize } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Divider\r\n * @selector x-divider\r\n * @decorator component\r\n */\r\nexport const XDividerPrefix = 'x-divider';\r\nconst X_DIVIDER_CONFIG_NAME = 'divider';\r\n\r\n/**\r\n * Divider Property\r\n */\r\n@Component({ selector: `${XDividerPrefix}-property`, template: '' })\r\nexport class XDividerProperty extends XPropertyFunction(X_DIVIDER_CONFIG_NAME) {\r\n  /**\r\n   * @zh_CN 分割线方向\r\n   * @en_US Divider direction\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-divider direction=\"horizontal\">Horizontal</x-divider>\r\n   * <x-divider direction=\"vertical\"></x-divider>\r\n   * ```\r\n   *\r\n   */\r\n  readonly direction = input<XDividerDirection>(this.config?.direction ?? 'horizontal');\r\n  /**\r\n   * @zh_CN 标题位置\r\n   * @en_US Title position\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-divider position=\"left\">Left</x-divider>\r\n   * <x-divider position=\"center\">Center</x-divider>\r\n   * <x-divider position=\"right\">Right</x-divider>\r\n   * ```\r\n   *\r\n   */\r\n  readonly position = input<XDividerPosition>(this.config?.position ?? 'center');\r\n  /**\r\n   * @zh_CN 分割线变体\r\n   * @en_US Divider variant\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-divider variant=\"solid\">Solid</x-divider>\r\n   * <x-divider variant=\"dashed\">Dashed</x-divider>\r\n   * <x-divider variant=\"dotted\">Dotted</x-divider>\r\n   * ```\r\n   *\r\n   */\r\n  readonly variant = input<XDividerVariant>(this.config?.variant ?? 'solid');\r\n  /**\r\n   * @zh_CN 分割线尺寸（上下间隔）\r\n   * @en_US Divider size (margin)\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-divider size=\"big\">Big</x-divider>\r\n   * <x-divider size=\"large\">Large</x-divider>\r\n   * <x-divider size=\"medium\">Medium</x-divider>\r\n   * <x-divider size=\"small\">Small</x-divider>\r\n   * <x-divider size=\"mini\">Mini</x-divider>\r\n   * ```\r\n   *\r\n   */\r\n  readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n}\r\n\r\n/**\r\n * @zh_CN 分割线方向\r\n * @en_US Divider direction\r\n */\r\nexport type XDividerDirection = 'horizontal' | 'vertical';\r\n\r\n/**\r\n * @zh_CN 分割线标题位置\r\n * @en_US Divider title position\r\n */\r\nexport type XDividerPosition = 'left' | 'center' | 'right';\r\n\r\n/**\r\n * @zh_CN 分割线变体\r\n * @en_US Divider variant\r\n */\r\nexport type XDividerVariant = 'solid' | 'dashed' | 'dotted';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed, viewChild, ElementRef } from '@angular/core';\r\nimport { XDividerPrefix, XDividerProperty } from './divider.property';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n  selector: `${XDividerPrefix}`,\r\n  imports: [CommonModule],\r\n  templateUrl: './divider.component.html',\r\n  styleUrls: ['./divider.component.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDividerComponent extends XDividerProperty {\r\n  text = viewChild<ElementRef<HTMLElement>>('text');\r\n\r\n  hasText = computed(() => (this.text()?.nativeElement?.innerHTML ?? '').trim().length > 0);\r\n\r\n  /**\r\n   * @zh_CN 类名映射\r\n   * @en_US Class map\r\n   */\r\n  classMap = computed(() => ({\r\n    [`${XDividerPrefix}-${this.direction()}`]: true,\r\n    [`${XDividerPrefix}-${this.variant()}`]: true,\r\n    [`${XDividerPrefix}-with-text`]: this.hasText(),\r\n    [`${XDividerPrefix}-with-text-${this.position()}`]: this.hasText()\r\n  }));\r\n}\r\n","<div\r\n  class=\"x-divider\"\r\n  [ngClass]=\"classMap()\"\r\n  [class.x-divider-dashed]=\"variant() === 'dashed'\"\r\n  [class.x-divider-dotted]=\"variant() === 'dotted'\"\r\n>\r\n  @if (direction() === 'horizontal') {\r\n    <span #text class=\"x-divider-text\">\r\n      <ng-content select=\"text\"></ng-content>\r\n    </span>\r\n  }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XDividerComponent } from './divider.component';\r\n\r\n@NgModule({\r\n  exports: [XDividerComponent],\r\n  imports: [XDividerComponent]\r\n})\r\nexport class XDividerModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}