@entur-partner/rich-text-editor 6.3.5 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -8
- package/dist/index.d.ts +41 -5
- package/dist/index.js +697 -8
- package/dist/styles.css +6179 -93
- package/package.json +108 -133
- package/dist/ExpandableMultiLanguageRichTextEditor.d.ts +0 -21
- package/dist/ExpandableMultiLanguageRichTextEditor.test.d.ts +0 -1
- package/dist/rich-text-editor.cjs.development.js +0 -884
- package/dist/rich-text-editor.cjs.development.js.map +0 -1
- package/dist/rich-text-editor.cjs.production.min.js +0 -2
- package/dist/rich-text-editor.cjs.production.min.js.map +0 -1
- package/dist/rich-text-editor.esm.js +0 -872
- package/dist/rich-text-editor.esm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor.esm.js","sources":["../src/events.js","../src/withI18n.js","../src/RichTextEditor/StyleButton/index.js","../src/RichTextEditor/Controls/BlockTypeButtonControls.js","../src/RichTextEditor/Controls/BlockTypeLinkControls.js","../src/RichTextEditor/BlockTypeDropdown/index.js","../src/RichTextEditor/Controls/BlockTypeSelectControls.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":["export const Key = Object.freeze({\n\tENTER: 13,\n});\n\nexport function getKey(event) {\n\treturn event.keyCode || event.which;\n}\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction useI18N() {\n\tconst {\n\t\tt,\n\t\ti18n: { language },\n\t} = useTranslation();\n\n\tif (\n\t\tlanguage !== \"nb\" &&\n\t\tlanguage !== \"en\" &&\n\t\tlanguage !== \"nb-NO\" &&\n\t\tlanguage !== \"en-GB\"\n\t) {\n\t\tthrow Error(\"Language must be either nb or en.\");\n\t}\n\n\treturn t;\n}\n\nexport function withI18n(Component) {\n\treturn function WrappedComponent(props) {\n\t\tconst t = useI18N();\n\t\treturn <Component {...props} i18n={t} />;\n\t};\n}\n","import \"./styles.scss\";\n\nimport cx from \"classnames\";\nimport React, { Component } from \"react\";\nimport { getKey, Key } from \"../../events\";\nimport { withI18n } from \"../../withI18n\";\n\nclass StyleButton extends Component {\n\tonToggle = (e) => {\n\t\tconst { style, onToggle } = this.props;\n\t\te.preventDefault();\n\t\tonToggle(style);\n\t};\n\n\tonToggleNoEvent = () => {\n\t\tconst { style, onToggle } = this.props;\n\t\tonToggle(style);\n\t};\n\n\trender() {\n\t\tconst { i18n, active, label, title, hotKey } = this.props;\n\n\t\tconst classNames = cx(\"editor-stylebutton\", { active });\n\n\t\treturn (\n\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Ignore for now.\n\t\t\t<div\n\t\t\t\tclassName={classNames}\n\t\t\t\tonMouseDown={this.onToggle}\n\t\t\t\ttitle={i18n(title) + hotKey}\n\t\t\t\t// biome-ignore lint/a11y/noNoninteractiveTabindex: Ignore for now.\n\t\t\t\ttabIndex={0}\n\t\t\t\tonKeyPress={(event) => {\n\t\t\t\t\tif (getKey(event) === Key.ENTER) {\n\t\t\t\t\t\tthis.onToggleNoEvent();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t);\n\t}\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\tconst { editorState, blockTypes, onToggle } = props;\n\tconst selection = editorState.getSelection();\n\tconst blockTypeStyle = editorState\n\t\t.getCurrentContent()\n\t\t.getBlockForKey(selection.getStartKey())\n\t\t.getType();\n\n\treturn (\n\t\t<div className=\"controls-group block-editor-controls\">\n\t\t\t{blockTypes.map((type) => (\n\t\t\t\t<StyleButton\n\t\t\t\t\tkey={type.style + type.label}\n\t\t\t\t\tactive={type.style === blockTypeStyle}\n\t\t\t\t\tlabel={type.label}\n\t\t\t\t\tonToggle={onToggle}\n\t\t\t\t\tstyle={type.style}\n\t\t\t\t\ttitle={type.tooltip}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport default BlockTypeButtonControls;\n","/** biome-ignore-all lint/a11y/noStaticElementInteractions: Ignore for now. */\n/** biome-ignore-all lint/a11y/noNoninteractiveTabindex: Ignore for now. */\n/** biome-ignore-all lint/a11y/useKeyWithClickEvents: Ignore for now. */\nimport \"./styles.scss\";\n\nimport { SecondarySquareButton } from \"@entur/button\";\nimport { TextField } from \"@entur/form\";\nimport { CheckIcon, CloseIcon, LinkIcon, UnlinkIcon } from \"@entur/icons\";\nimport { Unbutton } from \"@entur-partner/common\";\nimport { EditorState } from \"draft-js\";\nimport PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { getKey, Key } from \"../../events\";\nimport { withI18n } from \"../../withI18n\";\n\nclass BlockTypeLinkControls extends Component {\n\tstate = {\n\t\turlValue: \"\",\n\t\tshowUrlInput: false,\n\t\thasLink: false,\n\t};\n\n\tonUrlChange = (e) => {\n\t\tthis.setState({ urlValue: e.target.value });\n\t};\n\n\taddLink = (e) => {\n\t\te.preventDefault();\n\t\tconst { editorState } = this.props;\n\t\tconst selection = editorState.getSelection();\n\t\tif (!selection.isCollapsed()) {\n\t\t\tconst currentContent = editorState.getCurrentContent();\n\t\t\tconst startKey = selection.getStartKey();\n\t\t\tconst startOffset = selection.getStartOffset();\n\t\t\tconst blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n\t\t\tconst linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n\n\t\t\tlet url = \"\";\n\t\t\tif (linkKey) {\n\t\t\t\tconst linkInstance = currentContent.getEntity(linkKey);\n\t\t\t\turl = linkInstance.getData().url;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tshowUrlInput: true,\n\t\t\t\turlValue: url,\n\t\t\t\thasLink: !!url,\n\t\t\t});\n\t\t}\n\t};\n\n\tconfirmLink = (e) => {\n\t\te.preventDefault();\n\t\tconst { urlValue } = this.state;\n\t\tconst { editorState, onToggle } = this.props;\n\t\tconst contentState = editorState.getCurrentContent();\n\t\tconst contentStateWithEntity = contentState.createEntity(\n\t\t\t\"LINK\",\n\t\t\t\"MUTABLE\",\n\t\t\t{ url: urlValue },\n\t\t);\n\t\tconst entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n\t\tconst newEditorState = EditorState.set(editorState, {\n\t\t\tcurrentContent: contentStateWithEntity,\n\t\t});\n\t\tonToggle(newEditorState, entityKey);\n\t\tthis.setState({\n\t\t\tshowUrlInput: false,\n\t\t\turlValue: \"\",\n\t\t});\n\t};\n\n\tcancelLink = (e) => {\n\t\te.preventDefault();\n\t\tthis.setState({\n\t\t\tshowUrlInput: false,\n\t\t\turlValue: \"\",\n\t\t});\n\t};\n\n\tonLinkInputKeyDown = (e) => {\n\t\tif (getKey(e) === Key.ENTER) {\n\t\t\tthis.confirmLink(e);\n\t\t}\n\t};\n\n\tremoveLink = (e) => {\n\t\te.preventDefault();\n\t\tconst { editorState, onToggle } = this.props;\n\t\tconst { hasLink } = this.state;\n\t\tconst selection = editorState.getSelection();\n\t\tif (!selection.isCollapsed() && hasLink) {\n\t\t\tonToggle(editorState, null);\n\t\t\tthis.setState({\n\t\t\t\tshowUrlInput: false,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tconst { i18n } = this.props;\n\t\tconst { showUrlInput, hasLink } = this.state;\n\t\treturn (\n\t\t\t<div className=\"controls-group block-editor-controls link-controls\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"editor-stylebutton\"\n\t\t\t\t\ttitle={i18n(\"styles.link\")}\n\t\t\t\t\tonClick={this.addLink}\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t>\n\t\t\t\t\t<LinkIcon />\n\t\t\t\t</div>\n\n\t\t\t\t{showUrlInput && (\n\t\t\t\t\t<div className=\"url-input-container\">\n\t\t\t\t\t\t<span className=\"exit-button\" onMouseDown={this.cancelLink}>\n\t\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className=\"link-label\">{i18n(\"common.from\")}</div>\n\t\t\t\t\t\t<div className=\"url-input-form\">\n\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\tstyle={{ width: 250, margin: 5 }}\n\t\t\t\t\t\t\t\tonChange={this.onUrlChange}\n\t\t\t\t\t\t\t\tvalue={this.state.urlValue}\n\t\t\t\t\t\t\t\tonKeyDown={this.onLinkInputKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"https://example.com\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<SecondarySquareButton onMouseDown={this.confirmLink}>\n\t\t\t\t\t\t\t\t<CheckIcon width={15} height={15} />\n\t\t\t\t\t\t\t</SecondarySquareButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{hasLink && (\n\t\t\t\t\t\t\t<div className=\"remove-link\">\n\t\t\t\t\t\t\t\t<Unbutton\n\t\t\t\t\t\t\t\t\tonClick={this.removeLink}\n\t\t\t\t\t\t\t\t\ttitle={i18n(\"styles.unlink\")}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<UnlinkIcon />\n\t\t\t\t\t\t\t\t\t{i18n(\"styles.unlink\")}\n\t\t\t\t\t\t\t\t</Unbutton>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\nBlockTypeLinkControls.propTypes = {\n\teditorState: PropTypes.object,\n\tonToggle: PropTypes.func,\n};\n\nexport default withI18n(BlockTypeLinkControls);\n","import \"./styles.scss\";\n\nimport { Dropdown } from \"@entur/dropdown\";\nimport React, { Component } from \"react\";\n\nimport { withI18n } from \"../../withI18n\";\n\nclass BlockTypeDropdown extends Component {\n\thandleOnClick = (selectedOption) => {\n\t\tconst { onChange } = this.props;\n\t\tonChange(selectedOption);\n\t};\n\n\ttoItem(option) {\n\t\treturn {\n\t\t\tvalue: option.style,\n\t\t\tlabel: this.props.i18n(option.label),\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { options, selected, i18n } = this.props;\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-type-dropdown\"\n\t\t\t\titems={options.map((option) => this.toItem(option))}\n\t\t\t\tselectedItem={this.toItem(selected)}\n\t\t\t\tlabel={i18n(\"styles.style\")}\n\t\t\t\tonChange={(selectedItem) => this.handleOnClick(selectedItem.value)}\n\t\t\t/>\n\t\t);\n\t}\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\tconst selection = editorState.getSelection();\n\tconst blockTypeStyle = editorState\n\t\t.getCurrentContent()\n\t\t.getBlockForKey(selection.getStartKey())\n\t\t.getType();\n\n\tconst selectedOption =\n\t\tblockTypes.find((option) => option.style === blockTypeStyle) ||\n\t\tblockTypes[0];\n\n\treturn (\n\t\t<BlockTypeDropdown\n\t\t\toptions={blockTypes}\n\t\t\tselected={selectedOption}\n\t\t\tonChange={onToggle}\n\t\t/>\n\t);\n};\n\nexport default BlockTypeControls;\n","import \"./styles.scss\";\n\nimport React from \"react\";\n\nimport StyleButton from \"../StyleButton\";\n\nconst InlineStyleControls = (props) => {\n\tconst { editorState, inlineStyles } = props;\n\n\tconst currentStyle = editorState.getCurrentInlineStyle();\n\n\treturn (\n\t\t<div className=\"controls-group inline-editor-controls\">\n\t\t\t{inlineStyles.map((type) => (\n\t\t\t\t<StyleButton\n\t\t\t\t\tkey={type.style + type.label}\n\t\t\t\t\tactive={currentStyle.has(type.style)}\n\t\t\t\t\tlabel={type.label}\n\t\t\t\t\tonToggle={props.onToggle}\n\t\t\t\t\tstyle={type.style}\n\t\t\t\t\ttitle={type.tooltip}\n\t\t\t\t\thotKey={type.hotKey}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport default InlineStyleControls;\n","import \"./styles.scss\";\n\nimport { DownArrowIcon } from \"@entur/icons\";\nimport { OverflowMenu, OverflowMenuItem } from \"@entur/menu\";\nimport { Popover } from \"@entur/tooltip\";\nimport PropTypes from \"prop-types\";\nimport React, { Component, createRef } from \"react\";\n\nimport { withI18n } from \"../../withI18n\";\n\nclass TagControls extends Component {\n\ttagControlRef = createRef();\n\tstate = { isOpen: false };\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\thandleClickOutside = (e) => {\n\t\tif (\n\t\t\tthis.tagControlRef.current &&\n\t\t\t!this.tagControlRef.current.contains(e.target)\n\t\t) {\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\t};\n\n\thandleTagClick = (tag, delimiter) => {\n\t\tconst { editorState, onInsertTag } = this.props;\n\t\tconst delimiterStart = delimiter[0];\n\t\tconst delimiterEnd = delimiter[1];\n\t\tconst fullTag = `${delimiterStart}${tag}${delimiterEnd}`;\n\t\tonInsertTag(editorState, fullTag);\n\t};\n\n\trender() {\n\t\tconst { i18n, tags } = this.props;\n\t\tconst { isOpen } = this.state;\n\t\tconst menuItems = tags.map((tag) => {\n\t\t\tconst delimiter = tag.delimiter || \"{}\";\n\t\t\treturn (\n\t\t\t\t<OverflowMenuItem\n\t\t\t\t\tkey={tag.tag}\n\t\t\t\t\tclassName=\"tag-control\"\n\t\t\t\t\tid={`tag-control-${tag.tag}`}\n\t\t\t\t\tonClick={() => this.handleTagClick(tag.tag, delimiter)}\n\t\t\t\t>\n\t\t\t\t\t{tag.icon}\n\t\t\t\t\t<span className=\"tag-control-text\">{tag.label}</span>\n\t\t\t\t</OverflowMenuItem>\n\t\t\t);\n\t\t});\n\n\t\treturn (\n\t\t\t<div className=\"tag-control-dropdown\" ref={this.tagControlRef}>\n\t\t\t\t{/** biome-ignore lint/a11y/noStaticElementInteractions: Ignore for now. */}\n\t\t\t\t{/** biome-ignore lint/a11y/useKeyWithClickEvents: Ignore for now. */}\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"tag-control-header\"\n\t\t\t\t\tonClick={() => this.setState(({ isOpen }) => ({ isOpen: !isOpen }))}\n\t\t\t\t>\n\t\t\t\t\t{i18n(\"common.insert\")}\n\t\t\t\t\t<DownArrowIcon className=\"tag-control-chevron\" inline />\n\t\t\t\t</div>\n\t\t\t\t<Popover open={isOpen} className=\"tag-control-content\">\n\t\t\t\t\t<OverflowMenu className=\"action-menu\">{menuItems}</OverflowMenu>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTagControls.propTypes = {\n\teditorState: PropTypes.object,\n\ttags: PropTypes.arrayOf(PropTypes.object).isRequired,\n\tonInsertTag: PropTypes.func.isRequired,\n};\n\nexport default withI18n(TagControls);\n","import React from \"react\";\n\nexport const HtmlLink = ({ url, children }) => {\n\treturn <a href={url}>{children}</a>;\n};\n\nexport function findLinkEntities(contentBlock, callback, contentState) {\n\tcontentBlock.findEntityRanges((character) => {\n\t\tconst entityKey = character.getEntity();\n\t\treturn (\n\t\t\tentityKey !== null &&\n\t\t\tcontentState.getEntity(entityKey).getType() === \"LINK\"\n\t\t);\n\t}, callback);\n}\n\nconst Link = (props) => {\n\tconst { url } = props.contentState.getEntity(props.entityKey).getData();\n\treturn <HtmlLink url={url}>{props.children}</HtmlLink>;\n};\n\nexport default Link;\n","import {\n\tBoldIcon,\n\tBulletListIcon,\n\tItalicIcon,\n\tNumberListIcon,\n\tUnderlineIcon,\n} from \"@entur/icons\";\nimport { CompositeDecorator } from \"draft-js\";\nimport React from \"react\";\n\nimport Link, { findLinkEntities } from \"./Link\";\n\nexport const EditorConfigTypes = Object.freeze({\n\tFONT_LIST: {\n\t\tUNSTYLED: \"unstyled\",\n\t\tHEADER_ONE: \"header-one\",\n\t\tHEADER_TWO: \"header-two\",\n\t\tHEADER_THREE: \"header-three\",\n\t\tHEADER_FOUR: \"header-four\",\n\t\tHEADER_FIVE: \"header-five\",\n\t\tHEADER_SIX: \"header-six\",\n\t},\n\tBLOCK_TYPES: {\n\t\tUNORDERED_LIST: \"unordered-list\",\n\t\tORDERED_LIST: \"ordered-list\",\n\t},\n\tINLINE_STYLES: {\n\t\tBOLD: \"bold\",\n\t\tITALIC: \"italic\",\n\t\tUNDERLINE: \"underline\",\n\t},\n});\n\nexport const FontList = Object.freeze({\n\tunstyled: { label: \"styles.p\", style: \"unstyled\" },\n\t\"header-one\": { label: \"styles.h1\", style: \"header-one\" },\n\t\"header-two\": { label: \"styles.h2\", style: \"header-two\" },\n\t\"header-three\": { label: \"styles.h3\", style: \"header-three\" },\n\t\"header-four\": { label: \"styles.h4\", style: \"header-four\" },\n\t\"header-five\": { label: \"styles.h5\", style: \"header-five\" },\n\t\"header-six\": { label: \"styles.h6\", style: \"header-six\" },\n});\n\nexport const BlockTypeList = Object.freeze({\n\t\"unordered-list\": {\n\t\tlabel: <BulletListIcon />,\n\t\tstyle: \"unordered-list-item\",\n\t\ttooltip: \"styles.unordered_list_item\",\n\t},\n\t\"ordered-list\": {\n\t\tlabel: <NumberListIcon />,\n\t\tstyle: \"ordered-list-item\",\n\t\ttooltip: \"styles.ordered_list_item\",\n\t},\n});\n\nexport const InlineStylesList = Object.freeze({\n\tbold: {\n\t\tlabel: <BoldIcon />,\n\t\tstyle: \"BOLD\",\n\t\ttooltip: \"styles.bold\",\n\t\thotKey: \"(Ctrl+B)\",\n\t},\n\titalic: {\n\t\tlabel: <ItalicIcon />,\n\t\tstyle: \"ITALIC\",\n\t\ttooltip: \"styles.italic\",\n\t\thotKey: \"(Ctrl+I)\",\n\t},\n\tunderline: {\n\t\tlabel: <UnderlineIcon />,\n\t\tstyle: \"UNDERLINE\",\n\t\ttooltip: \"styles.underline\",\n\t\thotKey: \"(Ctrl+U)\",\n\t},\n});\n\nexport const MinifiedConfigTypes = Object.freeze({\n\tfontList: [\n\t\t{ type: \"unstyled\", label: \"styles.p\", style: \"unstyled\" },\n\t\t{ type: \"header-two\", label: \"styles.h1\", style: \"header-two\" },\n\t],\n\tblockTypes: Object.values(EditorConfigTypes.BLOCK_TYPES),\n\tinlineStyles: [\n\t\tEditorConfigTypes.INLINE_STYLES.BOLD,\n\t\tEditorConfigTypes.INLINE_STYLES.ITALIC,\n\t],\n});\nexport const decorator = new CompositeDecorator([\n\t{\n\t\tstrategy: findLinkEntities,\n\t\tcomponent: Link,\n\t},\n]);\n","import \"./styles.scss\";\n\nimport { Label } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport {\n\tEditor,\n\tEditorState,\n\tgetDefaultKeyBinding,\n\tModifier,\n\tRichUtils,\n} from \"draft-js\";\nimport PropTypes from \"prop-types\";\nimport React, { Component, createRef } from \"react\";\nimport BlockTypeButtonControls from \"./Controls/BlockTypeButtonControls\";\nimport BlockTypeLinkControls from \"./Controls/BlockTypeLinkControls\";\nimport BlockTypeSelectControls from \"./Controls/BlockTypeSelectControls\";\nimport InlineStyleControls from \"./Controls/InlineStyleControls\";\nimport TagControls from \"./Controls/TagControls\";\nimport {\n\tBlockTypeList,\n\tdecorator,\n\tEditorConfigTypes,\n\tFontList,\n\tInlineStylesList,\n} from \"./constants\";\n\nclass RichTextEditor extends Component {\n\tstatic decorator = decorator;\n\n\twrapperRef = createRef();\n\teditor = createRef();\n\n\tfocusEditor() {\n\t\tthis.editor.current?.focus();\n\t}\n\n\thandleKeyCommand = (command, editorState) => {\n\t\tconst newState = RichUtils.handleKeyCommand(editorState, command);\n\t\tif (newState) {\n\t\t\tthis.props.onChange(newState);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tkeyBindingFn = (evt) => {\n\t\tswitch (evt.keyCode) {\n\t\t\tcase 9:\n\t\t\t\treturn this.onTab(evt);\n\t\t\tdefault:\n\t\t\t\treturn getDefaultKeyBinding(evt);\n\t\t}\n\t};\n\n\tonTab = (evt) => {\n\t\tevt.stopPropagation();\n\t\tconst { maxTabDepth, editorState, onChange } = this.props;\n\t\tonChange(RichUtils.onTab(evt, editorState, maxTabDepth));\n\t};\n\n\ttoggleButtonBlockType = (blockType) => {\n\t\tconst { editorState, onChange } = this.props;\n\t\tonChange(RichUtils.toggleBlockType(editorState, blockType));\n\t};\n\n\ttoggleSelectBlockType = (blockType) => {\n\t\tconst { editorState, onChange } = this.props;\n\t\tonChange(RichUtils.toggleBlockType(editorState, blockType));\n\t};\n\n\ttoggleInlineStyle = (inlineStyle) => {\n\t\tconst { editorState, onChange } = this.props;\n\t\tonChange(RichUtils.toggleInlineStyle(editorState, inlineStyle));\n\t};\n\n\ttoggleLink = (newEditorState, entityKey) => {\n\t\tthis.props.onChange(\n\t\t\tRichUtils.toggleLink(\n\t\t\t\tnewEditorState,\n\t\t\t\tnewEditorState.getSelection(),\n\t\t\t\tentityKey,\n\t\t\t),\n\t\t);\n\t};\n\n\tinsertText = (editorState, text) => {\n\t\tconst newContent = Modifier.insertText(\n\t\t\teditorState.getCurrentContent(),\n\t\t\teditorState.getSelection(),\n\t\t\ttext,\n\t\t);\n\t\tthis.props.onChange(\n\t\t\tEditorState.push(editorState, newContent, \"insert-characters\"),\n\t\t\t() => this.focusEditor(),\n\t\t);\n\t};\n\n\tgetFontListConfigForPanelType = (panelType) => {\n\t\tconst controlConfig = this.getControlConfigBySet(\n\t\t\tthis.props.controlConfigSet,\n\t\t);\n\t\treturn controlConfig[panelType];\n\t};\n\n\tgetControlConfigBySet = (config) => {\n\t\tconst fontList = (config?.fontList || Object.keys(FontList))\n\t\t\t.filter((f) => (typeof f === \"object\" ? FontList[f.type] : FontList[f]))\n\t\t\t.map((f) => (f.label && f.style ? f : FontList[f]));\n\t\tconst blockTypes = (config?.blockTypes || Object.keys(BlockTypeList))\n\t\t\t.filter((f) =>\n\t\t\t\ttypeof f === \"object\" ? BlockTypeList[f.type] : BlockTypeList[f],\n\t\t\t)\n\t\t\t.map((f) => (f.label && f.style ? f : BlockTypeList[f]));\n\t\tconst inlineStyles = (config?.inlineStyles || Object.keys(InlineStylesList))\n\t\t\t.filter((f) =>\n\t\t\t\ttypeof f === \"object\" ? InlineStylesList[f.type] : InlineStylesList[f],\n\t\t\t)\n\t\t\t.map((f) => (f.label && f.style ? f : InlineStylesList[f]));\n\n\t\treturn {\n\t\t\tfontList,\n\t\t\tblockTypes,\n\t\t\tinlineStyles,\n\t\t};\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tshowFontMenu,\n\t\t\tshowInlineStyleMenu,\n\t\t\tshowTextFormatMenu,\n\t\t\tshowLinkMenu,\n\t\t\tlabel,\n\t\t\ttags,\n\t\t\teditorState,\n\t\t\tonChange,\n\t\t\thandleBeforeInput,\n\t\t} = this.props;\n\n\t\tconst classNames = cx(\"editor-root\", className);\n\n\t\treturn (\n\t\t\t<div ref={this.wrapperRef}>\n\t\t\t\t{label && <Label>{label}</Label>}\n\n\t\t\t\t<div className={classNames}>\n\t\t\t\t\t<div className=\"controls-wrapper\">\n\t\t\t\t\t\t{showFontMenu && (\n\t\t\t\t\t\t\t<BlockTypeSelectControls\n\t\t\t\t\t\t\t\teditorState={editorState}\n\t\t\t\t\t\t\t\tonToggle={this.toggleSelectBlockType}\n\t\t\t\t\t\t\t\tblockTypes={this.getFontListConfigForPanelType(\"fontList\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showInlineStyleMenu && (\n\t\t\t\t\t\t\t<InlineStyleControls\n\t\t\t\t\t\t\t\teditorState={editorState}\n\t\t\t\t\t\t\t\tonToggle={this.toggleInlineStyle}\n\t\t\t\t\t\t\t\tinlineStyles={this.getFontListConfigForPanelType(\n\t\t\t\t\t\t\t\t\t\"inlineStyles\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showTextFormatMenu && (\n\t\t\t\t\t\t\t<BlockTypeButtonControls\n\t\t\t\t\t\t\t\teditorState={editorState}\n\t\t\t\t\t\t\t\tonToggle={this.toggleButtonBlockType}\n\t\t\t\t\t\t\t\tblockTypes={this.getFontListConfigForPanelType(\"blockTypes\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showLinkMenu && (\n\t\t\t\t\t\t\t<BlockTypeLinkControls\n\t\t\t\t\t\t\t\teditorState={editorState}\n\t\t\t\t\t\t\t\tonToggle={this.toggleLink}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{tags && tags.length > 0 && (\n\t\t\t\t\t\t\t<TagControls\n\t\t\t\t\t\t\t\teditorState={editorState}\n\t\t\t\t\t\t\t\ttags={tags}\n\t\t\t\t\t\t\t\tonInsertTag={this.insertText}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"editor-wrapper\">\n\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\tref={this.editor}\n\t\t\t\t\t\t\teditorState={editorState}\n\t\t\t\t\t\t\thandleKeyCommand={this.handleKeyCommand}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\thandleBeforeInput={handleBeforeInput}\n\t\t\t\t\t\t\tkeyBindingFn={this.keyBindingFn}\n\t\t\t\t\t\t\tspellCheck\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styleShape = (configList) =>\n\tPropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.oneOf([...Object.values(configList)])),\n\t\tPropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\ttype: PropTypes.oneOf([...Object.values(configList)]),\n\t\t\t\tlabel: PropTypes.string,\n\t\t\t\tstyle: PropTypes.string,\n\t\t\t\ttooltip: PropTypes.string,\n\t\t\t\thotKey: PropTypes.string,\n\t\t\t}),\n\t\t),\n\t]);\n\nRichTextEditor.propTypes = {\n\teditorState: PropTypes.object.isRequired,\n\tonChange: PropTypes.func.isRequired,\n\tmaxTabDepth: PropTypes.number,\n\tshowFontMenu: PropTypes.bool,\n\tshowInlineStyleMenu: PropTypes.bool,\n\tshowTextFormatMenu: PropTypes.bool,\n\tshowLinkMenu: PropTypes.bool,\n\tlabel: PropTypes.string,\n\ttags: PropTypes.arrayOf(PropTypes.object),\n\tcontrolConfigSet: PropTypes.shape({\n\t\tfontList: styleShape(EditorConfigTypes.FONT_LIST),\n\t\tblockTypes: styleShape(EditorConfigTypes.BLOCK_TYPES),\n\t\tinlineStyles: styleShape(EditorConfigTypes.INLINE_STYLES),\n\t}),\n};\nRichTextEditor.defaultProps = {\n\tmaxTabDepth: 4,\n\tshowFontMenu: true,\n\tshowInlineStyleMenu: true,\n\tshowTextFormatMenu: true,\n\tshowLinkMenu: true,\n\tlabel: \"\",\n};\n\nexport default RichTextEditor;\n","import { convertFromRaw, convertToRaw, EditorState } from \"draft-js\";\nimport { draftToMarkdown, markdownToDraft } from \"markdown-draft-js\";\nimport showdown from \"showdown\";\n\nimport { decorator } from \"./constants\";\n\nexport const editorStateToMarkdown = (editorState) => {\n\tconst rawState = convertToRaw(editorState.getCurrentContent());\n\treturn draftToMarkdown(rawState, { preserveNewlines: true });\n};\n\nexport const markdownToEditorState = (markdown) => {\n\tif (!markdown) {\n\t\treturn EditorState.createEmpty(decorator);\n\t}\n\tconst rawState = markdownToDraft(markdown, { preserveNewlines: true });\n\tconst contentState = convertFromRaw(rawState);\n\treturn EditorState.createWithContent(contentState, decorator);\n};\n\nconst converter = new showdown.Converter({\n\tunderline: true,\n});\n\nexport const markdownToHtml = (markdown) => {\n\treturn converter.makeHtml(markdown);\n};\n","import { ExpandablePanel } from \"@entur/expand\";\nimport { FeedbackText, type VariantType } from \"@entur/form\";\nimport {\n\ttype LanguageKey,\n\ttype LanguageOption,\n\ttype MultiLanguageValues,\n\tStack,\n} from \"@entur-partner/common\";\nimport type { EditorState } from \"draft-js\";\nimport React, { useState } from \"react\";\nimport RichTextEditor from \"./RichTextEditor\";\nimport { MinifiedConfigTypes } from \"./RichTextEditor/constants\";\nimport {\n\teditorStateToMarkdown,\n\tmarkdownToEditorState,\n} from \"./RichTextEditor/markdownConvertion\";\n\ntype MultiLanguageInputProps = {\n\tvalues: MultiLanguageValues;\n\tonChange: (values: MultiLanguageValues) => void;\n\tvariant?: (lang: LanguageKey) => VariantType;\n\tfeedback?: (lang: LanguageKey) => string;\n\ttags?: {\n\t\ttag: string;\n\t\tdelimiter: string;\n\t\tlabel: string;\n\t}[];\n};\n\ntype RichTextEditorForLanguageProps = MultiLanguageInputProps & {\n\tlanguage: LanguageOption;\n};\n\nconst RichTextEditorForLanguage = ({\n\tlanguage: { value: langKey, label, required },\n\tvalues,\n\tonChange,\n\tvariant,\n\tfeedback,\n\ttags,\n}: RichTextEditorForLanguageProps) => {\n\tconst [editorState, setEditorState] = useState<EditorState>(\n\t\tmarkdownToEditorState(values[langKey]),\n\t);\n\n\tconst handleOnChange = (changedState: EditorState) => {\n\t\tconst newValues = { ...values };\n\t\tconst content = editorStateToMarkdown(changedState);\n\t\tif (values[langKey] && content === \"\\n\") {\n\t\t\tdelete newValues[langKey];\n\t\t} else {\n\t\t\tnewValues[langKey] = content;\n\t\t}\n\n\t\tsetEditorState(changedState);\n\t\tonChange(newValues);\n\t};\n\n\tconst feedbackText = feedback?.(langKey);\n\n\treturn (\n\t\t<>\n\t\t\t<RichTextEditor\n\t\t\t\tlabel={required ? `${label}*` : label}\n\t\t\t\teditorState={editorState}\n\t\t\t\tonChange={(changedState: EditorState) => handleOnChange(changedState)}\n\t\t\t\tcontrolConfigSet={MinifiedConfigTypes}\n\t\t\t\ttags={tags}\n\t\t\t/>\n\t\t\t{variant && feedbackText && feedbackText.length > 0 && (\n\t\t\t\t<FeedbackText variant={variant(langKey)}>{feedbackText}</FeedbackText>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\ntype ExpandableMultiLanguageRichTextEditorProps = MultiLanguageInputProps & {\n\tname: string;\n\ttitle: string;\n\tlanguages: LanguageOption[];\n};\n\nexport const ExpandableMultiLanguageRichTextEditor = ({\n\tname,\n\ttitle,\n\tlanguages,\n\t...rest\n}: ExpandableMultiLanguageRichTextEditorProps) => (\n\t<ExpandablePanel\n\t\ttitle={title}\n\t\tdefaultOpen\n\t\tcontentStyle={{\n\t\t\tpadding: \"4px 4px 4px 4px\",\n\t\t\tmarginTop: \"16px\",\n\t\t\tmarginBottom: \"16px\",\n\t\t}}\n\t>\n\t\t<Stack space=\"medium\">\n\t\t\t{languages.map((lang) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={name + lang.value}\n\t\t\t\t\tdata-testid={`multi-lang-rich-text-${name}-${lang.value}`}\n\t\t\t\t>\n\t\t\t\t\t<RichTextEditorForLanguage language={lang} {...rest} />\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</Stack>\n\t</ExpandablePanel>\n);\n","import { convertFromHTML, convertToHTML } from \"draft-convert\";\nimport { EditorState } from \"draft-js\";\nimport React from \"react\";\nimport { decorator } from \"./constants\";\nimport { HtmlLink } from \"./Link\";\n\nexport const htmlToEntity = {\n\thtmlToEntity: (nodeName, node, createEntity) => {\n\t\tif (nodeName === \"a\") {\n\t\t\treturn createEntity(\"LINK\", \"MUTABLE\", { url: node.href });\n\t\t}\n\t},\n};\n\nexport const entityToHtml = {\n\tentityToHTML: (entity, originalText) => {\n\t\tif (entity.type === \"LINK\") {\n\t\t\treturn <HtmlLink url={entity.data.url}>{originalText}</HtmlLink>;\n\t\t}\n\t\treturn originalText;\n\t},\n};\n\nexport const htmlToEditorState = (html) => {\n\tif (!html) {\n\t\treturn EditorState.createEmpty(decorator);\n\t}\n\tconst rawState = convertFromHTML(htmlToEntity)(html);\n\treturn EditorState.createWithContent(rawState, decorator);\n};\n\nexport const editorStateToHtml = (editorState) => {\n\treturn convertToHTML(entityToHtml)(editorState.getCurrentContent());\n};\n"],"names":["Key","Object","freeze","ENTER","getKey","event","keyCode","which","useI18N","_useTranslation","useTranslation","t","language","i18n","Error","withI18n","Component","WrappedComponent","props","React","createElement","_extends","StyleButton","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","onToggle","e","_this$props","style","preventDefault","onToggleNoEvent","_this$props2","_inheritsLoose","_proto","prototype","render","_this2","_this$props3","active","label","title","hotKey","classNames","cx","className","onMouseDown","tabIndex","onKeyPress","BlockTypeButtonControls","editorState","blockTypes","selection","getSelection","blockTypeStyle","getCurrentContent","getBlockForKey","getStartKey","getType","map","type","key","tooltip","BlockTypeLinkControls","state","urlValue","showUrlInput","hasLink","onUrlChange","setState","target","value","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","onChange","onKeyDown","placeholder","SecondarySquareButton","CheckIcon","height","Unbutton","UnlinkIcon","propTypes","PropTypes","object","func","BlockTypeDropdown","handleOnClick","selectedOption","toItem","option","options","selected","Dropdown","items","selectedItem","BlockTypeControls","_ref","find","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","findLinkEntities","contentBlock","callback","findEntityRanges","character","Link","_props$contentState$g","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","_this$editor$current","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","htmlToEntity","nodeName","node","entityToHtml","entityToHTML","entity","originalText","data","htmlToEditorState","html","convertFromHTML","editorStateToHtml","convertToHTML"],"mappings":"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"}
|