udp-react-enterprise-component-library 26.4.0-beta.7 → 26.4.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/UI/inputs/textField/KeyValueTextField.d.ts.map +1 -1
  3. package/dist/UI/inputs/textField/KeyValueTextField.js +2 -1
  4. package/dist/UI/inputs/textField/KeyValueTextField.js.map +1 -1
  5. package/dist/UI/inputs/textField/KeyValueTextField.mjs +8 -9
  6. package/dist/UI/inputs/textField/KeyValueTextField.mjs.map +1 -1
  7. package/dist/index.mjs +50 -50
  8. package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  9. package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
  10. package/dist/shell/ui/user/AddUser.d.ts.map +1 -1
  11. package/dist/shell/ui/user/AddUser.js +17 -5
  12. package/dist/shell/ui/user/AddUser.js.map +1 -1
  13. package/dist/shell/ui/user/AddUser.mjs +30 -14
  14. package/dist/shell/ui/user/AddUser.mjs.map +1 -1
  15. package/dist/shell/ui/user/form/UserFormFields.d.ts.map +1 -1
  16. package/dist/shell/ui/user/form/UserFormFields.js +20 -6
  17. package/dist/shell/ui/user/form/UserFormFields.js.map +1 -1
  18. package/dist/shell/ui/user/form/UserFormFields.mjs +214 -220
  19. package/dist/shell/ui/user/form/UserFormFields.mjs.map +1 -1
  20. package/dist/shell/ui/user/form/UserRoleAutoComplete.d.ts.map +1 -1
  21. package/dist/shell/ui/user/form/UserRoleAutoComplete.js +14 -14
  22. package/dist/shell/ui/user/form/UserRoleAutoComplete.js.map +1 -1
  23. package/dist/shell/ui/user/form/UserRoleAutoComplete.mjs +155 -68
  24. package/dist/shell/ui/user/form/UserRoleAutoComplete.mjs.map +1 -1
  25. package/dist/udp/fileImportMapping/FileImportConfigCard.mjs +1 -1
  26. package/dist/udp/fileImportMapping/FileImportMappingWizard.mjs +2 -2
  27. package/dist/udp/lookups/LookupCreationSheet.mjs +1 -1
  28. package/dist/udp/pages/UdpLookupManagementPage/UdpLookupManagementPage.mjs +1 -1
  29. package/dist/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  30. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValueTextField.d.ts","sourceRoot":"","sources":["../../../../src/UI/inputs/textField/KeyValueTextField.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,eAAO,MAAM,iBAAiB,mCAqD7B,CAAC"}
1
+ {"version":3,"file":"KeyValueTextField.d.ts","sourceRoot":"","sources":["../../../../src/UI/inputs/textField/KeyValueTextField.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,eAAO,MAAM,iBAAiB,mCAmD7B,CAAC"}
@@ -3,6 +3,7 @@ import { TextField } from '@material-ui/core';
3
3
  import { IconButtonWithTooltip } from '../buttons/IconButtonWithToolTip';
4
4
  import { AddIcon } from '@fluentui/react-icons';
5
5
  import { Field } from '../../../utilities/form';
6
+ import { UdpTextInput } from '../../fluent-web-components';
6
7
  export const KeyValueTextField = (props) => {
7
8
  const { previousValues, fieldName } = props;
8
9
  const [numFields, setNumFields] = useState(1);
@@ -15,6 +16,6 @@ export const KeyValueTextField = (props) => {
15
16
  setNumFields(numPrevValues);
16
17
  }
17
18
  }, [previousValues]);
18
- return (React.createElement("div", null, Array.from({ length: numFields }).map((_, index) => (React.createElement("div", { key: index, style: { display: 'flex', gap: 5 } }, React.createElement(Field, { component: TextField, id: `${fieldName}Key${index + 1}`, name: `${fieldName}Key${index + 1}`, label: `Parameter Name ${index + 1}`, variant: "filled", size: "small", required: false, fullWidth: true, initialValue: previousValues && Object.keys(previousValues)[index] }), React.createElement(Field, { component: TextField, id: `${fieldName}Value${index + 1}`, name: `${fieldName}Value${index + 1}`, label: `Value ${index + 1}`, variant: "filled", size: "small", required: false, fullWidth: true, initialValue: previousValues && Object.values(previousValues)[index] })))), React.createElement("div", { style: { display: 'flex', justifyContent: 'right' } }, React.createElement(IconButtonWithTooltip, { icon: AddIcon, onClick: addField, title: "Add field" }))));
19
+ return (React.createElement("div", null, Array.from({ length: numFields }).map((_, index) => (React.createElement("div", { key: index, style: { display: 'flex', gap: 5 } }, React.createElement(Field, { component: UdpTextInput, id: `${fieldName}Key${index + 1}`, name: `${fieldName}Key${index + 1}`, label: `Parameter Name ${index + 1}`, appearance: "filled-darker", controlSize: "medium", required: false, initialValue: previousValues && Object.keys(previousValues)[index] }), React.createElement(Field, { component: UdpTextInput, id: `${fieldName}Value${index + 1}`, name: `${fieldName}Value${index + 1}`, label: `Value ${index + 1}`, appearance: "filled-darker", controlSize: "medium", required: false, initialValue: previousValues && Object.values(previousValues)[index] })))), React.createElement("div", { style: { display: 'flex', justifyContent: 'right' } }, React.createElement(IconButtonWithTooltip, { icon: AddIcon, onClick: addField, title: "Add field" }))));
19
20
  };
20
21
  //# sourceMappingURL=KeyValueTextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValueTextField.js","sourceRoot":"","sources":["../../../../src/UI/inputs/textField/KeyValueTextField.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;IAC1C,MAAM,EAAC,cAAc,EAAE,SAAS,EAAC,GAAG,KAAK,CAAA;IACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC;QACrB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAAA,CAC7B,CAAC;IAEF,SAAS,CAAC,GAAE,EAAE,CAAA;QACZ,IAAG,cAAc,EAAC,CAAC;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAA;YACxD,YAAY,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;IAAA,CAEF,EAAC,CAAC,cAAc,CAAC,CAAC,CAAA;IAEnB,OAAO,CACL,iCACG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACnD,6BAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IACjD,oBAAC,KAAK,IACJ,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,GAAG,SAAS,MAAM,KAAK,GAAG,CAAC,EAAE,EACjC,IAAI,EAAE,GAAG,SAAS,MAAM,KAAK,GAAG,CAAC,EAAE,EACnC,KAAK,EAAE,kBAAkB,KAAK,GAAG,CAAC,EAAE,EACpC,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,KAAK,EACf,SAAS,QACT,YAAY,EAAE,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAClE,EACF,oBAAC,KAAK,IACJ,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,GAAG,SAAS,QAAQ,KAAK,GAAG,CAAC,EAAE,EACnC,IAAI,EAAE,GAAG,SAAS,QAAQ,KAAK,GAAG,CAAC,EAAE,EACrC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,EAAE,EAC3B,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,KAAK,EACf,SAAS,QACT,YAAY,EAAE,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GACpE,CACE,CACP,CAAC,EACF,6BAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAC,IACtD,oBAAC,qBAAqB,IACpB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAC,WAAW,GACjB,CACI,CACF,CACP,CAAC;AAAA,CACH,CAAC"}
1
+ {"version":3,"file":"KeyValueTextField.js","sourceRoot":"","sources":["../../../../src/UI/inputs/textField/KeyValueTextField.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;IAC1C,MAAM,EAAC,cAAc,EAAE,SAAS,EAAC,GAAG,KAAK,CAAA;IACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC;QACrB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAAA,CAC7B,CAAC;IAEF,SAAS,CAAC,GAAE,EAAE,CAAA;QACZ,IAAG,cAAc,EAAC,CAAC;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAA;YACxD,YAAY,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;IAAA,CAEF,EAAC,CAAC,cAAc,CAAC,CAAC,CAAA;IAEnB,OAAO,CACL,iCACG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACnD,6BAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IACjD,oBAAC,KAAK,IACJ,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,GAAG,SAAS,MAAM,KAAK,GAAG,CAAC,EAAE,EACjC,IAAI,EAAE,GAAG,SAAS,MAAM,KAAK,GAAG,CAAC,EAAE,EACnC,KAAK,EAAE,kBAAkB,KAAK,GAAG,CAAC,EAAE,EACpC,UAAU,EAAC,eAAe,EAC1B,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAClE,EACF,oBAAC,KAAK,IACJ,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,GAAG,SAAS,QAAQ,KAAK,GAAG,CAAC,EAAE,EACnC,IAAI,EAAE,GAAG,SAAS,QAAQ,KAAK,GAAG,CAAC,EAAE,EACrC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,EAAE,EAC3B,UAAU,EAAC,eAAe,EAC1B,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GACpE,CACE,CACP,CAAC,EACF,6BAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAC,IACtD,oBAAC,qBAAqB,IACpB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAC,WAAW,GACjB,CACI,CACF,CACP,CAAC;AAAA,CACH,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { Field } from "../../../utilities/form/Field.mjs";
2
2
  import { IconButtonWithTooltip } from "../buttons/IconButtonWithToolTip.mjs";
3
+ import { UdpTextInput } from "../../fluent-web-components/UdpTextInput.mjs";
3
4
  import { c } from "react-compiler-runtime";
4
5
  import React, { useEffect, useState } from "react";
5
- import { TextField } from "@material-ui/core";
6
+ import "@material-ui/core";
6
7
  import { AddIcon } from "@fluentui/react-icons";
7
8
  //#region src/UI/inputs/textField/KeyValueTextField.jsx
8
9
  const KeyValueTextField = (props) => {
@@ -51,24 +52,22 @@ const KeyValueTextField = (props) => {
51
52
  gap: 5
52
53
  }
53
54
  }, /* @__PURE__ */ React.createElement(Field, {
54
- component: TextField,
55
+ component: UdpTextInput,
55
56
  id: `${fieldName}Key${index + 1}`,
56
57
  name: `${fieldName}Key${index + 1}`,
57
58
  label: `Parameter Name ${index + 1}`,
58
- variant: "filled",
59
- size: "small",
59
+ appearance: "filled-darker",
60
+ controlSize: "medium",
60
61
  required: false,
61
- fullWidth: true,
62
62
  initialValue: previousValues && Object.keys(previousValues)[index]
63
63
  }), /* @__PURE__ */ React.createElement(Field, {
64
- component: TextField,
64
+ component: UdpTextInput,
65
65
  id: `${fieldName}Value${index + 1}`,
66
66
  name: `${fieldName}Value${index + 1}`,
67
67
  label: `Value ${index + 1}`,
68
- variant: "filled",
69
- size: "small",
68
+ appearance: "filled-darker",
69
+ controlSize: "medium",
70
70
  required: false,
71
- fullWidth: true,
72
71
  initialValue: previousValues && Object.values(previousValues)[index]
73
72
  })));
74
73
  $[7] = fieldName;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValueTextField.mjs","names":["React","useState","useEffect","TextField","IconButtonWithTooltip","AddIcon","Field","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';\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={TextField}\n id={`${fieldName}Key${index + 1}`}\n name={`${fieldName}Key${index + 1}`}\n label={`Parameter Name ${index + 1}`}\n variant='filled'\n size='small'\n required={false}\n fullWidth\n initialValue={previousValues && Object.keys(previousValues)[index]}\n />\n <Field\n component={TextField}\n id={`${fieldName}Value${index + 1}`}\n name={`${fieldName}Value${index + 1}`}\n label={`Value ${index + 1}`}\n variant='filled'\n size='small'\n required={false}\n fullWidth\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":";;;;;;;AAMA,MAAaO,qBAAoBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC/B,MAAA,EAAAC,gBAAAC,cAAoCJ;CACpC,MAAA,CAAAK,WAAAC,gBAAkCb,SAAS,EAAE;CAAC,IAAAc;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;;AANlBP,WAAUe,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;GAwBnD,EAvBG,sBAAA,cAAC,OAAD;GACa5B,WAAAA;GACP,IAAA,GAAGS,UAAS,KAAMiB,QAAQ;GACxB,MAAA,GAAGjB,UAAS,KAAMiB,QAAQ;GACzB,OAAA,kBAAkBA,QAAQ;GACzB,SAAA;GACH,MAAA;GACK,UAAA;GACV,WAAA;GACc,cAAAlB,kBAAkBS,OAAMC,KAAMV,eAAe,CAACkB;GAE9D,CAAA,EAAA,sBAAA,cAAC,OAAD;GACa1B,WAAAA;GACP,IAAA,GAAGS,UAAS,OAAQiB,QAAQ;GAC1B,MAAA,GAAGjB,UAAS,OAAQiB,QAAQ;GAC3B,OAAA,SAASA,QAAQ;GAChB,SAAA;GACH,MAAA;GACK,UAAA;GACV,WAAA;GACc,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;GACQ5B,MAAAA;GACGW,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;AAjCRC,OAAA,sBAAA,cAAA,OAAA,MACGZ,IA0BDW,GAOI;AAAA5B,IAAA,MAAAiB;AAAAjB,IAAA,MAAA4B;AAAA5B,IAAA,MAAA6B;OAAAA,MAAA7B,EAAA;AAAA,QAlCN6B"}
1
+ {"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"}
package/dist/index.mjs CHANGED
@@ -301,6 +301,56 @@ import { PaymentReversalForm } from "./UI/forms/PaymentReversalForm.mjs";
301
301
  import { CrudForm } from "./UI/forms/CrudForm.mjs";
302
302
  import { FluentTagField, FluentTagFieldComponent } from "./UI/inputs/textField/FluentTagField.mjs";
303
303
  import { AmbientAutoComplete } from "./UI/inputs/textField/AmbientAutoComplete.mjs";
304
+ import { UdpAccordion } from "./UI/fluent-web-components/UdpAccordion.mjs";
305
+ import { UdpAvatar } from "./UI/fluent-web-components/UdpAvatar.mjs";
306
+ import { UdpBadge } from "./UI/fluent-web-components/UdpBadge.mjs";
307
+ import { UdpCard } from "./UI/fluent-web-components/UdpCard.mjs";
308
+ import { UdpCheckbox } from "./UI/fluent-web-components/UdpCheckbox.mjs";
309
+ import { UdpContainerQuery } from "./UI/fluent-web-components/UdpContainerQuery.mjs";
310
+ import { UdpContainerQueryGrid } from "./UI/fluent-web-components/UdpContainerQueryGrid.mjs";
311
+ import { UdpCompoundButton } from "./UI/fluent-web-components/UdpCompoundButton.mjs";
312
+ import { UdpCounterBadge } from "./UI/fluent-web-components/UdpCounterBadge.mjs";
313
+ import { UdpDateInput } from "./UI/fluent-web-components/UdpDateInput.mjs";
314
+ import { UdpDatePicker } from "./UI/fluent-web-components/UdpDatePicker.mjs";
315
+ import { UdpDateTimeInput } from "./UI/fluent-web-components/UdpDateTimeInput.mjs";
316
+ import { UdpDivider } from "./UI/fluent-web-components/UdpDivider.mjs";
317
+ import { UdpDrawer } from "./UI/fluent-web-components/UdpDrawer.mjs";
318
+ import { UdpDropdown } from "./UI/fluent-web-components/UdpDropdown.mjs";
319
+ import { UdpEmptyState } from "./UI/fluent-web-components/UdpEmptyState.mjs";
320
+ import { UdpFileInput } from "./UI/fluent-web-components/UdpFileInput.mjs";
321
+ import { UdpFlexbox } from "./UI/fluent-web-components/UdpFlexbox.mjs";
322
+ import { UdpIcon } from "./UI/fluent-web-components/UdpIcon.mjs";
323
+ import { UdpIconButton } from "./UI/fluent-web-components/UdpIconButton.mjs";
324
+ import { UdpImage } from "./UI/fluent-web-components/UdpImage.mjs";
325
+ import { UdpLink } from "./UI/fluent-web-components/UdpLink.mjs";
326
+ import { UdpLocationInput } from "./UI/fluent-web-components/UdpLocationInput.mjs";
327
+ import { UdpMenu } from "./UI/fluent-web-components/UdpMenu.mjs";
328
+ import { UdpMessageBar } from "./UI/fluent-web-components/UdpMessageBar.mjs";
329
+ import { UdpPopover } from "./UI/fluent-web-components/UdpPopover.mjs";
330
+ import { UdpProgressBar } from "./UI/fluent-web-components/UdpProgressBar.mjs";
331
+ import { UdpRadioGroup } from "./UI/fluent-web-components/UdpRadioGroup.mjs";
332
+ import { UdpSearchInput } from "./UI/fluent-web-components/UdpSearchInput.mjs";
333
+ import { UdpSignatureInput } from "./UI/fluent-web-components/UdpSignatureInput.mjs";
334
+ import { UdpSlider } from "./UI/fluent-web-components/UdpSlider.mjs";
335
+ import { UdpSpinner } from "./UI/fluent-web-components/UdpSpinner.mjs";
336
+ import { UdpSwatchPicker } from "./UI/fluent-web-components/UdpSwatchPicker.mjs";
337
+ import { UdpSwitch } from "./UI/fluent-web-components/UdpSwitch.mjs";
338
+ import { UdpText } from "./UI/fluent-web-components/UdpText.mjs";
339
+ import { UdpNumberInput } from "./UI/fluent-web-components/UdpNumberInput.mjs";
340
+ import { UdpTextInput } from "./UI/fluent-web-components/UdpTextInput.mjs";
341
+ import { UdpTextarea } from "./UI/fluent-web-components/UdpTextarea.mjs";
342
+ import { UdpTimeInput } from "./UI/fluent-web-components/UdpTimeInput.mjs";
343
+ import { UdpToggleButton } from "./UI/fluent-web-components/UdpToggleButton.mjs";
344
+ import { UdpTooltip } from "./UI/fluent-web-components/UdpTooltip.mjs";
345
+ import { UdpTree, UdpTreeContext } from "./UI/fluent-web-components/UdpTree.mjs";
346
+ import { UdpTreeItem } from "./UI/fluent-web-components/UdpTreeItem.mjs";
347
+ import { UdpDurationInput } from "./UI/fluent-web-components/UdpDurationInput.mjs";
348
+ import { UdpChip } from "./UI/fluent-web-components/UdpChip.mjs";
349
+ import { UdpVerticalSpacer } from "./UI/fluent-web-components/UdpVerticalSpacer.mjs";
350
+ import { UdpIconGrid } from "./UI/fluent-web-components/UdpIconGrid.mjs";
351
+ import { UdpList } from "./UI/fluent-web-components/UdpList.mjs";
352
+ import { UdpListItem } from "./UI/fluent-web-components/UdpListItem.mjs";
353
+ import { UdpPrimaryActionHeader } from "./UI/fluent-web-components/UdpPrimaryActionHeader.mjs";
304
354
  import { KeyValueTextField } from "./UI/inputs/textField/KeyValueTextField.mjs";
305
355
  import { UdpTransactionEmailForm } from "./UI/forms/UdpTransactionEmailForm.mjs";
306
356
  import { ExtenderToggle } from "./UI/templates/ui/ExtenderToggle.mjs";
@@ -387,57 +437,7 @@ import { UdpPublicForm } from "./udp/pages/UdpFormsPublicForm/UdpPublicForm.mjs"
387
437
  import { UdpPrivateForm } from "./udp/pages/UdpFormsPrivateForm/UdpPrivateForm.mjs";
388
438
  import UdpFormsListPage from "./udp/pages/UdpFormsListPage/UdpFormsListPage.mjs";
389
439
  import UdpFormsBuilderPage from "./udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.mjs";
390
- import { UdpCard } from "./UI/fluent-web-components/UdpCard.mjs";
391
- import { UdpDrawer } from "./UI/fluent-web-components/UdpDrawer.mjs";
392
- import { UdpFileInput } from "./UI/fluent-web-components/UdpFileInput.mjs";
393
440
  import { AmbientStepper } from "./UI/inputs/menus/AmbientStepper/AmbientStepper.mjs";
394
- import { UdpAccordion } from "./UI/fluent-web-components/UdpAccordion.mjs";
395
- import { UdpAvatar } from "./UI/fluent-web-components/UdpAvatar.mjs";
396
- import { UdpBadge } from "./UI/fluent-web-components/UdpBadge.mjs";
397
- import { UdpCheckbox } from "./UI/fluent-web-components/UdpCheckbox.mjs";
398
- import { UdpContainerQuery } from "./UI/fluent-web-components/UdpContainerQuery.mjs";
399
- import { UdpContainerQueryGrid } from "./UI/fluent-web-components/UdpContainerQueryGrid.mjs";
400
- import { UdpCompoundButton } from "./UI/fluent-web-components/UdpCompoundButton.mjs";
401
- import { UdpCounterBadge } from "./UI/fluent-web-components/UdpCounterBadge.mjs";
402
- import { UdpDateInput } from "./UI/fluent-web-components/UdpDateInput.mjs";
403
- import { UdpDatePicker } from "./UI/fluent-web-components/UdpDatePicker.mjs";
404
- import { UdpDateTimeInput } from "./UI/fluent-web-components/UdpDateTimeInput.mjs";
405
- import { UdpDivider } from "./UI/fluent-web-components/UdpDivider.mjs";
406
- import { UdpDropdown } from "./UI/fluent-web-components/UdpDropdown.mjs";
407
- import { UdpEmptyState } from "./UI/fluent-web-components/UdpEmptyState.mjs";
408
- import { UdpFlexbox } from "./UI/fluent-web-components/UdpFlexbox.mjs";
409
- import { UdpIcon } from "./UI/fluent-web-components/UdpIcon.mjs";
410
- import { UdpIconButton } from "./UI/fluent-web-components/UdpIconButton.mjs";
411
- import { UdpImage } from "./UI/fluent-web-components/UdpImage.mjs";
412
- import { UdpLink } from "./UI/fluent-web-components/UdpLink.mjs";
413
- import { UdpLocationInput } from "./UI/fluent-web-components/UdpLocationInput.mjs";
414
- import { UdpMenu } from "./UI/fluent-web-components/UdpMenu.mjs";
415
- import { UdpMessageBar } from "./UI/fluent-web-components/UdpMessageBar.mjs";
416
- import { UdpPopover } from "./UI/fluent-web-components/UdpPopover.mjs";
417
- import { UdpProgressBar } from "./UI/fluent-web-components/UdpProgressBar.mjs";
418
- import { UdpRadioGroup } from "./UI/fluent-web-components/UdpRadioGroup.mjs";
419
- import { UdpSearchInput } from "./UI/fluent-web-components/UdpSearchInput.mjs";
420
- import { UdpSignatureInput } from "./UI/fluent-web-components/UdpSignatureInput.mjs";
421
- import { UdpSlider } from "./UI/fluent-web-components/UdpSlider.mjs";
422
- import { UdpSpinner } from "./UI/fluent-web-components/UdpSpinner.mjs";
423
- import { UdpSwatchPicker } from "./UI/fluent-web-components/UdpSwatchPicker.mjs";
424
- import { UdpSwitch } from "./UI/fluent-web-components/UdpSwitch.mjs";
425
- import { UdpText } from "./UI/fluent-web-components/UdpText.mjs";
426
- import { UdpNumberInput } from "./UI/fluent-web-components/UdpNumberInput.mjs";
427
- import { UdpTextInput } from "./UI/fluent-web-components/UdpTextInput.mjs";
428
- import { UdpTextarea } from "./UI/fluent-web-components/UdpTextarea.mjs";
429
- import { UdpTimeInput } from "./UI/fluent-web-components/UdpTimeInput.mjs";
430
- import { UdpToggleButton } from "./UI/fluent-web-components/UdpToggleButton.mjs";
431
- import { UdpTooltip } from "./UI/fluent-web-components/UdpTooltip.mjs";
432
- import { UdpTree, UdpTreeContext } from "./UI/fluent-web-components/UdpTree.mjs";
433
- import { UdpTreeItem } from "./UI/fluent-web-components/UdpTreeItem.mjs";
434
- import { UdpDurationInput } from "./UI/fluent-web-components/UdpDurationInput.mjs";
435
- import { UdpChip } from "./UI/fluent-web-components/UdpChip.mjs";
436
- import { UdpVerticalSpacer } from "./UI/fluent-web-components/UdpVerticalSpacer.mjs";
437
- import { UdpIconGrid } from "./UI/fluent-web-components/UdpIconGrid.mjs";
438
- import { UdpList } from "./UI/fluent-web-components/UdpList.mjs";
439
- import { UdpListItem } from "./UI/fluent-web-components/UdpListItem.mjs";
440
- import { UdpPrimaryActionHeader } from "./UI/fluent-web-components/UdpPrimaryActionHeader.mjs";
441
441
  import { ImportDataFromFileMapping } from "./udp/fileImportMapping/ImportDataFromFileMapping.mjs";
442
442
  import { useDateLocale } from "./hooks/useDateLocale.mjs";
443
443
  import { FluentMenuListButton } from "./UI/inputs/buttons/FluentMenuListButton.mjs";
@@ -5,6 +5,7 @@ export declare const TableColumnDefs: (actionList: any) => ({
5
5
  wrapText: boolean;
6
6
  autoHeight: boolean;
7
7
  sortable: boolean;
8
+ filter?: undefined;
8
9
  pinned?: undefined;
9
10
  cellRenderer?: undefined;
10
11
  // minWidth: 50,
@@ -13,7 +14,6 @@ export declare const TableColumnDefs: (actionList: any) => ({
13
14
  maxWidth?: undefined;
14
15
  suppressMenu?: undefined;
15
16
  cellStyle?: undefined;
16
- filter?: undefined;
17
17
  } | {
18
18
  field?: undefined;
19
19
  wrapText?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/maintenanceEngine/tableBrowser/TableColumnDefs.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;;;;;;IAsBtB,gBAAgB;;;;;;;;;;;;;;;IAAhB,gBAAgB;;;;;;;;;;;;;IAarB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;CAOnC,CAAC"}
1
+ {"version":3,"file":"TableColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/maintenanceEngine/tableBrowser/TableColumnDefs.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;;;;;;;IAsBtB,gBAAgB;;;;;;;;;;;;;;IAAhB,gBAAgB;;;;;;;;;;;;;IAarB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;CAOnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddUser.d.ts","sourceRoot":"","sources":["../../../../src/shell/ui/user/AddUser.jsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAWjF,eAAO,MAAM,OAAO,mCA+QnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"AddUser.d.ts","sourceRoot":"","sources":["../../../../src/shell/ui/user/AddUser.jsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAYjF,eAAO,MAAM,OAAO,mCAsRnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -5,6 +5,7 @@ import { UserFormFields } from './form/UserFormFields';
5
5
  import { Field, Form } from '../../../utilities/form';
6
6
  import { FluentTextField } from '../../../UI/inputs/textField';
7
7
  import { UdpStepper } from '../../../UI';
8
+ import { UdpTextInput } from '../../../UI/fluent-web-components';
8
9
  const USER_EMAIL_STEP = 0;
9
10
  const USER_INFO_STEP = 1;
10
11
  export const AddUser = props => {
@@ -29,10 +30,12 @@ export const AddUser = props => {
29
30
  const [activeStep, setActiveStep] = useState(USER_EMAIL_STEP);
30
31
  const [completed, setCompleted] = useState({});
31
32
  const [existingUser, setExistingUser] = useState(null);
33
+ const [email, setEmail] = useState('');
32
34
  const [passwordType, setPasswordType] = useState('autoGeneratePassword'); // 'autoGeneratePassword' | 'createPassword'
33
35
  const [creationMethod, setCreationMethod] = useState('standard'); // 'standard' | 'invite'
34
36
  const handleSubmitRef = useRef(null);
35
37
  const emailFieldRef = useRef(null);
38
+ const [isValidEmail, setIsValidEmail] = useState(false);
36
39
  const handlePasswordTypeChange = useCallback(event => {
37
40
  setPasswordType(event.target.value);
38
41
  }, []);
@@ -69,9 +72,11 @@ export const AddUser = props => {
69
72
  setActiveStep(USER_EMAIL_STEP);
70
73
  }, []);
71
74
  const goToInfoStep = useCallback(async () => {
72
- const email = emailFieldRef.current.value;
73
75
  setExistingUser(null);
74
76
  setSidesheetLoading(true);
77
+ if (!(email === null || email === void 0 ? void 0 : email.trim())) {
78
+ return;
79
+ }
75
80
  const existingUserResponse = await getUserByEmail(email);
76
81
  const user = existingUserResponse.data;
77
82
  if (user) {
@@ -80,7 +85,7 @@ export const AddUser = props => {
80
85
  setSidesheetLoading(false);
81
86
  setCompleted(prev => (Object.assign(Object.assign({}, prev), { [USER_EMAIL_STEP]: true })));
82
87
  setActiveStep(USER_INFO_STEP);
83
- }, [getUserByEmail, setSidesheetLoading]);
88
+ }, [getUserByEmail, setSidesheetLoading, email]);
84
89
  const onSubmit = useCallback(async values => {
85
90
  setSidesheetLoading(true);
86
91
  if (creationMethod === 'invite') {
@@ -95,6 +100,7 @@ export const AddUser = props => {
95
100
  if (values.email) {
96
101
  values.email = values.email.toLowerCase().trim();
97
102
  }
103
+ values = Object.assign(Object.assign({}, values), { accountEnabled: !values.locked });
98
104
  try {
99
105
  if (existingUser) {
100
106
  // Set the new values onto the existing user values
@@ -142,6 +148,7 @@ export const AddUser = props => {
142
148
  title: t('Next'),
143
149
  action: 2,
144
150
  variant: 'outline',
151
+ disabled: !isValidEmail,
145
152
  customAction: goToInfoStep,
146
153
  },
147
154
  ];
@@ -151,6 +158,7 @@ export const AddUser = props => {
151
158
  action: 1,
152
159
  variant: 'outline',
153
160
  customAction: goToEmailStep,
161
+ disabled: sidesheetLoading
154
162
  },
155
163
  {
156
164
  title: t('Create user'),
@@ -162,7 +170,7 @@ export const AddUser = props => {
162
170
  ];
163
171
  return updated;
164
172
  });
165
- }, [goToInfoStep, goToEmailStep, submitForm, t, sidesheetLoading]);
173
+ }, [goToInfoStep, goToEmailStep, submitForm, t, sidesheetLoading, isValidEmail]);
166
174
  useEffect(() => {
167
175
  if (existingUser) {
168
176
  setSteps(prev => {
@@ -183,12 +191,16 @@ export const AddUser = props => {
183
191
  }, [existingUser, t]);
184
192
  return (React.createElement(Form, { onSubmit: onSubmit, render: ({ handleSubmit }) => {
185
193
  handleSubmitRef.current = handleSubmit;
186
- return (React.createElement(UdpStepper, { steps: steps, activeStep: activeStep, completed: completed, orientation: "vertical", labelDisplay: "all", labelPosition: "right" }, activeStep === 0 && (React.createElement(Field, { ref: emailFieldRef, component: FluentTextField, label: t('Email'), id: "email", name: "email", fullWidth: true, variant: "outlined", margin: "normal", size: "small", required: true, validate: value => {
194
+ return (React.createElement(UdpStepper, { steps: steps, activeStep: activeStep, completed: completed, orientation: "vertical", labelDisplay: "all", labelPosition: "right" }, activeStep === 0 && (React.createElement(Field, { ref: emailFieldRef, component: UdpTextInput, label: t('Email'), id: "email", name: "email", appearance: "outline", controlSize: "medium", required: true, value: email, validate: value => {
187
195
  if (!/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value) ||
188
196
  64 < value.split('@')[0].length) {
197
+ setIsValidEmail(false);
189
198
  return t('Invalid email address');
190
199
  }
191
- }, onKeyDown: e => {
200
+ else {
201
+ setIsValidEmail(true);
202
+ }
203
+ }, onChange: e => setEmail(e.target.value), onKeyDown: e => {
192
204
  if (e.key === 'Enter') {
193
205
  e.preventDefault();
194
206
  goToInfoStep();
@@ -1 +1 @@
1
- {"version":3,"file":"AddUser.js","sourceRoot":"","sources":["../../../../src/shell/ui/user/AddUser.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddUser.js","sourceRoot":"","sources":["../../../../src/shell/ui/user/AddUser.jsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Form } from "../../../utilities/form/Form.mjs";
2
2
  import { Field } from "../../../utilities/form/Field.mjs";
3
- import { FluentTextField } from "../../../UI/inputs/textField/FluentTextField.mjs";
4
3
  import { UdpStepper } from "../../../UI/stepper/udp-stepper.mjs";
4
+ import { UdpTextInput } from "../../../UI/fluent-web-components/UdpTextInput.mjs";
5
5
  import { UserFormFields } from "./form/UserFormFields.mjs";
6
6
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
7
  import { useSnackbar } from "notistack";
@@ -26,10 +26,12 @@ const AddUser = (props) => {
26
26
  const [activeStep, setActiveStep] = useState(USER_EMAIL_STEP);
27
27
  const [completed, setCompleted] = useState({});
28
28
  const [existingUser, setExistingUser] = useState(null);
29
+ const [email, setEmail] = useState("");
29
30
  const [passwordType, setPasswordType] = useState("autoGeneratePassword");
30
31
  const [creationMethod, setCreationMethod] = useState("standard");
31
32
  const handleSubmitRef = useRef(null);
32
33
  const emailFieldRef = useRef(null);
34
+ const [isValidEmail, setIsValidEmail] = useState(false);
33
35
  const handlePasswordTypeChange = useCallback((event) => {
34
36
  setPasswordType(event.target.value);
35
37
  }, []);
@@ -66,9 +68,9 @@ const AddUser = (props) => {
66
68
  setActiveStep(USER_EMAIL_STEP);
67
69
  }, []);
68
70
  const goToInfoStep = useCallback(async () => {
69
- const email = emailFieldRef.current.value;
70
71
  setExistingUser(null);
71
72
  setSidesheetLoading(true);
73
+ if (!email?.trim()) return;
72
74
  const user = (await getUserByEmail(email)).data;
73
75
  if (user) setExistingUser(user);
74
76
  setSidesheetLoading(false);
@@ -77,13 +79,21 @@ const AddUser = (props) => {
77
79
  [USER_EMAIL_STEP]: true
78
80
  }));
79
81
  setActiveStep(USER_INFO_STEP);
80
- }, [getUserByEmail, setSidesheetLoading]);
82
+ }, [
83
+ getUserByEmail,
84
+ setSidesheetLoading,
85
+ email
86
+ ]);
81
87
  const onSubmit = useCallback(async (values) => {
82
88
  setSidesheetLoading(true);
83
89
  if (creationMethod === "invite") values.isInvite = true;
84
90
  else values.isInvite = false;
85
91
  if (passwordType === "autoGeneratePassword") values.passwordProfile = null;
86
92
  if (values.email) values.email = values.email.toLowerCase().trim();
93
+ values = {
94
+ ...values,
95
+ accountEnabled: !values.locked
96
+ };
87
97
  try {
88
98
  if (existingUser) {
89
99
  existingUser[userMapping.firstName] = values[userMapping.firstName];
@@ -121,13 +131,15 @@ const AddUser = (props) => {
121
131
  title: t("Next"),
122
132
  action: 2,
123
133
  variant: "outline",
134
+ disabled: !isValidEmail,
124
135
  customAction: goToInfoStep
125
136
  }];
126
137
  updated[USER_INFO_STEP].buttons = [{
127
138
  title: t("Back"),
128
139
  action: 1,
129
140
  variant: "outline",
130
- customAction: goToEmailStep
141
+ customAction: goToEmailStep,
142
+ disabled: sidesheetLoading
131
143
  }, {
132
144
  title: t("Create user"),
133
145
  action: 3,
@@ -142,7 +154,8 @@ const AddUser = (props) => {
142
154
  goToEmailStep,
143
155
  submitForm,
144
156
  t,
145
- sidesheetLoading
157
+ sidesheetLoading,
158
+ isValidEmail
146
159
  ]);
147
160
  useEffect(() => {
148
161
  if (existingUser) setSteps((prev_2) => {
@@ -171,21 +184,24 @@ const AddUser = (props) => {
171
184
  labelPosition: "right"
172
185
  }, activeStep === 0 && /* @__PURE__ */ React.createElement(Field, {
173
186
  ref: emailFieldRef,
174
- component: FluentTextField,
187
+ component: UdpTextInput,
175
188
  label: t("Email"),
176
189
  id: "email",
177
190
  name: "email",
178
- fullWidth: true,
179
- variant: "outlined",
180
- margin: "normal",
181
- size: "small",
191
+ appearance: "outline",
192
+ controlSize: "medium",
182
193
  required: true,
194
+ value: email,
183
195
  validate: (value) => {
184
- if (!/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value) || 64 < value.split("@")[0].length) return t("Invalid email address");
196
+ if (!/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value) || 64 < value.split("@")[0].length) {
197
+ setIsValidEmail(false);
198
+ return t("Invalid email address");
199
+ } else setIsValidEmail(true);
185
200
  },
186
- onKeyDown: (e) => {
187
- if (e.key === "Enter") {
188
- e.preventDefault();
201
+ onChange: (e) => setEmail(e.target.value),
202
+ onKeyDown: (e_0) => {
203
+ if (e_0.key === "Enter") {
204
+ e_0.preventDefault();
189
205
  goToInfoStep();
190
206
  }
191
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AddUser.mjs","names":["useSnackbar","React","useCallback","useEffect","useRef","useState","useMemo","useTranslation","UserFormFields","Field","Form","FluentTextField","UdpStepper","USER_EMAIL_STEP","USER_INFO_STEP","AddUser","props","getUserByEmail","handleCreateUser","handleUpdateAndAddToTenant","rolesData","setSidesheetLoading","sidesheetLoading","altFieldMapping","userMapping","userId","firstName","lastName","email","roles","t","enqueueSnackbar","activeStep","setActiveStep","completed","setCompleted","existingUser","setExistingUser","passwordType","setPasswordType","creationMethod","setCreationMethod","handleSubmitRef","emailFieldRef","handlePasswordTypeChange","event","target","value","handleCreationMethodChange","steps","setSteps","stepDisplay","inProcessIcon","completeIcon","title","subTitle","stepTitle","showTitle","buttons","goToEmailStep","prev","goToInfoStep","current","existingUserResponse","user","data","onSubmit","values","isInvite","passwordProfile","toLowerCase","trim","err","message","variant","anchorOrigin","vertical","horizontal","submitForm","updated","action","customAction","disabled","handleSubmit","test","split","length","e","key","preventDefault"],"sources":["../../../../src/shell/ui/user/AddUser.jsx"],"sourcesContent":["import { useSnackbar } from 'notistack';\nimport React, { useCallback, useEffect, useRef, useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { UserFormFields } from './form/UserFormFields';\nimport { Field, Form } from '../../../utilities/form';\nimport { FluentTextField } from '../../../UI/inputs/textField';\nimport { UdpStepper } from '../../../UI';\n\n\nconst USER_EMAIL_STEP = 0;\nconst USER_INFO_STEP = 1;\n\nexport const AddUser = props => {\n const {\n getUserByEmail,\n handleCreateUser,\n handleUpdateAndAddToTenant,\n rolesData,\n setSidesheetLoading,\n sidesheetLoading,\n altFieldMapping,\n } = props;\n\n const userMapping = useMemo(() => {\n if (altFieldMapping) {\n return altFieldMapping;\n } else {\n // Default mapping for code generated User object\n return {\n userId: 'userId',\n firstName: 'firstName',\n lastName: 'lastName',\n email: 'email',\n roles: 'systemWideSecurityRoles',\n }\n }\n }, [altFieldMapping]);\n\n const { t } = useTranslation();\n\n const { enqueueSnackbar } = useSnackbar();\n\n const [activeStep, setActiveStep] = useState(USER_EMAIL_STEP);\n const [completed, setCompleted] = useState({});\n const [existingUser, setExistingUser] = useState(null);\n\n const [passwordType, setPasswordType] = useState('autoGeneratePassword'); // 'autoGeneratePassword' | 'createPassword'\n const [creationMethod, setCreationMethod] = useState('standard'); // 'standard' | 'invite'\n\n const handleSubmitRef = useRef(null);\n const emailFieldRef = useRef(null);\n\n const handlePasswordTypeChange = useCallback(event => {\n setPasswordType(event.target.value);\n }, []);\n\n const handleCreationMethodChange = useCallback(event => {\n setCreationMethod(event.target.value);\n }, []);\n\n const [steps, setSteps] = useState([\n {\n stepDisplay: {\n inProcessIcon: '1',\n completeIcon: '✓',\n title: t('Enter Email'),\n subTitle: t('Enter the email you will use to log in'),\n },\n stepTitle: 'Step 1',\n showTitle: 'true',\n buttons: [],\n },\n {\n stepDisplay: {\n inProcessIcon: '2',\n completeIcon: '✓',\n title: t('User Info'),\n subTitle: t('Fill in additional info for the new user'),\n },\n stepTitle: 'Step 2',\n showTitle: 'true',\n buttons: [],\n },\n ]);\n\n const goToEmailStep = useCallback(() => {\n setExistingUser(null);\n setCompleted(prev => ({ ...prev, [USER_INFO_STEP]: false }));\n setActiveStep(USER_EMAIL_STEP);\n }, []);\n\n const goToInfoStep = useCallback(async () => {\n const email = emailFieldRef.current.value;\n\n setExistingUser(null);\n setSidesheetLoading(true);\n\n const existingUserResponse = await getUserByEmail(email);\n const user = existingUserResponse.data;\n if (user) {\n setExistingUser(user);\n }\n\n setSidesheetLoading(false);\n\n setCompleted(prev => ({ ...prev, [USER_EMAIL_STEP]: true }));\n setActiveStep(USER_INFO_STEP);\n }, [getUserByEmail, setSidesheetLoading]);\n\n const onSubmit = useCallback(\n async values => {\n setSidesheetLoading(true);\n\n if (creationMethod === 'invite') {\n values.isInvite = true;\n } else {\n values.isInvite = false;\n }\n\n if (passwordType === 'autoGeneratePassword') {\n values.passwordProfile = null;\n }\n\n if (values.email) {\n values.email = values.email.toLowerCase().trim();\n }\n\n try {\n if (existingUser) {\n // Set the new values onto the existing user values\n // eslint-disable-next-line react-hooks/immutability\n existingUser[userMapping.firstName] = values[userMapping.firstName];\n existingUser[userMapping.lastName] = values[userMapping.lastName];\n existingUser[userMapping.roles] = values[userMapping.roles];\n\n await handleUpdateAndAddToTenant(existingUser[userMapping.userId], existingUser);\n } else {\n await handleCreateUser(values);\n }\n } catch (err) {\n enqueueSnackbar(err.message, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center',\n },\n });\n }\n\n setSidesheetLoading(false);\n },\n [\n existingUser,\n enqueueSnackbar,\n handleCreateUser,\n handleUpdateAndAddToTenant,\n setSidesheetLoading,\n creationMethod,\n passwordType,\n userMapping\n ]\n );\n\n const submitForm = useCallback(() => {\n if (handleSubmitRef.current) {\n handleSubmitRef.current();\n }\n }, []);\n\n // Inject the button definitions to prevent constant re-creation of customAction callbacks\n useEffect(() => {\n setSteps(prev => {\n const updated = [...prev];\n updated[USER_EMAIL_STEP].buttons = [\n {\n title: t('Next'),\n action: 2,\n variant: 'outline',\n customAction: goToInfoStep,\n },\n ];\n updated[USER_INFO_STEP].buttons = [\n {\n title: t('Back'),\n action: 1,\n variant: 'outline',\n customAction: goToEmailStep,\n },\n {\n title: t('Create user'),\n action: 3,\n variant: 'outline',\n customAction: submitForm,\n disabled: sidesheetLoading,\n },\n ];\n return updated;\n });\n }, [goToInfoStep, goToEmailStep, submitForm, t, sidesheetLoading]);\n\n useEffect(() => {\n if (existingUser) {\n setSteps(prev => {\n const updated = [...prev];\n updated[USER_INFO_STEP].stepDisplay.subTitle = t(\n 'A user with that email already exists. Edit values before adding to the tenant'\n );\n updated[USER_INFO_STEP].buttons[1].title = t('Add user to tenant');\n return updated;\n });\n } else {\n setSteps(prev => {\n const updated = [...prev];\n updated[USER_INFO_STEP].stepDisplay.subTitle = t(\n 'Fill in additional info for the new user'\n );\n updated[USER_INFO_STEP].buttons[1].title = t('Create user');\n return updated;\n });\n }\n }, [existingUser, t]);\n\n return (\n <Form\n onSubmit={onSubmit}\n render={({ handleSubmit }) => {\n handleSubmitRef.current = handleSubmit;\n return (\n <UdpStepper\n steps={steps}\n activeStep={activeStep}\n completed={completed}\n orientation=\"vertical\"\n labelDisplay=\"all\"\n labelPosition=\"right\"\n >\n {activeStep === 0 && (\n <Field\n ref={emailFieldRef}\n component={FluentTextField}\n label={t('Email')}\n id=\"email\"\n name=\"email\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n validate={value => {\n if (\n !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) ||\n 64 < value.split('@')[0].length\n ) {\n return t('Invalid email address');\n }\n }}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n goToInfoStep();\n }\n }}\n />\n )}\n {activeStep === 1 && (\n <UserFormFields\n rolesData={rolesData}\n editedUser={existingUser}\n handlePasswordTypeChange={handlePasswordTypeChange}\n passwordType={passwordType}\n handleCreationMethodChange={handleCreationMethodChange}\n creationMethod={creationMethod}\n hideEmailField={true}\n altFieldMapping={altFieldMapping}\n />\n )}\n </UdpStepper>\n );\n }}\n />\n );\n};\n\nexport default AddUser;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AddUser.mjs","names":["useSnackbar","React","useCallback","useEffect","useRef","useState","useMemo","useTranslation","UserFormFields","Field","Form","FluentTextField","UdpStepper","UdpTextInput","USER_EMAIL_STEP","USER_INFO_STEP","AddUser","props","getUserByEmail","handleCreateUser","handleUpdateAndAddToTenant","rolesData","setSidesheetLoading","sidesheetLoading","altFieldMapping","userMapping","userId","firstName","lastName","email","roles","t","enqueueSnackbar","activeStep","setActiveStep","completed","setCompleted","existingUser","setExistingUser","setEmail","passwordType","setPasswordType","creationMethod","setCreationMethod","handleSubmitRef","emailFieldRef","isValidEmail","setIsValidEmail","handlePasswordTypeChange","event","target","value","handleCreationMethodChange","steps","setSteps","stepDisplay","inProcessIcon","completeIcon","title","subTitle","stepTitle","showTitle","buttons","goToEmailStep","prev","goToInfoStep","trim","existingUserResponse","user","data","onSubmit","values","isInvite","passwordProfile","toLowerCase","accountEnabled","locked","err","message","variant","anchorOrigin","vertical","horizontal","submitForm","current","updated","action","disabled","customAction","handleSubmit","test","split","length","e","key","preventDefault"],"sources":["../../../../src/shell/ui/user/AddUser.jsx"],"sourcesContent":["import { useSnackbar } from 'notistack';\nimport React, { useCallback, useEffect, useRef, useState, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { UserFormFields } from './form/UserFormFields';\nimport { Field, Form } from '../../../utilities/form';\nimport { FluentTextField } from '../../../UI/inputs/textField';\nimport { UdpStepper } from '../../../UI';\nimport { UdpTextInput } from '../../../UI/fluent-web-components';\n\n\nconst USER_EMAIL_STEP = 0;\nconst USER_INFO_STEP = 1;\n\nexport const AddUser = props => {\n const {\n getUserByEmail,\n handleCreateUser,\n handleUpdateAndAddToTenant,\n rolesData,\n setSidesheetLoading,\n sidesheetLoading,\n altFieldMapping,\n } = props;\n\n const userMapping = useMemo(() => {\n if (altFieldMapping) {\n return altFieldMapping;\n } else {\n // Default mapping for code generated User object\n return {\n userId: 'userId',\n firstName: 'firstName',\n lastName: 'lastName',\n email: 'email',\n roles: 'systemWideSecurityRoles',\n }\n }\n }, [altFieldMapping]);\n\n const { t } = useTranslation();\n\n const { enqueueSnackbar } = useSnackbar();\n\n const [activeStep, setActiveStep] = useState(USER_EMAIL_STEP);\n const [completed, setCompleted] = useState({});\n const [existingUser, setExistingUser] = useState(null);\n const [email, setEmail] = useState('');\n\n const [passwordType, setPasswordType] = useState('autoGeneratePassword'); // 'autoGeneratePassword' | 'createPassword'\n const [creationMethod, setCreationMethod] = useState('standard'); // 'standard' | 'invite'\n\n const handleSubmitRef = useRef(null);\n const emailFieldRef = useRef(null);\n const [isValidEmail, setIsValidEmail] = useState(false);\n\n const handlePasswordTypeChange = useCallback(event => {\n setPasswordType(event.target.value);\n }, []);\n\n const handleCreationMethodChange = useCallback(event => {\n setCreationMethod(event.target.value);\n }, []);\n\n const [steps, setSteps] = useState([\n {\n stepDisplay: {\n inProcessIcon: '1',\n completeIcon: '✓',\n title: t('Enter Email'),\n subTitle: t('Enter the email you will use to log in'),\n },\n stepTitle: 'Step 1',\n showTitle: 'true',\n buttons: [],\n },\n {\n stepDisplay: {\n inProcessIcon: '2',\n completeIcon: '✓',\n title: t('User Info'),\n subTitle: t('Fill in additional info for the new user'),\n },\n stepTitle: 'Step 2',\n showTitle: 'true',\n buttons: [],\n },\n ]);\n\n const goToEmailStep = useCallback(() => {\n setExistingUser(null);\n setCompleted(prev => ({ ...prev, [USER_INFO_STEP]: false }));\n setActiveStep(USER_EMAIL_STEP);\n }, []);\n\n const goToInfoStep = useCallback(async () => {\n setExistingUser(null);\n setSidesheetLoading(true);\n if (!email?.trim()) {\n return\n }\n const existingUserResponse = await getUserByEmail(email);\n const user = existingUserResponse.data;\n if (user) {\n setExistingUser(user);\n }\n\n setSidesheetLoading(false);\n\n setCompleted(prev => ({ ...prev, [USER_EMAIL_STEP]: true }));\n setActiveStep(USER_INFO_STEP);\n }, [getUserByEmail, setSidesheetLoading, email]);\n\n const onSubmit = useCallback(\n async values => {\n setSidesheetLoading(true);\n\n if (creationMethod === 'invite') {\n values.isInvite = true;\n } else {\n values.isInvite = false;\n }\n\n if (passwordType === 'autoGeneratePassword') {\n values.passwordProfile = null;\n }\n\n if (values.email) {\n values.email = values.email.toLowerCase().trim();\n }\n values = { ...values, accountEnabled: !values.locked };\n try {\n if (existingUser) {\n // Set the new values onto the existing user values\n // eslint-disable-next-line react-hooks/immutability\n existingUser[userMapping.firstName] = values[userMapping.firstName];\n existingUser[userMapping.lastName] = values[userMapping.lastName];\n existingUser[userMapping.roles] = values[userMapping.roles];\n\n await handleUpdateAndAddToTenant(existingUser[userMapping.userId], existingUser);\n } else {\n await handleCreateUser(values);\n }\n } catch (err) {\n enqueueSnackbar(err.message, {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center',\n },\n });\n }\n\n setSidesheetLoading(false);\n },\n [\n existingUser,\n enqueueSnackbar,\n handleCreateUser,\n handleUpdateAndAddToTenant,\n setSidesheetLoading,\n creationMethod,\n passwordType,\n userMapping\n ]\n );\n\n const submitForm = useCallback(() => {\n if (handleSubmitRef.current) {\n handleSubmitRef.current();\n }\n }, []);\n\n // Inject the button definitions to prevent constant re-creation of customAction callbacks\n useEffect(() => {\n setSteps(prev => {\n const updated = [...prev];\n updated[USER_EMAIL_STEP].buttons = [\n {\n title: t('Next'),\n action: 2,\n variant: 'outline',\n disabled: !isValidEmail,\n customAction: goToInfoStep,\n },\n ];\n updated[USER_INFO_STEP].buttons = [\n {\n title: t('Back'),\n action: 1,\n variant: 'outline',\n customAction: goToEmailStep,\n disabled: sidesheetLoading\n },\n {\n title: t('Create user'),\n action: 3,\n variant: 'outline',\n customAction: submitForm,\n disabled: sidesheetLoading,\n },\n ];\n return updated;\n });\n }, [goToInfoStep, goToEmailStep, submitForm, t, sidesheetLoading, isValidEmail]);\n\n useEffect(() => {\n if (existingUser) {\n setSteps(prev => {\n const updated = [...prev];\n updated[USER_INFO_STEP].stepDisplay.subTitle = t(\n 'A user with that email already exists. Edit values before adding to the tenant'\n );\n updated[USER_INFO_STEP].buttons[1].title = t('Add user to tenant');\n return updated;\n });\n } else {\n setSteps(prev => {\n const updated = [...prev];\n updated[USER_INFO_STEP].stepDisplay.subTitle = t(\n 'Fill in additional info for the new user'\n );\n updated[USER_INFO_STEP].buttons[1].title = t('Create user');\n return updated;\n });\n }\n }, [existingUser, t]);\n\n return (\n <Form\n onSubmit={onSubmit}\n render={({ handleSubmit }) => {\n handleSubmitRef.current = handleSubmit;\n return (\n <UdpStepper\n steps={steps}\n activeStep={activeStep}\n completed={completed}\n orientation=\"vertical\"\n labelDisplay=\"all\"\n labelPosition=\"right\"\n >\n {activeStep === 0 && (\n <Field\n ref={emailFieldRef}\n component={UdpTextInput}\n label={t('Email')}\n id=\"email\"\n name=\"email\"\n appearance=\"outline\"\n controlSize=\"medium\"\n required\n value={email}\n validate={value => {\n if (\n !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) ||\n 64 < value.split('@')[0].length\n ) {\n setIsValidEmail(false);\n return t('Invalid email address');\n } else {\n setIsValidEmail(true)\n }\n }}\n onChange={e => setEmail(e.target.value)}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n goToInfoStep();\n }\n }}\n />\n )}\n {activeStep === 1 && (\n <UserFormFields\n rolesData={rolesData}\n editedUser={existingUser}\n handlePasswordTypeChange={handlePasswordTypeChange}\n passwordType={passwordType}\n handleCreationMethodChange={handleCreationMethodChange}\n creationMethod={creationMethod}\n hideEmailField={true}\n altFieldMapping={altFieldMapping}\n />\n )}\n </UdpStepper>\n );\n }}\n />\n );\n};\n\nexport default AddUser;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserFormFields.d.ts","sourceRoot":"","sources":["../../../../../src/shell/ui/user/form/UserFormFields.jsx"],"names":[],"mappings":"AAQA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAgC9D,eAAO,MAAM,cAAc,mCAqR1B,CAAC"}
1
+ {"version":3,"file":"UserFormFields.d.ts","sourceRoot":"","sources":["../../../../../src/shell/ui/user/form/UserFormFields.jsx"],"names":[],"mappings":"AAQA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAiC9D,eAAO,MAAM,cAAc,mCAwP1B,CAAC"}