@bigbinary/neeto-molecules 1.0.88 → 1.0.89-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 (56) 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 +205 -8
  8. package/dist/CopyToClipboardButton.cjs.js.map +1 -1
  9. package/dist/CopyToClipboardButton.js +207 -10
  10. package/dist/CopyToClipboardButton.js.map +1 -1
  11. package/dist/CustomDomainDashboard.cjs.js +30 -28
  12. package/dist/CustomDomainDashboard.cjs.js.map +1 -1
  13. package/dist/CustomDomainDashboard.js +33 -31
  14. package/dist/CustomDomainDashboard.js.map +1 -1
  15. package/dist/EmailForm.cjs.js +1 -1
  16. package/dist/EmailForm.cjs.js.map +1 -1
  17. package/dist/EmailForm.js +1 -1
  18. package/dist/EmailForm.js.map +1 -1
  19. package/dist/Header.cjs.js +22 -24
  20. package/dist/Header.cjs.js.map +1 -1
  21. package/dist/Header.js +25 -27
  22. package/dist/Header.js.map +1 -1
  23. package/dist/IpRestriction.cjs.js +135 -86
  24. package/dist/IpRestriction.cjs.js.map +1 -1
  25. package/dist/IpRestriction.js +136 -87
  26. package/dist/IpRestriction.js.map +1 -1
  27. package/dist/MenuBar.cjs.js +1 -1
  28. package/dist/MenuBar.js +1 -1
  29. package/dist/Rename.cjs.js +2 -2
  30. package/dist/Rename.cjs.js.map +1 -1
  31. package/dist/Rename.js +2 -2
  32. package/dist/Rename.js.map +1 -1
  33. package/dist/Schedule.cjs.js +22 -5
  34. package/dist/Schedule.cjs.js.map +1 -1
  35. package/dist/Schedule.js +23 -6
  36. package/dist/Schedule.js.map +1 -1
  37. package/dist/Scrollable.cjs.js +5 -1
  38. package/dist/Scrollable.cjs.js.map +1 -1
  39. package/dist/Scrollable.js +5 -1
  40. package/dist/Scrollable.js.map +1 -1
  41. package/dist/Sidebar.cjs.js +221 -136
  42. package/dist/Sidebar.cjs.js.map +1 -1
  43. package/dist/Sidebar.js +224 -139
  44. package/dist/Sidebar.js.map +1 -1
  45. package/dist/SubHeader.cjs.js +7 -4
  46. package/dist/SubHeader.cjs.js.map +1 -1
  47. package/dist/SubHeader.js +8 -5
  48. package/dist/SubHeader.js.map +1 -1
  49. package/package.json +4 -2
  50. package/src/translations/en.json +13 -3
  51. package/types/Columns.d.ts +8 -7
  52. package/types/CopyToClipboardButton.d.ts +1 -0
  53. package/types/Header.d.ts +2 -0
  54. package/types/Schedule.d.ts +7 -0
  55. package/types/Sidebar.d.ts +1 -1
  56. 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, Plus, 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: "",
@@ -3523,7 +3524,7 @@ var Row = function Row(_ref) {
3523
3524
  className: "w-4/12 flex-grow px-3 py-2 text-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",
@@ -3691,46 +3692,94 @@ var useUpdateIpRestriction = function useUpdateIpRestriction() {
3691
3692
  };
3692
3693
 
3693
3694
  var IpRestriction = function IpRestriction() {
3695
+ var _useTranslation = useTranslation(),
3696
+ t = _useTranslation.t;
3694
3697
  var _useShowIpRestriction = useShowIpRestriction(),
3695
3698
  data = _useShowIpRestriction.data,
3696
3699
  isFetching = _useShowIpRestriction.isLoading;
3700
+ var _useState = useState(false),
3701
+ _useState2 = _slicedToArray(_useState, 2),
3702
+ isAlertOpen = _useState2[0],
3703
+ setIsAlertOpen = _useState2[1];
3704
+ var _useStateWithDependen = useStateWithDependency((data === null || data === void 0 ? void 0 : data.isIpRestrictionEnabled) || false, [data]),
3705
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
3706
+ isIpRestrictionVisible = _useStateWithDependen2[0],
3707
+ setIsIpRestrictionVisible = _useStateWithDependen2[1];
3697
3708
  var _useUpdateIpRestricti = useUpdateIpRestriction(),
3698
3709
  updateIpRestriction = _useUpdateIpRestricti.mutate,
3699
3710
  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
3711
  if (isFetching) {
3709
3712
  return /*#__PURE__*/React__default.createElement("div", {
3710
3713
  className: "h-screen"
3711
3714
  }, /*#__PURE__*/React__default.createElement(PageLoader$1, null));
3712
3715
  }
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
- );
3716
+ var updateIpRestrictionStatus = function updateIpRestrictionStatus() {
3717
+ return updateIpRestriction({
3718
+ isIpRestrictionEnabled: isIpRestrictionVisible
3719
+ }, {
3720
+ onSuccess: function onSuccess() {
3721
+ return setIsAlertOpen(false);
3722
+ }
3723
+ });
3724
+ };
3725
+ var handleOnChange = function handleOnChange() {
3726
+ if (data.isIpRestrictionEnabled) {
3727
+ updateIpRestriction({
3728
+ isIpRestrictionEnabled: false
3729
+ }, {
3730
+ onSuccess: function onSuccess() {
3731
+ return setIsIpRestrictionVisible(false);
3732
+ }
3733
+ });
3734
+ } else {
3735
+ setIsIpRestrictionVisible(function (previousState) {
3736
+ return !previousState;
3737
+ });
3738
+ }
3739
+ };
3740
+ return /*#__PURE__*/React__default.createElement("div", {
3741
+ className: "neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-md mx-auto mb-4 w-full border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl",
3742
+ "data-cy": "ip-restrictions-card"
3743
+ }, /*#__PURE__*/React__default.createElement("div", {
3744
+ className: "space-y-2 p-4"
3745
+ }, /*#__PURE__*/React__default.createElement(Checkbox, {
3746
+ checked: isIpRestrictionVisible,
3747
+ "data-cy": "enable-ip-restriction-checkbox",
3748
+ disabled: isFetching || isUpdating,
3749
+ label: t("neetoMolecules.ipRestriction.switchLabel"),
3750
+ onChange: handleOnChange
3751
+ }), /*#__PURE__*/React__default.createElement(Typography, {
3752
+ "data-cy": "ip-restriction-description",
3753
+ style: "body2"
3754
+ }, t("neetoMolecules.ipRestriction.description"))), isIpRestrictionVisible && /*#__PURE__*/React__default.createElement("div", {
3755
+ className: "neeto-ui-bg-gray-100 w-full space-y-4 p-4"
3756
+ }, /*#__PURE__*/React__default.createElement(CurrentIp$1, null), /*#__PURE__*/React__default.createElement(AllowedIpRanges$1, null), /*#__PURE__*/React__default.createElement("div", {
3757
+ className: "space-y-3"
3758
+ }, /*#__PURE__*/React__default.createElement(Callout, {
3759
+ icon: Warning,
3760
+ style: "warning"
3761
+ }, /*#__PURE__*/React__default.createElement("div", {
3762
+ className: "leading-2 block whitespace-pre-wrap py-1"
3763
+ }, /*#__PURE__*/React__default.createElement(Trans, {
3764
+ i18nKey: "neetoMolecules.ipRestriction.warningMessage"
3765
+ }))), /*#__PURE__*/React__default.createElement(Button$1, {
3766
+ label: t("neetoMolecules.common.actions.submit"),
3767
+ onClick: function onClick() {
3768
+ return setIsAlertOpen(true);
3769
+ }
3770
+ })), /*#__PURE__*/React__default.createElement(Alert, {
3771
+ isOpen: isAlertOpen,
3772
+ isSubmitting: isUpdating,
3773
+ title: t("neetoMolecules.ipRestriction.enableAlert.title"),
3774
+ message: /*#__PURE__*/React__default.createElement(Trans, {
3775
+ i18nKey: "neetoMolecules.ipRestriction.enableAlert.message"
3776
+ }),
3777
+ submitButtonLabel: t("neetoMolecules.ipRestriction.enableAlert.submitButtonLabel"),
3778
+ onClose: function onClose() {
3779
+ return setIsAlertOpen(false);
3780
+ },
3781
+ onSubmit: updateIpRestrictionStatus
3782
+ })));
3734
3783
  };
3735
3784
  var index = /*#__PURE__*/React__default.memo(IpRestriction);
3736
3785