@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,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { useState } from 'react';
3
- import { Typography, Button as Button$1, Dropdown, Tooltip, Alert, Switch } from '@bigbinary/neetoui';
3
+ import { useStateWithDependency } from '@bigbinary/neeto-commons-frontend/react-utils';
4
+ import { Check, Close, MenuHorizontal, Warning } from '@bigbinary/neeto-icons';
5
+ import { Typography, Button as Button$1, Dropdown, Tooltip, Alert, Checkbox, Callout } from '@bigbinary/neetoui';
4
6
  import { useTranslation, Trans } from 'react-i18next';
5
- import { Check, Close, MenuVertical, Plus } from '@bigbinary/neeto-icons';
6
7
  import { Form, Input, Button } from '@bigbinary/neetoui/formik';
7
8
  import { useQuery, useQueryClient, useMutation } from 'react-query';
8
9
  import axios from 'axios';
@@ -11,6 +12,61 @@ import { isNil, isNotNil } from 'ramda';
11
12
  import * as yup from 'yup';
12
13
  import { truncate } from '@bigbinary/neeto-commons-frontend/pure';
13
14
 
15
+ function _arrayWithHoles(arr) {
16
+ if (Array.isArray(arr)) return arr;
17
+ }
18
+
19
+ function _iterableToArrayLimit(arr, i) {
20
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
21
+ if (null != _i) {
22
+ var _s,
23
+ _e,
24
+ _x,
25
+ _r,
26
+ _arr = [],
27
+ _n = !0,
28
+ _d = !1;
29
+ try {
30
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
31
+ if (Object(_i) !== _i) return;
32
+ _n = !1;
33
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
34
+ } catch (err) {
35
+ _d = !0, _e = err;
36
+ } finally {
37
+ try {
38
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
39
+ } finally {
40
+ if (_d) throw _e;
41
+ }
42
+ }
43
+ return _arr;
44
+ }
45
+ }
46
+
47
+ function _arrayLikeToArray(arr, len) {
48
+ if (len == null || len > arr.length) len = arr.length;
49
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
50
+ return arr2;
51
+ }
52
+
53
+ function _unsupportedIterableToArray(o, minLen) {
54
+ if (!o) return;
55
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
56
+ var n = Object.prototype.toString.call(o).slice(8, -1);
57
+ if (n === "Object" && o.constructor) n = o.constructor.name;
58
+ if (n === "Map" || n === "Set") return Array.from(o);
59
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
60
+ }
61
+
62
+ function _nonIterableRest() {
63
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
+ }
65
+
66
+ function _slicedToArray(arr, i) {
67
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
68
+ }
69
+
14
70
  function _extends$1() {
15
71
  _extends$1 = Object.assign ? Object.assign.bind() : function (target) {
16
72
  for (var i = 1; i < arguments.length; i++) {
@@ -139,61 +195,6 @@ var PageLoader = function PageLoader(_ref) {
139
195
  };
140
196
  var PageLoader$1 = /*#__PURE__*/React__default.memo(PageLoader);
141
197
 
142
- function _arrayWithHoles(arr) {
143
- if (Array.isArray(arr)) return arr;
144
- }
145
-
146
- function _iterableToArrayLimit(arr, i) {
147
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
148
- if (null != _i) {
149
- var _s,
150
- _e,
151
- _x,
152
- _r,
153
- _arr = [],
154
- _n = !0,
155
- _d = !1;
156
- try {
157
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
158
- if (Object(_i) !== _i) return;
159
- _n = !1;
160
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
161
- } catch (err) {
162
- _d = !0, _e = err;
163
- } finally {
164
- try {
165
- if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
166
- } finally {
167
- if (_d) throw _e;
168
- }
169
- }
170
- return _arr;
171
- }
172
- }
173
-
174
- function _arrayLikeToArray(arr, len) {
175
- if (len == null || len > arr.length) len = arr.length;
176
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
177
- return arr2;
178
- }
179
-
180
- function _unsupportedIterableToArray(o, minLen) {
181
- if (!o) return;
182
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
183
- var n = Object.prototype.toString.call(o).slice(8, -1);
184
- if (n === "Object" && o.constructor) n = o.constructor.name;
185
- if (n === "Map" || n === "Set") return Array.from(o);
186
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
187
- }
188
-
189
- function _nonIterableRest() {
190
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
191
- }
192
-
193
- function _slicedToArray(arr, i) {
194
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
195
- }
196
-
197
198
  var IP_RESTRICTIONS_ENGINE_BASE_URL = "ip_restrictions/api/v1";
198
199
  var INITIAL_VALUES = {
199
200
  ipStart: "",
@@ -3445,20 +3446,20 @@ var FormRow = function FormRow(_ref) {
3445
3446
  }, function (_ref2) {
3446
3447
  var isSubmitting = _ref2.isSubmitting;
3447
3448
  return /*#__PURE__*/React__default.createElement("div", {
3448
- className: "neeto-ui-bg-white flex w-full flex-row justify-between px-2 py-2"
3449
+ className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-12 gap-4 p-3"
3449
3450
  }, /*#__PURE__*/React__default.createElement(Input, {
3450
3451
  autoFocus: true,
3451
- className: "w-5/12 flex-grow px-3 py-2 text-left",
3452
+ className: "col-span-5 text-left",
3452
3453
  "data-cy": "ip-start-text-field",
3453
3454
  name: "ipStart",
3454
3455
  placeholder: t("neetoMolecules.ipRestriction.ipStart")
3455
3456
  }), /*#__PURE__*/React__default.createElement(Input, {
3456
- className: "w-5/12 flex-grow px-3 py-2 text-left",
3457
+ className: "col-span-5 text-left",
3457
3458
  "data-cy": "ip-end-text-field",
3458
3459
  name: "ipEnd",
3459
3460
  placeholder: t("neetoMolecules.ipRestriction.ipEnd")
3460
3461
  }), /*#__PURE__*/React__default.createElement("div", {
3461
- className: "w-5/12 flex-grow px-3 py-2 text-center"
3462
+ className: "col-span-2 flex items-start justify-center gap-1"
3462
3463
  }, /*#__PURE__*/React__default.createElement(Button, {
3463
3464
  "data-cy": "save-changes-button",
3464
3465
  disabled: isSubmitting,
@@ -3501,14 +3502,14 @@ var Row = function Row(_ref) {
3501
3502
  setIsDeleteIpRangeAlertOpen(false);
3502
3503
  };
3503
3504
  return /*#__PURE__*/React__default.createElement("div", {
3504
- className: "neeto-ui-bg-white flex w-full flex-row justify-between px-1 py-2",
3505
+ className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-12 items-center gap-4 p-3",
3505
3506
  "data-cy": "ip-range-row"
3506
3507
  }, /*#__PURE__*/React__default.createElement(Tooltip, {
3507
3508
  content: data.ipStart,
3508
3509
  disabled: data.ipStart.length < TRUNCATE_LENGTH,
3509
3510
  position: "top"
3510
3511
  }, /*#__PURE__*/React__default.createElement(Typography, {
3511
- className: "flex w-4/12 flex-grow items-center px-3 py-2 text-left",
3512
+ className: "col-span-5",
3512
3513
  "data-cy": "ip-range-start-value",
3513
3514
  style: "body2"
3514
3515
  }, truncate(data.ipStart, TRUNCATE_LENGTH))), /*#__PURE__*/React__default.createElement(Tooltip, {
@@ -3516,14 +3517,14 @@ var Row = function Row(_ref) {
3516
3517
  disabled: data.ipEnd.length < TRUNCATE_LENGTH,
3517
3518
  position: "top"
3518
3519
  }, /*#__PURE__*/React__default.createElement(Typography, {
3519
- className: "flex w-4/12 flex-grow items-center px-3 py-2 text-left",
3520
+ className: "col-span-5",
3520
3521
  "data-cy": "ip-range-end-value",
3521
3522
  style: "body2"
3522
3523
  }, truncate(data.ipEnd, TRUNCATE_LENGTH))), /*#__PURE__*/React__default.createElement("div", {
3523
- className: "w-4/12 flex-grow px-3 py-2 text-center"
3524
+ className: "col-span-2 flex justify-center"
3524
3525
  }, /*#__PURE__*/React__default.createElement(Dropdown, {
3525
3526
  buttonStyle: "text",
3526
- icon: MenuVertical,
3527
+ icon: MenuHorizontal,
3527
3528
  position: "bottom-end"
3528
3529
  }, /*#__PURE__*/React__default.createElement(Menu, null, /*#__PURE__*/React__default.createElement(MenuItem.Button, {
3529
3530
  "data-cy": "ip-range-edit-button",
@@ -3570,43 +3571,27 @@ var AllowedIpRanges = function AllowedIpRanges() {
3570
3571
  var _useFetchAllowedIpRan = useFetchAllowedIpRanges(),
3571
3572
  allowedIpRanges = _useFetchAllowedIpRan.data;
3572
3573
  return /*#__PURE__*/React__default.createElement("div", {
3573
- className: "space-y-4",
3574
+ className: "space-y-6",
3574
3575
  "data-cy": "allowed-ip-range-container"
3575
- }, /*#__PURE__*/React__default.createElement("div", {
3576
- className: "flex flex-row items-center"
3577
3576
  }, /*#__PURE__*/React__default.createElement(Typography, {
3578
3577
  "data-cy": "allowed-ip-range-heading",
3579
- style: "h3"
3580
- }, t("neetoMolecules.ipRestriction.allowedIpRangeTitle")), /*#__PURE__*/React__default.createElement(Button$1, {
3581
- className: "ml-2",
3582
- "data-cy": "add-allowed-ip-range-button",
3583
- disabled: showAddNew,
3584
- icon: Plus,
3585
- size: "small",
3586
- tooltipProps: {
3587
- content: "Add",
3588
- position: "top"
3589
- },
3590
- onClick: function onClick() {
3591
- return setShowAddNew(true);
3592
- }
3593
- })), /*#__PURE__*/React__default.createElement("div", {
3594
- className: "neeto-ui-text-gray-500 flex w-full flex-row justify-between"
3578
+ style: "h4"
3579
+ }, t("neetoMolecules.ipRestriction.allowedIpRangeTitle")), /*#__PURE__*/React__default.createElement("div", {
3580
+ className: "space-y-4"
3581
+ }, /*#__PURE__*/React__default.createElement("div", {
3582
+ className: "grid grid-cols-12 gap-4 px-3"
3595
3583
  }, /*#__PURE__*/React__default.createElement(Typography, {
3596
- className: "w-4/12 flex-grow px-3 py-2 text-left"
3584
+ className: "neeto-ui-text-gray-700 col-span-5 uppercase",
3585
+ style: "h6"
3597
3586
  }, t("neetoMolecules.ipRestriction.ipStart")), /*#__PURE__*/React__default.createElement(Typography, {
3598
- className: "w-4/12 flex-grow px-3 py-2 text-left"
3587
+ className: "neeto-ui-text-gray-700 col-span-5 uppercase",
3588
+ style: "h6"
3599
3589
  }, t("neetoMolecules.ipRestriction.ipEnd")), /*#__PURE__*/React__default.createElement(Typography, {
3600
- className: "w-4/12 flex-grow px-3 py-2 text-center"
3590
+ className: "neeto-ui-text-gray-700 col-span-2 text-center uppercase",
3591
+ style: "h6"
3601
3592
  }, t("neetoMolecules.ipRestriction.actions"))), /*#__PURE__*/React__default.createElement("div", {
3602
- className: "items-between flex w-full flex-col space-y-2"
3603
- }, showAddNew && /*#__PURE__*/React__default.createElement(FormRow, {
3604
- isAddNew: true,
3605
- data: INITIAL_VALUES,
3606
- onCollapse: function onCollapse() {
3607
- return setShowAddNew(false);
3608
- }
3609
- }), allowedIpRanges === null || allowedIpRanges === void 0 ? void 0 : allowedIpRanges.map(function (allowedIpRange) {
3593
+ className: "w-full space-y-2"
3594
+ }, allowedIpRanges === null || allowedIpRanges === void 0 ? void 0 : allowedIpRanges.map(function (allowedIpRange) {
3610
3595
  return editingRow === allowedIpRange.id ? /*#__PURE__*/React__default.createElement(FormRow, {
3611
3596
  data: allowedIpRange,
3612
3597
  isAddNew: false,
@@ -3619,6 +3604,20 @@ var AllowedIpRanges = function AllowedIpRanges() {
3619
3604
  key: allowedIpRange.id,
3620
3605
  setEditingRow: setEditingRow
3621
3606
  });
3607
+ }), showAddNew && /*#__PURE__*/React__default.createElement(FormRow, {
3608
+ isAddNew: true,
3609
+ data: INITIAL_VALUES,
3610
+ onCollapse: function onCollapse() {
3611
+ return setShowAddNew(false);
3612
+ }
3613
+ })), /*#__PURE__*/React__default.createElement(Button$1, {
3614
+ "data-cy": "add-allowed-ip-range-button",
3615
+ disabled: showAddNew,
3616
+ label: t("neetoMolecules.ipRestriction.addNew"),
3617
+ style: "link",
3618
+ onClick: function onClick() {
3619
+ return setShowAddNew(true);
3620
+ }
3622
3621
  })));
3623
3622
  };
3624
3623
  var AllowedIpRanges$1 = /*#__PURE__*/React__default.memo(AllowedIpRanges);
@@ -3646,15 +3645,16 @@ var CurrentIp = function CurrentIp() {
3646
3645
  var _useTranslation = useTranslation(),
3647
3646
  t = _useTranslation.t;
3648
3647
  return /*#__PURE__*/React__default.createElement("div", {
3649
- className: "space-y-1",
3648
+ className: "flex flex-wrap items-baseline gap-1",
3650
3649
  "data-cy": "current-ip-container"
3651
3650
  }, /*#__PURE__*/React__default.createElement(Typography, {
3652
- "data-cy": "current-ip-heading"
3651
+ "data-cy": "current-ip-heading",
3652
+ style: "body2"
3653
3653
  }, t("neetoMolecules.ipRestriction.currentIpTitle")), /*#__PURE__*/React__default.createElement(Typography, {
3654
3654
  "data-cy": "current-ip-value",
3655
+ style: "h4",
3655
3656
  weight: "semibold"
3656
3657
  }, isLoading ? "..." : data.ip), /*#__PURE__*/React__default.createElement(Typography, {
3657
- className: "pt-2",
3658
3658
  "data-cy": "current-ip-description",
3659
3659
  style: "body2"
3660
3660
  }, t("neetoMolecules.ipRestriction.currentIpDescription")));
@@ -3691,46 +3691,96 @@ var useUpdateIpRestriction = function useUpdateIpRestriction() {
3691
3691
  };
3692
3692
 
3693
3693
  var IpRestriction = function IpRestriction() {
3694
+ var _useTranslation = useTranslation(),
3695
+ t = _useTranslation.t;
3694
3696
  var _useShowIpRestriction = useShowIpRestriction(),
3695
3697
  data = _useShowIpRestriction.data,
3696
3698
  isFetching = _useShowIpRestriction.isLoading;
3699
+ var _useState = useState(false),
3700
+ _useState2 = _slicedToArray(_useState, 2),
3701
+ isAlertOpen = _useState2[0],
3702
+ setIsAlertOpen = _useState2[1];
3703
+ var _useStateWithDependen = useStateWithDependency((data === null || data === void 0 ? void 0 : data.isIpRestrictionEnabled) || false, [data]),
3704
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
3705
+ isIpRestrictionVisible = _useStateWithDependen2[0],
3706
+ setIsIpRestrictionVisible = _useStateWithDependen2[1];
3697
3707
  var _useUpdateIpRestricti = useUpdateIpRestriction(),
3698
3708
  updateIpRestriction = _useUpdateIpRestricti.mutate,
3699
3709
  isUpdating = _useUpdateIpRestricti.isLoading;
3700
- var _useTranslation = useTranslation(),
3701
- t = _useTranslation.t;
3702
- var handleSwitchButtonChange = function handleSwitchButtonChange(e) {
3703
- var payload = {
3704
- isIpRestrictionEnabled: e.target.checked
3705
- };
3706
- updateIpRestriction(payload);
3707
- };
3708
3710
  if (isFetching) {
3709
3711
  return /*#__PURE__*/React__default.createElement("div", {
3710
3712
  className: "h-screen"
3711
3713
  }, /*#__PURE__*/React__default.createElement(PageLoader$1, null));
3712
3714
  }
3713
- return (
3714
- /*#__PURE__*/
3715
- // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes
3716
- React__default.createElement("div", {
3717
- 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",
3718
- "data-cy": "ip-restrictions-card"
3719
- }, /*#__PURE__*/React__default.createElement("div", {
3720
- className: "space-y-1 p-4"
3721
- }, /*#__PURE__*/React__default.createElement(Switch, {
3722
- checked: data.isIpRestrictionEnabled,
3723
- "data-cy": "enable-ip-restriction-switch",
3724
- disabled: isFetching || isUpdating,
3725
- label: t("neetoMolecules.ipRestriction.switchLabel"),
3726
- onChange: handleSwitchButtonChange
3727
- }), /*#__PURE__*/React__default.createElement(Typography, {
3728
- "data-cy": "ip-restriction-description",
3729
- style: "body3"
3730
- }, t("neetoMolecules.ipRestriction.description"))), data.isIpRestrictionEnabled && /*#__PURE__*/React__default.createElement("div", {
3731
- className: "neeto-ui-bg-gray-100 w-full space-y-4 p-4"
3732
- }, /*#__PURE__*/React__default.createElement(CurrentIp$1, null), /*#__PURE__*/React__default.createElement(AllowedIpRanges$1, null)))
3733
- );
3715
+ var updateIpRestrictionStatus = function updateIpRestrictionStatus() {
3716
+ return updateIpRestriction({
3717
+ isIpRestrictionEnabled: isIpRestrictionVisible
3718
+ }, {
3719
+ onSuccess: function onSuccess() {
3720
+ return setIsAlertOpen(false);
3721
+ }
3722
+ });
3723
+ };
3724
+ var handleOnChange = function handleOnChange() {
3725
+ if (data.isIpRestrictionEnabled) {
3726
+ updateIpRestriction({
3727
+ isIpRestrictionEnabled: false
3728
+ }, {
3729
+ onSuccess: function onSuccess() {
3730
+ return setIsIpRestrictionVisible(false);
3731
+ }
3732
+ });
3733
+ } else {
3734
+ setIsIpRestrictionVisible(function (previousState) {
3735
+ return !previousState;
3736
+ });
3737
+ }
3738
+ };
3739
+ return /*#__PURE__*/React__default.createElement("div", {
3740
+ 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",
3741
+ "data-cy": "ip-restrictions-card"
3742
+ }, /*#__PURE__*/React__default.createElement("div", {
3743
+ className: "space-y-2 p-6"
3744
+ }, /*#__PURE__*/React__default.createElement("div", {
3745
+ className: "flex items-center gap-2"
3746
+ }, /*#__PURE__*/React__default.createElement(Checkbox, {
3747
+ checked: isIpRestrictionVisible,
3748
+ className: "flex-grow-0",
3749
+ "data-cy": "enable-ip-restriction-checkbox",
3750
+ disabled: isFetching || isUpdating,
3751
+ onChange: handleOnChange
3752
+ }), /*#__PURE__*/React__default.createElement(Typography, {
3753
+ style: "h3"
3754
+ }, t("neetoMolecules.ipRestriction.switchLabel"))), /*#__PURE__*/React__default.createElement(Typography, {
3755
+ "data-cy": "ip-restriction-description",
3756
+ style: "body2"
3757
+ }, t("neetoMolecules.ipRestriction.description"))), isIpRestrictionVisible && /*#__PURE__*/React__default.createElement("div", {
3758
+ className: "neeto-ui-bg-gray-100 w-full space-y-6 p-6"
3759
+ }, /*#__PURE__*/React__default.createElement(CurrentIp$1, null), /*#__PURE__*/React__default.createElement(AllowedIpRanges$1, null), /*#__PURE__*/React__default.createElement(Callout, {
3760
+ icon: Warning,
3761
+ style: "warning"
3762
+ }, /*#__PURE__*/React__default.createElement("div", {
3763
+ className: "leading-2 block whitespace-pre-wrap py-1"
3764
+ }, /*#__PURE__*/React__default.createElement(Trans, {
3765
+ i18nKey: "neetoMolecules.ipRestriction.warningMessage"
3766
+ }))), /*#__PURE__*/React__default.createElement(Button$1, {
3767
+ label: t("neetoMolecules.common.actions.saveChanges"),
3768
+ onClick: function onClick() {
3769
+ return setIsAlertOpen(true);
3770
+ }
3771
+ }), /*#__PURE__*/React__default.createElement(Alert, {
3772
+ isOpen: isAlertOpen,
3773
+ isSubmitting: isUpdating,
3774
+ title: t("neetoMolecules.ipRestriction.enableAlert.title"),
3775
+ message: /*#__PURE__*/React__default.createElement(Trans, {
3776
+ i18nKey: "neetoMolecules.ipRestriction.enableAlert.message"
3777
+ }),
3778
+ submitButtonLabel: t("neetoMolecules.ipRestriction.enableAlert.submitButtonLabel"),
3779
+ onClose: function onClose() {
3780
+ return setIsAlertOpen(false);
3781
+ },
3782
+ onSubmit: updateIpRestrictionStatus
3783
+ })));
3734
3784
  };
3735
3785
  var index = /*#__PURE__*/React__default.memo(IpRestriction);
3736
3786