@bigbinary/neeto-editor 1.47.112 → 1.47.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/Attachments.js +1 -2
  2. package/dist/Attachments.js.map +1 -1
  3. package/dist/Editor.js +11 -6
  4. package/dist/Editor.js.map +1 -1
  5. package/dist/EditorContent.js +4 -2
  6. package/dist/EditorContent.js.map +1 -1
  7. package/dist/FormikEditor.js +5 -6
  8. package/dist/FormikEditor.js.map +1 -1
  9. package/dist/Menu.js +8 -8
  10. package/dist/{chunk-kSsvM8aH.js → chunk--BjpQHaY.js} +2 -3
  11. package/dist/chunk--BjpQHaY.js.map +1 -0
  12. package/dist/{chunk-C26VPEID.js → chunk-3JO2B_HR.js} +2 -3
  13. package/dist/{chunk-C26VPEID.js.map → chunk-3JO2B_HR.js.map} +1 -1
  14. package/dist/{chunk-BDcN2CWH.js → chunk-BKsyn0lE.js} +6 -2
  15. package/dist/chunk-BKsyn0lE.js.map +1 -0
  16. package/dist/{chunk-BOSqhXe9.js → chunk-BLXUWWgi.js} +1 -5
  17. package/dist/{chunk-BOSqhXe9.js.map → chunk-BLXUWWgi.js.map} +1 -1
  18. package/dist/{chunk-0yZ5QmzV.js → chunk-BO6bjSuY.js} +6 -3
  19. package/dist/chunk-BO6bjSuY.js.map +1 -0
  20. package/dist/{chunk-Zi-ccf09.js → chunk-C9Hjlrrk.js} +2 -2
  21. package/dist/chunk-C9Hjlrrk.js.map +1 -0
  22. package/dist/{chunk-DVrXh89W.js → chunk-CNWsmIz_.js} +1 -2
  23. package/dist/chunk-CNWsmIz_.js.map +1 -0
  24. package/dist/{chunk-DRyQ5gRT.js → chunk-Dj7lS7Cs.js} +2 -9
  25. package/dist/{chunk-DRyQ5gRT.js.map → chunk-Dj7lS7Cs.js.map} +1 -1
  26. package/dist/{chunk-B5ZO6MSb.js → chunk-DtQctlVh.js} +2 -4
  27. package/dist/{chunk-B5ZO6MSb.js.map → chunk-DtQctlVh.js.map} +1 -1
  28. package/dist/cjs/Attachments.cjs.js +1 -2
  29. package/dist/cjs/Attachments.cjs.js.map +1 -1
  30. package/dist/cjs/Editor.cjs.js +82 -77
  31. package/dist/cjs/Editor.cjs.js.map +1 -1
  32. package/dist/cjs/EditorContent.cjs.js +4 -2
  33. package/dist/cjs/EditorContent.cjs.js.map +1 -1
  34. package/dist/cjs/FormikEditor.cjs.js +5 -6
  35. package/dist/cjs/FormikEditor.cjs.js.map +1 -1
  36. package/dist/cjs/Menu.cjs.js +8 -8
  37. package/dist/cjs/{chunk-ByqRrEfj.cjs.js → chunk-BYyLrDTW.cjs.js} +2 -3
  38. package/dist/cjs/{chunk-ByqRrEfj.cjs.js.map → chunk-BYyLrDTW.cjs.js.map} +1 -1
  39. package/dist/cjs/{chunk-BE_JvlHl.cjs.js → chunk-B_ZuTQG9.cjs.js} +11 -11
  40. package/dist/cjs/chunk-B_ZuTQG9.cjs.js.map +1 -0
  41. package/dist/cjs/{chunk-UnFuCCxl.cjs.js → chunk-BrQjqeiG.cjs.js} +15 -11
  42. package/dist/cjs/chunk-BrQjqeiG.cjs.js.map +1 -0
  43. package/dist/cjs/{chunk-BJo6VB1g.cjs.js → chunk-CIuJ_EMY.cjs.js} +1 -2
  44. package/dist/cjs/chunk-CIuJ_EMY.cjs.js.map +1 -0
  45. package/dist/cjs/{chunk-Cv7rmxCK.cjs.js → chunk-Cv0ocaVh.cjs.js} +1 -5
  46. package/dist/cjs/{chunk-Cv7rmxCK.cjs.js.map → chunk-Cv0ocaVh.cjs.js.map} +1 -1
  47. package/dist/cjs/{chunk-LeproQrc.cjs.js → chunk-Cvxaj__T.cjs.js} +2 -3
  48. package/dist/cjs/chunk-Cvxaj__T.cjs.js.map +1 -0
  49. package/dist/cjs/{chunk-DQYVBQIk.cjs.js → chunk-DOxH3Agq.cjs.js} +159 -166
  50. package/dist/cjs/{chunk-DQYVBQIk.cjs.js.map → chunk-DOxH3Agq.cjs.js.map} +1 -1
  51. package/dist/cjs/{chunk-Gl_OXcUl.cjs.js → chunk-DRB71ojr.cjs.js} +6 -3
  52. package/dist/cjs/chunk-DRB71ojr.cjs.js.map +1 -0
  53. package/dist/cjs/{chunk-ColwAO4n.cjs.js → chunk-n7U2G1az.cjs.js} +2 -4
  54. package/dist/cjs/{chunk-ColwAO4n.cjs.js.map → chunk-n7U2G1az.cjs.js.map} +1 -1
  55. package/dist/cjs/index.cjs.js +4 -6
  56. package/dist/cjs/index.cjs.js.map +1 -1
  57. package/dist/cjs/v2/Attachments.cjs.js +1 -3
  58. package/dist/cjs/v2/Attachments.cjs.js.map +1 -1
  59. package/dist/cjs/v2/Editor.cjs.js +75 -77
  60. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  61. package/dist/cjs/v2/EditorContent.cjs.js +1 -3
  62. package/dist/cjs/v2/EditorContent.cjs.js.map +1 -1
  63. package/dist/cjs/v2/FormikEditor.cjs.js +4 -6
  64. package/dist/cjs/v2/FormikEditor.cjs.js.map +1 -1
  65. package/dist/cjs/v2/Menu.cjs.js +6 -7
  66. package/dist/cjs/v2/Menu.cjs.js.map +1 -1
  67. package/dist/cjs/v2/index.cjs.js +8 -11
  68. package/dist/cjs/v2/index.cjs.js.map +1 -1
  69. package/dist/editor-stats.html +19 -1
  70. package/dist/index.js +4 -6
  71. package/dist/index.js.map +1 -1
  72. package/dist/v2/Attachments.js +1 -3
  73. package/dist/v2/Attachments.js.map +1 -1
  74. package/dist/v2/Editor.js +4 -6
  75. package/dist/v2/Editor.js.map +1 -1
  76. package/dist/v2/EditorContent.js +1 -3
  77. package/dist/v2/EditorContent.js.map +1 -1
  78. package/dist/v2/FormikEditor.js +4 -6
  79. package/dist/v2/FormikEditor.js.map +1 -1
  80. package/dist/v2/Menu.js +6 -7
  81. package/dist/v2/Menu.js.map +1 -1
  82. package/dist/v2/index.js +8 -11
  83. package/dist/v2/index.js.map +1 -1
  84. package/dist/v2/styles.css +1 -1
  85. package/dist/v2/styles.js +4 -0
  86. package/dist/v2/styles.js.map +1 -0
  87. package/package.json +3 -1
  88. package/dist/chunk-0yZ5QmzV.js.map +0 -1
  89. package/dist/chunk-3C7ZroSh.js +0 -5
  90. package/dist/chunk-3C7ZroSh.js.map +0 -1
  91. package/dist/chunk-BDcN2CWH.js.map +0 -1
  92. package/dist/chunk-CVfGOKt4.js +0 -5
  93. package/dist/chunk-CVfGOKt4.js.map +0 -1
  94. package/dist/chunk-DVrXh89W.js.map +0 -1
  95. package/dist/chunk-Zi-ccf09.js.map +0 -1
  96. package/dist/chunk-kSsvM8aH.js.map +0 -1
  97. package/dist/cjs/chunk-BE_JvlHl.cjs.js.map +0 -1
  98. package/dist/cjs/chunk-BJo6VB1g.cjs.js.map +0 -1
  99. package/dist/cjs/chunk-BaJ2GldN.cjs.js +0 -7
  100. package/dist/cjs/chunk-BaJ2GldN.cjs.js.map +0 -1
  101. package/dist/cjs/chunk-DcAwRABD.cjs.js +0 -7
  102. package/dist/cjs/chunk-DcAwRABD.cjs.js.map +0 -1
  103. package/dist/cjs/chunk-Gl_OXcUl.cjs.js.map +0 -1
  104. package/dist/cjs/chunk-LeproQrc.cjs.js.map +0 -1
  105. package/dist/cjs/chunk-UnFuCCxl.cjs.js.map +0 -1
  106. package/dist/v2/_styles-bundle.js +0 -4
  107. package/dist/v2/_styles-bundle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-UnFuCCxl.cjs.js","sources":["../../src/components/Editor/Menu/Fixed/components/CalloutDropdown/constants.js","../../src/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/Editor/CustomExtensions/Embeds/utils.js","../../src/components/Editor/Menu/Fixed/components/Button.jsx","../../src/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutIcon.jsx","../../src/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutTypeOption.jsx","../../src/components/Editor/Menu/Fixed/components/CalloutDropdown/RenderCalloutOptions.jsx","../../src/components/Editor/Menu/Fixed/components/CalloutDropdown/index.jsx","../../src/components/Editor/Menu/Fixed/components/SecondaryMenuTarget.jsx","../../src/components/Editor/Menu/Fixed/components/EmojiOption.jsx","../../src/components/Editor/Menu/Bubble/LinkOption.jsx","../../src/components/Editor/Menu/Bubble/TableOption.jsx","../../src/components/Editor/Menu/Bubble/utils.jsx","../../src/components/Editor/CustomExtensions/Mention/index.jsx","../../src/components/Editor/Menu/Fixed/components/TextColorOption.jsx","../../src/components/Editor/Menu/Bubble/Options.jsx","../../src/components/Editor/Menu/Bubble/index.jsx","../../src/components/Editor/Menu/EmptyMenu.jsx","../../src/components/Editor/MediaUploader/Progress.jsx","../../src/components/Editor/MediaUploader/LocalUploader.jsx","../../src/components/Editor/MediaUploader/VideoEmbedForm.jsx","../../src/components/Editor/MediaUploader/index.jsx","../../src/components/Editor/Menu/Fixed/components/LinkAddPopOver.jsx","../../src/components/Editor/Menu/Fixed/components/MoreMenu.jsx","../../src/components/Editor/Menu/Fixed/hooks/constants.js","../../src/components/Editor/Menu/Fixed/hooks/useEditorState.js","../../src/components/Editor/Menu/DynamicVariables.jsx","../../src/components/Editor/Menu/Fixed/index.jsx","../../src/components/Editor/Menu/Headless/Option/UI/Button.jsx","../../src/components/Editor/Menu/Headless/Option/UI/Dropdown.jsx","../../src/components/Editor/Menu/Headless/Option/Emoji.jsx","../../src/components/Editor/Menu/Headless/Option/index.jsx","../../src/components/Editor/Menu/Headless/utils.js","../../src/components/Editor/Menu/Headless/index.jsx","../../src/components/Editor/Menu/constants.js","../../src/components/Editor/Menu/Fixed/components/FontSizeOption.jsx","../../src/components/Editor/Menu/Fixed/components/HighlightDropdown/ColorDot.jsx","../../src/components/Editor/Menu/Fixed/components/HighlightDropdown/constants.js","../../src/components/Editor/Menu/Fixed/components/HighlightDropdown/index.jsx","../../src/components/Editor/Menu/Fixed/components/TableOption.jsx","../../src/components/Editor/Menu/Fixed/constants.js","../../src/components/Editor/Menu/Fixed/utils.js","../../src/components/Editor/Menu/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { Info, Warning, Danger, Megaphone, Success } from \"neetoicons/misc\";\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: Warning,\n bgColor: \"--neeto-editor-warning-100\",\n },\n {\n type: \"error\",\n label: t(\"neetoEditor.menu.calloutError\"),\n icon: Danger,\n bgColor: \"--neeto-editor-error-100\",\n },\n {\n type: \"success\",\n label: t(\"neetoEditor.menu.calloutSuccess\"),\n icon: Success,\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 { memo } from \"react\";\n\nimport { Button } from \"neetoui\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { renderTooltipContent } from \"../utils.js\";\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=\"neeto-editor-fixed-menu__item\"\n data-testid={`neeto-editor-fixed-menu-${optionName}-option`}\n style={isActive ? \"secondary\" : \"text\"}\n tabIndex=\"-1\"\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 \"neetoicons\";\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 classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nconst CalloutTypeOption = ({ calloutType, isSelected, onClick }) => {\n const optionClass = classNames(\"neeto-editor-callout-dropdown__type-option\", {\n \"neeto-editor-callout-dropdown__type-option--selected\": isSelected,\n });\n const Icon = calloutType.icon;\n\n return (\n <div {...{ onClick }} className={optionClass}>\n <span\n className=\"neeto-editor-callout-dropdown__type-emoji\"\n data-testid=\"callout-type-emoji\"\n >\n <Icon />\n </span>\n <Typography\n className=\"neeto-editor-callout-dropdown__type-label\"\n style=\"body2\"\n weight=\"medium\"\n >\n {calloutType.label}\n </Typography>\n </div>\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 { findBy } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography, Dropdown } from \"neetoui\";\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 <Dropdown\n autoWidth\n placement=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n icon: () => (\n <CalloutIcon currentType={isInCallout ? currentType : null} />\n ),\n iconPosition: \"left\",\n iconSize: 20,\n label: <Down size={12} />,\n ref: dropdownRef,\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 style: isInCallout ? \"secondary\" : \"text\",\n size: \"small\",\n className: \"neeto-editor-fixed-menu__item\",\n }}\n >\n <Dropdown.Menu className=\"neeto-editor-callout-dropdown\">\n <div className=\"neeto-editor-callout-dropdown__section\">\n <Typography\n className=\"neeto-editor-callout-dropdown__section-title\"\n style=\"body2\"\n weight=\"normal\"\n >\n {t(\"neetoEditor.menu.selectCalloutType\")}\n </Typography>\n <div className=\"neeto-editor-callout-dropdown__options-grid\">\n <RenderCalloutOptions\n {...{ currentCalloutAttrs, handleCalloutTypeClick, isInCallout }}\n />\n </div>\n </div>\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default CalloutDropdown;\n","import { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst SecondaryMenuTarget = ({ icon: Icon, label }) => (\n <MenuItem.Button\n data-testid={`neeto-editor-fixed-menu-${hyphenate(label)}-option`}\n >\n <Icon /> {label}\n </MenuItem.Button>\n);\n\nexport default SecondaryMenuTarget;\n","import { memo } from \"react\";\n\nimport { Smiley } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nimport SecondaryMenuTarget from \"./SecondaryMenuTarget\";\n\nimport EmojiPickerMenu from \"../../../CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nconst EmojiOption = ({\n editor,\n isActive,\n setActive,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => (\n <Dropdown\n buttonStyle=\"text\"\n closeOnSelect={false}\n icon={Smiley}\n isOpen={isActive}\n position={isSecondaryMenu ? \"left-start\" : \"bottom-start\"}\n strategy=\"fixed\"\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"neeto-editor-fixed-menu__item\",\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n customTarget={\n isSecondaryMenu && <SecondaryMenuTarget {...{ label }} icon={Smiley} />\n }\n dropdownProps={{\n classNames: \"neeto-editor-fixed-menu__emoji-dropdown\",\n onClick: e => isSecondaryMenu && e.stopPropagation(),\n }}\n onClose={() => setActive(false)}\n onClick={e => {\n setActive(active => !active);\n isSecondaryMenu && e.stopPropagation();\n }}\n >\n <EmojiPickerMenu {...{ editor, setActive }} />\n </Dropdown>\n);\n\nexport default memo(EmojiOption);\n","import { useEffect, useState } from \"react\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"common/constants\";\nimport { isNotPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateAndFormatUrl } from \"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={Close}\n size=\"small\"\n style=\"secondary\"\n onClick={handleReset}\n />\n </div>\n );\n};\n\nexport default LinkOption;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\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=\"small\"\n style=\"secondary\"\n onClick={handleSubmit}\n />\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-close-button\"\n icon={Close}\n size=\"small\"\n style=\"secondary\"\n onClick={handleClose}\n />\n </div>\n </div>\n );\n};\n\nexport default TableOption;\n","import { t } from \"i18next\";\nimport {\n Quote,\n Attachment,\n CodeBlock,\n Code,\n Highlight,\n Link,\n TextBold,\n TextCross,\n TextItalic,\n Underline,\n ListDot,\n ListNumber,\n ImageUpload,\n Video,\n Undo,\n Redo,\n TextP,\n TextH1,\n TextH2,\n TextH3,\n} from \"neetoicons\";\nimport { Button } from \"neetoui\";\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: TextBold,\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: TextItalic,\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: TextCross,\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: Highlight,\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: CodeBlock,\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: ListDot,\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: ListNumber,\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: Attachment,\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: ImageUpload,\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: TextH1,\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: TextH2,\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: TextH3,\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: TextP,\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 || TextP;\n\nexport const renderOptionButton = ({\n tooltip,\n Icon,\n command,\n active,\n optionName,\n highlight,\n}) => (\n <Button\n className=\"neeto-editor-bubble-menu__item\"\n data-testid={`neeto-editor-bubble-menu-${optionName}-option`}\n icon={Icon}\n key={optionName}\n size=\"medium\"\n style={active ? \"secondary\" : \"text\"}\n tooltipProps={{\n content: tooltip,\n position: \"bottom\",\n theme: \"dark\",\n }}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n);\n","import { memo } from \"react\";\n\nimport { Email } from \"neetoicons\";\nimport { Avatar, Dropdown, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport SecondaryMenuTarget from \"components/Editor/Menu/Fixed/components/SecondaryMenuTarget\";\n\nconst { Menu, MenuItem } = Dropdown;\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 <Dropdown\n buttonStyle=\"text\"\n data-testid=\"neeto-editor-mention-option\"\n icon={Email}\n position={isSecondaryMenu ? \"left-start\" : \"bottom-start\"}\n strategy=\"fixed\"\n buttonProps={{\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"neeto-editor-fixed-menu__item\",\n }}\n customTarget={\n isSecondaryMenu && <SecondaryMenuTarget {...{ label }} icon={Email} />\n }\n onClick={e => isSecondaryMenu && e.stopPropagation()}\n >\n <Menu>\n {mentions.map(({ key, name, imageUrl }) => (\n <MenuItem.Button\n data-testid={`neeto-editor-mention-option-${key}`}\n key={key}\n onClick={() => editor.commands.setMention({ id: key, label: name })}\n >\n <Avatar size=\"small\" user={{ name, imageUrl }} />\n <Typography style=\"body2\">{name}</Typography>\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n );\n};\n\nexport default memo(Mentions);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Check, Close, Customize, Refresh } from \"neetoicons\";\nimport { Button, Dropdown, Input } from \"neetoui\";\nimport { not } from \"ramda\";\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 [isOpen, setIsOpen] = useState(false);\n const [color, setColor] = useState(null);\n\n const dropdownWrapperRef = useRef(null);\n const { t } = useTranslation();\n\n const handleSave = () => {\n editor.chain().focus().setColor(color).run();\n setIsOpen(false);\n };\n\n const handleUnset = () => {\n editor.chain().focus().unsetColor().run();\n setColor(null);\n setIsOpen(false);\n };\n\n useOnClickOutside(dropdownWrapperRef, event => {\n if (!isOpen) return;\n event.preventDefault();\n editor.commands.focus();\n setIsOpen(false);\n });\n\n useEffect(() => {\n setColor(editor.getAttributes(\"textStyle\").color);\n }, [isOpen, editor.getAttributes(\"textStyle\").color]);\n\n const openColorPicker = e => {\n isSecondaryMenu && e.stopPropagation();\n setColor(editor.getAttributes(\"textStyle\").color);\n setIsOpen(not);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n buttonStyle={isOpen || color ? \"secondary\" : \"text\"}\n icon={Customize}\n position={isSecondaryMenu ? \"left-start\" : \"bottom-start\"}\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className:\n \"neeto-editor-fixed-menu__item neeto-editor-text-color-option\",\n }}\n customTarget={\n isSecondaryMenu && (\n <SecondaryMenuTarget {...{ label }} icon={Customize} />\n )\n }\n onClick={openColorPicker}\n >\n <div\n ref={dropdownWrapperRef}\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=\"small\" onClick={handleSave} />\n <Button\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => {\n editor.commands.focus();\n setIsOpen(false);\n }}\n />\n <Button\n icon={Refresh}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoEditor.common.resetToDefault\"),\n position: \"top\",\n }}\n onClick={handleUnset}\n />\n </div>\n </div>\n </Dropdown>\n );\n};\n\nexport default TextColorOption;\n","import { EDITOR_OPTIONS } from \"common/constants\";\nimport { Link, Column, Down } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport LinkOption from \"./LinkOption\";\nimport TableOption from \"./TableOption\";\nimport {\n getNodeIcon,\n getTextMenuDropdownOptions,\n renderOptionButton,\n buildBubbleMenuOptions,\n} from \"./utils\";\n\nimport Mentions from \"../../CustomExtensions/Mention\";\nimport EmojiOption from \"../Fixed/components/EmojiOption\";\nimport TextColorOption from \"../Fixed/components/TextColorOption\";\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 const { Menu, MenuItem } = Dropdown;\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 <Dropdown\n buttonSize=\"small\"\n buttonStyle=\"text\"\n label={Icon}\n strategy=\"fixed\"\n buttonProps={{\n icon: Icon,\n iconPosition: \"left\",\n iconSize: 22,\n label: <Down size={12} />,\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n style: \"text\",\n size: \"small\",\n className:\n \"neeto-editor-bubble-menu__item neeto-editor-font-size__wrapper\",\n }}\n >\n <Menu className=\"neeto-ui-flex neeto-ui-gap-1 neeto-editor-menu-font-size-options\">\n {dropdownOptions.map(({ optionName, command, icon: Icon }) => (\n <MenuItem.Button\n className=\"neeto-editor-menu-font-size-options__item-btn\"\n key={optionName}\n tooltipProps={{ content: optionName, position: \"bottom\" }}\n onClick={command}\n >\n <Icon size={22} />\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\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: Column,\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 { withT } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\n\nimport FileIcon from \"../../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={Close}\n iconSize={18}\n size=\"small\"\n style=\"text\"\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 style=\"nano\">\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 style=\"body3\">{filename}</Typography>\n </Tooltip>\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default Progress;\n","import { useRef } from \"react\";\n\nimport { ImageUpload } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport useFileUploader from \"hooks/useFileUploader\";\n\nimport {\n ALLOWED_IMAGE_TYPES,\n ALLOWED_VIDEO_TYPES,\n DEFAULT_IMAGE_UPLOAD_CONFIG,\n DEFAULT_VIDEO_UPLOAD_CONFIG,\n} from \"./constants\";\nimport Progress from \"./Progress\";\nimport { convertToFileSize } from \"./utils\";\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 <ImageUpload className=\"ne-media-uploader__dnd-icon\" size={24} />\n <Typography style=\"body2\">\n {t(\"neetoEditor.localUploader.dropFilesHere\")}\n </Typography>\n <Typography style=\"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 { Form, Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VIDEO_EMBED_FORM_VALIDATION_SCHEMA } from \"./constants\";\n\nimport { validateUrl } from \"../CustomExtensions/Embeds/utils\";\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); // False when current url is not \"embeddable\"\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: \"small\",\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: \"small\",\n }}\n />\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default VideoEmbedForm;\n","import { useEffect, useState } from \"react\";\n\nimport { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { isNotPresent } from \"neetocist\";\nimport { Modal, Tab, Toastr } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\n\nimport LocalUploader from \"./LocalUploader\";\nimport { getTabs } from \"./utils\";\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 return (\n <Modal\n {...{ isOpen }}\n className=\"ne-media-uploader-modal\"\n closeButton={not(isUploading)}\n closeOnOutsideClick={not(isUploading)}\n onClose={handleClose}\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 <Tab>\n {tabs.map(({ key, title }) => (\n <Tab.Item\n active={activeTab === key}\n data-testid={`neeto-editor-media-uploader-${key}-tab`}\n key={key}\n onClick={() => setActiveTab(key)}\n >\n {title}\n </Tab.Item>\n ))}\n </Tab>\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 </Modal>\n );\n};\n\nexport default MediaUploader;\n","import { useState, useEffect, useRef } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Button, Checkbox, Input } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateAndFormatUrl } from \"components/Editor/utils\";\nimport { ALL_PROTOCOL_URL_REGEXP } from \"src/common/constants\";\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 onChange={() => 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=\"small\"\n onClick={handleAddLink}\n />\n <Button\n data-testid=\"neeto-editor-link-popover-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"small\"\n style=\"text\"\n onClick={removePopover}\n />\n </div>\n </div>\n </>,\n document.body\n )\n : null;\n};\n\nexport default LinkAddPopOver;\n","import { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { MENU_ELEMENTS, MENU_ELEMENT_TYPES } from \"../constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst MoreMenu = ({ groups, editor }) => (\n <Dropdown\n buttonProps={{ className: \"flex-shrink-0\" }}\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n strategy=\"fixed\"\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.Button\n data-testid={`neeto-editor-fixed-menu-${props.optionName}-option`}\n isActive={editor.isActive(props.optionName)}\n key={props.optionName}\n tabIndex=\"-1\"\n onClick={props.command}\n {...{\n ...generateFocusProps(props.highlight),\n ...props,\n editor,\n }}\n >\n <Icon /> {props.label}\n </MenuItem.Button>\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 </Dropdown>\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 // Update editor state when neetoKbArticleState changes\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\";\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 dropdownProps={{\n buttonSize: \"small\",\n buttonProps: {\n tooltipProps: {\n content: t(\"neetoEditor.menu.dynamicVariables\"),\n position: \"bottom\",\n },\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 \"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(\".neeto-editor-fixed-menu__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\"\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 classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\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 { Smiley } from \"neetoicons\";\n\nimport EmojiPicker from \"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={Smiley}\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 { findBy, noop } from \"neetocist\";\nimport {\n TextBold,\n TextItalic,\n Underline,\n TextCross,\n Highlight,\n Quote,\n Code,\n ListDot,\n ListNumber,\n ImageUpload,\n Undo,\n Redo,\n Smiley,\n File,\n Video,\n Column,\n CodeBlock,\n} from \"neetoicons\";\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: TextBold,\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: TextItalic,\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: TextCross,\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: Highlight,\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: CodeBlock,\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: ListDot,\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: ListNumber,\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: File,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUpload,\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: Smiley,\n command: noop,\n optionName: \"emoji\",\n tooltip: tooltips.emoji || t(\"neetoEditor.menu.emoji\"),\n isActive: isEmojiPickerActive,\n setActive: setIsEmojiPickerActive,\n },\n {\n Icon: Column,\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 \"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 className={classnames(\"ne-headless\", { [className]: className })}>\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 { TextH1, TextH2, TextH3, TextH4, TextH5, TextP } from \"neetoicons\";\n\nimport BubbleMenu from \"./Bubble\";\nimport EmptyMenu from \"./EmptyMenu\";\nimport FixedMenu from \"./Fixed\";\nimport HeadlessMenu from \"./Headless\";\n\nexport const FONT_SIZE_OPTIONS = [\n { label: t(\"neetoEditor.menu.heading1\"), value: 1, key: \"h1\", icon: TextH1 },\n { label: t(\"neetoEditor.menu.heading2\"), value: 2, key: \"h2\", icon: TextH2 },\n { label: t(\"neetoEditor.menu.heading3\"), value: 3, key: \"h3\", icon: TextH3 },\n { label: t(\"neetoEditor.menu.heading4\"), value: 4, key: \"h4\", icon: TextH4 },\n { label: t(\"neetoEditor.menu.heading5\"), value: 5, key: \"h5\", icon: TextH5 },\n {\n label: t(\"neetoEditor.menu.normalText\"),\n value: 0,\n key: \"body2\",\n icon: TextP,\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 { filterBy } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport { last } from \"ramda\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst { Menu, MenuItem } = Dropdown;\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 <Dropdown\n autoWidth\n placement=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n icon: activeOption?.icon,\n iconPosition: \"left\",\n iconSize: 22,\n label: <Down size={12} />,\n ref: dropdownRef,\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 style: \"text\",\n size: \"small\",\n className:\n \"neeto-editor-fixed-menu__item neeto-editor-font-size__wrapper\",\n }}\n >\n <Menu className=\"neeto-ui-flex neeto-ui-gap-1 neeto-editor-menu-font-size-options\">\n {menuOptions.map(({ label, icon: Icon, value, key }) => (\n <MenuItem.Button\n className=\"neeto-editor-menu-font-size-options__item-btn\"\n data-testid={`neeto-editor-fixed-menu-font-size-option-${key}`}\n key={value}\n tooltipProps={{ content: label, position: \"bottom\" }}\n onClick={() => handleClick(value)}\n >\n <Icon size={22} />\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n );\n};\n\nexport default memo(FontSizeOption);\n","import classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/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 { hyphenize } from \"neetocommons/utils\";\nimport { Down, Highlight } from \"neetoicons\";\nimport { Typography, Dropdown } from \"neetoui\";\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 <Dropdown\n autoWidth\n placement=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n icon: () => <Highlight size={18} />,\n iconPosition: \"left\",\n iconSize: 16,\n label: <Down size={12} />,\n ref: dropdownRef,\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 style: \"text\",\n size: \"small\",\n className: \"neeto-editor-fixed-menu__item\",\n }}\n >\n <Dropdown.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 style=\"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 </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nexport default HighlightDropdown;\n","import { memo, useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Column } from \"neetoicons\";\nimport { Button, Dropdown, Input } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SecondaryMenuTarget from \"./SecondaryMenuTarget\";\n\nconst { Menu } = Dropdown;\n\nconst TableOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n\n const handleClose = () => {\n setRows(3);\n setColumns(3);\n setIsOpen(false);\n };\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run();\n handleClose();\n };\n\n const handleDropdownClick = e => {\n isSecondaryMenu && e.stopPropagation();\n setIsOpen(not);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n buttonStyle={isOpen ? \"secondary\" : \"text\"}\n closeOnSelect={false}\n data-testid=\"neeto-editor-fixed-menu-link-option\"\n icon={Column}\n position={isSecondaryMenu ? \"left-start\" : \"bottom\"}\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"neeto-editor-fixed-menu__item\",\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n customTarget={\n isSecondaryMenu && <SecondaryMenuTarget {...{ label }} icon={Column} />\n }\n onClick={handleDropdownClick}\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=\"small\"\n onClick={handleSubmit}\n />\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nexport default memo(TableOption);\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\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\nimport Mentions from \"../../CustomExtensions/Mention\";\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 { isNotEmpty } from \"neetocist\";\nimport {\n TextBold,\n TextItalic,\n Underline,\n TextCross,\n Highlight,\n Code,\n ListDot,\n ListNumber,\n Checkbox,\n ImageUpload,\n Quote,\n Undo,\n Redo,\n Video,\n CodeBlock,\n Attachment,\n Link,\n File,\n} from \"neetoicons\";\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 // font\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: TextBold,\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: TextItalic,\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: TextCross,\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: Highlight,\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 // list\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListDot,\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: ListNumber,\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: Checkbox,\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 // block\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 // misc\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: Attachment,\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: File,\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: ImageUpload,\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 // extras\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: CodeBlock,\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 //addons\n [...addonCommandOptions],\n // history\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 // Calculate the arrow position\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 // Calculate the popover position\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 \"src/styles/editor/menu.scss\";\n\nimport { MENU_COMPONENTS } from \"./constants\";\n\nimport { DEFAULT_EDITOR_OPTIONS } 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":["CALLOUT_TYPES","type","label","t","icon","Megaphone","bgColor","Info","Warning","Danger","Success","EmojiPickerMenu","_React$Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","React","createRef","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$emojiPickerApi","data","wrap","_callee$","_context","prev","next","emojiPickerApi","fetch","sent","abrupt","t0","stop","_ref2","event","key","props","editor","chain","focus","deleteRange","range","run","emoji","_this$props$setActive","_this$props","setEmoji","setActive","call","_inherits","_createClass","value","componentDidMount","Picker","_objectSpread","onEmojiSelect","handleSelect","style","maxWidth","theme","previewPosition","showSkinTones","fetchEmojiData","ref","render","_jsx","minWidth","Component","defaultProps","validateUrl","url","_i","_Object$values","Object","values","URL_VALIDATORS","validator","result","MenuButton","_ref","command","optionName","highlight","_ref$disabled","disabled","isButtonDisabled","_useEditorStore","useEditorStore","store","_store$marksState","_store$marksState2","isActive","shallow","_useEditorStore$disab","Button","className","tabIndex","tooltipProps","content","renderTooltipContent","position","onClick","generateFocusProps","memo","CalloutIcon","currentType","Icon","children","size","Flag","CalloutTypeOption","calloutType","isSelected","optionClass","classNames","_jsxs","Typography","weight","RenderCalloutOptions","isInCallout","currentCalloutAttrs","handleCalloutTypeClick","map","idx","_createElement","CalloutDropdown","tooltipContent","_useTranslation","useTranslation","dropdownRef","useRef","getAttributes","findBy","editorChain","isSameType","lift","updateAttributes","setCallout","Dropdown","autoWidth","placement","strategy","buttonProps","iconPosition","iconSize","Down","onKeyDown","_dropdownRef$current","current","click","Menu","MenuItem","SecondaryMenuTarget","hyphenate","EmojiOption","_ref$isSecondaryMenu","isSecondaryMenu","buttonStyle","closeOnSelect","Smiley","isOpen","customTarget","dropdownProps","e","stopPropagation","onClose","active","LinkOption","handleClose","handleAnimateInvalidLink","_useState","useState","_useState2","_slicedToArray","link","setLink","useEffect","href","handleKeyDown","handleSubmit","ALL_PROTOCOL_URL_REGEXP","test","isNotPresent","unsetLink","handleReset","autoFocus","name","placeholder","onChange","target","validateAndFormatUrl","Close","TableOption","rows","setRows","_useState3","_useState4","columns","setColumns","insertTable","cols","withHeaderRow","Label","min","withEventTargetValue","Check","createMenuOptions","tooltips","setMediaUploader","attachmentProps","setIsAddLinkActive","font","TextBold","toggleBold","tooltip","bold","TextItalic","toggleItalic","italic","Underline","toggleUnderline","underline","Link","not","TextCross","toggleStrike","strike","Highlight","toggleHighlight","block","Quote","toggleBlockquote","blockQuote","Code","toggleCode","code","CodeBlock","toggleCodeBlock","codeBlock","list","ListDot","toggleBulletList","bulletList","ListNumber","toggleOrderedList","orderedList","misc","Attachment","handleUploadAttachments","isDisabled","attachments","ImageUpload","assoc","imageUpload","Video","videoUpload","right","Undo","undo","can","Redo","redo","buildBubbleMenuOptions","options","menuOptions","fromPairs","option","filter","item","includes","getTextMenuDropdownOptions","_ref3","textOptions","EDITOR_OPTIONS","H1","TextH1","level","setNode","H2","TextH2","H3","TextH3","PARAGRAPH","TextP","forEach","push","getNodeIcon","_options$find","find","prop","renderOptionButton","_ref4","Mentions","mentions","isEmpty","Email","imageUrl","commands","setMention","id","Avatar","user","TextColorOption","setIsOpen","color","setColor","dropdownWrapperRef","handleSave","handleUnset","unsetColor","useOnClickOutside","preventDefault","openColorPicker","Customize","HexColorPicker","Input","Refresh","Options","setIsInvalidLink","isLinkOptionActive","isTableOptionActive","setIsLinkOptionActive","setIsTableOptionActive","isEmojiPickerActive","setIsEmojiPickerActive","dropdownOptions","isEmojiActive","EMOJI","isTextColorOptionActive","TEXT_COLOR","isLinkActive","LINK","isTableActive","TABLE","_buildBubbleMenuOptio","fontStyleOptions","blockStyleOptions","listStyleOptions","setTimeout","_Fragment","buttonSize","textColor","Column","table","mention","Bubble","_ref$mentions","_ref$tooltips","isInvalidLink","_useState5","_useState6","selectedNode","view","state","selection","node","isImageNodeSelected","bubbleMenuOptions","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","noTextOptions","BubbleMenuTipTap","classnames","tippyOptions","arrow","roundArrow","zIndex","onHide","EmptyMenu","Progress","withT","queuedFiles","cancelUpload","filename","_ref2$progress","progress","FileIcon","fileName","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","image","video","tabs","setTabs","getTabs","file","_file$filename","_file$caption","caption","mediaAttrs","src","alt","setMedia","setFigure","setVideo","tr","doc","resolve","to","end","safePosition","Math","insertContentAt","onUploadComplete","directUploadsApi","attach","signed_id","signedId","Toastr","error","setExternalVideo","Modal","closeButton","closeOnOutsideClick","Tab","title","Item","ImageUploader","LinkAddPopOver","isAddLinkActive","openLinkInNewTab","_editor$state$selecti","from","text","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","dispatch","_state$selection","formattedUrl","attrs","linkMark","schema","marks","create","linkTextWithMark","replaceWith","removePopover","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","window","addEventListener","removeEventListener","createPortal","required","onFocus","Checkbox","checked","document","body","MoreMenu","groups","MenuHorizontal","group","_objectWithoutProperties","_excluded","MENU_ELEMENTS","MENU_ELEMENT_TYPES","BUTTON","EDITOR_MARKS","UNDO","REDO","HIGHLIGHT","CALLOUT","CODE","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","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","querySelectorAll","menuItem","menuGroups","buildMenuOptions","handleResize","_reGroupMenuItems","reGroupMenuItems","visibleMenuGroups","invisibleMenuGroups","menuContainer","resizeObserver","ResizeObserver","observe","unobserve","isMediaUploaderActive","isNotEmpty","_ref$icon","_ref$onClick","otherProps","hideOnEsc","defaultValue","fn","hide","_ref$props","toLowerCase","onShow","_ref2$onClose","_ref2$buttonProps","mounted","setMounted","Tippy","interactive","animation","duration","hideOnClick","offset","plugins","popperOptions","role","trigger","visible","onClickOutside","onHidden","onMount","Emoji","delay","EmojiPicker","Option","i18n","File","buildOptionsFromAddonCommands","_option$active","_option$command","Boolean","Headless","addonCommandOptions","allOptions","_toConsumableArray","TextH4","TextH5","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","backgroundColor","colorNumber","match","hyphenize","COLORS","background","colorSections","colors","HighlightDropdown","updateBackgroundColor","setMark","handleBackgroundColorClick","handleTextColorClick","renderColorDots","colorList","undefined","handleDropdownClick","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","LIST_BULLETS","LIST_ORDERED","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","DEFAULT_EDITOR_OPTIONS","MenuComponent","metaKey","ctrlKey","altKey","prevState","unsplashApiKey","unsplash"],"mappings":"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"}