@bigbinary/neeto-editor 1.47.113 → 1.47.115

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-C9Hjlrrk.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/Menu/Fixed/components/SecondaryMenuTarget.jsx","../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 },\n {\n type: \"warning\",\n label: t(\"neetoEditor.menu.calloutWarning\"),\n icon: AlertTriangle,\n bgColor: \"--neeto-editor-warning-100\",\n },\n {\n type: \"error\",\n label: t(\"neetoEditor.menu.calloutError\"),\n icon: AlertOctagon,\n bgColor: \"--neeto-editor-error-100\",\n },\n {\n type: \"success\",\n label: t(\"neetoEditor.menu.calloutSuccess\"),\n icon: CheckCircle2,\n bgColor: \"--neeto-editor-success-100\",\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 { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\n\nconst { MenuItem } = DropdownMenu;\n\nconst SecondaryMenuTarget = ({ icon: Icon, label }) => (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-${hyphenate(label)}-option`}\n prefix={<Icon size={16} />}\n >\n {label}\n </MenuItem>\n);\n\nexport default SecondaryMenuTarget;\n","import { memo } from \"react\";\n\nimport { Avatar, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { AtSign } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\n\nimport SecondaryMenuTarget from \"src/v2/components/Editor/Menu/Fixed/components/SecondaryMenuTarget\";\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 return (\n <DropdownMenu\n data-testid=\"neeto-editor-mention-option\"\n dropdownProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n position={isSecondaryMenu ? \"left-start\" : \"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 customTarget={\n isSecondaryMenu && <SecondaryMenuTarget {...{ label }} icon={AtSign} />\n }\n >\n <Menu>\n {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 </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 if (currentType?.icon) {\n const Icon = currentType.icon;\n\n return (\n <span className=\"neeto-editor-callout-dropdown__current-emoji\">\n <Icon size={22} />\n </span>\n );\n }\n\n return <Flag 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} />}\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 React, { useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\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 = ({ editor, label, tooltipContent }) => {\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 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>\n <DropdownMenu.Label>\n {t(\"neetoEditor.menu.selectCalloutType\")}\n </DropdownMenu.Label>\n <RenderCalloutOptions\n {...{ currentCalloutAttrs, handleCalloutTypeClick, isInCallout }}\n />\n </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\nimport SecondaryMenuTarget from \"./SecondaryMenuTarget\";\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 return (\n <DropdownMenu\n closeOnSelect={false}\n icon={Smile}\n key={resetKey}\n position={isSecondaryMenu ? \"left-start\" : \"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 customTarget={\n isSecondaryMenu && <SecondaryMenuTarget {...{ label }} icon={Smile} />\n }\n dropdownProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n onClick: e => isSecondaryMenu && e.stopPropagation(),\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\nimport SecondaryMenuTarget from \"./SecondaryMenuTarget\";\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 return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n position={isSecondaryMenu ? \"left-start\" : \"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 customTarget={\n isSecondaryMenu && (\n <SecondaryMenuTarget {...{ label }} icon={Baseline} />\n )\n }\n >\n <div\n style={{ \"min-width\": \"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 </DropdownMenu>\n );\n};\n\nexport default TextColorOption;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { ALL_PROTOCOL_URL_REGEXP } from \"common/constants\";\nimport { X } from \"lucide-react\";\nimport { isNotPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nconst LinkOption = ({ editor, handleClose, handleAnimateInvalidLink }) => {\n const { t } = useTranslation();\n\n const [link, setLink] = useState(\"\");\n\n useEffect(() => {\n setLink(editor.getAttributes(\"link\").href || \"\");\n }, [editor]);\n\n const handleKeyDown = event => {\n if (event.key === \"Escape\") {\n handleClose();\n } else if (event.key === \"Enter\") {\n handleSubmit();\n }\n };\n\n const handleSubmit = () => {\n if (ALL_PROTOCOL_URL_REGEXP.test(link)) {\n editor.chain().focus().setLink({ href: link }).run();\n handleClose();\n } else if (isNotPresent(link)) {\n editor.chain().focus().unsetLink().run();\n handleClose();\n } else {\n setLink(\"\");\n handleAnimateInvalidLink();\n }\n };\n\n const handleReset = () => {\n if (link) {\n setLink(\"\");\n editor.chain().focus().unsetLink().run();\n } else {\n handleClose();\n }\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__link\" onKeyDown={handleKeyDown}>\n <input\n autoFocus\n className=\"neeto-editor-bubble-menu-link__input\"\n data-testid=\"neeto-editor-link-input\"\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.linkInput\")}\n value={link}\n onChange={({ target: { value } }) =>\n setLink(validateAndFormatUrl(value))\n }\n />\n <Button\n data-testid=\"neeto-editor-link-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleReset}\n />\n </div>\n );\n};\n\nexport default LinkOption;\n","import { useState } from \"react\";\n\nimport { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TableOption = ({ editor, handleClose }) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run(),\n setRows(3);\n setColumns(3);\n handleClose();\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__table\">\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.rows\")}\n </Label>\n <input\n autoFocus\n data-testid=\"neeto-editor-bubble-menu-table-rows-input\"\n min=\"1\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.columns\")}\n </Label>\n <input\n data-testid=\"neeto-editor-bubble-menu-table-option-input\"\n min=\"1\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__buttons\">\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-create-button\"\n icon={Check}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleSubmit}\n />\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-close-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleClose}\n />\n </div>\n </div>\n );\n};\n\nexport default TableOption;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport {\n Bold,\n Code,\n Heading1,\n Heading2,\n Heading3,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListOrdered,\n Paperclip,\n Pilcrow,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { assoc, fromPairs, not, prop } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nexport const createMenuOptions = ({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => ({\n font: [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Link,\n command: () => setIsAddLinkActive(not),\n optionName: \"link\",\n tooltip: \"Link\",\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n ],\n block: [\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n highlight: true,\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n ],\n list: [\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n highlight: true,\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n highlight: true,\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n ],\n misc: [\n {\n Icon: Paperclip,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n active: false,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n ],\n right: [\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n active: false,\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n active: false,\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n ],\n});\n\nexport const buildBubbleMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => {\n const menuOptions = createMenuOptions({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n });\n\n return fromPairs(\n [\"font\", \"block\", \"list\", \"misc\", \"right\"].map(option => [\n option,\n menuOptions[option].filter(item => options.includes(item.optionName)),\n ])\n );\n};\n\nexport const getTextMenuDropdownOptions = ({ editor, options }) => {\n const textOptions = {\n [EDITOR_OPTIONS.H1]: {\n optionName: \"Heading 1\",\n icon: Heading1,\n active: editor.isActive(\"heading\", { level: 1 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 1 }).run(),\n },\n [EDITOR_OPTIONS.H2]: {\n optionName: \"Heading 2\",\n icon: Heading2,\n active: editor.isActive(\"heading\", { level: 2 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 2 }).run(),\n },\n [EDITOR_OPTIONS.H3]: {\n optionName: \"Heading 3\",\n icon: Heading3,\n active: editor.isActive(\"heading\", { level: 3 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 3 }).run(),\n },\n [EDITOR_OPTIONS.PARAGRAPH]: {\n optionName: \"Text\",\n icon: Pilcrow,\n active: editor.isActive(\"paragraph\"),\n command: () => editor.chain().focus().setNode(\"paragraph\").run(),\n },\n };\n\n const result = [];\n options.forEach(option => {\n if (!textOptions[option]) return;\n result.push(textOptions[option]);\n });\n\n return result;\n};\n\nexport const getNodeIcon = options =>\n options.find(prop(\"active\"))?.icon || Pilcrow;\n\nexport const renderOptionButton = ({\n tooltip,\n Icon,\n command,\n active,\n optionName,\n highlight,\n}) => (\n <Button\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-bubble-menu-${optionName}-option`}\n icon={Icon}\n key={optionName}\n size=\"default\"\n tooltipProps={{ content: tooltip, position: \"bottom\" }}\n variant={active ? \"secondary\" : \"ghost\"}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n);\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives/Popover\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { ChevronDown, Link, Table } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\nimport EmojiOption from \"src/v2/components/Editor/Menu/Fixed/components/EmojiOption\";\nimport TextColorOption from \"src/v2/components/Editor/Menu/Fixed/components/TextColorOption\";\n\nimport LinkOption from \"./LinkOption\";\nimport TableOption from \"./TableOption\";\nimport {\n buildBubbleMenuOptions,\n getNodeIcon,\n getTextMenuDropdownOptions,\n renderOptionButton,\n} from \"./utils\";\n\nconst Options = ({\n editor,\n options,\n mentions,\n tooltips,\n setIsInvalidLink,\n isLinkOptionActive,\n isTableOptionActive,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const { t } = useTranslation();\n\n const dropdownOptions = getTextMenuDropdownOptions({ editor, options });\n const Icon = getNodeIcon(dropdownOptions);\n const isEmojiActive = options.includes(EDITOR_OPTIONS.EMOJI);\n const isTextColorOptionActive = options.includes(EDITOR_OPTIONS.TEXT_COLOR);\n const isLinkActive = options.includes(EDITOR_OPTIONS.LINK);\n const isTableActive = options.includes(EDITOR_OPTIONS.TABLE);\n\n const {\n font: fontStyleOptions,\n block: blockStyleOptions,\n list: listStyleOptions,\n } = buildBubbleMenuOptions({\n editor,\n options,\n setMediaUploader,\n tooltips,\n attachmentProps,\n setIsAddLinkActive: setIsLinkOptionActive,\n });\n\n const handleAnimateInvalidLink = () => {\n setIsInvalidLink(true);\n setTimeout(() => {\n setIsInvalidLink(false);\n }, 1000);\n };\n\n if (isLinkOptionActive) {\n return (\n <LinkOption\n {...{ editor, handleAnimateInvalidLink }}\n handleClose={() => setIsLinkOptionActive(false)}\n />\n );\n }\n\n if (isTableOptionActive) {\n return (\n <TableOption\n {...{ editor }}\n handleClose={() => setIsTableOptionActive(false)}\n />\n );\n }\n\n return (\n <>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n className=\"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\"\n data-testid=\"neeto-editor-fixed-menu-font-size-option\"\n icon={Icon}\n iconPosition=\"left\"\n trailing={<ChevronDown />}\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"ne-editor-dropdown data-[state=closed]:hidden w-32 gap-0 p-1\"\n side=\"bottom\"\n onOpenAutoFocus={e => e.preventDefault()}\n >\n {dropdownOptions.map(({ optionName, command, icon: Icon }) => (\n <Button\n fullWidth\n className=\"justify-start\"\n icon={<Icon size={16} />}\n iconPosition=\"left\"\n key={optionName}\n label={optionName}\n size=\"sm\"\n variant=\"ghost\"\n onClick={command}\n />\n ))}\n </PopoverContent>\n </Popover>\n {fontStyleOptions.map(renderOptionButton)}\n {blockStyleOptions.map(renderOptionButton)}\n {isTextColorOptionActive && (\n <TextColorOption\n {...{ editor }}\n tooltipContent={tooltips.textColor || t(\"neetoEditor.menu.textColor\")}\n />\n )}\n {isEmojiActive && (\n <EmojiOption\n {...{ editor }}\n isActive={isEmojiPickerActive}\n setActive={setIsEmojiPickerActive}\n tooltipContent={tooltips.emoji || t(\"neetoEditor.menu.emoji\")}\n />\n )}\n {listStyleOptions.map(renderOptionButton)}\n {isLinkActive &&\n renderOptionButton({\n Icon: Link,\n command: () => setIsLinkOptionActive(true),\n active: editor.isActive(\"link\"),\n optionName: \"link\",\n highlight: false,\n tooltip: tooltips.link || t(\"neetoEditor.menu.link\"),\n })}\n {isTableActive &&\n renderOptionButton({\n Icon: Table,\n command: () => setIsTableOptionActive(true),\n active: editor.isActive(\"table\"),\n optionName: \"table\",\n highlight: false,\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n })}\n <Mentions\n {...{ editor, mentions }}\n tooltipContent={tooltips.mention || t(\"neetoEditor.menu.mention\")}\n />\n </>\n );\n};\n\nexport default Options;\n","import { useState } from \"react\";\n\nimport { BubbleMenu as BubbleMenuTipTap } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isNotPresent } from \"neetocist\";\nimport { roundArrow } from \"tippy.js\";\nimport \"tippy.js/dist/svg-arrow.css\";\n\nimport Options from \"./Options\";\n\nconst Bubble = ({\n editor,\n options: textOptions,\n mentions = [],\n setMediaUploader,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const [isInvalidLink, setIsInvalidLink] = useState(false);\n const [isLinkOptionActive, setIsLinkOptionActive] = useState(false);\n const [isTableOptionActive, setIsTableOptionActive] = useState(false);\n const selectedNode = editor && editor.view.state.selection.node;\n const isImageNodeSelected =\n selectedNode && selectedNode.type.name === \"image\";\n\n const bubbleMenuOptions = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n ];\n\n const noTextOptions = isNotPresent(\n textOptions.filter(option => bubbleMenuOptions.includes(option))\n );\n\n if (!editor || (!isImageNodeSelected && noTextOptions)) {\n return null;\n }\n\n return (\n <div>\n <BubbleMenuTipTap\n {...{ editor }}\n className={classnames(\"neeto-editor-bubble-menu\", {\n \"neeto-editor-bubble-menu-animate-shake\": isInvalidLink,\n })}\n tippyOptions={{\n arrow: roundArrow,\n zIndex: 99999,\n onHide: () => {\n setIsLinkOptionActive(false);\n setIsTableOptionActive(false);\n },\n theme: \"light neeto-editor-bubble-menu-tippy-box\",\n maxWidth: 500,\n }}\n >\n <Options\n {...{\n attachmentProps,\n editor,\n isEmojiPickerActive,\n isLinkOptionActive,\n isTableOptionActive,\n mentions,\n setIsEmojiPickerActive,\n setIsInvalidLink,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n tooltips,\n }}\n options={textOptions}\n />\n </BubbleMenuTipTap>\n </div>\n );\n};\n\nexport default Bubble;\n","const EmptyMenu = () => <div />;\n\nexport default EmptyMenu;\n","import { Button, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nconst Progress = withT(({ t, queuedFiles, cancelUpload }) => (\n <div className=\"ne-media-uploader__wrapper\">\n {queuedFiles.map(({ id, filename, progress = 0 }) => (\n <div className=\"ne-media-uploader__media\" key={id}>\n <div className=\"ne-media-uploader__media__cancel-button-wrapper\">\n <Button\n data-testid=\"neeto-editor-image-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => cancelUpload(id)}\n />\n </div>\n <FileIcon\n className=\"ne-media-uploader__media__info__icon\"\n fileName={filename}\n />\n <div className=\"ne-media-uploader__media__info\">\n <Typography variant=\"body3\">\n {progress === 100 && t(\"neetoEditor.localUploader.completed\")}\n {progress !== 100 && <>{progress}%</>}\n </Typography>\n <div className=\"ne-media-uploader__media__progress\">\n <div\n className=\"ne-media-uploader__media__progress-bar\"\n style={{ width: `${progress}%` }}\n />\n </div>\n <Tooltip content={filename} position=\"top\">\n <Typography variant=\"body3\">{filename}</Typography>\n </Tooltip>\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default Progress;\n","import { useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ImageUp } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport {\n ALLOWED_IMAGE_TYPES,\n ALLOWED_VIDEO_TYPES,\n DEFAULT_IMAGE_UPLOAD_CONFIG,\n DEFAULT_VIDEO_UPLOAD_CONFIG,\n} from \"src/v2/components/Editor/MediaUploader/constants\";\nimport { convertToFileSize } from \"src/v2/components/Editor/MediaUploader/utils\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Progress from \"./Progress\";\n\nconst LocalUploader = ({\n isImage,\n onClose,\n insertMediaToEditor,\n setIsUploading,\n}) => {\n const { t } = useTranslation();\n\n const uploadConfig = isImage\n ? DEFAULT_IMAGE_UPLOAD_CONFIG\n : DEFAULT_VIDEO_UPLOAD_CONFIG;\n\n const fileInputRef = useRef(null);\n const dropTargetRef = useRef(null);\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: uploadConfig,\n setIsUploadingOnHost: setIsUploading,\n });\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n useDropFiles({ dropTargetRef, onDrop: handleFilesDrop });\n\n setIsUploading(isUploading);\n\n const handleAddFile = async ({ target: { files } }) => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n return !isEmpty(queuedFiles) || isUploading ? (\n <Progress {...{ cancelUpload, queuedFiles }} />\n ) : (\n <div\n className=\"ne-media-uploader__dnd\"\n data-testid=\"neeto-editor-media-uploader-dnd\"\n ref={dropTargetRef}\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n >\n <input\n multiple\n className=\"ne-media-uploader__dnd-input\"\n data-testid=\"neeto-editor-media-uploader-input\"\n ref={fileInputRef}\n type=\"file\"\n accept={\n isImage\n ? ALLOWED_IMAGE_TYPES.join(\",\")\n : ALLOWED_VIDEO_TYPES.join(\",\")\n }\n onChange={handleAddFile}\n />\n <ImageUp className=\"ne-media-uploader__dnd-icon\" size={24} />\n <Typography variant=\"body2\">\n {t(\"neetoEditor.localUploader.dropFilesHere\")}\n </Typography>\n <Typography variant=\"body3\">\n {t(\"neetoEditor.localUploader.maxFileSize\", {\n entity: convertToFileSize(uploadConfig.restrictions.maxFileSize),\n })}\n </Typography>\n </div>\n );\n};\n\nexport default LocalUploader;\n","import { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateUrl } from \"src/v2/components/Editor/CustomExtensions/Embeds/utils\";\nimport { VIDEO_EMBED_FORM_VALIDATION_SCHEMA } from \"src/v2/components/Editor/MediaUploader/constants\";\n\nconst VideoEmbedForm = ({ onEmbedVideo, onAttachVideo, onClose }) => {\n const { t } = useTranslation();\n\n const initialValues = { url: \"\" };\n\n const onSubmit = ({ url }) => {\n const embedUrl = validateUrl(url);\n if (embedUrl) onEmbedVideo(embedUrl);\n else onAttachVideo(url);\n onClose();\n };\n\n return (\n <div className=\"ne-video-embed-form\">\n <Form\n formikProps={{\n initialValues,\n validationSchema: VIDEO_EMBED_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n {({ dirty, isSubmitting, resetForm }) => (\n <>\n <div className=\"ne-video-embed-form__content\">\n <Input\n autoFocus\n unlimitedChars\n data-testid=\"neeto-editor-video-embed-input\"\n label={t(\"neetoEditor.common.videoUrl\")}\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.embedUrl\")}\n size=\"medium\"\n type=\"text\"\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-cancel\",\n label: t(\"neetoEditor.common.cancel\"),\n size: \"sm\",\n onClick: () => {\n resetForm();\n onClose();\n },\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-submit\",\n disabled: !dirty,\n label: t(\"neetoEditor.common.saveChanges\"),\n loading: isSubmitting,\n size: \"sm\",\n }}\n />\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default VideoEmbedForm;\n","import { useEffect, useState } from \"react\";\n\nimport { Dialog, Tabs, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { isNotPresent } from \"neetocist\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { getTabs } from \"src/v2/components/Editor/MediaUploader/utils\";\n\nimport LocalUploader from \"./LocalUploader\";\nimport VideoEmbedForm from \"./VideoEmbedForm\";\n\nconst MediaUploader = ({\n mediaUploader,\n onClose,\n editor,\n showAssetLibrary = true,\n}) => {\n const { t } = useTranslation();\n\n const [activeTab, setActiveTab] = useState(\"local\");\n const [isUploading, setIsUploading] = useState(false);\n const isOpen = mediaUploader.image || mediaUploader.video;\n const [tabs, setTabs] = useState([]);\n\n useEffect(() => {\n isOpen && setTabs(getTabs(mediaUploader));\n }, [mediaUploader]);\n\n const handleClose = () => {\n onClose();\n setActiveTab(\"local\");\n editor.commands.focus();\n };\n\n const insertMediaToEditor = file => {\n if (!editor) return;\n const { url, filename = \"image\", caption = \"\" } = file;\n const mediaAttrs = { src: url, caption, alt: filename };\n const setMedia = mediaUploader.image\n ? editor.chain().setFigure(mediaAttrs)\n : editor.chain().setVideo(mediaAttrs);\n\n setMedia\n .focus()\n .command(({ tr, commands }) => {\n const { doc, selection } = tr;\n const position = doc.resolve(selection.to).end() + 1;\n const safePosition = Math.min(position, doc.content.size);\n\n return commands.insertContentAt(safePosition, \"<p></p>\");\n })\n .run();\n };\n\n const onUploadComplete = async file => {\n try {\n await directUploadsApi.attach({ id: file.id, signed_id: file.signedId });\n insertMediaToEditor(file);\n handleClose();\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const onAttachVideo = url => {\n const file = { url, alt: \"image\" };\n insertMediaToEditor(file);\n };\n\n const onEmbedVideo = url => {\n if (!editor) return;\n editor.chain().focus().setExternalVideo({ src: url }).run();\n };\n\n const allowDismiss = not(isUploading);\n\n return (\n <Dialog\n {...{ isOpen }}\n className=\"ne-media-uploader-modal\"\n closeButton={allowDismiss}\n onClose={allowDismiss ? handleClose : undefined}\n >\n <div className=\"ne-media-uploader\">\n {(mediaUploader.video || mediaUploader.image) && (\n <div className=\"ne-media-uploader__header\">\n <h2 className=\"ne-media-uploader__header-title\">\n {mediaUploader.video && t(\"neetoEditor.menu.addVideo\")}\n {mediaUploader.image && t(\"neetoEditor.menu.addImage\")}\n </h2>\n </div>\n )}\n {!isNotPresent(tabs) && (\n <Tabs value={activeTab} onValueChange={setActiveTab}>\n <Tabs.List>\n {tabs.map(({ key, title }) => (\n <Tabs.Item\n data-testid={`neeto-editor-media-uploader-${key}-tab`}\n key={key}\n value={key}\n >\n {title}\n </Tabs.Item>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n <div className=\"ne-media-uploader__content\">\n {mediaUploader.image && (\n <ImageUploader\n {...{ onUploadComplete, showAssetLibrary }}\n className=\"ne-media-uploader__image-uploader\"\n />\n )}\n {mediaUploader.video && (\n <>\n {activeTab === \"local\" && (\n <LocalUploader\n {...{ insertMediaToEditor, setIsUploading }}\n isImage={false}\n onClose={handleClose}\n />\n )}\n {activeTab === \"embed\" && (\n <VideoEmbedForm\n {...{ onAttachVideo, onEmbedVideo }}\n onClose={handleClose}\n />\n )}\n </>\n )}\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default MediaUploader;\n","import { useState, useEffect, useRef } from \"react\";\n\nimport { Button, Checkbox, Input } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { not } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"src/common/constants\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nimport { getLinkPopoverPosition, getCursorPos } from \"../utils\";\n\nconst LinkAddPopOver = ({\n isAddLinkActive,\n setIsAddLinkActive,\n editor,\n openLinkInNewTab,\n}) => {\n const { from, to } = editor.state.selection;\n const text = editor.state.doc.textBetween(from, to, \"\");\n\n const [linkText, setLinkText] = useState(text);\n const [linkUrl, setLinkUrl] = useState(\"\");\n const [openInNewTab, setOpenInNewTab] = useState(openLinkInNewTab);\n const [error, setError] = useState(\"\");\n const [popoverPosition, setPopoverPosition] = useState(\n getCursorPos(editor, to)\n );\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n\n const isLinkTextPresent = !isNotPresent(linkText);\n const isLinlUrlPresent = !isNotPresent(linkUrl);\n const isSubmitDisabled = !isLinkTextPresent || !isLinlUrlPresent;\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: \"translateY(52px) translateX(8px)\",\n };\n\n const handleAddLink = () => {\n const { state, dispatch } = editor.view;\n const { from, to } = state.selection;\n const formattedUrl = validateAndFormatUrl(linkUrl);\n\n if (!ALL_PROTOCOL_URL_REGEXP.test(formattedUrl)) {\n setError(t(\"neetoEditor.error.invalidUrl\"));\n\n return;\n }\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(linkText, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n removePopover();\n };\n\n const removePopover = () => {\n editor.view.focus();\n setIsAddLinkActive(false);\n };\n\n const handleKeyDown = e => {\n e.stopPropagation();\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleAddLink();\n } else if (e.key === \"Escape\") {\n removePopover();\n }\n };\n\n const updatePopoverPosition = () => {\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n setPopoverPosition(popoverPosition);\n setArrowPosition(arrowPosition);\n };\n\n useOnClickOutside(popoverRef, removePopover);\n\n useEffect(() => {\n if (editor && isAddLinkActive) {\n updatePopoverPosition();\n }\n window.addEventListener(\"resize\", removePopover);\n window.addEventListener(\"wheel\", removePopover);\n\n return () => {\n window.removeEventListener(\"resize\", removePopover);\n window.removeEventListener(\"wheel\", removePopover);\n };\n }, []);\n\n return isAddLinkActive\n ? createPortal(\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-add-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n <Input\n required\n autoFocus={!isLinkTextPresent}\n data-testid=\"neeto-editor-add-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkText}\n onChange={({ target: { value } }) => setLinkText(value)}\n onKeyDown={handleKeyDown}\n />\n <Input\n {...{ error }}\n required\n autoFocus={isLinkTextPresent}\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-add-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n placeholder={t(\"neetoEditor.placeholders.url\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkUrl}\n onChange={({ target: { value } }) => setLinkUrl(value)}\n onFocus={() => setError(\"\")}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={openInNewTab}\n className=\"ne-link-popover__checkbox\"\n data-testid=\"neeto-editor-add-link-open-in-new-tab-switch\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onCheckedChange={() => setOpenInNewTab(not)}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-add-link\"\n disabled={isSubmitDisabled}\n label={t(\"neetoEditor.common.done\")}\n size=\"sm\"\n onClick={handleAddLink}\n />\n <Button\n data-testid=\"neeto-editor-link-popover-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={removePopover}\n />\n </div>\n </div>\n </>,\n document.body\n )\n : null;\n};\n\nexport default LinkAddPopOver;\n","import { Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Ellipsis } from \"lucide-react\";\n\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { MENU_ELEMENTS, MENU_ELEMENT_TYPES } from \"../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst MoreMenu = ({ groups, editor }) => (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button className=\"flex-shrink-0\" icon={Ellipsis} variant=\"ghost\" />\n }\n >\n <Menu>\n {groups.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (type === MENU_ELEMENT_TYPES.BUTTON) {\n const { icon: Icon } = props;\n\n return (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-${props.optionName}-option`}\n isActive={editor.isActive(props.optionName)}\n key={props.optionName}\n prefix={<Icon size={16} />}\n tabIndex=\"-1\"\n onClick={props.command}\n {...{\n ...generateFocusProps(props.highlight),\n ...props,\n editor,\n }}\n >\n {props.label}\n </MenuItem>\n );\n }\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, ...generateFocusProps(props.highlight) }}\n isSecondaryMenu\n />\n );\n })\n )}\n </Menu>\n </DropdownMenu>\n);\n\nexport default MoreMenu;\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\n\nexport const EDITOR_MARKS = [\n EDITOR_OPTIONS.UNDO,\n EDITOR_OPTIONS.REDO,\n \"fontSizeOptions\",\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.HIGHLIGHT,\n EDITOR_OPTIONS.CALLOUT,\n \"bulletList\",\n \"orderedList\",\n \"todoList\",\n \"blockquote\",\n EDITOR_OPTIONS.CODE,\n \"codeBlock\",\n EDITOR_OPTIONS.TABLE,\n EDITOR_OPTIONS.ATTACHMENTS,\n EDITOR_OPTIONS.IMAGE_UPLOAD,\n EDITOR_OPTIONS.VIDEO_UPLOAD,\n EDITOR_OPTIONS.TEXT_COLOR,\n EDITOR_OPTIONS.EMOJI,\n EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n \"mentions\",\n];\n","import { useCallback, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { EDITOR_MARKS } from \"./constants\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst useEditorState = ({ editor, neetoKbArticleState }) => {\n const { setMarksState, marksState } = useEditorStore.pick();\n\n const handleSelectionUpdate = useCallback(\n ({ editor }) => {\n const activeMarks = {};\n\n EDITOR_MARKS.forEach(mark => {\n if (mark === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n activeMarks[mark] = {\n isActive: neetoKbArticleState?.active || false,\n };\n } else {\n activeMarks[mark] = { isActive: editor.isActive(mark) };\n }\n });\n\n const activeFontSizeOption =\n FONT_SIZE_OPTIONS.find(({ value: level }) =>\n editor.isActive(\"heading\", { level })\n ) || last(FONT_SIZE_OPTIONS);\n\n activeMarks[\"fontSizeOption\"] = activeFontSizeOption;\n\n setMarksState(activeMarks);\n },\n [setMarksState, neetoKbArticleState?.active]\n );\n\n const updateHistoryOptionsState = useCallback(\n ({ editor }) => {\n const undoOptionState = { disabled: !editor.can().undo() };\n const redoOptionState = { disabled: !editor.can().redo() };\n\n const updatedMarksState = {\n ...marksState,\n [EDITOR_OPTIONS.UNDO]: undoOptionState,\n [EDITOR_OPTIONS.REDO]: redoOptionState,\n };\n setMarksState(updatedMarksState);\n },\n [marksState, setMarksState]\n );\n\n useEffect(() => {\n if (!editor) return noop;\n\n updateHistoryOptionsState({ editor });\n\n editor.on(\"selectionUpdate\", handleSelectionUpdate);\n editor.on(\"update\", handleSelectionUpdate);\n editor.on(\"transaction\", handleSelectionUpdate);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionUpdate);\n editor.off(\"update\", handleSelectionUpdate);\n editor.off(\"transaction\", handleSelectionUpdate);\n };\n }, [editor, handleSelectionUpdate]);\n\n useEffect(() => {\n if (!editor) return;\n\n handleSelectionUpdate({ editor });\n }, [editor, neetoKbArticleState?.active, handleSelectionUpdate]);\n};\n\nexport default useEditorState;\n","import classnames from \"classnames\";\n// TODO: switch to neetomolecules/v2/DynamicVariables once molecules ships v2 of\n// this component (not present as of @bigbinary/neeto-molecules@4.1.74).\nimport DynamicVariables from \"neetomolecules/DynamicVariables\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuDynamicVariables = ({\n editor,\n variables = [],\n standalone = false,\n}) => {\n const { t } = useTranslation();\n\n if (isEmpty(variables)) return null;\n\n const handleVariableClick = item => {\n const { category, categoryLabel, key, label } = item;\n const variableName = category ? `${category}.${key}` : key;\n const variableLabel = category\n ? `${categoryLabel || category}:${label}`\n : label;\n\n editor\n .chain()\n .focus()\n .setVariable({ id: variableName, label: variableLabel })\n .run();\n };\n\n return (\n <div\n data-testid=\"neeto-editor-fixed-menu-variables\"\n className={classnames(\"neeto-editor-fixed-menu__variables\", {\n \"neeto-editor-fixed-menu__variables--standalone\": standalone,\n })}\n >\n <DynamicVariables\n {...{ variables }}\n buttonSize=\"small\"\n dropdownProps={{ classNames: \"ne-editor-variables-popup\" }}\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoEditor.menu.dynamicVariables\"),\n position: \"bottom\",\n },\n }}\n onVariableClick={handleVariableClick}\n />\n </div>\n );\n};\n\nexport default MenuDynamicVariables;\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport LinkAddPopOver from \"./components/LinkAddPopOver\";\nimport MoreMenu from \"./components/MoreMenu\";\nimport { MENU_ELEMENTS } from \"./constants\";\nimport useEditorState from \"./hooks/useEditorState\";\nimport { reGroupMenuItems, buildMenuOptions } from \"./utils\";\n\nimport MenuDynamicVariables from \"../DynamicVariables\";\n\nconst Fixed = ({\n editor,\n options,\n mentions,\n variables = [],\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n isIndependant = true,\n className,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n openLinkInNewTab,\n setIsNeetoKbArticleActive,\n neetoKbArticleState,\n showAssetLibrary = true,\n}) => {\n const [focusedButtonIndex, setFocusedButtonIndex] = useState(0);\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [menuItems, setMenuItems] = useState([]);\n const [moreMenuItems, setMoreMenuItems] = useState([]);\n\n useEditorState({ editor, neetoKbArticleState });\n\n const editorRef = useRef(editor);\n\n useEffect(() => {\n editorRef.current = editor;\n }, [editor]);\n\n const menuRef = useRef(null);\n const menuContainerRef = useRef(null);\n\n const runEditorCommand = useCallback(\n command => () => command(editorRef.current),\n []\n );\n\n const handleArrowNavigation = event => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n setFocusedButtonIndex(prevIndex => (prevIndex + 1) % menuButtons.length);\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setFocusedButtonIndex(\n prevIndex => (prevIndex - 1 + menuButtons.length) % menuButtons.length\n );\n }\n };\n\n const menuButtons = useMemo(\n () => menuRef.current?.querySelectorAll(\".ne-toolbar-item\"),\n [menuRef.current]\n );\n\n useEffect(() => {\n menuButtons?.[focusedButtonIndex].focus();\n }, [focusedButtonIndex]);\n\n useEffect(() => {\n menuButtons?.forEach(menuItem =>\n menuItem.addEventListener(\"keydown\", handleArrowNavigation)\n );\n\n return () =>\n menuButtons?.forEach(menuItem =>\n menuItem.removeEventListener(\"keydown\", handleArrowNavigation)\n );\n }, [menuButtons]);\n\n const menuGroups = useMemo(\n () =>\n buildMenuOptions({\n tooltips,\n runEditorCommand,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions,\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n editor,\n setIsNeetoKbArticleActive,\n }),\n [isEmojiPickerActive, mentions]\n );\n\n const handleResize = useCallback(() => {\n if (!menuRef.current) return;\n const { visibleMenuGroups, invisibleMenuGroups } = reGroupMenuItems(\n menuRef,\n menuGroups\n );\n setMenuItems(visibleMenuGroups);\n setMoreMenuItems(invisibleMenuGroups);\n }, [setMenuItems, menuGroups, menuRef.current]);\n\n useEffect(() => {\n handleResize();\n\n const menuContainer = menuContainerRef.current;\n const resizeObserver = new ResizeObserver(handleResize);\n if (menuContainer) {\n resizeObserver.observe(menuContainer);\n }\n\n return () => {\n if (menuContainer) resizeObserver.unobserve(menuContainer);\n };\n }, [menuContainerRef.current, handleResize, menuGroups]);\n\n if (!editor) return null;\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n return (\n <div\n ref={menuContainerRef}\n className={classNames(\"neeto-editor-fixed-menu\", {\n \"neeto-editor-fixed-menu--independant\": isIndependant,\n [className]: className,\n })}\n >\n <div\n className=\"neeto-editor-fixed-menu__wrapper ne-fixed-menu--v2\"\n data-testid=\"neeto-editor-fixed-menu-wrapper\"\n ref={menuRef}\n >\n {menuItems.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (!Component) return null;\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, options }}\n />\n );\n })\n )}\n {isNotEmpty(moreMenuItems) && (\n <MoreMenu {...{ editor }} groups={moreMenuItems} />\n )}\n </div>\n <MenuDynamicVariables {...{ editor, variables }} />\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Fixed;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nconst Button = ({\n icon = null,\n onClick = noop,\n disabled = false,\n className,\n tooltipProps,\n ...otherProps\n}) => {\n const Icon = icon;\n\n return (\n <Tooltip\n disabled={!tooltipProps}\n onClick={() => onClick()}\n {...tooltipProps}\n >\n <button\n className={classnames(\"ne-headless-btn\", { [className]: className })}\n type=\"button\"\n {...{ disabled, onClick, ...otherProps }}\n >\n {icon && <Icon aria-hidden=\"true\" key=\"2\" size={18} />}\n </button>\n </Tooltip>\n );\n};\n\nexport default Button;\n","import { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nimport Button from \"./Button\";\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc, onClose } }) {\n function onKeyDown(event) {\n if (!(event.key.toLowerCase() === \"escape\" && hideOnEsc)) return;\n onClose();\n hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst Dropdown = ({\n icon,\n isOpen,\n onClose = noop,\n children,\n className,\n onClick,\n buttonProps = {},\n ...otherProps\n}) => {\n const [mounted, setMounted] = useState(false);\n\n return (\n <Tippy\n {...{ onClose }}\n hideOnEsc\n interactive\n animation={false}\n arrow={false}\n duration={0}\n hideOnClick={false}\n maxWidth=\"none\"\n offset={0}\n plugins={[hideOnEsc]}\n popperOptions={{ strategy: \"fixed\" }}\n role=\"dropdown\"\n theme=\"light\"\n trigger=\"click\"\n visible={isOpen}\n className={classnames(\"ne-headless-dropdown\", {\n [className]: className,\n })}\n content={\n mounted && <div className=\"ne-headless-dropdown__popup\">{children}</div>\n }\n onClickOutside={onClose}\n onHidden={() => setMounted(false)}\n onMount={() => setMounted(true)}\n {...otherProps}\n >\n <span>\n <Button {...{ icon, onClick, ...buttonProps }} />\n </span>\n </Tippy>\n );\n};\n\nexport default Dropdown;\n","import { Smile } from \"lucide-react\";\n\nimport EmojiPicker from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nimport Dropdown from \"./UI/Dropdown\";\n\nconst Emoji = ({ editor, isActive, setActive, tooltipContent }) => (\n <Dropdown\n className=\"ne-headless__emoji\"\n icon={Smile}\n isOpen={isActive}\n buttonProps={{\n tooltipProps: {\n content: tooltipContent,\n delay: [500],\n position: \"bottom\",\n },\n \"data-testid\": \"ne-emoji-picker\",\n }}\n onClick={() => setActive(active => !active)}\n onClose={() => setActive(false)}\n >\n <EmojiPicker {...{ editor, setActive }} />\n </Dropdown>\n);\nexport default Emoji;\n","import classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { hyphenate } from \"neetocist\";\n\nimport Emoji from \"./Emoji\";\nimport Button from \"./UI/Button\";\n\nconst Option = ({\n editor,\n optionName,\n command,\n disabled,\n Icon,\n isActive,\n setActive,\n tooltip,\n}) => {\n if (optionName === EDITOR_OPTIONS.EMOJI) {\n return (\n <Emoji\n {...{ editor, isActive, setActive }}\n tooltipContent={tooltip || \"Emoji\"}\n />\n );\n }\n\n return (\n <Button\n {...{ disabled }}\n className={classnames({ \"ne-headless-btn--active\": isActive })}\n data-testid={hyphenate(optionName)}\n icon={Icon}\n tooltipProps={{\n content: tooltip,\n delay: [500],\n position: \"bottom\",\n }}\n onClick={command}\n />\n );\n};\n\nexport default Option;\n","import i18n from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n List,\n ListOrdered,\n Quote,\n Redo,\n Smile,\n SquareCode,\n Strikethrough,\n Table,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { findBy, noop } from \"neetocist\";\nimport { assoc } from \"ramda\";\n\nconst { t } = i18n;\n\nconst createMenuOptions = ({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n {\n Icon: FileText,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n Icon: Smile,\n command: noop,\n optionName: \"emoji\",\n tooltip: tooltips.emoji || t(\"neetoEditor.menu.emoji\"),\n isActive: isEmojiPickerActive,\n setActive: setIsEmojiPickerActive,\n },\n {\n Icon: Table,\n command: () =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n optionName: \"table\",\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n },\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n];\n\nexport const buildOptionsFromAddonCommands = ({ editor, commands }) => {\n const { to } = editor.state.selection;\n\n return commands.map(option => ({\n ...option,\n active: option.active?.({ editor }),\n command: () => option.command?.({ editor, range: { from: to, to } }),\n }));\n};\n\nexport const buildMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const menuOptions = createMenuOptions({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n return options\n .map(option => findBy({ optionName: option }, menuOptions))\n .filter(Boolean);\n};\n","import classnames from \"classnames\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport Option from \"./Option\";\nimport { buildOptionsFromAddonCommands, buildMenuOptions } from \"./utils\";\n\nconst Headless = ({\n editor,\n options,\n tooltips = {},\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n className,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n showAssetLibrary = true,\n}) => {\n if (!editor) {\n return null;\n }\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n const menuOptions = buildMenuOptions({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n const addonCommandOptions = buildOptionsFromAddonCommands({\n editor,\n commands: addonCommands,\n });\n const allOptions = [...menuOptions, ...addonCommandOptions];\n\n return (\n <div\n className={classnames(\"ne-headless ne-headless--v2\", {\n [className]: className,\n })}\n >\n {allOptions.map(option => (\n <Option {...{ editor }} key={option.optionName} {...option} />\n ))}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Headless;\n","import { t } from \"i18next\";\nimport {\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Pilcrow,\n} from \"lucide-react\";\n\nimport BubbleMenu from \"./Bubble\";\nimport EmptyMenu from \"./EmptyMenu\";\nimport FixedMenu from \"./Fixed\";\nimport HeadlessMenu from \"./Headless\";\n\nexport const FONT_SIZE_OPTIONS = [\n {\n label: t(\"neetoEditor.menu.heading1\"),\n value: 1,\n key: \"h1\",\n icon: Heading1,\n },\n {\n label: t(\"neetoEditor.menu.heading2\"),\n value: 2,\n key: \"h2\",\n icon: Heading2,\n },\n {\n label: t(\"neetoEditor.menu.heading3\"),\n value: 3,\n key: \"h3\",\n icon: Heading3,\n },\n {\n label: t(\"neetoEditor.menu.heading4\"),\n value: 4,\n key: \"h4\",\n icon: Heading4,\n },\n {\n label: t(\"neetoEditor.menu.heading5\"),\n value: 5,\n key: \"h5\",\n icon: Heading5,\n },\n {\n label: t(\"neetoEditor.menu.normalText\"),\n value: 0,\n key: \"body2\",\n icon: Pilcrow,\n },\n];\n\nexport const MENU_COMPONENTS = {\n fixed: FixedMenu,\n bubble: BubbleMenu,\n headless: HeadlessMenu,\n none: EmptyMenu,\n};\n","import { memo, useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { filterBy } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst FontSizeOption = ({\n runEditorCommand,\n tooltipContent,\n label,\n options = [],\n}) => {\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 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>\n {menuOptions.map(({ label, 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 {label}\n </MenuItem>\n ))}\n </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 React, { 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}) => {\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 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 {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 </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\nimport SecondaryMenuTarget from \"./SecondaryMenuTarget\";\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 return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-auto p-2\" }}\n icon={Table}\n key={resetKey}\n position={isSecondaryMenu ? \"left-start\" : \"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 customTarget={\n isSecondaryMenu && <SecondaryMenuTarget {...{ label }} icon={Table} />\n }\n onClose={handleClose}\n >\n <Menu className=\"neeto-editor-table__item\">\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.rows\")}\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 </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","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","MenuItem","DropdownMenu","SecondaryMenuTarget","Icon","hyphenate","prefix","size","children","Menu","Mentions","mentions","tooltipContent","_ref$isSecondaryMenu","isSecondaryMenu","isEmpty","dropdownProps","className","AtSign","position","buttonProps","variant","tooltipProps","customTarget","name","imageUrl","Avatar","user","onClick","commands","setMention","id","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","Flag","CalloutTypeOption","calloutType","isSelected","RenderCalloutOptions","isInCallout","currentCalloutAttrs","handleCalloutTypeClick","idx","_createElement","CalloutDropdown","_useTranslation","useTranslation","dropdownRef","useRef","getAttributes","findBy","editorChain","isSameType","lift","updateAttributes","setCallout","triggerRef","onKeyDown","_dropdownRef$current","current","click","_jsxs","Label","EmojiOption","_useState","useState","_useState2","_slicedToArray","resetKey","setResetKey","handlePicked","k","closeOnSelect","Smile","e","stopPropagation","onClose","TextColorOption","setColor","_useState3","_useState4","closeMenu","handleSave","handleUnset","unsetColor","useEffect","Baseline","HexColorPicker","onChange","Input","autoFocus","placeholder","withEventTargetValue","Check","X","RotateCw","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","_Fragment","Popover","PopoverTrigger","asChild","iconPosition","trailing","ChevronDown","PopoverContent","align","side","onOpenAutoFocus","preventDefault","fullWidth","textColor","Table","table","mention","Bubble","_ref$mentions","_ref$tooltips","isInvalidLink","_useState5","_useState6","selectedNode","selection","isImageNodeSelected","bubbleMenuOptions","noTextOptions","BubbleMenuTipTap","classnames","tippyOptions","arrow","roundArrow","zIndex","onHide","EmptyMenu","Progress","withT","queuedFiles","cancelUpload","filename","_ref2$progress","progress","FileIcon","fileName","Typography","width","Tooltip","LocalUploader","isImage","insertMediaToEditor","setIsUploading","uploadConfig","DEFAULT_IMAGE_UPLOAD_CONFIG","DEFAULT_VIDEO_UPLOAD_CONFIG","fileInputRef","dropTargetRef","_useFileUploader","useFileUploader","config","setIsUploadingOnHost","addFiles","uploadFiles","isUploading","handleFilesDrop","files","uploadedFiles","_x","apply","useDropFiles","onDrop","handleAddFile","_callee2","_callee2$","_context2","_x2","_fileInputRef$current","multiple","accept","ALLOWED_IMAGE_TYPES","join","ALLOWED_VIDEO_TYPES","entity","convertToFileSize","restrictions","maxFileSize","VideoEmbedForm","onEmbedVideo","onAttachVideo","initialValues","onSubmit","embedUrl","Form","formikProps","validationSchema","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","dirty","isSubmitting","resetForm","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","loading","MediaUploader","mediaUploader","_ref$showAssetLibrary","showAssetLibrary","activeTab","setActiveTab","isOpen","image","video","tabs","setTabs","getTabs","file","_file$filename","_file$caption","caption","mediaAttrs","src","alt","setMedia","setFigure","setVideo","resolve","to","end","safePosition","Math","insertContentAt","onUploadComplete","directUploadsApi","attach","signed_id","signedId","Toastr","error","setExternalVideo","allowDismiss","Dialog","closeButton","undefined","Tabs","onValueChange","title","Item","ImageUploader","LinkAddPopOver","isAddLinkActive","openLinkInNewTab","_editor$state$selecti","from","textBetween","linkText","setLinkText","linkUrl","setLinkUrl","openInNewTab","setOpenInNewTab","_useState7","_useState8","setError","_useState9","getCursorPos","_useState0","popoverPosition","setPopoverPosition","_useState1","top","left","_useState10","arrowPosition","setArrowPosition","popoverRef","isLinkTextPresent","isLinlUrlPresent","isSubmitDisabled","popoverStyle","display","transform","handleAddLink","_editor$view","_state$selection","formattedUrl","attrs","linkMark","marks","create","linkTextWithMark","replaceWith","removePopover","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","useOnClickOutside","window","addEventListener","removeEventListener","createPortal","onFocus","Checkbox","checked","onCheckedChange","MoreMenu","groups","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","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","ColorDot","_colorVar$match","colorVar","isTextColor","dotClass","dotStyle","colorNumber","match","hyphenize","COLORS","background","colorSections","colors","HighlightDropdown","updateBackgroundColor","setMark","handleBackgroundColorClick","handleTextColorClick","renderColorDots","colorList","weight","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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"}