{"version":3,"sources":["../../src/inputs/toggle.ts"],"names":[],"mappings":";;AAuCO,MAAM,oBAAoB,YAAqC,CAAA;AAAA,EACpE,IAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAA;AAAA,EAEA,WAAY,CAAA,KAAA,EAAe,OAA8B,GAAA,EAAI,EAAA;AAC3D,IAAM,KAAA,EAAA;AACN,IAAA,IAAA,CAAK,IAAO,GAAA,cAAA;AACZ,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AACb,IAAA,IAAA,CAAK,YAAY,OAAO,CAAA;AAAA;AAC1B,EAEA,YAAY,KAA2B,EAAA;AACrC,IAAO,MAAA,CAAA,MAAA,CAAO,MAAM,KAAK,CAAA;AACzB,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,UAAU,KAA0D,EAAA;AAClE,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AACb,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,aAAa,KAAwC,EAAA;AACnD,IAAA,IAAA,CAAK,QAAW,GAAA,KAAA;AAChB,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,YAAY,KAAsC,EAAA;AAChD,IAAA,IAAA,CAAK,OAAU,GAAA,KAAA;AACf,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,QAAA,CAAS,QAAQ,IAAM,EAAA;AACrB,IAAA,IAAA,CAAK,IAAO,GAAA,KAAA;AACZ,IAAO,OAAA,IAAA;AAAA;AAEX","file":"toggle.mjs","sourcesContent":["import { IInputElement, InputElement } from './base';\n\n/**\n * Lets a user choose between two options.\n */\nexport interface IToggleInput extends IInputElement {\n  type: 'Input.Toggle';\n\n  /**\n   * Title for the toggle\n   */\n  title: string;\n\n  /**\n   * The initial selected value. If you want the toggle to be initially on, set this to the value of valueOn‘s value.\n   */\n  value?: 'true' | 'false' | Omit<string, 'true' | 'false'>;\n\n  /**\n   * The value when toggle is off\n   */\n  valueOff?: 'false' | Omit<string, 'false'>;\n\n  /**\n   * The value when toggle is on\n   */\n  valueOn?: 'true' | Omit<string, 'true'>;\n\n  /**\n   * If `true`, allow text to wrap. Otherwise, text is clipped.\n   */\n  wrap?: boolean;\n}\n\nexport type ToggleInputOptions = Omit<IToggleInput, 'type' | 'title'>;\n\n/**\n * Lets a user choose between two options.\n */\nexport class ToggleInput extends InputElement implements IToggleInput {\n  type: 'Input.Toggle';\n\n  /**\n   * Title for the toggle\n   */\n  title: string;\n\n  /**\n   * The initial selected value. If you want the toggle to be initially on, set this to the value of valueOn‘s value.\n   */\n  value?: 'true' | 'false' | Omit<string, 'true' | 'false'>;\n\n  /**\n   * The value when toggle is off\n   */\n  valueOff?: 'false' | Omit<string, 'false'>;\n\n  /**\n   * The value when toggle is on\n   */\n  valueOn?: 'true' | Omit<string, 'true'>;\n\n  /**\n   * If `true`, allow text to wrap. Otherwise, text is clipped.\n   */\n  wrap?: boolean;\n\n  constructor(title: string, options: ToggleInputOptions = {}) {\n    super();\n    this.type = 'Input.Toggle';\n    this.title = title;\n    this.withOptions(options);\n  }\n\n  withOptions(value: ToggleInputOptions) {\n    Object.assign(this, value);\n    return this;\n  }\n\n  withValue(value: 'true' | 'false' | Omit<string, 'true' | 'false'>) {\n    this.value = value;\n    return this;\n  }\n\n  withValueOff(value: 'false' | Omit<string, 'false'>) {\n    this.valueOff = value;\n    return this;\n  }\n\n  withValueOn(value: 'true' | Omit<string, 'true'>) {\n    this.valueOn = value;\n    return this;\n  }\n\n  withWrap(value = true) {\n    this.wrap = value;\n    return this;\n  }\n}\n"]}