{"version":3,"file":"ng-nest-ui-color.mjs","sources":["../../../../lib/ng-nest/ui/color/color.property.ts","../../../../lib/ng-nest/ui/color/color.component.ts","../../../../lib/ng-nest/ui/color/color.component.html","../../../../lib/ng-nest/ui/color/color.module.ts","../../../../lib/ng-nest/ui/color/ng-nest-ui-color.ts"],"sourcesContent":["import { XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\n\r\n/**\r\n * Color\r\n * @selector x-color\r\n * @decorator component\r\n */\r\nexport const XColorPrefix = 'x-color';\r\nconst X_COLOR_CONFIG_NAME = 'color';\r\n\r\n/**\r\n * Color Property\r\n */\r\n@Component({ selector: `${XColorPrefix}-property`, template: '' })\r\nexport class XColorProperty extends XPropertyFunction(X_COLOR_CONFIG_NAME) {\r\n  /**\r\n   * @zh_CN 颜色名称\r\n   * @en_US Color name\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-color label=\"primary\"></x-color>\r\n   * ```\r\n   *\r\n   */\r\n  readonly label = input<string>('color');\r\n  /**\r\n   * @zh_CN 十六进制颜色码，此处默认读取 css 变量中的主色\r\n   * @en_US Hexadecimal color code, here the main color in the css variable is read by default\r\n   * @default 'var(--x-primary)'\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-color hex=\"#67c23a\"></x-color>\r\n   * ```\r\n   *\r\n   */\r\n  readonly hex = input<string>('var(--x-primary)');\r\n  /**\r\n   * @zh_CN 混合的颜色\r\n   * @en_US Mixed colors\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-color merge=\"#ffffff\"></x-color>\r\n   * ```\r\n   *\r\n   */\r\n  readonly merge = input<string>(this.config?.merge ?? '#ffffff');\r\n  /**\r\n   * @zh_CN 混合的颜色占比\r\n   * @en_US Proportion of mixed colors\r\n   * @default [-0.1, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-color [amounts]=\"[0.8, 0.9]\"></x-color>\r\n   * ```\r\n   *\r\n   */\r\n  readonly amounts = input<number[]>(this.config?.amounts ?? [-0.1, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]);\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, computed, HostBinding } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XColorPrefix, XColorProperty } from './color.property';\r\nimport { XToHex, XMixColors, XComputed } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n  selector: XColorPrefix,\r\n  templateUrl: './color.component.html',\r\n  styleUrls: ['./style/index.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XColorComponent extends XColorProperty {\r\n  @HostBinding('class') className = XColorPrefix;\r\n  private doc = inject(DOCUMENT);\r\n\r\n  hexSignal = computed(() => {\r\n    if (!this.hex() || this.hex() === 'var(--x-primary)') {\r\n      return XComputed(this.doc.documentElement).getPropertyValue('--x-primary');\r\n    }\r\n    return this.hex();\r\n  });\r\n\r\n  colors = computed(() => {\r\n    const colors = [];\r\n    for (let amount of this.amounts()) {\r\n      colors.push(XToHex(XMixColors(this.merge(), this.hexSignal().trim(), amount)));\r\n    }\r\n    return colors;\r\n  });\r\n}\r\n","<div class=\"x-color-box\">\r\n  <div class=\"x-color-primary\" [style.background-color]=\"hexSignal()\" [class.x-color-only]=\"colors().length === 0\">\r\n    <span>{{ label() }}</span>\r\n    <span class=\"x-color-hex\">{{ hexSignal() }}</span>\r\n  </div>\r\n  <div class=\"x-color-gradual\">\r\n    @for (color of colors(); track color) {\r\n      <div class=\"x-color-item\" [style.background-color]=\"color\"></div>\r\n    }\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XColorComponent } from './color.component';\r\n\r\n@NgModule({\r\n  exports: [XColorComponent],\r\n  imports: [XColorComponent]\r\n})\r\nexport class XColorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}