@bigbinary/neeto-molecules 1.1.6 → 1.1.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 (55) hide show
  1. package/README.md +1 -0
  2. package/dist/AutoSaveInput.cjs.js +724 -0
  3. package/dist/AutoSaveInput.cjs.js.map +1 -0
  4. package/dist/AutoSaveInput.js +718 -0
  5. package/dist/AutoSaveInput.js.map +1 -0
  6. package/dist/CustomDomain.cjs.js +165 -62
  7. package/dist/CustomDomain.cjs.js.map +1 -1
  8. package/dist/CustomDomain.js +167 -64
  9. package/dist/CustomDomain.js.map +1 -1
  10. package/dist/CustomDomainDashboard.cjs.js +115 -44
  11. package/dist/CustomDomainDashboard.cjs.js.map +1 -1
  12. package/dist/CustomDomainDashboard.js +118 -47
  13. package/dist/CustomDomainDashboard.js.map +1 -1
  14. package/dist/Header.cjs.js +1 -1
  15. package/dist/Header.cjs.js.map +1 -1
  16. package/dist/Header.js +2 -2
  17. package/dist/Header.js.map +1 -1
  18. package/dist/IntegrationCard.cjs.js +123 -9
  19. package/dist/IntegrationCard.cjs.js.map +1 -1
  20. package/dist/IntegrationCard.js +126 -12
  21. package/dist/IntegrationCard.js.map +1 -1
  22. package/dist/IpRestriction.cjs.js +133 -19
  23. package/dist/IpRestriction.cjs.js.map +1 -1
  24. package/dist/IpRestriction.js +135 -21
  25. package/dist/IpRestriction.js.map +1 -1
  26. package/dist/NavigationHeader.cjs.js +188 -65
  27. package/dist/NavigationHeader.cjs.js.map +1 -1
  28. package/dist/NavigationHeader.js +191 -68
  29. package/dist/NavigationHeader.js.map +1 -1
  30. package/dist/Rename.cjs.js +188 -36
  31. package/dist/Rename.cjs.js.map +1 -1
  32. package/dist/Rename.js +191 -39
  33. package/dist/Rename.js.map +1 -1
  34. package/dist/Schedule.cjs.js +125 -15
  35. package/dist/Schedule.cjs.js.map +1 -1
  36. package/dist/Schedule.js +127 -17
  37. package/dist/Schedule.js.map +1 -1
  38. package/dist/Security.cjs.js +1 -1
  39. package/dist/Security.cjs.js.map +1 -1
  40. package/dist/Security.js +2 -2
  41. package/dist/Security.js.map +1 -1
  42. package/dist/Settings.cjs.js +123 -9
  43. package/dist/Settings.cjs.js.map +1 -1
  44. package/dist/Settings.js +126 -12
  45. package/dist/Settings.js.map +1 -1
  46. package/dist/ShareViaLink.cjs.js +175 -17
  47. package/dist/ShareViaLink.cjs.js.map +1 -1
  48. package/dist/ShareViaLink.js +184 -26
  49. package/dist/ShareViaLink.js.map +1 -1
  50. package/dist/ThemeSidebar.cjs.js +134 -50
  51. package/dist/ThemeSidebar.cjs.js.map +1 -1
  52. package/dist/ThemeSidebar.js +138 -54
  53. package/dist/ThemeSidebar.js.map +1 -1
  54. package/package.json +1 -1
  55. package/types/AutoSaveInput.d.ts +48 -0
@@ -1,11 +1,12 @@
1
1
  import React, { useRef, useState, useEffect } from 'react';
2
2
  import { slugify, noop } from '@bigbinary/neeto-commons-frontend/pure';
3
- import { Facebook, Linkedin, Twitter, ExternalLink, MenuHorizontal } from '@bigbinary/neeto-icons';
3
+ import { MenuVertical, MenuHorizontal, Facebook, Linkedin, Twitter, ExternalLink } from '@bigbinary/neeto-icons';
4
4
  import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
5
- import { Modal, Typography, Input as Input$1, Button as Button$1, Dropdown } from '@bigbinary/neetoui';
5
+ import { Dropdown, Tooltip, Button, Modal, Typography, Input as Input$1 } from '@bigbinary/neetoui';
6
6
  import { useTranslation, Trans } from 'react-i18next';
7
+ import { mergeRight } from 'ramda';
7
8
  import { Formik, Form } from 'formik';
8
- import { Input, Button } from '@bigbinary/neetoui/formik';
9
+ import { Input, Button as Button$1 } from '@bigbinary/neetoui/formik';
9
10
  import { t as t$1 } from 'i18next';
10
11
  import * as yup from 'yup';
11
12
  import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
@@ -65,6 +66,161 @@ function _slicedToArray(arr, i) {
65
66
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
66
67
  }
67
68
 
69
+ function _objectWithoutPropertiesLoose(source, excluded) {
70
+ if (source == null) return {};
71
+ var target = {};
72
+ var sourceKeys = Object.keys(source);
73
+ var key, i;
74
+ for (i = 0; i < sourceKeys.length; i++) {
75
+ key = sourceKeys[i];
76
+ if (excluded.indexOf(key) >= 0) continue;
77
+ target[key] = source[key];
78
+ }
79
+ return target;
80
+ }
81
+
82
+ function _objectWithoutProperties(source, excluded) {
83
+ if (source == null) return {};
84
+ var target = _objectWithoutPropertiesLoose(source, excluded);
85
+ var key, i;
86
+ if (Object.getOwnPropertySymbols) {
87
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
88
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
89
+ key = sourceSymbolKeys[i];
90
+ if (excluded.indexOf(key) >= 0) continue;
91
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
92
+ target[key] = source[key];
93
+ }
94
+ }
95
+ return target;
96
+ }
97
+
98
+ function _typeof(obj) {
99
+ "@babel/helpers - typeof";
100
+
101
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
102
+ return typeof obj;
103
+ } : function (obj) {
104
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
105
+ }, _typeof(obj);
106
+ }
107
+
108
+ function _toPrimitive(input, hint) {
109
+ if (_typeof(input) !== "object" || input === null) return input;
110
+ var prim = input[Symbol.toPrimitive];
111
+ if (prim !== undefined) {
112
+ var res = prim.call(input, hint || "default");
113
+ if (_typeof(res) !== "object") return res;
114
+ throw new TypeError("@@toPrimitive must return a primitive value.");
115
+ }
116
+ return (hint === "string" ? String : Number)(input);
117
+ }
118
+
119
+ function _toPropertyKey(arg) {
120
+ var key = _toPrimitive(arg, "string");
121
+ return _typeof(key) === "symbol" ? key : String(key);
122
+ }
123
+
124
+ function _defineProperty(obj, key, value) {
125
+ key = _toPropertyKey(key);
126
+ if (key in obj) {
127
+ Object.defineProperty(obj, key, {
128
+ value: value,
129
+ enumerable: true,
130
+ configurable: true,
131
+ writable: true
132
+ });
133
+ } else {
134
+ obj[key] = value;
135
+ }
136
+ return obj;
137
+ }
138
+
139
+ function _extends() {
140
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
141
+ for (var i = 1; i < arguments.length; i++) {
142
+ var source = arguments[i];
143
+ for (var key in source) {
144
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
145
+ target[key] = source[key];
146
+ }
147
+ }
148
+ }
149
+ return target;
150
+ };
151
+ return _extends.apply(this, arguments);
152
+ }
153
+
154
+ var MENU_ITEM_TYPES = {
155
+ menuItem: "menuItem",
156
+ divider: "divider"
157
+ };
158
+ var DEFAULT_TOOLTIP_PROPS = {
159
+ disabled: true,
160
+ position: "bottom"
161
+ };
162
+
163
+ var _excluded = ["key", "onClick", "label", "type", "isVisible"];
164
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
165
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
166
+ var Menu = Dropdown.Menu,
167
+ MenuItem = Dropdown.MenuItem,
168
+ Divider = Dropdown.Divider;
169
+ var MoreDropdown = function MoreDropdown(_ref) {
170
+ var _ref$dropdownButtonPr = _ref.dropdownButtonProps,
171
+ dropdownButtonProps = _ref$dropdownButtonPr === void 0 ? {} : _ref$dropdownButtonPr,
172
+ _ref$isVertical = _ref.isVertical,
173
+ isVertical = _ref$isVertical === void 0 ? false : _ref$isVertical,
174
+ _ref$isDisabled = _ref.isDisabled,
175
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
176
+ _ref$dropdownProps = _ref.dropdownProps,
177
+ dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
178
+ menuTopChildren = _ref.menuTopChildren,
179
+ menuBottomChildren = _ref.menuBottomChildren,
180
+ _ref$menuItems = _ref.menuItems,
181
+ menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
182
+ var tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, dropdownButtonProps.tooltipProps);
183
+ var targetIcon = isVertical ? MenuVertical : MenuHorizontal;
184
+ var isDropdownDisabled = isDisabled || dropdownProps.disabled;
185
+ if (isDropdownDisabled && !tooltipProps.disabled) {
186
+ return /*#__PURE__*/React.createElement(Tooltip, tooltipProps, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Button, _extends({
187
+ disabled: true,
188
+ "data-testid": "nui-dropdown-button",
189
+ icon: targetIcon,
190
+ iconPosition: "right",
191
+ size: "medium",
192
+ style: "text"
193
+ }, dropdownButtonProps))));
194
+ }
195
+ return /*#__PURE__*/React.createElement(Dropdown, _extends({
196
+ autoWidth: true,
197
+ className: "flex",
198
+ disabled: isDisabled,
199
+ icon: targetIcon,
200
+ buttonProps: _objectSpread({
201
+ className: "min-h-0 flex-shrink-0",
202
+ style: "text"
203
+ }, dropdownButtonProps)
204
+ }, dropdownProps), /*#__PURE__*/React.createElement(Menu, null, menuTopChildren, menuItems.map(function (_ref2) {
205
+ var key = _ref2.key,
206
+ onClick = _ref2.onClick,
207
+ label = _ref2.label,
208
+ _ref2$type = _ref2.type,
209
+ type = _ref2$type === void 0 ? MENU_ITEM_TYPES.menuItem : _ref2$type,
210
+ _ref2$isVisible = _ref2.isVisible,
211
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
212
+ menuItemProps = _objectWithoutProperties(_ref2, _excluded);
213
+ if (!isVisible) return null;
214
+ return type === MENU_ITEM_TYPES.menuItem ? /*#__PURE__*/React.createElement(MenuItem.Button, _extends({
215
+ key: key
216
+ }, _objectSpread({
217
+ onClick: onClick
218
+ }, menuItemProps)), label) : /*#__PURE__*/React.createElement(Divider, {
219
+ key: key
220
+ });
221
+ }), menuBottomChildren));
222
+ };
223
+
68
224
  var facebookShareLink = function facebookShareLink(_ref) {
69
225
  var id = _ref.id;
70
226
  return buildUrl("https://www.facebook.com/sharer/sharer.php", {
@@ -187,13 +343,13 @@ var EditURL = function EditURL(_ref) {
187
343
  style: "body2"
188
344
  }, t("neetoMolecules.shareViaLink.editUrl.description"))), /*#__PURE__*/React.createElement(Modal.Footer, {
189
345
  className: "space-x-2"
190
- }, /*#__PURE__*/React.createElement(Button, {
346
+ }, /*#__PURE__*/React.createElement(Button$1, {
191
347
  "data-testid": "edit-url-confirm-button",
192
348
  disabled: isSubmitting || !dirty,
193
349
  loading: isLoading,
194
350
  type: "submit",
195
351
  label: t("neetoMolecules.shareViaLink.editUrl.submitButtonLabel")
196
- }), /*#__PURE__*/React.createElement(Button, {
352
+ }), /*#__PURE__*/React.createElement(Button$1, {
197
353
  "data-testid": "edit-url-cancel-button",
198
354
  disabled: isSubmitting,
199
355
  style: "text",
@@ -232,7 +388,7 @@ var RegenerateURL = function RegenerateURL(_ref) {
232
388
  style: "body2"
233
389
  }, t("neetoMolecules.shareViaLink.regenerateUrl.description")))), /*#__PURE__*/React.createElement(Modal.Footer, {
234
390
  className: "space-x-2"
235
- }, /*#__PURE__*/React.createElement(Button$1, {
391
+ }, /*#__PURE__*/React.createElement(Button, {
236
392
  "data-testid": "regenerate-url-confirm-button",
237
393
  loading: isLoading,
238
394
  label: t("neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel"),
@@ -240,7 +396,7 @@ var RegenerateURL = function RegenerateURL(_ref) {
240
396
  handleRegenerate();
241
397
  onClose();
242
398
  }
243
- }), /*#__PURE__*/React.createElement(Button$1, {
399
+ }), /*#__PURE__*/React.createElement(Button, {
244
400
  "data-testid": "regenerate-url-cancel-button",
245
401
  style: "text",
246
402
  label: t("neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel"),
@@ -248,8 +404,6 @@ var RegenerateURL = function RegenerateURL(_ref) {
248
404
  })));
249
405
  };
250
406
 
251
- var Menu = Dropdown.Menu,
252
- MenuItem = Dropdown.MenuItem;
253
407
  var Link = function Link(_ref) {
254
408
  var editUrlProps = _ref.editUrlProps,
255
409
  enabledOptions = _ref.enabledOptions,
@@ -296,7 +450,7 @@ var Link = function Link(_ref) {
296
450
  "data-testid": "link-copy-button",
297
451
  label: t("neetoMolecules.shareViaLink.copyLink"),
298
452
  value: url
299
- }), /*#__PURE__*/React.createElement(Button$1, {
453
+ }), /*#__PURE__*/React.createElement(Button, {
300
454
  "data-testid": "preview-button",
301
455
  href: previewUrl || url,
302
456
  icon: ExternalLink,
@@ -308,21 +462,25 @@ var Link = function Link(_ref) {
308
462
  }),
309
463
  position: "top"
310
464
  }
311
- }), isDropdownEnabled && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, {
312
- buttonStyle: "text",
313
- icon: MenuHorizontal
314
- }, /*#__PURE__*/React.createElement(Menu, null, enabledOptions.regenerate && /*#__PURE__*/React.createElement(MenuItem.Button, {
315
- "data-testid": "regenerate-url-button",
316
- isDisabled: !enabledOptions.regenerate,
317
- onClick: function onClick() {
318
- return setIsRegenerateURLModalOpen(true);
319
- }
320
- }, t("neetoMolecules.shareViaLink.regenerateUrl.title")), enabledOptions.edit && /*#__PURE__*/React.createElement(MenuItem.Button, {
321
- "data-testid": "edit-url-button",
322
- onClick: function onClick() {
323
- return setIsEditURLModalOpen(true);
324
- }
325
- }, t("neetoMolecules.shareViaLink.editUrl.title")))), /*#__PURE__*/React.createElement(RegenerateURL, {
465
+ }), isDropdownEnabled && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MoreDropdown, {
466
+ menuItems: [{
467
+ isVisible: enabledOptions.regenerate,
468
+ "data-testid": "regenerate-url-button",
469
+ onClick: function onClick() {
470
+ return setIsRegenerateURLModalOpen(true);
471
+ },
472
+ label: t("neetoMolecules.shareViaLink.regenerateUrl.title"),
473
+ key: "regenerate-url-option"
474
+ }, {
475
+ isVisible: enabledOptions.edit,
476
+ "data-testid": "edit-url-button",
477
+ onClick: function onClick() {
478
+ return setIsEditURLModalOpen(true);
479
+ },
480
+ label: t("neetoMolecules.shareViaLink.editUrl.title"),
481
+ key: "edit-url-option"
482
+ }]
483
+ }), /*#__PURE__*/React.createElement(RegenerateURL, {
326
484
  handleRegenerate: handleRegenerate,
327
485
  isLoading: isLoading,
328
486
  url: url,
@@ -1223,7 +1381,7 @@ var QRCode = function QRCode(_ref) {
1223
1381
  }, /*#__PURE__*/React.createElement(Trans, {
1224
1382
  i18nKey: "neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo",
1225
1383
  components: {
1226
- button: /*#__PURE__*/React.createElement(Button$1, {
1384
+ button: /*#__PURE__*/React.createElement(Button, {
1227
1385
  "data-testid": "qr-code-download-button",
1228
1386
  style: "link",
1229
1387
  onClick: handleDownload