{"version":3,"sources":["../src/components/SaveButton.tsx"],"names":["Button","React","useKey","SaveButton","onSave","children","props","saveData","useSaveData","saveHandler","data","error","event","canExecute","SaveButton_default"],"mappings":"oKAAA,OAAS,UAAAA,MAAc,gBACvB,UAAYC,MAAW,QACvB,OAAS,UAAAC,MAAc,YAKvB,IAAMC,EAAwC,CAAC,CAC7C,OAAAC,EACA,SAAAC,KACGC,CACL,IAAM,CACJ,IAAMC,EAAWC,EAAY,EAEvBC,EAAc,SAAY,CAC9B,GAAI,CACF,IAAMC,EAAO,MAAMH,EAAS,EAE5B,MAAMH,EAAOM,CAAI,CACnB,OAASC,EAAP,CACA,QAAQ,MAAMA,CAAK,CACrB,CACF,EAEA,OAAAT,EAAO,IAAMU,GAAU,CACjBC,EAAWD,CAAK,GAAGH,EAAY,CACrC,CAAC,EAGC,gBAACT,EAAA,CACC,KAAK,QACL,QAAQ,YACR,MAAM,YACL,GAAGM,EACJ,QAASG,GAERJ,GAAY,aACf,CAEJ,EAEOS,EAAQX","sourcesContent":["import { Button } from \"@mui/material\";\nimport * as React from \"react\";\nimport { useKey } from \"react-use\";\nimport { useSaveData } from \"../hooks/useSaveData\";\nimport { canExecute } from \"../lib/canExecute\";\nimport { SaveButtonProps } from \"../utils/interfaces/core/SaveBtn\";\n\nconst SaveButton: React.FC<SaveButtonProps> = ({\n  onSave,\n  children,\n  ...props\n}) => {\n  const saveData = useSaveData();\n\n  const saveHandler = async () => {\n    try {\n      const data = await saveData();\n\n      await onSave(data);\n    } catch (error) {\n      console.error(error);\n    }\n  };\n\n  useKey(\"s\", (event) => {\n    if (canExecute(event)) saveHandler();\n  });\n\n  return (\n    <Button\n      size=\"small\"\n      variant=\"contained\"\n      color=\"secondary\"\n      {...props}\n      onClick={saveHandler}\n    >\n      {children ?? \"Sauvegarder\"}\n    </Button>\n  );\n};\n\nexport default SaveButton;\n"]}