{"version":3,"file":"config.mjs","sources":["../../../../packages/util/config/abc/sv.type.ts","../../../../packages/util/config/config.types.ts","../../../../packages/util/config/config.service.ts","../../../../packages/util/config/config.ts"],"sourcesContent":["export class YunzaiSVConfig {\n  /** 大小，默认：`large` */\n  size?: 'small' | 'large';\n  /** 间距，默认：`32` */\n  gutter?: number;\n  /** 布局，默认：`horizontal` */\n  layout?: 'horizontal' | 'vertical';\n  /** 列数，默认：`3` */\n  col?: number;\n  /** 是否显示默认值，当内容为空值时显示 `-`，默认：`true` */\n  default?: boolean;\n  /** `label` 固定宽度，若 `null` 或 `undefined` 表示非固定，默认：`null` */\n  labelWidth?: number;\n}\n","import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nimport {\n  YunzaiCellConfig,\n  YunzaiDateRangePickerConfig,\n  YunzaiErrorCollectConfig,\n  YunzaiExceptionType,\n  YunzaiImageConfig,\n  YunzaiLoadingConfig,\n  YunzaiLodopConfig,\n  YunzaiMediaConfig,\n  YunzaiOnboardingConfig,\n  YunzaiPageHeaderConfig,\n  YunzaiPdfConfig,\n  YunzaiSEConfig,\n  YunzaiSGConfig,\n  YunzaiSTConfig,\n  YunzaiSVConfig,\n  YunzaiXlsxConfig,\n  YunzaiZipConfig\n} from './abc/index';\nimport { YunzaiACLConfig } from './acl/acl.type';\nimport { YunzaiAuthConfig } from './auth/auth.type';\nimport { YunzaiBusinessConfig } from './bis/bis.type';\nimport { YunzaiCacheConfig } from './cache/cache.type';\nimport { YunzaiChartConfig } from './chart/chart.type';\nimport { YunzaiMockConfig } from './mock/mock.type';\nimport { YunzaiSFConfig } from './sf/sf.type';\nimport { YunzaiSocketConfig } from './socket/socket.type';\nimport { YunzaiThemeHttpClientConfig, YunzaiThemeResponsiveConfig, YunzaiThemeI18nConfig } from './theme/index';\nimport { YunzaiThemePipeConfig } from './theme/pipe.type';\nimport { YunzaiUtilArrayConfig } from './util/array.type';\nimport { YunzaiUtilCurrencyConfig } from './util/currency.type';\n\nexport interface YunzaiConfig {\n  bis?: YunzaiBusinessConfig;\n  socket?: YunzaiSocketConfig;\n  dataRange?: YunzaiDateRangePickerConfig;\n  exception?: YunzaiExceptionType;\n  errorCollect?: YunzaiErrorCollectConfig;\n  image?: YunzaiImageConfig;\n  loading?: YunzaiLoadingConfig;\n  onboarding?: YunzaiOnboardingConfig;\n  lodop?: YunzaiLodopConfig;\n  pageHeader?: YunzaiPageHeaderConfig;\n  se?: YunzaiSEConfig;\n  sg?: YunzaiSGConfig;\n  sv?: YunzaiSVConfig;\n  st?: YunzaiSTConfig;\n  sf?: YunzaiSFConfig;\n  cell?: YunzaiCellConfig;\n  xlsx?: YunzaiXlsxConfig;\n  zip?: YunzaiZipConfig;\n  pdf?: YunzaiPdfConfig;\n  media?: YunzaiMediaConfig;\n  acl?: YunzaiACLConfig;\n  auth?: YunzaiAuthConfig;\n  cache?: YunzaiCacheConfig;\n  chart?: YunzaiChartConfig;\n  mock?: YunzaiMockConfig;\n  utilArray?: YunzaiUtilArrayConfig;\n  utilCurrency?: YunzaiUtilCurrencyConfig;\n  themeHttp?: YunzaiThemeHttpClientConfig;\n  themeResponsive?: YunzaiThemeResponsiveConfig;\n  themeI18n?: YunzaiThemeI18nConfig;\n  themePipe?: YunzaiThemePipeConfig;\n}\n\nexport type YunzaiConfigKey = keyof YunzaiConfig;\n\nexport const YUNZAI_CONFIG = new InjectionToken<YunzaiConfig>('yunzai-config', {\n  providedIn: 'root',\n  factory: YUNZAI_CONFIG_FACTORY\n});\n\nexport function YUNZAI_CONFIG_FACTORY(): YunzaiConfig {\n  return {};\n}\n\nexport function provideYunzaiConfig(config: YunzaiConfig): EnvironmentProviders {\n  return makeEnvironmentProviders([{ provide: YUNZAI_CONFIG, useValue: config }]);\n}\n","import { inject, Injectable } from '@angular/core';\nimport { SIGNAL, SignalNode } from '@angular/core/primitives/signals';\n\nimport { deepMergeKey } from '@yelon/util/other';\n\nimport { YunzaiConfig, YunzaiConfigKey, YUNZAI_CONFIG } from './config.types';\n\n@Injectable({ providedIn: 'root' })\nexport class YunzaiConfigService {\n  private readonly config = { ...inject(YUNZAI_CONFIG, { optional: true }) };\n\n  get<T extends YunzaiConfigKey>(componentName: T, key?: string): YunzaiConfig[T] {\n    const res = ((this.config[componentName] as Record<string, unknown>) || {}) as any;\n    return key ? { [key]: res[key] } : res;\n  }\n\n  merge<T extends YunzaiConfigKey>(componentName: T, ...defaultValues: Array<YunzaiConfig[T]>): YunzaiConfig[T] {\n    return deepMergeKey({}, true, ...defaultValues, this.get(componentName));\n  }\n\n  /**\n   * 将配置附加到当前实例中，支持 Signal 信号\n   */\n  attach<T extends YunzaiConfigKey>(componentThis: unknown, componentName: T, defaultValues: YunzaiConfig[T]): void {\n    const data = this.merge<T>(componentName, defaultValues);\n    Object.entries(data as object).forEach(([key, value]) => {\n      const t = componentThis as any;\n      const s = t[key]?.[SIGNAL] as SignalNode<any>;\n      if (s != null) {\n        s.value = value;\n      } else {\n        t[key] = value;\n      }\n    });\n  }\n\n  set<T extends YunzaiConfigKey>(componentName: T, value: YunzaiConfig[T]): void {\n    this.config[componentName] = { ...this.config[componentName], ...value };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAAa,cAAc,CAAA;;AAEzB,IAAA,IAAI;;AAEJ,IAAA,MAAM;;AAEN,IAAA,MAAM;;AAEN,IAAA,GAAG;;AAEH,IAAA,OAAO;;AAEP,IAAA,UAAU;AACX;;MCyDY,aAAa,GAAG,IAAI,cAAc,CAAe,eAAe,EAAE;AAC7E,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE;AACV,CAAA;SAEe,qBAAqB,GAAA;AACnC,IAAA,OAAO,EAAE;AACX;AAEM,SAAU,mBAAmB,CAAC,MAAoB,EAAA;AACtD,IAAA,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACjF;;MCzEa,mBAAmB,CAAA;AACb,IAAA,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;IAE1E,GAAG,CAA4B,aAAgB,EAAE,GAAY,EAAA;AAC3D,QAAA,MAAM,GAAG,IAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAA6B,IAAI,EAAE,CAAQ;AAClF,QAAA,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG;;AAGxC,IAAA,KAAK,CAA4B,aAAgB,EAAE,GAAG,aAAqC,EAAA;AACzF,QAAA,OAAO,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;AAG1E;;AAEG;AACH,IAAA,MAAM,CAA4B,aAAsB,EAAE,aAAgB,EAAE,aAA8B,EAAA;QACxG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAI,aAAa,EAAE,aAAa,CAAC;AACxD,QAAA,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;YACtD,MAAM,CAAC,GAAG,aAAoB;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAoB;AAC7C,YAAA,IAAI,CAAC,IAAI,IAAI,EAAE;AACb,gBAAA,CAAC,CAAC,KAAK,GAAG,KAAK;;iBACV;AACL,gBAAA,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;;AAElB,SAAC,CAAC;;IAGJ,GAAG,CAA4B,aAAgB,EAAE,KAAsB,EAAA;AACrE,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE;;uGA7B/D,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA;;2FACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACPlC;;AAEG;;;;"}