@bigbinary/neeto-molecules 3.6.3 → 3.7.0
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/BrowserSupport.js +2 -2
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js.map +1 -1
- package/dist/{Chevron-10919a09.js → Chevron-a5e99340.js} +5 -5
- package/dist/{Chevron-10919a09.js.map → Chevron-a5e99340.js.map} +1 -1
- package/dist/ConfigurePageSidebar.js +1 -1
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/Container.js +4 -3
- package/dist/Container.js.map +1 -1
- package/dist/CopyToClipboardButton.js +0 -1
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/CustomDomain.js +1 -1
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +3 -2
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/DateRangeFilter.js.map +1 -1
- package/dist/DeleteArchiveModal.js.map +1 -1
- package/dist/DeviceIncompatibilityMessage.js +23 -24
- package/dist/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/DocumentEditor.js.map +1 -1
- package/dist/DownloadMobileAppCallout.js +2 -2
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +2 -2
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +9 -8
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/EmojiReactions.js.map +1 -1
- package/dist/ErrorPage.js +21 -21
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FileUpload.js +1 -1
- package/dist/FileUpload.js.map +1 -1
- package/dist/FloatingActionMenu.js +2 -2
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/HelpPopover.js.map +1 -1
- package/dist/IconPicker.js.map +1 -1
- package/dist/InlineInput.js +1 -1
- package/dist/InlineInput.js.map +1 -1
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IpRestriction.js +2 -2
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +2 -2
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +2 -2
- package/dist/LoginPage.js.map +1 -1
- package/dist/MenuBar.js +52 -750
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js.map +1 -1
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +9 -6
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +3 -3
- package/dist/OptionFields.js.map +1 -1
- package/dist/PageLoader.js +1 -1
- package/dist/PhoneNumber.js +3 -3
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/PublishBlock.js +1 -1
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +4 -3
- package/dist/PublishYourItem.js.map +1 -1
- package/dist/Rename.js.map +1 -1
- package/dist/ResponsiveDevicePicker.js.map +1 -1
- package/dist/Schedule.js +4 -5
- package/dist/Schedule.js.map +1 -1
- package/dist/SendToFields.js +6 -4
- package/dist/SendToFields.js.map +1 -1
- package/dist/SessionEnvironment.js +2 -2
- package/dist/SessionEnvironment.js.map +1 -1
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/ShareViaEmail.js +2 -2
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +2 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatusDropdown.js.map +1 -1
- package/dist/StickyRibbonsContainer.js.map +1 -1
- package/dist/SubHeader.js.map +1 -1
- package/dist/SuffixedInput.js +0 -1
- package/dist/SuffixedInput.js.map +1 -1
- package/dist/Taxonomy.js +2 -1
- package/dist/Taxonomy.js.map +1 -1
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/_commonjsHelpers-1789f0cf.js +8 -0
- package/dist/_commonjsHelpers-1789f0cf.js.map +1 -0
- package/dist/cjs/BrowserSupport.js +2 -2
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{Chevron-983364d7.js → Chevron-bb98447f.js} +5 -5
- package/dist/cjs/{Chevron-983364d7.js.map → Chevron-bb98447f.js.map} +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +1 -1
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/Container.js +4 -3
- package/dist/cjs/Container.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +0 -1
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/CustomDomain.js +1 -1
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +3 -2
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/DateRangeFilter.js.map +1 -1
- package/dist/cjs/DeleteArchiveModal.js.map +1 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js +23 -24
- package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DownloadMobileAppCallout.js +2 -2
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +2 -2
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +9 -8
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/ErrorPage.js +21 -21
- package/dist/cjs/ErrorPage.js.map +1 -1
- package/dist/cjs/FileUpload.js +1 -1
- package/dist/cjs/FileUpload.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +2 -2
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/InlineInput.js +1 -1
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IpRestriction.js +2 -2
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +2 -2
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/LoginPage.js +2 -2
- package/dist/cjs/LoginPage.js.map +1 -1
- package/dist/cjs/MenuBar.js +57 -756
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +9 -6
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +3 -3
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PageLoader.js +1 -1
- package/dist/cjs/PhoneNumber.js +2 -2
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +1 -1
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/PublishYourItem.js +4 -3
- package/dist/cjs/PublishYourItem.js.map +1 -1
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
- package/dist/cjs/Schedule.js +4 -5
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/SendToFields.js +6 -4
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +2 -2
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +2 -2
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +2 -2
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StatusDropdown.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/SuffixedInput.js +0 -1
- package/dist/cjs/SuffixedInput.js.map +1 -1
- package/dist/cjs/Taxonomy.js +2 -1
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/_commonjsHelpers-b3309d7b.js +11 -0
- package/dist/cjs/_commonjsHelpers-b3309d7b.js.map +1 -0
- package/dist/{index-e5588516.js → cjs/index-57253dc4.js} +14 -9
- package/dist/cjs/{index-248c4f4c.js.map → index-57253dc4.js.map} +1 -1
- package/dist/cjs/{index-19068c9b.js → index-c954eb94.js} +1 -1
- package/dist/cjs/{index-19068c9b.js.map → index-c954eb94.js.map} +1 -1
- package/dist/cjs/{phone-number-b28bc9dd.js → phone-number-7119ec88.js} +10 -7
- package/dist/cjs/phone-number-7119ec88.js.map +1 -0
- package/dist/cjs/{platform-628b3bd8.js → platform-4e0a3b75.js} +6 -4
- package/dist/cjs/{platform-628b3bd8.js.map → platform-4e0a3b75.js.map} +1 -1
- package/dist/cjs/useColumns-8894f767.js.map +1 -1
- package/dist/{index-d8900f6b.js → index-10ee76b9.js} +1 -1
- package/dist/{index-d8900f6b.js.map → index-10ee76b9.js.map} +1 -1
- package/dist/{cjs/index-248c4f4c.js → index-1f87fe13.js} +11 -10
- package/dist/{index-e5588516.js.map → index-1f87fe13.js.map} +1 -1
- package/dist/{phone-number-1d33eea1.js → phone-number-aa7dd15f.js} +10 -7
- package/dist/phone-number-aa7dd15f.js.map +1 -0
- package/dist/{platform-e221afea.js → platform-9320726a.js} +6 -4
- package/dist/{platform-e221afea.js.map → platform-9320726a.js.map} +1 -1
- package/dist/styles/page-loader.css +1 -1
- package/dist/styles/page-loader.js +1 -1
- package/dist/useColumns-13263cd8.js.map +1 -1
- package/package.json +87 -84
- package/dist/_commonjsHelpers-1c8beb5f.js +0 -4
- package/dist/_commonjsHelpers-1c8beb5f.js.map +0 -1
- package/dist/cjs/_commonjsHelpers-68cdf74f.js +0 -6
- package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +0 -1
- package/dist/cjs/phone-number-b28bc9dd.js.map +0 -1
- package/dist/phone-number-1d33eea1.js.map +0 -1
package/dist/FileUpload.js
CHANGED
|
@@ -374,7 +374,7 @@ var useFileUpload = function useFileUpload(_ref) {
|
|
|
374
374
|
uploadError && setError(uploadError);
|
|
375
375
|
}, [uploadError]);
|
|
376
376
|
var onDropAccepted = /*#__PURE__*/function () {
|
|
377
|
-
var _ref2 = _asyncToGenerator(
|
|
377
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(acceptedFiles) {
|
|
378
378
|
var initialFiles, updatedFiles, newFiles, _updatedFiles;
|
|
379
379
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
380
380
|
while (1) switch (_context.prev = _context.next) {
|
package/dist/FileUpload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.js","sources":["../src/components/FileUpload/DropZone.jsx","../src/components/FileUpload/constants.js","../src/components/FileUpload/utils.js","../src/components/FileUpload/ErrorMessages.jsx","../src/components/FileUpload/Progress.jsx","../src/components/FileUpload/FilePreview.jsx","../src/components/FileUpload/hooks/useFileUpload.js","../src/components/FileUpload/FileUpload.jsx","../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { FileUpload } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-molecules-file-upload__dropzone\"], {\n \"neeto-molecules-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-molecules-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n data-testid=\"file-upload-body\"\n >\n <FileUpload\n className=\"neeto-molecules-file-upload__upload-icon\"\n size=\"36\"\n />\n <div className=\"neeto-molecules-file-upload__dropzone-content\">\n <label\n className=\"neeto-molecules-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <span className=\"neeto-molecules-file-upload__choose-file\">\n {t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n )}\n </span>\n <input {...getInputProps()} data-cy=\"image-browse-button\" />\n </label>\n <div className=\"neeto-molecules-file-upload__dropzone-helper-block\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n json: [\"application/json\"],\n epub: [\"application/epub+zip\"],\n aac: [\"audio/aac\"],\n svg: [\"image/svg+xml\"],\n ico: [\"image/vnd.microsoft.icon\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type] || [\"application/octet-stream\"];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1028 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1028 * 1024 + 10;\n","import { useTranslation } from \"react-i18next\";\n\nimport { ERROR_CODES } from \"./constants\";\nimport { renderErrorMessage } from \"./utils\";\n\nconst ErrorMessages = ({ fileRejections, maxFileSizeInBytes }) => {\n const { t } = useTranslation();\n\n const hasMultipleFileErrors = fileRejections.some(\n ({ errors }) => errors[0].code === ERROR_CODES.TOO_MANY_FILES\n );\n\n return (\n <>\n {hasMultipleFileErrors && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n })}\n </span>\n </p>\n )}\n {fileRejections\n .filter(({ errors }) => errors[0].code !== ERROR_CODES.TOO_MANY_FILES)\n .map((file, index) => (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n key={index}\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </span>\n </p>\n ))}\n </>\n );\n};\n\nexport default ErrorMessages;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"currentColor\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-molecules-progress__circle\">\n <div\n className=\"neeto-molecules-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","import classnames from \"classnames\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = ({ file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-molecules-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-molecules-file-upload__file-preview\">\n <a\n className={classnames({ \"neeto-molecules-invisible\": isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileGeneric />\n </a>\n {isUploading && (\n <div className=\"neeto-molecules-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"neeto-molecules-file-upload__file-info\">\n <span\n className=\"neeto-molecules-file-upload__file-info-name\"\n data-cy=\"file-name\"\n >\n {file.name}\n </span>\n <span className=\"neeto-molecules-file-upload__file-info-size\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"neeto-molecules-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-molecules-file-upload__success-indicator\",\n { \"neeto-molecules-file-upload__success-indicator--active\": file.url }\n )}\n >\n {file.url && <Check data-cy=\"file-upload-success\" />}\n </span>\n <button\n className=\"neeto-molecules-file-upload__button--red neeto-molecules-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n);\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n onChange(updatedFiles);\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n const updatedFiles = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(updatedFiles);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n if (fileObject.errors[0].code === \"too-many-files\") {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n } else {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n }\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport DropZone from \"./DropZone\";\nimport ErrorMessages from \"./ErrorMessages\";\nimport \"./file-upload.scss\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = 1,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1000000;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"neeto-molecules-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) && (\n <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {error}\n </span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n /**\n * Allowed file types for the file upload component.\n */\n allowedFileTypes: PropTypes.string,\n /**\n * Boolean to allow multiple files to be uploaded.\n */\n multipleFilesAllowed: PropTypes.bool,\n /**\n * Maximum file size allowed for the file upload component(MB).\n */\n maxFileSize: PropTypes.number,\n /**\n * Boolean to use component as a preview component.\n */\n isPreview: PropTypes.bool,\n /**\n * Minimum file size allowed for the file upload component(MB).\n */\n minFileSize: PropTypes.number,\n /**\n * Uploaded files.\n */\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n /**\n * Function to be called on file upload, with the updated files array.\n */\n onChange: PropTypes.func,\n /**\n * Error message to be displayed.\n */\n error: PropTypes.string,\n /**\n * Function to set error message.\n */\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","_useTranslation","useTranslation","t","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","unit","types","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","json","epub","aac","svg","ico","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","Math","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","ErrorMessages","fileRejections","maxFileSizeInBytes","hasMultipleFileErrors","some","_ref2","_Fragment","filter","_ref3","map","index","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FilePreview","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","assoc","newFiles","_","idx","useEffect","onDropAccepted","_asyncToGenerator","_regeneratorRuntime","mark","_callee","acceptedFiles","initialFiles","updatedFiles","_updatedFiles","wrap","_callee$","_context","prev","next","_toConsumableArray","Promise","resolve","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","length","sent","uploadedFile","findBy","stop","_x","apply","arguments","onDropRejected","fileObject","_useDropzone","useDropzone","minSize","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","isUploadingFile","isNotNil","shouldShowError","isEmpty","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUpload.js","sources":["../src/components/FileUpload/DropZone.jsx","../src/components/FileUpload/constants.js","../src/components/FileUpload/utils.js","../src/components/FileUpload/ErrorMessages.jsx","../src/components/FileUpload/Progress.jsx","../src/components/FileUpload/FilePreview.jsx","../src/components/FileUpload/hooks/useFileUpload.js","../src/components/FileUpload/FileUpload.jsx","../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { FileUpload } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-molecules-file-upload__dropzone\"], {\n \"neeto-molecules-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-molecules-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n data-testid=\"file-upload-body\"\n >\n <FileUpload\n className=\"neeto-molecules-file-upload__upload-icon\"\n size=\"36\"\n />\n <div className=\"neeto-molecules-file-upload__dropzone-content\">\n <label\n className=\"neeto-molecules-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <span className=\"neeto-molecules-file-upload__choose-file\">\n {t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n )}\n </span>\n <input {...getInputProps()} data-cy=\"image-browse-button\" />\n </label>\n <div className=\"neeto-molecules-file-upload__dropzone-helper-block\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n json: [\"application/json\"],\n epub: [\"application/epub+zip\"],\n aac: [\"audio/aac\"],\n svg: [\"image/svg+xml\"],\n ico: [\"image/vnd.microsoft.icon\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type] || [\"application/octet-stream\"];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1028 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1028 * 1024 + 10;\n","import { useTranslation } from \"react-i18next\";\n\nimport { ERROR_CODES } from \"./constants\";\nimport { renderErrorMessage } from \"./utils\";\n\nconst ErrorMessages = ({ fileRejections, maxFileSizeInBytes }) => {\n const { t } = useTranslation();\n\n const hasMultipleFileErrors = fileRejections.some(\n ({ errors }) => errors[0].code === ERROR_CODES.TOO_MANY_FILES\n );\n\n return (\n <>\n {hasMultipleFileErrors && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n })}\n </span>\n </p>\n )}\n {fileRejections\n .filter(({ errors }) => errors[0].code !== ERROR_CODES.TOO_MANY_FILES)\n .map((file, index) => (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n key={index}\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </span>\n </p>\n ))}\n </>\n );\n};\n\nexport default ErrorMessages;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"currentColor\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-molecules-progress__circle\">\n <div\n className=\"neeto-molecules-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","import classnames from \"classnames\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = ({ file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-molecules-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-molecules-file-upload__file-preview\">\n <a\n className={classnames({ \"neeto-molecules-invisible\": isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileGeneric />\n </a>\n {isUploading && (\n <div className=\"neeto-molecules-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"neeto-molecules-file-upload__file-info\">\n <span\n className=\"neeto-molecules-file-upload__file-info-name\"\n data-cy=\"file-name\"\n >\n {file.name}\n </span>\n <span className=\"neeto-molecules-file-upload__file-info-size\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"neeto-molecules-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-molecules-file-upload__success-indicator\",\n { \"neeto-molecules-file-upload__success-indicator--active\": file.url }\n )}\n >\n {file.url && <Check data-cy=\"file-upload-success\" />}\n </span>\n <button\n className=\"neeto-molecules-file-upload__button--red neeto-molecules-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n);\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n onChange(updatedFiles);\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n const updatedFiles = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(updatedFiles);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n if (fileObject.errors[0].code === \"too-many-files\") {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n } else {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n }\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport DropZone from \"./DropZone\";\nimport ErrorMessages from \"./ErrorMessages\";\nimport \"./file-upload.scss\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = 1,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1000000;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"neeto-molecules-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) && (\n <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {error}\n </span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n /**\n * Allowed file types for the file upload component.\n */\n allowedFileTypes: PropTypes.string,\n /**\n * Boolean to allow multiple files to be uploaded.\n */\n multipleFilesAllowed: PropTypes.bool,\n /**\n * Maximum file size allowed for the file upload component(MB).\n */\n maxFileSize: PropTypes.number,\n /**\n * Boolean to use component as a preview component.\n */\n isPreview: PropTypes.bool,\n /**\n * Minimum file size allowed for the file upload component(MB).\n */\n minFileSize: PropTypes.number,\n /**\n * Uploaded files.\n */\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n /**\n * Function to be called on file upload, with the updated files array.\n */\n onChange: PropTypes.func,\n /**\n * Error message to be displayed.\n */\n error: PropTypes.string,\n /**\n * Function to set error message.\n */\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","_useTranslation","useTranslation","t","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","unit","types","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","json","epub","aac","svg","ico","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","Math","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","ErrorMessages","fileRejections","maxFileSizeInBytes","hasMultipleFileErrors","some","_ref2","_Fragment","filter","_ref3","map","index","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FilePreview","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","assoc","newFiles","_","idx","useEffect","onDropAccepted","_asyncToGenerator","_regeneratorRuntime","mark","_callee","acceptedFiles","initialFiles","updatedFiles","_updatedFiles","wrap","_callee$","_context","prev","next","_toConsumableArray","Promise","resolve","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","length","sent","uploadedFile","findBy","stop","_x","apply","arguments","onDropRejected","fileObject","_useDropzone","useDropzone","minSize","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","isUploadingFile","isNotNil","shouldShowError","isEmpty","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
|
|
@@ -40,8 +40,8 @@ import '@bigbinary/neetoui/Button';
|
|
|
40
40
|
import '@bigbinary/neetoui/managers';
|
|
41
41
|
import '@bigbinary/neeto-hotkeys';
|
|
42
42
|
import '@bigbinary/neetoui/Kbd';
|
|
43
|
-
import './platform-
|
|
44
|
-
import './_commonjsHelpers-
|
|
43
|
+
import './platform-9320726a.js';
|
|
44
|
+
import './_commonjsHelpers-1789f0cf.js';
|
|
45
45
|
|
|
46
46
|
var css$1 = ".neeto-molecules-product-switcher__wrapper{align-items:flex-start;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;overflow-y:auto;padding:24px;position:relative;transition:all .3s;width:100%}@media screen and (max-width:768px){.neeto-molecules-product-switcher__wrapper{padding:16px}}.neeto-molecules-product-switcher__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}@media only screen and (max-width:992px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.neeto-molecules-product-switcher__header{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px;position:relative;width:100%}@media only screen and (max-width:768px){.neeto-molecules-product-switcher__header{align-items:flex-start;flex-direction:column;gap:24px}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__header h1{font-size:24px}}@media only screen and (max-width:768px){.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__header-mobile{align-items:flex-start;margin-bottom:24px}}.neeto-molecules-product-switcher__close-btn{position:absolute;right:12px;top:12px}.neeto-molecules-product-switcher__search-wrapper{flex-grow:1}@media only screen and (min-width:992px){.neeto-molecules-product-switcher__search-wrapper{flex-grow:0;width:296px}}.neeto-molecules-product-switcher__body{display:flex;flex-direction:column;font-size:var(--neeto-ui-text-sm);gap:12px;margin-bottom:24px;width:100%}.neeto-molecules-product-switcher-link{align-items:center;background-color:rgb(var(--neeto-ui-gray-100));border-color:rgb(var(--neeto-ui-gray-100));border-radius:var(--neeto-ui-rounded-lg);border-style:solid;border-width:2px;cursor:pointer;display:flex;gap:12px;max-width:100%;padding:10px 8px;text-decoration:none;transition:all .3s ease-in-out;width:100%}.neeto-molecules-product-switcher-link:focus,.neeto-molecules-product-switcher-link:focus-visible{outline:none}.neeto-molecules-product-switcher-link:focus-visible{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:focus-visible .neeto-molecules-product-switcher-link__divider{background-color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover{background-color:rgb(var(--neeto-ui-gray-200));border-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover .neeto-molecules-product-switcher-link__divider{background-color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-product-switcher-link--active{border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-product-switcher-link--active .neeto-molecules-product-switcher-link__divider{background-color:rgb(var(--neeto-ui-gray-300))}.neeto-molecules-product-switcher-link__icon-holder{flex-grow:1;flex-shrink:0}.neeto-molecules-product-switcher-link__icon-holder svg{height:26px;width:auto}.neeto-molecules-product-switcher-link__icon-holder .neeto-molecules-product-switcher-link__icon-default{height:16px}.neeto-molecules-product-switcher-link__content{flex-shrink:0;width:50%}.neeto-molecules-product-switcher-link__content span{display:block}.neeto-molecules-product-switcher-link__divider{align-self:center;flex-shrink:0;height:42px;transition:all .3s ease-in-out;width:1px}.neeto-molecules-product-switcher_modal{z-index:100000}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen{display:flex;flex-direction:column;height:100dvh!important;width:100vw!important}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__header{flex-shrink:0}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__body{flex-grow:1;min-height:0;overflow-y:auto}";
|
|
47
47
|
n(css$1,{});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Menu.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Modal.jsx","../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/components/LinkSection.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Dropdown.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileHeader.jsx","../src/components/FloatingActionMenu/utils.js","../src/components/FloatingActionMenu/components/ThemeSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ThemeSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileMenu.jsx","../src/components/FloatingActionMenu/components/ProfileButton.jsx","../src/components/FloatingActionMenu/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as AppIcons from \"neetoicons/typeface-logos\";\nimport { Typography } from \"neetoui\";\n\nimport \"./product-switcher.scss\";\n\nconst ProductLink = ({ name, description, url }) => {\n const appName = `Neeto${name.charAt(0)}${name.slice(1).toLowerCase()}`;\n const AppIcon = AppIcons[appName];\n\n return (\n <a\n data-cy={`${name}-app-link`}\n data-test-id={`neetoapp-link-${name}`}\n href={url}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"neeto-molecules-product-switcher-link\", {\n \"neeto-molecules-product-switcher-link--active\":\n globalProps.appName.includes(name),\n })}\n >\n <div className=\"neeto-molecules-product-switcher-link__icon-holder\">\n {AppIcon ? (\n <AppIcon />\n ) : (\n <Neeto className=\"neeto-molecules-product-switcher-link__icon-default\" />\n )}\n </div>\n <div className=\"neeto-molecules-product-switcher-link__divider neeto-ui-bg-gray-200\" />\n <div className=\"neeto-molecules-product-switcher-link__content\">\n <Typography component=\"span\" style=\"body3\" weight=\"medium\">\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default memo(ProductLink);\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./product-switcher.scss\";\nimport ProductLink from \"./ProductLink\";\n\nconst Menu = ({ isMobile = false }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { data } = useFetchNeetoApps({ enabled: false });\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n const handleSearch = e => setSearchTerm(e.target.value);\n\n return (\n <div\n className=\"neeto-molecules-product-switcher__wrapper\"\n data-cy=\"switcher-wrapper\"\n data-testid=\"switcher-wrapper\"\n key=\"switcher-wrapper\"\n >\n <div\n data-cy=\"product-switcher-body-wrapper\"\n className={classNames(\"neeto-molecules-product-switcher__header\", {\n \"neeto-molecules-product-switcher__header-mobile\": isMobile,\n })}\n >\n {!isMobile && (\n <Typography style=\"h1\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n )}\n <div className=\"neeto-molecules-product-switcher__search-wrapper\">\n <Input\n autoFocus\n data-cy=\"product-switcher-search-input\"\n placeholder={t(\"neetoMolecules.productSwitcher.searchProducts\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n </div>\n <div\n className={classNames(\"neeto-molecules-product-switcher__body\", {\n [\"neeto-molecules-product-switcher__body-mobile\"]: isMobile,\n })}\n >\n {filteredApps?.length > 0 ? (\n <div className=\"neeto-molecules-product-switcher__grid\">\n {filteredApps.map(app => (\n <ProductLink key={app.name} {...app} />\n ))}\n </div>\n ) : (\n <Typography className=\"neeto-ui-text-center\" style=\"body1\">\n {t(\"neetoMolecules.productSwitcher.noApps\")}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Modal as NeetoUIModal, Typography } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = withT(({ t, isOpen, onClose }) => (\n <NeetoUIModal\n {...{ isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"fullScreen\"\n >\n <NeetoUIModal.Header>\n <Typography className=\"pr-4\" style=\"h2\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n </NeetoUIModal.Header>\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu isMobile />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n));\n\nexport default Modal;\n","import { t } from \"i18next\";\nimport { Book, Help } from \"neetoicons\";\nimport { toLower } from \"ramda\";\n\nconst shouldShowWhatsNew = () => {\n const currentUserEmail = window.globalProps?.user?.email;\n\n return (\n window.location.hostname === \"localhost\" ||\n currentUserEmail === \"oliver@example.com\" ||\n currentUserEmail?.endsWith(\"@bigbinary.com\")\n );\n};\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const CHANGELOG_WIDGET_TRIGGER_ID = \"neetochangelog-trigger\";\nexport const MENU_ITEMS_WITH_ICONS = [\"Chat with support\", \"Help articles\"];\n\nexport const DEFAULT_HELP_LINK_PROPS = {\n helpCenterProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.helpArticles\"),\n icon: Book,\n \"data-cy\": \"help-link-help-center-button\",\n \"data-btn-weight\": \"bold\",\n href: `https://help.${toLower(globalProps.appName)}.com/`,\n target: \"_blank\",\n },\n liveChatProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.liveChat\"),\n icon: Help,\n \"data-cy\": \"help-link-live-chat-button\",\n \"data-btn-weight\": \"bold\",\n onClick: () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n },\n },\n};\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n changelogProps: {\n id: CHANGELOG_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-cy\": \"help-link-changelog-button\",\n isVisible: shouldShowWhatsNew,\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-cy\": \"help-link-keyboard-shortcut-button\",\n },\n};\n\nexport const NON_BUTTON_PROPS = [\"isVisible\"];\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n","import { isNotPresent, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport { MENU_ITEMS_WITH_ICONS, NON_BUTTON_PROPS } from \"../constants\";\n\nconst LinkSection = ({ links }) => {\n const { MenuItem } = Dropdown;\n if (isNotPresent(links)) return null;\n\n return (\n <>\n {links.map(({ label, icon: Icon, changesCount, ...otherProps }, idx) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"floating-action-menu-link-section\"\n key={idx}\n style=\"text\"\n prefix={\n MENU_ITEMS_WITH_ICONS.includes(label) ? (\n <Icon size={18} />\n ) : undefined\n }\n {...omit(NON_BUTTON_PROPS, otherProps)}\n >\n {label}\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu-list__item-btn-count\"\n data-cy=\"help-section-menu-changes-count\"\n data-testid=\"help-section-menu-changes-count\"\n >\n {changesCount}\n </span>\n )}\n </MenuItem.Button>\n ))}\n </>\n );\n};\n\nexport default LinkSection;\n","import { Right } from \"neetoicons\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ isLoading, onMouseEnter, ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\n {...{ onMouseEnter }}\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"product-switcher-button\"\n data-testid=\"product-switcher-button\"\n label={t(\"neetoMolecules.sidebar.productSwitcher\")}\n style=\"text\"\n suffix={isLoading ? <Spinner /> : <Right size={18} />}\n {...otherProps}\n >\n {t(\"neetoMolecules.sidebar.productSwitcher\")}\n </MenuItem.Button>\n );\n};\n\nexport default MenuButton;\n","import useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst Dropdown = () => {\n const { Menu, MenuItem } = NeetoUIDropdown;\n\n const {\n data,\n isLoading,\n isStale,\n refetch: refetchNeetoApps,\n } = useFetchNeetoApps();\n\n const onMouseEnter = () => {\n if (!isStale) return;\n refetchNeetoApps();\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ isLoading, onMouseEnter }} />}\n disabled={!data || isLoading}\n interactiveDebounce={30}\n isOpen={!data ? false : undefined}\n offset={[0, 5]}\n position=\"right\"\n trigger=\"all\"\n zIndex={99999}\n dropdownProps={{\n classNames: \"neeto-molecules-product-switcher-menu-popup__dropdown\",\n }}\n >\n <Menu>\n <MenuItem>\n <ProductSwitcherMenu />\n </MenuItem>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default Dropdown;\n","import useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\n\nimport Dropdown from \"./Dropdown\";\nimport MenuButton from \"./MenuButton\";\n\nconst ProductSwitcher = ({ toggleModal }) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n return isMobile ? (\n <MenuButton onClick={() => toggleModal(true)} />\n ) : (\n <Dropdown />\n );\n};\n\nexport default ProductSwitcher;\n","import { truncate } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nconst ProfileHeader = ({ profileInfo }) => {\n const { name, email } = profileInfo;\n\n return (\n <div\n className=\"neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-50 neeto-molecules-profile-popup__top-section\"\n data-cy=\"floating-action-menu-profile-header\"\n >\n <div className=\"left-0 top-0\">\n <Avatar\n data-cy=\"floating-action-menu-header-profile-icon\"\n size=\"large\"\n user={profileInfo}\n />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3\">\n <Typography\n className=\"neeto-ui-m-0\"\n component=\"h2\"\n data-cy=\"floating-action-menu-header-user-name\"\n lineHeight=\"tight\"\n style=\"h5\"\n title={name}\n weight=\"semibold\"\n >\n {truncate(name, 18)}\n </Typography>\n {email && (\n <Typography\n className=\"neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700\"\n data-cy=\"floating-action-menu-header-user-email\"\n lineHeight=\"tight\"\n style=\"body3\"\n >\n {email}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProfileHeader;\n","import { t } from \"i18next\";\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { resetAuthTokens } from \"neetocommons/utils/axios\";\nimport { removeFromLocalStorage } from \"neetocommons/utils/general\";\nimport { mergeDeepLeft, prop } from \"ramda\";\n\nimport {\n MY_ORGANIZATION_URL,\n THEMES,\n APP_THEME_LOCALSTORAGE_KEY,\n} from \"./constants\";\n\nconst getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const getDefaultTopLinks = (\n isOwner,\n setIsProfilePaneOpen,\n isAuthenticated\n) =>\n [\n {\n label: t(\"neetoMolecules.sidebar.myProfile\"),\n onClick: () => setIsProfilePaneOpen(true),\n \"data-cy\": \"my-profile-button\",\n \"data-testid\": \"my-profile-button\",\n isEnabled: isAuthenticated,\n },\n {\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n isEnabled: isAuthenticated && isOwner,\n },\n ].filter(prop(\"isEnabled\"));\n\nexport const getDefaultBottomLinks = isAuthenticated => [\n isAuthenticated\n ? {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/logout\";\n },\n \"data-cy\": \"profile-logout-button\",\n }\n : {\n label: t(\"neetoMolecules.sidebar.login\"),\n onClick: () => {\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/login\";\n },\n \"data-cy\": \"profile-login-button\",\n },\n];\n\nexport const getProfileInfo = profileInfoOverrides =>\n mergeDeepLeft(profileInfoOverrides, {\n name: `${globalProps.user?.firstName ?? \"\"} ${\n globalProps.user?.lastName ?? \"\"\n }`,\n imageUrl: globalProps.authenticated\n ? globalProps.user?.profileImageUrl\n : \"https://d2v7kzglnr2dnh.cloudfront.net/others/profile-pic.jpg\",\n email: globalProps.user?.email || globalProps.user?.phoneNumber,\n isAuthenticated: globalProps.authenticated,\n });\n\n// Theme switcher utils.\nexport const setDarkTheme = () => {\n document.body.classList.remove(THEMES.LIGHT);\n document.body.classList.add(THEMES.DARK);\n};\n\nexport const setLightTheme = () => {\n document.body.classList.remove(THEMES.DARK);\n document.body.classList.add(THEMES.LIGHT);\n};\n\nexport const setAppTheme = () => {\n const isDarkTheme =\n getFromLocalStorage(APP_THEME_LOCALSTORAGE_KEY) === THEMES.DARK;\n isDarkTheme ? setDarkTheme() : setLightTheme();\n};\n","import { withT } from \"neetocommons/react-utils\";\nimport { Right } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst MenuButton = withT(({ t, selectedThemeName }) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"theme-switcher-button\"\n data-testid=\"theme-switcher-button\"\n style=\"text\"\n suffix={<Right size={18} />}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.label\", {\n selectedTheme: selectedThemeName,\n })}\n </MenuItem.Button>\n));\n\nexport default MenuButton;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Check } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES,\n} from \"components/FloatingActionMenu/constants\";\nimport {\n setDarkTheme,\n setLightTheme,\n} from \"components/FloatingActionMenu/utils\";\n\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst ThemeSwitcher = () => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n const [appTheme, setAppTheme] = useLocalStorage(\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES.LIGHT\n );\n const isDarkThemeSelected = appTheme === THEMES.DARK;\n const selectedThemeName = isDarkThemeSelected\n ? t(\"neetoMolecules.sidebar.themeSwitcher.dark\")\n : t(\"neetoMolecules.sidebar.themeSwitcher.light\");\n\n const isMobile = isSize(\"mobile\");\n\n const switchTheme = theme => {\n theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();\n setAppTheme(theme);\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-theme-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ selectedThemeName }} />}\n interactiveDebounce={30}\n offset={[0, 5]}\n position={isMobile ? \"bottom\" : \"right\"}\n trigger=\"all\"\n zIndex={99999}\n >\n <Menu>\n <MenuItem.Button\n suffix={!isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\":\n !isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.LIGHT)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.light\")}\n </MenuItem.Button>\n <MenuItem.Button\n suffix={isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\": isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.DARK)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.dark\")}\n </MenuItem.Button>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default ThemeSwitcher;\n","import { isNotEmpty, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nimport LinkSection from \"./LinkSection\";\nimport ProductSwitcherMenu from \"./ProductSwitcher\";\nimport ProfileHeader from \"./ProfileHeader\";\nimport ThemeSwitcher from \"./ThemeSwitcher\";\n\nconst ProfileMenu = ({\n profileInfo,\n showProductSwitcher,\n helpLinks,\n defaultLinks,\n topLinks,\n bottomLinks,\n customContent,\n toggleModal,\n isThemeSwitcherEnabled,\n}) => {\n const { Menu, MenuItem, Divider } = Dropdown;\n const { isAuthenticated } = profileInfo;\n\n return (\n <Menu className=\"pb-1\">\n <MenuItem\n className=\"neeto-molecules-profile-popup mb-1\"\n data-cy=\"profile-popup\"\n data-testid=\"profile-popup\"\n >\n {isAuthenticated && <ProfileHeader {...{ profileInfo }} />}\n </MenuItem>\n {showProductSwitcher && <ProductSwitcherMenu {...{ toggleModal }} />}\n {isThemeSwitcherEnabled && <ThemeSwitcher />}\n {isNotEmpty(topLinks) && (\n <>\n <Divider />\n <LinkSection links={topLinks} />\n </>\n )}\n {isPresent(customContent) && (\n <>\n <Divider />\n <MenuItem className=\"neeto-molecules-floating-action-button__profile-wrapper-custom-content\">\n {customContent}\n </MenuItem>\n </>\n )}\n <Divider />\n <LinkSection links={defaultLinks} />\n <Divider />\n <LinkSection links={helpLinks} />\n <Divider />\n <LinkSection links={bottomLinks} />\n </Menu>\n );\n};\n\nexport default ProfileMenu;\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Help } from \"neetoicons\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\n\nimport KeyboardShortcuts from \"components/KeyboardShortcuts\";\n\nimport ProductSwitcherModal from \"./ProductSwitcher/Modal\";\nimport ProfileMenu from \"./ProfileMenu\";\n\nimport { DEFAULT_HELP_LINK_PROPS, DEFAULT_MENU_LINK_PROPS } from \"../constants\";\nimport {\n getDefaultBottomLinks,\n getDefaultTopLinks,\n getProfileInfo,\n} from \"../utils\";\n\nconst ProfileButton = ({\n helpLinkOverrides,\n profileInfoOverrides,\n showProductSwitcher,\n bottomLinks,\n topLinks,\n customContent,\n isThemeSwitcherEnabled,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [changesCount, setChangesCount] = useState(null);\n\n const [, setIsOpen] = KeyboardShortcuts.usePaneState();\n const [, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const { data, refetch, isStale } = useFetchNeetoApps();\n\n const profileInfo = getProfileInfo(profileInfoOverrides);\n\n useEffect(() => {\n const Nv = {\n onReceiveData: data => {\n if (!data.unreadCount) return;\n setChangesCount(data.unreadCount);\n },\n onShow: () => {\n setChangesCount(null);\n },\n };\n\n window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;\n }, []);\n\n useEffect(() => {\n if (!isStale) return;\n refetch();\n }, [isStale]);\n\n const newTopLinks =\n globalProps.appName.toLowerCase() !== \"neetoauth\"\n ? [\n ...getDefaultTopLinks(\n data?.isOwner,\n setIsProfilePaneOpen,\n profileInfo.isAuthenticated\n ),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [\n ...getDefaultBottomLinks(profileInfo.isAuthenticated),\n ...bottomLinks,\n ];\n\n const helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS)\n .map(key => ({ ...DEFAULT_HELP_LINK_PROPS[key] }))\n .filter(({ hide }) => !hide);\n\n const defaultLinks = Object.keys(DEFAULT_MENU_LINK_PROPS)\n .filter(key => DEFAULT_MENU_LINK_PROPS[key].isVisible?.() ?? true)\n .map(key => ({\n ...DEFAULT_MENU_LINK_PROPS[key],\n ...helpLinkOverrides[key],\n ...(key === \"keyboardShortcutProps\" && {\n onClick: () => setIsOpen(prev => !prev),\n }),\n ...(key === \"changelogProps\" && changesCount && { changesCount }),\n }))\n .filter(({ hide }) => !hide);\n\n return (\n <>\n <Profile.Pane />\n <Dropdown\n isMultiLevel\n appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\n data-cy=\"floating-action-button\"\n data-testid=\"floating-action-button\"\n icon={noop}\n interactiveDebounce={30}\n offset={[15, 10]}\n position=\"right-end\"\n strategy=\"fixed\"\n theme=\"light\"\n trigger=\"all\"\n zIndex={99999}\n customTarget={\n <button\n className=\"neeto-molecules-floating-action-button\"\n type=\"button\"\n >\n <Avatar\n className=\"neeto-ui-flex-shrink-0 neeto-molecules-floating-action-button__profile-avatar\"\n data-cy=\"profile-avatar\"\n data-testid=\"profile-avatar\"\n size=\"medium\"\n user={profileInfo}\n />\n <span className=\"neeto-molecules-floating-action-button__help-icon\">\n <Help size={20} />\n </span>\n </button>\n }\n dropdownProps={{\n classNames: \"neeto-molecules-floating-action-button__dropdown\",\n }}\n >\n <ProfileMenu\n {...{\n customContent,\n defaultLinks,\n helpLinks,\n isThemeSwitcherEnabled,\n profileInfo,\n showProductSwitcher,\n }}\n bottomLinks={newBottomLinks}\n toggleModal={setIsModalOpen}\n topLinks={newTopLinks}\n />\n </Dropdown>\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu__notif-count\"\n data-cy=\"help-icon-changes-count\"\n data-testid=\"help-icon-changes-count\"\n >\n {changesCount}\n </span>\n )}\n <ProductSwitcherModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n />\n </>\n );\n};\n\nexport default ProfileButton;\n","import { forwardRef, useEffect } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport ProfileButton from \"./components/ProfileButton\";\nimport \"./floating-action-menu.scss\";\nimport { setAppTheme } from \"./utils\";\n\nconst FloatingActionMenu = forwardRef(\n (\n {\n profileInfoOverrides = {},\n helpLinkOverrides = {},\n topLinks = [],\n bottomLinks = [],\n showProductSwitcher = true,\n isThemeSwitcherEnabled = false,\n customContent,\n ...otherProps\n },\n ref\n ) => {\n useEffect(() => {\n isThemeSwitcherEnabled && setAppTheme();\n }, []);\n\n return (\n <div\n {...{ ref }}\n className=\"neeto-molecules-floating-action-menu__container\"\n data-cy=\"floating-action-menu-container\"\n data-testid=\"floating-action-menu-container\"\n {...otherProps}\n >\n <ProfileButton\n {...{\n bottomLinks,\n customContent,\n helpLinkOverrides,\n isThemeSwitcherEnabled,\n profileInfoOverrides,\n showProductSwitcher,\n topLinks,\n }}\n />\n </div>\n );\n }\n);\n\nFloatingActionMenu.displayName = \"FloatingActionMenu\";\n\nFloatingActionMenu.propTypes = {\n /**\n * To specify the profile info to be rendered in the menu\n */\n profileInfoOverrides: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n imageUrl: PropTypes.string,\n }),\n /**\n * Custom content to be rendered in the menu between the top and bottom links if any\n */\n customContent: PropTypes.element,\n /**\n * Any extra links to be rendered at the top of the menu.\n */\n topLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * Any extra links to be rendered at the bottom of the menu.\n */\n bottomLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * To override the values in the help links section in the menu.\n */\n helpLinkOverrides: PropTypes.object,\n /**\n * To display the product switcher menu option.\n */\n showProductSwitcher: PropTypes.bool,\n /**\n * To display the app theme switcher above the user profile.\n If this prop is set to `true`, it will set the last selected\n theme to the app when the component is mounted.\n */\n isThemeSwitcherEnabled: PropTypes.bool,\n};\n\nexport default FloatingActionMenu;\n"],"names":["ProductLink","_ref","name","description","url","appName","concat","charAt","slice","toLowerCase","AppIcon","AppIcons","_jsxs","href","rel","target","className","classnames","globalProps","includes","children","_jsx","Neeto","Typography","component","style","weight","memo","Menu","_ref$isMobile","isMobile","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","_useFetchNeetoApps","useFetchNeetoApps","enabled","data","substring","replace","filteredApps","neetoApps","filter","_ref2","handleSearch","e","value","classNames","Input","autoFocus","placeholder","prefix","Search","type","onChange","_defineProperty","length","map","app","_objectSpread","Modal","withT","isOpen","onClose","NeetoUIModal","backdropClassName","size","Header","Body","shouldShowWhatsNew","_window$globalProps","_window$globalProps$u","currentUserEmail","window","user","email","location","hostname","endsWith","MY_ORGANIZATION_URL","CHANGELOG_WIDGET_TRIGGER_ID","MENU_ITEMS_WITH_ICONS","DEFAULT_HELP_LINK_PROPS","helpCenterProps","label","icon","Book","toLower","liveChatProps","Help","onClick","_window$NeetoChat","_window$NeetoChat$con","_window$NeetoChat2","_window$NeetoChat2$co","NeetoChat","contextualHelp","maximizeWidget","openWidget","DEFAULT_MENU_LINK_PROPS","changelogProps","id","isVisible","keyboardShortcutProps","NON_BUTTON_PROPS","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","LinkSection","links","MenuItem","Dropdown","isNotPresent","_Fragment","idx","Icon","changesCount","otherProps","_objectWithoutProperties","_excluded","Button","undefined","omit","isPresent","MenuButton","isLoading","onMouseEnter","suffix","Spinner","Right","NeetoUIDropdown","isStale","refetchNeetoApps","refetch","closeOnSelect","customTarget","MenuItemButton","disabled","interactiveDebounce","offset","position","trigger","zIndex","dropdownProps","ProductSwitcherMenu","ProductSwitcher","toggleModal","_useBreakpoints","useBreakpoints","isSize","ProfileHeader","profileInfo","Avatar","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","phoneNumber","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","isAuthenticated","isEnabled","open","prop","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","_globalProps$user$fir","_globalProps$user3","_globalProps$user$las","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","mergeDeepLeft","firstName","lastName","imageUrl","authenticated","profileImageUrl","setDarkTheme","document","body","classList","remove","add","setLightTheme","setAppTheme","isDarkTheme","getFromLocalStorage","selectedThemeName","selectedTheme","ThemeSwitcher","_useLocalStorage","useLocalStorage","_useLocalStorage2","appTheme","isDarkThemeSelected","switchTheme","theme","Check","ProfileMenu","showProductSwitcher","helpLinks","defaultLinks","topLinks","bottomLinks","customContent","isThemeSwitcherEnabled","Divider","isNotEmpty","ProfileButton","helpLinkOverrides","isModalOpen","setIsModalOpen","_useState3","_useState4","setChangesCount","_KeyboardShortcuts$us","KeyboardShortcuts","usePaneState","_KeyboardShortcuts$us2","setIsOpen","_Profile$usePaneState","Profile","_Profile$usePaneState2","useEffect","Nv","onReceiveData","unreadCount","onShow","Object","assign","newTopLinks","_toConsumableArray","newBottomLinks","keys","key","hide","_DEFAULT_MENU_LINK_PR","_DEFAULT_MENU_LINK_PR2","_DEFAULT_MENU_LINK_PR3","call","prev","_ref3","Pane","isMultiLevel","appendTo","buttonStyle","noop","strategy","ProductSwitcherModal","FloatingActionMenu","forwardRef","ref","_ref$profileInfoOverr","_ref$helpLinkOverride","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Menu.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Modal.jsx","../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/components/LinkSection.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Dropdown.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileHeader.jsx","../src/components/FloatingActionMenu/utils.js","../src/components/FloatingActionMenu/components/ThemeSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ThemeSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileMenu.jsx","../src/components/FloatingActionMenu/components/ProfileButton.jsx","../src/components/FloatingActionMenu/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as AppIcons from \"neetoicons/typeface-logos\";\nimport { Typography } from \"neetoui\";\n\nimport \"./product-switcher.scss\";\n\nconst ProductLink = ({ name, description, url }) => {\n const appName = `Neeto${name.charAt(0)}${name.slice(1).toLowerCase()}`;\n const AppIcon = AppIcons[appName];\n\n return (\n <a\n data-cy={`${name}-app-link`}\n data-test-id={`neetoapp-link-${name}`}\n href={url}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"neeto-molecules-product-switcher-link\", {\n \"neeto-molecules-product-switcher-link--active\":\n globalProps.appName.includes(name),\n })}\n >\n <div className=\"neeto-molecules-product-switcher-link__icon-holder\">\n {AppIcon ? (\n <AppIcon />\n ) : (\n <Neeto className=\"neeto-molecules-product-switcher-link__icon-default\" />\n )}\n </div>\n <div className=\"neeto-molecules-product-switcher-link__divider neeto-ui-bg-gray-200\" />\n <div className=\"neeto-molecules-product-switcher-link__content\">\n <Typography component=\"span\" style=\"body3\" weight=\"medium\">\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default memo(ProductLink);\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./product-switcher.scss\";\nimport ProductLink from \"./ProductLink\";\n\nconst Menu = ({ isMobile = false }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { data } = useFetchNeetoApps({ enabled: false });\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n const handleSearch = e => setSearchTerm(e.target.value);\n\n return (\n <div\n className=\"neeto-molecules-product-switcher__wrapper\"\n data-cy=\"switcher-wrapper\"\n data-testid=\"switcher-wrapper\"\n key=\"switcher-wrapper\"\n >\n <div\n data-cy=\"product-switcher-body-wrapper\"\n className={classNames(\"neeto-molecules-product-switcher__header\", {\n \"neeto-molecules-product-switcher__header-mobile\": isMobile,\n })}\n >\n {!isMobile && (\n <Typography style=\"h1\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n )}\n <div className=\"neeto-molecules-product-switcher__search-wrapper\">\n <Input\n autoFocus\n data-cy=\"product-switcher-search-input\"\n placeholder={t(\"neetoMolecules.productSwitcher.searchProducts\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n </div>\n <div\n className={classNames(\"neeto-molecules-product-switcher__body\", {\n [\"neeto-molecules-product-switcher__body-mobile\"]: isMobile,\n })}\n >\n {filteredApps?.length > 0 ? (\n <div className=\"neeto-molecules-product-switcher__grid\">\n {filteredApps.map(app => (\n <ProductLink key={app.name} {...app} />\n ))}\n </div>\n ) : (\n <Typography className=\"neeto-ui-text-center\" style=\"body1\">\n {t(\"neetoMolecules.productSwitcher.noApps\")}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Modal as NeetoUIModal, Typography } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = withT(({ t, isOpen, onClose }) => (\n <NeetoUIModal\n {...{ isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"fullScreen\"\n >\n <NeetoUIModal.Header>\n <Typography className=\"pr-4\" style=\"h2\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n </NeetoUIModal.Header>\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu isMobile />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n));\n\nexport default Modal;\n","import { t } from \"i18next\";\nimport { Book, Help } from \"neetoicons\";\nimport { toLower } from \"ramda\";\n\nconst shouldShowWhatsNew = () => {\n const currentUserEmail = window.globalProps?.user?.email;\n\n return (\n window.location.hostname === \"localhost\" ||\n currentUserEmail === \"oliver@example.com\" ||\n currentUserEmail?.endsWith(\"@bigbinary.com\")\n );\n};\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const CHANGELOG_WIDGET_TRIGGER_ID = \"neetochangelog-trigger\";\nexport const MENU_ITEMS_WITH_ICONS = [\"Chat with support\", \"Help articles\"];\n\nexport const DEFAULT_HELP_LINK_PROPS = {\n helpCenterProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.helpArticles\"),\n icon: Book,\n \"data-cy\": \"help-link-help-center-button\",\n \"data-btn-weight\": \"bold\",\n href: `https://help.${toLower(globalProps.appName)}.com/`,\n target: \"_blank\",\n },\n liveChatProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.liveChat\"),\n icon: Help,\n \"data-cy\": \"help-link-live-chat-button\",\n \"data-btn-weight\": \"bold\",\n onClick: () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n },\n },\n};\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n changelogProps: {\n id: CHANGELOG_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-cy\": \"help-link-changelog-button\",\n isVisible: shouldShowWhatsNew,\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-cy\": \"help-link-keyboard-shortcut-button\",\n },\n};\n\nexport const NON_BUTTON_PROPS = [\"isVisible\"];\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n","import { isNotPresent, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport { MENU_ITEMS_WITH_ICONS, NON_BUTTON_PROPS } from \"../constants\";\n\nconst LinkSection = ({ links }) => {\n const { MenuItem } = Dropdown;\n if (isNotPresent(links)) return null;\n\n return (\n <>\n {links.map(({ label, icon: Icon, changesCount, ...otherProps }, idx) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"floating-action-menu-link-section\"\n key={idx}\n style=\"text\"\n prefix={\n MENU_ITEMS_WITH_ICONS.includes(label) ? (\n <Icon size={18} />\n ) : undefined\n }\n {...omit(NON_BUTTON_PROPS, otherProps)}\n >\n {label}\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu-list__item-btn-count\"\n data-cy=\"help-section-menu-changes-count\"\n data-testid=\"help-section-menu-changes-count\"\n >\n {changesCount}\n </span>\n )}\n </MenuItem.Button>\n ))}\n </>\n );\n};\n\nexport default LinkSection;\n","import { Right } from \"neetoicons\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ isLoading, onMouseEnter, ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\n {...{ onMouseEnter }}\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"product-switcher-button\"\n data-testid=\"product-switcher-button\"\n label={t(\"neetoMolecules.sidebar.productSwitcher\")}\n style=\"text\"\n suffix={isLoading ? <Spinner /> : <Right size={18} />}\n {...otherProps}\n >\n {t(\"neetoMolecules.sidebar.productSwitcher\")}\n </MenuItem.Button>\n );\n};\n\nexport default MenuButton;\n","import useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst Dropdown = () => {\n const { Menu, MenuItem } = NeetoUIDropdown;\n\n const {\n data,\n isLoading,\n isStale,\n refetch: refetchNeetoApps,\n } = useFetchNeetoApps();\n\n const onMouseEnter = () => {\n if (!isStale) return;\n refetchNeetoApps();\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ isLoading, onMouseEnter }} />}\n disabled={!data || isLoading}\n interactiveDebounce={30}\n isOpen={!data ? false : undefined}\n offset={[0, 5]}\n position=\"right\"\n trigger=\"all\"\n zIndex={99999}\n dropdownProps={{\n classNames: \"neeto-molecules-product-switcher-menu-popup__dropdown\",\n }}\n >\n <Menu>\n <MenuItem>\n <ProductSwitcherMenu />\n </MenuItem>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default Dropdown;\n","import useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\n\nimport Dropdown from \"./Dropdown\";\nimport MenuButton from \"./MenuButton\";\n\nconst ProductSwitcher = ({ toggleModal }) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n return isMobile ? (\n <MenuButton onClick={() => toggleModal(true)} />\n ) : (\n <Dropdown />\n );\n};\n\nexport default ProductSwitcher;\n","import { truncate } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nconst ProfileHeader = ({ profileInfo }) => {\n const { name, email } = profileInfo;\n\n return (\n <div\n className=\"neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-50 neeto-molecules-profile-popup__top-section\"\n data-cy=\"floating-action-menu-profile-header\"\n >\n <div className=\"left-0 top-0\">\n <Avatar\n data-cy=\"floating-action-menu-header-profile-icon\"\n size=\"large\"\n user={profileInfo}\n />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3\">\n <Typography\n className=\"neeto-ui-m-0\"\n component=\"h2\"\n data-cy=\"floating-action-menu-header-user-name\"\n lineHeight=\"tight\"\n style=\"h5\"\n title={name}\n weight=\"semibold\"\n >\n {truncate(name, 18)}\n </Typography>\n {email && (\n <Typography\n className=\"neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700\"\n data-cy=\"floating-action-menu-header-user-email\"\n lineHeight=\"tight\"\n style=\"body3\"\n >\n {email}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProfileHeader;\n","import { t } from \"i18next\";\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { resetAuthTokens } from \"neetocommons/utils/axios\";\nimport { removeFromLocalStorage } from \"neetocommons/utils/general\";\nimport { mergeDeepLeft, prop } from \"ramda\";\n\nimport {\n MY_ORGANIZATION_URL,\n THEMES,\n APP_THEME_LOCALSTORAGE_KEY,\n} from \"./constants\";\n\nconst getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const getDefaultTopLinks = (\n isOwner,\n setIsProfilePaneOpen,\n isAuthenticated\n) =>\n [\n {\n label: t(\"neetoMolecules.sidebar.myProfile\"),\n onClick: () => setIsProfilePaneOpen(true),\n \"data-cy\": \"my-profile-button\",\n \"data-testid\": \"my-profile-button\",\n isEnabled: isAuthenticated,\n },\n {\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n isEnabled: isAuthenticated && isOwner,\n },\n ].filter(prop(\"isEnabled\"));\n\nexport const getDefaultBottomLinks = isAuthenticated => [\n isAuthenticated\n ? {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/logout\";\n },\n \"data-cy\": \"profile-logout-button\",\n }\n : {\n label: t(\"neetoMolecules.sidebar.login\"),\n onClick: () => {\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/login\";\n },\n \"data-cy\": \"profile-login-button\",\n },\n];\n\nexport const getProfileInfo = profileInfoOverrides =>\n mergeDeepLeft(profileInfoOverrides, {\n name: `${globalProps.user?.firstName ?? \"\"} ${\n globalProps.user?.lastName ?? \"\"\n }`,\n imageUrl: globalProps.authenticated\n ? globalProps.user?.profileImageUrl\n : \"https://d2v7kzglnr2dnh.cloudfront.net/others/profile-pic.jpg\",\n email: globalProps.user?.email || globalProps.user?.phoneNumber,\n isAuthenticated: globalProps.authenticated,\n });\n\n// Theme switcher utils.\nexport const setDarkTheme = () => {\n document.body.classList.remove(THEMES.LIGHT);\n document.body.classList.add(THEMES.DARK);\n};\n\nexport const setLightTheme = () => {\n document.body.classList.remove(THEMES.DARK);\n document.body.classList.add(THEMES.LIGHT);\n};\n\nexport const setAppTheme = () => {\n const isDarkTheme =\n getFromLocalStorage(APP_THEME_LOCALSTORAGE_KEY) === THEMES.DARK;\n isDarkTheme ? setDarkTheme() : setLightTheme();\n};\n","import { withT } from \"neetocommons/react-utils\";\nimport { Right } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst MenuButton = withT(({ t, selectedThemeName }) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"theme-switcher-button\"\n data-testid=\"theme-switcher-button\"\n style=\"text\"\n suffix={<Right size={18} />}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.label\", {\n selectedTheme: selectedThemeName,\n })}\n </MenuItem.Button>\n));\n\nexport default MenuButton;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Check } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES,\n} from \"components/FloatingActionMenu/constants\";\nimport {\n setDarkTheme,\n setLightTheme,\n} from \"components/FloatingActionMenu/utils\";\n\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst ThemeSwitcher = () => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n const [appTheme, setAppTheme] = useLocalStorage(\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES.LIGHT\n );\n const isDarkThemeSelected = appTheme === THEMES.DARK;\n const selectedThemeName = isDarkThemeSelected\n ? t(\"neetoMolecules.sidebar.themeSwitcher.dark\")\n : t(\"neetoMolecules.sidebar.themeSwitcher.light\");\n\n const isMobile = isSize(\"mobile\");\n\n const switchTheme = theme => {\n theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();\n setAppTheme(theme);\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-theme-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ selectedThemeName }} />}\n interactiveDebounce={30}\n offset={[0, 5]}\n position={isMobile ? \"bottom\" : \"right\"}\n trigger=\"all\"\n zIndex={99999}\n >\n <Menu>\n <MenuItem.Button\n suffix={!isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\":\n !isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.LIGHT)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.light\")}\n </MenuItem.Button>\n <MenuItem.Button\n suffix={isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\": isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.DARK)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.dark\")}\n </MenuItem.Button>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default ThemeSwitcher;\n","import { isNotEmpty, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nimport LinkSection from \"./LinkSection\";\nimport ProductSwitcherMenu from \"./ProductSwitcher\";\nimport ProfileHeader from \"./ProfileHeader\";\nimport ThemeSwitcher from \"./ThemeSwitcher\";\n\nconst ProfileMenu = ({\n profileInfo,\n showProductSwitcher,\n helpLinks,\n defaultLinks,\n topLinks,\n bottomLinks,\n customContent,\n toggleModal,\n isThemeSwitcherEnabled,\n}) => {\n const { Menu, MenuItem, Divider } = Dropdown;\n const { isAuthenticated } = profileInfo;\n\n return (\n <Menu className=\"pb-1\">\n <MenuItem\n className=\"neeto-molecules-profile-popup mb-1\"\n data-cy=\"profile-popup\"\n data-testid=\"profile-popup\"\n >\n {isAuthenticated && <ProfileHeader {...{ profileInfo }} />}\n </MenuItem>\n {showProductSwitcher && <ProductSwitcherMenu {...{ toggleModal }} />}\n {isThemeSwitcherEnabled && <ThemeSwitcher />}\n {isNotEmpty(topLinks) && (\n <>\n <Divider />\n <LinkSection links={topLinks} />\n </>\n )}\n {isPresent(customContent) && (\n <>\n <Divider />\n <MenuItem className=\"neeto-molecules-floating-action-button__profile-wrapper-custom-content\">\n {customContent}\n </MenuItem>\n </>\n )}\n <Divider />\n <LinkSection links={defaultLinks} />\n <Divider />\n <LinkSection links={helpLinks} />\n <Divider />\n <LinkSection links={bottomLinks} />\n </Menu>\n );\n};\n\nexport default ProfileMenu;\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Help } from \"neetoicons\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\n\nimport KeyboardShortcuts from \"components/KeyboardShortcuts\";\n\nimport ProductSwitcherModal from \"./ProductSwitcher/Modal\";\nimport ProfileMenu from \"./ProfileMenu\";\n\nimport { DEFAULT_HELP_LINK_PROPS, DEFAULT_MENU_LINK_PROPS } from \"../constants\";\nimport {\n getDefaultBottomLinks,\n getDefaultTopLinks,\n getProfileInfo,\n} from \"../utils\";\n\nconst ProfileButton = ({\n helpLinkOverrides,\n profileInfoOverrides,\n showProductSwitcher,\n bottomLinks,\n topLinks,\n customContent,\n isThemeSwitcherEnabled,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [changesCount, setChangesCount] = useState(null);\n\n const [, setIsOpen] = KeyboardShortcuts.usePaneState();\n const [, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const { data, refetch, isStale } = useFetchNeetoApps();\n\n const profileInfo = getProfileInfo(profileInfoOverrides);\n\n useEffect(() => {\n const Nv = {\n onReceiveData: data => {\n if (!data.unreadCount) return;\n setChangesCount(data.unreadCount);\n },\n onShow: () => {\n setChangesCount(null);\n },\n };\n\n window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;\n }, []);\n\n useEffect(() => {\n if (!isStale) return;\n refetch();\n }, [isStale]);\n\n const newTopLinks =\n globalProps.appName.toLowerCase() !== \"neetoauth\"\n ? [\n ...getDefaultTopLinks(\n data?.isOwner,\n setIsProfilePaneOpen,\n profileInfo.isAuthenticated\n ),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [\n ...getDefaultBottomLinks(profileInfo.isAuthenticated),\n ...bottomLinks,\n ];\n\n const helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS)\n .map(key => ({ ...DEFAULT_HELP_LINK_PROPS[key] }))\n .filter(({ hide }) => !hide);\n\n const defaultLinks = Object.keys(DEFAULT_MENU_LINK_PROPS)\n .filter(key => DEFAULT_MENU_LINK_PROPS[key].isVisible?.() ?? true)\n .map(key => ({\n ...DEFAULT_MENU_LINK_PROPS[key],\n ...helpLinkOverrides[key],\n ...(key === \"keyboardShortcutProps\" && {\n onClick: () => setIsOpen(prev => !prev),\n }),\n ...(key === \"changelogProps\" && changesCount && { changesCount }),\n }))\n .filter(({ hide }) => !hide);\n\n return (\n <>\n <Profile.Pane />\n <Dropdown\n isMultiLevel\n appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\n data-cy=\"floating-action-button\"\n data-testid=\"floating-action-button\"\n icon={noop}\n interactiveDebounce={30}\n offset={[15, 10]}\n position=\"right-end\"\n strategy=\"fixed\"\n theme=\"light\"\n trigger=\"all\"\n zIndex={99999}\n customTarget={\n <button\n className=\"neeto-molecules-floating-action-button\"\n type=\"button\"\n >\n <Avatar\n className=\"neeto-ui-flex-shrink-0 neeto-molecules-floating-action-button__profile-avatar\"\n data-cy=\"profile-avatar\"\n data-testid=\"profile-avatar\"\n size=\"medium\"\n user={profileInfo}\n />\n <span className=\"neeto-molecules-floating-action-button__help-icon\">\n <Help size={20} />\n </span>\n </button>\n }\n dropdownProps={{\n classNames: \"neeto-molecules-floating-action-button__dropdown\",\n }}\n >\n <ProfileMenu\n {...{\n customContent,\n defaultLinks,\n helpLinks,\n isThemeSwitcherEnabled,\n profileInfo,\n showProductSwitcher,\n }}\n bottomLinks={newBottomLinks}\n toggleModal={setIsModalOpen}\n topLinks={newTopLinks}\n />\n </Dropdown>\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu__notif-count\"\n data-cy=\"help-icon-changes-count\"\n data-testid=\"help-icon-changes-count\"\n >\n {changesCount}\n </span>\n )}\n <ProductSwitcherModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n />\n </>\n );\n};\n\nexport default ProfileButton;\n","import { forwardRef, useEffect } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport ProfileButton from \"./components/ProfileButton\";\nimport \"./floating-action-menu.scss\";\nimport { setAppTheme } from \"./utils\";\n\nconst FloatingActionMenu = forwardRef(\n (\n {\n profileInfoOverrides = {},\n helpLinkOverrides = {},\n topLinks = [],\n bottomLinks = [],\n showProductSwitcher = true,\n isThemeSwitcherEnabled = false,\n customContent,\n ...otherProps\n },\n ref\n ) => {\n useEffect(() => {\n isThemeSwitcherEnabled && setAppTheme();\n }, []);\n\n return (\n <div\n {...{ ref }}\n className=\"neeto-molecules-floating-action-menu__container\"\n data-cy=\"floating-action-menu-container\"\n data-testid=\"floating-action-menu-container\"\n {...otherProps}\n >\n <ProfileButton\n {...{\n bottomLinks,\n customContent,\n helpLinkOverrides,\n isThemeSwitcherEnabled,\n profileInfoOverrides,\n showProductSwitcher,\n topLinks,\n }}\n />\n </div>\n );\n }\n);\n\nFloatingActionMenu.displayName = \"FloatingActionMenu\";\n\nFloatingActionMenu.propTypes = {\n /**\n * To specify the profile info to be rendered in the menu\n */\n profileInfoOverrides: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n imageUrl: PropTypes.string,\n }),\n /**\n * Custom content to be rendered in the menu between the top and bottom links if any\n */\n customContent: PropTypes.element,\n /**\n * Any extra links to be rendered at the top of the menu.\n */\n topLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * Any extra links to be rendered at the bottom of the menu.\n */\n bottomLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * To override the values in the help links section in the menu.\n */\n helpLinkOverrides: PropTypes.object,\n /**\n * To display the product switcher menu option.\n */\n showProductSwitcher: PropTypes.bool,\n /**\n * To display the app theme switcher above the user profile.\n If this prop is set to `true`, it will set the last selected\n theme to the app when the component is mounted.\n */\n isThemeSwitcherEnabled: PropTypes.bool,\n};\n\nexport default FloatingActionMenu;\n"],"names":["ProductLink","_ref","name","description","url","appName","concat","charAt","slice","toLowerCase","AppIcon","AppIcons","_jsxs","href","rel","target","className","classnames","globalProps","includes","children","_jsx","Neeto","Typography","component","style","weight","memo","Menu","_ref$isMobile","isMobile","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","_useFetchNeetoApps","useFetchNeetoApps","enabled","data","substring","replace","filteredApps","neetoApps","filter","_ref2","handleSearch","e","value","classNames","Input","autoFocus","placeholder","prefix","Search","type","onChange","_defineProperty","length","map","app","_objectSpread","Modal","withT","isOpen","onClose","NeetoUIModal","backdropClassName","size","Header","Body","shouldShowWhatsNew","_window$globalProps","_window$globalProps$u","currentUserEmail","window","user","email","location","hostname","endsWith","MY_ORGANIZATION_URL","CHANGELOG_WIDGET_TRIGGER_ID","MENU_ITEMS_WITH_ICONS","DEFAULT_HELP_LINK_PROPS","helpCenterProps","label","icon","Book","toLower","liveChatProps","Help","onClick","_window$NeetoChat","_window$NeetoChat$con","_window$NeetoChat2","_window$NeetoChat2$co","NeetoChat","contextualHelp","maximizeWidget","openWidget","DEFAULT_MENU_LINK_PROPS","changelogProps","id","isVisible","keyboardShortcutProps","NON_BUTTON_PROPS","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","LinkSection","links","MenuItem","Dropdown","isNotPresent","_Fragment","idx","Icon","changesCount","otherProps","_objectWithoutProperties","_excluded","Button","undefined","omit","isPresent","MenuButton","isLoading","onMouseEnter","suffix","Spinner","Right","NeetoUIDropdown","isStale","refetchNeetoApps","refetch","closeOnSelect","customTarget","MenuItemButton","disabled","interactiveDebounce","offset","position","trigger","zIndex","dropdownProps","ProductSwitcherMenu","ProductSwitcher","toggleModal","_useBreakpoints","useBreakpoints","isSize","ProfileHeader","profileInfo","Avatar","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","phoneNumber","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","isAuthenticated","isEnabled","open","prop","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","_globalProps$user$fir","_globalProps$user3","_globalProps$user$las","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","mergeDeepLeft","firstName","lastName","imageUrl","authenticated","profileImageUrl","setDarkTheme","document","body","classList","remove","add","setLightTheme","setAppTheme","isDarkTheme","getFromLocalStorage","selectedThemeName","selectedTheme","ThemeSwitcher","_useLocalStorage","useLocalStorage","_useLocalStorage2","appTheme","isDarkThemeSelected","switchTheme","theme","Check","ProfileMenu","showProductSwitcher","helpLinks","defaultLinks","topLinks","bottomLinks","customContent","isThemeSwitcherEnabled","Divider","isNotEmpty","ProfileButton","helpLinkOverrides","isModalOpen","setIsModalOpen","_useState3","_useState4","setChangesCount","_KeyboardShortcuts$us","KeyboardShortcuts","usePaneState","_KeyboardShortcuts$us2","setIsOpen","_Profile$usePaneState","Profile","_Profile$usePaneState2","useEffect","Nv","onReceiveData","unreadCount","onShow","Object","assign","newTopLinks","_toConsumableArray","newBottomLinks","keys","key","hide","_DEFAULT_MENU_LINK_PR","_DEFAULT_MENU_LINK_PR2","_DEFAULT_MENU_LINK_PR3","call","prev","_ref3","Pane","isMultiLevel","appendTo","buttonStyle","noop","strategy","ProductSwitcherModal","FloatingActionMenu","forwardRef","ref","_ref$profileInfoOverr","_ref$helpLinkOverride","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","displayName"],"mappings":"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"}
|