@bigbinary/neeto-editor 1.47.117 → 1.47.118

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.
Files changed (46) hide show
  1. package/dist/Attachments.js +1 -1
  2. package/dist/Editor.js +2 -2
  3. package/dist/FormikEditor.js +1 -1
  4. package/dist/{chunk-C2YYL9vY.js → chunk-Ck5Gyhaq.js} +8 -4
  5. package/dist/chunk-Ck5Gyhaq.js.map +1 -0
  6. package/dist/{chunk-3JO2B_HR.js → chunk-DSFIk2ef.js} +3 -2
  7. package/dist/chunk-DSFIk2ef.js.map +1 -0
  8. package/dist/{chunk-BO6bjSuY.js → chunk-DdxH-PMo.js} +2 -2
  9. package/dist/{chunk-BO6bjSuY.js.map → chunk-DdxH-PMo.js.map} +1 -1
  10. package/dist/{chunk-CNWsmIz_.js → chunk-W5-WB6Fb.js} +11 -11
  11. package/dist/chunk-W5-WB6Fb.js.map +1 -0
  12. package/dist/cjs/Attachments.cjs.js +1 -1
  13. package/dist/cjs/Editor.cjs.js +2 -2
  14. package/dist/cjs/FormikEditor.cjs.js +1 -1
  15. package/dist/cjs/{chunk-BYyLrDTW.cjs.js → chunk-62QG5j0v.cjs.js} +3 -2
  16. package/dist/cjs/chunk-62QG5j0v.cjs.js.map +1 -0
  17. package/dist/cjs/{chunk-BzPTK6pP.cjs.js → chunk-Cqq9Q2Ty.cjs.js} +8 -4
  18. package/dist/cjs/chunk-Cqq9Q2Ty.cjs.js.map +1 -0
  19. package/dist/cjs/{chunk-DRB71ojr.cjs.js → chunk-D8Uup1eh.cjs.js} +2 -2
  20. package/dist/cjs/{chunk-DRB71ojr.cjs.js.map → chunk-D8Uup1eh.cjs.js.map} +1 -1
  21. package/dist/cjs/{chunk-CIuJ_EMY.cjs.js → chunk-DE_yHAbe.cjs.js} +11 -11
  22. package/dist/cjs/chunk-DE_yHAbe.cjs.js.map +1 -0
  23. package/dist/cjs/index.cjs.js +2 -2
  24. package/dist/cjs/v2/Editor.cjs.js +81 -43
  25. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  26. package/dist/cjs/v2/EditorContent.cjs.js +1 -1
  27. package/dist/cjs/v2/FormikEditor.cjs.js +1 -1
  28. package/dist/cjs/v2/Menu.cjs.js +1 -1
  29. package/dist/cjs/v2/index.cjs.js +2 -2
  30. package/dist/editor-stats.html +2 -2
  31. package/dist/index.js +2 -2
  32. package/dist/v2/Editor.js +84 -46
  33. package/dist/v2/Editor.js.map +1 -1
  34. package/dist/v2/EditorContent.js +1 -1
  35. package/dist/v2/FormikEditor.js +1 -1
  36. package/dist/v2/Menu.js +1 -1
  37. package/dist/v2/index.js +2 -2
  38. package/dist/v2/styles.css +1 -1
  39. package/dist/v2/styles.js +1 -1
  40. package/package.json +1 -1
  41. package/dist/chunk-3JO2B_HR.js.map +0 -1
  42. package/dist/chunk-C2YYL9vY.js.map +0 -1
  43. package/dist/chunk-CNWsmIz_.js.map +0 -1
  44. package/dist/cjs/chunk-BYyLrDTW.cjs.js.map +0 -1
  45. package/dist/cjs/chunk-BzPTK6pP.cjs.js.map +0 -1
  46. package/dist/cjs/chunk-CIuJ_EMY.cjs.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-Ck5Gyhaq.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/v2\";\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 containerRef,\n}) => {\n const { from, to } = editor.state.selection;\n const text = editor.state.doc.textBetween(from, to, \"\");\n\n const [linkText, setLinkText] = useState(text);\n const [linkUrl, setLinkUrl] = useState(\"\");\n const [openInNewTab, setOpenInNewTab] = useState(openLinkInNewTab);\n const [error, setError] = useState(\"\");\n const [popoverPosition, setPopoverPosition] = useState(\n getCursorPos(editor, to)\n );\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n\n const isLinkTextPresent = !isNotPresent(linkText);\n const isLinlUrlPresent = !isNotPresent(linkUrl);\n const isSubmitDisabled = !isLinkTextPresent || !isLinlUrlPresent;\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: \"translateY(52px) translateX(8px)\",\n };\n\n const handleAddLink = () => {\n const { state, dispatch } = editor.view;\n const { from, to } = state.selection;\n const formattedUrl = validateAndFormatUrl(linkUrl);\n\n if (!ALL_PROTOCOL_URL_REGEXP.test(formattedUrl)) {\n setError(t(\"neetoEditor.error.invalidUrl\"));\n\n return;\n }\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(linkText, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n removePopover();\n };\n\n const removePopover = () => {\n editor.view.focus();\n setIsAddLinkActive(false);\n };\n\n const handleKeyDown = e => {\n e.stopPropagation();\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleAddLink();\n } else if (e.key === \"Escape\") {\n removePopover();\n }\n };\n\n const updatePopoverPosition = () => {\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n setPopoverPosition(popoverPosition);\n setArrowPosition(arrowPosition);\n };\n\n useOnClickOutside(popoverRef, removePopover);\n\n useEffect(() => {\n if (editor && isAddLinkActive) {\n updatePopoverPosition();\n }\n window.addEventListener(\"resize\", removePopover);\n window.addEventListener(\"wheel\", removePopover);\n\n return () => {\n window.removeEventListener(\"resize\", removePopover);\n window.removeEventListener(\"wheel\", removePopover);\n };\n }, []);\n\n return isAddLinkActive\n ? createPortal(\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-add-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n <Input\n required\n autoFocus={!isLinkTextPresent}\n data-testid=\"neeto-editor-add-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkText}\n onChange={({ target: { value } }) => setLinkText(value)}\n onKeyDown={handleKeyDown}\n />\n <Input\n {...{ error }}\n required\n autoFocus={isLinkTextPresent}\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-add-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n placeholder={t(\"neetoEditor.placeholders.url\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkUrl}\n onChange={({ target: { value } }) => setLinkUrl(value)}\n onFocus={() => setError(\"\")}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={openInNewTab}\n className=\"ne-link-popover__checkbox\"\n data-testid=\"neeto-editor-add-link-open-in-new-tab-switch\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onCheckedChange={() => setOpenInNewTab(not)}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-add-link\"\n disabled={isSubmitDisabled}\n label={t(\"neetoEditor.common.done\")}\n size=\"sm\"\n onClick={handleAddLink}\n />\n <Button\n data-testid=\"neeto-editor-link-popover-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={removePopover}\n />\n </div>\n </div>\n </>,\n containerRef?.current ?? document.body\n )\n : null;\n};\n\nexport default LinkAddPopOver;\n","import { Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Ellipsis } from \"lucide-react\";\n\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { MENU_ELEMENTS, MENU_ELEMENT_TYPES } from \"../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst MoreMenu = ({ groups, editor }) => (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button className=\"flex-shrink-0\" icon={Ellipsis} variant=\"ghost\" />\n }\n >\n <Menu>\n {groups.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (type === MENU_ELEMENT_TYPES.BUTTON) {\n const { icon: Icon } = props;\n\n return (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-${props.optionName}-option`}\n isActive={editor.isActive(props.optionName)}\n key={props.optionName}\n prefix={<Icon size={16} />}\n tabIndex=\"-1\"\n onClick={props.command}\n {...{\n ...generateFocusProps(props.highlight),\n ...props,\n editor,\n }}\n >\n {props.label}\n </MenuItem>\n );\n }\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, ...generateFocusProps(props.highlight) }}\n isSecondaryMenu\n />\n );\n })\n )}\n </Menu>\n </DropdownMenu>\n);\n\nexport default MoreMenu;\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\n\nexport const EDITOR_MARKS = [\n EDITOR_OPTIONS.UNDO,\n EDITOR_OPTIONS.REDO,\n \"fontSizeOptions\",\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.HIGHLIGHT,\n EDITOR_OPTIONS.CALLOUT,\n \"bulletList\",\n \"orderedList\",\n \"todoList\",\n \"blockquote\",\n EDITOR_OPTIONS.CODE,\n \"codeBlock\",\n EDITOR_OPTIONS.TABLE,\n EDITOR_OPTIONS.ATTACHMENTS,\n EDITOR_OPTIONS.IMAGE_UPLOAD,\n EDITOR_OPTIONS.VIDEO_UPLOAD,\n EDITOR_OPTIONS.TEXT_COLOR,\n EDITOR_OPTIONS.EMOJI,\n EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n \"mentions\",\n];\n","import { useCallback, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { EDITOR_MARKS } from \"./constants\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst useEditorState = ({ editor, neetoKbArticleState }) => {\n const { setMarksState, marksState } = useEditorStore.pick();\n\n const handleSelectionUpdate = useCallback(\n ({ editor }) => {\n const activeMarks = {};\n\n EDITOR_MARKS.forEach(mark => {\n if (mark === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n activeMarks[mark] = {\n isActive: neetoKbArticleState?.active || false,\n };\n } else {\n activeMarks[mark] = { isActive: editor.isActive(mark) };\n }\n });\n\n const activeFontSizeOption =\n FONT_SIZE_OPTIONS.find(({ value: level }) =>\n editor.isActive(\"heading\", { level })\n ) || last(FONT_SIZE_OPTIONS);\n\n activeMarks[\"fontSizeOption\"] = activeFontSizeOption;\n\n setMarksState(activeMarks);\n },\n [setMarksState, neetoKbArticleState?.active]\n );\n\n const updateHistoryOptionsState = useCallback(\n ({ editor }) => {\n const undoOptionState = { disabled: !editor.can().undo() };\n const redoOptionState = { disabled: !editor.can().redo() };\n\n const updatedMarksState = {\n ...marksState,\n [EDITOR_OPTIONS.UNDO]: undoOptionState,\n [EDITOR_OPTIONS.REDO]: redoOptionState,\n };\n setMarksState(updatedMarksState);\n },\n [marksState, setMarksState]\n );\n\n useEffect(() => {\n if (!editor) return noop;\n\n updateHistoryOptionsState({ editor });\n\n editor.on(\"selectionUpdate\", handleSelectionUpdate);\n editor.on(\"update\", handleSelectionUpdate);\n editor.on(\"transaction\", handleSelectionUpdate);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionUpdate);\n editor.off(\"update\", handleSelectionUpdate);\n editor.off(\"transaction\", handleSelectionUpdate);\n };\n }, [editor, handleSelectionUpdate]);\n\n useEffect(() => {\n if (!editor) return;\n\n handleSelectionUpdate({ editor });\n }, [editor, neetoKbArticleState?.active, handleSelectionUpdate]);\n};\n\nexport default useEditorState;\n","import classnames from \"classnames\";\n// TODO: switch to neetomolecules/v2/DynamicVariables once molecules ships v2 of\n// this component (not present as of @bigbinary/neeto-molecules@4.1.74).\nimport DynamicVariables from \"neetomolecules/DynamicVariables\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuDynamicVariables = ({\n editor,\n variables = [],\n standalone = false,\n}) => {\n const { t } = useTranslation();\n\n if (isEmpty(variables)) return null;\n\n const handleVariableClick = item => {\n const { category, categoryLabel, key, label } = item;\n const variableName = category ? `${category}.${key}` : key;\n const variableLabel = category\n ? `${categoryLabel || category}:${label}`\n : label;\n\n editor\n .chain()\n .focus()\n .setVariable({ id: variableName, label: variableLabel })\n .run();\n };\n\n return (\n <div\n data-testid=\"neeto-editor-fixed-menu-variables\"\n className={classnames(\"neeto-editor-fixed-menu__variables\", {\n \"neeto-editor-fixed-menu__variables--standalone\": standalone,\n })}\n >\n <DynamicVariables\n {...{ variables }}\n buttonSize=\"small\"\n dropdownProps={{ classNames: \"ne-editor-variables-popup\" }}\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoEditor.menu.dynamicVariables\"),\n position: \"bottom\",\n },\n }}\n onVariableClick={handleVariableClick}\n />\n </div>\n );\n};\n\nexport default MenuDynamicVariables;\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport LinkAddPopOver from \"./components/LinkAddPopOver\";\nimport MoreMenu from \"./components/MoreMenu\";\nimport { MENU_ELEMENTS } from \"./constants\";\nimport useEditorState from \"./hooks/useEditorState\";\nimport { reGroupMenuItems, buildMenuOptions } from \"./utils\";\n\nimport MenuDynamicVariables from \"../DynamicVariables\";\n\nconst Fixed = ({\n editor,\n options,\n mentions,\n variables = [],\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n isIndependant = true,\n className,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n openLinkInNewTab,\n setIsNeetoKbArticleActive,\n neetoKbArticleState,\n showAssetLibrary = true,\n containerRef,\n}) => {\n const [focusedButtonIndex, setFocusedButtonIndex] = useState(0);\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [menuItems, setMenuItems] = useState([]);\n const [moreMenuItems, setMoreMenuItems] = useState([]);\n\n useEditorState({ editor, neetoKbArticleState });\n\n const editorRef = useRef(editor);\n\n useEffect(() => {\n editorRef.current = editor;\n }, [editor]);\n\n const menuRef = useRef(null);\n const menuContainerRef = useRef(null);\n\n const runEditorCommand = useCallback(\n command => () => command(editorRef.current),\n []\n );\n\n const handleArrowNavigation = event => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n setFocusedButtonIndex(prevIndex => (prevIndex + 1) % menuButtons.length);\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setFocusedButtonIndex(\n prevIndex => (prevIndex - 1 + menuButtons.length) % menuButtons.length\n );\n }\n };\n\n const menuButtons = useMemo(\n () => menuRef.current?.querySelectorAll(\".ne-toolbar-item\"),\n [menuRef.current]\n );\n\n useEffect(() => {\n menuButtons?.[focusedButtonIndex].focus();\n }, [focusedButtonIndex]);\n\n useEffect(() => {\n menuButtons?.forEach(menuItem =>\n menuItem.addEventListener(\"keydown\", handleArrowNavigation)\n );\n\n return () =>\n menuButtons?.forEach(menuItem =>\n menuItem.removeEventListener(\"keydown\", handleArrowNavigation)\n );\n }, [menuButtons]);\n\n const menuGroups = useMemo(\n () =>\n buildMenuOptions({\n tooltips,\n runEditorCommand,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions,\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n editor,\n setIsNeetoKbArticleActive,\n }),\n [isEmojiPickerActive, mentions]\n );\n\n const handleResize = useCallback(() => {\n if (!menuRef.current) return;\n const { visibleMenuGroups, invisibleMenuGroups } = reGroupMenuItems(\n menuRef,\n menuGroups\n );\n setMenuItems(visibleMenuGroups);\n setMoreMenuItems(invisibleMenuGroups);\n }, [setMenuItems, menuGroups, menuRef.current]);\n\n useEffect(() => {\n handleResize();\n\n const menuContainer = menuContainerRef.current;\n const resizeObserver = new ResizeObserver(handleResize);\n if (menuContainer) {\n resizeObserver.observe(menuContainer);\n }\n\n return () => {\n if (menuContainer) resizeObserver.unobserve(menuContainer);\n };\n }, [menuContainerRef.current, handleResize, menuGroups]);\n\n if (!editor) return null;\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n return (\n <div\n ref={menuContainerRef}\n className={classNames(\"neeto-editor-fixed-menu\", {\n \"neeto-editor-fixed-menu--independant\": isIndependant,\n [className]: className,\n })}\n >\n <div\n className=\"neeto-editor-fixed-menu__wrapper ne-fixed-menu--v2\"\n data-testid=\"neeto-editor-fixed-menu-wrapper\"\n ref={menuRef}\n >\n {menuItems.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (!Component) return null;\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, options }}\n />\n );\n })\n )}\n {isNotEmpty(moreMenuItems) && (\n <MoreMenu {...{ editor }} groups={moreMenuItems} />\n )}\n </div>\n <MenuDynamicVariables {...{ editor, variables }} />\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n containerRef,\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Fixed;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nconst Button = ({\n icon = null,\n onClick = noop,\n disabled = false,\n className,\n tooltipProps,\n ...otherProps\n}) => {\n const Icon = icon;\n\n return (\n <Tooltip\n disabled={!tooltipProps}\n onClick={() => onClick()}\n {...tooltipProps}\n >\n <button\n className={classnames(\"ne-headless-btn\", { [className]: className })}\n type=\"button\"\n {...{ disabled, onClick, ...otherProps }}\n >\n {icon && <Icon aria-hidden=\"true\" key=\"2\" size={18} />}\n </button>\n </Tooltip>\n );\n};\n\nexport default Button;\n","import { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nimport Button from \"./Button\";\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc, onClose } }) {\n function onKeyDown(event) {\n if (!(event.key.toLowerCase() === \"escape\" && hideOnEsc)) return;\n onClose();\n hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst Dropdown = ({\n icon,\n isOpen,\n onClose = noop,\n children,\n className,\n onClick,\n buttonProps = {},\n ...otherProps\n}) => {\n const [mounted, setMounted] = useState(false);\n\n return (\n <Tippy\n {...{ onClose }}\n hideOnEsc\n interactive\n animation={false}\n arrow={false}\n duration={0}\n hideOnClick={false}\n maxWidth=\"none\"\n offset={0}\n plugins={[hideOnEsc]}\n popperOptions={{ strategy: \"fixed\" }}\n role=\"dropdown\"\n theme=\"light\"\n trigger=\"click\"\n visible={isOpen}\n className={classnames(\"ne-headless-dropdown\", {\n [className]: className,\n })}\n content={\n mounted && <div className=\"ne-headless-dropdown__popup\">{children}</div>\n }\n onClickOutside={onClose}\n onHidden={() => setMounted(false)}\n onMount={() => setMounted(true)}\n {...otherProps}\n >\n <span>\n <Button {...{ icon, onClick, ...buttonProps }} />\n </span>\n </Tippy>\n );\n};\n\nexport default Dropdown;\n","import { Smile } from \"lucide-react\";\n\nimport EmojiPicker from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nimport Dropdown from \"./UI/Dropdown\";\n\nconst Emoji = ({ editor, isActive, setActive, tooltipContent }) => (\n <Dropdown\n className=\"ne-headless__emoji\"\n icon={Smile}\n isOpen={isActive}\n buttonProps={{\n tooltipProps: {\n content: tooltipContent,\n delay: [500],\n position: \"bottom\",\n },\n \"data-testid\": \"ne-emoji-picker\",\n }}\n onClick={() => setActive(active => !active)}\n onClose={() => setActive(false)}\n >\n <EmojiPicker {...{ editor, setActive }} />\n </Dropdown>\n);\nexport default Emoji;\n","import classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { hyphenate } from \"neetocist\";\n\nimport Emoji from \"./Emoji\";\nimport Button from \"./UI/Button\";\n\nconst Option = ({\n editor,\n optionName,\n command,\n disabled,\n Icon,\n isActive,\n setActive,\n tooltip,\n}) => {\n if (optionName === EDITOR_OPTIONS.EMOJI) {\n return (\n <Emoji\n {...{ editor, isActive, setActive }}\n tooltipContent={tooltip || \"Emoji\"}\n />\n );\n }\n\n return (\n <Button\n {...{ disabled }}\n className={classnames({ \"ne-headless-btn--active\": isActive })}\n data-testid={hyphenate(optionName)}\n icon={Icon}\n tooltipProps={{\n content: tooltip,\n delay: [500],\n position: \"bottom\",\n }}\n onClick={command}\n />\n );\n};\n\nexport default Option;\n","import i18n from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n List,\n ListOrdered,\n Quote,\n Redo,\n Smile,\n SquareCode,\n Strikethrough,\n Table,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { findBy, noop } from \"neetocist\";\nimport { assoc } from \"ramda\";\n\nconst { t } = i18n;\n\nconst createMenuOptions = ({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n {\n Icon: FileText,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n Icon: Smile,\n command: noop,\n optionName: \"emoji\",\n tooltip: tooltips.emoji || t(\"neetoEditor.menu.emoji\"),\n isActive: isEmojiPickerActive,\n setActive: setIsEmojiPickerActive,\n },\n {\n Icon: Table,\n command: () =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n optionName: \"table\",\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n },\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n];\n\nexport const buildOptionsFromAddonCommands = ({ editor, commands }) => {\n const { to } = editor.state.selection;\n\n return commands.map(option => ({\n ...option,\n active: option.active?.({ editor }),\n command: () => option.command?.({ editor, range: { from: to, to } }),\n }));\n};\n\nexport const buildMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const menuOptions = createMenuOptions({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n return options\n .map(option => findBy({ optionName: option }, menuOptions))\n .filter(Boolean);\n};\n","import classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport Option from \"./Option\";\nimport { buildOptionsFromAddonCommands, buildMenuOptions } from \"./utils\";\n\nconst Headless = ({\n editor,\n options,\n tooltips = {},\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n className,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n showAssetLibrary = true,\n}) => {\n if (!editor) {\n return null;\n }\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n const menuOptions = buildMenuOptions({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n const addonCommandOptions = buildOptionsFromAddonCommands({\n editor,\n commands: addonCommands,\n });\n const allOptions = [...menuOptions, ...addonCommandOptions];\n\n return (\n <div\n className={classnames(\"ne-headless ne-headless--v2\", {\n [className]: className,\n })}\n >\n {allOptions.map(option => (\n <Option {...{ editor }} key={option.optionName} {...option} />\n ))}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Headless;\n","import { t } from \"i18next\";\nimport {\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Pilcrow,\n} from \"lucide-react\";\n\nimport BubbleMenu from \"./Bubble\";\nimport EmptyMenu from \"./EmptyMenu\";\nimport FixedMenu from \"./Fixed\";\nimport HeadlessMenu from \"./Headless\";\n\nexport const FONT_SIZE_OPTIONS = [\n {\n label: t(\"neetoEditor.menu.heading1\"),\n value: 1,\n key: \"h1\",\n icon: Heading1,\n },\n {\n label: t(\"neetoEditor.menu.heading2\"),\n value: 2,\n key: \"h2\",\n icon: Heading2,\n },\n {\n label: t(\"neetoEditor.menu.heading3\"),\n value: 3,\n key: \"h3\",\n icon: Heading3,\n },\n {\n label: t(\"neetoEditor.menu.heading4\"),\n value: 4,\n key: \"h4\",\n icon: Heading4,\n },\n {\n label: t(\"neetoEditor.menu.heading5\"),\n value: 5,\n key: \"h5\",\n icon: Heading5,\n },\n {\n label: t(\"neetoEditor.menu.normalText\"),\n value: 0,\n key: \"body2\",\n icon: Pilcrow,\n },\n];\n\nexport const MENU_COMPONENTS = {\n fixed: FixedMenu,\n bubble: BubbleMenu,\n headless: HeadlessMenu,\n none: EmptyMenu,\n};\n","import { memo, useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { filterBy } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst FontSizeOption = ({\n runEditorCommand,\n tooltipContent,\n label,\n options = [],\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n\n const lastOption = last(FONT_SIZE_OPTIONS);\n const { fontSizeOption: activeOption = lastOption } =\n useEditorStore.pick(\"marksState\");\n\n const handleClick = level =>\n level\n ? runEditorCommand(editor =>\n editor.chain().focus().toggleHeading({ level }).run()\n )()\n : runEditorCommand(editor =>\n editor.chain().focus().setNode(\"paragraph\").run()\n )();\n\n const menuOptions = [\n ...filterBy({ key: key => options.includes(key) }, FONT_SIZE_OPTIONS),\n FONT_SIZE_OPTIONS[FONT_SIZE_OPTIONS.length - 1],\n ];\n\n const renderItems = menuOptions.map(\n ({ label: itemLabel, icon: Icon, value, key }) => (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-font-size-option-${key}`}\n isActive={activeOption?.value === value}\n key={value}\n prefix={<Icon size={16} />}\n onClick={() => handleClick(value)}\n >\n {itemLabel}\n </MenuItem>\n )\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(FontSizeOption);\n","import classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nconst ColorDot = ({ colorVar, isSelected, onClick, isTextColor }) => {\n const dotClass = classNames(\"neeto-editor-highlight-dropdown__color-dot\", {\n \"neeto-editor-highlight-dropdown__color-dot--selected\": isSelected,\n });\n\n const dotStyle = { backgroundColor: `var(${colorVar})` };\n\n const colorNumber = colorVar.match(/\\d+$/)?.[0] || colorVar;\n\n return (\n <div\n {...{ onClick }}\n className={dotClass}\n style={dotStyle}\n data-testid={`neeto-editor-highlight-${hyphenize(\n isTextColor ? \"text\" : \"background\"\n )}-color-dot-${colorNumber}`}\n />\n );\n};\n\nexport default ColorDot;\n","export const COLORS = {\n recent: [\"--neeto-editor-highlight-bg-yellow-light\"],\n text: [\n \"--neeto-editor-highlight-text-1\",\n \"--neeto-editor-highlight-text-2\",\n \"--neeto-editor-highlight-text-3\",\n \"--neeto-editor-highlight-text-4\",\n \"--neeto-editor-highlight-text-5\",\n \"--neeto-editor-highlight-text-6\",\n \"--neeto-editor-highlight-text-7\",\n \"--neeto-editor-highlight-text-8\",\n \"--neeto-editor-highlight-text-9\",\n \"--neeto-editor-highlight-text-10\",\n \"--neeto-editor-highlight-text-11\",\n \"--neeto-editor-highlight-text-12\",\n \"--neeto-editor-highlight-text-13\",\n \"--neeto-editor-highlight-text-14\",\n \"--neeto-editor-highlight-text-15\",\n \"--neeto-editor-highlight-text-16\",\n ],\n background: [\n \"--neeto-editor-highlight-bg-1\",\n \"--neeto-editor-highlight-bg-2\",\n \"--neeto-editor-highlight-bg-3\",\n \"--neeto-editor-highlight-bg-4\",\n \"--neeto-editor-highlight-bg-5\",\n \"--neeto-editor-highlight-bg-6\",\n \"--neeto-editor-highlight-bg-7\",\n \"--neeto-editor-highlight-bg-8\",\n \"--neeto-editor-highlight-bg-9\",\n \"--neeto-editor-highlight-bg-10\",\n \"--neeto-editor-highlight-bg-11\",\n \"--neeto-editor-highlight-bg-12\",\n \"--neeto-editor-highlight-bg-13\",\n \"--neeto-editor-highlight-bg-14\",\n \"--neeto-editor-highlight-bg-15\",\n \"--neeto-editor-highlight-bg-16\",\n ],\n};\n","import { useRef } from \"react\";\n\nimport { DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Highlighter } from \"lucide-react\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nimport ColorDot from \"./ColorDot\";\nimport { COLORS } from \"./constants\";\n\nconst colorSections = [\n { title: \"Text color\", colors: COLORS.text, isTextColor: true },\n { title: \"Background color\", colors: COLORS.background, isTextColor: false },\n];\n\nconst HighlightDropdown = ({\n editor,\n label,\n tooltipContent,\n runEditorCommand,\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n const textColor = editor.getAttributes(\"textStyle\").color;\n const backgroundColor = editor.getAttributes(\"textStyle\").backgroundColor;\n\n const updateBackgroundColor = value => {\n runEditorCommand(editor =>\n editor\n .chain()\n .focus()\n .setMark(\"textStyle\", { backgroundColor: value })\n .run()\n )();\n };\n\n const handleBackgroundColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (backgroundColor === `var(${colorVar})`) {\n updateBackgroundColor(null);\n } else {\n updateBackgroundColor(`var(${colorVar})`);\n }\n };\n\n const handleTextColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (textColor === `var(${colorVar})`) {\n editor.chain().focus().unsetColor().run();\n } else {\n editor.chain().focus().setColor(`var(${colorVar})`).run();\n }\n };\n\n const renderColorDots = (colorList, isTextColor = false) =>\n colorList.map((colorVar, idx) => (\n <ColorDot\n {...{ colorVar, isTextColor }}\n key={idx}\n isSelected={\n isTextColor\n ? textColor === `var(${colorVar})`\n : backgroundColor === `var(${colorVar})`\n }\n onClick={event =>\n isTextColor\n ? handleTextColorClick(colorVar, event)\n : handleBackgroundColorClick(colorVar, event)\n }\n />\n ));\n\n const renderSections = colorSections.map(({ title, colors, isTextColor }) => (\n <div className=\"neeto-editor-highlight-dropdown__section\" key={title}>\n <Typography\n className=\"neeto-editor-highlight-dropdown__section-title\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n <div\n className=\"neeto-editor-highlight-dropdown__color-grid\"\n data-testid={`neeto-editor-highlight-${hyphenize(title)}-grid`}\n >\n {renderColorDots(colors, isTextColor)}\n </div>\n </div>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Highlighter}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-highlight-dropdown w-[280px] p-3\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n }}\n >\n {renderSections}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[280px] p-3\" }}\n icon={Highlighter}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu className=\"neeto-editor-highlight-dropdown\">\n {renderSections}\n </DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default HighlightDropdown;\n","import { memo, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Table } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst { Menu } = DropdownMenu;\n\nconst TableOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n // Bumping this key remounts DropdownMenu, which closes it after submit.\n // The wrapper exposes onClose for the close direction but no programmatic\n // open control: passing controlled isOpen breaks open clicks (the wrapper's\n // handleOpenChange ignores open events when controlled), and passing\n // onClick to drive isOpen flips the wrapper into SplitTrigger mode\n // (a two-button ButtonGroup) which we don't want here.\n const [resetKey, setResetKey] = useState(0);\n\n const handleClose = () => {\n setRows(3);\n setColumns(3);\n };\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run();\n handleClose();\n setResetKey(k => k + 1);\n };\n\n const formContent = (\n <>\n <Input\n autoFocus\n data-testid=\"neeto-editor-fixed-menu-table-rows-input\"\n label={t(\"neetoEditor.menu.rows\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.rows\")}\n size=\"small\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n <Input\n data-testid=\"neeto-editor-fixed-menu-table-columns-input\"\n label={t(\"neetoEditor.menu.columns\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.columns\")}\n size=\"small\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n <div className=\"neeto-editor-table-menu__button\">\n <Button\n className=\"mt-auto\"\n data-testid=\"neeto-editor-fixed-menu-table-option-create-button\"\n label={t(\"neetoEditor.common.create\")}\n size=\"sm\"\n onClick={handleSubmit}\n />\n </div>\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Table}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-table__item w-auto p-2 flex flex-col\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n >\n {formContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-auto p-2\" }}\n icon={Table}\n key={resetKey}\n position=\"bottom\"\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n onClose={handleClose}\n >\n <Menu className=\"neeto-editor-table__item\">{formContent}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(TableOption);\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\n\nimport MenuButton from \"./components/Button\";\nimport CalloutDropdown from \"./components/CalloutDropdown\";\nimport EmojiOption from \"./components/EmojiOption\";\nimport FontSizeOption from \"./components/FontSizeOption\";\nimport HighlightDropdown from \"./components/HighlightDropdown/index.jsx\";\nimport TableOption from \"./components/TableOption\";\nimport TextColorOption from \"./components/TextColorOption\";\n\nexport const MENU_ELEMENT_TYPES = {\n BUTTON: \"button\",\n CALLOUT: \"callout\",\n FONT_SIZE: \"fontSize\",\n TABLE: \"table\",\n TEXT_COLOR: \"textColor\",\n EMOJI: \"emoji\",\n MENTIONS: \"mentions\",\n HIGHLIGHT: \"highlight\",\n};\n\nexport const MENU_TYPES = {\n HISTORY: \"history\",\n FONT: \"font\",\n LIST: \"list\",\n BLOCK: \"block\",\n MISC: \"misc\",\n EXTRAS: \"extras\",\n CUSTOM: \"custom\",\n};\n\nexport const SHORTCUTS = {\n [EDITOR_OPTIONS.BOLD]: { mac: \"⌘B\", win: \"Ctrl+B\" },\n [EDITOR_OPTIONS.ITALIC]: { mac: \"⌘I\", win: \"Ctrl+I\" },\n [EDITOR_OPTIONS.UNDERLINE]: { mac: \"⌘U\", win: \"Ctrl+U\" },\n [EDITOR_OPTIONS.STRIKETHROUGH]: {\n mac: \"⌘⇧S or ⌘⇧X\",\n win: \"Ctrl+Shift+S or Ctrl+Shift+X\",\n },\n [EDITOR_OPTIONS.CODE]: { mac: \"⌘E\", win: \"Ctrl+E\" },\n [EDITOR_OPTIONS.UNDO]: { mac: \"⌘Z\", win: \"Ctrl+Z\" },\n [EDITOR_OPTIONS.REDO]: { mac: \"⌘⇧Z\", win: \"Ctrl+Shift+Z\" },\n [EDITOR_OPTIONS.LINK]: { mac: \"⌘K\", win: \"Ctrl+K\" },\n [EDITOR_OPTIONS.HIGHLIGHT]: { mac: \"⌘⇧H\", win: \"Ctrl+Shift+H\" },\n bulletList: { mac: \"⌘⇧8\", win: \"Ctrl+Shift+8\" },\n orderedList: { mac: \"⌘⇧7\", win: \"Ctrl+Shift+7\" },\n todoList: { mac: \"⌘⇧9\", win: \"Ctrl+Shift+9\" },\n};\n\nexport const MENU_ELEMENTS = {\n [MENU_ELEMENT_TYPES.BUTTON]: MenuButton,\n [MENU_ELEMENT_TYPES.CALLOUT]: CalloutDropdown,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: FontSizeOption,\n [MENU_ELEMENT_TYPES.TABLE]: TableOption,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: TextColorOption,\n [MENU_ELEMENT_TYPES.EMOJI]: EmojiOption,\n [MENU_ELEMENT_TYPES.MENTIONS]: Mentions,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: HighlightDropdown,\n};\n\nexport const MENU_ELEMENT_WIDTHS = {\n [MENU_ELEMENT_TYPES.BUTTON]: 36,\n [MENU_ELEMENT_TYPES.CALLOUT]: 23,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: 103,\n [MENU_ELEMENT_TYPES.TABLE]: 36,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: 36,\n [MENU_ELEMENT_TYPES.EMOJI]: 36,\n [MENU_ELEMENT_TYPES.MENTIONS]: 36,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: 103,\n};\n","import { t } from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListChecks,\n ListOrdered,\n Paperclip,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport { prop, not, assoc } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\n\nimport {\n MENU_ELEMENT_WIDTHS,\n MENU_ELEMENT_TYPES,\n SHORTCUTS,\n} from \"./constants.js\";\n\nconst createMenuOptions = ({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const fontSizeOptions = options.filter(option => option.match(/^h[1-6]$/));\n\n return [\n [\n {\n type: MENU_ELEMENT_TYPES.FONT_SIZE,\n options: fontSizeOptions,\n label: tooltips.fontSize ?? t(\"neetoEditor.menu.fontSize\"),\n isEnabled: isNotEmpty(fontSizeOptions),\n optionName: \"fontSizeOptions\",\n runEditorCommand,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Bold,\n isEnabled: options.includes(EDITOR_OPTIONS.BOLD),\n command: runEditorCommand(editor =>\n editor?.chain().focus().toggleBold().run()\n ),\n optionName: EDITOR_OPTIONS.BOLD,\n label: tooltips.bold ?? t(\"neetoEditor.menu.bold\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Italic,\n isEnabled: options.includes(EDITOR_OPTIONS.ITALIC),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleItalic().run()\n ),\n optionName: EDITOR_OPTIONS.ITALIC,\n label: tooltips.italic ?? t(\"neetoEditor.menu.italic\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Link,\n isEnabled: options.includes(EDITOR_OPTIONS.LINK),\n command: () => setIsAddLinkActive(not),\n optionName: EDITOR_OPTIONS.LINK,\n label: tooltips.link ?? t(\"neetoEditor.menu.link\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Strikethrough,\n isEnabled: options.includes(EDITOR_OPTIONS.STRIKETHROUGH),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleStrike().run()\n ),\n optionName: EDITOR_OPTIONS.STRIKETHROUGH,\n label: tooltips.strike ?? t(\"neetoEditor.menu.strike\"),\n },\n {\n type: MENU_ELEMENT_TYPES.HIGHLIGHT,\n icon: Highlighter,\n label: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n isEnabled: options.includes(EDITOR_OPTIONS.HIGHLIGHT),\n optionName: EDITOR_OPTIONS.HIGHLIGHT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: List,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBulletList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_BULLETS),\n optionName: \"bulletList\",\n highlight: true,\n label: tooltips.bulletList ?? t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListOrdered,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleOrderedList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_ORDERED),\n optionName: \"orderedList\",\n highlight: true,\n label: tooltips.orderedList ?? t(\"neetoEditor.menu.orderedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListChecks,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleTaskList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.TODO_LIST),\n optionName: \"todoList\",\n highlight: true,\n label: tooltips.todoList ?? t(\"neetoEditor.menu.todoList\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Quote,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBlockquote().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n optionName: \"blockquote\",\n highlight: true,\n label: tooltips.blockQuote ?? t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n type: MENU_ELEMENT_TYPES.CALLOUT,\n label: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n isEnabled: options.includes(EDITOR_OPTIONS.CALLOUT),\n optionName: EDITOR_OPTIONS.CALLOUT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TABLE,\n label: tooltips.table ?? t(\"neetoEditor.menu.table\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TABLE),\n optionName: EDITOR_OPTIONS.TABLE,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Paperclip,\n command: () => attachmentProps?.handleUploadAttachments(),\n disabled: attachmentProps?.isDisabled,\n isEnabled: options.includes(EDITOR_OPTIONS.ATTACHMENTS),\n optionName: EDITOR_OPTIONS.ATTACHMENTS,\n label: tooltips.attachments ?? t(\"neetoEditor.menu.attachments\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: FileText,\n command: () => {\n if (!editor || !setIsNeetoKbArticleActive) return;\n\n const { from, to } = editor.state.selection;\n const cursorPos = editor.view.coordsAtPos(from);\n\n setIsNeetoKbArticleActive({\n active: true,\n editor,\n range: { from, to },\n cursorPos,\n });\n },\n isEnabled: options.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE),\n optionName: EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n label:\n tooltips.neetoKbArticle ?? t(\"neetoEditor.menu.linkToNeetoKbArticle\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD),\n optionName: EDITOR_OPTIONS.IMAGE_UPLOAD,\n label: tooltips.imageUpload ?? t(\"neetoEditor.menu.imageUpload\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TEXT_COLOR,\n label: tooltips.textColor ?? t(\"neetoEditor.menu.textColor\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TEXT_COLOR),\n optionName: EDITOR_OPTIONS.TEXT_COLOR,\n },\n {\n type: MENU_ELEMENT_TYPES.EMOJI,\n label: tooltips.emoji ?? t(\"neetoEditor.menu.emoji\"),\n isEnabled: options.includes(EDITOR_OPTIONS.EMOJI),\n optionName: EDITOR_OPTIONS.EMOJI,\n setActive: setIsEmojiPickerActive,\n isActive: isEmojiPickerActive,\n },\n {\n type: MENU_ELEMENT_TYPES.MENTIONS,\n label: tooltips.mention ?? t(\"neetoEditor.menu.mention\"),\n isEnabled: isNotEmpty(mentions),\n optionName: \"mentions\",\n mentions,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Code,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCode().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE),\n optionName: EDITOR_OPTIONS.CODE,\n label: tooltips.code ?? t(\"neetoEditor.menu.code\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: SquareCode,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCodeBlock().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE_BLOCK),\n optionName: \"codeBlock\",\n label: tooltips.codeBlock ?? t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD),\n optionName: EDITOR_OPTIONS.VIDEO_UPLOAD,\n label: tooltips.videoUpload ?? t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Underline,\n isEnabled: options.includes(EDITOR_OPTIONS.UNDERLINE),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleUnderline().run()\n ),\n optionName: EDITOR_OPTIONS.UNDERLINE,\n label: tooltips.underline ?? t(\"neetoEditor.menu.underline\"),\n },\n ],\n [...addonCommandOptions],\n [\n {\n icon: Undo,\n command: runEditorCommand(editor =>\n editor.chain().focus().undo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.UNDO),\n optionName: EDITOR_OPTIONS.UNDO,\n label: tooltips.undo ?? t(\"neetoEditor.menu.undo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n {\n icon: Redo,\n command: runEditorCommand(editor =>\n editor.chain().focus().redo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.REDO),\n optionName: EDITOR_OPTIONS.REDO,\n label: tooltips.redo ?? t(\"neetoEditor.menu.redo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n ],\n ];\n};\n\nexport const buildOptionsFromAddonCommands = ({ commands, runEditorCommand }) =>\n commands.map(option => ({\n ...option,\n type: MENU_ELEMENT_TYPES.BUTTON,\n command: runEditorCommand(editor =>\n option.command?.({\n editor,\n range: {\n from: editor.state?.selection?.to,\n to: editor.state?.selection.to,\n },\n })\n ),\n }));\n\nexport const buildMenuOptions = ({\n tooltips,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions = [],\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const addonCommandOptions = buildOptionsFromAddonCommands({\n commands: addonCommands,\n runEditorCommand,\n });\n\n const menuOptions = createMenuOptions({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n });\n\n return menuOptions.map(option => option.filter(prop(\"isEnabled\")));\n};\n\nexport const getCursorPos = (editor, to) => editor?.view.coordsAtPos(to);\n\nexport const reGroupMenuItems = (menuRef, menuGroups) => {\n const toolbarWidth = menuRef.current.offsetWidth;\n let totalWidth = 0;\n const visibleMenuGroups = [];\n const invisibleMenuGroups = [];\n menuGroups.forEach((group, groupIndex) => {\n group.forEach((item, itemIndex) => {\n const width = MENU_ELEMENT_WIDTHS[item.type];\n if (totalWidth + width < toolbarWidth) {\n totalWidth += width;\n visibleMenuGroups[groupIndex] = visibleMenuGroups[groupIndex] ?? [];\n visibleMenuGroups[groupIndex][itemIndex] = item;\n } else {\n const visibleMenuGroupsLength = visibleMenuGroups.length;\n const index = groupIndex - visibleMenuGroupsLength + 1;\n invisibleMenuGroups[index] = invisibleMenuGroups[index] ?? [];\n invisibleMenuGroups[index][itemIndex] = item;\n }\n });\n });\n\n return { visibleMenuGroups, invisibleMenuGroups };\n};\n\nexport const getLinkPopoverPosition = (editor, popoverRef) => {\n const {\n selection: {\n $to: { pos: selectionEnd },\n $from: { pos: selectionStart },\n },\n } = editor.view.state;\n const selectionLength = selectionEnd - selectionStart;\n let offset = 0;\n if (selectionLength > 1) offset = Math.round(selectionLength / 2);\n\n if (selectionLength === 1) offset = 1;\n\n const arrowCoords = editor.view.coordsAtPos(selectionStart + offset);\n const arrowPosition = {\n top: `${arrowCoords.top + 21}px`,\n left: `${arrowCoords.left - 8.5}px`,\n };\n\n const popoverCoords = editor.view.coordsAtPos(selectionStart);\n let adjustedLeft = popoverCoords?.left,\n adjustedTop = popoverCoords?.top;\n if (popoverRef?.current) {\n const popoverRect = popoverRef.current?.getBoundingClientRect();\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n\n const maxLeft = screenWidth - popoverRect.width;\n const maxTop = screenHeight - popoverRect.height - 50;\n\n adjustedLeft = popoverCoords?.left\n ? Math.min(popoverCoords.left - 50, maxLeft)\n : 0;\n\n adjustedTop = popoverCoords?.top\n ? Math.min(popoverCoords.top - 22, maxTop)\n : 0;\n } else {\n adjustedLeft = popoverCoords.left - 50;\n adjustedTop = popoverCoords.top - 22;\n }\n\n const popoverPosition = {\n top: `${adjustedTop}px`,\n left: `${adjustedLeft}px`,\n };\n\n return { arrowPosition, popoverPosition };\n};\n\nexport function renderTooltipContent(label, optionName) {\n const shortcut = SHORTCUTS[optionName];\n if (!shortcut) return label;\n\n const isMac = () =>\n typeof window !== \"undefined\" &&\n /Mac|iPod|iPhone|iPad/.test(window.navigator.userAgent);\n\n const key = isMac() ? shortcut.mac : shortcut.win;\n\n return `${label} (${key})`;\n}\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { assoc, isEmpty, not } from \"ramda\";\n\nimport { DEFAULT_EDITOR_OPTIONS } from \"src/v2/components/Editor/constants\";\n\nimport { MENU_COMPONENTS } from \"./constants\";\n\nconst Menu = props => {\n const [isEmojiPickerActive, setIsEmojiPickerActive] = useState(false);\n const [mediaUploader, setMediaUploader] = useState({\n image: false,\n video: false,\n });\n\n const {\n menuType = \"fixed\",\n addons = [],\n options = [],\n editorSecrets = {},\n attachmentProps,\n defaults = DEFAULT_EDITOR_OPTIONS,\n } = props;\n\n const MenuComponent = useMemo(() => MENU_COMPONENTS[menuType], [menuType]);\n const menuOptions = isEmpty(options) ? [...defaults, ...addons] : options;\n\n useEffect(() => {\n const handleKeyDown = e => {\n if ((e.metaKey || e.ctrlKey) && e.altKey) {\n if (e.code === \"KeyE\") {\n setIsEmojiPickerActive(prevState => !prevState);\n } else if (e.code === \"KeyA\") {\n not(attachmentProps?.isDisabled) &&\n attachmentProps?.handleUploadAttachments();\n } else if (e.code === \"KeyK\") {\n setMediaUploader(assoc(\"image\", true));\n } else if (e.code === \"KeyV\") {\n setMediaUploader(assoc(\"video\", true));\n }\n }\n };\n if (menuType !== \"none\") {\n document.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n return (\n <MenuComponent\n {...{\n ...props,\n attachmentProps,\n isEmojiPickerActive,\n mediaUploader,\n setIsEmojiPickerActive,\n setMediaUploader,\n }}\n options={menuOptions}\n unsplashApiKey={editorSecrets.unsplash}\n />\n );\n};\n\nexport default Menu;\n"],"names":["DEFAULT_EDITOR_OPTIONS","EDITOR_OPTIONS","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","LINK","PARAGRAPH","H1","H2","H3","H4","H5","H6","LIST_BULLETS","LIST_ORDERED","CODE","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","EDITOR_LINE_HEIGHT","IMAGE_REGEX","RegExp","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","TRAILING_BR_REGEX","LINK_VALIDATION_SCHEMA","yup","object","shape","textContent","string","required","t","urlString","matches","ALL_PROTOCOL_URL_REGEXP","getEditorStyles","_ref","rows","editorHeight","concat","clipboardTextParser","text","context","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","schema","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","state","view","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","test","transformEditorContent","_content$replaceAll","replaceAll","replace","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","buildLevelsFromOptions","options","levels","_defineProperty","Object","entries","filter","heading","includes","map","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","_containerRef$current","isAddLinkActive","openLinkInNewTab","containerRef","_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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"}