{"version":3,"file":"FileImportConfigCard.mjs","names":["React","useState","useMemo","useTranslation","UdpCard","UdpDetailListItem","UdpText","UdpDivider","UdpIcon","FileImportConfigCard","props","fileMappingRecord","domain","t","showIndexNumbers","setShowIndexNumbers","parsedProperties","parsedObject","properties","JSON","parse","includesHeader","Object","entries","map","key","value","parsedFieldMappings","mapping","defaultValue","property","replace","char","toUpperCase","display","flexDirection","justifyContent","paddingTop","marginTop","marginBottom","field","height","gap","width","index","headerIndex","importFileField","textAlign","udpField","trim","margin"],"sources":["../../../src/udp/fileImportMapping/FileImportConfigCard.jsx"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { UdpCard } from '../../UI/fluent-web-components/UdpCard';\nimport { UdpDetailListItem } from '../../UI/dataDisplay/UdpDetailListItem';\nimport { UdpText } from '../../UI/fluent-web-components/UdpText';\nimport { UdpDivider } from '../../UI/fluent-web-components/UdpDivider';\nimport { UdpIcon } from '../../UI/fluent-web-components/UdpIcon';\n\nexport const FileImportConfigCard = (props) => {\n  const { fileMappingRecord, domain } = props;\n  const { t } = useTranslation();\n  const [showIndexNumbers, setShowIndexNumbers] = useState(false);\n\n  const parsedProperties = useMemo(() => {\n    if (fileMappingRecord) {\n      let parsedObject = fileMappingRecord?.properties;\n      if (typeof fileMappingRecord?.properties === 'string') {\n        parsedObject = JSON.parse(fileMappingRecord?.properties);\n      }\n      if (\n        'includesHeader' in parsedObject &&\n        parsedObject?.includesHeader === false\n      ) {\n        setShowIndexNumbers(true);\n      } else {\n        setShowIndexNumbers(false);\n      }\n      return Object.entries(parsedObject).map(([key, value]) => ({\n        key,\n        value\n      }));\n    }\n  }, [fileMappingRecord]);\n\n  const parsedFieldMappings = useMemo(() => {\n    let parsedObject = fileMappingRecord?.mapping;\n    if (typeof fileMappingRecord?.mapping === 'string') {\n      parsedObject = JSON.parse(fileMappingRecord?.mapping);\n    }\n    if (fileMappingRecord) {\n      return Object.entries(parsedObject);\n    }\n  }, [fileMappingRecord]);\n\n  return (\n    parsedFieldMappings && (\n      <UdpCard\n        width=\"100%\"\n        label={t('fileImport.configCard.title', { defaultValue: 'Mapping Configuration' })}\n        subtitle={domain}\n      >\n        {parsedProperties?.map((property) => (\n          <UdpDetailListItem\n            key={property?.key}\n            label={property?.key\n              .replace(/([a-z])([A-Z])/g, '$1 $2')\n              .replace(/^./, function (char) {\n                return char.toUpperCase();\n              })}\n            value={\n              property?.value === false\n                ? t('fileImport.configCard.false', { defaultValue: 'False' })\n                : property?.value === true\n                ? t('fileImport.configCard.true', { defaultValue: 'True' })\n                : property?.value\n            }\n          />\n        ))}\n\n        <>\n          <div\n            style={{\n              display: 'flex',\n              flexDirection: 'row',\n              justifyContent: 'space-between',\n              paddingTop: 20\n            }}\n          >\n            <UdpText variant='caption1Strong'>\n              {showIndexNumbers\n                ? t('fileImport.wizard.columnIndexes', { defaultValue: \"Column index's\" })\n                : t('fileImport.wizard.fileHeaders', { defaultValue: 'File Headers' })}\n            </UdpText>\n            <UdpText variant='caption1Strong'>\n              {t('fileImport.configCard.fields', { defaultValue: 'Fields' })}\n            </UdpText>\n          </div>\n          <UdpDivider style={{ marginTop: 5, marginBottom: -14 }} />\n          {parsedFieldMappings?.map((field) => (\n            <div key={field[0]} style={{ height: 42 }}>\n              <div style={{ display: 'flex', flexDirection: 'row', gap: 10 }}>\n                <UdpText style={{ marginTop: 25, width: '50%' }}>\n                  {showIndexNumbers\n                    ? t('fileImport.wizard.indexLabel', {\n                        defaultValue: 'index {{index}}',\n                        index: field[1]?.headerIndex\n                      })\n                    : field[1]?.importFileField}\n                </UdpText>\n                <UdpIcon\n                  style={{ marginTop: 28, width: '10%' }}\n                  name='arrow-right'\n                />\n                <UdpText\n                  style={{ marginTop: 25, width: '50%', textAlign: 'right' }}\n                >\n                  {field[1]?.udpField.replace(/([A-Z])/g, ' $1').trim()}\n                </UdpText>\n              </div>\n              <UdpDivider style={{ margin: '5px 0px' }} />\n            </div>\n          ))}\n        </>\n      </UdpCard>\n    )\n  );\n};\n"],"mappings":"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"}