{"version":3,"sources":["../../../src/actions/submit/collab-stage.ts"],"names":[],"mappings":";;AAgCO,MAAM,0BACH,YAAA,CAEV;AAAA;AAAA;AAAA;AAAA,EAIE,IAAA;AAAA,EAEA,WAAA,CAAY,GAAA,EAAgB,OAAA,GAA+B,EAAC,EAAG;AAC7D,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,MAAA,CAAO,MAAA,CAAO,MAAM,OAAO,CAAA;AAC3B,IAAA,IAAA,CAAK,IAAA,GAAO,IAAI,gBAAA,CAAiB;AAAA,MAC/B,SAAS,IAAI,sBAAA;AAAA,QACX,MAAM,IAAI,0BAAA,CAA2B,EAAE,OAAA,EAAS,GAAA,EAAK,CAAA,GAAI;AAAA;AAC3D,KACD,CAAA;AAAA,EACH;AAAA,EAEA,OAAO,KAAK,OAAA,EAAsD;AAChE,IAAA,MAAM,OAAA,GAAU,QAAQ,IAAA,CAAK,OAAA;AAC7B,IAAA,MAAM,QAAQ,OAAA,EAAS,KAAA;AACvB,IAAA,OAAO,IAAI,iBAAA,CAAkB,KAAA,EAAO,OAAA,EAAS,OAAO,CAAA;AAAA,EACtD;AAAA,EAEA,SAAS,KAAA,EAAsC;AAC7C,IAAA,KAAA,CAAM,SAAS,IAAI,gBAAA,CAAiB,EAAE,OAAA,EAAS,KAAA,EAAO,CAAC,CAAA;AACvD,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,UAAU,KAAA,EAAuB;AAC/B,IAAA,MAAM,OAAA,GAAU,KAAK,IAAA,CAAK,OAAA;AAC1B,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAA,CAAQ,QAAQ,IAAI,0BAAA,CAA2B,EAAE,OAAA,EAAS,OAAO,CAAA;AAAA,IACnE;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"collab-stage.mjs","sourcesContent":["import type {\n  ICollabStageInvokeDataValue,\n  IInvokeSubmitActionData,\n  ISubmitAction,\n  ISubmitActionData,\n  ITabInfo,\n  SubmitActionOptions,\n} from '../../core';\nimport {\n  CollabStageInvokeDataValue,\n  InvokeSubmitActionData,\n  SubmitAction,\n  SubmitActionData,\n} from '../../core';\n\nexport type CollabStageActionOptions = SubmitActionOptions & {\n  data: ISubmitActionData;\n};\n\n/**\n * Adaptive Card action response type for the {@link CollabStageAction} function.\n */\nexport interface ICollabStageAction extends ISubmitAction {\n  /**\n   * Initial data that input fields will be combined with. These are essentially 'hidden' properties.\n   */\n  data: ISubmitActionData;\n}\n\n/**\n * Adaptive Card action that opens a collab stage popout window.\n */\nexport class CollabStageAction\n  extends SubmitAction\n  implements ICollabStageAction\n{\n  /**\n   * Initial data that input fields will be combined with. These are essentially 'hidden' properties.\n   */\n  data: ISubmitActionData;\n\n  constructor(tab?: ITabInfo, options: SubmitActionOptions = {}) {\n    super(options);\n    Object.assign(this, options);\n    this.data = new SubmitActionData({\n      msteams: new InvokeSubmitActionData(\n        tab ? new CollabStageInvokeDataValue({ tabInfo: tab }) : undefined,\n      ),\n    });\n  }\n\n  static from(options: CollabStageActionOptions): CollabStageAction {\n    const msteams = options.data.msteams as IInvokeSubmitActionData | undefined;\n    const value = msteams?.value as ICollabStageInvokeDataValue | undefined;\n    return new CollabStageAction(value?.tabInfo, options);\n  }\n\n  withData(value: IInvokeSubmitActionData): this {\n    super.withData(new SubmitActionData({ msteams: value }));\n    return this;\n  }\n\n  withValue(value: ITabInfo): this {\n    const msteams = this.data.msteams as IInvokeSubmitActionData | undefined;\n    if (msteams) {\n      msteams.value = new CollabStageInvokeDataValue({ tabInfo: value });\n    }\n    return this;\n  }\n}\n"]}