{"version":3,"sources":["../../src/medias/progress-bar.ts"],"names":[],"mappings":";;AA8BO,MAAM,oBAAoB,OAAgC,CAAA;AAAA,EAC/D,IAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA;AAAA;AAAA;AAAA;AAAA,EAKA,GAAA;AAAA,EAEA,WAAA,CAAY,OAA8B,GAAA,EAAI,EAAA;AAC5C,IAAM,KAAA,EAAA;AACN,IAAA,IAAA,CAAK,IAAO,GAAA,aAAA;AACZ,IAAO,MAAA,CAAA,MAAA,CAAO,MAAM,OAAO,CAAA;AAAA;AAC7B,EAEA,OAAO,KAAK,OAA6B,EAAA;AACvC,IAAO,OAAA,IAAI,YAAY,OAAO,CAAA;AAAA;AAChC,EAEA,UAAU,KAAc,EAAA;AACtB,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AACb,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,UAAU,KAAe,EAAA;AACvB,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AACb,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,QAAQ,KAAe,EAAA;AACrB,IAAA,IAAA,CAAK,GAAM,GAAA,KAAA;AACX,IAAO,OAAA,IAAA;AAAA;AAEX","file":"progress-bar.mjs","sourcesContent":["import { IElement, Element } from '../base';\nimport { Color } from '../common';\n\n/**\n * A progress bar element, to represent a value within a range.\n */\nexport interface IProgressBar extends IElement {\n  type: 'ProgressBar';\n\n  /**\n   * @default `accent`\n   */\n  color?: Color;\n\n  /**\n   * percentage\n   */\n  value?: number;\n\n  /**\n   * the max value\n   */\n  max?: number;\n}\n\nexport type ProgressBarOptions = Omit<IProgressBar, 'type'>;\n\n/**\n * A progress bar element, to represent a value within a range.\n */\nexport class ProgressBar extends Element implements IProgressBar {\n  type: 'ProgressBar';\n\n  /**\n   * @default `accent`\n   */\n  color?: Color;\n\n  /**\n   * percentage\n   */\n  value?: number;\n\n  /**\n   * the max value\n   */\n  max?: number;\n\n  constructor(options: ProgressBarOptions = {}) {\n    super();\n    this.type = 'ProgressBar';\n    Object.assign(this, options);\n  }\n\n  static from(options: ProgressBarOptions) {\n    return new ProgressBar(options);\n  }\n\n  withColor(value: Color) {\n    this.color = value;\n    return this;\n  }\n\n  withValue(value: number) {\n    this.value = value;\n    return this;\n  }\n\n  withMax(value: number) {\n    this.max = value;\n    return this;\n  }\n}\n"]}