{"version":3,"sources":["../../src/medias/progress-ring.ts"],"names":[],"mappings":";;AA+BO,MAAM,qBAAqB,OAAiC,CAAA;AAAA,EACjE,IAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAA;AAAA,EAEA,WAAA,CAAY,OAA+B,GAAA,EAAI,EAAA;AAC7C,IAAM,KAAA,EAAA;AACN,IAAA,IAAA,CAAK,IAAO,GAAA,cAAA;AACZ,IAAO,MAAA,CAAA,MAAA,CAAO,MAAM,OAAO,CAAA;AAAA;AAC7B,EAEA,OAAO,KAAK,OAA8B,EAAA;AACxC,IAAO,OAAA,IAAI,aAAa,OAAO,CAAA;AAAA;AACjC,EAEA,SAAA,CAAU,OAAe,QAAmD,EAAA;AAC1E,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AACb,IAAA,IAAA,CAAK,aAAgB,GAAA,QAAA;AACrB,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,kBAAkB,KAA+C,EAAA;AAC/D,IAAA,IAAA,CAAK,aAAgB,GAAA,KAAA;AACrB,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,SAAS,KAA8C,EAAA;AACrD,IAAA,IAAA,CAAK,IAAO,GAAA,KAAA;AACZ,IAAO,OAAA,IAAA;AAAA;AAEX","file":"progress-ring.mjs","sourcesContent":["import { IElement, Element } from '../base';\n\n/**\n * A spinning ring element, to indicate progress.\n */\nexport interface IProgressRing extends IElement {\n  type: 'ProgressRing';\n\n  /**\n   * The label of the progress ring.\n   */\n  label?: string;\n\n  /**\n   * Controls the relative position of the label to the progress ring.\n   * @default `above`\n   */\n  labelPosition?: 'before' | 'after' | 'above' | 'below';\n\n  /**\n   * The size of the progress ring.\n   * @default `medium`\n   */\n  size?: 'tiny' | 'small' | 'medium' | 'large';\n}\n\nexport type ProgressRingOptions = Omit<IProgressRing, 'type'>;\n\n/**\n * A spinning ring element, to indicate progress.\n */\nexport class ProgressRing extends Element implements IProgressRing {\n  type: 'ProgressRing';\n\n  /**\n   * The label of the progress ring.\n   */\n  label?: string;\n\n  /**\n   * Controls the relative position of the label to the progress ring.\n   * @default `above`\n   */\n  labelPosition?: 'before' | 'after' | 'above' | 'below';\n\n  /**\n   * The size of the progress ring.\n   * @default `medium`\n   */\n  size?: 'tiny' | 'small' | 'medium' | 'large';\n\n  constructor(options: ProgressRingOptions = {}) {\n    super();\n    this.type = 'ProgressRing';\n    Object.assign(this, options);\n  }\n\n  static from(options: ProgressRingOptions) {\n    return new ProgressRing(options);\n  }\n\n  withLabel(value: string, position?: 'before' | 'after' | 'above' | 'below') {\n    this.label = value;\n    this.labelPosition = position;\n    return this;\n  }\n\n  withLabelPosition(value: 'before' | 'after' | 'above' | 'below') {\n    this.labelPosition = value;\n    return this;\n  }\n\n  withSize(value: 'tiny' | 'small' | 'medium' | 'large') {\n    this.size = value;\n    return this;\n  }\n}\n"]}