@bigbinary/neeto-molecules 1.0.87-beta → 1.0.88
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.
- package/README.md +1 -0
- package/dist/Container.cjs.js +1 -1
- package/dist/Container.js +1 -1
- package/dist/CustomDomainDashboard.cjs.js +24 -12
- package/dist/CustomDomainDashboard.cjs.js.map +1 -1
- package/dist/CustomDomainDashboard.js +27 -15
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/Header.cjs.js +23 -10
- package/dist/Header.cjs.js.map +1 -1
- package/dist/Header.js +26 -13
- package/dist/Header.js.map +1 -1
- package/dist/MenuBar.cjs.js +1 -1
- package/dist/MenuBar.js +1 -1
- package/dist/Scrollable.cjs.js +1 -5
- package/dist/Scrollable.cjs.js.map +1 -1
- package/dist/Scrollable.js +1 -5
- package/dist/Scrollable.js.map +1 -1
- package/dist/Sidebar.cjs.js +136 -212
- package/dist/Sidebar.cjs.js.map +1 -1
- package/dist/Sidebar.js +139 -215
- package/dist/Sidebar.js.map +1 -1
- package/dist/SubHeader.cjs.js +1 -1
- package/dist/SubHeader.js +1 -1
- package/dist/ToggleFeatureCard.cjs.js +304 -0
- package/dist/ToggleFeatureCard.cjs.js.map +1 -0
- package/dist/ToggleFeatureCard.js +298 -0
- package/dist/ToggleFeatureCard.js.map +1 -0
- package/package.json +2 -2
- package/src/translations/en.json +11 -6
- package/types/ImageWithFallback.d.ts +6 -7
- package/types/Sidebar.d.ts +1 -1
- package/types/ToggleFeatureCard.d.ts +32 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { useFormikContext } from 'formik';
|
|
3
|
+
import { slugify } from '@bigbinary/neeto-commons-frontend/pure';
|
|
4
|
+
import { withT, useOnClickOutside, useHotKeys } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
|
+
import { Edit, Close } from '@bigbinary/neeto-icons';
|
|
6
|
+
import { Tooltip, Label, Typography, Button } from '@bigbinary/neetoui';
|
|
7
|
+
import { Switch, Input } from '@bigbinary/neetoui/formik';
|
|
8
|
+
import { isEmpty } from 'ramda';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
10
|
+
|
|
11
|
+
function _arrayWithHoles(arr) {
|
|
12
|
+
if (Array.isArray(arr)) return arr;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function _iterableToArrayLimit(arr, i) {
|
|
16
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
17
|
+
if (null != _i) {
|
|
18
|
+
var _s,
|
|
19
|
+
_e,
|
|
20
|
+
_x,
|
|
21
|
+
_r,
|
|
22
|
+
_arr = [],
|
|
23
|
+
_n = !0,
|
|
24
|
+
_d = !1;
|
|
25
|
+
try {
|
|
26
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
27
|
+
if (Object(_i) !== _i) return;
|
|
28
|
+
_n = !1;
|
|
29
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
30
|
+
} catch (err) {
|
|
31
|
+
_d = !0, _e = err;
|
|
32
|
+
} finally {
|
|
33
|
+
try {
|
|
34
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
35
|
+
} finally {
|
|
36
|
+
if (_d) throw _e;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return _arr;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function _arrayLikeToArray(arr, len) {
|
|
44
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
45
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
46
|
+
return arr2;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
50
|
+
if (!o) return;
|
|
51
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
52
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
53
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
54
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
55
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function _nonIterableRest() {
|
|
59
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function _slicedToArray(arr, i) {
|
|
63
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var classnames$1 = {exports: {}};
|
|
67
|
+
|
|
68
|
+
/*!
|
|
69
|
+
Copyright (c) 2018 Jed Watson.
|
|
70
|
+
Licensed under the MIT License (MIT), see
|
|
71
|
+
http://jedwatson.github.io/classnames
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
(function (module) {
|
|
75
|
+
/* global define */
|
|
76
|
+
|
|
77
|
+
(function () {
|
|
78
|
+
|
|
79
|
+
var hasOwn = {}.hasOwnProperty;
|
|
80
|
+
|
|
81
|
+
function classNames() {
|
|
82
|
+
var classes = [];
|
|
83
|
+
|
|
84
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
85
|
+
var arg = arguments[i];
|
|
86
|
+
if (!arg) continue;
|
|
87
|
+
|
|
88
|
+
var argType = typeof arg;
|
|
89
|
+
|
|
90
|
+
if (argType === 'string' || argType === 'number') {
|
|
91
|
+
classes.push(arg);
|
|
92
|
+
} else if (Array.isArray(arg)) {
|
|
93
|
+
if (arg.length) {
|
|
94
|
+
var inner = classNames.apply(null, arg);
|
|
95
|
+
if (inner) {
|
|
96
|
+
classes.push(inner);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
} else if (argType === 'object') {
|
|
100
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
101
|
+
classes.push(arg.toString());
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
for (var key in arg) {
|
|
106
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
107
|
+
classes.push(key);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return classes.join(' ');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (module.exports) {
|
|
117
|
+
classNames.default = classNames;
|
|
118
|
+
module.exports = classNames;
|
|
119
|
+
} else {
|
|
120
|
+
window.classNames = classNames;
|
|
121
|
+
}
|
|
122
|
+
}());
|
|
123
|
+
} (classnames$1));
|
|
124
|
+
|
|
125
|
+
var classnames = classnames$1.exports;
|
|
126
|
+
|
|
127
|
+
var useScrollIntoView = function useScrollIntoView(_ref) {
|
|
128
|
+
var elementId = _ref.elementId,
|
|
129
|
+
trigger = _ref.trigger;
|
|
130
|
+
useEffect(function () {
|
|
131
|
+
var _document$getElementB;
|
|
132
|
+
if (!trigger) return;
|
|
133
|
+
(_document$getElementB = document.getElementById(elementId)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView();
|
|
134
|
+
}, [trigger]);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
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}}
|
|
138
|
+
|
|
139
|
+
var css = ".toggle-feature-card--highlighted{border-color:rgb(var(--neeto-ui-primary-800))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-800))}";
|
|
140
|
+
n(css,{});
|
|
141
|
+
|
|
142
|
+
var TooltipSwitch = withT(function (_ref) {
|
|
143
|
+
var t = _ref.t,
|
|
144
|
+
enabledCondition = _ref.enabledCondition,
|
|
145
|
+
_ref$name = _ref.name,
|
|
146
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
147
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
148
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
149
|
+
switchDataCy = _ref.switchDataCy;
|
|
150
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
151
|
+
position: "top",
|
|
152
|
+
content: enabledCondition ? t("neetoMolecules.toggleFeatureCard.switchTooltip.enabled") : t("neetoMolecules.toggleFeatureCard.switchTooltip.disabled")
|
|
153
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Switch, {
|
|
154
|
+
"data-cy": switchDataCy,
|
|
155
|
+
"data-testid": "toggle-feature-card-switch",
|
|
156
|
+
disabled: isDisabled,
|
|
157
|
+
name: name
|
|
158
|
+
})));
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
|
|
162
|
+
var _ref$title = _ref.title,
|
|
163
|
+
title = _ref$title === void 0 ? "" : _ref$title,
|
|
164
|
+
_ref$description = _ref.description,
|
|
165
|
+
description = _ref$description === void 0 ? null : _ref$description,
|
|
166
|
+
_ref$switchName = _ref.switchName,
|
|
167
|
+
switchName = _ref$switchName === void 0 ? "switch" : _ref$switchName,
|
|
168
|
+
_ref$titleDataCy = _ref.titleDataCy,
|
|
169
|
+
titleDataCy = _ref$titleDataCy === void 0 ? "" : _ref$titleDataCy,
|
|
170
|
+
_ref$switchDataCy = _ref.switchDataCy,
|
|
171
|
+
switchDataCy = _ref$switchDataCy === void 0 ? "" : _ref$switchDataCy,
|
|
172
|
+
_ref$descriptionDataC = _ref.descriptionDataCy,
|
|
173
|
+
descriptionDataCy = _ref$descriptionDataC === void 0 ? "" : _ref$descriptionDataC,
|
|
174
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
175
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
176
|
+
_ref$children = _ref.children,
|
|
177
|
+
children = _ref$children === void 0 ? null : _ref$children,
|
|
178
|
+
_ref$inputProps = _ref.inputProps,
|
|
179
|
+
inputProps = _ref$inputProps === void 0 ? {
|
|
180
|
+
name: null,
|
|
181
|
+
display: null,
|
|
182
|
+
label: null,
|
|
183
|
+
editButtonTooltip: null,
|
|
184
|
+
editButtonDataCy: "",
|
|
185
|
+
placeholder: null,
|
|
186
|
+
dataCy: ""
|
|
187
|
+
} : _ref$inputProps;
|
|
188
|
+
var _useTranslation = useTranslation(),
|
|
189
|
+
t = _useTranslation.t;
|
|
190
|
+
var cardRef = useRef();
|
|
191
|
+
var id = slugify(title);
|
|
192
|
+
var _useState = useState(false),
|
|
193
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
194
|
+
isEditing = _useState2[0],
|
|
195
|
+
setIsEditing = _useState2[1];
|
|
196
|
+
var _useFormikContext = useFormikContext(),
|
|
197
|
+
setFieldValue = _useFormikContext.setFieldValue,
|
|
198
|
+
values = _useFormikContext.values,
|
|
199
|
+
submitCount = _useFormikContext.submitCount,
|
|
200
|
+
errors = _useFormikContext.errors,
|
|
201
|
+
initialValues = _useFormikContext.initialValues;
|
|
202
|
+
useEffect(function () {
|
|
203
|
+
if (submitCount >= 1 && isEmpty(errors)) {
|
|
204
|
+
setIsEditing(false);
|
|
205
|
+
}
|
|
206
|
+
}, [submitCount]);
|
|
207
|
+
useEffect(function () {
|
|
208
|
+
if (!isEmpty(errors)) {
|
|
209
|
+
setIsEditing(true);
|
|
210
|
+
}
|
|
211
|
+
}, [values, errors]);
|
|
212
|
+
var _useState3 = useState(location.hash.split("#")[1] === id),
|
|
213
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
214
|
+
shouldHighlight = _useState4[0],
|
|
215
|
+
setShouldHighlight = _useState4[1];
|
|
216
|
+
var hasInput = (values === null || values === void 0 ? void 0 : values[switchName]) && (inputProps === null || inputProps === void 0 ? void 0 : inputProps.name);
|
|
217
|
+
var enabledCondition = values === null || values === void 0 ? void 0 : values[switchName];
|
|
218
|
+
var handleInputReset = function handleInputReset() {
|
|
219
|
+
setIsEditing(false);
|
|
220
|
+
hasInput && setFieldValue(inputProps === null || inputProps === void 0 ? void 0 : inputProps.name, initialValues === null || initialValues === void 0 ? void 0 : initialValues[inputProps === null || inputProps === void 0 ? void 0 : inputProps.name]);
|
|
221
|
+
};
|
|
222
|
+
useOnClickOutside(cardRef, function () {
|
|
223
|
+
return setShouldHighlight(false);
|
|
224
|
+
});
|
|
225
|
+
useScrollIntoView({
|
|
226
|
+
elementId: id,
|
|
227
|
+
trigger: shouldHighlight
|
|
228
|
+
});
|
|
229
|
+
var inputRef = useHotKeys("enter", function () {
|
|
230
|
+
return setIsEditing(false);
|
|
231
|
+
}, {
|
|
232
|
+
mode: "scoped"
|
|
233
|
+
});
|
|
234
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
235
|
+
"data-testid": "toggle-feature-card",
|
|
236
|
+
id: id,
|
|
237
|
+
ref: cardRef,
|
|
238
|
+
className: classnames("neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4", {
|
|
239
|
+
"neeto-ui-border-gray-300": !shouldHighlight
|
|
240
|
+
}, {
|
|
241
|
+
"toggle-feature-card--highlighted": shouldHighlight
|
|
242
|
+
})
|
|
243
|
+
}, /*#__PURE__*/React.createElement(Label, {
|
|
244
|
+
className: "flex flex-row items-center gap-2"
|
|
245
|
+
}, /*#__PURE__*/React.createElement(TooltipSwitch, {
|
|
246
|
+
enabledCondition: enabledCondition,
|
|
247
|
+
isDisabled: isDisabled,
|
|
248
|
+
switchDataCy: switchDataCy,
|
|
249
|
+
name: switchName
|
|
250
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
251
|
+
component: "span",
|
|
252
|
+
"data-cy": titleDataCy,
|
|
253
|
+
"data-testid": "toggle-feature-card-title",
|
|
254
|
+
style: "h4",
|
|
255
|
+
weight: "semibold"
|
|
256
|
+
}, title)), /*#__PURE__*/React.createElement(Typography, {
|
|
257
|
+
className: "mb-4 whitespace-pre-line",
|
|
258
|
+
"data-cy": descriptionDataCy,
|
|
259
|
+
"data-testid": "toggle-feature-card-description",
|
|
260
|
+
style: "body2"
|
|
261
|
+
}, description), hasInput && !isEditing && /*#__PURE__*/React.createElement("div", {
|
|
262
|
+
className: "m-0 flex flex-row items-center space-x-2"
|
|
263
|
+
}, inputProps === null || inputProps === void 0 ? void 0 : inputProps.display, /*#__PURE__*/React.createElement(Button, {
|
|
264
|
+
"data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonDataCy,
|
|
265
|
+
"data-testid": "toggle-feature-card-input-display-edit",
|
|
266
|
+
icon: Edit,
|
|
267
|
+
size: "small",
|
|
268
|
+
style: "text",
|
|
269
|
+
type: "button",
|
|
270
|
+
tooltipProps: {
|
|
271
|
+
content: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonTooltip) || t("neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip"),
|
|
272
|
+
position: "right"
|
|
273
|
+
},
|
|
274
|
+
onClick: function onClick() {
|
|
275
|
+
return setIsEditing(true);
|
|
276
|
+
}
|
|
277
|
+
})), hasInput && isEditing && /*#__PURE__*/React.createElement(Input, {
|
|
278
|
+
autoFocus: true,
|
|
279
|
+
"data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.dataCy,
|
|
280
|
+
"data-testid": "toggle-feature-card-input-field",
|
|
281
|
+
label: inputProps === null || inputProps === void 0 ? void 0 : inputProps.label,
|
|
282
|
+
name: inputProps === null || inputProps === void 0 ? void 0 : inputProps.name,
|
|
283
|
+
placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder,
|
|
284
|
+
ref: inputRef,
|
|
285
|
+
size: "medium",
|
|
286
|
+
suffix: /*#__PURE__*/React.createElement(Button, {
|
|
287
|
+
"data-testid": "toggle-feature-card-input-reset",
|
|
288
|
+
icon: Close,
|
|
289
|
+
size: "small",
|
|
290
|
+
style: "text",
|
|
291
|
+
type: "button",
|
|
292
|
+
onClick: handleInputReset
|
|
293
|
+
})
|
|
294
|
+
}), children);
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
export { ToggleFeatureCard as default };
|
|
298
|
+
//# sourceMappingURL=ToggleFeatureCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToggleFeatureCard.js","sources":["../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/classnames/index.js","../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\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}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","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}}export{n as default};\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = withT(\n ({ t, enabledCondition, name = \"\", isDisabled = false, switchDataCy }) => (\n <Tooltip\n position=\"top\"\n content={\n enabledCondition\n ? t(\"neetoMolecules.toggleFeatureCard.switchTooltip.enabled\")\n : t(\"neetoMolecules.toggleFeatureCard.switchTooltip.disabled\")\n }\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name }}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocommons/pure\";\nimport { useHotKeys, useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps = {\n name: null,\n display: null,\n label: null,\n editButtonTooltip: null,\n editButtonDataCy: \"\",\n placeholder: null,\n dataCy: \"\",\n },\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (submitCount >= 1 && isEmpty(errors)) {\n setIsEditing(false);\n }\n }, [submitCount]);\n\n useEffect(() => {\n if (!isEmpty(errors)) {\n setIsEditing(true);\n }\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotKeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n data-testid=\"toggle-feature-card\"\n {...{ id }}\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{ enabledCondition, isDisabled, switchDataCy }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","withT","t","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","React","createElement","Tooltip","position","content","FormikSwitch","disabled","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","_ref$inputProps","inputProps","display","label","editButtonTooltip","editButtonDataCy","placeholder","dataCy","_useTranslation","useTranslation","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotKeys","mode","ref","className","classnames","Label","Typography","component","style","weight","Button","icon","Edit","size","type","tooltipProps","onClick","Input","autoFocus","suffix","Close"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.88",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@bigbinary/neeto-commons-frontend": "2.0.119",
|
|
52
52
|
"@bigbinary/neeto-editor": "1.27.0-beta.1",
|
|
53
53
|
"@bigbinary/neeto-filters-frontend": "^2.11.15",
|
|
54
|
-
"@bigbinary/neeto-icons": "^1.
|
|
54
|
+
"@bigbinary/neeto-icons": "^1.12.3",
|
|
55
55
|
"@bigbinary/neeto-molecules": "^1.0.5",
|
|
56
56
|
"@bigbinary/neetoui": "^5.1.5",
|
|
57
57
|
"@faker-js/faker": "7.6.0",
|
package/src/translations/en.json
CHANGED
|
@@ -67,16 +67,12 @@
|
|
|
67
67
|
"logout": "Log out",
|
|
68
68
|
"help": "Help",
|
|
69
69
|
"productSwitcher": "Product switcher",
|
|
70
|
-
"neetoProducts": "neeto products",
|
|
71
70
|
"helpLinks": {
|
|
72
71
|
"liveChat": "Live chat",
|
|
73
72
|
"helpCenter": "Help center",
|
|
74
73
|
"whatsNew": "What's new",
|
|
75
|
-
"keyboardShortcuts": "Keyboard shortcuts"
|
|
76
|
-
|
|
77
|
-
},
|
|
78
|
-
"showMenu": "Open sidebar",
|
|
79
|
-
"hideMenu": "Close sidebar"
|
|
74
|
+
"keyboardShortcuts": "Keyboard shortcuts"
|
|
75
|
+
}
|
|
80
76
|
},
|
|
81
77
|
"appSwitcher": {
|
|
82
78
|
"noApps": "No apps found",
|
|
@@ -474,6 +470,15 @@
|
|
|
474
470
|
"emailPlaceholder": "Write email address",
|
|
475
471
|
"commaSeparatedEmails": "Use comma (‘) to add multiple email addresses"
|
|
476
472
|
}
|
|
473
|
+
},
|
|
474
|
+
"toggleFeatureCard": {
|
|
475
|
+
"switchTooltip": {
|
|
476
|
+
"enabled": "Feature is currently enabled",
|
|
477
|
+
"disabled": "Feature is currently disabled"
|
|
478
|
+
},
|
|
479
|
+
"input": {
|
|
480
|
+
"editButtonDefaultTooltip": "Edit"
|
|
481
|
+
}
|
|
477
482
|
}
|
|
478
483
|
}
|
|
479
484
|
}
|
|
@@ -7,13 +7,12 @@ import React from "react";
|
|
|
7
7
|
*
|
|
8
8
|
* import ImageWithFallback from "@bigbinary/neeto-molecules/ImageWithFallback";
|
|
9
9
|
*
|
|
10
|
-
* const App = () =>
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
10
|
+
* const App = () => (
|
|
11
|
+
* <ImageWithFallback
|
|
12
|
+
* className="h-40 w-40"
|
|
13
|
+
* src="https://randomuser.me/api/portraits/women/90.jpg"
|
|
14
|
+
* />
|
|
15
|
+
* );
|
|
17
16
|
* @endexample
|
|
18
17
|
*/
|
|
19
18
|
const ImageWithFallback: React.FC<{
|
package/types/Sidebar.d.ts
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* ToggleFeatureCard can be used to enable or disable a setting, and supports
|
|
5
|
+
*
|
|
6
|
+
* additional customizations like having an input field, and custom child
|
|
7
|
+
*
|
|
8
|
+
* components.
|
|
9
|
+
*
|
|
10
|
+
* 
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
const ToggleFeatureCard: React.FC<{
|
|
14
|
+
title: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
switchName: string;
|
|
17
|
+
titleDataCy?: string;
|
|
18
|
+
switchDataCy?: string;
|
|
19
|
+
descriptionDataCy?: string;
|
|
20
|
+
isDisabled?: boolean;
|
|
21
|
+
children?: React.ReactNode | null;
|
|
22
|
+
inputProps: {
|
|
23
|
+
name: string;
|
|
24
|
+
display?: React.ReactNode | null;
|
|
25
|
+
label?: string;
|
|
26
|
+
editButtonTooltip?: string;
|
|
27
|
+
editButtonDataCy?: string;
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
dataCy?: string;
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
export default ToggleFeatureCard;
|