@bigbinary/neeto-molecules 3.4.2 → 3.6.0-beta-1
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/Onboarding.js +21 -12
- package/dist/Onboarding.js.map +1 -1
- package/dist/PhoneNumber.js +23 -316
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/SessionEnvironment.js +376 -0
- package/dist/SessionEnvironment.js.map +1 -0
- package/dist/cjs/Onboarding.js +20 -11
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +24 -343
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +408 -0
- package/dist/cjs/SessionEnvironment.js.map +1 -0
- package/dist/cjs/phone-number-904b0a70.js +361 -0
- package/dist/cjs/phone-number-904b0a70.js.map +1 -0
- package/dist/phone-number-cf3e77d7.js +322 -0
- package/dist/phone-number-cf3e77d7.js.map +1 -0
- package/package.json +1 -1
- package/src/translations/en.json +37 -1
- package/types/HelpPopover.d.ts +11 -10
- package/types/Onboarding.d.ts +3 -1
- package/types/SessionEnvironment.d.ts +166 -0
- package/types/StatusDropdown.d.ts +2 -2
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
+
import { useState, useMemo, useEffect, memo, createElement } from 'react';
|
|
3
|
+
import { isPresent, noop, filterBy, removeBy } from '@bigbinary/neeto-cist';
|
|
4
|
+
import Down from '@bigbinary/neeto-icons/Down';
|
|
5
|
+
import Up from '@bigbinary/neeto-icons/Up';
|
|
6
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
7
|
+
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
8
|
+
import { isNil, pluck, not } from 'ramda';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
10
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
11
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
12
|
+
import HelpPopover from './HelpPopover.js';
|
|
13
|
+
import classnames from 'classnames';
|
|
14
|
+
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
15
|
+
import Check from '@bigbinary/neeto-icons/Check';
|
|
16
|
+
import Close from '@bigbinary/neeto-icons/Close';
|
|
17
|
+
import Input from '@bigbinary/neetoui/Input';
|
|
18
|
+
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
19
|
+
import CopyToClipboardButton from './CopyToClipboardButton.js';
|
|
20
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
21
|
+
import 'formik';
|
|
22
|
+
import { P as PhoneNumberInput } from './phone-number-cf3e77d7.js';
|
|
23
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
24
|
+
import 'i18next';
|
|
25
|
+
import 'libphonenumber-js/min';
|
|
26
|
+
import 'yup';
|
|
27
|
+
import TimeFormat from './TimeFormat.js';
|
|
28
|
+
import Computer from '@bigbinary/neeto-icons/Computer';
|
|
29
|
+
import Email from '@bigbinary/neeto-icons/Email';
|
|
30
|
+
import Location from '@bigbinary/neeto-icons/Location';
|
|
31
|
+
import Mobile from '@bigbinary/neeto-icons/Mobile';
|
|
32
|
+
import Phone from '@bigbinary/neeto-icons/Phone';
|
|
33
|
+
import Subdomain from '@bigbinary/neeto-icons/Subdomain';
|
|
34
|
+
import User from '@bigbinary/neeto-icons/User';
|
|
35
|
+
import Apple from '@bigbinary/neeto-icons/misc/Apple';
|
|
36
|
+
import Chrome from '@bigbinary/neeto-icons/misc/Chrome';
|
|
37
|
+
import Edge from '@bigbinary/neeto-icons/misc/Edge';
|
|
38
|
+
import Firefox from '@bigbinary/neeto-icons/misc/Firefox';
|
|
39
|
+
import Safari from '@bigbinary/neeto-icons/misc/Safari';
|
|
40
|
+
import Ubuntu from '@bigbinary/neeto-icons/misc/Ubuntu';
|
|
41
|
+
import Windows from '@bigbinary/neeto-icons/misc/Windows';
|
|
42
|
+
import { n } from './inject-css-c86de496.js';
|
|
43
|
+
import '@bigbinary/neeto-icons/Help';
|
|
44
|
+
import '@bigbinary/neetoui/Popover';
|
|
45
|
+
import '@bigbinary/neeto-commons-frontend/utils/general';
|
|
46
|
+
import '@bigbinary/neeto-icons/Copy';
|
|
47
|
+
import 'zustand/shallow';
|
|
48
|
+
import '@bigbinary/neetoui/Select';
|
|
49
|
+
import './_commonjsHelpers-1c8beb5f.js';
|
|
50
|
+
import '@tanstack/react-query';
|
|
51
|
+
import 'axios';
|
|
52
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
53
|
+
import 'zustand';
|
|
54
|
+
import 'zustand/middleware';
|
|
55
|
+
import './DateFormat.js';
|
|
56
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/useTimer';
|
|
57
|
+
import '@bigbinary/neeto-commons-frontend/utils/datetime';
|
|
58
|
+
|
|
59
|
+
var BOOLEAN_VALUES_MAP = {
|
|
60
|
+
"true": "Yes",
|
|
61
|
+
"false": "No"
|
|
62
|
+
};
|
|
63
|
+
var ENTER = "enter";
|
|
64
|
+
var ESCAPE = "escape";
|
|
65
|
+
var PHONE_NUMBER = "phone_number";
|
|
66
|
+
var INTEGER = "integer";
|
|
67
|
+
var ICONS_MAP = {
|
|
68
|
+
name: User,
|
|
69
|
+
user: User,
|
|
70
|
+
email: Email,
|
|
71
|
+
phone_number: Phone,
|
|
72
|
+
location: Location,
|
|
73
|
+
timezone: Subdomain,
|
|
74
|
+
chrome: Chrome,
|
|
75
|
+
safari: Safari,
|
|
76
|
+
firefox: Firefox,
|
|
77
|
+
edge: Edge,
|
|
78
|
+
ie: Edge,
|
|
79
|
+
windows: Windows,
|
|
80
|
+
mac_os: Apple,
|
|
81
|
+
linux: Ubuntu,
|
|
82
|
+
mobile: Mobile,
|
|
83
|
+
desktop: Computer
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var getInputType = function getInputType(_ref) {
|
|
87
|
+
var name = _ref.name,
|
|
88
|
+
kind = _ref.kind;
|
|
89
|
+
if (name === PHONE_NUMBER) return "tel";else if (kind === INTEGER) return "number";
|
|
90
|
+
return "text";
|
|
91
|
+
};
|
|
92
|
+
var getIcon = function getIcon(_ref2) {
|
|
93
|
+
var iconSize = _ref2.iconSize,
|
|
94
|
+
name = _ref2.name,
|
|
95
|
+
value = _ref2.value;
|
|
96
|
+
var Icon = name === "browser" || name === "os" ? ICONS_MAP[value === null || value === void 0 ? void 0 : value.toLowerCase().replace(" ", "_")] : ICONS_MAP[name];
|
|
97
|
+
return /*#__PURE__*/jsx(Icon, {
|
|
98
|
+
size: iconSize
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var Item = function Item(_ref) {
|
|
103
|
+
var handleCancel = _ref.handleCancel,
|
|
104
|
+
handleSubmit = _ref.handleSubmit,
|
|
105
|
+
iconSize = _ref.iconSize,
|
|
106
|
+
item = _ref.item,
|
|
107
|
+
showIcons = _ref.showIcons;
|
|
108
|
+
var _useState = useState(item.isEditing),
|
|
109
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
110
|
+
isEditing = _useState2[0],
|
|
111
|
+
setIsEditing = _useState2[1];
|
|
112
|
+
var _useState3 = useState(item.value),
|
|
113
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
114
|
+
value = _useState4[0],
|
|
115
|
+
setValue = _useState4[1];
|
|
116
|
+
var _useTranslation = useTranslation(),
|
|
117
|
+
t = _useTranslation.t;
|
|
118
|
+
var containerRef = useHotkeys(ESCAPE, function () {
|
|
119
|
+
return handleCancel(name);
|
|
120
|
+
}, {
|
|
121
|
+
mode: "scoped"
|
|
122
|
+
});
|
|
123
|
+
var icon = item.icon,
|
|
124
|
+
_item$isEditable = item.isEditable,
|
|
125
|
+
isEditable = _item$isEditable === void 0 ? false : _item$isEditable,
|
|
126
|
+
_item$extraClasses = item.extraClasses,
|
|
127
|
+
extraClasses = _item$extraClasses === void 0 ? "" : _item$extraClasses,
|
|
128
|
+
_item$extraWrapperCla = item.extraWrapperClasses,
|
|
129
|
+
extraWrapperClasses = _item$extraWrapperCla === void 0 ? "" : _item$extraWrapperCla,
|
|
130
|
+
id = item.id,
|
|
131
|
+
fieldValueId = item.fieldValueId,
|
|
132
|
+
_item$custom = item.custom,
|
|
133
|
+
custom = _item$custom === void 0 ? false : _item$custom,
|
|
134
|
+
name = item.name,
|
|
135
|
+
kind = item.kind,
|
|
136
|
+
error = item.error,
|
|
137
|
+
label = item.label,
|
|
138
|
+
_item$showCopyButton = item.showCopyButton,
|
|
139
|
+
showCopyButton = _item$showCopyButton === void 0 ? false : _item$showCopyButton;
|
|
140
|
+
var valueToRender = useMemo(function () {
|
|
141
|
+
if (isNil(value)) return "-";
|
|
142
|
+
if (typeof value === "boolean") return BOOLEAN_VALUES_MAP[value.toString()];
|
|
143
|
+
return value;
|
|
144
|
+
}, [value]);
|
|
145
|
+
var iconToRender = useMemo(function () {
|
|
146
|
+
return icon || getIcon({
|
|
147
|
+
iconSize: iconSize,
|
|
148
|
+
name: name,
|
|
149
|
+
value: value
|
|
150
|
+
});
|
|
151
|
+
}, [icon, iconSize, name, value]);
|
|
152
|
+
var onSuccess = function onSuccess() {
|
|
153
|
+
return setIsEditing(false);
|
|
154
|
+
};
|
|
155
|
+
var handleMetadataSubmit = function handleMetadataSubmit() {
|
|
156
|
+
return handleSubmit({
|
|
157
|
+
fieldId: id,
|
|
158
|
+
fieldValueId: fieldValueId,
|
|
159
|
+
name: name,
|
|
160
|
+
value: value,
|
|
161
|
+
custom: custom,
|
|
162
|
+
onSuccess: onSuccess
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
var handleMetadataCancel = function handleMetadataCancel() {
|
|
166
|
+
setIsEditing(false);
|
|
167
|
+
setValue(item.value);
|
|
168
|
+
handleCancel(name);
|
|
169
|
+
};
|
|
170
|
+
var inputRef = useHotkeys(ENTER, handleMetadataSubmit, {
|
|
171
|
+
mode: "scoped"
|
|
172
|
+
});
|
|
173
|
+
var InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;
|
|
174
|
+
var handleChange = function handleChange(event) {
|
|
175
|
+
var value = name === PHONE_NUMBER ? event : event.target.value;
|
|
176
|
+
setValue(value);
|
|
177
|
+
};
|
|
178
|
+
useEffect(function () {
|
|
179
|
+
setValue(item.value);
|
|
180
|
+
}, [item]);
|
|
181
|
+
return /*#__PURE__*/jsxs("div", {
|
|
182
|
+
ref: containerRef,
|
|
183
|
+
className: classnames("mb-2 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
|
|
184
|
+
"flex-wrap": name !== PHONE_NUMBER
|
|
185
|
+
}),
|
|
186
|
+
children: [showIcons && isPresent(iconToRender) ? /*#__PURE__*/jsx(Tooltip, {
|
|
187
|
+
content: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name)),
|
|
188
|
+
children: /*#__PURE__*/jsx("div", {
|
|
189
|
+
className: "flex-shrink-0",
|
|
190
|
+
children: iconToRender
|
|
191
|
+
})
|
|
192
|
+
}) : /*#__PURE__*/jsx(Typography, {
|
|
193
|
+
className: "neeto-molecules-session-environment-editable-field whitespace-nowrap",
|
|
194
|
+
style: "h5",
|
|
195
|
+
children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
|
|
196
|
+
}), !isEditing ? /*#__PURE__*/jsxs(Fragment, {
|
|
197
|
+
children: [kind === "datetime" ? /*#__PURE__*/jsx(TimeFormat.DateWeekTime, {
|
|
198
|
+
date: value,
|
|
199
|
+
typographyProps: {
|
|
200
|
+
style: "body2",
|
|
201
|
+
className: "overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses)
|
|
202
|
+
}
|
|
203
|
+
}) : /*#__PURE__*/jsx(Typography, {
|
|
204
|
+
className: "overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses),
|
|
205
|
+
"data-testid": "metadata-value-".concat(name),
|
|
206
|
+
style: "body2",
|
|
207
|
+
weight: "normal",
|
|
208
|
+
onClick: function onClick() {
|
|
209
|
+
return isEditable && setIsEditing(true);
|
|
210
|
+
},
|
|
211
|
+
children: valueToRender
|
|
212
|
+
}), showCopyButton && /*#__PURE__*/jsx(CopyToClipboardButton, {
|
|
213
|
+
className: "flex-shrink-0",
|
|
214
|
+
size: "small",
|
|
215
|
+
style: "text",
|
|
216
|
+
value: valueToRender
|
|
217
|
+
})]
|
|
218
|
+
}) : /*#__PURE__*/jsxs("div", {
|
|
219
|
+
className: "neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center",
|
|
220
|
+
children: [/*#__PURE__*/jsx(InputComponent, {
|
|
221
|
+
error: error,
|
|
222
|
+
autoFocus: true,
|
|
223
|
+
"data-testid": "metadata-input-".concat(name),
|
|
224
|
+
placeholder: t("neetoMolecules.common.enter", {
|
|
225
|
+
what: label
|
|
226
|
+
}),
|
|
227
|
+
ref: inputRef,
|
|
228
|
+
type: getInputType({
|
|
229
|
+
name: name,
|
|
230
|
+
kind: kind
|
|
231
|
+
}),
|
|
232
|
+
value: value || "",
|
|
233
|
+
onChange: handleChange
|
|
234
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
235
|
+
className: "neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1",
|
|
236
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
237
|
+
icon: Close,
|
|
238
|
+
size: "small",
|
|
239
|
+
style: "text",
|
|
240
|
+
tooltipProps: {
|
|
241
|
+
content: t("neetoMolecules.common.actions.cancel"),
|
|
242
|
+
position: "top"
|
|
243
|
+
},
|
|
244
|
+
onClick: handleMetadataCancel
|
|
245
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
246
|
+
"data-testid": "metadata-submit-".concat(name),
|
|
247
|
+
icon: Check,
|
|
248
|
+
size: "small",
|
|
249
|
+
style: "text",
|
|
250
|
+
tooltipProps: {
|
|
251
|
+
content: t("neetoMolecules.common.actions.save"),
|
|
252
|
+
position: "top"
|
|
253
|
+
},
|
|
254
|
+
onClick: handleMetadataSubmit
|
|
255
|
+
})]
|
|
256
|
+
})]
|
|
257
|
+
})]
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
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; }
|
|
262
|
+
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; }
|
|
263
|
+
var DetailsBlock = function DetailsBlock(_ref) {
|
|
264
|
+
var details = _ref.details,
|
|
265
|
+
_ref$handleCancel = _ref.handleCancel,
|
|
266
|
+
handleCancel = _ref$handleCancel === void 0 ? noop : _ref$handleCancel,
|
|
267
|
+
_ref$handleSubmit = _ref.handleSubmit,
|
|
268
|
+
handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
|
|
269
|
+
helpPopoverProps = _ref.helpPopoverProps,
|
|
270
|
+
iconSize = _ref.iconSize,
|
|
271
|
+
_ref$showIcons = _ref.showIcons,
|
|
272
|
+
showIcons = _ref$showIcons === void 0 ? false : _ref$showIcons,
|
|
273
|
+
_ref$title = _ref.title,
|
|
274
|
+
title = _ref$title === void 0 ? "" : _ref$title;
|
|
275
|
+
return /*#__PURE__*/jsxs("div", {
|
|
276
|
+
className: "mb-4",
|
|
277
|
+
children: [title && /*#__PURE__*/jsxs("div", {
|
|
278
|
+
className: "mb-2 flex",
|
|
279
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
280
|
+
className: "mr-2",
|
|
281
|
+
style: "h4",
|
|
282
|
+
textTransform: "uppercase",
|
|
283
|
+
weight: "bold",
|
|
284
|
+
children: title
|
|
285
|
+
}), isPresent(helpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread({}, helpPopoverProps))]
|
|
286
|
+
}), details.map(function (detail, index) {
|
|
287
|
+
return /*#__PURE__*/createElement(Item, {
|
|
288
|
+
handleCancel: handleCancel,
|
|
289
|
+
handleSubmit: handleSubmit,
|
|
290
|
+
iconSize: iconSize,
|
|
291
|
+
showIcons: showIcons,
|
|
292
|
+
item: detail,
|
|
293
|
+
key: index
|
|
294
|
+
});
|
|
295
|
+
})]
|
|
296
|
+
});
|
|
297
|
+
};
|
|
298
|
+
var DetailsBlock$1 = /*#__PURE__*/memo(DetailsBlock);
|
|
299
|
+
|
|
300
|
+
var css = ".neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .ant-picker-suffix{display:none}.neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .neeto-ui-input__prefix{margin:0;padding:0}.neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .neeto-ui-date-input,.neeto-molecules-session-environment-editable-field .neeto-ui-input__wrapper .neeto-ui-input>input{padding:4px 45px 4px 4px!important}.neeto-molecules-session-environment-editable-field__actions .neeto-ui-btn{background-color:transparent!important;min-height:0!important;padding:2px!important}";
|
|
301
|
+
n(css,{});
|
|
302
|
+
|
|
303
|
+
var SessionEnvironment = function SessionEnvironment(_ref) {
|
|
304
|
+
var details = _ref.details,
|
|
305
|
+
_ref$handleCancel = _ref.handleCancel,
|
|
306
|
+
handleCancel = _ref$handleCancel === void 0 ? noop : _ref$handleCancel,
|
|
307
|
+
_ref$handleSubmit = _ref.handleSubmit,
|
|
308
|
+
handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
|
|
309
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
310
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
311
|
+
_ref$iconSize = _ref.iconSize,
|
|
312
|
+
iconSize = _ref$iconSize === void 0 ? 20 : _ref$iconSize,
|
|
313
|
+
_ref$isLoading = _ref.isLoading,
|
|
314
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
315
|
+
_ref$moreDetails = _ref.moreDetails,
|
|
316
|
+
moreDetails = _ref$moreDetails === void 0 ? [] : _ref$moreDetails,
|
|
317
|
+
_ref$title = _ref.title,
|
|
318
|
+
title = _ref$title === void 0 ? "" : _ref$title;
|
|
319
|
+
var _useState = useState(false),
|
|
320
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
321
|
+
showViewMore = _useState2[0],
|
|
322
|
+
setShowViewMore = _useState2[1];
|
|
323
|
+
var customViewMoreItems = useMemo(function () {
|
|
324
|
+
return filterBy({
|
|
325
|
+
kind: "custom"
|
|
326
|
+
}, moreDetails);
|
|
327
|
+
}, [moreDetails]);
|
|
328
|
+
var _useTranslation = useTranslation(),
|
|
329
|
+
t = _useTranslation.t;
|
|
330
|
+
if (isLoading) {
|
|
331
|
+
return /*#__PURE__*/jsx("div", {
|
|
332
|
+
className: "flex h-full w-full items-center justify-center",
|
|
333
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return /*#__PURE__*/jsxs("div", {
|
|
337
|
+
className: "w-full",
|
|
338
|
+
children: [/*#__PURE__*/jsx(DetailsBlock$1, {
|
|
339
|
+
details: details,
|
|
340
|
+
handleCancel: handleCancel,
|
|
341
|
+
handleSubmit: handleSubmit,
|
|
342
|
+
helpPopoverProps: helpPopoverProps,
|
|
343
|
+
iconSize: iconSize,
|
|
344
|
+
title: title,
|
|
345
|
+
showIcons: true
|
|
346
|
+
}), showViewMore && /*#__PURE__*/jsxs(Fragment, {
|
|
347
|
+
children: [/*#__PURE__*/jsx("hr", {
|
|
348
|
+
className: "m-4"
|
|
349
|
+
}), /*#__PURE__*/jsx(DetailsBlock$1, {
|
|
350
|
+
handleCancel: handleCancel,
|
|
351
|
+
handleSubmit: handleSubmit,
|
|
352
|
+
helpPopoverProps: helpPopoverProps,
|
|
353
|
+
iconSize: iconSize,
|
|
354
|
+
details: removeBy({
|
|
355
|
+
kind: "custom"
|
|
356
|
+
}, moreDetails)
|
|
357
|
+
}), isPresent(customViewMoreItems) && /*#__PURE__*/jsxs(Fragment, {
|
|
358
|
+
children: [/*#__PURE__*/jsx("hr", {
|
|
359
|
+
className: "m-4"
|
|
360
|
+
}), pluck("value", customViewMoreItems)]
|
|
361
|
+
})]
|
|
362
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
363
|
+
className: "mb-4",
|
|
364
|
+
icon: showViewMore ? Up : Down,
|
|
365
|
+
style: "link",
|
|
366
|
+
label: showViewMore ? t("neetoMolecules.sessionEnvironment.viewLess") : t("neetoMolecules.sessionEnvironment.viewMore"),
|
|
367
|
+
onClick: function onClick() {
|
|
368
|
+
return setShowViewMore(not);
|
|
369
|
+
}
|
|
370
|
+
})]
|
|
371
|
+
});
|
|
372
|
+
};
|
|
373
|
+
var index = /*#__PURE__*/memo(SessionEnvironment);
|
|
374
|
+
|
|
375
|
+
export { index as default };
|
|
376
|
+
//# sourceMappingURL=SessionEnvironment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionEnvironment.js","sources":["../src/components/SessionEnvironment/constants.js","../src/components/SessionEnvironment/utils.jsx","../src/components/SessionEnvironment/Item.jsx","../src/components/SessionEnvironment/DetailsBlock.jsx","../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return <Icon size={iconSize} />;\n};\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input, Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getIcon, getInputType } from \"./utils\";\n\nconst Item = ({ handleCancel, handleSubmit, iconSize, item, showIcons }) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const containerRef = useHotkeys(ESCAPE, () => handleCancel(name), {\n mode: \"scoped\",\n });\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const inputRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n return (\n <div\n ref={containerRef}\n className={classNames(\n \"mb-2 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n { \"flex-wrap\": name !== PHONE_NUMBER }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field whitespace-nowrap\"\n style=\"h5\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n className: `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n }}\n />\n ) : (\n <Typography\n className={`overflow-hidden truncate whitespace-normal break-all ${extraClasses}`}\n data-testid={`metadata-value-${name}`}\n style=\"body2\"\n weight=\"normal\"\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-testid={`metadata-input-${name}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={inputRef}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${name}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\n\nconst DetailsBlock = ({\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\">\n {title && (\n <div className=\"mb-2 flex\">\n <Typography\n className=\"mr-2\"\n style=\"h4\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details.map((detail, index) => (\n <Item\n {...{ handleCancel, handleSubmit, iconSize, showIcons }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"m-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"m-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","_jsx","size","Item","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_useTranslation","useTranslation","t","containerRef","useHotkeys","mode","icon","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","error","label","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","handleMetadataSubmit","fieldId","handleMetadataCancel","inputRef","InputComponent","PhoneNumberInput","Input","handleChange","event","target","useEffect","_jsxs","ref","className","classNames","children","isPresent","Tooltip","content","concat","Typography","style","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","onClick","CopyToClipboardButton","autoFocus","placeholder","what","type","onChange","Button","Close","tooltipProps","position","Check","DetailsBlock","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","map","detail","index","_createElement","key","memo","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":"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"}
|
package/dist/cjs/Onboarding.js
CHANGED
|
@@ -66,12 +66,17 @@ var CompletedScreen = withT__default["default"](function (_ref) {
|
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
68
|
|
|
69
|
+
var GENERAL_ONBOARDING_STEPS = {
|
|
70
|
+
WELCOME: "welcome",
|
|
71
|
+
HELP: "help",
|
|
72
|
+
FINISH: "finish"
|
|
73
|
+
};
|
|
74
|
+
|
|
69
75
|
var css = ".neeto-molecules-onboarding__wrapper{align-items:center;display:flex;flex-direction:column;flex-grow:1;height:100vh;overflow-y:auto;padding:15vh 32px 32px;width:100%}.neeto-molecules-onboarding__container{display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:relative;width:100%}.neeto-molecules-onboarding__stepper-wrapper{background-color:rgb(var(--neeto-ui-white));border-bottom:1px solid rgb(var(--neeto-ui-gray-200));display:flex;flex-shrink:0;padding:8px 16px;width:100%}@media (min-width:1024px){.neeto-molecules-onboarding__stepper-wrapper{justify-content:center}}.neeto-molecules-onboarding__content{flex-grow:1;min-height:0;overflow-y:auto;width:100%}.neeto-molecules-onboarding__content--forward{animation:slideInRight .4s ease backwards}.neeto-molecules-onboarding__content--backward{animation:slideInLeft .4s ease backwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}";
|
|
70
76
|
injectCss.n(css,{});
|
|
71
77
|
|
|
72
78
|
var HelpScreen = function HelpScreen(_ref) {
|
|
73
79
|
var setCurrentStep = _ref.setCurrentStep,
|
|
74
|
-
currentStep = _ref.currentStep,
|
|
75
80
|
helpScreenClassName = _ref.helpScreenClassName;
|
|
76
81
|
var _useTranslation = reactI18next.useTranslation(),
|
|
77
82
|
t = _useTranslation.t;
|
|
@@ -110,7 +115,7 @@ var HelpScreen = function HelpScreen(_ref) {
|
|
|
110
115
|
iconPosition: "right",
|
|
111
116
|
label: t("neetoMolecules.onboarding.helpScreen.continueButton"),
|
|
112
117
|
onClick: function onClick() {
|
|
113
|
-
return setCurrentStep(
|
|
118
|
+
return setCurrentStep("finish");
|
|
114
119
|
}
|
|
115
120
|
})]
|
|
116
121
|
});
|
|
@@ -120,6 +125,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
120
125
|
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__default["default"](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; }
|
|
121
126
|
var createSteps = function createSteps(onboardingSteps, setCurrentStep, currentStep, helpScreenClassName) {
|
|
122
127
|
var helpStep = {
|
|
128
|
+
key: GENERAL_ONBOARDING_STEPS.HELP,
|
|
123
129
|
label: i18next.t("neetoMolecules.onboarding.helpLabel"),
|
|
124
130
|
element: /*#__PURE__*/jsxRuntime.jsx(HelpScreen, {
|
|
125
131
|
currentStep: currentStep,
|
|
@@ -137,7 +143,7 @@ var createSteps = function createSteps(onboardingSteps, setCurrentStep, currentS
|
|
|
137
143
|
var WelcomeScreen = withT__default["default"](function (_ref) {
|
|
138
144
|
var t = _ref.t,
|
|
139
145
|
setCurrentStep = _ref.setCurrentStep,
|
|
140
|
-
|
|
146
|
+
nextStep = _ref.nextStep;
|
|
141
147
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
142
148
|
className: "neeto-molecules-onboarding__wrapper",
|
|
143
149
|
"data-testid": "onboarding-welcome-wrapper",
|
|
@@ -167,7 +173,7 @@ var WelcomeScreen = withT__default["default"](function (_ref) {
|
|
|
167
173
|
icon: RightArrow__default["default"],
|
|
168
174
|
label: t("neetoMolecules.onboarding.getStarted"),
|
|
169
175
|
onClick: function onClick() {
|
|
170
|
-
return setCurrentStep(
|
|
176
|
+
return setCurrentStep(nextStep);
|
|
171
177
|
}
|
|
172
178
|
})]
|
|
173
179
|
});
|
|
@@ -175,7 +181,7 @@ var WelcomeScreen = withT__default["default"](function (_ref) {
|
|
|
175
181
|
|
|
176
182
|
var Onboarding = function Onboarding(_ref) {
|
|
177
183
|
var _ref$currentStep = _ref.currentStep,
|
|
178
|
-
currentStep = _ref$currentStep === void 0 ?
|
|
184
|
+
currentStep = _ref$currentStep === void 0 ? GENERAL_ONBOARDING_STEPS.WELCOME : _ref$currentStep,
|
|
179
185
|
_ref$setCurrentStep = _ref.setCurrentStep,
|
|
180
186
|
setCurrentStep = _ref$setCurrentStep === void 0 ? neetoCist.noop : _ref$setCurrentStep,
|
|
181
187
|
_ref$onboardingSteps = _ref.onboardingSteps,
|
|
@@ -201,19 +207,20 @@ var Onboarding = function Onboarding(_ref) {
|
|
|
201
207
|
setDirection(currentStep > prevStep.current ? "forward" : "backward");
|
|
202
208
|
prevStep.current = currentStep;
|
|
203
209
|
}, [currentStep]);
|
|
204
|
-
if (currentStep ===
|
|
210
|
+
if (currentStep === GENERAL_ONBOARDING_STEPS.WELCOME) {
|
|
205
211
|
return /*#__PURE__*/jsxRuntime.jsx(WelcomeScreen, {
|
|
206
212
|
currentStep: currentStep,
|
|
207
|
-
setCurrentStep: setCurrentStep
|
|
213
|
+
setCurrentStep: setCurrentStep,
|
|
214
|
+
nextStep: steps[0].key
|
|
208
215
|
});
|
|
209
216
|
}
|
|
210
|
-
if (currentStep ===
|
|
217
|
+
if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {
|
|
211
218
|
return /*#__PURE__*/jsxRuntime.jsx(CompletedScreen, {
|
|
212
219
|
completeButtonProps: completeButtonProps
|
|
213
220
|
});
|
|
214
221
|
}
|
|
215
222
|
var handleStepChange = function handleStepChange(index) {
|
|
216
|
-
return setCurrentStep(index
|
|
223
|
+
return setCurrentStep(steps[index].key);
|
|
217
224
|
};
|
|
218
225
|
var isStepperVisible = steps.length > 1;
|
|
219
226
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -224,7 +231,9 @@ var Onboarding = function Onboarding(_ref) {
|
|
|
224
231
|
className: "neeto-molecules-onboarding__stepper-wrapper",
|
|
225
232
|
children: /*#__PURE__*/jsxRuntime.jsx(Stepper__default["default"], {
|
|
226
233
|
steps: steps,
|
|
227
|
-
activeIndex:
|
|
234
|
+
activeIndex: neetoCist.findIndexBy({
|
|
235
|
+
key: currentStep
|
|
236
|
+
}, steps),
|
|
228
237
|
setActiveIndex: disableStepClick ? neetoCist.noop : handleStepChange
|
|
229
238
|
})
|
|
230
239
|
}), steps.map(function (step, index) {
|
|
@@ -232,7 +241,7 @@ var Onboarding = function Onboarding(_ref) {
|
|
|
232
241
|
className: classnames__default["default"]("neeto-molecules-onboarding__content", {
|
|
233
242
|
"neeto-molecules-onboarding__content--forward overflow-x-hidden": isAnimated && direction === "forward",
|
|
234
243
|
"neeto-molecules-onboarding__content--backward overflow-x-hidden": isAnimated && direction === "backward",
|
|
235
|
-
hidden: currentStep
|
|
244
|
+
hidden: currentStep !== step.key
|
|
236
245
|
}),
|
|
237
246
|
children: step === null || step === void 0 ? void 0 : step.element
|
|
238
247
|
}, index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Onboarding.js","sources":["../../src/components/Onboarding/CompletedScreen.jsx","../../src/components/Onboarding/HelpScreen.jsx","../../src/components/Onboarding/utils.jsx","../../src/components/Onboarding/WelcomeScreen.jsx","../../src/components/Onboarding/index.jsx"],"sourcesContent":["import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nconst CompletedScreen = withT(({ t, completeButtonProps }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-title\"\n data-testid=\"onboarding-congratulations-title\"\n style=\"h1\"\n >\n <span className=\"neeto-ui-text-success-500\">\n {t(\"neetoMolecules.onboarding.congratulations\")}\n </span>\n <br />\n {t(\"neetoMolecules.onboarding.readyToUse\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-cy=\"onboarding-congratulations-button\"\n data-testid=\"onboarding-congratulations-button\"\n label={t(\"neetoMolecules.onboarding.helpScreen.startUsingButton\", {\n appName: globalProps.appName,\n })}\n {...completeButtonProps}\n />\n </div>\n));\n\nexport default CompletedScreen;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HelpScreen = ({ setCurrentStep, currentStep, helpScreenClassName }) => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n return (\n <div\n className={classNames(\n \"mx-auto w-full max-w-2xl space-y-6 p-4\",\n helpScreenClassName\n )}\n >\n <div className=\"space-y-3\">\n <Typography\n component=\"h1\"\n data-cy=\"onboarding-help-title\"\n data-testid=\"onboarding-help-title\"\n style=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-cy=\"onboarding-help-description\"\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.description\")}\n </Typography>\n <div className=\"w-full\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-desktop_aVe6ENdX97.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-cy=\"onboarding-help-button\"\n data-testid=\"onboarding-help-button\"\n icon={RightArrow}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.helpScreen.continueButton\")}\n onClick={() => setCurrentStep(currentStep + 1)}\n />\n </div>\n );\n};\n\nexport default HelpScreen;\n","import { t } from \"i18next\";\n\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n) => {\n const helpStep = {\n label: t(\"neetoMolecules.onboarding.helpLabel\"),\n element: (\n <HelpScreen {...{ currentStep, helpScreenClassName, setCurrentStep }} />\n ),\n };\n\n return onboardingSteps\n .concat(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n","import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst WelcomeScreen = withT(({ t, setCurrentStep, currentStep }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-title\"\n data-testid=\"onboarding-welcome-title\"\n style=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.welcomeToTitle\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-description\"\n data-testid=\"onboarding-welcome-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.letUsCustomize\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-cy=\"onboarding-welcome-button\"\n data-testid=\"onboarding-welcome-button\"\n icon={RightArrow}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(currentStep + 1)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Stepper } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport CompletedScreen from \"./CompletedScreen\";\nimport \"./onboarding.scss\";\nimport { createSteps } from \"./utils\";\nimport WelcomeScreen from \"./WelcomeScreen\";\n\nconst Onboarding = ({\n currentStep = 0,\n setCurrentStep = noop,\n onboardingSteps = [],\n completeButtonProps = {},\n helpScreenClassName = \"\",\n isAnimated = true,\n disableStepClick = false,\n}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(currentStep);\n const [direction, setDirection] = useState(\"\");\n\n useEffect(() => {\n if (currentStep === prevStep.current) return;\n\n setDirection(currentStep > prevStep.current ? \"forward\" : \"backward\");\n prevStep.current = currentStep;\n }, [currentStep]);\n\n if (currentStep === 0) {\n return <WelcomeScreen {...{ currentStep, setCurrentStep }} />;\n }\n\n if (currentStep === steps.length + 1) {\n return <CompletedScreen {...{ completeButtonProps }} />;\n }\n\n const handleStepChange = index => setCurrentStep(index + 1);\n\n const isStepperVisible = steps.length > 1;\n\n return (\n <div\n className={classNames(\"neeto-molecules-onboarding__container\", {\n \"neeto-molecules-onboarding__wrapper\": !isStepperVisible,\n })}\n >\n {isStepperVisible && (\n <div className=\"neeto-molecules-onboarding__stepper-wrapper\">\n <Stepper\n {...{ steps }}\n activeIndex={currentStep - 1}\n setActiveIndex={disableStepClick ? noop : handleStepChange}\n />\n </div>\n )}\n {steps.map((step, index) => (\n <div\n key={index}\n className={classNames(\"neeto-molecules-onboarding__content\", {\n \"neeto-molecules-onboarding__content--forward overflow-x-hidden\":\n isAnimated && direction === \"forward\",\n \"neeto-molecules-onboarding__content--backward overflow-x-hidden\":\n isAnimated && direction === \"backward\",\n hidden: currentStep - 1 !== index,\n })}\n >\n {step?.element}\n </div>\n ))}\n </div>\n );\n};\n\nOnboarding.propTypes = {\n /**\n * To specify the current step of the onboarding\n */\n currentStep: PropTypes.number,\n /**\n * List of Custom components for the onboarding\n */\n onboardingSteps: PropTypes.array,\n /**\n * Props for the complete button\n */\n completeButtonProps: PropTypes.object,\n /**\n * To set the step of the onboarding\n */\n setCurrentStep: PropTypes.func,\n /**\n * To pass additional classes to the help screen\n */\n helpScreenClassName: PropTypes.string,\n /**\n * A boolean value to enable or disable the animation for the stepper.\n */\n isAnimated: PropTypes.bool,\n};\n\nexport default Onboarding;\n"],"names":["CompletedScreen","withT","_ref","t","completeButtonProps","_jsxs","className","children","_jsx","Typography","style","appName","capitalize","globalProps","Button","_objectSpread","label","HelpScreen","setCurrentStep","currentStep","helpScreenClassName","_useTranslation","useTranslation","_useBreakpoints","useBreakpoints","isSize","classNames","component","lineHeight","alt","src","icon","RightArrow","iconPosition","onClick","createSteps","onboardingSteps","helpStep","element","concat","map","step","idx","id","WelcomeScreen","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","steps","useMemo","prevStep","useRef","_useState","useState","_useState2","_slicedToArray","direction","setDirection","useEffect","current","length","handleStepChange","index","isStepperVisible","Stepper","activeIndex","setActiveIndex","hidden"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Onboarding.js","sources":["../../src/components/Onboarding/CompletedScreen.jsx","../../src/components/Onboarding/constants.js","../../src/components/Onboarding/HelpScreen.jsx","../../src/components/Onboarding/utils.jsx","../../src/components/Onboarding/WelcomeScreen.jsx","../../src/components/Onboarding/index.jsx"],"sourcesContent":["import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nconst CompletedScreen = withT(({ t, completeButtonProps }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-congratulations-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-emoji\"\n style=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-congratulations-title\"\n data-testid=\"onboarding-congratulations-title\"\n style=\"h1\"\n >\n <span className=\"neeto-ui-text-success-500\">\n {t(\"neetoMolecules.onboarding.congratulations\")}\n </span>\n <br />\n {t(\"neetoMolecules.onboarding.readyToUse\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-cy=\"onboarding-congratulations-button\"\n data-testid=\"onboarding-congratulations-button\"\n label={t(\"neetoMolecules.onboarding.helpScreen.startUsingButton\", {\n appName: globalProps.appName,\n })}\n {...completeButtonProps}\n />\n </div>\n));\n\nexport default CompletedScreen;\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HelpScreen = ({ setCurrentStep, helpScreenClassName }) => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n return (\n <div\n className={classNames(\n \"mx-auto w-full max-w-2xl space-y-6 p-4\",\n helpScreenClassName\n )}\n >\n <div className=\"space-y-3\">\n <Typography\n component=\"h1\"\n data-cy=\"onboarding-help-title\"\n data-testid=\"onboarding-help-title\"\n style=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n data-cy=\"onboarding-help-description\"\n data-testid=\"onboarding-help-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.description\")}\n </Typography>\n <div className=\"w-full\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-mobile_FpB8LKYj4.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/help-desktop_aVe6ENdX97.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-cy=\"onboarding-help-button\"\n data-testid=\"onboarding-help-button\"\n icon={RightArrow}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.helpScreen.continueButton\")}\n onClick={() => setCurrentStep(\"finish\")}\n />\n </div>\n );\n};\n\nexport default HelpScreen;\n","import { t } from \"i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n) => {\n const helpStep = {\n key: GENERAL_ONBOARDING_STEPS.HELP,\n label: t(\"neetoMolecules.onboarding.helpLabel\"),\n element: (\n <HelpScreen {...{ currentStep, helpScreenClassName, setCurrentStep }} />\n ),\n };\n\n return onboardingSteps\n .concat(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n","import { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { RightArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst WelcomeScreen = withT(({ t, setCurrentStep, nextStep }) => (\n <div\n className=\"neeto-molecules-onboarding__wrapper\"\n data-testid=\"onboarding-welcome-wrapper\"\n >\n <div className=\"mx-auto mb-6 w-full max-w-2xl space-y-2\">\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-title\"\n data-testid=\"onboarding-welcome-title\"\n style=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.welcomeToTitle\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n <Typography\n className=\"text-center\"\n data-cy=\"onboarding-welcome-description\"\n data-testid=\"onboarding-welcome-description\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.letUsCustomize\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-cy=\"onboarding-welcome-button\"\n data-testid=\"onboarding-welcome-button\"\n icon={RightArrow}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { findIndexBy, noop } from \"neetocist\";\nimport { Stepper } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport CompletedScreen from \"./CompletedScreen\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport \"./onboarding.scss\";\nimport { createSteps } from \"./utils\";\nimport WelcomeScreen from \"./WelcomeScreen\";\n\nconst Onboarding = ({\n currentStep = GENERAL_ONBOARDING_STEPS.WELCOME,\n setCurrentStep = noop,\n onboardingSteps = [],\n completeButtonProps = {},\n helpScreenClassName = \"\",\n isAnimated = true,\n disableStepClick = false,\n}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(currentStep);\n\n const [direction, setDirection] = useState(\"\");\n\n useEffect(() => {\n if (currentStep === prevStep.current) return;\n\n setDirection(currentStep > prevStep.current ? \"forward\" : \"backward\");\n prevStep.current = currentStep;\n }, [currentStep]);\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.WELCOME) {\n return (\n <WelcomeScreen\n {...{ currentStep, setCurrentStep }}\n nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return <CompletedScreen {...{ completeButtonProps }} />;\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\n\n const isStepperVisible = steps.length > 1;\n\n return (\n <div\n className={classNames(\"neeto-molecules-onboarding__container\", {\n \"neeto-molecules-onboarding__wrapper\": !isStepperVisible,\n })}\n >\n {isStepperVisible && (\n <div className=\"neeto-molecules-onboarding__stepper-wrapper\">\n <Stepper\n {...{ steps }}\n activeIndex={findIndexBy({ key: currentStep }, steps)}\n setActiveIndex={disableStepClick ? noop : handleStepChange}\n />\n </div>\n )}\n {steps.map((step, index) => (\n <div\n key={index}\n className={classNames(\"neeto-molecules-onboarding__content\", {\n \"neeto-molecules-onboarding__content--forward overflow-x-hidden\":\n isAnimated && direction === \"forward\",\n \"neeto-molecules-onboarding__content--backward overflow-x-hidden\":\n isAnimated && direction === \"backward\",\n hidden: currentStep !== step.key,\n })}\n >\n {step?.element}\n </div>\n ))}\n </div>\n );\n};\n\nOnboarding.propTypes = {\n /**\n * To specify the current step of the onboarding\n */\n currentStep: PropTypes.number,\n /**\n * List of Custom components for the onboarding\n */\n onboardingSteps: PropTypes.array,\n /**\n * Props for the complete button\n */\n completeButtonProps: PropTypes.object,\n /**\n * To set the step of the onboarding\n */\n setCurrentStep: PropTypes.func,\n /**\n * To pass additional classes to the help screen\n */\n helpScreenClassName: PropTypes.string,\n /**\n * A boolean value to enable or disable the animation for the stepper.\n */\n isAnimated: PropTypes.bool,\n};\n\nexport default Onboarding;\n"],"names":["CompletedScreen","withT","_ref","t","completeButtonProps","_jsxs","className","children","_jsx","Typography","style","appName","capitalize","globalProps","Button","_objectSpread","label","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","_useBreakpoints","useBreakpoints","isSize","classNames","component","lineHeight","alt","src","icon","RightArrow","iconPosition","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","id","WelcomeScreen","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","steps","useMemo","prevStep","useRef","_useState","useState","_useState2","_slicedToArray","direction","setDirection","useEffect","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","setActiveIndex","hidden"],"mappings":"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"}
|