@bigbinary/neeto-editor 1.47.127 → 1.47.130

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-DRJy8PFC.cjs.js","sources":["../../src/v2/components/Editor/constants.js","../../src/v2/components/Editor/utils.js","../../src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/constants.js","../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu.jsx","../../src/v2/components/Editor/CustomExtensions/Embeds/utils.js","../../src/v2/components/Editor/CustomExtensions/Mention/index.jsx","../../src/v2/components/Editor/Menu/Fixed/components/Button.jsx","../../src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutIcon.jsx","../../src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutTypeOption.jsx","../../src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/RenderCalloutOptions.jsx","../../src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/index.jsx","../../src/v2/components/Editor/Menu/Fixed/components/EmojiOption.jsx","../../src/v2/components/Editor/Menu/Fixed/components/TextColorOption.jsx","../../src/v2/components/Editor/Menu/Bubble/LinkOption.jsx","../../src/v2/components/Editor/Menu/Bubble/TableOption.jsx","../../src/v2/components/Editor/Menu/Bubble/utils.jsx","../../src/v2/components/Editor/Menu/Bubble/Options.jsx","../../src/v2/components/Editor/Menu/Bubble/index.jsx","../../src/v2/components/Editor/Menu/EmptyMenu.jsx","../../src/v2/components/Editor/MediaUploader/Progress.jsx","../../src/v2/components/Editor/MediaUploader/LocalUploader.jsx","../../src/v2/components/Editor/MediaUploader/VideoEmbedForm.jsx","../../src/v2/components/Editor/MediaUploader/index.jsx","../../src/v2/components/Editor/Menu/Fixed/components/LinkAddPopOver.jsx","../../src/v2/components/Editor/Menu/Fixed/components/MoreMenu.jsx","../../src/v2/components/Editor/Menu/Fixed/hooks/constants.js","../../src/v2/components/Editor/Menu/Fixed/hooks/useEditorState.js","../../src/v2/components/Editor/Menu/DynamicVariables.jsx","../../src/v2/components/Editor/Menu/Fixed/index.jsx","../../src/v2/components/Editor/Menu/Headless/Option/UI/Button.jsx","../../src/v2/components/Editor/Menu/Headless/Option/UI/Dropdown.jsx","../../src/v2/components/Editor/Menu/Headless/Option/Emoji.jsx","../../src/v2/components/Editor/Menu/Headless/Option/index.jsx","../../src/v2/components/Editor/Menu/Headless/utils.js","../../src/v2/components/Editor/Menu/Headless/index.jsx","../../src/v2/components/Editor/Menu/constants.js","../../src/v2/components/Editor/Menu/Fixed/components/FontSizeOption.jsx","../../src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/ColorDot.jsx","../../src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/constants.js","../../src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/index.jsx","../../src/v2/components/Editor/Menu/Fixed/components/TableOption.jsx","../../src/v2/components/Editor/Menu/Fixed/constants.js","../../src/v2/components/Editor/Menu/Fixed/utils.js","../../src/v2/components/Editor/Menu/index.jsx"],"sourcesContent":["import { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"common/constants\";\nimport { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const DEFAULT_EDITOR_OPTIONS = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.PARAGRAPH,\n EDITOR_OPTIONS.H1,\n EDITOR_OPTIONS.H2,\n EDITOR_OPTIONS.H3,\n EDITOR_OPTIONS.H4,\n EDITOR_OPTIONS.H5,\n EDITOR_OPTIONS.H6,\n EDITOR_OPTIONS.LIST_BULLETS,\n EDITOR_OPTIONS.LIST_ORDERED,\n EDITOR_OPTIONS.CODE,\n];\nexport const EDITOR_PADDING_SIZE = 12;\n\nexport const EDITOR_BORDER_SIZE = 1;\n\nexport const EDITOR_LINE_HEIGHT = 21;\n\nexport const IMAGE_REGEX = new RegExp(/(<img[^>]*?>)(?![\\s\\S]*<\\/figure>)/g);\nexport const IMAGE_REPLACEMENT_PATTERN = \"<figure>$1</figure>\";\nexport const EMPTY_DIV_REGEX = new RegExp(\n /<div[^>]*?>\\s*(?:<br[^>]*?>)\\s*<\\/div>/g\n);\nexport const TRAILING_BR_REGEX = new RegExp(/\\s*(?:<br[^>]*?>)+\\s*$/);\n\nexport const LINK_VALIDATION_SCHEMA = yup.object().shape({\n textContent: yup.string().required(t(\"neetoEditor.error.textRequired\")),\n urlString: yup\n .string()\n .matches(ALL_PROTOCOL_URL_REGEXP, t(\"neetoEditor.error.invalidUrl\"))\n .required(t(\"neetoEditor.error.urlRequired\")),\n});\n","import { Slice, Fragment, Node } from \"@tiptap/pm/model\";\nimport { Selection } from \"@tiptap/pm/state\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"src/common/constants\";\n\nimport {\n EDITOR_LINE_HEIGHT,\n EDITOR_BORDER_SIZE,\n EDITOR_PADDING_SIZE,\n IMAGE_REGEX,\n IMAGE_REPLACEMENT_PATTERN,\n EMPTY_DIV_REGEX,\n TRAILING_BR_REGEX,\n} from \"./constants\";\n\nexport const getEditorStyles = ({ rows }) => {\n const editorHeight =\n rows * EDITOR_LINE_HEIGHT + 2 * (EDITOR_PADDING_SIZE + EDITOR_BORDER_SIZE);\n\n return `min-height: ${editorHeight}px;`;\n};\n\nexport const clipboardTextParser = (text, context) => {\n const nodes = [];\n const blocks = text.split(/\\n/);\n\n blocks.forEach(line => {\n const nodeJson = { type: \"paragraph\" };\n if (isNotEmpty(line)) {\n nodeJson.content = [{ type: \"text\", text: line }];\n }\n const node = Node.fromJSON(context.doc.type.schema, nodeJson);\n nodes.push(node);\n });\n\n const fragment = Fragment.fromArray(nodes);\n\n return Slice.maxOpen(fragment);\n};\n\nexport const setInitialPosition = editor => {\n const { state, view } = editor;\n const endPosition = Selection.atEnd(state.doc);\n const transaction = state.tr;\n transaction.setSelection(endPosition);\n view.dispatch(transaction);\n};\n\nexport const isEditorOverlaysActive = () =>\n document.querySelector(\n \".ne-media-uploader,.ne-embed-modal,.tippy-content,.ne-link-popover\"\n );\n\nexport const validateAndFormatUrl = url => {\n if (!ALL_PROTOCOL_URL_REGEXP.test(url)) {\n return null;\n }\n\n if (!/^[a-zA-Z]\\w*:/i.test(url)) {\n return `https://${url}`;\n }\n\n return url;\n};\n\nexport const transformEditorContent = content =>\n content\n ?.replaceAll(IMAGE_REGEX, IMAGE_REPLACEMENT_PATTERN)\n ?.replaceAll(EMPTY_DIV_REGEX, \"\")\n ?.replace(TRAILING_BR_REGEX, \"\");\n\nexport const isEmojiSuggestionsMenuActive = () =>\n !!document.querySelector(\".neeto-editor-emoji-suggestion\");\n\nexport const transformPastedHTML = content => {\n const contentWithoutBr = content.replaceAll(\"<br />\", \"<p></p>\");\n const doc = new DOMParser().parseFromString(contentWithoutBr, \"text/html\");\n\n // ProseMirror tags clipboard output from any TipTap/ProseMirror editor with\n // `data-pm-slice`. When present, the paste is coming from another\n // neeto-editor instance and we preserve the author's color choices. When\n // absent, the source is external (Word, websites, customer messages) and we\n // strip inline colors so foreign theming does not bleed into the editor.\n const isInternalPaste = doc.querySelector(\"[data-pm-slice]\") !== null;\n\n if (!isInternalPaste) {\n doc.querySelectorAll(\"[style]\").forEach(el => {\n el.style.color = \"\";\n el.style.backgroundColor = \"\";\n });\n }\n\n return doc.body.innerHTML;\n};\n\nexport const buildLevelsFromOptions = options => {\n const levels = {\n [EDITOR_OPTIONS.H1]: 1,\n [EDITOR_OPTIONS.H2]: 2,\n [EDITOR_OPTIONS.H3]: 3,\n [EDITOR_OPTIONS.H4]: 4,\n [EDITOR_OPTIONS.H5]: 5,\n [EDITOR_OPTIONS.H6]: 6,\n };\n\n return Object.entries(levels)\n .filter(heading => options.includes(heading[0]))\n .map(heading => heading[1]);\n};\n\n// Suggestion popups (slash, mention, emoji) append to the editor container by\n// default so they stay usable inside a Radix Dialog, whose focus trap excludes\n// document.body. An editor docked at the viewport bottom (e.g. a chat composer)\n// can opt into appending to body via the Editor `appendSuggestionsToBody` prop,\n// so the popup escapes the container's clipping and stacking context and can\n// flip upward into the available space.\nexport const getSuggestionAppendTo = editor => () => {\n const container = editor?.storage?.editorContainer;\n\n return container?.appendSuggestionsToBody\n ? document.body\n : (container?.containerRef?.current ?? document.body);\n};\n","import { t } from \"i18next\";\nimport {\n Info,\n AlertTriangle,\n AlertOctagon,\n Megaphone,\n CheckCircle2,\n} from \"lucide-react\";\n\nexport const CALLOUT_TYPES = [\n {\n type: \"default\",\n label: t(\"neetoEditor.menu.calloutDefault\"),\n icon: Megaphone,\n bgColor: \"--neeto-editor-gray-100\",\n },\n {\n type: \"info\",\n label: t(\"neetoEditor.menu.calloutInfo\"),\n icon: Info,\n bgColor: \"--neeto-editor-info-100\",\n iconColor: \"var(--ne-editor-content-callout-info-foreground-color)\",\n },\n {\n type: \"warning\",\n label: t(\"neetoEditor.menu.calloutWarning\"),\n icon: AlertTriangle,\n bgColor: \"--neeto-editor-warning-100\",\n iconColor: \"var(--ne-editor-content-callout-warning-foreground-color)\",\n },\n {\n type: \"error\",\n label: t(\"neetoEditor.menu.calloutError\"),\n icon: AlertOctagon,\n bgColor: \"--neeto-editor-error-100\",\n iconColor: \"var(--ne-editor-content-callout-error-foreground-color)\",\n },\n {\n type: \"success\",\n label: t(\"neetoEditor.menu.calloutSuccess\"),\n icon: CheckCircle2,\n bgColor: \"--neeto-editor-success-100\",\n iconColor: \"var(--ne-editor-content-callout-success-foreground-color)\",\n },\n];\n","import React from \"react\";\n\nimport { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\n\nclass EmojiPickerMenu extends React.Component {\n ref = React.createRef();\n\n componentDidMount() {\n new Picker({\n ...this.props,\n onEmojiSelect: this.handleSelect,\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n native: true,\n previewPosition: \"none\",\n showSkinTones: false,\n data: this.fetchEmojiData,\n ref: this.ref,\n });\n }\n\n fetchEmojiData = async () => {\n try {\n const { data } = await emojiPickerApi.fetch();\n\n return data;\n } catch {\n return {};\n }\n };\n\n onKeyDown = ({ event }) => {\n if (event.key === \"Escape\") {\n this.props.editor.chain().focus().deleteRange(this.props.range).run();\n\n return true;\n }\n\n return false;\n };\n\n handleSelect = emoji => {\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(emoji)\n .run();\n this.props.setActive?.(false);\n };\n\n render() {\n return (\n <div\n data-testid=\"neeto-editor-emoji-picker\"\n ref={this.ref}\n style={{ minWidth: \"350px\" }}\n />\n );\n }\n}\n\nEmojiPickerMenu.defaultProps = { editor: {}, range: {} };\n\nEmojiPickerMenu.propTypes = {\n editor: PropTypes.object.isRequired,\n range: PropTypes.object,\n};\n\nexport default EmojiPickerMenu;\n","import { URL_VALIDATORS } from \"common/constants\";\n\nexport const validateUrl = url => {\n if (!url) return false;\n\n for (const validator of Object.values(URL_VALIDATORS)) {\n const result = validator(url);\n if (result) return result;\n }\n\n return false;\n};\n","import { memo } from \"react\";\n\nimport { Avatar, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { AtSign } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst Mentions = ({\n editor,\n mentions,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n if (isEmpty(mentions)) return null;\n\n const renderItems = mentions.map(({ key, name, imageUrl }) => (\n <MenuItem\n data-testid={`neeto-editor-mention-option-${key}`}\n key={key}\n prefix={<Avatar size=\"sm\" user={{ name, imageUrl }} />}\n onClick={() => editor.commands.setMention({ id: key, label: name })}\n >\n {name}\n </MenuItem>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n triggerProps={{ \"data-testid\": \"neeto-editor-mention-option\" }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n data-testid=\"neeto-editor-mention-option\"\n dropdownProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n position=\"bottom-start\"\n buttonProps={{\n variant: \"ghost\",\n size: \"sm\",\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(Mentions);\n","import { memo } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { renderTooltipContent } from \"../utils\";\n\nconst MenuButton = ({\n icon,\n command,\n optionName,\n highlight,\n disabled: isButtonDisabled = false,\n label,\n}) => {\n const { isActive, disabled = isButtonDisabled } = useEditorStore.pick([\n \"marksState\",\n optionName,\n ]);\n\n return (\n <Button\n {...{ disabled, icon }}\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-fixed-menu-${optionName}-option`}\n tabIndex=\"-1\"\n variant={isActive ? \"secondary\" : \"ghost\"}\n tooltipProps={{\n content: renderTooltipContent(label, optionName),\n position: \"bottom\",\n }}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n );\n};\n\nexport default memo(MenuButton);\n","import { Flag } from \"lucide-react\";\n\nconst CalloutIcon = ({ currentType }) => {\n const Icon = currentType?.icon ?? Flag;\n\n return <Icon size={16} />;\n};\n\nexport default CalloutIcon;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nconst { MenuItem } = DropdownMenu;\n\nconst CalloutTypeOption = ({ calloutType, isSelected, onClick }) => {\n const Icon = calloutType.icon;\n\n return (\n <MenuItem\n {...{ onClick }}\n data-testid=\"callout-type-option\"\n isActive={isSelected}\n prefix={<Icon size={16} style={{ stroke: calloutType.iconColor }} />}\n >\n {calloutType.label}\n </MenuItem>\n );\n};\n\nexport default CalloutTypeOption;\n","import CalloutTypeOption from \"./CalloutTypeOption\";\nimport { CALLOUT_TYPES } from \"./constants\";\n\nconst RenderCalloutOptions = ({\n isInCallout,\n currentCalloutAttrs,\n handleCalloutTypeClick,\n}) =>\n CALLOUT_TYPES.map((calloutType, idx) => (\n <CalloutTypeOption\n {...{ calloutType }}\n isSelected={isInCallout && currentCalloutAttrs?.type === calloutType.type}\n key={idx}\n onClick={() => handleCalloutTypeClick(calloutType)}\n />\n ));\n\nexport default RenderCalloutOptions;\n","import { useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Flag } from \"lucide-react\";\nimport { findBy } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CalloutIcon from \"./CalloutIcon\";\nimport { CALLOUT_TYPES } from \"./constants\";\nimport RenderCalloutOptions from \"./RenderCalloutOptions\";\n\nconst CalloutDropdown = ({\n editor,\n label,\n tooltipContent,\n isSecondaryMenu = false,\n}) => {\n const { t } = useTranslation();\n const dropdownRef = useRef(null);\n\n const isInCallout = editor.isActive(\"callout\");\n const currentCalloutAttrs = isInCallout\n ? editor.getAttributes(\"callout\")\n : null;\n\n const currentType =\n findBy({ type: currentCalloutAttrs?.type }, CALLOUT_TYPES) ||\n CALLOUT_TYPES[0];\n\n const handleCalloutTypeClick = calloutType => {\n const editorChain = editor.chain().focus();\n const isSameType =\n isInCallout && currentCalloutAttrs?.type === calloutType.type;\n\n if (isSameType) {\n editorChain.lift(\"callout\").run();\n } else if (isInCallout) {\n editorChain\n .updateAttributes(\"callout\", {\n type: calloutType.type,\n emoji: calloutType.emoji,\n })\n .run();\n } else {\n editorChain\n .setCallout({ type: calloutType.type, emoji: calloutType.emoji })\n .run();\n }\n };\n\n const renderOptions = (\n <>\n <DropdownMenu.Label>\n {t(\"neetoEditor.menu.selectCalloutType\")}\n </DropdownMenu.Label>\n <RenderCalloutOptions\n {...{ currentCalloutAttrs, handleCalloutTypeClick, isInCallout }}\n />\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown w-[200px] p-2\" }}\n icon={isInCallout ? currentType.icon : Flag}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-callout-option\",\n }}\n >\n {renderOptions}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[200px] p-2\" }}\n icon={<CalloutIcon currentType={isInCallout ? currentType : null} />}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-callout-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: isInCallout ? \"secondary\" : \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu>{renderOptions}</DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default CalloutDropdown;\n","import { memo, useState } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Smile } from \"lucide-react\";\n\nimport EmojiPickerMenu from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nconst EmojiOption = ({\n editor,\n setActive,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n // Bumping this key remounts the DropdownMenu, which closes it after an\n // emoji is picked. The wrapper exposes onClose for the close direction\n // but no programmatic close, and going controlled via isOpen + onClick\n // flips the wrapper into SplitTrigger mode (a two-button ButtonGroup).\n const [resetKey, setResetKey] = useState(0);\n\n const handlePicked = () => {\n setActive(false);\n setResetKey(k => k + 1);\n };\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Smile}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n >\n <EmojiPickerMenu {...{ editor }} setActive={handlePicked} />\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n icon={Smile}\n key={resetKey}\n position=\"bottom-start\"\n buttonProps={{\n variant: \"ghost\",\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n dropdownProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n }}\n onClose={() => setActive(false)}\n >\n <EmojiPickerMenu {...{ editor }} setActive={handlePicked} />\n </DropdownMenu>\n );\n};\n\nexport default memo(EmojiOption);\n","import { useEffect, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Baseline, Check, RotateCw, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TextColorOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const [color, setColor] = useState(null);\n // Bumping this key remounts the DropdownMenu, which closes it after the\n // user clicks Save / Reset / Cancel. See the analogous comment in\n // TableOption for why we close via remount instead of controlled isOpen.\n const [resetKey, setResetKey] = useState(0);\n\n const { t } = useTranslation();\n\n const closeMenu = () => setResetKey(k => k + 1);\n\n const handleSave = () => {\n editor.chain().focus().setColor(color).run();\n closeMenu();\n };\n\n const handleUnset = () => {\n editor.chain().focus().unsetColor().run();\n setColor(null);\n closeMenu();\n };\n\n useEffect(() => {\n setColor(editor.getAttributes(\"textStyle\").color);\n }, [resetKey, editor.getAttributes(\"textStyle\").color]);\n\n const pickerContent = (\n <div\n style={{ minWidth: \"236px\" }}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <HexColorPicker color={color || \"#000000\"} onChange={setColor} />\n <div className=\"neeto-editor-text-color-option__options-group\">\n <Input\n autoFocus\n className=\"neeto-editor-text-color-option__options-group__input\"\n placeholder={t(\"neetoEditor.placeholders.pickColor\")}\n size=\"small\"\n value={color}\n onChange={withEventTargetValue(setColor)}\n onClick={event => event.stopPropagation()}\n />\n <Button icon={Check} size=\"sm\" onClick={handleSave} />\n <Button\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => {\n editor.commands.focus();\n closeMenu();\n }}\n />\n <Button\n icon={RotateCw}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoEditor.common.resetToDefault\"),\n position: \"top\",\n }}\n onClick={handleUnset}\n />\n </div>\n </div>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-text-color-option\",\n }}\n >\n {pickerContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n position=\"bottom-start\"\n buttonProps={{\n variant: color ? \"secondary\" : \"ghost\",\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-text-color-option\",\n }}\n >\n {pickerContent}\n </DropdownMenu>\n );\n};\n\nexport default TextColorOption;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { ALL_PROTOCOL_URL_REGEXP } from \"common/constants\";\nimport { X } from \"lucide-react\";\nimport { isNotPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nconst LinkOption = ({ editor, handleClose, handleAnimateInvalidLink }) => {\n const { t } = useTranslation();\n\n const [link, setLink] = useState(\"\");\n\n useEffect(() => {\n setLink(editor.getAttributes(\"link\").href || \"\");\n }, [editor]);\n\n const handleKeyDown = event => {\n if (event.key === \"Escape\") {\n handleClose();\n } else if (event.key === \"Enter\") {\n handleSubmit();\n }\n };\n\n const handleSubmit = () => {\n if (ALL_PROTOCOL_URL_REGEXP.test(link)) {\n editor.chain().focus().setLink({ href: link }).run();\n handleClose();\n } else if (isNotPresent(link)) {\n editor.chain().focus().unsetLink().run();\n handleClose();\n } else {\n setLink(\"\");\n handleAnimateInvalidLink();\n }\n };\n\n const handleReset = () => {\n if (link) {\n setLink(\"\");\n editor.chain().focus().unsetLink().run();\n } else {\n handleClose();\n }\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__link\" onKeyDown={handleKeyDown}>\n <input\n autoFocus\n className=\"neeto-editor-bubble-menu-link__input\"\n data-testid=\"neeto-editor-link-input\"\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.linkInput\")}\n value={link}\n onChange={({ target: { value } }) =>\n setLink(validateAndFormatUrl(value))\n }\n />\n <Button\n data-testid=\"neeto-editor-link-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleReset}\n />\n </div>\n );\n};\n\nexport default LinkOption;\n","import { useState } from \"react\";\n\nimport { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TableOption = ({ editor, handleClose }) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run(),\n setRows(3);\n setColumns(3);\n handleClose();\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__table\">\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.rows\")}\n </Label>\n <input\n autoFocus\n data-testid=\"neeto-editor-bubble-menu-table-rows-input\"\n min=\"1\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.columns\")}\n </Label>\n <input\n data-testid=\"neeto-editor-bubble-menu-table-option-input\"\n min=\"1\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__buttons\">\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-create-button\"\n icon={Check}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleSubmit}\n />\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-close-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleClose}\n />\n </div>\n </div>\n );\n};\n\nexport default TableOption;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport {\n Bold,\n Code,\n Heading1,\n Heading2,\n Heading3,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListOrdered,\n Paperclip,\n Pilcrow,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { assoc, fromPairs, not, prop } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nexport const createMenuOptions = ({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => ({\n font: [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Link,\n command: () => setIsAddLinkActive(not),\n optionName: \"link\",\n tooltip: \"Link\",\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n ],\n block: [\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n highlight: true,\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n ],\n list: [\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n highlight: true,\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n highlight: true,\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n ],\n misc: [\n {\n Icon: Paperclip,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n active: false,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n ],\n right: [\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n active: false,\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n active: false,\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n ],\n});\n\nexport const buildBubbleMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => {\n const menuOptions = createMenuOptions({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n });\n\n return fromPairs(\n [\"font\", \"block\", \"list\", \"misc\", \"right\"].map(option => [\n option,\n menuOptions[option].filter(item => options.includes(item.optionName)),\n ])\n );\n};\n\nexport const getTextMenuDropdownOptions = ({ editor, options }) => {\n const textOptions = {\n [EDITOR_OPTIONS.H1]: {\n optionName: \"Heading 1\",\n icon: Heading1,\n active: editor.isActive(\"heading\", { level: 1 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 1 }).run(),\n },\n [EDITOR_OPTIONS.H2]: {\n optionName: \"Heading 2\",\n icon: Heading2,\n active: editor.isActive(\"heading\", { level: 2 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 2 }).run(),\n },\n [EDITOR_OPTIONS.H3]: {\n optionName: \"Heading 3\",\n icon: Heading3,\n active: editor.isActive(\"heading\", { level: 3 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 3 }).run(),\n },\n [EDITOR_OPTIONS.PARAGRAPH]: {\n optionName: \"Text\",\n icon: Pilcrow,\n active: editor.isActive(\"paragraph\"),\n command: () => editor.chain().focus().setNode(\"paragraph\").run(),\n },\n };\n\n const result = [];\n options.forEach(option => {\n if (!textOptions[option]) return;\n result.push(textOptions[option]);\n });\n\n return result;\n};\n\nexport const getNodeIcon = options =>\n options.find(prop(\"active\"))?.icon || Pilcrow;\n\nexport const renderOptionButton = ({\n tooltip,\n Icon,\n command,\n active,\n optionName,\n highlight,\n}) => (\n <Button\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-bubble-menu-${optionName}-option`}\n icon={Icon}\n key={optionName}\n size=\"default\"\n tooltipProps={{ content: tooltip, position: \"bottom\" }}\n variant={active ? \"secondary\" : \"ghost\"}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n);\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives/Popover\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { ChevronDown, Link, Table } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\nimport EmojiOption from \"src/v2/components/Editor/Menu/Fixed/components/EmojiOption\";\nimport TextColorOption from \"src/v2/components/Editor/Menu/Fixed/components/TextColorOption\";\n\nimport LinkOption from \"./LinkOption\";\nimport TableOption from \"./TableOption\";\nimport {\n buildBubbleMenuOptions,\n getNodeIcon,\n getTextMenuDropdownOptions,\n renderOptionButton,\n} from \"./utils\";\n\nconst Options = ({\n editor,\n options,\n mentions,\n tooltips,\n setIsInvalidLink,\n isLinkOptionActive,\n isTableOptionActive,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const { t } = useTranslation();\n\n const dropdownOptions = getTextMenuDropdownOptions({ editor, options });\n const Icon = getNodeIcon(dropdownOptions);\n const isEmojiActive = options.includes(EDITOR_OPTIONS.EMOJI);\n const isTextColorOptionActive = options.includes(EDITOR_OPTIONS.TEXT_COLOR);\n const isLinkActive = options.includes(EDITOR_OPTIONS.LINK);\n const isTableActive = options.includes(EDITOR_OPTIONS.TABLE);\n\n const {\n font: fontStyleOptions,\n block: blockStyleOptions,\n list: listStyleOptions,\n } = buildBubbleMenuOptions({\n editor,\n options,\n setMediaUploader,\n tooltips,\n attachmentProps,\n setIsAddLinkActive: setIsLinkOptionActive,\n });\n\n const handleAnimateInvalidLink = () => {\n setIsInvalidLink(true);\n setTimeout(() => {\n setIsInvalidLink(false);\n }, 1000);\n };\n\n if (isLinkOptionActive) {\n return (\n <LinkOption\n {...{ editor, handleAnimateInvalidLink }}\n handleClose={() => setIsLinkOptionActive(false)}\n />\n );\n }\n\n if (isTableOptionActive) {\n return (\n <TableOption\n {...{ editor }}\n handleClose={() => setIsTableOptionActive(false)}\n />\n );\n }\n\n return (\n <>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n className=\"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\"\n data-testid=\"neeto-editor-fixed-menu-font-size-option\"\n icon={Icon}\n iconPosition=\"left\"\n trailing={<ChevronDown />}\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"ne-editor-dropdown data-[state=closed]:hidden w-32 gap-0 p-1\"\n side=\"bottom\"\n onOpenAutoFocus={e => e.preventDefault()}\n >\n {dropdownOptions.map(({ optionName, command, icon: Icon }) => (\n <Button\n fullWidth\n className=\"justify-start\"\n icon={<Icon size={16} />}\n iconPosition=\"left\"\n key={optionName}\n label={optionName}\n size=\"sm\"\n variant=\"ghost\"\n onClick={command}\n />\n ))}\n </PopoverContent>\n </Popover>\n {fontStyleOptions.map(renderOptionButton)}\n {blockStyleOptions.map(renderOptionButton)}\n {isTextColorOptionActive && (\n <TextColorOption\n {...{ editor }}\n tooltipContent={tooltips.textColor || t(\"neetoEditor.menu.textColor\")}\n />\n )}\n {isEmojiActive && (\n <EmojiOption\n {...{ editor }}\n isActive={isEmojiPickerActive}\n setActive={setIsEmojiPickerActive}\n tooltipContent={tooltips.emoji || t(\"neetoEditor.menu.emoji\")}\n />\n )}\n {listStyleOptions.map(renderOptionButton)}\n {isLinkActive &&\n renderOptionButton({\n Icon: Link,\n command: () => setIsLinkOptionActive(true),\n active: editor.isActive(\"link\"),\n optionName: \"link\",\n highlight: false,\n tooltip: tooltips.link || t(\"neetoEditor.menu.link\"),\n })}\n {isTableActive &&\n renderOptionButton({\n Icon: Table,\n command: () => setIsTableOptionActive(true),\n active: editor.isActive(\"table\"),\n optionName: \"table\",\n highlight: false,\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n })}\n <Mentions\n {...{ editor, mentions }}\n tooltipContent={tooltips.mention || t(\"neetoEditor.menu.mention\")}\n />\n </>\n );\n};\n\nexport default Options;\n","import { useState } from \"react\";\n\nimport { BubbleMenu as BubbleMenuTipTap } from \"@tiptap/react/menus\";\nimport classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isNotPresent } from \"neetocist\";\n\nimport Options from \"./Options\";\n\nconst Bubble = ({\n editor,\n options: textOptions,\n mentions = [],\n setMediaUploader,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const [isInvalidLink, setIsInvalidLink] = useState(false);\n const [isLinkOptionActive, setIsLinkOptionActive] = useState(false);\n const [isTableOptionActive, setIsTableOptionActive] = useState(false);\n const selectedNode = editor && editor.view.state.selection.node;\n const isImageNodeSelected =\n selectedNode && selectedNode.type.name === \"image\";\n\n const bubbleMenuOptions = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n ];\n\n const noTextOptions = isNotPresent(\n textOptions.filter(option => bubbleMenuOptions.includes(option))\n );\n\n if (!editor || (!isImageNodeSelected && noTextOptions)) {\n return null;\n }\n\n return (\n <div>\n <BubbleMenuTipTap\n {...{ editor }}\n style={{ zIndex: 99999, maxWidth: 500 }}\n className={classnames(\"neeto-editor-bubble-menu\", {\n \"neeto-editor-bubble-menu-animate-shake\": isInvalidLink,\n })}\n options={{\n offset: 10,\n onHide: () => {\n setIsLinkOptionActive(false);\n setIsTableOptionActive(false);\n },\n }}\n >\n <Options\n {...{\n attachmentProps,\n editor,\n isEmojiPickerActive,\n isLinkOptionActive,\n isTableOptionActive,\n mentions,\n setIsEmojiPickerActive,\n setIsInvalidLink,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n tooltips,\n }}\n options={textOptions}\n />\n </BubbleMenuTipTap>\n </div>\n );\n};\n\nexport default Bubble;\n","const EmptyMenu = () => <div />;\n\nexport default EmptyMenu;\n","import { Button, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nconst Progress = withT(({ t, queuedFiles, cancelUpload }) => (\n <div className=\"ne-media-uploader__wrapper\">\n {queuedFiles.map(({ id, filename, progress = 0 }) => (\n <div className=\"ne-media-uploader__media\" key={id}>\n <div className=\"ne-media-uploader__media__cancel-button-wrapper\">\n <Button\n data-testid=\"neeto-editor-image-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => cancelUpload(id)}\n />\n </div>\n <FileIcon\n className=\"ne-media-uploader__media__info__icon\"\n fileName={filename}\n />\n <div className=\"ne-media-uploader__media__info\">\n <Typography variant=\"body3\">\n {progress === 100 && t(\"neetoEditor.localUploader.completed\")}\n {progress !== 100 && <>{progress}%</>}\n </Typography>\n <div className=\"ne-media-uploader__media__progress\">\n <div\n className=\"ne-media-uploader__media__progress-bar\"\n style={{ width: `${progress}%` }}\n />\n </div>\n <Tooltip content={filename} position=\"top\">\n <Typography variant=\"body3\">{filename}</Typography>\n </Tooltip>\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default Progress;\n","import { useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ImageUp } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport {\n ALLOWED_IMAGE_TYPES,\n ALLOWED_VIDEO_TYPES,\n DEFAULT_IMAGE_UPLOAD_CONFIG,\n DEFAULT_VIDEO_UPLOAD_CONFIG,\n} from \"src/v2/components/Editor/MediaUploader/constants\";\nimport { convertToFileSize } from \"src/v2/components/Editor/MediaUploader/utils\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Progress from \"./Progress\";\n\nconst LocalUploader = ({\n isImage,\n onClose,\n insertMediaToEditor,\n setIsUploading,\n}) => {\n const { t } = useTranslation();\n\n const uploadConfig = isImage\n ? DEFAULT_IMAGE_UPLOAD_CONFIG\n : DEFAULT_VIDEO_UPLOAD_CONFIG;\n\n const fileInputRef = useRef(null);\n const dropTargetRef = useRef(null);\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: uploadConfig,\n setIsUploadingOnHost: setIsUploading,\n });\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n useDropFiles({ dropTargetRef, onDrop: handleFilesDrop });\n\n setIsUploading(isUploading);\n\n const handleAddFile = async ({ target: { files } }) => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n return !isEmpty(queuedFiles) || isUploading ? (\n <Progress {...{ cancelUpload, queuedFiles }} />\n ) : (\n <div\n className=\"ne-media-uploader__dnd\"\n data-testid=\"neeto-editor-media-uploader-dnd\"\n ref={dropTargetRef}\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n >\n <input\n multiple\n className=\"ne-media-uploader__dnd-input\"\n data-testid=\"neeto-editor-media-uploader-input\"\n ref={fileInputRef}\n type=\"file\"\n accept={\n isImage\n ? ALLOWED_IMAGE_TYPES.join(\",\")\n : ALLOWED_VIDEO_TYPES.join(\",\")\n }\n onChange={handleAddFile}\n />\n <ImageUp className=\"ne-media-uploader__dnd-icon\" size={24} />\n <Typography variant=\"body2\">\n {t(\"neetoEditor.localUploader.dropFilesHere\")}\n </Typography>\n <Typography variant=\"body3\">\n {t(\"neetoEditor.localUploader.maxFileSize\", {\n entity: convertToFileSize(uploadConfig.restrictions.maxFileSize),\n })}\n </Typography>\n </div>\n );\n};\n\nexport default LocalUploader;\n","import { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateUrl } from \"src/v2/components/Editor/CustomExtensions/Embeds/utils\";\nimport { VIDEO_EMBED_FORM_VALIDATION_SCHEMA } from \"src/v2/components/Editor/MediaUploader/constants\";\n\nconst VideoEmbedForm = ({ onEmbedVideo, onAttachVideo, onClose }) => {\n const { t } = useTranslation();\n\n const initialValues = { url: \"\" };\n\n const onSubmit = ({ url }) => {\n const embedUrl = validateUrl(url);\n if (embedUrl) onEmbedVideo(url, embedUrl);\n else onAttachVideo(url);\n onClose();\n };\n\n return (\n <div className=\"ne-video-embed-form\">\n <Form\n formikProps={{\n initialValues,\n validationSchema: VIDEO_EMBED_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n {({ dirty, isSubmitting, resetForm }) => (\n <>\n <div className=\"ne-video-embed-form__content\">\n <Input\n autoFocus\n unlimitedChars\n data-testid=\"neeto-editor-video-embed-input\"\n label={t(\"neetoEditor.common.videoUrl\")}\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.embedUrl\")}\n size=\"medium\"\n type=\"text\"\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-cancel\",\n label: t(\"neetoEditor.common.cancel\"),\n size: \"sm\",\n onClick: () => {\n resetForm();\n onClose();\n },\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-submit\",\n disabled: !dirty,\n label: t(\"neetoEditor.common.saveChanges\"),\n loading: isSubmitting,\n size: \"sm\",\n }}\n />\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default VideoEmbedForm;\n","import { useEffect, useState } from \"react\";\n\nimport { Dialog, Tabs, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { getTabs } from \"src/v2/components/Editor/MediaUploader/utils\";\n\nimport LocalUploader from \"./LocalUploader\";\nimport VideoEmbedForm from \"./VideoEmbedForm\";\n\nconst MediaUploader = ({\n mediaUploader,\n onClose,\n editor,\n showAssetLibrary = true,\n}) => {\n const { t } = useTranslation();\n\n const [activeTab, setActiveTab] = useState(\"local\");\n const [isUploading, setIsUploading] = useState(false);\n const isOpen = mediaUploader.image || mediaUploader.video;\n const [tabs, setTabs] = useState([]);\n\n useEffect(() => {\n isOpen && setTabs(getTabs(mediaUploader));\n }, [mediaUploader]);\n\n const handleClose = () => {\n onClose();\n setActiveTab(\"local\");\n editor.commands.focus();\n };\n\n const insertMediaToEditor = file => {\n if (!editor) return;\n const { url, filename = \"image\", caption = \"\" } = file;\n const mediaAttrs = { src: url, caption, alt: filename };\n const setMedia = mediaUploader.image\n ? editor.chain().setFigure(mediaAttrs)\n : editor.chain().setVideo(mediaAttrs);\n\n setMedia\n .focus()\n .command(({ tr, commands }) => {\n const { doc, selection } = tr;\n const position = doc.resolve(selection.to).end() + 1;\n const safePosition = Math.min(position, doc.content.size);\n\n return commands.insertContentAt(safePosition, \"<p></p>\");\n })\n .run();\n };\n\n const onUploadComplete = async file => {\n try {\n await directUploadsApi.attach({ id: file.id, signed_id: file.signedId });\n insertMediaToEditor(file);\n handleClose();\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const onAttachVideo = url => {\n const file = { url, alt: \"image\" };\n insertMediaToEditor(file);\n };\n\n const onEmbedVideo = (originalUrl, embedUrl) => {\n if (!editor) return;\n editor\n .chain()\n .focus()\n .setExternalVideo({ src: embedUrl, originalUrl })\n .run();\n };\n\n const allowDismiss = not(isUploading);\n\n return (\n <Dialog\n {...{ isOpen }}\n className=\"ne-media-uploader-modal\"\n closeButton={allowDismiss}\n onClose={allowDismiss ? handleClose : undefined}\n >\n <div className=\"ne-media-uploader\">\n {(mediaUploader.video || mediaUploader.image) && (\n <div className=\"ne-media-uploader__header\">\n <h2 className=\"ne-media-uploader__header-title\">\n {mediaUploader.video && t(\"neetoEditor.menu.addVideo\")}\n {mediaUploader.image && t(\"neetoEditor.menu.addImage\")}\n </h2>\n </div>\n )}\n {!isNotPresent(tabs) && (\n <Tabs value={activeTab} onValueChange={setActiveTab}>\n <Tabs.List>\n {tabs.map(({ key, title }) => (\n <Tabs.Item\n data-testid={`neeto-editor-media-uploader-${key}-tab`}\n key={key}\n value={key}\n >\n {title}\n </Tabs.Item>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n <div className=\"ne-media-uploader__content\">\n {mediaUploader.image && (\n <ImageUploader\n {...{ onUploadComplete, showAssetLibrary }}\n className=\"ne-media-uploader__image-uploader\"\n />\n )}\n {mediaUploader.video && (\n <>\n {activeTab === \"local\" && (\n <LocalUploader\n {...{ insertMediaToEditor, setIsUploading }}\n isImage={false}\n onClose={handleClose}\n />\n )}\n {activeTab === \"embed\" && (\n <VideoEmbedForm\n {...{ onAttachVideo, onEmbedVideo }}\n onClose={handleClose}\n />\n )}\n </>\n )}\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default MediaUploader;\n","import { useState, useEffect, useRef } from \"react\";\n\nimport { Button, Checkbox, Input } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { not } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"src/common/constants\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nimport { getLinkPopoverPosition, getCursorPos } from \"../utils\";\n\nconst LinkAddPopOver = ({\n isAddLinkActive,\n setIsAddLinkActive,\n editor,\n openLinkInNewTab,\n containerRef,\n}) => {\n const { from, to } = editor.state.selection;\n const text = editor.state.doc.textBetween(from, to, \"\");\n\n const [linkText, setLinkText] = useState(text);\n const [linkUrl, setLinkUrl] = useState(\"\");\n const [openInNewTab, setOpenInNewTab] = useState(openLinkInNewTab);\n const [error, setError] = useState(\"\");\n const [popoverPosition, setPopoverPosition] = useState(\n getCursorPos(editor, to)\n );\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n\n const isLinkTextPresent = !isNotPresent(linkText);\n const isLinlUrlPresent = !isNotPresent(linkUrl);\n const isSubmitDisabled = !isLinkTextPresent || !isLinlUrlPresent;\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: \"translateY(52px) translateX(8px)\",\n };\n\n const handleAddLink = () => {\n const { state, dispatch } = editor.view;\n const { from, to } = state.selection;\n const formattedUrl = validateAndFormatUrl(linkUrl);\n\n if (!ALL_PROTOCOL_URL_REGEXP.test(formattedUrl)) {\n setError(t(\"neetoEditor.error.invalidUrl\"));\n\n return;\n }\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(linkText, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n removePopover();\n };\n\n const removePopover = () => {\n editor.view.focus();\n setIsAddLinkActive(false);\n };\n\n const handleKeyDown = e => {\n e.stopPropagation();\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleAddLink();\n } else if (e.key === \"Escape\") {\n removePopover();\n }\n };\n\n const updatePopoverPosition = () => {\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n setPopoverPosition(popoverPosition);\n setArrowPosition(arrowPosition);\n };\n\n useOnClickOutside(popoverRef, removePopover);\n\n useEffect(() => {\n if (editor && isAddLinkActive) {\n updatePopoverPosition();\n }\n window.addEventListener(\"resize\", removePopover);\n window.addEventListener(\"wheel\", removePopover);\n\n return () => {\n window.removeEventListener(\"resize\", removePopover);\n window.removeEventListener(\"wheel\", removePopover);\n };\n }, []);\n\n return isAddLinkActive\n ? createPortal(\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-add-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n <Input\n required\n autoFocus={!isLinkTextPresent}\n data-testid=\"neeto-editor-add-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkText}\n onChange={({ target: { value } }) => setLinkText(value)}\n onKeyDown={handleKeyDown}\n />\n <Input\n {...{ error }}\n required\n autoFocus={isLinkTextPresent}\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-add-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n placeholder={t(\"neetoEditor.placeholders.url\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkUrl}\n onChange={({ target: { value } }) => setLinkUrl(value)}\n onFocus={() => setError(\"\")}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={openInNewTab}\n className=\"ne-link-popover__checkbox\"\n data-testid=\"neeto-editor-add-link-open-in-new-tab-switch\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onCheckedChange={() => setOpenInNewTab(not)}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-add-link\"\n disabled={isSubmitDisabled}\n label={t(\"neetoEditor.common.done\")}\n size=\"sm\"\n onClick={handleAddLink}\n />\n <Button\n data-testid=\"neeto-editor-link-popover-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={removePopover}\n />\n </div>\n </div>\n </>,\n containerRef?.current ?? document.body\n )\n : null;\n};\n\nexport default LinkAddPopOver;\n","import { Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Ellipsis } from \"lucide-react\";\n\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { MENU_ELEMENTS, MENU_ELEMENT_TYPES } from \"../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst MoreMenu = ({ groups, editor }) => (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button className=\"flex-shrink-0\" icon={Ellipsis} variant=\"ghost\" />\n }\n >\n <Menu>\n {groups.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (type === MENU_ELEMENT_TYPES.BUTTON) {\n const { icon: Icon } = props;\n\n return (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-${props.optionName}-option`}\n isActive={editor.isActive(props.optionName)}\n key={props.optionName}\n prefix={<Icon size={16} />}\n tabIndex=\"-1\"\n onClick={props.command}\n {...{\n ...generateFocusProps(props.highlight),\n ...props,\n editor,\n }}\n >\n {props.label}\n </MenuItem>\n );\n }\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, ...generateFocusProps(props.highlight) }}\n isSecondaryMenu\n />\n );\n })\n )}\n </Menu>\n </DropdownMenu>\n);\n\nexport default MoreMenu;\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\n\nexport const EDITOR_MARKS = [\n EDITOR_OPTIONS.UNDO,\n EDITOR_OPTIONS.REDO,\n \"fontSizeOptions\",\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.HIGHLIGHT,\n EDITOR_OPTIONS.CALLOUT,\n \"bulletList\",\n \"orderedList\",\n \"todoList\",\n \"blockquote\",\n EDITOR_OPTIONS.CODE,\n \"codeBlock\",\n EDITOR_OPTIONS.TABLE,\n EDITOR_OPTIONS.ATTACHMENTS,\n EDITOR_OPTIONS.IMAGE_UPLOAD,\n EDITOR_OPTIONS.VIDEO_UPLOAD,\n EDITOR_OPTIONS.TEXT_COLOR,\n EDITOR_OPTIONS.EMOJI,\n EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n \"mentions\",\n];\n","import { useCallback, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { EDITOR_MARKS } from \"./constants\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst useEditorState = ({ editor, neetoKbArticleState }) => {\n const { setMarksState, marksState } = useEditorStore.pick();\n\n const handleSelectionUpdate = useCallback(\n ({ editor }) => {\n const activeMarks = {};\n\n EDITOR_MARKS.forEach(mark => {\n if (mark === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n activeMarks[mark] = {\n isActive: neetoKbArticleState?.active || false,\n };\n } else {\n activeMarks[mark] = { isActive: editor.isActive(mark) };\n }\n });\n\n const activeFontSizeOption =\n FONT_SIZE_OPTIONS.find(({ value: level }) =>\n editor.isActive(\"heading\", { level })\n ) || last(FONT_SIZE_OPTIONS);\n\n activeMarks[\"fontSizeOption\"] = activeFontSizeOption;\n\n setMarksState(activeMarks);\n },\n [setMarksState, neetoKbArticleState?.active]\n );\n\n const updateHistoryOptionsState = useCallback(\n ({ editor }) => {\n const undoOptionState = { disabled: !editor.can().undo() };\n const redoOptionState = { disabled: !editor.can().redo() };\n\n const updatedMarksState = {\n ...marksState,\n [EDITOR_OPTIONS.UNDO]: undoOptionState,\n [EDITOR_OPTIONS.REDO]: redoOptionState,\n };\n setMarksState(updatedMarksState);\n },\n [marksState, setMarksState]\n );\n\n useEffect(() => {\n if (!editor) return noop;\n\n updateHistoryOptionsState({ editor });\n\n editor.on(\"selectionUpdate\", handleSelectionUpdate);\n editor.on(\"update\", handleSelectionUpdate);\n editor.on(\"transaction\", handleSelectionUpdate);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionUpdate);\n editor.off(\"update\", handleSelectionUpdate);\n editor.off(\"transaction\", handleSelectionUpdate);\n };\n }, [editor, handleSelectionUpdate]);\n\n useEffect(() => {\n if (!editor) return;\n\n handleSelectionUpdate({ editor });\n }, [editor, neetoKbArticleState?.active, handleSelectionUpdate]);\n};\n\nexport default useEditorState;\n","import classnames from \"classnames\";\n// TODO: switch to neetomolecules/v2/DynamicVariables once molecules ships v2 of\n// this component (not present as of @bigbinary/neeto-molecules@4.1.74).\nimport DynamicVariables from \"neetomolecules/v2/DynamicVariables\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuDynamicVariables = ({\n editor,\n variables = [],\n standalone = false,\n}) => {\n const { t } = useTranslation();\n\n if (isEmpty(variables)) return null;\n\n const handleVariableClick = item => {\n const { category, categoryLabel, key, label } = item;\n const variableName = category ? `${category}.${key}` : key;\n const variableLabel = category\n ? `${categoryLabel || category}:${label}`\n : label;\n\n editor\n .chain()\n .focus()\n .setVariable({ id: variableName, label: variableLabel })\n .run();\n };\n\n return (\n <div\n data-testid=\"neeto-editor-fixed-menu-variables\"\n className={classnames(\"neeto-editor-fixed-menu__variables\", {\n \"neeto-editor-fixed-menu__variables--standalone\": standalone,\n })}\n >\n <DynamicVariables\n {...{ variables }}\n buttonSize=\"small\"\n dropdownProps={{ classNames: \"ne-editor-variables-popup\" }}\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoEditor.menu.dynamicVariables\"),\n position: \"bottom\",\n },\n }}\n onVariableClick={handleVariableClick}\n />\n </div>\n );\n};\n\nexport default MenuDynamicVariables;\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport LinkAddPopOver from \"./components/LinkAddPopOver\";\nimport MoreMenu from \"./components/MoreMenu\";\nimport { MENU_ELEMENTS } from \"./constants\";\nimport useEditorState from \"./hooks/useEditorState\";\nimport { reGroupMenuItems, buildMenuOptions } from \"./utils\";\n\nimport MenuDynamicVariables from \"../DynamicVariables\";\n\nconst Fixed = ({\n editor,\n options,\n mentions,\n variables = [],\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n isIndependant = true,\n className,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n openLinkInNewTab,\n setIsNeetoKbArticleActive,\n neetoKbArticleState,\n showAssetLibrary = true,\n containerRef,\n}) => {\n const [focusedButtonIndex, setFocusedButtonIndex] = useState(0);\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [menuItems, setMenuItems] = useState([]);\n const [moreMenuItems, setMoreMenuItems] = useState([]);\n\n useEditorState({ editor, neetoKbArticleState });\n\n const editorRef = useRef(editor);\n\n useEffect(() => {\n editorRef.current = editor;\n }, [editor]);\n\n const menuRef = useRef(null);\n const menuContainerRef = useRef(null);\n\n const runEditorCommand = useCallback(\n command => () => command(editorRef.current),\n []\n );\n\n const handleArrowNavigation = event => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n setFocusedButtonIndex(prevIndex => (prevIndex + 1) % menuButtons.length);\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setFocusedButtonIndex(\n prevIndex => (prevIndex - 1 + menuButtons.length) % menuButtons.length\n );\n }\n };\n\n const menuButtons = useMemo(\n () => menuRef.current?.querySelectorAll(\".ne-toolbar-item\"),\n [menuRef.current]\n );\n\n useEffect(() => {\n menuButtons?.[focusedButtonIndex].focus();\n }, [focusedButtonIndex]);\n\n useEffect(() => {\n menuButtons?.forEach(menuItem =>\n menuItem.addEventListener(\"keydown\", handleArrowNavigation)\n );\n\n return () =>\n menuButtons?.forEach(menuItem =>\n menuItem.removeEventListener(\"keydown\", handleArrowNavigation)\n );\n }, [menuButtons]);\n\n const menuGroups = useMemo(\n () =>\n buildMenuOptions({\n tooltips,\n runEditorCommand,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions,\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n editor,\n setIsNeetoKbArticleActive,\n }),\n [isEmojiPickerActive, mentions]\n );\n\n const handleResize = useCallback(() => {\n if (!menuRef.current) return;\n const { visibleMenuGroups, invisibleMenuGroups } = reGroupMenuItems(\n menuRef,\n menuGroups\n );\n setMenuItems(visibleMenuGroups);\n setMoreMenuItems(invisibleMenuGroups);\n }, [setMenuItems, menuGroups, menuRef.current]);\n\n useEffect(() => {\n handleResize();\n\n const menuContainer = menuContainerRef.current;\n const resizeObserver = new ResizeObserver(handleResize);\n if (menuContainer) {\n resizeObserver.observe(menuContainer);\n }\n\n return () => {\n if (menuContainer) resizeObserver.unobserve(menuContainer);\n };\n }, [menuContainerRef.current, handleResize, menuGroups]);\n\n if (!editor) return null;\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n return (\n <div\n ref={menuContainerRef}\n className={classNames(\"neeto-editor-fixed-menu\", {\n \"neeto-editor-fixed-menu--independant\": isIndependant,\n [className]: className,\n })}\n >\n <div\n className=\"neeto-editor-fixed-menu__wrapper ne-fixed-menu--v2\"\n data-testid=\"neeto-editor-fixed-menu-wrapper\"\n ref={menuRef}\n >\n {menuItems.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (!Component) return null;\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, options }}\n />\n );\n })\n )}\n {isNotEmpty(moreMenuItems) && (\n <MoreMenu {...{ editor }} groups={moreMenuItems} />\n )}\n </div>\n <MenuDynamicVariables {...{ editor, variables }} />\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n containerRef,\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Fixed;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nconst Button = ({\n icon = null,\n onClick = noop,\n disabled = false,\n className,\n tooltipProps,\n ...otherProps\n}) => {\n const Icon = icon;\n\n return (\n <Tooltip\n disabled={!tooltipProps}\n onClick={() => onClick()}\n {...tooltipProps}\n >\n <button\n className={classnames(\"ne-headless-btn\", { [className]: className })}\n type=\"button\"\n {...{ disabled, onClick, ...otherProps }}\n >\n {icon && <Icon aria-hidden=\"true\" key=\"2\" size={18} />}\n </button>\n </Tooltip>\n );\n};\n\nexport default Button;\n","import { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nimport Button from \"./Button\";\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc, onClose } }) {\n function onKeyDown(event) {\n if (!(event.key.toLowerCase() === \"escape\" && hideOnEsc)) return;\n onClose();\n hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst Dropdown = ({\n icon,\n isOpen,\n onClose = noop,\n children,\n className,\n onClick,\n buttonProps = {},\n ...otherProps\n}) => {\n const [mounted, setMounted] = useState(false);\n\n return (\n <Tippy\n {...{ onClose }}\n hideOnEsc\n interactive\n animation={false}\n arrow={false}\n duration={0}\n hideOnClick={false}\n maxWidth=\"none\"\n offset={0}\n plugins={[hideOnEsc]}\n popperOptions={{ strategy: \"fixed\" }}\n role=\"dropdown\"\n theme=\"light\"\n trigger=\"click\"\n visible={isOpen}\n className={classnames(\"ne-headless-dropdown\", {\n [className]: className,\n })}\n content={\n mounted && <div className=\"ne-headless-dropdown__popup\">{children}</div>\n }\n onClickOutside={onClose}\n onHidden={() => setMounted(false)}\n onMount={() => setMounted(true)}\n {...otherProps}\n >\n <span>\n <Button {...{ icon, onClick, ...buttonProps }} />\n </span>\n </Tippy>\n );\n};\n\nexport default Dropdown;\n","import { Smile } from \"lucide-react\";\n\nimport EmojiPicker from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nimport Dropdown from \"./UI/Dropdown\";\n\nconst Emoji = ({ editor, isActive, setActive, tooltipContent }) => (\n <Dropdown\n className=\"ne-headless__emoji\"\n icon={Smile}\n isOpen={isActive}\n buttonProps={{\n tooltipProps: {\n content: tooltipContent,\n delay: [500],\n position: \"bottom\",\n },\n \"data-testid\": \"ne-emoji-picker\",\n }}\n onClick={() => setActive(active => !active)}\n onClose={() => setActive(false)}\n >\n <EmojiPicker {...{ editor, setActive }} />\n </Dropdown>\n);\nexport default Emoji;\n","import classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { hyphenate } from \"neetocist\";\n\nimport Emoji from \"./Emoji\";\nimport Button from \"./UI/Button\";\n\nconst Option = ({\n editor,\n optionName,\n command,\n disabled,\n Icon,\n isActive,\n setActive,\n tooltip,\n}) => {\n if (optionName === EDITOR_OPTIONS.EMOJI) {\n return (\n <Emoji\n {...{ editor, isActive, setActive }}\n tooltipContent={tooltip || \"Emoji\"}\n />\n );\n }\n\n return (\n <Button\n {...{ disabled }}\n className={classnames({ \"ne-headless-btn--active\": isActive })}\n data-testid={hyphenate(optionName)}\n icon={Icon}\n tooltipProps={{\n content: tooltip,\n delay: [500],\n position: \"bottom\",\n }}\n onClick={command}\n />\n );\n};\n\nexport default Option;\n","import i18n from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n List,\n ListOrdered,\n Quote,\n Redo,\n Smile,\n SquareCode,\n Strikethrough,\n Table,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { findBy, noop } from \"neetocist\";\nimport { assoc } from \"ramda\";\n\nconst { t } = i18n;\n\nconst createMenuOptions = ({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n {\n Icon: FileText,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n Icon: Smile,\n command: noop,\n optionName: \"emoji\",\n tooltip: tooltips.emoji || t(\"neetoEditor.menu.emoji\"),\n isActive: isEmojiPickerActive,\n setActive: setIsEmojiPickerActive,\n },\n {\n Icon: Table,\n command: () =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n optionName: \"table\",\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n },\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n];\n\nexport const buildOptionsFromAddonCommands = ({ editor, commands }) => {\n const { to } = editor.state.selection;\n\n return commands.map(option => ({\n ...option,\n active: option.active?.({ editor }),\n command: () => option.command?.({ editor, range: { from: to, to } }),\n }));\n};\n\nexport const buildMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const menuOptions = createMenuOptions({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n return options\n .map(option => findBy({ optionName: option }, menuOptions))\n .filter(Boolean);\n};\n","import classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport Option from \"./Option\";\nimport { buildOptionsFromAddonCommands, buildMenuOptions } from \"./utils\";\n\nconst Headless = ({\n editor,\n options,\n tooltips = {},\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n className,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n showAssetLibrary = true,\n}) => {\n if (!editor) {\n return null;\n }\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n const menuOptions = buildMenuOptions({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n const addonCommandOptions = buildOptionsFromAddonCommands({\n editor,\n commands: addonCommands,\n });\n const allOptions = [...menuOptions, ...addonCommandOptions];\n\n return (\n <div\n className={classnames(\"ne-headless ne-headless--v2\", {\n [className]: className,\n })}\n >\n {allOptions.map(option => (\n <Option {...{ editor }} key={option.optionName} {...option} />\n ))}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Headless;\n","import { t } from \"i18next\";\nimport {\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Pilcrow,\n} from \"lucide-react\";\n\nimport BubbleMenu from \"./Bubble\";\nimport EmptyMenu from \"./EmptyMenu\";\nimport FixedMenu from \"./Fixed\";\nimport HeadlessMenu from \"./Headless\";\n\nexport const FONT_SIZE_OPTIONS = [\n {\n label: t(\"neetoEditor.menu.heading1\"),\n value: 1,\n key: \"h1\",\n icon: Heading1,\n },\n {\n label: t(\"neetoEditor.menu.heading2\"),\n value: 2,\n key: \"h2\",\n icon: Heading2,\n },\n {\n label: t(\"neetoEditor.menu.heading3\"),\n value: 3,\n key: \"h3\",\n icon: Heading3,\n },\n {\n label: t(\"neetoEditor.menu.heading4\"),\n value: 4,\n key: \"h4\",\n icon: Heading4,\n },\n {\n label: t(\"neetoEditor.menu.heading5\"),\n value: 5,\n key: \"h5\",\n icon: Heading5,\n },\n {\n label: t(\"neetoEditor.menu.normalText\"),\n value: 0,\n key: \"body2\",\n icon: Pilcrow,\n },\n];\n\nexport const MENU_COMPONENTS = {\n fixed: FixedMenu,\n bubble: BubbleMenu,\n headless: HeadlessMenu,\n none: EmptyMenu,\n};\n","import { memo, useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { filterBy } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst FontSizeOption = ({\n runEditorCommand,\n tooltipContent,\n label,\n options = [],\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n\n const lastOption = last(FONT_SIZE_OPTIONS);\n const { fontSizeOption: activeOption = lastOption } =\n useEditorStore.pick(\"marksState\");\n\n const handleClick = level =>\n level\n ? runEditorCommand(editor =>\n editor.chain().focus().toggleHeading({ level }).run()\n )()\n : runEditorCommand(editor =>\n editor.chain().focus().setNode(\"paragraph\").run()\n )();\n\n const menuOptions = [\n ...filterBy({ key: key => options.includes(key) }, FONT_SIZE_OPTIONS),\n FONT_SIZE_OPTIONS[FONT_SIZE_OPTIONS.length - 1],\n ];\n\n const renderItems = menuOptions.map(\n ({ label: itemLabel, icon: Icon, value, key }) => (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-font-size-option-${key}`}\n isActive={activeOption?.value === value}\n key={value}\n prefix={<Icon size={16} />}\n onClick={() => handleClick(value)}\n >\n {itemLabel}\n </MenuItem>\n )\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(FontSizeOption);\n","import classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nconst ColorDot = ({ colorVar, isSelected, onClick, isTextColor }) => {\n const dotClass = classNames(\"neeto-editor-highlight-dropdown__color-dot\", {\n \"neeto-editor-highlight-dropdown__color-dot--selected\": isSelected,\n });\n\n const dotStyle = { backgroundColor: `var(${colorVar})` };\n\n const colorNumber = colorVar.match(/\\d+$/)?.[0] || colorVar;\n\n return (\n <div\n {...{ onClick }}\n className={dotClass}\n style={dotStyle}\n data-testid={`neeto-editor-highlight-${hyphenize(\n isTextColor ? \"text\" : \"background\"\n )}-color-dot-${colorNumber}`}\n />\n );\n};\n\nexport default ColorDot;\n","export const COLORS = {\n recent: [\"--neeto-editor-highlight-bg-yellow-light\"],\n text: [\n \"--neeto-editor-highlight-text-1\",\n \"--neeto-editor-highlight-text-2\",\n \"--neeto-editor-highlight-text-3\",\n \"--neeto-editor-highlight-text-4\",\n \"--neeto-editor-highlight-text-5\",\n \"--neeto-editor-highlight-text-6\",\n \"--neeto-editor-highlight-text-7\",\n \"--neeto-editor-highlight-text-8\",\n \"--neeto-editor-highlight-text-9\",\n \"--neeto-editor-highlight-text-10\",\n \"--neeto-editor-highlight-text-11\",\n \"--neeto-editor-highlight-text-12\",\n \"--neeto-editor-highlight-text-13\",\n \"--neeto-editor-highlight-text-14\",\n \"--neeto-editor-highlight-text-15\",\n \"--neeto-editor-highlight-text-16\",\n ],\n background: [\n \"--neeto-editor-highlight-bg-1\",\n \"--neeto-editor-highlight-bg-2\",\n \"--neeto-editor-highlight-bg-3\",\n \"--neeto-editor-highlight-bg-4\",\n \"--neeto-editor-highlight-bg-5\",\n \"--neeto-editor-highlight-bg-6\",\n \"--neeto-editor-highlight-bg-7\",\n \"--neeto-editor-highlight-bg-8\",\n \"--neeto-editor-highlight-bg-9\",\n \"--neeto-editor-highlight-bg-10\",\n \"--neeto-editor-highlight-bg-11\",\n \"--neeto-editor-highlight-bg-12\",\n \"--neeto-editor-highlight-bg-13\",\n \"--neeto-editor-highlight-bg-14\",\n \"--neeto-editor-highlight-bg-15\",\n \"--neeto-editor-highlight-bg-16\",\n ],\n};\n","import { useRef } from \"react\";\n\nimport { DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Highlighter } from \"lucide-react\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nimport ColorDot from \"./ColorDot\";\nimport { COLORS } from \"./constants\";\n\nconst colorSections = [\n { title: \"Text color\", colors: COLORS.text, isTextColor: true },\n { title: \"Background color\", colors: COLORS.background, isTextColor: false },\n];\n\nconst HighlightDropdown = ({\n editor,\n label,\n tooltipContent,\n runEditorCommand,\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n const textColor = editor.getAttributes(\"textStyle\").color;\n const backgroundColor = editor.getAttributes(\"textStyle\").backgroundColor;\n\n const updateBackgroundColor = value => {\n runEditorCommand(editor =>\n editor\n .chain()\n .focus()\n .setMark(\"textStyle\", { backgroundColor: value })\n .run()\n )();\n };\n\n const handleBackgroundColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (backgroundColor === `var(${colorVar})`) {\n updateBackgroundColor(null);\n } else {\n updateBackgroundColor(`var(${colorVar})`);\n }\n };\n\n const handleTextColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (textColor === `var(${colorVar})`) {\n editor.chain().focus().unsetColor().run();\n } else {\n editor.chain().focus().setColor(`var(${colorVar})`).run();\n }\n };\n\n const renderColorDots = (colorList, isTextColor = false) =>\n colorList.map((colorVar, idx) => (\n <ColorDot\n {...{ colorVar, isTextColor }}\n key={idx}\n isSelected={\n isTextColor\n ? textColor === `var(${colorVar})`\n : backgroundColor === `var(${colorVar})`\n }\n onClick={event =>\n isTextColor\n ? handleTextColorClick(colorVar, event)\n : handleBackgroundColorClick(colorVar, event)\n }\n />\n ));\n\n const renderSections = colorSections.map(({ title, colors, isTextColor }) => (\n <div className=\"neeto-editor-highlight-dropdown__section\" key={title}>\n <Typography\n className=\"neeto-editor-highlight-dropdown__section-title\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n <div\n className=\"neeto-editor-highlight-dropdown__color-grid\"\n data-testid={`neeto-editor-highlight-${hyphenize(title)}-grid`}\n >\n {renderColorDots(colors, isTextColor)}\n </div>\n </div>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Highlighter}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-highlight-dropdown w-[280px] p-3\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n }}\n >\n {renderSections}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[280px] p-3\" }}\n icon={Highlighter}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu className=\"neeto-editor-highlight-dropdown\">\n {renderSections}\n </DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default HighlightDropdown;\n","import { memo, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Table } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst { Menu } = DropdownMenu;\n\nconst TableOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n // Bumping this key remounts DropdownMenu, which closes it after submit.\n // The wrapper exposes onClose for the close direction but no programmatic\n // open control: passing controlled isOpen breaks open clicks (the wrapper's\n // handleOpenChange ignores open events when controlled), and passing\n // onClick to drive isOpen flips the wrapper into SplitTrigger mode\n // (a two-button ButtonGroup) which we don't want here.\n const [resetKey, setResetKey] = useState(0);\n\n const handleClose = () => {\n setRows(3);\n setColumns(3);\n };\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run();\n handleClose();\n setResetKey(k => k + 1);\n };\n\n const formContent = (\n <>\n <Input\n autoFocus\n data-testid=\"neeto-editor-fixed-menu-table-rows-input\"\n label={t(\"neetoEditor.menu.rows\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.rows\")}\n size=\"small\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n <Input\n data-testid=\"neeto-editor-fixed-menu-table-columns-input\"\n label={t(\"neetoEditor.menu.columns\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.columns\")}\n size=\"small\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n <div className=\"neeto-editor-table-menu__button\">\n <Button\n className=\"mt-auto\"\n data-testid=\"neeto-editor-fixed-menu-table-option-create-button\"\n label={t(\"neetoEditor.common.create\")}\n size=\"sm\"\n onClick={handleSubmit}\n />\n </div>\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Table}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-table__item w-auto p-2 flex flex-col\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n >\n {formContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-auto p-2\" }}\n icon={Table}\n key={resetKey}\n position=\"bottom\"\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n onClose={handleClose}\n >\n <Menu className=\"neeto-editor-table__item\">{formContent}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(TableOption);\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\n\nimport MenuButton from \"./components/Button\";\nimport CalloutDropdown from \"./components/CalloutDropdown\";\nimport EmojiOption from \"./components/EmojiOption\";\nimport FontSizeOption from \"./components/FontSizeOption\";\nimport HighlightDropdown from \"./components/HighlightDropdown/index.jsx\";\nimport TableOption from \"./components/TableOption\";\nimport TextColorOption from \"./components/TextColorOption\";\n\nexport const MENU_ELEMENT_TYPES = {\n BUTTON: \"button\",\n CALLOUT: \"callout\",\n FONT_SIZE: \"fontSize\",\n TABLE: \"table\",\n TEXT_COLOR: \"textColor\",\n EMOJI: \"emoji\",\n MENTIONS: \"mentions\",\n HIGHLIGHT: \"highlight\",\n};\n\nexport const MENU_TYPES = {\n HISTORY: \"history\",\n FONT: \"font\",\n LIST: \"list\",\n BLOCK: \"block\",\n MISC: \"misc\",\n EXTRAS: \"extras\",\n CUSTOM: \"custom\",\n};\n\nexport const SHORTCUTS = {\n [EDITOR_OPTIONS.BOLD]: { mac: \"⌘B\", win: \"Ctrl+B\" },\n [EDITOR_OPTIONS.ITALIC]: { mac: \"⌘I\", win: \"Ctrl+I\" },\n [EDITOR_OPTIONS.UNDERLINE]: { mac: \"⌘U\", win: \"Ctrl+U\" },\n [EDITOR_OPTIONS.STRIKETHROUGH]: {\n mac: \"⌘⇧S or ⌘⇧X\",\n win: \"Ctrl+Shift+S or Ctrl+Shift+X\",\n },\n [EDITOR_OPTIONS.CODE]: { mac: \"⌘E\", win: \"Ctrl+E\" },\n [EDITOR_OPTIONS.UNDO]: { mac: \"⌘Z\", win: \"Ctrl+Z\" },\n [EDITOR_OPTIONS.REDO]: { mac: \"⌘⇧Z\", win: \"Ctrl+Shift+Z\" },\n [EDITOR_OPTIONS.LINK]: { mac: \"⌘K\", win: \"Ctrl+K\" },\n [EDITOR_OPTIONS.HIGHLIGHT]: { mac: \"⌘⇧H\", win: \"Ctrl+Shift+H\" },\n bulletList: { mac: \"⌘⇧8\", win: \"Ctrl+Shift+8\" },\n orderedList: { mac: \"⌘⇧7\", win: \"Ctrl+Shift+7\" },\n todoList: { mac: \"⌘⇧9\", win: \"Ctrl+Shift+9\" },\n};\n\nexport const MENU_ELEMENTS = {\n [MENU_ELEMENT_TYPES.BUTTON]: MenuButton,\n [MENU_ELEMENT_TYPES.CALLOUT]: CalloutDropdown,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: FontSizeOption,\n [MENU_ELEMENT_TYPES.TABLE]: TableOption,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: TextColorOption,\n [MENU_ELEMENT_TYPES.EMOJI]: EmojiOption,\n [MENU_ELEMENT_TYPES.MENTIONS]: Mentions,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: HighlightDropdown,\n};\n\nexport const MENU_ELEMENT_WIDTHS = {\n [MENU_ELEMENT_TYPES.BUTTON]: 36,\n [MENU_ELEMENT_TYPES.CALLOUT]: 23,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: 103,\n [MENU_ELEMENT_TYPES.TABLE]: 36,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: 36,\n [MENU_ELEMENT_TYPES.EMOJI]: 36,\n [MENU_ELEMENT_TYPES.MENTIONS]: 36,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: 103,\n};\n","import { t } from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListChecks,\n ListOrdered,\n Paperclip,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport { prop, not, assoc } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\n\nimport {\n MENU_ELEMENT_WIDTHS,\n MENU_ELEMENT_TYPES,\n SHORTCUTS,\n} from \"./constants.js\";\n\nconst createMenuOptions = ({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const fontSizeOptions = options.filter(option => option.match(/^h[1-6]$/));\n\n return [\n [\n {\n type: MENU_ELEMENT_TYPES.FONT_SIZE,\n options: fontSizeOptions,\n label: tooltips.fontSize ?? t(\"neetoEditor.menu.fontSize\"),\n isEnabled: isNotEmpty(fontSizeOptions),\n optionName: \"fontSizeOptions\",\n runEditorCommand,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Bold,\n isEnabled: options.includes(EDITOR_OPTIONS.BOLD),\n command: runEditorCommand(editor =>\n editor?.chain().focus().toggleBold().run()\n ),\n optionName: EDITOR_OPTIONS.BOLD,\n label: tooltips.bold ?? t(\"neetoEditor.menu.bold\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Italic,\n isEnabled: options.includes(EDITOR_OPTIONS.ITALIC),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleItalic().run()\n ),\n optionName: EDITOR_OPTIONS.ITALIC,\n label: tooltips.italic ?? t(\"neetoEditor.menu.italic\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Link,\n isEnabled: options.includes(EDITOR_OPTIONS.LINK),\n command: () => setIsAddLinkActive(not),\n optionName: EDITOR_OPTIONS.LINK,\n label: tooltips.link ?? t(\"neetoEditor.menu.link\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Strikethrough,\n isEnabled: options.includes(EDITOR_OPTIONS.STRIKETHROUGH),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleStrike().run()\n ),\n optionName: EDITOR_OPTIONS.STRIKETHROUGH,\n label: tooltips.strike ?? t(\"neetoEditor.menu.strike\"),\n },\n {\n type: MENU_ELEMENT_TYPES.HIGHLIGHT,\n icon: Highlighter,\n label: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n isEnabled: options.includes(EDITOR_OPTIONS.HIGHLIGHT),\n optionName: EDITOR_OPTIONS.HIGHLIGHT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: List,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBulletList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_BULLETS),\n optionName: \"bulletList\",\n highlight: true,\n label: tooltips.bulletList ?? t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListOrdered,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleOrderedList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_ORDERED),\n optionName: \"orderedList\",\n highlight: true,\n label: tooltips.orderedList ?? t(\"neetoEditor.menu.orderedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListChecks,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleTaskList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.TODO_LIST),\n optionName: \"todoList\",\n highlight: true,\n label: tooltips.todoList ?? t(\"neetoEditor.menu.todoList\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Quote,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBlockquote().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n optionName: \"blockquote\",\n highlight: true,\n label: tooltips.blockQuote ?? t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n type: MENU_ELEMENT_TYPES.CALLOUT,\n label: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n isEnabled: options.includes(EDITOR_OPTIONS.CALLOUT),\n optionName: EDITOR_OPTIONS.CALLOUT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TABLE,\n label: tooltips.table ?? t(\"neetoEditor.menu.table\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TABLE),\n optionName: EDITOR_OPTIONS.TABLE,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Paperclip,\n command: () => attachmentProps?.handleUploadAttachments(),\n disabled: attachmentProps?.isDisabled,\n isEnabled: options.includes(EDITOR_OPTIONS.ATTACHMENTS),\n optionName: EDITOR_OPTIONS.ATTACHMENTS,\n label: tooltips.attachments ?? t(\"neetoEditor.menu.attachments\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: FileText,\n command: () => {\n if (!editor || !setIsNeetoKbArticleActive) return;\n\n const { from, to } = editor.state.selection;\n const cursorPos = editor.view.coordsAtPos(from);\n\n setIsNeetoKbArticleActive({\n active: true,\n editor,\n range: { from, to },\n cursorPos,\n });\n },\n isEnabled: options.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE),\n optionName: EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n label:\n tooltips.neetoKbArticle ?? t(\"neetoEditor.menu.linkToNeetoKbArticle\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD),\n optionName: EDITOR_OPTIONS.IMAGE_UPLOAD,\n label: tooltips.imageUpload ?? t(\"neetoEditor.menu.imageUpload\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TEXT_COLOR,\n label: tooltips.textColor ?? t(\"neetoEditor.menu.textColor\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TEXT_COLOR),\n optionName: EDITOR_OPTIONS.TEXT_COLOR,\n },\n {\n type: MENU_ELEMENT_TYPES.EMOJI,\n label: tooltips.emoji ?? t(\"neetoEditor.menu.emoji\"),\n isEnabled: options.includes(EDITOR_OPTIONS.EMOJI),\n optionName: EDITOR_OPTIONS.EMOJI,\n setActive: setIsEmojiPickerActive,\n isActive: isEmojiPickerActive,\n },\n {\n type: MENU_ELEMENT_TYPES.MENTIONS,\n label: tooltips.mention ?? t(\"neetoEditor.menu.mention\"),\n isEnabled: isNotEmpty(mentions),\n optionName: \"mentions\",\n mentions,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Code,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCode().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE),\n optionName: EDITOR_OPTIONS.CODE,\n label: tooltips.code ?? t(\"neetoEditor.menu.code\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: SquareCode,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCodeBlock().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE_BLOCK),\n optionName: \"codeBlock\",\n label: tooltips.codeBlock ?? t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD),\n optionName: EDITOR_OPTIONS.VIDEO_UPLOAD,\n label: tooltips.videoUpload ?? t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Underline,\n isEnabled: options.includes(EDITOR_OPTIONS.UNDERLINE),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleUnderline().run()\n ),\n optionName: EDITOR_OPTIONS.UNDERLINE,\n label: tooltips.underline ?? t(\"neetoEditor.menu.underline\"),\n },\n ],\n [...addonCommandOptions],\n [\n {\n icon: Undo,\n command: runEditorCommand(editor =>\n editor.chain().focus().undo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.UNDO),\n optionName: EDITOR_OPTIONS.UNDO,\n label: tooltips.undo ?? t(\"neetoEditor.menu.undo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n {\n icon: Redo,\n command: runEditorCommand(editor =>\n editor.chain().focus().redo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.REDO),\n optionName: EDITOR_OPTIONS.REDO,\n label: tooltips.redo ?? t(\"neetoEditor.menu.redo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n ],\n ];\n};\n\nexport const buildOptionsFromAddonCommands = ({ commands, runEditorCommand }) =>\n commands.map(option => ({\n ...option,\n type: MENU_ELEMENT_TYPES.BUTTON,\n command: runEditorCommand(editor =>\n option.command?.({\n editor,\n range: {\n from: editor.state?.selection?.to,\n to: editor.state?.selection.to,\n },\n })\n ),\n }));\n\nexport const buildMenuOptions = ({\n tooltips,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions = [],\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const addonCommandOptions = buildOptionsFromAddonCommands({\n commands: addonCommands,\n runEditorCommand,\n });\n\n const menuOptions = createMenuOptions({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n });\n\n return menuOptions.map(option => option.filter(prop(\"isEnabled\")));\n};\n\nexport const getCursorPos = (editor, to) => editor?.view.coordsAtPos(to);\n\nexport const reGroupMenuItems = (menuRef, menuGroups) => {\n const toolbarWidth = menuRef.current.offsetWidth;\n let totalWidth = 0;\n const visibleMenuGroups = [];\n const invisibleMenuGroups = [];\n menuGroups.forEach((group, groupIndex) => {\n group.forEach((item, itemIndex) => {\n const width = MENU_ELEMENT_WIDTHS[item.type];\n if (totalWidth + width < toolbarWidth) {\n totalWidth += width;\n visibleMenuGroups[groupIndex] = visibleMenuGroups[groupIndex] ?? [];\n visibleMenuGroups[groupIndex][itemIndex] = item;\n } else {\n const visibleMenuGroupsLength = visibleMenuGroups.length;\n const index = groupIndex - visibleMenuGroupsLength + 1;\n invisibleMenuGroups[index] = invisibleMenuGroups[index] ?? [];\n invisibleMenuGroups[index][itemIndex] = item;\n }\n });\n });\n\n return { visibleMenuGroups, invisibleMenuGroups };\n};\n\nexport const getLinkPopoverPosition = (editor, popoverRef) => {\n const {\n selection: {\n $to: { pos: selectionEnd },\n $from: { pos: selectionStart },\n },\n } = editor.view.state;\n const selectionLength = selectionEnd - selectionStart;\n let offset = 0;\n if (selectionLength > 1) offset = Math.round(selectionLength / 2);\n\n if (selectionLength === 1) offset = 1;\n\n const arrowCoords = editor.view.coordsAtPos(selectionStart + offset);\n const arrowPosition = {\n top: `${arrowCoords.top + 21}px`,\n left: `${arrowCoords.left - 8.5}px`,\n };\n\n const popoverCoords = editor.view.coordsAtPos(selectionStart);\n let adjustedLeft = popoverCoords?.left,\n adjustedTop = popoverCoords?.top;\n if (popoverRef?.current) {\n const popoverRect = popoverRef.current?.getBoundingClientRect();\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n\n const maxLeft = screenWidth - popoverRect.width;\n const maxTop = screenHeight - popoverRect.height - 50;\n\n adjustedLeft = popoverCoords?.left\n ? Math.min(popoverCoords.left - 50, maxLeft)\n : 0;\n\n adjustedTop = popoverCoords?.top\n ? Math.min(popoverCoords.top - 22, maxTop)\n : 0;\n } else {\n adjustedLeft = popoverCoords.left - 50;\n adjustedTop = popoverCoords.top - 22;\n }\n\n const popoverPosition = {\n top: `${adjustedTop}px`,\n left: `${adjustedLeft}px`,\n };\n\n return { arrowPosition, popoverPosition };\n};\n\nexport function renderTooltipContent(label, optionName) {\n const shortcut = SHORTCUTS[optionName];\n if (!shortcut) return label;\n\n const isMac = () =>\n typeof window !== \"undefined\" &&\n /Mac|iPod|iPhone|iPad/.test(window.navigator.userAgent);\n\n const key = isMac() ? shortcut.mac : shortcut.win;\n\n return `${label} (${key})`;\n}\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { assoc, isEmpty, not } from \"ramda\";\n\nimport { DEFAULT_EDITOR_OPTIONS } from \"src/v2/components/Editor/constants\";\n\nimport { MENU_COMPONENTS } from \"./constants\";\n\nconst Menu = props => {\n const [isEmojiPickerActive, setIsEmojiPickerActive] = useState(false);\n const [mediaUploader, setMediaUploader] = useState({\n image: false,\n video: false,\n });\n\n const {\n menuType = \"fixed\",\n addons = [],\n options = [],\n editorSecrets = {},\n attachmentProps,\n defaults = DEFAULT_EDITOR_OPTIONS,\n } = props;\n\n const MenuComponent = useMemo(() => MENU_COMPONENTS[menuType], [menuType]);\n const menuOptions = isEmpty(options) ? [...defaults, ...addons] : options;\n\n useEffect(() => {\n const handleKeyDown = e => {\n if ((e.metaKey || e.ctrlKey) && e.altKey) {\n if (e.code === \"KeyE\") {\n setIsEmojiPickerActive(prevState => !prevState);\n } else if (e.code === \"KeyA\") {\n not(attachmentProps?.isDisabled) &&\n attachmentProps?.handleUploadAttachments();\n } else if (e.code === \"KeyK\") {\n setMediaUploader(assoc(\"image\", true));\n } else if (e.code === \"KeyV\") {\n setMediaUploader(assoc(\"video\", true));\n }\n }\n };\n if (menuType !== \"none\") {\n document.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n return (\n <MenuComponent\n {...{\n ...props,\n attachmentProps,\n isEmojiPickerActive,\n mediaUploader,\n setIsEmojiPickerActive,\n setMediaUploader,\n }}\n options={menuOptions}\n unsplashApiKey={editorSecrets.unsplash}\n />\n );\n};\n\nexport default Menu;\n"],"names":["DEFAULT_EDITOR_OPTIONS","EDITOR_OPTIONS","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","LINK","PARAGRAPH","H1","H2","H3","H4","H5","H6","LIST_BULLETS","LIST_ORDERED","CODE","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","EDITOR_LINE_HEIGHT","IMAGE_REGEX","RegExp","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","TRAILING_BR_REGEX","LINK_VALIDATION_SCHEMA","yup","object","shape","textContent","string","required","t","urlString","matches","ALL_PROTOCOL_URL_REGEXP","getEditorStyles","_ref","rows","editorHeight","concat","clipboardTextParser","text","context","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","schema","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","state","view","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","test","transformEditorContent","_content$replaceAll","replaceAll","replace","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","buildLevelsFromOptions","options","levels","_defineProperty","Object","entries","filter","heading","includes","map","getSuggestionAppendTo","_editor$storage","_container$containerR","_container$containerR2","container","storage","editorContainer","appendSuggestionsToBody","containerRef","current","CALLOUT_TYPES","label","icon","Megaphone","bgColor","Info","iconColor","AlertTriangle","AlertOctagon","CheckCircle2","EmojiPickerMenu","_React$Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","React","createRef","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$emojiPickerApi","data","wrap","_callee$","_context","prev","next","emojiPickerApi","fetch","sent","abrupt","t0","stop","_ref2","event","key","props","chain","focus","deleteRange","range","run","emoji","_this$props$setActive","_this$props","setEmoji","setActive","call","_inherits","_createClass","value","componentDidMount","Picker","_objectSpread","onEmojiSelect","handleSelect","maxWidth","theme","previewPosition","showSkinTones","fetchEmojiData","ref","render","_jsx","minWidth","Component","defaultProps","validateUrl","_i","_Object$values","values","URL_VALIDATORS","validator","result","Menu","DropdownMenu","MenuItem","Mentions","mentions","tooltipContent","_ref$isSecondaryMenu","isSecondaryMenu","isEmpty","renderItems","name","imageUrl","prefix","Avatar","size","user","onClick","commands","setMention","id","children","SubMenu","contentProps","className","AtSign","triggerProps","dropdownProps","position","buttonProps","variant","tooltipProps","memo","MenuButton","command","optionName","highlight","_ref$disabled","disabled","isButtonDisabled","_useEditorStore","useEditorStore","store","_store$marksState","_store$marksState2","isActive","shallow","_useEditorStore$disab","Button","tabIndex","renderTooltipContent","generateFocusProps","CalloutIcon","_currentType$icon","currentType","Icon","Flag","CalloutTypeOption","calloutType","isSelected","stroke","RenderCalloutOptions","isInCallout","currentCalloutAttrs","handleCalloutTypeClick","idx","_createElement","CalloutDropdown","_useTranslation","useTranslation","dropdownRef","useRef","getAttributes","findBy","editorChain","isSameType","lift","updateAttributes","setCallout","renderOptions","_jsxs","_Fragment","Label","triggerRef","onKeyDown","_dropdownRef$current","click","EmojiOption","_useState","useState","_useState2","_slicedToArray","resetKey","setResetKey","handlePicked","k","Smile","closeOnSelect","onClose","TextColorOption","setColor","_useState3","_useState4","closeMenu","handleSave","handleUnset","unsetColor","useEffect","pickerContent","e","stopPropagation","HexColorPicker","onChange","Input","autoFocus","placeholder","withEventTargetValue","Check","X","RotateCw","Baseline","LinkOption","handleClose","handleAnimateInvalidLink","link","setLink","href","handleKeyDown","handleSubmit","isNotPresent","unsetLink","handleReset","target","TableOption","setRows","columns","setColumns","insertTable","cols","withHeaderRow","min","createMenuOptions","tooltips","setMediaUploader","attachmentProps","setIsAddLinkActive","font","Bold","toggleBold","active","tooltip","bold","Italic","toggleItalic","italic","Underline","toggleUnderline","underline","Link","not","Strikethrough","toggleStrike","strike","Highlighter","toggleHighlight","block","Quote","toggleBlockquote","blockQuote","Code","toggleCode","code","SquareCode","toggleCodeBlock","codeBlock","list","List","toggleBulletList","bulletList","ListOrdered","toggleOrderedList","orderedList","misc","Paperclip","handleUploadAttachments","isDisabled","attachments","ImageUp","assoc","imageUpload","Video","videoUpload","right","Undo","undo","can","Redo","redo","buildBubbleMenuOptions","menuOptions","fromPairs","option","item","getTextMenuDropdownOptions","_ref3","textOptions","Heading1","level","setNode","Heading2","Heading3","Pilcrow","getNodeIcon","_options$find","find","prop","renderOptionButton","_ref4","Options","setIsInvalidLink","isLinkOptionActive","isTableOptionActive","setIsLinkOptionActive","setIsTableOptionActive","isEmojiPickerActive","setIsEmojiPickerActive","dropdownOptions","isEmojiActive","EMOJI","isTextColorOptionActive","TEXT_COLOR","isLinkActive","isTableActive","TABLE","_buildBubbleMenuOptio","fontStyleOptions","blockStyleOptions","listStyleOptions","setTimeout","Popover","PopoverTrigger","asChild","iconPosition","trailing","ChevronDown","PopoverContent","align","side","onOpenAutoFocus","preventDefault","fullWidth","textColor","Table","table","mention","Bubble","_ref$mentions","_ref$tooltips","isInvalidLink","_useState5","_useState6","selectedNode","selection","isImageNodeSelected","bubbleMenuOptions","noTextOptions","BubbleMenuTipTap","zIndex","classnames","offset","onHide","EmptyMenu","Progress","withT","queuedFiles","cancelUpload","filename","_ref2$progress","progress","FileIcon","fileName","Typography","width","Tooltip","LocalUploader","isImage","insertMediaToEditor","setIsUploading","uploadConfig","DEFAULT_IMAGE_UPLOAD_CONFIG","DEFAULT_VIDEO_UPLOAD_CONFIG","fileInputRef","dropTargetRef","_useFileUploader","useFileUploader","config","setIsUploadingOnHost","addFiles","uploadFiles","isUploading","handleFilesDrop","files","uploadedFiles","_x","apply","useDropFiles","onDrop","handleAddFile","_callee2","_callee2$","_context2","_x2","_fileInputRef$current","multiple","accept","ALLOWED_IMAGE_TYPES","join","ALLOWED_VIDEO_TYPES","entity","convertToFileSize","restrictions","maxFileSize","VideoEmbedForm","onEmbedVideo","onAttachVideo","initialValues","onSubmit","embedUrl","Form","formikProps","validationSchema","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","dirty","isSubmitting","resetForm","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","loading","MediaUploader","mediaUploader","_ref$showAssetLibrary","showAssetLibrary","activeTab","setActiveTab","isOpen","image","video","tabs","setTabs","getTabs","file","_file$filename","_file$caption","caption","mediaAttrs","src","alt","setMedia","setFigure","setVideo","resolve","to","end","safePosition","Math","insertContentAt","onUploadComplete","directUploadsApi","attach","signed_id","signedId","Toastr","error","originalUrl","setExternalVideo","allowDismiss","Dialog","closeButton","undefined","Tabs","onValueChange","title","Item","ImageUploader","LinkAddPopOver","_containerRef$current","isAddLinkActive","openLinkInNewTab","_editor$state$selecti","from","textBetween","linkText","setLinkText","linkUrl","setLinkUrl","openInNewTab","setOpenInNewTab","_useState7","_useState8","setError","_useState9","getCursorPos","_useState0","popoverPosition","setPopoverPosition","_useState1","top","left","_useState10","arrowPosition","setArrowPosition","popoverRef","isLinkTextPresent","isLinlUrlPresent","isSubmitDisabled","popoverStyle","display","transform","handleAddLink","_editor$view","_state$selection","formattedUrl","attrs","linkMark","marks","create","linkTextWithMark","replaceWith","removePopover","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","useOnClickOutside","window","addEventListener","removeEventListener","createPortal","onFocus","Checkbox","checked","onCheckedChange","MoreMenu","groups","customTarget","Ellipsis","group","_objectWithoutProperties","_excluded","MENU_ELEMENTS","MENU_ELEMENT_TYPES","BUTTON","EDITOR_MARKS","UNDO","REDO","HIGHLIGHT","CALLOUT","ATTACHMENTS","IMAGE_UPLOAD","VIDEO_UPLOAD","NEETO_KB_ARTICLE","useEditorState","neetoKbArticleState","setMarksState","marksState","handleSelectionUpdate","useCallback","activeMarks","activeFontSizeOption","FONT_SIZE_OPTIONS","last","updateHistoryOptionsState","undoOptionState","redoOptionState","updatedMarksState","noop","on","off","MenuDynamicVariables","_ref$variables","variables","_ref$standalone","standalone","handleVariableClick","category","categoryLabel","variableName","variableLabel","setVariable","DynamicVariables","buttonSize","classNames","onVariableClick","Fixed","_ref$addonCommands","addonCommands","_ref$isIndependant","isIndependant","setIsNeetoKbArticleActive","focusedButtonIndex","setFocusedButtonIndex","menuItems","setMenuItems","moreMenuItems","setMoreMenuItems","editorRef","menuRef","menuContainerRef","runEditorCommand","handleArrowNavigation","prevIndex","menuButtons","useMemo","_menuRef$current","menuItem","menuGroups","buildMenuOptions","handleResize","_reGroupMenuItems","reGroupMenuItems","visibleMenuGroups","invisibleMenuGroups","menuContainer","resizeObserver","ResizeObserver","observe","unobserve","isMediaUploaderActive","_ref$icon","_ref$onClick","otherProps","hideOnEsc","defaultValue","fn","hide","_ref$props","toLowerCase","onShow","Dropdown","_ref2$onClose","_ref2$buttonProps","mounted","setMounted","Tippy","interactive","animation","arrow","duration","hideOnClick","plugins","popperOptions","strategy","role","trigger","visible","onClickOutside","onHidden","onMount","Emoji","delay","EmojiPicker","Option","hyphenate","i18n","FileText","buildOptionsFromAddonCommands","_option$active","_option$command","Boolean","Headless","addonCommandOptions","allOptions","_toConsumableArray","Heading4","Heading5","MENU_COMPONENTS","fixed","FixedMenu","bubble","BubbleMenu","headless","HeadlessMenu","none","FontSizeOption","_ref$options","lastOption","fontSizeOption","_useEditorStore$fontS","activeOption","handleClick","toggleHeading","filterBy","itemLabel","ColorDot","_colorVar$match","colorVar","isTextColor","dotClass","dotStyle","colorNumber","match","hyphenize","COLORS","background","colorSections","colors","HighlightDropdown","updateBackgroundColor","setMark","handleBackgroundColorClick","handleTextColorClick","renderColorDots","colorList","renderSections","weight","formContent","FONT_SIZE","MENTIONS","SHORTCUTS","_SHORTCUTS","mac","win","MENU_ELEMENT_WIDTHS","_tooltips$fontSize","_tooltips$bold","_tooltips$italic","_tooltips$link","_tooltips$strike","_tooltips$highlight","_tooltips$highlight2","_tooltips$bulletList","_tooltips$orderedList","_tooltips$todoList","_tooltips$blockQuote","_tooltips$callout","_tooltips$callout2","_tooltips$table","_tooltips$attachments","_tooltips$neetoKbArti","_tooltips$imageUpload","_tooltips$textColor","_tooltips$emoji","_tooltips$mention","_tooltips$code","_tooltips$codeBlock","_tooltips$videoUpload","_tooltips$underline","_tooltips$undo","_tooltips$redo","fontSizeOptions","fontSize","isEnabled","ListChecks","toggleTaskList","TODO_LIST","todoList","BLOCKQUOTE","callout","cursorPos","coordsAtPos","neetoKbArticle","CODE_BLOCK","_editor$state","_editor$state2","_ref3$mentions","toolbarWidth","offsetWidth","totalWidth","groupIndex","itemIndex","_visibleMenuGroups$gr","_invisibleMenuGroups$","visibleMenuGroupsLength","index","_editor$view$state$se","selectionEnd","$to","pos","selectionStart","$from","selectionLength","round","arrowCoords","popoverCoords","adjustedLeft","adjustedTop","_popoverRef$current","popoverRect","getBoundingClientRect","screenWidth","innerWidth","screenHeight","innerHeight","maxLeft","maxTop","height","shortcut","isMac","navigator","userAgent","_props$menuType","menuType","_props$addons","addons","_props$options","_props$editorSecrets","editorSecrets","_props$defaults","defaults","MenuComponent","metaKey","ctrlKey","altKey","prevState","unsplashApiKey","unsplash"],"mappings":"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"}