{"version":3,"file":"SubmitButton.mjs","names":["Button","ButtonProps","React","forwardRef","ComponentType","FormSpy","FluentButton","SubmitButtonProps","ElementType","D","P","ButtonComponent","disablePristine","SubmitButtonComponent","SubmitButton","HTMLButtonElement","props","ref","$","_c","disabled","otherProps","t0","t1","undefined","t2","Symbol","for","submitting","pristine","t3","t4","displayName"],"sources":["../../../src/utilities/form/SubmitButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@material-ui/core';\nimport React, { forwardRef, ComponentType } from 'react';\nimport { FormSpy } from 'react-final-form';\nimport { FluentButton } from '../../UI/inputs/buttons/FluentButton';\n\nexport type SubmitButtonProps<\n  P = {},\n  D extends React.ElementType = 'button'\n  > = ButtonProps<D, P> & {\n    // @fixme Probably want to swap this with something that'll allow ...otherProps to inherit the specified component's props to pass through\n    ButtonComponent?: typeof FluentButton;\n    disablePristine: boolean;\n  };\n\ntype SubmitButtonComponent<\n  P = {},\n  D extends React.ElementType = 'button'\n  > = ComponentType<SubmitButtonProps<P, D>>;\n\n/**\n * A MUI Button varaint intended for use as the submit button for a form\n */\nexport let SubmitButton = forwardRef<HTMLButtonElement, SubmitButtonProps>((props, ref) => {\n  const {\n    ButtonComponent = FluentButton,\n    disabled,\n    disablePristine = true,\n    ...otherProps\n  } = props;\n\n  return (\n    <FormSpy subscription={{ submitting: true, pristine: true }}>\n      {({ submitting, pristine }) => (\n        <ButtonComponent\n          ref={ref}\n          type=\"submit\"\n          disabled={submitting || (disablePristine && pristine) || disabled}\n          {...otherProps}\n        />\n      )}\n    </FormSpy>\n  );\n});\nSubmitButton.displayName = 'SubmitButton';\n"],"mappings":";;;;;;;;AAsBA,IAAWc,eAAeX,YAAiDa,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAL,EAAA,OAAAF,OAAA;AACzE,GAAA,CAAAL,iBAAAW,IAAAF,UAAAR,iBAAAW,OAAAF,cAKIL;AAAME,IAAA,KAAAF;AAAAE,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;QAAA;AAAAH,aAAAF,EAAA;AAAAG,eAAAH,EAAA;AAAAI,OAAAJ,EAAA;AAAAK,OAAAL,EAAA;;CAJR,MAAAP,kBAAAW,OAAAE,KAAAA,IAAAlB,eAAAgB;CAEA,MAAAV,kBAAAW,OAAAC,KAAAA,IAAA,OAAAD;CAAsB,IAAAE;AAAA,KAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,EAAA;AAKCF,OAAA;GAAAG,YAAc;GAAIC,UAAY;GAAM;AAAAX,IAAA,KAAAO;OAAAA,MAAAP,EAAA;CAAA,IAAAY;AAAA,KAAAZ,EAAA,OAAAP,mBAAAO,EAAA,OAAAN,mBAAAM,EAAA,OAAAE,YAAAF,EAAA,OAAAG,cAAAH,EAAA,QAAAD,KAAA;AAA3Da,OAAA,sBAAA,cAAC,SAAD,EAAuB,cAAAL,IASb,GARPM,OAAA;GAAC,MAAA,EAAAH,YAAAC,aAAAE;AAAwB,UACxB,sBAAA,cAAC,iBAAD;IACOd;IACA,MAAA;IACK,UAAAW,cAAehB,mBAAAiB,YAAfT;IAAuD,GAC7DC;IACJ,CAAA;IAEI;AAAAH,IAAA,KAAAP;AAAAO,IAAA,KAAAN;AAAAM,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,MAAAD;AAAAC,IAAA,MAAAY;OAAAA,MAAAZ,EAAA;AAAA,QATVY;EAWF;AACFhB,aAAakB,cAAc"}