@bigbinary/neeto-molecules 3.7.27 → 3.7.28
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/Builder.js.map +1 -1
- package/dist/CustomDomain.js +1 -4
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +3 -6
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/EmailForm.js +1 -1
- package/dist/EmailForm.js.map +1 -1
- package/dist/FloatingActionMenu.js +24 -22
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/IpRestriction.js +1 -1
- package/dist/IpRestriction.js.map +1 -1
- package/dist/MoreDropdown.js +1 -1
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/Onboarding.js.map +1 -1
- package/dist/PublishBlock.js +15 -13
- package/dist/PublishBlock.js.map +1 -1
- package/dist/ToggleFeatureCard.js +7 -3
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CustomDomain.js +1 -4
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +3 -6
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/EmailForm.js +1 -1
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +23 -21
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/IpRestriction.js +1 -1
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +1 -1
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/PublishBlock.js +12 -10
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +7 -3
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/{index-Dfq9GJPm.js → index-C4nGx1kT.js} +6 -5
- package/dist/cjs/index-C4nGx1kT.js.map +1 -0
- package/dist/{index-YZ7vuBmP.js → index-BXT7Ma5O.js} +6 -5
- package/dist/index-BXT7Ma5O.js.map +1 -0
- package/package.json +5 -3
- package/types/Onboarding.d.ts +1 -1
- package/dist/cjs/index-Dfq9GJPm.js.map +0 -1
- package/dist/index-YZ7vuBmP.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-cy=\"email-form\"\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2 !pb-0\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n )}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"neeto-ui-bg-white z-10 w-full justify-start py-6 lg:sticky lg:bottom-0\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","getValidationSchema","_ref","customValidations","schema","clone","concat","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","description","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showBccField","showCcField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","_jsxs","_Fragment","children","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","Radio","map","_ref3","_createElement","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$showCcField","_ref$showBccField","_ref$maxEmails","Provider","Form","enableReinitialize","globalProps","user"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-cy=\"email-form\"\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2 !pb-0\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n )}\n <div className=\"w-full\">\n <FormikEditor\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"neeto-ui-bg-white z-10 w-full justify-start py-6 lg:sticky lg:bottom-0\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","getValidationSchema","_ref","customValidations","schema","clone","concat","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showBccField","showCcField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","_jsxs","_Fragment","children","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","Radio","map","_ref3","_createElement","Item","FormikEditor","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$showCcField","_ref$showBccField","_ref$maxEmails","Provider","Form","enableReinitialize","globalProps","user"],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ var ProductLink$1 = /*#__PURE__*/React.memo(ProductLink);
|
|
|
104
104
|
|
|
105
105
|
function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
106
106
|
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
107
|
-
var Menu$
|
|
107
|
+
var Menu$2 = function Menu(_ref) {
|
|
108
108
|
var _ref$isMobile = _ref.isMobile,
|
|
109
109
|
isMobile = _ref$isMobile === void 0 ? false : _ref$isMobile;
|
|
110
110
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -184,7 +184,7 @@ var Modal = reactUtils.withT(function (_ref) {
|
|
|
184
184
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
185
185
|
className: "neeto-molecules-product-switcher_modal-container",
|
|
186
186
|
"data-testid": "product-switcher-modal",
|
|
187
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Menu$
|
|
187
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Menu$2, {
|
|
188
188
|
isMobile: true
|
|
189
189
|
})
|
|
190
190
|
})
|
|
@@ -299,9 +299,9 @@ var MenuButton$1 = function MenuButton(_ref) {
|
|
|
299
299
|
}));
|
|
300
300
|
};
|
|
301
301
|
|
|
302
|
+
var Menu$1 = Dropdown$1.Menu,
|
|
303
|
+
MenuItem$2 = Dropdown$1.MenuItem;
|
|
302
304
|
var Dropdown = function Dropdown() {
|
|
303
|
-
var Menu = Dropdown$1.Menu,
|
|
304
|
-
MenuItem = Dropdown$1.MenuItem;
|
|
305
305
|
var _useFetchNeetoApps = useFetchNeetoApps(),
|
|
306
306
|
data = _useFetchNeetoApps.data,
|
|
307
307
|
isLoading = _useFetchNeetoApps.isLoading,
|
|
@@ -312,6 +312,7 @@ var Dropdown = function Dropdown() {
|
|
|
312
312
|
refetchNeetoApps();
|
|
313
313
|
};
|
|
314
314
|
return /*#__PURE__*/jsxRuntime.jsx(Dropdown$1, {
|
|
315
|
+
appendTo: "parent",
|
|
315
316
|
className: "neeto-molecules-product-switcher-menu-popup-wrapper",
|
|
316
317
|
closeOnSelect: false,
|
|
317
318
|
customTarget: /*#__PURE__*/jsxRuntime.jsx(MenuButton$1, {
|
|
@@ -328,9 +329,9 @@ var Dropdown = function Dropdown() {
|
|
|
328
329
|
dropdownProps: {
|
|
329
330
|
classNames: "neeto-molecules-product-switcher-menu-popup__dropdown"
|
|
330
331
|
},
|
|
331
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
|
|
332
|
-
children: /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
333
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Menu$
|
|
332
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Menu$1, {
|
|
333
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MenuItem$2, {
|
|
334
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Menu$2, {})
|
|
334
335
|
})
|
|
335
336
|
})
|
|
336
337
|
});
|
|
@@ -390,22 +391,25 @@ var getSidebarStateLocalStorageKey = function getSidebarStateLocalStorageKey() {
|
|
|
390
391
|
return "sidebarState-".concat(user);
|
|
391
392
|
};
|
|
392
393
|
var getDefaultTopLinks = function getDefaultTopLinks(isOwner, setIsProfilePaneOpen, isAuthenticated) {
|
|
393
|
-
return [
|
|
394
|
+
if (!isAuthenticated) return [];
|
|
395
|
+
var topLinks = [{
|
|
394
396
|
label: i18next.t("neetoMolecules.sidebar.myProfile"),
|
|
395
397
|
onClick: function onClick() {
|
|
396
398
|
return setIsProfilePaneOpen(true);
|
|
397
399
|
},
|
|
398
400
|
"data-cy": "my-profile-button",
|
|
399
|
-
"data-testid": "my-profile-button"
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
401
|
+
"data-testid": "my-profile-button"
|
|
402
|
+
}];
|
|
403
|
+
if (isOwner) {
|
|
404
|
+
topLinks.push({
|
|
405
|
+
label: i18next.t("neetoMolecules.sidebar.myWorkspace"),
|
|
406
|
+
onClick: function onClick() {
|
|
407
|
+
return window.open(MY_ORGANIZATION_URL, "_self");
|
|
408
|
+
},
|
|
409
|
+
"data-cy": "profile-organization-settings-button"
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
return topLinks;
|
|
409
413
|
};
|
|
410
414
|
var getDefaultBottomLinks = function getDefaultBottomLinks(isAuthenticated) {
|
|
411
415
|
return [isAuthenticated ? {
|
|
@@ -487,6 +491,7 @@ var ThemeSwitcher = function ThemeSwitcher() {
|
|
|
487
491
|
setAppTheme(theme);
|
|
488
492
|
};
|
|
489
493
|
return /*#__PURE__*/jsxRuntime.jsx(Dropdown$1, {
|
|
494
|
+
appendTo: "parent",
|
|
490
495
|
className: "neeto-molecules-theme-switcher-menu-popup-wrapper",
|
|
491
496
|
closeOnSelect: false,
|
|
492
497
|
customTarget: /*#__PURE__*/jsxRuntime.jsx(MenuButton, {
|
|
@@ -641,14 +646,11 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
641
646
|
});
|
|
642
647
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
643
648
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoTeamMembersFrontend.Profile.Pane, {}), /*#__PURE__*/jsxRuntime.jsx(Dropdown$1, {
|
|
644
|
-
isMultiLevel: true,
|
|
645
649
|
appendTo: function appendTo() {
|
|
646
650
|
return document.body;
|
|
647
651
|
},
|
|
648
652
|
buttonStyle: "link",
|
|
649
653
|
closeOnSelect: false,
|
|
650
|
-
"data-cy": "floating-action-button",
|
|
651
|
-
"data-testid": "floating-action-button",
|
|
652
654
|
icon: neetoCist.noop,
|
|
653
655
|
interactiveDebounce: 30,
|
|
654
656
|
offset: [15, 10],
|
|
@@ -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 { Menu, MenuItem } = NeetoUIDropdown;\n\nconst Dropdown = () => {\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 appendTo=\"parent\"\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 } 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 if (!isAuthenticated) return [];\n\n const topLinks = [\n {\n label: t(\"neetoMolecules.sidebar.myProfile\"),\n onClick: () => setIsProfilePaneOpen(true),\n \"data-cy\": \"my-profile-button\",\n \"data-testid\": \"my-profile-button\",\n },\n ];\n\n if (isOwner) {\n topLinks.push({\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n });\n }\n\n return topLinks;\n};\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 appendTo=\"parent\"\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 appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\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","appendTo","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","topLinks","push","open","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","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","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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"}
|