@bigbinary/neeto-molecules 1.3.10 → 1.3.12

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 (118) hide show
  1. package/dist/ShareViaLink.js +14 -5
  2. package/dist/ShareViaLink.js.map +1 -1
  3. package/dist/cjs/Breadcrumbs.js +51 -0
  4. package/dist/cjs/Breadcrumbs.js.map +1 -0
  5. package/dist/cjs/BrowserSupport.js +426 -0
  6. package/dist/cjs/BrowserSupport.js.map +1 -0
  7. package/dist/cjs/Builder.js +712 -0
  8. package/dist/cjs/Builder.js.map +1 -0
  9. package/dist/cjs/CalendarView.js +549 -0
  10. package/dist/cjs/CalendarView.js.map +1 -0
  11. package/dist/cjs/Codeblock.js +251 -0
  12. package/dist/cjs/Codeblock.js.map +1 -0
  13. package/dist/cjs/Columns.js +248 -0
  14. package/dist/cjs/Columns.js.map +1 -0
  15. package/dist/cjs/ConfirmationModal.js +120 -0
  16. package/dist/cjs/ConfirmationModal.js.map +1 -0
  17. package/dist/cjs/Container.js +1218 -0
  18. package/dist/cjs/Container.js.map +1 -0
  19. package/dist/cjs/CopyToClipboardButton.js +215 -0
  20. package/dist/cjs/CopyToClipboardButton.js.map +1 -0
  21. package/dist/cjs/CustomDomain.js +743 -0
  22. package/dist/cjs/CustomDomain.js.map +1 -0
  23. package/dist/cjs/CustomDomainDashboard.js +2348 -0
  24. package/dist/cjs/CustomDomainDashboard.js.map +1 -0
  25. package/dist/cjs/DateFormat.js +53 -0
  26. package/dist/cjs/DateFormat.js.map +1 -0
  27. package/dist/cjs/DateRangeFilter.js +236 -0
  28. package/dist/cjs/DateRangeFilter.js.map +1 -0
  29. package/dist/cjs/DocumentEditor.js +283 -0
  30. package/dist/cjs/DocumentEditor.js.map +1 -0
  31. package/dist/cjs/DownloadMobileAppCallout.js +45 -0
  32. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
  33. package/dist/cjs/DynamicVariables.js +189 -0
  34. package/dist/cjs/DynamicVariables.js.map +1 -0
  35. package/dist/cjs/EmailForm.js +2057 -0
  36. package/dist/cjs/EmailForm.js.map +1 -0
  37. package/dist/cjs/EmailPreview.js +1319 -0
  38. package/dist/cjs/EmailPreview.js.map +1 -0
  39. package/dist/cjs/ErrorPage.js +188 -0
  40. package/dist/cjs/ErrorPage.js.map +1 -0
  41. package/dist/cjs/Header.js +179 -0
  42. package/dist/cjs/Header.js.map +1 -0
  43. package/dist/cjs/IconPicker.js +324 -0
  44. package/dist/cjs/IconPicker.js.map +1 -0
  45. package/dist/cjs/ImageWithFallback.js +188 -0
  46. package/dist/cjs/ImageWithFallback.js.map +1 -0
  47. package/dist/cjs/InlineInput.js +734 -0
  48. package/dist/cjs/InlineInput.js.map +1 -0
  49. package/dist/cjs/IntegrationCard.js +400 -0
  50. package/dist/cjs/IntegrationCard.js.map +1 -0
  51. package/dist/cjs/IntegrationDisconnectAlert.js +89 -0
  52. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
  53. package/dist/cjs/IntegrationWalkthroughModal.js +50 -0
  54. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
  55. package/dist/cjs/IpRestriction.js +683 -0
  56. package/dist/cjs/IpRestriction.js.map +1 -0
  57. package/dist/cjs/KeyboardShortcuts.js +370 -0
  58. package/dist/cjs/KeyboardShortcuts.js.map +1 -0
  59. package/dist/cjs/LoginPage.js +620 -0
  60. package/dist/cjs/LoginPage.js.map +1 -0
  61. package/dist/cjs/MenuBar.js +1468 -0
  62. package/dist/cjs/MenuBar.js.map +1 -0
  63. package/dist/cjs/Metadata.js +215 -0
  64. package/dist/cjs/Metadata.js.map +1 -0
  65. package/dist/cjs/MoreDropdown.js +210 -0
  66. package/dist/cjs/MoreDropdown.js.map +1 -0
  67. package/dist/cjs/NavigationHeader.js +867 -0
  68. package/dist/cjs/NavigationHeader.js.map +1 -0
  69. package/dist/cjs/NeetoWidget.js +1078 -0
  70. package/dist/cjs/NeetoWidget.js.map +1 -0
  71. package/dist/cjs/PageLoader.js +159 -0
  72. package/dist/cjs/PageLoader.js.map +1 -0
  73. package/dist/cjs/PhoneNumber.js +492 -0
  74. package/dist/cjs/PhoneNumber.js.map +1 -0
  75. package/dist/cjs/PublishBlock.js +165 -0
  76. package/dist/cjs/PublishBlock.js.map +1 -0
  77. package/dist/cjs/PublishYourItem.js +1239 -0
  78. package/dist/cjs/PublishYourItem.js.map +1 -0
  79. package/dist/cjs/Rename.js +625 -0
  80. package/dist/cjs/Rename.js.map +1 -0
  81. package/dist/cjs/ResponsiveDevicePicker.js +200 -0
  82. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
  83. package/dist/cjs/Schedule.js +1130 -0
  84. package/dist/cjs/Schedule.js.map +1 -0
  85. package/dist/cjs/Scrollable.js +129 -0
  86. package/dist/cjs/Scrollable.js.map +1 -0
  87. package/dist/cjs/Search.js +217 -0
  88. package/dist/cjs/Search.js.map +1 -0
  89. package/dist/cjs/Security.js +1930 -0
  90. package/dist/cjs/Security.js.map +1 -0
  91. package/dist/cjs/SendToFields.js +353 -0
  92. package/dist/cjs/SendToFields.js.map +1 -0
  93. package/dist/cjs/Settings.js +492 -0
  94. package/dist/cjs/Settings.js.map +1 -0
  95. package/dist/cjs/ShareViaEmail.js +2005 -0
  96. package/dist/cjs/ShareViaEmail.js.map +1 -0
  97. package/dist/cjs/ShareViaLink.js +738 -0
  98. package/dist/cjs/ShareViaLink.js.map +1 -0
  99. package/dist/cjs/Sidebar.js +930 -0
  100. package/dist/cjs/Sidebar.js.map +1 -0
  101. package/dist/cjs/SubHeader.js +224 -0
  102. package/dist/cjs/SubHeader.js.map +1 -0
  103. package/dist/cjs/SuffixedInput.js +216 -0
  104. package/dist/cjs/SuffixedInput.js.map +1 -0
  105. package/dist/cjs/TableWrapper.js +33 -0
  106. package/dist/cjs/TableWrapper.js.map +1 -0
  107. package/dist/cjs/Taxonomy.js +2125 -0
  108. package/dist/cjs/Taxonomy.js.map +1 -0
  109. package/dist/cjs/ThemeSidebar.js +2052 -0
  110. package/dist/cjs/ThemeSidebar.js.map +1 -0
  111. package/dist/cjs/TimeFormat.js +55 -0
  112. package/dist/cjs/TimeFormat.js.map +1 -0
  113. package/dist/cjs/TimezoneMismatchModal.js +176 -0
  114. package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
  115. package/dist/cjs/ToggleFeatureCard.js +330 -0
  116. package/dist/cjs/ToggleFeatureCard.js.map +1 -0
  117. package/package.json +2 -1
  118. package/types/ShareViaLink.d.ts +2 -0
@@ -0,0 +1,738 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var neetoCist = require('@bigbinary/neeto-cist');
5
+ var neetoIcons = require('@bigbinary/neeto-icons');
6
+ var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
7
+ var neetoui = require('@bigbinary/neetoui');
8
+ var reactI18next = require('react-i18next');
9
+ var ramda = require('ramda');
10
+ var formik = require('formik');
11
+ var formik$1 = require('@bigbinary/neetoui/formik');
12
+ var i18next = require('i18next');
13
+ var yup = require('yup');
14
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
15
+ var classnames = require('classnames');
16
+ var reactRouterDom = require('react-router-dom');
17
+ var QRCodeImage = require('qrcode.react');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ function _interopNamespace(e) {
22
+ if (e && e.__esModule) return e;
23
+ var n = Object.create(null);
24
+ if (e) {
25
+ Object.keys(e).forEach(function (k) {
26
+ if (k !== 'default') {
27
+ var d = Object.getOwnPropertyDescriptor(e, k);
28
+ Object.defineProperty(n, k, d.get ? d : {
29
+ enumerable: true,
30
+ get: function () { return e[k]; }
31
+ });
32
+ }
33
+ });
34
+ }
35
+ n["default"] = e;
36
+ return Object.freeze(n);
37
+ }
38
+
39
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
40
+ var CopyToClipboardButton__default = /*#__PURE__*/_interopDefaultLegacy(CopyToClipboardButton);
41
+ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
42
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
43
+ var QRCodeImage__default = /*#__PURE__*/_interopDefaultLegacy(QRCodeImage);
44
+
45
+ function _arrayWithHoles(arr) {
46
+ if (Array.isArray(arr)) return arr;
47
+ }
48
+
49
+ function _iterableToArrayLimit(r, l) {
50
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
51
+ if (null != t) {
52
+ var e,
53
+ n,
54
+ i,
55
+ u,
56
+ a = [],
57
+ f = !0,
58
+ o = !1;
59
+ try {
60
+ if (i = (t = t.call(r)).next, 0 === l) {
61
+ if (Object(t) !== t) return;
62
+ f = !1;
63
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
64
+ } catch (r) {
65
+ o = !0, n = r;
66
+ } finally {
67
+ try {
68
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
69
+ } finally {
70
+ if (o) throw n;
71
+ }
72
+ }
73
+ return a;
74
+ }
75
+ }
76
+
77
+ function _arrayLikeToArray(arr, len) {
78
+ if (len == null || len > arr.length) len = arr.length;
79
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
80
+ return arr2;
81
+ }
82
+
83
+ function _unsupportedIterableToArray(o, minLen) {
84
+ if (!o) return;
85
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
86
+ var n = Object.prototype.toString.call(o).slice(8, -1);
87
+ if (n === "Object" && o.constructor) n = o.constructor.name;
88
+ if (n === "Map" || n === "Set") return Array.from(o);
89
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
90
+ }
91
+
92
+ function _nonIterableRest() {
93
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
94
+ }
95
+
96
+ function _slicedToArray(arr, i) {
97
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
98
+ }
99
+
100
+ function _objectWithoutPropertiesLoose(source, excluded) {
101
+ if (source == null) return {};
102
+ var target = {};
103
+ var sourceKeys = Object.keys(source);
104
+ var key, i;
105
+ for (i = 0; i < sourceKeys.length; i++) {
106
+ key = sourceKeys[i];
107
+ if (excluded.indexOf(key) >= 0) continue;
108
+ target[key] = source[key];
109
+ }
110
+ return target;
111
+ }
112
+
113
+ function _objectWithoutProperties(source, excluded) {
114
+ if (source == null) return {};
115
+ var target = _objectWithoutPropertiesLoose(source, excluded);
116
+ var key, i;
117
+ if (Object.getOwnPropertySymbols) {
118
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
119
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
120
+ key = sourceSymbolKeys[i];
121
+ if (excluded.indexOf(key) >= 0) continue;
122
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
123
+ target[key] = source[key];
124
+ }
125
+ }
126
+ return target;
127
+ }
128
+
129
+ function _typeof(o) {
130
+ "@babel/helpers - typeof";
131
+
132
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
133
+ return typeof o;
134
+ } : function (o) {
135
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
136
+ }, _typeof(o);
137
+ }
138
+
139
+ function _toPrimitive(input, hint) {
140
+ if (_typeof(input) !== "object" || input === null) return input;
141
+ var prim = input[Symbol.toPrimitive];
142
+ if (prim !== undefined) {
143
+ var res = prim.call(input, hint || "default");
144
+ if (_typeof(res) !== "object") return res;
145
+ throw new TypeError("@@toPrimitive must return a primitive value.");
146
+ }
147
+ return (hint === "string" ? String : Number)(input);
148
+ }
149
+
150
+ function _toPropertyKey(arg) {
151
+ var key = _toPrimitive(arg, "string");
152
+ return _typeof(key) === "symbol" ? key : String(key);
153
+ }
154
+
155
+ function _defineProperty(obj, key, value) {
156
+ key = _toPropertyKey(key);
157
+ if (key in obj) {
158
+ Object.defineProperty(obj, key, {
159
+ value: value,
160
+ enumerable: true,
161
+ configurable: true,
162
+ writable: true
163
+ });
164
+ } else {
165
+ obj[key] = value;
166
+ }
167
+ return obj;
168
+ }
169
+
170
+ function _extends() {
171
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
172
+ for (var i = 1; i < arguments.length; i++) {
173
+ var source = arguments[i];
174
+ for (var key in source) {
175
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
176
+ target[key] = source[key];
177
+ }
178
+ }
179
+ }
180
+ return target;
181
+ };
182
+ return _extends.apply(this, arguments);
183
+ }
184
+
185
+ var MENU_ITEM_TYPES = {
186
+ menuItem: "menuItem",
187
+ divider: "divider"
188
+ };
189
+ var DEFAULT_TOOLTIP_PROPS = {
190
+ disabled: true,
191
+ position: "bottom"
192
+ };
193
+
194
+ var _excluded$2 = ["label", "key"],
195
+ _excluded2 = ["isVisible", "key"];
196
+ var MenuItem$1 = neetoui.Dropdown.MenuItem,
197
+ Menu$1 = neetoui.Dropdown.Menu;
198
+ var Submenu = function Submenu(_ref) {
199
+ var label = _ref.label,
200
+ key = _ref.key,
201
+ menuItemProps = _objectWithoutProperties(_ref, _excluded$2);
202
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
203
+ customTarget: /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, null, label),
204
+ key: key,
205
+ position: "left",
206
+ trigger: "hover"
207
+ }, menuItemProps.dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu$1, null, menuItemProps.menuItems.map(function (_ref2) {
208
+ var _ref2$isVisible = _ref2.isVisible,
209
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
210
+ key = _ref2.key,
211
+ menuItemProps = _objectWithoutProperties(_ref2, _excluded2);
212
+ if (!isVisible) return null;
213
+ return /*#__PURE__*/React__default["default"].createElement(MoreDropdownMenuItem, _extends({
214
+ key: key
215
+ }, menuItemProps));
216
+ })));
217
+ };
218
+
219
+ var _excluded$1 = ["onClick", "label", "type", "hasSubItems"];
220
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
221
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
222
+ var MenuItem = neetoui.Dropdown.MenuItem,
223
+ Divider = neetoui.Dropdown.Divider;
224
+ var MoreDropdownMenuItem = function MoreDropdownMenuItem(_ref) {
225
+ var onClick = _ref.onClick,
226
+ label = _ref.label,
227
+ _ref$type = _ref.type,
228
+ type = _ref$type === void 0 ? MENU_ITEM_TYPES.menuItem : _ref$type,
229
+ _ref$hasSubItems = _ref.hasSubItems,
230
+ hasSubItems = _ref$hasSubItems === void 0 ? false : _ref$hasSubItems,
231
+ menuItemProps = _objectWithoutProperties(_ref, _excluded$1);
232
+ if (type === MENU_ITEM_TYPES.divider) {
233
+ return /*#__PURE__*/React__default["default"].createElement(Divider, null);
234
+ }
235
+ if (hasSubItems) {
236
+ return /*#__PURE__*/React__default["default"].createElement(Submenu, _objectSpread$1({
237
+ label: label
238
+ }, menuItemProps));
239
+ }
240
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, _objectSpread$1({
241
+ onClick: onClick
242
+ }, menuItemProps), label);
243
+ };
244
+
245
+ var _excluded = ["isVisible", "key"];
246
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
247
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
248
+ var Menu = neetoui.Dropdown.Menu;
249
+ var MoreDropdown = function MoreDropdown(_ref) {
250
+ var _ref$dropdownButtonPr = _ref.dropdownButtonProps,
251
+ dropdownButtonProps = _ref$dropdownButtonPr === void 0 ? {} : _ref$dropdownButtonPr,
252
+ _ref$isVertical = _ref.isVertical,
253
+ isVertical = _ref$isVertical === void 0 ? false : _ref$isVertical,
254
+ _ref$isDisabled = _ref.isDisabled,
255
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
256
+ _ref$dropdownProps = _ref.dropdownProps,
257
+ dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
258
+ menuTopChildren = _ref.menuTopChildren,
259
+ menuBottomChildren = _ref.menuBottomChildren,
260
+ _ref$menuItems = _ref.menuItems,
261
+ menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
262
+ var tooltipProps = ramda.mergeRight(DEFAULT_TOOLTIP_PROPS, dropdownButtonProps.tooltipProps);
263
+ var targetIcon = isVertical ? neetoIcons.MenuVertical : neetoIcons.MenuHorizontal;
264
+ var isDropdownDisabled = isDisabled || dropdownProps.disabled;
265
+ if (isDropdownDisabled && !tooltipProps.disabled) {
266
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, tooltipProps, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
267
+ disabled: true,
268
+ "data-cy": "more-dropdown-button",
269
+ "data-testid": "nui-dropdown-button",
270
+ icon: targetIcon,
271
+ iconPosition: "right",
272
+ size: "medium",
273
+ style: "text"
274
+ }, dropdownButtonProps))));
275
+ }
276
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
277
+ autoWidth: true,
278
+ className: "flex",
279
+ disabled: isDisabled,
280
+ icon: targetIcon,
281
+ buttonProps: _objectSpread({
282
+ className: "min-h-0 flex-shrink-0",
283
+ style: "text"
284
+ }, dropdownButtonProps)
285
+ }, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, menuTopChildren, menuItems.map(function (_ref2) {
286
+ var _ref2$isVisible = _ref2.isVisible,
287
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
288
+ key = _ref2.key,
289
+ menuItemProps = _objectWithoutProperties(_ref2, _excluded);
290
+ if (!isVisible) return null;
291
+ return /*#__PURE__*/React__default["default"].createElement(MoreDropdownMenuItem, _extends({
292
+ key: key
293
+ }, menuItemProps));
294
+ }), menuBottomChildren));
295
+ };
296
+
297
+ var facebookShareLink = function facebookShareLink(_ref) {
298
+ var id = _ref.id;
299
+ return utils.buildUrl("https://www.facebook.com/sharer/sharer.php", {
300
+ u: "https://".concat(window.location.host, "/").concat(id)
301
+ });
302
+ };
303
+ var linkedInShareLink = function linkedInShareLink(_ref2) {
304
+ var id = _ref2.id,
305
+ title = _ref2.title;
306
+ return utils.buildUrl("https://www.linkedin.com/shareArticle", {
307
+ mini: true,
308
+ url: "https://".concat(window.location.host, "/").concat(id),
309
+ title: title
310
+ });
311
+ };
312
+ var twitterShareLink = function twitterShareLink(_ref3) {
313
+ var id = _ref3.id,
314
+ title = _ref3.title;
315
+ return utils.buildUrl("http://twitter.com/share", {
316
+ text: title,
317
+ url: "https://".concat(window.location.host, "/").concat(id)
318
+ });
319
+ };
320
+ var downloadCanvas = function downloadCanvas(canvas) {
321
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
322
+ var _options$name = options.name,
323
+ name = _options$name === void 0 ? "image" : _options$name,
324
+ _options$extension = options.extension,
325
+ extension = _options$extension === void 0 ? "png" : _options$extension;
326
+ var canvasUrl = canvas.toDataURL("image/".concat(extension));
327
+ var element = document.createElement("a");
328
+ element.href = canvasUrl;
329
+ element.download = "".concat(name, ".").concat(extension);
330
+ element.click();
331
+ element.remove();
332
+ };
333
+ var getPathname = function getPathname(url) {
334
+ return new URL(url).pathname.slice(1);
335
+ };
336
+ var getPrefixFromUrl = function getPrefixFromUrl(url) {
337
+ return "".concat(new URL(url).origin, "/");
338
+ };
339
+ var truncatePrefix = function truncatePrefix(url) {
340
+ return url.length > MAX_PREFIX_SIZE ? "...".concat(url.slice(-MAX_PREFIX_SIZE)) : url;
341
+ };
342
+
343
+ var SOCIAL_MEDIA_OPTIONS = {
344
+ FACEBOOK: {
345
+ label: i18next.t("neetoMolecules.shareViaLink.socialMediaShare.facebook"),
346
+ icon: neetoIcons.Facebook,
347
+ generateShareUrl: facebookShareLink
348
+ },
349
+ LINKEDIN: {
350
+ label: i18next.t("neetoMolecules.shareViaLink.socialMediaShare.linkedIn"),
351
+ icon: neetoIcons.Linkedin,
352
+ generateShareUrl: linkedInShareLink
353
+ },
354
+ TWITTER: {
355
+ label: i18next.t("neetoMolecules.shareViaLink.socialMediaShare.twitter"),
356
+ icon: neetoIcons.Twitter,
357
+ generateShareUrl: twitterShareLink
358
+ }
359
+ };
360
+ var PATH_VALIDATION_SCHEMA = yup__namespace.object().shape({
361
+ path: yup__namespace.string().required(i18next.t("neetoMolecules.shareViaLink.editUrl.validationError")).matches(/^[A-Za-z0-9]([\w/-])*$/, i18next.t("neetoMolecules.shareViaLink.editUrl.validationError"))
362
+ });
363
+ var MAX_PREFIX_SIZE = 30;
364
+
365
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
366
+
367
+ var css = ".no-padding .neeto-ui-input.neeto-ui-input--medium input{padding:0}.no-padding .neeto-ui-input__prefix{color:rgb(var(--neeto-ui-gray-600))!important}";
368
+ n(css,{});
369
+
370
+ var Header = neetoui.Pane.Header,
371
+ Body = neetoui.Pane.Body,
372
+ Footer = neetoui.Pane.Footer;
373
+ var EditURL = function EditURL(_ref) {
374
+ var editUrlProps = _ref.editUrlProps,
375
+ isOpen = _ref.isOpen,
376
+ onClose = _ref.onClose,
377
+ url = _ref.url,
378
+ isLoading = _ref.isLoading,
379
+ handleEdit = _ref.handleEdit;
380
+ var _useTranslation = reactI18next.useTranslation(),
381
+ t = _useTranslation.t;
382
+ var focusRef = React.useRef(null);
383
+ var handleSubmit = function handleSubmit(values) {
384
+ handleEdit(values.path);
385
+ onClose();
386
+ };
387
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
388
+ "data-testid": "edit-url-modal",
389
+ initialFocusRef: focusRef,
390
+ isOpen: isOpen,
391
+ onClose: onClose
392
+ }, /*#__PURE__*/React__default["default"].createElement(Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
393
+ lineHeight: "normal",
394
+ style: "h2",
395
+ weight: "semibold"
396
+ }, t("neetoMolecules.shareViaLink.editUrl.title"))), /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
397
+ enableReinitialize: true,
398
+ initialValues: {
399
+ path: (editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.editablePath) || getPathname(url)
400
+ },
401
+ validationSchema: PATH_VALIDATION_SCHEMA,
402
+ onSubmit: handleSubmit
403
+ }, function (_ref2) {
404
+ var isSubmitting = _ref2.isSubmitting,
405
+ dirty = _ref2.dirty;
406
+ return /*#__PURE__*/React__default["default"].createElement(formik.Form, null, /*#__PURE__*/React__default["default"].createElement(Body, {
407
+ className: "space-y-6"
408
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
409
+ className: "no-padding w-full flex-grow-0",
410
+ "data-testid": "edit-url-input",
411
+ label: t("neetoMolecules.shareViaLink.editUrl.inputLabel"),
412
+ maxLength: editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.maxLength,
413
+ name: "path",
414
+ ref: focusRef,
415
+ prefix: truncatePrefix((editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.prefix) || getPrefixFromUrl(url))
416
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
417
+ className: "neeto-ui-text-gray-700",
418
+ lineHeight: "normal",
419
+ style: "body2"
420
+ }, t("neetoMolecules.shareViaLink.editUrl.description"))), /*#__PURE__*/React__default["default"].createElement(Footer, {
421
+ className: "space-x-2"
422
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
423
+ className: "flex items-center space-x-2",
424
+ cancelButtonProps: {
425
+ onClick: onClose,
426
+ disabled: isSubmitting,
427
+ "data-testid": "edit-url-cancel-button"
428
+ },
429
+ submitButtonProps: {
430
+ disabled: isSubmitting || !dirty,
431
+ loading: isLoading,
432
+ "data-testid": "edit-url-confirm-button"
433
+ }
434
+ })));
435
+ }));
436
+ };
437
+
438
+ var RegenerateURL = function RegenerateURL(_ref) {
439
+ var isOpen = _ref.isOpen,
440
+ onClose = _ref.onClose,
441
+ url = _ref.url,
442
+ isLoading = _ref.isLoading,
443
+ handleRegenerate = _ref.handleRegenerate;
444
+ var _useTranslation = reactI18next.useTranslation(),
445
+ t = _useTranslation.t;
446
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
447
+ "data-testid": "regenerate-url-modal",
448
+ isOpen: isOpen,
449
+ onClose: onClose
450
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
451
+ lineHeight: "normal",
452
+ style: "h2",
453
+ weight: "semibold"
454
+ }, t("neetoMolecules.shareViaLink.regenerateUrl.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
455
+ className: "w-full space-y-6"
456
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
457
+ disabled: true,
458
+ label: t("neetoMolecules.shareViaLink.regenerateUrl.inputLabel"),
459
+ value: url
460
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
461
+ className: "neeto-ui-text-gray-700",
462
+ lineHeight: "normal",
463
+ style: "body2"
464
+ }, t("neetoMolecules.shareViaLink.regenerateUrl.description")))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
465
+ className: "space-x-2"
466
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
467
+ "data-testid": "regenerate-url-confirm-button",
468
+ loading: isLoading,
469
+ label: t("neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel"),
470
+ onClick: function onClick() {
471
+ handleRegenerate();
472
+ onClose();
473
+ }
474
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
475
+ "data-testid": "regenerate-url-cancel-button",
476
+ style: "text",
477
+ label: t("neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel"),
478
+ onClick: onClose
479
+ })));
480
+ };
481
+
482
+ var Link = function Link(_ref) {
483
+ var editUrlProps = _ref.editUrlProps,
484
+ enabledOptions = _ref.enabledOptions,
485
+ entityName = _ref.entityName,
486
+ handleEdit = _ref.handleEdit,
487
+ handleRegenerate = _ref.handleRegenerate,
488
+ isLoading = _ref.isLoading,
489
+ previewUrl = _ref.previewUrl,
490
+ url = _ref.url;
491
+ var _useState = React.useState(false),
492
+ _useState2 = _slicedToArray(_useState, 2),
493
+ isRegenerateURLModalOpen = _useState2[0],
494
+ setIsRegenerateURLModalOpen = _useState2[1];
495
+ var _useState3 = React.useState(false),
496
+ _useState4 = _slicedToArray(_useState3, 2),
497
+ isEditURLModalOpen = _useState4[0],
498
+ setIsEditURLModalOpen = _useState4[1];
499
+ var _useTranslation = reactI18next.useTranslation(),
500
+ t = _useTranslation.t;
501
+ var isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;
502
+ return /*#__PURE__*/React__default["default"].createElement("div", {
503
+ className: "space-y-4",
504
+ "data-testid": "link-block"
505
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
506
+ className: "space-y-0.5"
507
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
508
+ "data-testid": "link-title",
509
+ lineHeight: "normal",
510
+ style: "h3",
511
+ weight: "semibold"
512
+ }, t("neetoMolecules.shareViaLink.title"))), /*#__PURE__*/React__default["default"].createElement("div", {
513
+ className: "flex flex-col items-center gap-2 sm:flex-row sm:gap-1"
514
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
515
+ readOnly: true,
516
+ className: "w-full sm:w-auto",
517
+ value: url
518
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
519
+ className: "flex w-full items-center gap-1 sm:w-auto"
520
+ }, /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton__default["default"], {
521
+ "data-testid": "link-copy-button",
522
+ label: t("neetoMolecules.shareViaLink.copyLink"),
523
+ value: url
524
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
525
+ "data-testid": "preview-button",
526
+ href: previewUrl || url,
527
+ icon: neetoIcons.ExternalLink,
528
+ style: "secondary",
529
+ target: "_blank",
530
+ tooltipProps: {
531
+ content: t("neetoMolecules.shareViaLink.open", {
532
+ entity: entityName
533
+ }),
534
+ position: "top"
535
+ }
536
+ }), isDropdownEnabled && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
537
+ menuItems: [{
538
+ isVisible: enabledOptions.regenerate,
539
+ "data-testid": "regenerate-url-button",
540
+ onClick: function onClick() {
541
+ return setIsRegenerateURLModalOpen(true);
542
+ },
543
+ label: t("neetoMolecules.shareViaLink.regenerateUrl.title"),
544
+ key: "regenerate-url-option"
545
+ }, {
546
+ isVisible: enabledOptions.edit,
547
+ "data-testid": "edit-url-button",
548
+ onClick: function onClick() {
549
+ return setIsEditURLModalOpen(true);
550
+ },
551
+ label: t("neetoMolecules.shareViaLink.editUrl.title"),
552
+ key: "edit-url-option"
553
+ }]
554
+ }), /*#__PURE__*/React__default["default"].createElement(RegenerateURL, {
555
+ handleRegenerate: handleRegenerate,
556
+ isLoading: isLoading,
557
+ url: url,
558
+ isOpen: isRegenerateURLModalOpen,
559
+ onClose: function onClose() {
560
+ return setIsRegenerateURLModalOpen(false);
561
+ }
562
+ }), /*#__PURE__*/React__default["default"].createElement(EditURL, {
563
+ editUrlProps: editUrlProps,
564
+ handleEdit: handleEdit,
565
+ isLoading: isLoading,
566
+ url: url,
567
+ isOpen: isEditURLModalOpen,
568
+ onClose: function onClose() {
569
+ return setIsEditURLModalOpen(false);
570
+ }
571
+ })))));
572
+ };
573
+
574
+ var QRCode = function QRCode(_ref) {
575
+ var entity = _ref.entity,
576
+ url = _ref.url;
577
+ if (!entity) return null;
578
+ var id = entity.id,
579
+ name = entity.name;
580
+ var canvasId = "qrcode-share-".concat(id);
581
+ var handleDownload = function handleDownload() {
582
+ var canvas = document.getElementById(canvasId);
583
+ if (canvas) downloadCanvas(canvas, {
584
+ name: neetoCist.slugify(name)
585
+ });
586
+ };
587
+ return /*#__PURE__*/React__default["default"].createElement("div", {
588
+ className: "flex flex-col justify-center space-y-2 py-3 pl-8 sm:space-y-4 sm:py-2 sm:pl-6",
589
+ "data-testid": "qr-download-block"
590
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
591
+ lineHeight: "normal",
592
+ style: "body2",
593
+ weight: "medium"
594
+ }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
595
+ i18nKey: "neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo",
596
+ components: {
597
+ button: /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
598
+ "data-testid": "qr-code-download-button",
599
+ style: "link",
600
+ onClick: handleDownload
601
+ })
602
+ }
603
+ })), /*#__PURE__*/React__default["default"].createElement(QRCodeImage__default["default"], {
604
+ className: "cursor-pointer",
605
+ "data-testid": canvasId,
606
+ id: canvasId,
607
+ size: 40,
608
+ value: url,
609
+ onClick: handleDownload
610
+ }));
611
+ };
612
+
613
+ var ShareBlock = function ShareBlock(_ref) {
614
+ var entity = _ref.entity,
615
+ postTitle = _ref.postTitle,
616
+ url = _ref.url,
617
+ moreOptions = _ref.moreOptions,
618
+ disableShareSocialMedia = _ref.disableShareSocialMedia,
619
+ disableQRDownload = _ref.disableQRDownload;
620
+ var _useTranslation = reactI18next.useTranslation(),
621
+ t = _useTranslation.t;
622
+ var socialMediaButtonClasses = "neeto-ui-bg-gray-200 hover:neeto-ui-bg-gray-300 flex h-10 w-10 cursor-pointer items-center justify-center neeto-ui-rounded-md transition-colors duration-300 ease-in-out";
623
+ var hasMoreOptions = neetoCist.isPresent(moreOptions);
624
+ return /*#__PURE__*/React__default["default"].createElement("div", {
625
+ className: "flex flex-col divide-y sm:flex-row sm:gap-6 sm:divide-x sm:divide-y-0"
626
+ }, hasMoreOptions && /*#__PURE__*/React__default["default"].createElement("div", {
627
+ className: "grid grid-cols-1 divide-y"
628
+ }, moreOptions.map(function (_ref2) {
629
+ var title = _ref2.title,
630
+ link = _ref2.link,
631
+ Icon = _ref2.icon,
632
+ dataCy = _ref2.dataCy;
633
+ return /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
634
+ className: "flex cursor-pointer items-center gap-x-2 py-3",
635
+ "data-cy": dataCy,
636
+ key: link,
637
+ to: link
638
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
639
+ className: "neeto-ui-text-gray-500",
640
+ size: 24
641
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
642
+ className: "group-hover:underline",
643
+ style: "body2",
644
+ weight: "medium"
645
+ }, title));
646
+ })), !disableShareSocialMedia && /*#__PURE__*/React__default["default"].createElement("div", {
647
+ "data-testid": "social-media-block",
648
+ className: classnames__default["default"]("space-y-2 py-3 sm:space-y-4 sm:py-2", {
649
+ "pl-8 sm:pl-6": hasMoreOptions
650
+ })
651
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
652
+ className: "neeto-ui-text-gray-800",
653
+ lineHeight: "normal",
654
+ style: "body2",
655
+ weight: "medium"
656
+ }, t("neetoMolecules.shareViaLink.socialMediaShare.title")), /*#__PURE__*/React__default["default"].createElement("div", {
657
+ className: "flex gap-4"
658
+ }, Object.entries(SOCIAL_MEDIA_OPTIONS).map(function (_ref3) {
659
+ var _ref4 = _slicedToArray(_ref3, 2),
660
+ key = _ref4[0],
661
+ _ref4$ = _ref4[1],
662
+ label = _ref4$.label,
663
+ Icon = _ref4$.icon,
664
+ generateShareUrl = _ref4$.generateShareUrl;
665
+ return /*#__PURE__*/React__default["default"].createElement("a", {
666
+ className: socialMediaButtonClasses,
667
+ "data-testid": "social-media-button-".concat(key),
668
+ href: generateShareUrl({
669
+ id: entity.id,
670
+ title: postTitle
671
+ }),
672
+ key: key,
673
+ rel: "noopener noreferrer",
674
+ target: "_blank",
675
+ title: label
676
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
677
+ size: 24
678
+ }));
679
+ }))), !disableQRDownload && /*#__PURE__*/React__default["default"].createElement(QRCode, {
680
+ entity: entity,
681
+ url: url
682
+ }));
683
+ };
684
+
685
+ var ShareViaLink = function ShareViaLink(_ref) {
686
+ var _ref$isLoading = _ref.isLoading,
687
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
688
+ _ref$enabledOptions = _ref.enabledOptions,
689
+ enabledOptions = _ref$enabledOptions === void 0 ? {
690
+ regenerate: false,
691
+ edit: false
692
+ } : _ref$enabledOptions,
693
+ _ref$editUrlProps = _ref.editUrlProps,
694
+ editUrlProps = _ref$editUrlProps === void 0 ? {
695
+ prefix: "",
696
+ editablePath: ""
697
+ } : _ref$editUrlProps,
698
+ entity = _ref.entity,
699
+ entityName = _ref.entityName,
700
+ _ref$handleEdit = _ref.handleEdit,
701
+ handleEdit = _ref$handleEdit === void 0 ? neetoCist.noop : _ref$handleEdit,
702
+ _ref$handleRegenerate = _ref.handleRegenerate,
703
+ handleRegenerate = _ref$handleRegenerate === void 0 ? neetoCist.noop : _ref$handleRegenerate,
704
+ _ref$previewUrl = _ref.previewUrl,
705
+ previewUrl = _ref$previewUrl === void 0 ? "" : _ref$previewUrl,
706
+ socialMediaPostTitle = _ref.socialMediaPostTitle,
707
+ url = _ref.url,
708
+ moreOptions = _ref.moreOptions,
709
+ _ref$isOtherShareOpti = _ref.isOtherShareOptionsEnabled,
710
+ isOtherShareOptionsEnabled = _ref$isOtherShareOpti === void 0 ? true : _ref$isOtherShareOpti,
711
+ _ref$disableShareSoci = _ref.disableShareSocialMedia,
712
+ disableShareSocialMedia = _ref$disableShareSoci === void 0 ? false : _ref$disableShareSoci,
713
+ _ref$disableQRDownloa = _ref.disableQRDownload,
714
+ disableQRDownload = _ref$disableQRDownloa === void 0 ? false : _ref$disableQRDownloa;
715
+ return /*#__PURE__*/React__default["default"].createElement("div", {
716
+ className: "neeto-ui-border-gray-400 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-bg-white col-span-2 space-y-4 border p-6 sm:p-8",
717
+ "data-testid": "share-via-link"
718
+ }, /*#__PURE__*/React__default["default"].createElement(Link, {
719
+ editUrlProps: editUrlProps,
720
+ enabledOptions: enabledOptions,
721
+ entityName: entityName,
722
+ handleEdit: handleEdit,
723
+ handleRegenerate: handleRegenerate,
724
+ isLoading: isLoading,
725
+ previewUrl: previewUrl,
726
+ url: url
727
+ }), isOtherShareOptionsEnabled && /*#__PURE__*/React__default["default"].createElement(ShareBlock, {
728
+ disableQRDownload: disableQRDownload,
729
+ disableShareSocialMedia: disableShareSocialMedia,
730
+ entity: entity,
731
+ moreOptions: moreOptions,
732
+ url: url,
733
+ postTitle: socialMediaPostTitle
734
+ }));
735
+ };
736
+
737
+ module.exports = ShareViaLink;
738
+ //# sourceMappingURL=ShareViaLink.js.map