@bigbinary/neeto-editor 1.47.115 → 1.47.117
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-BziexhfV.js → chunk-C2YYL9vY.js} +2 -2
- package/dist/chunk-C2YYL9vY.js.map +1 -0
- package/dist/cjs/{chunk-BKrsK0Ld.cjs.js → chunk-BzPTK6pP.cjs.js} +2 -2
- package/dist/cjs/chunk-BzPTK6pP.cjs.js.map +1 -0
- package/dist/cjs/v2/Editor.cjs.js +2 -2
- package/dist/cjs/v2/FormikEditor.cjs.js +2 -2
- package/dist/cjs/v2/Menu.cjs.js +2 -2
- package/dist/cjs/v2/constants.cjs.js +13 -0
- package/dist/cjs/v2/constants.cjs.js.map +1 -0
- package/dist/cjs/v2/index.cjs.js +2 -2
- package/dist/cjs/v2/utils.cjs.js +29 -0
- package/dist/cjs/v2/utils.cjs.js.map +1 -0
- package/dist/editor-stats.html +19 -1
- package/dist/v2/Editor.js +2 -2
- package/dist/v2/FormikEditor.js +2 -2
- package/dist/v2/Menu.js +2 -2
- package/dist/v2/constants.js +6 -0
- package/dist/v2/constants.js.map +1 -0
- package/dist/v2/index.js +2 -2
- package/dist/v2/utils.js +17 -0
- package/dist/v2/utils.js.map +1 -0
- package/package.json +3 -3
- package/dist/chunk-BziexhfV.js.map +0 -1
- package/dist/cjs/chunk-BKrsK0Ld.cjs.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-BziexhfV.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","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\";\nimport classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isNotPresent } from \"neetocist\";\nimport { roundArrow } from \"tippy.js\";\nimport \"tippy.js/dist/svg-arrow.css\";\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 className={classnames(\"neeto-editor-bubble-menu\", {\n \"neeto-editor-bubble-menu-animate-shake\": isInvalidLink,\n })}\n tippyOptions={{\n arrow: roundArrow,\n zIndex: 99999,\n onHide: () => {\n setIsLinkOptionActive(false);\n setIsTableOptionActive(false);\n },\n theme: \"light neeto-editor-bubble-menu-tippy-box\",\n maxWidth: 500,\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(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 { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { isNotPresent } from \"neetocist\";\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 = url => {\n if (!editor) return;\n editor.chain().focus().setExternalVideo({ src: url }).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}) => {\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 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/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}) => {\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 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","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","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","classnames","tippyOptions","arrow","roundArrow","zIndex","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","setExternalVideo","allowDismiss","Dialog","closeButton","undefined","Tabs","onValueChange","title","Item","ImageUploader","LinkAddPopOver","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","duration","hideOnClick","offset","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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"}
|