{"version":3,"sources":["../../src/utils/colors.ts"],"names":[],"mappings":"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","file":"colors.mjs","sourcesContent":["import chalk from 'chalk';\n\nimport {PathInfo} from '../types';\n\n// Make sure the chalk works in the test environment\nchalk.level = 1;\n\nclass Colors {\n  private colorEnabled = true;\n\n  setColorMode(enabled: boolean): void {\n    this.colorEnabled = enabled;\n  }\n\n  success(text: string): string {\n    return this.colorEnabled ? chalk.green(text) : text;\n  }\n\n  error(text: string): string {\n    return this.colorEnabled ? chalk.red(text) : text;\n  }\n\n  warning(text: string): string {\n    return this.colorEnabled ? chalk.yellow(text) : text;\n  }\n\n  info(text: string): string {\n    return this.colorEnabled ? chalk.blue(text) : text;\n  }\n\n  dim(text: string): string {\n    return this.colorEnabled ? chalk.dim(text) : text;\n  }\n\n  bold(text: string): string {\n    return this.colorEnabled ? chalk.bold(text) : text;\n  }\n\n  progress(text: string): string {\n    return this.colorEnabled ? chalk.cyan(text) : text;\n  }\n\n  highlight(text: string): string {\n    return this.colorEnabled ? chalk.magenta(text) : text;\n  }\n\n  formatSuccess(message: string): string {\n    return this.colorEnabled ? `${this.success('Success:')} ${message}` : `Success: ${message}`;\n  }\n\n  formatError(error: string): string {\n    return this.colorEnabled ? `${this.error('Error:')} ${error}` : `Error: ${error}`;\n  }\n\n  formatWarning(message: string): string {\n    return this.colorEnabled ? `${this.warning('Warning:')} ${message}` : `Warning: ${message}`;\n  }\n\n  formatPath(pathInfo: PathInfo): string {\n    if (!this.colorEnabled) {\n      return `${pathInfo.path} [${pathInfo.metadata.appName || ''}]`;\n    }\n\n    const accessIcon = pathInfo.isAccessible ? '✓' : '✗';\n    const accessColor = pathInfo.isAccessible ? chalk.green : chalk.red;\n    const pathColor = chalk.blue;\n    const metaColor = chalk.gray;\n\n    return `${accessColor(accessIcon)} ${pathColor(pathInfo.path)} ${metaColor(pathInfo.metadata.appName || '')}`;\n  }\n\n  formatProgress(current: number, total: number, message: string): string {\n    const percentage = Math.round((current / total) * 100);\n    const progressText = `[${current}/${total}] ${percentage}% ${message}`;\n\n    if (!this.colorEnabled) {\n      return progressText;\n    }\n\n    return chalk.cyan(progressText);\n  }\n}\n\nexport const colors = new Colors();\nexport default colors;\n"]}