{"version":3,"sources":["../../../src/actions/submit/collab-stage.ts"],"names":[],"mappings":";;AAqBO,MAAM,0BAA0B,YAA2C,CAAA;AAAA;AAAA;AAAA;AAAA,EAIhF,IAAA;AAAA,EAEA,WAAY,CAAA,GAAA,EAAgB,OAA+B,GAAA,EAAI,EAAA;AAC7D,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAO,MAAA,CAAA,MAAA,CAAO,MAAM,OAAO,CAAA;AAC3B,IAAA,IAAA,CAAK,IAAO,GAAA;AAAA,MACV,OAAS,EAAA;AAAA,QACP,IAAM,EAAA,QAAA;AAAA,QACN,OAAO,GACH,GAAA;AAAA,UACE,IAAM,EAAA,mBAAA;AAAA,UACN,OAAS,EAAA;AAAA,SAEX,GAAA;AAAA;AACN,KACF;AAAA;AACF,EAEA,OAAO,KAAK,OAAmC,EAAA;AAC7C,IAAA,OAAO,IAAI,iBAAkB,CAAA,OAAA,CAAQ,KAAK,OAAQ,CAAA,KAAA,EAAO,SAAS,OAAO,CAAA;AAAA;AAC3E,EAEA,SAAS,KAAyB,EAAA;AAChC,IAAA,KAAA,CAAM,QAAS,CAAA,EAAE,OAAS,EAAA,KAAA,EAAO,CAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,UAAU,KAAiB,EAAA;AACzB,IAAA,IAAA,CAAK,IAAK,CAAA,OAAA,CAAQ,KAAQ,GAAA,IAAI,qBAAqB,KAAK,CAAA;AACxD,IAAO,OAAA,IAAA;AAAA;AAEX;AAiBO,MAAM,eAA4C,CAAA;AAAA,EACvD,IAAA;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA;AAAA,EAEA,YAAY,KAA+B,EAAA;AACzC,IAAA,IAAA,CAAK,IAAO,GAAA,QAAA;AACZ,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AAAA;AAEjB;AAiBO,MAAM,oBAAsD,CAAA;AAAA,EACjE,IAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA;AAAA,EAEA,YAAY,GAAe,EAAA;AACzB,IAAA,IAAA,CAAK,IAAO,GAAA,mBAAA;AACZ,IAAA,IAAA,CAAK,OAAU,GAAA,GAAA;AAAA;AAEnB","file":"collab-stage.mjs","sourcesContent":["import { ITabInfo } from '../../common';\n\nimport { ISubmitAction, MSTeamsData, SubmitAction, SubmitActionOptions } from './submit';\n\nexport type CollabStageActionOptions = SubmitActionOptions & {\n  data: MSTeamsData<ICollabStageData>;\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: MSTeamsData<ICollabStageData>;\n}\n\n/**\n * Adaptive Card action that opens a collab stage popout window.\n */\nexport class CollabStageAction extends SubmitAction implements ICollabStageAction {\n  /**\n   * Initial data that input fields will be combined with. These are essentially ‘hidden’ properties.\n   */\n  data: MSTeamsData<ICollabStageData>;\n\n  constructor(tab?: ITabInfo, options: SubmitActionOptions = {}) {\n    super(options);\n    Object.assign(this, options);\n    this.data = {\n      msteams: {\n        type: 'invoke',\n        value: tab\n          ? {\n              type: 'tab/tabInfoAction',\n              tabInfo: tab,\n            }\n          : undefined,\n      },\n    };\n  }\n\n  static from(options: CollabStageActionOptions) {\n    return new CollabStageAction(options.data.msteams.value?.tabInfo, options);\n  }\n\n  withData(value: ICollabStageData) {\n    super.withData({ msteams: value });\n    return this;\n  }\n\n  withValue(value: ITabInfo) {\n    this.data.msteams.value = new CollabStageValueData(value);\n    return this;\n  }\n}\n\n/**\n * Contains the Adaptive Card action data in {@link CollabStageAction}.\n */\nexport interface ICollabStageData {\n  type: 'invoke';\n\n  /**\n   * Set the value to send with the invoke\n   */\n  value?: ICollabStageValueData;\n}\n\n/**\n * Contains the Adaptive Card action data in {@link CollabStageAction}.\n */\nexport class CollabStageData implements ICollabStageData {\n  type: 'invoke';\n\n  /**\n   * Set the value to send with the invoke\n   */\n  value?: ICollabStageValueData;\n\n  constructor(value?: ICollabStageValueData) {\n    this.type = 'invoke';\n    this.value = value;\n  }\n}\n\n/**\n * Contains the Adaptive Card action value data in {@link CollabStageActionData}.\n */\nexport interface ICollabStageValueData {\n  type: 'tab/tabInfoAction';\n\n  /**\n   * Information about the iFrame content, rendered in the collab stage popout window.\n   */\n  tabInfo: ITabInfo;\n}\n\n/**\n * Contains the Adaptive Card action value data in {@link CollabStageActionData}.\n */\nexport class CollabStageValueData implements ICollabStageValueData {\n  type: 'tab/tabInfoAction';\n\n  /**\n   * Information about the iFrame content, rendered in the collab stage popout window.\n   */\n  tabInfo: ITabInfo;\n\n  constructor(tab: ITabInfo) {\n    this.type = 'tab/tabInfoAction';\n    this.tabInfo = tab;\n  }\n}\n"]}