@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta1
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/README.md +66 -52
- package/dist/Breadcrumbs.js +16 -19
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BrowserSupport.js +41 -138
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/Builder.js +207 -364
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +40 -288
- package/dist/CalendarView.js.map +1 -1
- package/dist/Chevron-c64ff676.js +190 -0
- package/dist/Chevron-c64ff676.js.map +1 -0
- package/dist/Codeblock.js +26 -209
- package/dist/Codeblock.js.map +1 -1
- package/dist/Columns.js +16 -240
- package/dist/Columns.js.map +1 -1
- package/dist/ConfigurePageSidebar.js +97 -0
- package/dist/ConfigurePageSidebar.js.map +1 -0
- package/dist/ConfirmationModal.js +10 -10
- package/dist/ConfirmationModal.js.map +1 -1
- package/dist/Container.js +5 -1187
- package/dist/Container.js.map +1 -1
- package/dist/CopyToClipboardButton.js +26 -155
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/Currency.js +912 -0
- package/dist/Currency.js.map +1 -0
- package/dist/CustomDomain.js +37 -633
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +69 -2192
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/DateFormat.js +6 -20
- package/dist/DateFormat.js.map +1 -1
- package/dist/DateRangeFilter.js +19 -75
- package/dist/DateRangeFilter.js.map +1 -1
- package/dist/DeleteArchiveModal.js +86 -0
- package/dist/DeleteArchiveModal.js.map +1 -0
- package/dist/DocumentEditor.js +43 -133
- package/dist/DocumentEditor.js.map +1 -1
- package/dist/DownloadMobileAppCallout.js +4 -4
- package/dist/DownloadMobileAppCallout.js.map +1 -1
- package/dist/DynamicVariables.js +12 -95
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +79 -1741
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +32 -1213
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js +67 -0
- package/dist/EmojiPicker.js.map +1 -0
- package/dist/EmojiReactions.js +69 -0
- package/dist/EmojiReactions.js.map +1 -0
- package/dist/ErrorPage.js +17 -26
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FloatingActionMenu.js +646 -0
- package/dist/FloatingActionMenu.js.map +1 -0
- package/dist/Header.js +45 -117
- package/dist/Header.js.map +1 -1
- package/dist/HelpPopover.js +73 -0
- package/dist/HelpPopover.js.map +1 -0
- package/dist/IconPicker.js +36 -129
- package/dist/IconPicker.js.map +1 -1
- package/dist/ImageWithFallback.js +8 -144
- package/dist/ImageWithFallback.js.map +1 -1
- package/dist/InlineInput.js +22 -526
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +304 -0
- package/dist/Insights.js.map +1 -0
- package/dist/IntegrationCard.js +42 -226
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IntegrationDisconnectAlert.js +6 -48
- package/dist/IntegrationDisconnectAlert.js.map +1 -1
- package/dist/IntegrationWalkthroughModal.js +10 -10
- package/dist/IntegrationWalkthroughModal.js.map +1 -1
- package/dist/IpRestriction.js +74 -221
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +38 -128
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +39 -459
- package/dist/LoginPage.js.map +1 -1
- package/dist/MadeWith.js +32 -0
- package/dist/MadeWith.js.map +1 -0
- package/dist/MenuBar.js +34 -1295
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js +65 -86
- package/dist/Metadata.js.map +1 -1
- package/dist/MoreDropdown.js +48 -107
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +51 -730
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +148 -316
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +343 -0
- package/dist/Onboarding.js.map +1 -0
- package/dist/OptionFields.js +507 -0
- package/dist/OptionFields.js.map +1 -0
- package/dist/PageLoader.js +5 -48
- package/dist/PageLoader.js.map +1 -1
- package/dist/PhoneNumber.js +122 -201
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/ProductEmbed.js +767 -0
- package/dist/ProductEmbed.js.map +1 -0
- package/dist/PublishBlock.js +19 -60
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +52 -0
- package/dist/PublishYourItem.js.map +1 -0
- package/dist/Rename.js +127 -394
- package/dist/Rename.js.map +1 -1
- package/dist/ResponsiveDevicePicker.js +7 -143
- package/dist/ResponsiveDevicePicker.js.map +1 -1
- package/dist/Schedule.js +131 -365
- package/dist/Schedule.js.map +1 -1
- package/dist/Scrollable.js +6 -89
- package/dist/Scrollable.js.map +1 -1
- package/dist/Search.js +54 -157
- package/dist/Search.js.map +1 -1
- package/dist/Security.js +72 -1567
- package/dist/Security.js.map +1 -1
- package/dist/SendToFields.js +51 -133
- package/dist/SendToFields.js.map +1 -1
- package/dist/Settings.js +141 -412
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +189 -0
- package/dist/ShareRecordingPane.js.map +1 -0
- package/dist/ShareViaEmail.js +126 -551
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js +127 -345
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +161 -758
- package/dist/Sidebar.js.map +1 -1
- package/dist/SubHeader.js +63 -108
- package/dist/SubHeader.js.map +1 -1
- package/dist/SuffixedInput.js +105 -0
- package/dist/SuffixedInput.js.map +1 -0
- package/dist/TableWrapper.js +8 -9
- package/dist/TableWrapper.js.map +1 -1
- package/dist/Taxonomy.js +112 -1774
- package/dist/Taxonomy.js.map +1 -1
- package/dist/ThemeSidebar.js +159 -776
- package/dist/ThemeSidebar.js.map +1 -1
- package/dist/TimeFormat.js +8 -44
- package/dist/TimeFormat.js.map +1 -1
- package/dist/TimezoneMismatchModal.js +49 -84
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/ToggleFeatureCard.js +46 -169
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/Breadcrumbs.js +49 -0
- package/dist/cjs/Breadcrumbs.js.map +1 -0
- package/dist/cjs/BrowserSupport.js +329 -0
- package/dist/cjs/BrowserSupport.js.map +1 -0
- package/dist/cjs/Builder.js +556 -0
- package/dist/cjs/Builder.js.map +1 -0
- package/dist/cjs/CalendarView.js +299 -0
- package/dist/cjs/CalendarView.js.map +1 -0
- package/dist/cjs/Chevron-8a4ed9cd.js +203 -0
- package/dist/cjs/Chevron-8a4ed9cd.js.map +1 -0
- package/dist/cjs/Codeblock.js +58 -0
- package/dist/cjs/Codeblock.js.map +1 -0
- package/dist/cjs/Columns.js +31 -0
- package/dist/cjs/Columns.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +104 -0
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
- package/dist/cjs/ConfirmationModal.js +120 -0
- package/dist/cjs/ConfirmationModal.js.map +1 -0
- package/dist/cjs/Container.js +36 -0
- package/dist/cjs/Container.js.map +1 -0
- package/dist/cjs/CopyToClipboardButton.js +86 -0
- package/dist/cjs/CopyToClipboardButton.js.map +1 -0
- package/dist/cjs/Currency.js +921 -0
- package/dist/cjs/Currency.js.map +1 -0
- package/dist/cjs/CustomDomain.js +125 -0
- package/dist/cjs/CustomDomain.js.map +1 -0
- package/dist/cjs/CustomDomainDashboard.js +200 -0
- package/dist/cjs/CustomDomainDashboard.js.map +1 -0
- package/dist/cjs/DateFormat.js +40 -0
- package/dist/cjs/DateFormat.js.map +1 -0
- package/dist/cjs/DateRangeFilter.js +180 -0
- package/dist/cjs/DateRangeFilter.js.map +1 -0
- package/dist/cjs/DeleteArchiveModal.js +92 -0
- package/dist/cjs/DeleteArchiveModal.js.map +1 -0
- package/dist/cjs/DocumentEditor.js +194 -0
- package/dist/cjs/DocumentEditor.js.map +1 -0
- package/dist/cjs/DownloadMobileAppCallout.js +45 -0
- package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
- package/dist/cjs/DynamicVariables.js +106 -0
- package/dist/cjs/DynamicVariables.js.map +1 -0
- package/dist/cjs/EmailForm.js +395 -0
- package/dist/cjs/EmailForm.js.map +1 -0
- package/dist/cjs/EmailPreview.js +139 -0
- package/dist/cjs/EmailPreview.js.map +1 -0
- package/dist/cjs/EmojiPicker.js +75 -0
- package/dist/cjs/EmojiPicker.js.map +1 -0
- package/dist/cjs/EmojiReactions.js +76 -0
- package/dist/cjs/EmojiReactions.js.map +1 -0
- package/dist/cjs/ErrorPage.js +179 -0
- package/dist/cjs/ErrorPage.js.map +1 -0
- package/dist/cjs/FloatingActionMenu.js +675 -0
- package/dist/cjs/FloatingActionMenu.js.map +1 -0
- package/dist/cjs/Header.js +104 -0
- package/dist/cjs/Header.js.map +1 -0
- package/dist/cjs/HelpPopover.js +80 -0
- package/dist/cjs/HelpPopover.js.map +1 -0
- package/dist/cjs/IconPicker.js +228 -0
- package/dist/cjs/IconPicker.js.map +1 -0
- package/dist/cjs/ImageWithFallback.js +52 -0
- package/dist/cjs/ImageWithFallback.js.map +1 -0
- package/dist/cjs/InlineInput.js +233 -0
- package/dist/cjs/InlineInput.js.map +1 -0
- package/dist/cjs/Insights.js +310 -0
- package/dist/cjs/Insights.js.map +1 -0
- package/dist/cjs/IntegrationCard.js +208 -0
- package/dist/cjs/IntegrationCard.js.map +1 -0
- package/dist/cjs/IntegrationDisconnectAlert.js +48 -0
- package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/cjs/IntegrationWalkthroughModal.js +51 -0
- package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/cjs/IpRestriction.js +525 -0
- package/dist/cjs/IpRestriction.js.map +1 -0
- package/dist/cjs/KeyboardShortcuts.js +282 -0
- package/dist/cjs/KeyboardShortcuts.js.map +1 -0
- package/dist/cjs/LoginPage.js +198 -0
- package/dist/cjs/LoginPage.js.map +1 -0
- package/dist/cjs/MadeWith.js +38 -0
- package/dist/cjs/MadeWith.js.map +1 -0
- package/dist/cjs/MenuBar.js +208 -0
- package/dist/cjs/MenuBar.js.map +1 -0
- package/dist/cjs/Metadata.js +195 -0
- package/dist/cjs/Metadata.js.map +1 -0
- package/dist/cjs/MoreDropdown.js +152 -0
- package/dist/cjs/MoreDropdown.js.map +1 -0
- package/dist/cjs/NavigationHeader.js +177 -0
- package/dist/cjs/NavigationHeader.js.map +1 -0
- package/dist/cjs/NeetoWidget.js +912 -0
- package/dist/cjs/NeetoWidget.js.map +1 -0
- package/dist/cjs/Onboarding.js +357 -0
- package/dist/cjs/Onboarding.js.map +1 -0
- package/dist/cjs/OptionFields.js +514 -0
- package/dist/cjs/OptionFields.js.map +1 -0
- package/dist/cjs/PageLoader.js +116 -0
- package/dist/cjs/PageLoader.js.map +1 -0
- package/dist/cjs/PhoneNumber.js +363 -0
- package/dist/cjs/PhoneNumber.js.map +1 -0
- package/dist/cjs/ProductEmbed.js +774 -0
- package/dist/cjs/ProductEmbed.js.map +1 -0
- package/dist/cjs/PublishBlock.js +125 -0
- package/dist/cjs/PublishBlock.js.map +1 -0
- package/dist/cjs/PublishYourItem.js +59 -0
- package/dist/cjs/PublishYourItem.js.map +1 -0
- package/dist/cjs/Rename.js +350 -0
- package/dist/cjs/Rename.js.map +1 -0
- package/dist/cjs/ResponsiveDevicePicker.js +64 -0
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/Schedule.js +889 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/Scrollable.js +46 -0
- package/dist/cjs/Scrollable.js.map +1 -0
- package/dist/cjs/Search.js +117 -0
- package/dist/cjs/Search.js.map +1 -0
- package/dist/cjs/Security.js +376 -0
- package/dist/cjs/Security.js.map +1 -0
- package/dist/cjs/SendToFields.js +272 -0
- package/dist/cjs/SendToFields.js.map +1 -0
- package/dist/cjs/Settings.js +214 -0
- package/dist/cjs/Settings.js.map +1 -0
- package/dist/cjs/ShareRecordingPane.js +195 -0
- package/dist/cjs/ShareRecordingPane.js.map +1 -0
- package/dist/cjs/ShareViaEmail.js +348 -0
- package/dist/cjs/ShareViaEmail.js.map +1 -0
- package/dist/cjs/ShareViaLink.js +507 -0
- package/dist/cjs/ShareViaLink.js.map +1 -0
- package/dist/cjs/Sidebar.js +288 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/SubHeader.js +178 -0
- package/dist/cjs/SubHeader.js.map +1 -0
- package/dist/cjs/SuffixedInput.js +111 -0
- package/dist/cjs/SuffixedInput.js.map +1 -0
- package/dist/cjs/TableWrapper.js +32 -0
- package/dist/cjs/TableWrapper.js.map +1 -0
- package/dist/cjs/Taxonomy.js +442 -0
- package/dist/cjs/Taxonomy.js.map +1 -0
- package/dist/cjs/ThemeSidebar.js +1436 -0
- package/dist/cjs/ThemeSidebar.js.map +1 -0
- package/dist/cjs/TimeFormat.js +15 -0
- package/dist/cjs/TimeFormat.js.map +1 -0
- package/dist/cjs/TimezoneMismatchModal.js +143 -0
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
- package/dist/cjs/ToggleFeatureCard.js +209 -0
- package/dist/cjs/ToggleFeatureCard.js.map +1 -0
- package/dist/cjs/defineProperty-886ed289.js +47 -0
- package/dist/cjs/defineProperty-886ed289.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/index-00fdb8c2.js +542 -0
- package/dist/cjs/index-00fdb8c2.js.map +1 -0
- package/dist/cjs/index-248c4f4c.js +1186 -0
- package/dist/cjs/index-248c4f4c.js.map +1 -0
- package/dist/cjs/index-c55ad2bc.js +375 -0
- package/dist/cjs/index-c55ad2bc.js.map +1 -0
- package/dist/cjs/inject-css-80a5faa3.js +6 -0
- package/dist/cjs/inject-css-80a5faa3.js.map +1 -0
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
- package/dist/cjs/slicedToArray-f320d9e7.js +61 -0
- package/dist/cjs/slicedToArray-f320d9e7.js.map +1 -0
- package/dist/cjs/toConsumableArray-9abb3858.js +22 -0
- package/dist/cjs/toConsumableArray-9abb3858.js.map +1 -0
- package/dist/cjs/useColumns-a1c3668f.js +271 -0
- package/dist/cjs/useColumns-a1c3668f.js.map +1 -0
- package/dist/defineProperty-549061a7.js +43 -0
- package/dist/defineProperty-549061a7.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/index-90c89467.js +509 -0
- package/dist/index-90c89467.js.map +1 -0
- package/dist/index-9720867c.js +372 -0
- package/dist/index-9720867c.js.map +1 -0
- package/dist/index-e5588516.js +1184 -0
- package/dist/index-e5588516.js.map +1 -0
- package/dist/inject-css-c86de496.js +4 -0
- package/dist/inject-css-c86de496.js.map +1 -0
- package/dist/objectWithoutProperties-a0edb288.js +31 -0
- package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
- package/dist/slicedToArray-b4278ecd.js +57 -0
- package/dist/slicedToArray-b4278ecd.js.map +1 -0
- package/dist/toConsumableArray-1cc38429.js +20 -0
- package/dist/toConsumableArray-1cc38429.js.map +1 -0
- package/dist/useColumns-d17d1f72.js +258 -0
- package/dist/useColumns-d17d1f72.js.map +1 -0
- package/package.json +29 -17
- package/src/translations/de.json +7 -0
- package/src/translations/en.json +191 -31
- package/src/translations/es.json +7 -0
- package/src/translations/fr.json +7 -0
- package/src/translations/nl.json +7 -0
- package/src/translations/pl.json +7 -0
- package/src/translations/pt.json +7 -0
- package/types/Breadcrumbs.d.ts +1 -0
- package/types/Builder.d.ts +61 -12
- package/types/Columns.d.ts +112 -5
- package/types/ConfigurePageSidebar.d.ts +43 -0
- package/types/CopyToClipboardButton.d.ts +3 -0
- package/types/Currency.d.ts +48 -0
- package/types/CustomDomain.d.ts +2 -0
- package/types/CustomDomainDashboard.d.ts +14 -0
- package/types/DateRangeFilter.d.ts +2 -0
- package/types/DeleteArchiveModal.d.ts +60 -0
- package/types/EmailForm.d.ts +1 -1
- package/types/EmojiPicker.d.ts +33 -0
- package/types/EmojiReactions.d.ts +60 -0
- package/types/ErrorPage.d.ts +1 -0
- package/types/FloatingActionMenu.d.ts +56 -0
- package/types/Header.d.ts +2 -1
- package/types/HelpPopover.d.ts +42 -0
- package/types/Insights.d.ts +108 -0
- package/types/IntegrationCard.d.ts +2 -0
- package/types/KeyboardShortcuts.d.ts +2 -2
- package/types/MadeWith.d.ts +16 -0
- package/types/MoreDropdown.d.ts +4 -1
- package/types/NavigationHeader.d.ts +3 -1
- package/types/Onboarding.d.ts +63 -0
- package/types/OptionFields.d.ts +63 -0
- package/types/PhoneNumber.d.ts +6 -2
- package/types/ProductEmbed.d.ts +43 -0
- package/types/Rename.d.ts +4 -1
- package/types/Schedule.d.ts +2 -0
- package/types/Search.d.ts +2 -0
- package/types/Settings.d.ts +13 -10
- package/types/ShareRecordingPane.d.ts +50 -0
- package/types/ShareViaLink.d.ts +15 -4
- package/types/Sidebar.d.ts +16 -32
- package/types/SubHeader.d.ts +0 -1
- package/types/SuffixedInput.d.ts +43 -0
- package/types/ToggleFeatureCard.d.ts +8 -1
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var EmailPreview = require('./EmailPreview.js');
|
|
6
|
+
var defineProperty = require('./defineProperty-886ed289.js');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var classnames = require('classnames');
|
|
9
|
+
var formik = require('formik');
|
|
10
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
11
|
+
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
12
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
13
|
+
var formik$1 = require('@bigbinary/neetoui/formik');
|
|
14
|
+
var reactI18next = require('react-i18next');
|
|
15
|
+
var i18next = require('i18next');
|
|
16
|
+
var ramda = require('ramda');
|
|
17
|
+
var yup = require('yup');
|
|
18
|
+
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
19
|
+
var SendToFields = require('./SendToFields.js');
|
|
20
|
+
var slicedToArray = require('./slicedToArray-f320d9e7.js');
|
|
21
|
+
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
22
|
+
var DynamicVariables = require('./DynamicVariables.js');
|
|
23
|
+
require('./index-248c4f4c.js');
|
|
24
|
+
require('./extends-1b35a664.js');
|
|
25
|
+
require('./toConsumableArray-9abb3858.js');
|
|
26
|
+
require('@bigbinary/neeto-icons');
|
|
27
|
+
require('react-dropzone');
|
|
28
|
+
require('papaparse');
|
|
29
|
+
require('./objectWithoutProperties-2fed2d7d.js');
|
|
30
|
+
require('./inject-css-80a5faa3.js');
|
|
31
|
+
|
|
32
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
33
|
+
|
|
34
|
+
function _interopNamespace(e) {
|
|
35
|
+
if (e && e.__esModule) return e;
|
|
36
|
+
var n = Object.create(null);
|
|
37
|
+
if (e) {
|
|
38
|
+
Object.keys(e).forEach(function (k) {
|
|
39
|
+
if (k !== 'default') {
|
|
40
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
41
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
get: function () { return e[k]; }
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
n["default"] = e;
|
|
49
|
+
return Object.freeze(n);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
53
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
54
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
55
|
+
var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
|
|
56
|
+
|
|
57
|
+
var INITIAL_FORM_VALUES = {
|
|
58
|
+
sendTo: [],
|
|
59
|
+
sendToId: "",
|
|
60
|
+
sendToCc: [],
|
|
61
|
+
sendToBcc: [],
|
|
62
|
+
replyTo: "",
|
|
63
|
+
showCopyEmails: false,
|
|
64
|
+
subject: "",
|
|
65
|
+
message: ""
|
|
66
|
+
};
|
|
67
|
+
var EMAIL_FORM_VALIDATION_SCHEMA = yup__namespace.object({
|
|
68
|
+
subject: yup__namespace.string().required(i18next.t("neetoMolecules.emailForm.errors.subjectRequired")),
|
|
69
|
+
message: yup__namespace.string().test("message", i18next.t("neetoMolecules.emailForm.errors.messageRequired"), function (value) {
|
|
70
|
+
return !neetoEditor.isEditorEmpty(value);
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
var sendToFieldValidation = function sendToFieldValidation(maxEmails) {
|
|
74
|
+
var validation = yup__namespace.array().test("all-emails-valid", i18next.t("neetoMolecules.emailForm.errors.invalidEmailAddress"), function (emails) {
|
|
75
|
+
return emails === null || emails === void 0 ? void 0 : emails.every(ramda.prop("valid"));
|
|
76
|
+
}).test("max-email-count", i18next.t("neetoMolecules.emailForm.errors.maxEmails", {
|
|
77
|
+
count: maxEmails
|
|
78
|
+
}), function (emails) {
|
|
79
|
+
return (emails === null || emails === void 0 ? void 0 : emails.length) <= maxEmails;
|
|
80
|
+
});
|
|
81
|
+
return yup__namespace.object({
|
|
82
|
+
sendTo: validation.min(1, i18next.t("neetoMolecules.emailForm.errors.required", {
|
|
83
|
+
entity: i18next.t("neetoMolecules.emailForm.fields.sendToEmailAddress")
|
|
84
|
+
})).nullable(),
|
|
85
|
+
sendToCc: validation,
|
|
86
|
+
sendToBcc: validation
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
var SEND_TO_ID_FIELD_VALIDATION = yup__namespace.object({
|
|
90
|
+
sendToId: yup__namespace.string().required(i18next.t("neetoMolecules.emailForm.errors.required", {
|
|
91
|
+
entity: i18next.t("neetoMolecules.emailForm.labels.sendTo")
|
|
92
|
+
}))
|
|
93
|
+
});
|
|
94
|
+
var REPLY_TO_FIELD_VALIDATION = yup__namespace.object({
|
|
95
|
+
replyTo: yup__namespace.string().nullable().email(i18next.t("neetoMolecules.emailForm.errors.invalidEmailAddress")).required(i18next.t("neetoMolecules.emailForm.errors.required", {
|
|
96
|
+
entity: i18next.t("neetoMolecules.emailForm.fields.replyToEmailAddress")
|
|
97
|
+
}))
|
|
98
|
+
});
|
|
99
|
+
var EDITOR_ADDONS = ["highlight", "emoji", "code-block", "block-quote", "image-upload", "divider", "video-embed"];
|
|
100
|
+
|
|
101
|
+
/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */
|
|
102
|
+
var EmailFormContext = /*#__PURE__*/React__default["default"].createContext({
|
|
103
|
+
showSendToField: false,
|
|
104
|
+
showSendToAsRadio: false,
|
|
105
|
+
showReplyToField: false
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
var ReplyToField = function ReplyToField(_ref) {
|
|
109
|
+
var replyToOptions = _ref.replyToOptions;
|
|
110
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
111
|
+
t = _useTranslation.t;
|
|
112
|
+
var isDropdownField = neetoCist.isNotEmpty(replyToOptions);
|
|
113
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
114
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
115
|
+
if (isDropdownField) {
|
|
116
|
+
return /*#__PURE__*/React__default["default"].createElement(formik$1.Select, {
|
|
117
|
+
isClearable: true,
|
|
118
|
+
className: "w-full",
|
|
119
|
+
"data-testid": "replyToOptions",
|
|
120
|
+
label: t("neetoMolecules.emailForm.labels.replyTo"),
|
|
121
|
+
name: "replyTo",
|
|
122
|
+
options: replyToOptions,
|
|
123
|
+
labelProps: {
|
|
124
|
+
helpIconProps: defineProperty._defineProperty(defineProperty._defineProperty({}, "data-testid", "reply-to-tooltip"), "tooltipProps", {
|
|
125
|
+
content: t("neetoMolecules.emailForm.tooltips.replyTo")
|
|
126
|
+
})
|
|
127
|
+
},
|
|
128
|
+
onChange: function onChange(data) {
|
|
129
|
+
var _data$value;
|
|
130
|
+
return setFieldValue("replyTo", (_data$value = data === null || data === void 0 ? void 0 : data.value) !== null && _data$value !== void 0 ? _data$value : "");
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
135
|
+
autoFocus: true,
|
|
136
|
+
required: true,
|
|
137
|
+
className: "w-full",
|
|
138
|
+
"data-testid": "replyToInput",
|
|
139
|
+
label: t("neetoMolecules.emailForm.labels.replyTo"),
|
|
140
|
+
name: "replyTo",
|
|
141
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.emailPlaceholder"),
|
|
142
|
+
size: "large",
|
|
143
|
+
labelProps: {
|
|
144
|
+
helpIconProps: defineProperty._defineProperty(defineProperty._defineProperty({}, "data-testid", "reply-to-tooltip"), "tooltipProps", {
|
|
145
|
+
content: t("neetoMolecules.emailForm.tooltips.replyTo")
|
|
146
|
+
})
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
var SendToField = withT__default["default"](function (_ref) {
|
|
152
|
+
var t = _ref.t;
|
|
153
|
+
return /*#__PURE__*/React__default["default"].createElement(SendToFields, {
|
|
154
|
+
showCcBccButton: true,
|
|
155
|
+
bccInputProps: {
|
|
156
|
+
label: t("neetoMolecules.emailForm.labels.bCc"),
|
|
157
|
+
name: "sendToBcc",
|
|
158
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails")
|
|
159
|
+
},
|
|
160
|
+
ccInputProps: {
|
|
161
|
+
label: t("neetoMolecules.emailForm.labels.cc"),
|
|
162
|
+
name: "sendToCc",
|
|
163
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails")
|
|
164
|
+
},
|
|
165
|
+
emailInputProps: {
|
|
166
|
+
id: "sendTo",
|
|
167
|
+
name: "sendTo",
|
|
168
|
+
label: t("neetoMolecules.emailForm.labels.sendTo"),
|
|
169
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails"),
|
|
170
|
+
required: true
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
var SubjectField = function SubjectField(_ref) {
|
|
176
|
+
var name = _ref.name,
|
|
177
|
+
text = _ref.text,
|
|
178
|
+
updateText = _ref.updateText,
|
|
179
|
+
_ref$subjectVariables = _ref.subjectVariables,
|
|
180
|
+
subjectVariables = _ref$subjectVariables === void 0 ? [] : _ref$subjectVariables,
|
|
181
|
+
error = _ref.error,
|
|
182
|
+
_ref$required = _ref.required,
|
|
183
|
+
required = _ref$required === void 0 ? false : _ref$required;
|
|
184
|
+
var _useState = React.useState(false),
|
|
185
|
+
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
186
|
+
isFieldFocusedOnce = _useState2[0],
|
|
187
|
+
setIsFieldFocusedOnce = _useState2[1];
|
|
188
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
189
|
+
t = _useTranslation.t;
|
|
190
|
+
var tagClickHandler = function tagClickHandler(_ref2) {
|
|
191
|
+
var slug = _ref2.key;
|
|
192
|
+
var textAreaElement = document.querySelector("textarea[name=".concat(name, "]"));
|
|
193
|
+
var splitIndex = isFieldFocusedOnce && textAreaElement ? textAreaElement.selectionEnd : text.length;
|
|
194
|
+
var updatedSubject = [text.slice(0, splitIndex), " {{".concat(slug, "}}"), text.slice(splitIndex)].join("");
|
|
195
|
+
updateText(updatedSubject);
|
|
196
|
+
};
|
|
197
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
|
|
198
|
+
error: error,
|
|
199
|
+
name: name,
|
|
200
|
+
required: required,
|
|
201
|
+
label: t("neetoMolecules.emailForm.labels.subject"),
|
|
202
|
+
size: "large",
|
|
203
|
+
value: text,
|
|
204
|
+
suffix: /*#__PURE__*/React__default["default"].createElement(DynamicVariables, {
|
|
205
|
+
variables: subjectVariables,
|
|
206
|
+
dropdownProps: {
|
|
207
|
+
className: "neeto-ui-dropdown__popup overflow-y-auto",
|
|
208
|
+
buttonSize: "small"
|
|
209
|
+
},
|
|
210
|
+
onVariableClick: tagClickHandler
|
|
211
|
+
}),
|
|
212
|
+
onChange: general.withEventTargetValue(updateText),
|
|
213
|
+
onFocus: function onFocus() {
|
|
214
|
+
return setIsFieldFocusedOnce(true);
|
|
215
|
+
}
|
|
216
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
217
|
+
className: "neeto-ui-text-gray-600 mt-2",
|
|
218
|
+
"data-cy": "subject-input-variable-label",
|
|
219
|
+
style: "body3"
|
|
220
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
221
|
+
components: {
|
|
222
|
+
span: /*#__PURE__*/React__default["default"].createElement("span", {
|
|
223
|
+
className: "font-semibold"
|
|
224
|
+
})
|
|
225
|
+
},
|
|
226
|
+
i18nKey: "neetoMolecules.emailForm.helpText",
|
|
227
|
+
values: {
|
|
228
|
+
type: "subject"
|
|
229
|
+
}
|
|
230
|
+
})));
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
var EmailForm = function EmailForm(_ref) {
|
|
234
|
+
var _ref$messageVariables = _ref.messageVariables,
|
|
235
|
+
messageVariables = _ref$messageVariables === void 0 ? [] : _ref$messageVariables,
|
|
236
|
+
_ref$subjectVariables = _ref.subjectVariables,
|
|
237
|
+
subjectVariables = _ref$subjectVariables === void 0 ? [] : _ref$subjectVariables,
|
|
238
|
+
handleCancel = _ref.handleCancel,
|
|
239
|
+
isLoading = _ref.isLoading,
|
|
240
|
+
_ref$replyToOptions = _ref.replyToOptions,
|
|
241
|
+
replyToOptions = _ref$replyToOptions === void 0 ? [] : _ref$replyToOptions,
|
|
242
|
+
_ref$sendToOptions = _ref.sendToOptions,
|
|
243
|
+
sendToOptions = _ref$sendToOptions === void 0 ? [] : _ref$sendToOptions,
|
|
244
|
+
_ref$isUpdating = _ref.isUpdating,
|
|
245
|
+
isUpdating = _ref$isUpdating === void 0 ? false : _ref$isUpdating,
|
|
246
|
+
_ref$showFields = _ref.showFields,
|
|
247
|
+
showFields = _ref$showFields === void 0 ? true : _ref$showFields,
|
|
248
|
+
_ref$className = _ref.className,
|
|
249
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
250
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
251
|
+
t = _useTranslation.t;
|
|
252
|
+
var _useContext = React.useContext(EmailFormContext),
|
|
253
|
+
showSendToField = _useContext.showSendToField,
|
|
254
|
+
showSendToAsRadio = _useContext.showSendToAsRadio,
|
|
255
|
+
showReplyToField = _useContext.showReplyToField;
|
|
256
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
257
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
258
|
+
var showSendToRadioField = showSendToField && showSendToAsRadio && neetoCist.isNotEmpty(sendToOptions);
|
|
259
|
+
var showSendToTextField = showSendToField && !showSendToRadioField;
|
|
260
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
261
|
+
"data-testid": "email-form",
|
|
262
|
+
className: classnames__default["default"]("flex flex-1 flex-col items-start gap-2", defineProperty._defineProperty({}, className, className))
|
|
263
|
+
}, showFields && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
264
|
+
className: "flex w-full flex-col items-start justify-start gap-6"
|
|
265
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik.Field, {
|
|
266
|
+
name: "subject"
|
|
267
|
+
}, function (_ref2) {
|
|
268
|
+
var value = _ref2.field.value,
|
|
269
|
+
error = _ref2.meta.error;
|
|
270
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
271
|
+
className: "w-full"
|
|
272
|
+
}, /*#__PURE__*/React__default["default"].createElement(SubjectField, {
|
|
273
|
+
subjectVariables: subjectVariables,
|
|
274
|
+
required: true,
|
|
275
|
+
error: t(error),
|
|
276
|
+
name: "subject",
|
|
277
|
+
text: value,
|
|
278
|
+
updateText: function updateText(text) {
|
|
279
|
+
return setFieldValue("subject", text);
|
|
280
|
+
}
|
|
281
|
+
}));
|
|
282
|
+
}), showSendToRadioField && /*#__PURE__*/React__default["default"].createElement(formik$1.Radio, {
|
|
283
|
+
"data-testid": "send-to-id",
|
|
284
|
+
label: t("neetoMolecules.emailForm.labels.sendTo"),
|
|
285
|
+
labelProps: {
|
|
286
|
+
required: true
|
|
287
|
+
},
|
|
288
|
+
name: "sendToId"
|
|
289
|
+
}, sendToOptions.map(function (_ref3) {
|
|
290
|
+
var label = _ref3.label,
|
|
291
|
+
value = _ref3.value;
|
|
292
|
+
return /*#__PURE__*/React__default["default"].createElement(formik$1.Radio.Item, {
|
|
293
|
+
label: label,
|
|
294
|
+
value: value,
|
|
295
|
+
key: value
|
|
296
|
+
});
|
|
297
|
+
})), showSendToTextField && /*#__PURE__*/React__default["default"].createElement(SendToField, null), showReplyToField && /*#__PURE__*/React__default["default"].createElement(ReplyToField, {
|
|
298
|
+
replyToOptions: replyToOptions
|
|
299
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
300
|
+
className: "w-full"
|
|
301
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
302
|
+
isMenuCollapsible: true,
|
|
303
|
+
required: true,
|
|
304
|
+
addons: EDITOR_ADDONS,
|
|
305
|
+
"data-cy": "message-input-field",
|
|
306
|
+
id: "form_message",
|
|
307
|
+
label: t("neetoMolecules.emailForm.labels.message"),
|
|
308
|
+
name: "message",
|
|
309
|
+
variables: messageVariables
|
|
310
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
311
|
+
className: "neeto-ui-text-gray-500 mt-2",
|
|
312
|
+
"data-cy": "message-input-variable-label",
|
|
313
|
+
style: "body3"
|
|
314
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
315
|
+
i18nKey: "neetoMolecules.emailForm.helpText",
|
|
316
|
+
values: {
|
|
317
|
+
type: "message"
|
|
318
|
+
},
|
|
319
|
+
components: {
|
|
320
|
+
span: /*#__PURE__*/React__default["default"].createElement("span", {
|
|
321
|
+
className: "font-semibold"
|
|
322
|
+
})
|
|
323
|
+
}
|
|
324
|
+
})))), /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
|
|
325
|
+
cancelButtonProps: {
|
|
326
|
+
onClick: handleCancel
|
|
327
|
+
},
|
|
328
|
+
className: "mt-6 w-full justify-start",
|
|
329
|
+
isSubmitting: isLoading || isUpdating
|
|
330
|
+
}));
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
var getValidationSchema = function getValidationSchema(_ref) {
|
|
334
|
+
var showSendToField = _ref.showSendToField,
|
|
335
|
+
showReplyToField = _ref.showReplyToField,
|
|
336
|
+
showSendToAsRadio = _ref.showSendToAsRadio,
|
|
337
|
+
customValidations = _ref.customValidations,
|
|
338
|
+
maxEmails = _ref.maxEmails;
|
|
339
|
+
var schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();
|
|
340
|
+
if (showSendToField) {
|
|
341
|
+
schema = schema.concat(showSendToAsRadio ? SEND_TO_ID_FIELD_VALIDATION : sendToFieldValidation(maxEmails));
|
|
342
|
+
}
|
|
343
|
+
if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);
|
|
344
|
+
return schema.shape(customValidations);
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
348
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
349
|
+
var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
350
|
+
var _ref$onSubmit = _ref.onSubmit,
|
|
351
|
+
onSubmit = _ref$onSubmit === void 0 ? neetoCist.noop : _ref$onSubmit,
|
|
352
|
+
_ref$initialValues = _ref.initialValues,
|
|
353
|
+
initialValues = _ref$initialValues === void 0 ? INITIAL_FORM_VALUES : _ref$initialValues,
|
|
354
|
+
children = _ref.children,
|
|
355
|
+
formikProps = _ref.formikProps,
|
|
356
|
+
_ref$validationSchema = _ref.validationSchema,
|
|
357
|
+
customValidations = _ref$validationSchema === void 0 ? {} : _ref$validationSchema,
|
|
358
|
+
_ref$showSendToField = _ref.showSendToField,
|
|
359
|
+
showSendToField = _ref$showSendToField === void 0 ? false : _ref$showSendToField,
|
|
360
|
+
_ref$showReplyToField = _ref.showReplyToField,
|
|
361
|
+
showReplyToField = _ref$showReplyToField === void 0 ? false : _ref$showReplyToField,
|
|
362
|
+
_ref$showSendToAsRadi = _ref.showSendToAsRadio,
|
|
363
|
+
showSendToAsRadio = _ref$showSendToAsRadi === void 0 ? false : _ref$showSendToAsRadi,
|
|
364
|
+
_ref$maxEmails = _ref.maxEmails,
|
|
365
|
+
maxEmails = _ref$maxEmails === void 0 ? 10 : _ref$maxEmails;
|
|
366
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
367
|
+
"data-testid": "email-form-provider"
|
|
368
|
+
}, /*#__PURE__*/React__default["default"].createElement(EmailFormContext.Provider, {
|
|
369
|
+
value: {
|
|
370
|
+
showSendToField: showSendToField,
|
|
371
|
+
showSendToAsRadio: showSendToAsRadio,
|
|
372
|
+
showReplyToField: showReplyToField
|
|
373
|
+
}
|
|
374
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
|
|
375
|
+
formikProps: _objectSpread({
|
|
376
|
+
enableReinitialize: true,
|
|
377
|
+
validationSchema: getValidationSchema({
|
|
378
|
+
showSendToField: showSendToField,
|
|
379
|
+
showReplyToField: showReplyToField,
|
|
380
|
+
showSendToAsRadio: showSendToAsRadio,
|
|
381
|
+
customValidations: customValidations,
|
|
382
|
+
maxEmails: maxEmails
|
|
383
|
+
}),
|
|
384
|
+
initialValues: _objectSpread(_objectSpread({}, initialValues), {}, {
|
|
385
|
+
replyTo: initialValues.replyTo || globalProps.user.email
|
|
386
|
+
}),
|
|
387
|
+
onSubmit: onSubmit
|
|
388
|
+
}, formikProps)
|
|
389
|
+
}, children)));
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
exports.EmailPreview = EmailPreview;
|
|
393
|
+
exports.EmailForm = EmailForm;
|
|
394
|
+
exports.EmailFormProvider = EmailFormProvider;
|
|
395
|
+
//# sourceMappingURL=EmailForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport React from \"react\";\n\nconst EmailFormContext = React.createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ReplyToField = ({ replyToOptions }) => {\n const { t } = useTranslation();\n\n const isDropdownField = isNotEmpty(replyToOptions);\n\n const { setFieldValue } = useFormikContext();\n\n if (isDropdownField) {\n return (\n <Select\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n options={replyToOptions}\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n />\n );\n};\n\nexport default ReplyToField;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = withT(({ t }) => (\n <SendToFields\n showCcBccButton\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n));\n\nexport default SendToField;\n","import React, { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import React, { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToOptions = [],\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { showSendToField, showSendToAsRadio, showReplyToField } =\n useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n {showSendToTextField && <SendToField />}\n {showReplyToField && <ReplyToField {...{ replyToOptions }} />}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"mt-6 w-full justify-start\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n};\n\nexport default EmailForm;\n","import {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{ showSendToField, showSendToAsRadio, showReplyToField }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","React","createContext","showSendToField","showSendToAsRadio","showReplyToField","ReplyToField","_ref","replyToOptions","_useTranslation","useTranslation","isDropdownField","isNotEmpty","_useFormikContext","useFormikContext","setFieldValue","createElement","Select","isClearable","className","label","name","options","labelProps","helpIconProps","_defineProperty","content","onChange","data","_data$value","Input","autoFocus","placeholder","size","SendToField","withT","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","_ref2","slug","key","textAreaElement","document","querySelector","concat","splitIndex","selectionEnd","updatedSubject","slice","join","Fragment","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","_ref$replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","showSendToRadioField","showSendToTextField","classnames","Field","field","meta","Radio","map","_ref3","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","getValidationSchema","customValidations","schema","clone","shape","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","children","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$maxEmails","Provider","Form","_objectSpread","enableReinitialize","globalProps","user"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,SAAS,EAAE,EAAE;AACbC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,cAAc,EAAE,KAAK;AACrBC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,OAAO,EAAE,EAAA;AACX,CAAC,CAAA;AAEM,IAAMC,4BAA4B,GAAGC,cAAG,CAACC,MAAM,CAAC;AACrDJ,EAAAA,OAAO,EAAEG,cAAG,CACTE,MAAM,EAAE,CACRC,QAAQ,CAACC,SAAC,CAAC,iDAAiD,CAAC,CAAC;AACjEN,EAAAA,OAAO,EAAEE,cAAG,CACTE,MAAM,EAAE,CACRG,IAAI,CACH,SAAS,EACTD,SAAC,CAAC,iDAAiD,CAAC,EACpD,UAAAE,KAAK,EAAA;AAAA,IAAA,OAAI,CAACC,yBAAa,CAACD,KAAK,CAAC,CAAA;GAChC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEK,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,SAAS,EAAI;AAChD,EAAA,IAAMC,UAAU,GAAGV,cAAG,CACnBW,KAAK,EAAE,CACPN,IAAI,CACH,kBAAkB,EAClBD,SAAC,CAAC,qDAAqD,CAAC,EACxD,UAAAQ,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEC,KAAK,CAACC,UAAI,CAAC,OAAO,CAAC,CAAC,CAAA;GACxC,CAAC,CACAT,IAAI,CACH,iBAAiB,EACjBD,SAAC,CAAC,2CAA2C,EAAE;AAAEW,IAAAA,KAAK,EAAEN,SAAAA;GAAW,CAAC,EACpE,UAAAG,MAAM,EAAA;IAAA,OAAI,CAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEI,MAAM,KAAIP,SAAS,CAAA;AAAA,GACvC,CAAC,CAAA;EAEH,OAAOT,cAAG,CAACC,MAAM,CAAC;IAChBV,MAAM,EAAEmB,UAAU,CACfO,GAAG,CACF,CAAC,EACDb,SAAC,CAAC,0CAA0C,EAAE;MAC5Cc,MAAM,EAAEd,SAAC,CAAC,oDAAoD,CAAA;AAChE,KAAC,CACH,CAAC,CACAe,QAAQ,EAAE;AACb1B,IAAAA,QAAQ,EAAEiB,UAAU;AACpBhB,IAAAA,SAAS,EAAEgB,UAAAA;AACb,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEM,IAAMU,2BAA2B,GAAGpB,cAAG,CAACC,MAAM,CAAC;AACpDT,EAAAA,QAAQ,EAAEQ,cAAG,CAACE,MAAM,EAAE,CAACC,QAAQ,CAC7BC,SAAC,CAAC,0CAA0C,EAAE;IAC5Cc,MAAM,EAAEd,SAAC,CAAC,wCAAwC,CAAA;AACpD,GAAC,CACH,CAAA;AACF,CAAC,CAAC,CAAA;AAEK,IAAMiB,yBAAyB,GAAGrB,cAAG,CAACC,MAAM,CAAC;EAClDN,OAAO,EAAEK,cAAG,CACTE,MAAM,EAAE,CACRiB,QAAQ,EAAE,CACVG,KAAK,CAAClB,SAAC,CAAC,qDAAqD,CAAC,CAAC,CAC/DD,QAAQ,CACPC,SAAC,CAAC,0CAA0C,EAAE;IAC5Cc,MAAM,EAAEd,SAAC,CAAC,qDAAqD,CAAA;AACjE,GAAC,CACH,CAAA;AACJ,CAAC,CAAC,CAAA;AAEK,IAAMmB,aAAa,GAAG,CAC3B,WAAW,EACX,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,CACd;;ACrFD;AAGA,IAAMC,gBAAgB,gBAAGC,yBAAK,CAACC,aAAa,CAAC;AAC3CC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,gBAAgB,EAAE,KAAA;AACpB,CAAC,CAAC;;ACAF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAA2B;AAAA,EAAA,IAArBC,cAAc,GAAAD,IAAA,CAAdC,cAAc,CAAA;AACpC,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAM+B,eAAe,GAAGC,oBAAU,CAACJ,cAAc,CAAC,CAAA;AAElD,EAAA,IAAAK,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa,CAAA;AAErB,EAAA,IAAIJ,eAAe,EAAE;AACnB,IAAA,oBACEV,yBAAA,CAAAe,aAAA,CAACC,eAAM,EAAA;MACLC,WAAW,EAAA,IAAA;AACXC,MAAAA,SAAS,EAAC,QAAQ;AAClB,MAAA,aAAA,EAAY,gBAAgB;AAC5BC,MAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDyC,MAAAA,IAAI,EAAC,SAAS;AACdC,MAAAA,OAAO,EAAEd,cAAe;AACxBe,MAAAA,UAAU,EAAE;QACVC,aAAa,EAAAC,8BAAA,CAAAA,8BAAA,KACV,aAAa,EAAG,kBAAkB,CACrB,EAAA,cAAA,EAAA;UACZC,OAAO,EAAE9C,CAAC,CAAC,2CAA2C,CAAA;SACvD,CAAA;OAEH;MACF+C,QAAQ,EAAE,SAAAA,QAAAA,CAAAC,IAAI,EAAA;AAAA,QAAA,IAAAC,WAAA,CAAA;AAAA,QAAA,OAAId,aAAa,CAAC,SAAS,GAAAc,WAAA,GAAED,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAE9C,KAAK,MAAA+C,IAAAA,IAAAA,WAAA,cAAAA,WAAA,GAAI,EAAE,CAAC,CAAA;AAAA,OAAA;AAAC,KAC/D,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,oBACE5B,yBAAA,CAAAe,aAAA,CAACc,cAAK,EAAA;IACJC,SAAS,EAAA,IAAA;IACTpD,QAAQ,EAAA,IAAA;AACRwC,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,aAAA,EAAY,cAAc;AAC1BC,IAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDyC,IAAAA,IAAI,EAAC,SAAS;AACdW,IAAAA,WAAW,EAAEpD,CAAC,CAAC,wDAAwD,CAAE;AACzEqD,IAAAA,IAAI,EAAC,OAAO;AACZV,IAAAA,UAAU,EAAE;MACVC,aAAa,EAAAC,8BAAA,CAAAA,8BAAA,KACV,aAAa,EAAG,kBAAkB,CACrB,EAAA,cAAA,EAAA;QACZC,OAAO,EAAE9C,CAAC,CAAC,2CAA2C,CAAA;OACvD,CAAA;AAEL,KAAA;AAAE,GACH,CAAC,CAAA;AAEN,CAAC;;AClDD,IAAMsD,WAAW,GAAGC,yBAAK,CAAC,UAAA5B,IAAA,EAAA;AAAA,EAAA,IAAG3B,CAAC,GAAA2B,IAAA,CAAD3B,CAAC,CAAA;AAAA,EAAA,oBAC5BqB,yBAAA,CAAAe,aAAA,CAACoB,YAAY,EAAA;IACXC,eAAe,EAAA,IAAA;AACfC,IAAAA,aAAa,EAAE;AACblB,MAAAA,KAAK,EAAExC,CAAC,CAAC,qCAAqC,CAAC;AAC/CyC,MAAAA,IAAI,EAAE,WAAW;MACjBW,WAAW,EAAEpD,CAAC,CACZ,4DACF,CAAA;KACA;AACF2D,IAAAA,YAAY,EAAE;AACZnB,MAAAA,KAAK,EAAExC,CAAC,CAAC,oCAAoC,CAAC;AAC9CyC,MAAAA,IAAI,EAAE,UAAU;MAChBW,WAAW,EAAEpD,CAAC,CACZ,4DACF,CAAA;KACA;AACF4D,IAAAA,eAAe,EAAE;AACfC,MAAAA,EAAE,EAAE,QAAQ;AACZpB,MAAAA,IAAI,EAAE,QAAQ;AACdD,MAAAA,KAAK,EAAExC,CAAC,CAAC,wCAAwC,CAAC;AAClDoD,MAAAA,WAAW,EAAEpD,CAAC,CACZ,4DACF,CAAC;AACDD,MAAAA,QAAQ,EAAE,IAAA;AACZ,KAAA;AAAE,GACH,CAAC,CAAA;AAAA,CACH,CAAC;;ACzBF,IAAM+D,YAAY,GAAG,SAAfA,YAAYA,CAAAnC,IAAA,EAOZ;AAAA,EAAA,IANJc,IAAI,GAAAd,IAAA,CAAJc,IAAI;IACJsB,IAAI,GAAApC,IAAA,CAAJoC,IAAI;IACJC,UAAU,GAAArC,IAAA,CAAVqC,UAAU;IAAAC,qBAAA,GAAAtC,IAAA,CACVuC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrBE,KAAK,GAAAxC,IAAA,CAALwC,KAAK;IAAAC,aAAA,GAAAzC,IAAA,CACL5B,QAAQ;AAARA,IAAAA,QAAQ,GAAAqE,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;AAEhB,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,4BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAA1C,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAM2E,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAsB;AAAA,IAAA,IAAXC,IAAI,GAAAD,KAAA,CAATE,GAAG,CAAA;IAC5B,IAAMC,eAAe,GAAGC,QAAQ,CAACC,aAAa,kBAAAC,MAAA,CAAkBzC,IAAI,EAAA,GAAA,CAAG,CAAC,CAAA;AACxE,IAAA,IAAM0C,UAAU,GACdV,kBAAkB,IAAIM,eAAe,GACjCA,eAAe,CAACK,YAAY,GAC5BrB,IAAI,CAACnD,MAAM,CAAA;IAEjB,IAAMyE,cAAc,GAAG,CACrBtB,IAAI,CAACuB,KAAK,CAAC,CAAC,EAAEH,UAAU,CAAC,EAAAD,KAAAA,CAAAA,MAAA,CACnBL,IAAI,EACVd,IAAAA,CAAAA,EAAAA,IAAI,CAACuB,KAAK,CAACH,UAAU,CAAC,CACvB,CAACI,IAAI,CAAC,EAAE,CAAC,CAAA;IACVvB,UAAU,CAACqB,cAAc,CAAC,CAAA;GAC3B,CAAA;AAED,EAAA,oBACEhE,yBAAA,CAAAe,aAAA,CAAAf,yBAAA,CAAAmE,QAAA,EAAA,IAAA,eACEnE,yBAAA,CAAAe,aAAA,CAACc,aAAK,EAAA;AACEiB,IAAAA,KAAK,EAALA,KAAK;AAAE1B,IAAAA,IAAI,EAAJA,IAAI;AAAE1C,IAAAA,QAAQ,EAARA,QAAQ;AAC3ByC,IAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDqD,IAAAA,IAAI,EAAC,OAAO;AACZnD,IAAAA,KAAK,EAAE6D,IAAK;AACZ0B,IAAAA,MAAM,eACJpE,yBAAA,CAAAe,aAAA,CAACsD,gBAAgB,EAAA;AACfC,MAAAA,SAAS,EAAEzB,gBAAiB;AAC5B0B,MAAAA,aAAa,EAAE;AACbrD,QAAAA,SAAS,EAAE,0CAA0C;AACrDsD,QAAAA,UAAU,EAAE,OAAA;OACZ;AACFC,MAAAA,eAAe,EAAEnB,eAAAA;AAAgB,KAClC,CACF;AACD5B,IAAAA,QAAQ,EAAEgD,4BAAoB,CAAC/B,UAAU,CAAE;IAC3CgC,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMtB,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AAAC,GAC5C,CAAC,eACFrD,yBAAA,CAAAe,aAAA,CAAC6D,kBAAU,EAAA;AACT1D,IAAAA,SAAS,EAAC,6BAA6B;AACvC,IAAA,SAAA,EAAQ,8BAA8B;AACtC2D,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,eAEb7E,yBAAA,CAAAe,aAAA,CAAC+D,kBAAK,EAAA;AACJC,IAAAA,UAAU,EAAE;MAAEC,IAAI,eAAEhF,yBAAA,CAAAe,aAAA,CAAA,MAAA,EAAA;AAAMG,QAAAA,SAAS,EAAC,eAAA;OAAiB,CAAA;KAAI;AACzD+D,IAAAA,OAAO,EAAC,mCAAmC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,SAAA;AAAU,KAAA;GAC3B,CACS,CACZ,CAAC,CAAA;AAEP,CAAC;;ACnDD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA9E,IAAA,EAUT;AAAA,EAAA,IAAA+E,qBAAA,GAAA/E,IAAA,CATJgF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAzC,qBAAA,GAAAtC,IAAA,CACrBuC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrB2C,YAAY,GAAAjF,IAAA,CAAZiF,YAAY;IACZC,SAAS,GAAAlF,IAAA,CAATkF,SAAS;IAAAC,mBAAA,GAAAnF,IAAA,CACTC,cAAc;AAAdA,IAAAA,cAAc,GAAAkF,mBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,mBAAA;IAAAC,kBAAA,GAAApF,IAAA,CACnBqF,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAAAE,eAAA,GAAAtF,IAAA,CAClBuF,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,eAAA,GAAAxF,IAAA,CAClByF,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,cAAA,GAAA1F,IAAA,CACjBY,SAAS;AAATA,IAAAA,SAAS,GAAA8E,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA,CAAA;AAEd,EAAA,IAAAxF,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAAsH,WAAA,GACEC,gBAAU,CAACnG,gBAAgB,CAAC;IADtBG,eAAe,GAAA+F,WAAA,CAAf/F,eAAe;IAAEC,iBAAiB,GAAA8F,WAAA,CAAjB9F,iBAAiB;IAAEC,gBAAgB,GAAA6F,WAAA,CAAhB7F,gBAAgB,CAAA;AAG5D,EAAA,IAAAQ,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa,CAAA;EACrB,IAAMqF,oBAAoB,GACxBjG,eAAe,IAAIC,iBAAiB,IAAIQ,oBAAU,CAACgF,aAAa,CAAC,CAAA;AAEnE,EAAA,IAAMS,mBAAmB,GAAGlG,eAAe,IAAI,CAACiG,oBAAoB,CAAA;EAEpE,oBACEnG,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,YAAY;IACxBG,SAAS,EAAEmF,8BAAU,CAAC,wCAAwC,EAAA7E,8BAAA,CAC3DN,EAAAA,EAAAA,SAAS,EAAGA,SAAS,CACvB,CAAA;AAAE,GAAA,EAEF6E,UAAU,iBACT/F,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,sDAAA;AAAsD,GAAA,eACnElB,yBAAA,CAAAe,aAAA,CAACuF,YAAK,EAAA;AAAClF,IAAAA,IAAI,EAAC,SAAA;AAAS,GAAA,EAClB,UAAAmC,KAAA,EAAA;AAAA,IAAA,IAAY1E,KAAK,GAAA0E,KAAA,CAAdgD,KAAK,CAAI1H,KAAK;AAAYiE,MAAAA,KAAK,GAAAS,KAAA,CAAbiD,IAAI,CAAI1D,KAAK,CAAA;IAAA,oBACjC9C,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,QAAA;AAAQ,KAAA,eACrBlB,yBAAA,CAAAe,aAAA,CAAC0B,YAAY,EAAA;AACLI,MAAAA,gBAAgB,EAAhBA,gBAAgB;MACtBnE,QAAQ,EAAA,IAAA;AACRoE,MAAAA,KAAK,EAAEnE,CAAC,CAACmE,KAAK,CAAE;AAChB1B,MAAAA,IAAI,EAAC,SAAS;AACdsB,MAAAA,IAAI,EAAE7D,KAAM;MACZ8D,UAAU,EAAE,SAAAA,UAAAA,CAAAD,IAAI,EAAA;AAAA,QAAA,OAAI5B,aAAa,CAAC,SAAS,EAAE4B,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KACpD,CACE,CAAC,CAAA;GAEH,CAAC,EACPyD,oBAAoB,iBACnBnG,yBAAA,CAAAe,aAAA,CAAC0F,cAAK,EAAA;AACJ,IAAA,aAAA,EAAY,YAAY;AACxBtF,IAAAA,KAAK,EAAExC,CAAC,CAAC,wCAAwC,CAAE;AACnD2C,IAAAA,UAAU,EAAE;AAAE5C,MAAAA,QAAQ,EAAE,IAAA;KAAO;AAC/B0C,IAAAA,IAAI,EAAC,UAAA;AAAU,GAAA,EAEduE,aAAa,CAACe,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGxF,KAAK,GAAAwF,KAAA,CAALxF,KAAK;MAAEtC,KAAK,GAAA8H,KAAA,CAAL9H,KAAK,CAAA;AAAA,IAAA,oBAChCmB,yBAAA,CAAAe,aAAA,CAAC0F,cAAK,CAACG,IAAI,EAAA;AAAOzF,MAAAA,KAAK,EAALA,KAAK;AAAEtC,MAAAA,KAAK,EAALA,KAAK;AAAI4E,MAAAA,GAAG,EAAE5E,KAAAA;AAAM,KAAE,CAAC,CAAA;AAAA,GACjD,CACI,CACR,EACAuH,mBAAmB,iBAAIpG,yBAAA,CAAAe,aAAA,CAACkB,WAAW,EAAE,IAAA,CAAC,EACtC7B,gBAAgB,iBAAIJ,yBAAA,CAAAe,aAAA,CAACV,YAAY,EAAA;AAAOE,IAAAA,cAAc,EAAdA,cAAAA;AAAc,GAAK,CAAC,eAC7DP,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,QAAA;AAAQ,GAAA,eACrBlB,yBAAA,CAAAe,aAAA,CAAC8F,wBAAY,EAAA;IACXC,iBAAiB,EAAA,IAAA;IACjBpI,QAAQ,EAAA,IAAA;AACRqI,IAAAA,MAAM,EAAEjH,aAAc;AACtB,IAAA,SAAA,EAAQ,qBAAqB;AAC7B0C,IAAAA,EAAE,EAAC,cAAc;AACjBrB,IAAAA,KAAK,EAAExC,CAAC,CAAC,yCAAyC,CAAE;AACpDyC,IAAAA,IAAI,EAAC,SAAS;AACdkD,IAAAA,SAAS,EAAEgB,gBAAAA;AAAiB,GAC7B,CAAC,eACFtF,yBAAA,CAAAe,aAAA,CAAC6D,kBAAU,EAAA;AACT1D,IAAAA,SAAS,EAAC,6BAA6B;AACvC,IAAA,SAAA,EAAQ,8BAA8B;AACtC2D,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,eAEb7E,yBAAA,CAAAe,aAAA,CAAC+D,kBAAK,EAAA;AACJG,IAAAA,OAAO,EAAC,mCAAmC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,SAAA;KAAY;AAC5BJ,IAAAA,UAAU,EAAE;MACVC,IAAI,eAAEhF,yBAAA,CAAAe,aAAA,CAAA,MAAA,EAAA;AAAMG,QAAAA,SAAS,EAAC,eAAA;OAAiB,CAAA;AACzC,KAAA;GACD,CACS,CACT,CACF,CACN,eACDlB,yBAAA,CAAAe,aAAA,CAACiG,oBAAW,EAAA;AACVC,IAAAA,iBAAiB,EAAE;AAAEC,MAAAA,OAAO,EAAE3B,YAAAA;KAAe;AAC7CrE,IAAAA,SAAS,EAAC,2BAA2B;IACrCiG,YAAY,EAAE3B,SAAS,IAAIK,UAAAA;AAAW,GACvC,CACE,CAAC,CAAA;AAEV;;ACvGO,IAAMuB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA9G,IAAA,EAM1B;AAAA,EAAA,IALJJ,eAAe,GAAAI,IAAA,CAAfJ,eAAe;IACfE,gBAAgB,GAAAE,IAAA,CAAhBF,gBAAgB;IAChBD,iBAAiB,GAAAG,IAAA,CAAjBH,iBAAiB;IACjBkH,iBAAiB,GAAA/G,IAAA,CAAjB+G,iBAAiB;IACjBrI,SAAS,GAAAsB,IAAA,CAATtB,SAAS,CAAA;AAET,EAAA,IAAIsI,MAAM,GAAGhJ,4BAA4B,CAACiJ,KAAK,EAAE,CAAA;AAEjD,EAAA,IAAIrH,eAAe,EAAE;AACnBoH,IAAAA,MAAM,GAAGA,MAAM,CAACzD,MAAM,CACpB1D,iBAAiB,GACbR,2BAA2B,GAC3BZ,qBAAqB,CAACC,SAAS,CACrC,CAAC,CAAA;AACH,GAAA;EAEA,IAAIoB,gBAAgB,EAAEkH,MAAM,GAAGA,MAAM,CAACzD,MAAM,CAACjE,yBAAyB,CAAC,CAAA;AAEvE,EAAA,OAAO0H,MAAM,CAACE,KAAK,CAACH,iBAAiB,CAAC,CAAA;AACxC,CAAC;;;;ACjBD,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAnH,IAAA,EAAA;AAAA,EAAA,IAAAoH,aAAA,GAAApH,IAAA,CACrBqH,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,aAAA;IAAAG,kBAAA,GAAAvH,IAAA,CACfwH,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAGhK,KAAAA,CAAAA,GAAAA,mBAAmB,GAAAgK,kBAAA;IACnCE,QAAQ,GAAAzH,IAAA,CAARyH,QAAQ;IACRC,WAAW,GAAA1H,IAAA,CAAX0H,WAAW;IAAAC,qBAAA,GAAA3H,IAAA,CACX4H,gBAAgB;AAAEb,IAAAA,iBAAiB,GAAAY,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,oBAAA,GAAA7H,IAAA,CACxCJ,eAAe;AAAfA,IAAAA,eAAe,GAAAiI,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAC,qBAAA,GAAA9H,IAAA,CACvBF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAgI,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAA/H,IAAA,CACxBH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAkI,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,cAAA,GAAAhI,IAAA,CACzBtB,SAAS;AAATA,IAAAA,SAAS,GAAAsJ,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA,CAAA;EAAA,oBAEdtI,yBAAA,CAAAe,aAAA,CAAA,KAAA,EAAA;IAAK,aAAY,EAAA,qBAAA;AAAqB,GAAA,eACpCf,yBAAA,CAAAe,aAAA,CAAChB,gBAAgB,CAACwI,QAAQ,EAAA;AACxB1J,IAAAA,KAAK,EAAE;AAAEqB,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AAAEC,MAAAA,gBAAgB,EAAhBA,gBAAAA;AAAiB,KAAA;AAAE,GAAA,eAEhEJ,yBAAA,CAAAe,aAAA,CAACyH,aAAI,EAAA;AACHR,IAAAA,WAAW,EAAAS,aAAA,CAAA;AACTC,MAAAA,kBAAkB,EAAE,IAAI;MACxBR,gBAAgB,EAAEd,mBAAmB,CAAC;AACpClH,QAAAA,eAAe,EAAfA,eAAe;AACfE,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBkH,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBrI,QAAAA,SAAS,EAATA,SAAAA;AACF,OAAC,CAAC;AACF8I,MAAAA,aAAa,EAAAW,aAAA,CAAAA,aAAA,KACRX,aAAa,CAAA,EAAA,EAAA,EAAA;QAChB5J,OAAO,EAAE4J,aAAa,CAAC5J,OAAO,IAAIyK,WAAW,CAACC,IAAI,CAAC/I,KAAAA;OACpD,CAAA;AACD8H,MAAAA,QAAQ,EAARA,QAAAA;AAAQ,KAAA,EACLK,WAAW,CAAA;GAGfD,EAAAA,QACG,CACmB,CACxB,CAAC,CAAA;AAAA;;;;;;"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
+
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
7
|
+
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
8
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
9
|
+
var index = require('./index-248c4f4c.js');
|
|
10
|
+
|
|
11
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
+
|
|
13
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
15
|
+
var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
|
|
16
|
+
|
|
17
|
+
var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(neetoEditor.EditorContent);
|
|
18
|
+
var EmailPreview = withT__default["default"](function (_ref) {
|
|
19
|
+
var t = _ref.t,
|
|
20
|
+
_ref$to = _ref.to,
|
|
21
|
+
to = _ref$to === void 0 ? [] : _ref$to,
|
|
22
|
+
from = _ref.from,
|
|
23
|
+
subject = _ref.subject,
|
|
24
|
+
body = _ref.body,
|
|
25
|
+
productName = _ref.productName,
|
|
26
|
+
actionButtonText = _ref.actionButtonText,
|
|
27
|
+
logo = _ref.logo,
|
|
28
|
+
_ref$className = _ref.className,
|
|
29
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
30
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
31
|
+
"data-cy": "email-preview-card",
|
|
32
|
+
"data-testid": "email-preview",
|
|
33
|
+
className: classnames__default["default"]("neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border", className)
|
|
34
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
35
|
+
className: "neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6"
|
|
36
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
37
|
+
className: "flex gap-2",
|
|
38
|
+
"data-cy": "email-send-to-preview",
|
|
39
|
+
"data-testid": "email-to-block"
|
|
40
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
41
|
+
className: "neeto-ui-text-gray-500",
|
|
42
|
+
lineHeight: "normal",
|
|
43
|
+
style: "body2"
|
|
44
|
+
}, t("neetoMolecules.emailPreview.to"), ":"), neetoCist.isPresent(to) ? /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
45
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
46
|
+
lineHeight: "normal",
|
|
47
|
+
style: "body2"
|
|
48
|
+
}, to.join(", ")) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
49
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
|
|
50
|
+
})), from && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
51
|
+
className: "flex items-center gap-2 pt-3"
|
|
52
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
53
|
+
className: "neeto-ui-text-gray-500",
|
|
54
|
+
lineHeight: "normal",
|
|
55
|
+
style: "body2"
|
|
56
|
+
}, t("neetoMolecules.emailPreview.from"), ":"), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
57
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
58
|
+
"data-cy": "email-send-from-preview",
|
|
59
|
+
lineHeight: "normal",
|
|
60
|
+
style: "body2"
|
|
61
|
+
}, from)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
62
|
+
className: "flex items-center gap-2 pt-3"
|
|
63
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
64
|
+
className: "neeto-ui-text-gray-500",
|
|
65
|
+
lineHeight: "normal",
|
|
66
|
+
style: "body2"
|
|
67
|
+
}, t("neetoMolecules.emailPreview.subject"), ":"), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
68
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
69
|
+
"data-cy": "email-subject-preview",
|
|
70
|
+
lineHeight: "normal",
|
|
71
|
+
style: "body2"
|
|
72
|
+
}, subject || /*#__PURE__*/React__default["default"].createElement("span", {
|
|
73
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
|
|
74
|
+
})))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
75
|
+
className: "neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed",
|
|
76
|
+
"data-cy": "email-body-preview-container"
|
|
77
|
+
}, body ? /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent, {
|
|
78
|
+
content: body
|
|
79
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
80
|
+
className: "space-y-4"
|
|
81
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
82
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
|
|
83
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
84
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72"
|
|
85
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
86
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
|
|
87
|
+
})), actionButtonText && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
88
|
+
className: "mt-6 flex w-full items-center justify-center"
|
|
89
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
90
|
+
className: "pointer-events-none",
|
|
91
|
+
label: actionButtonText
|
|
92
|
+
})), logo && /*#__PURE__*/React__default["default"].createElement("img", {
|
|
93
|
+
alt: t("neetoMolecules.emailPreview.logoAltText"),
|
|
94
|
+
className: "h-20 w-36 object-cover",
|
|
95
|
+
"data-cy": "company-logo-preview",
|
|
96
|
+
src: logo
|
|
97
|
+
})), productName && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
98
|
+
className: "neeto-ui-bg-gray-100 mt-auto p-2",
|
|
99
|
+
"data-testid": "product-name-block"
|
|
100
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
101
|
+
className: "neeto-ui-text-gray-600 text-center leading-6",
|
|
102
|
+
style: "body3"
|
|
103
|
+
}, t("neetoMolecules.emailPreview.poweredBy"), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
104
|
+
className: "neeto-ui-text-gray-800 font-medium"
|
|
105
|
+
}, productName))));
|
|
106
|
+
});
|
|
107
|
+
EmailPreview.propTypes = {
|
|
108
|
+
/**
|
|
109
|
+
* The value of the send-to field.
|
|
110
|
+
*/
|
|
111
|
+
to: index.propTypes.exports.arrayOf(index.propTypes.exports.string),
|
|
112
|
+
/**
|
|
113
|
+
* The value of the send-from field.
|
|
114
|
+
*/
|
|
115
|
+
from: index.propTypes.exports.string,
|
|
116
|
+
/**
|
|
117
|
+
* The subject of the email.
|
|
118
|
+
*/
|
|
119
|
+
subject: index.propTypes.exports.string,
|
|
120
|
+
/**
|
|
121
|
+
* The body of the email.
|
|
122
|
+
*/
|
|
123
|
+
body: index.propTypes.exports.string,
|
|
124
|
+
/**
|
|
125
|
+
* The name of the neeto product to be previewed.
|
|
126
|
+
*/
|
|
127
|
+
productName: index.propTypes.exports.string,
|
|
128
|
+
/**
|
|
129
|
+
* The text to be shown in the action button.
|
|
130
|
+
*/
|
|
131
|
+
actionButtonText: index.propTypes.exports.string,
|
|
132
|
+
/**
|
|
133
|
+
* Source link for the company logo.
|
|
134
|
+
*/
|
|
135
|
+
logo: index.propTypes.exports.string
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
module.exports = EmailPreview;
|
|
139
|
+
//# sourceMappingURL=EmailPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailPreview.js","sources":["../../src/components/EmailPreview.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n productName,\n actionButtonText,\n logo,\n className = \"\",\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\",\n className\n )}\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n {productName && (\n <div\n className=\"neeto-ui-bg-gray-100 mt-auto p-2\"\n data-testid=\"product-name-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-600 text-center leading-6\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.emailPreview.poweredBy\")}\n <span className=\"neeto-ui-text-gray-800 font-medium\">\n {productName}\n </span>\n </Typography>\n </div>\n )}\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The name of the neeto product to be previewed.\n */\n productName: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","React","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","productName","actionButtonText","logo","_ref$className","className","createElement","classnames","Typography","lineHeight","style","isPresent","join","content","Button","label","alt","src","propTypes","PropTypes","arrayOf","string"],"mappings":"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"}
|