@entur-partner/rich-text-editor 6.1.2 → 6.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor.cjs.development.js","sources":["../src/withI18n.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.js","../src/events.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/Controls/InlineStyleControls.js","../src/RichTextEditor/Controls/TagControls.js","../src/RichTextEditor/Link/index.js","../src/RichTextEditor/constants.js","../src/RichTextEditor/index.js","../src/RichTextEditor/markdownConvertion.js","../src/ExpandableMultiLanguageRichTextEditor.tsx","../src/RichTextEditor/htmlConvertion.js"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nfunction useI18N() {\n const {\n t,\n i18n: { language },\n } = useTranslation();\n\n if (language !== 'nb' && language !== 'en') {\n throw Error('Language must be either nb or en.');\n }\n\n return t;\n}\n\nexport function withI18n(Component) {\n return function WrappedComponent(props) {\n const t = useI18N();\n return <Component {...props} i18n={t} />;\n };\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\nimport { withI18n } from '../../withI18n';\n\nclass BlockTypeDropdown extends Component {\n handleOnClick = (selectedOption) => {\n const { onChange } = this.props;\n onChange(selectedOption);\n };\n\n toItem(option) {\n return {\n value: option.style,\n label: this.renderFormattedLabel(option.label),\n };\n }\n\n renderFormattedLabel(label) {\n const formattedLabelText = this.props.i18n(label);\n switch (label) {\n case 'styles.p':\n return <div className=\"default-p\">{formattedLabelText}</div>;\n case 'styles.h1':\n return <div className=\"default-h1\">{formattedLabelText}</div>;\n case 'styles.h2':\n return <div className=\"default-h2\">{formattedLabelText}</div>;\n case 'styles.h3':\n return <div className=\"default-h3\">{formattedLabelText}</div>;\n case 'styles.h4':\n return <div className=\"default-h4\">{formattedLabelText}</div>;\n case 'styles.h5':\n return <div className=\"default-h5\">{formattedLabelText}</div>;\n case 'styles.h6':\n return <div className=\"default-h6\">{formattedLabelText}</div>;\n default:\n return <p>{formattedLabelText}</p>;\n }\n }\n\n render() {\n const { options, selected, i18n } = this.props;\n\n return (\n <Dropdown\n className=\"block-type-dropdown\"\n items={options.map((option) => this.toItem(option))}\n selectedItem={this.toItem(selected)}\n label={i18n('styles.style')}\n onChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n />\n );\n }\n}\n\nexport default withI18n(BlockTypeDropdown);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport BlockTypeDropdown from '../BlockTypeDropdown';\n\nconst BlockTypeControls = ({ editorState, blockTypes, onToggle }) => {\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n const selectedOption =\n blockTypes.find((option) => option.style === blockTypeStyle) ||\n blockTypes[0];\n\n return (\n <BlockTypeDropdown\n options={blockTypes}\n selected={selectedOption}\n onChange={onToggle}\n />\n );\n};\n\nexport default BlockTypeControls;\n","export const Key = Object.freeze({\n ENTER: 13,\n});\n\nexport function getKey(event) {\n return event.keyCode || event.which;\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass StyleButton extends Component {\n onToggle = (e) => {\n const { style, onToggle } = this.props;\n e.preventDefault();\n onToggle(style);\n };\n\n onToggleNoEvent = () => {\n const { style, onToggle } = this.props;\n onToggle(style);\n };\n\n render() {\n const { i18n, active, label, title, hotKey } = this.props;\n\n const classNames = cx('editor-stylebutton', { active });\n\n return (\n <div\n className={classNames}\n onMouseDown={this.onToggle}\n title={i18n(title) + hotKey}\n tabIndex={0}\n onKeyPress={(event) => {\n if (getKey(event) === Key.ENTER) {\n this.onToggleNoEvent();\n }\n }}\n >\n {label}\n </div>\n );\n }\n}\n\nexport default withI18n(StyleButton);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst BlockTypeButtonControls = (props) => {\n const { editorState, blockTypes, onToggle } = props;\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n return (\n <div className=\"controls-group block-editor-controls\">\n {blockTypes.map((type, i) => (\n <StyleButton\n key={i}\n active={type.style === blockTypeStyle}\n label={type.label}\n onToggle={onToggle}\n style={type.style}\n title={type.tooltip}\n />\n ))}\n </div>\n );\n};\n\nexport default BlockTypeButtonControls;\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { EditorState } from 'draft-js';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@entur/form';\nimport { UnlinkIcon, LinkIcon, CheckIcon, CloseIcon } from '@entur/icons';\nimport { Unbutton } from '@entur-partner/common';\nimport { SecondarySquareButton } from '@entur/button';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass BlockTypeLinkControls extends Component {\n state = {\n urlValue: '',\n showUrlInput: false,\n hasLink: false,\n };\n\n onUrlChange = (e) => {\n this.setState({ urlValue: e.target.value });\n };\n\n addLink = (e) => {\n e.preventDefault();\n const { editorState } = this.props;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n let url = '';\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n }\n\n this.setState({\n showUrlInput: true,\n urlValue: url,\n hasLink: !!url,\n });\n }\n };\n\n confirmLink = (e) => {\n e.preventDefault();\n const { urlValue } = this.state;\n const { editorState, onToggle } = this.props;\n const contentState = editorState.getCurrentContent();\n const contentStateWithEntity = contentState.createEntity(\n 'LINK',\n 'MUTABLE',\n { url: urlValue }\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n onToggle(newEditorState, entityKey);\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n cancelLink = (e) => {\n e.preventDefault();\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n onLinkInputKeyDown = (e) => {\n if (getKey(e) === Key.ENTER) {\n this.confirmLink(e);\n }\n };\n\n removeLink = (e) => {\n e.preventDefault();\n const { editorState, onToggle } = this.props;\n const { hasLink } = this.state;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed() && hasLink) {\n onToggle(editorState, null);\n this.setState({\n showUrlInput: false,\n });\n }\n };\n\n render() {\n const { i18n } = this.props;\n const { showUrlInput, hasLink } = this.state;\n return (\n <div className=\"controls-group block-editor-controls link-controls\">\n <div\n className=\"editor-stylebutton\"\n title={i18n('styles.link')}\n onClick={this.addLink}\n tabIndex={0}\n >\n <LinkIcon />\n </div>\n\n {showUrlInput && (\n <div className=\"url-input-container\">\n <span className=\"exit-button\" onMouseDown={this.cancelLink}>\n <CloseIcon />\n </span>\n <div className=\"link-label\">{i18n('common.from')}</div>\n <div className=\"url-input-form\">\n <TextField\n style={{ width: 250, margin: 5 }}\n onChange={this.onUrlChange}\n value={this.state.urlValue}\n onKeyDown={this.onLinkInputKeyDown}\n placeholder=\"https://example.com\"\n />\n <SecondarySquareButton onMouseDown={this.confirmLink}>\n <CheckIcon width={15} height={15} />\n </SecondarySquareButton>\n </div>\n {hasLink && (\n <div className=\"remove-link\">\n <Unbutton\n onClick={this.removeLink}\n title={i18n('styles.unlink')}\n >\n <UnlinkIcon />\n {i18n('styles.unlink')}\n </Unbutton>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\nBlockTypeLinkControls.propTypes = {\n editorState: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst InlineStyleControls = (props) => {\n const { editorState, inlineStyles } = props;\n\n const currentStyle = editorState.getCurrentInlineStyle();\n\n return (\n <div className=\"controls-group inline-editor-controls\">\n {inlineStyles.map((type, i) => (\n <StyleButton\n key={i}\n active={currentStyle.has(type.style)}\n label={type.label}\n onToggle={props.onToggle}\n style={type.style}\n title={type.tooltip}\n hotKey={type.hotKey}\n />\n ))}\n </div>\n );\n};\n\nexport default InlineStyleControls;\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover } from '@entur/tooltip';\nimport { OverflowMenuItem, OverflowMenu } from '@entur/menu';\nimport { DownArrowIcon } from '@entur/icons';\n\nimport { withI18n } from '../../withI18n';\n\nclass TagControls extends Component {\n tagControlRef = createRef();\n state = { isOpen: false };\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (e) => {\n if (\n this.tagControlRef &&\n this.tagControlRef.current &&\n !this.tagControlRef.current.contains(e.target)\n ) {\n this.setState({ isOpen: false });\n }\n };\n\n handleTagClick = (tag, delimiter) => {\n const { editorState, onInsertTag } = this.props;\n const delimiterStart = delimiter[0];\n const delimiterEnd = delimiter[1];\n const fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n onInsertTag(editorState, fullTag);\n };\n\n render() {\n const { i18n, tags } = this.props;\n const { isOpen } = this.state;\n const menuItems = tags.map((tag, i) => {\n const delimiter = tag.delimiter || '{}';\n return (\n <OverflowMenuItem\n key={i}\n className=\"tag-control\"\n id={'tag-control-' + tag.tag}\n onClick={() => this.handleTagClick(tag.tag, delimiter)}\n >\n {tag.icon}\n <span className=\"tag-control-text\">{tag.label}</span>\n </OverflowMenuItem>\n );\n });\n\n return (\n <div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n <div\n className=\"tag-control-header\"\n onClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n >\n {i18n('common.insert')}\n <DownArrowIcon className=\"tag-control-chevron\" inline />\n </div>\n <Popover open={isOpen} className=\"tag-control-content\">\n <OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n </Popover>\n </div>\n );\n }\n}\n\nTagControls.propTypes = {\n editorState: PropTypes.object,\n tags: PropTypes.arrayOf(PropTypes.object).isRequired,\n onInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from 'react';\n\nexport const HtmlLink = ({ url, children }) => {\n return <a href={url}>{children}</a>;\n};\n\nconst Link = (props) => {\n const { url } = props.contentState.getEntity(props.entityKey).getData();\n return <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback);\n}\n\nexport default Link;\n","import React from 'react';\nimport {\n BoldIcon,\n ItalicIcon,\n UnderlineIcon,\n BulletListIcon,\n NumberListIcon,\n} from '@entur/icons';\nimport { CompositeDecorator } from 'draft-js';\n\nimport Link, { findLinkEntities } from './Link';\n\nexport const EditorConfigTypes = Object.freeze({\n FONT_LIST: {\n UNSTYLED: 'unstyled',\n HEADER_ONE: 'header-one',\n HEADER_TWO: 'header-two',\n HEADER_THREE: 'header-three',\n HEADER_FOUR: 'header-four',\n HEADER_FIVE: 'header-five',\n HEADER_SIX: 'header-six',\n },\n BLOCK_TYPES: {\n UNORDERED_LIST: 'unordered-list',\n ORDERED_LIST: 'ordered-list',\n },\n INLINE_STYLES: {\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n },\n});\n\nexport const FontList = Object.freeze({\n unstyled: { label: 'styles.p', style: 'unstyled' },\n 'header-one': { label: 'styles.h1', style: 'header-one' },\n 'header-two': { label: 'styles.h2', style: 'header-two' },\n 'header-three': { label: 'styles.h3', style: 'header-three' },\n 'header-four': { label: 'styles.h4', style: 'header-four' },\n 'header-five': { label: 'styles.h5', style: 'header-five' },\n 'header-six': { label: 'styles.h6', style: 'header-six' },\n});\n\nexport const BlockTypeList = Object.freeze({\n 'unordered-list': {\n label: <BulletListIcon />,\n style: 'unordered-list-item',\n tooltip: 'styles.unordered_list_item',\n },\n 'ordered-list': {\n label: <NumberListIcon />,\n style: 'ordered-list-item',\n tooltip: 'styles.ordered_list_item',\n },\n});\n\nexport const InlineStylesList = Object.freeze({\n bold: {\n label: <BoldIcon />,\n style: 'BOLD',\n tooltip: 'styles.bold',\n hotKey: '(Ctrl+B)',\n },\n italic: {\n label: <ItalicIcon />,\n style: 'ITALIC',\n tooltip: 'styles.italic',\n hotKey: '(Ctrl+I)',\n },\n underline: {\n label: <UnderlineIcon />,\n style: 'UNDERLINE',\n tooltip: 'styles.underline',\n hotKey: '(Ctrl+U)',\n },\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n fontList: [\n { type: 'unstyled', label: 'styles.p', style: 'unstyled' },\n { type: 'header-two', label: 'styles.h1', style: 'header-two' },\n ],\n blockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: [\n EditorConfigTypes.INLINE_STYLES.BOLD,\n EditorConfigTypes.INLINE_STYLES.ITALIC,\n ],\n});\nexport const decorator = new CompositeDecorator([\n {\n strategy: findLinkEntities,\n component: Link,\n },\n]);\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport {\n Editor,\n EditorState,\n Modifier,\n RichUtils,\n getDefaultKeyBinding,\n} from 'draft-js';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Label } from '@entur/typography';\n\nimport BlockTypeSelectControls from './Controls/BlockTypeSelectControls';\nimport BlockTypeButtonControls from './Controls/BlockTypeButtonControls';\nimport BlockTypeLinkControls from './Controls/BlockTypeLinkControls';\nimport InlineStyleControls from './Controls/InlineStyleControls';\nimport TagControls from './Controls/TagControls';\nimport {\n BlockTypeList,\n EditorConfigTypes,\n FontList,\n InlineStylesList,\n decorator,\n} from './constants';\n\nclass RichTextEditor extends Component {\n static decorator = decorator;\n\n wrapperRef = createRef();\n editor = createRef();\n\n focusEditor() {\n this.editor.current && this.editor.current.focus();\n }\n\n handleKeyCommand = (command, editorState) => {\n const newState = RichUtils.handleKeyCommand(editorState, command);\n if (newState) {\n this.props.onChange(newState);\n return true;\n }\n return false;\n };\n\n keyBindingFn = (evt) => {\n switch (evt.keyCode) {\n case 9:\n return this.onTab(evt);\n default:\n return getDefaultKeyBinding(evt);\n }\n };\n\n onTab = (evt) => {\n evt.stopPropagation();\n const { maxTabDepth, editorState, onChange } = this.props;\n onChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n };\n\n toggleButtonBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleSelectBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleInlineStyle = (inlineStyle) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n };\n\n toggleLink = (newEditorState, entityKey) => {\n this.props.onChange(\n RichUtils.toggleLink(\n newEditorState,\n newEditorState.getSelection(),\n entityKey\n )\n );\n };\n\n insertText = (editorState, text) => {\n const newContent = Modifier.insertText(\n editorState.getCurrentContent(),\n editorState.getSelection(),\n text\n );\n this.props.onChange(\n EditorState.push(editorState, newContent, 'insert-characters'),\n () => this.focusEditor()\n );\n };\n\n getFontListConfigForPanelType = (panelType) => {\n const controlConfig = this.getControlConfigBySet(\n this.props.controlConfigSet\n );\n return controlConfig[panelType];\n };\n\n getControlConfigBySet = (config) => {\n const fontList = ((config && config.fontList) || Object.keys(FontList))\n .filter((f) => (typeof f === 'object' ? FontList[f.type] : FontList[f]))\n .map((f) => (f.label && f.style ? f : FontList[f]));\n const blockTypes = (\n (config && config.blockTypes) ||\n Object.keys(BlockTypeList)\n )\n .filter((f) =>\n typeof f === 'object' ? BlockTypeList[f.type] : BlockTypeList[f]\n )\n .map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n const inlineStyles = (\n (config && config.inlineStyles) ||\n Object.keys(InlineStylesList)\n )\n .filter((f) =>\n typeof f === 'object' ? InlineStylesList[f.type] : InlineStylesList[f]\n )\n .map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n return {\n fontList,\n blockTypes,\n inlineStyles,\n };\n };\n\n render() {\n const {\n className,\n showFontMenu,\n showInlineStyleMenu,\n showTextFormatMenu,\n showLinkMenu,\n label,\n tags,\n editorState,\n onChange,\n handleBeforeInput,\n } = this.props;\n\n const classNames = cx('editor-root', className);\n\n return (\n <div ref={this.wrapperRef}>\n {label && <Label>{label}</Label>}\n\n <div className={classNames}>\n <div className=\"controls-wrapper\">\n {showFontMenu && (\n <BlockTypeSelectControls\n editorState={editorState}\n onToggle={this.toggleSelectBlockType}\n blockTypes={this.getFontListConfigForPanelType('fontList')}\n />\n )}\n {showInlineStyleMenu && (\n <InlineStyleControls\n editorState={editorState}\n onToggle={this.toggleInlineStyle}\n inlineStyles={this.getFontListConfigForPanelType(\n 'inlineStyles'\n )}\n />\n )}\n {showTextFormatMenu && (\n <BlockTypeButtonControls\n editorState={editorState}\n onToggle={this.toggleButtonBlockType}\n blockTypes={this.getFontListConfigForPanelType('blockTypes')}\n />\n )}\n {showLinkMenu && (\n <BlockTypeLinkControls\n editorState={editorState}\n onToggle={this.toggleLink}\n />\n )}\n {tags && tags.length > 0 && (\n <TagControls\n editorState={editorState}\n tags={tags}\n onInsertTag={this.insertText}\n />\n )}\n </div>\n\n <div className=\"editor-wrapper\">\n <Editor\n ref={this.editor}\n editorState={editorState}\n handleKeyCommand={this.handleKeyCommand}\n onChange={onChange}\n handleBeforeInput={handleBeforeInput}\n keyBindingFn={this.keyBindingFn}\n spellCheck\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styleShape = (configList) =>\n PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([...Object.values(configList)]),\n label: PropTypes.string,\n style: PropTypes.string,\n tooltip: PropTypes.string,\n hotKey: PropTypes.string,\n })\n ),\n ]);\n\nRichTextEditor.propTypes = {\n editorState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n maxTabDepth: PropTypes.number,\n showFontMenu: PropTypes.bool,\n showInlineStyleMenu: PropTypes.bool,\n showTextFormatMenu: PropTypes.bool,\n showLinkMenu: PropTypes.bool,\n label: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.object),\n controlConfigSet: PropTypes.shape({\n fontList: styleShape(EditorConfigTypes.FONT_LIST),\n blockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n }),\n};\nRichTextEditor.defaultProps = {\n maxTabDepth: 4,\n showFontMenu: true,\n showInlineStyleMenu: true,\n showTextFormatMenu: true,\n showLinkMenu: true,\n label: '',\n};\n\nexport default RichTextEditor;\n","import { markdownToDraft, draftToMarkdown } from 'markdown-draft-js';\nimport { convertToRaw, convertFromRaw, EditorState } from 'draft-js';\nimport showdown from 'showdown';\n\nimport { decorator } from './constants';\n\nexport const editorStateToMarkdown = (editorState) => {\n const rawState = convertToRaw(editorState.getCurrentContent());\n return draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n if (!markdown) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = markdownToDraft(markdown, { preserveNewlines: true });\n const contentState = convertFromRaw(rawState);\n return EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n underline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n return converter.makeHtml(markdown);\n};\n","import React, { useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { ExpandablePanel } from '@entur/expand';\nimport {\n LanguageKey,\n LanguageOption,\n MultiLanguageValues,\n Stack,\n} from '@entur-partner/common';\nimport { FeedbackText, VariantType } from '@entur/form';\n\nimport {\n editorStateToMarkdown,\n markdownToEditorState,\n} from './RichTextEditor/markdownConvertion';\nimport RichTextEditor from './RichTextEditor';\nimport { MinifiedConfigTypes } from './RichTextEditor/constants';\n\ntype MultiLanguageInputProps = {\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n tags?: {\n tag: string;\n delimiter: string;\n label: string;\n }[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n language: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n language: { value: langKey, label, required },\n values,\n onChange,\n variant,\n feedback,\n tags,\n}: RichTextEditorForLanguageProps) => {\n const [editorState, setEditorState] = useState<EditorState>(\n markdownToEditorState(values[langKey])\n );\n\n const handleOnChange = (changedState: EditorState) => {\n const newValues = { ...values };\n const content = editorStateToMarkdown(changedState);\n if (values[langKey] && content === '\\n') {\n delete newValues[langKey];\n } else {\n newValues[langKey] = content;\n }\n\n setEditorState(changedState);\n onChange(newValues);\n };\n\n const feedbackText = feedback && feedback(langKey);\n\n return (\n <>\n <RichTextEditor\n label={required ? label + '*' : label}\n editorState={editorState}\n onChange={(changedState: EditorState) => handleOnChange(changedState)}\n controlConfigSet={MinifiedConfigTypes}\n tags={tags}\n />\n {variant && feedbackText?.length! > 0 && (\n <FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n )}\n </>\n );\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n name: string;\n title: string;\n languages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n name,\n title,\n languages,\n ...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map((lang) => (\n <div\n key={name + lang.value}\n data-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n >\n <RichTextEditorForLanguage language={lang} {...rest} />\n </div>\n ))}\n </Stack>\n </ExpandablePanel>\n);\n","import React from 'react';\nimport { EditorState } from 'draft-js';\nimport { convertFromHTML, convertToHTML } from 'draft-convert';\n\nimport { HtmlLink } from './Link';\nimport { decorator } from './constants';\n\n/* eslint-disable react/display-name */\n\nexport const entityToHtml = {\n entityToHTML: (entity, originalText) => {\n if (entity.type === 'LINK') {\n return <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n }\n return originalText;\n },\n};\n\nexport const htmlToEntity = {\n htmlToEntity: (nodeName, node, createEntity) => {\n if (nodeName === 'a') {\n return createEntity('LINK', 'MUTABLE', { url: node.href });\n }\n },\n};\n\n/* eslint-disable react/display-name */\n\nexport const htmlToEditorState = (html) => {\n if (!html) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = convertFromHTML(htmlToEntity)(html);\n return EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n return convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["useI18N","_useTranslation","useTranslation","t","language","i18n","Error","withI18n","Component","WrappedComponent","props","React","createElement","_extends","BlockTypeDropdown","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","handleOnClick","selectedOption","onChange","_inheritsLoose","_proto","prototype","toItem","option","value","style","label","renderFormattedLabel","formattedLabelText","className","render","_this2","_this$props","options","selected","Dropdown","items","map","selectedItem","BlockTypeControls","_ref","editorState","blockTypes","onToggle","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","find","Key","Object","freeze","ENTER","getKey","event","keyCode","which","StyleButton","e","preventDefault","onToggleNoEvent","_this$props2","_this$props3","active","title","hotKey","classNames","cx","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","type","i","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","addLink","isCollapsed","currentContent","startKey","startOffset","getStartOffset","blockWithLinkAtBeginning","linkKey","getEntityAt","url","linkInstance","getEntity","getData","confirmLink","contentState","contentStateWithEntity","createEntity","entityKey","getLastCreatedEntityKey","newEditorState","EditorState","set","cancelLink","onLinkInputKeyDown","removeLink","_this$state","onClick","LinkIcon","CloseIcon","TextField","width","margin","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","InlineStyleControls","inlineStyles","currentStyle","getCurrentInlineStyle","has","TagControls","tagControlRef","createRef","isOpen","handleClickOutside","current","contains","handleTagClick","tag","delimiter","onInsertTag","delimiterStart","delimiterEnd","fullTag","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","tags","menuItems","OverflowMenuItem","id","icon","ref","DownArrowIcon","inline","Popover","open","OverflowMenu","arrayOf","isRequired","HtmlLink","children","href","Link","_props$contentState$g","findLinkEntities","contentBlock","callback","findEntityRanges","character","EditorConfigTypes","FONT_LIST","UNSTYLED","HEADER_ONE","HEADER_TWO","HEADER_THREE","HEADER_FOUR","HEADER_FIVE","HEADER_SIX","BLOCK_TYPES","UNORDERED_LIST","ORDERED_LIST","INLINE_STYLES","BOLD","ITALIC","UNDERLINE","FontList","unstyled","BlockTypeList","BulletListIcon","NumberListIcon","InlineStylesList","bold","BoldIcon","italic","ItalicIcon","underline","UnderlineIcon","MinifiedConfigTypes","fontList","values","decorator","CompositeDecorator","strategy","component","RichTextEditor","wrapperRef","editor","handleKeyCommand","command","newState","RichUtils","keyBindingFn","evt","onTab","getDefaultKeyBinding","stopPropagation","maxTabDepth","toggleButtonBlockType","blockType","toggleBlockType","toggleSelectBlockType","toggleInlineStyle","inlineStyle","_this$props4","toggleLink","insertText","text","newContent","Modifier","push","focusEditor","getFontListConfigForPanelType","panelType","controlConfig","getControlConfigBySet","controlConfigSet","config","keys","filter","f","focus","_this$props5","showFontMenu","showInlineStyleMenu","showTextFormatMenu","showLinkMenu","handleBeforeInput","Label","BlockTypeSelectControls","Editor","spellCheck","styleShape","configList","oneOfType","oneOf","shape","string","number","bool","defaultProps","editorStateToMarkdown","rawState","convertToRaw","draftToMarkdown","preserveNewlines","markdownToEditorState","markdown","createEmpty","markdownToDraft","convertFromRaw","createWithContent","converter","showdown","Converter","markdownToHtml","makeHtml","RichTextEditorForLanguage","_ref$language","langKey","required","variant","feedback","_useState","useState","setEditorState","handleOnChange","changedState","newValues","content","feedbackText","Fragment","FeedbackText","ExpandableMultiLanguageRichTextEditor","_ref2","name","languages","rest","_objectWithoutPropertiesLoose","_excluded","ExpandablePanel","defaultOpen","contentStyle","padding","marginTop","marginBottom","Stack","space","lang","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","htmlToEditorState","html","convertFromHTML","editorStateToHtml","convertToHTML"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rich-text-editor.cjs.development.js","sources":["../src/withI18n.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.js","../src/events.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/Controls/InlineStyleControls.js","../src/RichTextEditor/Controls/TagControls.js","../src/RichTextEditor/Link/index.js","../src/RichTextEditor/constants.js","../src/RichTextEditor/index.js","../src/RichTextEditor/markdownConvertion.js","../src/ExpandableMultiLanguageRichTextEditor.tsx","../src/RichTextEditor/htmlConvertion.js"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nfunction useI18N() {\n const {\n t,\n i18n: { language },\n } = useTranslation();\n\n if (language !== 'nb' && language !== 'en') {\n throw Error('Language must be either nb or en.');\n }\n\n return t;\n}\n\nexport function withI18n(Component) {\n return function WrappedComponent(props) {\n const t = useI18N();\n return <Component {...props} i18n={t} />;\n };\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\nimport { withI18n } from '../../withI18n';\n\nclass BlockTypeDropdown extends Component {\n handleOnClick = (selectedOption) => {\n const { onChange } = this.props;\n onChange(selectedOption);\n };\n\n toItem(option) {\n return {\n value: option.style,\n label: this.renderFormattedLabel(option.label),\n };\n }\n\n renderFormattedLabel(label) {\n const formattedLabelText = this.props.i18n(label);\n switch (label) {\n case 'styles.p':\n return <div className=\"default-p\">{formattedLabelText}</div>;\n case 'styles.h1':\n return <div className=\"default-h1\">{formattedLabelText}</div>;\n case 'styles.h2':\n return <div className=\"default-h2\">{formattedLabelText}</div>;\n case 'styles.h3':\n return <div className=\"default-h3\">{formattedLabelText}</div>;\n case 'styles.h4':\n return <div className=\"default-h4\">{formattedLabelText}</div>;\n case 'styles.h5':\n return <div className=\"default-h5\">{formattedLabelText}</div>;\n case 'styles.h6':\n return <div className=\"default-h6\">{formattedLabelText}</div>;\n default:\n return <p>{formattedLabelText}</p>;\n }\n }\n\n render() {\n const { options, selected, i18n } = this.props;\n\n return (\n <Dropdown\n className=\"block-type-dropdown\"\n items={options.map((option) => this.toItem(option))}\n selectedItem={this.toItem(selected)}\n label={i18n('styles.style')}\n onChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n />\n );\n }\n}\n\nexport default withI18n(BlockTypeDropdown);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport BlockTypeDropdown from '../BlockTypeDropdown';\n\nconst BlockTypeControls = ({ editorState, blockTypes, onToggle }) => {\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n const selectedOption =\n blockTypes.find((option) => option.style === blockTypeStyle) ||\n blockTypes[0];\n\n return (\n <BlockTypeDropdown\n options={blockTypes}\n selected={selectedOption}\n onChange={onToggle}\n />\n );\n};\n\nexport default BlockTypeControls;\n","export const Key = Object.freeze({\n ENTER: 13,\n});\n\nexport function getKey(event) {\n return event.keyCode || event.which;\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass StyleButton extends Component {\n onToggle = (e) => {\n const { style, onToggle } = this.props;\n e.preventDefault();\n onToggle(style);\n };\n\n onToggleNoEvent = () => {\n const { style, onToggle } = this.props;\n onToggle(style);\n };\n\n render() {\n const { i18n, active, label, title, hotKey } = this.props;\n\n const classNames = cx('editor-stylebutton', { active });\n\n return (\n <div\n className={classNames}\n onMouseDown={this.onToggle}\n title={i18n(title) + hotKey}\n tabIndex={0}\n onKeyPress={(event) => {\n if (getKey(event) === Key.ENTER) {\n this.onToggleNoEvent();\n }\n }}\n >\n {label}\n </div>\n );\n }\n}\n\nexport default withI18n(StyleButton);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst BlockTypeButtonControls = (props) => {\n const { editorState, blockTypes, onToggle } = props;\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n return (\n <div className=\"controls-group block-editor-controls\">\n {blockTypes.map((type, i) => (\n <StyleButton\n key={i}\n active={type.style === blockTypeStyle}\n label={type.label}\n onToggle={onToggle}\n style={type.style}\n title={type.tooltip}\n />\n ))}\n </div>\n );\n};\n\nexport default BlockTypeButtonControls;\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { EditorState } from 'draft-js';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@entur/form';\nimport { UnlinkIcon, LinkIcon, CheckIcon, CloseIcon } from '@entur/icons';\nimport { Unbutton } from '@entur-partner/common';\nimport { SecondarySquareButton } from '@entur/button';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass BlockTypeLinkControls extends Component {\n state = {\n urlValue: '',\n showUrlInput: false,\n hasLink: false,\n };\n\n onUrlChange = (e) => {\n this.setState({ urlValue: e.target.value });\n };\n\n addLink = (e) => {\n e.preventDefault();\n const { editorState } = this.props;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n let url = '';\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n }\n\n this.setState({\n showUrlInput: true,\n urlValue: url,\n hasLink: !!url,\n });\n }\n };\n\n confirmLink = (e) => {\n e.preventDefault();\n const { urlValue } = this.state;\n const { editorState, onToggle } = this.props;\n const contentState = editorState.getCurrentContent();\n const contentStateWithEntity = contentState.createEntity(\n 'LINK',\n 'MUTABLE',\n { url: urlValue }\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n onToggle(newEditorState, entityKey);\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n cancelLink = (e) => {\n e.preventDefault();\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n onLinkInputKeyDown = (e) => {\n if (getKey(e) === Key.ENTER) {\n this.confirmLink(e);\n }\n };\n\n removeLink = (e) => {\n e.preventDefault();\n const { editorState, onToggle } = this.props;\n const { hasLink } = this.state;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed() && hasLink) {\n onToggle(editorState, null);\n this.setState({\n showUrlInput: false,\n });\n }\n };\n\n render() {\n const { i18n } = this.props;\n const { showUrlInput, hasLink } = this.state;\n return (\n <div className=\"controls-group block-editor-controls link-controls\">\n <div\n className=\"editor-stylebutton\"\n title={i18n('styles.link')}\n onClick={this.addLink}\n tabIndex={0}\n >\n <LinkIcon />\n </div>\n\n {showUrlInput && (\n <div className=\"url-input-container\">\n <span className=\"exit-button\" onMouseDown={this.cancelLink}>\n <CloseIcon />\n </span>\n <div className=\"link-label\">{i18n('common.from')}</div>\n <div className=\"url-input-form\">\n <TextField\n style={{ width: 250, margin: 5 }}\n onChange={this.onUrlChange}\n value={this.state.urlValue}\n onKeyDown={this.onLinkInputKeyDown}\n placeholder=\"https://example.com\"\n />\n <SecondarySquareButton onMouseDown={this.confirmLink}>\n <CheckIcon width={15} height={15} />\n </SecondarySquareButton>\n </div>\n {hasLink && (\n <div className=\"remove-link\">\n <Unbutton\n onClick={this.removeLink}\n title={i18n('styles.unlink')}\n >\n <UnlinkIcon />\n {i18n('styles.unlink')}\n </Unbutton>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\nBlockTypeLinkControls.propTypes = {\n editorState: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst InlineStyleControls = (props) => {\n const { editorState, inlineStyles } = props;\n\n const currentStyle = editorState.getCurrentInlineStyle();\n\n return (\n <div className=\"controls-group inline-editor-controls\">\n {inlineStyles.map((type, i) => (\n <StyleButton\n key={i}\n active={currentStyle.has(type.style)}\n label={type.label}\n onToggle={props.onToggle}\n style={type.style}\n title={type.tooltip}\n hotKey={type.hotKey}\n />\n ))}\n </div>\n );\n};\n\nexport default InlineStyleControls;\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover } from '@entur/tooltip';\nimport { OverflowMenuItem, OverflowMenu } from '@entur/menu';\nimport { DownArrowIcon } from '@entur/icons';\n\nimport { withI18n } from '../../withI18n';\n\nclass TagControls extends Component {\n tagControlRef = createRef();\n state = { isOpen: false };\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (e) => {\n if (\n this.tagControlRef &&\n this.tagControlRef.current &&\n !this.tagControlRef.current.contains(e.target)\n ) {\n this.setState({ isOpen: false });\n }\n };\n\n handleTagClick = (tag, delimiter) => {\n const { editorState, onInsertTag } = this.props;\n const delimiterStart = delimiter[0];\n const delimiterEnd = delimiter[1];\n const fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n onInsertTag(editorState, fullTag);\n };\n\n render() {\n const { i18n, tags } = this.props;\n const { isOpen } = this.state;\n const menuItems = tags.map((tag, i) => {\n const delimiter = tag.delimiter || '{}';\n return (\n <OverflowMenuItem\n key={i}\n className=\"tag-control\"\n id={'tag-control-' + tag.tag}\n onClick={() => this.handleTagClick(tag.tag, delimiter)}\n >\n {tag.icon}\n <span className=\"tag-control-text\">{tag.label}</span>\n </OverflowMenuItem>\n );\n });\n\n return (\n <div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n <div\n className=\"tag-control-header\"\n onClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n >\n {i18n('common.insert')}\n <DownArrowIcon className=\"tag-control-chevron\" inline />\n </div>\n <Popover open={isOpen} className=\"tag-control-content\">\n <OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n </Popover>\n </div>\n );\n }\n}\n\nTagControls.propTypes = {\n editorState: PropTypes.object,\n tags: PropTypes.arrayOf(PropTypes.object).isRequired,\n onInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from 'react';\n\nexport const HtmlLink = ({ url, children }) => {\n return <a href={url}>{children}</a>;\n};\n\nconst Link = (props) => {\n const { url } = props.contentState.getEntity(props.entityKey).getData();\n return <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback);\n}\n\nexport default Link;\n","import React from 'react';\nimport {\n BoldIcon,\n ItalicIcon,\n UnderlineIcon,\n BulletListIcon,\n NumberListIcon,\n} from '@entur/icons';\nimport { CompositeDecorator } from 'draft-js';\n\nimport Link, { findLinkEntities } from './Link';\n\nexport const EditorConfigTypes = Object.freeze({\n FONT_LIST: {\n UNSTYLED: 'unstyled',\n HEADER_ONE: 'header-one',\n HEADER_TWO: 'header-two',\n HEADER_THREE: 'header-three',\n HEADER_FOUR: 'header-four',\n HEADER_FIVE: 'header-five',\n HEADER_SIX: 'header-six',\n },\n BLOCK_TYPES: {\n UNORDERED_LIST: 'unordered-list',\n ORDERED_LIST: 'ordered-list',\n },\n INLINE_STYLES: {\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n },\n});\n\nexport const FontList = Object.freeze({\n unstyled: { label: 'styles.p', style: 'unstyled' },\n 'header-one': { label: 'styles.h1', style: 'header-one' },\n 'header-two': { label: 'styles.h2', style: 'header-two' },\n 'header-three': { label: 'styles.h3', style: 'header-three' },\n 'header-four': { label: 'styles.h4', style: 'header-four' },\n 'header-five': { label: 'styles.h5', style: 'header-five' },\n 'header-six': { label: 'styles.h6', style: 'header-six' },\n});\n\nexport const BlockTypeList = Object.freeze({\n 'unordered-list': {\n label: <BulletListIcon />,\n style: 'unordered-list-item',\n tooltip: 'styles.unordered_list_item',\n },\n 'ordered-list': {\n label: <NumberListIcon />,\n style: 'ordered-list-item',\n tooltip: 'styles.ordered_list_item',\n },\n});\n\nexport const InlineStylesList = Object.freeze({\n bold: {\n label: <BoldIcon />,\n style: 'BOLD',\n tooltip: 'styles.bold',\n hotKey: '(Ctrl+B)',\n },\n italic: {\n label: <ItalicIcon />,\n style: 'ITALIC',\n tooltip: 'styles.italic',\n hotKey: '(Ctrl+I)',\n },\n underline: {\n label: <UnderlineIcon />,\n style: 'UNDERLINE',\n tooltip: 'styles.underline',\n hotKey: '(Ctrl+U)',\n },\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n fontList: [\n { type: 'unstyled', label: 'styles.p', style: 'unstyled' },\n { type: 'header-two', label: 'styles.h1', style: 'header-two' },\n ],\n blockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: [\n EditorConfigTypes.INLINE_STYLES.BOLD,\n EditorConfigTypes.INLINE_STYLES.ITALIC,\n ],\n});\nexport const decorator = new CompositeDecorator([\n {\n strategy: findLinkEntities,\n component: Link,\n },\n]);\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport {\n Editor,\n EditorState,\n Modifier,\n RichUtils,\n getDefaultKeyBinding,\n} from 'draft-js';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Label } from '@entur/typography';\n\nimport BlockTypeSelectControls from './Controls/BlockTypeSelectControls';\nimport BlockTypeButtonControls from './Controls/BlockTypeButtonControls';\nimport BlockTypeLinkControls from './Controls/BlockTypeLinkControls';\nimport InlineStyleControls from './Controls/InlineStyleControls';\nimport TagControls from './Controls/TagControls';\nimport {\n BlockTypeList,\n EditorConfigTypes,\n FontList,\n InlineStylesList,\n decorator,\n} from './constants';\n\nclass RichTextEditor extends Component {\n static decorator = decorator;\n\n wrapperRef = createRef();\n editor = createRef();\n\n focusEditor() {\n this.editor.current && this.editor.current.focus();\n }\n\n handleKeyCommand = (command, editorState) => {\n const newState = RichUtils.handleKeyCommand(editorState, command);\n if (newState) {\n this.props.onChange(newState);\n return true;\n }\n return false;\n };\n\n keyBindingFn = (evt) => {\n switch (evt.keyCode) {\n case 9:\n return this.onTab(evt);\n default:\n return getDefaultKeyBinding(evt);\n }\n };\n\n onTab = (evt) => {\n evt.stopPropagation();\n const { maxTabDepth, editorState, onChange } = this.props;\n onChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n };\n\n toggleButtonBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleSelectBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleInlineStyle = (inlineStyle) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n };\n\n toggleLink = (newEditorState, entityKey) => {\n this.props.onChange(\n RichUtils.toggleLink(\n newEditorState,\n newEditorState.getSelection(),\n entityKey\n )\n );\n };\n\n insertText = (editorState, text) => {\n const newContent = Modifier.insertText(\n editorState.getCurrentContent(),\n editorState.getSelection(),\n text\n );\n this.props.onChange(\n EditorState.push(editorState, newContent, 'insert-characters'),\n () => this.focusEditor()\n );\n };\n\n getFontListConfigForPanelType = (panelType) => {\n const controlConfig = this.getControlConfigBySet(\n this.props.controlConfigSet\n );\n return controlConfig[panelType];\n };\n\n getControlConfigBySet = (config) => {\n const fontList = ((config && config.fontList) || Object.keys(FontList))\n .filter((f) => (typeof f === 'object' ? FontList[f.type] : FontList[f]))\n .map((f) => (f.label && f.style ? f : FontList[f]));\n const blockTypes = (\n (config && config.blockTypes) ||\n Object.keys(BlockTypeList)\n )\n .filter((f) =>\n typeof f === 'object' ? BlockTypeList[f.type] : BlockTypeList[f]\n )\n .map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n const inlineStyles = (\n (config && config.inlineStyles) ||\n Object.keys(InlineStylesList)\n )\n .filter((f) =>\n typeof f === 'object' ? InlineStylesList[f.type] : InlineStylesList[f]\n )\n .map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n return {\n fontList,\n blockTypes,\n inlineStyles,\n };\n };\n\n render() {\n const {\n className,\n showFontMenu,\n showInlineStyleMenu,\n showTextFormatMenu,\n showLinkMenu,\n label,\n tags,\n editorState,\n onChange,\n handleBeforeInput,\n } = this.props;\n\n const classNames = cx('editor-root', className);\n\n return (\n <div ref={this.wrapperRef}>\n {label && <Label>{label}</Label>}\n\n <div className={classNames}>\n <div className=\"controls-wrapper\">\n {showFontMenu && (\n <BlockTypeSelectControls\n editorState={editorState}\n onToggle={this.toggleSelectBlockType}\n blockTypes={this.getFontListConfigForPanelType('fontList')}\n />\n )}\n {showInlineStyleMenu && (\n <InlineStyleControls\n editorState={editorState}\n onToggle={this.toggleInlineStyle}\n inlineStyles={this.getFontListConfigForPanelType(\n 'inlineStyles'\n )}\n />\n )}\n {showTextFormatMenu && (\n <BlockTypeButtonControls\n editorState={editorState}\n onToggle={this.toggleButtonBlockType}\n blockTypes={this.getFontListConfigForPanelType('blockTypes')}\n />\n )}\n {showLinkMenu && (\n <BlockTypeLinkControls\n editorState={editorState}\n onToggle={this.toggleLink}\n />\n )}\n {tags && tags.length > 0 && (\n <TagControls\n editorState={editorState}\n tags={tags}\n onInsertTag={this.insertText}\n />\n )}\n </div>\n\n <div className=\"editor-wrapper\">\n <Editor\n ref={this.editor}\n editorState={editorState}\n handleKeyCommand={this.handleKeyCommand}\n onChange={onChange}\n handleBeforeInput={handleBeforeInput}\n keyBindingFn={this.keyBindingFn}\n spellCheck\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styleShape = (configList) =>\n PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([...Object.values(configList)]),\n label: PropTypes.string,\n style: PropTypes.string,\n tooltip: PropTypes.string,\n hotKey: PropTypes.string,\n })\n ),\n ]);\n\nRichTextEditor.propTypes = {\n editorState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n maxTabDepth: PropTypes.number,\n showFontMenu: PropTypes.bool,\n showInlineStyleMenu: PropTypes.bool,\n showTextFormatMenu: PropTypes.bool,\n showLinkMenu: PropTypes.bool,\n label: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.object),\n controlConfigSet: PropTypes.shape({\n fontList: styleShape(EditorConfigTypes.FONT_LIST),\n blockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n }),\n};\nRichTextEditor.defaultProps = {\n maxTabDepth: 4,\n showFontMenu: true,\n showInlineStyleMenu: true,\n showTextFormatMenu: true,\n showLinkMenu: true,\n label: '',\n};\n\nexport default RichTextEditor;\n","import { markdownToDraft, draftToMarkdown } from 'markdown-draft-js';\nimport { convertToRaw, convertFromRaw, EditorState } from 'draft-js';\nimport showdown from 'showdown';\n\nimport { decorator } from './constants';\n\nexport const editorStateToMarkdown = (editorState) => {\n const rawState = convertToRaw(editorState.getCurrentContent());\n return draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n if (!markdown) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = markdownToDraft(markdown, { preserveNewlines: true });\n const contentState = convertFromRaw(rawState);\n return EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n underline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n return converter.makeHtml(markdown);\n};\n","import React, { useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { ExpandablePanel } from '@entur/expand';\nimport {\n LanguageKey,\n LanguageOption,\n MultiLanguageValues,\n Stack,\n} from '@entur-partner/common';\nimport { FeedbackText, VariantType } from '@entur/form';\n\nimport {\n editorStateToMarkdown,\n markdownToEditorState,\n} from './RichTextEditor/markdownConvertion';\nimport RichTextEditor from './RichTextEditor';\nimport { MinifiedConfigTypes } from './RichTextEditor/constants';\n\ntype MultiLanguageInputProps = {\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n tags?: {\n tag: string;\n delimiter: string;\n label: string;\n }[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n language: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n language: { value: langKey, label, required },\n values,\n onChange,\n variant,\n feedback,\n tags,\n}: RichTextEditorForLanguageProps) => {\n const [editorState, setEditorState] = useState<EditorState>(\n markdownToEditorState(values[langKey])\n );\n\n const handleOnChange = (changedState: EditorState) => {\n const newValues = { ...values };\n const content = editorStateToMarkdown(changedState);\n if (values[langKey] && content === '\\n') {\n delete newValues[langKey];\n } else {\n newValues[langKey] = content;\n }\n\n setEditorState(changedState);\n onChange(newValues);\n };\n\n const feedbackText = feedback && feedback(langKey);\n\n return (\n <>\n <RichTextEditor\n label={required ? label + '*' : label}\n editorState={editorState}\n onChange={(changedState: EditorState) => handleOnChange(changedState)}\n controlConfigSet={MinifiedConfigTypes}\n tags={tags}\n />\n {variant && feedbackText?.length! > 0 && (\n <FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n )}\n </>\n );\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n name: string;\n title: string;\n languages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n name,\n title,\n languages,\n ...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map((lang) => (\n <div\n key={name + lang.value}\n data-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n >\n <RichTextEditorForLanguage language={lang} {...rest} />\n </div>\n ))}\n </Stack>\n </ExpandablePanel>\n);\n","import React from 'react';\nimport { EditorState } from 'draft-js';\nimport { convertFromHTML, convertToHTML } from 'draft-convert';\n\nimport { HtmlLink } from './Link';\nimport { decorator } from './constants';\n\n/* eslint-disable react/display-name */\n\nexport const entityToHtml = {\n entityToHTML: (entity, originalText) => {\n if (entity.type === 'LINK') {\n return <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n }\n return originalText;\n },\n};\n\nexport const htmlToEntity = {\n htmlToEntity: (nodeName, node, createEntity) => {\n if (nodeName === 'a') {\n return createEntity('LINK', 'MUTABLE', { url: node.href });\n }\n },\n};\n\n/* eslint-disable react/display-name */\n\nexport const htmlToEditorState = (html) => {\n if (!html) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = convertFromHTML(htmlToEntity)(html);\n return EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n return convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["useI18N","_useTranslation","useTranslation","t","language","i18n","Error","withI18n","Component","WrappedComponent","props","React","createElement","_extends","BlockTypeDropdown","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","handleOnClick","selectedOption","onChange","_inheritsLoose","_proto","prototype","toItem","option","value","style","label","renderFormattedLabel","formattedLabelText","className","render","_this2","_this$props","options","selected","Dropdown","items","map","selectedItem","BlockTypeControls","_ref","editorState","blockTypes","onToggle","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","find","Key","Object","freeze","ENTER","getKey","event","keyCode","which","StyleButton","e","preventDefault","onToggleNoEvent","_this$props2","_this$props3","active","title","hotKey","classNames","cx","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","type","i","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","addLink","isCollapsed","currentContent","startKey","startOffset","getStartOffset","blockWithLinkAtBeginning","linkKey","getEntityAt","url","linkInstance","getEntity","getData","confirmLink","contentState","contentStateWithEntity","createEntity","entityKey","getLastCreatedEntityKey","newEditorState","EditorState","set","cancelLink","onLinkInputKeyDown","removeLink","_this$state","onClick","LinkIcon","CloseIcon","TextField","width","margin","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","InlineStyleControls","inlineStyles","currentStyle","getCurrentInlineStyle","has","TagControls","tagControlRef","createRef","isOpen","handleClickOutside","current","contains","handleTagClick","tag","delimiter","onInsertTag","delimiterStart","delimiterEnd","fullTag","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","tags","menuItems","OverflowMenuItem","id","icon","ref","DownArrowIcon","inline","Popover","open","OverflowMenu","arrayOf","isRequired","HtmlLink","children","href","Link","_props$contentState$g","findLinkEntities","contentBlock","callback","findEntityRanges","character","EditorConfigTypes","FONT_LIST","UNSTYLED","HEADER_ONE","HEADER_TWO","HEADER_THREE","HEADER_FOUR","HEADER_FIVE","HEADER_SIX","BLOCK_TYPES","UNORDERED_LIST","ORDERED_LIST","INLINE_STYLES","BOLD","ITALIC","UNDERLINE","FontList","unstyled","BlockTypeList","BulletListIcon","NumberListIcon","InlineStylesList","bold","BoldIcon","italic","ItalicIcon","underline","UnderlineIcon","MinifiedConfigTypes","fontList","values","decorator","CompositeDecorator","strategy","component","RichTextEditor","wrapperRef","editor","handleKeyCommand","command","newState","RichUtils","keyBindingFn","evt","onTab","getDefaultKeyBinding","stopPropagation","maxTabDepth","toggleButtonBlockType","blockType","toggleBlockType","toggleSelectBlockType","toggleInlineStyle","inlineStyle","_this$props4","toggleLink","insertText","text","newContent","Modifier","push","focusEditor","getFontListConfigForPanelType","panelType","controlConfig","getControlConfigBySet","controlConfigSet","config","keys","filter","f","focus","_this$props5","showFontMenu","showInlineStyleMenu","showTextFormatMenu","showLinkMenu","handleBeforeInput","Label","BlockTypeSelectControls","Editor","spellCheck","styleShape","configList","oneOfType","oneOf","shape","string","number","bool","defaultProps","editorStateToMarkdown","rawState","convertToRaw","draftToMarkdown","preserveNewlines","markdownToEditorState","markdown","createEmpty","markdownToDraft","convertFromRaw","createWithContent","converter","showdown","Converter","markdownToHtml","makeHtml","RichTextEditorForLanguage","_ref$language","langKey","required","variant","feedback","_useState","useState","setEditorState","handleOnChange","changedState","newValues","content","feedbackText","Fragment","FeedbackText","ExpandableMultiLanguageRichTextEditor","_ref2","name","languages","rest","_objectWithoutPropertiesLoose","_excluded","ExpandablePanel","defaultOpen","contentStyle","padding","marginTop","marginBottom","Stack","space","lang","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","htmlToEditorState","html","convertFromHTML","editorStateToHtml","convertToHTML"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor.cjs.production.min.js","sources":["../src/withI18n.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.js","../src/events.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/Controls/InlineStyleControls.js","../src/RichTextEditor/Controls/TagControls.js","../src/RichTextEditor/Link/index.js","../src/RichTextEditor/constants.js","../src/RichTextEditor/index.js","../src/RichTextEditor/markdownConvertion.js","../src/ExpandableMultiLanguageRichTextEditor.tsx","../src/RichTextEditor/htmlConvertion.js"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nfunction useI18N() {\n const {\n t,\n i18n: { language },\n } = useTranslation();\n\n if (language !== 'nb' && language !== 'en') {\n throw Error('Language must be either nb or en.');\n }\n\n return t;\n}\n\nexport function withI18n(Component) {\n return function WrappedComponent(props) {\n const t = useI18N();\n return <Component {...props} i18n={t} />;\n };\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\nimport { withI18n } from '../../withI18n';\n\nclass BlockTypeDropdown extends Component {\n handleOnClick = (selectedOption) => {\n const { onChange } = this.props;\n onChange(selectedOption);\n };\n\n toItem(option) {\n return {\n value: option.style,\n label: this.renderFormattedLabel(option.label),\n };\n }\n\n renderFormattedLabel(label) {\n const formattedLabelText = this.props.i18n(label);\n switch (label) {\n case 'styles.p':\n return <div className=\"default-p\">{formattedLabelText}</div>;\n case 'styles.h1':\n return <div className=\"default-h1\">{formattedLabelText}</div>;\n case 'styles.h2':\n return <div className=\"default-h2\">{formattedLabelText}</div>;\n case 'styles.h3':\n return <div className=\"default-h3\">{formattedLabelText}</div>;\n case 'styles.h4':\n return <div className=\"default-h4\">{formattedLabelText}</div>;\n case 'styles.h5':\n return <div className=\"default-h5\">{formattedLabelText}</div>;\n case 'styles.h6':\n return <div className=\"default-h6\">{formattedLabelText}</div>;\n default:\n return <p>{formattedLabelText}</p>;\n }\n }\n\n render() {\n const { options, selected, i18n } = this.props;\n\n return (\n <Dropdown\n className=\"block-type-dropdown\"\n items={options.map((option) => this.toItem(option))}\n selectedItem={this.toItem(selected)}\n label={i18n('styles.style')}\n onChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n />\n );\n }\n}\n\nexport default withI18n(BlockTypeDropdown);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport BlockTypeDropdown from '../BlockTypeDropdown';\n\nconst BlockTypeControls = ({ editorState, blockTypes, onToggle }) => {\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n const selectedOption =\n blockTypes.find((option) => option.style === blockTypeStyle) ||\n blockTypes[0];\n\n return (\n <BlockTypeDropdown\n options={blockTypes}\n selected={selectedOption}\n onChange={onToggle}\n />\n );\n};\n\nexport default BlockTypeControls;\n","export const Key = Object.freeze({\n ENTER: 13,\n});\n\nexport function getKey(event) {\n return event.keyCode || event.which;\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass StyleButton extends Component {\n onToggle = (e) => {\n const { style, onToggle } = this.props;\n e.preventDefault();\n onToggle(style);\n };\n\n onToggleNoEvent = () => {\n const { style, onToggle } = this.props;\n onToggle(style);\n };\n\n render() {\n const { i18n, active, label, title, hotKey } = this.props;\n\n const classNames = cx('editor-stylebutton', { active });\n\n return (\n <div\n className={classNames}\n onMouseDown={this.onToggle}\n title={i18n(title) + hotKey}\n tabIndex={0}\n onKeyPress={(event) => {\n if (getKey(event) === Key.ENTER) {\n this.onToggleNoEvent();\n }\n }}\n >\n {label}\n </div>\n );\n }\n}\n\nexport default withI18n(StyleButton);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst BlockTypeButtonControls = (props) => {\n const { editorState, blockTypes, onToggle } = props;\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n return (\n <div className=\"controls-group block-editor-controls\">\n {blockTypes.map((type, i) => (\n <StyleButton\n key={i}\n active={type.style === blockTypeStyle}\n label={type.label}\n onToggle={onToggle}\n style={type.style}\n title={type.tooltip}\n />\n ))}\n </div>\n );\n};\n\nexport default BlockTypeButtonControls;\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { EditorState } from 'draft-js';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@entur/form';\nimport { UnlinkIcon, LinkIcon, CheckIcon, CloseIcon } from '@entur/icons';\nimport { Unbutton } from '@entur-partner/common';\nimport { SecondarySquareButton } from '@entur/button';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass BlockTypeLinkControls extends Component {\n state = {\n urlValue: '',\n showUrlInput: false,\n hasLink: false,\n };\n\n onUrlChange = (e) => {\n this.setState({ urlValue: e.target.value });\n };\n\n addLink = (e) => {\n e.preventDefault();\n const { editorState } = this.props;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n let url = '';\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n }\n\n this.setState({\n showUrlInput: true,\n urlValue: url,\n hasLink: !!url,\n });\n }\n };\n\n confirmLink = (e) => {\n e.preventDefault();\n const { urlValue } = this.state;\n const { editorState, onToggle } = this.props;\n const contentState = editorState.getCurrentContent();\n const contentStateWithEntity = contentState.createEntity(\n 'LINK',\n 'MUTABLE',\n { url: urlValue }\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n onToggle(newEditorState, entityKey);\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n cancelLink = (e) => {\n e.preventDefault();\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n onLinkInputKeyDown = (e) => {\n if (getKey(e) === Key.ENTER) {\n this.confirmLink(e);\n }\n };\n\n removeLink = (e) => {\n e.preventDefault();\n const { editorState, onToggle } = this.props;\n const { hasLink } = this.state;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed() && hasLink) {\n onToggle(editorState, null);\n this.setState({\n showUrlInput: false,\n });\n }\n };\n\n render() {\n const { i18n } = this.props;\n const { showUrlInput, hasLink } = this.state;\n return (\n <div className=\"controls-group block-editor-controls link-controls\">\n <div\n className=\"editor-stylebutton\"\n title={i18n('styles.link')}\n onClick={this.addLink}\n tabIndex={0}\n >\n <LinkIcon />\n </div>\n\n {showUrlInput && (\n <div className=\"url-input-container\">\n <span className=\"exit-button\" onMouseDown={this.cancelLink}>\n <CloseIcon />\n </span>\n <div className=\"link-label\">{i18n('common.from')}</div>\n <div className=\"url-input-form\">\n <TextField\n style={{ width: 250, margin: 5 }}\n onChange={this.onUrlChange}\n value={this.state.urlValue}\n onKeyDown={this.onLinkInputKeyDown}\n placeholder=\"https://example.com\"\n />\n <SecondarySquareButton onMouseDown={this.confirmLink}>\n <CheckIcon width={15} height={15} />\n </SecondarySquareButton>\n </div>\n {hasLink && (\n <div className=\"remove-link\">\n <Unbutton\n onClick={this.removeLink}\n title={i18n('styles.unlink')}\n >\n <UnlinkIcon />\n {i18n('styles.unlink')}\n </Unbutton>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\nBlockTypeLinkControls.propTypes = {\n editorState: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst InlineStyleControls = (props) => {\n const { editorState, inlineStyles } = props;\n\n const currentStyle = editorState.getCurrentInlineStyle();\n\n return (\n <div className=\"controls-group inline-editor-controls\">\n {inlineStyles.map((type, i) => (\n <StyleButton\n key={i}\n active={currentStyle.has(type.style)}\n label={type.label}\n onToggle={props.onToggle}\n style={type.style}\n title={type.tooltip}\n hotKey={type.hotKey}\n />\n ))}\n </div>\n );\n};\n\nexport default InlineStyleControls;\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover } from '@entur/tooltip';\nimport { OverflowMenuItem, OverflowMenu } from '@entur/menu';\nimport { DownArrowIcon } from '@entur/icons';\n\nimport { withI18n } from '../../withI18n';\n\nclass TagControls extends Component {\n tagControlRef = createRef();\n state = { isOpen: false };\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (e) => {\n if (\n this.tagControlRef &&\n this.tagControlRef.current &&\n !this.tagControlRef.current.contains(e.target)\n ) {\n this.setState({ isOpen: false });\n }\n };\n\n handleTagClick = (tag, delimiter) => {\n const { editorState, onInsertTag } = this.props;\n const delimiterStart = delimiter[0];\n const delimiterEnd = delimiter[1];\n const fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n onInsertTag(editorState, fullTag);\n };\n\n render() {\n const { i18n, tags } = this.props;\n const { isOpen } = this.state;\n const menuItems = tags.map((tag, i) => {\n const delimiter = tag.delimiter || '{}';\n return (\n <OverflowMenuItem\n key={i}\n className=\"tag-control\"\n id={'tag-control-' + tag.tag}\n onClick={() => this.handleTagClick(tag.tag, delimiter)}\n >\n {tag.icon}\n <span className=\"tag-control-text\">{tag.label}</span>\n </OverflowMenuItem>\n );\n });\n\n return (\n <div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n <div\n className=\"tag-control-header\"\n onClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n >\n {i18n('common.insert')}\n <DownArrowIcon className=\"tag-control-chevron\" inline />\n </div>\n <Popover open={isOpen} className=\"tag-control-content\">\n <OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n </Popover>\n </div>\n );\n }\n}\n\nTagControls.propTypes = {\n editorState: PropTypes.object,\n tags: PropTypes.arrayOf(PropTypes.object).isRequired,\n onInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from 'react';\n\nexport const HtmlLink = ({ url, children }) => {\n return <a href={url}>{children}</a>;\n};\n\nconst Link = (props) => {\n const { url } = props.contentState.getEntity(props.entityKey).getData();\n return <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback);\n}\n\nexport default Link;\n","import React from 'react';\nimport {\n BoldIcon,\n ItalicIcon,\n UnderlineIcon,\n BulletListIcon,\n NumberListIcon,\n} from '@entur/icons';\nimport { CompositeDecorator } from 'draft-js';\n\nimport Link, { findLinkEntities } from './Link';\n\nexport const EditorConfigTypes = Object.freeze({\n FONT_LIST: {\n UNSTYLED: 'unstyled',\n HEADER_ONE: 'header-one',\n HEADER_TWO: 'header-two',\n HEADER_THREE: 'header-three',\n HEADER_FOUR: 'header-four',\n HEADER_FIVE: 'header-five',\n HEADER_SIX: 'header-six',\n },\n BLOCK_TYPES: {\n UNORDERED_LIST: 'unordered-list',\n ORDERED_LIST: 'ordered-list',\n },\n INLINE_STYLES: {\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n },\n});\n\nexport const FontList = Object.freeze({\n unstyled: { label: 'styles.p', style: 'unstyled' },\n 'header-one': { label: 'styles.h1', style: 'header-one' },\n 'header-two': { label: 'styles.h2', style: 'header-two' },\n 'header-three': { label: 'styles.h3', style: 'header-three' },\n 'header-four': { label: 'styles.h4', style: 'header-four' },\n 'header-five': { label: 'styles.h5', style: 'header-five' },\n 'header-six': { label: 'styles.h6', style: 'header-six' },\n});\n\nexport const BlockTypeList = Object.freeze({\n 'unordered-list': {\n label: <BulletListIcon />,\n style: 'unordered-list-item',\n tooltip: 'styles.unordered_list_item',\n },\n 'ordered-list': {\n label: <NumberListIcon />,\n style: 'ordered-list-item',\n tooltip: 'styles.ordered_list_item',\n },\n});\n\nexport const InlineStylesList = Object.freeze({\n bold: {\n label: <BoldIcon />,\n style: 'BOLD',\n tooltip: 'styles.bold',\n hotKey: '(Ctrl+B)',\n },\n italic: {\n label: <ItalicIcon />,\n style: 'ITALIC',\n tooltip: 'styles.italic',\n hotKey: '(Ctrl+I)',\n },\n underline: {\n label: <UnderlineIcon />,\n style: 'UNDERLINE',\n tooltip: 'styles.underline',\n hotKey: '(Ctrl+U)',\n },\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n fontList: [\n { type: 'unstyled', label: 'styles.p', style: 'unstyled' },\n { type: 'header-two', label: 'styles.h1', style: 'header-two' },\n ],\n blockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: [\n EditorConfigTypes.INLINE_STYLES.BOLD,\n EditorConfigTypes.INLINE_STYLES.ITALIC,\n ],\n});\nexport const decorator = new CompositeDecorator([\n {\n strategy: findLinkEntities,\n component: Link,\n },\n]);\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport {\n Editor,\n EditorState,\n Modifier,\n RichUtils,\n getDefaultKeyBinding,\n} from 'draft-js';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Label } from '@entur/typography';\n\nimport BlockTypeSelectControls from './Controls/BlockTypeSelectControls';\nimport BlockTypeButtonControls from './Controls/BlockTypeButtonControls';\nimport BlockTypeLinkControls from './Controls/BlockTypeLinkControls';\nimport InlineStyleControls from './Controls/InlineStyleControls';\nimport TagControls from './Controls/TagControls';\nimport {\n BlockTypeList,\n EditorConfigTypes,\n FontList,\n InlineStylesList,\n decorator,\n} from './constants';\n\nclass RichTextEditor extends Component {\n static decorator = decorator;\n\n wrapperRef = createRef();\n editor = createRef();\n\n focusEditor() {\n this.editor.current && this.editor.current.focus();\n }\n\n handleKeyCommand = (command, editorState) => {\n const newState = RichUtils.handleKeyCommand(editorState, command);\n if (newState) {\n this.props.onChange(newState);\n return true;\n }\n return false;\n };\n\n keyBindingFn = (evt) => {\n switch (evt.keyCode) {\n case 9:\n return this.onTab(evt);\n default:\n return getDefaultKeyBinding(evt);\n }\n };\n\n onTab = (evt) => {\n evt.stopPropagation();\n const { maxTabDepth, editorState, onChange } = this.props;\n onChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n };\n\n toggleButtonBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleSelectBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleInlineStyle = (inlineStyle) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n };\n\n toggleLink = (newEditorState, entityKey) => {\n this.props.onChange(\n RichUtils.toggleLink(\n newEditorState,\n newEditorState.getSelection(),\n entityKey\n )\n );\n };\n\n insertText = (editorState, text) => {\n const newContent = Modifier.insertText(\n editorState.getCurrentContent(),\n editorState.getSelection(),\n text\n );\n this.props.onChange(\n EditorState.push(editorState, newContent, 'insert-characters'),\n () => this.focusEditor()\n );\n };\n\n getFontListConfigForPanelType = (panelType) => {\n const controlConfig = this.getControlConfigBySet(\n this.props.controlConfigSet\n );\n return controlConfig[panelType];\n };\n\n getControlConfigBySet = (config) => {\n const fontList = ((config && config.fontList) || Object.keys(FontList))\n .filter((f) => (typeof f === 'object' ? FontList[f.type] : FontList[f]))\n .map((f) => (f.label && f.style ? f : FontList[f]));\n const blockTypes = (\n (config && config.blockTypes) ||\n Object.keys(BlockTypeList)\n )\n .filter((f) =>\n typeof f === 'object' ? BlockTypeList[f.type] : BlockTypeList[f]\n )\n .map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n const inlineStyles = (\n (config && config.inlineStyles) ||\n Object.keys(InlineStylesList)\n )\n .filter((f) =>\n typeof f === 'object' ? InlineStylesList[f.type] : InlineStylesList[f]\n )\n .map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n return {\n fontList,\n blockTypes,\n inlineStyles,\n };\n };\n\n render() {\n const {\n className,\n showFontMenu,\n showInlineStyleMenu,\n showTextFormatMenu,\n showLinkMenu,\n label,\n tags,\n editorState,\n onChange,\n handleBeforeInput,\n } = this.props;\n\n const classNames = cx('editor-root', className);\n\n return (\n <div ref={this.wrapperRef}>\n {label && <Label>{label}</Label>}\n\n <div className={classNames}>\n <div className=\"controls-wrapper\">\n {showFontMenu && (\n <BlockTypeSelectControls\n editorState={editorState}\n onToggle={this.toggleSelectBlockType}\n blockTypes={this.getFontListConfigForPanelType('fontList')}\n />\n )}\n {showInlineStyleMenu && (\n <InlineStyleControls\n editorState={editorState}\n onToggle={this.toggleInlineStyle}\n inlineStyles={this.getFontListConfigForPanelType(\n 'inlineStyles'\n )}\n />\n )}\n {showTextFormatMenu && (\n <BlockTypeButtonControls\n editorState={editorState}\n onToggle={this.toggleButtonBlockType}\n blockTypes={this.getFontListConfigForPanelType('blockTypes')}\n />\n )}\n {showLinkMenu && (\n <BlockTypeLinkControls\n editorState={editorState}\n onToggle={this.toggleLink}\n />\n )}\n {tags && tags.length > 0 && (\n <TagControls\n editorState={editorState}\n tags={tags}\n onInsertTag={this.insertText}\n />\n )}\n </div>\n\n <div className=\"editor-wrapper\">\n <Editor\n ref={this.editor}\n editorState={editorState}\n handleKeyCommand={this.handleKeyCommand}\n onChange={onChange}\n handleBeforeInput={handleBeforeInput}\n keyBindingFn={this.keyBindingFn}\n spellCheck\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styleShape = (configList) =>\n PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([...Object.values(configList)]),\n label: PropTypes.string,\n style: PropTypes.string,\n tooltip: PropTypes.string,\n hotKey: PropTypes.string,\n })\n ),\n ]);\n\nRichTextEditor.propTypes = {\n editorState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n maxTabDepth: PropTypes.number,\n showFontMenu: PropTypes.bool,\n showInlineStyleMenu: PropTypes.bool,\n showTextFormatMenu: PropTypes.bool,\n showLinkMenu: PropTypes.bool,\n label: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.object),\n controlConfigSet: PropTypes.shape({\n fontList: styleShape(EditorConfigTypes.FONT_LIST),\n blockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n }),\n};\nRichTextEditor.defaultProps = {\n maxTabDepth: 4,\n showFontMenu: true,\n showInlineStyleMenu: true,\n showTextFormatMenu: true,\n showLinkMenu: true,\n label: '',\n};\n\nexport default RichTextEditor;\n","import { markdownToDraft, draftToMarkdown } from 'markdown-draft-js';\nimport { convertToRaw, convertFromRaw, EditorState } from 'draft-js';\nimport showdown from 'showdown';\n\nimport { decorator } from './constants';\n\nexport const editorStateToMarkdown = (editorState) => {\n const rawState = convertToRaw(editorState.getCurrentContent());\n return draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n if (!markdown) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = markdownToDraft(markdown, { preserveNewlines: true });\n const contentState = convertFromRaw(rawState);\n return EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n underline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n return converter.makeHtml(markdown);\n};\n","import React, { useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { ExpandablePanel } from '@entur/expand';\nimport {\n LanguageKey,\n LanguageOption,\n MultiLanguageValues,\n Stack,\n} from '@entur-partner/common';\nimport { FeedbackText, VariantType } from '@entur/form';\n\nimport {\n editorStateToMarkdown,\n markdownToEditorState,\n} from './RichTextEditor/markdownConvertion';\nimport RichTextEditor from './RichTextEditor';\nimport { MinifiedConfigTypes } from './RichTextEditor/constants';\n\ntype MultiLanguageInputProps = {\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n tags?: {\n tag: string;\n delimiter: string;\n label: string;\n }[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n language: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n language: { value: langKey, label, required },\n values,\n onChange,\n variant,\n feedback,\n tags,\n}: RichTextEditorForLanguageProps) => {\n const [editorState, setEditorState] = useState<EditorState>(\n markdownToEditorState(values[langKey])\n );\n\n const handleOnChange = (changedState: EditorState) => {\n const newValues = { ...values };\n const content = editorStateToMarkdown(changedState);\n if (values[langKey] && content === '\\n') {\n delete newValues[langKey];\n } else {\n newValues[langKey] = content;\n }\n\n setEditorState(changedState);\n onChange(newValues);\n };\n\n const feedbackText = feedback && feedback(langKey);\n\n return (\n <>\n <RichTextEditor\n label={required ? label + '*' : label}\n editorState={editorState}\n onChange={(changedState: EditorState) => handleOnChange(changedState)}\n controlConfigSet={MinifiedConfigTypes}\n tags={tags}\n />\n {variant && feedbackText?.length! > 0 && (\n <FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n )}\n </>\n );\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n name: string;\n title: string;\n languages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n name,\n title,\n languages,\n ...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map((lang) => (\n <div\n key={name + lang.value}\n data-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n >\n <RichTextEditorForLanguage language={lang} {...rest} />\n </div>\n ))}\n </Stack>\n </ExpandablePanel>\n);\n","import React from 'react';\nimport { EditorState } from 'draft-js';\nimport { convertFromHTML, convertToHTML } from 'draft-convert';\n\nimport { HtmlLink } from './Link';\nimport { decorator } from './constants';\n\n/* eslint-disable react/display-name */\n\nexport const entityToHtml = {\n entityToHTML: (entity, originalText) => {\n if (entity.type === 'LINK') {\n return <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n }\n return originalText;\n },\n};\n\nexport const htmlToEntity = {\n htmlToEntity: (nodeName, node, createEntity) => {\n if (nodeName === 'a') {\n return createEntity('LINK', 'MUTABLE', { url: node.href });\n }\n },\n};\n\n/* eslint-disable react/display-name */\n\nexport const htmlToEditorState = (html) => {\n if (!html) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = convertFromHTML(htmlToEntity)(html);\n return EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n return convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["withI18n","Component","props","t","_useTranslation","useTranslation","language","i18n","Error","useI18N","React","createElement","_extends","BlockTypeDropdown$1","_Component","BlockTypeDropdown","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","handleOnClick","selectedOption","onChange","_inheritsLoose","_proto","prototype","toItem","option","value","style","label","renderFormattedLabel","formattedLabelText","className","render","_this2","_this$props","selected","Dropdown","items","options","map","selectedItem","BlockTypeControls","_ref","editorState","blockTypes","onToggle","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","find","Key","Object","freeze","ENTER","getKey","event","keyCode","which","StyleButton$1","StyleButton","e","preventDefault","onToggleNoEvent","_this$props2","_this$props3","title","hotKey","classNames","cx","active","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","type","i","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","addLink","isCollapsed","currentContent","startKey","startOffset","getStartOffset","linkKey","getEntityAt","url","getEntity","getData","confirmLink","contentStateWithEntity","createEntity","entityKey","getLastCreatedEntityKey","EditorState","set","cancelLink","onLinkInputKeyDown","removeLink","_this$state","onClick","LinkIcon","CloseIcon","TextField","width","margin","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","BlockTypeLinkControls$1","InlineStyleControls","inlineStyles","currentStyle","getCurrentInlineStyle","has","TagControls","tagControlRef","createRef","isOpen","handleClickOutside","current","contains","handleTagClick","tag","delimiter","onInsertTag","delimiterStart","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","menuItems","tags","OverflowMenuItem","id","icon","ref","DownArrowIcon","inline","Popover","open","OverflowMenu","arrayOf","isRequired","TagControls$1","HtmlLink","href","children","EditorConfigTypes","FONT_LIST","UNSTYLED","HEADER_ONE","HEADER_TWO","HEADER_THREE","HEADER_FOUR","HEADER_FIVE","HEADER_SIX","BLOCK_TYPES","UNORDERED_LIST","ORDERED_LIST","INLINE_STYLES","BOLD","ITALIC","UNDERLINE","FontList","unstyled","BlockTypeList","BulletListIcon","NumberListIcon","InlineStylesList","bold","BoldIcon","italic","ItalicIcon","underline","UnderlineIcon","MinifiedConfigTypes","fontList","values","decorator","CompositeDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","component","_props$contentState$g","RichTextEditor","wrapperRef","editor","handleKeyCommand","command","newState","RichUtils","keyBindingFn","evt","onTab","getDefaultKeyBinding","stopPropagation","maxTabDepth","toggleButtonBlockType","blockType","toggleBlockType","toggleSelectBlockType","toggleInlineStyle","inlineStyle","_this$props4","toggleLink","newEditorState","insertText","text","newContent","Modifier","push","focusEditor","getFontListConfigForPanelType","panelType","getControlConfigBySet","controlConfigSet","config","keys","filter","f","focus","_this$props5","showFontMenu","showInlineStyleMenu","showTextFormatMenu","showLinkMenu","handleBeforeInput","Label","BlockTypeSelectControls","Editor","spellCheck","styleShape","configList","oneOfType","oneOf","shape","string","number","bool","defaultProps","editorStateToMarkdown","rawState","convertToRaw","draftToMarkdown","preserveNewlines","markdownToEditorState","markdown","createEmpty","markdownToDraft","convertFromRaw","createWithContent","converter","showdown","Converter","RichTextEditorForLanguage","_ref$language","langKey","required","variant","feedback","_useState","useState","setEditorState","feedbackText","Fragment","changedState","newValues","content","handleOnChange","FeedbackText","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","_ref2","name","languages","rest","_objectWithoutPropertiesLoose","_excluded","ExpandablePanel","defaultOpen","contentStyle","padding","marginTop","marginBottom","Stack","space","lang","convertToHTML","html","convertFromHTML","makeHtml"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rich-text-editor.cjs.production.min.js","sources":["../src/withI18n.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.js","../src/events.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/Controls/InlineStyleControls.js","../src/RichTextEditor/Controls/TagControls.js","../src/RichTextEditor/Link/index.js","../src/RichTextEditor/constants.js","../src/RichTextEditor/index.js","../src/RichTextEditor/markdownConvertion.js","../src/ExpandableMultiLanguageRichTextEditor.tsx","../src/RichTextEditor/htmlConvertion.js"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nfunction useI18N() {\n const {\n t,\n i18n: { language },\n } = useTranslation();\n\n if (language !== 'nb' && language !== 'en') {\n throw Error('Language must be either nb or en.');\n }\n\n return t;\n}\n\nexport function withI18n(Component) {\n return function WrappedComponent(props) {\n const t = useI18N();\n return <Component {...props} i18n={t} />;\n };\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\nimport { withI18n } from '../../withI18n';\n\nclass BlockTypeDropdown extends Component {\n handleOnClick = (selectedOption) => {\n const { onChange } = this.props;\n onChange(selectedOption);\n };\n\n toItem(option) {\n return {\n value: option.style,\n label: this.renderFormattedLabel(option.label),\n };\n }\n\n renderFormattedLabel(label) {\n const formattedLabelText = this.props.i18n(label);\n switch (label) {\n case 'styles.p':\n return <div className=\"default-p\">{formattedLabelText}</div>;\n case 'styles.h1':\n return <div className=\"default-h1\">{formattedLabelText}</div>;\n case 'styles.h2':\n return <div className=\"default-h2\">{formattedLabelText}</div>;\n case 'styles.h3':\n return <div className=\"default-h3\">{formattedLabelText}</div>;\n case 'styles.h4':\n return <div className=\"default-h4\">{formattedLabelText}</div>;\n case 'styles.h5':\n return <div className=\"default-h5\">{formattedLabelText}</div>;\n case 'styles.h6':\n return <div className=\"default-h6\">{formattedLabelText}</div>;\n default:\n return <p>{formattedLabelText}</p>;\n }\n }\n\n render() {\n const { options, selected, i18n } = this.props;\n\n return (\n <Dropdown\n className=\"block-type-dropdown\"\n items={options.map((option) => this.toItem(option))}\n selectedItem={this.toItem(selected)}\n label={i18n('styles.style')}\n onChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n />\n );\n }\n}\n\nexport default withI18n(BlockTypeDropdown);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport BlockTypeDropdown from '../BlockTypeDropdown';\n\nconst BlockTypeControls = ({ editorState, blockTypes, onToggle }) => {\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n const selectedOption =\n blockTypes.find((option) => option.style === blockTypeStyle) ||\n blockTypes[0];\n\n return (\n <BlockTypeDropdown\n options={blockTypes}\n selected={selectedOption}\n onChange={onToggle}\n />\n );\n};\n\nexport default BlockTypeControls;\n","export const Key = Object.freeze({\n ENTER: 13,\n});\n\nexport function getKey(event) {\n return event.keyCode || event.which;\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass StyleButton extends Component {\n onToggle = (e) => {\n const { style, onToggle } = this.props;\n e.preventDefault();\n onToggle(style);\n };\n\n onToggleNoEvent = () => {\n const { style, onToggle } = this.props;\n onToggle(style);\n };\n\n render() {\n const { i18n, active, label, title, hotKey } = this.props;\n\n const classNames = cx('editor-stylebutton', { active });\n\n return (\n <div\n className={classNames}\n onMouseDown={this.onToggle}\n title={i18n(title) + hotKey}\n tabIndex={0}\n onKeyPress={(event) => {\n if (getKey(event) === Key.ENTER) {\n this.onToggleNoEvent();\n }\n }}\n >\n {label}\n </div>\n );\n }\n}\n\nexport default withI18n(StyleButton);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst BlockTypeButtonControls = (props) => {\n const { editorState, blockTypes, onToggle } = props;\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n return (\n <div className=\"controls-group block-editor-controls\">\n {blockTypes.map((type, i) => (\n <StyleButton\n key={i}\n active={type.style === blockTypeStyle}\n label={type.label}\n onToggle={onToggle}\n style={type.style}\n title={type.tooltip}\n />\n ))}\n </div>\n );\n};\n\nexport default BlockTypeButtonControls;\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { EditorState } from 'draft-js';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@entur/form';\nimport { UnlinkIcon, LinkIcon, CheckIcon, CloseIcon } from '@entur/icons';\nimport { Unbutton } from '@entur-partner/common';\nimport { SecondarySquareButton } from '@entur/button';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass BlockTypeLinkControls extends Component {\n state = {\n urlValue: '',\n showUrlInput: false,\n hasLink: false,\n };\n\n onUrlChange = (e) => {\n this.setState({ urlValue: e.target.value });\n };\n\n addLink = (e) => {\n e.preventDefault();\n const { editorState } = this.props;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n let url = '';\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n }\n\n this.setState({\n showUrlInput: true,\n urlValue: url,\n hasLink: !!url,\n });\n }\n };\n\n confirmLink = (e) => {\n e.preventDefault();\n const { urlValue } = this.state;\n const { editorState, onToggle } = this.props;\n const contentState = editorState.getCurrentContent();\n const contentStateWithEntity = contentState.createEntity(\n 'LINK',\n 'MUTABLE',\n { url: urlValue }\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n onToggle(newEditorState, entityKey);\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n cancelLink = (e) => {\n e.preventDefault();\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n onLinkInputKeyDown = (e) => {\n if (getKey(e) === Key.ENTER) {\n this.confirmLink(e);\n }\n };\n\n removeLink = (e) => {\n e.preventDefault();\n const { editorState, onToggle } = this.props;\n const { hasLink } = this.state;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed() && hasLink) {\n onToggle(editorState, null);\n this.setState({\n showUrlInput: false,\n });\n }\n };\n\n render() {\n const { i18n } = this.props;\n const { showUrlInput, hasLink } = this.state;\n return (\n <div className=\"controls-group block-editor-controls link-controls\">\n <div\n className=\"editor-stylebutton\"\n title={i18n('styles.link')}\n onClick={this.addLink}\n tabIndex={0}\n >\n <LinkIcon />\n </div>\n\n {showUrlInput && (\n <div className=\"url-input-container\">\n <span className=\"exit-button\" onMouseDown={this.cancelLink}>\n <CloseIcon />\n </span>\n <div className=\"link-label\">{i18n('common.from')}</div>\n <div className=\"url-input-form\">\n <TextField\n style={{ width: 250, margin: 5 }}\n onChange={this.onUrlChange}\n value={this.state.urlValue}\n onKeyDown={this.onLinkInputKeyDown}\n placeholder=\"https://example.com\"\n />\n <SecondarySquareButton onMouseDown={this.confirmLink}>\n <CheckIcon width={15} height={15} />\n </SecondarySquareButton>\n </div>\n {hasLink && (\n <div className=\"remove-link\">\n <Unbutton\n onClick={this.removeLink}\n title={i18n('styles.unlink')}\n >\n <UnlinkIcon />\n {i18n('styles.unlink')}\n </Unbutton>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\nBlockTypeLinkControls.propTypes = {\n editorState: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst InlineStyleControls = (props) => {\n const { editorState, inlineStyles } = props;\n\n const currentStyle = editorState.getCurrentInlineStyle();\n\n return (\n <div className=\"controls-group inline-editor-controls\">\n {inlineStyles.map((type, i) => (\n <StyleButton\n key={i}\n active={currentStyle.has(type.style)}\n label={type.label}\n onToggle={props.onToggle}\n style={type.style}\n title={type.tooltip}\n hotKey={type.hotKey}\n />\n ))}\n </div>\n );\n};\n\nexport default InlineStyleControls;\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover } from '@entur/tooltip';\nimport { OverflowMenuItem, OverflowMenu } from '@entur/menu';\nimport { DownArrowIcon } from '@entur/icons';\n\nimport { withI18n } from '../../withI18n';\n\nclass TagControls extends Component {\n tagControlRef = createRef();\n state = { isOpen: false };\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (e) => {\n if (\n this.tagControlRef &&\n this.tagControlRef.current &&\n !this.tagControlRef.current.contains(e.target)\n ) {\n this.setState({ isOpen: false });\n }\n };\n\n handleTagClick = (tag, delimiter) => {\n const { editorState, onInsertTag } = this.props;\n const delimiterStart = delimiter[0];\n const delimiterEnd = delimiter[1];\n const fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n onInsertTag(editorState, fullTag);\n };\n\n render() {\n const { i18n, tags } = this.props;\n const { isOpen } = this.state;\n const menuItems = tags.map((tag, i) => {\n const delimiter = tag.delimiter || '{}';\n return (\n <OverflowMenuItem\n key={i}\n className=\"tag-control\"\n id={'tag-control-' + tag.tag}\n onClick={() => this.handleTagClick(tag.tag, delimiter)}\n >\n {tag.icon}\n <span className=\"tag-control-text\">{tag.label}</span>\n </OverflowMenuItem>\n );\n });\n\n return (\n <div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n <div\n className=\"tag-control-header\"\n onClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n >\n {i18n('common.insert')}\n <DownArrowIcon className=\"tag-control-chevron\" inline />\n </div>\n <Popover open={isOpen} className=\"tag-control-content\">\n <OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n </Popover>\n </div>\n );\n }\n}\n\nTagControls.propTypes = {\n editorState: PropTypes.object,\n tags: PropTypes.arrayOf(PropTypes.object).isRequired,\n onInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from 'react';\n\nexport const HtmlLink = ({ url, children }) => {\n return <a href={url}>{children}</a>;\n};\n\nconst Link = (props) => {\n const { url } = props.contentState.getEntity(props.entityKey).getData();\n return <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback);\n}\n\nexport default Link;\n","import React from 'react';\nimport {\n BoldIcon,\n ItalicIcon,\n UnderlineIcon,\n BulletListIcon,\n NumberListIcon,\n} from '@entur/icons';\nimport { CompositeDecorator } from 'draft-js';\n\nimport Link, { findLinkEntities } from './Link';\n\nexport const EditorConfigTypes = Object.freeze({\n FONT_LIST: {\n UNSTYLED: 'unstyled',\n HEADER_ONE: 'header-one',\n HEADER_TWO: 'header-two',\n HEADER_THREE: 'header-three',\n HEADER_FOUR: 'header-four',\n HEADER_FIVE: 'header-five',\n HEADER_SIX: 'header-six',\n },\n BLOCK_TYPES: {\n UNORDERED_LIST: 'unordered-list',\n ORDERED_LIST: 'ordered-list',\n },\n INLINE_STYLES: {\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n },\n});\n\nexport const FontList = Object.freeze({\n unstyled: { label: 'styles.p', style: 'unstyled' },\n 'header-one': { label: 'styles.h1', style: 'header-one' },\n 'header-two': { label: 'styles.h2', style: 'header-two' },\n 'header-three': { label: 'styles.h3', style: 'header-three' },\n 'header-four': { label: 'styles.h4', style: 'header-four' },\n 'header-five': { label: 'styles.h5', style: 'header-five' },\n 'header-six': { label: 'styles.h6', style: 'header-six' },\n});\n\nexport const BlockTypeList = Object.freeze({\n 'unordered-list': {\n label: <BulletListIcon />,\n style: 'unordered-list-item',\n tooltip: 'styles.unordered_list_item',\n },\n 'ordered-list': {\n label: <NumberListIcon />,\n style: 'ordered-list-item',\n tooltip: 'styles.ordered_list_item',\n },\n});\n\nexport const InlineStylesList = Object.freeze({\n bold: {\n label: <BoldIcon />,\n style: 'BOLD',\n tooltip: 'styles.bold',\n hotKey: '(Ctrl+B)',\n },\n italic: {\n label: <ItalicIcon />,\n style: 'ITALIC',\n tooltip: 'styles.italic',\n hotKey: '(Ctrl+I)',\n },\n underline: {\n label: <UnderlineIcon />,\n style: 'UNDERLINE',\n tooltip: 'styles.underline',\n hotKey: '(Ctrl+U)',\n },\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n fontList: [\n { type: 'unstyled', label: 'styles.p', style: 'unstyled' },\n { type: 'header-two', label: 'styles.h1', style: 'header-two' },\n ],\n blockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: [\n EditorConfigTypes.INLINE_STYLES.BOLD,\n EditorConfigTypes.INLINE_STYLES.ITALIC,\n ],\n});\nexport const decorator = new CompositeDecorator([\n {\n strategy: findLinkEntities,\n component: Link,\n },\n]);\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport {\n Editor,\n EditorState,\n Modifier,\n RichUtils,\n getDefaultKeyBinding,\n} from 'draft-js';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Label } from '@entur/typography';\n\nimport BlockTypeSelectControls from './Controls/BlockTypeSelectControls';\nimport BlockTypeButtonControls from './Controls/BlockTypeButtonControls';\nimport BlockTypeLinkControls from './Controls/BlockTypeLinkControls';\nimport InlineStyleControls from './Controls/InlineStyleControls';\nimport TagControls from './Controls/TagControls';\nimport {\n BlockTypeList,\n EditorConfigTypes,\n FontList,\n InlineStylesList,\n decorator,\n} from './constants';\n\nclass RichTextEditor extends Component {\n static decorator = decorator;\n\n wrapperRef = createRef();\n editor = createRef();\n\n focusEditor() {\n this.editor.current && this.editor.current.focus();\n }\n\n handleKeyCommand = (command, editorState) => {\n const newState = RichUtils.handleKeyCommand(editorState, command);\n if (newState) {\n this.props.onChange(newState);\n return true;\n }\n return false;\n };\n\n keyBindingFn = (evt) => {\n switch (evt.keyCode) {\n case 9:\n return this.onTab(evt);\n default:\n return getDefaultKeyBinding(evt);\n }\n };\n\n onTab = (evt) => {\n evt.stopPropagation();\n const { maxTabDepth, editorState, onChange } = this.props;\n onChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n };\n\n toggleButtonBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleSelectBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleInlineStyle = (inlineStyle) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n };\n\n toggleLink = (newEditorState, entityKey) => {\n this.props.onChange(\n RichUtils.toggleLink(\n newEditorState,\n newEditorState.getSelection(),\n entityKey\n )\n );\n };\n\n insertText = (editorState, text) => {\n const newContent = Modifier.insertText(\n editorState.getCurrentContent(),\n editorState.getSelection(),\n text\n );\n this.props.onChange(\n EditorState.push(editorState, newContent, 'insert-characters'),\n () => this.focusEditor()\n );\n };\n\n getFontListConfigForPanelType = (panelType) => {\n const controlConfig = this.getControlConfigBySet(\n this.props.controlConfigSet\n );\n return controlConfig[panelType];\n };\n\n getControlConfigBySet = (config) => {\n const fontList = ((config && config.fontList) || Object.keys(FontList))\n .filter((f) => (typeof f === 'object' ? FontList[f.type] : FontList[f]))\n .map((f) => (f.label && f.style ? f : FontList[f]));\n const blockTypes = (\n (config && config.blockTypes) ||\n Object.keys(BlockTypeList)\n )\n .filter((f) =>\n typeof f === 'object' ? BlockTypeList[f.type] : BlockTypeList[f]\n )\n .map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n const inlineStyles = (\n (config && config.inlineStyles) ||\n Object.keys(InlineStylesList)\n )\n .filter((f) =>\n typeof f === 'object' ? InlineStylesList[f.type] : InlineStylesList[f]\n )\n .map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n return {\n fontList,\n blockTypes,\n inlineStyles,\n };\n };\n\n render() {\n const {\n className,\n showFontMenu,\n showInlineStyleMenu,\n showTextFormatMenu,\n showLinkMenu,\n label,\n tags,\n editorState,\n onChange,\n handleBeforeInput,\n } = this.props;\n\n const classNames = cx('editor-root', className);\n\n return (\n <div ref={this.wrapperRef}>\n {label && <Label>{label}</Label>}\n\n <div className={classNames}>\n <div className=\"controls-wrapper\">\n {showFontMenu && (\n <BlockTypeSelectControls\n editorState={editorState}\n onToggle={this.toggleSelectBlockType}\n blockTypes={this.getFontListConfigForPanelType('fontList')}\n />\n )}\n {showInlineStyleMenu && (\n <InlineStyleControls\n editorState={editorState}\n onToggle={this.toggleInlineStyle}\n inlineStyles={this.getFontListConfigForPanelType(\n 'inlineStyles'\n )}\n />\n )}\n {showTextFormatMenu && (\n <BlockTypeButtonControls\n editorState={editorState}\n onToggle={this.toggleButtonBlockType}\n blockTypes={this.getFontListConfigForPanelType('blockTypes')}\n />\n )}\n {showLinkMenu && (\n <BlockTypeLinkControls\n editorState={editorState}\n onToggle={this.toggleLink}\n />\n )}\n {tags && tags.length > 0 && (\n <TagControls\n editorState={editorState}\n tags={tags}\n onInsertTag={this.insertText}\n />\n )}\n </div>\n\n <div className=\"editor-wrapper\">\n <Editor\n ref={this.editor}\n editorState={editorState}\n handleKeyCommand={this.handleKeyCommand}\n onChange={onChange}\n handleBeforeInput={handleBeforeInput}\n keyBindingFn={this.keyBindingFn}\n spellCheck\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styleShape = (configList) =>\n PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([...Object.values(configList)]),\n label: PropTypes.string,\n style: PropTypes.string,\n tooltip: PropTypes.string,\n hotKey: PropTypes.string,\n })\n ),\n ]);\n\nRichTextEditor.propTypes = {\n editorState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n maxTabDepth: PropTypes.number,\n showFontMenu: PropTypes.bool,\n showInlineStyleMenu: PropTypes.bool,\n showTextFormatMenu: PropTypes.bool,\n showLinkMenu: PropTypes.bool,\n label: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.object),\n controlConfigSet: PropTypes.shape({\n fontList: styleShape(EditorConfigTypes.FONT_LIST),\n blockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n }),\n};\nRichTextEditor.defaultProps = {\n maxTabDepth: 4,\n showFontMenu: true,\n showInlineStyleMenu: true,\n showTextFormatMenu: true,\n showLinkMenu: true,\n label: '',\n};\n\nexport default RichTextEditor;\n","import { markdownToDraft, draftToMarkdown } from 'markdown-draft-js';\nimport { convertToRaw, convertFromRaw, EditorState } from 'draft-js';\nimport showdown from 'showdown';\n\nimport { decorator } from './constants';\n\nexport const editorStateToMarkdown = (editorState) => {\n const rawState = convertToRaw(editorState.getCurrentContent());\n return draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n if (!markdown) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = markdownToDraft(markdown, { preserveNewlines: true });\n const contentState = convertFromRaw(rawState);\n return EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n underline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n return converter.makeHtml(markdown);\n};\n","import React, { useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { ExpandablePanel } from '@entur/expand';\nimport {\n LanguageKey,\n LanguageOption,\n MultiLanguageValues,\n Stack,\n} from '@entur-partner/common';\nimport { FeedbackText, VariantType } from '@entur/form';\n\nimport {\n editorStateToMarkdown,\n markdownToEditorState,\n} from './RichTextEditor/markdownConvertion';\nimport RichTextEditor from './RichTextEditor';\nimport { MinifiedConfigTypes } from './RichTextEditor/constants';\n\ntype MultiLanguageInputProps = {\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n tags?: {\n tag: string;\n delimiter: string;\n label: string;\n }[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n language: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n language: { value: langKey, label, required },\n values,\n onChange,\n variant,\n feedback,\n tags,\n}: RichTextEditorForLanguageProps) => {\n const [editorState, setEditorState] = useState<EditorState>(\n markdownToEditorState(values[langKey])\n );\n\n const handleOnChange = (changedState: EditorState) => {\n const newValues = { ...values };\n const content = editorStateToMarkdown(changedState);\n if (values[langKey] && content === '\\n') {\n delete newValues[langKey];\n } else {\n newValues[langKey] = content;\n }\n\n setEditorState(changedState);\n onChange(newValues);\n };\n\n const feedbackText = feedback && feedback(langKey);\n\n return (\n <>\n <RichTextEditor\n label={required ? label + '*' : label}\n editorState={editorState}\n onChange={(changedState: EditorState) => handleOnChange(changedState)}\n controlConfigSet={MinifiedConfigTypes}\n tags={tags}\n />\n {variant && feedbackText?.length! > 0 && (\n <FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n )}\n </>\n );\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n name: string;\n title: string;\n languages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n name,\n title,\n languages,\n ...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map((lang) => (\n <div\n key={name + lang.value}\n data-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n >\n <RichTextEditorForLanguage language={lang} {...rest} />\n </div>\n ))}\n </Stack>\n </ExpandablePanel>\n);\n","import React from 'react';\nimport { EditorState } from 'draft-js';\nimport { convertFromHTML, convertToHTML } from 'draft-convert';\n\nimport { HtmlLink } from './Link';\nimport { decorator } from './constants';\n\n/* eslint-disable react/display-name */\n\nexport const entityToHtml = {\n entityToHTML: (entity, originalText) => {\n if (entity.type === 'LINK') {\n return <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n }\n return originalText;\n },\n};\n\nexport const htmlToEntity = {\n htmlToEntity: (nodeName, node, createEntity) => {\n if (nodeName === 'a') {\n return createEntity('LINK', 'MUTABLE', { url: node.href });\n }\n },\n};\n\n/* eslint-disable react/display-name */\n\nexport const htmlToEditorState = (html) => {\n if (!html) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = convertFromHTML(htmlToEntity)(html);\n return EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n return convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["withI18n","Component","props","t","_useTranslation","useTranslation","language","i18n","Error","useI18N","React","createElement","_extends","BlockTypeDropdown$1","_Component","BlockTypeDropdown","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","handleOnClick","selectedOption","onChange","_inheritsLoose","_proto","prototype","toItem","option","value","style","label","renderFormattedLabel","formattedLabelText","className","render","_this2","_this$props","selected","Dropdown","items","options","map","selectedItem","BlockTypeControls","_ref","editorState","blockTypes","onToggle","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","find","Key","Object","freeze","ENTER","getKey","event","keyCode","which","StyleButton$1","StyleButton","e","preventDefault","onToggleNoEvent","_this$props2","_this$props3","title","hotKey","classNames","cx","active","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","type","i","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","addLink","isCollapsed","currentContent","startKey","startOffset","getStartOffset","linkKey","getEntityAt","url","getEntity","getData","confirmLink","contentStateWithEntity","createEntity","entityKey","getLastCreatedEntityKey","EditorState","set","cancelLink","onLinkInputKeyDown","removeLink","_this$state","onClick","LinkIcon","CloseIcon","TextField","width","margin","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","BlockTypeLinkControls$1","InlineStyleControls","inlineStyles","currentStyle","getCurrentInlineStyle","has","TagControls","tagControlRef","createRef","isOpen","handleClickOutside","current","contains","handleTagClick","tag","delimiter","onInsertTag","delimiterStart","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","menuItems","tags","OverflowMenuItem","id","icon","ref","DownArrowIcon","inline","Popover","open","OverflowMenu","arrayOf","isRequired","TagControls$1","HtmlLink","href","children","EditorConfigTypes","FONT_LIST","UNSTYLED","HEADER_ONE","HEADER_TWO","HEADER_THREE","HEADER_FOUR","HEADER_FIVE","HEADER_SIX","BLOCK_TYPES","UNORDERED_LIST","ORDERED_LIST","INLINE_STYLES","BOLD","ITALIC","UNDERLINE","FontList","unstyled","BlockTypeList","BulletListIcon","NumberListIcon","InlineStylesList","bold","BoldIcon","italic","ItalicIcon","underline","UnderlineIcon","MinifiedConfigTypes","fontList","values","decorator","CompositeDecorator","strategy","contentBlock","callback","contentState","findEntityRanges","character","component","_props$contentState$g","RichTextEditor","wrapperRef","editor","handleKeyCommand","command","newState","RichUtils","keyBindingFn","evt","onTab","getDefaultKeyBinding","stopPropagation","maxTabDepth","toggleButtonBlockType","blockType","toggleBlockType","toggleSelectBlockType","toggleInlineStyle","inlineStyle","_this$props4","toggleLink","newEditorState","insertText","text","newContent","Modifier","push","focusEditor","getFontListConfigForPanelType","panelType","getControlConfigBySet","controlConfigSet","config","keys","filter","f","focus","_this$props5","showFontMenu","showInlineStyleMenu","showTextFormatMenu","showLinkMenu","handleBeforeInput","Label","BlockTypeSelectControls","Editor","spellCheck","styleShape","configList","oneOfType","oneOf","shape","string","number","bool","defaultProps","editorStateToMarkdown","rawState","convertToRaw","draftToMarkdown","preserveNewlines","markdownToEditorState","markdown","createEmpty","markdownToDraft","convertFromRaw","createWithContent","converter","showdown","Converter","RichTextEditorForLanguage","_ref$language","langKey","required","variant","feedback","_useState","useState","setEditorState","feedbackText","Fragment","changedState","newValues","content","handleOnChange","FeedbackText","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","_ref2","name","languages","rest","_objectWithoutPropertiesLoose","_excluded","ExpandablePanel","defaultOpen","contentStyle","padding","marginTop","marginBottom","Stack","space","lang","convertToHTML","html","convertFromHTML","makeHtml"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor.esm.js","sources":["../src/withI18n.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.js","../src/events.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/Controls/InlineStyleControls.js","../src/RichTextEditor/Controls/TagControls.js","../src/RichTextEditor/Link/index.js","../src/RichTextEditor/constants.js","../src/RichTextEditor/index.js","../src/RichTextEditor/markdownConvertion.js","../src/ExpandableMultiLanguageRichTextEditor.tsx","../src/RichTextEditor/htmlConvertion.js"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nfunction useI18N() {\n const {\n t,\n i18n: { language },\n } = useTranslation();\n\n if (language !== 'nb' && language !== 'en') {\n throw Error('Language must be either nb or en.');\n }\n\n return t;\n}\n\nexport function withI18n(Component) {\n return function WrappedComponent(props) {\n const t = useI18N();\n return <Component {...props} i18n={t} />;\n };\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\nimport { withI18n } from '../../withI18n';\n\nclass BlockTypeDropdown extends Component {\n handleOnClick = (selectedOption) => {\n const { onChange } = this.props;\n onChange(selectedOption);\n };\n\n toItem(option) {\n return {\n value: option.style,\n label: this.renderFormattedLabel(option.label),\n };\n }\n\n renderFormattedLabel(label) {\n const formattedLabelText = this.props.i18n(label);\n switch (label) {\n case 'styles.p':\n return <div className=\"default-p\">{formattedLabelText}</div>;\n case 'styles.h1':\n return <div className=\"default-h1\">{formattedLabelText}</div>;\n case 'styles.h2':\n return <div className=\"default-h2\">{formattedLabelText}</div>;\n case 'styles.h3':\n return <div className=\"default-h3\">{formattedLabelText}</div>;\n case 'styles.h4':\n return <div className=\"default-h4\">{formattedLabelText}</div>;\n case 'styles.h5':\n return <div className=\"default-h5\">{formattedLabelText}</div>;\n case 'styles.h6':\n return <div className=\"default-h6\">{formattedLabelText}</div>;\n default:\n return <p>{formattedLabelText}</p>;\n }\n }\n\n render() {\n const { options, selected, i18n } = this.props;\n\n return (\n <Dropdown\n className=\"block-type-dropdown\"\n items={options.map((option) => this.toItem(option))}\n selectedItem={this.toItem(selected)}\n label={i18n('styles.style')}\n onChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n />\n );\n }\n}\n\nexport default withI18n(BlockTypeDropdown);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport BlockTypeDropdown from '../BlockTypeDropdown';\n\nconst BlockTypeControls = ({ editorState, blockTypes, onToggle }) => {\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n const selectedOption =\n blockTypes.find((option) => option.style === blockTypeStyle) ||\n blockTypes[0];\n\n return (\n <BlockTypeDropdown\n options={blockTypes}\n selected={selectedOption}\n onChange={onToggle}\n />\n );\n};\n\nexport default BlockTypeControls;\n","export const Key = Object.freeze({\n ENTER: 13,\n});\n\nexport function getKey(event) {\n return event.keyCode || event.which;\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass StyleButton extends Component {\n onToggle = (e) => {\n const { style, onToggle } = this.props;\n e.preventDefault();\n onToggle(style);\n };\n\n onToggleNoEvent = () => {\n const { style, onToggle } = this.props;\n onToggle(style);\n };\n\n render() {\n const { i18n, active, label, title, hotKey } = this.props;\n\n const classNames = cx('editor-stylebutton', { active });\n\n return (\n <div\n className={classNames}\n onMouseDown={this.onToggle}\n title={i18n(title) + hotKey}\n tabIndex={0}\n onKeyPress={(event) => {\n if (getKey(event) === Key.ENTER) {\n this.onToggleNoEvent();\n }\n }}\n >\n {label}\n </div>\n );\n }\n}\n\nexport default withI18n(StyleButton);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst BlockTypeButtonControls = (props) => {\n const { editorState, blockTypes, onToggle } = props;\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n return (\n <div className=\"controls-group block-editor-controls\">\n {blockTypes.map((type, i) => (\n <StyleButton\n key={i}\n active={type.style === blockTypeStyle}\n label={type.label}\n onToggle={onToggle}\n style={type.style}\n title={type.tooltip}\n />\n ))}\n </div>\n );\n};\n\nexport default BlockTypeButtonControls;\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { EditorState } from 'draft-js';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@entur/form';\nimport { UnlinkIcon, LinkIcon, CheckIcon, CloseIcon } from '@entur/icons';\nimport { Unbutton } from '@entur-partner/common';\nimport { SecondarySquareButton } from '@entur/button';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass BlockTypeLinkControls extends Component {\n state = {\n urlValue: '',\n showUrlInput: false,\n hasLink: false,\n };\n\n onUrlChange = (e) => {\n this.setState({ urlValue: e.target.value });\n };\n\n addLink = (e) => {\n e.preventDefault();\n const { editorState } = this.props;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n let url = '';\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n }\n\n this.setState({\n showUrlInput: true,\n urlValue: url,\n hasLink: !!url,\n });\n }\n };\n\n confirmLink = (e) => {\n e.preventDefault();\n const { urlValue } = this.state;\n const { editorState, onToggle } = this.props;\n const contentState = editorState.getCurrentContent();\n const contentStateWithEntity = contentState.createEntity(\n 'LINK',\n 'MUTABLE',\n { url: urlValue }\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n onToggle(newEditorState, entityKey);\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n cancelLink = (e) => {\n e.preventDefault();\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n onLinkInputKeyDown = (e) => {\n if (getKey(e) === Key.ENTER) {\n this.confirmLink(e);\n }\n };\n\n removeLink = (e) => {\n e.preventDefault();\n const { editorState, onToggle } = this.props;\n const { hasLink } = this.state;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed() && hasLink) {\n onToggle(editorState, null);\n this.setState({\n showUrlInput: false,\n });\n }\n };\n\n render() {\n const { i18n } = this.props;\n const { showUrlInput, hasLink } = this.state;\n return (\n <div className=\"controls-group block-editor-controls link-controls\">\n <div\n className=\"editor-stylebutton\"\n title={i18n('styles.link')}\n onClick={this.addLink}\n tabIndex={0}\n >\n <LinkIcon />\n </div>\n\n {showUrlInput && (\n <div className=\"url-input-container\">\n <span className=\"exit-button\" onMouseDown={this.cancelLink}>\n <CloseIcon />\n </span>\n <div className=\"link-label\">{i18n('common.from')}</div>\n <div className=\"url-input-form\">\n <TextField\n style={{ width: 250, margin: 5 }}\n onChange={this.onUrlChange}\n value={this.state.urlValue}\n onKeyDown={this.onLinkInputKeyDown}\n placeholder=\"https://example.com\"\n />\n <SecondarySquareButton onMouseDown={this.confirmLink}>\n <CheckIcon width={15} height={15} />\n </SecondarySquareButton>\n </div>\n {hasLink && (\n <div className=\"remove-link\">\n <Unbutton\n onClick={this.removeLink}\n title={i18n('styles.unlink')}\n >\n <UnlinkIcon />\n {i18n('styles.unlink')}\n </Unbutton>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\nBlockTypeLinkControls.propTypes = {\n editorState: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst InlineStyleControls = (props) => {\n const { editorState, inlineStyles } = props;\n\n const currentStyle = editorState.getCurrentInlineStyle();\n\n return (\n <div className=\"controls-group inline-editor-controls\">\n {inlineStyles.map((type, i) => (\n <StyleButton\n key={i}\n active={currentStyle.has(type.style)}\n label={type.label}\n onToggle={props.onToggle}\n style={type.style}\n title={type.tooltip}\n hotKey={type.hotKey}\n />\n ))}\n </div>\n );\n};\n\nexport default InlineStyleControls;\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover } from '@entur/tooltip';\nimport { OverflowMenuItem, OverflowMenu } from '@entur/menu';\nimport { DownArrowIcon } from '@entur/icons';\n\nimport { withI18n } from '../../withI18n';\n\nclass TagControls extends Component {\n tagControlRef = createRef();\n state = { isOpen: false };\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (e) => {\n if (\n this.tagControlRef &&\n this.tagControlRef.current &&\n !this.tagControlRef.current.contains(e.target)\n ) {\n this.setState({ isOpen: false });\n }\n };\n\n handleTagClick = (tag, delimiter) => {\n const { editorState, onInsertTag } = this.props;\n const delimiterStart = delimiter[0];\n const delimiterEnd = delimiter[1];\n const fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n onInsertTag(editorState, fullTag);\n };\n\n render() {\n const { i18n, tags } = this.props;\n const { isOpen } = this.state;\n const menuItems = tags.map((tag, i) => {\n const delimiter = tag.delimiter || '{}';\n return (\n <OverflowMenuItem\n key={i}\n className=\"tag-control\"\n id={'tag-control-' + tag.tag}\n onClick={() => this.handleTagClick(tag.tag, delimiter)}\n >\n {tag.icon}\n <span className=\"tag-control-text\">{tag.label}</span>\n </OverflowMenuItem>\n );\n });\n\n return (\n <div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n <div\n className=\"tag-control-header\"\n onClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n >\n {i18n('common.insert')}\n <DownArrowIcon className=\"tag-control-chevron\" inline />\n </div>\n <Popover open={isOpen} className=\"tag-control-content\">\n <OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n </Popover>\n </div>\n );\n }\n}\n\nTagControls.propTypes = {\n editorState: PropTypes.object,\n tags: PropTypes.arrayOf(PropTypes.object).isRequired,\n onInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from 'react';\n\nexport const HtmlLink = ({ url, children }) => {\n return <a href={url}>{children}</a>;\n};\n\nconst Link = (props) => {\n const { url } = props.contentState.getEntity(props.entityKey).getData();\n return <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback);\n}\n\nexport default Link;\n","import React from 'react';\nimport {\n BoldIcon,\n ItalicIcon,\n UnderlineIcon,\n BulletListIcon,\n NumberListIcon,\n} from '@entur/icons';\nimport { CompositeDecorator } from 'draft-js';\n\nimport Link, { findLinkEntities } from './Link';\n\nexport const EditorConfigTypes = Object.freeze({\n FONT_LIST: {\n UNSTYLED: 'unstyled',\n HEADER_ONE: 'header-one',\n HEADER_TWO: 'header-two',\n HEADER_THREE: 'header-three',\n HEADER_FOUR: 'header-four',\n HEADER_FIVE: 'header-five',\n HEADER_SIX: 'header-six',\n },\n BLOCK_TYPES: {\n UNORDERED_LIST: 'unordered-list',\n ORDERED_LIST: 'ordered-list',\n },\n INLINE_STYLES: {\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n },\n});\n\nexport const FontList = Object.freeze({\n unstyled: { label: 'styles.p', style: 'unstyled' },\n 'header-one': { label: 'styles.h1', style: 'header-one' },\n 'header-two': { label: 'styles.h2', style: 'header-two' },\n 'header-three': { label: 'styles.h3', style: 'header-three' },\n 'header-four': { label: 'styles.h4', style: 'header-four' },\n 'header-five': { label: 'styles.h5', style: 'header-five' },\n 'header-six': { label: 'styles.h6', style: 'header-six' },\n});\n\nexport const BlockTypeList = Object.freeze({\n 'unordered-list': {\n label: <BulletListIcon />,\n style: 'unordered-list-item',\n tooltip: 'styles.unordered_list_item',\n },\n 'ordered-list': {\n label: <NumberListIcon />,\n style: 'ordered-list-item',\n tooltip: 'styles.ordered_list_item',\n },\n});\n\nexport const InlineStylesList = Object.freeze({\n bold: {\n label: <BoldIcon />,\n style: 'BOLD',\n tooltip: 'styles.bold',\n hotKey: '(Ctrl+B)',\n },\n italic: {\n label: <ItalicIcon />,\n style: 'ITALIC',\n tooltip: 'styles.italic',\n hotKey: '(Ctrl+I)',\n },\n underline: {\n label: <UnderlineIcon />,\n style: 'UNDERLINE',\n tooltip: 'styles.underline',\n hotKey: '(Ctrl+U)',\n },\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n fontList: [\n { type: 'unstyled', label: 'styles.p', style: 'unstyled' },\n { type: 'header-two', label: 'styles.h1', style: 'header-two' },\n ],\n blockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: [\n EditorConfigTypes.INLINE_STYLES.BOLD,\n EditorConfigTypes.INLINE_STYLES.ITALIC,\n ],\n});\nexport const decorator = new CompositeDecorator([\n {\n strategy: findLinkEntities,\n component: Link,\n },\n]);\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport {\n Editor,\n EditorState,\n Modifier,\n RichUtils,\n getDefaultKeyBinding,\n} from 'draft-js';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Label } from '@entur/typography';\n\nimport BlockTypeSelectControls from './Controls/BlockTypeSelectControls';\nimport BlockTypeButtonControls from './Controls/BlockTypeButtonControls';\nimport BlockTypeLinkControls from './Controls/BlockTypeLinkControls';\nimport InlineStyleControls from './Controls/InlineStyleControls';\nimport TagControls from './Controls/TagControls';\nimport {\n BlockTypeList,\n EditorConfigTypes,\n FontList,\n InlineStylesList,\n decorator,\n} from './constants';\n\nclass RichTextEditor extends Component {\n static decorator = decorator;\n\n wrapperRef = createRef();\n editor = createRef();\n\n focusEditor() {\n this.editor.current && this.editor.current.focus();\n }\n\n handleKeyCommand = (command, editorState) => {\n const newState = RichUtils.handleKeyCommand(editorState, command);\n if (newState) {\n this.props.onChange(newState);\n return true;\n }\n return false;\n };\n\n keyBindingFn = (evt) => {\n switch (evt.keyCode) {\n case 9:\n return this.onTab(evt);\n default:\n return getDefaultKeyBinding(evt);\n }\n };\n\n onTab = (evt) => {\n evt.stopPropagation();\n const { maxTabDepth, editorState, onChange } = this.props;\n onChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n };\n\n toggleButtonBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleSelectBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleInlineStyle = (inlineStyle) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n };\n\n toggleLink = (newEditorState, entityKey) => {\n this.props.onChange(\n RichUtils.toggleLink(\n newEditorState,\n newEditorState.getSelection(),\n entityKey\n )\n );\n };\n\n insertText = (editorState, text) => {\n const newContent = Modifier.insertText(\n editorState.getCurrentContent(),\n editorState.getSelection(),\n text\n );\n this.props.onChange(\n EditorState.push(editorState, newContent, 'insert-characters'),\n () => this.focusEditor()\n );\n };\n\n getFontListConfigForPanelType = (panelType) => {\n const controlConfig = this.getControlConfigBySet(\n this.props.controlConfigSet\n );\n return controlConfig[panelType];\n };\n\n getControlConfigBySet = (config) => {\n const fontList = ((config && config.fontList) || Object.keys(FontList))\n .filter((f) => (typeof f === 'object' ? FontList[f.type] : FontList[f]))\n .map((f) => (f.label && f.style ? f : FontList[f]));\n const blockTypes = (\n (config && config.blockTypes) ||\n Object.keys(BlockTypeList)\n )\n .filter((f) =>\n typeof f === 'object' ? BlockTypeList[f.type] : BlockTypeList[f]\n )\n .map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n const inlineStyles = (\n (config && config.inlineStyles) ||\n Object.keys(InlineStylesList)\n )\n .filter((f) =>\n typeof f === 'object' ? InlineStylesList[f.type] : InlineStylesList[f]\n )\n .map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n return {\n fontList,\n blockTypes,\n inlineStyles,\n };\n };\n\n render() {\n const {\n className,\n showFontMenu,\n showInlineStyleMenu,\n showTextFormatMenu,\n showLinkMenu,\n label,\n tags,\n editorState,\n onChange,\n handleBeforeInput,\n } = this.props;\n\n const classNames = cx('editor-root', className);\n\n return (\n <div ref={this.wrapperRef}>\n {label && <Label>{label}</Label>}\n\n <div className={classNames}>\n <div className=\"controls-wrapper\">\n {showFontMenu && (\n <BlockTypeSelectControls\n editorState={editorState}\n onToggle={this.toggleSelectBlockType}\n blockTypes={this.getFontListConfigForPanelType('fontList')}\n />\n )}\n {showInlineStyleMenu && (\n <InlineStyleControls\n editorState={editorState}\n onToggle={this.toggleInlineStyle}\n inlineStyles={this.getFontListConfigForPanelType(\n 'inlineStyles'\n )}\n />\n )}\n {showTextFormatMenu && (\n <BlockTypeButtonControls\n editorState={editorState}\n onToggle={this.toggleButtonBlockType}\n blockTypes={this.getFontListConfigForPanelType('blockTypes')}\n />\n )}\n {showLinkMenu && (\n <BlockTypeLinkControls\n editorState={editorState}\n onToggle={this.toggleLink}\n />\n )}\n {tags && tags.length > 0 && (\n <TagControls\n editorState={editorState}\n tags={tags}\n onInsertTag={this.insertText}\n />\n )}\n </div>\n\n <div className=\"editor-wrapper\">\n <Editor\n ref={this.editor}\n editorState={editorState}\n handleKeyCommand={this.handleKeyCommand}\n onChange={onChange}\n handleBeforeInput={handleBeforeInput}\n keyBindingFn={this.keyBindingFn}\n spellCheck\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styleShape = (configList) =>\n PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([...Object.values(configList)]),\n label: PropTypes.string,\n style: PropTypes.string,\n tooltip: PropTypes.string,\n hotKey: PropTypes.string,\n })\n ),\n ]);\n\nRichTextEditor.propTypes = {\n editorState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n maxTabDepth: PropTypes.number,\n showFontMenu: PropTypes.bool,\n showInlineStyleMenu: PropTypes.bool,\n showTextFormatMenu: PropTypes.bool,\n showLinkMenu: PropTypes.bool,\n label: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.object),\n controlConfigSet: PropTypes.shape({\n fontList: styleShape(EditorConfigTypes.FONT_LIST),\n blockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n }),\n};\nRichTextEditor.defaultProps = {\n maxTabDepth: 4,\n showFontMenu: true,\n showInlineStyleMenu: true,\n showTextFormatMenu: true,\n showLinkMenu: true,\n label: '',\n};\n\nexport default RichTextEditor;\n","import { markdownToDraft, draftToMarkdown } from 'markdown-draft-js';\nimport { convertToRaw, convertFromRaw, EditorState } from 'draft-js';\nimport showdown from 'showdown';\n\nimport { decorator } from './constants';\n\nexport const editorStateToMarkdown = (editorState) => {\n const rawState = convertToRaw(editorState.getCurrentContent());\n return draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n if (!markdown) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = markdownToDraft(markdown, { preserveNewlines: true });\n const contentState = convertFromRaw(rawState);\n return EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n underline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n return converter.makeHtml(markdown);\n};\n","import React, { useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { ExpandablePanel } from '@entur/expand';\nimport {\n LanguageKey,\n LanguageOption,\n MultiLanguageValues,\n Stack,\n} from '@entur-partner/common';\nimport { FeedbackText, VariantType } from '@entur/form';\n\nimport {\n editorStateToMarkdown,\n markdownToEditorState,\n} from './RichTextEditor/markdownConvertion';\nimport RichTextEditor from './RichTextEditor';\nimport { MinifiedConfigTypes } from './RichTextEditor/constants';\n\ntype MultiLanguageInputProps = {\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n tags?: {\n tag: string;\n delimiter: string;\n label: string;\n }[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n language: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n language: { value: langKey, label, required },\n values,\n onChange,\n variant,\n feedback,\n tags,\n}: RichTextEditorForLanguageProps) => {\n const [editorState, setEditorState] = useState<EditorState>(\n markdownToEditorState(values[langKey])\n );\n\n const handleOnChange = (changedState: EditorState) => {\n const newValues = { ...values };\n const content = editorStateToMarkdown(changedState);\n if (values[langKey] && content === '\\n') {\n delete newValues[langKey];\n } else {\n newValues[langKey] = content;\n }\n\n setEditorState(changedState);\n onChange(newValues);\n };\n\n const feedbackText = feedback && feedback(langKey);\n\n return (\n <>\n <RichTextEditor\n label={required ? label + '*' : label}\n editorState={editorState}\n onChange={(changedState: EditorState) => handleOnChange(changedState)}\n controlConfigSet={MinifiedConfigTypes}\n tags={tags}\n />\n {variant && feedbackText?.length! > 0 && (\n <FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n )}\n </>\n );\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n name: string;\n title: string;\n languages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n name,\n title,\n languages,\n ...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map((lang) => (\n <div\n key={name + lang.value}\n data-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n >\n <RichTextEditorForLanguage language={lang} {...rest} />\n </div>\n ))}\n </Stack>\n </ExpandablePanel>\n);\n","import React from 'react';\nimport { EditorState } from 'draft-js';\nimport { convertFromHTML, convertToHTML } from 'draft-convert';\n\nimport { HtmlLink } from './Link';\nimport { decorator } from './constants';\n\n/* eslint-disable react/display-name */\n\nexport const entityToHtml = {\n entityToHTML: (entity, originalText) => {\n if (entity.type === 'LINK') {\n return <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n }\n return originalText;\n },\n};\n\nexport const htmlToEntity = {\n htmlToEntity: (nodeName, node, createEntity) => {\n if (nodeName === 'a') {\n return createEntity('LINK', 'MUTABLE', { url: node.href });\n }\n },\n};\n\n/* eslint-disable react/display-name */\n\nexport const htmlToEditorState = (html) => {\n if (!html) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = convertFromHTML(htmlToEntity)(html);\n return EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n return convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["useI18N","_useTranslation","useTranslation","t","language","i18n","Error","withI18n","Component","WrappedComponent","props","React","createElement","_extends","BlockTypeDropdown","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","handleOnClick","selectedOption","onChange","_inheritsLoose","_proto","prototype","toItem","option","value","style","label","renderFormattedLabel","formattedLabelText","className","render","_this2","_this$props","options","selected","Dropdown","items","map","selectedItem","BlockTypeControls","_ref","editorState","blockTypes","onToggle","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","find","Key","Object","freeze","ENTER","getKey","event","keyCode","which","StyleButton","e","preventDefault","onToggleNoEvent","_this$props2","_this$props3","active","title","hotKey","classNames","cx","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","type","i","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","addLink","isCollapsed","currentContent","startKey","startOffset","getStartOffset","blockWithLinkAtBeginning","linkKey","getEntityAt","url","linkInstance","getEntity","getData","confirmLink","contentState","contentStateWithEntity","createEntity","entityKey","getLastCreatedEntityKey","newEditorState","EditorState","set","cancelLink","onLinkInputKeyDown","removeLink","_this$state","onClick","LinkIcon","CloseIcon","TextField","width","margin","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","InlineStyleControls","inlineStyles","currentStyle","getCurrentInlineStyle","has","TagControls","tagControlRef","createRef","isOpen","handleClickOutside","current","contains","handleTagClick","tag","delimiter","onInsertTag","delimiterStart","delimiterEnd","fullTag","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","tags","menuItems","OverflowMenuItem","id","icon","ref","DownArrowIcon","inline","Popover","open","OverflowMenu","arrayOf","isRequired","HtmlLink","children","href","Link","_props$contentState$g","findLinkEntities","contentBlock","callback","findEntityRanges","character","EditorConfigTypes","FONT_LIST","UNSTYLED","HEADER_ONE","HEADER_TWO","HEADER_THREE","HEADER_FOUR","HEADER_FIVE","HEADER_SIX","BLOCK_TYPES","UNORDERED_LIST","ORDERED_LIST","INLINE_STYLES","BOLD","ITALIC","UNDERLINE","FontList","unstyled","BlockTypeList","BulletListIcon","NumberListIcon","InlineStylesList","bold","BoldIcon","italic","ItalicIcon","underline","UnderlineIcon","MinifiedConfigTypes","fontList","values","decorator","CompositeDecorator","strategy","component","RichTextEditor","wrapperRef","editor","handleKeyCommand","command","newState","RichUtils","keyBindingFn","evt","onTab","getDefaultKeyBinding","stopPropagation","maxTabDepth","toggleButtonBlockType","blockType","toggleBlockType","toggleSelectBlockType","toggleInlineStyle","inlineStyle","_this$props4","toggleLink","insertText","text","newContent","Modifier","push","focusEditor","getFontListConfigForPanelType","panelType","controlConfig","getControlConfigBySet","controlConfigSet","config","keys","filter","f","focus","_this$props5","showFontMenu","showInlineStyleMenu","showTextFormatMenu","showLinkMenu","handleBeforeInput","Label","BlockTypeSelectControls","Editor","spellCheck","styleShape","configList","oneOfType","oneOf","shape","string","number","bool","defaultProps","editorStateToMarkdown","rawState","convertToRaw","draftToMarkdown","preserveNewlines","markdownToEditorState","markdown","createEmpty","markdownToDraft","convertFromRaw","createWithContent","converter","showdown","Converter","markdownToHtml","makeHtml","RichTextEditorForLanguage","_ref$language","langKey","required","variant","feedback","_useState","useState","setEditorState","handleOnChange","changedState","newValues","content","feedbackText","Fragment","FeedbackText","ExpandableMultiLanguageRichTextEditor","_ref2","name","languages","rest","_objectWithoutPropertiesLoose","_excluded","ExpandablePanel","defaultOpen","contentStyle","padding","marginTop","marginBottom","Stack","space","lang","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","htmlToEditorState","html","convertFromHTML","editorStateToHtml","convertToHTML"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rich-text-editor.esm.js","sources":["../src/withI18n.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.js","../src/events.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/Controls/InlineStyleControls.js","../src/RichTextEditor/Controls/TagControls.js","../src/RichTextEditor/Link/index.js","../src/RichTextEditor/constants.js","../src/RichTextEditor/index.js","../src/RichTextEditor/markdownConvertion.js","../src/ExpandableMultiLanguageRichTextEditor.tsx","../src/RichTextEditor/htmlConvertion.js"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nfunction useI18N() {\n const {\n t,\n i18n: { language },\n } = useTranslation();\n\n if (language !== 'nb' && language !== 'en') {\n throw Error('Language must be either nb or en.');\n }\n\n return t;\n}\n\nexport function withI18n(Component) {\n return function WrappedComponent(props) {\n const t = useI18N();\n return <Component {...props} i18n={t} />;\n };\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\nimport { withI18n } from '../../withI18n';\n\nclass BlockTypeDropdown extends Component {\n handleOnClick = (selectedOption) => {\n const { onChange } = this.props;\n onChange(selectedOption);\n };\n\n toItem(option) {\n return {\n value: option.style,\n label: this.renderFormattedLabel(option.label),\n };\n }\n\n renderFormattedLabel(label) {\n const formattedLabelText = this.props.i18n(label);\n switch (label) {\n case 'styles.p':\n return <div className=\"default-p\">{formattedLabelText}</div>;\n case 'styles.h1':\n return <div className=\"default-h1\">{formattedLabelText}</div>;\n case 'styles.h2':\n return <div className=\"default-h2\">{formattedLabelText}</div>;\n case 'styles.h3':\n return <div className=\"default-h3\">{formattedLabelText}</div>;\n case 'styles.h4':\n return <div className=\"default-h4\">{formattedLabelText}</div>;\n case 'styles.h5':\n return <div className=\"default-h5\">{formattedLabelText}</div>;\n case 'styles.h6':\n return <div className=\"default-h6\">{formattedLabelText}</div>;\n default:\n return <p>{formattedLabelText}</p>;\n }\n }\n\n render() {\n const { options, selected, i18n } = this.props;\n\n return (\n <Dropdown\n className=\"block-type-dropdown\"\n items={options.map((option) => this.toItem(option))}\n selectedItem={this.toItem(selected)}\n label={i18n('styles.style')}\n onChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n />\n );\n }\n}\n\nexport default withI18n(BlockTypeDropdown);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport BlockTypeDropdown from '../BlockTypeDropdown';\n\nconst BlockTypeControls = ({ editorState, blockTypes, onToggle }) => {\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n const selectedOption =\n blockTypes.find((option) => option.style === blockTypeStyle) ||\n blockTypes[0];\n\n return (\n <BlockTypeDropdown\n options={blockTypes}\n selected={selectedOption}\n onChange={onToggle}\n />\n );\n};\n\nexport default BlockTypeControls;\n","export const Key = Object.freeze({\n ENTER: 13,\n});\n\nexport function getKey(event) {\n return event.keyCode || event.which;\n}\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass StyleButton extends Component {\n onToggle = (e) => {\n const { style, onToggle } = this.props;\n e.preventDefault();\n onToggle(style);\n };\n\n onToggleNoEvent = () => {\n const { style, onToggle } = this.props;\n onToggle(style);\n };\n\n render() {\n const { i18n, active, label, title, hotKey } = this.props;\n\n const classNames = cx('editor-stylebutton', { active });\n\n return (\n <div\n className={classNames}\n onMouseDown={this.onToggle}\n title={i18n(title) + hotKey}\n tabIndex={0}\n onKeyPress={(event) => {\n if (getKey(event) === Key.ENTER) {\n this.onToggleNoEvent();\n }\n }}\n >\n {label}\n </div>\n );\n }\n}\n\nexport default withI18n(StyleButton);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst BlockTypeButtonControls = (props) => {\n const { editorState, blockTypes, onToggle } = props;\n const selection = editorState.getSelection();\n const blockTypeStyle = editorState\n .getCurrentContent()\n .getBlockForKey(selection.getStartKey())\n .getType();\n\n return (\n <div className=\"controls-group block-editor-controls\">\n {blockTypes.map((type, i) => (\n <StyleButton\n key={i}\n active={type.style === blockTypeStyle}\n label={type.label}\n onToggle={onToggle}\n style={type.style}\n title={type.tooltip}\n />\n ))}\n </div>\n );\n};\n\nexport default BlockTypeButtonControls;\n","import './styles.scss';\n\nimport React, { Component } from 'react';\nimport { EditorState } from 'draft-js';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@entur/form';\nimport { UnlinkIcon, LinkIcon, CheckIcon, CloseIcon } from '@entur/icons';\nimport { Unbutton } from '@entur-partner/common';\nimport { SecondarySquareButton } from '@entur/button';\n\nimport { withI18n } from '../../withI18n';\nimport { Key, getKey } from '../../events';\n\nclass BlockTypeLinkControls extends Component {\n state = {\n urlValue: '',\n showUrlInput: false,\n hasLink: false,\n };\n\n onUrlChange = (e) => {\n this.setState({ urlValue: e.target.value });\n };\n\n addLink = (e) => {\n e.preventDefault();\n const { editorState } = this.props;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed()) {\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n let url = '';\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n }\n\n this.setState({\n showUrlInput: true,\n urlValue: url,\n hasLink: !!url,\n });\n }\n };\n\n confirmLink = (e) => {\n e.preventDefault();\n const { urlValue } = this.state;\n const { editorState, onToggle } = this.props;\n const contentState = editorState.getCurrentContent();\n const contentStateWithEntity = contentState.createEntity(\n 'LINK',\n 'MUTABLE',\n { url: urlValue }\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n onToggle(newEditorState, entityKey);\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n cancelLink = (e) => {\n e.preventDefault();\n this.setState({\n showUrlInput: false,\n urlValue: '',\n });\n };\n\n onLinkInputKeyDown = (e) => {\n if (getKey(e) === Key.ENTER) {\n this.confirmLink(e);\n }\n };\n\n removeLink = (e) => {\n e.preventDefault();\n const { editorState, onToggle } = this.props;\n const { hasLink } = this.state;\n const selection = editorState.getSelection();\n if (!selection.isCollapsed() && hasLink) {\n onToggle(editorState, null);\n this.setState({\n showUrlInput: false,\n });\n }\n };\n\n render() {\n const { i18n } = this.props;\n const { showUrlInput, hasLink } = this.state;\n return (\n <div className=\"controls-group block-editor-controls link-controls\">\n <div\n className=\"editor-stylebutton\"\n title={i18n('styles.link')}\n onClick={this.addLink}\n tabIndex={0}\n >\n <LinkIcon />\n </div>\n\n {showUrlInput && (\n <div className=\"url-input-container\">\n <span className=\"exit-button\" onMouseDown={this.cancelLink}>\n <CloseIcon />\n </span>\n <div className=\"link-label\">{i18n('common.from')}</div>\n <div className=\"url-input-form\">\n <TextField\n style={{ width: 250, margin: 5 }}\n onChange={this.onUrlChange}\n value={this.state.urlValue}\n onKeyDown={this.onLinkInputKeyDown}\n placeholder=\"https://example.com\"\n />\n <SecondarySquareButton onMouseDown={this.confirmLink}>\n <CheckIcon width={15} height={15} />\n </SecondarySquareButton>\n </div>\n {hasLink && (\n <div className=\"remove-link\">\n <Unbutton\n onClick={this.removeLink}\n title={i18n('styles.unlink')}\n >\n <UnlinkIcon />\n {i18n('styles.unlink')}\n </Unbutton>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\nBlockTypeLinkControls.propTypes = {\n editorState: PropTypes.object,\n onToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import './styles.scss';\n\nimport React from 'react';\n\nimport StyleButton from '../StyleButton';\n\nconst InlineStyleControls = (props) => {\n const { editorState, inlineStyles } = props;\n\n const currentStyle = editorState.getCurrentInlineStyle();\n\n return (\n <div className=\"controls-group inline-editor-controls\">\n {inlineStyles.map((type, i) => (\n <StyleButton\n key={i}\n active={currentStyle.has(type.style)}\n label={type.label}\n onToggle={props.onToggle}\n style={type.style}\n title={type.tooltip}\n hotKey={type.hotKey}\n />\n ))}\n </div>\n );\n};\n\nexport default InlineStyleControls;\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Popover } from '@entur/tooltip';\nimport { OverflowMenuItem, OverflowMenu } from '@entur/menu';\nimport { DownArrowIcon } from '@entur/icons';\n\nimport { withI18n } from '../../withI18n';\n\nclass TagControls extends Component {\n tagControlRef = createRef();\n state = { isOpen: false };\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (e) => {\n if (\n this.tagControlRef &&\n this.tagControlRef.current &&\n !this.tagControlRef.current.contains(e.target)\n ) {\n this.setState({ isOpen: false });\n }\n };\n\n handleTagClick = (tag, delimiter) => {\n const { editorState, onInsertTag } = this.props;\n const delimiterStart = delimiter[0];\n const delimiterEnd = delimiter[1];\n const fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n onInsertTag(editorState, fullTag);\n };\n\n render() {\n const { i18n, tags } = this.props;\n const { isOpen } = this.state;\n const menuItems = tags.map((tag, i) => {\n const delimiter = tag.delimiter || '{}';\n return (\n <OverflowMenuItem\n key={i}\n className=\"tag-control\"\n id={'tag-control-' + tag.tag}\n onClick={() => this.handleTagClick(tag.tag, delimiter)}\n >\n {tag.icon}\n <span className=\"tag-control-text\">{tag.label}</span>\n </OverflowMenuItem>\n );\n });\n\n return (\n <div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n <div\n className=\"tag-control-header\"\n onClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n >\n {i18n('common.insert')}\n <DownArrowIcon className=\"tag-control-chevron\" inline />\n </div>\n <Popover open={isOpen} className=\"tag-control-content\">\n <OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n </Popover>\n </div>\n );\n }\n}\n\nTagControls.propTypes = {\n editorState: PropTypes.object,\n tags: PropTypes.arrayOf(PropTypes.object).isRequired,\n onInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from 'react';\n\nexport const HtmlLink = ({ url, children }) => {\n return <a href={url}>{children}</a>;\n};\n\nconst Link = (props) => {\n const { url } = props.contentState.getEntity(props.entityKey).getData();\n return <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n contentBlock.findEntityRanges((character) => {\n const entityKey = character.getEntity();\n return (\n entityKey !== null &&\n contentState.getEntity(entityKey).getType() === 'LINK'\n );\n }, callback);\n}\n\nexport default Link;\n","import React from 'react';\nimport {\n BoldIcon,\n ItalicIcon,\n UnderlineIcon,\n BulletListIcon,\n NumberListIcon,\n} from '@entur/icons';\nimport { CompositeDecorator } from 'draft-js';\n\nimport Link, { findLinkEntities } from './Link';\n\nexport const EditorConfigTypes = Object.freeze({\n FONT_LIST: {\n UNSTYLED: 'unstyled',\n HEADER_ONE: 'header-one',\n HEADER_TWO: 'header-two',\n HEADER_THREE: 'header-three',\n HEADER_FOUR: 'header-four',\n HEADER_FIVE: 'header-five',\n HEADER_SIX: 'header-six',\n },\n BLOCK_TYPES: {\n UNORDERED_LIST: 'unordered-list',\n ORDERED_LIST: 'ordered-list',\n },\n INLINE_STYLES: {\n BOLD: 'bold',\n ITALIC: 'italic',\n UNDERLINE: 'underline',\n },\n});\n\nexport const FontList = Object.freeze({\n unstyled: { label: 'styles.p', style: 'unstyled' },\n 'header-one': { label: 'styles.h1', style: 'header-one' },\n 'header-two': { label: 'styles.h2', style: 'header-two' },\n 'header-three': { label: 'styles.h3', style: 'header-three' },\n 'header-four': { label: 'styles.h4', style: 'header-four' },\n 'header-five': { label: 'styles.h5', style: 'header-five' },\n 'header-six': { label: 'styles.h6', style: 'header-six' },\n});\n\nexport const BlockTypeList = Object.freeze({\n 'unordered-list': {\n label: <BulletListIcon />,\n style: 'unordered-list-item',\n tooltip: 'styles.unordered_list_item',\n },\n 'ordered-list': {\n label: <NumberListIcon />,\n style: 'ordered-list-item',\n tooltip: 'styles.ordered_list_item',\n },\n});\n\nexport const InlineStylesList = Object.freeze({\n bold: {\n label: <BoldIcon />,\n style: 'BOLD',\n tooltip: 'styles.bold',\n hotKey: '(Ctrl+B)',\n },\n italic: {\n label: <ItalicIcon />,\n style: 'ITALIC',\n tooltip: 'styles.italic',\n hotKey: '(Ctrl+I)',\n },\n underline: {\n label: <UnderlineIcon />,\n style: 'UNDERLINE',\n tooltip: 'styles.underline',\n hotKey: '(Ctrl+U)',\n },\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n fontList: [\n { type: 'unstyled', label: 'styles.p', style: 'unstyled' },\n { type: 'header-two', label: 'styles.h1', style: 'header-two' },\n ],\n blockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: [\n EditorConfigTypes.INLINE_STYLES.BOLD,\n EditorConfigTypes.INLINE_STYLES.ITALIC,\n ],\n});\nexport const decorator = new CompositeDecorator([\n {\n strategy: findLinkEntities,\n component: Link,\n },\n]);\n","import './styles.scss';\n\nimport React, { Component, createRef } from 'react';\nimport {\n Editor,\n EditorState,\n Modifier,\n RichUtils,\n getDefaultKeyBinding,\n} from 'draft-js';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Label } from '@entur/typography';\n\nimport BlockTypeSelectControls from './Controls/BlockTypeSelectControls';\nimport BlockTypeButtonControls from './Controls/BlockTypeButtonControls';\nimport BlockTypeLinkControls from './Controls/BlockTypeLinkControls';\nimport InlineStyleControls from './Controls/InlineStyleControls';\nimport TagControls from './Controls/TagControls';\nimport {\n BlockTypeList,\n EditorConfigTypes,\n FontList,\n InlineStylesList,\n decorator,\n} from './constants';\n\nclass RichTextEditor extends Component {\n static decorator = decorator;\n\n wrapperRef = createRef();\n editor = createRef();\n\n focusEditor() {\n this.editor.current && this.editor.current.focus();\n }\n\n handleKeyCommand = (command, editorState) => {\n const newState = RichUtils.handleKeyCommand(editorState, command);\n if (newState) {\n this.props.onChange(newState);\n return true;\n }\n return false;\n };\n\n keyBindingFn = (evt) => {\n switch (evt.keyCode) {\n case 9:\n return this.onTab(evt);\n default:\n return getDefaultKeyBinding(evt);\n }\n };\n\n onTab = (evt) => {\n evt.stopPropagation();\n const { maxTabDepth, editorState, onChange } = this.props;\n onChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n };\n\n toggleButtonBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleSelectBlockType = (blockType) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleBlockType(editorState, blockType));\n };\n\n toggleInlineStyle = (inlineStyle) => {\n const { editorState, onChange } = this.props;\n onChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n };\n\n toggleLink = (newEditorState, entityKey) => {\n this.props.onChange(\n RichUtils.toggleLink(\n newEditorState,\n newEditorState.getSelection(),\n entityKey\n )\n );\n };\n\n insertText = (editorState, text) => {\n const newContent = Modifier.insertText(\n editorState.getCurrentContent(),\n editorState.getSelection(),\n text\n );\n this.props.onChange(\n EditorState.push(editorState, newContent, 'insert-characters'),\n () => this.focusEditor()\n );\n };\n\n getFontListConfigForPanelType = (panelType) => {\n const controlConfig = this.getControlConfigBySet(\n this.props.controlConfigSet\n );\n return controlConfig[panelType];\n };\n\n getControlConfigBySet = (config) => {\n const fontList = ((config && config.fontList) || Object.keys(FontList))\n .filter((f) => (typeof f === 'object' ? FontList[f.type] : FontList[f]))\n .map((f) => (f.label && f.style ? f : FontList[f]));\n const blockTypes = (\n (config && config.blockTypes) ||\n Object.keys(BlockTypeList)\n )\n .filter((f) =>\n typeof f === 'object' ? BlockTypeList[f.type] : BlockTypeList[f]\n )\n .map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n const inlineStyles = (\n (config && config.inlineStyles) ||\n Object.keys(InlineStylesList)\n )\n .filter((f) =>\n typeof f === 'object' ? InlineStylesList[f.type] : InlineStylesList[f]\n )\n .map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n return {\n fontList,\n blockTypes,\n inlineStyles,\n };\n };\n\n render() {\n const {\n className,\n showFontMenu,\n showInlineStyleMenu,\n showTextFormatMenu,\n showLinkMenu,\n label,\n tags,\n editorState,\n onChange,\n handleBeforeInput,\n } = this.props;\n\n const classNames = cx('editor-root', className);\n\n return (\n <div ref={this.wrapperRef}>\n {label && <Label>{label}</Label>}\n\n <div className={classNames}>\n <div className=\"controls-wrapper\">\n {showFontMenu && (\n <BlockTypeSelectControls\n editorState={editorState}\n onToggle={this.toggleSelectBlockType}\n blockTypes={this.getFontListConfigForPanelType('fontList')}\n />\n )}\n {showInlineStyleMenu && (\n <InlineStyleControls\n editorState={editorState}\n onToggle={this.toggleInlineStyle}\n inlineStyles={this.getFontListConfigForPanelType(\n 'inlineStyles'\n )}\n />\n )}\n {showTextFormatMenu && (\n <BlockTypeButtonControls\n editorState={editorState}\n onToggle={this.toggleButtonBlockType}\n blockTypes={this.getFontListConfigForPanelType('blockTypes')}\n />\n )}\n {showLinkMenu && (\n <BlockTypeLinkControls\n editorState={editorState}\n onToggle={this.toggleLink}\n />\n )}\n {tags && tags.length > 0 && (\n <TagControls\n editorState={editorState}\n tags={tags}\n onInsertTag={this.insertText}\n />\n )}\n </div>\n\n <div className=\"editor-wrapper\">\n <Editor\n ref={this.editor}\n editorState={editorState}\n handleKeyCommand={this.handleKeyCommand}\n onChange={onChange}\n handleBeforeInput={handleBeforeInput}\n keyBindingFn={this.keyBindingFn}\n spellCheck\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst styleShape = (configList) =>\n PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([...Object.values(configList)]),\n label: PropTypes.string,\n style: PropTypes.string,\n tooltip: PropTypes.string,\n hotKey: PropTypes.string,\n })\n ),\n ]);\n\nRichTextEditor.propTypes = {\n editorState: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n maxTabDepth: PropTypes.number,\n showFontMenu: PropTypes.bool,\n showInlineStyleMenu: PropTypes.bool,\n showTextFormatMenu: PropTypes.bool,\n showLinkMenu: PropTypes.bool,\n label: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.object),\n controlConfigSet: PropTypes.shape({\n fontList: styleShape(EditorConfigTypes.FONT_LIST),\n blockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n inlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n }),\n};\nRichTextEditor.defaultProps = {\n maxTabDepth: 4,\n showFontMenu: true,\n showInlineStyleMenu: true,\n showTextFormatMenu: true,\n showLinkMenu: true,\n label: '',\n};\n\nexport default RichTextEditor;\n","import { markdownToDraft, draftToMarkdown } from 'markdown-draft-js';\nimport { convertToRaw, convertFromRaw, EditorState } from 'draft-js';\nimport showdown from 'showdown';\n\nimport { decorator } from './constants';\n\nexport const editorStateToMarkdown = (editorState) => {\n const rawState = convertToRaw(editorState.getCurrentContent());\n return draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n if (!markdown) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = markdownToDraft(markdown, { preserveNewlines: true });\n const contentState = convertFromRaw(rawState);\n return EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n underline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n return converter.makeHtml(markdown);\n};\n","import React, { useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { ExpandablePanel } from '@entur/expand';\nimport {\n LanguageKey,\n LanguageOption,\n MultiLanguageValues,\n Stack,\n} from '@entur-partner/common';\nimport { FeedbackText, VariantType } from '@entur/form';\n\nimport {\n editorStateToMarkdown,\n markdownToEditorState,\n} from './RichTextEditor/markdownConvertion';\nimport RichTextEditor from './RichTextEditor';\nimport { MinifiedConfigTypes } from './RichTextEditor/constants';\n\ntype MultiLanguageInputProps = {\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n tags?: {\n tag: string;\n delimiter: string;\n label: string;\n }[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n language: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n language: { value: langKey, label, required },\n values,\n onChange,\n variant,\n feedback,\n tags,\n}: RichTextEditorForLanguageProps) => {\n const [editorState, setEditorState] = useState<EditorState>(\n markdownToEditorState(values[langKey])\n );\n\n const handleOnChange = (changedState: EditorState) => {\n const newValues = { ...values };\n const content = editorStateToMarkdown(changedState);\n if (values[langKey] && content === '\\n') {\n delete newValues[langKey];\n } else {\n newValues[langKey] = content;\n }\n\n setEditorState(changedState);\n onChange(newValues);\n };\n\n const feedbackText = feedback && feedback(langKey);\n\n return (\n <>\n <RichTextEditor\n label={required ? label + '*' : label}\n editorState={editorState}\n onChange={(changedState: EditorState) => handleOnChange(changedState)}\n controlConfigSet={MinifiedConfigTypes}\n tags={tags}\n />\n {variant && feedbackText?.length! > 0 && (\n <FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n )}\n </>\n );\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n name: string;\n title: string;\n languages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n name,\n title,\n languages,\n ...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map((lang) => (\n <div\n key={name + lang.value}\n data-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n >\n <RichTextEditorForLanguage language={lang} {...rest} />\n </div>\n ))}\n </Stack>\n </ExpandablePanel>\n);\n","import React from 'react';\nimport { EditorState } from 'draft-js';\nimport { convertFromHTML, convertToHTML } from 'draft-convert';\n\nimport { HtmlLink } from './Link';\nimport { decorator } from './constants';\n\n/* eslint-disable react/display-name */\n\nexport const entityToHtml = {\n entityToHTML: (entity, originalText) => {\n if (entity.type === 'LINK') {\n return <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n }\n return originalText;\n },\n};\n\nexport const htmlToEntity = {\n htmlToEntity: (nodeName, node, createEntity) => {\n if (nodeName === 'a') {\n return createEntity('LINK', 'MUTABLE', { url: node.href });\n }\n },\n};\n\n/* eslint-disable react/display-name */\n\nexport const htmlToEditorState = (html) => {\n if (!html) {\n return EditorState.createEmpty(decorator);\n }\n const rawState = convertFromHTML(htmlToEntity)(html);\n return EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n return convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["useI18N","_useTranslation","useTranslation","t","language","i18n","Error","withI18n","Component","WrappedComponent","props","React","createElement","_extends","BlockTypeDropdown","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","handleOnClick","selectedOption","onChange","_inheritsLoose","_proto","prototype","toItem","option","value","style","label","renderFormattedLabel","formattedLabelText","className","render","_this2","_this$props","options","selected","Dropdown","items","map","selectedItem","BlockTypeControls","_ref","editorState","blockTypes","onToggle","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","find","Key","Object","freeze","ENTER","getKey","event","keyCode","which","StyleButton","e","preventDefault","onToggleNoEvent","_this$props2","_this$props3","active","title","hotKey","classNames","cx","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","type","i","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","addLink","isCollapsed","currentContent","startKey","startOffset","getStartOffset","blockWithLinkAtBeginning","linkKey","getEntityAt","url","linkInstance","getEntity","getData","confirmLink","contentState","contentStateWithEntity","createEntity","entityKey","getLastCreatedEntityKey","newEditorState","EditorState","set","cancelLink","onLinkInputKeyDown","removeLink","_this$state","onClick","LinkIcon","CloseIcon","TextField","width","margin","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","InlineStyleControls","inlineStyles","currentStyle","getCurrentInlineStyle","has","TagControls","tagControlRef","createRef","isOpen","handleClickOutside","current","contains","handleTagClick","tag","delimiter","onInsertTag","delimiterStart","delimiterEnd","fullTag","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","tags","menuItems","OverflowMenuItem","id","icon","ref","DownArrowIcon","inline","Popover","open","OverflowMenu","arrayOf","isRequired","HtmlLink","children","href","Link","_props$contentState$g","findLinkEntities","contentBlock","callback","findEntityRanges","character","EditorConfigTypes","FONT_LIST","UNSTYLED","HEADER_ONE","HEADER_TWO","HEADER_THREE","HEADER_FOUR","HEADER_FIVE","HEADER_SIX","BLOCK_TYPES","UNORDERED_LIST","ORDERED_LIST","INLINE_STYLES","BOLD","ITALIC","UNDERLINE","FontList","unstyled","BlockTypeList","BulletListIcon","NumberListIcon","InlineStylesList","bold","BoldIcon","italic","ItalicIcon","underline","UnderlineIcon","MinifiedConfigTypes","fontList","values","decorator","CompositeDecorator","strategy","component","RichTextEditor","wrapperRef","editor","handleKeyCommand","command","newState","RichUtils","keyBindingFn","evt","onTab","getDefaultKeyBinding","stopPropagation","maxTabDepth","toggleButtonBlockType","blockType","toggleBlockType","toggleSelectBlockType","toggleInlineStyle","inlineStyle","_this$props4","toggleLink","insertText","text","newContent","Modifier","push","focusEditor","getFontListConfigForPanelType","panelType","controlConfig","getControlConfigBySet","controlConfigSet","config","keys","filter","f","focus","_this$props5","showFontMenu","showInlineStyleMenu","showTextFormatMenu","showLinkMenu","handleBeforeInput","Label","BlockTypeSelectControls","Editor","spellCheck","styleShape","configList","oneOfType","oneOf","shape","string","number","bool","defaultProps","editorStateToMarkdown","rawState","convertToRaw","draftToMarkdown","preserveNewlines","markdownToEditorState","markdown","createEmpty","markdownToDraft","convertFromRaw","createWithContent","converter","showdown","Converter","markdownToHtml","makeHtml","RichTextEditorForLanguage","_ref$language","langKey","required","variant","feedback","_useState","useState","setEditorState","handleOnChange","changedState","newValues","content","feedbackText","Fragment","FeedbackText","ExpandableMultiLanguageRichTextEditor","_ref2","name","languages","rest","_objectWithoutPropertiesLoose","_excluded","ExpandablePanel","defaultOpen","contentStyle","padding","marginTop","marginBottom","Stack","space","lang","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","htmlToEditorState","html","convertFromHTML","editorStateToHtml","convertToHTML"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur-partner/rich-text-editor",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.6",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/rich-text-editor.esm.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"react-i18next": "^12.0.0"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@entur-partner/common": "^8.0.
|
|
33
|
+
"@entur-partner/common": "^8.0.5",
|
|
34
34
|
"classnames": "^2.2.5",
|
|
35
35
|
"draft-convert": "^2.0.1",
|
|
36
36
|
"draft-js": "^0.11.7",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"reportFile": "jest-sonar-report.xml",
|
|
58
58
|
"indent": 4
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "31b0c0119884fb0424d24ea2714609a6245e213f"
|
|
61
61
|
}
|