@bigbinary/neeto-molecules 1.3.10 → 1.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ShareViaLink.js +14 -5
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/cjs/Breadcrumbs.js +51 -0
- package/dist/cjs/Breadcrumbs.js.map +1 -0
- package/dist/cjs/BrowserSupport.js +426 -0
- package/dist/cjs/BrowserSupport.js.map +1 -0
- package/dist/cjs/Builder.js +712 -0
- package/dist/cjs/Builder.js.map +1 -0
- package/dist/cjs/CalendarView.js +549 -0
- package/dist/cjs/CalendarView.js.map +1 -0
- package/dist/cjs/Codeblock.js +251 -0
- package/dist/cjs/Codeblock.js.map +1 -0
- package/dist/cjs/Columns.js +248 -0
- package/dist/cjs/Columns.js.map +1 -0
- package/dist/cjs/ConfirmationModal.js +120 -0
- package/dist/cjs/ConfirmationModal.js.map +1 -0
- package/dist/cjs/Container.js +1218 -0
- package/dist/cjs/Container.js.map +1 -0
- package/dist/cjs/CopyToClipboardButton.js +215 -0
- package/dist/cjs/CopyToClipboardButton.js.map +1 -0
- package/dist/cjs/CustomDomain.js +743 -0
- package/dist/cjs/CustomDomain.js.map +1 -0
- package/dist/cjs/CustomDomainDashboard.js +2348 -0
- package/dist/cjs/CustomDomainDashboard.js.map +1 -0
- package/dist/cjs/DateFormat.js +53 -0
- package/dist/cjs/DateFormat.js.map +1 -0
- package/dist/cjs/DateRangeFilter.js +236 -0
- package/dist/cjs/DateRangeFilter.js.map +1 -0
- package/dist/cjs/DocumentEditor.js +283 -0
- package/dist/cjs/DocumentEditor.js.map +1 -0
- package/dist/cjs/DownloadMobileAppCallout.js +45 -0
- package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
- package/dist/cjs/DynamicVariables.js +189 -0
- package/dist/cjs/DynamicVariables.js.map +1 -0
- package/dist/cjs/EmailForm.js +2057 -0
- package/dist/cjs/EmailForm.js.map +1 -0
- package/dist/cjs/EmailPreview.js +1319 -0
- package/dist/cjs/EmailPreview.js.map +1 -0
- package/dist/cjs/ErrorPage.js +188 -0
- package/dist/cjs/ErrorPage.js.map +1 -0
- package/dist/cjs/Header.js +179 -0
- package/dist/cjs/Header.js.map +1 -0
- package/dist/cjs/IconPicker.js +324 -0
- package/dist/cjs/IconPicker.js.map +1 -0
- package/dist/cjs/ImageWithFallback.js +188 -0
- package/dist/cjs/ImageWithFallback.js.map +1 -0
- package/dist/cjs/InlineInput.js +734 -0
- package/dist/cjs/InlineInput.js.map +1 -0
- package/dist/cjs/IntegrationCard.js +400 -0
- package/dist/cjs/IntegrationCard.js.map +1 -0
- package/dist/cjs/IntegrationDisconnectAlert.js +89 -0
- package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/cjs/IntegrationWalkthroughModal.js +50 -0
- package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/cjs/IpRestriction.js +683 -0
- package/dist/cjs/IpRestriction.js.map +1 -0
- package/dist/cjs/KeyboardShortcuts.js +370 -0
- package/dist/cjs/KeyboardShortcuts.js.map +1 -0
- package/dist/cjs/LoginPage.js +620 -0
- package/dist/cjs/LoginPage.js.map +1 -0
- package/dist/cjs/MenuBar.js +1468 -0
- package/dist/cjs/MenuBar.js.map +1 -0
- package/dist/cjs/Metadata.js +215 -0
- package/dist/cjs/Metadata.js.map +1 -0
- package/dist/cjs/MoreDropdown.js +210 -0
- package/dist/cjs/MoreDropdown.js.map +1 -0
- package/dist/cjs/NavigationHeader.js +867 -0
- package/dist/cjs/NavigationHeader.js.map +1 -0
- package/dist/cjs/NeetoWidget.js +1078 -0
- package/dist/cjs/NeetoWidget.js.map +1 -0
- package/dist/cjs/PageLoader.js +159 -0
- package/dist/cjs/PageLoader.js.map +1 -0
- package/dist/cjs/PhoneNumber.js +492 -0
- package/dist/cjs/PhoneNumber.js.map +1 -0
- package/dist/cjs/PublishBlock.js +165 -0
- package/dist/cjs/PublishBlock.js.map +1 -0
- package/dist/cjs/PublishYourItem.js +1239 -0
- package/dist/cjs/PublishYourItem.js.map +1 -0
- package/dist/cjs/Rename.js +625 -0
- package/dist/cjs/Rename.js.map +1 -0
- package/dist/cjs/ResponsiveDevicePicker.js +200 -0
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/Schedule.js +1130 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/Scrollable.js +129 -0
- package/dist/cjs/Scrollable.js.map +1 -0
- package/dist/cjs/Search.js +217 -0
- package/dist/cjs/Search.js.map +1 -0
- package/dist/cjs/Security.js +1930 -0
- package/dist/cjs/Security.js.map +1 -0
- package/dist/cjs/SendToFields.js +353 -0
- package/dist/cjs/SendToFields.js.map +1 -0
- package/dist/cjs/Settings.js +492 -0
- package/dist/cjs/Settings.js.map +1 -0
- package/dist/cjs/ShareViaEmail.js +2005 -0
- package/dist/cjs/ShareViaEmail.js.map +1 -0
- package/dist/cjs/ShareViaLink.js +738 -0
- package/dist/cjs/ShareViaLink.js.map +1 -0
- package/dist/cjs/Sidebar.js +930 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/SubHeader.js +224 -0
- package/dist/cjs/SubHeader.js.map +1 -0
- package/dist/cjs/SuffixedInput.js +216 -0
- package/dist/cjs/SuffixedInput.js.map +1 -0
- package/dist/cjs/TableWrapper.js +33 -0
- package/dist/cjs/TableWrapper.js.map +1 -0
- package/dist/cjs/Taxonomy.js +2125 -0
- package/dist/cjs/Taxonomy.js.map +1 -0
- package/dist/cjs/ThemeSidebar.js +2052 -0
- package/dist/cjs/ThemeSidebar.js.map +1 -0
- package/dist/cjs/TimeFormat.js +55 -0
- package/dist/cjs/TimeFormat.js.map +1 -0
- package/dist/cjs/TimezoneMismatchModal.js +176 -0
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
- package/dist/cjs/ToggleFeatureCard.js +330 -0
- package/dist/cjs/ToggleFeatureCard.js.map +1 -0
- package/package.json +2 -1
- package/types/ShareViaLink.d.ts +2 -0
|
@@ -0,0 +1,1078 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var i18next = require('i18next');
|
|
4
|
+
var ramda = require('ramda');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
7
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var reactQuery = require('react-query');
|
|
10
|
+
var classnames = require('classnames');
|
|
11
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
12
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
13
|
+
var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
14
|
+
var Prism = require('prismjs');
|
|
15
|
+
require('prismjs/themes/prism-tomorrow.css');
|
|
16
|
+
var formik = require('formik');
|
|
17
|
+
var formik$1 = require('@bigbinary/neetoui/formik');
|
|
18
|
+
var axios = require('axios');
|
|
19
|
+
var yup = require('yup');
|
|
20
|
+
|
|
21
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
+
|
|
23
|
+
function _interopNamespace(e) {
|
|
24
|
+
if (e && e.__esModule) return e;
|
|
25
|
+
var n = Object.create(null);
|
|
26
|
+
if (e) {
|
|
27
|
+
Object.keys(e).forEach(function (k) {
|
|
28
|
+
if (k !== 'default') {
|
|
29
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
30
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () { return e[k]; }
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
n["default"] = e;
|
|
38
|
+
return Object.freeze(n);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
42
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
43
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
44
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
45
|
+
var CopyToClipboardButton__default = /*#__PURE__*/_interopDefaultLegacy(CopyToClipboardButton);
|
|
46
|
+
var Prism__default = /*#__PURE__*/_interopDefaultLegacy(Prism);
|
|
47
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
48
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
49
|
+
|
|
50
|
+
function _typeof(o) {
|
|
51
|
+
"@babel/helpers - typeof";
|
|
52
|
+
|
|
53
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
54
|
+
return typeof o;
|
|
55
|
+
} : function (o) {
|
|
56
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
57
|
+
}, _typeof(o);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function _toPrimitive(input, hint) {
|
|
61
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
62
|
+
var prim = input[Symbol.toPrimitive];
|
|
63
|
+
if (prim !== undefined) {
|
|
64
|
+
var res = prim.call(input, hint || "default");
|
|
65
|
+
if (_typeof(res) !== "object") return res;
|
|
66
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
67
|
+
}
|
|
68
|
+
return (hint === "string" ? String : Number)(input);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function _toPropertyKey(arg) {
|
|
72
|
+
var key = _toPrimitive(arg, "string");
|
|
73
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function _defineProperty(obj, key, value) {
|
|
77
|
+
key = _toPropertyKey(key);
|
|
78
|
+
if (key in obj) {
|
|
79
|
+
Object.defineProperty(obj, key, {
|
|
80
|
+
value: value,
|
|
81
|
+
enumerable: true,
|
|
82
|
+
configurable: true,
|
|
83
|
+
writable: true
|
|
84
|
+
});
|
|
85
|
+
} else {
|
|
86
|
+
obj[key] = value;
|
|
87
|
+
}
|
|
88
|
+
return obj;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
var NEETO_WIDGET_USER_IDENTITY_KEY = "NeetoWidgetUserIdentity";
|
|
92
|
+
var SESSION_CONTEXT_KEY = "NeetoReplayWidgetSessionContext";
|
|
93
|
+
var INSTALLATION_HELP_EMAIL = "support@neeto.com";
|
|
94
|
+
var SAMPLE_CONTEXT_CODE_STRING = "window.".concat(SESSION_CONTEXT_KEY, " = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}");
|
|
95
|
+
var WIDGET_TYPES = {
|
|
96
|
+
changelog: "changelog",
|
|
97
|
+
chat: "chat",
|
|
98
|
+
replay: "replay"
|
|
99
|
+
};
|
|
100
|
+
var WIDGET_HELP_LINKS = {
|
|
101
|
+
changelog: "https://help.neetochangelog.com/articles/installation",
|
|
102
|
+
chat: "https://help.neetochat.com/articles/installation-using-javascript-snippet",
|
|
103
|
+
replay: "https://help.neetoreplay.com/articles/install-widget"
|
|
104
|
+
};
|
|
105
|
+
var WIDGET_DESCRIPTIONS = {
|
|
106
|
+
changelog: i18next.t("neetoMolecules.widget.email.body.values.embedCode.description.changelog"),
|
|
107
|
+
chat: i18next.t("neetoMolecules.widget.email.body.values.embedCode.description.chat"),
|
|
108
|
+
replay: i18next.t("neetoMolecules.widget.email.body.values.embedCode.description.replay")
|
|
109
|
+
};
|
|
110
|
+
var WIDGET_TYPES_VALUES = ramda.values(WIDGET_TYPES);
|
|
111
|
+
var QUERY_KEYS = {
|
|
112
|
+
apiKey: "neetoWidgetApiKey",
|
|
113
|
+
configuration: "neetoWidgetConfiguration"
|
|
114
|
+
};
|
|
115
|
+
var DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds
|
|
116
|
+
|
|
117
|
+
var EMAIL_TYPES = {
|
|
118
|
+
embedCode: "embedCode",
|
|
119
|
+
userIdentity: "userIdentity",
|
|
120
|
+
sessionContext: "sessionContext",
|
|
121
|
+
"null": ""
|
|
122
|
+
};
|
|
123
|
+
var RAILS_ENV = {
|
|
124
|
+
production: "production",
|
|
125
|
+
staging: "staging",
|
|
126
|
+
development: "development"
|
|
127
|
+
};
|
|
128
|
+
var NEETO_WIDGET_SCRIPT_URL = {
|
|
129
|
+
staging: "https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js",
|
|
130
|
+
production: "https://d13nryxs46eypn.cloudfront.net/neeto-widget.js"
|
|
131
|
+
};
|
|
132
|
+
var AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({
|
|
133
|
+
rails: "rails",
|
|
134
|
+
django: "django",
|
|
135
|
+
php: "php"
|
|
136
|
+
});
|
|
137
|
+
var FRAMEWORK_SELECT_OPTIONS = [{
|
|
138
|
+
label: "Ruby(Rails)",
|
|
139
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.rails
|
|
140
|
+
}, {
|
|
141
|
+
label: "Python(Django)",
|
|
142
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.django
|
|
143
|
+
}, {
|
|
144
|
+
label: "PHP",
|
|
145
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.php
|
|
146
|
+
}];
|
|
147
|
+
var SAMPLE_USER_IDENTITY_CODE_STRING = _defineProperty(_defineProperty(_defineProperty({}, AVAILABLE_FRAMEWORK_OPTIONS.rails, "window.".concat(NEETO_WIDGET_USER_IDENTITY_KEY, " = {\n user_identifier: \"<%= current_user.id %>\", // User identifier\"\n name: \"<%= current_user.name %>\", // Full name\n email: \"<%= current_user.email %>\", // Email address\n started_at: \"<%= current_user.created_at.to_i %>\" // Signup date as a Unix timestamp ,\n}")), AVAILABLE_FRAMEWORK_OPTIONS.django, "window.".concat(NEETO_WIDGET_USER_IDENTITY_KEY, " = {\n user_identifier: \"{{ request.user.id|escapejs }}\", // User identifier\n name: \"{{ request.user.name|escapejs }}\", // Full name\n email: \"{{ request.user.email|escapejs }}\", // Email address\n started_at: \"{{ request.user.created_at|date:'U' }}\" // Signup date as a Unix timestamp\"\n}")), AVAILABLE_FRAMEWORK_OPTIONS.php, "window.".concat(NEETO_WIDGET_USER_IDENTITY_KEY, " = {\n user_identifier: <?php echo json_encode($current_user->id) ?>, // User identifier\n name: <?php echo json_encode($current_user->name) ?>, // Full name\n email: <?php echo json_encode($current_user->email) ?>, // Email address\n started_at: <?php echo strtotime($current_user->created_at) ?> // Signup date as a Unix timestamp\" ,\n}"));
|
|
148
|
+
var WIDGET_CONFIG_URL = "/api/widget/v1/neeto_widget_tokens";
|
|
149
|
+
var EMBED_CODE_EMAIL_URL = "/api/widget/v1/email_snippets";
|
|
150
|
+
var CHAT_WIDGET_KB_BASE_URL = "https://help.neetochat.com";
|
|
151
|
+
var CHANGELOG_WIDGET_KB_BASE_URL = "https://help.neetochangelog.com";
|
|
152
|
+
var REPLAY_WIDGET_KB_BASE_URL = "https://help.neetoreplay.com";
|
|
153
|
+
var NEETO_REPLAY_CONFIGURE_URL = "".concat(REPLAY_WIDGET_KB_BASE_URL, "/articles/configure-widget");
|
|
154
|
+
var NEETO_CHAT_USER_IDENTITY_URL = "".concat(CHAT_WIDGET_KB_BASE_URL, "/articles/info-about-logged-in-users");
|
|
155
|
+
var WIDGET_KB_HELP_URL = {
|
|
156
|
+
changelog: "".concat(CHANGELOG_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage"),
|
|
157
|
+
chat: "".concat(CHAT_WIDGET_KB_BASE_URL, "/categories/installation"),
|
|
158
|
+
replay: "".concat(REPLAY_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage")
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
function _extends$1() {
|
|
162
|
+
_extends$1 = Object.assign ? Object.assign.bind() : function (target) {
|
|
163
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
164
|
+
var source = arguments[i];
|
|
165
|
+
for (var key in source) {
|
|
166
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
167
|
+
target[key] = source[key];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return target;
|
|
172
|
+
};
|
|
173
|
+
return _extends$1.apply(this, arguments);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function _arrayWithHoles(arr) {
|
|
177
|
+
if (Array.isArray(arr)) return arr;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function _iterableToArrayLimit(r, l) {
|
|
181
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
182
|
+
if (null != t) {
|
|
183
|
+
var e,
|
|
184
|
+
n,
|
|
185
|
+
i,
|
|
186
|
+
u,
|
|
187
|
+
a = [],
|
|
188
|
+
f = !0,
|
|
189
|
+
o = !1;
|
|
190
|
+
try {
|
|
191
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
192
|
+
if (Object(t) !== t) return;
|
|
193
|
+
f = !1;
|
|
194
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
195
|
+
} catch (r) {
|
|
196
|
+
o = !0, n = r;
|
|
197
|
+
} finally {
|
|
198
|
+
try {
|
|
199
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
200
|
+
} finally {
|
|
201
|
+
if (o) throw n;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return a;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
function _arrayLikeToArray(arr, len) {
|
|
209
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
210
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
211
|
+
return arr2;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
215
|
+
if (!o) return;
|
|
216
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
217
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
218
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
219
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
220
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function _nonIterableRest() {
|
|
224
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function _slicedToArray(arr, i) {
|
|
228
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
232
|
+
if (source == null) return {};
|
|
233
|
+
var target = {};
|
|
234
|
+
var sourceKeys = Object.keys(source);
|
|
235
|
+
var key, i;
|
|
236
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
237
|
+
key = sourceKeys[i];
|
|
238
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
239
|
+
target[key] = source[key];
|
|
240
|
+
}
|
|
241
|
+
return target;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function _objectWithoutProperties(source, excluded) {
|
|
245
|
+
if (source == null) return {};
|
|
246
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
247
|
+
var key, i;
|
|
248
|
+
if (Object.getOwnPropertySymbols) {
|
|
249
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
250
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
251
|
+
key = sourceSymbolKeys[i];
|
|
252
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
253
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
254
|
+
target[key] = source[key];
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return target;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
var _path, _path2, _g, _defs;
|
|
261
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
262
|
+
var SvgNeeto = function SvgNeeto(props) {
|
|
263
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends({
|
|
264
|
+
width: 50,
|
|
265
|
+
height: 50,
|
|
266
|
+
viewBox: "0 0 415 415",
|
|
267
|
+
fill: "none",
|
|
268
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
269
|
+
}, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
|
|
270
|
+
d: "M414.989 207.495C414.989 92.899 322.091 0 207.495 0H0v414.989h414.989V207.495Z",
|
|
271
|
+
fill: "#0043AC"
|
|
272
|
+
})), /*#__PURE__*/React__namespace.createElement("mask", {
|
|
273
|
+
id: "neeto_svg__a",
|
|
274
|
+
style: {
|
|
275
|
+
maskType: "alpha"
|
|
276
|
+
},
|
|
277
|
+
maskUnits: "userSpaceOnUse",
|
|
278
|
+
x: 0,
|
|
279
|
+
y: 0,
|
|
280
|
+
width: 415,
|
|
281
|
+
height: 415
|
|
282
|
+
}, _path2 || (_path2 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
283
|
+
d: "M414.989 207.495C414.989 92.899 322.091 0 207.495 0H0v414.989h414.989V207.495Z",
|
|
284
|
+
fill: "#0043AC"
|
|
285
|
+
}))), _g || (_g = /*#__PURE__*/React__namespace.createElement("g", {
|
|
286
|
+
mask: "url(#neeto_svg__a)"
|
|
287
|
+
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
288
|
+
d: "M233.747 348.74c88.579 101.145 172.015 116.411 202.661 111.401v32.491H-8.032V230.487c43.685-2.726 153.2 17.108 241.779 118.253Z",
|
|
289
|
+
fill: "url(#neeto_svg__b)"
|
|
290
|
+
}))), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("radialGradient", {
|
|
291
|
+
id: "neeto_svg__b",
|
|
292
|
+
cx: 0,
|
|
293
|
+
cy: 0,
|
|
294
|
+
r: 1,
|
|
295
|
+
gradientUnits: "userSpaceOnUse",
|
|
296
|
+
gradientTransform: "rotate(47.118 -220.556 214.818) scale(427.964 725.049)"
|
|
297
|
+
}, /*#__PURE__*/React__namespace.createElement("stop", {
|
|
298
|
+
stopColor: "#0043AC"
|
|
299
|
+
}), /*#__PURE__*/React__namespace.createElement("stop", {
|
|
300
|
+
offset: 1,
|
|
301
|
+
stopColor: "#3DB1CA",
|
|
302
|
+
stopOpacity: 0.8
|
|
303
|
+
})))));
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
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}}
|
|
307
|
+
|
|
308
|
+
var css = ".neeto-molecules-pageloader__wrapper{height:100%;position:relative;width:100%}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader{height:100%;left:0;position:absolute;top:0;width:100%}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader__content{height:66px;margin-bottom:16px;overflow:hidden;padding:8px;position:relative;width:66px}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader__text{color:rgb(var(--neeto-ui-gray-800));font-size:1.25rem;line-height:1.75rem;margin-bottom:4rem;text-align:center}.neeto-molecules-pageloader__spinner{display:flex;gap:2px;height:25px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.neeto-molecules-pageloader__spinner>div{animation:neeto-ui-stretch-delay 1.2s ease-in-out infinite;background-color:#fff;border-radius:2px;display:inline-flex;height:100%;width:2px}.neeto-molecules-pageloader__spinner .neeto-molecules-pageloader__rect2{animation-delay:-1.1s}.neeto-molecules-pageloader__spinner .neeto-molecules-pageloader__rect3{animation-delay:-1s}.neeto-molecules-pageloader__spinner .neeto-molecules-pageloader__rect4{animation-delay:-.9s}.neeto-molecules-pageloader__spinner .neeto-molecules-pageloader__rect5{animation-delay:-.8s}@keyframes neeto-ui-stretch-delay{0%,40%,to{transform:scaleY(.4);-webkit-transform:scaleY(.4)}20%{transform:scaleY(1);-webkit-transform:scaleY(1)}}";
|
|
309
|
+
n(css,{});
|
|
310
|
+
|
|
311
|
+
var _excluded = ["text"];
|
|
312
|
+
var PageLoader = function PageLoader(_ref) {
|
|
313
|
+
var _ref$text = _ref.text,
|
|
314
|
+
text = _ref$text === void 0 ? "" : _ref$text,
|
|
315
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
316
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _extends$1({
|
|
317
|
+
className: "neeto-molecules-pageloader__wrapper"
|
|
318
|
+
}, otherProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
319
|
+
className: "neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center"
|
|
320
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
321
|
+
className: "neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center",
|
|
322
|
+
"data-cy": "neeto-molecules-pageloader"
|
|
323
|
+
}, /*#__PURE__*/React__default["default"].createElement(SvgNeeto, {
|
|
324
|
+
className: "neeto-molecules-pageloader__logo",
|
|
325
|
+
size: 50
|
|
326
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
327
|
+
className: "neeto-molecules-pageloader__spinner"
|
|
328
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
329
|
+
className: "neeto-molecules-pageloader__rect1"
|
|
330
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
331
|
+
className: "neeto-molecules-pageloader__rect2"
|
|
332
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
333
|
+
className: "neeto-molecules-pageloader__rect3"
|
|
334
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
335
|
+
className: "neeto-molecules-pageloader__rect4"
|
|
336
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
337
|
+
className: "neeto-molecules-pageloader__rect5"
|
|
338
|
+
}))), text && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
339
|
+
style: "h5",
|
|
340
|
+
weight: "semibold"
|
|
341
|
+
}, text)));
|
|
342
|
+
};
|
|
343
|
+
var PageLoader$1 = /*#__PURE__*/React__default["default"].memo(PageLoader);
|
|
344
|
+
|
|
345
|
+
var ChatWidgetBody = function ChatWidgetBody(_ref) {
|
|
346
|
+
var widgets = _ref.widgets;
|
|
347
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, widgets.includes(WIDGET_TYPES.changelog) && /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
348
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.changelogHelp",
|
|
349
|
+
values: {
|
|
350
|
+
helpLink: WIDGET_HELP_LINKS.changelog
|
|
351
|
+
},
|
|
352
|
+
components: {
|
|
353
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
354
|
+
className: "mb-2",
|
|
355
|
+
style: "body2"
|
|
356
|
+
}),
|
|
357
|
+
a: /*#__PURE__*/React__default["default"].createElement("a", {
|
|
358
|
+
className: "neeto-ui-text-primary-800",
|
|
359
|
+
href: WIDGET_HELP_LINKS.changelog,
|
|
360
|
+
rel: "noreferrer",
|
|
361
|
+
target: "_blank"
|
|
362
|
+
})
|
|
363
|
+
}
|
|
364
|
+
}), widgets.includes(WIDGET_TYPES.chat) && /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
365
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.chatHelp",
|
|
366
|
+
values: {
|
|
367
|
+
helpLink: WIDGET_HELP_LINKS.chat
|
|
368
|
+
},
|
|
369
|
+
components: {
|
|
370
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
371
|
+
className: "mb-2",
|
|
372
|
+
style: "body2"
|
|
373
|
+
}),
|
|
374
|
+
a: /*#__PURE__*/React__default["default"].createElement("a", {
|
|
375
|
+
className: "neeto-ui-text-primary-800",
|
|
376
|
+
href: WIDGET_HELP_LINKS.chat,
|
|
377
|
+
rel: "noreferrer",
|
|
378
|
+
target: "_blank"
|
|
379
|
+
})
|
|
380
|
+
}
|
|
381
|
+
}), widgets.includes(WIDGET_TYPES.replay) && /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
382
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.replayHelp",
|
|
383
|
+
values: {
|
|
384
|
+
helpLink: WIDGET_HELP_LINKS.replay
|
|
385
|
+
},
|
|
386
|
+
components: {
|
|
387
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
388
|
+
className: "mb-2",
|
|
389
|
+
style: "body2"
|
|
390
|
+
}),
|
|
391
|
+
a: /*#__PURE__*/React__default["default"].createElement("a", {
|
|
392
|
+
className: "neeto-ui-text-primary-800",
|
|
393
|
+
href: WIDGET_HELP_LINKS.replay,
|
|
394
|
+
rel: "noreferrer",
|
|
395
|
+
target: "_blank"
|
|
396
|
+
})
|
|
397
|
+
}
|
|
398
|
+
}));
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
var SyntaxHighlighter = function SyntaxHighlighter(_ref) {
|
|
402
|
+
var className = _ref.className,
|
|
403
|
+
code = _ref.code,
|
|
404
|
+
language = _ref.language;
|
|
405
|
+
React.useEffect(function () {
|
|
406
|
+
Prism__default["default"].highlightAll();
|
|
407
|
+
}, [code]);
|
|
408
|
+
return /*#__PURE__*/React__default["default"].createElement("pre", {
|
|
409
|
+
className: className
|
|
410
|
+
}, /*#__PURE__*/React__default["default"].createElement("code", {
|
|
411
|
+
className: "language-".concat(language)
|
|
412
|
+
}, code));
|
|
413
|
+
};
|
|
414
|
+
var SyntaxHighlighter$1 = /*#__PURE__*/React__default["default"].memo(SyntaxHighlighter);
|
|
415
|
+
|
|
416
|
+
var CodeBlock = function CodeBlock(_ref) {
|
|
417
|
+
var _ref$title = _ref.title,
|
|
418
|
+
title = _ref$title === void 0 ? /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
419
|
+
i18nKey: "neetoMolecules.codeblock.codeSnippet"
|
|
420
|
+
})) : _ref$title,
|
|
421
|
+
codeString = _ref.codeString,
|
|
422
|
+
_ref$showCopyButton = _ref.showCopyButton,
|
|
423
|
+
showCopyButton = _ref$showCopyButton === void 0 ? true : _ref$showCopyButton,
|
|
424
|
+
_ref$className = _ref.className,
|
|
425
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
426
|
+
_ref$sendViaEmail = _ref.sendViaEmail,
|
|
427
|
+
sendViaEmail = _ref$sendViaEmail === void 0 ? undefined : _ref$sendViaEmail,
|
|
428
|
+
_ref$frameworkProps = _ref.frameworkProps,
|
|
429
|
+
frameworkProps = _ref$frameworkProps === void 0 ? {} : _ref$frameworkProps;
|
|
430
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
431
|
+
t = _useTranslation.t;
|
|
432
|
+
var _ref2 = frameworkProps !== null && frameworkProps !== void 0 ? frameworkProps : {},
|
|
433
|
+
selectedFramework = _ref2.selectedFramework,
|
|
434
|
+
setSelectedFramework = _ref2.setSelectedFramework;
|
|
435
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
436
|
+
className: classnames__default["default"](["relative", className])
|
|
437
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
438
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg flex w-full flex-wrap items-center justify-between gap-2 rounded-b-none p-3"
|
|
439
|
+
}, title && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
440
|
+
className: "m-0 flex-shrink-0",
|
|
441
|
+
"data-cy": "code-block-title-text",
|
|
442
|
+
style: "h4"
|
|
443
|
+
}, title), selectedFramework && /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
|
|
444
|
+
className: "w-40",
|
|
445
|
+
"data-testid": "framework-select",
|
|
446
|
+
options: FRAMEWORK_SELECT_OPTIONS,
|
|
447
|
+
value: selectedFramework,
|
|
448
|
+
onChange: setSelectedFramework
|
|
449
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
450
|
+
className: "ml-auto flex flex-shrink-0 items-center justify-end gap-2"
|
|
451
|
+
}, sendViaEmail ? /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
452
|
+
style: "text",
|
|
453
|
+
label: t("neetoMolecules.widget.installation.snippet.sendViaEmail"),
|
|
454
|
+
onClick: sendViaEmail
|
|
455
|
+
}) : null, showCopyButton && /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton__default["default"], {
|
|
456
|
+
label: t("neetoMolecules.widget.installation.snippet.copy"),
|
|
457
|
+
style: "primary",
|
|
458
|
+
value: codeString
|
|
459
|
+
}))), /*#__PURE__*/React__default["default"].createElement(SyntaxHighlighter$1, {
|
|
460
|
+
className: "neeto-ui-bg-gray-800 neeto-ui-rounded-lg m-0 rounded-t-none",
|
|
461
|
+
code: codeString,
|
|
462
|
+
language: "javascript"
|
|
463
|
+
}));
|
|
464
|
+
};
|
|
465
|
+
|
|
466
|
+
var buildEmbedWidgetScript = function buildEmbedWidgetScript() {
|
|
467
|
+
var widgetScriptUrl = window.globalProps.railsEnv === RAILS_ENV.production ? NEETO_WIDGET_SCRIPT_URL.production : NEETO_WIDGET_SCRIPT_URL.staging;
|
|
468
|
+
return "<script src=\"".concat(widgetScriptUrl, "\"></script>");
|
|
469
|
+
};
|
|
470
|
+
var indentAndFormat = function indentAndFormat(str) {
|
|
471
|
+
var formatter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ramda.identity;
|
|
472
|
+
return str.split("\n").map(formatter).join("\n ");
|
|
473
|
+
};
|
|
474
|
+
var getCommentedCommand = function getCommentedCommand(command, isEnabled) {
|
|
475
|
+
return isEnabled ? command : "/// ".concat(command);
|
|
476
|
+
};
|
|
477
|
+
var embedWidgetEnvironment = function embedWidgetEnvironment() {
|
|
478
|
+
switch (window.globalProps.railsEnv) {
|
|
479
|
+
case RAILS_ENV.production:
|
|
480
|
+
return "";
|
|
481
|
+
case RAILS_ENV.development:
|
|
482
|
+
return "environment: \"".concat(RAILS_ENV.development, "\",");
|
|
483
|
+
case RAILS_ENV.staging:
|
|
484
|
+
return "environment: \"".concat(RAILS_ENV.staging, "\",");
|
|
485
|
+
default:
|
|
486
|
+
return "/* Unidentified RAILS_ENV, */";
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
var embedWidgetApiKey = function embedWidgetApiKey(apiKey) {
|
|
490
|
+
return "apiKey: \"".concat(apiKey, "\",");
|
|
491
|
+
};
|
|
492
|
+
var addChangelogOptions = function addChangelogOptions() {
|
|
493
|
+
return "neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},";
|
|
494
|
+
};
|
|
495
|
+
var wrapBlockInOnLoad = function wrapBlockInOnLoad(codeBlock) {
|
|
496
|
+
return "window.addEventListener(\"load\", () => ".concat(codeBlock, ");");
|
|
497
|
+
};
|
|
498
|
+
var embedWidgetFunctionCall = function embedWidgetFunctionCall(enabledWidgets, apiKey) {
|
|
499
|
+
return "embedNeetoWidget({\n ".concat(embedWidgetEnvironment(), "\n ").concat(indentAndFormat(embedWidgetApiKey(apiKey)), "\n ").concat(indentAndFormat(addChangelogOptions(), function (cmd) {
|
|
500
|
+
return getCommentedCommand(cmd, enabledWidgets.changelog);
|
|
501
|
+
}), "\n})");
|
|
502
|
+
};
|
|
503
|
+
var filterMarkedCommands = function filterMarkedCommands(queryString) {
|
|
504
|
+
return queryString.split("\n").filter(function (line) {
|
|
505
|
+
return !line.includes("///") && line.trim();
|
|
506
|
+
}).join("\n");
|
|
507
|
+
};
|
|
508
|
+
var getSampleUserIdentity = function getSampleUserIdentity(enabledWidgets, selectedFramework) {
|
|
509
|
+
var splitCodeLines = SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split("\n");
|
|
510
|
+
return filterMarkedCommands(splitCodeLines.map(function (cmd) {
|
|
511
|
+
var isEmailKey = cmd.includes("email");
|
|
512
|
+
var isObjectStartLine = cmd === splitCodeLines[0];
|
|
513
|
+
var isObjectEndLine = cmd === ramda.last(splitCodeLines);
|
|
514
|
+
var isLineHidden = !isEmailKey && !isObjectStartLine && !isObjectEndLine;
|
|
515
|
+
if (!enabledWidgets.chat && isLineHidden || !enabledWidgets.chat && !enabledWidgets.replay) {
|
|
516
|
+
return null;
|
|
517
|
+
}
|
|
518
|
+
return cmd;
|
|
519
|
+
}).join("\n"));
|
|
520
|
+
};
|
|
521
|
+
var sampleConsolidatedCodeString = function sampleConsolidatedCodeString(enabledWidgets, apiKey) {
|
|
522
|
+
return filterMarkedCommands("".concat(buildEmbedWidgetScript(), "\n<script>\n ").concat(enabledWidgets.chat || enabledWidgets.replay ? "window.".concat(NEETO_WIDGET_USER_IDENTITY_KEY, " = {};") : "", "\n ").concat(enabledWidgets.replay ? "window.".concat(SESSION_CONTEXT_KEY, " = {};") : "", "\n\n ").concat(indentAndFormat(wrapBlockInOnLoad(embedWidgetFunctionCall(enabledWidgets, apiKey))), "\n</script>"));
|
|
523
|
+
};
|
|
524
|
+
var getEmailWidgetSnippetFormInitialValues = function getEmailWidgetSnippetFormInitialValues(subject) {
|
|
525
|
+
return {
|
|
526
|
+
emails: "",
|
|
527
|
+
subject: subject
|
|
528
|
+
};
|
|
529
|
+
};
|
|
530
|
+
var getSortedPrefixedWidgets = function getSortedPrefixedWidgets(widgets) {
|
|
531
|
+
var sortedWidgets = widgets.sort().map(function (widget) {
|
|
532
|
+
return "neeto".concat(neetoCist.capitalize(widget));
|
|
533
|
+
});
|
|
534
|
+
return sortedWidgets.length === 1 ? sortedWidgets : i18next.t("neetoMolecules.widget.email.widgetList", {
|
|
535
|
+
widgets: sortedWidgets
|
|
536
|
+
});
|
|
537
|
+
};
|
|
538
|
+
var getWidgetDescriptions = function getWidgetDescriptions(widgets) {
|
|
539
|
+
var values = Object.entries(WIDGET_DESCRIPTIONS).filter(function (_ref) {
|
|
540
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
541
|
+
widget = _ref2[0];
|
|
542
|
+
return widgets.includes(widget);
|
|
543
|
+
});
|
|
544
|
+
return ramda.pluck(1, values);
|
|
545
|
+
};
|
|
546
|
+
var getEmailWidgetSnippetValidationSchema = function getEmailWidgetSnippetValidationSchema() {
|
|
547
|
+
return yup__namespace.object({
|
|
548
|
+
emails: yup__namespace.array().required().label(i18next__default["default"].t("neetoMolecules.widget.email.fields.emails.label")),
|
|
549
|
+
subject: yup__namespace.string().required().label(i18next__default["default"].t("neetoMolecules.widget.email.fields.subject.label"))
|
|
550
|
+
});
|
|
551
|
+
};
|
|
552
|
+
var getWidgetApiKeyUrl = function getWidgetApiKeyUrl() {
|
|
553
|
+
return "api/widget/v1/api_keys/".concat(window.globalProps.organization.subdomain);
|
|
554
|
+
};
|
|
555
|
+
var shouldShowSwitches = function shouldShowSwitches() {
|
|
556
|
+
var _globalProps$user;
|
|
557
|
+
var email = ((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.email) || "";
|
|
558
|
+
if (window.globalProps.railsEnv === RAILS_ENV.production) {
|
|
559
|
+
return email.toLowerCase().endsWith("@bigbinary.com");
|
|
560
|
+
}
|
|
561
|
+
return true;
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
var queryWidgetApiKey = function queryWidgetApiKey() {
|
|
565
|
+
return axios__default["default"].get(getWidgetApiKeyUrl(), {
|
|
566
|
+
showToastr: false
|
|
567
|
+
});
|
|
568
|
+
};
|
|
569
|
+
var emailWidgetSnippet = function emailWidgetSnippet(data) {
|
|
570
|
+
return axios__default["default"].post(EMBED_CODE_EMAIL_URL, data);
|
|
571
|
+
};
|
|
572
|
+
var fetchWidgetConfiguration = function fetchWidgetConfiguration() {
|
|
573
|
+
return axios__default["default"].get(WIDGET_CONFIG_URL);
|
|
574
|
+
};
|
|
575
|
+
var updateWidgetConfiguration = function updateWidgetConfiguration(_ref) {
|
|
576
|
+
var id = _ref.id,
|
|
577
|
+
payload = _ref.payload;
|
|
578
|
+
return axios__default["default"].put("".concat(WIDGET_CONFIG_URL, "/").concat(id), payload);
|
|
579
|
+
};
|
|
580
|
+
|
|
581
|
+
var useEmailEmbedCode = function useEmailEmbedCode(onSuccess) {
|
|
582
|
+
return reactQuery.useMutation(function (emailData) {
|
|
583
|
+
return emailWidgetSnippet(emailData);
|
|
584
|
+
}, {
|
|
585
|
+
onSuccess: onSuccess
|
|
586
|
+
});
|
|
587
|
+
};
|
|
588
|
+
|
|
589
|
+
var CodeSnippet = function CodeSnippet(_ref) {
|
|
590
|
+
var isPaneOpen = _ref.isPaneOpen,
|
|
591
|
+
onClose = _ref.onClose,
|
|
592
|
+
_ref$onSent = _ref.onSent,
|
|
593
|
+
onSent = _ref$onSent === void 0 ? neetoCist.noop : _ref$onSent,
|
|
594
|
+
codeString = _ref.codeString,
|
|
595
|
+
_ref$subject = _ref.subject,
|
|
596
|
+
subject = _ref$subject === void 0 ? "" : _ref$subject,
|
|
597
|
+
_ref$body = _ref.body,
|
|
598
|
+
body = _ref$body === void 0 ? "" : _ref$body,
|
|
599
|
+
_ref$emailType = _ref.emailType,
|
|
600
|
+
emailType = _ref$emailType === void 0 ? EMAIL_TYPES.embedCode : _ref$emailType,
|
|
601
|
+
_ref$enabledWidgets = _ref.enabledWidgets,
|
|
602
|
+
enabledWidgets = _ref$enabledWidgets === void 0 ? {} : _ref$enabledWidgets;
|
|
603
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
604
|
+
t = _useTranslation.t;
|
|
605
|
+
var _useState = React.useState(FRAMEWORK_SELECT_OPTIONS[0]),
|
|
606
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
607
|
+
selectedFramework = _useState2[0],
|
|
608
|
+
setSelectedFramework = _useState2[1];
|
|
609
|
+
var emailMutation = useEmailEmbedCode(onSent);
|
|
610
|
+
var codeToDisplay = emailType === EMAIL_TYPES.userIdentity ? getSampleUserIdentity(enabledWidgets, selectedFramework.value) : codeString;
|
|
611
|
+
var handleSubmit = function handleSubmit(formData) {
|
|
612
|
+
var _body$ref$current$inn, _body$ref;
|
|
613
|
+
if (ramda.any(function (_ref2) {
|
|
614
|
+
var valid = _ref2.valid;
|
|
615
|
+
return !valid;
|
|
616
|
+
}, formData.emails)) {
|
|
617
|
+
neetoui.Toastr.error(t("neetoMolecules.widget.email.fields.emails.invalidError"));
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
emailMutation.mutate({
|
|
621
|
+
subject: formData.subject,
|
|
622
|
+
emails: ramda.pluck("value", formData.emails),
|
|
623
|
+
message: (_body$ref$current$inn = (_body$ref = body.ref) === null || _body$ref === void 0 ? void 0 : _body$ref.current.innerHTML) !== null && _body$ref$current$inn !== void 0 ? _body$ref$current$inn : body,
|
|
624
|
+
snippet: codeToDisplay
|
|
625
|
+
});
|
|
626
|
+
};
|
|
627
|
+
var renderCodeBlockProps = function renderCodeBlockProps() {
|
|
628
|
+
var props = {
|
|
629
|
+
codeString: codeToDisplay,
|
|
630
|
+
showCopyButton: false,
|
|
631
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg"
|
|
632
|
+
};
|
|
633
|
+
if (emailType === EMAIL_TYPES.userIdentity) {
|
|
634
|
+
props = ramda.assoc("frameworkProps", {
|
|
635
|
+
selectedFramework: selectedFramework,
|
|
636
|
+
setSelectedFramework: setSelectedFramework
|
|
637
|
+
}, props);
|
|
638
|
+
}
|
|
639
|
+
return props;
|
|
640
|
+
};
|
|
641
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
642
|
+
isOpen: isPaneOpen,
|
|
643
|
+
onClose: onClose
|
|
644
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
|
|
645
|
+
initialValues: getEmailWidgetSnippetFormInitialValues(subject),
|
|
646
|
+
validationSchema: getEmailWidgetSnippetValidationSchema(),
|
|
647
|
+
onSubmit: handleSubmit
|
|
648
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik.Form, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
649
|
+
style: "h2"
|
|
650
|
+
}, t("neetoMolecules.widget.email.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
651
|
+
className: "w-full space-y-4"
|
|
652
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik$1.MultiEmailInput, {
|
|
653
|
+
required: true,
|
|
654
|
+
label: t("neetoMolecules.widget.email.fields.emails.label"),
|
|
655
|
+
name: "emails",
|
|
656
|
+
placeholder: t("neetoMolecules.widget.email.fields.emails.placeholder")
|
|
657
|
+
}), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
658
|
+
required: true,
|
|
659
|
+
label: t("neetoMolecules.widget.email.fields.subject.label"),
|
|
660
|
+
name: "subject",
|
|
661
|
+
type: "text"
|
|
662
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
663
|
+
style: "body2"
|
|
664
|
+
}, body), /*#__PURE__*/React__default["default"].createElement(CodeBlock, renderCodeBlockProps()))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
665
|
+
className: "gap-x-2"
|
|
666
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
667
|
+
disabled: emailMutation.isLoading,
|
|
668
|
+
label: t("neetoMolecules.widget.email.actions.send"),
|
|
669
|
+
loading: emailMutation.isLoading,
|
|
670
|
+
type: "submit"
|
|
671
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
672
|
+
label: t("neetoMolecules.widget.email.actions.cancel"),
|
|
673
|
+
style: "text",
|
|
674
|
+
onClick: onClose
|
|
675
|
+
})))));
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
var useForceUpdate = function useForceUpdate() {
|
|
679
|
+
// eslint-disable-next-line react/hook-use-state
|
|
680
|
+
var _useState = React.useState(0),
|
|
681
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
682
|
+
setValue = _useState2[1];
|
|
683
|
+
return function () {
|
|
684
|
+
return setValue(function (value) {
|
|
685
|
+
return value + 1;
|
|
686
|
+
});
|
|
687
|
+
};
|
|
688
|
+
};
|
|
689
|
+
|
|
690
|
+
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; }
|
|
691
|
+
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; }
|
|
692
|
+
var useFetchApiKey = function useFetchApiKey() {
|
|
693
|
+
return reactQuery.useQuery(QUERY_KEYS.apiKey, function () {
|
|
694
|
+
if (window.globalProps.railsEnv === "heroku" || !window.globalProps.ssoEnabled) {
|
|
695
|
+
return Promise.resolve({
|
|
696
|
+
widgetApiKey: "placeholder-api-key"
|
|
697
|
+
});
|
|
698
|
+
}
|
|
699
|
+
return queryWidgetApiKey();
|
|
700
|
+
}, {
|
|
701
|
+
staleTime: DEFAULT_QUERY_STALE_TIME
|
|
702
|
+
});
|
|
703
|
+
};
|
|
704
|
+
var useFetchConfigurations = function useFetchConfigurations() {
|
|
705
|
+
return reactQuery.useQuery(QUERY_KEYS.configuration, fetchWidgetConfiguration, {
|
|
706
|
+
staleTime: DEFAULT_QUERY_STALE_TIME
|
|
707
|
+
});
|
|
708
|
+
};
|
|
709
|
+
var useUpdateConfigurations = function useUpdateConfigurations() {
|
|
710
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
711
|
+
var queryClient = reactQuery.useQueryClient();
|
|
712
|
+
return reactQuery.useMutation(updateWidgetConfiguration, _objectSpread(_objectSpread({}, options), {}, {
|
|
713
|
+
onSuccess: function onSuccess() {
|
|
714
|
+
return queryClient.invalidateQueries(QUERY_KEYS.configuration);
|
|
715
|
+
}
|
|
716
|
+
}));
|
|
717
|
+
};
|
|
718
|
+
|
|
719
|
+
var TooltipSwitch = reactUtils.withT(function (_ref) {
|
|
720
|
+
var t = _ref.t,
|
|
721
|
+
enabledClientApps = _ref.enabledClientApps,
|
|
722
|
+
widget = _ref.widget,
|
|
723
|
+
selectedWidgets = _ref.selectedWidgets,
|
|
724
|
+
updateSelectedWidgets = _ref.updateSelectedWidgets;
|
|
725
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
|
|
726
|
+
disabled: enabledClientApps.includes(widget),
|
|
727
|
+
placement: "right",
|
|
728
|
+
content: t("neetoMolecules.widget.tooltips.productIsDisabled", {
|
|
729
|
+
productName: "neeto".concat(neetoCist.capitalize(widget))
|
|
730
|
+
})
|
|
731
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Switch, {
|
|
732
|
+
checked: selectedWidgets.includes(widget),
|
|
733
|
+
disabled: !enabledClientApps.includes(widget),
|
|
734
|
+
onChange: function onChange() {
|
|
735
|
+
return updateSelectedWidgets(widget);
|
|
736
|
+
}
|
|
737
|
+
}));
|
|
738
|
+
});
|
|
739
|
+
|
|
740
|
+
var SelectionSwitches = function SelectionSwitches(_ref) {
|
|
741
|
+
var selectedWidgets = _ref.selectedWidgets,
|
|
742
|
+
updateSelectedWidgets = _ref.updateSelectedWidgets,
|
|
743
|
+
primaryApp = _ref.primaryApp,
|
|
744
|
+
enabledClientApps = _ref.enabledClientApps;
|
|
745
|
+
var primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp) ? primaryApp : "";
|
|
746
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
747
|
+
className: "mb-4 flex w-full flex-wrap items-center justify-between gap-6"
|
|
748
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
749
|
+
className: "flex items-center space-x-2"
|
|
750
|
+
}, neetoCist.isNotEmpty(primaryWidget) && /*#__PURE__*/React__default["default"].createElement(TooltipSwitch, {
|
|
751
|
+
enabledClientApps: enabledClientApps,
|
|
752
|
+
selectedWidgets: selectedWidgets,
|
|
753
|
+
updateSelectedWidgets: updateSelectedWidgets,
|
|
754
|
+
widget: primaryWidget
|
|
755
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
756
|
+
className: "flex items-center space-x-1"
|
|
757
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, "neeto", neetoCist.capitalize(primaryWidget)), /*#__PURE__*/React__default["default"].createElement("a", {
|
|
758
|
+
href: WIDGET_KB_HELP_URL[primaryApp],
|
|
759
|
+
rel: "noreferrer",
|
|
760
|
+
target: "_blank"
|
|
761
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Info, {
|
|
762
|
+
size: 16
|
|
763
|
+
})))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
764
|
+
className: "flex flex-wrap items-center gap-6 sm:justify-end"
|
|
765
|
+
}, WIDGET_TYPES_VALUES.map(function (widget, index) {
|
|
766
|
+
return primaryApp !== widget && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
767
|
+
className: "flex items-center space-x-2",
|
|
768
|
+
key: index
|
|
769
|
+
}, /*#__PURE__*/React__default["default"].createElement(TooltipSwitch, {
|
|
770
|
+
enabledClientApps: enabledClientApps,
|
|
771
|
+
selectedWidgets: selectedWidgets,
|
|
772
|
+
updateSelectedWidgets: updateSelectedWidgets,
|
|
773
|
+
widget: widget
|
|
774
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, "neeto", neetoCist.capitalize(widget)));
|
|
775
|
+
})));
|
|
776
|
+
};
|
|
777
|
+
|
|
778
|
+
var EmbedCode = function EmbedCode(_ref) {
|
|
779
|
+
var showSessionContext = _ref.showSessionContext,
|
|
780
|
+
showUserIdentity = _ref.showUserIdentity,
|
|
781
|
+
_ref$primaryApp = _ref.primaryApp,
|
|
782
|
+
primaryApp = _ref$primaryApp === void 0 ? "" : _ref$primaryApp,
|
|
783
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
784
|
+
maxWidth = _ref$maxWidth === void 0 ? "max-w-3xl" : _ref$maxWidth;
|
|
785
|
+
var _useState = React.useState(EMAIL_TYPES["null"]),
|
|
786
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
787
|
+
emailType = _useState2[0],
|
|
788
|
+
setEmailType = _useState2[1];
|
|
789
|
+
var _useState3 = React.useState(FRAMEWORK_SELECT_OPTIONS[0]),
|
|
790
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
791
|
+
selectedFramework = _useState4[0],
|
|
792
|
+
setSelectedFramework = _useState4[1];
|
|
793
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
794
|
+
t = _useTranslation.t;
|
|
795
|
+
var bodyRef = React.useRef();
|
|
796
|
+
var forceUpdate = useForceUpdate();
|
|
797
|
+
React.useEffect(function () {
|
|
798
|
+
forceUpdate();
|
|
799
|
+
}, []);
|
|
800
|
+
var _useFetchApiKey = useFetchApiKey(),
|
|
801
|
+
_useFetchApiKey$data = _useFetchApiKey.data,
|
|
802
|
+
_useFetchApiKey$data2 = _useFetchApiKey$data === void 0 ? {} : _useFetchApiKey$data,
|
|
803
|
+
_useFetchApiKey$data3 = _useFetchApiKey$data2.widgetApiKey,
|
|
804
|
+
widgetApiKey = _useFetchApiKey$data3 === void 0 ? "" : _useFetchApiKey$data3,
|
|
805
|
+
isLoadingApiKey = _useFetchApiKey.isLoading;
|
|
806
|
+
var _useFetchConfiguratio = useFetchConfigurations(),
|
|
807
|
+
_useFetchConfiguratio2 = _useFetchConfiguratio.data,
|
|
808
|
+
_useFetchConfiguratio3 = _useFetchConfiguratio2 === void 0 ? {} : _useFetchConfiguratio2,
|
|
809
|
+
_useFetchConfiguratio4 = _useFetchConfiguratio3.neetoWidgetTokens,
|
|
810
|
+
neetoWidgetTokens = _useFetchConfiguratio4 === void 0 ? [] : _useFetchConfiguratio4,
|
|
811
|
+
isLoadingConfigurations = _useFetchConfiguratio.isLoading;
|
|
812
|
+
var _useUpdateConfigurati = useUpdateConfigurations(),
|
|
813
|
+
updateWidgetConfiguration = _useUpdateConfigurati.mutate;
|
|
814
|
+
var previousEmailType = reactUtils.usePrevious(emailType);
|
|
815
|
+
var selectedWidgets = neetoWidgetTokens.filter(function (item) {
|
|
816
|
+
return item.enabled && (shouldShowSwitches() || item.clientApplicationName.toLowerCase() === primaryApp);
|
|
817
|
+
}).map(function (item) {
|
|
818
|
+
return item.clientApplicationName.toLowerCase();
|
|
819
|
+
});
|
|
820
|
+
var enabledClientApps = neetoWidgetTokens.filter(ramda.prop("clientApplicationEnabled")).map(function (item) {
|
|
821
|
+
return item.clientApplicationName.toLowerCase();
|
|
822
|
+
});
|
|
823
|
+
var enabledWidgets = ramda.fromPairs(selectedWidgets.map(function (widget) {
|
|
824
|
+
return [widget, true];
|
|
825
|
+
}));
|
|
826
|
+
var shouldShowUserIdentity = showUserIdentity !== null && showUserIdentity !== void 0 ? showUserIdentity : enabledWidgets.chat || enabledWidgets.replay;
|
|
827
|
+
var shouldShowSessionContext = showSessionContext !== null && showSessionContext !== void 0 ? showSessionContext : enabledWidgets.replay;
|
|
828
|
+
var updateSelectedWidgets = function updateSelectedWidgets(widget) {
|
|
829
|
+
var widgetId = neetoWidgetTokens.find(function (item) {
|
|
830
|
+
return item.clientApplicationName.toLowerCase() === widget;
|
|
831
|
+
}).id;
|
|
832
|
+
var isEnabled = !selectedWidgets.includes(widget);
|
|
833
|
+
updateWidgetConfiguration({
|
|
834
|
+
id: widgetId,
|
|
835
|
+
payload: {
|
|
836
|
+
enabled: isEnabled
|
|
837
|
+
}
|
|
838
|
+
}, {
|
|
839
|
+
onSuccess: function onSuccess() {
|
|
840
|
+
var productName = "neeto".concat(neetoCist.capitalize(widget));
|
|
841
|
+
var response = isEnabled ? "neetoMolecules.widget.installation.enabled" : "neetoMolecules.widget.installation.disabled";
|
|
842
|
+
neetoui.Toastr.success(t(response, {
|
|
843
|
+
productName: productName
|
|
844
|
+
}));
|
|
845
|
+
}
|
|
846
|
+
});
|
|
847
|
+
};
|
|
848
|
+
var getEmbedCodeString = function getEmbedCodeString() {
|
|
849
|
+
return neetoCist.isNotEmpty(widgetApiKey) ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey) : "";
|
|
850
|
+
};
|
|
851
|
+
var getSnippetProps = function getSnippetProps(selectedEmailType) {
|
|
852
|
+
switch (selectedEmailType) {
|
|
853
|
+
case EMAIL_TYPES.embedCode:
|
|
854
|
+
return {
|
|
855
|
+
codeString: getEmbedCodeString(),
|
|
856
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.embedCode", {
|
|
857
|
+
widgetList: getSortedPrefixedWidgets(selectedWidgets)
|
|
858
|
+
}),
|
|
859
|
+
body: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
860
|
+
ref: bodyRef
|
|
861
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
862
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.mainText",
|
|
863
|
+
components: {
|
|
864
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
865
|
+
className: "mb-2",
|
|
866
|
+
style: "body2"
|
|
867
|
+
})
|
|
868
|
+
},
|
|
869
|
+
values: {
|
|
870
|
+
val: getWidgetDescriptions(selectedWidgets)
|
|
871
|
+
}
|
|
872
|
+
}), /*#__PURE__*/React__default["default"].createElement(ChatWidgetBody, {
|
|
873
|
+
widgets: selectedWidgets
|
|
874
|
+
}), /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
875
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.supportText",
|
|
876
|
+
values: {
|
|
877
|
+
helpEmail: INSTALLATION_HELP_EMAIL
|
|
878
|
+
},
|
|
879
|
+
components: {
|
|
880
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
881
|
+
className: "mb-2",
|
|
882
|
+
style: "body2"
|
|
883
|
+
}),
|
|
884
|
+
mail: /*#__PURE__*/React__default["default"].createElement("a", {
|
|
885
|
+
className: "neeto-ui-text-primary-800",
|
|
886
|
+
href: "mailto:".concat(INSTALLATION_HELP_EMAIL),
|
|
887
|
+
rel: "noreferrer",
|
|
888
|
+
target: "_blank"
|
|
889
|
+
})
|
|
890
|
+
}
|
|
891
|
+
}))
|
|
892
|
+
};
|
|
893
|
+
case EMAIL_TYPES.userIdentity:
|
|
894
|
+
return {
|
|
895
|
+
emailType: EMAIL_TYPES.userIdentity,
|
|
896
|
+
enabledWidgets: enabledWidgets,
|
|
897
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.userIdentity"),
|
|
898
|
+
body: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
899
|
+
ref: bodyRef
|
|
900
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
901
|
+
i18nKey: "neetoMolecules.widget.email.body.values.userIdentity",
|
|
902
|
+
components: {
|
|
903
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
904
|
+
className: "mb-2",
|
|
905
|
+
style: "body2"
|
|
906
|
+
}),
|
|
907
|
+
configureLink: /*#__PURE__*/React__default["default"].createElement("a", {
|
|
908
|
+
className: "neeto-ui-text-primary-800",
|
|
909
|
+
rel: "noreferrer",
|
|
910
|
+
target: "_blank",
|
|
911
|
+
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
912
|
+
})
|
|
913
|
+
},
|
|
914
|
+
values: {
|
|
915
|
+
userIdentityKbUrl: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
916
|
+
}
|
|
917
|
+
}))
|
|
918
|
+
};
|
|
919
|
+
case EMAIL_TYPES.sessionContext:
|
|
920
|
+
return {
|
|
921
|
+
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
922
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.sessionContext"),
|
|
923
|
+
body: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
924
|
+
ref: bodyRef
|
|
925
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
926
|
+
i18nKey: "neetoMolecules.widget.email.body.values.sessionContext",
|
|
927
|
+
values: {
|
|
928
|
+
sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL
|
|
929
|
+
},
|
|
930
|
+
components: {
|
|
931
|
+
p: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
932
|
+
className: "mb-2",
|
|
933
|
+
style: "body2"
|
|
934
|
+
}),
|
|
935
|
+
configureLink: /*#__PURE__*/React__default["default"].createElement("a", {
|
|
936
|
+
className: "neeto-ui-text-primary-800",
|
|
937
|
+
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
938
|
+
rel: "noreferrer",
|
|
939
|
+
target: "_blank"
|
|
940
|
+
})
|
|
941
|
+
}
|
|
942
|
+
}))
|
|
943
|
+
};
|
|
944
|
+
case EMAIL_TYPES["null"]:
|
|
945
|
+
return previousEmailType !== EMAIL_TYPES["null"] ? getSnippetProps(previousEmailType) : {};
|
|
946
|
+
default:
|
|
947
|
+
throw new Error(t("neetoMolecules.widget.email.invalidType"));
|
|
948
|
+
}
|
|
949
|
+
};
|
|
950
|
+
var handleSendViaEmail = function handleSendViaEmail(selectedEmail) {
|
|
951
|
+
if (ramda.isEmpty(selectedWidgets)) {
|
|
952
|
+
neetoui.Toastr.error(t("neetoMolecules.widget.installation.snippet.disabledError"));
|
|
953
|
+
return;
|
|
954
|
+
}
|
|
955
|
+
setEmailType(selectedEmail);
|
|
956
|
+
};
|
|
957
|
+
if (isLoadingApiKey || isLoadingConfigurations) {
|
|
958
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
959
|
+
className: "h-full w-full"
|
|
960
|
+
}, /*#__PURE__*/React__default["default"].createElement(PageLoader$1, null));
|
|
961
|
+
}
|
|
962
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
963
|
+
className: "mx-auto mb-10 w-full flex-col items-center justify-start"
|
|
964
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
965
|
+
className: classnames__default["default"]("mx-auto", maxWidth)
|
|
966
|
+
}, shouldShowSwitches() && /*#__PURE__*/React__default["default"].createElement(SelectionSwitches, {
|
|
967
|
+
enabledClientApps: enabledClientApps,
|
|
968
|
+
primaryApp: primaryApp,
|
|
969
|
+
selectedWidgets: selectedWidgets,
|
|
970
|
+
updateSelectedWidgets: updateSelectedWidgets
|
|
971
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
972
|
+
className: "mb-8 w-full flex-grow flex-col items-center justify-start"
|
|
973
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
974
|
+
className: "mx-auto mb-2 w-full",
|
|
975
|
+
"data-testid": "embed-code-block"
|
|
976
|
+
}, /*#__PURE__*/React__default["default"].createElement(CodeBlock, {
|
|
977
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
|
|
978
|
+
codeString: getEmbedCodeString(),
|
|
979
|
+
sendViaEmail: function sendViaEmail() {
|
|
980
|
+
return handleSendViaEmail(EMAIL_TYPES.embedCode);
|
|
981
|
+
},
|
|
982
|
+
title: /*#__PURE__*/React__default["default"].createElement("div", null, t("neetoMolecules.widget.title.embedCode"))
|
|
983
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
984
|
+
className: "w-full"
|
|
985
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
986
|
+
values: {
|
|
987
|
+
widgetList: getSortedPrefixedWidgets(selectedWidgets)
|
|
988
|
+
},
|
|
989
|
+
components: {
|
|
990
|
+
fontBold: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
991
|
+
component: "span",
|
|
992
|
+
style: "body2",
|
|
993
|
+
weight: "semibold"
|
|
994
|
+
}),
|
|
995
|
+
fontNormal: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
996
|
+
component: "span",
|
|
997
|
+
style: "body2",
|
|
998
|
+
weight: "normal"
|
|
999
|
+
})
|
|
1000
|
+
},
|
|
1001
|
+
i18nKey: neetoCist.isNotEmpty(selectedWidgets) ? "neetoMolecules.widget.installation.instructions.placement.selectedWidgets" : "neetoMolecules.widget.installation.instructions.placement.noneOfThese"
|
|
1002
|
+
}))), shouldShowUserIdentity ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1003
|
+
className: "mb-8 w-full flex-grow flex-col items-center justify-start"
|
|
1004
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1005
|
+
className: "mx-auto mb-2 w-full"
|
|
1006
|
+
}, /*#__PURE__*/React__default["default"].createElement(CodeBlock, {
|
|
1007
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
|
|
1008
|
+
frameworkProps: {
|
|
1009
|
+
selectedFramework: selectedFramework,
|
|
1010
|
+
setSelectedFramework: setSelectedFramework
|
|
1011
|
+
},
|
|
1012
|
+
codeString: getSampleUserIdentity(enabledWidgets, selectedFramework.value),
|
|
1013
|
+
sendViaEmail: function sendViaEmail() {
|
|
1014
|
+
return handleSendViaEmail(EMAIL_TYPES.userIdentity);
|
|
1015
|
+
},
|
|
1016
|
+
title: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1017
|
+
className: "flex items-center justify-start"
|
|
1018
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", null, t("neetoMolecules.widget.title.userIdentity")), /*#__PURE__*/React__default["default"].createElement("a", {
|
|
1019
|
+
className: "ml-1",
|
|
1020
|
+
rel: "noreferrer",
|
|
1021
|
+
target: "_blank",
|
|
1022
|
+
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
1023
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Info, {
|
|
1024
|
+
size: 16
|
|
1025
|
+
})))
|
|
1026
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1027
|
+
className: "w-full"
|
|
1028
|
+
}, t("neetoMolecules.widget.installation.instructions.userIdentity"))) : null, shouldShowSessionContext ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1029
|
+
className: "w-full flex-grow flex-col items-center justify-start"
|
|
1030
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1031
|
+
className: "mx-auto mb-2 w-full"
|
|
1032
|
+
}, /*#__PURE__*/React__default["default"].createElement(CodeBlock, {
|
|
1033
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
|
|
1034
|
+
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
1035
|
+
sendViaEmail: function sendViaEmail() {
|
|
1036
|
+
return handleSendViaEmail(EMAIL_TYPES.sessionContext);
|
|
1037
|
+
},
|
|
1038
|
+
title: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1039
|
+
className: "flex items-center justify-start"
|
|
1040
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", null, t("neetoMolecules.widget.title.sessionContext")), /*#__PURE__*/React__default["default"].createElement("a", {
|
|
1041
|
+
className: "ml-1",
|
|
1042
|
+
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
1043
|
+
rel: "noreferrer",
|
|
1044
|
+
target: "_blank"
|
|
1045
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Info, {
|
|
1046
|
+
size: 16
|
|
1047
|
+
})))
|
|
1048
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1049
|
+
className: "w-full"
|
|
1050
|
+
}, t("neetoMolecules.widget.installation.instructions.sessionContext"))) : null), /*#__PURE__*/React__default["default"].createElement(CodeSnippet, _extends$1({
|
|
1051
|
+
isPaneOpen: !!emailType && neetoCist.isNotEmpty(selectedWidgets),
|
|
1052
|
+
onClose: function onClose() {
|
|
1053
|
+
return setEmailType(EMAIL_TYPES["null"]);
|
|
1054
|
+
}
|
|
1055
|
+
}, getSnippetProps(emailType))));
|
|
1056
|
+
};
|
|
1057
|
+
var EmbedCode$1 = /*#__PURE__*/React__default["default"].memo(EmbedCode);
|
|
1058
|
+
|
|
1059
|
+
var queryClient = new reactQuery.QueryClient();
|
|
1060
|
+
var Main = function Main(props) {
|
|
1061
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1062
|
+
t = _useTranslation.t;
|
|
1063
|
+
var shouldRenderEmbedCode = window.globalProps.ssoEnabled;
|
|
1064
|
+
return shouldRenderEmbedCode ? /*#__PURE__*/React__default["default"].createElement(reactQuery.QueryClientProvider, {
|
|
1065
|
+
client: queryClient
|
|
1066
|
+
}, /*#__PURE__*/React__default["default"].createElement(EmbedCode$1, props)) : /*#__PURE__*/React__default["default"].createElement(neetoui.Callout, {
|
|
1067
|
+
icon: neetoIcons.Info,
|
|
1068
|
+
style: "info"
|
|
1069
|
+
}, t("neetoMolecules.widget.developmentInfo"));
|
|
1070
|
+
};
|
|
1071
|
+
|
|
1072
|
+
var NeetoWidget = {
|
|
1073
|
+
EmbedCode: Main,
|
|
1074
|
+
WIDGET_TYPES: WIDGET_TYPES
|
|
1075
|
+
};
|
|
1076
|
+
|
|
1077
|
+
module.exports = NeetoWidget;
|
|
1078
|
+
//# sourceMappingURL=NeetoWidget.js.map
|