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