@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,48 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import { useFetchNeetoApps } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
4
|
+
import { AppSwitcher as NeetoUIAppSwitcherIcon } from "@bigbinary/neeto-icons";
|
|
5
|
+
import { Typography, Spinner } from "@bigbinary/neetoui";
|
|
6
|
+
import { useTranslation } from "react-i18next";
|
|
7
|
+
import "../sidebar.scss";
|
|
8
|
+
var AppSwitcherButton = function AppSwitcherButton(_ref) {
|
|
9
|
+
var onAppSwitcherToggle = _ref.onAppSwitcherToggle;
|
|
10
|
+
var _useTranslation = useTranslation(),
|
|
11
|
+
t = _useTranslation.t;
|
|
12
|
+
var _useState = useState(false),
|
|
13
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
+
hasHovered = _useState2[0],
|
|
15
|
+
setHasHovered = _useState2[1];
|
|
16
|
+
var _useFetchNeetoApps = useFetchNeetoApps(),
|
|
17
|
+
data = _useFetchNeetoApps.data,
|
|
18
|
+
refetchNeetoApps = _useFetchNeetoApps.refetch,
|
|
19
|
+
isStale = _useFetchNeetoApps.isStale,
|
|
20
|
+
isLoading = _useFetchNeetoApps.isLoading;
|
|
21
|
+
var handleAppSwitcherToggle = function handleAppSwitcherToggle(event) {
|
|
22
|
+
if (!data) event.stopPropagation();else onAppSwitcherToggle();
|
|
23
|
+
};
|
|
24
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
25
|
+
className: "neeto-molecules-sidebar__link neeto-molecules-sidebar__link--app-switcher neeto-molecules-sidebar__link--button neeto-ui-flex neeto-ui-w-full neeto-ui-select-none neeto-ui-items-center neeto-ui-justify-start neeto-ui-shadow-none",
|
|
26
|
+
"data-cy": "app-switcher-button",
|
|
27
|
+
"data-testid": "app-switcher-button",
|
|
28
|
+
onClick: handleAppSwitcherToggle,
|
|
29
|
+
onMouseEnter: function onMouseEnter() {
|
|
30
|
+
if (!hasHovered && isStale) {
|
|
31
|
+
refetchNeetoApps();
|
|
32
|
+
setHasHovered(true);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
36
|
+
className: "neeto-molecules-sidebar__link-icon neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center h-6 w-6"
|
|
37
|
+
}, hasHovered && isLoading ? /*#__PURE__*/React.createElement("span", {
|
|
38
|
+
"data-testid": "app-switcher-button-loader"
|
|
39
|
+
}, /*#__PURE__*/React.createElement(Spinner, null)) : /*#__PURE__*/React.createElement(NeetoUIAppSwitcherIcon, {
|
|
40
|
+
size: 24
|
|
41
|
+
})), /*#__PURE__*/React.createElement(Typography, {
|
|
42
|
+
className: "neeto-molecules-sidebar__link-label",
|
|
43
|
+
component: "span",
|
|
44
|
+
style: "body2",
|
|
45
|
+
weight: "normal"
|
|
46
|
+
}, t("neetoMolecules.sidebar.productSwitcher")));
|
|
47
|
+
};
|
|
48
|
+
export default AppSwitcherButton;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useFetchNeetoApps } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
3
|
+
import { Tooltip } from "@bigbinary/neetoui";
|
|
4
|
+
import { getProfileInfo } from "./utils";
|
|
5
|
+
import ProfileSection from "../ProfileSection";
|
|
6
|
+
import ProfileMenu from "../ProfileSection/ProfileMenu";
|
|
7
|
+
var ProfileButton = function ProfileButton(_ref) {
|
|
8
|
+
var extraTopLinks = _ref.extraTopLinks,
|
|
9
|
+
profileInfoOverrides = _ref.profileInfoOverrides;
|
|
10
|
+
var _useFetchNeetoApps = useFetchNeetoApps(),
|
|
11
|
+
data = _useFetchNeetoApps.data;
|
|
12
|
+
var profileInfo = getProfileInfo(data === null || data === void 0 ? void 0 : data.isOwner, profileInfoOverrides);
|
|
13
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
14
|
+
interactive: true,
|
|
15
|
+
className: "neeto-molecules-profile-popup-wrapper",
|
|
16
|
+
content: /*#__PURE__*/React.createElement(ProfileMenu, {
|
|
17
|
+
extraTopLinks: extraTopLinks,
|
|
18
|
+
profileInfo: profileInfo
|
|
19
|
+
}),
|
|
20
|
+
disabled: !data,
|
|
21
|
+
hideOnClick: false,
|
|
22
|
+
interactiveDebounce: 20,
|
|
23
|
+
offset: [0, -70],
|
|
24
|
+
position: "right",
|
|
25
|
+
theme: "light"
|
|
26
|
+
}, /*#__PURE__*/React.createElement(ProfileSection, {
|
|
27
|
+
profileInfo: profileInfo
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
export default ProfileButton;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import React, { useEffect, useState } from "react";
|
|
3
|
+
import { Tooltip } from "@bigbinary/neetoui";
|
|
4
|
+
import AppSwitcherButton from "./AppSwitcherButton";
|
|
5
|
+
import ProfileButton from "./ProfileButton";
|
|
6
|
+
import HelpSection from "../HelpSection";
|
|
7
|
+
import HelpSectionMenu from "../HelpSection/HelpSectionMenu";
|
|
8
|
+
import "../sidebar.scss";
|
|
9
|
+
var Footer = function Footer(_ref) {
|
|
10
|
+
var extraTopLinks = _ref.extraTopLinks,
|
|
11
|
+
helpLinkOverrides = _ref.helpLinkOverrides,
|
|
12
|
+
profileInfoOverrides = _ref.profileInfoOverrides,
|
|
13
|
+
_ref$showAppSwitcher = _ref.showAppSwitcher,
|
|
14
|
+
showAppSwitcher = _ref$showAppSwitcher === void 0 ? false : _ref$showAppSwitcher,
|
|
15
|
+
onAppSwitcherToggle = _ref.onAppSwitcherToggle;
|
|
16
|
+
var _useState = useState(null),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
changesCount = _useState2[0],
|
|
19
|
+
setChangesCount = _useState2[1];
|
|
20
|
+
useEffect(function () {
|
|
21
|
+
var Nv = {
|
|
22
|
+
onReceiveData: function onReceiveData(data) {
|
|
23
|
+
if (data.unreadCount) {
|
|
24
|
+
setChangesCount(data.unreadCount);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
onShow: function onShow() {
|
|
28
|
+
setChangesCount(null);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;
|
|
32
|
+
}, []);
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: "neeto-molecules-sidebar__footer neeto-molecules-sidebar__no-shrinkable"
|
|
35
|
+
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
36
|
+
interactive: true,
|
|
37
|
+
className: "neeto-molecules-help-popup-wrapper",
|
|
38
|
+
content: /*#__PURE__*/React.createElement(HelpSectionMenu, {
|
|
39
|
+
changesCount: changesCount,
|
|
40
|
+
helpLinkOverrides: helpLinkOverrides
|
|
41
|
+
}),
|
|
42
|
+
hideOnClick: false,
|
|
43
|
+
interactiveDebounce: 20,
|
|
44
|
+
offset: [0, -70],
|
|
45
|
+
position: "right",
|
|
46
|
+
theme: "light"
|
|
47
|
+
}, /*#__PURE__*/React.createElement(HelpSection, {
|
|
48
|
+
changesCount: changesCount
|
|
49
|
+
})), showAppSwitcher && /*#__PURE__*/React.createElement(AppSwitcherButton, {
|
|
50
|
+
onAppSwitcherToggle: onAppSwitcherToggle
|
|
51
|
+
}), /*#__PURE__*/React.createElement(ProfileButton, {
|
|
52
|
+
extraTopLinks: extraTopLinks,
|
|
53
|
+
profileInfoOverrides: profileInfoOverrides
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
export default Footer;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { t } from "i18next";
|
|
2
|
+
import { resetAuthTokens } from "@bigbinary/neeto-commons-frontend/utils";
|
|
3
|
+
import { User, Settings, LeftArrow } from "@bigbinary/neeto-icons";
|
|
4
|
+
import { mergeDeepLeft } from "ramda";
|
|
5
|
+
import { MY_PROFILE_URL, MY_ORGANIZATION_URL } from "../constants";
|
|
6
|
+
import { getSidebarStateLocalStorageKey } from "../utils";
|
|
7
|
+
export var getProfileInfo = function getProfileInfo(isOwner, profileInfoOverrides) {
|
|
8
|
+
var _globalProps$user, _globalProps$user2, _globalProps$user3, _globalProps$user4, _globalProps$user5;
|
|
9
|
+
return mergeDeepLeft(profileInfoOverrides, {
|
|
10
|
+
name: "".concat((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.firstName, " ").concat((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.lastName),
|
|
11
|
+
imageUrl: (_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.profileImageUrl,
|
|
12
|
+
email: ((_globalProps$user4 = globalProps.user) === null || _globalProps$user4 === void 0 ? void 0 : _globalProps$user4.email) || ((_globalProps$user5 = globalProps.user) === null || _globalProps$user5 === void 0 ? void 0 : _globalProps$user5.phoneNumber),
|
|
13
|
+
topLinks: [{
|
|
14
|
+
label: t("neetoMolecules.sidebar.myProfile"),
|
|
15
|
+
icon: User,
|
|
16
|
+
onClick: function onClick() {
|
|
17
|
+
return window.open(MY_PROFILE_URL, "_blank");
|
|
18
|
+
},
|
|
19
|
+
"data-cy": "my-profile-button"
|
|
20
|
+
}, isOwner && {
|
|
21
|
+
label: t("neetoMolecules.sidebar.myOrganization"),
|
|
22
|
+
icon: Settings,
|
|
23
|
+
onClick: function onClick() {
|
|
24
|
+
return window.open(MY_ORGANIZATION_URL, "_blank");
|
|
25
|
+
},
|
|
26
|
+
"data-cy": "profile-organization-settings-button"
|
|
27
|
+
}].filter(Boolean),
|
|
28
|
+
bottomLinks: [{
|
|
29
|
+
icon: LeftArrow,
|
|
30
|
+
label: t("neetoMolecules.sidebar.logout"),
|
|
31
|
+
onClick: function onClick() {
|
|
32
|
+
resetAuthTokens();
|
|
33
|
+
localStorage.removeItem(getSidebarStateLocalStorageKey());
|
|
34
|
+
window.location.href = "/logout";
|
|
35
|
+
},
|
|
36
|
+
"data-cy": "profile-logout-button"
|
|
37
|
+
}]
|
|
38
|
+
});
|
|
39
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { capitalize, findBy } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { useFetchNeetoApps } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
4
|
+
import { Neeto } from "@bigbinary/neeto-icons/typeface-logos";
|
|
5
|
+
import * as ProductTypefaceLogos from "@bigbinary/neeto-icons/typeface-logos";
|
|
6
|
+
import { Link } from "react-router-dom";
|
|
7
|
+
var Header = function Header(_ref) {
|
|
8
|
+
var _ProductTypefaceLogos;
|
|
9
|
+
var customLogo = _ref.customLogo;
|
|
10
|
+
var productName = globalProps.appName.substr(5);
|
|
11
|
+
var logoName = "Neeto".concat(capitalize(productName.toLowerCase()));
|
|
12
|
+
var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : Neeto;
|
|
13
|
+
var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
|
|
14
|
+
var _useFetchNeetoApps = useFetchNeetoApps(),
|
|
15
|
+
data = _useFetchNeetoApps.data;
|
|
16
|
+
var homePath = "/";
|
|
17
|
+
if (data !== null && data !== void 0 && data.neetoApps) {
|
|
18
|
+
var thisApp = findBy({
|
|
19
|
+
name: productName
|
|
20
|
+
}, data.neetoApps);
|
|
21
|
+
if (thisApp !== null && thisApp !== void 0 && thisApp.url) {
|
|
22
|
+
homePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
className: "neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable",
|
|
27
|
+
"data-cy": "sidebar-info"
|
|
28
|
+
}, /*#__PURE__*/React.createElement(Link, {
|
|
29
|
+
className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
|
|
30
|
+
to: homePath
|
|
31
|
+
}, /*#__PURE__*/React.createElement(LogoComponent, null)));
|
|
32
|
+
};
|
|
33
|
+
export default /*#__PURE__*/React.memo(Header);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
|
+
var _excluded = ["label"];
|
|
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 from "react";
|
|
9
|
+
import { isPresent } from "@bigbinary/neeto-commons-frontend/pure";
|
|
10
|
+
import { Button } from "@bigbinary/neetoui";
|
|
11
|
+
import KeyboardShortcuts from "../../KeyboardShortcuts";
|
|
12
|
+
import { DEFAULT_HELP_LINK_PROPS } from "../constants";
|
|
13
|
+
import "../sidebar.scss";
|
|
14
|
+
var HelpSectionMenu = function HelpSectionMenu(_ref) {
|
|
15
|
+
var helpLinkOverrides = _ref.helpLinkOverrides,
|
|
16
|
+
changesCount = _ref.changesCount;
|
|
17
|
+
var _KeyboardShortcuts$us = KeyboardShortcuts.usePaneState(),
|
|
18
|
+
_KeyboardShortcuts$us2 = _slicedToArray(_KeyboardShortcuts$us, 2),
|
|
19
|
+
setIsOpen = _KeyboardShortcuts$us2[1];
|
|
20
|
+
var helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS).map(function (key) {
|
|
21
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, DEFAULT_HELP_LINK_PROPS[key]), helpLinkOverrides[key]), key === "keyboardShortcutProps" && {
|
|
22
|
+
onClick: function onClick() {
|
|
23
|
+
return setIsOpen(true);
|
|
24
|
+
}
|
|
25
|
+
}), key === "changelogProps" && changesCount && {
|
|
26
|
+
changesCount: changesCount
|
|
27
|
+
});
|
|
28
|
+
}).filter(function (_ref2) {
|
|
29
|
+
var hide = _ref2.hide;
|
|
30
|
+
return !hide;
|
|
31
|
+
});
|
|
32
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
33
|
+
className: "neeto-molecules-help-sublist"
|
|
34
|
+
}, helpLinks.map(function (_ref3, idx) {
|
|
35
|
+
var label = _ref3.label,
|
|
36
|
+
buttonProps = _objectWithoutProperties(_ref3, _excluded);
|
|
37
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
38
|
+
className: "neeto-molecules-help-sublist__item",
|
|
39
|
+
key: idx
|
|
40
|
+
}, /*#__PURE__*/React.createElement(Button, _extends({
|
|
41
|
+
fullWidth: true,
|
|
42
|
+
className: "neeto-molecules-help-sublist__item-btn",
|
|
43
|
+
iconPosition: "left",
|
|
44
|
+
iconSize: 18,
|
|
45
|
+
style: "text"
|
|
46
|
+
}, buttonProps), label, isPresent(buttonProps.changesCount) && /*#__PURE__*/React.createElement("span", {
|
|
47
|
+
className: "neeto-molecules-help-sublist__item-btn-count",
|
|
48
|
+
"data-testid": "help-section-menu-changes-count"
|
|
49
|
+
}, buttonProps.changesCount)));
|
|
50
|
+
}));
|
|
51
|
+
};
|
|
52
|
+
export default HelpSectionMenu;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { forwardRef } from "react";
|
|
2
|
+
import { isPresent } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
+
import { Help } from "@bigbinary/neeto-icons";
|
|
4
|
+
import { Typography } from "@bigbinary/neetoui";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
import "../sidebar.scss";
|
|
7
|
+
|
|
8
|
+
// Rule can be enabled once the ticket - https://github.com/bigbinary/neeto-commons-frontend/issues/905 is closed.
|
|
9
|
+
// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation
|
|
10
|
+
var HelpSection = function HelpSection(_ref, ref) {
|
|
11
|
+
var changesCount = _ref.changesCount;
|
|
12
|
+
var _useTranslation = useTranslation(),
|
|
13
|
+
t = _useTranslation.t;
|
|
14
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
15
|
+
className: "neeto-molecules-sidebar__link neeto-molecules-sidebar__link--button neeto-ui-shadow-none neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none",
|
|
16
|
+
"data-cy": "help-button",
|
|
17
|
+
ref: ref
|
|
18
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
19
|
+
className: "neeto-molecules-sidebar__link-icon neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center"
|
|
20
|
+
}, /*#__PURE__*/React.createElement(Help, {
|
|
21
|
+
size: 24
|
|
22
|
+
}), isPresent(changesCount) && /*#__PURE__*/React.createElement("span", {
|
|
23
|
+
className: "neeto-molecules-sidebar__notif-count",
|
|
24
|
+
"data-testid": "help-icon-changes-count"
|
|
25
|
+
}, changesCount)), /*#__PURE__*/React.createElement(Typography, {
|
|
26
|
+
className: "neeto-molecules-sidebar__link-label",
|
|
27
|
+
component: "span",
|
|
28
|
+
style: "body2",
|
|
29
|
+
weight: "normal"
|
|
30
|
+
}, t("neetoMolecules.sidebar.helpLinks.helpCenter")));
|
|
31
|
+
};
|
|
32
|
+
export default /*#__PURE__*/forwardRef(HelpSection);
|
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
|
+
var _excluded = ["label", "to", "icon", "items"],
|
|
6
|
+
_excluded2 = ["label", "to", "count", "dataCy"];
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
import React, { useState } from "react";
|
|
10
|
+
import classnames from "classnames";
|
|
11
|
+
import { globalProps } from "@bigbinary/neeto-commons-frontend/initializers";
|
|
12
|
+
import { isNotPresent } from "@bigbinary/neeto-commons-frontend/pure";
|
|
13
|
+
import { Down } from "@bigbinary/neeto-icons";
|
|
14
|
+
import { Typography } from "@bigbinary/neetoui";
|
|
15
|
+
import { __, curry, includes, is, not } from "ramda";
|
|
16
|
+
import { NavLink, useLocation } from "react-router-dom";
|
|
17
|
+
import { isSubRouteActive } from "./utils";
|
|
18
|
+
var Links = function Links(_ref) {
|
|
19
|
+
var navLinks = _ref.navLinks;
|
|
20
|
+
var location = useLocation();
|
|
21
|
+
var _useState = useState(true),
|
|
22
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
23
|
+
isActiveLinkExpanded = _useState2[0],
|
|
24
|
+
setIsActiveLinkExpanded = _useState2[1];
|
|
25
|
+
var filterByPermissions = curry(function (_ref2) {
|
|
26
|
+
var permissions = _ref2.permissions;
|
|
27
|
+
if (permissions) {
|
|
28
|
+
return is(Array, permissions) ? permissions.some(includes(__, globalProps.permissions)) : globalProps.permissions.includes(permissions);
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
});
|
|
32
|
+
var handleNavLinkClick = function handleNavLinkClick(event, isActive, items) {
|
|
33
|
+
if (isNotPresent(items)) return;
|
|
34
|
+
if (isActive()) {
|
|
35
|
+
setIsActiveLinkExpanded(not);
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
setIsActiveLinkExpanded(true);
|
|
40
|
+
};
|
|
41
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
className: "neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable"
|
|
43
|
+
}, navLinks.filter(filterByPermissions).map(function (_ref3, mainIndex) {
|
|
44
|
+
var label = _ref3.label,
|
|
45
|
+
to = _ref3.to,
|
|
46
|
+
icon = _ref3.icon,
|
|
47
|
+
items = _ref3.items,
|
|
48
|
+
otherProps = _objectWithoutProperties(_ref3, _excluded);
|
|
49
|
+
var IconSVG = icon;
|
|
50
|
+
var url = new URL(to, window.location.href);
|
|
51
|
+
var isActive = function isActive() {
|
|
52
|
+
return is(Function, otherProps.isActive) ? otherProps.isActive() : location.pathname.startsWith(url.pathname);
|
|
53
|
+
};
|
|
54
|
+
var isMenuExpanded = isActive() && isActiveLinkExpanded;
|
|
55
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
56
|
+
key: mainIndex
|
|
57
|
+
}, /*#__PURE__*/React.createElement(NavLink, _extends({
|
|
58
|
+
activeClassName: "active",
|
|
59
|
+
className: "neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link",
|
|
60
|
+
onClick: function onClick(event) {
|
|
61
|
+
return handleNavLinkClick(event, isActive, items);
|
|
62
|
+
}
|
|
63
|
+
}, _objectSpread({
|
|
64
|
+
isActive: isActive,
|
|
65
|
+
to: to
|
|
66
|
+
}, otherProps)), icon && /*#__PURE__*/React.createElement("span", {
|
|
67
|
+
className: "neeto-molecules-sidebar__link-icon",
|
|
68
|
+
"data-testid": label
|
|
69
|
+
}, /*#__PURE__*/React.createElement(IconSVG, null)), /*#__PURE__*/React.createElement(Typography, {
|
|
70
|
+
className: "neeto-molecules-sidebar__link-label",
|
|
71
|
+
component: "span",
|
|
72
|
+
style: "body2",
|
|
73
|
+
weight: "normal"
|
|
74
|
+
}, label), items && /*#__PURE__*/React.createElement("span", {
|
|
75
|
+
className: classnames("neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret", {
|
|
76
|
+
"neeto-molecules-sidebar__link-icon--rotate": isMenuExpanded
|
|
77
|
+
})
|
|
78
|
+
}, /*#__PURE__*/React.createElement(Down, {
|
|
79
|
+
size: 16
|
|
80
|
+
}))), items && isMenuExpanded && /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: "neeto-molecules-sidebar__sublink-wrapper",
|
|
82
|
+
"data-cy": "sidebar-sub-link-wrapper"
|
|
83
|
+
}, items.filter(filterByPermissions).map(function (_ref4, subIndex) {
|
|
84
|
+
var subLabel = _ref4.label,
|
|
85
|
+
subRoute = _ref4.to,
|
|
86
|
+
count = _ref4.count,
|
|
87
|
+
dataCy = _ref4.dataCy,
|
|
88
|
+
otherProps = _objectWithoutProperties(_ref4, _excluded2);
|
|
89
|
+
return /*#__PURE__*/React.createElement(NavLink, _extends({
|
|
90
|
+
activeClassName: "active",
|
|
91
|
+
className: "neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none",
|
|
92
|
+
"data-cy": "".concat(dataCy, "-sub-link"),
|
|
93
|
+
isActive: function isActive() {
|
|
94
|
+
return isSubRouteActive(subRoute, location);
|
|
95
|
+
},
|
|
96
|
+
key: subIndex,
|
|
97
|
+
to: subRoute
|
|
98
|
+
}, otherProps), /*#__PURE__*/React.createElement(Typography, {
|
|
99
|
+
className: "neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow",
|
|
100
|
+
component: "span",
|
|
101
|
+
"data-cy": "".concat(dataCy, "-sub-link-label"),
|
|
102
|
+
style: "body2"
|
|
103
|
+
}, subLabel), /*#__PURE__*/React.createElement(Typography, {
|
|
104
|
+
className: "neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0",
|
|
105
|
+
component: "span",
|
|
106
|
+
"data-cy": "".concat(dataCy, "-sub-link-count"),
|
|
107
|
+
style: "body2"
|
|
108
|
+
}, count > 999 ? "999+" : count));
|
|
109
|
+
})));
|
|
110
|
+
}));
|
|
111
|
+
};
|
|
112
|
+
export default Links;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Tooltip } from "@bigbinary/neetoui";
|
|
3
|
+
import FeaturedTooltip from "./FeaturedTooltip";
|
|
4
|
+
var NavIconWrapper = function NavIconWrapper(_ref) {
|
|
5
|
+
var description = _ref.description,
|
|
6
|
+
label = _ref.label,
|
|
7
|
+
children = _ref.children;
|
|
8
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
9
|
+
className: "sidebar-featured-tooltip__content",
|
|
10
|
+
content: /*#__PURE__*/React.createElement(FeaturedTooltip, {
|
|
11
|
+
description: description,
|
|
12
|
+
label: label
|
|
13
|
+
}),
|
|
14
|
+
delay: [400, 40],
|
|
15
|
+
distance: "20rem",
|
|
16
|
+
duration: [200, 200],
|
|
17
|
+
position: "right"
|
|
18
|
+
}, children);
|
|
19
|
+
};
|
|
20
|
+
export default NavIconWrapper;
|
|
@@ -0,0 +1,36 @@
|
|
|
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 = ["onClick", "label", "icon"];
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { Button } from "@bigbinary/neetoui";
|
|
9
|
+
import "../sidebar.scss";
|
|
10
|
+
var LinkSection = function LinkSection(_ref) {
|
|
11
|
+
var links = _ref.links;
|
|
12
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
13
|
+
className: "neeto-molecules-profile-sublist"
|
|
14
|
+
}, links.map(function (_ref2, idx) {
|
|
15
|
+
var onClick = _ref2.onClick,
|
|
16
|
+
label = _ref2.label,
|
|
17
|
+
_ref2$icon = _ref2.icon,
|
|
18
|
+
icon = _ref2$icon === void 0 ? null : _ref2$icon,
|
|
19
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded);
|
|
20
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
21
|
+
className: "neeto-molecules-profile-sublist__item",
|
|
22
|
+
key: idx
|
|
23
|
+
}, /*#__PURE__*/React.createElement(Button, _extends({
|
|
24
|
+
fullWidth: true,
|
|
25
|
+
className: "neeto-molecules-profile-sublist__item-btn",
|
|
26
|
+
iconPosition: "left",
|
|
27
|
+
iconSize: 18,
|
|
28
|
+
style: "text"
|
|
29
|
+
}, _objectSpread({
|
|
30
|
+
icon: icon,
|
|
31
|
+
label: label,
|
|
32
|
+
onClick: onClick
|
|
33
|
+
}, otherProps))));
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
export default LinkSection;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
import { truncate } from "@bigbinary/neeto-commons-frontend/pure";
|
|
5
|
+
import { Avatar, Typography } from "@bigbinary/neetoui";
|
|
6
|
+
import LinkSection from "./LinkSection";
|
|
7
|
+
import "../sidebar.scss";
|
|
8
|
+
var ProfileMenu = function ProfileMenu(_ref) {
|
|
9
|
+
var profileInfo = _ref.profileInfo,
|
|
10
|
+
extraTopLinks = _ref.extraTopLinks;
|
|
11
|
+
var name = profileInfo.name,
|
|
12
|
+
email = profileInfo.email,
|
|
13
|
+
topLinks = profileInfo.topLinks,
|
|
14
|
+
bottomLinks = profileInfo.bottomLinks,
|
|
15
|
+
customContent = profileInfo.customContent;
|
|
16
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
17
|
+
className: "neeto-ui-flex neeto-ui-flex-col neeto-molecules-profile-popup",
|
|
18
|
+
"data-cy": "profile-popup",
|
|
19
|
+
"data-testid": "profile-popup"
|
|
20
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
className: classnames("neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-100 neeto-molecules-profile-popup__top-section")
|
|
22
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
className: "top-0 left-0"
|
|
24
|
+
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
25
|
+
size: "large",
|
|
26
|
+
user: profileInfo
|
|
27
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3"
|
|
29
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
30
|
+
className: "neeto-ui-m-0",
|
|
31
|
+
component: "h2",
|
|
32
|
+
lineHeight: "tight",
|
|
33
|
+
style: "h5",
|
|
34
|
+
title: name,
|
|
35
|
+
weight: "semibold"
|
|
36
|
+
}, truncate(name, 18)), email && /*#__PURE__*/React.createElement(Typography, {
|
|
37
|
+
className: "neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700",
|
|
38
|
+
lineHeight: "tight",
|
|
39
|
+
style: "body3"
|
|
40
|
+
}, email))), /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: "neeto-molecules-sidebar__profile-wrapper-custom-content"
|
|
42
|
+
}, customContent), topLinks && /*#__PURE__*/React.createElement(LinkSection, {
|
|
43
|
+
links: [].concat(_toConsumableArray(extraTopLinks), _toConsumableArray(topLinks))
|
|
44
|
+
}), bottomLinks && /*#__PURE__*/React.createElement(LinkSection, {
|
|
45
|
+
links: bottomLinks
|
|
46
|
+
}));
|
|
47
|
+
};
|
|
48
|
+
export default ProfileMenu;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import React, { forwardRef, useState } from "react";
|
|
3
|
+
import { truncate } from "@bigbinary/neeto-commons-frontend/pure";
|
|
4
|
+
import { useFetchNeetoApps } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
5
|
+
import { Avatar, Typography, Spinner } from "@bigbinary/neetoui";
|
|
6
|
+
import "../sidebar.scss";
|
|
7
|
+
var ProfileSection = function ProfileSection(_ref, ref) {
|
|
8
|
+
var profileInfo = _ref.profileInfo;
|
|
9
|
+
var _useState = useState(false),
|
|
10
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11
|
+
hasHovered = _useState2[0],
|
|
12
|
+
setHasHovered = _useState2[1];
|
|
13
|
+
var _useFetchNeetoApps = useFetchNeetoApps(),
|
|
14
|
+
refetchNeetoApps = _useFetchNeetoApps.refetch,
|
|
15
|
+
isLoading = _useFetchNeetoApps.isLoading,
|
|
16
|
+
isStale = _useFetchNeetoApps.isStale;
|
|
17
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
18
|
+
className: "neeto-molecules-sidebar__link neeto-molecules-sidebar__link--button neeto-ui-shadow-none neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none",
|
|
19
|
+
"data-cy": "profile-section",
|
|
20
|
+
"data-testid": "profile-section",
|
|
21
|
+
ref: ref,
|
|
22
|
+
onMouseEnter: function onMouseEnter() {
|
|
23
|
+
if (!hasHovered && isStale) {
|
|
24
|
+
refetchNeetoApps();
|
|
25
|
+
setHasHovered(true);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}, isLoading && hasHovered ? /*#__PURE__*/React.createElement("span", {
|
|
29
|
+
"data-testid": "profile-avatar-loader"
|
|
30
|
+
}, /*#__PURE__*/React.createElement(Spinner, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Avatar, {
|
|
31
|
+
className: "neeto-ui-flex-shrink-0 neeto-molecules-sidebar__profile-avatar",
|
|
32
|
+
"data-testid": "profile-avatar",
|
|
33
|
+
size: "small",
|
|
34
|
+
user: profileInfo
|
|
35
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
36
|
+
className: "neeto-molecules-sidebar__link-label",
|
|
37
|
+
component: "span",
|
|
38
|
+
style: "body2",
|
|
39
|
+
weight: "normal"
|
|
40
|
+
}, truncate(profileInfo.name, 18))));
|
|
41
|
+
};
|
|
42
|
+
export default /*#__PURE__*/forwardRef(ProfileSection);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { t } from "i18next";
|
|
2
|
+
import { Book, Keyboard, Gift, ChatEmpty } from "@bigbinary/neeto-icons";
|
|
3
|
+
import { toLower } from "ramda";
|
|
4
|
+
export var MY_PROFILE_URL = "/auth/profile/edit";
|
|
5
|
+
export var MY_ORGANIZATION_URL = "/auth/organization/edit";
|
|
6
|
+
export var CHANGELOG_WIDGET_TRIGGER_ID = "neetochangelog-trigger";
|
|
7
|
+
export var PRODUCT_LOGO_WIDTH = 40;
|
|
8
|
+
export var PRODUCT_LOGO_HEIGHT = 40;
|
|
9
|
+
export var DEFAULT_HELP_LINK_PROPS = {
|
|
10
|
+
liveChatProps: {
|
|
11
|
+
label: t("neetoMolecules.sidebar.helpLinks.liveChat"),
|
|
12
|
+
icon: ChatEmpty,
|
|
13
|
+
"data-cy": "help-link-live-chat-button",
|
|
14
|
+
onClick: function onClick() {
|
|
15
|
+
var _window$NeetoChat, _window$NeetoChat$con, _window$NeetoChat2, _window$NeetoChat2$co;
|
|
16
|
+
(_window$NeetoChat = window.NeetoChat) === null || _window$NeetoChat === void 0 ? void 0 : (_window$NeetoChat$con = _window$NeetoChat.contextualHelp) === null || _window$NeetoChat$con === void 0 ? void 0 : _window$NeetoChat$con.maximizeWidget();
|
|
17
|
+
(_window$NeetoChat2 = window.NeetoChat) === null || _window$NeetoChat2 === void 0 ? void 0 : (_window$NeetoChat2$co = _window$NeetoChat2.contextualHelp) === null || _window$NeetoChat2$co === void 0 ? void 0 : _window$NeetoChat2$co.openWidget();
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
helpCenterProps: {
|
|
21
|
+
label: t("neetoMolecules.sidebar.helpLinks.helpArticles"),
|
|
22
|
+
icon: Book,
|
|
23
|
+
"data-cy": "help-link-help-center-button",
|
|
24
|
+
href: "https://help.".concat(toLower(globalProps.appName), ".com/"),
|
|
25
|
+
target: "_blank"
|
|
26
|
+
},
|
|
27
|
+
changelogProps: {
|
|
28
|
+
id: CHANGELOG_WIDGET_TRIGGER_ID,
|
|
29
|
+
label: t("neetoMolecules.sidebar.helpLinks.whatsNew"),
|
|
30
|
+
icon: Gift,
|
|
31
|
+
"data-cy": "help-link-changelog-button"
|
|
32
|
+
},
|
|
33
|
+
keyboardShortcutProps: {
|
|
34
|
+
label: t("neetoMolecules.sidebar.helpLinks.keyboardShortcuts"),
|
|
35
|
+
icon: Keyboard,
|
|
36
|
+
"data-cy": "help-link-keyboard-shortcut-button"
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export var QUERY_CACHE_KEY = "queryCache";
|
|
40
|
+
export var NEETO_APPS_QUERY_KEY = "neeto-apps-list";
|