{"version":3,"file":"index.mjs","sources":["../../../../admin/src/components/FormModal/index.jsx"],"sourcesContent":["/**\n *\n * FormModal\n *\n */\n\nimport * as React from 'react';\n\nimport { Button, Flex, Grid, Modal, Breadcrumbs, Crumb } from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport Input from './Input';\n\nconst FormModal = ({\n  headerBreadcrumbs,\n  initialData,\n  isSubmiting,\n  layout,\n  isOpen,\n  onSubmit,\n  onToggle,\n  providerToEditName,\n}) => {\n  const { formatMessage } = useIntl();\n\n  return (\n    <Modal.Root open={isOpen} onOpenChange={onToggle}>\n      <Modal.Content>\n        <Modal.Header>\n          <Breadcrumbs label={headerBreadcrumbs.join(', ')}>\n            {headerBreadcrumbs.map((crumb, index, arr) => (\n              <Crumb isCurrent={index === arr.length - 1} key={crumb}>\n                {crumb}\n              </Crumb>\n            ))}\n          </Breadcrumbs>\n        </Modal.Header>\n        <Formik\n          onSubmit={(values) => onSubmit(values)}\n          initialValues={initialData}\n          validationSchema={layout.schema}\n          validateOnChange={false}\n        >\n          {({ errors, handleChange, values }) => {\n            return (\n              <Form>\n                <Modal.Body>\n                  <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n                    <Grid.Root gap={5}>\n                      {layout.form.map((row) => {\n                        return row.map((input) => {\n                          return (\n                            <Grid.Item\n                              key={input.name}\n                              col={input.size}\n                              xs={12}\n                              direction=\"column\"\n                              alignItems=\"stretch\"\n                            >\n                              <Input\n                                {...input}\n                                error={errors[input.name]}\n                                onChange={handleChange}\n                                value={values[input.name]}\n                                providerToEditName={providerToEditName}\n                              />\n                            </Grid.Item>\n                          );\n                        });\n                      })}\n                    </Grid.Root>\n                  </Flex>\n                </Modal.Body>\n                <Modal.Footer>\n                  <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n                    {formatMessage({\n                      id: 'app.components.Button.cancel',\n                      defaultMessage: 'Cancel',\n                    })}\n                  </Button>\n                  <Button type=\"submit\" loading={isSubmiting}>\n                    {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n                  </Button>\n                </Modal.Footer>\n              </Form>\n            );\n          }}\n        </Formik>\n      </Modal.Content>\n    </Modal.Root>\n  );\n};\n\nFormModal.defaultProps = {\n  initialData: null,\n  providerToEditName: null,\n};\n\nFormModal.propTypes = {\n  headerBreadcrumbs: PropTypes.arrayOf(PropTypes.string).isRequired,\n  initialData: PropTypes.object,\n  layout: PropTypes.shape({\n    form: PropTypes.arrayOf(PropTypes.array),\n    schema: PropTypes.object,\n  }).isRequired,\n  isOpen: PropTypes.bool.isRequired,\n  isSubmiting: PropTypes.bool.isRequired,\n  onSubmit: PropTypes.func.isRequired,\n  onToggle: PropTypes.func.isRequired,\n  providerToEditName: PropTypes.string,\n};\n\nexport default FormModal;\n"],"names":["FormModal","headerBreadcrumbs","initialData","isSubmiting","layout","isOpen","onSubmit","onToggle","providerToEditName","formatMessage","useIntl","_jsx","Modal","Root","open","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","join","map","crumb","index","arr","Crumb","isCurrent","length","Formik","values","initialValues","validationSchema","schema","validateOnChange","errors","handleChange","Form","Body","Flex","direction","alignItems","gap","Grid","form","row","input","Item","col","size","xs","Input","error","name","onChange","value","Footer","Button","variant","onClick","type","id","defaultMessage","loading","defaultProps","propTypes","PropTypes","arrayOf","string","isRequired","object","shape","array","bool","func"],"mappings":";;;;;;;;AAeA,MAAMA,YAAY,CAAC,EACjBC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,MAAM,EACNC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACRC,kBAAkB,EACnB,GAAA;IACC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEC,GAAA,CAACC,MAAMC,IAAI,EAAA;QAACC,IAAAA,EAAMT,MAAAA;QAAQU,YAAAA,EAAcR,QAAAA;gCACtCS,IAAA,CAACJ,MAAMK,OAAO,EAAA;;AACZ,8BAAAN,GAAA,CAACC,MAAMM,MAAM,EAAA;AACX,oBAAA,QAAA,gBAAAP,GAAA,CAACQ,WAAAA,EAAAA;wBAAYC,KAAAA,EAAOnB,iBAAAA,CAAkBoB,IAAI,CAAC,IAAA,CAAA;AACxCpB,wBAAAA,QAAAA,EAAAA,iBAAAA,CAAkBqB,GAAG,CAAC,CAACC,KAAAA,EAAOC,KAAAA,EAAOC,oBACpCd,GAAA,CAACe,KAAAA,EAAAA;gCAAMC,SAAAA,EAAWH,KAAAA,KAAUC,GAAAA,CAAIG,MAAM,GAAG,CAAA;AACtCL,gCAAAA,QAAAA,EAAAA;AAD8CA,6BAAAA,EAAAA,KAAAA,CAAAA;;;8BAMvDZ,GAAA,CAACkB,MAAAA,EAAAA;oBACCvB,QAAAA,EAAU,CAACwB,SAAWxB,QAAAA,CAASwB,MAAAA,CAAAA;oBAC/BC,aAAAA,EAAe7B,WAAAA;AACf8B,oBAAAA,gBAAAA,EAAkB5B,OAAO6B,MAAM;oBAC/BC,gBAAAA,EAAkB,KAAA;AAEjB,oBAAA,QAAA,EAAA,CAAC,EAAEC,MAAM,EAAEC,YAAY,EAAEN,MAAM,EAAE,GAAA;AAChC,wBAAA,qBACEd,IAAA,CAACqB,IAAAA,EAAAA;;AACC,8CAAA1B,GAAA,CAACC,MAAM0B,IAAI,EAAA;AACT,oCAAA,QAAA,gBAAA3B,GAAA,CAAC4B,IAAAA,EAAAA;wCAAKC,SAAAA,EAAU,QAAA;wCAASC,UAAAA,EAAW,SAAA;wCAAUC,GAAAA,EAAK,CAAA;gEACjD/B,GAAA,CAACgC,KAAK9B,IAAI,EAAA;4CAAC6B,GAAAA,EAAK,CAAA;AACbtC,4CAAAA,QAAAA,EAAAA,MAAAA,CAAOwC,IAAI,CAACtB,GAAG,CAAC,CAACuB,GAAAA,GAAAA;gDAChB,OAAOA,GAAAA,CAAIvB,GAAG,CAAC,CAACwB,KAAAA,GAAAA;oDACd,qBACEnC,GAAA,CAACgC,KAAKI,IAAI,EAAA;AAERC,wDAAAA,GAAAA,EAAKF,MAAMG,IAAI;wDACfC,EAAAA,EAAI,EAAA;wDACJV,SAAAA,EAAU,QAAA;wDACVC,UAAAA,EAAW,SAAA;AAEX,wDAAA,QAAA,gBAAA9B,GAAA,CAACwC,KAAAA,EAAAA;AACE,4DAAA,GAAGL,KAAK;AACTM,4DAAAA,KAAAA,EAAOjB,MAAM,CAACW,KAAAA,CAAMO,IAAI,CAAC;4DACzBC,QAAAA,EAAUlB,YAAAA;AACVmB,4DAAAA,KAAAA,EAAOzB,MAAM,CAACgB,KAAAA,CAAMO,IAAI,CAAC;4DACzB7C,kBAAAA,EAAoBA;;AAXjBsC,qDAAAA,EAAAA,KAAAA,CAAMO,IAAI,CAAA;AAerB,gDAAA,CAAA,CAAA;AACF,4CAAA,CAAA;;;;AAIN,8CAAArC,IAAA,CAACJ,MAAM4C,MAAM,EAAA;;sDACX7C,GAAA,CAAC8C,MAAAA,EAAAA;4CAAOC,OAAAA,EAAQ,UAAA;4CAAWC,OAAAA,EAASpD,QAAAA;4CAAUqD,IAAAA,EAAK,QAAA;sDAChDnD,aAAAA,CAAc;gDACboD,EAAAA,EAAI,8BAAA;gDACJC,cAAAA,EAAgB;AAClB,6CAAA;;sDAEFnD,GAAA,CAAC8C,MAAAA,EAAAA;4CAAOG,IAAAA,EAAK,QAAA;4CAASG,OAAAA,EAAS5D,WAAAA;sDAC5BM,aAAAA,CAAc;gDAAEoD,EAAAA,EAAI,aAAA;gDAAeC,cAAAA,EAAgB;AAAO,6CAAA;;;;;;AAKrE,oBAAA;;;;;AAKV;AAEA9D,SAAAA,CAAUgE,YAAY,GAAG;IACvB9D,WAAAA,EAAa,IAAA;IACbM,kBAAAA,EAAoB;AACtB,CAAA;AAEAR,SAAAA,CAAUiE,SAAS,GAAG;AACpBhE,IAAAA,iBAAAA,EAAmBiE,UAAUC,OAAO,CAACD,SAAAA,CAAUE,MAAM,EAAEC,UAAU;AACjEnE,IAAAA,WAAAA,EAAagE,UAAUI,MAAM;IAC7BlE,MAAAA,EAAQ8D,SAAAA,CAAUK,KAAK,CAAC;AACtB3B,QAAAA,IAAAA,EAAMsB,SAAAA,CAAUC,OAAO,CAACD,SAAAA,CAAUM,KAAK,CAAA;AACvCvC,QAAAA,MAAAA,EAAQiC,UAAUI;AACpB,KAAA,CAAA,CAAGD,UAAU;IACbhE,MAAAA,EAAQ6D,SAAAA,CAAUO,IAAI,CAACJ,UAAU;IACjClE,WAAAA,EAAa+D,SAAAA,CAAUO,IAAI,CAACJ,UAAU;IACtC/D,QAAAA,EAAU4D,SAAAA,CAAUQ,IAAI,CAACL,UAAU;IACnC9D,QAAAA,EAAU2D,SAAAA,CAAUQ,IAAI,CAACL,UAAU;AACnC7D,IAAAA,kBAAAA,EAAoB0D,UAAUE;AAChC,CAAA;;;;"}