@bigbinary/neeto-molecules 1.1.10 → 1.1.11
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/AutoSaveInput/autosaveinput.scss +15 -0
- package/dist/AutoSaveInput/constants.js +13 -0
- package/dist/AutoSaveInput/index.js +124 -0
- package/dist/AutoSaveInput/utils.js +10 -0
- package/dist/Breadcrumbs/breadcrumbs.scss +33 -0
- package/dist/Breadcrumbs/index.js +31 -0
- package/dist/BrowserSupport/Callout.js +15 -0
- package/dist/BrowserSupport/ContactUs.js +21 -0
- package/dist/BrowserSupport/DownloadLink.js +17 -0
- package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +17 -0
- package/dist/BrowserSupport/UnknownBrowser.js +13 -0
- package/dist/BrowserSupport/UnsupportedBrowser.js +24 -0
- package/dist/BrowserSupport/UnsupportedBrowserMessage.js +22 -0
- package/dist/BrowserSupport/UnsupportedBrowserVersion.js +27 -0
- package/dist/BrowserSupport/UnsupportedVersionMessage.js +30 -0
- package/dist/BrowserSupport/browsersupport.scss +71 -0
- package/dist/BrowserSupport/constants.js +63 -0
- package/dist/BrowserSupport/index.js +58 -0
- package/dist/BrowserSupport/utils.js +32 -0
- package/dist/CalendarView/CustomDatePicker.js +87 -0
- package/dist/CalendarView/Header.js +53 -0
- package/dist/CalendarView/constants.js +19 -0
- package/dist/CalendarView/index.js +83 -0
- package/dist/CalendarView/utils.js +50 -0
- package/dist/Codeblock/index.js +30 -0
- package/dist/{Columns.js → Columns/index.js} +13 -130
- package/dist/Columns/utils.js +20 -0
- package/dist/ConfirmationModal/constants.js +3 -0
- package/dist/{ConfirmationModal.js → ConfirmationModal/index.js} +7 -23
- package/dist/ConfirmationModal/utils.js +10 -0
- package/dist/Container/container.scss +21 -0
- package/dist/Container/index.js +23 -0
- package/dist/CopyToClipboardButton/constants.js +13 -0
- package/dist/CopyToClipboardButton/copyToClipboard.scss +22 -0
- package/dist/CopyToClipboardButton/index.js +59 -0
- package/dist/CustomDomain/index.js +98 -0
- package/dist/CustomDomainDashboard/DeleteAlert.js +28 -0
- package/dist/CustomDomainDashboard/Header.js +32 -0
- package/dist/CustomDomainDashboard/Manage/Record.js +42 -0
- package/dist/CustomDomainDashboard/Manage/StatusInfo.js +21 -0
- package/dist/CustomDomainDashboard/Manage/TagBlock.js +36 -0
- package/dist/CustomDomainDashboard/Manage/constants.js +4 -0
- package/dist/CustomDomainDashboard/Manage/index.js +124 -0
- package/dist/CustomDomainDashboard/Manage/utils.js +8 -0
- package/dist/CustomDomainDashboard/api.js +35 -0
- package/dist/CustomDomainDashboard/constants.js +2 -0
- package/dist/CustomDomainDashboard/index.js +118 -0
- package/dist/CustomDomainDashboard/useCustomDomainApi.js +71 -0
- package/dist/CustomDomainDashboard/utils.js +84 -0
- package/dist/{DateFormat.js → DateFormat/index.js} +8 -25
- package/dist/DateRangeFilter/index.js +60 -0
- package/dist/DateRangeFilter/utils.js +113 -0
- package/dist/DynamicVariables/dynamic-variables.scss +34 -0
- package/dist/DynamicVariables/index.js +59 -0
- package/dist/DynamicVariables/utils.js +37 -0
- package/dist/EmailForm/EmailForm.js +97 -0
- package/dist/EmailForm/EmailFormProvider.js +45 -0
- package/dist/EmailForm/EmailPreview.js +129 -0
- package/dist/EmailForm/ReplyToField.js +55 -0
- package/dist/EmailForm/SendToField.js +27 -0
- package/dist/EmailForm/SubjectField.js +64 -0
- package/dist/EmailForm/constants.js +33 -0
- package/dist/EmailForm/contexts/EmailForm.js +7 -0
- package/dist/EmailForm/index.js +4 -0
- package/dist/EmailForm/utils.js +10 -0
- package/dist/EmailPreview/index.js +2 -0
- package/dist/{ErrorPage.js → ErrorPage/constants.js} +36 -175
- package/dist/ErrorPage/index.js +78 -0
- package/dist/Header/Breadcrumbs.js +31 -0
- package/dist/Header/Dropdown.js +12 -0
- package/dist/Header/constants.js +6 -0
- package/dist/Header/header.scss +121 -0
- package/dist/Header/index.js +61 -0
- package/dist/IconPicker/Icon.js +34 -0
- package/dist/IconPicker/NoResults.js +12 -0
- package/dist/IconPicker/constants.js +8 -0
- package/dist/IconPicker/icon-picker.scss +1 -0
- package/dist/IconPicker/index.js +164 -0
- package/dist/ImageWithFallback/ImagePlaceholder.js +16 -0
- package/dist/ImageWithFallback/index.js +31 -0
- package/dist/IntegrationCard/Dropdown.js +45 -0
- package/dist/IntegrationCard/Status.js +25 -0
- package/dist/IntegrationCard/index.js +128 -0
- package/dist/IntegrationDisconnectAlert/index.js +36 -0
- package/dist/{IntegrationWalkthroughModal.js → IntegrationWalkthroughModal/index.js} +6 -8
- package/dist/IpRestriction/AllowedIpRanges.js +72 -0
- package/dist/IpRestriction/CurrentIp.js +26 -0
- package/dist/IpRestriction/FormRow.js +77 -0
- package/dist/IpRestriction/Row.js +86 -0
- package/dist/IpRestriction/apis/allowed_ip_ranges.js +28 -0
- package/dist/IpRestriction/apis/current_ip.js +11 -0
- package/dist/IpRestriction/apis/ip_restriction.js +16 -0
- package/dist/IpRestriction/constants.js +11 -0
- package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +34 -0
- package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +10 -0
- package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +18 -0
- package/dist/IpRestriction/index.js +102 -0
- package/dist/IpRestriction/utils.js +67 -0
- package/dist/KeyboardShortcuts/Pane/HotKey.js +44 -0
- package/dist/KeyboardShortcuts/Pane/HotKeyList.js +42 -0
- package/dist/KeyboardShortcuts/Pane/constants.js +25 -0
- package/dist/KeyboardShortcuts/Pane/index.js +61 -0
- package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +5 -0
- package/dist/KeyboardShortcuts/Pane/utils.js +66 -0
- package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +31 -0
- package/dist/KeyboardShortcuts/index.js +9 -0
- package/dist/LoginPage/Form.js +57 -0
- package/dist/LoginPage/constants.js +12 -0
- package/dist/LoginPage/index.js +103 -0
- package/dist/MenuBar/AddNew.js +25 -0
- package/dist/MenuBar/Block.js +60 -0
- package/dist/MenuBar/Item.js +32 -0
- package/dist/MenuBar/Search.js +39 -0
- package/dist/MenuBar/SubTitle.js +23 -0
- package/dist/MenuBar/index.js +46 -0
- package/dist/MenuBar/menubar.scss +154 -0
- package/dist/Metadata/Block.js +30 -0
- package/dist/Metadata/DetailsBlock.js +86 -0
- package/dist/Metadata/constants.js +9 -0
- package/dist/Metadata/index.js +29 -0
- package/dist/Metadata/metadata.scss +15 -0
- package/dist/MoreDropdown/constants.js +25 -0
- package/dist/{MoreDropdown.js → MoreDropdown/index.js} +9 -102
- package/dist/NavigationHeader/LeftBlock.js +32 -0
- package/dist/NavigationHeader/Navigation.js +24 -0
- package/dist/NavigationHeader/RightBlock.js +68 -0
- package/dist/NavigationHeader/constants.js +11 -0
- package/dist/NavigationHeader/index.js +19 -0
- package/dist/NavigationHeader/navigation-header.scss +3 -0
- package/dist/NeetoWidget/CodeBlock.js +57 -0
- package/dist/NeetoWidget/CodeSnippet.js +119 -0
- package/dist/NeetoWidget/EmbedCode.js +281 -0
- package/dist/NeetoWidget/Main.js +19 -0
- package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +25 -0
- package/dist/NeetoWidget/SelectionSwitches/index.js +44 -0
- package/dist/NeetoWidget/SyntaxHighlighter.js +17 -0
- package/dist/NeetoWidget/api.js +20 -0
- package/dist/NeetoWidget/constants.js +62 -0
- package/dist/NeetoWidget/hooks/useForceUpdate.js +14 -0
- package/dist/NeetoWidget/index.js +7 -0
- package/dist/NeetoWidget/mutations.js +9 -0
- package/dist/NeetoWidget/queries.js +32 -0
- package/dist/NeetoWidget/utils.js +83 -0
- package/dist/PageLoader/index.js +81 -0
- package/dist/PageLoader/page-loader.scss +95 -0
- package/dist/PhoneNumber/CountryPicker/SingleValue.js +21 -0
- package/dist/PhoneNumber/CountryPicker/constants.js +26 -0
- package/dist/PhoneNumber/CountryPicker/index.js +59 -0
- package/dist/PhoneNumber/FormikPhoneNumberInput.js +21 -0
- package/dist/PhoneNumber/PhoneNumber.js +30 -0
- package/dist/PhoneNumber/PhoneNumberInput.js +79 -0
- package/dist/PhoneNumber/index.js +5 -0
- package/dist/PhoneNumber/utils.js +55 -0
- package/dist/PublishBlock/AlertBlock.js +14 -0
- package/dist/PublishBlock/index.js +100 -0
- package/dist/PublishBlock/publish-block.scss +25 -0
- package/dist/Rename/DummySpan.js +21 -0
- package/dist/Rename/constants.js +1 -0
- package/dist/Rename/index.js +191 -0
- package/dist/Rename/rename.scss +69 -0
- package/dist/Rename/utils.js +10 -0
- package/dist/ResponsiveDevicePicker/constants.js +19 -0
- package/dist/ResponsiveDevicePicker/index.js +36 -0
- package/dist/Schedule/DisplayAvailability.js +58 -0
- package/dist/Schedule/Fields.js +43 -0
- package/dist/Schedule/Form/ScheduleRow.js +125 -0
- package/dist/Schedule/Form/constants.js +20 -0
- package/dist/Schedule/Form/index.js +144 -0
- package/dist/Schedule/Form/utils.js +63 -0
- package/dist/Schedule/Header.js +76 -0
- package/dist/Schedule/ScheduleContext.js +8 -0
- package/dist/Schedule/constants.js +8 -0
- package/dist/Schedule/dayjsExtended/constants.js +1 -0
- package/dist/Schedule/dayjsExtended/index.js +14 -0
- package/dist/Schedule/dayjsExtended/range.js +73 -0
- package/dist/Schedule/index.js +80 -0
- package/dist/Schedule/utils.js +152 -0
- package/dist/Scrollable/constants.js +8 -0
- package/dist/Scrollable/index.js +26 -0
- package/dist/Scrollable/scrollable.scss +32 -0
- package/dist/Security/AllowedKeywords/Add.js +38 -0
- package/dist/Security/AllowedKeywords/index.js +38 -0
- package/dist/Security/PasswordBlock.js +31 -0
- package/dist/Security/RadioBlock.js +38 -0
- package/dist/Security/api.js +12 -0
- package/dist/Security/constants.js +58 -0
- package/dist/Security/index.js +68 -0
- package/dist/Security/useSecurityApi.js +22 -0
- package/dist/Security/utils.js +31 -0
- package/dist/SendToFields/FilePicker.js +34 -0
- package/dist/SendToFields/constants.js +6 -0
- package/dist/SendToFields/index.js +102 -0
- package/dist/SendToFields/utils.js +54 -0
- package/dist/Settings/Category.js +30 -0
- package/dist/Settings/Item.js +38 -0
- package/dist/Settings/index.js +37 -0
- package/dist/Settings/utils.js +4 -0
- package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
- package/dist/ShareViaEmail/FilePicker.js +43 -0
- package/dist/ShareViaEmail/Form.js +101 -0
- package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
- package/dist/ShareViaEmail/constants.js +14 -0
- package/dist/ShareViaEmail/index.js +89 -0
- package/dist/ShareViaEmail/utils.js +72 -0
- package/dist/ShareViaLink/EditURL.js +74 -0
- package/dist/ShareViaLink/Link.js +105 -0
- package/dist/ShareViaLink/QRCode.js +41 -0
- package/dist/ShareViaLink/RegenerateURL.js +47 -0
- package/dist/ShareViaLink/SocialMedia.js +52 -0
- package/dist/ShareViaLink/constants.js +25 -0
- package/dist/ShareViaLink/edit-url.scss +8 -0
- package/dist/ShareViaLink/index.js +46 -0
- package/dist/ShareViaLink/utils.js +47 -0
- package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
- package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
- package/dist/Sidebar/AppSwitcher/Body.js +65 -0
- package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
- package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
- package/dist/Sidebar/AppSwitcher/index.js +47 -0
- package/dist/Sidebar/AppSwitcher/utils.js +25 -0
- package/dist/Sidebar/Chevron.js +14 -0
- package/dist/Sidebar/FeaturedTooltip.js +19 -0
- package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
- package/dist/Sidebar/Footer/ProfileButton.js +30 -0
- package/dist/Sidebar/Footer/index.js +56 -0
- package/dist/Sidebar/Footer/utils.js +39 -0
- package/dist/Sidebar/Header.js +33 -0
- package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
- package/dist/Sidebar/HelpSection/index.js +32 -0
- package/dist/Sidebar/Links.js +112 -0
- package/dist/Sidebar/NavIconWrapper.js +20 -0
- package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
- package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
- package/dist/Sidebar/ProfileSection/index.js +42 -0
- package/dist/Sidebar/constants.js +40 -0
- package/dist/Sidebar/index.js +94 -0
- package/dist/Sidebar/sidebar.scss +379 -0
- package/dist/Sidebar/utils.js +18 -0
- package/dist/SubHeader/RightBlock/Columns.js +35 -0
- package/dist/SubHeader/RightBlock/Download.js +28 -0
- package/dist/SubHeader/RightBlock/Filter.js +31 -0
- package/dist/SubHeader/RightBlock/index.js +21 -0
- package/dist/SubHeader/RightBlock/utils.js +13 -0
- package/dist/SubHeader/index.js +28 -0
- package/dist/SubHeader/subheader.scss +78 -0
- package/dist/TableWrapper/index.js +18 -0
- package/dist/ThemeSidebar/Customize/Logo.js +39 -0
- package/dist/ThemeSidebar/Customize/Properties.js +170 -0
- package/dist/ThemeSidebar/Customize/index.js +66 -0
- package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
- package/dist/ThemeSidebar/Themes/index.js +110 -0
- package/dist/ThemeSidebar/TitleBar.js +62 -0
- package/dist/ThemeSidebar/constants.js +127 -0
- package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
- package/dist/ThemeSidebar/fields/Card.js +19 -0
- package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
- package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
- package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
- package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
- package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
- package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
- package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
- package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
- package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
- package/dist/ThemeSidebar/fields/slider.scss +199 -0
- package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
- package/dist/ThemeSidebar/index.js +118 -0
- package/dist/ThemeSidebar/themeSidebar.scss +45 -0
- package/dist/ThemeSidebar/utils.js +169 -0
- package/dist/TimeFormat/index.js +3 -0
- package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
- package/dist/TimezoneMismatchModal/index.js +83 -0
- package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
- package/dist/TimezoneMismatchModal/utils.js +12 -0
- package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
- package/dist/ToggleFeatureCard/constants.js +5 -0
- package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
- package/dist/ToggleFeatureCard/index.js +148 -0
- package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
- package/package.json +27 -34
- package/dist/AutoSaveInput.cjs.js +0 -724
- package/dist/AutoSaveInput.cjs.js.map +0 -1
- package/dist/AutoSaveInput.js +0 -718
- package/dist/AutoSaveInput.js.map +0 -1
- package/dist/Breadcrumbs.cjs.js +0 -44
- package/dist/Breadcrumbs.cjs.js.map +0 -1
- package/dist/Breadcrumbs.js +0 -38
- package/dist/Breadcrumbs.js.map +0 -1
- package/dist/BrowserSupport.cjs.js +0 -1731
- package/dist/BrowserSupport.cjs.js.map +0 -1
- package/dist/BrowserSupport.js +0 -1725
- package/dist/BrowserSupport.js.map +0 -1
- package/dist/CalendarView.cjs.js +0 -610
- package/dist/CalendarView.cjs.js.map +0 -1
- package/dist/CalendarView.js +0 -598
- package/dist/CalendarView.js.map +0 -1
- package/dist/Codeblock.cjs.js +0 -302
- package/dist/Codeblock.cjs.js.map +0 -1
- package/dist/Codeblock.js +0 -296
- package/dist/Codeblock.js.map +0 -1
- package/dist/Columns.cjs.js +0 -248
- package/dist/Columns.cjs.js.map +0 -1
- package/dist/Columns.js.map +0 -1
- package/dist/ConfirmationModal.cjs.js +0 -87
- package/dist/ConfirmationModal.cjs.js.map +0 -1
- package/dist/ConfirmationModal.js.map +0 -1
- package/dist/Container.cjs.js +0 -1277
- package/dist/Container.cjs.js.map +0 -1
- package/dist/Container.js +0 -1271
- package/dist/Container.js.map +0 -1
- package/dist/CopyToClipboardButton.cjs.js +0 -275
- package/dist/CopyToClipboardButton.cjs.js.map +0 -1
- package/dist/CopyToClipboardButton.js +0 -269
- package/dist/CopyToClipboardButton.js.map +0 -1
- package/dist/CustomDomain.cjs.js +0 -774
- package/dist/CustomDomain.cjs.js.map +0 -1
- package/dist/CustomDomain.js +0 -747
- package/dist/CustomDomain.js.map +0 -1
- package/dist/CustomDomainDashboard.cjs.js +0 -2370
- package/dist/CustomDomainDashboard.cjs.js.map +0 -1
- package/dist/CustomDomainDashboard.js +0 -2342
- package/dist/CustomDomainDashboard.js.map +0 -1
- package/dist/DateFormat.cjs.js +0 -51
- package/dist/DateFormat.cjs.js.map +0 -1
- package/dist/DateFormat.js.map +0 -1
- package/dist/DateRangeFilter.cjs.js +0 -236
- package/dist/DateRangeFilter.cjs.js.map +0 -1
- package/dist/DateRangeFilter.js +0 -229
- package/dist/DateRangeFilter.js.map +0 -1
- package/dist/DynamicVariables.cjs.js +0 -189
- package/dist/DynamicVariables.cjs.js.map +0 -1
- package/dist/DynamicVariables.js +0 -183
- package/dist/DynamicVariables.js.map +0 -1
- package/dist/EmailForm.cjs.js +0 -4295
- package/dist/EmailForm.cjs.js.map +0 -1
- package/dist/EmailForm.js +0 -4265
- package/dist/EmailForm.js.map +0 -1
- package/dist/EmailPreview.cjs.js +0 -1419
- package/dist/EmailPreview.cjs.js.map +0 -1
- package/dist/EmailPreview.js +0 -1413
- package/dist/EmailPreview.js.map +0 -1
- package/dist/ErrorPage.cjs.js +0 -226
- package/dist/ErrorPage.cjs.js.map +0 -1
- package/dist/ErrorPage.js.map +0 -1
- package/dist/Header.cjs.js +0 -188
- package/dist/Header.cjs.js.map +0 -1
- package/dist/Header.js +0 -182
- package/dist/Header.js.map +0 -1
- package/dist/IconPicker.cjs.js +0 -1308
- package/dist/IconPicker.cjs.js.map +0 -1
- package/dist/IconPicker.js +0 -1302
- package/dist/IconPicker.js.map +0 -1
- package/dist/ImageWithFallback.cjs.js +0 -247
- package/dist/ImageWithFallback.cjs.js.map +0 -1
- package/dist/ImageWithFallback.js +0 -241
- package/dist/ImageWithFallback.js.map +0 -1
- package/dist/IntegrationCard.cjs.js +0 -409
- package/dist/IntegrationCard.cjs.js.map +0 -1
- package/dist/IntegrationCard.js +0 -403
- package/dist/IntegrationCard.js.map +0 -1
- package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
- package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
- package/dist/IntegrationDisconnectAlert.js +0 -80
- package/dist/IntegrationDisconnectAlert.js.map +0 -1
- package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
- package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
- package/dist/IntegrationWalkthroughModal.js.map +0 -1
- package/dist/IpRestriction.cjs.js +0 -3931
- package/dist/IpRestriction.cjs.js.map +0 -1
- package/dist/IpRestriction.js +0 -3905
- package/dist/IpRestriction.js.map +0 -1
- package/dist/KeyboardShortcuts.cjs.js +0 -2263
- package/dist/KeyboardShortcuts.cjs.js.map +0 -1
- package/dist/KeyboardShortcuts.js +0 -2256
- package/dist/KeyboardShortcuts.js.map +0 -1
- package/dist/LoginPage.cjs.js +0 -618
- package/dist/LoginPage.cjs.js.map +0 -1
- package/dist/LoginPage.js +0 -593
- package/dist/LoginPage.js.map +0 -1
- package/dist/MenuBar.cjs.js +0 -34273
- package/dist/MenuBar.cjs.js.map +0 -1
- package/dist/MenuBar.js +0 -34267
- package/dist/MenuBar.js.map +0 -1
- package/dist/Metadata.cjs.js +0 -272
- package/dist/Metadata.cjs.js.map +0 -1
- package/dist/Metadata.js +0 -266
- package/dist/Metadata.js.map +0 -1
- package/dist/MoreDropdown.cjs.js +0 -168
- package/dist/MoreDropdown.cjs.js.map +0 -1
- package/dist/MoreDropdown.js.map +0 -1
- package/dist/NavigationHeader.cjs.js +0 -756
- package/dist/NavigationHeader.cjs.js.map +0 -1
- package/dist/NavigationHeader.js +0 -750
- package/dist/NavigationHeader.js.map +0 -1
- package/dist/NeetoWidget.cjs.js +0 -3375
- package/dist/NeetoWidget.cjs.js.map +0 -1
- package/dist/NeetoWidget.js +0 -3348
- package/dist/NeetoWidget.js.map +0 -1
- package/dist/PageLoader.cjs.js +0 -158
- package/dist/PageLoader.cjs.js.map +0 -1
- package/dist/PageLoader.js +0 -134
- package/dist/PageLoader.js.map +0 -1
- package/dist/PhoneNumber.cjs.js +0 -7021
- package/dist/PhoneNumber.cjs.js.map +0 -1
- package/dist/PhoneNumber.js +0 -6989
- package/dist/PhoneNumber.js.map +0 -1
- package/dist/PublishBlock.cjs.js +0 -224
- package/dist/PublishBlock.cjs.js.map +0 -1
- package/dist/PublishBlock.js +0 -218
- package/dist/PublishBlock.js.map +0 -1
- package/dist/Rename.cjs.js +0 -516
- package/dist/Rename.cjs.js.map +0 -1
- package/dist/Rename.js +0 -510
- package/dist/Rename.js.map +0 -1
- package/dist/ResponsiveDevicePicker.cjs.js +0 -260
- package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
- package/dist/ResponsiveDevicePicker.js +0 -254
- package/dist/ResponsiveDevicePicker.js.map +0 -1
- package/dist/Schedule.cjs.js +0 -1077
- package/dist/Schedule.cjs.js.map +0 -1
- package/dist/Schedule.js +0 -1046
- package/dist/Schedule.js.map +0 -1
- package/dist/Scrollable.cjs.js +0 -188
- package/dist/Scrollable.cjs.js.map +0 -1
- package/dist/Scrollable.js +0 -182
- package/dist/Scrollable.js.map +0 -1
- package/dist/Security.cjs.js +0 -1921
- package/dist/Security.cjs.js.map +0 -1
- package/dist/Security.js +0 -1895
- package/dist/Security.js.map +0 -1
- package/dist/SendToFields.cjs.js +0 -2524
- package/dist/SendToFields.cjs.js.map +0 -1
- package/dist/SendToFields.js +0 -2517
- package/dist/SendToFields.js.map +0 -1
- package/dist/Settings.cjs.js +0 -501
- package/dist/Settings.cjs.js.map +0 -1
- package/dist/Settings.js +0 -495
- package/dist/Settings.js.map +0 -1
- package/dist/ShareViaEmail.cjs.js +0 -4272
- package/dist/ShareViaEmail.cjs.js.map +0 -1
- package/dist/ShareViaEmail.js +0 -4246
- package/dist/ShareViaEmail.js.map +0 -1
- package/dist/ShareViaLink.cjs.js +0 -1512
- package/dist/ShareViaLink.cjs.js.map +0 -1
- package/dist/ShareViaLink.js +0 -1486
- package/dist/ShareViaLink.js.map +0 -1
- package/dist/Sidebar.cjs.js +0 -34985
- package/dist/Sidebar.cjs.js.map +0 -1
- package/dist/Sidebar.js +0 -34959
- package/dist/Sidebar.js.map +0 -1
- package/dist/SubHeader.cjs.js +0 -283
- package/dist/SubHeader.cjs.js.map +0 -1
- package/dist/SubHeader.js +0 -276
- package/dist/SubHeader.js.map +0 -1
- package/dist/TableWrapper.cjs.js +0 -87
- package/dist/TableWrapper.cjs.js.map +0 -1
- package/dist/TableWrapper.js +0 -81
- package/dist/TableWrapper.js.map +0 -1
- package/dist/ThemeSidebar.cjs.js +0 -13705
- package/dist/ThemeSidebar.cjs.js.map +0 -1
- package/dist/ThemeSidebar.js +0 -13680
- package/dist/ThemeSidebar.js.map +0 -1
- package/dist/TimeFormat.cjs.js +0 -53
- package/dist/TimeFormat.cjs.js.map +0 -1
- package/dist/TimeFormat.js +0 -47
- package/dist/TimeFormat.js.map +0 -1
- package/dist/TimezoneMismatchModal.cjs.js +0 -176
- package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
- package/dist/TimezoneMismatchModal.js +0 -168
- package/dist/TimezoneMismatchModal.js.map +0 -1
- package/dist/ToggleFeatureCard.cjs.js +0 -389
- package/dist/ToggleFeatureCard.cjs.js.map +0 -1
- package/dist/ToggleFeatureCard.js +0 -383
- package/dist/ToggleFeatureCard.js.map +0 -1
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import React, { useState, useRef, useEffect } from "react";
|
|
4
|
+
import classnames from "classnames";
|
|
5
|
+
import { capitalize, isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
|
|
6
|
+
import { usePrevious } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
7
|
+
import { Info } from "@bigbinary/neeto-icons";
|
|
8
|
+
import { Toastr } from "@bigbinary/neetoui";
|
|
9
|
+
import { fromPairs, isEmpty, prop } from "ramda";
|
|
10
|
+
import { Trans, useTranslation } from "react-i18next";
|
|
11
|
+
import PageLoader from "../PageLoader";
|
|
12
|
+
import CodeBlock from "./CodeBlock";
|
|
13
|
+
import CodeSnippet from "./CodeSnippet";
|
|
14
|
+
import { EMAIL_TYPES, SAMPLE_CONTEXT_CODE_STRING, INSTALLATION_HELP_EMAIL, FRAMEWORK_SELECT_OPTIONS, NEETO_CHAT_USER_IDENTITY_URL, NEETO_REPLAY_CONFIGURE_URL } from "./constants";
|
|
15
|
+
import useForceUpdate from "./hooks/useForceUpdate";
|
|
16
|
+
import { useFetchApiKey, useFetchConfigurations, useUpdateConfigurations } from "./queries";
|
|
17
|
+
import SelectionSwitches from "./SelectionSwitches";
|
|
18
|
+
import { getSampleUserIdentity, getSortedPrefixedWidgets, sampleConsolidatedCodeString } from "./utils";
|
|
19
|
+
var EmbedCode = function EmbedCode(_ref) {
|
|
20
|
+
var showSessionContext = _ref.showSessionContext,
|
|
21
|
+
showUserIdentity = _ref.showUserIdentity,
|
|
22
|
+
_ref$primaryApp = _ref.primaryApp,
|
|
23
|
+
primaryApp = _ref$primaryApp === void 0 ? "" : _ref$primaryApp,
|
|
24
|
+
_ref$maxWidth = _ref.maxWidth,
|
|
25
|
+
maxWidth = _ref$maxWidth === void 0 ? "max-w-3xl" : _ref$maxWidth;
|
|
26
|
+
var _useState = useState(EMAIL_TYPES["null"]),
|
|
27
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
28
|
+
emailType = _useState2[0],
|
|
29
|
+
setEmailType = _useState2[1];
|
|
30
|
+
var _useState3 = useState(FRAMEWORK_SELECT_OPTIONS[0]),
|
|
31
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
32
|
+
selectedFramework = _useState4[0],
|
|
33
|
+
setSelectedFramework = _useState4[1];
|
|
34
|
+
var _useTranslation = useTranslation(),
|
|
35
|
+
t = _useTranslation.t;
|
|
36
|
+
var bodyRef = useRef();
|
|
37
|
+
var forceUpdate = useForceUpdate();
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
forceUpdate();
|
|
40
|
+
}, []);
|
|
41
|
+
var _useFetchApiKey = useFetchApiKey(),
|
|
42
|
+
_useFetchApiKey$data = _useFetchApiKey.data,
|
|
43
|
+
_useFetchApiKey$data2 = _useFetchApiKey$data === void 0 ? {} : _useFetchApiKey$data,
|
|
44
|
+
_useFetchApiKey$data3 = _useFetchApiKey$data2.widgetApiKey,
|
|
45
|
+
widgetApiKey = _useFetchApiKey$data3 === void 0 ? "" : _useFetchApiKey$data3,
|
|
46
|
+
isLoadingApiKey = _useFetchApiKey.isLoading;
|
|
47
|
+
var _useFetchConfiguratio = useFetchConfigurations(),
|
|
48
|
+
_useFetchConfiguratio2 = _useFetchConfiguratio.data,
|
|
49
|
+
_useFetchConfiguratio3 = _useFetchConfiguratio2 === void 0 ? {} : _useFetchConfiguratio2,
|
|
50
|
+
_useFetchConfiguratio4 = _useFetchConfiguratio3.neetoWidgetTokens,
|
|
51
|
+
neetoWidgetTokens = _useFetchConfiguratio4 === void 0 ? [] : _useFetchConfiguratio4,
|
|
52
|
+
isLoadingConfigurations = _useFetchConfiguratio.isLoading;
|
|
53
|
+
var _useUpdateConfigurati = useUpdateConfigurations(),
|
|
54
|
+
updateWidgetConfiguration = _useUpdateConfigurati.mutate;
|
|
55
|
+
var previousEmailType = usePrevious(emailType);
|
|
56
|
+
var selectedWidgets = neetoWidgetTokens.filter(prop("enabled")).map(function (item) {
|
|
57
|
+
return item.clientApplicationName.toLowerCase();
|
|
58
|
+
});
|
|
59
|
+
var enabledClientApps = neetoWidgetTokens.filter(prop("clientApplicationEnabled")).map(function (item) {
|
|
60
|
+
return item.clientApplicationName.toLowerCase();
|
|
61
|
+
});
|
|
62
|
+
var enabledWidgets = fromPairs(selectedWidgets.map(function (widget) {
|
|
63
|
+
return [widget, true];
|
|
64
|
+
}));
|
|
65
|
+
var shouldShowUserIdentity = showUserIdentity !== null && showUserIdentity !== void 0 ? showUserIdentity : enabledWidgets.chat || enabledWidgets.replay;
|
|
66
|
+
var shouldShowSessionContext = showSessionContext !== null && showSessionContext !== void 0 ? showSessionContext : enabledWidgets.replay;
|
|
67
|
+
var updateSelectedWidgets = function updateSelectedWidgets(widget) {
|
|
68
|
+
var widgetId = neetoWidgetTokens.find(function (item) {
|
|
69
|
+
return item.clientApplicationName.toLowerCase() === widget;
|
|
70
|
+
}).id;
|
|
71
|
+
var isEnabled = !selectedWidgets.includes(widget);
|
|
72
|
+
updateWidgetConfiguration({
|
|
73
|
+
id: widgetId,
|
|
74
|
+
payload: {
|
|
75
|
+
enabled: isEnabled
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
onSuccess: function onSuccess() {
|
|
79
|
+
var productName = "neeto".concat(capitalize(widget));
|
|
80
|
+
var response = isEnabled ? "neetoMolecules.widget.installation.enabled" : "neetoMolecules.widget.installation.disabled";
|
|
81
|
+
Toastr.success(t(response, {
|
|
82
|
+
productName: productName
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
var getEmbedCodeString = function getEmbedCodeString() {
|
|
88
|
+
return isNotEmpty(widgetApiKey) ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey) : "";
|
|
89
|
+
};
|
|
90
|
+
var getSnippetProps = function getSnippetProps(selectedEmailType) {
|
|
91
|
+
switch (selectedEmailType) {
|
|
92
|
+
case EMAIL_TYPES.embedCode:
|
|
93
|
+
return {
|
|
94
|
+
codeString: getEmbedCodeString(),
|
|
95
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.embedCode"),
|
|
96
|
+
body: /*#__PURE__*/React.createElement("div", {
|
|
97
|
+
ref: bodyRef
|
|
98
|
+
}, /*#__PURE__*/React.createElement(Trans, {
|
|
99
|
+
i18nKey: "neetoMolecules.widget.email.body.values.embedCode",
|
|
100
|
+
components: {
|
|
101
|
+
p: /*#__PURE__*/React.createElement("p", {
|
|
102
|
+
style: {
|
|
103
|
+
marginBottom: "8px"
|
|
104
|
+
}
|
|
105
|
+
}),
|
|
106
|
+
mail: /*#__PURE__*/React.createElement("a", {
|
|
107
|
+
className: "neeto-ui-text-primary-800",
|
|
108
|
+
href: "mailto:".concat(INSTALLATION_HELP_EMAIL),
|
|
109
|
+
rel: "noreferrer",
|
|
110
|
+
target: "_blank"
|
|
111
|
+
})
|
|
112
|
+
},
|
|
113
|
+
values: {
|
|
114
|
+
val: getSortedPrefixedWidgets(selectedWidgets),
|
|
115
|
+
helpEmail: INSTALLATION_HELP_EMAIL
|
|
116
|
+
}
|
|
117
|
+
}))
|
|
118
|
+
};
|
|
119
|
+
case EMAIL_TYPES.userIdentity:
|
|
120
|
+
return {
|
|
121
|
+
emailType: EMAIL_TYPES.userIdentity,
|
|
122
|
+
enabledWidgets: enabledWidgets,
|
|
123
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.userIdentity"),
|
|
124
|
+
body: /*#__PURE__*/React.createElement("div", {
|
|
125
|
+
ref: bodyRef
|
|
126
|
+
}, /*#__PURE__*/React.createElement(Trans, {
|
|
127
|
+
i18nKey: "neetoMolecules.widget.email.body.values.userIdentity",
|
|
128
|
+
components: {
|
|
129
|
+
p: /*#__PURE__*/React.createElement("p", {
|
|
130
|
+
style: {
|
|
131
|
+
marginBottom: "8px"
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
configureLink: /*#__PURE__*/React.createElement("a", {
|
|
135
|
+
className: "neeto-ui-text-primary-800",
|
|
136
|
+
rel: "noreferrer",
|
|
137
|
+
target: "_blank",
|
|
138
|
+
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
139
|
+
})
|
|
140
|
+
},
|
|
141
|
+
values: {
|
|
142
|
+
userIdentityKbUrl: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
143
|
+
}
|
|
144
|
+
}))
|
|
145
|
+
};
|
|
146
|
+
case EMAIL_TYPES.sessionContext:
|
|
147
|
+
return {
|
|
148
|
+
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
149
|
+
subject: t("neetoMolecules.widget.email.fields.subject.values.sessionContext"),
|
|
150
|
+
body: /*#__PURE__*/React.createElement("div", {
|
|
151
|
+
ref: bodyRef
|
|
152
|
+
}, /*#__PURE__*/React.createElement(Trans, {
|
|
153
|
+
i18nKey: "neetoMolecules.widget.email.body.values.sessionContext",
|
|
154
|
+
values: {
|
|
155
|
+
sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL
|
|
156
|
+
},
|
|
157
|
+
components: {
|
|
158
|
+
p: /*#__PURE__*/React.createElement("p", {
|
|
159
|
+
style: {
|
|
160
|
+
marginBottom: "8px"
|
|
161
|
+
}
|
|
162
|
+
}),
|
|
163
|
+
configureLink: /*#__PURE__*/React.createElement("a", {
|
|
164
|
+
className: "neeto-ui-text-primary-800",
|
|
165
|
+
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
166
|
+
rel: "noreferrer",
|
|
167
|
+
target: "_blank"
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
}))
|
|
171
|
+
};
|
|
172
|
+
case EMAIL_TYPES["null"]:
|
|
173
|
+
return previousEmailType !== EMAIL_TYPES["null"] ? getSnippetProps(previousEmailType) : {};
|
|
174
|
+
default:
|
|
175
|
+
throw new Error(t("neetoMolecules.widget.email.invalidType"));
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
var handleSendViaEmail = function handleSendViaEmail(selectedEmail) {
|
|
179
|
+
if (isEmpty(selectedWidgets)) {
|
|
180
|
+
Toastr.error(t("neetoMolecules.widget.installation.snippet.disabledError"));
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
setEmailType(selectedEmail);
|
|
184
|
+
};
|
|
185
|
+
if (isLoadingApiKey || isLoadingConfigurations) {
|
|
186
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
187
|
+
className: "h-full w-full"
|
|
188
|
+
}, /*#__PURE__*/React.createElement(PageLoader, null));
|
|
189
|
+
}
|
|
190
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
191
|
+
className: "mx-auto mb-10 w-full flex-col items-center justify-start"
|
|
192
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
193
|
+
className: classnames("mx-auto", maxWidth)
|
|
194
|
+
}, /*#__PURE__*/React.createElement(SelectionSwitches, {
|
|
195
|
+
enabledClientApps: enabledClientApps,
|
|
196
|
+
primaryApp: primaryApp,
|
|
197
|
+
selectedWidgets: selectedWidgets,
|
|
198
|
+
updateSelectedWidgets: updateSelectedWidgets
|
|
199
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
200
|
+
className: "mb-8 w-full flex-grow flex-col items-center justify-start"
|
|
201
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
202
|
+
className: "mx-auto mb-2 w-full",
|
|
203
|
+
"data-testid": "embed-code-block"
|
|
204
|
+
}, /*#__PURE__*/React.createElement(CodeBlock, {
|
|
205
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
|
|
206
|
+
codeString: getEmbedCodeString(),
|
|
207
|
+
sendViaEmail: function sendViaEmail() {
|
|
208
|
+
return handleSendViaEmail(EMAIL_TYPES.embedCode);
|
|
209
|
+
},
|
|
210
|
+
title: /*#__PURE__*/React.createElement("div", null, t("neetoMolecules.widget.title.embedCode"))
|
|
211
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
212
|
+
className: "w-full"
|
|
213
|
+
}, /*#__PURE__*/React.createElement(Trans, {
|
|
214
|
+
values: {
|
|
215
|
+
val: getSortedPrefixedWidgets(selectedWidgets)
|
|
216
|
+
},
|
|
217
|
+
components: {
|
|
218
|
+
fontBold: /*#__PURE__*/React.createElement("span", {
|
|
219
|
+
className: "font-semibold"
|
|
220
|
+
}),
|
|
221
|
+
fontNormal: /*#__PURE__*/React.createElement("span", {
|
|
222
|
+
className: "font-normal"
|
|
223
|
+
})
|
|
224
|
+
},
|
|
225
|
+
i18nKey: isNotEmpty(selectedWidgets) ? "neetoMolecules.widget.installation.instructions.placement.selectedWidgets" : "neetoMolecules.widget.installation.instructions.placement.noneOfThese"
|
|
226
|
+
}))), shouldShowUserIdentity ? /*#__PURE__*/React.createElement("div", {
|
|
227
|
+
className: "mb-8 w-full flex-grow flex-col items-center justify-start"
|
|
228
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
229
|
+
className: "mx-auto mb-2 w-full"
|
|
230
|
+
}, /*#__PURE__*/React.createElement(CodeBlock, {
|
|
231
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
|
|
232
|
+
frameworkProps: {
|
|
233
|
+
selectedFramework: selectedFramework,
|
|
234
|
+
setSelectedFramework: setSelectedFramework
|
|
235
|
+
},
|
|
236
|
+
codeString: getSampleUserIdentity(enabledWidgets, selectedFramework.value),
|
|
237
|
+
sendViaEmail: function sendViaEmail() {
|
|
238
|
+
return handleSendViaEmail(EMAIL_TYPES.userIdentity);
|
|
239
|
+
},
|
|
240
|
+
title: /*#__PURE__*/React.createElement("div", {
|
|
241
|
+
className: "flex items-center justify-start"
|
|
242
|
+
}, /*#__PURE__*/React.createElement("div", null, t("neetoMolecules.widget.title.userIdentity")), /*#__PURE__*/React.createElement("a", {
|
|
243
|
+
className: "ml-1",
|
|
244
|
+
rel: "noreferrer",
|
|
245
|
+
target: "_blank",
|
|
246
|
+
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
247
|
+
}, /*#__PURE__*/React.createElement(Info, {
|
|
248
|
+
size: 16
|
|
249
|
+
})))
|
|
250
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
251
|
+
className: "w-full"
|
|
252
|
+
}, t("neetoMolecules.widget.installation.instructions.userIdentity"))) : null, shouldShowSessionContext ? /*#__PURE__*/React.createElement("div", {
|
|
253
|
+
className: "w-full flex-grow flex-col items-center justify-start"
|
|
254
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
255
|
+
className: "mx-auto mb-2 w-full"
|
|
256
|
+
}, /*#__PURE__*/React.createElement(CodeBlock, {
|
|
257
|
+
className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
|
|
258
|
+
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
259
|
+
sendViaEmail: function sendViaEmail() {
|
|
260
|
+
return handleSendViaEmail(EMAIL_TYPES.sessionContext);
|
|
261
|
+
},
|
|
262
|
+
title: /*#__PURE__*/React.createElement("div", {
|
|
263
|
+
className: "flex items-center justify-start"
|
|
264
|
+
}, /*#__PURE__*/React.createElement("div", null, t("neetoMolecules.widget.title.sessionContext")), /*#__PURE__*/React.createElement("a", {
|
|
265
|
+
className: "ml-1",
|
|
266
|
+
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
267
|
+
rel: "noreferrer",
|
|
268
|
+
target: "_blank"
|
|
269
|
+
}, /*#__PURE__*/React.createElement(Info, {
|
|
270
|
+
size: 16
|
|
271
|
+
})))
|
|
272
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
273
|
+
className: "w-full"
|
|
274
|
+
}, t("neetoMolecules.widget.installation.instructions.sessionContext"))) : null), /*#__PURE__*/React.createElement(CodeSnippet, _extends({
|
|
275
|
+
isPaneOpen: !!emailType && isNotEmpty(selectedWidgets),
|
|
276
|
+
onClose: function onClose() {
|
|
277
|
+
return setEmailType(EMAIL_TYPES["null"]);
|
|
278
|
+
}
|
|
279
|
+
}, getSnippetProps(emailType))));
|
|
280
|
+
};
|
|
281
|
+
export default /*#__PURE__*/React.memo(EmbedCode);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Info } from "@bigbinary/neeto-icons";
|
|
3
|
+
import { Callout } from "@bigbinary/neetoui";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { QueryClient, QueryClientProvider } from "react-query";
|
|
6
|
+
import EmbedCode from "./EmbedCode";
|
|
7
|
+
var queryClient = new QueryClient();
|
|
8
|
+
var Main = function Main(props) {
|
|
9
|
+
var _useTranslation = useTranslation(),
|
|
10
|
+
t = _useTranslation.t;
|
|
11
|
+
var shouldRenderEmbedCode = window.globalProps.ssoEnabled;
|
|
12
|
+
return shouldRenderEmbedCode ? /*#__PURE__*/React.createElement(QueryClientProvider, {
|
|
13
|
+
client: queryClient
|
|
14
|
+
}, /*#__PURE__*/React.createElement(EmbedCode, props)) : /*#__PURE__*/React.createElement(Callout, {
|
|
15
|
+
icon: Info,
|
|
16
|
+
style: "info"
|
|
17
|
+
}, t("neetoMolecules.widget.developmentInfo"));
|
|
18
|
+
};
|
|
19
|
+
export default Main;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { capitalize } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { withT } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
4
|
+
import { Switch, Tooltip } from "@bigbinary/neetoui";
|
|
5
|
+
var TooltipSwitch = withT(function (_ref) {
|
|
6
|
+
var t = _ref.t,
|
|
7
|
+
enabledClientApps = _ref.enabledClientApps,
|
|
8
|
+
widget = _ref.widget,
|
|
9
|
+
selectedWidgets = _ref.selectedWidgets,
|
|
10
|
+
updateSelectedWidgets = _ref.updateSelectedWidgets;
|
|
11
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
12
|
+
disabled: enabledClientApps.includes(widget),
|
|
13
|
+
placement: "right",
|
|
14
|
+
content: t("neetoMolecules.widget.tooltips.productIsDisabled", {
|
|
15
|
+
productName: "neeto".concat(capitalize(widget))
|
|
16
|
+
})
|
|
17
|
+
}, /*#__PURE__*/React.createElement(Switch, {
|
|
18
|
+
checked: selectedWidgets.includes(widget),
|
|
19
|
+
disabled: !enabledClientApps.includes(widget),
|
|
20
|
+
onChange: function onChange() {
|
|
21
|
+
return updateSelectedWidgets(widget);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
});
|
|
25
|
+
export default TooltipSwitch;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { capitalize, isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { Info } from "@bigbinary/neeto-icons";
|
|
4
|
+
import { Label } from "@bigbinary/neetoui";
|
|
5
|
+
import TooltipSwitch from "./TooltipSwitch";
|
|
6
|
+
import { WIDGET_TYPES_VALUES, WIDGET_KB_HELP_URL } from "../constants";
|
|
7
|
+
var SelectionSwitches = function SelectionSwitches(_ref) {
|
|
8
|
+
var selectedWidgets = _ref.selectedWidgets,
|
|
9
|
+
updateSelectedWidgets = _ref.updateSelectedWidgets,
|
|
10
|
+
primaryApp = _ref.primaryApp,
|
|
11
|
+
enabledClientApps = _ref.enabledClientApps;
|
|
12
|
+
var primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp) ? primaryApp : "";
|
|
13
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
14
|
+
className: "mb-4 flex w-full items-center justify-between gap-2"
|
|
15
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
16
|
+
className: "flex items-center space-x-2"
|
|
17
|
+
}, isNotEmpty(primaryWidget) && /*#__PURE__*/React.createElement(TooltipSwitch, {
|
|
18
|
+
enabledClientApps: enabledClientApps,
|
|
19
|
+
selectedWidgets: selectedWidgets,
|
|
20
|
+
updateSelectedWidgets: updateSelectedWidgets,
|
|
21
|
+
widget: primaryWidget
|
|
22
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
className: "flex items-center space-x-1"
|
|
24
|
+
}, /*#__PURE__*/React.createElement(Label, null, "neeto", capitalize(primaryWidget)), /*#__PURE__*/React.createElement("a", {
|
|
25
|
+
href: WIDGET_KB_HELP_URL[primaryApp],
|
|
26
|
+
rel: "noreferrer",
|
|
27
|
+
target: "_blank"
|
|
28
|
+
}, /*#__PURE__*/React.createElement(Info, {
|
|
29
|
+
size: 16
|
|
30
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: "flex items-center justify-end gap-6"
|
|
32
|
+
}, WIDGET_TYPES_VALUES.map(function (widget, index) {
|
|
33
|
+
return primaryApp !== widget && /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: "flex items-center space-x-2",
|
|
35
|
+
key: index
|
|
36
|
+
}, /*#__PURE__*/React.createElement(TooltipSwitch, {
|
|
37
|
+
enabledClientApps: enabledClientApps,
|
|
38
|
+
selectedWidgets: selectedWidgets,
|
|
39
|
+
updateSelectedWidgets: updateSelectedWidgets,
|
|
40
|
+
widget: widget
|
|
41
|
+
}), /*#__PURE__*/React.createElement(Label, null, "neeto", capitalize(widget)));
|
|
42
|
+
})));
|
|
43
|
+
};
|
|
44
|
+
export default SelectionSwitches;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import Prism from "prismjs";
|
|
3
|
+
import "prismjs/themes/prism-tomorrow.css";
|
|
4
|
+
var SyntaxHighlighter = function SyntaxHighlighter(_ref) {
|
|
5
|
+
var className = _ref.className,
|
|
6
|
+
code = _ref.code,
|
|
7
|
+
language = _ref.language;
|
|
8
|
+
useEffect(function () {
|
|
9
|
+
Prism.highlightAll();
|
|
10
|
+
}, [code]);
|
|
11
|
+
return /*#__PURE__*/React.createElement("pre", {
|
|
12
|
+
className: className
|
|
13
|
+
}, /*#__PURE__*/React.createElement("code", {
|
|
14
|
+
className: "language-".concat(language)
|
|
15
|
+
}, code));
|
|
16
|
+
};
|
|
17
|
+
export default /*#__PURE__*/React.memo(SyntaxHighlighter);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EMBED_CODE_EMAIL_URL, WIDGET_CONFIG_URL } from "./constants";
|
|
2
|
+
import { getWidgetApiKeyUrl } from "./utils";
|
|
3
|
+
var _require = require("axios"),
|
|
4
|
+
axios = _require["default"];
|
|
5
|
+
export var queryWidgetApiKey = function queryWidgetApiKey() {
|
|
6
|
+
return axios.get(getWidgetApiKeyUrl(), {
|
|
7
|
+
showToastr: false
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
export var emailWidgetSnippet = function emailWidgetSnippet(data) {
|
|
11
|
+
return axios.post(EMBED_CODE_EMAIL_URL, data);
|
|
12
|
+
};
|
|
13
|
+
export var fetchWidgetConfiguration = function fetchWidgetConfiguration() {
|
|
14
|
+
return axios.get(WIDGET_CONFIG_URL);
|
|
15
|
+
};
|
|
16
|
+
export var updateWidgetConfiguration = function updateWidgetConfiguration(_ref) {
|
|
17
|
+
var id = _ref.id,
|
|
18
|
+
payload = _ref.payload;
|
|
19
|
+
return axios.put("".concat(WIDGET_CONFIG_URL, "/").concat(id), payload);
|
|
20
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
var _SAMPLE_USER_IDENTITY;
|
|
3
|
+
import { values } from "ramda";
|
|
4
|
+
export var NEETO_WIDGET_USER_IDENTITY_KEY = "NeetoWidgetUserIdentity";
|
|
5
|
+
export var SESSION_CONTEXT_KEY = "NeetoReplayWidgetSessionContext";
|
|
6
|
+
export var INSTALLATION_HELP_EMAIL = "support@neeto.com";
|
|
7
|
+
export var SAMPLE_CONTEXT_CODE_STRING = "window.".concat(SESSION_CONTEXT_KEY, " = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}");
|
|
8
|
+
export var WIDGET_TYPES = {
|
|
9
|
+
changelog: "changelog",
|
|
10
|
+
chat: "chat",
|
|
11
|
+
replay: "replay"
|
|
12
|
+
};
|
|
13
|
+
export var WIDGET_TYPES_VALUES = values(WIDGET_TYPES);
|
|
14
|
+
export var QUERY_KEYS = {
|
|
15
|
+
apiKey: "neetoWidgetApiKey",
|
|
16
|
+
configuration: "neetoWidgetConfiguration"
|
|
17
|
+
};
|
|
18
|
+
export var DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds
|
|
19
|
+
|
|
20
|
+
export var EMAIL_TYPES = {
|
|
21
|
+
embedCode: "embedCode",
|
|
22
|
+
userIdentity: "userIdentity",
|
|
23
|
+
sessionContext: "sessionContext",
|
|
24
|
+
"null": ""
|
|
25
|
+
};
|
|
26
|
+
export var RAILS_ENV = {
|
|
27
|
+
production: "production",
|
|
28
|
+
staging: "staging",
|
|
29
|
+
development: "development"
|
|
30
|
+
};
|
|
31
|
+
export var NEETO_WIDGET_SCRIPT_URL = {
|
|
32
|
+
staging: "https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js",
|
|
33
|
+
production: "https://d13nryxs46eypn.cloudfront.net/neeto-widget.js"
|
|
34
|
+
};
|
|
35
|
+
export var AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({
|
|
36
|
+
rails: "rails",
|
|
37
|
+
django: "django",
|
|
38
|
+
php: "php"
|
|
39
|
+
});
|
|
40
|
+
export var FRAMEWORK_SELECT_OPTIONS = [{
|
|
41
|
+
label: "Ruby(Rails)",
|
|
42
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.rails
|
|
43
|
+
}, {
|
|
44
|
+
label: "Python(Django)",
|
|
45
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.django
|
|
46
|
+
}, {
|
|
47
|
+
label: "PHP",
|
|
48
|
+
value: AVAILABLE_FRAMEWORK_OPTIONS.php
|
|
49
|
+
}];
|
|
50
|
+
export var SAMPLE_USER_IDENTITY_CODE_STRING = (_SAMPLE_USER_IDENTITY = {}, _defineProperty(_SAMPLE_USER_IDENTITY, 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}")), _defineProperty(_SAMPLE_USER_IDENTITY, 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}")), _defineProperty(_SAMPLE_USER_IDENTITY, 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}")), _SAMPLE_USER_IDENTITY);
|
|
51
|
+
export var WIDGET_CONFIG_URL = "api/widget/v1/neeto_widget_tokens";
|
|
52
|
+
export var EMBED_CODE_EMAIL_URL = "api/widget/v1/email_snippets";
|
|
53
|
+
export var CHAT_WIDGET_KB_BASE_URL = "https://help.neetochat.com";
|
|
54
|
+
export var CHANGELOG_WIDGET_KB_BASE_URL = "https://help.neetochangelog.com";
|
|
55
|
+
export var REPLAY_WIDGET_KB_BASE_URL = "https://help.neetoreplay.com";
|
|
56
|
+
export var NEETO_REPLAY_CONFIGURE_URL = "".concat(REPLAY_WIDGET_KB_BASE_URL, "/articles/configure-widget");
|
|
57
|
+
export var NEETO_CHAT_USER_IDENTITY_URL = "".concat(CHAT_WIDGET_KB_BASE_URL, "/articles/info-about-logged-in-users");
|
|
58
|
+
export var WIDGET_KB_HELP_URL = {
|
|
59
|
+
changelog: "".concat(CHANGELOG_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage"),
|
|
60
|
+
chat: "".concat(CHAT_WIDGET_KB_BASE_URL, "/categories/installation"),
|
|
61
|
+
replay: "".concat(REPLAY_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage")
|
|
62
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
var useForceUpdate = function useForceUpdate() {
|
|
4
|
+
// eslint-disable-next-line react/hook-use-state
|
|
5
|
+
var _useState = useState(0),
|
|
6
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7
|
+
setValue = _useState2[1];
|
|
8
|
+
return function () {
|
|
9
|
+
return setValue(function (value) {
|
|
10
|
+
return value + 1;
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default useForceUpdate;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useMutation } from "react-query";
|
|
2
|
+
import { emailWidgetSnippet } from "./api";
|
|
3
|
+
export var useEmailEmbedCode = function useEmailEmbedCode(onSuccess) {
|
|
4
|
+
return useMutation(function (emailData) {
|
|
5
|
+
return emailWidgetSnippet(emailData);
|
|
6
|
+
}, {
|
|
7
|
+
onSuccess: onSuccess
|
|
8
|
+
});
|
|
9
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
import { useQuery, useQueryClient, useMutation } from "react-query";
|
|
5
|
+
import { queryWidgetApiKey, fetchWidgetConfiguration, updateWidgetConfiguration } from "./api";
|
|
6
|
+
import { DEFAULT_QUERY_STALE_TIME, QUERY_KEYS } from "./constants";
|
|
7
|
+
export var useFetchApiKey = function useFetchApiKey() {
|
|
8
|
+
return useQuery(QUERY_KEYS.apiKey, function () {
|
|
9
|
+
if (window.globalProps.railsEnv === "heroku" || !process.env.ENABLE_SSO) {
|
|
10
|
+
return Promise.resolve({
|
|
11
|
+
widgetApiKey: "placeholder-api-key"
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return queryWidgetApiKey();
|
|
15
|
+
}, {
|
|
16
|
+
staleTime: DEFAULT_QUERY_STALE_TIME
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export var useFetchConfigurations = function useFetchConfigurations() {
|
|
20
|
+
return useQuery(QUERY_KEYS.configuration, fetchWidgetConfiguration, {
|
|
21
|
+
staleTime: DEFAULT_QUERY_STALE_TIME
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export var useUpdateConfigurations = function useUpdateConfigurations() {
|
|
25
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
26
|
+
var queryClient = useQueryClient();
|
|
27
|
+
return useMutation(updateWidgetConfiguration, _objectSpread(_objectSpread({}, options), {}, {
|
|
28
|
+
onSuccess: function onSuccess() {
|
|
29
|
+
return queryClient.invalidateQueries(QUERY_KEYS.configuration);
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import i18next from "i18next";
|
|
2
|
+
import { capitalize } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { identity, last } from "ramda";
|
|
4
|
+
import * as yup from "yup";
|
|
5
|
+
import { NEETO_WIDGET_USER_IDENTITY_KEY, SESSION_CONTEXT_KEY, RAILS_ENV, NEETO_WIDGET_SCRIPT_URL, SAMPLE_USER_IDENTITY_CODE_STRING } from "./constants";
|
|
6
|
+
var buildEmbedWidgetScript = function buildEmbedWidgetScript() {
|
|
7
|
+
var widgetScriptUrl = window.globalProps.railsEnv === RAILS_ENV.production ? NEETO_WIDGET_SCRIPT_URL.production : NEETO_WIDGET_SCRIPT_URL.staging;
|
|
8
|
+
return "<script src=\"".concat(widgetScriptUrl, "\"></script>");
|
|
9
|
+
};
|
|
10
|
+
var indentAndFormat = function indentAndFormat(str) {
|
|
11
|
+
var formatter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;
|
|
12
|
+
return str.split("\n").map(formatter).join("\n ");
|
|
13
|
+
};
|
|
14
|
+
var getCommentedCommand = function getCommentedCommand(command, isEnabled) {
|
|
15
|
+
return isEnabled ? command : "/// ".concat(command);
|
|
16
|
+
};
|
|
17
|
+
var embedWidgetEnvironment = function embedWidgetEnvironment() {
|
|
18
|
+
switch (window.globalProps.railsEnv) {
|
|
19
|
+
case RAILS_ENV.production:
|
|
20
|
+
return "";
|
|
21
|
+
case RAILS_ENV.development:
|
|
22
|
+
return "environment: \"".concat(RAILS_ENV.development, "\",");
|
|
23
|
+
case RAILS_ENV.staging:
|
|
24
|
+
return "environment: \"".concat(RAILS_ENV.staging, "\",");
|
|
25
|
+
default:
|
|
26
|
+
return "/* Unidentified RAILS_ENV, */";
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var embedWidgetApiKey = function embedWidgetApiKey(apiKey) {
|
|
30
|
+
return "apiKey: \"".concat(apiKey, "\",");
|
|
31
|
+
};
|
|
32
|
+
var addChangelogOptions = function addChangelogOptions() {
|
|
33
|
+
return "neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},";
|
|
34
|
+
};
|
|
35
|
+
var wrapBlockInOnLoad = function wrapBlockInOnLoad(codeBlock) {
|
|
36
|
+
return "window.addEventListener(\"load\", () => ".concat(codeBlock, ");");
|
|
37
|
+
};
|
|
38
|
+
var embedWidgetFunctionCall = function embedWidgetFunctionCall(enabledWidgets, apiKey) {
|
|
39
|
+
return "embedNeetoWidget({\n ".concat(embedWidgetEnvironment(), "\n ").concat(indentAndFormat(embedWidgetApiKey(apiKey)), "\n ").concat(indentAndFormat(addChangelogOptions(), function (cmd) {
|
|
40
|
+
return getCommentedCommand(cmd, enabledWidgets.changelog);
|
|
41
|
+
}), "\n})");
|
|
42
|
+
};
|
|
43
|
+
var filterMarkedCommands = function filterMarkedCommands(queryString) {
|
|
44
|
+
return queryString.split("\n").filter(function (line) {
|
|
45
|
+
return !line.includes("///") && line.trim();
|
|
46
|
+
}).join("\n");
|
|
47
|
+
};
|
|
48
|
+
export var getSampleUserIdentity = function getSampleUserIdentity(enabledWidgets, selectedFramework) {
|
|
49
|
+
var splitCodeLines = SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split("\n");
|
|
50
|
+
return filterMarkedCommands(splitCodeLines.map(function (cmd) {
|
|
51
|
+
var isEmailKey = cmd.includes("email");
|
|
52
|
+
var isObjectStartLine = cmd === splitCodeLines[0];
|
|
53
|
+
var isObjectEndLine = cmd === last(splitCodeLines);
|
|
54
|
+
var isLineHidden = !isEmailKey && !isObjectStartLine && !isObjectEndLine;
|
|
55
|
+
if (!enabledWidgets.chat && isLineHidden || !enabledWidgets.chat && !enabledWidgets.replay) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return cmd;
|
|
59
|
+
}).join("\n"));
|
|
60
|
+
};
|
|
61
|
+
export var sampleConsolidatedCodeString = function sampleConsolidatedCodeString(enabledWidgets, apiKey) {
|
|
62
|
+
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>"));
|
|
63
|
+
};
|
|
64
|
+
export var getEmailWidgetSnippetFormInitialValues = function getEmailWidgetSnippetFormInitialValues(subject) {
|
|
65
|
+
return {
|
|
66
|
+
emails: "",
|
|
67
|
+
subject: subject
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export var getSortedPrefixedWidgets = function getSortedPrefixedWidgets(widgets) {
|
|
71
|
+
return widgets.sort().map(function (widget) {
|
|
72
|
+
return "neeto".concat(capitalize(widget));
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
export var getEmailWidgetSnippetValidationSchema = function getEmailWidgetSnippetValidationSchema() {
|
|
76
|
+
return yup.object({
|
|
77
|
+
emails: yup.array().required().label(i18next.t("neetoMolecules.widget.email.fields.emails.label")),
|
|
78
|
+
subject: yup.string().required().label(i18next.t("neetoMolecules.widget.email.fields.subject.label"))
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
export var getWidgetApiKeyUrl = function getWidgetApiKeyUrl() {
|
|
82
|
+
return "api/widget/v1/api_keys/".concat(window.globalProps.organization.subdomain);
|
|
83
|
+
};
|