@bigbinary/neeto-molecules 1.0.89 → 1.0.90-beta

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 (84) hide show
  1. package/dist/Columns.cjs.js +34 -6
  2. package/dist/Columns.cjs.js.map +1 -1
  3. package/dist/Columns.js +37 -9
  4. package/dist/Columns.js.map +1 -1
  5. package/dist/Container.cjs.js +1 -1
  6. package/dist/Container.js +1 -1
  7. package/dist/CopyToClipboardButton.cjs.js +2 -1
  8. package/dist/CopyToClipboardButton.cjs.js.map +1 -1
  9. package/dist/CopyToClipboardButton.js +2 -1
  10. package/dist/CopyToClipboardButton.js.map +1 -1
  11. package/dist/CustomDomain.cjs.js +8 -10
  12. package/dist/CustomDomain.cjs.js.map +1 -1
  13. package/dist/CustomDomain.js +10 -13
  14. package/dist/CustomDomain.js.map +1 -1
  15. package/dist/CustomDomainDashboard.cjs.js +38 -38
  16. package/dist/CustomDomainDashboard.cjs.js.map +1 -1
  17. package/dist/CustomDomainDashboard.js +41 -42
  18. package/dist/CustomDomainDashboard.js.map +1 -1
  19. package/dist/EmailForm.cjs.js +1 -1
  20. package/dist/EmailForm.cjs.js.map +1 -1
  21. package/dist/EmailForm.js +1 -1
  22. package/dist/EmailForm.js.map +1 -1
  23. package/dist/Header.cjs.js +22 -24
  24. package/dist/Header.cjs.js.map +1 -1
  25. package/dist/Header.js +25 -27
  26. package/dist/Header.js.map +1 -1
  27. package/dist/IconPicker.cjs.js +1 -0
  28. package/dist/IconPicker.cjs.js.map +1 -1
  29. package/dist/IconPicker.js +1 -0
  30. package/dist/IconPicker.js.map +1 -1
  31. package/dist/IntegrationCard.cjs.js +223 -38
  32. package/dist/IntegrationCard.cjs.js.map +1 -1
  33. package/dist/IntegrationCard.js +227 -42
  34. package/dist/IntegrationCard.js.map +1 -1
  35. package/dist/IntegrationDisconnectAlert.cjs.js +22 -14
  36. package/dist/IntegrationDisconnectAlert.cjs.js.map +1 -1
  37. package/dist/IntegrationDisconnectAlert.js +19 -14
  38. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  39. package/dist/IntegrationWalkthroughModal.cjs.js +17 -9
  40. package/dist/IntegrationWalkthroughModal.cjs.js.map +1 -1
  41. package/dist/IntegrationWalkthroughModal.js +14 -9
  42. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  43. package/dist/IpRestriction.cjs.js +177 -127
  44. package/dist/IpRestriction.cjs.js.map +1 -1
  45. package/dist/IpRestriction.js +178 -128
  46. package/dist/IpRestriction.js.map +1 -1
  47. package/dist/KeyboardShortcuts.cjs.js +2 -0
  48. package/dist/KeyboardShortcuts.cjs.js.map +1 -1
  49. package/dist/KeyboardShortcuts.js +2 -0
  50. package/dist/KeyboardShortcuts.js.map +1 -1
  51. package/dist/MenuBar.cjs.js +1 -1
  52. package/dist/MenuBar.js +1 -1
  53. package/dist/NeetoWidget.cjs.js +5 -20
  54. package/dist/NeetoWidget.cjs.js.map +1 -1
  55. package/dist/NeetoWidget.js +5 -21
  56. package/dist/NeetoWidget.js.map +1 -1
  57. package/dist/Schedule.cjs.js +28 -16
  58. package/dist/Schedule.cjs.js.map +1 -1
  59. package/dist/Schedule.js +30 -18
  60. package/dist/Schedule.js.map +1 -1
  61. package/dist/Scrollable.cjs.js +5 -1
  62. package/dist/Scrollable.cjs.js.map +1 -1
  63. package/dist/Scrollable.js +5 -1
  64. package/dist/Scrollable.js.map +1 -1
  65. package/dist/ShareViaLink.cjs.js +7 -8
  66. package/dist/ShareViaLink.cjs.js.map +1 -1
  67. package/dist/ShareViaLink.js +7 -9
  68. package/dist/ShareViaLink.js.map +1 -1
  69. package/dist/Sidebar.cjs.js +231 -138
  70. package/dist/Sidebar.cjs.js.map +1 -1
  71. package/dist/Sidebar.js +234 -141
  72. package/dist/Sidebar.js.map +1 -1
  73. package/dist/SubHeader.cjs.js +7 -4
  74. package/dist/SubHeader.cjs.js.map +1 -1
  75. package/dist/SubHeader.js +8 -5
  76. package/dist/SubHeader.js.map +1 -1
  77. package/package.json +4 -2
  78. package/src/translations/en.json +23 -4
  79. package/types/Columns.d.ts +8 -7
  80. package/types/Header.d.ts +2 -0
  81. package/types/IntegrationCard.d.ts +14 -5
  82. package/types/Schedule.d.ts +7 -0
  83. package/types/Sidebar.d.ts +1 -1
  84. package/types/SubHeader.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationWalkthroughModal.cjs.js","sources":["../src/components/IntegrationWalkthroughModal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Modal, Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationWalkthroughModal = ({\n isOpen,\n onClose,\n videoUrl,\n children,\n}) => {\n const { t } = useTranslation();\n\n return (\n <Modal isOpen={isOpen} size=\"large\" onClose={onClose}>\n <Modal.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.integrationWalkthroughModal.header\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full py-10\">\n <video\n autoPlay\n controls\n muted\n className=\"cursor-pointer\"\n id=\"walkthrough-video\"\n >\n <source src={videoUrl} />\n </video>\n {children}\n </div>\n </Modal.Body>\n <Modal.Footer>\n <Button\n label={t(\"neetoMolecules.integrationWalkthroughModal.continue\")}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nIntegrationWalkthroughModal.propTypes = {\n /**\n * To specify video URL of integration walkthrough that will be embedded.\n */\n videoUrl: PropTypes.string,\n /**\n * To specify whether the integration modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * Handler function that is triggered when the continue or close button is clicked.\n */\n onClose: PropTypes.func,\n};\n\nexport default IntegrationWalkthroughModal;\n"],"names":["IntegrationWalkthroughModal","_ref","isOpen","onClose","videoUrl","children","_useTranslation","useTranslation","t","React","createElement","Modal","size","Header","Typography","style","weight","Body","className","autoPlay","controls","muted","id","src","Footer","Button","label","onClick"],"mappings":";;;;;;;;;;AAMA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA,EAK3B;AAAA,EAAA,IAJJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;EAER,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,aAAK,EAAA;AAACT,IAAAA,MAAM,EAAEA,MAAO;AAACU,IAAAA,IAAI,EAAC,OAAO;AAACT,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,eACnDM,yBAAA,CAAAC,aAAA,CAACC,aAAK,CAACE,MAAM,EAAA,IAAA,eACXJ,yBAAA,CAAAC,aAAA,CAACI,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EACrCR,CAAC,CAAC,mDAAmD,CAAC,CAC5C,CACA,eACfC,yBAAA,CAAAC,aAAA,CAACC,aAAK,CAACM,IAAI,EACTR,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,cAAA;GACbT,eAAAA,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;IACES,QAAQ,EAAA,IAAA;IACRC,QAAQ,EAAA,IAAA;IACRC,KAAK,EAAA,IAAA;AACLH,IAAAA,SAAS,EAAC,gBAAgB;AAC1BI,IAAAA,EAAE,EAAC,mBAAA;GAEHb,eAAAA,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQa,IAAAA,GAAG,EAAEnB,QAAAA;AAAS,GAAA,CAAG,CACnB,EACPC,QAAQ,CACL,CACK,eACbI,yBAAA,CAAAC,aAAA,CAACC,aAAK,CAACa,MAAM,EAAA,IAAA,eACXf,yBAAA,CAAAC,aAAA,CAACe,cAAM,EAAA;AACLC,IAAAA,KAAK,EAAElB,CAAC,CAAC,qDAAqD,CAAE;AAChEmB,IAAAA,OAAO,EAAExB,OAAAA;AAAQ,GAAA,CACjB,CACW,CACT,CAAA;AAEZ;;;;"}
1
+ {"version":3,"file":"IntegrationWalkthroughModal.cjs.js","sources":["../src/components/IntegrationWalkthroughModal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal, Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst IntegrationWalkthroughModal = ({\n t,\n isOpen = false,\n onClose = noop,\n videoUrl = \"\",\n children,\n}) => (\n <Modal {...{ isOpen, onClose }} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.integrationWalkthroughModal.header\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full py-10\">\n <video\n autoPlay\n controls\n muted\n className=\"cursor-pointer\"\n id=\"walkthrough-video\"\n >\n <source src={videoUrl} />\n </video>\n {children}\n </div>\n </Modal.Body>\n <Modal.Footer>\n <Button\n label={t(\"neetoMolecules.integrationWalkthroughModal.continue\")}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n);\n\nIntegrationWalkthroughModal.propTypes = {\n /**\n * To specify video URL of integration walkthrough that will be embedded.\n */\n videoUrl: PropTypes.string,\n /**\n * To specify whether the integration modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * Handler function that is triggered when the continue or close button is clicked.\n */\n onClose: PropTypes.func,\n};\n\nconst WrappedIntegrationWalkthroughModal = withT(IntegrationWalkthroughModal);\nWrappedIntegrationWalkthroughModal.displayName = \"IntegrationWalkthroughModal\";\n\nexport { IntegrationWalkthroughModal };\nexport default WrappedIntegrationWalkthroughModal;\n"],"names":["IntegrationWalkthroughModal","_ref","t","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_ref$videoUrl","videoUrl","children","React","createElement","Modal","size","Header","Typography","style","weight","Body","className","autoPlay","controls","muted","id","src","Footer","Button","label","onClick","WrappedIntegrationWalkthroughModal","withT","displayName"],"mappings":";;;;;;;;;;;;;AAOA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC/BC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAAC,WAAA,GAAAF,IAAA,CACDG,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAAJ,IAAA,CACdK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAGE,KAAAA,CAAAA,GAAAA,SAAI,GAAAF,YAAA;IAAAG,aAAA,GAAAP,IAAA,CACdQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IACbE,QAAQ,GAAAT,IAAA,CAARS,QAAQ,CAAA;AAAA,EAAA,oBAERC,yBAAA,CAAAC,aAAA,CAACC,aAAK,EAAA;AAAOT,IAAAA,MAAM,EAANA,MAAM;AAAEE,IAAAA,OAAO,EAAPA,OAAO;AAAIQ,IAAAA,IAAI,EAAC,OAAA;AAAO,GAAA,eAC1CH,yBAAA,CAAAC,aAAA,CAACC,aAAK,CAACE,MAAM,EAAA,IAAA,eACXJ,yBAAA,CAAAC,aAAA,CAACI,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EACrChB,CAAC,CAAC,mDAAmD,CAAC,CAC5C,CACA,eACfS,yBAAA,CAAAC,aAAA,CAACC,aAAK,CAACM,IAAI,EACTR,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,cAAA;GACbT,eAAAA,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;IACES,QAAQ,EAAA,IAAA;IACRC,QAAQ,EAAA,IAAA;IACRC,KAAK,EAAA,IAAA;AACLH,IAAAA,SAAS,EAAC,gBAAgB;AAC1BI,IAAAA,EAAE,EAAC,mBAAA;GAEHb,eAAAA,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQa,IAAAA,GAAG,EAAEhB,QAAAA;AAAS,GAAA,CAAG,CACnB,EACPC,QAAQ,CACL,CACK,eACbC,yBAAA,CAAAC,aAAA,CAACC,aAAK,CAACa,MAAM,EAAA,IAAA,eACXf,yBAAA,CAAAC,aAAA,CAACe,cAAM,EAAA;AACLC,IAAAA,KAAK,EAAE1B,CAAC,CAAC,qDAAqD,CAAE;AAChE2B,IAAAA,OAAO,EAAEvB,OAAAA;AAAQ,GAAA,CACjB,CACW,CACT,CAAA;AAAA,EACT;AAiBD,IAAMwB,kCAAkC,GAAGC,gBAAK,CAAC/B,2BAA2B,EAAC;AAC7E8B,kCAAkC,CAACE,WAAW,GAAG,6BAA6B;;;;;"}
@@ -1,18 +1,21 @@
1
1
  import React from 'react';
2
+ import { noop } from '@bigbinary/neeto-commons-frontend/pure';
3
+ import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
2
4
  import { Modal, Typography, Button } from '@bigbinary/neetoui';
3
- import { useTranslation } from 'react-i18next';
4
5
 
5
6
  var IntegrationWalkthroughModal = function IntegrationWalkthroughModal(_ref) {
6
- var isOpen = _ref.isOpen,
7
- onClose = _ref.onClose,
8
- videoUrl = _ref.videoUrl,
7
+ var t = _ref.t,
8
+ _ref$isOpen = _ref.isOpen,
9
+ isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
10
+ _ref$onClose = _ref.onClose,
11
+ onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
12
+ _ref$videoUrl = _ref.videoUrl,
13
+ videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
9
14
  children = _ref.children;
10
- var _useTranslation = useTranslation(),
11
- t = _useTranslation.t;
12
15
  return /*#__PURE__*/React.createElement(Modal, {
13
16
  isOpen: isOpen,
14
- size: "large",
15
- onClose: onClose
17
+ onClose: onClose,
18
+ size: "large"
16
19
  }, /*#__PURE__*/React.createElement(Modal.Header, null, /*#__PURE__*/React.createElement(Typography, {
17
20
  style: "h2",
18
21
  weight: "semibold"
@@ -31,6 +34,8 @@ var IntegrationWalkthroughModal = function IntegrationWalkthroughModal(_ref) {
31
34
  onClick: onClose
32
35
  })));
33
36
  };
37
+ var WrappedIntegrationWalkthroughModal = withT(IntegrationWalkthroughModal);
38
+ WrappedIntegrationWalkthroughModal.displayName = "IntegrationWalkthroughModal";
34
39
 
35
- export { IntegrationWalkthroughModal as default };
40
+ export { IntegrationWalkthroughModal, WrappedIntegrationWalkthroughModal as default };
36
41
  //# sourceMappingURL=IntegrationWalkthroughModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationWalkthroughModal.js","sources":["../src/components/IntegrationWalkthroughModal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Modal, Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationWalkthroughModal = ({\n isOpen,\n onClose,\n videoUrl,\n children,\n}) => {\n const { t } = useTranslation();\n\n return (\n <Modal isOpen={isOpen} size=\"large\" onClose={onClose}>\n <Modal.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.integrationWalkthroughModal.header\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full py-10\">\n <video\n autoPlay\n controls\n muted\n className=\"cursor-pointer\"\n id=\"walkthrough-video\"\n >\n <source src={videoUrl} />\n </video>\n {children}\n </div>\n </Modal.Body>\n <Modal.Footer>\n <Button\n label={t(\"neetoMolecules.integrationWalkthroughModal.continue\")}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nIntegrationWalkthroughModal.propTypes = {\n /**\n * To specify video URL of integration walkthrough that will be embedded.\n */\n videoUrl: PropTypes.string,\n /**\n * To specify whether the integration modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * Handler function that is triggered when the continue or close button is clicked.\n */\n onClose: PropTypes.func,\n};\n\nexport default IntegrationWalkthroughModal;\n"],"names":["IntegrationWalkthroughModal","_ref","isOpen","onClose","videoUrl","children","_useTranslation","useTranslation","t","React","createElement","Modal","size","Header","Typography","style","weight","Body","className","autoPlay","controls","muted","id","src","Footer","Button","label","onClick"],"mappings":";;;;AAMA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA,EAK3B;AAAA,EAAA,IAJJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;EAER,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;AAACT,IAAAA,MAAM,EAAEA,MAAO;AAACU,IAAAA,IAAI,EAAC,OAAO;AAACT,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,eACnDM,KAAA,CAAAC,aAAA,CAACC,KAAK,CAACE,MAAM,EAAA,IAAA,eACXJ,KAAA,CAAAC,aAAA,CAACI,UAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EACrCR,CAAC,CAAC,mDAAmD,CAAC,CAC5C,CACA,eACfC,KAAA,CAAAC,aAAA,CAACC,KAAK,CAACM,IAAI,EACTR,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,cAAA;GACbT,eAAAA,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;IACES,QAAQ,EAAA,IAAA;IACRC,QAAQ,EAAA,IAAA;IACRC,KAAK,EAAA,IAAA;AACLH,IAAAA,SAAS,EAAC,gBAAgB;AAC1BI,IAAAA,EAAE,EAAC,mBAAA;GAEHb,eAAAA,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQa,IAAAA,GAAG,EAAEnB,QAAAA;AAAS,GAAA,CAAG,CACnB,EACPC,QAAQ,CACL,CACK,eACbI,KAAA,CAAAC,aAAA,CAACC,KAAK,CAACa,MAAM,EAAA,IAAA,eACXf,KAAA,CAAAC,aAAA,CAACe,MAAM,EAAA;AACLC,IAAAA,KAAK,EAAElB,CAAC,CAAC,qDAAqD,CAAE;AAChEmB,IAAAA,OAAO,EAAExB,OAAAA;AAAQ,GAAA,CACjB,CACW,CACT,CAAA;AAEZ;;;;"}
1
+ {"version":3,"file":"IntegrationWalkthroughModal.js","sources":["../src/components/IntegrationWalkthroughModal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal, Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst IntegrationWalkthroughModal = ({\n t,\n isOpen = false,\n onClose = noop,\n videoUrl = \"\",\n children,\n}) => (\n <Modal {...{ isOpen, onClose }} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.integrationWalkthroughModal.header\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full py-10\">\n <video\n autoPlay\n controls\n muted\n className=\"cursor-pointer\"\n id=\"walkthrough-video\"\n >\n <source src={videoUrl} />\n </video>\n {children}\n </div>\n </Modal.Body>\n <Modal.Footer>\n <Button\n label={t(\"neetoMolecules.integrationWalkthroughModal.continue\")}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n);\n\nIntegrationWalkthroughModal.propTypes = {\n /**\n * To specify video URL of integration walkthrough that will be embedded.\n */\n videoUrl: PropTypes.string,\n /**\n * To specify whether the integration modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * Handler function that is triggered when the continue or close button is clicked.\n */\n onClose: PropTypes.func,\n};\n\nconst WrappedIntegrationWalkthroughModal = withT(IntegrationWalkthroughModal);\nWrappedIntegrationWalkthroughModal.displayName = \"IntegrationWalkthroughModal\";\n\nexport { IntegrationWalkthroughModal };\nexport default WrappedIntegrationWalkthroughModal;\n"],"names":["IntegrationWalkthroughModal","_ref","t","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_ref$videoUrl","videoUrl","children","React","createElement","Modal","size","Header","Typography","style","weight","Body","className","autoPlay","controls","muted","id","src","Footer","Button","label","onClick","WrappedIntegrationWalkthroughModal","withT","displayName"],"mappings":";;;;;AAOA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC/BC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAAC,WAAA,GAAAF,IAAA,CACDG,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAAJ,IAAA,CACdK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,YAAA;IAAAG,aAAA,GAAAP,IAAA,CACdQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IACbE,QAAQ,GAAAT,IAAA,CAARS,QAAQ,CAAA;AAAA,EAAA,oBAERC,KAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;AAAOT,IAAAA,MAAM,EAANA,MAAM;AAAEE,IAAAA,OAAO,EAAPA,OAAO;AAAIQ,IAAAA,IAAI,EAAC,OAAA;AAAO,GAAA,eAC1CH,KAAA,CAAAC,aAAA,CAACC,KAAK,CAACE,MAAM,EAAA,IAAA,eACXJ,KAAA,CAAAC,aAAA,CAACI,UAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EACrChB,CAAC,CAAC,mDAAmD,CAAC,CAC5C,CACA,eACfS,KAAA,CAAAC,aAAA,CAACC,KAAK,CAACM,IAAI,EACTR,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,cAAA;GACbT,eAAAA,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;IACES,QAAQ,EAAA,IAAA;IACRC,QAAQ,EAAA,IAAA;IACRC,KAAK,EAAA,IAAA;AACLH,IAAAA,SAAS,EAAC,gBAAgB;AAC1BI,IAAAA,EAAE,EAAC,mBAAA;GAEHb,eAAAA,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQa,IAAAA,GAAG,EAAEhB,QAAAA;AAAS,GAAA,CAAG,CACnB,EACPC,QAAQ,CACL,CACK,eACbC,KAAA,CAAAC,aAAA,CAACC,KAAK,CAACa,MAAM,EAAA,IAAA,eACXf,KAAA,CAAAC,aAAA,CAACe,MAAM,EAAA;AACLC,IAAAA,KAAK,EAAE1B,CAAC,CAAC,qDAAqD,CAAE;AAChE2B,IAAAA,OAAO,EAAEvB,OAAAA;AAAQ,GAAA,CACjB,CACW,CACT,CAAA;AAAA,EACT;AAiBD,IAAMwB,kCAAkC,GAAGC,KAAK,CAAC/B,2BAA2B,EAAC;AAC7E8B,kCAAkC,CAACE,WAAW,GAAG,6BAA6B;;;;"}
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
5
+ var neetoIcons = require('@bigbinary/neeto-icons');
4
6
  var neetoui = require('@bigbinary/neetoui');
5
7
  var reactI18next = require('react-i18next');
6
- var neetoIcons = require('@bigbinary/neeto-icons');
7
8
  var formik = require('@bigbinary/neetoui/formik');
8
9
  var reactQuery = require('react-query');
9
10
  var axios = require('axios');
@@ -37,6 +38,61 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
38
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
38
39
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
39
40
 
41
+ function _arrayWithHoles(arr) {
42
+ if (Array.isArray(arr)) return arr;
43
+ }
44
+
45
+ function _iterableToArrayLimit(arr, i) {
46
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
47
+ if (null != _i) {
48
+ var _s,
49
+ _e,
50
+ _x,
51
+ _r,
52
+ _arr = [],
53
+ _n = !0,
54
+ _d = !1;
55
+ try {
56
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
57
+ if (Object(_i) !== _i) return;
58
+ _n = !1;
59
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
60
+ } catch (err) {
61
+ _d = !0, _e = err;
62
+ } finally {
63
+ try {
64
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
65
+ } finally {
66
+ if (_d) throw _e;
67
+ }
68
+ }
69
+ return _arr;
70
+ }
71
+ }
72
+
73
+ function _arrayLikeToArray(arr, len) {
74
+ if (len == null || len > arr.length) len = arr.length;
75
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
76
+ return arr2;
77
+ }
78
+
79
+ function _unsupportedIterableToArray(o, minLen) {
80
+ if (!o) return;
81
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
82
+ var n = Object.prototype.toString.call(o).slice(8, -1);
83
+ if (n === "Object" && o.constructor) n = o.constructor.name;
84
+ if (n === "Map" || n === "Set") return Array.from(o);
85
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
86
+ }
87
+
88
+ function _nonIterableRest() {
89
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
90
+ }
91
+
92
+ function _slicedToArray(arr, i) {
93
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
94
+ }
95
+
40
96
  function _extends$1() {
41
97
  _extends$1 = Object.assign ? Object.assign.bind() : function (target) {
42
98
  for (var i = 1; i < arguments.length; i++) {
@@ -165,61 +221,6 @@ var PageLoader = function PageLoader(_ref) {
165
221
  };
166
222
  var PageLoader$1 = /*#__PURE__*/React__default["default"].memo(PageLoader);
167
223
 
168
- function _arrayWithHoles(arr) {
169
- if (Array.isArray(arr)) return arr;
170
- }
171
-
172
- function _iterableToArrayLimit(arr, i) {
173
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
174
- if (null != _i) {
175
- var _s,
176
- _e,
177
- _x,
178
- _r,
179
- _arr = [],
180
- _n = !0,
181
- _d = !1;
182
- try {
183
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
184
- if (Object(_i) !== _i) return;
185
- _n = !1;
186
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
187
- } catch (err) {
188
- _d = !0, _e = err;
189
- } finally {
190
- try {
191
- if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
192
- } finally {
193
- if (_d) throw _e;
194
- }
195
- }
196
- return _arr;
197
- }
198
- }
199
-
200
- function _arrayLikeToArray(arr, len) {
201
- if (len == null || len > arr.length) len = arr.length;
202
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
203
- return arr2;
204
- }
205
-
206
- function _unsupportedIterableToArray(o, minLen) {
207
- if (!o) return;
208
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
209
- var n = Object.prototype.toString.call(o).slice(8, -1);
210
- if (n === "Object" && o.constructor) n = o.constructor.name;
211
- if (n === "Map" || n === "Set") return Array.from(o);
212
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
213
- }
214
-
215
- function _nonIterableRest() {
216
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
217
- }
218
-
219
- function _slicedToArray(arr, i) {
220
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
221
- }
222
-
223
224
  var IP_RESTRICTIONS_ENGINE_BASE_URL = "ip_restrictions/api/v1";
224
225
  var INITIAL_VALUES = {
225
226
  ipStart: "",
@@ -3471,20 +3472,20 @@ var FormRow = function FormRow(_ref) {
3471
3472
  }, function (_ref2) {
3472
3473
  var isSubmitting = _ref2.isSubmitting;
3473
3474
  return /*#__PURE__*/React__default["default"].createElement("div", {
3474
- className: "neeto-ui-bg-white flex w-full flex-row justify-between px-2 py-2"
3475
+ className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-12 gap-4 p-3"
3475
3476
  }, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
3476
3477
  autoFocus: true,
3477
- className: "w-5/12 flex-grow px-3 py-2 text-left",
3478
+ className: "col-span-5 text-left",
3478
3479
  "data-cy": "ip-start-text-field",
3479
3480
  name: "ipStart",
3480
3481
  placeholder: t("neetoMolecules.ipRestriction.ipStart")
3481
3482
  }), /*#__PURE__*/React__default["default"].createElement(formik.Input, {
3482
- className: "w-5/12 flex-grow px-3 py-2 text-left",
3483
+ className: "col-span-5 text-left",
3483
3484
  "data-cy": "ip-end-text-field",
3484
3485
  name: "ipEnd",
3485
3486
  placeholder: t("neetoMolecules.ipRestriction.ipEnd")
3486
3487
  }), /*#__PURE__*/React__default["default"].createElement("div", {
3487
- className: "w-5/12 flex-grow px-3 py-2 text-center"
3488
+ className: "col-span-2 flex items-start justify-center gap-1"
3488
3489
  }, /*#__PURE__*/React__default["default"].createElement(formik.Button, {
3489
3490
  "data-cy": "save-changes-button",
3490
3491
  disabled: isSubmitting,
@@ -3527,14 +3528,14 @@ var Row = function Row(_ref) {
3527
3528
  setIsDeleteIpRangeAlertOpen(false);
3528
3529
  };
3529
3530
  return /*#__PURE__*/React__default["default"].createElement("div", {
3530
- className: "neeto-ui-bg-white flex w-full flex-row justify-between px-1 py-2",
3531
+ className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-12 items-center gap-4 p-3",
3531
3532
  "data-cy": "ip-range-row"
3532
3533
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
3533
3534
  content: data.ipStart,
3534
3535
  disabled: data.ipStart.length < TRUNCATE_LENGTH,
3535
3536
  position: "top"
3536
3537
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3537
- className: "flex w-4/12 flex-grow items-center px-3 py-2 text-left",
3538
+ className: "col-span-5",
3538
3539
  "data-cy": "ip-range-start-value",
3539
3540
  style: "body2"
3540
3541
  }, pure.truncate(data.ipStart, TRUNCATE_LENGTH))), /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
@@ -3542,14 +3543,14 @@ var Row = function Row(_ref) {
3542
3543
  disabled: data.ipEnd.length < TRUNCATE_LENGTH,
3543
3544
  position: "top"
3544
3545
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3545
- className: "flex w-4/12 flex-grow items-center px-3 py-2 text-left",
3546
+ className: "col-span-5",
3546
3547
  "data-cy": "ip-range-end-value",
3547
3548
  style: "body2"
3548
3549
  }, pure.truncate(data.ipEnd, TRUNCATE_LENGTH))), /*#__PURE__*/React__default["default"].createElement("div", {
3549
- className: "w-4/12 flex-grow px-3 py-2 text-center"
3550
+ className: "col-span-2 flex justify-center"
3550
3551
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
3551
3552
  buttonStyle: "text",
3552
- icon: neetoIcons.MenuVertical,
3553
+ icon: neetoIcons.MenuHorizontal,
3553
3554
  position: "bottom-end"
3554
3555
  }, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
3555
3556
  "data-cy": "ip-range-edit-button",
@@ -3596,43 +3597,27 @@ var AllowedIpRanges = function AllowedIpRanges() {
3596
3597
  var _useFetchAllowedIpRan = useFetchAllowedIpRanges(),
3597
3598
  allowedIpRanges = _useFetchAllowedIpRan.data;
3598
3599
  return /*#__PURE__*/React__default["default"].createElement("div", {
3599
- className: "space-y-4",
3600
+ className: "space-y-6",
3600
3601
  "data-cy": "allowed-ip-range-container"
3601
- }, /*#__PURE__*/React__default["default"].createElement("div", {
3602
- className: "flex flex-row items-center"
3603
3602
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3604
3603
  "data-cy": "allowed-ip-range-heading",
3605
- style: "h3"
3606
- }, t("neetoMolecules.ipRestriction.allowedIpRangeTitle")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3607
- className: "ml-2",
3608
- "data-cy": "add-allowed-ip-range-button",
3609
- disabled: showAddNew,
3610
- icon: neetoIcons.Plus,
3611
- size: "small",
3612
- tooltipProps: {
3613
- content: "Add",
3614
- position: "top"
3615
- },
3616
- onClick: function onClick() {
3617
- return setShowAddNew(true);
3618
- }
3619
- })), /*#__PURE__*/React__default["default"].createElement("div", {
3620
- className: "neeto-ui-text-gray-500 flex w-full flex-row justify-between"
3604
+ style: "h4"
3605
+ }, t("neetoMolecules.ipRestriction.allowedIpRangeTitle")), /*#__PURE__*/React__default["default"].createElement("div", {
3606
+ className: "space-y-4"
3607
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3608
+ className: "grid grid-cols-12 gap-4 px-3"
3621
3609
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3622
- className: "w-4/12 flex-grow px-3 py-2 text-left"
3610
+ className: "neeto-ui-text-gray-700 col-span-5 uppercase",
3611
+ style: "h6"
3623
3612
  }, t("neetoMolecules.ipRestriction.ipStart")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3624
- className: "w-4/12 flex-grow px-3 py-2 text-left"
3613
+ className: "neeto-ui-text-gray-700 col-span-5 uppercase",
3614
+ style: "h6"
3625
3615
  }, t("neetoMolecules.ipRestriction.ipEnd")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3626
- className: "w-4/12 flex-grow px-3 py-2 text-center"
3616
+ className: "neeto-ui-text-gray-700 col-span-2 text-center uppercase",
3617
+ style: "h6"
3627
3618
  }, t("neetoMolecules.ipRestriction.actions"))), /*#__PURE__*/React__default["default"].createElement("div", {
3628
- className: "items-between flex w-full flex-col space-y-2"
3629
- }, showAddNew && /*#__PURE__*/React__default["default"].createElement(FormRow, {
3630
- isAddNew: true,
3631
- data: INITIAL_VALUES,
3632
- onCollapse: function onCollapse() {
3633
- return setShowAddNew(false);
3634
- }
3635
- }), allowedIpRanges === null || allowedIpRanges === void 0 ? void 0 : allowedIpRanges.map(function (allowedIpRange) {
3619
+ className: "w-full space-y-2"
3620
+ }, allowedIpRanges === null || allowedIpRanges === void 0 ? void 0 : allowedIpRanges.map(function (allowedIpRange) {
3636
3621
  return editingRow === allowedIpRange.id ? /*#__PURE__*/React__default["default"].createElement(FormRow, {
3637
3622
  data: allowedIpRange,
3638
3623
  isAddNew: false,
@@ -3645,6 +3630,20 @@ var AllowedIpRanges = function AllowedIpRanges() {
3645
3630
  key: allowedIpRange.id,
3646
3631
  setEditingRow: setEditingRow
3647
3632
  });
3633
+ }), showAddNew && /*#__PURE__*/React__default["default"].createElement(FormRow, {
3634
+ isAddNew: true,
3635
+ data: INITIAL_VALUES,
3636
+ onCollapse: function onCollapse() {
3637
+ return setShowAddNew(false);
3638
+ }
3639
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3640
+ "data-cy": "add-allowed-ip-range-button",
3641
+ disabled: showAddNew,
3642
+ label: t("neetoMolecules.ipRestriction.addNew"),
3643
+ style: "link",
3644
+ onClick: function onClick() {
3645
+ return setShowAddNew(true);
3646
+ }
3648
3647
  })));
3649
3648
  };
3650
3649
  var AllowedIpRanges$1 = /*#__PURE__*/React__default["default"].memo(AllowedIpRanges);
@@ -3672,15 +3671,16 @@ var CurrentIp = function CurrentIp() {
3672
3671
  var _useTranslation = reactI18next.useTranslation(),
3673
3672
  t = _useTranslation.t;
3674
3673
  return /*#__PURE__*/React__default["default"].createElement("div", {
3675
- className: "space-y-1",
3674
+ className: "flex flex-wrap items-baseline gap-1",
3676
3675
  "data-cy": "current-ip-container"
3677
3676
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3678
- "data-cy": "current-ip-heading"
3677
+ "data-cy": "current-ip-heading",
3678
+ style: "body2"
3679
3679
  }, t("neetoMolecules.ipRestriction.currentIpTitle")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3680
3680
  "data-cy": "current-ip-value",
3681
+ style: "h4",
3681
3682
  weight: "semibold"
3682
3683
  }, isLoading ? "..." : data.ip), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3683
- className: "pt-2",
3684
3684
  "data-cy": "current-ip-description",
3685
3685
  style: "body2"
3686
3686
  }, t("neetoMolecules.ipRestriction.currentIpDescription")));
@@ -3717,46 +3717,96 @@ var useUpdateIpRestriction = function useUpdateIpRestriction() {
3717
3717
  };
3718
3718
 
3719
3719
  var IpRestriction = function IpRestriction() {
3720
+ var _useTranslation = reactI18next.useTranslation(),
3721
+ t = _useTranslation.t;
3720
3722
  var _useShowIpRestriction = useShowIpRestriction(),
3721
3723
  data = _useShowIpRestriction.data,
3722
3724
  isFetching = _useShowIpRestriction.isLoading;
3725
+ var _useState = React.useState(false),
3726
+ _useState2 = _slicedToArray(_useState, 2),
3727
+ isAlertOpen = _useState2[0],
3728
+ setIsAlertOpen = _useState2[1];
3729
+ var _useStateWithDependen = reactUtils.useStateWithDependency((data === null || data === void 0 ? void 0 : data.isIpRestrictionEnabled) || false, [data]),
3730
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
3731
+ isIpRestrictionVisible = _useStateWithDependen2[0],
3732
+ setIsIpRestrictionVisible = _useStateWithDependen2[1];
3723
3733
  var _useUpdateIpRestricti = useUpdateIpRestriction(),
3724
3734
  updateIpRestriction = _useUpdateIpRestricti.mutate,
3725
3735
  isUpdating = _useUpdateIpRestricti.isLoading;
3726
- var _useTranslation = reactI18next.useTranslation(),
3727
- t = _useTranslation.t;
3728
- var handleSwitchButtonChange = function handleSwitchButtonChange(e) {
3729
- var payload = {
3730
- isIpRestrictionEnabled: e.target.checked
3731
- };
3732
- updateIpRestriction(payload);
3733
- };
3734
3736
  if (isFetching) {
3735
3737
  return /*#__PURE__*/React__default["default"].createElement("div", {
3736
3738
  className: "h-screen"
3737
3739
  }, /*#__PURE__*/React__default["default"].createElement(PageLoader$1, null));
3738
3740
  }
3739
- return (
3740
- /*#__PURE__*/
3741
- // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes
3742
- React__default["default"].createElement("div", {
3743
- className: "neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-sm mx-auto mb-4 w-full space-y-4 border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl",
3744
- "data-cy": "ip-restrictions-card"
3745
- }, /*#__PURE__*/React__default["default"].createElement("div", {
3746
- className: "space-y-1 p-4"
3747
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Switch, {
3748
- checked: data.isIpRestrictionEnabled,
3749
- "data-cy": "enable-ip-restriction-switch",
3750
- disabled: isFetching || isUpdating,
3751
- label: t("neetoMolecules.ipRestriction.switchLabel"),
3752
- onChange: handleSwitchButtonChange
3753
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3754
- "data-cy": "ip-restriction-description",
3755
- style: "body3"
3756
- }, t("neetoMolecules.ipRestriction.description"))), data.isIpRestrictionEnabled && /*#__PURE__*/React__default["default"].createElement("div", {
3757
- className: "neeto-ui-bg-gray-100 w-full space-y-4 p-4"
3758
- }, /*#__PURE__*/React__default["default"].createElement(CurrentIp$1, null), /*#__PURE__*/React__default["default"].createElement(AllowedIpRanges$1, null)))
3759
- );
3741
+ var updateIpRestrictionStatus = function updateIpRestrictionStatus() {
3742
+ return updateIpRestriction({
3743
+ isIpRestrictionEnabled: isIpRestrictionVisible
3744
+ }, {
3745
+ onSuccess: function onSuccess() {
3746
+ return setIsAlertOpen(false);
3747
+ }
3748
+ });
3749
+ };
3750
+ var handleOnChange = function handleOnChange() {
3751
+ if (data.isIpRestrictionEnabled) {
3752
+ updateIpRestriction({
3753
+ isIpRestrictionEnabled: false
3754
+ }, {
3755
+ onSuccess: function onSuccess() {
3756
+ return setIsIpRestrictionVisible(false);
3757
+ }
3758
+ });
3759
+ } else {
3760
+ setIsIpRestrictionVisible(function (previousState) {
3761
+ return !previousState;
3762
+ });
3763
+ }
3764
+ };
3765
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3766
+ className: "neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl",
3767
+ "data-cy": "ip-restrictions-card"
3768
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3769
+ className: "space-y-2 p-6"
3770
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3771
+ className: "flex items-center gap-2"
3772
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
3773
+ checked: isIpRestrictionVisible,
3774
+ className: "flex-grow-0",
3775
+ "data-cy": "enable-ip-restriction-checkbox",
3776
+ disabled: isFetching || isUpdating,
3777
+ onChange: handleOnChange
3778
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3779
+ style: "h3"
3780
+ }, t("neetoMolecules.ipRestriction.switchLabel"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
3781
+ "data-cy": "ip-restriction-description",
3782
+ style: "body2"
3783
+ }, t("neetoMolecules.ipRestriction.description"))), isIpRestrictionVisible && /*#__PURE__*/React__default["default"].createElement("div", {
3784
+ className: "neeto-ui-bg-gray-100 w-full space-y-6 p-6"
3785
+ }, /*#__PURE__*/React__default["default"].createElement(CurrentIp$1, null), /*#__PURE__*/React__default["default"].createElement(AllowedIpRanges$1, null), /*#__PURE__*/React__default["default"].createElement(neetoui.Callout, {
3786
+ icon: neetoIcons.Warning,
3787
+ style: "warning"
3788
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
3789
+ className: "leading-2 block whitespace-pre-wrap py-1"
3790
+ }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
3791
+ i18nKey: "neetoMolecules.ipRestriction.warningMessage"
3792
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
3793
+ label: t("neetoMolecules.common.actions.saveChanges"),
3794
+ onClick: function onClick() {
3795
+ return setIsAlertOpen(true);
3796
+ }
3797
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
3798
+ isOpen: isAlertOpen,
3799
+ isSubmitting: isUpdating,
3800
+ title: t("neetoMolecules.ipRestriction.enableAlert.title"),
3801
+ message: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
3802
+ i18nKey: "neetoMolecules.ipRestriction.enableAlert.message"
3803
+ }),
3804
+ submitButtonLabel: t("neetoMolecules.ipRestriction.enableAlert.submitButtonLabel"),
3805
+ onClose: function onClose() {
3806
+ return setIsAlertOpen(false);
3807
+ },
3808
+ onSubmit: updateIpRestrictionStatus
3809
+ })));
3760
3810
  };
3761
3811
  var index = /*#__PURE__*/React__default["default"].memo(IpRestriction);
3762
3812