@bigbinary/neeto-molecules 5.1.19 → 5.1.21
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/FinderModal.js +56 -9
- package/dist/FinderModal.js.map +1 -1
- package/dist/IpRestriction.js +2 -3175
- package/dist/IpRestriction.js.map +1 -1
- package/dist/MadeWith.js +3 -74
- package/dist/MadeWith.js.map +1 -1
- package/dist/NeetoWidget.js +3 -1958
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +3 -400
- package/dist/Onboarding.js.map +1 -1
- package/dist/chevron-up-B2_LTx_h.js +15 -0
- package/dist/chevron-up-B2_LTx_h.js.map +1 -0
- package/dist/cjs/FinderModal.js +54 -7
- package/dist/cjs/FinderModal.js.map +1 -1
- package/dist/cjs/IpRestriction.js +21 -3194
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/MadeWith.js +17 -88
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +4 -1959
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +3 -400
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/chevron-up-CpzhFWzM.js +17 -0
- package/dist/cjs/chevron-up-CpzhFWzM.js.map +1 -0
- package/dist/cjs/copy-CerjTcLL.js +20 -0
- package/dist/cjs/copy-CerjTcLL.js.map +1 -0
- package/dist/cjs/globe-DawgK2Dx.js +21 -0
- package/dist/cjs/globe-DawgK2Dx.js.map +1 -0
- package/dist/cjs/index-ARGXqXxG.js +78 -0
- package/dist/cjs/index-ARGXqXxG.js.map +1 -0
- package/dist/cjs/index-BeqE2JWC.js +3180 -0
- package/dist/cjs/index-BeqE2JWC.js.map +1 -0
- package/dist/cjs/panel-left-close-CLoRPBWH.js +21 -0
- package/dist/cjs/panel-left-close-CLoRPBWH.js.map +1 -0
- package/dist/cjs/phone-number-Bza7WGZm.js +315 -0
- package/dist/cjs/phone-number-Bza7WGZm.js.map +1 -0
- package/dist/cjs/prism-tomorrow-BMFuJ5o1.js +1963 -0
- package/dist/cjs/prism-tomorrow-BMFuJ5o1.js.map +1 -0
- package/dist/cjs/react-confetti-DdGoyZ0y.js +405 -0
- package/dist/cjs/react-confetti-DdGoyZ0y.js.map +1 -0
- package/dist/cjs/smartphone-ChvEvl-o.js +36 -0
- package/dist/cjs/smartphone-ChvEvl-o.js.map +1 -0
- package/dist/cjs/trash-2-CotPjU5n.js +23 -0
- package/dist/cjs/trash-2-CotPjU5n.js.map +1 -0
- package/dist/cjs/triangle-alert-De-qkUXK.js +27 -0
- package/dist/cjs/triangle-alert-De-qkUXK.js.map +1 -0
- package/dist/cjs/v2/AuditLogs.js +4 -18
- package/dist/cjs/v2/AuditLogs.js.map +1 -1
- package/dist/cjs/v2/Builder.js +4 -18
- package/dist/cjs/v2/Builder.js.map +1 -1
- package/dist/cjs/v2/Codeblock.js +1 -0
- package/dist/cjs/v2/Codeblock.js.map +1 -1
- package/dist/cjs/v2/CopyToClipboardButton.js +3 -16
- package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/v2/FinderModal.js +48 -14
- package/dist/cjs/v2/FinderModal.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +1 -0
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/Insights.js +344 -0
- package/dist/cjs/v2/Insights.js.map +1 -0
- package/dist/cjs/v2/IntegrationCard.js +222 -0
- package/dist/cjs/v2/IntegrationCard.js.map +1 -0
- package/dist/cjs/v2/IpRestriction.js +525 -0
- package/dist/cjs/v2/IpRestriction.js.map +1 -0
- package/dist/cjs/v2/MadeWith.js +73 -0
- package/dist/cjs/v2/MadeWith.js.map +1 -0
- package/dist/cjs/v2/Metadata.js +215 -0
- package/dist/cjs/v2/Metadata.js.map +1 -0
- package/dist/cjs/v2/NavigationHeader.js +1 -0
- package/dist/cjs/v2/NavigationHeader.js.map +1 -1
- package/dist/cjs/v2/NeetoWidget.js +855 -0
- package/dist/cjs/v2/NeetoWidget.js.map +1 -0
- package/dist/cjs/v2/Onboarding.js +323 -0
- package/dist/cjs/v2/Onboarding.js.map +1 -0
- package/dist/cjs/v2/OptionFields.js +1291 -0
- package/dist/cjs/v2/OptionFields.js.map +1 -0
- package/dist/cjs/v2/PhoneNumber.js +20 -307
- package/dist/cjs/v2/PhoneNumber.js.map +1 -1
- package/dist/cjs/v2/ProductEmbed.js +1870 -0
- package/dist/cjs/v2/ProductEmbed.js.map +1 -0
- package/dist/cjs/v2/PublishBlock.js +6 -22
- package/dist/cjs/v2/PublishBlock.js.map +1 -1
- package/dist/cjs/v2/PublishYourItem.js +60 -0
- package/dist/cjs/v2/PublishYourItem.js.map +1 -0
- package/dist/cjs/v2/ResponsiveDevicePicker.js +88 -0
- package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/v2/SessionEnvironment.js +479 -0
- package/dist/cjs/v2/SessionEnvironment.js.map +1 -0
- package/dist/copy-DhbOoOav.js +18 -0
- package/dist/copy-DhbOoOav.js.map +1 -0
- package/dist/globe-rBiI1CjO.js +19 -0
- package/dist/globe-rBiI1CjO.js.map +1 -0
- package/dist/index-0jnA7dx6.js +3178 -0
- package/dist/index-0jnA7dx6.js.map +1 -0
- package/dist/index-DF5MKxql.js +76 -0
- package/dist/index-DF5MKxql.js.map +1 -0
- package/dist/panel-left-close-37jik3GB.js +19 -0
- package/dist/panel-left-close-37jik3GB.js.map +1 -0
- package/dist/phone-number-CGZtDB_n.js +291 -0
- package/dist/phone-number-CGZtDB_n.js.map +1 -0
- package/dist/prism-tomorrow-ZUb2Ikm9.js +1961 -0
- package/dist/prism-tomorrow-ZUb2Ikm9.js.map +1 -0
- package/dist/react-confetti-BnGq_LBE.js +403 -0
- package/dist/react-confetti-BnGq_LBE.js.map +1 -0
- package/dist/smartphone-B-jv1y8j.js +33 -0
- package/dist/smartphone-B-jv1y8j.js.map +1 -0
- package/dist/trash-2-N0F6K63L.js +21 -0
- package/dist/trash-2-N0F6K63L.js.map +1 -0
- package/dist/triangle-alert-Pkh6pc42.js +25 -0
- package/dist/triangle-alert-Pkh6pc42.js.map +1 -0
- package/dist/v2/AuditLogs.js +3 -17
- package/dist/v2/AuditLogs.js.map +1 -1
- package/dist/v2/Builder.js +3 -17
- package/dist/v2/Builder.js.map +1 -1
- package/dist/v2/Codeblock.js +1 -0
- package/dist/v2/Codeblock.js.map +1 -1
- package/dist/v2/CopyToClipboardButton.js +2 -15
- package/dist/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/v2/FinderModal.js +49 -15
- package/dist/v2/FinderModal.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +1 -0
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/Insights.js +342 -0
- package/dist/v2/Insights.js.map +1 -0
- package/dist/v2/IntegrationCard.js +220 -0
- package/dist/v2/IntegrationCard.js.map +1 -0
- package/dist/v2/IpRestriction.js +504 -0
- package/dist/v2/IpRestriction.js.map +1 -0
- package/dist/v2/MadeWith.js +52 -0
- package/dist/v2/MadeWith.js.map +1 -0
- package/dist/v2/Metadata.js +213 -0
- package/dist/v2/Metadata.js.map +1 -0
- package/dist/v2/NavigationHeader.js +1 -0
- package/dist/v2/NavigationHeader.js.map +1 -1
- package/dist/v2/NeetoWidget.js +834 -0
- package/dist/v2/NeetoWidget.js.map +1 -0
- package/dist/v2/Onboarding.js +321 -0
- package/dist/v2/Onboarding.js.map +1 -0
- package/dist/v2/OptionFields.js +1289 -0
- package/dist/v2/OptionFields.js.map +1 -0
- package/dist/v2/PhoneNumber.js +20 -287
- package/dist/v2/PhoneNumber.js.map +1 -1
- package/dist/v2/ProductEmbed.js +1868 -0
- package/dist/v2/ProductEmbed.js.map +1 -0
- package/dist/v2/PublishBlock.js +5 -21
- package/dist/v2/PublishBlock.js.map +1 -1
- package/dist/v2/PublishYourItem.js +58 -0
- package/dist/v2/PublishYourItem.js.map +1 -0
- package/dist/v2/ResponsiveDevicePicker.js +86 -0
- package/dist/v2/ResponsiveDevicePicker.js.map +1 -0
- package/dist/v2/SessionEnvironment.js +477 -0
- package/dist/v2/SessionEnvironment.js.map +1 -0
- package/package.json +3 -3
- package/types/v2/Insights.d.ts +69 -0
- package/types/v2/IntegrationCard.d.ts +30 -0
- package/types/v2/IpRestriction.d.ts +5 -0
- package/types/v2/MadeWith.d.ts +8 -0
- package/types/v2/Metadata.d.ts +26 -0
- package/types/v2/MobilePreviewHeader.d.ts +8 -0
- package/types/v2/NeetoWidget.d.ts +19 -0
- package/types/v2/Onboarding.d.ts +22 -0
- package/types/v2/OptionFields.d.ts +55 -0
- package/types/v2/ProductEmbed.d.ts +90 -0
- package/types/v2/PublishYourItem.d.ts +8 -0
- package/types/v2/ResponsiveDevicePicker.d.ts +11 -0
- package/types/v2/SessionEnvironment.d.ts +34 -0
|
@@ -0,0 +1,855 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var i18next = require('i18next');
|
|
5
|
+
var ramda = require('ramda');
|
|
6
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
7
|
+
var reactQuery = require('@tanstack/react-query');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
10
|
+
var React = require('react');
|
|
11
|
+
var classnames = require('classnames');
|
|
12
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
13
|
+
var usePrevious = require('@bigbinary/neeto-commons-frontend/v2/react-utils/usePrevious');
|
|
14
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
+
var prismTomorrow = require('../prism-tomorrow-BMFuJ5o1.js');
|
|
16
|
+
var v2_CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
17
|
+
var formik$1 = require('@bigbinary/neeto-atoms/formik');
|
|
18
|
+
var formik = require('formik');
|
|
19
|
+
var axios = require('axios');
|
|
20
|
+
var yup = require('yup');
|
|
21
|
+
var useMutationWithInvalidation = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useMutationWithInvalidation');
|
|
22
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
23
|
+
require('../_commonjsHelpers-BJu3ubxk.js');
|
|
24
|
+
require('../inject-css-B6qYtOJe.js');
|
|
25
|
+
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
26
|
+
require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
27
|
+
require('../check-VgZf0qTr.js');
|
|
28
|
+
require('../createLucideIcon-DBDhE7kE.js');
|
|
29
|
+
require('../copy-CerjTcLL.js');
|
|
30
|
+
|
|
31
|
+
function _interopNamespaceDefault(e) {
|
|
32
|
+
var n = Object.create(null);
|
|
33
|
+
if (e) {
|
|
34
|
+
Object.keys(e).forEach(function (k) {
|
|
35
|
+
if (k !== 'default') {
|
|
36
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
37
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () { return e[k]; }
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
n.default = e;
|
|
45
|
+
return Object.freeze(n);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
49
|
+
|
|
50
|
+
var NEETO_WIDGET_USER_IDENTITY_KEY = "NeetoWidgetUserIdentity";
|
|
51
|
+
var SESSION_CONTEXT_KEY = "NeetoReplayWidgetSessionContext";
|
|
52
|
+
var INSTALLATION_HELP_EMAIL = "support@neeto.com";
|
|
53
|
+
var SAMPLE_CONTEXT_CODE_STRING = "window.".concat(SESSION_CONTEXT_KEY, " = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}");
|
|
54
|
+
var WIDGET_TYPES = {
|
|
55
|
+
engage: "engage",
|
|
56
|
+
chat: "chat",
|
|
57
|
+
replay: "replay"
|
|
58
|
+
};
|
|
59
|
+
var WIDGET_HELP_LINKS = {
|
|
60
|
+
engage: "https://help.neetoengage.com/articles/installation",
|
|
61
|
+
chat: "https://help.neetochat.com/articles/installation-using-javascript-snippet",
|
|
62
|
+
replay: "https://help.neetoreplay.com/articles/install-widget"
|
|
63
|
+
};
|
|
64
|
+
var WIDGET_DESCRIPTIONS = {
|
|
65
|
+
engage: i18next.t("neetoMolecules.widget.email.body.values.embedCode.description.engage"),
|
|
66
|
+
chat: i18next.t("neetoMolecules.widget.email.body.values.embedCode.description.chat"),
|
|
67
|
+
replay: i18next.t("neetoMolecules.widget.email.body.values.embedCode.description.replay")
|
|
68
|
+
};
|
|
69
|
+
ramda.values(WIDGET_TYPES);
|
|
70
|
+
var QUERY_KEYS = {
|
|
71
|
+
apiKey: "neetoWidgetApiKey",
|
|
72
|
+
configuration: "neetoWidgetConfiguration"
|
|
73
|
+
};
|
|
74
|
+
var DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds
|
|
75
|
+
|
|
76
|
+
var EMAIL_TYPES = {
|
|
77
|
+
embedCode: "embedCode",
|
|
78
|
+
userIdentity: "userIdentity",
|
|
79
|
+
sessionContext: "sessionContext",
|
|
80
|
+
"null": ""
|
|
81
|
+
};
|
|
82
|
+
var RAILS_ENV = {
|
|
83
|
+
production: "production",
|
|
84
|
+
staging: "staging",
|
|
85
|
+
development: "development"
|
|
86
|
+
};
|
|
87
|
+
var NEETO_WIDGET_SCRIPT_URL = {
|
|
88
|
+
staging: "https://d3nshle8hzelnq.cloudfront.net/neeto-widget-staging.js",
|
|
89
|
+
production: "https://d13nryxs46eypn.cloudfront.net/neeto-widget.js"
|
|
90
|
+
};
|
|
91
|
+
var AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({
|
|
92
|
+
rails: "rails",
|
|
93
|
+
django: "django",
|
|
94
|
+
php: "php"
|
|
95
|
+
});
|
|
96
|
+
var FRAMEWORK_SELECT_OPTIONS = [{
|
|
97
|
+
label: "Ruby(Rails)",
|
|
98
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.rails
|
|
99
|
+
}, {
|
|
100
|
+
label: "Python(Django)",
|
|
101
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.django
|
|
102
|
+
}, {
|
|
103
|
+
label: "PHP",
|
|
104
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.php
|
|
105
|
+
}];
|
|
106
|
+
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}"));
|
|
107
|
+
var WIDGET_CONFIG_URL = "/api/widget/v1/neeto_widget_tokens";
|
|
108
|
+
var EMBED_CODE_EMAIL_URL = "/api/widget/v1/email_snippets";
|
|
109
|
+
var CHAT_WIDGET_KB_BASE_URL = "https://help.neetochat.com";
|
|
110
|
+
var ENGAGE_WIDGET_KB_BASE_URL = "https://help.neetoengage.com";
|
|
111
|
+
var REPLAY_WIDGET_KB_BASE_URL = "https://help.neetoreplay.com";
|
|
112
|
+
var NEETO_REPLAY_CONFIGURE_URL = "".concat(REPLAY_WIDGET_KB_BASE_URL, "/articles/configure-widget");
|
|
113
|
+
var NEETO_CHAT_USER_IDENTITY_URL = "".concat(CHAT_WIDGET_KB_BASE_URL, "/articles/info-about-logged-in-users");
|
|
114
|
+
var WIDGET_KB_HELP_URL = {
|
|
115
|
+
engage: "".concat(ENGAGE_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage"),
|
|
116
|
+
chat: "".concat(CHAT_WIDGET_KB_BASE_URL, "/folders/installation"),
|
|
117
|
+
replay: "".concat(REPLAY_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage")
|
|
118
|
+
};
|
|
119
|
+
var USE_NEETO_WIDGET_NPM_PAGE_URL = "https://www.npmjs.com/package/@bigbinary/react-use-neeto-widget";
|
|
120
|
+
|
|
121
|
+
var ChatWidgetBody = function ChatWidgetBody(_ref) {
|
|
122
|
+
var widgets = _ref.widgets;
|
|
123
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
124
|
+
children: [widgets.includes(WIDGET_TYPES.engage) && /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
125
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.engageHelp",
|
|
126
|
+
values: {
|
|
127
|
+
helpLink: WIDGET_HELP_LINKS.engage
|
|
128
|
+
},
|
|
129
|
+
components: {
|
|
130
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
131
|
+
className: "mb-2",
|
|
132
|
+
variant: "body2"
|
|
133
|
+
}),
|
|
134
|
+
a: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
135
|
+
href: WIDGET_HELP_LINKS.engage,
|
|
136
|
+
rel: "noreferrer",
|
|
137
|
+
target: "_blank",
|
|
138
|
+
variant: "link"
|
|
139
|
+
})
|
|
140
|
+
}
|
|
141
|
+
}), widgets.includes(WIDGET_TYPES.chat) && /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
142
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.chatHelp",
|
|
143
|
+
values: {
|
|
144
|
+
helpLink: WIDGET_HELP_LINKS.chat
|
|
145
|
+
},
|
|
146
|
+
components: {
|
|
147
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
148
|
+
className: "mb-2",
|
|
149
|
+
variant: "body2"
|
|
150
|
+
}),
|
|
151
|
+
a: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
152
|
+
href: WIDGET_HELP_LINKS.chat,
|
|
153
|
+
rel: "noreferrer",
|
|
154
|
+
target: "_blank",
|
|
155
|
+
variant: "link"
|
|
156
|
+
})
|
|
157
|
+
}
|
|
158
|
+
}), widgets.includes(WIDGET_TYPES.replay) && /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
159
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.replayHelp",
|
|
160
|
+
values: {
|
|
161
|
+
helpLink: WIDGET_HELP_LINKS.replay
|
|
162
|
+
},
|
|
163
|
+
components: {
|
|
164
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
165
|
+
className: "mb-2",
|
|
166
|
+
variant: "body2"
|
|
167
|
+
}),
|
|
168
|
+
a: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
169
|
+
href: WIDGET_HELP_LINKS.replay,
|
|
170
|
+
rel: "noreferrer",
|
|
171
|
+
target: "_blank",
|
|
172
|
+
variant: "link"
|
|
173
|
+
})
|
|
174
|
+
}
|
|
175
|
+
})]
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
var SyntaxHighlighter$1 = function SyntaxHighlighter(_ref) {
|
|
180
|
+
var className = _ref.className,
|
|
181
|
+
code = _ref.code,
|
|
182
|
+
language = _ref.language;
|
|
183
|
+
React.useEffect(function () {
|
|
184
|
+
prismTomorrow.Prism.highlightAll();
|
|
185
|
+
}, [code]);
|
|
186
|
+
return /*#__PURE__*/jsxRuntime.jsx("pre", {
|
|
187
|
+
className: className,
|
|
188
|
+
children: /*#__PURE__*/jsxRuntime.jsx("code", {
|
|
189
|
+
className: "language-".concat(language),
|
|
190
|
+
children: code
|
|
191
|
+
})
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
var SyntaxHighlighter = /*#__PURE__*/React.memo(SyntaxHighlighter$1);
|
|
195
|
+
|
|
196
|
+
var CodeBlock = function CodeBlock(_ref) {
|
|
197
|
+
var _ref$title = _ref.title,
|
|
198
|
+
title = _ref$title === void 0 ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
199
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
200
|
+
i18nKey: "neetoMolecules.codeblock.codeSnippet"
|
|
201
|
+
})
|
|
202
|
+
}) : _ref$title,
|
|
203
|
+
codeString = _ref.codeString,
|
|
204
|
+
_ref$showCopyButton = _ref.showCopyButton,
|
|
205
|
+
showCopyButton = _ref$showCopyButton === void 0 ? true : _ref$showCopyButton,
|
|
206
|
+
_ref$className = _ref.className,
|
|
207
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
208
|
+
_ref$sendViaEmail = _ref.sendViaEmail,
|
|
209
|
+
sendViaEmail = _ref$sendViaEmail === void 0 ? undefined : _ref$sendViaEmail,
|
|
210
|
+
_ref$frameworkProps = _ref.frameworkProps,
|
|
211
|
+
frameworkProps = _ref$frameworkProps === void 0 ? {} : _ref$frameworkProps;
|
|
212
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
213
|
+
t = _useTranslation.t;
|
|
214
|
+
var _ref2 = frameworkProps !== null && frameworkProps !== void 0 ? frameworkProps : {},
|
|
215
|
+
selectedFramework = _ref2.selectedFramework,
|
|
216
|
+
setSelectedFramework = _ref2.setSelectedFramework;
|
|
217
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
218
|
+
className: classnames(["relative", className]),
|
|
219
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
220
|
+
className: "border-border bg-muted flex w-full flex-wrap items-center justify-between gap-2 rounded-lg rounded-b-none border p-3",
|
|
221
|
+
children: [title && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
222
|
+
className: "m-0 flex-shrink-0",
|
|
223
|
+
"data-testid": "code-block-title-text",
|
|
224
|
+
variant: "h4",
|
|
225
|
+
children: title
|
|
226
|
+
}), selectedFramework && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Select, {
|
|
227
|
+
className: "max-w-40",
|
|
228
|
+
"data-testid": "framework-select",
|
|
229
|
+
options: FRAMEWORK_SELECT_OPTIONS,
|
|
230
|
+
value: selectedFramework,
|
|
231
|
+
onChange: setSelectedFramework
|
|
232
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
233
|
+
className: "ms-auto flex flex-shrink-0 items-center justify-end gap-2",
|
|
234
|
+
children: sendViaEmail ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
235
|
+
variant: "secondary",
|
|
236
|
+
label: t("neetoMolecules.widget.installation.snippet.sendViaEmail"),
|
|
237
|
+
onClick: sendViaEmail
|
|
238
|
+
}) : null
|
|
239
|
+
})]
|
|
240
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
241
|
+
className: "relative",
|
|
242
|
+
children: [showCopyButton && /*#__PURE__*/jsxRuntime.jsx(v2_CopyToClipboardButton, {
|
|
243
|
+
className: "absolute top-3 right-3",
|
|
244
|
+
value: codeString,
|
|
245
|
+
variant: "secondary",
|
|
246
|
+
tooltipContent: t("neetoMolecules.widget.installation.snippet.copy")
|
|
247
|
+
}), /*#__PURE__*/jsxRuntime.jsx(SyntaxHighlighter, {
|
|
248
|
+
className: "m-0 rounded-lg rounded-t-none pt-4",
|
|
249
|
+
code: codeString,
|
|
250
|
+
language: "javascript"
|
|
251
|
+
})]
|
|
252
|
+
})]
|
|
253
|
+
});
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
var buildEmbedWidgetScript = function buildEmbedWidgetScript() {
|
|
257
|
+
var widgetScriptUrl = window.globalProps.railsEnv === RAILS_ENV.production ? NEETO_WIDGET_SCRIPT_URL.production : NEETO_WIDGET_SCRIPT_URL.staging;
|
|
258
|
+
return "<script src=\"".concat(widgetScriptUrl, "\"></script>");
|
|
259
|
+
};
|
|
260
|
+
var indentAndFormat = function indentAndFormat(str) {
|
|
261
|
+
var formatter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ramda.identity;
|
|
262
|
+
return str.split("\n").map(formatter).join("\n ");
|
|
263
|
+
};
|
|
264
|
+
var getCommentedCommand = function getCommentedCommand(command, isEnabled) {
|
|
265
|
+
return isEnabled ? command : "/// ".concat(command);
|
|
266
|
+
};
|
|
267
|
+
var embedWidgetEnvironment = function embedWidgetEnvironment() {
|
|
268
|
+
switch (window.globalProps.railsEnv) {
|
|
269
|
+
case RAILS_ENV.production:
|
|
270
|
+
return "";
|
|
271
|
+
case RAILS_ENV.development:
|
|
272
|
+
return "environment: \"".concat(RAILS_ENV.development, "\",");
|
|
273
|
+
case RAILS_ENV.staging:
|
|
274
|
+
return "environment: \"".concat(RAILS_ENV.staging, "\",");
|
|
275
|
+
default:
|
|
276
|
+
return "/* Unidentified RAILS_ENV, */";
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
var embedWidgetApiKey = function embedWidgetApiKey(apiKey) {
|
|
280
|
+
return "apiKey: \"".concat(apiKey, "\",");
|
|
281
|
+
};
|
|
282
|
+
var addEngageOptions = function addEngageOptions() {
|
|
283
|
+
return "neetoEngageOptions: {\n elementId: \"neetoengage-trigger\",\n},";
|
|
284
|
+
};
|
|
285
|
+
var wrapBlockInOnLoad = function wrapBlockInOnLoad(codeBlock) {
|
|
286
|
+
return "window.addEventListener(\"load\", () => ".concat(codeBlock, ");");
|
|
287
|
+
};
|
|
288
|
+
var embedWidgetFunctionCall = function embedWidgetFunctionCall(enabledWidgets, apiKey) {
|
|
289
|
+
return "embedNeetoWidget({\n ".concat(embedWidgetEnvironment(), "\n ").concat(indentAndFormat(embedWidgetApiKey(apiKey)), "\n ").concat(indentAndFormat(addEngageOptions(), function (cmd) {
|
|
290
|
+
return getCommentedCommand(cmd, enabledWidgets.engage);
|
|
291
|
+
}), "\n})");
|
|
292
|
+
};
|
|
293
|
+
var filterMarkedCommands = function filterMarkedCommands(queryString) {
|
|
294
|
+
return queryString.split("\n").filter(function (line) {
|
|
295
|
+
return !line.includes("///") && line.trim();
|
|
296
|
+
}).join("\n");
|
|
297
|
+
};
|
|
298
|
+
var getSampleUserIdentity = function getSampleUserIdentity(enabledWidgets, selectedFramework) {
|
|
299
|
+
var splitCodeLines = SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split("\n");
|
|
300
|
+
return filterMarkedCommands(splitCodeLines.map(function (cmd) {
|
|
301
|
+
var isEmailKey = cmd.includes("email");
|
|
302
|
+
var isObjectStartLine = cmd === splitCodeLines[0];
|
|
303
|
+
var isObjectEndLine = cmd === ramda.last(splitCodeLines);
|
|
304
|
+
var isLineHidden = !isEmailKey && !isObjectStartLine && !isObjectEndLine;
|
|
305
|
+
if (!enabledWidgets.chat && isLineHidden || !enabledWidgets.chat && !enabledWidgets.replay) {
|
|
306
|
+
return null;
|
|
307
|
+
}
|
|
308
|
+
return cmd;
|
|
309
|
+
}).join("\n"));
|
|
310
|
+
};
|
|
311
|
+
var sampleConsolidatedCodeString = function sampleConsolidatedCodeString(enabledWidgets, apiKey) {
|
|
312
|
+
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>"));
|
|
313
|
+
};
|
|
314
|
+
var getEmailWidgetSnippetFormInitialValues = function getEmailWidgetSnippetFormInitialValues(subject) {
|
|
315
|
+
return {
|
|
316
|
+
emails: [],
|
|
317
|
+
subject: subject
|
|
318
|
+
};
|
|
319
|
+
};
|
|
320
|
+
var getSortedPrefixedWidgets = function getSortedPrefixedWidgets(widgets) {
|
|
321
|
+
var sortedWidgets = widgets.sort().map(function (widget) {
|
|
322
|
+
return "Neeto".concat(neetoCist.capitalize(widget));
|
|
323
|
+
});
|
|
324
|
+
return sortedWidgets.length === 1 ? sortedWidgets : i18next.t("neetoMolecules.widget.email.widgetList", {
|
|
325
|
+
widgets: sortedWidgets
|
|
326
|
+
});
|
|
327
|
+
};
|
|
328
|
+
var getWidgetDescriptions = function getWidgetDescriptions(widgets) {
|
|
329
|
+
var values = Object.entries(WIDGET_DESCRIPTIONS).filter(function (_ref) {
|
|
330
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
331
|
+
widget = _ref2[0];
|
|
332
|
+
return widgets.includes(widget);
|
|
333
|
+
});
|
|
334
|
+
return ramda.pluck(1, values);
|
|
335
|
+
};
|
|
336
|
+
var getEmailWidgetSnippetValidationSchema = function getEmailWidgetSnippetValidationSchema() {
|
|
337
|
+
return yup__namespace.object({
|
|
338
|
+
emails: yup__namespace.array().required().label(i18next.t("neetoMolecules.widget.email.fields.emails.label")),
|
|
339
|
+
subject: yup__namespace.string().required().label(i18next.t("neetoMolecules.widget.email.fields.subject.label"))
|
|
340
|
+
});
|
|
341
|
+
};
|
|
342
|
+
var getWidgetApiKeyUrl = function getWidgetApiKeyUrl() {
|
|
343
|
+
return "api/widget/v1/api_keys/".concat(window.globalProps.organization.subdomain);
|
|
344
|
+
};
|
|
345
|
+
var shouldShowSwitches = function shouldShowSwitches() {
|
|
346
|
+
return false;
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
var queryWidgetApiKey = function queryWidgetApiKey() {
|
|
350
|
+
return axios.get(getWidgetApiKeyUrl(), {
|
|
351
|
+
showToastr: false
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
var emailWidgetSnippet = function emailWidgetSnippet(data) {
|
|
355
|
+
return axios.post(EMBED_CODE_EMAIL_URL, data);
|
|
356
|
+
};
|
|
357
|
+
var fetchWidgetConfiguration = function fetchWidgetConfiguration() {
|
|
358
|
+
return axios.get(WIDGET_CONFIG_URL);
|
|
359
|
+
};
|
|
360
|
+
var updateWidgetConfiguration = function updateWidgetConfiguration(_ref) {
|
|
361
|
+
var id = _ref.id,
|
|
362
|
+
payload = _ref.payload;
|
|
363
|
+
return axios.put("".concat(WIDGET_CONFIG_URL, "/").concat(id), payload);
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
var useEmailEmbedCode = function useEmailEmbedCode(onSuccess) {
|
|
367
|
+
return reactQuery.useMutation({
|
|
368
|
+
mutationFn: function mutationFn(emailData) {
|
|
369
|
+
return emailWidgetSnippet(emailData);
|
|
370
|
+
},
|
|
371
|
+
onSuccess: onSuccess
|
|
372
|
+
});
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
function ownKeys$3(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; }
|
|
376
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
377
|
+
var CodeSnippet = function CodeSnippet(_ref) {
|
|
378
|
+
var isPaneOpen = _ref.isPaneOpen,
|
|
379
|
+
onClose = _ref.onClose,
|
|
380
|
+
codeString = _ref.codeString,
|
|
381
|
+
_ref$subject = _ref.subject,
|
|
382
|
+
subject = _ref$subject === void 0 ? "" : _ref$subject,
|
|
383
|
+
_ref$body = _ref.body,
|
|
384
|
+
body = _ref$body === void 0 ? "" : _ref$body,
|
|
385
|
+
_ref$emailType = _ref.emailType,
|
|
386
|
+
emailType = _ref$emailType === void 0 ? EMAIL_TYPES.embedCode : _ref$emailType,
|
|
387
|
+
_ref$enabledWidgets = _ref.enabledWidgets,
|
|
388
|
+
enabledWidgets = _ref$enabledWidgets === void 0 ? {} : _ref$enabledWidgets;
|
|
389
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
390
|
+
t = _useTranslation.t;
|
|
391
|
+
var _useState = React.useState(FRAMEWORK_SELECT_OPTIONS[0].value),
|
|
392
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
393
|
+
selectedFramework = _useState2[0],
|
|
394
|
+
setSelectedFramework = _useState2[1];
|
|
395
|
+
var emailMutation = useEmailEmbedCode(onClose);
|
|
396
|
+
var codeToDisplay = emailType === EMAIL_TYPES.userIdentity ? getSampleUserIdentity(enabledWidgets, selectedFramework) : codeString;
|
|
397
|
+
var handleSubmit = function handleSubmit(formData) {
|
|
398
|
+
var _body$ref$current$inn, _body$ref;
|
|
399
|
+
if (ramda.any(function (_ref2) {
|
|
400
|
+
var valid = _ref2.valid;
|
|
401
|
+
return !valid;
|
|
402
|
+
}, formData.emails)) {
|
|
403
|
+
neetoAtoms.Toastr.error(t("neetoMolecules.widget.email.fields.emails.invalidError"));
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
emailMutation.mutate({
|
|
407
|
+
subject: formData.subject,
|
|
408
|
+
emails: ramda.pluck("value", formData.emails),
|
|
409
|
+
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,
|
|
410
|
+
snippet: codeToDisplay
|
|
411
|
+
});
|
|
412
|
+
};
|
|
413
|
+
var renderCodeBlockProps = function renderCodeBlockProps() {
|
|
414
|
+
var props = {
|
|
415
|
+
codeString: codeToDisplay,
|
|
416
|
+
showCopyButton: false,
|
|
417
|
+
className: "rounded-lg"
|
|
418
|
+
};
|
|
419
|
+
if (emailType === EMAIL_TYPES.userIdentity) {
|
|
420
|
+
props = ramda.assoc("frameworkProps", {
|
|
421
|
+
selectedFramework: selectedFramework,
|
|
422
|
+
setSelectedFramework: setSelectedFramework
|
|
423
|
+
}, props);
|
|
424
|
+
}
|
|
425
|
+
return props;
|
|
426
|
+
};
|
|
427
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet, {
|
|
428
|
+
onClose: onClose,
|
|
429
|
+
"aria-describedby": undefined,
|
|
430
|
+
isOpen: isPaneOpen,
|
|
431
|
+
children: /*#__PURE__*/jsxRuntime.jsx(formik.Formik, {
|
|
432
|
+
initialValues: getEmailWidgetSnippetFormInitialValues(subject),
|
|
433
|
+
validationSchema: getEmailWidgetSnippetValidationSchema(),
|
|
434
|
+
onSubmit: handleSubmit,
|
|
435
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
|
|
436
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
|
|
437
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
|
|
438
|
+
children: t("neetoMolecules.widget.email.title")
|
|
439
|
+
})
|
|
440
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Body, {
|
|
441
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
442
|
+
className: "flex w-full flex-col gap-y-4",
|
|
443
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.MultiEmailInput, {
|
|
444
|
+
required: true,
|
|
445
|
+
label: t("neetoMolecules.widget.email.fields.emails.label"),
|
|
446
|
+
name: "emails",
|
|
447
|
+
placeholder: t("neetoMolecules.widget.email.fields.emails.placeholder")
|
|
448
|
+
}), /*#__PURE__*/jsxRuntime.jsx(formik$1.Input, {
|
|
449
|
+
required: true,
|
|
450
|
+
label: t("neetoMolecules.widget.email.fields.subject.label"),
|
|
451
|
+
name: "subject",
|
|
452
|
+
type: "text"
|
|
453
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
454
|
+
variant: "body2",
|
|
455
|
+
children: body
|
|
456
|
+
}), /*#__PURE__*/jsxRuntime.jsx(CodeBlock, _objectSpread$3({}, renderCodeBlockProps()))]
|
|
457
|
+
})
|
|
458
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Footer, {
|
|
459
|
+
className: "gap-x-2",
|
|
460
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
461
|
+
disabled: emailMutation.isPending,
|
|
462
|
+
label: t("neetoMolecules.widget.email.actions.send"),
|
|
463
|
+
loading: emailMutation.isPending,
|
|
464
|
+
type: "submit"
|
|
465
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
466
|
+
label: t("neetoMolecules.widget.email.actions.cancel"),
|
|
467
|
+
variant: "ghost",
|
|
468
|
+
onClick: onClose
|
|
469
|
+
})]
|
|
470
|
+
})]
|
|
471
|
+
})
|
|
472
|
+
})
|
|
473
|
+
});
|
|
474
|
+
};
|
|
475
|
+
|
|
476
|
+
var useForceUpdate = function useForceUpdate() {
|
|
477
|
+
// eslint-disable-next-line react/hook-use-state
|
|
478
|
+
var _useState = React.useState(0),
|
|
479
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
480
|
+
setValue = _useState2[1];
|
|
481
|
+
return function () {
|
|
482
|
+
return setValue(function (value) {
|
|
483
|
+
return value + 1;
|
|
484
|
+
});
|
|
485
|
+
};
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
function ownKeys$2(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; }
|
|
489
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
490
|
+
var useFetchApiKey = function useFetchApiKey() {
|
|
491
|
+
return reactQuery.useQuery({
|
|
492
|
+
queryKey: [QUERY_KEYS.apiKey],
|
|
493
|
+
queryFn: function queryFn() {
|
|
494
|
+
if (window.globalProps.railsEnv === "heroku" || !window.globalProps.ssoEnabled) {
|
|
495
|
+
return Promise.resolve({
|
|
496
|
+
widgetApiKey: "placeholder-api-key"
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
return queryWidgetApiKey();
|
|
500
|
+
},
|
|
501
|
+
staleTime: DEFAULT_QUERY_STALE_TIME
|
|
502
|
+
});
|
|
503
|
+
};
|
|
504
|
+
var useFetchConfigurations = function useFetchConfigurations() {
|
|
505
|
+
return reactQuery.useQuery({
|
|
506
|
+
queryKey: [QUERY_KEYS.configuration],
|
|
507
|
+
queryFn: fetchWidgetConfiguration,
|
|
508
|
+
staleTime: DEFAULT_QUERY_STALE_TIME
|
|
509
|
+
});
|
|
510
|
+
};
|
|
511
|
+
var useUpdateConfigurations = function useUpdateConfigurations() {
|
|
512
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
513
|
+
return useMutationWithInvalidation(updateWidgetConfiguration, _objectSpread$2({
|
|
514
|
+
keysToInvalidate: [[QUERY_KEYS.configuration]]
|
|
515
|
+
}, options));
|
|
516
|
+
};
|
|
517
|
+
|
|
518
|
+
reactUtils.withT(function (_ref) {
|
|
519
|
+
var t = _ref.t,
|
|
520
|
+
enabledClientApps = _ref.enabledClientApps,
|
|
521
|
+
widget = _ref.widget,
|
|
522
|
+
selectedWidgets = _ref.selectedWidgets,
|
|
523
|
+
updateSelectedWidgets = _ref.updateSelectedWidgets;
|
|
524
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
|
|
525
|
+
disabled: enabledClientApps.includes(widget),
|
|
526
|
+
position: "right",
|
|
527
|
+
content: t("neetoMolecules.widget.tooltips.productIsDisabled", {
|
|
528
|
+
productName: "Neeto".concat(neetoCist.capitalize(widget))
|
|
529
|
+
}),
|
|
530
|
+
children: /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
531
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Switch, {
|
|
532
|
+
checked: selectedWidgets.includes(widget),
|
|
533
|
+
disabled: !enabledClientApps.includes(widget),
|
|
534
|
+
onCheckedChange: function onCheckedChange() {
|
|
535
|
+
return updateSelectedWidgets(widget);
|
|
536
|
+
}
|
|
537
|
+
})
|
|
538
|
+
})
|
|
539
|
+
});
|
|
540
|
+
});
|
|
541
|
+
|
|
542
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
543
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
544
|
+
var EmbedCode$1 = function EmbedCode(_ref) {
|
|
545
|
+
var showSessionContext = _ref.showSessionContext,
|
|
546
|
+
showUserIdentity = _ref.showUserIdentity,
|
|
547
|
+
_ref$primaryApp = _ref.primaryApp,
|
|
548
|
+
primaryApp = _ref$primaryApp === void 0 ? "" : _ref$primaryApp,
|
|
549
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
550
|
+
maxWidth = _ref$maxWidth === void 0 ? "max-w-3xl" : _ref$maxWidth;
|
|
551
|
+
var _useState = React.useState(EMAIL_TYPES["null"]),
|
|
552
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
553
|
+
emailType = _useState2[0],
|
|
554
|
+
setEmailType = _useState2[1];
|
|
555
|
+
var _useState3 = React.useState(FRAMEWORK_SELECT_OPTIONS[0].value),
|
|
556
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
557
|
+
selectedFramework = _useState4[0],
|
|
558
|
+
setSelectedFramework = _useState4[1];
|
|
559
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
560
|
+
t = _useTranslation.t;
|
|
561
|
+
var bodyRef = React.useRef();
|
|
562
|
+
var forceUpdate = useForceUpdate();
|
|
563
|
+
React.useEffect(function () {
|
|
564
|
+
forceUpdate();
|
|
565
|
+
}, []);
|
|
566
|
+
var _useFetchApiKey = useFetchApiKey(),
|
|
567
|
+
_useFetchApiKey$data = _useFetchApiKey.data,
|
|
568
|
+
_useFetchApiKey$data2 = _useFetchApiKey$data === void 0 ? {} : _useFetchApiKey$data,
|
|
569
|
+
_useFetchApiKey$data3 = _useFetchApiKey$data2.widgetApiKey,
|
|
570
|
+
widgetApiKey = _useFetchApiKey$data3 === void 0 ? "" : _useFetchApiKey$data3,
|
|
571
|
+
isLoadingApiKey = _useFetchApiKey.isLoading;
|
|
572
|
+
var _useFetchConfiguratio = useFetchConfigurations(),
|
|
573
|
+
_useFetchConfiguratio2 = _useFetchConfiguratio.data,
|
|
574
|
+
_useFetchConfiguratio3 = _useFetchConfiguratio2 === void 0 ? {} : _useFetchConfiguratio2,
|
|
575
|
+
_useFetchConfiguratio4 = _useFetchConfiguratio3.neetoWidgetTokens,
|
|
576
|
+
neetoWidgetTokens = _useFetchConfiguratio4 === void 0 ? [] : _useFetchConfiguratio4,
|
|
577
|
+
isLoadingConfigurations = _useFetchConfiguratio.isLoading;
|
|
578
|
+
var _useUpdateConfigurati = useUpdateConfigurations();
|
|
579
|
+
_useUpdateConfigurati.mutate;
|
|
580
|
+
var previousEmailType = usePrevious(emailType);
|
|
581
|
+
var selectedWidgets = [primaryApp];
|
|
582
|
+
var isOnlyChatWidgetSelected = selectedWidgets.length === 1 && selectedWidgets[0] === WIDGET_TYPES.chat;
|
|
583
|
+
neetoWidgetTokens.filter(ramda.prop("clientApplicationEnabled")).map(function (item) {
|
|
584
|
+
return item.clientApplicationName.toLowerCase();
|
|
585
|
+
});
|
|
586
|
+
var enabledWidgets = ramda.fromPairs(selectedWidgets.map(function (widget) {
|
|
587
|
+
return [widget, true];
|
|
588
|
+
}));
|
|
589
|
+
var shouldShowUserIdentity = showUserIdentity !== null && showUserIdentity !== void 0 ? showUserIdentity : enabledWidgets.chat || enabledWidgets.replay;
|
|
590
|
+
var shouldShowSessionContext = showSessionContext !== null && showSessionContext !== void 0 ? showSessionContext : enabledWidgets.replay;
|
|
591
|
+
var getEmbedCodeString = function getEmbedCodeString() {
|
|
592
|
+
return neetoCist.isNotEmpty(widgetApiKey) ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey) : "";
|
|
593
|
+
};
|
|
594
|
+
var _getSnippetProps = function getSnippetProps(selectedEmailType) {
|
|
595
|
+
switch (selectedEmailType) {
|
|
596
|
+
case EMAIL_TYPES.embedCode:
|
|
597
|
+
return {
|
|
598
|
+
codeString: getEmbedCodeString(),
|
|
599
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.embedCode", {
|
|
600
|
+
widgetList: getSortedPrefixedWidgets(selectedWidgets)
|
|
601
|
+
}),
|
|
602
|
+
body: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
603
|
+
ref: bodyRef,
|
|
604
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
605
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.mainText",
|
|
606
|
+
components: {
|
|
607
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
608
|
+
className: "mb-2",
|
|
609
|
+
variant: "body2"
|
|
610
|
+
})
|
|
611
|
+
},
|
|
612
|
+
values: {
|
|
613
|
+
val: getWidgetDescriptions(selectedWidgets)
|
|
614
|
+
}
|
|
615
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ChatWidgetBody, {
|
|
616
|
+
widgets: selectedWidgets
|
|
617
|
+
}), /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
618
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode.supportText",
|
|
619
|
+
values: {
|
|
620
|
+
helpEmail: INSTALLATION_HELP_EMAIL
|
|
621
|
+
},
|
|
622
|
+
components: {
|
|
623
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
624
|
+
className: "mb-2",
|
|
625
|
+
variant: "body2"
|
|
626
|
+
}),
|
|
627
|
+
mail: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
628
|
+
href: "mailto:".concat(INSTALLATION_HELP_EMAIL),
|
|
629
|
+
rel: "noreferrer",
|
|
630
|
+
target: "_blank",
|
|
631
|
+
variant: "link"
|
|
632
|
+
})
|
|
633
|
+
}
|
|
634
|
+
})]
|
|
635
|
+
})
|
|
636
|
+
};
|
|
637
|
+
case EMAIL_TYPES.userIdentity:
|
|
638
|
+
return {
|
|
639
|
+
emailType: EMAIL_TYPES.userIdentity,
|
|
640
|
+
enabledWidgets: enabledWidgets,
|
|
641
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.userIdentity"),
|
|
642
|
+
body: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
643
|
+
ref: bodyRef,
|
|
644
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
645
|
+
i18nKey: "neetoMolecules.widget.email.body.values.userIdentity",
|
|
646
|
+
components: {
|
|
647
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
648
|
+
className: "mb-2",
|
|
649
|
+
variant: "body2"
|
|
650
|
+
}),
|
|
651
|
+
configureLink: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
652
|
+
rel: "noreferrer",
|
|
653
|
+
target: "_blank",
|
|
654
|
+
variant: "link",
|
|
655
|
+
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
656
|
+
})
|
|
657
|
+
},
|
|
658
|
+
values: {
|
|
659
|
+
userIdentityKbUrl: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
660
|
+
}
|
|
661
|
+
})
|
|
662
|
+
})
|
|
663
|
+
};
|
|
664
|
+
case EMAIL_TYPES.sessionContext:
|
|
665
|
+
return {
|
|
666
|
+
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
667
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.sessionContext"),
|
|
668
|
+
body: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
669
|
+
ref: bodyRef,
|
|
670
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
671
|
+
i18nKey: "neetoMolecules.widget.email.body.values.sessionContext",
|
|
672
|
+
values: {
|
|
673
|
+
sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL
|
|
674
|
+
},
|
|
675
|
+
components: {
|
|
676
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
677
|
+
className: "mb-2",
|
|
678
|
+
variant: "body2"
|
|
679
|
+
}),
|
|
680
|
+
configureLink: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
681
|
+
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
682
|
+
rel: "noreferrer",
|
|
683
|
+
target: "_blank",
|
|
684
|
+
variant: "link"
|
|
685
|
+
})
|
|
686
|
+
}
|
|
687
|
+
})
|
|
688
|
+
})
|
|
689
|
+
};
|
|
690
|
+
case EMAIL_TYPES["null"]:
|
|
691
|
+
return previousEmailType !== EMAIL_TYPES["null"] ? _getSnippetProps(previousEmailType) : {};
|
|
692
|
+
default:
|
|
693
|
+
throw new Error(t("neetoMolecules.widget.email.invalidType"));
|
|
694
|
+
}
|
|
695
|
+
};
|
|
696
|
+
var handleSendViaEmail = function handleSendViaEmail(selectedEmail) {
|
|
697
|
+
if (ramda.isEmpty(selectedWidgets)) {
|
|
698
|
+
neetoAtoms.Toastr.error(t("neetoMolecules.widget.installation.snippet.disabledError"));
|
|
699
|
+
return;
|
|
700
|
+
}
|
|
701
|
+
setEmailType(selectedEmail);
|
|
702
|
+
};
|
|
703
|
+
var getSelectedWidgetsInstructionsKey = function getSelectedWidgetsInstructionsKey() {
|
|
704
|
+
if (ramda.isEmpty(selectedWidgets)) {
|
|
705
|
+
return "neetoMolecules.widget.installation.instructions.placement.noneOfThese";
|
|
706
|
+
}
|
|
707
|
+
if (isOnlyChatWidgetSelected) {
|
|
708
|
+
return "neetoMolecules.widget.installation.instructions.placement.selectedChatWidget";
|
|
709
|
+
}
|
|
710
|
+
return "neetoMolecules.widget.installation.instructions.placement.selectedWidgets";
|
|
711
|
+
};
|
|
712
|
+
var embedHelpTextTranslationComponents = {
|
|
713
|
+
fontBold: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
714
|
+
as: "span",
|
|
715
|
+
variant: "body2",
|
|
716
|
+
weight: "semibold"
|
|
717
|
+
}),
|
|
718
|
+
widgetNpmLink: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
719
|
+
href: USE_NEETO_WIDGET_NPM_PAGE_URL,
|
|
720
|
+
rel: "noreferrer",
|
|
721
|
+
target: "_blank",
|
|
722
|
+
variant: "link"
|
|
723
|
+
}),
|
|
724
|
+
Link: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
725
|
+
href: WIDGET_KB_HELP_URL[primaryApp],
|
|
726
|
+
rel: "noreferrer",
|
|
727
|
+
target: "_blank",
|
|
728
|
+
variant: "link"
|
|
729
|
+
})
|
|
730
|
+
};
|
|
731
|
+
if (isLoadingApiKey || isLoadingConfigurations) {
|
|
732
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
733
|
+
className: "flex h-full w-full items-center justify-center",
|
|
734
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Spinner, {})
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
738
|
+
className: "mx-auto mb-10 w-full flex-col items-center justify-start",
|
|
739
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
740
|
+
className: classnames("mx-auto", maxWidth),
|
|
741
|
+
children: [shouldShowSwitches(), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
742
|
+
className: "mb-8 w-full flex-grow flex-col items-center justify-start",
|
|
743
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
744
|
+
className: "mx-auto mb-2 w-full",
|
|
745
|
+
"data-testid": "embed-code-block",
|
|
746
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CodeBlock, {
|
|
747
|
+
className: "rounded-lg",
|
|
748
|
+
codeString: getEmbedCodeString(),
|
|
749
|
+
sendViaEmail: function sendViaEmail() {
|
|
750
|
+
return handleSendViaEmail(EMAIL_TYPES.embedCode);
|
|
751
|
+
},
|
|
752
|
+
title: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
753
|
+
children: t("neetoMolecules.widget.title.embedCode")
|
|
754
|
+
})
|
|
755
|
+
})
|
|
756
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
757
|
+
className: "w-full",
|
|
758
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
759
|
+
components: embedHelpTextTranslationComponents,
|
|
760
|
+
i18nKey: getSelectedWidgetsInstructionsKey(),
|
|
761
|
+
values: {
|
|
762
|
+
widgetList: getSortedPrefixedWidgets(selectedWidgets)
|
|
763
|
+
}
|
|
764
|
+
})
|
|
765
|
+
})]
|
|
766
|
+
}), shouldShowUserIdentity ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
767
|
+
className: "mb-8 w-full flex-grow flex-col items-center justify-start",
|
|
768
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
769
|
+
className: "mx-auto mb-2 w-full",
|
|
770
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CodeBlock, {
|
|
771
|
+
className: "rounded-lg",
|
|
772
|
+
frameworkProps: {
|
|
773
|
+
selectedFramework: selectedFramework,
|
|
774
|
+
setSelectedFramework: setSelectedFramework
|
|
775
|
+
},
|
|
776
|
+
title: t("neetoMolecules.widget.title.userIdentity"),
|
|
777
|
+
codeString: getSampleUserIdentity(enabledWidgets, selectedFramework),
|
|
778
|
+
sendViaEmail: function sendViaEmail() {
|
|
779
|
+
return handleSendViaEmail(EMAIL_TYPES.userIdentity);
|
|
780
|
+
}
|
|
781
|
+
})
|
|
782
|
+
}), /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
783
|
+
components: {
|
|
784
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
785
|
+
variant: "body2"
|
|
786
|
+
}),
|
|
787
|
+
Link: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
788
|
+
rel: "noreferrer",
|
|
789
|
+
target: "_blank",
|
|
790
|
+
variant: "link",
|
|
791
|
+
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
792
|
+
})
|
|
793
|
+
},
|
|
794
|
+
i18nKey: enabledWidgets.chat ? "neetoMolecules.widget.installation.instructions.userIdentity.chat" : "neetoMolecules.widget.installation.instructions.userIdentity.replay"
|
|
795
|
+
})]
|
|
796
|
+
}) : null, shouldShowSessionContext ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
797
|
+
className: "w-full flex-grow flex-col items-center justify-start",
|
|
798
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
799
|
+
className: "mx-auto mb-2 w-full",
|
|
800
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CodeBlock, {
|
|
801
|
+
className: "rounded-lg",
|
|
802
|
+
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
803
|
+
title: t("neetoMolecules.widget.title.sessionContext"),
|
|
804
|
+
sendViaEmail: function sendViaEmail() {
|
|
805
|
+
return handleSendViaEmail(EMAIL_TYPES.sessionContext);
|
|
806
|
+
}
|
|
807
|
+
})
|
|
808
|
+
}), /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
809
|
+
i18nKey: "neetoMolecules.widget.installation.instructions.sessionContext",
|
|
810
|
+
components: {
|
|
811
|
+
p: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
812
|
+
variant: "body2"
|
|
813
|
+
}),
|
|
814
|
+
Link: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
815
|
+
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
816
|
+
rel: "noreferrer",
|
|
817
|
+
target: "_blank",
|
|
818
|
+
variant: "link"
|
|
819
|
+
})
|
|
820
|
+
}
|
|
821
|
+
})]
|
|
822
|
+
}) : null]
|
|
823
|
+
}), /*#__PURE__*/jsxRuntime.jsx(CodeSnippet, _objectSpread$1({
|
|
824
|
+
isPaneOpen: !!emailType && neetoCist.isNotEmpty(selectedWidgets),
|
|
825
|
+
onClose: function onClose() {
|
|
826
|
+
return setEmailType(EMAIL_TYPES["null"]);
|
|
827
|
+
}
|
|
828
|
+
}, _getSnippetProps(emailType)))]
|
|
829
|
+
});
|
|
830
|
+
};
|
|
831
|
+
var EmbedCode = /*#__PURE__*/React.memo(EmbedCode$1);
|
|
832
|
+
|
|
833
|
+
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; }
|
|
834
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
|
|
835
|
+
var queryClient = new reactQuery.QueryClient();
|
|
836
|
+
var Main = function Main(props) {
|
|
837
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
838
|
+
t = _useTranslation.t;
|
|
839
|
+
var shouldRenderEmbedCode = window.globalProps.ssoEnabled;
|
|
840
|
+
return shouldRenderEmbedCode ? /*#__PURE__*/jsxRuntime.jsx(reactQuery.QueryClientProvider, {
|
|
841
|
+
client: queryClient,
|
|
842
|
+
children: /*#__PURE__*/jsxRuntime.jsx(EmbedCode, _objectSpread({}, props))
|
|
843
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Callout, {
|
|
844
|
+
variant: "info",
|
|
845
|
+
children: t("neetoMolecules.widget.developmentInfo")
|
|
846
|
+
});
|
|
847
|
+
};
|
|
848
|
+
|
|
849
|
+
var NeetoWidget = {
|
|
850
|
+
EmbedCode: Main,
|
|
851
|
+
WIDGET_TYPES: WIDGET_TYPES
|
|
852
|
+
};
|
|
853
|
+
|
|
854
|
+
module.exports = NeetoWidget;
|
|
855
|
+
//# sourceMappingURL=NeetoWidget.js.map
|