{"version":3,"file":"KeyValueTextField.mjs","names":["React","useState","useEffect","TextField","IconButtonWithTooltip","AddIcon","Field","UdpTextInput","KeyValueTextField","props","$","_c","previousValues","fieldName","numFields","setNumFields","t0","addField","t1","t2","numPrevValues","Object","keys","length","t3","Array","from","t4","map","_","index","display","gap","values","t5","Symbol","for","justifyContent","t6","t7"],"sources":["../../../../src/UI/inputs/textField/KeyValueTextField.jsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { TextField } from '@material-ui/core';\nimport { IconButtonWithTooltip } from '../buttons/IconButtonWithToolTip';\nimport { AddIcon } from '@fluentui/react-icons';\nimport { Field } from '../../../utilities/form';\nimport { UdpTextInput } from '../../fluent-web-components';\n\nexport const KeyValueTextField = (props) => {\n  const {previousValues, fieldName} = props\n  const [numFields, setNumFields] = useState(1);\n\n  const addField = () => {\n    setNumFields(numFields + 1);\n  };\n\n  useEffect(()=>{\n    if(previousValues){\n      const numPrevValues = Object.keys(previousValues).length\n      setNumFields(numPrevValues)\n    }\n\n  },[previousValues])\n\n  return (\n    <div>\n      {Array.from({ length: numFields }).map((_, index) => (\n        <div key={index} style={{ display: 'flex', gap: 5 }}>\n          <Field\n            component={UdpTextInput}\n            id={`${fieldName}Key${index + 1}`}\n            name={`${fieldName}Key${index + 1}`}\n            label={`Parameter Name ${index + 1}`}\n            appearance='filled-darker'\n            controlSize='medium'\n            required={false}\n            initialValue={previousValues && Object.keys(previousValues)[index]}\n          />\n          <Field\n            component={UdpTextInput}\n            id={`${fieldName}Value${index + 1}`}\n            name={`${fieldName}Value${index + 1}`}\n            label={`Value ${index + 1}`}\n            appearance='filled-darker'\n            controlSize='medium'\n            required={false}\n            initialValue={previousValues && Object.values(previousValues)[index]}\n          />\n        </div>\n      ))}\n      <div style={{display: 'flex', justifyContent: 'right'}}>\n      <IconButtonWithTooltip\n        icon={AddIcon}\n        onClick={addField}\n        title='Add field'\n      />\n      </div>\n    </div>\n  );\n};\n"],"mappings":";;;;;;;;AAOA,MAAaQ,qBAAoBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC/B,MAAA,EAAAC,gBAAAC,cAAoCJ;CACpC,MAAA,CAAAK,WAAAC,gBAAkCd,SAAS,EAAE;CAAC,IAAAe;AAAA,KAAAN,EAAA,OAAAI,WAAA;AAE7BE,aAAA;AACfD,gBAAaD,YAAY,EAAE;;AAC5BJ,IAAA,KAAAI;AAAAJ,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAFD,MAAAO,WAAiBD;CAEf,IAAAE;CAAA,IAAAC;AAAA,KAAAT,EAAA,OAAAE,gBAAA;AAEQM,aAAA;AACR,OAAGN,gBAAc;IACf,MAAAQ,gBAAsBC,OAAMC,KAAMV,eAAe,CAAAW;AACjDR,iBAAaK,cAAc;;;AAG7BD,OAAA,CAACP,eAAe;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;QAAA;AAAAD,OAAAR,EAAA;AAAAS,OAAAT,EAAA;;AANlBR,WAAUgB,IAMRC,GAAiB;CAAA,IAAAK;AAAA,KAAAd,EAAA,OAAAI,WAAA;AAIdU,OAAAC,MAAKC,KAAM,EAAAH,QAAUT,WAAW,CAAC;AAAAJ,IAAA,KAAAI;AAAAJ,IAAA,KAAAc;OAAAA,MAAAd,EAAA;CAAA,IAAAiB;AAAA,KAAAjB,EAAA,OAAAG,aAAAH,EAAA,OAAAE,kBAAAF,EAAA,OAAAc,IAAA;AAAjCG,OAAAH,GAAiCI,KAAKC,GAAAC,UACrC,sBAAA,cAAA,OAAA;GAAUA,KAAAA;GAAc,OAAA;IAAAC,SAAW;IAAMC,KAAO;IAAE;GAsBnD,EArBG,sBAAA,cAAC,OAAD;GACazB,WAAAA;GACP,IAAA,GAAGM,UAAS,KAAMiB,QAAQ;GACxB,MAAA,GAAGjB,UAAS,KAAMiB,QAAQ;GACzB,OAAA,kBAAkBA,QAAQ;GACtB,YAAA;GACC,aAAA;GACF,UAAA;GACI,cAAAlB,kBAAkBS,OAAMC,KAAMV,eAAe,CAACkB;GAE9D,CAAA,EAAA,sBAAA,cAAC,OAAD;GACavB,WAAAA;GACP,IAAA,GAAGM,UAAS,OAAQiB,QAAQ;GAC1B,MAAA,GAAGjB,UAAS,OAAQiB,QAAQ;GAC3B,OAAA,SAASA,QAAQ;GACb,YAAA;GACC,aAAA;GACF,UAAA;GACI,cAAAlB,kBAAkBS,OAAMY,OAAQrB,eAAe,CAACkB;GAElE,CAAA,CACD,CAAC;AAAApB,IAAA,KAAAG;AAAAH,IAAA,KAAAE;AAAAF,IAAA,KAAAc;AAAAd,IAAA,MAAAiB;OAAAA,MAAAjB,EAAA;CAAA,IAAAwB;AAAA,KAAAxB,EAAA,QAAAyB,OAAAC,IAAA,4BAAA,EAAA;AACUF,OAAA;GAAAH,SAAU;GAAMM,gBAAkB;GAAQ;AAAA3B,IAAA,MAAAwB;OAAAA,MAAAxB,EAAA;CAAA,IAAA4B;AAAA,KAAA5B,EAAA,QAAAO,UAAA;AAAtDqB,OAAA,sBAAA,cAAA,OAAA,EAAY,OAAAJ,IAMN,EALN,sBAAA,cAAC,uBAAD;GACQ7B,MAAAA;GACGY,SAAAA;GACH,OAAA;GAER,CAAA,CAAM;AAAAP,IAAA,MAAAO;AAAAP,IAAA,MAAA4B;OAAAA,MAAA5B,EAAA;CAAA,IAAA6B;AAAA,KAAA7B,EAAA,QAAAiB,MAAAjB,EAAA,QAAA4B,IAAA;AA/BRC,OAAA,sBAAA,cAAA,OAAA,MACGZ,IAwBDW,GAOI;AAAA5B,IAAA,MAAAiB;AAAAjB,IAAA,MAAA4B;AAAA5B,IAAA,MAAA6B;OAAAA,MAAA7B,EAAA;AAAA,QAhCN6B"}