@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta2
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 +67 -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-c639aa31.js +190 -0
- package/dist/Chevron-c639aa31.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 +22 -77
- 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 +106 -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 +25 -528
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +305 -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 +44 -463
- 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 +62 -733
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +148 -316
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +204 -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 +9 -112
- 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 +8 -144
- package/dist/ResponsiveDevicePicker.js.map +1 -1
- package/dist/Schedule.js +134 -389
- 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/StickyRibbonsContainer.js +81 -0
- package/dist/StickyRibbonsContainer.js.map +1 -0
- 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 +168 -784
- 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 +332 -0
- package/dist/cjs/BrowserSupport.js.map +1 -0
- package/dist/cjs/Builder.js +560 -0
- package/dist/cjs/Builder.js.map +1 -0
- package/dist/cjs/CalendarView.js +303 -0
- package/dist/cjs/CalendarView.js.map +1 -0
- package/dist/cjs/Chevron-5fe59f57.js +206 -0
- package/dist/cjs/Chevron-5fe59f57.js.map +1 -0
- package/dist/cjs/Codeblock.js +59 -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 +105 -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 +90 -0
- package/dist/cjs/CopyToClipboardButton.js.map +1 -0
- package/dist/cjs/Currency.js +923 -0
- package/dist/cjs/Currency.js.map +1 -0
- package/dist/cjs/CustomDomain.js +126 -0
- package/dist/cjs/CustomDomain.js.map +1 -0
- package/dist/cjs/CustomDomainDashboard.js +202 -0
- package/dist/cjs/CustomDomainDashboard.js.map +1 -0
- package/dist/cjs/DateFormat.js +41 -0
- package/dist/cjs/DateFormat.js.map +1 -0
- package/dist/cjs/DateRangeFilter.js +183 -0
- package/dist/cjs/DateRangeFilter.js.map +1 -0
- package/dist/cjs/DeleteArchiveModal.js +93 -0
- package/dist/cjs/DeleteArchiveModal.js.map +1 -0
- package/dist/cjs/DocumentEditor.js +197 -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 +109 -0
- package/dist/cjs/DynamicVariables.js.map +1 -0
- package/dist/cjs/EmailForm.js +397 -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 +115 -0
- package/dist/cjs/EmojiPicker.js.map +1 -0
- package/dist/cjs/EmojiReactions.js +77 -0
- package/dist/cjs/EmojiReactions.js.map +1 -0
- package/dist/cjs/ErrorPage.js +180 -0
- package/dist/cjs/ErrorPage.js.map +1 -0
- package/dist/cjs/FloatingActionMenu.js +680 -0
- package/dist/cjs/FloatingActionMenu.js.map +1 -0
- package/dist/cjs/Header.js +107 -0
- package/dist/cjs/Header.js.map +1 -0
- package/dist/cjs/HelpPopover.js +82 -0
- package/dist/cjs/HelpPopover.js.map +1 -0
- package/dist/cjs/IconPicker.js +231 -0
- package/dist/cjs/IconPicker.js.map +1 -0
- package/dist/cjs/ImageWithFallback.js +56 -0
- package/dist/cjs/ImageWithFallback.js.map +1 -0
- package/dist/cjs/InlineInput.js +240 -0
- package/dist/cjs/InlineInput.js.map +1 -0
- package/dist/cjs/Insights.js +311 -0
- package/dist/cjs/Insights.js.map +1 -0
- package/dist/cjs/IntegrationCard.js +210 -0
- package/dist/cjs/IntegrationCard.js.map +1 -0
- package/dist/cjs/IntegrationDisconnectAlert.js +50 -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 +527 -0
- package/dist/cjs/IpRestriction.js.map +1 -0
- package/dist/cjs/KeyboardShortcuts.js +284 -0
- package/dist/cjs/KeyboardShortcuts.js.map +1 -0
- package/dist/cjs/LoginPage.js +202 -0
- package/dist/cjs/LoginPage.js.map +1 -0
- package/dist/cjs/MadeWith.js +40 -0
- package/dist/cjs/MadeWith.js.map +1 -0
- package/dist/cjs/MenuBar.js +211 -0
- package/dist/cjs/MenuBar.js.map +1 -0
- package/dist/cjs/Metadata.js +196 -0
- package/dist/cjs/Metadata.js.map +1 -0
- package/dist/cjs/MoreDropdown.js +155 -0
- package/dist/cjs/MoreDropdown.js.map +1 -0
- package/dist/cjs/NavigationHeader.js +187 -0
- package/dist/cjs/NavigationHeader.js.map +1 -0
- package/dist/cjs/NeetoWidget.js +915 -0
- package/dist/cjs/NeetoWidget.js.map +1 -0
- package/dist/cjs/Onboarding.js +216 -0
- package/dist/cjs/Onboarding.js.map +1 -0
- package/dist/cjs/OptionFields.js +518 -0
- package/dist/cjs/OptionFields.js.map +1 -0
- package/dist/cjs/PageLoader.js +40 -0
- package/dist/cjs/PageLoader.js.map +1 -0
- package/dist/cjs/PhoneNumber.js +367 -0
- package/dist/cjs/PhoneNumber.js.map +1 -0
- package/dist/cjs/ProductEmbed.js +777 -0
- package/dist/cjs/ProductEmbed.js.map +1 -0
- package/dist/cjs/PublishBlock.js +127 -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 +354 -0
- package/dist/cjs/Rename.js.map +1 -0
- package/dist/cjs/ResponsiveDevicePicker.js +68 -0
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/Schedule.js +874 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/Scrollable.js +49 -0
- package/dist/cjs/Scrollable.js.map +1 -0
- package/dist/cjs/Search.js +121 -0
- package/dist/cjs/Search.js.map +1 -0
- package/dist/cjs/Security.js +379 -0
- package/dist/cjs/Security.js.map +1 -0
- package/dist/cjs/SendToFields.js +275 -0
- package/dist/cjs/SendToFields.js.map +1 -0
- package/dist/cjs/Settings.js +217 -0
- package/dist/cjs/Settings.js.map +1 -0
- package/dist/cjs/ShareRecordingPane.js +199 -0
- package/dist/cjs/ShareRecordingPane.js.map +1 -0
- package/dist/cjs/ShareViaEmail.js +353 -0
- package/dist/cjs/ShareViaEmail.js.map +1 -0
- package/dist/cjs/ShareViaLink.js +508 -0
- package/dist/cjs/ShareViaLink.js.map +1 -0
- package/dist/cjs/Sidebar.js +292 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/StickyRibbonsContainer.js +90 -0
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -0
- package/dist/cjs/SubHeader.js +181 -0
- package/dist/cjs/SubHeader.js.map +1 -0
- package/dist/cjs/SuffixedInput.js +114 -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 +445 -0
- package/dist/cjs/Taxonomy.js.map +1 -0
- package/dist/cjs/ThemeSidebar.js +1443 -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 +144 -0
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
- package/dist/cjs/ToggleFeatureCard.js +213 -0
- package/dist/cjs/ToggleFeatureCard.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-7db1772e.js +544 -0
- package/dist/cjs/index-7db1772e.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/useColumns-9978cf70.js +275 -0
- package/dist/cjs/useColumns-9978cf70.js.map +1 -0
- package/dist/index-7d311b7a.js +509 -0
- package/dist/index-7d311b7a.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/useColumns-751e9192.js +258 -0
- package/dist/useColumns-751e9192.js.map +1 -0
- package/package.json +30 -19
- 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 +65 -0
- package/types/OptionFields.d.ts +63 -0
- package/types/PhoneNumber.d.ts +6 -2
- package/types/ProductEmbed.d.ts +87 -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/StickyRibbonsContainer.d.ts +26 -0
- package/types/SubHeader.d.ts +0 -1
- package/types/SuffixedInput.d.ts +43 -0
- package/types/ToggleFeatureCard.d.ts +8 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
4
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
7
|
+
var injectCss = require('./inject-css-80a5faa3.js');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
12
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
13
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
+
|
|
15
|
+
var css = ".neeto-molecules-pageloader__wrapper{height:100%;position:relative;width:100%}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader{height:100%;left:0;position:absolute;top:0;width:100%}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader__content{margin-bottom:16px;padding:8px;position:relative}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader__text{color:rgb(var(--neeto-ui-gray-800));font-size:1.25rem;line-height:1.75rem;margin-bottom:4rem;text-align:center}.neeto-molecules-pageloader__loader{animation:neeto-molecules-pageloader-anim1 .8s linear infinite alternate,neeto-molecules-pageloader-anim2 1.6s linear infinite;aspect-ratio:1;border:5px solid #5bcc5a;border-radius:50%;width:36px}@keyframes neeto-molecules-pageloader-anim1{0%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,50% 0,50% 0,50% 0,50% 0);clip-path:polygon(50% 50%,0 0,50% 0,50% 0,50% 0,50% 0,50% 0)}12.5%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 0,100% 0,100% 0);clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 0,100% 0,100% 0)}25%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,100% 100%,100% 100%);clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,100% 100%,100% 100%)}50%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,50% 100%,0 100%)}62.5%{-webkit-clip-path:polygon(50% 50%,100% 0,100% 0,100% 0,100% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,100% 0,100% 0,100% 0,100% 100%,50% 100%,0 100%)}75%{-webkit-clip-path:polygon(50% 50%,100% 100%,100% 100%,100% 100%,100% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,100% 100%,100% 100%,100% 100%,100% 100%,50% 100%,0 100%)}to{-webkit-clip-path:polygon(50% 50%,50% 100%,50% 100%,50% 100%,50% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,50% 100%,50% 100%,50% 100%,50% 100%,50% 100%,0 100%)}}@keyframes neeto-molecules-pageloader-anim2{0%{transform:scaleY(1) rotate(0deg)}49.99%{transform:scaleY(1) rotate(135deg)}50%{transform:scaleY(-1) rotate(0deg)}to{transform:scaleY(-1) rotate(-135deg)}}";
|
|
16
|
+
injectCss.n(css,{});
|
|
17
|
+
|
|
18
|
+
var _excluded = ["text"];
|
|
19
|
+
var PageLoader = function PageLoader(_ref) {
|
|
20
|
+
var _ref$text = _ref.text,
|
|
21
|
+
text = _ref$text === void 0 ? "" : _ref$text,
|
|
22
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
23
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
|
|
24
|
+
className: "neeto-molecules-pageloader__wrapper"
|
|
25
|
+
}, otherProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
26
|
+
className: "neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center"
|
|
27
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
28
|
+
className: "neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center",
|
|
29
|
+
"data-cy": "neeto-molecules-pageloader"
|
|
30
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
31
|
+
className: "neeto-molecules-pageloader__loader"
|
|
32
|
+
})), text && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
33
|
+
style: "h5",
|
|
34
|
+
weight: "semibold"
|
|
35
|
+
}, text)));
|
|
36
|
+
};
|
|
37
|
+
var PageLoader$1 = /*#__PURE__*/React__default["default"].memo(PageLoader);
|
|
38
|
+
|
|
39
|
+
module.exports = PageLoader$1;
|
|
40
|
+
//# sourceMappingURL=PageLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageLoader.js","sources":["../../src/components/PageLoader/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./page-loader.scss\";\n\nconst PageLoader = ({ text = \"\", ...otherProps }) => (\n <div className=\"neeto-molecules-pageloader__wrapper\" {...otherProps}>\n <div className=\"neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center\">\n <div\n className=\"neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center\"\n data-cy=\"neeto-molecules-pageloader\"\n >\n <div className=\"neeto-molecules-pageloader__loader\" />\n </div>\n {text && (\n <Typography style=\"h5\" weight=\"semibold\">\n {text}\n </Typography>\n )}\n </div>\n </div>\n);\n\nPageLoader.propTypes = {\n /**\n * Text to indicate loading status (optional).\n */\n text: PropTypes.string,\n};\n\nexport default React.memo(PageLoader);\n"],"names":["PageLoader","_ref","_ref$text","text","otherProps","_objectWithoutProperties","_excluded","React","createElement","_extends","className","Typography","style","weight","memo"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAME,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKE,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC5CC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,4BAAA,CAAA;AAAKC,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,EAAKN,UAAU,CAAA,eACjEG,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,0GAAA;GACbH,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEE,IAAAA,SAAS,EAAC,wHAAwH;IAClI,SAAQ,EAAA,4BAAA;GAERH,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,oCAAA;GAAsC,CAClD,CAAC,EACLP,IAAI,iBACHI,yBAAA,CAAAC,aAAA,CAACG,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,UAAA;GAC3BV,EAAAA,IACS,CAEX,CACF,CAAC,CAAA;AAAA,CACP,CAAA;AASD,mBAAA,aAAeI,yBAAK,CAACO,IAAI,CAACd,UAAU,CAAC;;;;"}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
6
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var formik = require('formik');
|
|
10
|
+
var shallow = require('zustand/shallow');
|
|
11
|
+
var classnames = require('classnames');
|
|
12
|
+
var min = require('libphonenumber-js/min');
|
|
13
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
14
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
15
|
+
var reactI18next = require('react-i18next');
|
|
16
|
+
var countriesList = require('countries-list');
|
|
17
|
+
var ramda = require('ramda');
|
|
18
|
+
var reactQuery = require('@tanstack/react-query');
|
|
19
|
+
var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
|
|
20
|
+
var zustand = require('zustand');
|
|
21
|
+
var middleware = require('zustand/middleware');
|
|
22
|
+
var i18next = require('i18next');
|
|
23
|
+
var yup = require('yup');
|
|
24
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
25
|
+
|
|
26
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
|
+
|
|
28
|
+
function _interopNamespace(e) {
|
|
29
|
+
if (e && e.__esModule) return e;
|
|
30
|
+
var n = Object.create(null);
|
|
31
|
+
if (e) {
|
|
32
|
+
Object.keys(e).forEach(function (k) {
|
|
33
|
+
if (k !== 'default') {
|
|
34
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
35
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return e[k]; }
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
n["default"] = e;
|
|
43
|
+
return Object.freeze(n);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
47
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
48
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
49
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
50
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
51
|
+
var withImmutableActions__default = /*#__PURE__*/_interopDefaultLegacy(withImmutableActions);
|
|
52
|
+
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
53
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
54
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
55
|
+
|
|
56
|
+
var COUNTRY_PICKER_OPTIONS = min.getCountries().filter(function (code) {
|
|
57
|
+
return countriesList.countries[code];
|
|
58
|
+
}).map(function (code) {
|
|
59
|
+
return {
|
|
60
|
+
label: countriesList.countries[code].name,
|
|
61
|
+
value: code
|
|
62
|
+
};
|
|
63
|
+
}).sort(function (a, b) {
|
|
64
|
+
return a.label.localeCompare(b.label);
|
|
65
|
+
});
|
|
66
|
+
var COUNTRY_PICKER_STYLES = {
|
|
67
|
+
menuPortal: ramda.mergeLeft({
|
|
68
|
+
width: 196,
|
|
69
|
+
zIndex: 99999
|
|
70
|
+
}),
|
|
71
|
+
control: ramda.mergeLeft({
|
|
72
|
+
border: "none !important",
|
|
73
|
+
cursor: "pointer",
|
|
74
|
+
gap: 4
|
|
75
|
+
}),
|
|
76
|
+
input: ramda.assoc("position", "absolute !important"),
|
|
77
|
+
valueContainer: ramda.assoc("padding", "0 !important"),
|
|
78
|
+
indicatorsContainer: ramda.assoc("paddingRight", "0 !important")
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var _excluded$4 = ["countryCode", "showEmoji"];
|
|
82
|
+
var SingleValue = function SingleValue(_ref) {
|
|
83
|
+
var countryCode = _ref.countryCode,
|
|
84
|
+
_ref$showEmoji = _ref.showEmoji,
|
|
85
|
+
showEmoji = _ref$showEmoji === void 0 ? false : _ref$showEmoji,
|
|
86
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$4);
|
|
87
|
+
if (!showEmoji) return null;
|
|
88
|
+
var countryData = countriesList.countries[countryCode];
|
|
89
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
|
|
90
|
+
content: countryData === null || countryData === void 0 ? void 0 : countryData.name
|
|
91
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, _extends__default["default"]({
|
|
92
|
+
className: "cursor-pointer text-center text-xl",
|
|
93
|
+
style: "body2"
|
|
94
|
+
}, otherProps), countryData === null || countryData === void 0 ? void 0 : countryData.emoji));
|
|
95
|
+
};
|
|
96
|
+
var SingleValue$1 = /*#__PURE__*/React__default["default"].memo(SingleValue);
|
|
97
|
+
|
|
98
|
+
var _excluded$3 = ["countryCode", "setCountryCode", "onInputChange", "prefix", "phoneNumber"];
|
|
99
|
+
var CountryPicker = function CountryPicker(_ref) {
|
|
100
|
+
var countryCode = _ref.countryCode,
|
|
101
|
+
setCountryCode = _ref.setCountryCode,
|
|
102
|
+
onInputChange = _ref.onInputChange,
|
|
103
|
+
prefix = _ref.prefix,
|
|
104
|
+
phoneNumber = _ref.phoneNumber,
|
|
105
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$3);
|
|
106
|
+
var _useState = React.useState(""),
|
|
107
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
108
|
+
searchTerm = _useState2[0],
|
|
109
|
+
setSearchTerm = _useState2[1];
|
|
110
|
+
var handleCountryChange = function handleCountryChange(_ref2) {
|
|
111
|
+
var value = _ref2.value;
|
|
112
|
+
setCountryCode(value);
|
|
113
|
+
onInputChange(phoneNumber.replace(prefix, "+".concat(min.getCountryCallingCode(value))));
|
|
114
|
+
};
|
|
115
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
116
|
+
className: classnames__default["default"]("flex-shrink-0", {
|
|
117
|
+
"w-10": !searchTerm,
|
|
118
|
+
"w-24": searchTerm
|
|
119
|
+
})
|
|
120
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends__default["default"]({
|
|
121
|
+
isSearchable: true,
|
|
122
|
+
"data-testid": "phonenumber-country-picker",
|
|
123
|
+
options: COUNTRY_PICKER_OPTIONS,
|
|
124
|
+
strategy: "fixed",
|
|
125
|
+
styles: COUNTRY_PICKER_STYLES,
|
|
126
|
+
value: {
|
|
127
|
+
value: countryCode
|
|
128
|
+
},
|
|
129
|
+
components: {
|
|
130
|
+
SingleValue: function SingleValue() {
|
|
131
|
+
return /*#__PURE__*/React__default["default"].createElement(SingleValue$1, {
|
|
132
|
+
countryCode: countryCode,
|
|
133
|
+
showEmoji: true
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
isOptionSelected: function isOptionSelected(_ref3, _ref4) {
|
|
138
|
+
var value = _ref3.value;
|
|
139
|
+
var _ref5 = _slicedToArray__default["default"](_ref4, 1),
|
|
140
|
+
selectedOption = _ref5[0];
|
|
141
|
+
return (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.name) === value;
|
|
142
|
+
},
|
|
143
|
+
onChange: handleCountryChange,
|
|
144
|
+
onInputChange: setSearchTerm
|
|
145
|
+
}, otherProps)));
|
|
146
|
+
};
|
|
147
|
+
var CountryPicker$1 = /*#__PURE__*/React__default["default"].memo(CountryPicker);
|
|
148
|
+
|
|
149
|
+
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
150
|
+
var useCountryCodeStore = zustand.create(withImmutableActions__default["default"](middleware.persist(function (set, _) {
|
|
151
|
+
return {
|
|
152
|
+
countryCode: null,
|
|
153
|
+
setCountryCode: function setCountryCode(countryCode) {
|
|
154
|
+
return set({
|
|
155
|
+
countryCode: countryCode
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
}, {
|
|
160
|
+
name: "neeto-ip-location-country-code",
|
|
161
|
+
storage: middleware.createJSONStorage(function () {
|
|
162
|
+
return localStorage;
|
|
163
|
+
})
|
|
164
|
+
})));
|
|
165
|
+
|
|
166
|
+
var isPhoneNumberValid = function isPhoneNumberValid() {
|
|
167
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
168
|
+
for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
169
|
+
rest[_key - 1] = arguments[_key];
|
|
170
|
+
}
|
|
171
|
+
return min.isValidPhoneNumber.apply(void 0, [value].concat(rest));
|
|
172
|
+
};
|
|
173
|
+
var validation = function validation() {
|
|
174
|
+
var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : i18next__default["default"].t("neetoMolecules.phoneNumberInput.validations.invalid");
|
|
175
|
+
return yup__namespace.string().test("phoneNumber", message, function (phoneNumber) {
|
|
176
|
+
return phoneNumber ? min.isValidPhoneNumber(phoneNumber) : true;
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
var getPhoneData = function getPhoneData(value, defaultCountryCode) {
|
|
180
|
+
try {
|
|
181
|
+
var parsedValue = min.parsePhoneNumber(value, defaultCountryCode);
|
|
182
|
+
return {
|
|
183
|
+
phoneNumber: parsedValue.number,
|
|
184
|
+
international: parsedValue.formatInternational(),
|
|
185
|
+
countryCode: parsedValue.country || defaultCountryCode
|
|
186
|
+
};
|
|
187
|
+
} catch (_unused) {
|
|
188
|
+
return {
|
|
189
|
+
phoneNumber: value,
|
|
190
|
+
international: min.formatIncompletePhoneNumber(value, defaultCountryCode),
|
|
191
|
+
countryCode: defaultCountryCode
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
var getCursorPosition = function getCursorPosition(_ref) {
|
|
196
|
+
var event = _ref.event,
|
|
197
|
+
prevFormattedValue = _ref.prevFormattedValue,
|
|
198
|
+
newFormattedValue = _ref.newFormattedValue;
|
|
199
|
+
var inputType = event.nativeEvent.inputType,
|
|
200
|
+
_event$target = event.target,
|
|
201
|
+
newValue = _event$target.value,
|
|
202
|
+
selectionStart = _event$target.selectionStart;
|
|
203
|
+
if (selectionStart === newValue.length) return newFormattedValue.length;
|
|
204
|
+
var n = prevFormattedValue.substring(0, selectionStart).replace(/\s/g, "").length;
|
|
205
|
+
var cursor = 0;
|
|
206
|
+
for (var i = 0; i < n; ++i, ++cursor) {
|
|
207
|
+
if (newFormattedValue[cursor] === " ") ++cursor;
|
|
208
|
+
}
|
|
209
|
+
if (inputType !== "deleteContentBackward") {
|
|
210
|
+
if (newFormattedValue[selectionStart - 1] === " " && prevFormattedValue[selectionStart - 1] === " ") {
|
|
211
|
+
return cursor + 2;
|
|
212
|
+
} else if (prevFormattedValue[selectionStart - 1] === " ") {
|
|
213
|
+
return cursor + 1;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return cursor;
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
var useSetInitialCountry = function useSetInitialCountry(initialCountryCode, initialValue) {
|
|
220
|
+
var setCountryCode = useCountryCodeStore(ramda.prop("setCountryCode"));
|
|
221
|
+
var _getPhoneData = getPhoneData(initialValue),
|
|
222
|
+
countryCodeFromInitialValue = _getPhoneData.countryCode;
|
|
223
|
+
var isFetchLocationEnabled = !initialCountryCode && !countryCodeFromInitialValue;
|
|
224
|
+
|
|
225
|
+
// useQuery(
|
|
226
|
+
// "IP_LOOKUP_LOCATION",
|
|
227
|
+
// () => neetoIpLookupApi.fetchLocationDetails(),
|
|
228
|
+
// {
|
|
229
|
+
// enabled: isFetchLocationEnabled,
|
|
230
|
+
// onSuccess: ({ countryCode }) => setCountryCode(countryCode),
|
|
231
|
+
// }
|
|
232
|
+
// );
|
|
233
|
+
|
|
234
|
+
var _useQuery = reactQuery.useQuery({
|
|
235
|
+
queryKey: ["IP_LOOKUP_LOCATION"],
|
|
236
|
+
enabled: isFetchLocationEnabled
|
|
237
|
+
}),
|
|
238
|
+
_useQuery$data = _useQuery.data,
|
|
239
|
+
_useQuery$data2 = _useQuery$data === void 0 ? {} : _useQuery$data,
|
|
240
|
+
countryCode = _useQuery$data2.countryCode;
|
|
241
|
+
React.useEffect(function () {
|
|
242
|
+
if (isFetchLocationEnabled) return;
|
|
243
|
+
setCountryCode(countryCode || countryCodeFromInitialValue || initialCountryCode);
|
|
244
|
+
}, [countryCode]);
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
var _excluded$2 = ["value", "onChange", "className", "error", "selectProps", "initialCountryCode"];
|
|
248
|
+
var PhoneNumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
249
|
+
var _ref$value = _ref.value,
|
|
250
|
+
value = _ref$value === void 0 ? "" : _ref$value,
|
|
251
|
+
_ref$onChange = _ref.onChange,
|
|
252
|
+
onChange = _ref$onChange === void 0 ? neetoCist.noop : _ref$onChange,
|
|
253
|
+
className = _ref.className,
|
|
254
|
+
error = _ref.error,
|
|
255
|
+
selectProps = _ref.selectProps,
|
|
256
|
+
initialCountryCode = _ref.initialCountryCode,
|
|
257
|
+
inputProps = _objectWithoutProperties__default["default"](_ref, _excluded$2);
|
|
258
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
259
|
+
t = _useTranslation.t;
|
|
260
|
+
var internalValue = React.useRef(value);
|
|
261
|
+
var initialValue = React.useMemo(function () {
|
|
262
|
+
return value;
|
|
263
|
+
}, []);
|
|
264
|
+
var _useCountryCodeStore = useCountryCodeStore(function (store) {
|
|
265
|
+
return {
|
|
266
|
+
countryCode: store["countryCode"],
|
|
267
|
+
setCountryCode: store["setCountryCode"]
|
|
268
|
+
};
|
|
269
|
+
}, shallow.shallow),
|
|
270
|
+
countryCode = _useCountryCodeStore.countryCode,
|
|
271
|
+
setCountryCode = _useCountryCodeStore.setCountryCode;
|
|
272
|
+
useSetInitialCountry(initialCountryCode, initialValue);
|
|
273
|
+
var prefix = countryCode ? "+".concat(min.getCountryCallingCode(countryCode)) : "";
|
|
274
|
+
var formattedValue = min.formatIncompletePhoneNumber(value, countryCode);
|
|
275
|
+
var handleInputChange = React.useCallback(function (value) {
|
|
276
|
+
onChange(value);
|
|
277
|
+
internalValue.current = value;
|
|
278
|
+
}, []);
|
|
279
|
+
var handleChange = function handleChange(event) {
|
|
280
|
+
var _getPhoneData = getPhoneData(event.target.value, countryCode),
|
|
281
|
+
phoneNumber = _getPhoneData.phoneNumber,
|
|
282
|
+
newCountryCode = _getPhoneData.countryCode;
|
|
283
|
+
handleInputChange(phoneNumber);
|
|
284
|
+
setCountryCode(newCountryCode);
|
|
285
|
+
var cursor = getCursorPosition({
|
|
286
|
+
event: event,
|
|
287
|
+
prevFormattedValue: formattedValue,
|
|
288
|
+
newFormattedValue: min.formatIncompletePhoneNumber(phoneNumber, newCountryCode)
|
|
289
|
+
});
|
|
290
|
+
window.requestAnimationFrame(function () {
|
|
291
|
+
return event.target.setSelectionRange(cursor, cursor);
|
|
292
|
+
});
|
|
293
|
+
};
|
|
294
|
+
React.useEffect(function () {
|
|
295
|
+
if (internalValue.current === value) return;
|
|
296
|
+
setCountryCode(getPhoneData(value, countryCode).countryCode);
|
|
297
|
+
}, [value]);
|
|
298
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
299
|
+
className: classnames__default["default"]([className])
|
|
300
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends__default["default"]({
|
|
301
|
+
error: error,
|
|
302
|
+
ref: ref,
|
|
303
|
+
"data-testid": "phonenumber-input",
|
|
304
|
+
type: "tel",
|
|
305
|
+
value: formattedValue,
|
|
306
|
+
placeholder: t("neetoMolecules.phoneNumberInput.placeholder", {
|
|
307
|
+
prefix: prefix
|
|
308
|
+
}),
|
|
309
|
+
prefix: /*#__PURE__*/React__default["default"].createElement(CountryPicker$1, _extends__default["default"]({
|
|
310
|
+
countryCode: countryCode,
|
|
311
|
+
prefix: prefix,
|
|
312
|
+
setCountryCode: setCountryCode,
|
|
313
|
+
phoneNumber: value,
|
|
314
|
+
onInputChange: handleInputChange
|
|
315
|
+
}, selectProps)),
|
|
316
|
+
onChange: handleChange
|
|
317
|
+
}, inputProps)));
|
|
318
|
+
});
|
|
319
|
+
PhoneNumberInput.displayName = "PhoneNumberInput";
|
|
320
|
+
|
|
321
|
+
var _excluded$1 = ["name"];
|
|
322
|
+
var FormikPhoneNumberInput = function FormikPhoneNumberInput(_ref) {
|
|
323
|
+
var name = _ref.name,
|
|
324
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
325
|
+
var _useField = formik.useField(name),
|
|
326
|
+
_useField2 = _slicedToArray__default["default"](_useField, 3),
|
|
327
|
+
field = _useField2[0],
|
|
328
|
+
meta = _useField2[1],
|
|
329
|
+
setValue = _useField2[2].setValue;
|
|
330
|
+
return /*#__PURE__*/React__default["default"].createElement(PhoneNumberInput, _extends__default["default"]({}, field, {
|
|
331
|
+
error: meta.touched ? meta.error : "",
|
|
332
|
+
onChange: setValue
|
|
333
|
+
}, props));
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
var _excluded = ["className", "defaultCountry", "value", "showEmoji", "children"];
|
|
337
|
+
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; }
|
|
338
|
+
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__default["default"](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; }
|
|
339
|
+
var PhoneNumber = function PhoneNumber(_ref) {
|
|
340
|
+
var className = _ref.className,
|
|
341
|
+
_ref$defaultCountry = _ref.defaultCountry,
|
|
342
|
+
defaultCountry = _ref$defaultCountry === void 0 ? "IN" : _ref$defaultCountry,
|
|
343
|
+
value = _ref.value,
|
|
344
|
+
_ref$showEmoji = _ref.showEmoji,
|
|
345
|
+
showEmoji = _ref$showEmoji === void 0 ? false : _ref$showEmoji,
|
|
346
|
+
children = _ref.children,
|
|
347
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
348
|
+
var _getPhoneData = getPhoneData(value || children, defaultCountry),
|
|
349
|
+
international = _getPhoneData.international,
|
|
350
|
+
countryCode = _getPhoneData.countryCode;
|
|
351
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
352
|
+
className: classnames__default["default"](["flex items-center space-x-2", className])
|
|
353
|
+
}, /*#__PURE__*/React__default["default"].createElement(SingleValue$1, _objectSpread({
|
|
354
|
+
countryCode: countryCode,
|
|
355
|
+
showEmoji: showEmoji
|
|
356
|
+
}, otherProps)), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, _extends__default["default"]({
|
|
357
|
+
style: "body2"
|
|
358
|
+
}, otherProps), international));
|
|
359
|
+
};
|
|
360
|
+
var PhoneNumber$1 = /*#__PURE__*/React__default["default"].memo(PhoneNumber);
|
|
361
|
+
|
|
362
|
+
exports.FormikPhoneNumberInput = FormikPhoneNumberInput;
|
|
363
|
+
exports.PhoneNumber = PhoneNumber$1;
|
|
364
|
+
exports.PhoneNumberInput = PhoneNumberInput;
|
|
365
|
+
exports.isPhoneNumberValid = isPhoneNumberValid;
|
|
366
|
+
exports.validation = validation;
|
|
367
|
+
//# sourceMappingURL=PhoneNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhoneNumber.js","sources":["../../src/components/PhoneNumber/CountryPicker/constants.js","../../src/components/PhoneNumber/CountryPicker/SingleValue.jsx","../../src/components/PhoneNumber/CountryPicker/index.jsx","../../src/components/PhoneNumber/stores/useCountryCodeStore.js","../../src/components/PhoneNumber/utils.js","../../src/components/PhoneNumber/hooks/reactQuery/useSetInitialCountry.js","../../src/components/PhoneNumber/PhoneNumberInput.jsx","../../src/components/PhoneNumber/FormikPhoneNumberInput.jsx","../../src/components/PhoneNumber/PhoneNumber.jsx"],"sourcesContent":["import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\nimport { mergeLeft, assoc } from \"ramda\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nexport const COUNTRY_PICKER_STYLES = {\n menuPortal: mergeLeft({ width: 196, zIndex: 99999 }),\n control: mergeLeft({\n border: \"none !important\",\n cursor: \"pointer\",\n gap: 4,\n }),\n input: assoc(\"position\", \"absolute !important\"),\n valueContainer: assoc(\"padding\", \"0 !important\"),\n indicatorsContainer: assoc(\"paddingRight\", \"0 !important\"),\n};\n","import React from \"react\";\n\nimport { countries } from \"countries-list\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst SingleValue = ({ countryCode, showEmoji = false, ...otherProps }) => {\n if (!showEmoji) return null;\n\n const countryData = countries[countryCode];\n\n return (\n <Tooltip content={countryData?.name}>\n <Typography\n className=\"cursor-pointer text-center text-xl\"\n style=\"body2\"\n {...otherProps}\n >\n {countryData?.emoji}\n </Typography>\n </Tooltip>\n );\n};\n\nexport default React.memo(SingleValue);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { getCountryCallingCode } from \"libphonenumber-js/min\";\nimport { Select } from \"neetoui\";\n\nimport { COUNTRY_PICKER_OPTIONS, COUNTRY_PICKER_STYLES } from \"./constants\";\nimport SingleValue from \"./SingleValue\";\n\nconst CountryPicker = ({\n countryCode,\n setCountryCode,\n onInputChange,\n prefix,\n phoneNumber,\n ...otherProps\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const handleCountryChange = ({ value }) => {\n setCountryCode(value);\n\n onInputChange(\n phoneNumber.replace(prefix, `+${getCountryCallingCode(value)}`)\n );\n };\n\n return (\n <div\n className={classnames(\"flex-shrink-0\", {\n \"w-10\": !searchTerm,\n \"w-24\": searchTerm,\n })}\n >\n <Select\n isSearchable\n data-testid=\"phonenumber-country-picker\"\n options={COUNTRY_PICKER_OPTIONS}\n strategy=\"fixed\"\n styles={COUNTRY_PICKER_STYLES}\n value={{ value: countryCode }}\n components={{\n SingleValue: () => <SingleValue {...{ countryCode }} showEmoji />,\n }}\n isOptionSelected={({ value }, [selectedOption]) =>\n selectedOption?.name === value\n }\n onChange={handleCountryChange}\n onInputChange={setSearchTerm}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default React.memo(CountryPicker);\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nexport const useCountryCodeStore = create(\n withImmutableActions(\n persist(\n (set, _) => ({\n countryCode: null,\n setCountryCode: countryCode => set({ countryCode }),\n }),\n {\n name: \"neeto-ip-location-country-code\",\n storage: createJSONStorage(() => localStorage),\n }\n )\n )\n);\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport * as yup from \"yup\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const getCursorPosition = ({\n event,\n prevFormattedValue,\n newFormattedValue,\n}) => {\n const {\n nativeEvent: { inputType },\n target: { value: newValue, selectionStart },\n } = event;\n\n if (selectionStart === newValue.length) return newFormattedValue.length;\n\n const n = prevFormattedValue\n .substring(0, selectionStart)\n .replace(/\\s/g, \"\").length;\n\n let cursor = 0;\n for (let i = 0; i < n; ++i, ++cursor) {\n if (newFormattedValue[cursor] === \" \") ++cursor;\n }\n\n if (inputType !== \"deleteContentBackward\") {\n if (\n newFormattedValue[selectionStart - 1] === \" \" &&\n prevFormattedValue[selectionStart - 1] === \" \"\n ) {\n return cursor + 2;\n } else if (prevFormattedValue[selectionStart - 1] === \" \") {\n return cursor + 1;\n }\n }\n\n return cursor;\n};\n","import { useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { prop } from \"ramda\";\n\nimport { useCountryCodeStore } from \"components/PhoneNumber/stores/useCountryCodeStore\";\nimport { getPhoneData } from \"components/PhoneNumber/utils\";\n\nconst useSetInitialCountry = (initialCountryCode, initialValue) => {\n const setCountryCode = useCountryCodeStore(prop(\"setCountryCode\"));\n\n const { countryCode: countryCodeFromInitialValue } =\n getPhoneData(initialValue);\n\n const isFetchLocationEnabled =\n !initialCountryCode && !countryCodeFromInitialValue;\n\n // useQuery(\n // \"IP_LOOKUP_LOCATION\",\n // () => neetoIpLookupApi.fetchLocationDetails(),\n // {\n // enabled: isFetchLocationEnabled,\n // onSuccess: ({ countryCode }) => setCountryCode(countryCode),\n // }\n // );\n\n const { data: { countryCode } = {} } = useQuery({\n queryKey: [\"IP_LOOKUP_LOCATION\"],\n enabled: isFetchLocationEnabled,\n });\n\n useEffect(() => {\n if (isFetchLocationEnabled) return;\n\n setCountryCode(\n countryCode || countryCodeFromInitialValue || initialCountryCode\n );\n }, [countryCode]);\n};\n\nexport default useSetInitialCountry;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CountryPicker from \"./CountryPicker\";\nimport useSetInitialCountry from \"./hooks/reactQuery/useSetInitialCountry\";\nimport { useCountryCodeStore } from \"./stores/useCountryCodeStore\";\nimport { getCursorPosition, getPhoneData } from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n const internalValue = useRef(value);\n const initialValue = useMemo(() => value, []);\n\n const { countryCode, setCountryCode } = useCountryCodeStore.pick();\n\n useSetInitialCountry(initialCountryCode, initialValue);\n\n const prefix = countryCode ? `+${getCountryCallingCode(countryCode)}` : \"\";\n const formattedValue = formatIncompletePhoneNumber(value, countryCode);\n\n const handleInputChange = useCallback(value => {\n onChange(value);\n internalValue.current = value;\n }, []);\n\n const handleChange = event => {\n const { phoneNumber, countryCode: newCountryCode } = getPhoneData(\n event.target.value,\n countryCode\n );\n handleInputChange(phoneNumber);\n setCountryCode(newCountryCode);\n\n const cursor = getCursorPosition({\n event,\n prevFormattedValue: formattedValue,\n newFormattedValue: formatIncompletePhoneNumber(\n phoneNumber,\n newCountryCode\n ),\n });\n\n window.requestAnimationFrame(() =>\n event.target.setSelectionRange(cursor, cursor)\n );\n };\n\n useEffect(() => {\n if (internalValue.current === value) return;\n\n setCountryCode(getPhoneData(value, countryCode).countryCode);\n }, [value]);\n\n return (\n <div className={classnames([className])}>\n <Input\n {...{ error, ref }}\n data-testid=\"phonenumber-input\"\n type=\"tel\"\n value={formattedValue}\n placeholder={t(\"neetoMolecules.phoneNumberInput.placeholder\", {\n prefix,\n })}\n prefix={\n <CountryPicker\n {...{ countryCode, prefix, setCountryCode }}\n phoneNumber={value}\n onInputChange={handleInputChange}\n {...selectProps}\n />\n }\n onChange={handleChange}\n {...inputProps}\n />\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when the `value` is updated.\n */\n onChange: PropTypes.func,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the error message to be displayed below the input field.\n */\n error: PropTypes.string,\n /**\n * To specify the additional props to be provided to the country picker `Select` component.\n */\n selectProps: PropTypes.object,\n /**\n * To specify the initial country to be set when component is mounted. Setting this\n * disables the feature of setting the initial country based on user's IP address.\n */\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport PhoneNumberInput from \"./PhoneNumberInput\";\n\nconst FormikPhoneNumberInput = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <PhoneNumberInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n onChange={setValue}\n {...props}\n />\n );\n};\n\nexport default FormikPhoneNumberInput;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nimport SingleValue from \"./CountryPicker/SingleValue\";\nimport { getPhoneData } from \"./utils\";\n\nconst PhoneNumber = ({\n className,\n defaultCountry = \"IN\",\n value,\n showEmoji = false,\n children,\n ...otherProps\n}) => {\n const { international, countryCode } = getPhoneData(\n value || children,\n defaultCountry\n );\n\n return (\n <div className={classnames([\"flex items-center space-x-2\", className])}>\n <SingleValue {...{ countryCode, showEmoji, ...otherProps }} />\n <Typography style=\"body2\" {...otherProps}>\n {international}\n </Typography>\n </div>\n );\n};\nexport default React.memo(PhoneNumber);\n"],"names":["COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","COUNTRY_PICKER_STYLES","menuPortal","mergeLeft","width","zIndex","control","border","cursor","gap","input","assoc","valueContainer","indicatorsContainer","SingleValue","_ref","countryCode","_ref$showEmoji","showEmoji","otherProps","_objectWithoutProperties","_excluded","countryData","React","createElement","Tooltip","content","Typography","_extends","className","style","emoji","memo","CountryPicker","setCountryCode","onInputChange","prefix","phoneNumber","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","handleCountryChange","_ref2","replace","concat","getCountryCallingCode","classnames","Select","isSearchable","options","strategy","styles","components","_SingleValue","isOptionSelected","_ref3","_ref4","_ref5","selectedOption","onChange","useCountryCodeStore","create","withImmutableActions","persist","set","_","storage","createJSONStorage","localStorage","isPhoneNumberValid","arguments","length","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","i18next","t","yup","string","test","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","getCursorPosition","event","prevFormattedValue","newFormattedValue","inputType","nativeEvent","_event$target","target","newValue","selectionStart","n","substring","i","useSetInitialCountry","initialCountryCode","initialValue","prop","_getPhoneData","countryCodeFromInitialValue","isFetchLocationEnabled","_useQuery","useQuery","queryKey","enabled","_useQuery$data","data","_useQuery$data2","useEffect","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","inputProps","_useTranslation","useTranslation","internalValue","useRef","useMemo","_useCountryCodeStore","store","shallow","formattedValue","handleInputChange","useCallback","current","handleChange","newCountryCode","window","requestAnimationFrame","setSelectionRange","Input","type","placeholder","displayName","FormikPhoneNumberInput","props","_useField","useField","_useField2","field","meta","setValue","touched","PhoneNumber","_ref$defaultCountry","defaultCountry","children","_objectSpread"],"mappings":"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"}
|