@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,248 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var i18next = require('i18next');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
+ var neetoIcons = require('@bigbinary/neeto-icons');
8
+ var neetoui = require('@bigbinary/neetoui');
9
+ var ramda = require('ramda');
10
+ var reactI18next = require('react-i18next');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
+ var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
16
+
17
+ function _extends() {
18
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
19
+ for (var i = 1; i < arguments.length; i++) {
20
+ var source = arguments[i];
21
+ for (var key in source) {
22
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
23
+ target[key] = source[key];
24
+ }
25
+ }
26
+ }
27
+ return target;
28
+ };
29
+ return _extends.apply(this, arguments);
30
+ }
31
+
32
+ function _arrayWithHoles(arr) {
33
+ if (Array.isArray(arr)) return arr;
34
+ }
35
+
36
+ function _iterableToArrayLimit(r, l) {
37
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
38
+ if (null != t) {
39
+ var e,
40
+ n,
41
+ i,
42
+ u,
43
+ a = [],
44
+ f = !0,
45
+ o = !1;
46
+ try {
47
+ if (i = (t = t.call(r)).next, 0 === l) {
48
+ if (Object(t) !== t) return;
49
+ f = !1;
50
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
51
+ } catch (r) {
52
+ o = !0, n = r;
53
+ } finally {
54
+ try {
55
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
56
+ } finally {
57
+ if (o) throw n;
58
+ }
59
+ }
60
+ return a;
61
+ }
62
+ }
63
+
64
+ function _arrayLikeToArray(arr, len) {
65
+ if (len == null || len > arr.length) len = arr.length;
66
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
67
+ return arr2;
68
+ }
69
+
70
+ function _unsupportedIterableToArray(o, minLen) {
71
+ if (!o) return;
72
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
73
+ var n = Object.prototype.toString.call(o).slice(8, -1);
74
+ if (n === "Object" && o.constructor) n = o.constructor.name;
75
+ if (n === "Map" || n === "Set") return Array.from(o);
76
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
77
+ }
78
+
79
+ function _nonIterableRest() {
80
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
81
+ }
82
+
83
+ function _slicedToArray(arr, i) {
84
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
85
+ }
86
+
87
+ function _objectWithoutPropertiesLoose(source, excluded) {
88
+ if (source == null) return {};
89
+ var target = {};
90
+ var sourceKeys = Object.keys(source);
91
+ var key, i;
92
+ for (i = 0; i < sourceKeys.length; i++) {
93
+ key = sourceKeys[i];
94
+ if (excluded.indexOf(key) >= 0) continue;
95
+ target[key] = source[key];
96
+ }
97
+ return target;
98
+ }
99
+
100
+ function _objectWithoutProperties(source, excluded) {
101
+ if (source == null) return {};
102
+ var target = _objectWithoutPropertiesLoose(source, excluded);
103
+ var key, i;
104
+ if (Object.getOwnPropertySymbols) {
105
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
106
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
107
+ key = sourceSymbolKeys[i];
108
+ if (excluded.indexOf(key) >= 0) continue;
109
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
110
+ target[key] = source[key];
111
+ }
112
+ }
113
+ return target;
114
+ }
115
+
116
+ var removeFixedColumns = function removeFixedColumns(fixedColumns, columnData) {
117
+ return neetoCist.removeBy({
118
+ dataIndex: ramda.includes(ramda.__, fixedColumns)
119
+ }, columnData);
120
+ };
121
+ var filterBySearchTerm = function filterBySearchTerm(searchTerm, columns) {
122
+ return ramda.filter(function (_ref) {
123
+ var title = _ref.title;
124
+ return ramda.includes(ramda.trim(ramda.toLower(searchTerm)), ramda.trim(ramda.toLower(title)));
125
+ }, columns);
126
+ };
127
+ var removeDeletedColumns = function removeDeletedColumns(hiddenColumns, columnData) {
128
+ return hiddenColumns.filter(function (hiddenColumn) {
129
+ return neetoCist.existsBy({
130
+ dataIndex: hiddenColumn
131
+ }, columnData);
132
+ });
133
+ };
134
+
135
+ var _excluded = ["actionBlock", "checkboxProps", "columnData", "fixedColumns", "isSearchable", "localStorageKey", "initialValue", "noColumnMessage", "onChange", "searchProps"];
136
+ var Columns = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
137
+ var actionBlock = _ref.actionBlock,
138
+ _ref$checkboxProps = _ref.checkboxProps,
139
+ checkboxProps = _ref$checkboxProps === void 0 ? {} : _ref$checkboxProps,
140
+ _ref$columnData = _ref.columnData,
141
+ columnData = _ref$columnData === void 0 ? [] : _ref$columnData,
142
+ _ref$fixedColumns = _ref.fixedColumns,
143
+ fixedColumns = _ref$fixedColumns === void 0 ? [] : _ref$fixedColumns,
144
+ _ref$isSearchable = _ref.isSearchable,
145
+ isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
146
+ _ref$localStorageKey = _ref.localStorageKey,
147
+ localStorageKey = _ref$localStorageKey === void 0 ? "" : _ref$localStorageKey,
148
+ _ref$initialValue = _ref.initialValue,
149
+ initialValue = _ref$initialValue === void 0 ? [] : _ref$initialValue,
150
+ _ref$noColumnMessage = _ref.noColumnMessage,
151
+ noColumnMessage = _ref$noColumnMessage === void 0 ? i18next__default["default"].t("neetoMolecules.columns.noColumns") : _ref$noColumnMessage,
152
+ _ref$onChange = _ref.onChange,
153
+ onChange = _ref$onChange === void 0 ? ramda.identity : _ref$onChange,
154
+ _ref$searchProps = _ref.searchProps,
155
+ searchProps = _ref$searchProps === void 0 ? {} : _ref$searchProps,
156
+ dropdownProps = _objectWithoutProperties(_ref, _excluded);
157
+ var Divider = neetoui.Dropdown.Divider,
158
+ Menu = neetoui.Dropdown.Menu,
159
+ MenuItem = neetoui.Dropdown.MenuItem;
160
+ var _useLocalStorage = reactUtils.useLocalStorage(localStorageKey, initialValue),
161
+ _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
162
+ hiddenColumns = _useLocalStorage2[0],
163
+ setHiddenColumns = _useLocalStorage2[1];
164
+ var _useState = React.useState(""),
165
+ _useState2 = _slicedToArray(_useState, 2),
166
+ searchTerm = _useState2[0],
167
+ setSearchTerm = _useState2[1];
168
+ React.useImperativeHandle(ref, function () {
169
+ return {
170
+ hideColumn: function hideColumn(dataIndex) {
171
+ setHiddenColumns(ramda.append(dataIndex));
172
+ },
173
+ showColumn: function showColumn(dataIndex) {
174
+ setHiddenColumns(ramda.without([dataIndex]));
175
+ }
176
+ };
177
+ }, []);
178
+ var columns = removeFixedColumns(fixedColumns, columnData);
179
+ var filteredColumns = filterBySearchTerm(searchTerm, columns);
180
+ var handleChange = function handleChange(_ref2) {
181
+ var _ref2$target = _ref2.target,
182
+ dataIndex = _ref2$target.name,
183
+ checked = _ref2$target.checked;
184
+ var newHiddenColumns = checked ? ramda.without([dataIndex], hiddenColumns) : ramda.append(dataIndex, hiddenColumns);
185
+ setHiddenColumns(newHiddenColumns);
186
+ onChange(neetoCist.removeBy({
187
+ dataIndex: ramda.includes(ramda.__, newHiddenColumns)
188
+ }, columnData), newHiddenColumns);
189
+ };
190
+ var handleSearch = function handleSearch(_ref3) {
191
+ var value = _ref3.target.value;
192
+ return setSearchTerm(value);
193
+ };
194
+ React.useEffect(function () {
195
+ var newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);
196
+ onChange(neetoCist.removeBy({
197
+ dataIndex: ramda.includes(ramda.__, newHiddenColumns)
198
+ }, columnData), newHiddenColumns);
199
+ }, []);
200
+ React.useEffect(function () {
201
+ if (ramda.isEmpty(columnData)) return;
202
+ var newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);
203
+ setHiddenColumns(newHiddenColumns);
204
+ }, [columnData]);
205
+ var _useTranslation = reactI18next.useTranslation(),
206
+ t = _useTranslation.t;
207
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
208
+ buttonSize: "medium",
209
+ buttonStyle: "text",
210
+ closeOnSelect: false,
211
+ label: t("neetoMolecules.columns.columns"),
212
+ position: "bottom-end",
213
+ onClose: function onClose() {
214
+ return setSearchTerm("");
215
+ }
216
+ }, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement("div", null, isSearchable && /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({
217
+ className: "neeto-ui-px-3 neeto-ui-py-2",
218
+ "data-cy": "neeto-ui-columns-search",
219
+ placeholder: t("neetoMolecules.columns.search"),
220
+ prefix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Search, null),
221
+ type: "search",
222
+ value: searchTerm,
223
+ onChange: handleSearch
224
+ }, searchProps)), neetoCist.isNotEmpty(filteredColumns) ? filteredColumns.map(function (_ref4) {
225
+ var dataIndex = _ref4.dataIndex,
226
+ key = _ref4.key,
227
+ title = _ref4.title;
228
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
229
+ key: key
230
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
231
+ className: "neeto-ui-w-full neeto-ui-px-3 neeto-ui-py-2 hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer",
232
+ htmlFor: dataIndex
233
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, _extends({
234
+ checked: !hiddenColumns.includes(dataIndex),
235
+ "data-cy": "neeto-ui-columns-checkbox",
236
+ id: dataIndex,
237
+ label: title,
238
+ name: dataIndex,
239
+ onChange: handleChange
240
+ }, checkboxProps))));
241
+ }) : /*#__PURE__*/React__default["default"].createElement("span", {
242
+ className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2"
243
+ }, noColumnMessage), !!actionBlock && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Divider, null), actionBlock))));
244
+ });
245
+ Columns.displayName = "Columns";
246
+
247
+ module.exports = Columns;
248
+ //# sourceMappingURL=Columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Columns.js","sources":["../../node_modules/@babel/runtime/helpers/esm/extends.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../src/components/Columns/utils.js","../../src/components/Columns/index.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { existsBy, removeBy } from \"neetocist\";\nimport { __, filter, includes, toLower, trim } from \"ramda\";\n\nexport const removeFixedColumns = (fixedColumns, columnData) =>\n removeBy({ dataIndex: includes(__, fixedColumns) }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import React, {\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\n\nimport i18next from \"i18next\";\nimport { isNotEmpty, removeBy } from \"neetocist\";\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { __, append, identity, includes, isEmpty, without } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n filterBySearchTerm,\n removeDeletedColumns,\n removeFixedColumns,\n} from \"./utils\";\n\nconst Columns = forwardRef(\n (\n {\n actionBlock,\n checkboxProps = {},\n columnData = [],\n fixedColumns = [],\n isSearchable = false,\n localStorageKey = \"\",\n initialValue = [],\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n onChange = identity,\n searchProps = {},\n ...dropdownProps\n },\n ref\n ) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [hiddenColumns, setHiddenColumns] = useLocalStorage(\n localStorageKey,\n initialValue\n );\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n useImperativeHandle(\n ref,\n () => ({\n hideColumn: dataIndex => {\n setHiddenColumns(append(dataIndex));\n },\n showColumn: dataIndex => {\n setHiddenColumns(without([dataIndex]));\n },\n }),\n []\n );\n\n const columns = removeFixedColumns(fixedColumns, columnData);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n const newHiddenColumns = checked\n ? without([dataIndex], hiddenColumns)\n : append(dataIndex, hiddenColumns);\n\n setHiddenColumns(newHiddenColumns);\n onChange(\n removeBy({ dataIndex: includes(__, newHiddenColumns) }, columnData),\n newHiddenColumns\n );\n };\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n useEffect(() => {\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n\n onChange(\n removeBy({ dataIndex: includes(__, newHiddenColumns) }, columnData),\n newHiddenColumns\n );\n }, []);\n\n useEffect(() => {\n if (isEmpty(columnData)) return;\n\n const newHiddenColumns = removeDeletedColumns(hiddenColumns, columnData);\n setHiddenColumns(newHiddenColumns);\n }, [columnData]);\n\n const { t } = useTranslation();\n\n return (\n <Dropdown\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n label={t(\"neetoMolecules.columns.columns\")}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div>\n {isSearchable && (\n <Input\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n data-cy=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isNotEmpty(filteredColumns) ? (\n filteredColumns.map(({ dataIndex, key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-w-full neeto-ui-px-3 neeto-ui-py-2 hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer\"\n htmlFor={dataIndex}\n >\n <Checkbox\n checked={!hiddenColumns.includes(dataIndex)}\n data-cy=\"neeto-ui-columns-checkbox\"\n id={dataIndex}\n label={title}\n name={dataIndex}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))\n ) : (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {!!actionBlock && (\n <>\n <Divider />\n {actionBlock}\n </>\n )}\n </div>\n </Menu>\n </Dropdown>\n );\n }\n);\n\nColumns.propTypes = {\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * The list of columns that are not allowed to be hidden. This is the `dataIndex` attribute from columnData (optional).\n */\n fixedColumns: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The key used to store data in local storage (required).\n */\n localStorageKey: PropTypes.string,\n /**\n * The list of columns that are hidden on initial render. This is the `dataIndex` attribute from columnData (optional).\n */\n initialValue: PropTypes.array,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Handler function that is called when a checkbox is selected or unselected.\n */\n onChange: PropTypes.func,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","objectWithoutPropertiesLoose","removeFixedColumns","fixedColumns","columnData","removeBy","dataIndex","includes","__","filterBySearchTerm","searchTerm","columns","filter","_ref","title","trim","toLower","removeDeletedColumns","hiddenColumns","hiddenColumn","existsBy","Columns","forwardRef","ref","actionBlock","_ref$checkboxProps","checkboxProps","_ref$columnData","_ref$fixedColumns","_ref$isSearchable","isSearchable","_ref$localStorageKey","localStorageKey","_ref$initialValue","initialValue","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$onChange","onChange","identity","_ref$searchProps","searchProps","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","setHiddenColumns","_useState","useState","_useState2","setSearchTerm","useImperativeHandle","hideColumn","append","showColumn","without","filteredColumns","handleChange","_ref2","_ref2$target","target","name","checked","newHiddenColumns","handleSearch","_ref3","value","useEffect","isEmpty","_useTranslation","useTranslation","React","createElement","_extends","buttonSize","buttonStyle","closeOnSelect","label","position","onClose","Input","className","placeholder","prefix","Search","type","isNotEmpty","map","_ref4","key","Label","htmlFor","Checkbox","id","Fragment","displayName"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var neetoui = require('@bigbinary/neetoui');
5
+ var formik = require('@bigbinary/neetoui/formik');
6
+ var ramda = require('ramda');
7
+ var reactI18next = require('react-i18next');
8
+ var yup = require('yup');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ function _interopNamespace(e) {
13
+ if (e && e.__esModule) return e;
14
+ var n = Object.create(null);
15
+ if (e) {
16
+ Object.keys(e).forEach(function (k) {
17
+ if (k !== 'default') {
18
+ var d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: function () { return e[k]; }
22
+ });
23
+ }
24
+ });
25
+ }
26
+ n["default"] = e;
27
+ return Object.freeze(n);
28
+ }
29
+
30
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
+ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
32
+
33
+ var INITIAL_VALUES = {
34
+ confirmationText: ""
35
+ };
36
+
37
+ var deletionValidationSchema = function deletionValidationSchema(confirmationText) {
38
+ return yup__namespace.object({
39
+ confirmationText: yup__namespace.string().required("").oneOf([confirmationText], "")
40
+ });
41
+ };
42
+
43
+ var ConfirmationModal = function ConfirmationModal(_ref) {
44
+ var buttonLabel = _ref.buttonLabel,
45
+ confirmationText = _ref.confirmationText,
46
+ _ref$description = _ref.description,
47
+ description = _ref$description === void 0 ? "" : _ref$description,
48
+ _ref$isOpen = _ref.isOpen,
49
+ isOpen = _ref$isOpen === void 0 ? true : _ref$isOpen,
50
+ _ref$isSubmitting = _ref.isSubmitting,
51
+ isSubmitting = _ref$isSubmitting === void 0 ? false : _ref$isSubmitting,
52
+ _ref$title = _ref.title,
53
+ title = _ref$title === void 0 ? "" : _ref$title,
54
+ onClose = _ref.onClose,
55
+ onSubmit = _ref.onSubmit,
56
+ deleteConfirmationMessage = _ref.deleteConfirmationMessage;
57
+ var _useTranslation = reactI18next.useTranslation(),
58
+ t = _useTranslation.t;
59
+ var formikProps = {
60
+ initialValues: INITIAL_VALUES,
61
+ validationSchema: deletionValidationSchema(confirmationText),
62
+ onSubmit: onSubmit
63
+ };
64
+ var deleteInputLabel = deleteConfirmationMessage || /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
65
+ components: {
66
+ strong: /*#__PURE__*/React__default["default"].createElement("strong", null)
67
+ },
68
+ i18nKey: "neetoMolecules.confirmationModal.deleteConfirmationMessage",
69
+ values: {
70
+ value: confirmationText
71
+ }
72
+ });
73
+ var initialFocusRef = React.useRef(null);
74
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
75
+ initialFocusRef: initialFocusRef,
76
+ isOpen: isOpen,
77
+ onClose: onClose,
78
+ "data-testid": "confirmation-modal"
79
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
80
+ "data-cy": "confirmation-modal",
81
+ style: "h2"
82
+ }, title)), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
83
+ formikProps: formikProps
84
+ }, function (_ref2) {
85
+ var values = _ref2.values;
86
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
87
+ className: "space-y-4"
88
+ }, ramda.type(description) === "String" ? /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
89
+ style: "body2"
90
+ }, description) : description, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
91
+ "data-testid": "confirmation-modal-input",
92
+ label: deleteInputLabel,
93
+ labelProps: {
94
+ className: "block"
95
+ },
96
+ name: "confirmationText",
97
+ ref: initialFocusRef,
98
+ type: "text"
99
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, null, /*#__PURE__*/React__default["default"].createElement(formik.ActionBlock, {
100
+ className: "space-x-2",
101
+ cancelButtonProps: {
102
+ label: t("neetoMolecules.common.actions.cancel"),
103
+ style: "text",
104
+ onClick: onClose,
105
+ disabled: false,
106
+ type: "button"
107
+ },
108
+ submitButtonProps: {
109
+ "data-cy": "delete-continue-button",
110
+ label: buttonLabel,
111
+ loading: isSubmitting,
112
+ style: "danger",
113
+ disabled: isSubmitting || confirmationText !== values.confirmationText
114
+ }
115
+ })));
116
+ }));
117
+ };
118
+
119
+ module.exports = ConfirmationModal;
120
+ //# sourceMappingURL=ConfirmationModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmationModal.js","sources":["../../src/components/ConfirmationModal/constants.js","../../src/components/ConfirmationModal/utils.js","../../src/components/ConfirmationModal/index.jsx"],"sourcesContent":["export const INITIAL_VALUES = { confirmationText: \"\" };\n","import * as yup from \"yup\";\n\nexport const deletionValidationSchema = confirmationText =>\n yup.object({\n confirmationText: yup.string().required(\"\").oneOf([confirmationText], \"\"),\n });\n","import React, { useRef } from \"react\";\n\nimport { Modal, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { type } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport { deletionValidationSchema } from \"./utils\";\n\nconst ConfirmationModal = ({\n buttonLabel,\n confirmationText,\n description = \"\",\n isOpen = true,\n isSubmitting = false,\n title = \"\",\n onClose,\n onSubmit,\n deleteConfirmationMessage,\n}) => {\n const { t } = useTranslation();\n const formikProps = {\n initialValues: INITIAL_VALUES,\n validationSchema: deletionValidationSchema(confirmationText),\n onSubmit,\n };\n\n const deleteInputLabel = deleteConfirmationMessage || (\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoMolecules.confirmationModal.deleteConfirmationMessage\"\n values={{ value: confirmationText }}\n />\n );\n\n const initialFocusRef = useRef(null);\n\n return (\n <Modal\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"confirmation-modal\"\n >\n <Modal.Header>\n <Typography data-cy=\"confirmation-modal\" style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Form {...{ formikProps }}>\n {({ values }) => (\n <>\n <Modal.Body className=\"space-y-4\">\n {type(description) === \"String\" ? (\n <Typography style=\"body2\">{description}</Typography>\n ) : (\n description\n )}\n <Input\n data-testid=\"confirmation-modal-input\"\n label={deleteInputLabel}\n labelProps={{ className: \"block\" }}\n name=\"confirmationText\"\n ref={initialFocusRef}\n type=\"text\"\n />\n </Modal.Body>\n <Modal.Footer>\n <ActionBlock\n className=\"space-x-2\"\n cancelButtonProps={{\n label: t(\"neetoMolecules.common.actions.cancel\"),\n style: \"text\",\n onClick: onClose,\n disabled: false,\n type: \"button\",\n }}\n submitButtonProps={{\n \"data-cy\": \"delete-continue-button\",\n label: buttonLabel,\n loading: isSubmitting,\n style: \"danger\",\n disabled:\n isSubmitting ||\n confirmationText !== values.confirmationText,\n }}\n />\n </Modal.Footer>\n </>\n )}\n </Form>\n </Modal>\n );\n};\n\nConfirmationModal.propTypes = {\n /**\n * Label of the action button in the Modal\n */\n buttonLabel: PropTypes.string,\n /**\n * Text that is expected to be entered by the user\n */\n confirmationText: PropTypes.string,\n /**\n * Modal description\n */\n description: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n PropTypes.string,\n ]),\n /**\n * To be passed to loading prop of the action button\n */\n isSubmitting: PropTypes.bool,\n /**\n * To specify whether the modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * Title of the modal\n */\n title: PropTypes.string,\n /**\n * Handler function that is invoked when the close button is clicked\n */\n onClose: PropTypes.func,\n /**\n * Handler function that is invoked when the action button is clicked\n */\n onSubmit: PropTypes.func,\n /**\n * Message that will be shown as the label of the confirmation input field.\n */\n deleteConfirmationMessage: PropTypes.string,\n};\n\nexport default ConfirmationModal;\n"],"names":["INITIAL_VALUES","confirmationText","deletionValidationSchema","yup","object","string","required","oneOf","ConfirmationModal","_ref","buttonLabel","_ref$description","description","_ref$isOpen","isOpen","_ref$isSubmitting","isSubmitting","_ref$title","title","onClose","onSubmit","deleteConfirmationMessage","_useTranslation","useTranslation","t","formikProps","initialValues","validationSchema","deleteInputLabel","React","createElement","Trans","components","strong","i18nKey","values","value","initialFocusRef","useRef","Modal","Header","Typography","style","Form","_ref2","Fragment","Body","className","type","Input","label","labelProps","name","ref","Footer","ActionBlock","cancelButtonProps","onClick","disabled","submitButtonProps","loading"],"mappings":"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"}