@bigbinary/neeto-molecules 1.1.16 → 1.1.18
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.js +658 -0
- package/dist/AutoSaveInput.js.map +1 -0
- package/dist/Breadcrumbs.js +38 -0
- package/dist/Breadcrumbs.js.map +1 -0
- package/dist/BrowserSupport.js +418 -0
- package/dist/BrowserSupport.js.map +1 -0
- package/dist/Builder.js +662 -0
- package/dist/Builder.js.map +1 -0
- package/dist/CalendarView.js +538 -0
- package/dist/CalendarView.js.map +1 -0
- package/dist/Codeblock.js +236 -0
- package/dist/Codeblock.js.map +1 -0
- package/dist/{Columns/index.js → Columns.js} +130 -13
- package/dist/Columns.js.map +1 -0
- package/dist/{ConfirmationModal/index.js → ConfirmationModal.js} +20 -8
- package/dist/ConfirmationModal.js.map +1 -0
- package/dist/Container.js +1211 -0
- package/dist/Container.js.map +1 -0
- package/dist/CopyToClipboardButton.js +209 -0
- package/dist/CopyToClipboardButton.js.map +1 -0
- package/dist/CustomDomain.js +688 -0
- package/dist/CustomDomain.js.map +1 -0
- package/dist/CustomDomainDashboard.js +2283 -0
- package/dist/CustomDomainDashboard.js.map +1 -0
- package/dist/{DateFormat/index.js → DateFormat.js} +25 -8
- package/dist/DateFormat.js.map +1 -0
- package/dist/DateRangeFilter.js +229 -0
- package/dist/DateRangeFilter.js.map +1 -0
- package/dist/DynamicVariables.js +183 -0
- package/dist/DynamicVariables.js.map +1 -0
- package/dist/EmailForm.js +2292 -0
- package/dist/EmailForm.js.map +1 -0
- package/dist/EmailPreview.js +1353 -0
- package/dist/EmailPreview.js.map +1 -0
- package/dist/{ErrorPage/constants.js → ErrorPage.js} +137 -36
- package/dist/ErrorPage.js.map +1 -0
- package/dist/Header.js +122 -0
- package/dist/Header.js.map +1 -0
- package/dist/IconPicker.js +313 -0
- package/dist/IconPicker.js.map +1 -0
- package/dist/ImageWithFallback.js +181 -0
- package/dist/ImageWithFallback.js.map +1 -0
- package/dist/IntegrationCard.js +343 -0
- package/dist/IntegrationCard.js.map +1 -0
- package/dist/IntegrationDisconnectAlert.js +80 -0
- package/dist/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/{IntegrationWalkthroughModal/index.js → IntegrationWalkthroughModal.js} +8 -6
- package/dist/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/IpRestriction.js +857 -0
- package/dist/IpRestriction.js.map +1 -0
- package/dist/KeyboardShortcuts.js +359 -0
- package/dist/KeyboardShortcuts.js.map +1 -0
- package/dist/LoginPage.js +593 -0
- package/dist/LoginPage.js.map +1 -0
- package/dist/MenuBar.js +1461 -0
- package/dist/MenuBar.js.map +1 -0
- package/dist/Metadata.js +206 -0
- package/dist/Metadata.js.map +1 -0
- package/dist/{MoreDropdown/index.js → MoreDropdown.js} +102 -9
- package/dist/MoreDropdown.js.map +1 -0
- package/dist/NavigationHeader.js +690 -0
- package/dist/NavigationHeader.js.map +1 -0
- package/dist/NeetoWidget.js +1333 -0
- package/dist/NeetoWidget.js.map +1 -0
- package/dist/PageLoader.js +134 -0
- package/dist/PageLoader.js.map +1 -0
- package/dist/PhoneNumber.js +365 -0
- package/dist/PhoneNumber.js.map +1 -0
- package/dist/PublishBlock.js +158 -0
- package/dist/PublishBlock.js.map +1 -0
- package/dist/Rename.js +450 -0
- package/dist/Rename.js.map +1 -0
- package/dist/ResponsiveDevicePicker.js +194 -0
- package/dist/ResponsiveDevicePicker.js.map +1 -0
- package/dist/Schedule.js +1046 -0
- package/dist/Schedule.js.map +1 -0
- package/dist/Scrollable.js +122 -0
- package/dist/Scrollable.js.map +1 -0
- package/dist/Search.js +151 -0
- package/dist/Search.js.map +1 -0
- package/dist/Security.js +1835 -0
- package/dist/Security.js.map +1 -0
- package/dist/SendToFields.js +601 -0
- package/dist/SendToFields.js.map +1 -0
- package/dist/Settings.js +435 -0
- package/dist/Settings.js.map +1 -0
- package/dist/ShareViaEmail.js +2277 -0
- package/dist/ShareViaEmail.js.map +1 -0
- package/dist/ShareViaLink.js +628 -0
- package/dist/ShareViaLink.js.map +1 -0
- package/dist/Sidebar.js +972 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/SubHeader.js +216 -0
- package/dist/SubHeader.js.map +1 -0
- package/dist/{TableWrapper/index.js → TableWrapper.js} +6 -3
- package/dist/TableWrapper.js.map +1 -0
- package/dist/ThemeSidebar.js +1984 -0
- package/dist/ThemeSidebar.js.map +1 -0
- package/dist/TimeFormat.js +47 -0
- package/dist/TimeFormat.js.map +1 -0
- package/dist/TimezoneMismatchModal.js +168 -0
- package/dist/TimezoneMismatchModal.js.map +1 -0
- package/dist/ToggleFeatureCard.js +323 -0
- package/dist/ToggleFeatureCard.js.map +1 -0
- package/package.json +22 -13
- package/dist/AutoSaveInput/autosaveinput.scss +0 -15
- package/dist/AutoSaveInput/constants.js +0 -13
- package/dist/AutoSaveInput/index.js +0 -124
- package/dist/AutoSaveInput/utils.js +0 -10
- package/dist/Breadcrumbs/breadcrumbs.scss +0 -33
- package/dist/Breadcrumbs/index.js +0 -31
- package/dist/BrowserSupport/Callout.js +0 -15
- package/dist/BrowserSupport/ContactUs.js +0 -21
- package/dist/BrowserSupport/DownloadLink.js +0 -17
- package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +0 -17
- package/dist/BrowserSupport/UnknownBrowser.js +0 -13
- package/dist/BrowserSupport/UnsupportedBrowser.js +0 -24
- package/dist/BrowserSupport/UnsupportedBrowserMessage.js +0 -22
- package/dist/BrowserSupport/UnsupportedBrowserVersion.js +0 -27
- package/dist/BrowserSupport/UnsupportedVersionMessage.js +0 -30
- package/dist/BrowserSupport/browsersupport.scss +0 -71
- package/dist/BrowserSupport/constants.js +0 -63
- package/dist/BrowserSupport/index.js +0 -58
- package/dist/BrowserSupport/utils.js +0 -32
- package/dist/Builder/Body.js +0 -9
- package/dist/Builder/ElementsPanel/ElementsList/Element.js +0 -27
- package/dist/Builder/ElementsPanel/ElementsList/Section.js +0 -28
- package/dist/Builder/ElementsPanel/ElementsList/TitleBar.js +0 -28
- package/dist/Builder/ElementsPanel/ElementsList/index.js +0 -63
- package/dist/Builder/ElementsPanel/SelectedElementsList/SelectedElement.js +0 -73
- package/dist/Builder/ElementsPanel/SelectedElementsList/TitleBar.js +0 -50
- package/dist/Builder/ElementsPanel/SelectedElementsList/index.js +0 -91
- package/dist/Builder/ElementsPanel/index.js +0 -70
- package/dist/Builder/PropertiesPanel/EmptyProperty.js +0 -21
- package/dist/Builder/PropertiesPanel/Skeleton.js +0 -24
- package/dist/Builder/PropertiesPanel/index.js +0 -12
- package/dist/Builder/index.js +0 -3
- package/dist/Builder/styles.scss +0 -84
- package/dist/CalendarView/CustomDatePicker.js +0 -87
- package/dist/CalendarView/Header.js +0 -53
- package/dist/CalendarView/constants.js +0 -19
- package/dist/CalendarView/index.js +0 -83
- package/dist/CalendarView/utils.js +0 -50
- package/dist/Codeblock/index.js +0 -30
- package/dist/Columns/utils.js +0 -20
- package/dist/ConfirmationModal/constants.js +0 -3
- package/dist/ConfirmationModal/utils.js +0 -6
- package/dist/Container/container.scss +0 -21
- package/dist/Container/index.js +0 -23
- package/dist/CopyToClipboardButton/constants.js +0 -13
- package/dist/CopyToClipboardButton/copyToClipboard.scss +0 -22
- package/dist/CopyToClipboardButton/index.js +0 -59
- package/dist/CustomDomain/index.js +0 -98
- package/dist/CustomDomainDashboard/DeleteAlert.js +0 -28
- package/dist/CustomDomainDashboard/Header.js +0 -32
- package/dist/CustomDomainDashboard/Manage/Record.js +0 -42
- package/dist/CustomDomainDashboard/Manage/StatusInfo.js +0 -21
- package/dist/CustomDomainDashboard/Manage/TagBlock.js +0 -36
- package/dist/CustomDomainDashboard/Manage/constants.js +0 -4
- package/dist/CustomDomainDashboard/Manage/index.js +0 -125
- package/dist/CustomDomainDashboard/Manage/utils.js +0 -8
- package/dist/CustomDomainDashboard/api.js +0 -35
- package/dist/CustomDomainDashboard/constants.js +0 -2
- package/dist/CustomDomainDashboard/index.js +0 -118
- package/dist/CustomDomainDashboard/useCustomDomainApi.js +0 -71
- package/dist/CustomDomainDashboard/utils.js +0 -84
- package/dist/DateRangeFilter/index.js +0 -60
- package/dist/DateRangeFilter/utils.js +0 -113
- package/dist/DynamicVariables/dynamic-variables.scss +0 -34
- package/dist/DynamicVariables/index.js +0 -59
- package/dist/DynamicVariables/utils.js +0 -37
- package/dist/EmailForm/EmailForm.js +0 -98
- package/dist/EmailForm/EmailFormProvider.js +0 -45
- package/dist/EmailForm/EmailPreview.js +0 -129
- package/dist/EmailForm/ReplyToField.js +0 -55
- package/dist/EmailForm/SendToField.js +0 -28
- package/dist/EmailForm/SubjectField.js +0 -64
- package/dist/EmailForm/constants.js +0 -33
- package/dist/EmailForm/contexts/EmailForm.js +0 -7
- package/dist/EmailForm/index.js +0 -4
- package/dist/EmailForm/utils.js +0 -10
- package/dist/EmailPreview/index.js +0 -2
- package/dist/ErrorPage/index.js +0 -78
- package/dist/Header/Breadcrumbs.js +0 -31
- package/dist/Header/Dropdown.js +0 -12
- package/dist/Header/constants.js +0 -6
- package/dist/Header/header.scss +0 -121
- package/dist/Header/index.js +0 -61
- package/dist/IconPicker/Icon.js +0 -34
- package/dist/IconPicker/NoResults.js +0 -12
- package/dist/IconPicker/constants.js +0 -8
- package/dist/IconPicker/icon-picker.scss +0 -1
- package/dist/IconPicker/index.js +0 -164
- package/dist/ImageWithFallback/ImagePlaceholder.js +0 -16
- package/dist/ImageWithFallback/index.js +0 -31
- package/dist/IntegrationCard/Dropdown.js +0 -45
- package/dist/IntegrationCard/Status.js +0 -25
- package/dist/IntegrationCard/index.js +0 -128
- package/dist/IntegrationDisconnectAlert/index.js +0 -36
- package/dist/IpRestriction/AllowedIpRanges.js +0 -75
- package/dist/IpRestriction/CurrentIp.js +0 -26
- package/dist/IpRestriction/FormRow.js +0 -84
- package/dist/IpRestriction/Row.js +0 -91
- package/dist/IpRestriction/apis/allowed_ip_ranges.js +0 -28
- package/dist/IpRestriction/apis/current_ip.js +0 -11
- package/dist/IpRestriction/apis/ip_restriction.js +0 -16
- package/dist/IpRestriction/constants.js +0 -20
- package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +0 -34
- package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +0 -10
- package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +0 -18
- package/dist/IpRestriction/index.js +0 -102
- package/dist/IpRestriction/utils.js +0 -85
- package/dist/KeyboardShortcuts/Pane/HotKey.js +0 -44
- package/dist/KeyboardShortcuts/Pane/HotKeyList.js +0 -42
- package/dist/KeyboardShortcuts/Pane/constants.js +0 -25
- package/dist/KeyboardShortcuts/Pane/index.js +0 -61
- package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +0 -5
- package/dist/KeyboardShortcuts/Pane/utils.js +0 -66
- package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +0 -31
- package/dist/KeyboardShortcuts/index.js +0 -9
- package/dist/LoginPage/Form.js +0 -57
- package/dist/LoginPage/constants.js +0 -12
- package/dist/LoginPage/index.js +0 -103
- package/dist/MenuBar/AddNew.js +0 -25
- package/dist/MenuBar/Block.js +0 -60
- package/dist/MenuBar/Item.js +0 -32
- package/dist/MenuBar/Search.js +0 -39
- package/dist/MenuBar/SubTitle.js +0 -23
- package/dist/MenuBar/index.js +0 -46
- package/dist/MenuBar/menubar.scss +0 -154
- package/dist/Metadata/Block.js +0 -30
- package/dist/Metadata/DetailsBlock.js +0 -86
- package/dist/Metadata/constants.js +0 -9
- package/dist/Metadata/index.js +0 -29
- package/dist/Metadata/metadata.scss +0 -15
- package/dist/MoreDropdown/constants.js +0 -25
- package/dist/NavigationHeader/LeftBlock.js +0 -32
- package/dist/NavigationHeader/Navigation.js +0 -24
- package/dist/NavigationHeader/RightBlock.js +0 -68
- package/dist/NavigationHeader/constants.js +0 -11
- package/dist/NavigationHeader/index.js +0 -19
- package/dist/NavigationHeader/navigation-header.scss +0 -3
- package/dist/NeetoWidget/CodeBlock.js +0 -57
- package/dist/NeetoWidget/CodeSnippet.js +0 -119
- package/dist/NeetoWidget/EmbedCode.js +0 -281
- package/dist/NeetoWidget/Main.js +0 -19
- package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +0 -25
- package/dist/NeetoWidget/SelectionSwitches/index.js +0 -44
- package/dist/NeetoWidget/SyntaxHighlighter.js +0 -17
- package/dist/NeetoWidget/api.js +0 -20
- package/dist/NeetoWidget/constants.js +0 -62
- package/dist/NeetoWidget/hooks/useForceUpdate.js +0 -14
- package/dist/NeetoWidget/index.js +0 -7
- package/dist/NeetoWidget/mutations.js +0 -9
- package/dist/NeetoWidget/queries.js +0 -32
- package/dist/NeetoWidget/utils.js +0 -83
- package/dist/PageLoader/index.js +0 -81
- package/dist/PageLoader/page-loader.scss +0 -95
- package/dist/PhoneNumber/CountryPicker/SingleValue.js +0 -21
- package/dist/PhoneNumber/CountryPicker/constants.js +0 -26
- package/dist/PhoneNumber/CountryPicker/index.js +0 -59
- package/dist/PhoneNumber/FormikPhoneNumberInput.js +0 -21
- package/dist/PhoneNumber/PhoneNumber.js +0 -30
- package/dist/PhoneNumber/PhoneNumberInput.js +0 -79
- package/dist/PhoneNumber/index.js +0 -5
- package/dist/PhoneNumber/utils.js +0 -55
- package/dist/PublishBlock/AlertBlock.js +0 -14
- package/dist/PublishBlock/index.js +0 -100
- package/dist/PublishBlock/publish-block.scss +0 -25
- package/dist/Rename/DummySpan.js +0 -21
- package/dist/Rename/constants.js +0 -1
- package/dist/Rename/index.js +0 -191
- package/dist/Rename/rename.scss +0 -69
- package/dist/Rename/utils.js +0 -10
- package/dist/ResponsiveDevicePicker/constants.js +0 -19
- package/dist/ResponsiveDevicePicker/index.js +0 -36
- package/dist/Schedule/DisplayAvailability.js +0 -58
- package/dist/Schedule/Fields.js +0 -43
- package/dist/Schedule/Form/ScheduleRow.js +0 -125
- package/dist/Schedule/Form/constants.js +0 -20
- package/dist/Schedule/Form/index.js +0 -144
- package/dist/Schedule/Form/utils.js +0 -63
- package/dist/Schedule/Header.js +0 -76
- package/dist/Schedule/ScheduleContext.js +0 -8
- package/dist/Schedule/constants.js +0 -8
- package/dist/Schedule/dayjsExtended/constants.js +0 -1
- package/dist/Schedule/dayjsExtended/index.js +0 -14
- package/dist/Schedule/dayjsExtended/range.js +0 -73
- package/dist/Schedule/index.js +0 -80
- package/dist/Schedule/utils.js +0 -152
- package/dist/Scrollable/constants.js +0 -8
- package/dist/Scrollable/index.js +0 -26
- package/dist/Scrollable/scrollable.scss +0 -32
- package/dist/Search/index.js +0 -52
- package/dist/Security/AllowedKeywords/Add.js +0 -38
- package/dist/Security/AllowedKeywords/index.js +0 -38
- package/dist/Security/PasswordBlock.js +0 -31
- package/dist/Security/RadioBlock.js +0 -38
- package/dist/Security/api.js +0 -12
- package/dist/Security/constants.js +0 -58
- package/dist/Security/index.js +0 -68
- package/dist/Security/useSecurityApi.js +0 -22
- package/dist/Security/utils.js +0 -31
- package/dist/SendToFields/FilePicker.js +0 -34
- package/dist/SendToFields/constants.js +0 -6
- package/dist/SendToFields/index.js +0 -102
- package/dist/SendToFields/utils.js +0 -54
- package/dist/Settings/Category.js +0 -30
- package/dist/Settings/Item.js +0 -38
- package/dist/Settings/index.js +0 -37
- package/dist/Settings/utils.js +0 -4
- package/dist/ShareViaEmail/EmailBodyEditor.js +0 -22
- package/dist/ShareViaEmail/FilePicker.js +0 -43
- package/dist/ShareViaEmail/Form.js +0 -105
- package/dist/ShareViaEmail/FormikDatePicker.js +0 -24
- package/dist/ShareViaEmail/constants.js +0 -14
- package/dist/ShareViaEmail/index.js +0 -92
- package/dist/ShareViaEmail/utils.js +0 -72
- package/dist/ShareViaLink/EditURL.js +0 -74
- package/dist/ShareViaLink/Link.js +0 -105
- package/dist/ShareViaLink/QRCode.js +0 -41
- package/dist/ShareViaLink/RegenerateURL.js +0 -47
- package/dist/ShareViaLink/SocialMedia.js +0 -52
- package/dist/ShareViaLink/constants.js +0 -25
- package/dist/ShareViaLink/edit-url.scss +0 -8
- package/dist/ShareViaLink/index.js +0 -46
- package/dist/ShareViaLink/utils.js +0 -47
- package/dist/Sidebar/AppSwitcher/AppLink.js +0 -45
- package/dist/Sidebar/AppSwitcher/Backdrop.js +0 -13
- package/dist/Sidebar/AppSwitcher/Body.js +0 -65
- package/dist/Sidebar/AppSwitcher/Portal.js +0 -27
- package/dist/Sidebar/AppSwitcher/appswitcher.scss +0 -164
- package/dist/Sidebar/AppSwitcher/index.js +0 -47
- package/dist/Sidebar/AppSwitcher/utils.js +0 -25
- package/dist/Sidebar/Chevron.js +0 -14
- package/dist/Sidebar/FeaturedTooltip.js +0 -19
- package/dist/Sidebar/Footer/AppSwitcherButton.js +0 -48
- package/dist/Sidebar/Footer/ProfileButton.js +0 -30
- package/dist/Sidebar/Footer/index.js +0 -56
- package/dist/Sidebar/Footer/utils.js +0 -39
- package/dist/Sidebar/Header.js +0 -33
- package/dist/Sidebar/HelpSection/HelpSectionMenu.js +0 -52
- package/dist/Sidebar/HelpSection/index.js +0 -32
- package/dist/Sidebar/Links.js +0 -112
- package/dist/Sidebar/NavIconWrapper.js +0 -20
- package/dist/Sidebar/ProfileSection/LinkSection.js +0 -36
- package/dist/Sidebar/ProfileSection/ProfileMenu.js +0 -48
- package/dist/Sidebar/ProfileSection/index.js +0 -42
- package/dist/Sidebar/constants.js +0 -40
- package/dist/Sidebar/index.js +0 -94
- package/dist/Sidebar/sidebar.scss +0 -379
- package/dist/Sidebar/utils.js +0 -18
- package/dist/SubHeader/RightBlock/Columns.js +0 -35
- package/dist/SubHeader/RightBlock/Download.js +0 -28
- package/dist/SubHeader/RightBlock/Filter.js +0 -31
- package/dist/SubHeader/RightBlock/index.js +0 -21
- package/dist/SubHeader/RightBlock/utils.js +0 -13
- package/dist/SubHeader/index.js +0 -28
- package/dist/SubHeader/subheader.scss +0 -78
- package/dist/ThemeSidebar/Customize/Logo.js +0 -39
- package/dist/ThemeSidebar/Customize/Properties.js +0 -170
- package/dist/ThemeSidebar/Customize/index.js +0 -66
- package/dist/ThemeSidebar/Themes/ThemeCard.js +0 -135
- package/dist/ThemeSidebar/Themes/index.js +0 -110
- package/dist/ThemeSidebar/TitleBar.js +0 -62
- package/dist/ThemeSidebar/constants.js +0 -127
- package/dist/ThemeSidebar/fields/AlignmentBlock.js +0 -50
- package/dist/ThemeSidebar/fields/Card.js +0 -19
- package/dist/ThemeSidebar/fields/ColorBlock.js +0 -19
- package/dist/ThemeSidebar/fields/FontPickerBlock.js +0 -35
- package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +0 -67
- package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +0 -22
- package/dist/ThemeSidebar/fields/ImageBlock/index.js +0 -55
- package/dist/ThemeSidebar/fields/SelectBlock.js +0 -24
- package/dist/ThemeSidebar/fields/SliderBlock.js +0 -30
- package/dist/ThemeSidebar/fields/SwitchBlock.js +0 -17
- package/dist/ThemeSidebar/fields/TextBlock.js +0 -13
- package/dist/ThemeSidebar/fields/slider.scss +0 -199
- package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +0 -149
- package/dist/ThemeSidebar/index.js +0 -118
- package/dist/ThemeSidebar/themeSidebar.scss +0 -45
- package/dist/ThemeSidebar/utils.js +0 -169
- package/dist/TimeFormat/index.js +0 -3
- package/dist/TimezoneMismatchModal/apis/time_zone.js +0 -9
- package/dist/TimezoneMismatchModal/index.js +0 -83
- package/dist/TimezoneMismatchModal/useTimeZoneApi.js +0 -10
- package/dist/TimezoneMismatchModal/utils.js +0 -12
- package/dist/ToggleFeatureCard/ToolTipSwitch.js +0 -31
- package/dist/ToggleFeatureCard/constants.js +0 -5
- package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +0 -11
- package/dist/ToggleFeatureCard/index.js +0 -148
- package/dist/ToggleFeatureCard/toggleFeatureCard.scss +0 -4
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
-
import React, { useRef } from "react";
|
|
6
|
-
import { useFormikContext } from "formik";
|
|
7
|
-
import { Upload } from "@bigbinary/neeto-icons";
|
|
8
|
-
import { Button, Toastr } from "@bigbinary/neetoui";
|
|
9
|
-
import { MultiEmailInput } from "@bigbinary/neetoui/formik";
|
|
10
|
-
import { useTranslation } from "react-i18next";
|
|
11
|
-
import { SIZES, ALLOWED_FILE_PICKER_TYPES } from "./constants";
|
|
12
|
-
import FilePicker from "./FilePicker";
|
|
13
|
-
import { parseCsvEmails } from "./utils";
|
|
14
|
-
var SendToFields = function SendToFields(_ref) {
|
|
15
|
-
var emailInputProps = _ref.emailInputProps,
|
|
16
|
-
ccInputProps = _ref.ccInputProps,
|
|
17
|
-
bccInputProps = _ref.bccInputProps,
|
|
18
|
-
_ref$showUploadCsvBut = _ref.showUploadCsvButton,
|
|
19
|
-
showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
|
|
20
|
-
_ref$showCcBccButton = _ref.showCcBccButton,
|
|
21
|
-
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton;
|
|
22
|
-
var sendToFieldRef = useRef();
|
|
23
|
-
var _useFormikContext = useFormikContext(),
|
|
24
|
-
_useFormikContext$val = _useFormikContext.values,
|
|
25
|
-
showCopyEmails = _useFormikContext$val.showCopyEmails,
|
|
26
|
-
existingSendToEmails = _useFormikContext$val[emailInputProps.name || "sendTo"],
|
|
27
|
-
setFieldValue = _useFormikContext.setFieldValue;
|
|
28
|
-
var _useTranslation = useTranslation(),
|
|
29
|
-
t = _useTranslation.t;
|
|
30
|
-
var handleCSVFile = /*#__PURE__*/function () {
|
|
31
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(files) {
|
|
32
|
-
var _sendToFieldRef$curre, onSuccess;
|
|
33
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
34
|
-
while (1) switch (_context.prev = _context.next) {
|
|
35
|
-
case 0:
|
|
36
|
-
_context.prev = 0;
|
|
37
|
-
onSuccess = function onSuccess(values) {
|
|
38
|
-
return setFieldValue(emailInputProps.name || "sendTo", [].concat(_toConsumableArray(existingSendToEmails), _toConsumableArray(values)));
|
|
39
|
-
};
|
|
40
|
-
_context.next = 4;
|
|
41
|
-
return parseCsvEmails(files[0], onSuccess);
|
|
42
|
-
case 4:
|
|
43
|
-
(_sendToFieldRef$curre = sendToFieldRef.current) === null || _sendToFieldRef$curre === void 0 ? void 0 : _sendToFieldRef$curre.focus();
|
|
44
|
-
_context.next = 10;
|
|
45
|
-
break;
|
|
46
|
-
case 7:
|
|
47
|
-
_context.prev = 7;
|
|
48
|
-
_context.t0 = _context["catch"](0);
|
|
49
|
-
Toastr.error(_context.t0);
|
|
50
|
-
case 10:
|
|
51
|
-
case "end":
|
|
52
|
-
return _context.stop();
|
|
53
|
-
}
|
|
54
|
-
}, _callee, null, [[0, 7]]);
|
|
55
|
-
}));
|
|
56
|
-
return function handleCSVFile(_x) {
|
|
57
|
-
return _ref2.apply(this, arguments);
|
|
58
|
-
};
|
|
59
|
-
}();
|
|
60
|
-
var handelCcBccButtonClick = function handelCcBccButtonClick(e) {
|
|
61
|
-
e.stopPropagation();
|
|
62
|
-
setFieldValue("showCopyEmails", !showCopyEmails);
|
|
63
|
-
};
|
|
64
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
65
|
-
className: "relative w-full flex-col gap-2"
|
|
66
|
-
}, showUploadCsvButton && /*#__PURE__*/React.createElement("div", {
|
|
67
|
-
className: "absolute top-0 right-1"
|
|
68
|
-
}, /*#__PURE__*/React.createElement(FilePicker, {
|
|
69
|
-
types: ALLOWED_FILE_PICKER_TYPES,
|
|
70
|
-
onChange: handleCSVFile
|
|
71
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
72
|
-
"data-cy": "upload-csv-button",
|
|
73
|
-
icon: Upload,
|
|
74
|
-
label: t("neetoMolecules.emailForm.uploadCSV"),
|
|
75
|
-
size: "small",
|
|
76
|
-
style: "link",
|
|
77
|
-
tooltipProps: {
|
|
78
|
-
content: t("neetoMolecules.sendToFields.uploadCsvTooltip"),
|
|
79
|
-
position: "right"
|
|
80
|
-
}
|
|
81
|
-
}))), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
82
|
-
"data-testid": "emails",
|
|
83
|
-
name: "sendTo",
|
|
84
|
-
ref: sendToFieldRef
|
|
85
|
-
}, emailInputProps, {
|
|
86
|
-
suffix: showCcBccButton && /*#__PURE__*/React.createElement(Button, {
|
|
87
|
-
"data-cy": "cc-bcc-button",
|
|
88
|
-
"data-testid": "cc-bcc-button",
|
|
89
|
-
label: t("neetoMolecules.emailForm.labels.ccBcc"),
|
|
90
|
-
size: "small",
|
|
91
|
-
style: "link",
|
|
92
|
-
onClick: handelCcBccButtonClick
|
|
93
|
-
})
|
|
94
|
-
})), showCopyEmails && /*#__PURE__*/React.createElement("div", {
|
|
95
|
-
className: "mt-5 flex w-full flex-col gap-6"
|
|
96
|
-
}, /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
97
|
-
name: "sendToBcc"
|
|
98
|
-
}, ccInputProps)), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
99
|
-
name: "sendToCc"
|
|
100
|
-
}, bccInputProps))));
|
|
101
|
-
};
|
|
102
|
-
export default SendToFields;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
import { t } from "i18next";
|
|
4
|
-
import { Toastr } from "@bigbinary/neetoui";
|
|
5
|
-
import Papa from "papaparse";
|
|
6
|
-
import { prop } from "ramda";
|
|
7
|
-
import { string } from "yup";
|
|
8
|
-
var isValidEmail = function isValidEmail(email) {
|
|
9
|
-
return string().email().isValidSync(email);
|
|
10
|
-
};
|
|
11
|
-
export var createEmailOptions = function createEmailOptions() {
|
|
12
|
-
var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
13
|
-
return emails.map(function (email) {
|
|
14
|
-
return {
|
|
15
|
-
label: email,
|
|
16
|
-
value: email,
|
|
17
|
-
valid: isValidEmail(email)
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
export var parseCsvEmails = /*#__PURE__*/function () {
|
|
22
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, onSuccess) {
|
|
23
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
24
|
-
while (1) switch (_context.prev = _context.next) {
|
|
25
|
-
case 0:
|
|
26
|
-
Papa.parse(file, {
|
|
27
|
-
header: true,
|
|
28
|
-
skipEmptyLines: true,
|
|
29
|
-
transformHeader: function transformHeader(h) {
|
|
30
|
-
return h.toLowerCase().replace(/\W/g, "");
|
|
31
|
-
},
|
|
32
|
-
complete: function complete(results) {
|
|
33
|
-
var _results$meta$fields;
|
|
34
|
-
var isEmailFieldPresent = (_results$meta$fields = results.meta.fields) === null || _results$meta$fields === void 0 ? void 0 : _results$meta$fields.includes("email");
|
|
35
|
-
if (isEmailFieldPresent) {
|
|
36
|
-
var emails = results.data.filter(prop("email")).map(function (item) {
|
|
37
|
-
return item.email.trim();
|
|
38
|
-
});
|
|
39
|
-
onSuccess(createEmailOptions(emails));
|
|
40
|
-
} else {
|
|
41
|
-
Toastr.error(t("neetoMolecules.sendToFields.errors.invalidCsv"));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
case 1:
|
|
46
|
-
case "end":
|
|
47
|
-
return _context.stop();
|
|
48
|
-
}
|
|
49
|
-
}, _callee);
|
|
50
|
-
}));
|
|
51
|
-
return function parseCsvEmails(_x, _x2) {
|
|
52
|
-
return _ref.apply(this, arguments);
|
|
53
|
-
};
|
|
54
|
-
}();
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
|
|
4
|
-
import { Typography } from "@bigbinary/neetoui";
|
|
5
|
-
import IntegrationCard from "../IntegrationCard";
|
|
6
|
-
import Item from "./Item";
|
|
7
|
-
var Category = function Category(_ref) {
|
|
8
|
-
var items = _ref.items,
|
|
9
|
-
label = _ref.label,
|
|
10
|
-
id = _ref.id,
|
|
11
|
-
isIntegration = _ref.isIntegration;
|
|
12
|
-
var SettingsCard = isIntegration ? IntegrationCard : Item;
|
|
13
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
14
|
-
className: "flex flex-col py-6",
|
|
15
|
-
id: id
|
|
16
|
-
}, isNotEmpty(items) && /*#__PURE__*/React.createElement(Typography, {
|
|
17
|
-
className: "mb-6",
|
|
18
|
-
component: "h2",
|
|
19
|
-
"data-cy": "settings-category-heading",
|
|
20
|
-
style: "h2",
|
|
21
|
-
weight: "semibold"
|
|
22
|
-
}, label), /*#__PURE__*/React.createElement("div", {
|
|
23
|
-
className: "grid grid-cols-1 gap-3 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4"
|
|
24
|
-
}, items.map(function (item) {
|
|
25
|
-
return /*#__PURE__*/React.createElement(SettingsCard, _extends({
|
|
26
|
-
key: item.label
|
|
27
|
-
}, item));
|
|
28
|
-
})));
|
|
29
|
-
};
|
|
30
|
-
export default Category;
|
package/dist/Settings/Item.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["label", "description", "icon", "path", "dataCy", "className"];
|
|
4
|
-
import React, { memo } from "react";
|
|
5
|
-
import classnames from "classnames";
|
|
6
|
-
import { joinHyphenCase } from "@bigbinary/neeto-commons-frontend/utils";
|
|
7
|
-
import { Typography } from "@bigbinary/neetoui";
|
|
8
|
-
import { withRouter, Link } from "react-router-dom";
|
|
9
|
-
var Item = function Item(_ref) {
|
|
10
|
-
var label = _ref.label,
|
|
11
|
-
description = _ref.description,
|
|
12
|
-
_ref$icon = _ref.icon,
|
|
13
|
-
Icon = _ref$icon === void 0 ? null : _ref$icon,
|
|
14
|
-
path = _ref.path,
|
|
15
|
-
dataCy = _ref.dataCy,
|
|
16
|
-
_ref$className = _ref.className,
|
|
17
|
-
className = _ref$className === void 0 ? "" : _ref$className,
|
|
18
|
-
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
19
|
-
return /*#__PURE__*/React.createElement(Link, _extends({
|
|
20
|
-
"data-cy": dataCy,
|
|
21
|
-
to: path,
|
|
22
|
-
className: classnames("outline-none neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline transition-colors", className)
|
|
23
|
-
}, otherProps), /*#__PURE__*/React.createElement("div", {
|
|
24
|
-
"data-testid": "settings-item-".concat(joinHyphenCase(label))
|
|
25
|
-
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
26
|
-
className: "neeto-ui-text-gray-600 mb-4",
|
|
27
|
-
size: 32
|
|
28
|
-
}), /*#__PURE__*/React.createElement(Typography, {
|
|
29
|
-
className: "mb-2",
|
|
30
|
-
"data-cy": "settings-item-heading",
|
|
31
|
-
style: "h4",
|
|
32
|
-
weight: "semibold"
|
|
33
|
-
}, label), /*#__PURE__*/React.createElement(Typography, {
|
|
34
|
-
"data-cy": "settings-item-description",
|
|
35
|
-
style: "body2"
|
|
36
|
-
}, description)));
|
|
37
|
-
};
|
|
38
|
-
export default /*#__PURE__*/memo(withRouter(Item));
|
package/dist/Settings/index.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import React, { useEffect } from "react";
|
|
2
|
-
import { getQueryParams } from "@bigbinary/neeto-commons-frontend/utils";
|
|
3
|
-
import { NoData } from "@bigbinary/neetoui";
|
|
4
|
-
import { isEmpty } from "ramda";
|
|
5
|
-
import { useTranslation } from "react-i18next";
|
|
6
|
-
import Category from "./Category";
|
|
7
|
-
import { scrollIntoSettingCategory } from "./utils";
|
|
8
|
-
var Settings = function Settings(_ref) {
|
|
9
|
-
var _ref$categories = _ref.categories,
|
|
10
|
-
categories = _ref$categories === void 0 ? [] : _ref$categories;
|
|
11
|
-
var _useTranslation = useTranslation(),
|
|
12
|
-
t = _useTranslation.t;
|
|
13
|
-
var _getQueryParams = getQueryParams(),
|
|
14
|
-
categoryParam = _getQueryParams.category;
|
|
15
|
-
useEffect(function () {
|
|
16
|
-
scrollIntoSettingCategory(categoryParam === null || categoryParam === void 0 ? void 0 : categoryParam.toUpperCase());
|
|
17
|
-
}, [categoryParam]);
|
|
18
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, isEmpty(categories) ? /*#__PURE__*/React.createElement("div", {
|
|
19
|
-
className: "flex h-full w-full flex-grow items-center justify-center",
|
|
20
|
-
"data-testid": "settings-no-data"
|
|
21
|
-
}, /*#__PURE__*/React.createElement(NoData, {
|
|
22
|
-
title: t("neetoMolecules.settingsPage.noData")
|
|
23
|
-
})) : categories.map(function (_ref2) {
|
|
24
|
-
var id = _ref2.id,
|
|
25
|
-
label = _ref2.label,
|
|
26
|
-
items = _ref2.items,
|
|
27
|
-
isIntegration = _ref2.isIntegration;
|
|
28
|
-
return /*#__PURE__*/React.createElement(Category, {
|
|
29
|
-
id: id,
|
|
30
|
-
isIntegration: isIntegration,
|
|
31
|
-
items: items,
|
|
32
|
-
label: label,
|
|
33
|
-
key: id
|
|
34
|
-
});
|
|
35
|
-
}));
|
|
36
|
-
};
|
|
37
|
-
export default Settings;
|
package/dist/Settings/utils.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export var scrollIntoSettingCategory = function scrollIntoSettingCategory(activeCategory) {
|
|
2
|
-
var _document$getElementB;
|
|
3
|
-
(_document$getElementB = document.getElementById(activeCategory)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView();
|
|
4
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
-
import React, { forwardRef } from "react";
|
|
3
|
-
import { FormikEditor } from "@bigbinary/neeto-editor";
|
|
4
|
-
import { useTranslation } from "react-i18next";
|
|
5
|
-
import { EDITOR_ADDONS } from "./constants";
|
|
6
|
-
var EmailBody = function EmailBody(_ref, ref) {
|
|
7
|
-
var id = _ref.id,
|
|
8
|
-
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
|
|
9
|
-
var _useTranslation = useTranslation(),
|
|
10
|
-
t = _useTranslation.t;
|
|
11
|
-
return /*#__PURE__*/React.createElement(FormikEditor, {
|
|
12
|
-
required: true,
|
|
13
|
-
className: "mb-6",
|
|
14
|
-
"data-cy": "email-body",
|
|
15
|
-
id: id,
|
|
16
|
-
label: t("neetoMolecules.shareViaEmail.emailBody"),
|
|
17
|
-
name: "emailBody",
|
|
18
|
-
ref: ref,
|
|
19
|
-
addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray(EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
export default /*#__PURE__*/forwardRef(EmailBody);
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import React, { useRef } from "react";
|
|
2
|
-
import { Upload } from "@bigbinary/neeto-icons";
|
|
3
|
-
import { Button } from "@bigbinary/neetoui";
|
|
4
|
-
import { useTranslation } from "react-i18next";
|
|
5
|
-
var FilePicker = function FilePicker(_ref) {
|
|
6
|
-
var _ref$types = _ref.types,
|
|
7
|
-
types = _ref$types === void 0 ? [] : _ref$types,
|
|
8
|
-
onChange = _ref.onChange;
|
|
9
|
-
var _useTranslation = useTranslation(),
|
|
10
|
-
t = _useTranslation.t;
|
|
11
|
-
var inputRef = useRef();
|
|
12
|
-
var accept = types.join(", ");
|
|
13
|
-
var handleInputChange = function handleInputChange(_ref2) {
|
|
14
|
-
var target = _ref2.target;
|
|
15
|
-
if (!target.files) return;
|
|
16
|
-
onChange(target.files);
|
|
17
|
-
|
|
18
|
-
// This will trigger handleClick when same file is uploaded again.
|
|
19
|
-
inputRef.current.value = "";
|
|
20
|
-
handleClick();
|
|
21
|
-
};
|
|
22
|
-
var handleClick = function handleClick() {
|
|
23
|
-
if (!inputRef.current) return;
|
|
24
|
-
inputRef.current.click();
|
|
25
|
-
};
|
|
26
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
|
|
27
|
-
icon: Upload,
|
|
28
|
-
label: t("neetoMolecules.shareViaEmail.uploadCsv"),
|
|
29
|
-
size: "small",
|
|
30
|
-
style: "link",
|
|
31
|
-
tooltipProps: {
|
|
32
|
-
content: t("neetoMolecules.shareViaEmail.uploadCsvTooltip")
|
|
33
|
-
},
|
|
34
|
-
onClick: handleClick
|
|
35
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
36
|
-
accept: accept,
|
|
37
|
-
className: "hidden",
|
|
38
|
-
ref: inputRef,
|
|
39
|
-
type: "file",
|
|
40
|
-
onChange: handleInputChange
|
|
41
|
-
}));
|
|
42
|
-
};
|
|
43
|
-
export default /*#__PURE__*/React.memo(FilePicker);
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import React, { useRef } from "react";
|
|
2
|
-
import classnames from "classnames";
|
|
3
|
-
import { useFormikContext } from "formik";
|
|
4
|
-
import { Typography, Label } from "@bigbinary/neetoui";
|
|
5
|
-
import { Input, Switch, ActionBlock } from "@bigbinary/neetoui/formik";
|
|
6
|
-
import { useTranslation } from "react-i18next";
|
|
7
|
-
import SendToFields from "../SendToFields";
|
|
8
|
-
import EmailBody from "./EmailBodyEditor";
|
|
9
|
-
import FormikDatePicker from "./FormikDatePicker";
|
|
10
|
-
import { isPastDate } from "./utils";
|
|
11
|
-
var Form = function Form(_ref) {
|
|
12
|
-
var isSendFromDisabled = _ref.isSendFromDisabled,
|
|
13
|
-
disableReplyTo = _ref.disableReplyTo,
|
|
14
|
-
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor,
|
|
15
|
-
children = _ref.children;
|
|
16
|
-
var _useFormikContext = useFormikContext(),
|
|
17
|
-
values = _useFormikContext.values,
|
|
18
|
-
initialValues = _useFormikContext.initialValues;
|
|
19
|
-
var editorRef = useRef();
|
|
20
|
-
var _useTranslation = useTranslation(),
|
|
21
|
-
t = _useTranslation.t;
|
|
22
|
-
var handleReset = function handleReset() {
|
|
23
|
-
return editorRef.current.editor.commands.setContent(initialValues.emailBody);
|
|
24
|
-
};
|
|
25
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
26
|
-
className: "space-y-4"
|
|
27
|
-
}, /*#__PURE__*/React.createElement(SendToFields, {
|
|
28
|
-
showUploadCsvButton: true,
|
|
29
|
-
emailInputProps: {
|
|
30
|
-
label: t("neetoMolecules.shareViaEmail.sendTo"),
|
|
31
|
-
name: "notifyEmails",
|
|
32
|
-
required: true
|
|
33
|
-
}
|
|
34
|
-
}), /*#__PURE__*/React.createElement(Input, {
|
|
35
|
-
required: true,
|
|
36
|
-
className: "col-span-1",
|
|
37
|
-
label: t("neetoMolecules.shareViaEmail.subject"),
|
|
38
|
-
name: "emailSubject"
|
|
39
|
-
}), /*#__PURE__*/React.createElement(EmailBody, {
|
|
40
|
-
id: "emailBody",
|
|
41
|
-
ref: editorRef,
|
|
42
|
-
showVideoEmbedInEditor: showVideoEmbedInEditor
|
|
43
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
44
|
-
ref: editorRef
|
|
45
|
-
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Label, {
|
|
46
|
-
className: "flex items-center gap-2"
|
|
47
|
-
}, /*#__PURE__*/React.createElement(Switch, {
|
|
48
|
-
"data-cy": "send-later-switch",
|
|
49
|
-
"data-testid": "send-later-switch",
|
|
50
|
-
name: "isSendLaterEnabled"
|
|
51
|
-
}), /*#__PURE__*/React.createElement(Typography, {
|
|
52
|
-
component: "span",
|
|
53
|
-
"data-cy": "send-later-label",
|
|
54
|
-
lineHeight: "normal",
|
|
55
|
-
style: "h4",
|
|
56
|
-
weight: "semibold"
|
|
57
|
-
}, t("neetoMolecules.shareViaEmail.sendLater")))), values.isSendLaterEnabled && /*#__PURE__*/React.createElement(FormikDatePicker, {
|
|
58
|
-
autoFocus: true,
|
|
59
|
-
showTime: true,
|
|
60
|
-
"data-cy": "email-share-date-input",
|
|
61
|
-
"data-testid": "formik-date-picker",
|
|
62
|
-
disabledDate: isPastDate,
|
|
63
|
-
name: "sendEmailDatetime",
|
|
64
|
-
picker: "date",
|
|
65
|
-
size: "large",
|
|
66
|
-
type: "date"
|
|
67
|
-
}), /*#__PURE__*/React.createElement(Input, {
|
|
68
|
-
required: true,
|
|
69
|
-
label: t("neetoMolecules.shareViaEmail.startButtonText"),
|
|
70
|
-
name: "actionButtonText"
|
|
71
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
72
|
-
className: classnames({
|
|
73
|
-
"grid grid-cols-2 gap-6": !disableReplyTo
|
|
74
|
-
})
|
|
75
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
76
|
-
required: true,
|
|
77
|
-
className: "col-auto",
|
|
78
|
-
"data-testid": "neeto-molecules-share-via-email-send-from",
|
|
79
|
-
disabled: isSendFromDisabled,
|
|
80
|
-
label: t("neetoMolecules.shareViaEmail.sendFrom"),
|
|
81
|
-
name: "sendFromEmail"
|
|
82
|
-
}), !disableReplyTo && /*#__PURE__*/React.createElement(Input, {
|
|
83
|
-
required: true,
|
|
84
|
-
className: "col-auto",
|
|
85
|
-
"data-testid": "replyTo-field",
|
|
86
|
-
label: t("neetoMolecules.shareViaEmail.replyTo"),
|
|
87
|
-
name: "replyToEmail"
|
|
88
|
-
}))), children && /*#__PURE__*/React.createElement("div", {
|
|
89
|
-
className: "neeto-ui-border-gray-300 mt-4 border-t py-4"
|
|
90
|
-
}, /*#__PURE__*/React.createElement("h3", {
|
|
91
|
-
className: "mb-4"
|
|
92
|
-
}, t("neetoMolecules.shareViaEmail.additionalOptions")), children), /*#__PURE__*/React.createElement("div", {
|
|
93
|
-
className: "mt-6"
|
|
94
|
-
}, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
95
|
-
cancelButtonProps: {
|
|
96
|
-
label: t("neetoMolecules.shareViaEmail.reset"),
|
|
97
|
-
type: "reset",
|
|
98
|
-
onClick: handleReset
|
|
99
|
-
},
|
|
100
|
-
submitButtonProps: {
|
|
101
|
-
label: t("neetoMolecules.shareViaEmail.sendEmail")
|
|
102
|
-
}
|
|
103
|
-
})));
|
|
104
|
-
};
|
|
105
|
-
export default Form;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["name"];
|
|
5
|
-
import React from "react";
|
|
6
|
-
import { useField } from "formik";
|
|
7
|
-
import { DatePicker } from "@bigbinary/neetoui";
|
|
8
|
-
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
9
|
-
var name = _ref.name,
|
|
10
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
11
|
-
var _useField = useField(name),
|
|
12
|
-
_useField2 = _slicedToArray(_useField, 3),
|
|
13
|
-
field = _useField2[0],
|
|
14
|
-
meta = _useField2[1],
|
|
15
|
-
setValue = _useField2[2].setValue;
|
|
16
|
-
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, field, meta, {
|
|
17
|
-
onChange: function onChange(date) {
|
|
18
|
-
return setValue(date || undefined);
|
|
19
|
-
}
|
|
20
|
-
}, props, {
|
|
21
|
-
"data-cy": "email-share-date-input"
|
|
22
|
-
}));
|
|
23
|
-
};
|
|
24
|
-
export default FormikDatePicker;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export var ONE_MEGABYTE = 1048576;
|
|
2
|
-
export var INITIAL_VALUES = {
|
|
3
|
-
sendFromEmail: "",
|
|
4
|
-
replyToEmail: "",
|
|
5
|
-
notifyEmails: [],
|
|
6
|
-
emailSubject: "",
|
|
7
|
-
emailBody: "",
|
|
8
|
-
isSendLaterEnabled: false,
|
|
9
|
-
sendEmailDatetime: undefined,
|
|
10
|
-
category: "email_share",
|
|
11
|
-
actionButtonText: ""
|
|
12
|
-
};
|
|
13
|
-
export var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
|
|
14
|
-
export var ALLOWED_FILE_PICKER_TYPES = [".csv"];
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { LeftArrow } from "@bigbinary/neeto-icons";
|
|
3
|
-
import { Button, Typography } from "@bigbinary/neetoui";
|
|
4
|
-
import { Form } from "@bigbinary/neetoui/formik";
|
|
5
|
-
import { useTranslation } from "react-i18next";
|
|
6
|
-
import EmailPreview from "../EmailPreview";
|
|
7
|
-
import EmailForm from "./Form";
|
|
8
|
-
import { emailFormValidationSchema, generateInitialValues } from "./utils";
|
|
9
|
-
var ShareViaEmail = function ShareViaEmail(_ref) {
|
|
10
|
-
var _ref$isSendFromDisabl = _ref.isSendFromDisabled,
|
|
11
|
-
isSendFromDisabled = _ref$isSendFromDisabl === void 0 ? true : _ref$isSendFromDisabl,
|
|
12
|
-
backToUrl = _ref.backToUrl,
|
|
13
|
-
handleSubmit = _ref.handleSubmit,
|
|
14
|
-
children = _ref.children,
|
|
15
|
-
description = _ref.description,
|
|
16
|
-
defaultValues = _ref.defaultValues,
|
|
17
|
-
disableReplyTo = _ref.disableReplyTo,
|
|
18
|
-
productName = _ref.productName,
|
|
19
|
-
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor,
|
|
20
|
-
_ref$title = _ref.title,
|
|
21
|
-
title = _ref$title === void 0 ? "" : _ref$title;
|
|
22
|
-
var _useTranslation = useTranslation(),
|
|
23
|
-
t = _useTranslation.t;
|
|
24
|
-
var shareViaEmailTitle = title || t("neetoMolecules.shareViaEmail.title");
|
|
25
|
-
var sendToEmails = function sendToEmails(notifyEmails) {
|
|
26
|
-
return notifyEmails.map(function (email) {
|
|
27
|
-
return email === null || email === void 0 ? void 0 : email.value;
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
31
|
-
className: "neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-8"
|
|
32
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
33
|
-
className: "mx-auto flex w-full max-w-7xl flex-col"
|
|
34
|
-
}, /*#__PURE__*/React.createElement(Form, {
|
|
35
|
-
scrollToErrorField: true,
|
|
36
|
-
formProps: {
|
|
37
|
-
noValidate: true
|
|
38
|
-
},
|
|
39
|
-
formikProps: {
|
|
40
|
-
enableReinitialize: true,
|
|
41
|
-
validateOnMount: true,
|
|
42
|
-
initialValues: generateInitialValues(defaultValues),
|
|
43
|
-
validationSchema: emailFormValidationSchema(disableReplyTo),
|
|
44
|
-
onSubmit: handleSubmit
|
|
45
|
-
}
|
|
46
|
-
}, function (_ref2) {
|
|
47
|
-
var values = _ref2.values;
|
|
48
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
49
|
-
className: "grid grid-cols-12 gap-8"
|
|
50
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
51
|
-
className: "col-span-5"
|
|
52
|
-
}, backToUrl && /*#__PURE__*/React.createElement(Button, {
|
|
53
|
-
className: "mb-4",
|
|
54
|
-
"data-testid": "back-to-url-button",
|
|
55
|
-
icon: LeftArrow,
|
|
56
|
-
iconPosition: "left",
|
|
57
|
-
label: t("neetoMolecules.shareViaEmail.backToShare"),
|
|
58
|
-
size: "small",
|
|
59
|
-
style: "link",
|
|
60
|
-
to: backToUrl
|
|
61
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
62
|
-
className: "mb-6"
|
|
63
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
64
|
-
className: "mb-0.5 break-words",
|
|
65
|
-
"data-cy": "share-via-email-heading",
|
|
66
|
-
lineHeight: "normal",
|
|
67
|
-
style: "h2",
|
|
68
|
-
weight: "semibold"
|
|
69
|
-
}, shareViaEmailTitle), description && /*#__PURE__*/React.createElement(Typography, {
|
|
70
|
-
className: "neeto-ui-text-gray-700",
|
|
71
|
-
"data-cy": "share-via-email-sub-heading",
|
|
72
|
-
lineHeight: "normal",
|
|
73
|
-
style: "body2"
|
|
74
|
-
}, description)), /*#__PURE__*/React.createElement(EmailForm, {
|
|
75
|
-
disableReplyTo: disableReplyTo,
|
|
76
|
-
isSendFromDisabled: isSendFromDisabled,
|
|
77
|
-
showVideoEmbedInEditor: showVideoEmbedInEditor
|
|
78
|
-
}, children)), /*#__PURE__*/React.createElement("div", {
|
|
79
|
-
className: "col-span-7"
|
|
80
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
81
|
-
className: "sticky top-10 pt-10"
|
|
82
|
-
}, /*#__PURE__*/React.createElement(EmailPreview, {
|
|
83
|
-
actionButtonText: values.actionButtonText,
|
|
84
|
-
body: values.emailBody,
|
|
85
|
-
from: values.sendFromEmail,
|
|
86
|
-
productName: productName,
|
|
87
|
-
subject: values.emailSubject,
|
|
88
|
-
to: sendToEmails(values.notifyEmails)
|
|
89
|
-
}))));
|
|
90
|
-
})));
|
|
91
|
-
};
|
|
92
|
-
export default ShareViaEmail;
|
|
@@ -1,72 +0,0 @@
|
|
|
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 dayjs from "dayjs";
|
|
5
|
-
import { t } from "i18next";
|
|
6
|
-
import { isNot } from "@bigbinary/neeto-commons-frontend/pure";
|
|
7
|
-
import { isEditorEmpty } from "@bigbinary/neeto-editor";
|
|
8
|
-
import Papa from "papaparse";
|
|
9
|
-
import { prop } from "ramda";
|
|
10
|
-
import { string } from "yup";
|
|
11
|
-
import * as yup from "yup";
|
|
12
|
-
import { INITIAL_VALUES } from "./constants";
|
|
13
|
-
var isValidEmail = function isValidEmail(email) {
|
|
14
|
-
return string().email().isValidSync(email);
|
|
15
|
-
};
|
|
16
|
-
export var isPastDate = function isPastDate(date) {
|
|
17
|
-
return dayjs(date).isBefore(dayjs().subtract(1, "days"));
|
|
18
|
-
};
|
|
19
|
-
export var createEmailOptions = function createEmailOptions() {
|
|
20
|
-
var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
21
|
-
return emails.map(function (email) {
|
|
22
|
-
return {
|
|
23
|
-
label: email,
|
|
24
|
-
value: email,
|
|
25
|
-
valid: isValidEmail(email)
|
|
26
|
-
};
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
export var parseCsvEmails = function parseCsvEmails(file) {
|
|
30
|
-
return new Promise(function (resolve) {
|
|
31
|
-
Papa.parse(file, {
|
|
32
|
-
header: true,
|
|
33
|
-
skipEmptyLines: true,
|
|
34
|
-
transformHeader: function transformHeader(h) {
|
|
35
|
-
return h.toLowerCase().replace(/\W/g, "");
|
|
36
|
-
},
|
|
37
|
-
complete: function complete(results) {
|
|
38
|
-
var _results$meta$fields;
|
|
39
|
-
var isEmailFieldPresent = (_results$meta$fields = results.meta.fields) === null || _results$meta$fields === void 0 ? void 0 : _results$meta$fields.includes("email");
|
|
40
|
-
if (!isEmailFieldPresent) return resolve([]);
|
|
41
|
-
var emails = results.data.map(function (item) {
|
|
42
|
-
var _item$email;
|
|
43
|
-
return (_item$email = item.email) === null || _item$email === void 0 ? void 0 : _item$email.trim();
|
|
44
|
-
}).filter(isNot(undefined));
|
|
45
|
-
return resolve(createEmailOptions(emails));
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
export var generateInitialValues = function generateInitialValues(defaultValues) {
|
|
51
|
-
return _objectSpread(_objectSpread({}, INITIAL_VALUES), defaultValues);
|
|
52
|
-
};
|
|
53
|
-
export var emailFormValidationSchema = function emailFormValidationSchema(disableReplyTo) {
|
|
54
|
-
return yup.object().shape({
|
|
55
|
-
emailSubject: yup.string().required(t("neetoMolecules.shareViaEmail.validations.requiredField.subject")),
|
|
56
|
-
emailBody: yup.string().test("emailBody", t("neetoMolecules.shareViaEmail.validations.requiredField.emailBody"), function (value) {
|
|
57
|
-
return !isEditorEmpty(value);
|
|
58
|
-
}),
|
|
59
|
-
sendFromEmail: yup.string().trim().email(t("neetoMolecules.shareViaEmail.validations.invalidField.emailAddress")).required(t("neetoMolecules.shareViaEmail.validations.requiredField.sendFrom")),
|
|
60
|
-
replyToEmail: !disableReplyTo && yup.string().trim().email(t("neetoMolecules.shareViaEmail.validations.invalidField.emailAddress")).required(t("neetoMolecules.shareViaEmail.validations.requiredField.replyTo")),
|
|
61
|
-
notifyEmails: yup.array().min(1, t("neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress")).test("are-all-emails-valid", t("neetoMolecules.shareViaEmail.validations.invalidField.emailAddress"), function (emails) {
|
|
62
|
-
return emails.every(prop("valid"));
|
|
63
|
-
}),
|
|
64
|
-
isSendLaterEnabled: yup["boolean"](),
|
|
65
|
-
sendEmailDatetime: yup.date().when("isSendLaterEnabled", {
|
|
66
|
-
is: true,
|
|
67
|
-
then: yup.date().required(t("neetoMolecules.shareViaEmail.validations.requiredField.sendLater"))
|
|
68
|
-
}),
|
|
69
|
-
name: yup.string(),
|
|
70
|
-
actionButtonText: yup.string().required(t("neetoMolecules.shareViaEmail.validations.requiredField.startButtonText"))
|
|
71
|
-
});
|
|
72
|
-
};
|