@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -52
- package/dist/Breadcrumbs.js +16 -19
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BrowserSupport.js +41 -138
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/Builder.js +207 -364
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +40 -288
- package/dist/CalendarView.js.map +1 -1
- package/dist/Chevron-c639aa31.js +190 -0
- package/dist/Chevron-c639aa31.js.map +1 -0
- package/dist/Codeblock.js +26 -209
- package/dist/Codeblock.js.map +1 -1
- package/dist/Columns.js +16 -240
- package/dist/Columns.js.map +1 -1
- package/dist/ConfigurePageSidebar.js +97 -0
- package/dist/ConfigurePageSidebar.js.map +1 -0
- package/dist/ConfirmationModal.js +10 -10
- package/dist/ConfirmationModal.js.map +1 -1
- package/dist/Container.js +5 -1187
- package/dist/Container.js.map +1 -1
- package/dist/CopyToClipboardButton.js +26 -155
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/Currency.js +912 -0
- package/dist/Currency.js.map +1 -0
- package/dist/CustomDomain.js +37 -633
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +69 -2192
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/DateFormat.js +6 -20
- package/dist/DateFormat.js.map +1 -1
- package/dist/DateRangeFilter.js +22 -77
- package/dist/DateRangeFilter.js.map +1 -1
- package/dist/DeleteArchiveModal.js +86 -0
- package/dist/DeleteArchiveModal.js.map +1 -0
- package/dist/DocumentEditor.js +43 -133
- package/dist/DocumentEditor.js.map +1 -1
- package/dist/DownloadMobileAppCallout.js +4 -4
- package/dist/DownloadMobileAppCallout.js.map +1 -1
- package/dist/DynamicVariables.js +12 -95
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +79 -1741
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +32 -1213
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js +106 -0
- package/dist/EmojiPicker.js.map +1 -0
- package/dist/EmojiReactions.js +69 -0
- package/dist/EmojiReactions.js.map +1 -0
- package/dist/ErrorPage.js +17 -26
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FloatingActionMenu.js +646 -0
- package/dist/FloatingActionMenu.js.map +1 -0
- package/dist/Header.js +45 -117
- package/dist/Header.js.map +1 -1
- package/dist/HelpPopover.js +73 -0
- package/dist/HelpPopover.js.map +1 -0
- package/dist/IconPicker.js +36 -129
- package/dist/IconPicker.js.map +1 -1
- package/dist/ImageWithFallback.js +8 -144
- package/dist/ImageWithFallback.js.map +1 -1
- package/dist/InlineInput.js +25 -528
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +305 -0
- package/dist/Insights.js.map +1 -0
- package/dist/IntegrationCard.js +42 -226
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IntegrationDisconnectAlert.js +6 -48
- package/dist/IntegrationDisconnectAlert.js.map +1 -1
- package/dist/IntegrationWalkthroughModal.js +10 -10
- package/dist/IntegrationWalkthroughModal.js.map +1 -1
- package/dist/IpRestriction.js +74 -221
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +38 -128
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +44 -463
- package/dist/LoginPage.js.map +1 -1
- package/dist/MadeWith.js +32 -0
- package/dist/MadeWith.js.map +1 -0
- package/dist/MenuBar.js +34 -1295
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js +65 -86
- package/dist/Metadata.js.map +1 -1
- package/dist/MoreDropdown.js +48 -107
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +62 -733
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +148 -316
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +204 -0
- package/dist/Onboarding.js.map +1 -0
- package/dist/OptionFields.js +507 -0
- package/dist/OptionFields.js.map +1 -0
- package/dist/PageLoader.js +9 -112
- package/dist/PageLoader.js.map +1 -1
- package/dist/PhoneNumber.js +122 -201
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/ProductEmbed.js +767 -0
- package/dist/ProductEmbed.js.map +1 -0
- package/dist/PublishBlock.js +19 -60
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +52 -0
- package/dist/PublishYourItem.js.map +1 -0
- package/dist/Rename.js +127 -394
- package/dist/Rename.js.map +1 -1
- package/dist/ResponsiveDevicePicker.js +8 -144
- package/dist/ResponsiveDevicePicker.js.map +1 -1
- package/dist/Schedule.js +134 -389
- package/dist/Schedule.js.map +1 -1
- package/dist/Scrollable.js +6 -89
- package/dist/Scrollable.js.map +1 -1
- package/dist/Search.js +54 -157
- package/dist/Search.js.map +1 -1
- package/dist/Security.js +72 -1567
- package/dist/Security.js.map +1 -1
- package/dist/SendToFields.js +51 -133
- package/dist/SendToFields.js.map +1 -1
- package/dist/Settings.js +141 -412
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +189 -0
- package/dist/ShareRecordingPane.js.map +1 -0
- package/dist/ShareViaEmail.js +126 -551
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js +127 -345
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +161 -758
- package/dist/Sidebar.js.map +1 -1
- package/dist/StickyRibbonsContainer.js +81 -0
- package/dist/StickyRibbonsContainer.js.map +1 -0
- package/dist/SubHeader.js +63 -108
- package/dist/SubHeader.js.map +1 -1
- package/dist/SuffixedInput.js +105 -0
- package/dist/SuffixedInput.js.map +1 -0
- package/dist/TableWrapper.js +8 -9
- package/dist/TableWrapper.js.map +1 -1
- package/dist/Taxonomy.js +112 -1774
- package/dist/Taxonomy.js.map +1 -1
- package/dist/ThemeSidebar.js +168 -784
- package/dist/ThemeSidebar.js.map +1 -1
- package/dist/TimeFormat.js +8 -44
- package/dist/TimeFormat.js.map +1 -1
- package/dist/TimezoneMismatchModal.js +49 -84
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/ToggleFeatureCard.js +46 -169
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/Breadcrumbs.js +49 -0
- package/dist/cjs/Breadcrumbs.js.map +1 -0
- package/dist/cjs/BrowserSupport.js +332 -0
- package/dist/cjs/BrowserSupport.js.map +1 -0
- package/dist/cjs/Builder.js +560 -0
- package/dist/cjs/Builder.js.map +1 -0
- package/dist/cjs/CalendarView.js +303 -0
- package/dist/cjs/CalendarView.js.map +1 -0
- package/dist/cjs/Chevron-5fe59f57.js +206 -0
- package/dist/cjs/Chevron-5fe59f57.js.map +1 -0
- package/dist/cjs/Codeblock.js +59 -0
- package/dist/cjs/Codeblock.js.map +1 -0
- package/dist/cjs/Columns.js +31 -0
- package/dist/cjs/Columns.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +105 -0
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
- package/dist/cjs/ConfirmationModal.js +120 -0
- package/dist/cjs/ConfirmationModal.js.map +1 -0
- package/dist/cjs/Container.js +36 -0
- package/dist/cjs/Container.js.map +1 -0
- package/dist/cjs/CopyToClipboardButton.js +90 -0
- package/dist/cjs/CopyToClipboardButton.js.map +1 -0
- package/dist/cjs/Currency.js +923 -0
- package/dist/cjs/Currency.js.map +1 -0
- package/dist/cjs/CustomDomain.js +126 -0
- package/dist/cjs/CustomDomain.js.map +1 -0
- package/dist/cjs/CustomDomainDashboard.js +202 -0
- package/dist/cjs/CustomDomainDashboard.js.map +1 -0
- package/dist/cjs/DateFormat.js +41 -0
- package/dist/cjs/DateFormat.js.map +1 -0
- package/dist/cjs/DateRangeFilter.js +183 -0
- package/dist/cjs/DateRangeFilter.js.map +1 -0
- package/dist/cjs/DeleteArchiveModal.js +93 -0
- package/dist/cjs/DeleteArchiveModal.js.map +1 -0
- package/dist/cjs/DocumentEditor.js +197 -0
- package/dist/cjs/DocumentEditor.js.map +1 -0
- package/dist/cjs/DownloadMobileAppCallout.js +45 -0
- package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
- package/dist/cjs/DynamicVariables.js +109 -0
- package/dist/cjs/DynamicVariables.js.map +1 -0
- package/dist/cjs/EmailForm.js +397 -0
- package/dist/cjs/EmailForm.js.map +1 -0
- package/dist/cjs/EmailPreview.js +139 -0
- package/dist/cjs/EmailPreview.js.map +1 -0
- package/dist/cjs/EmojiPicker.js +115 -0
- package/dist/cjs/EmojiPicker.js.map +1 -0
- package/dist/cjs/EmojiReactions.js +77 -0
- package/dist/cjs/EmojiReactions.js.map +1 -0
- package/dist/cjs/ErrorPage.js +180 -0
- package/dist/cjs/ErrorPage.js.map +1 -0
- package/dist/cjs/FloatingActionMenu.js +680 -0
- package/dist/cjs/FloatingActionMenu.js.map +1 -0
- package/dist/cjs/Header.js +107 -0
- package/dist/cjs/Header.js.map +1 -0
- package/dist/cjs/HelpPopover.js +82 -0
- package/dist/cjs/HelpPopover.js.map +1 -0
- package/dist/cjs/IconPicker.js +231 -0
- package/dist/cjs/IconPicker.js.map +1 -0
- package/dist/cjs/ImageWithFallback.js +56 -0
- package/dist/cjs/ImageWithFallback.js.map +1 -0
- package/dist/cjs/InlineInput.js +240 -0
- package/dist/cjs/InlineInput.js.map +1 -0
- package/dist/cjs/Insights.js +311 -0
- package/dist/cjs/Insights.js.map +1 -0
- package/dist/cjs/IntegrationCard.js +210 -0
- package/dist/cjs/IntegrationCard.js.map +1 -0
- package/dist/cjs/IntegrationDisconnectAlert.js +50 -0
- package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/cjs/IntegrationWalkthroughModal.js +51 -0
- package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/cjs/IpRestriction.js +527 -0
- package/dist/cjs/IpRestriction.js.map +1 -0
- package/dist/cjs/KeyboardShortcuts.js +284 -0
- package/dist/cjs/KeyboardShortcuts.js.map +1 -0
- package/dist/cjs/LoginPage.js +202 -0
- package/dist/cjs/LoginPage.js.map +1 -0
- package/dist/cjs/MadeWith.js +40 -0
- package/dist/cjs/MadeWith.js.map +1 -0
- package/dist/cjs/MenuBar.js +211 -0
- package/dist/cjs/MenuBar.js.map +1 -0
- package/dist/cjs/Metadata.js +196 -0
- package/dist/cjs/Metadata.js.map +1 -0
- package/dist/cjs/MoreDropdown.js +155 -0
- package/dist/cjs/MoreDropdown.js.map +1 -0
- package/dist/cjs/NavigationHeader.js +187 -0
- package/dist/cjs/NavigationHeader.js.map +1 -0
- package/dist/cjs/NeetoWidget.js +915 -0
- package/dist/cjs/NeetoWidget.js.map +1 -0
- package/dist/cjs/Onboarding.js +216 -0
- package/dist/cjs/Onboarding.js.map +1 -0
- package/dist/cjs/OptionFields.js +518 -0
- package/dist/cjs/OptionFields.js.map +1 -0
- package/dist/cjs/PageLoader.js +40 -0
- package/dist/cjs/PageLoader.js.map +1 -0
- package/dist/cjs/PhoneNumber.js +367 -0
- package/dist/cjs/PhoneNumber.js.map +1 -0
- package/dist/cjs/ProductEmbed.js +777 -0
- package/dist/cjs/ProductEmbed.js.map +1 -0
- package/dist/cjs/PublishBlock.js +127 -0
- package/dist/cjs/PublishBlock.js.map +1 -0
- package/dist/cjs/PublishYourItem.js +59 -0
- package/dist/cjs/PublishYourItem.js.map +1 -0
- package/dist/cjs/Rename.js +354 -0
- package/dist/cjs/Rename.js.map +1 -0
- package/dist/cjs/ResponsiveDevicePicker.js +68 -0
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/Schedule.js +874 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/Scrollable.js +49 -0
- package/dist/cjs/Scrollable.js.map +1 -0
- package/dist/cjs/Search.js +121 -0
- package/dist/cjs/Search.js.map +1 -0
- package/dist/cjs/Security.js +379 -0
- package/dist/cjs/Security.js.map +1 -0
- package/dist/cjs/SendToFields.js +275 -0
- package/dist/cjs/SendToFields.js.map +1 -0
- package/dist/cjs/Settings.js +217 -0
- package/dist/cjs/Settings.js.map +1 -0
- package/dist/cjs/ShareRecordingPane.js +199 -0
- package/dist/cjs/ShareRecordingPane.js.map +1 -0
- package/dist/cjs/ShareViaEmail.js +353 -0
- package/dist/cjs/ShareViaEmail.js.map +1 -0
- package/dist/cjs/ShareViaLink.js +508 -0
- package/dist/cjs/ShareViaLink.js.map +1 -0
- package/dist/cjs/Sidebar.js +292 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/StickyRibbonsContainer.js +90 -0
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -0
- package/dist/cjs/SubHeader.js +181 -0
- package/dist/cjs/SubHeader.js.map +1 -0
- package/dist/cjs/SuffixedInput.js +114 -0
- package/dist/cjs/SuffixedInput.js.map +1 -0
- package/dist/cjs/TableWrapper.js +32 -0
- package/dist/cjs/TableWrapper.js.map +1 -0
- package/dist/cjs/Taxonomy.js +445 -0
- package/dist/cjs/Taxonomy.js.map +1 -0
- package/dist/cjs/ThemeSidebar.js +1443 -0
- package/dist/cjs/ThemeSidebar.js.map +1 -0
- package/dist/cjs/TimeFormat.js +15 -0
- package/dist/cjs/TimeFormat.js.map +1 -0
- package/dist/cjs/TimezoneMismatchModal.js +144 -0
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
- package/dist/cjs/ToggleFeatureCard.js +213 -0
- package/dist/cjs/ToggleFeatureCard.js.map +1 -0
- package/dist/cjs/index-248c4f4c.js +1186 -0
- package/dist/cjs/index-248c4f4c.js.map +1 -0
- package/dist/cjs/index-7db1772e.js +544 -0
- package/dist/cjs/index-7db1772e.js.map +1 -0
- package/dist/cjs/inject-css-80a5faa3.js +6 -0
- package/dist/cjs/inject-css-80a5faa3.js.map +1 -0
- package/dist/cjs/useColumns-9978cf70.js +275 -0
- package/dist/cjs/useColumns-9978cf70.js.map +1 -0
- package/dist/index-7d311b7a.js +509 -0
- package/dist/index-7d311b7a.js.map +1 -0
- package/dist/index-e5588516.js +1184 -0
- package/dist/index-e5588516.js.map +1 -0
- package/dist/inject-css-c86de496.js +4 -0
- package/dist/inject-css-c86de496.js.map +1 -0
- package/dist/useColumns-751e9192.js +258 -0
- package/dist/useColumns-751e9192.js.map +1 -0
- package/package.json +30 -19
- package/src/translations/de.json +7 -0
- package/src/translations/en.json +191 -31
- package/src/translations/es.json +7 -0
- package/src/translations/fr.json +7 -0
- package/src/translations/nl.json +7 -0
- package/src/translations/pl.json +7 -0
- package/src/translations/pt.json +7 -0
- package/types/Breadcrumbs.d.ts +1 -0
- package/types/Builder.d.ts +61 -12
- package/types/Columns.d.ts +112 -5
- package/types/ConfigurePageSidebar.d.ts +43 -0
- package/types/CopyToClipboardButton.d.ts +3 -0
- package/types/Currency.d.ts +48 -0
- package/types/CustomDomain.d.ts +2 -0
- package/types/CustomDomainDashboard.d.ts +14 -0
- package/types/DateRangeFilter.d.ts +2 -0
- package/types/DeleteArchiveModal.d.ts +60 -0
- package/types/EmailForm.d.ts +1 -1
- package/types/EmojiPicker.d.ts +33 -0
- package/types/EmojiReactions.d.ts +60 -0
- package/types/ErrorPage.d.ts +1 -0
- package/types/FloatingActionMenu.d.ts +56 -0
- package/types/Header.d.ts +2 -1
- package/types/HelpPopover.d.ts +42 -0
- package/types/Insights.d.ts +108 -0
- package/types/IntegrationCard.d.ts +2 -0
- package/types/KeyboardShortcuts.d.ts +2 -2
- package/types/MadeWith.d.ts +16 -0
- package/types/MoreDropdown.d.ts +4 -1
- package/types/NavigationHeader.d.ts +3 -1
- package/types/Onboarding.d.ts +65 -0
- package/types/OptionFields.d.ts +63 -0
- package/types/PhoneNumber.d.ts +6 -2
- package/types/ProductEmbed.d.ts +87 -0
- package/types/Rename.d.ts +4 -1
- package/types/Schedule.d.ts +2 -0
- package/types/Search.d.ts +2 -0
- package/types/Settings.d.ts +13 -10
- package/types/ShareRecordingPane.d.ts +50 -0
- package/types/ShareViaLink.d.ts +15 -4
- package/types/Sidebar.d.ts +16 -32
- package/types/StickyRibbonsContainer.d.ts +26 -0
- package/types/SubHeader.d.ts +0 -1
- package/types/SuffixedInput.d.ts +43 -0
- package/types/ToggleFeatureCard.d.ts +8 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareViaLink.js","sources":["../../src/components/ShareViaLink/utils.js","../../src/components/ShareViaLink/constants.js","../../src/components/ShareViaLink/EditURL.jsx","../../src/components/ShareViaLink/RegenerateURL.jsx","../../src/components/ShareViaLink/Link.jsx","../../src/components/ShareViaLink/QRCode.jsx","../../src/components/ShareViaLink/ShareBlock.jsx","../../src/components/ShareViaLink/index.jsx"],"sourcesContent":["import { buildUrl } from \"neetocommons/utils/general\";\n\nimport { MAX_PREFIX_SIZE } from \"./constants\";\n\nexport const facebookShareLink = ({ id }) =>\n buildUrl(\"https://www.facebook.com/sharer/sharer.php\", {\n u: `https://${window.location.host}/${id}`,\n });\n\nexport const linkedInShareLink = ({ id, title }) =>\n buildUrl(\"https://www.linkedin.com/shareArticle\", {\n mini: true,\n url: `https://${window.location.host}/${id}`,\n title,\n });\n\nexport const twitterShareLink = ({ id, title }) =>\n buildUrl(\"http://twitter.com/share\", {\n text: title,\n url: `https://${window.location.host}/${id}`,\n });\n\nexport const downloadCanvas = (canvas, options = {}) => {\n const { name = \"image\", extension = \"png\" } = options;\n\n const canvasUrl = canvas.toDataURL(`image/${extension}`);\n const element = document.createElement(\"a\");\n element.href = canvasUrl;\n element.download = `${name}.${extension}`;\n element.click();\n element.remove();\n};\n\nexport const getPathname = url => new URL(url).pathname.slice(1);\n\nexport const getPrefixFromUrl = url => `${new URL(url).origin}/`;\n\nexport const truncatePrefix = url =>\n url.length > MAX_PREFIX_SIZE ? `...${url.slice(-MAX_PREFIX_SIZE)}` : url;\n","import { t } from \"i18next\";\nimport { Facebook, Linkedin, Twitter } from \"neetoicons\";\nimport * as yup from \"yup\";\n\nimport {\n facebookShareLink,\n twitterShareLink,\n linkedInShareLink,\n} from \"./utils\";\n\nexport const SOCIAL_MEDIA_OPTIONS = {\n FACEBOOK: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.facebook\"),\n icon: Facebook,\n generateShareUrl: facebookShareLink,\n },\n LINKEDIN: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.linkedIn\"),\n icon: Linkedin,\n generateShareUrl: linkedInShareLink,\n },\n TWITTER: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.twitter\"),\n icon: Twitter,\n generateShareUrl: twitterShareLink,\n },\n};\n\nexport const PATH_VALIDATION_SCHEMA = yup.object().shape({\n path: yup\n .string()\n .required(t(\"neetoMolecules.shareViaLink.editUrl.validationError\"))\n .matches(\n /^[A-Za-z0-9]([\\w/-])*$/,\n t(\"neetoMolecules.shareViaLink.editUrl.validationError\")\n ),\n});\n\nexport const MAX_PREFIX_SIZE = 30;\n","import React, { useEffect, useRef } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { Typography, Pane } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PATH_VALIDATION_SCHEMA } from \"./constants\";\nimport \"./edit-url.scss\";\nimport { getPathname, getPrefixFromUrl, truncatePrefix } from \"./utils\";\n\nconst { Header, Body, Footer } = Pane;\n\nconst EditURL = ({\n editUrlProps,\n isOpen,\n onClose,\n url,\n isLoading,\n handleEdit,\n}) => {\n const { t } = useTranslation();\n\n const focusRef = useRef(null);\n const prevIsLoadingRef = useRef(isLoading);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n data-testid=\"edit-url-modal\"\n initialFocusRef={focusRef}\n size=\"large\"\n >\n <Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.editUrl.title\")}\n </Typography>\n </Header>\n <Formik\n enableReinitialize\n initialValues={{ path: editUrlProps?.editablePath || getPathname(url) }}\n validationSchema={PATH_VALIDATION_SCHEMA}\n onSubmit={({ path }) => handleEdit(path)}\n >\n {({ isSubmitting, dirty }) => (\n <Form>\n <Body className=\"space-y-6\">\n <Input\n className=\"no-padding w-full flex-grow-0\"\n data-testid=\"edit-url-input\"\n label={t(\"neetoMolecules.shareViaLink.editUrl.inputLabel\")}\n maxLength={editUrlProps?.maxLength}\n name=\"path\"\n ref={focusRef}\n prefix={truncatePrefix(\n editUrlProps?.prefix || getPrefixFromUrl(url)\n )}\n />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.editUrl.description\")}\n </Typography>\n </Body>\n <Footer className=\"space-x-2\">\n <ActionBlock\n className=\"flex items-center space-x-2\"\n cancelButtonProps={{\n onClick: onClose,\n disabled: isSubmitting,\n \"data-testid\": \"edit-url-cancel-button\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || !dirty,\n loading: isLoading,\n \"data-testid\": \"edit-url-confirm-button\",\n }}\n />\n </Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default EditURL;\n","import React, { useEffect, useRef } from \"react\";\n\nimport { Typography, Modal, Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RegenerateURL = ({\n isOpen,\n onClose,\n url,\n isLoading,\n handleRegenerate,\n}) => {\n const { t } = useTranslation();\n\n const prevIsLoadingRef = useRef(isLoading);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Modal {...{ isOpen, onClose }} data-testid=\"regenerate-url-modal\">\n <Modal.Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full space-y-6\">\n <Input\n disabled\n label={t(\"neetoMolecules.shareViaLink.regenerateUrl.inputLabel\")}\n value={url}\n />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.description\")}\n </Typography>\n </div>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-cy=\"regenerate-url-confirm-button\"\n data-testid=\"regenerate-url-confirm-button\"\n loading={isLoading}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel\"\n )}\n onClick={handleRegenerate}\n />\n <Button\n data-cy=\"regenerate-url-cancel-button\"\n data-testid=\"regenerate-url-cancel-button\"\n style=\"text\"\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel\"\n )}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default RegenerateURL;\n","import React, { useState } from \"react\";\n\nimport { ExternalLink } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport EditURL from \"./EditURL\";\nimport RegenerateURL from \"./RegenerateURL\";\n\nconst Link = ({\n editUrlProps,\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n previewUrl,\n url,\n}) => {\n const [isRegenerateURLModalOpen, setIsRegenerateURLModalOpen] =\n useState(false);\n const [isEditURLModalOpen, setIsEditURLModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;\n\n return (\n <div className=\"space-y-4\" data-cy=\"link-block\" data-testid=\"link-block\">\n <div className=\"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-1\">\n <div\n className=\"neeto-ui-rounded-md relative min-w-0 flex-grow truncate border p-2 leading-none\"\n data-cy=\"nui-input-field\"\n >\n {url}\n </div>\n <div className=\"flex w-full flex-shrink-0 items-center gap-1 sm:w-auto\">\n <CopyToClipboardButton\n data-cy=\"link-copy-button\"\n data-testid=\"link-copy-button\"\n label={t(\"neetoMolecules.shareViaLink.copyLink\")}\n value={url}\n />\n <Button\n data-cy=\"preview-button\"\n data-testid=\"preview-button\"\n href={previewUrl || url}\n icon={ExternalLink}\n style=\"secondary\"\n target=\"_blank\"\n tooltipProps={{\n content: t(\"neetoMolecules.shareViaLink.view\", {\n entity: entityName,\n }),\n position: \"top\",\n }}\n />\n {isDropdownEnabled && (\n <>\n <MoreDropdown\n menuItems={[\n {\n isVisible: enabledOptions.regenerate,\n \"data-testid\": \"regenerate-url-button\",\n \"data-cy\": \"regenerate-url-button\",\n onClick: () => setIsRegenerateURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.regenerateUrl.title\"),\n key: \"regenerate-url-option\",\n },\n {\n isVisible: enabledOptions.edit,\n \"data-testid\": \"edit-url-button\",\n \"data-cy\": \"edit-url-button\",\n onClick: () => setIsEditURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.editUrl.title\"),\n key: \"edit-url-option\",\n },\n ]}\n />\n <RegenerateURL\n {...{ handleRegenerate, isLoading, url }}\n isOpen={isRegenerateURLModalOpen}\n onClose={() => setIsRegenerateURLModalOpen(false)}\n />\n <EditURL\n {...{ editUrlProps, handleEdit, isLoading, url }}\n isOpen={isEditURLModalOpen}\n onClose={() => setIsEditURLModalOpen(false)}\n />\n </>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Link;\n","import React from \"react\";\n\nimport { slugify } from \"neetocist\";\nimport { Button, Typography } from \"neetoui\";\nimport QRCodeImage from \"qrcode.react\";\nimport { Trans } from \"react-i18next\";\n\nimport { downloadCanvas } from \"./utils\";\n\nconst QRCode = ({ entity, url }) => {\n if (!entity) return null;\n\n const { id, name } = entity;\n const canvasId = `qrcode-share-${id}`;\n\n const handleDownload = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) downloadCanvas(canvas, { name: slugify(name) });\n };\n\n return (\n <div\n className=\"flex flex-col justify-center space-y-2 py-3 pl-8 sm:space-y-4 sm:py-2 sm:pl-6\"\n data-cy=\"qr-download-block\"\n data-testid=\"qr-download-block\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\" weight=\"medium\">\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo\"\n components={{\n button: (\n <Button\n data-cy=\"qr-code-download-button\"\n data-testid=\"qr-code-download-button\"\n style=\"link\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n <QRCodeImage\n className=\"cursor-pointer\"\n data-cy=\"qr-code-image\"\n data-testid={canvasId}\n id={canvasId}\n size={256}\n style={{ width: 80, height: 80 }}\n value={url}\n onClick={handleDownload}\n />\n </div>\n );\n};\n\nexport default QRCode;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { SOCIAL_MEDIA_OPTIONS } from \"./constants\";\nimport QRCode from \"./QRCode\";\n\nconst ShareBlock = ({\n entity,\n postTitle,\n url,\n moreOptions,\n disableShareSocialMedia,\n disableQRDownload,\n}) => {\n const { t } = useTranslation();\n\n const socialMediaButtonClasses =\n \"neeto-ui-bg-gray-200 hover:neeto-ui-bg-gray-300 flex h-10 w-10 cursor-pointer items-center justify-center neeto-ui-rounded-md transition-colors duration-300 ease-in-out\";\n\n const hasMoreOptions = isPresent(moreOptions);\n\n return (\n <div className=\"flex flex-col divide-y sm:flex-row sm:gap-6 sm:divide-x sm:divide-y-0\">\n {hasMoreOptions && (\n <div className=\"divide-y\">\n {moreOptions.map(({ title, link, icon: Icon, onClick, dataCy }) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n {...{ onClick }}\n className=\"flex cursor-pointer items-center gap-x-2 py-3\"\n data-cy={dataCy}\n key={link}\n to={link}\n >\n <Icon className=\"neeto-ui-text-gray-500\" size={24} />\n <Typography\n className=\"group-hover:underline\"\n style=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n </Component>\n );\n })}\n </div>\n )}\n {!disableShareSocialMedia && (\n <div\n data-cy=\"social-media-block\"\n data-testid=\"social-media-block\"\n className={classnames(\"space-y-2 py-3 sm:space-y-4 sm:py-2\", {\n \"pl-8 sm:pl-6\": hasMoreOptions,\n })}\n >\n <Typography\n className=\"neeto-ui-text-gray-800\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")}\n </Typography>\n <div className=\"flex gap-4\">\n {Object.entries(SOCIAL_MEDIA_OPTIONS).map(\n ([key, { label, icon: Icon, generateShareUrl }]) => (\n <a\n className={socialMediaButtonClasses}\n data-cy={`social-media-button-${key}`}\n data-testid={`social-media-button-${key}`}\n href={generateShareUrl({ id: entity.id, title: postTitle })}\n key={key}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n title={label}\n >\n <Icon size={24} />\n </a>\n )\n )}\n </div>\n </div>\n )}\n {!disableQRDownload && <QRCode {...{ entity, url }} />}\n </div>\n );\n};\n\nexport default ShareBlock;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport LinkBlock from \"./Link\";\nimport ShareBlock from \"./ShareBlock\";\n\nconst ShareViaLink = ({\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n editUrlProps = { prefix: \"\", editablePath: \"\" },\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n previewUrl = \"\",\n socialMediaPostTitle,\n url,\n moreOptions,\n isOtherShareOptionsEnabled = true,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n}) => (\n <div\n className=\"neeto-ui-border-gray-400 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-bg-white col-span-2 space-y-4 border p-6 sm:p-8\"\n data-testid=\"share-via-link\"\n >\n <LinkBlock\n {...{\n editUrlProps,\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n previewUrl,\n url,\n }}\n />\n {isOtherShareOptionsEnabled && (\n <ShareBlock\n {...{\n disableQRDownload,\n disableShareSocialMedia,\n entity,\n moreOptions,\n url,\n }}\n postTitle={socialMediaPostTitle}\n />\n )}\n </div>\n);\n\nShareViaLink.propTypes = {\n /**\n * The boolean value to check if the link is being regenerated or updated.\n */\n isLoading: PropTypes.bool,\n /**\n * The props that are passed to the edit URL field. `Prefix` and `editablePath` decide which part of the URL is to be added in the prefix and which part is editable. Default values are taken from `url`.\n * `maxLength` decides if the entered URL should be limited to specified number of characters.\n */\n editUrlProps: PropTypes.shape({\n prefix: PropTypes.string,\n editablePath: PropTypes.string,\n maxLength: PropTypes.number,\n }),\n /**\n * An object which accepts two boolean values that decide if the dropdown options are hidden or not. If both are false, then the dropdown is hidden as well.\n */\n enabledOptions: PropTypes.shape({\n regenerate: PropTypes.bool,\n edit: PropTypes.bool,\n }),\n /**\n * The entity object for which the link is being shared.\n */\n entity: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n /**\n * The type of the entity for which the link is being shared.\n */\n entityName: PropTypes.string,\n /**\n * The function that is called when the Edit URL form is submitted. It returns the updated URL value.\n */\n handleEdit: PropTypes.func,\n /**\n * The function which makes the API call to regenerate the url.\n */\n handleRegenerate: PropTypes.func,\n /**\n * The url to be used for previewing the entity (optional).\n */\n previewUrl: PropTypes.string,\n /**\n * The title of the social media post.\n */\n socialMediaPostTitle: PropTypes.string,\n /**\n * The url to be shared.\n */\n url: PropTypes.string,\n /**\n * To share using alternative options\n */\n moreOptions: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n link: PropTypes.string,\n icon: PropTypes.elementType,\n onClick: PropTypes.func,\n dataCy: PropTypes.string,\n })\n ),\n /**\n * To show the extra share options\n */\n isOtherShareOptionsEnabled: PropTypes.bool,\n /**\n * To disable share social media section.\n */\n disableShareSocialMedia: PropTypes.bool,\n /**\n * To disable QR code download section.\n */\n disableQRDownload: PropTypes.bool,\n};\n\nexport default ShareViaLink;\n"],"names":["facebookShareLink","_ref","id","buildUrl","u","concat","window","location","host","linkedInShareLink","_ref2","title","mini","url","twitterShareLink","_ref3","text","downloadCanvas","canvas","options","arguments","length","undefined","_options$name","name","_options$extension","extension","canvasUrl","toDataURL","element","document","createElement","href","download","click","remove","getPathname","URL","pathname","slice","getPrefixFromUrl","origin","truncatePrefix","MAX_PREFIX_SIZE","SOCIAL_MEDIA_OPTIONS","FACEBOOK","label","t","icon","Facebook","generateShareUrl","LINKEDIN","Linkedin","TWITTER","Twitter","PATH_VALIDATION_SCHEMA","yup","object","shape","path","string","required","matches","Header","Pane","Body","Footer","EditURL","editUrlProps","isOpen","onClose","isLoading","handleEdit","_useTranslation","useTranslation","focusRef","useRef","prevIsLoadingRef","useEffect","current","React","initialFocusRef","size","Typography","lineHeight","style","weight","Formik","enableReinitialize","initialValues","editablePath","validationSchema","onSubmit","isSubmitting","dirty","Form","className","Input","maxLength","ref","prefix","ActionBlock","cancelButtonProps","onClick","disabled","submitButtonProps","loading","RegenerateURL","handleRegenerate","Modal","value","Button","Link","enabledOptions","entityName","previewUrl","_useState","useState","_useState2","_slicedToArray","isRegenerateURLModalOpen","setIsRegenerateURLModalOpen","_useState3","_useState4","isEditURLModalOpen","setIsEditURLModalOpen","isDropdownEnabled","regenerate","edit","CopyToClipboardButton","ExternalLink","target","tooltipProps","content","entity","position","Fragment","MoreDropdown","menuItems","isVisible","key","QRCode","canvasId","handleDownload","getElementById","slugify","Trans","i18nKey","components","button","QRCodeImage","width","height","ShareBlock","postTitle","moreOptions","disableShareSocialMedia","disableQRDownload","socialMediaButtonClasses","hasMoreOptions","isPresent","map","link","Icon","dataCy","Component","to","classnames","Object","entries","_ref4","_ref4$","rel","ShareViaLink","_ref$isLoading","_ref$enabledOptions","_ref$editUrlProps","_ref$handleEdit","noop","_ref$handleRegenerate","_ref$previewUrl","socialMediaPostTitle","_ref$isOtherShareOpti","isOtherShareOptionsEnabled","_ref$disableShareSoci","_ref$disableQRDownloa","LinkBlock"],"mappings":"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"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var classnames = require('classnames');
|
|
6
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
7
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
8
|
+
var useLocalStorage = require('@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage');
|
|
9
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
10
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
11
|
+
var ramda = require('ramda');
|
|
12
|
+
var reactI18next = require('react-i18next');
|
|
13
|
+
var reactRouterDom = require('react-router-dom');
|
|
14
|
+
var Chevron = require('./Chevron-5fe59f57.js');
|
|
15
|
+
var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
|
|
16
|
+
var ProductTypefaceLogos = require('@bigbinary/neeto-icons/typeface-logos');
|
|
17
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
18
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
19
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
20
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
21
|
+
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
22
|
+
require('@bigbinary/neeto-filters-frontend');
|
|
23
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
|
|
24
|
+
require('./inject-css-80a5faa3.js');
|
|
25
|
+
|
|
26
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
|
+
|
|
28
|
+
function _interopNamespace(e) {
|
|
29
|
+
if (e && e.__esModule) return e;
|
|
30
|
+
var n = Object.create(null);
|
|
31
|
+
if (e) {
|
|
32
|
+
Object.keys(e).forEach(function (k) {
|
|
33
|
+
if (k !== 'default') {
|
|
34
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
35
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return e[k]; }
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
n["default"] = e;
|
|
43
|
+
return Object.freeze(n);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
47
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
48
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
49
|
+
var useLocalStorage__default = /*#__PURE__*/_interopDefaultLegacy(useLocalStorage);
|
|
50
|
+
var useFetchNeetoApps__default = /*#__PURE__*/_interopDefaultLegacy(useFetchNeetoApps);
|
|
51
|
+
var ProductTypefaceLogos__namespace = /*#__PURE__*/_interopNamespace(ProductTypefaceLogos);
|
|
52
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
53
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
54
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
55
|
+
|
|
56
|
+
var Header = function Header(_ref) {
|
|
57
|
+
var _ProductTypefaceLogos;
|
|
58
|
+
var customLogo = _ref.customLogo,
|
|
59
|
+
clearSettingsNav = _ref.clearSettingsNav,
|
|
60
|
+
homePath = _ref.homePath;
|
|
61
|
+
var productName = globalProps.appName.substr(5);
|
|
62
|
+
var logoName = "Neeto".concat(neetoCist.capitalize(productName.toLowerCase()));
|
|
63
|
+
var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos__namespace[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : ProductTypefaceLogos.Neeto;
|
|
64
|
+
var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
|
|
65
|
+
var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
|
|
66
|
+
data = _useFetchNeetoApps.data;
|
|
67
|
+
var appHomePath = homePath;
|
|
68
|
+
if (data !== null && data !== void 0 && data.neetoApps) {
|
|
69
|
+
var thisApp = neetoCist.findBy({
|
|
70
|
+
name: productName
|
|
71
|
+
}, data.neetoApps);
|
|
72
|
+
if (thisApp !== null && thisApp !== void 0 && thisApp.url) {
|
|
73
|
+
appHomePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
77
|
+
className: "neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable",
|
|
78
|
+
"data-cy": "sidebar-info"
|
|
79
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
|
80
|
+
className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
|
|
81
|
+
to: appHomePath,
|
|
82
|
+
onClick: clearSettingsNav
|
|
83
|
+
}, /*#__PURE__*/React__default["default"].createElement(LogoComponent, null)));
|
|
84
|
+
};
|
|
85
|
+
var Header$1 = /*#__PURE__*/React__default["default"].memo(Header);
|
|
86
|
+
|
|
87
|
+
var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading"];
|
|
88
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
89
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
90
|
+
var Links = function Links(_ref) {
|
|
91
|
+
var navLinks = _ref.navLinks,
|
|
92
|
+
isCountsLoadingDeprecated = _ref.isCountsLoading,
|
|
93
|
+
setSelectedNavLinkRoute = _ref.setSelectedNavLinkRoute;
|
|
94
|
+
var location = reactRouterDom.useLocation();
|
|
95
|
+
var _useState = React.useState(true),
|
|
96
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
97
|
+
isActiveLinkExpanded = _useState2[0],
|
|
98
|
+
setIsActiveLinkExpanded = _useState2[1];
|
|
99
|
+
var handleNavLinkClick = function handleNavLinkClick(_ref2) {
|
|
100
|
+
var event = _ref2.event,
|
|
101
|
+
isActive = _ref2.isActive,
|
|
102
|
+
items = _ref2.items,
|
|
103
|
+
navLink = _ref2.navLink;
|
|
104
|
+
if (neetoCist.isNotPresent(items)) return;
|
|
105
|
+
if (navLink.isConfigureNavLink && neetoCist.isNotEmpty(navLink.items)) {
|
|
106
|
+
setSelectedNavLinkRoute(navLink.to);
|
|
107
|
+
}
|
|
108
|
+
if (isActive()) {
|
|
109
|
+
setIsActiveLinkExpanded(ramda.not);
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
setIsActiveLinkExpanded(true);
|
|
114
|
+
};
|
|
115
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
116
|
+
className: "neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable"
|
|
117
|
+
}, navLinks.filter(Chevron.filterByPermissions).map(function (navLink, index) {
|
|
118
|
+
var label = navLink.label,
|
|
119
|
+
to = navLink.to,
|
|
120
|
+
icon = navLink.icon,
|
|
121
|
+
items = navLink.items,
|
|
122
|
+
isConfigureNavLink = navLink.isConfigureNavLink,
|
|
123
|
+
_navLink$isCountsLoad = navLink.isCountsLoading,
|
|
124
|
+
isCountsLoading = _navLink$isCountsLoad === void 0 ? false : _navLink$isCountsLoad,
|
|
125
|
+
otherProps = _objectWithoutProperties__default["default"](navLink, _excluded);
|
|
126
|
+
var IconSVG = icon;
|
|
127
|
+
var url = new URL(to, window.location.href);
|
|
128
|
+
var isActive = function isActive() {
|
|
129
|
+
return ramda.is(Function, otherProps.isActive) ? otherProps.isActive() : location.pathname.startsWith(url.pathname);
|
|
130
|
+
};
|
|
131
|
+
var isMenuExpanded = isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;
|
|
132
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
|
|
133
|
+
key: index
|
|
134
|
+
}, /*#__PURE__*/React__default["default"].createElement(Chevron.CheckPointNavLinks, _extends__default["default"]({
|
|
135
|
+
activeClassName: "active",
|
|
136
|
+
className: "neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link",
|
|
137
|
+
"data-testid": "navlink-".concat(neetoCist.hyphenate(label)),
|
|
138
|
+
onClick: function onClick(event) {
|
|
139
|
+
return handleNavLinkClick({
|
|
140
|
+
event: event,
|
|
141
|
+
isActive: isActive,
|
|
142
|
+
items: items,
|
|
143
|
+
navLink: navLink
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}, _objectSpread({
|
|
147
|
+
isActive: isActive,
|
|
148
|
+
to: to
|
|
149
|
+
}, otherProps)), icon && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
150
|
+
className: "neeto-molecules-sidebar__link-icon",
|
|
151
|
+
"data-testid": label
|
|
152
|
+
}, /*#__PURE__*/React__default["default"].createElement(IconSVG, null)), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
153
|
+
className: "neeto-molecules-sidebar__link-label",
|
|
154
|
+
component: "span",
|
|
155
|
+
style: "body2"
|
|
156
|
+
}, label), items && !isConfigureNavLink && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
157
|
+
className: classnames__default["default"]("neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret", {
|
|
158
|
+
"neeto-molecules-sidebar__link-icon--rotate": isMenuExpanded
|
|
159
|
+
})
|
|
160
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Down, {
|
|
161
|
+
size: 16
|
|
162
|
+
}))), items && !isConfigureNavLink && isMenuExpanded && /*#__PURE__*/React__default["default"].createElement(Chevron.Items, _objectSpread({
|
|
163
|
+
isCountsLoading: isCountsLoading,
|
|
164
|
+
items: items
|
|
165
|
+
}, otherProps)));
|
|
166
|
+
}));
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
var Sidebar = function Sidebar(_ref) {
|
|
170
|
+
var navLinks = _ref.navLinks,
|
|
171
|
+
customLogo = _ref.customLogo,
|
|
172
|
+
_ref$isCountsLoading = _ref.isCountsLoading,
|
|
173
|
+
isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading,
|
|
174
|
+
_ref$homePath = _ref.homePath,
|
|
175
|
+
homePath = _ref$homePath === void 0 ? "/" : _ref$homePath;
|
|
176
|
+
var productName = initializers.globalProps.appName.substr(5).toLowerCase();
|
|
177
|
+
var _useState = React.useState(false),
|
|
178
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
179
|
+
isSidebarPaneOpen = _useState2[0],
|
|
180
|
+
setIsSidebarPaneOpen = _useState2[1];
|
|
181
|
+
var _useLocalStorage = useLocalStorage__default["default"](Chevron.SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, null),
|
|
182
|
+
_useLocalStorage2 = _slicedToArray__default["default"](_useLocalStorage, 2),
|
|
183
|
+
selectedNavLinkRoute = _useLocalStorage2[0],
|
|
184
|
+
setSelectedNavLinkRoute = _useLocalStorage2[1];
|
|
185
|
+
var _useLocalStorage3 = useLocalStorage__default["default"](Chevron.getSidebarStateLocalStorageKey(), false),
|
|
186
|
+
_useLocalStorage4 = _slicedToArray__default["default"](_useLocalStorage3, 2),
|
|
187
|
+
isSidebarCollapsed = _useLocalStorage4[0],
|
|
188
|
+
setIsSidebarCollapsed = _useLocalStorage4[1];
|
|
189
|
+
var location = reactRouterDom.useLocation();
|
|
190
|
+
var history = reactRouterDom.useHistory();
|
|
191
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
192
|
+
t = _useTranslation.t;
|
|
193
|
+
var isLargerScreen = function isLargerScreen() {
|
|
194
|
+
return window.innerWidth > 768;
|
|
195
|
+
};
|
|
196
|
+
var isSidebarClosed = isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen);
|
|
197
|
+
React.useEffect(function () {
|
|
198
|
+
if (!neetoCist.isPresent(navLinks)) return;
|
|
199
|
+
var currentLink = ramda.findLast(function (_ref2) {
|
|
200
|
+
var to = _ref2.to,
|
|
201
|
+
isActive = _ref2.isActive;
|
|
202
|
+
var url = new URL(to, window.location.href);
|
|
203
|
+
return ramda.is(Function, isActive) ? isActive() : location.pathname.includes(url.pathname);
|
|
204
|
+
})(navLinks);
|
|
205
|
+
if (neetoCist.isPresent(currentLink)) {
|
|
206
|
+
setSelectedNavLinkRoute(currentLink.isConfigureNavLink ? currentLink.to : null);
|
|
207
|
+
}
|
|
208
|
+
}, []);
|
|
209
|
+
React.useEffect(function () {
|
|
210
|
+
var handleResize = function handleResize() {
|
|
211
|
+
if (isLargerScreen()) return;
|
|
212
|
+
setIsSidebarPaneOpen(false);
|
|
213
|
+
setIsSidebarCollapsed(true);
|
|
214
|
+
};
|
|
215
|
+
window.addEventListener("resize", handleResize);
|
|
216
|
+
return function () {
|
|
217
|
+
return window.removeEventListener("resize", handleResize);
|
|
218
|
+
};
|
|
219
|
+
}, []);
|
|
220
|
+
var handleGoBack = function handleGoBack(event) {
|
|
221
|
+
event.preventDefault();
|
|
222
|
+
setSelectedNavLinkRoute(null);
|
|
223
|
+
var settingsNavLink = navLinks.find(function (link) {
|
|
224
|
+
return neetoCist.isPresent(link.isConfigureNavLink) && link.isConfigureNavLink;
|
|
225
|
+
});
|
|
226
|
+
if (settingsNavLink.to) {
|
|
227
|
+
history.push(utils.buildUrl(settingsNavLink.to));
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
var activeLink = React.useMemo(function () {
|
|
231
|
+
return navLinks.find(function (link) {
|
|
232
|
+
if (ramda.is(Function, link.isActive)) return link.isActive();
|
|
233
|
+
var url = new URL(link.to, window.location.href);
|
|
234
|
+
return location.pathname.startsWith(url.pathname);
|
|
235
|
+
});
|
|
236
|
+
}, [location.pathname, navLinks]);
|
|
237
|
+
var isSelectedNavLinkVisible = selectedNavLinkRoute && (activeLink === null || activeLink === void 0 ? void 0 : activeLink.to) === selectedNavLinkRoute && neetoCist.isNotEmpty(navLinks);
|
|
238
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
239
|
+
"data-testid": "sidebar-container",
|
|
240
|
+
className: classnames__default["default"]("neeto-molecules-sidebar__wrapper", {
|
|
241
|
+
"neeto-molecules-sidebar__wrapper--collapsed": isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen)
|
|
242
|
+
})
|
|
243
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
244
|
+
className: "neeto-molecules-sidebar__backdrop",
|
|
245
|
+
onClick: function onClick() {
|
|
246
|
+
setIsSidebarPaneOpen(false);
|
|
247
|
+
setSelectedNavLinkRoute(null);
|
|
248
|
+
}
|
|
249
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
250
|
+
"data-cy": "sidebar-wrapper",
|
|
251
|
+
"data-testid": "sidebar",
|
|
252
|
+
className: classnames__default["default"]("neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden", {
|
|
253
|
+
"neeto-molecules-sidebar--focus-mode": neetoCist.isPresent(selectedNavLinkRoute)
|
|
254
|
+
})
|
|
255
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header$1, {
|
|
256
|
+
customLogo: customLogo,
|
|
257
|
+
homePath: homePath,
|
|
258
|
+
clearSettingsNav: function clearSettingsNav() {
|
|
259
|
+
return setSelectedNavLinkRoute(null);
|
|
260
|
+
}
|
|
261
|
+
}), isSelectedNavLinkVisible ? /*#__PURE__*/React__default["default"].createElement(Chevron.SelectedLink, {
|
|
262
|
+
handleGoBack: handleGoBack,
|
|
263
|
+
navLink: activeLink
|
|
264
|
+
}) : /*#__PURE__*/React__default["default"].createElement(Links, {
|
|
265
|
+
isCountsLoading: isCountsLoading,
|
|
266
|
+
navLinks: navLinks,
|
|
267
|
+
setSelectedNavLinkRoute: setSelectedNavLinkRoute
|
|
268
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
269
|
+
className: "neeto-molecules-sidebar__toggler",
|
|
270
|
+
"data-cy": "neeto-molecules-sidebar-toggler",
|
|
271
|
+
"data-testid": "sidebar-toggleButton",
|
|
272
|
+
style: isLargerScreen() ? "text" : "secondary",
|
|
273
|
+
icon: function icon() {
|
|
274
|
+
return /*#__PURE__*/React__default["default"].createElement(Chevron.Chevron, {
|
|
275
|
+
style: {
|
|
276
|
+
color: "rgb(var(--neeto-".concat(productName, "-primary))")
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
},
|
|
280
|
+
tooltipProps: {
|
|
281
|
+
content: isSidebarClosed ? t("neetoMolecules.sidebar.showMenu") : t("neetoMolecules.sidebar.hideMenu"),
|
|
282
|
+
position: "bottom"
|
|
283
|
+
},
|
|
284
|
+
onClick: function onClick() {
|
|
285
|
+
setIsSidebarCollapsed(!isSidebarCollapsed);
|
|
286
|
+
setIsSidebarPaneOpen(ramda.not);
|
|
287
|
+
}
|
|
288
|
+
}));
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
module.exports = Sidebar;
|
|
292
|
+
//# sourceMappingURL=Sidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let appHomePath = homePath;\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n appHomePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={appHomePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n homePath = \"/\",\n}) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","appHomePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","_ref$homePath","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","activeLink","useMemo","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","color","tooltipProps","content","position"],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
4
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
|
+
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
8
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
9
|
+
var ramda = require('ramda');
|
|
10
|
+
var injectCss = require('./inject-css-80a5faa3.js');
|
|
11
|
+
var reactQuery = require('@tanstack/react-query');
|
|
12
|
+
var axios = require('axios');
|
|
13
|
+
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
14
|
+
|
|
15
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
|
+
|
|
17
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
18
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
21
|
+
|
|
22
|
+
var QUERY_KEYS = {
|
|
23
|
+
APP_STICKY_RIBBONS_LIST: "APP_STICKY_RIBBONS_LIST"
|
|
24
|
+
};
|
|
25
|
+
var STICKY_RIBBON_KIND_TO_STYLE = {
|
|
26
|
+
info: "info",
|
|
27
|
+
warning: "warning",
|
|
28
|
+
error: "danger"
|
|
29
|
+
};
|
|
30
|
+
var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
|
|
31
|
+
|
|
32
|
+
var css = ".neeto-molecules-sticky-ribbon{border-radius:0}";
|
|
33
|
+
injectCss.n(css,{});
|
|
34
|
+
|
|
35
|
+
var fetchStickyRibbons = function fetchStickyRibbons() {
|
|
36
|
+
return axios__default["default"].get("".concat(constants.BASE_API_V1_URL, "/sticky_ribbons"));
|
|
37
|
+
};
|
|
38
|
+
var stickyRibbonsApi = {
|
|
39
|
+
fetchStickyRibbons: fetchStickyRibbons
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var APP_STICKY_RIBBONS_LIST = QUERY_KEYS.APP_STICKY_RIBBONS_LIST;
|
|
43
|
+
var useFetchStickyRibbons = function useFetchStickyRibbons() {
|
|
44
|
+
return reactQuery.useQuery({
|
|
45
|
+
queryKey: [APP_STICKY_RIBBONS_LIST],
|
|
46
|
+
queryFn: stickyRibbonsApi.fetchStickyRibbons
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var StickyRibbonsContainer = function StickyRibbonsContainer() {
|
|
51
|
+
var _useLocalStorage = reactUtils.useLocalStorage(STICKY_RIBBONS_LOCAL_STORAGE_KEY, []),
|
|
52
|
+
_useLocalStorage2 = _slicedToArray__default["default"](_useLocalStorage, 2),
|
|
53
|
+
dismissedRibbons = _useLocalStorage2[0],
|
|
54
|
+
setDismissedRibbons = _useLocalStorage2[1];
|
|
55
|
+
var _useFetchStickyRibbon = useFetchStickyRibbons(),
|
|
56
|
+
_useFetchStickyRibbon2 = _useFetchStickyRibbon.data,
|
|
57
|
+
_useFetchStickyRibbon3 = _useFetchStickyRibbon2 === void 0 ? {} : _useFetchStickyRibbon2,
|
|
58
|
+
_useFetchStickyRibbon4 = _useFetchStickyRibbon3.stickyRibbons,
|
|
59
|
+
stickyRibbons = _useFetchStickyRibbon4 === void 0 ? [] : _useFetchStickyRibbon4;
|
|
60
|
+
var handleDismiss = function handleDismiss(ribbonId) {
|
|
61
|
+
var validRibbonIds = ramda.pluck("id", stickyRibbons);
|
|
62
|
+
var updatedDismissedRibbons = dismissedRibbons.filter(function (id) {
|
|
63
|
+
return validRibbonIds.includes(id);
|
|
64
|
+
});
|
|
65
|
+
setDismissedRibbons([].concat(_toConsumableArray__default["default"](updatedDismissedRibbons), [ribbonId]));
|
|
66
|
+
};
|
|
67
|
+
var visibleRibbons = stickyRibbons.filter(function (ribbon) {
|
|
68
|
+
return !dismissedRibbons.includes(ribbon.id);
|
|
69
|
+
});
|
|
70
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, visibleRibbons.map(function (_ref) {
|
|
71
|
+
var id = _ref.id,
|
|
72
|
+
kind = _ref.kind,
|
|
73
|
+
message = _ref.message;
|
|
74
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
|
|
75
|
+
className: "neeto-molecules-sticky-ribbon w-full p-2.5 text-center",
|
|
76
|
+
key: id,
|
|
77
|
+
size: "large",
|
|
78
|
+
style: STICKY_RIBBON_KIND_TO_STYLE[kind],
|
|
79
|
+
onClose: function onClose() {
|
|
80
|
+
return handleDismiss(id);
|
|
81
|
+
}
|
|
82
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoEditor.EditorContent, {
|
|
83
|
+
className: "w-full",
|
|
84
|
+
content: message
|
|
85
|
+
}));
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
module.exports = StickyRibbonsContainer;
|
|
90
|
+
//# sourceMappingURL=StickyRibbonsContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/components/StickyRibbonsContainer/constants.js","../../src/components/StickyRibbonsContainer/api.js","../../src/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBON_KIND_TO_STYLE = {\n info: \"info\",\n warning: \"warning\",\n error: \"danger\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () => axios.get(`${BASE_API_V1_URL}/sticky_ribbons`);\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () =>\n useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: stickyRibbonsApi.fetchStickyRibbons,\n });\n\nexport { useFetchStickyRibbons };\n","import React from \"react\";\n\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Tag } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport {\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n STICKY_RIBBON_KIND_TO_STYLE,\n} from \"./constants\";\nimport \"./sticky-ribbons.scss\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\n\nconst StickyRibbonsContainer = () => {\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { data: { stickyRibbons = [] } = {} } = useFetchStickyRibbons();\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {visibleRibbons.map(({ id, kind, message }) => (\n <Tag\n className=\"neeto-molecules-sticky-ribbon w-full p-2.5 text-center\"\n key={id}\n size=\"large\"\n style={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onClose={() => handleDismiss(id)}\n >\n <EditorContent className=\"w-full\" content={message} />\n </Tag>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","stickyRibbonsApi","useFetchStickyRibbons","useQuery","queryKey","queryFn","StickyRibbonsContainer","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","dismissedRibbons","setDismissedRibbons","_useFetchStickyRibbon","_useFetchStickyRibbon2","data","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","React","createElement","Fragment","map","_ref","kind","message","Tag","className","key","size","style","onClose","EditorContent","content"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,uBAAuB,EAAE,yBAAA;AAC3B,CAAC,CAAA;AAEM,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,QAAA;AACT,CAAC,CAAA;AAEM,IAAMC,gCAAgC,GAAG,wBAAwB;;;;;ACPxE,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;EAAA,OAASC,yBAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIC,yBAAe,oBAAiB,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/E,IAAMC,gBAAgB,GAAG;AAAEL,EAAAA,kBAAkB,EAAlBA,kBAAAA;AAAmB,CAAC;;ACA/C,IAAQN,uBAAuB,GAAKD,UAAU,CAAtCC,uBAAuB,CAAA;AAE/B,IAAMY,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAA;AAAA,EAAA,OACzBC,mBAAQ,CAAC;IACPC,QAAQ,EAAE,CAACd,uBAAuB,CAAC;IACnCe,OAAO,EAAEJ,gBAAgB,CAACL,kBAAAA;AAC5B,GAAC,CAAC,CAAA;AAAA,CAAA;;ACGJ,IAAMU,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAS;AACnC,EAAA,IAAAC,gBAAA,GAAgDC,0BAAe,CAC7Db,gCAAgC,EAChC,EACF,CAAC;IAAAc,iBAAA,GAAAC,kCAAA,CAAAH,gBAAA,EAAA,CAAA,CAAA;AAHMI,IAAAA,gBAAgB,GAAAF,iBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,mBAAmB,GAAAH,iBAAA,CAAA,CAAA,CAAA,CAAA;AAK5C,EAAA,IAAAI,qBAAA,GAA8CX,qBAAqB,EAAE;IAAAY,sBAAA,GAAAD,qBAAA,CAA7DE,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,sBAAA,KAAA,KAAA,CAAA,GAA2B,EAAE,GAAAA,sBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAAzBE,aAAa;AAAbA,IAAAA,aAAa,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA,CAAA;AAElC,EAAA,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,QAAQ,EAAI;AAChC,IAAA,IAAMC,cAAc,GAAGC,WAAK,CAAC,IAAI,EAAEJ,aAAa,CAAC,CAAA;AACjD,IAAA,IAAMK,uBAAuB,GAAGZ,gBAAgB,CAACa,MAAM,CAAC,UAAAC,EAAE,EAAA;AAAA,MAAA,OACxDJ,cAAc,CAACK,QAAQ,CAACD,EAAE,CAAC,CAAA;AAAA,KAC7B,CAAC,CAAA;IAEDb,mBAAmB,CAAA,EAAA,CAAAb,MAAA,CAAA4B,sCAAA,CAAKJ,uBAAuB,CAAA,EAAA,CAAEH,QAAQ,CAAA,CAAC,CAAC,CAAA;GAC5D,CAAA;AAED,EAAA,IAAMQ,cAAc,GAAGV,aAAa,CAACM,MAAM,CACzC,UAAAK,MAAM,EAAA;IAAA,OAAI,CAAClB,gBAAgB,CAACe,QAAQ,CAACG,MAAM,CAACJ,EAAE,CAAC,CAAA;AAAA,GACjD,CAAC,CAAA;AAED,EAAA,oBACEK,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,EACGJ,cAAc,CAACK,GAAG,CAAC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGT,EAAE,GAAAS,IAAA,CAAFT,EAAE;MAAEU,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO,CAAA;AAAA,IAAA,oBACtCN,yBAAA,CAAAC,aAAA,CAACM,WAAG,EAAA;AACFC,MAAAA,SAAS,EAAC,wDAAwD;AAClEC,MAAAA,GAAG,EAAEd,EAAG;AACRe,MAAAA,IAAI,EAAC,OAAO;AACZC,MAAAA,KAAK,EAAElD,2BAA2B,CAAC4C,IAAI,CAAE;MACzCO,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMvB,aAAa,CAACM,EAAE,CAAC,CAAA;AAAA,OAAA;AAAC,KAAA,eAEjCK,yBAAA,CAAAC,aAAA,CAACY,yBAAa,EAAA;AAACL,MAAAA,SAAS,EAAC,QAAQ;AAACM,MAAAA,OAAO,EAAER,OAAAA;AAAQ,KAAE,CAClD,CAAC,CAAA;AAAA,GACP,CACD,CAAC,CAAA;AAEP;;;;"}
|