@bigbinary/neeto-molecules 1.3.9 → 1.3.11

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 (119) hide show
  1. package/dist/NavigationHeader.js +6 -6
  2. package/dist/NavigationHeader.js.map +1 -1
  3. package/dist/PublishBlock.js +1 -1
  4. package/dist/PublishBlock.js.map +1 -1
  5. package/dist/cjs/Breadcrumbs.js +51 -0
  6. package/dist/cjs/Breadcrumbs.js.map +1 -0
  7. package/dist/cjs/BrowserSupport.js +426 -0
  8. package/dist/cjs/BrowserSupport.js.map +1 -0
  9. package/dist/cjs/Builder.js +712 -0
  10. package/dist/cjs/Builder.js.map +1 -0
  11. package/dist/cjs/CalendarView.js +549 -0
  12. package/dist/cjs/CalendarView.js.map +1 -0
  13. package/dist/cjs/Codeblock.js +251 -0
  14. package/dist/cjs/Codeblock.js.map +1 -0
  15. package/dist/cjs/Columns.js +248 -0
  16. package/dist/cjs/Columns.js.map +1 -0
  17. package/dist/cjs/ConfirmationModal.js +120 -0
  18. package/dist/cjs/ConfirmationModal.js.map +1 -0
  19. package/dist/cjs/Container.js +1218 -0
  20. package/dist/cjs/Container.js.map +1 -0
  21. package/dist/cjs/CopyToClipboardButton.js +215 -0
  22. package/dist/cjs/CopyToClipboardButton.js.map +1 -0
  23. package/dist/cjs/CustomDomain.js +743 -0
  24. package/dist/cjs/CustomDomain.js.map +1 -0
  25. package/dist/cjs/CustomDomainDashboard.js +2348 -0
  26. package/dist/cjs/CustomDomainDashboard.js.map +1 -0
  27. package/dist/cjs/DateFormat.js +53 -0
  28. package/dist/cjs/DateFormat.js.map +1 -0
  29. package/dist/cjs/DateRangeFilter.js +236 -0
  30. package/dist/cjs/DateRangeFilter.js.map +1 -0
  31. package/dist/cjs/DocumentEditor.js +283 -0
  32. package/dist/cjs/DocumentEditor.js.map +1 -0
  33. package/dist/cjs/DownloadMobileAppCallout.js +45 -0
  34. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
  35. package/dist/cjs/DynamicVariables.js +189 -0
  36. package/dist/cjs/DynamicVariables.js.map +1 -0
  37. package/dist/cjs/EmailForm.js +2057 -0
  38. package/dist/cjs/EmailForm.js.map +1 -0
  39. package/dist/cjs/EmailPreview.js +1319 -0
  40. package/dist/cjs/EmailPreview.js.map +1 -0
  41. package/dist/cjs/ErrorPage.js +188 -0
  42. package/dist/cjs/ErrorPage.js.map +1 -0
  43. package/dist/cjs/Header.js +179 -0
  44. package/dist/cjs/Header.js.map +1 -0
  45. package/dist/cjs/IconPicker.js +324 -0
  46. package/dist/cjs/IconPicker.js.map +1 -0
  47. package/dist/cjs/ImageWithFallback.js +188 -0
  48. package/dist/cjs/ImageWithFallback.js.map +1 -0
  49. package/dist/cjs/InlineInput.js +734 -0
  50. package/dist/cjs/InlineInput.js.map +1 -0
  51. package/dist/cjs/IntegrationCard.js +400 -0
  52. package/dist/cjs/IntegrationCard.js.map +1 -0
  53. package/dist/cjs/IntegrationDisconnectAlert.js +89 -0
  54. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
  55. package/dist/cjs/IntegrationWalkthroughModal.js +50 -0
  56. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
  57. package/dist/cjs/IpRestriction.js +683 -0
  58. package/dist/cjs/IpRestriction.js.map +1 -0
  59. package/dist/cjs/KeyboardShortcuts.js +370 -0
  60. package/dist/cjs/KeyboardShortcuts.js.map +1 -0
  61. package/dist/cjs/LoginPage.js +620 -0
  62. package/dist/cjs/LoginPage.js.map +1 -0
  63. package/dist/cjs/MenuBar.js +1468 -0
  64. package/dist/cjs/MenuBar.js.map +1 -0
  65. package/dist/cjs/Metadata.js +215 -0
  66. package/dist/cjs/Metadata.js.map +1 -0
  67. package/dist/cjs/MoreDropdown.js +210 -0
  68. package/dist/cjs/MoreDropdown.js.map +1 -0
  69. package/dist/cjs/NavigationHeader.js +867 -0
  70. package/dist/cjs/NavigationHeader.js.map +1 -0
  71. package/dist/cjs/NeetoWidget.js +1078 -0
  72. package/dist/cjs/NeetoWidget.js.map +1 -0
  73. package/dist/cjs/PageLoader.js +159 -0
  74. package/dist/cjs/PageLoader.js.map +1 -0
  75. package/dist/cjs/PhoneNumber.js +492 -0
  76. package/dist/cjs/PhoneNumber.js.map +1 -0
  77. package/dist/cjs/PublishBlock.js +165 -0
  78. package/dist/cjs/PublishBlock.js.map +1 -0
  79. package/dist/cjs/PublishYourItem.js +1239 -0
  80. package/dist/cjs/PublishYourItem.js.map +1 -0
  81. package/dist/cjs/Rename.js +625 -0
  82. package/dist/cjs/Rename.js.map +1 -0
  83. package/dist/cjs/ResponsiveDevicePicker.js +200 -0
  84. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
  85. package/dist/cjs/Schedule.js +1130 -0
  86. package/dist/cjs/Schedule.js.map +1 -0
  87. package/dist/cjs/Scrollable.js +129 -0
  88. package/dist/cjs/Scrollable.js.map +1 -0
  89. package/dist/cjs/Search.js +217 -0
  90. package/dist/cjs/Search.js.map +1 -0
  91. package/dist/cjs/Security.js +1930 -0
  92. package/dist/cjs/Security.js.map +1 -0
  93. package/dist/cjs/SendToFields.js +353 -0
  94. package/dist/cjs/SendToFields.js.map +1 -0
  95. package/dist/cjs/Settings.js +492 -0
  96. package/dist/cjs/Settings.js.map +1 -0
  97. package/dist/cjs/ShareViaEmail.js +2005 -0
  98. package/dist/cjs/ShareViaEmail.js.map +1 -0
  99. package/dist/cjs/ShareViaLink.js +729 -0
  100. package/dist/cjs/ShareViaLink.js.map +1 -0
  101. package/dist/cjs/Sidebar.js +930 -0
  102. package/dist/cjs/Sidebar.js.map +1 -0
  103. package/dist/cjs/SubHeader.js +224 -0
  104. package/dist/cjs/SubHeader.js.map +1 -0
  105. package/dist/cjs/SuffixedInput.js +216 -0
  106. package/dist/cjs/SuffixedInput.js.map +1 -0
  107. package/dist/cjs/TableWrapper.js +33 -0
  108. package/dist/cjs/TableWrapper.js.map +1 -0
  109. package/dist/cjs/Taxonomy.js +2125 -0
  110. package/dist/cjs/Taxonomy.js.map +1 -0
  111. package/dist/cjs/ThemeSidebar.js +2052 -0
  112. package/dist/cjs/ThemeSidebar.js.map +1 -0
  113. package/dist/cjs/TimeFormat.js +55 -0
  114. package/dist/cjs/TimeFormat.js.map +1 -0
  115. package/dist/cjs/TimezoneMismatchModal.js +176 -0
  116. package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
  117. package/dist/cjs/ToggleFeatureCard.js +330 -0
  118. package/dist/cjs/ToggleFeatureCard.js.map +1 -0
  119. package/package.json +2 -1
@@ -0,0 +1,625 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var classNames = require('classnames');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
+ var ramda = require('ramda');
8
+ var neetoui = require('@bigbinary/neetoui');
9
+ var reactRouterDom = require('react-router-dom');
10
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
11
+ var neetoIcons = require('@bigbinary/neeto-icons');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
17
+
18
+ function _arrayWithHoles(arr) {
19
+ if (Array.isArray(arr)) return arr;
20
+ }
21
+
22
+ function _iterableToArrayLimit(r, l) {
23
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
24
+ if (null != t) {
25
+ var e,
26
+ n,
27
+ i,
28
+ u,
29
+ a = [],
30
+ f = !0,
31
+ o = !1;
32
+ try {
33
+ if (i = (t = t.call(r)).next, 0 === l) {
34
+ if (Object(t) !== t) return;
35
+ f = !1;
36
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
37
+ } catch (r) {
38
+ o = !0, n = r;
39
+ } finally {
40
+ try {
41
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
42
+ } finally {
43
+ if (o) throw n;
44
+ }
45
+ }
46
+ return a;
47
+ }
48
+ }
49
+
50
+ function _arrayLikeToArray(arr, len) {
51
+ if (len == null || len > arr.length) len = arr.length;
52
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
53
+ return arr2;
54
+ }
55
+
56
+ function _unsupportedIterableToArray(o, minLen) {
57
+ if (!o) return;
58
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
59
+ var n = Object.prototype.toString.call(o).slice(8, -1);
60
+ if (n === "Object" && o.constructor) n = o.constructor.name;
61
+ if (n === "Map" || n === "Set") return Array.from(o);
62
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
63
+ }
64
+
65
+ function _nonIterableRest() {
66
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
67
+ }
68
+
69
+ function _slicedToArray(arr, i) {
70
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
71
+ }
72
+
73
+ 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}}
74
+
75
+ var css$1 = ".neeto-molecules-breadcrumbs-wrap{display:flex}@media screen and (max-width:768px){.neeto-molecules-breadcrumbs-wrap{flex-wrap:wrap}}.neeto-molecules-breadcrumbs-wrap .neeto-molecules-breadcrumb{align-items:center;display:flex;flex-direction:row;justify-content:flex-start;line-height:1}.neeto-molecules-breadcrumbs-wrap .neeto-molecules-breadcrumb a{text-decoration:none;transition:all .3s ease-in-out}.neeto-molecules-breadcrumbs-wrap .neeto-molecules-breadcrumb a:focus-visible{border-radius:var(--neeto-ui-rounded-sm);outline:3px solid rgba(var(--neeto-ui-primary-500),50%)}.neeto-molecules-breadcrumbs-wrap .neeto-molecules-breadcrumb-link{color:rgb(var(--neeto-ui-gray-500));padding:8px 5px}.neeto-molecules-breadcrumbs-wrap .neeto-molecules-breadcrumb-link:hover{color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-breadcrumbs-wrap .neeto-molecules-breadcrumb-separator{margin:0 4px}";
76
+ n(css$1,{});
77
+
78
+ var Breadcrumbs = function Breadcrumbs(_ref) {
79
+ var breadcrumbs = _ref.breadcrumbs,
80
+ _ref$hasTrailingSepar = _ref.hasTrailingSeparator,
81
+ hasTrailingSeparator = _ref$hasTrailingSepar === void 0 ? false : _ref$hasTrailingSepar;
82
+ return /*#__PURE__*/React__default["default"].createElement("div", {
83
+ className: "neeto-molecules-breadcrumbs-wrap"
84
+ }, breadcrumbs.map(function (_ref2, index) {
85
+ var text = _ref2.text,
86
+ _ref2$link = _ref2.link,
87
+ link = _ref2$link === void 0 ? "#" : _ref2$link;
88
+ return /*#__PURE__*/React__default["default"].createElement("div", {
89
+ className: "neeto-molecules-breadcrumb",
90
+ "data-cy": "header-breadcrumb",
91
+ key: index
92
+ }, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
93
+ to: link
94
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
95
+ className: "neeto-ui-text-gray-700 hover:neeto-ui-text-gray-800 neeto-molecules-breadcrumb-link",
96
+ component: "p",
97
+ "data-cy": text,
98
+ "data-test-id": text,
99
+ style: "body2",
100
+ weight: "normal"
101
+ }, text)), (index + 1 !== breadcrumbs.length || hasTrailingSeparator) && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
102
+ className: "neeto-molecules-breadcrumb-separator neeto-ui-text-gray-500",
103
+ component: "p",
104
+ "data-cy": "breadcrumb-divider-".concat(index),
105
+ "data-test-id": "breadcrumb-divider-".concat(index),
106
+ style: "body2",
107
+ weight: "normal"
108
+ }, "/"));
109
+ }));
110
+ };
111
+
112
+ var MIN_WIDTH = 150;
113
+
114
+ var DummySpan = function DummySpan(_ref) {
115
+ var name = _ref.name,
116
+ placeholderRef = _ref.placeholderRef,
117
+ setInputWidth = _ref.setInputWidth;
118
+ React.useEffect(function () {
119
+ var _placeholderRef$curre;
120
+ //To handle the input width on initial render.
121
+ var placeholderSpanWidth = (_placeholderRef$curre = placeholderRef.current) === null || _placeholderRef$curre === void 0 ? void 0 : _placeholderRef$curre.offsetWidth;
122
+ setInputWidth(placeholderSpanWidth);
123
+ }, [name]);
124
+ return (
125
+ /*#__PURE__*/
126
+ // Dummy element to calculate the width to be set for the input. Do not remove.
127
+ React__default["default"].createElement("div", {
128
+ className: "dummy-span pointer-events-none invisible absolute",
129
+ ref: placeholderRef
130
+ }, name.split(" ").join("."))
131
+ );
132
+ };
133
+
134
+ function _extends() {
135
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
136
+ for (var i = 1; i < arguments.length; i++) {
137
+ var source = arguments[i];
138
+ for (var key in source) {
139
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
140
+ target[key] = source[key];
141
+ }
142
+ }
143
+ }
144
+ return target;
145
+ };
146
+ return _extends.apply(this, arguments);
147
+ }
148
+
149
+ var mergeRefs = function mergeRefs() {
150
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
151
+ refs[_key] = arguments[_key];
152
+ }
153
+ return function (node) {
154
+ return refs.forEach(function (ref) {
155
+ return typeof ref === "function" ? ref(node) : ref.current = node;
156
+ });
157
+ };
158
+ };
159
+
160
+ var Editor = function Editor(_ref) {
161
+ var placeholder = _ref.placeholder,
162
+ inputWidth = _ref.inputWidth,
163
+ allowEmptySubmission = _ref.allowEmptySubmission,
164
+ name = _ref.name,
165
+ isLoading = _ref.isLoading,
166
+ handleRename = _ref.handleRename,
167
+ submitButtonProps = _ref.submitButtonProps,
168
+ handleClose = _ref.handleClose,
169
+ cancelButtonProps = _ref.cancelButtonProps,
170
+ setName = _ref.setName,
171
+ inputProps = _ref.inputProps,
172
+ editMode = _ref.editMode;
173
+ var closeRef = reactUtils.useHotKeys("escape", handleClose, {
174
+ mode: "scoped",
175
+ enabled: editMode
176
+ });
177
+ var submitRef = reactUtils.useHotKeys(["command+return", "return"], function (event) {
178
+ if (ramda.isEmpty(name) && !allowEmptySubmission) return;
179
+ handleRename(event, name);
180
+ }, {
181
+ mode: "scoped",
182
+ enabled: editMode
183
+ });
184
+ return /*#__PURE__*/React__default["default"].createElement("div", {
185
+ className: "flex min-w-0 max-w-full flex-grow"
186
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({
187
+ placeholder: placeholder,
188
+ autoFocus: true,
189
+ className: "neeto-molecules-rename__input flex-grow",
190
+ "data-cy": "form-rename-text-field",
191
+ "data-testid": "neeto-molecules-name-input",
192
+ ref: mergeRefs(closeRef, submitRef),
193
+ style: {
194
+ width: inputWidth
195
+ },
196
+ value: name,
197
+ suffix: /*#__PURE__*/React__default["default"].createElement("div", {
198
+ className: "flex items-center justify-end"
199
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
200
+ className: "neeto-ui-rounded-none",
201
+ "data-cy": "form-rename-submit-button",
202
+ "data-testid": "neeto-molecules-rename-button",
203
+ disabled: !allowEmptySubmission && ramda.isEmpty(name) || isLoading,
204
+ icon: neetoIcons.Check,
205
+ loading: isLoading,
206
+ style: "text",
207
+ onClick: function onClick(event) {
208
+ return handleRename(event, name);
209
+ }
210
+ }, submitButtonProps)), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
211
+ className: "neeto-ui-rounded-none",
212
+ "data-cy": "form-rename-close-button",
213
+ "data-testid": "neeto-molecules-cancel-button",
214
+ disabled: isLoading,
215
+ icon: neetoIcons.Close,
216
+ style: "text",
217
+ onClick: handleClose
218
+ }, cancelButtonProps))),
219
+ onChange: utils.withEventTargetValue(setName),
220
+ onClick: function onClick(event) {
221
+ return event.stopPropagation();
222
+ }
223
+ }, inputProps)));
224
+ };
225
+
226
+ var css = ".neeto-molecules-rename__input{height:32px;margin-left:4px;max-width:100%;position:relative;transition:width .2s ease-in-out;width:-moz-max-content;width:max-content}.neeto-molecules-rename__input .neeto-ui-input{border-color:transparent}.neeto-molecules-rename__input .neeto-ui-input:focus-within{border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-rename__input .neeto-ui-input .neeto-ui-input__suffix{margin-right:0!important}.neeto-molecules-rename__input .neeto-ui-input input{min-width:0}.neeto-molecules-rename__text{background-color:rgb(var(--neeto-ui-white));border:thin solid rgb(var(--neeto-ui-white));border-radius:var(--neeto-ui-rounded);cursor:pointer;font-size:var(--neeto-ui-text-sm);font-weight:400;letter-spacing:.005em;line-height:1;margin:0 1px;max-height:32px;max-width:448px;padding:8px 5px;transition:var(--neeto-ui-transition)}.neeto-molecules-rename__display-text{color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-rename__display-text:hover{border:thin solid rgb(var(--neeto-ui-gray-300))}.dummy-span{font-size:14px;font-weight:400;padding:5px 8px}";
227
+ n(css,{});
228
+
229
+ function _arrayWithoutHoles(arr) {
230
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
231
+ }
232
+
233
+ function _iterableToArray(iter) {
234
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
235
+ }
236
+
237
+ function _nonIterableSpread() {
238
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
239
+ }
240
+
241
+ function _toConsumableArray(arr) {
242
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
243
+ }
244
+
245
+ function _objectWithoutPropertiesLoose(source, excluded) {
246
+ if (source == null) return {};
247
+ var target = {};
248
+ var sourceKeys = Object.keys(source);
249
+ var key, i;
250
+ for (i = 0; i < sourceKeys.length; i++) {
251
+ key = sourceKeys[i];
252
+ if (excluded.indexOf(key) >= 0) continue;
253
+ target[key] = source[key];
254
+ }
255
+ return target;
256
+ }
257
+
258
+ function _objectWithoutProperties(source, excluded) {
259
+ if (source == null) return {};
260
+ var target = _objectWithoutPropertiesLoose(source, excluded);
261
+ var key, i;
262
+ if (Object.getOwnPropertySymbols) {
263
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
264
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
265
+ key = sourceSymbolKeys[i];
266
+ if (excluded.indexOf(key) >= 0) continue;
267
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
268
+ target[key] = source[key];
269
+ }
270
+ }
271
+ return target;
272
+ }
273
+
274
+ function _typeof(o) {
275
+ "@babel/helpers - typeof";
276
+
277
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
278
+ return typeof o;
279
+ } : function (o) {
280
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
281
+ }, _typeof(o);
282
+ }
283
+
284
+ function _toPrimitive(input, hint) {
285
+ if (_typeof(input) !== "object" || input === null) return input;
286
+ var prim = input[Symbol.toPrimitive];
287
+ if (prim !== undefined) {
288
+ var res = prim.call(input, hint || "default");
289
+ if (_typeof(res) !== "object") return res;
290
+ throw new TypeError("@@toPrimitive must return a primitive value.");
291
+ }
292
+ return (hint === "string" ? String : Number)(input);
293
+ }
294
+
295
+ function _toPropertyKey(arg) {
296
+ var key = _toPrimitive(arg, "string");
297
+ return _typeof(key) === "symbol" ? key : String(key);
298
+ }
299
+
300
+ function _defineProperty(obj, key, value) {
301
+ key = _toPropertyKey(key);
302
+ if (key in obj) {
303
+ Object.defineProperty(obj, key, {
304
+ value: value,
305
+ enumerable: true,
306
+ configurable: true,
307
+ writable: true
308
+ });
309
+ } else {
310
+ obj[key] = value;
311
+ }
312
+ return obj;
313
+ }
314
+
315
+ var MENU_ITEM_TYPES = {
316
+ menuItem: "menuItem",
317
+ divider: "divider"
318
+ };
319
+ var DEFAULT_TOOLTIP_PROPS = {
320
+ disabled: true,
321
+ position: "bottom"
322
+ };
323
+
324
+ var _excluded$2 = ["label", "key"],
325
+ _excluded2 = ["isVisible", "key"];
326
+ var MenuItem$1 = neetoui.Dropdown.MenuItem,
327
+ Menu$1 = neetoui.Dropdown.Menu;
328
+ var Submenu = function Submenu(_ref) {
329
+ var label = _ref.label,
330
+ key = _ref.key,
331
+ menuItemProps = _objectWithoutProperties(_ref, _excluded$2);
332
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
333
+ customTarget: /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, null, label),
334
+ key: key,
335
+ position: "left",
336
+ trigger: "hover"
337
+ }, menuItemProps.dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu$1, null, menuItemProps.menuItems.map(function (_ref2) {
338
+ var _ref2$isVisible = _ref2.isVisible,
339
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
340
+ key = _ref2.key,
341
+ menuItemProps = _objectWithoutProperties(_ref2, _excluded2);
342
+ if (!isVisible) return null;
343
+ return /*#__PURE__*/React__default["default"].createElement(MoreDropdownMenuItem, _extends({
344
+ key: key
345
+ }, menuItemProps));
346
+ })));
347
+ };
348
+
349
+ var _excluded$1 = ["onClick", "label", "type", "hasSubItems"];
350
+ 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; }
351
+ 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; }
352
+ var MenuItem = neetoui.Dropdown.MenuItem,
353
+ Divider = neetoui.Dropdown.Divider;
354
+ var MoreDropdownMenuItem = function MoreDropdownMenuItem(_ref) {
355
+ var onClick = _ref.onClick,
356
+ label = _ref.label,
357
+ _ref$type = _ref.type,
358
+ type = _ref$type === void 0 ? MENU_ITEM_TYPES.menuItem : _ref$type,
359
+ _ref$hasSubItems = _ref.hasSubItems,
360
+ hasSubItems = _ref$hasSubItems === void 0 ? false : _ref$hasSubItems,
361
+ menuItemProps = _objectWithoutProperties(_ref, _excluded$1);
362
+ if (type === MENU_ITEM_TYPES.divider) {
363
+ return /*#__PURE__*/React__default["default"].createElement(Divider, null);
364
+ }
365
+ if (hasSubItems) {
366
+ return /*#__PURE__*/React__default["default"].createElement(Submenu, _objectSpread$1({
367
+ label: label
368
+ }, menuItemProps));
369
+ }
370
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, _objectSpread$1({
371
+ onClick: onClick
372
+ }, menuItemProps), label);
373
+ };
374
+
375
+ var _excluded = ["isVisible", "key"];
376
+ 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; }
377
+ 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; }
378
+ var Menu = neetoui.Dropdown.Menu;
379
+ var MoreDropdown = function MoreDropdown(_ref) {
380
+ var _ref$dropdownButtonPr = _ref.dropdownButtonProps,
381
+ dropdownButtonProps = _ref$dropdownButtonPr === void 0 ? {} : _ref$dropdownButtonPr,
382
+ _ref$isVertical = _ref.isVertical,
383
+ isVertical = _ref$isVertical === void 0 ? false : _ref$isVertical,
384
+ _ref$isDisabled = _ref.isDisabled,
385
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
386
+ _ref$dropdownProps = _ref.dropdownProps,
387
+ dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
388
+ menuTopChildren = _ref.menuTopChildren,
389
+ menuBottomChildren = _ref.menuBottomChildren,
390
+ _ref$menuItems = _ref.menuItems,
391
+ menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
392
+ var tooltipProps = ramda.mergeRight(DEFAULT_TOOLTIP_PROPS, dropdownButtonProps.tooltipProps);
393
+ var targetIcon = isVertical ? neetoIcons.MenuVertical : neetoIcons.MenuHorizontal;
394
+ var isDropdownDisabled = isDisabled || dropdownProps.disabled;
395
+ if (isDropdownDisabled && !tooltipProps.disabled) {
396
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, tooltipProps, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
397
+ disabled: true,
398
+ "data-cy": "more-dropdown-button",
399
+ "data-testid": "nui-dropdown-button",
400
+ icon: targetIcon,
401
+ iconPosition: "right",
402
+ size: "medium",
403
+ style: "text"
404
+ }, dropdownButtonProps))));
405
+ }
406
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
407
+ autoWidth: true,
408
+ className: "flex",
409
+ disabled: isDisabled,
410
+ icon: targetIcon,
411
+ buttonProps: _objectSpread({
412
+ className: "min-h-0 flex-shrink-0",
413
+ style: "text"
414
+ }, dropdownButtonProps)
415
+ }, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, menuTopChildren, menuItems.map(function (_ref2) {
416
+ var _ref2$isVisible = _ref2.isVisible,
417
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
418
+ key = _ref2.key,
419
+ menuItemProps = _objectWithoutProperties(_ref2, _excluded);
420
+ if (!isVisible) return null;
421
+ return /*#__PURE__*/React__default["default"].createElement(MoreDropdownMenuItem, _extends({
422
+ key: key
423
+ }, menuItemProps));
424
+ }), menuBottomChildren));
425
+ };
426
+
427
+ var RenameMenu = reactUtils.withT(function (_ref) {
428
+ var t = _ref.t,
429
+ handleRenameClick = _ref.handleRenameClick,
430
+ disabled = _ref.disabled,
431
+ dropdownItems = _ref.dropdownItems,
432
+ onArchiveStatusToggle = _ref.onArchiveStatusToggle,
433
+ onClone = _ref.onClone,
434
+ onDelete = _ref.onDelete,
435
+ isArchived = _ref.isArchived;
436
+ return /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
437
+ dropdownButtonProps: {
438
+ "data-testid": "neeto-molecules-menu-button"
439
+ },
440
+ dropdownProps: {
441
+ position: "bottom-start",
442
+ onClick: function onClick(event) {
443
+ return event.stopPropagation();
444
+ },
445
+ strategy: "fixed",
446
+ appendTo: function appendTo() {
447
+ return document.body;
448
+ }
449
+ },
450
+ menuItems: [{
451
+ "data-cy": "form-rename-button",
452
+ onClick: handleRenameClick,
453
+ label: t("neetoMolecules.common.actions.rename"),
454
+ isVisible: !disabled,
455
+ key: "edit-name-menu"
456
+ }, {
457
+ "data-cy": "form-clone-button",
458
+ onClick: onClone,
459
+ label: t("neetoMolecules.common.actions.clone"),
460
+ isVisible: neetoCist.isPresent(onClone),
461
+ key: "clone-entity-menu"
462
+ }, {
463
+ "data-cy": "form-archive-button",
464
+ onClick: onArchiveStatusToggle,
465
+ label: isArchived ? t("neetoMolecules.common.actions.unArchive") : t("neetoMolecules.common.actions.archive"),
466
+ isVisible: neetoCist.isPresent(onArchiveStatusToggle),
467
+ key: "archive-entity-menu"
468
+ }, {
469
+ "data-cy": "form-delete-button",
470
+ onClick: onDelete,
471
+ label: t("neetoMolecules.common.actions.delete"),
472
+ isVisible: neetoCist.isPresent(onDelete),
473
+ key: "delete-entity-menu"
474
+ }].concat(_toConsumableArray(dropdownItems))
475
+ });
476
+ });
477
+
478
+ var ViewName = function ViewName(_ref) {
479
+ var disabled = _ref.disabled,
480
+ textProps = _ref.textProps,
481
+ formatText = _ref.formatText,
482
+ dropdownItems = _ref.dropdownItems,
483
+ hideMenu = _ref.hideMenu,
484
+ handleRenameClick = _ref.handleRenameClick,
485
+ onArchiveStatusToggle = _ref.onArchiveStatusToggle,
486
+ onClone = _ref.onClone,
487
+ onDelete = _ref.onDelete,
488
+ name = _ref.name,
489
+ isArchived = _ref.isArchived;
490
+ var isDefaultMenuCallbacksPresent = neetoCist.isPresent(onArchiveStatusToggle) || neetoCist.isPresent(onDelete) || neetoCist.isPresent(onClone);
491
+ var isMenuVisible = !hideMenu && (neetoCist.isNotEmpty(dropdownItems) || !disabled || isDefaultMenuCallbacksPresent);
492
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, _extends({
493
+ component: "p",
494
+ "data-cy": "form-title",
495
+ "data-testid": "neeto-molecules-value-display",
496
+ style: "body2",
497
+ className: classNames__default["default"]("neeto-molecules-rename__text neeto-molecules-rename__display-text w-full truncate", {
498
+ "cursor-pointer": !disabled,
499
+ "pointer-events-none cursor-text": disabled
500
+ }),
501
+ onClick: handleRenameClick
502
+ }, textProps), typeof formatText === "function" ? formatText(name) : name), isMenuVisible && /*#__PURE__*/React__default["default"].createElement(RenameMenu, {
503
+ disabled: disabled,
504
+ dropdownItems: dropdownItems,
505
+ handleRenameClick: handleRenameClick,
506
+ isArchived: isArchived,
507
+ onArchiveStatusToggle: onArchiveStatusToggle,
508
+ onClone: onClone,
509
+ onDelete: onDelete
510
+ }));
511
+ };
512
+
513
+ var Rename = function Rename(_ref) {
514
+ var value = _ref.value,
515
+ onRename = _ref.onRename,
516
+ onClone = _ref.onClone,
517
+ onArchiveStatusToggle = _ref.onArchiveStatusToggle,
518
+ onDelete = _ref.onDelete,
519
+ isArchived = _ref.isArchived,
520
+ _ref$isOpen = _ref.isOpen,
521
+ isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
522
+ _ref$isLoading = _ref.isLoading,
523
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
524
+ _ref$placeholder = _ref.placeholder,
525
+ placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
526
+ _ref$hideMenu = _ref.hideMenu,
527
+ hideMenu = _ref$hideMenu === void 0 ? false : _ref$hideMenu,
528
+ _ref$disabled = _ref.disabled,
529
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
530
+ _ref$dropdownItems = _ref.dropdownItems,
531
+ dropdownItems = _ref$dropdownItems === void 0 ? [] : _ref$dropdownItems,
532
+ _ref$breadcrumbs = _ref.breadcrumbs,
533
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
534
+ _ref$textProps = _ref.textProps,
535
+ textProps = _ref$textProps === void 0 ? {} : _ref$textProps,
536
+ _ref$inputProps = _ref.inputProps,
537
+ inputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
538
+ _ref$submitButtonProp = _ref.submitButtonProps,
539
+ submitButtonProps = _ref$submitButtonProp === void 0 ? {} : _ref$submitButtonProp,
540
+ _ref$cancelButtonProp = _ref.cancelButtonProps,
541
+ cancelButtonProps = _ref$cancelButtonProp === void 0 ? {} : _ref$cancelButtonProp,
542
+ _ref$className = _ref.className,
543
+ className = _ref$className === void 0 ? "" : _ref$className,
544
+ _ref$allowEmptySubmis = _ref.allowEmptySubmission,
545
+ allowEmptySubmission = _ref$allowEmptySubmis === void 0 ? false : _ref$allowEmptySubmis,
546
+ _ref$defaultName = _ref.defaultName,
547
+ defaultName = _ref$defaultName === void 0 ? "" : _ref$defaultName,
548
+ formatText = _ref.formatText;
549
+ var _useStateWithDependen = reactUtils.useStateWithDependency(value !== null && value !== void 0 ? value : ""),
550
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
551
+ name = _useStateWithDependen2[0],
552
+ setName = _useStateWithDependen2[1];
553
+ var _useState = React.useState(isOpen),
554
+ _useState2 = _slicedToArray(_useState, 2),
555
+ editMode = _useState2[0],
556
+ setEditMode = _useState2[1];
557
+ var _useState3 = React.useState(MIN_WIDTH),
558
+ _useState4 = _slicedToArray(_useState3, 2),
559
+ inputWidth = _useState4[0],
560
+ setInputWidth = _useState4[1];
561
+ var renameRef = React.useRef(null);
562
+ var placeholderRef = React.useRef(null);
563
+ reactUtils.useOnClickOutside(renameRef, function () {
564
+ return editMode && handleClose();
565
+ });
566
+ var handleRename = function handleRename(event, name) {
567
+ event.stopPropagation();
568
+ var newName = allowEmptySubmission && ramda.isEmpty(name) ? defaultName : name;
569
+ setName(newName);
570
+ onRename === null || onRename === void 0 ? void 0 : onRename(newName);
571
+ setEditMode(false);
572
+ };
573
+ var handleClose = function handleClose(event) {
574
+ event === null || event === void 0 ? void 0 : event.stopPropagation();
575
+ setName(value);
576
+ setEditMode(false);
577
+ };
578
+ var handleRenameClick = function handleRenameClick(event) {
579
+ event.stopPropagation();
580
+ !disabled && setEditMode(true);
581
+ };
582
+ var editNameProps = {
583
+ allowEmptySubmission: allowEmptySubmission,
584
+ cancelButtonProps: cancelButtonProps,
585
+ handleClose: handleClose,
586
+ handleRename: handleRename,
587
+ inputProps: inputProps,
588
+ inputWidth: inputWidth,
589
+ isLoading: isLoading,
590
+ name: name,
591
+ placeholder: placeholder,
592
+ setName: setName,
593
+ submitButtonProps: submitButtonProps,
594
+ editMode: editMode
595
+ };
596
+ var viewNameProps = {
597
+ disabled: disabled,
598
+ dropdownItems: dropdownItems,
599
+ formatText: formatText,
600
+ handleRenameClick: handleRenameClick,
601
+ hideMenu: hideMenu,
602
+ name: name,
603
+ isArchived: isArchived,
604
+ onArchiveStatusToggle: onArchiveStatusToggle,
605
+ onClone: onClone,
606
+ onDelete: onDelete,
607
+ textProps: textProps
608
+ };
609
+ return /*#__PURE__*/React__default["default"].createElement("div", {
610
+ ref: renameRef,
611
+ className: classNames__default["default"]("flex min-w-0 max-w-md flex-col items-start md:flex-row md:items-center", className)
612
+ }, neetoCist.isNotEmpty(breadcrumbs) && /*#__PURE__*/React__default["default"].createElement(Breadcrumbs, {
613
+ breadcrumbs: breadcrumbs,
614
+ hasTrailingSeparator: true
615
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
616
+ className: "flex items-center gap-x-2"
617
+ }, /*#__PURE__*/React__default["default"].createElement(DummySpan, {
618
+ name: name,
619
+ placeholderRef: placeholderRef,
620
+ setInputWidth: setInputWidth
621
+ }), editMode ? /*#__PURE__*/React__default["default"].createElement(Editor, editNameProps) : /*#__PURE__*/React__default["default"].createElement(ViewName, viewNameProps)));
622
+ };
623
+
624
+ module.exports = Rename;
625
+ //# sourceMappingURL=Rename.js.map