{
  "version": 3,
  "sources": ["../../src/web/pages/projects/components/settings/SettingsModal.styles.ts", "../../src/web/pages/projects/components/settings/team/utils/useConfirmationModal.ts"],
  "sourcesContent": ["import \"SettingsModal.styles_1up7wo9.wyw.css\"; export const modalHeight = 480;\nexport const headerHeight = 52;\nexport const modal = \"modal_m1jructr\";\nexport const sidebar = \"sidebar_s1eyh20f\";\nexport const header = \"header_hrrmjc5\";\nexport const title = \"title_th35clz\";\nexport const accountSettingsHeader = \"accountSettingsHeader_acewvvt\";\nexport const wrapper = \"wrapper_w1irvx1g\";\nexport const main = \"main_mjqo3uh\";\nexport const navLink = \"navLink_n12vjk8o\";\nexport const activeNavLink = \"activeNavLink_a1si0lc0\";\nexport const content = \"content_c1iwwatf\";\nexport const iconCancel = \"iconCancel_i1g816o5\";\nexport const description = \"description_d191gi3r\";", "import { useExperimentIsOn } from \"app/experiments.ts\"\nimport React from \"react\"\n\nexport interface ShowConfirmationModalProps {\n\ttitle: string\n\tdescription: React.ReactNode\n\tchildren?: React.ReactNode\n\tvariant?: \"destructive\"\n\tconfirmLabel: string\n\tcancelLabel?: string\n\tconfirmButtonLoading?: boolean\n\tconfirmButtonEnabled?: boolean\n\tonShow?: () => void\n\tonDismiss?: () => void\n\tonCancel?: () => void\n\tonConfirm?: () => void | Promise<void>\n}\n\ninterface OutputModalProps extends ShowConfirmationModalProps {\n\tonDismiss: () => void\n\tonCancel: () => void\n\tonConfirm: () => void | Promise<void>\n}\n\nexport interface ConfirmationModalActions {\n\tshowConfirmationModal: (modalProps: ShowConfirmationModalProps) => void\n\tupdateConfirmationModal: (props: Partial<ShowConfirmationModalProps>) => void\n}\n\ntype Result = [OutputModalProps | undefined, ConfirmationModalActions]\n\nexport function useConfirmationModal(): Result {\n\tconst isAgentExperimentOn = useExperimentIsOn(\"agent\")\n\tconst [modalProps, setModalProps] = React.useState<ShowConfirmationModalProps | undefined>()\n\n\tconst showConfirmationModal = (props: ShowConfirmationModalProps) => {\n\t\tsetModalProps(props)\n\t}\n\n\tconst updateConfirmationModal = (props: Partial<ShowConfirmationModalProps>) => {\n\t\tsetModalProps(prev => {\n\t\t\tif (!prev) return\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\t...props,\n\t\t\t}\n\t\t})\n\t}\n\n\tconst handleConfirm = React.useCallback(() => {\n\t\tconst dismissAfterCompletion = async () => {\n\t\t\tif (modalProps?.onConfirm) await modalProps.onConfirm()\n\t\t\tsetModalProps(undefined)\n\t\t}\n\t\tupdateConfirmationModal({ confirmButtonLoading: true })\n\t\tvoid dismissAfterCompletion().finally(() => {\n\t\t\tupdateConfirmationModal({ confirmButtonLoading: false })\n\t\t})\n\t}, [modalProps])\n\n\tconst handleCancel = React.useCallback(() => {\n\t\tmodalProps?.onCancel?.()\n\t\tsetModalProps(undefined)\n\t}, [modalProps])\n\n\tconst handleDismiss = React.useCallback(() => {\n\t\tmodalProps?.onDismiss?.()\n\t\tsetModalProps(undefined)\n\t}, [modalProps])\n\n\tconst outputModalProps = modalProps && {\n\t\t...modalProps,\n\t\tonConfirm: handleConfirm,\n\t\tonCancel: handleCancel,\n\t\tonDismiss: handleDismiss,\n\t\tlegacy: !isAgentExperimentOn,\n\t}\n\n\treturn [outputModalProps, { showConfirmationModal, updateConfirmationModal }]\n}\n\nexport const ConfirmationModalContext = React.createContext<ConfirmationModalActions>({\n\tshowConfirmationModal: () => {\n\t\tthrow new Error(\"ConfirmationModalContext value not defined!\")\n\t},\n\tupdateConfirmationModal: () => {\n\t\tthrow new Error(\"ConfirmationModalContext value not defined!\")\n\t},\n})\n"],
  "mappings": ";;;;;;;;;;;AAEO,IAAM,QAAQ;AACd,IAAM,UAAU;AAChB,IAAM,SAAS;AACf,IAAM,QAAQ;AACd,IAAM,wBAAwB;AAC9B,IAAM,UAAU;AAChB,IAAM,OAAO;AACb,IAAM,UAAU;AAChB,IAAM,gBAAgB;AACtB,IAAM,UAAU;AAChB,IAAM,aAAa;AACnB,IAAM,cAAc;;;ACZ3B,mBAAkB;AA8BX,SAAS,uBAA+B;AAC9C,QAAM,sBAAsB,kBAAkB,OAAO;AACrD,QAAM,CAAC,YAAY,aAAa,IAAI,aAAAA,QAAM,SAAiD;AAE3F,QAAM,wBAAwB,CAAC,UAAsC;AACpE,kBAAc,KAAK;AAAA,EACpB;AAEA,QAAM,0BAA0B,CAAC,UAA+C;AAC/E,kBAAc,UAAQ;AACrB,UAAI,CAAC,KAAM;AACX,aAAO;AAAA,QACN,GAAG;AAAA,QACH,GAAG;AAAA,MACJ;AAAA,IACD,CAAC;AAAA,EACF;AAEA,QAAM,gBAAgB,aAAAA,QAAM,YAAY,MAAM;AAC7C,UAAM,yBAAyB,YAAY;AAC1C,UAAI,YAAY,UAAW,OAAM,WAAW,UAAU;AACtD,oBAAc,MAAS;AAAA,IACxB;AACA,4BAAwB,EAAE,sBAAsB,KAAK,CAAC;AACtD,SAAK,uBAAuB,EAAE,QAAQ,MAAM;AAC3C,8BAAwB,EAAE,sBAAsB,MAAM,CAAC;AAAA,IACxD,CAAC;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,eAAe,aAAAA,QAAM,YAAY,MAAM;AAC5C,gBAAY,WAAW;AACvB,kBAAc,MAAS;AAAA,EACxB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,gBAAgB,aAAAA,QAAM,YAAY,MAAM;AAC7C,gBAAY,YAAY;AACxB,kBAAc,MAAS;AAAA,EACxB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,mBAAmB,cAAc;AAAA,IACtC,GAAG;AAAA,IACH,WAAW;AAAA,IACX,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ,CAAC;AAAA,EACV;AAEA,SAAO,CAAC,kBAAkB,EAAE,uBAAuB,wBAAwB,CAAC;AAC7E;AAEO,IAAM,2BAA2B,aAAAA,QAAM,cAAwC;AAAA,EACrF,uBAAuB,MAAM;AAC5B,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC9D;AAAA,EACA,yBAAyB,MAAM;AAC9B,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC9D;AACD,CAAC;",
  "names": ["React"]
}
