@bigbinary/neeto-molecules 1.1.10 → 1.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AutoSaveInput/autosaveinput.scss +15 -0
- package/dist/AutoSaveInput/constants.js +13 -0
- package/dist/AutoSaveInput/index.js +124 -0
- package/dist/AutoSaveInput/utils.js +10 -0
- package/dist/Breadcrumbs/breadcrumbs.scss +33 -0
- package/dist/Breadcrumbs/index.js +31 -0
- package/dist/BrowserSupport/Callout.js +15 -0
- package/dist/BrowserSupport/ContactUs.js +21 -0
- package/dist/BrowserSupport/DownloadLink.js +17 -0
- package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +17 -0
- package/dist/BrowserSupport/UnknownBrowser.js +13 -0
- package/dist/BrowserSupport/UnsupportedBrowser.js +24 -0
- package/dist/BrowserSupport/UnsupportedBrowserMessage.js +22 -0
- package/dist/BrowserSupport/UnsupportedBrowserVersion.js +27 -0
- package/dist/BrowserSupport/UnsupportedVersionMessage.js +30 -0
- package/dist/BrowserSupport/browsersupport.scss +71 -0
- package/dist/BrowserSupport/constants.js +63 -0
- package/dist/BrowserSupport/index.js +58 -0
- package/dist/BrowserSupport/utils.js +32 -0
- package/dist/CalendarView/CustomDatePicker.js +87 -0
- package/dist/CalendarView/Header.js +53 -0
- package/dist/CalendarView/constants.js +19 -0
- package/dist/CalendarView/index.js +83 -0
- package/dist/CalendarView/utils.js +50 -0
- package/dist/Codeblock/index.js +30 -0
- package/dist/{Columns.js → Columns/index.js} +13 -130
- package/dist/Columns/utils.js +20 -0
- package/dist/ConfirmationModal/constants.js +3 -0
- package/dist/{ConfirmationModal.js → ConfirmationModal/index.js} +7 -23
- package/dist/ConfirmationModal/utils.js +10 -0
- package/dist/Container/container.scss +21 -0
- package/dist/Container/index.js +23 -0
- package/dist/CopyToClipboardButton/constants.js +13 -0
- package/dist/CopyToClipboardButton/copyToClipboard.scss +22 -0
- package/dist/CopyToClipboardButton/index.js +59 -0
- package/dist/CustomDomain/index.js +98 -0
- package/dist/CustomDomainDashboard/DeleteAlert.js +28 -0
- package/dist/CustomDomainDashboard/Header.js +32 -0
- package/dist/CustomDomainDashboard/Manage/Record.js +42 -0
- package/dist/CustomDomainDashboard/Manage/StatusInfo.js +21 -0
- package/dist/CustomDomainDashboard/Manage/TagBlock.js +36 -0
- package/dist/CustomDomainDashboard/Manage/constants.js +4 -0
- package/dist/CustomDomainDashboard/Manage/index.js +124 -0
- package/dist/CustomDomainDashboard/Manage/utils.js +8 -0
- package/dist/CustomDomainDashboard/api.js +35 -0
- package/dist/CustomDomainDashboard/constants.js +2 -0
- package/dist/CustomDomainDashboard/index.js +118 -0
- package/dist/CustomDomainDashboard/useCustomDomainApi.js +71 -0
- package/dist/CustomDomainDashboard/utils.js +84 -0
- package/dist/{DateFormat.js → DateFormat/index.js} +8 -25
- package/dist/DateRangeFilter/index.js +60 -0
- package/dist/DateRangeFilter/utils.js +113 -0
- package/dist/DynamicVariables/dynamic-variables.scss +34 -0
- package/dist/DynamicVariables/index.js +59 -0
- package/dist/DynamicVariables/utils.js +37 -0
- package/dist/EmailForm/EmailForm.js +97 -0
- package/dist/EmailForm/EmailFormProvider.js +45 -0
- package/dist/EmailForm/EmailPreview.js +129 -0
- package/dist/EmailForm/ReplyToField.js +55 -0
- package/dist/EmailForm/SendToField.js +27 -0
- package/dist/EmailForm/SubjectField.js +64 -0
- package/dist/EmailForm/constants.js +33 -0
- package/dist/EmailForm/contexts/EmailForm.js +7 -0
- package/dist/EmailForm/index.js +4 -0
- package/dist/EmailForm/utils.js +10 -0
- package/dist/EmailPreview/index.js +2 -0
- package/dist/{ErrorPage.js → ErrorPage/constants.js} +36 -175
- package/dist/ErrorPage/index.js +78 -0
- package/dist/Header/Breadcrumbs.js +31 -0
- package/dist/Header/Dropdown.js +12 -0
- package/dist/Header/constants.js +6 -0
- package/dist/Header/header.scss +121 -0
- package/dist/Header/index.js +61 -0
- package/dist/IconPicker/Icon.js +34 -0
- package/dist/IconPicker/NoResults.js +12 -0
- package/dist/IconPicker/constants.js +8 -0
- package/dist/IconPicker/icon-picker.scss +1 -0
- package/dist/IconPicker/index.js +164 -0
- package/dist/ImageWithFallback/ImagePlaceholder.js +16 -0
- package/dist/ImageWithFallback/index.js +31 -0
- package/dist/IntegrationCard/Dropdown.js +45 -0
- package/dist/IntegrationCard/Status.js +25 -0
- package/dist/IntegrationCard/index.js +128 -0
- package/dist/IntegrationDisconnectAlert/index.js +36 -0
- package/dist/{IntegrationWalkthroughModal.js → IntegrationWalkthroughModal/index.js} +6 -8
- package/dist/IpRestriction/AllowedIpRanges.js +72 -0
- package/dist/IpRestriction/CurrentIp.js +26 -0
- package/dist/IpRestriction/FormRow.js +77 -0
- package/dist/IpRestriction/Row.js +86 -0
- package/dist/IpRestriction/apis/allowed_ip_ranges.js +28 -0
- package/dist/IpRestriction/apis/current_ip.js +11 -0
- package/dist/IpRestriction/apis/ip_restriction.js +16 -0
- package/dist/IpRestriction/constants.js +11 -0
- package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +34 -0
- package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +10 -0
- package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +18 -0
- package/dist/IpRestriction/index.js +102 -0
- package/dist/IpRestriction/utils.js +67 -0
- package/dist/KeyboardShortcuts/Pane/HotKey.js +44 -0
- package/dist/KeyboardShortcuts/Pane/HotKeyList.js +42 -0
- package/dist/KeyboardShortcuts/Pane/constants.js +25 -0
- package/dist/KeyboardShortcuts/Pane/index.js +61 -0
- package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +5 -0
- package/dist/KeyboardShortcuts/Pane/utils.js +66 -0
- package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +31 -0
- package/dist/KeyboardShortcuts/index.js +9 -0
- package/dist/LoginPage/Form.js +57 -0
- package/dist/LoginPage/constants.js +12 -0
- package/dist/LoginPage/index.js +103 -0
- package/dist/MenuBar/AddNew.js +25 -0
- package/dist/MenuBar/Block.js +60 -0
- package/dist/MenuBar/Item.js +32 -0
- package/dist/MenuBar/Search.js +39 -0
- package/dist/MenuBar/SubTitle.js +23 -0
- package/dist/MenuBar/index.js +46 -0
- package/dist/MenuBar/menubar.scss +154 -0
- package/dist/Metadata/Block.js +30 -0
- package/dist/Metadata/DetailsBlock.js +86 -0
- package/dist/Metadata/constants.js +9 -0
- package/dist/Metadata/index.js +29 -0
- package/dist/Metadata/metadata.scss +15 -0
- package/dist/MoreDropdown/constants.js +25 -0
- package/dist/{MoreDropdown.js → MoreDropdown/index.js} +9 -102
- package/dist/NavigationHeader/LeftBlock.js +32 -0
- package/dist/NavigationHeader/Navigation.js +24 -0
- package/dist/NavigationHeader/RightBlock.js +68 -0
- package/dist/NavigationHeader/constants.js +11 -0
- package/dist/NavigationHeader/index.js +19 -0
- package/dist/NavigationHeader/navigation-header.scss +3 -0
- package/dist/NeetoWidget/CodeBlock.js +57 -0
- package/dist/NeetoWidget/CodeSnippet.js +119 -0
- package/dist/NeetoWidget/EmbedCode.js +281 -0
- package/dist/NeetoWidget/Main.js +19 -0
- package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +25 -0
- package/dist/NeetoWidget/SelectionSwitches/index.js +44 -0
- package/dist/NeetoWidget/SyntaxHighlighter.js +17 -0
- package/dist/NeetoWidget/api.js +20 -0
- package/dist/NeetoWidget/constants.js +62 -0
- package/dist/NeetoWidget/hooks/useForceUpdate.js +14 -0
- package/dist/NeetoWidget/index.js +7 -0
- package/dist/NeetoWidget/mutations.js +9 -0
- package/dist/NeetoWidget/queries.js +32 -0
- package/dist/NeetoWidget/utils.js +83 -0
- package/dist/PageLoader/index.js +81 -0
- package/dist/PageLoader/page-loader.scss +95 -0
- package/dist/PhoneNumber/CountryPicker/SingleValue.js +21 -0
- package/dist/PhoneNumber/CountryPicker/constants.js +26 -0
- package/dist/PhoneNumber/CountryPicker/index.js +59 -0
- package/dist/PhoneNumber/FormikPhoneNumberInput.js +21 -0
- package/dist/PhoneNumber/PhoneNumber.js +30 -0
- package/dist/PhoneNumber/PhoneNumberInput.js +79 -0
- package/dist/PhoneNumber/index.js +5 -0
- package/dist/PhoneNumber/utils.js +55 -0
- package/dist/PublishBlock/AlertBlock.js +14 -0
- package/dist/PublishBlock/index.js +100 -0
- package/dist/PublishBlock/publish-block.scss +25 -0
- package/dist/Rename/DummySpan.js +21 -0
- package/dist/Rename/constants.js +1 -0
- package/dist/Rename/index.js +191 -0
- package/dist/Rename/rename.scss +69 -0
- package/dist/Rename/utils.js +10 -0
- package/dist/ResponsiveDevicePicker/constants.js +19 -0
- package/dist/ResponsiveDevicePicker/index.js +36 -0
- package/dist/Schedule/DisplayAvailability.js +58 -0
- package/dist/Schedule/Fields.js +43 -0
- package/dist/Schedule/Form/ScheduleRow.js +125 -0
- package/dist/Schedule/Form/constants.js +20 -0
- package/dist/Schedule/Form/index.js +144 -0
- package/dist/Schedule/Form/utils.js +63 -0
- package/dist/Schedule/Header.js +76 -0
- package/dist/Schedule/ScheduleContext.js +8 -0
- package/dist/Schedule/constants.js +8 -0
- package/dist/Schedule/dayjsExtended/constants.js +1 -0
- package/dist/Schedule/dayjsExtended/index.js +14 -0
- package/dist/Schedule/dayjsExtended/range.js +73 -0
- package/dist/Schedule/index.js +80 -0
- package/dist/Schedule/utils.js +152 -0
- package/dist/Scrollable/constants.js +8 -0
- package/dist/Scrollable/index.js +26 -0
- package/dist/Scrollable/scrollable.scss +32 -0
- package/dist/Security/AllowedKeywords/Add.js +38 -0
- package/dist/Security/AllowedKeywords/index.js +38 -0
- package/dist/Security/PasswordBlock.js +31 -0
- package/dist/Security/RadioBlock.js +38 -0
- package/dist/Security/api.js +12 -0
- package/dist/Security/constants.js +58 -0
- package/dist/Security/index.js +68 -0
- package/dist/Security/useSecurityApi.js +22 -0
- package/dist/Security/utils.js +31 -0
- package/dist/SendToFields/FilePicker.js +34 -0
- package/dist/SendToFields/constants.js +6 -0
- package/dist/SendToFields/index.js +102 -0
- package/dist/SendToFields/utils.js +54 -0
- package/dist/Settings/Category.js +30 -0
- package/dist/Settings/Item.js +38 -0
- package/dist/Settings/index.js +37 -0
- package/dist/Settings/utils.js +4 -0
- package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
- package/dist/ShareViaEmail/FilePicker.js +43 -0
- package/dist/ShareViaEmail/Form.js +101 -0
- package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
- package/dist/ShareViaEmail/constants.js +14 -0
- package/dist/ShareViaEmail/index.js +89 -0
- package/dist/ShareViaEmail/utils.js +72 -0
- package/dist/ShareViaLink/EditURL.js +74 -0
- package/dist/ShareViaLink/Link.js +105 -0
- package/dist/ShareViaLink/QRCode.js +41 -0
- package/dist/ShareViaLink/RegenerateURL.js +47 -0
- package/dist/ShareViaLink/SocialMedia.js +52 -0
- package/dist/ShareViaLink/constants.js +25 -0
- package/dist/ShareViaLink/edit-url.scss +8 -0
- package/dist/ShareViaLink/index.js +46 -0
- package/dist/ShareViaLink/utils.js +47 -0
- package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
- package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
- package/dist/Sidebar/AppSwitcher/Body.js +65 -0
- package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
- package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
- package/dist/Sidebar/AppSwitcher/index.js +47 -0
- package/dist/Sidebar/AppSwitcher/utils.js +25 -0
- package/dist/Sidebar/Chevron.js +14 -0
- package/dist/Sidebar/FeaturedTooltip.js +19 -0
- package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
- package/dist/Sidebar/Footer/ProfileButton.js +30 -0
- package/dist/Sidebar/Footer/index.js +56 -0
- package/dist/Sidebar/Footer/utils.js +39 -0
- package/dist/Sidebar/Header.js +33 -0
- package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
- package/dist/Sidebar/HelpSection/index.js +32 -0
- package/dist/Sidebar/Links.js +112 -0
- package/dist/Sidebar/NavIconWrapper.js +20 -0
- package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
- package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
- package/dist/Sidebar/ProfileSection/index.js +42 -0
- package/dist/Sidebar/constants.js +40 -0
- package/dist/Sidebar/index.js +94 -0
- package/dist/Sidebar/sidebar.scss +379 -0
- package/dist/Sidebar/utils.js +18 -0
- package/dist/SubHeader/RightBlock/Columns.js +35 -0
- package/dist/SubHeader/RightBlock/Download.js +28 -0
- package/dist/SubHeader/RightBlock/Filter.js +31 -0
- package/dist/SubHeader/RightBlock/index.js +21 -0
- package/dist/SubHeader/RightBlock/utils.js +13 -0
- package/dist/SubHeader/index.js +28 -0
- package/dist/SubHeader/subheader.scss +78 -0
- package/dist/TableWrapper/index.js +18 -0
- package/dist/ThemeSidebar/Customize/Logo.js +39 -0
- package/dist/ThemeSidebar/Customize/Properties.js +170 -0
- package/dist/ThemeSidebar/Customize/index.js +66 -0
- package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
- package/dist/ThemeSidebar/Themes/index.js +110 -0
- package/dist/ThemeSidebar/TitleBar.js +62 -0
- package/dist/ThemeSidebar/constants.js +127 -0
- package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
- package/dist/ThemeSidebar/fields/Card.js +19 -0
- package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
- package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
- package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
- package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
- package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
- package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
- package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
- package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
- package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
- package/dist/ThemeSidebar/fields/slider.scss +199 -0
- package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
- package/dist/ThemeSidebar/index.js +118 -0
- package/dist/ThemeSidebar/themeSidebar.scss +45 -0
- package/dist/ThemeSidebar/utils.js +169 -0
- package/dist/TimeFormat/index.js +3 -0
- package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
- package/dist/TimezoneMismatchModal/index.js +83 -0
- package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
- package/dist/TimezoneMismatchModal/utils.js +12 -0
- package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
- package/dist/ToggleFeatureCard/constants.js +5 -0
- package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
- package/dist/ToggleFeatureCard/index.js +148 -0
- package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
- package/package.json +27 -34
- package/dist/AutoSaveInput.cjs.js +0 -724
- package/dist/AutoSaveInput.cjs.js.map +0 -1
- package/dist/AutoSaveInput.js +0 -718
- package/dist/AutoSaveInput.js.map +0 -1
- package/dist/Breadcrumbs.cjs.js +0 -44
- package/dist/Breadcrumbs.cjs.js.map +0 -1
- package/dist/Breadcrumbs.js +0 -38
- package/dist/Breadcrumbs.js.map +0 -1
- package/dist/BrowserSupport.cjs.js +0 -1731
- package/dist/BrowserSupport.cjs.js.map +0 -1
- package/dist/BrowserSupport.js +0 -1725
- package/dist/BrowserSupport.js.map +0 -1
- package/dist/CalendarView.cjs.js +0 -610
- package/dist/CalendarView.cjs.js.map +0 -1
- package/dist/CalendarView.js +0 -598
- package/dist/CalendarView.js.map +0 -1
- package/dist/Codeblock.cjs.js +0 -302
- package/dist/Codeblock.cjs.js.map +0 -1
- package/dist/Codeblock.js +0 -296
- package/dist/Codeblock.js.map +0 -1
- package/dist/Columns.cjs.js +0 -248
- package/dist/Columns.cjs.js.map +0 -1
- package/dist/Columns.js.map +0 -1
- package/dist/ConfirmationModal.cjs.js +0 -87
- package/dist/ConfirmationModal.cjs.js.map +0 -1
- package/dist/ConfirmationModal.js.map +0 -1
- package/dist/Container.cjs.js +0 -1277
- package/dist/Container.cjs.js.map +0 -1
- package/dist/Container.js +0 -1271
- package/dist/Container.js.map +0 -1
- package/dist/CopyToClipboardButton.cjs.js +0 -275
- package/dist/CopyToClipboardButton.cjs.js.map +0 -1
- package/dist/CopyToClipboardButton.js +0 -269
- package/dist/CopyToClipboardButton.js.map +0 -1
- package/dist/CustomDomain.cjs.js +0 -774
- package/dist/CustomDomain.cjs.js.map +0 -1
- package/dist/CustomDomain.js +0 -747
- package/dist/CustomDomain.js.map +0 -1
- package/dist/CustomDomainDashboard.cjs.js +0 -2370
- package/dist/CustomDomainDashboard.cjs.js.map +0 -1
- package/dist/CustomDomainDashboard.js +0 -2342
- package/dist/CustomDomainDashboard.js.map +0 -1
- package/dist/DateFormat.cjs.js +0 -51
- package/dist/DateFormat.cjs.js.map +0 -1
- package/dist/DateFormat.js.map +0 -1
- package/dist/DateRangeFilter.cjs.js +0 -236
- package/dist/DateRangeFilter.cjs.js.map +0 -1
- package/dist/DateRangeFilter.js +0 -229
- package/dist/DateRangeFilter.js.map +0 -1
- package/dist/DynamicVariables.cjs.js +0 -189
- package/dist/DynamicVariables.cjs.js.map +0 -1
- package/dist/DynamicVariables.js +0 -183
- package/dist/DynamicVariables.js.map +0 -1
- package/dist/EmailForm.cjs.js +0 -4295
- package/dist/EmailForm.cjs.js.map +0 -1
- package/dist/EmailForm.js +0 -4265
- package/dist/EmailForm.js.map +0 -1
- package/dist/EmailPreview.cjs.js +0 -1419
- package/dist/EmailPreview.cjs.js.map +0 -1
- package/dist/EmailPreview.js +0 -1413
- package/dist/EmailPreview.js.map +0 -1
- package/dist/ErrorPage.cjs.js +0 -226
- package/dist/ErrorPage.cjs.js.map +0 -1
- package/dist/ErrorPage.js.map +0 -1
- package/dist/Header.cjs.js +0 -188
- package/dist/Header.cjs.js.map +0 -1
- package/dist/Header.js +0 -182
- package/dist/Header.js.map +0 -1
- package/dist/IconPicker.cjs.js +0 -1308
- package/dist/IconPicker.cjs.js.map +0 -1
- package/dist/IconPicker.js +0 -1302
- package/dist/IconPicker.js.map +0 -1
- package/dist/ImageWithFallback.cjs.js +0 -247
- package/dist/ImageWithFallback.cjs.js.map +0 -1
- package/dist/ImageWithFallback.js +0 -241
- package/dist/ImageWithFallback.js.map +0 -1
- package/dist/IntegrationCard.cjs.js +0 -409
- package/dist/IntegrationCard.cjs.js.map +0 -1
- package/dist/IntegrationCard.js +0 -403
- package/dist/IntegrationCard.js.map +0 -1
- package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
- package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
- package/dist/IntegrationDisconnectAlert.js +0 -80
- package/dist/IntegrationDisconnectAlert.js.map +0 -1
- package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
- package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
- package/dist/IntegrationWalkthroughModal.js.map +0 -1
- package/dist/IpRestriction.cjs.js +0 -3931
- package/dist/IpRestriction.cjs.js.map +0 -1
- package/dist/IpRestriction.js +0 -3905
- package/dist/IpRestriction.js.map +0 -1
- package/dist/KeyboardShortcuts.cjs.js +0 -2263
- package/dist/KeyboardShortcuts.cjs.js.map +0 -1
- package/dist/KeyboardShortcuts.js +0 -2256
- package/dist/KeyboardShortcuts.js.map +0 -1
- package/dist/LoginPage.cjs.js +0 -618
- package/dist/LoginPage.cjs.js.map +0 -1
- package/dist/LoginPage.js +0 -593
- package/dist/LoginPage.js.map +0 -1
- package/dist/MenuBar.cjs.js +0 -34273
- package/dist/MenuBar.cjs.js.map +0 -1
- package/dist/MenuBar.js +0 -34267
- package/dist/MenuBar.js.map +0 -1
- package/dist/Metadata.cjs.js +0 -272
- package/dist/Metadata.cjs.js.map +0 -1
- package/dist/Metadata.js +0 -266
- package/dist/Metadata.js.map +0 -1
- package/dist/MoreDropdown.cjs.js +0 -168
- package/dist/MoreDropdown.cjs.js.map +0 -1
- package/dist/MoreDropdown.js.map +0 -1
- package/dist/NavigationHeader.cjs.js +0 -756
- package/dist/NavigationHeader.cjs.js.map +0 -1
- package/dist/NavigationHeader.js +0 -750
- package/dist/NavigationHeader.js.map +0 -1
- package/dist/NeetoWidget.cjs.js +0 -3375
- package/dist/NeetoWidget.cjs.js.map +0 -1
- package/dist/NeetoWidget.js +0 -3348
- package/dist/NeetoWidget.js.map +0 -1
- package/dist/PageLoader.cjs.js +0 -158
- package/dist/PageLoader.cjs.js.map +0 -1
- package/dist/PageLoader.js +0 -134
- package/dist/PageLoader.js.map +0 -1
- package/dist/PhoneNumber.cjs.js +0 -7021
- package/dist/PhoneNumber.cjs.js.map +0 -1
- package/dist/PhoneNumber.js +0 -6989
- package/dist/PhoneNumber.js.map +0 -1
- package/dist/PublishBlock.cjs.js +0 -224
- package/dist/PublishBlock.cjs.js.map +0 -1
- package/dist/PublishBlock.js +0 -218
- package/dist/PublishBlock.js.map +0 -1
- package/dist/Rename.cjs.js +0 -516
- package/dist/Rename.cjs.js.map +0 -1
- package/dist/Rename.js +0 -510
- package/dist/Rename.js.map +0 -1
- package/dist/ResponsiveDevicePicker.cjs.js +0 -260
- package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
- package/dist/ResponsiveDevicePicker.js +0 -254
- package/dist/ResponsiveDevicePicker.js.map +0 -1
- package/dist/Schedule.cjs.js +0 -1077
- package/dist/Schedule.cjs.js.map +0 -1
- package/dist/Schedule.js +0 -1046
- package/dist/Schedule.js.map +0 -1
- package/dist/Scrollable.cjs.js +0 -188
- package/dist/Scrollable.cjs.js.map +0 -1
- package/dist/Scrollable.js +0 -182
- package/dist/Scrollable.js.map +0 -1
- package/dist/Security.cjs.js +0 -1921
- package/dist/Security.cjs.js.map +0 -1
- package/dist/Security.js +0 -1895
- package/dist/Security.js.map +0 -1
- package/dist/SendToFields.cjs.js +0 -2524
- package/dist/SendToFields.cjs.js.map +0 -1
- package/dist/SendToFields.js +0 -2517
- package/dist/SendToFields.js.map +0 -1
- package/dist/Settings.cjs.js +0 -501
- package/dist/Settings.cjs.js.map +0 -1
- package/dist/Settings.js +0 -495
- package/dist/Settings.js.map +0 -1
- package/dist/ShareViaEmail.cjs.js +0 -4272
- package/dist/ShareViaEmail.cjs.js.map +0 -1
- package/dist/ShareViaEmail.js +0 -4246
- package/dist/ShareViaEmail.js.map +0 -1
- package/dist/ShareViaLink.cjs.js +0 -1512
- package/dist/ShareViaLink.cjs.js.map +0 -1
- package/dist/ShareViaLink.js +0 -1486
- package/dist/ShareViaLink.js.map +0 -1
- package/dist/Sidebar.cjs.js +0 -34985
- package/dist/Sidebar.cjs.js.map +0 -1
- package/dist/Sidebar.js +0 -34959
- package/dist/Sidebar.js.map +0 -1
- package/dist/SubHeader.cjs.js +0 -283
- package/dist/SubHeader.cjs.js.map +0 -1
- package/dist/SubHeader.js +0 -276
- package/dist/SubHeader.js.map +0 -1
- package/dist/TableWrapper.cjs.js +0 -87
- package/dist/TableWrapper.cjs.js.map +0 -1
- package/dist/TableWrapper.js +0 -81
- package/dist/TableWrapper.js.map +0 -1
- package/dist/ThemeSidebar.cjs.js +0 -13705
- package/dist/ThemeSidebar.cjs.js.map +0 -1
- package/dist/ThemeSidebar.js +0 -13680
- package/dist/ThemeSidebar.js.map +0 -1
- package/dist/TimeFormat.cjs.js +0 -53
- package/dist/TimeFormat.cjs.js.map +0 -1
- package/dist/TimeFormat.js +0 -47
- package/dist/TimeFormat.js.map +0 -1
- package/dist/TimezoneMismatchModal.cjs.js +0 -176
- package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
- package/dist/TimezoneMismatchModal.js +0 -168
- package/dist/TimezoneMismatchModal.js.map +0 -1
- package/dist/ToggleFeatureCard.cjs.js +0 -389
- package/dist/ToggleFeatureCard.cjs.js.map +0 -1
- package/dist/ToggleFeatureCard.js +0 -383
- package/dist/ToggleFeatureCard.js.map +0 -1
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["filled", "label", "value", "onClick", "className"];
|
|
5
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
6
|
+
import classnames from "classnames";
|
|
7
|
+
import { humanize, isNotEmpty, noop } from "@bigbinary/neeto-commons-frontend/pure";
|
|
8
|
+
import { useDebounce } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
9
|
+
import { Close } from "@bigbinary/neeto-icons";
|
|
10
|
+
import { Dropdown, Label, Input, Button, Typography } from "@bigbinary/neetoui";
|
|
11
|
+
import { useTranslation } from "react-i18next";
|
|
12
|
+
import { FixedSizeGrid as Grid } from "react-window";
|
|
13
|
+
import { GRID_PROPERTIES, ICONS_LIST } from "./constants";
|
|
14
|
+
import Icon from "./Icon";
|
|
15
|
+
import "./icon-picker.scss";
|
|
16
|
+
import NoResults from "./NoResults";
|
|
17
|
+
var IconPicker = function IconPicker(_ref) {
|
|
18
|
+
var _ref$filled = _ref.filled,
|
|
19
|
+
filled = _ref$filled === void 0 ? false : _ref$filled,
|
|
20
|
+
label = _ref.label,
|
|
21
|
+
_ref$value = _ref.value,
|
|
22
|
+
value = _ref$value === void 0 ? "" : _ref$value,
|
|
23
|
+
_ref$onClick = _ref.onClick,
|
|
24
|
+
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
|
|
25
|
+
_ref$className = _ref.className,
|
|
26
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
27
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
28
|
+
var _useState = useState(""),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
searchTerm = _useState2[0],
|
|
31
|
+
setSearchTerm = _useState2[1];
|
|
32
|
+
var _useState3 = useState([]),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
iconList = _useState4[0],
|
|
35
|
+
setIconList = _useState4[1];
|
|
36
|
+
var _useState5 = useState(value),
|
|
37
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
+
activeIcon = _useState6[0],
|
|
39
|
+
setActiveIcon = _useState6[1];
|
|
40
|
+
var gridRef = useRef(null);
|
|
41
|
+
var debouncedSearchTerm = useDebounce(searchTerm);
|
|
42
|
+
var _useTranslation = useTranslation(),
|
|
43
|
+
t = _useTranslation.t;
|
|
44
|
+
var handleSearch = function handleSearch(term) {
|
|
45
|
+
var _gridRef$current;
|
|
46
|
+
var searchTerm = term.toLowerCase().trim().replace(/\s+/g, "_");
|
|
47
|
+
var filteredIcons = ICONS_LIST.filter(function (icon) {
|
|
48
|
+
return icon.toLowerCase().includes(searchTerm);
|
|
49
|
+
});
|
|
50
|
+
setIconList(filteredIcons);
|
|
51
|
+
(_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.scrollToItem({
|
|
52
|
+
rowIndex: 0
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
var handleRemoveClick = function handleRemoveClick() {
|
|
56
|
+
onClick("");
|
|
57
|
+
setActiveIcon("");
|
|
58
|
+
};
|
|
59
|
+
var handleDropdownClick = function handleDropdownClick() {
|
|
60
|
+
var _gridRef$current2;
|
|
61
|
+
(_gridRef$current2 = gridRef.current) === null || _gridRef$current2 === void 0 ? void 0 : _gridRef$current2.scrollToItem({
|
|
62
|
+
rowIndex: iconList.findIndex(function (icon) {
|
|
63
|
+
return icon === activeIcon;
|
|
64
|
+
}) / GRID_PROPERTIES.columnCount
|
|
65
|
+
});
|
|
66
|
+
setSearchTerm("");
|
|
67
|
+
};
|
|
68
|
+
var symbolsStyle = {
|
|
69
|
+
fontVariationSettings: "'FILL' ".concat(filled ? 1 : 0)
|
|
70
|
+
};
|
|
71
|
+
useEffect(function () {
|
|
72
|
+
handleSearch(debouncedSearchTerm);
|
|
73
|
+
}, [debouncedSearchTerm]);
|
|
74
|
+
var renderGridCell = function renderGridCell(_ref2) {
|
|
75
|
+
var columnIndex = _ref2.columnIndex,
|
|
76
|
+
rowIndex = _ref2.rowIndex,
|
|
77
|
+
style = _ref2.style,
|
|
78
|
+
data = _ref2.data;
|
|
79
|
+
var iconIndex = rowIndex * GRID_PROPERTIES.columnCount + columnIndex;
|
|
80
|
+
var icon = data[iconIndex];
|
|
81
|
+
var handleIconClick = function handleIconClick(icon) {
|
|
82
|
+
onClick(icon);
|
|
83
|
+
setActiveIcon(icon);
|
|
84
|
+
};
|
|
85
|
+
return icon ? /*#__PURE__*/React.createElement(Icon, {
|
|
86
|
+
active: icon === activeIcon,
|
|
87
|
+
icon: icon,
|
|
88
|
+
style: style,
|
|
89
|
+
symbolsStyle: symbolsStyle,
|
|
90
|
+
onClick: handleIconClick
|
|
91
|
+
}) : null;
|
|
92
|
+
};
|
|
93
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
className: "flex flex-col items-start gap-2"
|
|
95
|
+
}, label && /*#__PURE__*/React.createElement(Label, null, label), /*#__PURE__*/React.createElement(Dropdown, _extends({
|
|
96
|
+
buttonSize: "small",
|
|
97
|
+
buttonStyle: "secondary",
|
|
98
|
+
closeOnSelect: false,
|
|
99
|
+
dropdownProps: {
|
|
100
|
+
className: classnames("h-96", className)
|
|
101
|
+
},
|
|
102
|
+
position: "bottom-start",
|
|
103
|
+
strategy: "fixed",
|
|
104
|
+
buttonProps: {
|
|
105
|
+
"data-testid": "icon-picker-dropdown",
|
|
106
|
+
onClick: handleDropdownClick
|
|
107
|
+
},
|
|
108
|
+
label: /*#__PURE__*/React.createElement("span", {
|
|
109
|
+
className: "flex items-center gap-2",
|
|
110
|
+
style: symbolsStyle
|
|
111
|
+
}, value && /*#__PURE__*/React.createElement("span", {
|
|
112
|
+
className: "material-symbols-rounded neeto-ui-text-base mx-auto"
|
|
113
|
+
}, value), /*#__PURE__*/React.createElement(Typography, {
|
|
114
|
+
style: "body2"
|
|
115
|
+
}, humanize(value) || t("neetoMolecules.iconPicker.dropdown.label"))),
|
|
116
|
+
onClose: function onClose() {
|
|
117
|
+
return setSearchTerm("");
|
|
118
|
+
}
|
|
119
|
+
}, otherProps), /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
className: "w-80 flex-grow p-2"
|
|
121
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
122
|
+
className: "mb-1 space-y-2"
|
|
123
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
124
|
+
autoFocus: true,
|
|
125
|
+
autoComplete: "off",
|
|
126
|
+
"data-cy": "pick-icon-text-field",
|
|
127
|
+
value: searchTerm,
|
|
128
|
+
placeholder: t("neetoMolecules.common.search", {
|
|
129
|
+
entity: t("neetoMolecules.iconPicker.entity")
|
|
130
|
+
}),
|
|
131
|
+
suffix: /*#__PURE__*/React.createElement(Button, {
|
|
132
|
+
icon: Close,
|
|
133
|
+
size: "small",
|
|
134
|
+
style: "link",
|
|
135
|
+
onClick: function onClick() {
|
|
136
|
+
return setSearchTerm("");
|
|
137
|
+
}
|
|
138
|
+
}),
|
|
139
|
+
onChange: function onChange(e) {
|
|
140
|
+
return setSearchTerm(e.target.value);
|
|
141
|
+
}
|
|
142
|
+
}), value && /*#__PURE__*/React.createElement("div", {
|
|
143
|
+
className: "neeto-ui-bg-white flex justify-center"
|
|
144
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
145
|
+
className: "text-sm",
|
|
146
|
+
"data-cy": "icon-remove-button",
|
|
147
|
+
"data-testid": "icon-remove-button",
|
|
148
|
+
icon: Close,
|
|
149
|
+
label: t("neetoMolecules.iconPicker.dropdown.removeButton"),
|
|
150
|
+
style: "link",
|
|
151
|
+
onClick: handleRemoveClick
|
|
152
|
+
}))), isNotEmpty(iconList) ? /*#__PURE__*/React.createElement(Grid, {
|
|
153
|
+
className: "overflow-x-hidden",
|
|
154
|
+
columnCount: GRID_PROPERTIES.columnCount,
|
|
155
|
+
columnWidth: GRID_PROPERTIES.columnWidth,
|
|
156
|
+
height: GRID_PROPERTIES.gridHeight,
|
|
157
|
+
itemData: iconList,
|
|
158
|
+
ref: gridRef,
|
|
159
|
+
rowHeight: GRID_PROPERTIES.rowHeight,
|
|
160
|
+
width: GRID_PROPERTIES.gridWidth,
|
|
161
|
+
rowCount: Math.ceil(iconList.length / GRID_PROPERTIES.columnCount)
|
|
162
|
+
}, renderGridCell) : /*#__PURE__*/React.createElement(NoResults, null))));
|
|
163
|
+
};
|
|
164
|
+
export default IconPicker;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["className"];
|
|
5
|
+
import React from "react";
|
|
6
|
+
import classnames from "classnames";
|
|
7
|
+
var ImagePlaceholder = function ImagePlaceholder(_ref) {
|
|
8
|
+
var _ref$className = _ref.className,
|
|
9
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
10
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
11
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
12
|
+
"data-testid": "fallback-image",
|
|
13
|
+
className: classnames("neeto-ui-bg-gray-100", _defineProperty({}, className, className))
|
|
14
|
+
}, props));
|
|
15
|
+
};
|
|
16
|
+
export default ImagePlaceholder;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
+
var _excluded = ["src", "fallback"];
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
+
import React, { useEffect, useState } from "react";
|
|
9
|
+
import ImagePlaceholder from "./ImagePlaceholder";
|
|
10
|
+
var ImageWithFallback = function ImageWithFallback(_ref) {
|
|
11
|
+
var src = _ref.src,
|
|
12
|
+
fallback = _ref.fallback,
|
|
13
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
14
|
+
var _useState = useState(false),
|
|
15
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
16
|
+
isLoaded = _useState2[0],
|
|
17
|
+
setIsLoaded = _useState2[1];
|
|
18
|
+
useEffect(function () {
|
|
19
|
+
var img = new Image();
|
|
20
|
+
img.onload = function () {
|
|
21
|
+
setIsLoaded(true);
|
|
22
|
+
};
|
|
23
|
+
img.src = src;
|
|
24
|
+
}, [src]);
|
|
25
|
+
return isLoaded ? /*#__PURE__*/React.createElement("img", _extends({
|
|
26
|
+
"data-testid": "original-image"
|
|
27
|
+
}, _objectSpread({
|
|
28
|
+
src: src
|
|
29
|
+
}, otherProps))) : /*#__PURE__*/React.createElement(React.Fragment, null, fallback || /*#__PURE__*/React.createElement(ImagePlaceholder, otherProps));
|
|
30
|
+
};
|
|
31
|
+
export default ImageWithFallback;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { noop } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { isNotNil } from "ramda";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import MoreDropdown from "../MoreDropdown";
|
|
6
|
+
var Dropdown = function Dropdown(_ref) {
|
|
7
|
+
var customDropdown = _ref.customDropdown,
|
|
8
|
+
_ref$handleManage = _ref.handleManage,
|
|
9
|
+
handleManage = _ref$handleManage === void 0 ? noop : _ref$handleManage,
|
|
10
|
+
_ref$hideDisconnect = _ref.hideDisconnect,
|
|
11
|
+
hideDisconnect = _ref$hideDisconnect === void 0 ? false : _ref$hideDisconnect,
|
|
12
|
+
_ref$onDisconnect = _ref.onDisconnect,
|
|
13
|
+
onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect;
|
|
14
|
+
var _useTranslation = useTranslation(),
|
|
15
|
+
t = _useTranslation.t;
|
|
16
|
+
if (isNotNil(customDropdown)) {
|
|
17
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
onClick: function onClick(e) {
|
|
19
|
+
return e.stopPropagation();
|
|
20
|
+
}
|
|
21
|
+
}, customDropdown);
|
|
22
|
+
}
|
|
23
|
+
var isManageable = isNotNil(handleManage);
|
|
24
|
+
if (!isManageable && hideDisconnect) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
onClick: function onClick(e) {
|
|
29
|
+
return e.stopPropagation();
|
|
30
|
+
}
|
|
31
|
+
}, /*#__PURE__*/React.createElement(MoreDropdown, {
|
|
32
|
+
menuItems: [{
|
|
33
|
+
isVisible: isManageable,
|
|
34
|
+
onClick: handleManage,
|
|
35
|
+
label: t("neetoMolecules.integrationCard.manage"),
|
|
36
|
+
key: "integration-card-manage-integration"
|
|
37
|
+
}, {
|
|
38
|
+
isVisible: !hideDisconnect,
|
|
39
|
+
onClick: onDisconnect,
|
|
40
|
+
label: t("neetoMolecules.integrationCard.disconnect"),
|
|
41
|
+
key: "integration-card-manage-disconnection"
|
|
42
|
+
}]
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
export default Dropdown;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Check, Warning } from "@bigbinary/neeto-icons";
|
|
4
|
+
import { Tag } from "@bigbinary/neetoui";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
var Status = function Status(_ref) {
|
|
7
|
+
var isExpired = _ref.isExpired;
|
|
8
|
+
var _useTranslation = useTranslation(),
|
|
9
|
+
t = _useTranslation.t;
|
|
10
|
+
var tagProps = isExpired ? {
|
|
11
|
+
icon: Warning,
|
|
12
|
+
label: t("neetoMolecules.integrationCard.tags.expired"),
|
|
13
|
+
style: "warning"
|
|
14
|
+
} : {
|
|
15
|
+
icon: Check,
|
|
16
|
+
label: t("neetoMolecules.integrationCard.tags.connected"),
|
|
17
|
+
style: "success"
|
|
18
|
+
};
|
|
19
|
+
return /*#__PURE__*/React.createElement(Tag, _extends({
|
|
20
|
+
className: "flex-row-reverse"
|
|
21
|
+
}, tagProps, {
|
|
22
|
+
"data-testid": "integration-status"
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
export default Status;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["icon", "subIcons", "label", "description", "className", "onConnect", "onDisconnect", "onManage", "isLoading", "isConnected", "isFailed", "isExpired", "disabled", "hidden", "hideDisconnect", "onClick", "tooltipProps", "customDropdown", "dataCy", "children"];
|
|
4
|
+
import React from "react";
|
|
5
|
+
import classnames from "classnames";
|
|
6
|
+
import { isNotEmpty, noop } from "@bigbinary/neeto-commons-frontend/pure";
|
|
7
|
+
import { joinHyphenCase } from "@bigbinary/neeto-commons-frontend/utils";
|
|
8
|
+
import { Typography, Button, Spinner, Tooltip } from "@bigbinary/neetoui";
|
|
9
|
+
import { isNotNil } from "ramda";
|
|
10
|
+
import { useTranslation } from "react-i18next";
|
|
11
|
+
import Dropdown from "./Dropdown";
|
|
12
|
+
import Status from "./Status";
|
|
13
|
+
var IntegrationCard = function IntegrationCard(_ref) {
|
|
14
|
+
var Icon = _ref.icon,
|
|
15
|
+
_ref$subIcons = _ref.subIcons,
|
|
16
|
+
subIcons = _ref$subIcons === void 0 ? [] : _ref$subIcons,
|
|
17
|
+
_ref$label = _ref.label,
|
|
18
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
19
|
+
_ref$description = _ref.description,
|
|
20
|
+
description = _ref$description === void 0 ? "" : _ref$description,
|
|
21
|
+
_ref$className = _ref.className,
|
|
22
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
23
|
+
_ref$onConnect = _ref.onConnect,
|
|
24
|
+
onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
|
|
25
|
+
_ref$onDisconnect = _ref.onDisconnect,
|
|
26
|
+
onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect,
|
|
27
|
+
_ref$onManage = _ref.onManage,
|
|
28
|
+
onManage = _ref$onManage === void 0 ? undefined : _ref$onManage,
|
|
29
|
+
_ref$isLoading = _ref.isLoading,
|
|
30
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
31
|
+
_ref$isConnected = _ref.isConnected,
|
|
32
|
+
isConnected = _ref$isConnected === void 0 ? false : _ref$isConnected,
|
|
33
|
+
_ref$isFailed = _ref.isFailed,
|
|
34
|
+
isFailed = _ref$isFailed === void 0 ? false : _ref$isFailed,
|
|
35
|
+
_ref$isExpired = _ref.isExpired,
|
|
36
|
+
isExpired = _ref$isExpired === void 0 ? false : _ref$isExpired,
|
|
37
|
+
_ref$disabled = _ref.disabled,
|
|
38
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
39
|
+
_ref$hidden = _ref.hidden,
|
|
40
|
+
hidden = _ref$hidden === void 0 ? false : _ref$hidden,
|
|
41
|
+
_ref$hideDisconnect = _ref.hideDisconnect,
|
|
42
|
+
hideDisconnect = _ref$hideDisconnect === void 0 ? false : _ref$hideDisconnect,
|
|
43
|
+
_ref$onClick = _ref.onClick,
|
|
44
|
+
onCardClick = _ref$onClick === void 0 ? undefined : _ref$onClick,
|
|
45
|
+
_ref$tooltipProps = _ref.tooltipProps,
|
|
46
|
+
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
47
|
+
_ref$customDropdown = _ref.customDropdown,
|
|
48
|
+
customDropdown = _ref$customDropdown === void 0 ? null : _ref$customDropdown,
|
|
49
|
+
_ref$dataCy = _ref.dataCy,
|
|
50
|
+
dataCy = _ref$dataCy === void 0 ? "" : _ref$dataCy,
|
|
51
|
+
children = _ref.children,
|
|
52
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
53
|
+
var _useTranslation = useTranslation(),
|
|
54
|
+
t = _useTranslation.t;
|
|
55
|
+
if (hidden) return null;
|
|
56
|
+
var isCardClickable = isConnected && isNotNil(onCardClick);
|
|
57
|
+
var cardProps = isCardClickable ? {
|
|
58
|
+
onClick: onCardClick
|
|
59
|
+
} : {};
|
|
60
|
+
return /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
61
|
+
disabled: !disabled,
|
|
62
|
+
position: "top",
|
|
63
|
+
content: disabled && t("neetoMolecules.integrationCard.tooltip.integrationNotAvailable")
|
|
64
|
+
}, tooltipProps), /*#__PURE__*/React.createElement("div", _extends({
|
|
65
|
+
"data-cy": dataCy,
|
|
66
|
+
"data-testid": "integration-card",
|
|
67
|
+
className: classnames("outline-none neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex flex-col border p-6 no-underline transition-colors", {
|
|
68
|
+
"hover:neeto-ui-bg-100 cursor-not-allowed opacity-50": disabled,
|
|
69
|
+
"cursor-pointer": isCardClickable
|
|
70
|
+
}, className)
|
|
71
|
+
}, cardProps, otherProps), /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: "flex flex-grow justify-between",
|
|
73
|
+
"data-cy": "integration-tabs"
|
|
74
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: "flex min-w-0 flex-col justify-end"
|
|
76
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
77
|
+
className: "relative mb-4 flex h-8"
|
|
78
|
+
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
79
|
+
size: 32
|
|
80
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: "my-auto"
|
|
82
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
83
|
+
className: "mb-2",
|
|
84
|
+
"data-cy": "integration-card-label",
|
|
85
|
+
style: "h4",
|
|
86
|
+
weight: "semibold"
|
|
87
|
+
}, label), /*#__PURE__*/React.createElement(Typography, {
|
|
88
|
+
className: "break-words",
|
|
89
|
+
"data-cy": "".concat(joinHyphenCase(label), "-integration-description"),
|
|
90
|
+
style: "body2"
|
|
91
|
+
}, description), children)), isNotEmpty(subIcons) && /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: "flex h-24 flex-col gap-2"
|
|
93
|
+
}, subIcons.map(function (Icon, index) {
|
|
94
|
+
return /*#__PURE__*/React.createElement(Icon, {
|
|
95
|
+
className: "neeto-ui-text-gray-600",
|
|
96
|
+
key: index,
|
|
97
|
+
size: 24
|
|
98
|
+
});
|
|
99
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
100
|
+
className: "neeto-ui-border-gray-300 mt-4 w-full border-t pt-2"
|
|
101
|
+
}, isLoading ? /*#__PURE__*/React.createElement("div", {
|
|
102
|
+
className: "mt-3 flex items-center justify-start"
|
|
103
|
+
}, /*#__PURE__*/React.createElement(Spinner, null)) : /*#__PURE__*/React.createElement("div", {
|
|
104
|
+
className: "flex h-8 items-center justify-between"
|
|
105
|
+
}, isConnected && /*#__PURE__*/React.createElement(Status, {
|
|
106
|
+
isExpired: isExpired
|
|
107
|
+
}), isFailed && /*#__PURE__*/React.createElement(Button, {
|
|
108
|
+
className: "neeto-ui-text-warning-500",
|
|
109
|
+
"data-cy": "connect-button",
|
|
110
|
+
disabled: disabled || isLoading,
|
|
111
|
+
label: t("neetoMolecules.integrationCard.tryAgain"),
|
|
112
|
+
style: "link",
|
|
113
|
+
onClick: onConnect
|
|
114
|
+
}), !isConnected && !isFailed && /*#__PURE__*/React.createElement(Button, {
|
|
115
|
+
"data-cy": "connect-button",
|
|
116
|
+
"data-testid": "integraiton-card-connect-button",
|
|
117
|
+
disabled: disabled || isLoading,
|
|
118
|
+
label: t("neetoMolecules.integrationCard.connect"),
|
|
119
|
+
style: "link",
|
|
120
|
+
onClick: onConnect
|
|
121
|
+
}), (isConnected || isFailed) && /*#__PURE__*/React.createElement(Dropdown, {
|
|
122
|
+
customDropdown: customDropdown,
|
|
123
|
+
hideDisconnect: hideDisconnect,
|
|
124
|
+
onDisconnect: onDisconnect,
|
|
125
|
+
handleManage: onManage
|
|
126
|
+
})))));
|
|
127
|
+
};
|
|
128
|
+
export default IntegrationCard;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["t", "isOpen", "isDisconnecting", "title", "message", "onClose", "onDisconnect"];
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { noop } from "@bigbinary/neeto-commons-frontend/pure";
|
|
6
|
+
import { withT } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
7
|
+
import { Alert } from "@bigbinary/neetoui";
|
|
8
|
+
var IntegrationDisconnectAlert = function IntegrationDisconnectAlert(_ref) {
|
|
9
|
+
var t = _ref.t,
|
|
10
|
+
_ref$isOpen = _ref.isOpen,
|
|
11
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
12
|
+
_ref$isDisconnecting = _ref.isDisconnecting,
|
|
13
|
+
isDisconnecting = _ref$isDisconnecting === void 0 ? false : _ref$isDisconnecting,
|
|
14
|
+
_ref$title = _ref.title,
|
|
15
|
+
title = _ref$title === void 0 ? "" : _ref$title,
|
|
16
|
+
_ref$message = _ref.message,
|
|
17
|
+
message = _ref$message === void 0 ? "" : _ref$message,
|
|
18
|
+
_ref$onClose = _ref.onClose,
|
|
19
|
+
onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
|
|
20
|
+
_ref$onDisconnect = _ref.onDisconnect,
|
|
21
|
+
onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect,
|
|
22
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
23
|
+
return /*#__PURE__*/React.createElement(Alert, _extends({
|
|
24
|
+
isSubmitting: isDisconnecting,
|
|
25
|
+
isOpen: isOpen,
|
|
26
|
+
message: message,
|
|
27
|
+
onClose: onClose,
|
|
28
|
+
title: title,
|
|
29
|
+
submitButtonLabel: t("neetoMolecules.integrationDisconnectAlert.disconnect"),
|
|
30
|
+
onSubmit: onDisconnect
|
|
31
|
+
}, otherProps));
|
|
32
|
+
};
|
|
33
|
+
var WrappedIntegrationDisconnectAlert = withT(IntegrationDisconnectAlert);
|
|
34
|
+
WrappedIntegrationDisconnectAlert.displayName = "IntegrationDisconnectAlert";
|
|
35
|
+
export { IntegrationDisconnectAlert };
|
|
36
|
+
export default WrappedIntegrationDisconnectAlert;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { noop } from
|
|
3
|
-
import { withT } from
|
|
4
|
-
import { Modal,
|
|
5
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { noop } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { withT } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
4
|
+
import { Modal, Button, Typography } from "@bigbinary/neetoui";
|
|
6
5
|
var IntegrationWalkthroughModal = function IntegrationWalkthroughModal(_ref) {
|
|
7
6
|
var t = _ref.t,
|
|
8
7
|
_ref$isOpen = _ref.isOpen,
|
|
@@ -36,6 +35,5 @@ var IntegrationWalkthroughModal = function IntegrationWalkthroughModal(_ref) {
|
|
|
36
35
|
};
|
|
37
36
|
var WrappedIntegrationWalkthroughModal = withT(IntegrationWalkthroughModal);
|
|
38
37
|
WrappedIntegrationWalkthroughModal.displayName = "IntegrationWalkthroughModal";
|
|
39
|
-
|
|
40
|
-
export
|
|
41
|
-
//# sourceMappingURL=IntegrationWalkthroughModal.js.map
|
|
38
|
+
export { IntegrationWalkthroughModal };
|
|
39
|
+
export default WrappedIntegrationWalkthroughModal;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import { Button, Typography } from "@bigbinary/neetoui";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { INITIAL_VALUES } from "./constants";
|
|
6
|
+
import FormRow from "./FormRow";
|
|
7
|
+
import { useFetchAllowedIpRanges } from "./hooks/reactQuery/useAllowedIpRanges";
|
|
8
|
+
import Row from "./Row";
|
|
9
|
+
var AllowedIpRanges = function AllowedIpRanges() {
|
|
10
|
+
var _useState = useState(""),
|
|
11
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
12
|
+
editingRow = _useState2[0],
|
|
13
|
+
setEditingRow = _useState2[1];
|
|
14
|
+
var _useState3 = useState(false),
|
|
15
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
16
|
+
showAddNew = _useState4[0],
|
|
17
|
+
setShowAddNew = _useState4[1];
|
|
18
|
+
var _useTranslation = useTranslation(),
|
|
19
|
+
t = _useTranslation.t;
|
|
20
|
+
var _useFetchAllowedIpRan = useFetchAllowedIpRanges(),
|
|
21
|
+
allowedIpRanges = _useFetchAllowedIpRan.data;
|
|
22
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
className: "space-y-6",
|
|
24
|
+
"data-cy": "allowed-ip-range-container"
|
|
25
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
26
|
+
"data-cy": "allowed-ip-range-heading",
|
|
27
|
+
style: "h4"
|
|
28
|
+
}, t("neetoMolecules.ipRestriction.allowedIpRangeTitle")), /*#__PURE__*/React.createElement("div", {
|
|
29
|
+
className: "space-y-4"
|
|
30
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: "grid grid-cols-12 gap-4 px-3"
|
|
32
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
33
|
+
className: "neeto-ui-text-gray-700 col-span-5 uppercase",
|
|
34
|
+
style: "h6"
|
|
35
|
+
}, t("neetoMolecules.ipRestriction.ipStart")), /*#__PURE__*/React.createElement(Typography, {
|
|
36
|
+
className: "neeto-ui-text-gray-700 col-span-5 uppercase",
|
|
37
|
+
style: "h6"
|
|
38
|
+
}, t("neetoMolecules.ipRestriction.ipEnd")), /*#__PURE__*/React.createElement(Typography, {
|
|
39
|
+
className: "neeto-ui-text-gray-700 col-span-2 text-center uppercase",
|
|
40
|
+
style: "h6"
|
|
41
|
+
}, t("neetoMolecules.ipRestriction.actions"))), /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
className: "w-full space-y-2"
|
|
43
|
+
}, allowedIpRanges === null || allowedIpRanges === void 0 ? void 0 : allowedIpRanges.map(function (allowedIpRange) {
|
|
44
|
+
return editingRow === allowedIpRange.id ? /*#__PURE__*/React.createElement(FormRow, {
|
|
45
|
+
data: allowedIpRange,
|
|
46
|
+
isAddNew: false,
|
|
47
|
+
key: allowedIpRange.id,
|
|
48
|
+
onCollapse: function onCollapse() {
|
|
49
|
+
return setEditingRow("");
|
|
50
|
+
}
|
|
51
|
+
}) : /*#__PURE__*/React.createElement(Row, {
|
|
52
|
+
data: allowedIpRange,
|
|
53
|
+
key: allowedIpRange.id,
|
|
54
|
+
setEditingRow: setEditingRow
|
|
55
|
+
});
|
|
56
|
+
}), showAddNew && /*#__PURE__*/React.createElement(FormRow, {
|
|
57
|
+
isAddNew: true,
|
|
58
|
+
data: INITIAL_VALUES,
|
|
59
|
+
onCollapse: function onCollapse() {
|
|
60
|
+
return setShowAddNew(false);
|
|
61
|
+
}
|
|
62
|
+
})), /*#__PURE__*/React.createElement(Button, {
|
|
63
|
+
"data-cy": "add-allowed-ip-range-button",
|
|
64
|
+
disabled: showAddNew,
|
|
65
|
+
label: t("neetoMolecules.ipRestriction.addNew"),
|
|
66
|
+
style: "link",
|
|
67
|
+
onClick: function onClick() {
|
|
68
|
+
return setShowAddNew(true);
|
|
69
|
+
}
|
|
70
|
+
})));
|
|
71
|
+
};
|
|
72
|
+
export default /*#__PURE__*/React.memo(AllowedIpRanges);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Typography } from "@bigbinary/neetoui";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { useShowCurrentIp } from "./hooks/reactQuery/useCurrentIp";
|
|
5
|
+
var CurrentIp = function CurrentIp() {
|
|
6
|
+
var _useShowCurrentIp = useShowCurrentIp(),
|
|
7
|
+
data = _useShowCurrentIp.data,
|
|
8
|
+
isLoading = _useShowCurrentIp.isLoading;
|
|
9
|
+
var _useTranslation = useTranslation(),
|
|
10
|
+
t = _useTranslation.t;
|
|
11
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
12
|
+
className: "flex flex-wrap items-baseline gap-1",
|
|
13
|
+
"data-cy": "current-ip-container"
|
|
14
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
15
|
+
"data-cy": "current-ip-heading",
|
|
16
|
+
style: "body2"
|
|
17
|
+
}, t("neetoMolecules.ipRestriction.currentIpTitle")), /*#__PURE__*/React.createElement(Typography, {
|
|
18
|
+
"data-cy": "current-ip-value",
|
|
19
|
+
style: "h4",
|
|
20
|
+
weight: "semibold"
|
|
21
|
+
}, isLoading ? "..." : data.ip), /*#__PURE__*/React.createElement(Typography, {
|
|
22
|
+
"data-cy": "current-ip-description",
|
|
23
|
+
style: "body2"
|
|
24
|
+
}, t("neetoMolecules.ipRestriction.currentIpDescription")));
|
|
25
|
+
};
|
|
26
|
+
export default /*#__PURE__*/React.memo(CurrentIp);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Check, Close } from "@bigbinary/neeto-icons";
|
|
3
|
+
import { Button } from "@bigbinary/neetoui";
|
|
4
|
+
import { Input, Form, Button as FormikButton } from "@bigbinary/neetoui/formik";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
import { useCreateAllowedIpRanges, useUpdateAllowedIpRanges } from "./hooks/reactQuery/useAllowedIpRanges";
|
|
7
|
+
import { getIpRestrictionValidationSchema } from "./utils";
|
|
8
|
+
var FormRow = function FormRow(_ref) {
|
|
9
|
+
var data = _ref.data,
|
|
10
|
+
isAddNew = _ref.isAddNew,
|
|
11
|
+
onCollapse = _ref.onCollapse;
|
|
12
|
+
var _useCreateAllowedIpRa = useCreateAllowedIpRanges(),
|
|
13
|
+
createAllowedIpRange = _useCreateAllowedIpRa.mutate;
|
|
14
|
+
var _useUpdateAllowedIpRa = useUpdateAllowedIpRanges(),
|
|
15
|
+
updateAllowedIpRange = _useUpdateAllowedIpRa.mutate;
|
|
16
|
+
var _useTranslation = useTranslation(),
|
|
17
|
+
t = _useTranslation.t;
|
|
18
|
+
var handleSubmit = function handleSubmit(values) {
|
|
19
|
+
if (isAddNew) {
|
|
20
|
+
createAllowedIpRange(values);
|
|
21
|
+
} else {
|
|
22
|
+
updateAllowedIpRange({
|
|
23
|
+
id: data.id,
|
|
24
|
+
payload: values
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
onCollapse();
|
|
28
|
+
};
|
|
29
|
+
return /*#__PURE__*/React.createElement(Form, {
|
|
30
|
+
"data-cy": "allowed-ip-range-form",
|
|
31
|
+
formikProps: {
|
|
32
|
+
initialValues: data,
|
|
33
|
+
validationSchema: getIpRestrictionValidationSchema(),
|
|
34
|
+
onSubmit: handleSubmit
|
|
35
|
+
}
|
|
36
|
+
}, function (_ref2) {
|
|
37
|
+
var isSubmitting = _ref2.isSubmitting;
|
|
38
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-12 gap-4 p-3"
|
|
40
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
41
|
+
autoFocus: true,
|
|
42
|
+
className: "col-span-5 text-left",
|
|
43
|
+
"data-cy": "ip-start-text-field",
|
|
44
|
+
name: "ipStart",
|
|
45
|
+
placeholder: t("neetoMolecules.ipRestriction.ipStart")
|
|
46
|
+
}), /*#__PURE__*/React.createElement(Input, {
|
|
47
|
+
className: "col-span-5 text-left",
|
|
48
|
+
"data-cy": "ip-end-text-field",
|
|
49
|
+
name: "ipEnd",
|
|
50
|
+
placeholder: t("neetoMolecules.ipRestriction.ipEnd")
|
|
51
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: "col-span-2 flex items-start justify-center gap-1"
|
|
53
|
+
}, /*#__PURE__*/React.createElement(FormikButton, {
|
|
54
|
+
"data-cy": "save-changes-button",
|
|
55
|
+
"data-testid": "save-changes-button",
|
|
56
|
+
disabled: isSubmitting,
|
|
57
|
+
icon: Check,
|
|
58
|
+
style: "text",
|
|
59
|
+
tooltipProps: {
|
|
60
|
+
content: "Submit",
|
|
61
|
+
position: "top"
|
|
62
|
+
},
|
|
63
|
+
type: "submit"
|
|
64
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
65
|
+
"data-cy": "ip-cancel-button",
|
|
66
|
+
icon: Close,
|
|
67
|
+
style: "text",
|
|
68
|
+
type: "reset",
|
|
69
|
+
tooltipProps: {
|
|
70
|
+
content: t("neetoMolecules.common.actions.cancel"),
|
|
71
|
+
position: "top"
|
|
72
|
+
},
|
|
73
|
+
onClick: onCollapse
|
|
74
|
+
})));
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
export default FormRow;
|