@entur-partner/rich-text-editor 6.2.4-alpha.0 → 6.2.4-alpha.2
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/dist/ExpandableMultiLanguageRichTextEditor.d.ts +21 -21
- package/dist/index.d.ts +5 -5
- package/dist/rich-text-editor.cjs.development.js +103 -122
- package/dist/rich-text-editor.cjs.development.js.map +1 -1
- package/dist/rich-text-editor.cjs.production.min.js +1 -1
- package/dist/rich-text-editor.cjs.production.min.js.map +1 -1
- package/dist/rich-text-editor.esm.js +21 -33
- package/dist/rich-text-editor.esm.js.map +1 -1
- package/package.json +3 -3
- package/dist/RichTextEditor/BlockTypeDropdown/index.d.ts +0 -3
- package/dist/RichTextEditor/Controls/BlockTypeButtonControls.d.ts +0 -3
- package/dist/RichTextEditor/Controls/BlockTypeLinkControls.d.ts +0 -3
- package/dist/RichTextEditor/Controls/BlockTypeSelectControls.d.ts +0 -7
- package/dist/RichTextEditor/Controls/InlineStyleControls.d.ts +0 -3
- package/dist/RichTextEditor/Controls/TagControls.d.ts +0 -3
- package/dist/RichTextEditor/Link/index.d.ts +0 -8
- package/dist/RichTextEditor/StyleButton/index.d.ts +0 -3
- package/dist/RichTextEditor/constants.d.ts +0 -94
- package/dist/RichTextEditor/htmlConvertion.d.ts +0 -9
- package/dist/RichTextEditor/index.d.ts +0 -58
- package/dist/RichTextEditor/markdownConvertion.d.ts +0 -4
- package/dist/events.d.ts +0 -4
- package/dist/withI18n.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor.cjs.development.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.renderFormattedLabel(option.label),\n\t\t};\n\t}\n\n\trenderFormattedLabel(label) {\n\t\tconst formattedLabelText = this.props.i18n(label);\n\t\tswitch (label) {\n\t\t\tcase \"styles.p\":\n\t\t\t\treturn <div className=\"default-p\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h1\":\n\t\t\t\treturn <div className=\"default-h1\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h2\":\n\t\t\t\treturn <div className=\"default-h2\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h3\":\n\t\t\t\treturn <div className=\"default-h3\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h4\":\n\t\t\t\treturn <div className=\"default-h4\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h5\":\n\t\t\t\treturn <div className=\"default-h5\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h6\":\n\t\t\t\treturn <div className=\"default-h6\">{formattedLabelText}</div>;\n\t\t\tdefault:\n\t\t\t\treturn <p>{formattedLabelText}</p>;\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\nconst Link = (props) => {\n\tconst { url } = props.contentState.getEntity(props.entityKey).getData();\n\treturn <HtmlLink url={url}>{props.children}</HtmlLink>;\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\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 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 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 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","renderFormattedLabel","formattedLabelText","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","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","_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","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/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.renderFormattedLabel(option.label),\n\t\t};\n\t}\n\n\trenderFormattedLabel(label) {\n\t\tconst formattedLabelText = this.props.i18n(label);\n\t\tswitch (label) {\n\t\t\tcase \"styles.p\":\n\t\t\t\treturn <div className=\"default-p\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h1\":\n\t\t\t\treturn <div className=\"default-h1\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h2\":\n\t\t\t\treturn <div className=\"default-h2\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h3\":\n\t\t\t\treturn <div className=\"default-h3\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h4\":\n\t\t\t\treturn <div className=\"default-h4\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h5\":\n\t\t\t\treturn <div className=\"default-h5\">{formattedLabelText}</div>;\n\t\t\tcase \"styles.h6\":\n\t\t\t\treturn <div className=\"default-h6\">{formattedLabelText}</div>;\n\t\t\tdefault:\n\t\t\t\treturn <p>{formattedLabelText}</p>;\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\nconst Link = (props) => {\n\tconst { url } = props.contentState.getEntity(props.entityKey).getData();\n\treturn <HtmlLink url={url}>{props.children}</HtmlLink>;\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\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 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 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 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","renderFormattedLabel","formattedLabelText","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","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","_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","entityToHtml","entityToHTML","entity","originalText","data","htmlToEntity","nodeName","node","htmlToEditorState","html","convertFromHTML","editorStateToHtml","convertToHTML"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/expand"),t=require("@entur/form"),n=require("@entur-partner/common"),r=require("react"),l=require("@entur/typography"),o=require("classnames"),a=require("draft-js"),i=require("prop-types"),u=require("react-i18next"),s=require("@entur/button"),c=require("@entur/icons"),d=require("@entur/dropdown"),f=require("@entur/menu"),p=require("@entur/tooltip"),g=require("markdown-draft-js"),y=require("showdown"),h=require("draft-convert");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var E=m(r),v=m(o),b=m(i),T=m(y);function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},S.apply(this,arguments)}function C(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,k(e,t)}function k(e,t){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},k(e,t)}var L=Object.freeze({ENTER:13});function w(e){return e.keyCode||e.which}function I(e){return function(t){var n=function(){var e=u.useTranslation(),t=e.t,n=e.i18n.language;if("nb"!==n&&"en"!==n&&"nb-NO"!==n&&"en-GB"!==n)throw Error("Language must be either nb or en.");return t}();return E.default.createElement(e,S({},t,{i18n:n}))}}var N=I(function(e){function t(){for(var t,n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return(t=e.call.apply(e,[this].concat(r))||this).onToggle=function(e){var n=t.props,r=n.style,l=n.onToggle;e.preventDefault(),l(r)},t.onToggleNoEvent=function(){var e=t.props;(0,e.onToggle)(e.style)},t}return C(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.i18n,r=t.label,l=t.title,o=t.hotKey,a=v.default("editor-stylebutton",{active:t.active});return E.default.createElement("div",{className:a,onMouseDown:this.onToggle,title:n(l)+o,tabIndex:0,onKeyPress:function(t){w(t)===L.ENTER&&e.onToggleNoEvent()}},r)},t}(r.Component)),O=function(e){var t=e.editorState,n=e.blockTypes,r=e.onToggle,l=t.getSelection(),o=t.getCurrentContent().getBlockForKey(l.getStartKey()).getType();return E.default.createElement("div",{className:"controls-group block-editor-controls"},n.map((function(e){return E.default.createElement(N,{key:e.style+e.label,active:e.style===o,label:e.label,onToggle:r,style:e.style,title:e.tooltip})})))},x=function(e){function r(){for(var t,n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return(t=e.call.apply(e,[this].concat(r))||this).state={urlValue:"",showUrlInput:!1,hasLink:!1},t.onUrlChange=function(e){t.setState({urlValue:e.target.value})},t.addLink=function(e){e.preventDefault();var n=t.props.editorState,r=n.getSelection();if(!r.isCollapsed()){var l=n.getCurrentContent(),o=r.getStartKey(),a=r.getStartOffset(),i=l.getBlockForKey(o).getEntityAt(a),u="";i&&(u=l.getEntity(i).getData().url),t.setState({showUrlInput:!0,urlValue:u,hasLink:!!u})}},t.confirmLink=function(e){e.preventDefault();var n=t.state.urlValue,r=t.props,l=r.editorState,o=r.onToggle,i=l.getCurrentContent().createEntity("LINK","MUTABLE",{url:n}),u=i.getLastCreatedEntityKey();o(a.EditorState.set(l,{currentContent:i}),u),t.setState({showUrlInput:!1,urlValue:""})},t.cancelLink=function(e){e.preventDefault(),t.setState({showUrlInput:!1,urlValue:""})},t.onLinkInputKeyDown=function(e){w(e)===L.ENTER&&t.confirmLink(e)},t.removeLink=function(e){e.preventDefault();var n=t.props,r=n.editorState,l=n.onToggle,o=t.state.hasLink;!r.getSelection().isCollapsed()&&o&&(l(r,null),t.setState({showUrlInput:!1}))},t}return C(r,e),r.prototype.render=function(){var e=this.props.i18n,r=this.state,l=r.showUrlInput,o=r.hasLink;return E.default.createElement("div",{className:"controls-group block-editor-controls link-controls"},E.default.createElement("div",{className:"editor-stylebutton",title:e("styles.link"),onClick:this.addLink,tabIndex:0},E.default.createElement(c.LinkIcon,null)),l&&E.default.createElement("div",{className:"url-input-container"},E.default.createElement("span",{className:"exit-button",onMouseDown:this.cancelLink},E.default.createElement(c.CloseIcon,null)),E.default.createElement("div",{className:"link-label"},e("common.from")),E.default.createElement("div",{className:"url-input-form"},E.default.createElement(t.TextField,{style:{width:250,margin:5},onChange:this.onUrlChange,value:this.state.urlValue,onKeyDown:this.onLinkInputKeyDown,placeholder:"https://example.com"}),E.default.createElement(s.SecondarySquareButton,{onMouseDown:this.confirmLink},E.default.createElement(c.CheckIcon,{width:15,height:15}))),o&&E.default.createElement("div",{className:"remove-link"},E.default.createElement(n.Unbutton,{onClick:this.removeLink,title:e("styles.unlink")},E.default.createElement(c.UnlinkIcon,null),e("styles.unlink")))))},r}(r.Component);x.propTypes={editorState:b.default.object,onToggle:b.default.func};var R=I(x),D=I(function(e){function t(){for(var t,n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return(t=e.call.apply(e,[this].concat(r))||this).handleOnClick=function(e){(0,t.props.onChange)(e)},t}C(t,e);var n=t.prototype;return n.toItem=function(e){return{value:e.style,label:this.renderFormattedLabel(e.label)}},n.renderFormattedLabel=function(e){var t=this.props.i18n(e);switch(e){case"styles.p":return E.default.createElement("div",{className:"default-p"},t);case"styles.h1":return E.default.createElement("div",{className:"default-h1"},t);case"styles.h2":return E.default.createElement("div",{className:"default-h2"},t);case"styles.h3":return E.default.createElement("div",{className:"default-h3"},t);case"styles.h4":return E.default.createElement("div",{className:"default-h4"},t);case"styles.h5":return E.default.createElement("div",{className:"default-h5"},t);case"styles.h6":return E.default.createElement("div",{className:"default-h6"},t);default:return E.default.createElement("p",null,t)}},n.render=function(){var e=this,t=this.props,n=t.selected,r=t.i18n;return E.default.createElement(d.Dropdown,{className:"block-type-dropdown",items:t.options.map((function(t){return e.toItem(t)})),selectedItem:this.toItem(n),label:r("styles.style"),onChange:function(t){return e.handleOnClick(t.value)}})},t}(r.Component)),B=function(e){var t=e.editorState,n=e.blockTypes,r=e.onToggle,l=t.getSelection(),o=t.getCurrentContent().getBlockForKey(l.getStartKey()).getType(),a=n.find((function(e){return e.style===o}))||n[0];return E.default.createElement(D,{options:n,selected:a,onChange:r})},j=function(e){var t=e.inlineStyles,n=e.editorState.getCurrentInlineStyle();return E.default.createElement("div",{className:"controls-group inline-editor-controls"},t.map((function(t){return E.default.createElement(N,{key:t.style+t.label,active:n.has(t.style),label:t.label,onToggle:e.onToggle,style:t.style,title:t.tooltip,hotKey:t.hotKey})})))},F=function(e){function t(){for(var t,n=arguments.length,l=new Array(n),o=0;o<n;o++)l[o]=arguments[o];return(t=e.call.apply(e,[this].concat(l))||this).tagControlRef=r.createRef(),t.state={isOpen:!1},t.handleClickOutside=function(e){t.tagControlRef.current&&!t.tagControlRef.current.contains(e.target)&&t.setState({isOpen:!1})},t.handleTagClick=function(e,n){var r=t.props;(0,r.onInsertTag)(r.editorState,""+n[0]+e+n[1])},t}C(t,e);var n=t.prototype;return n.componentDidMount=function(){document.addEventListener("mousedown",this.handleClickOutside)},n.componentWillUnmount=function(){document.removeEventListener("mousedown",this.handleClickOutside)},n.render=function(){var e=this,t=this.props,n=t.i18n,r=this.state.isOpen,l=t.tags.map((function(t){var n=t.delimiter||"{}";return E.default.createElement(f.OverflowMenuItem,{key:t.tag,className:"tag-control",id:"tag-control-"+t.tag,onClick:function(){return e.handleTagClick(t.tag,n)}},t.icon,E.default.createElement("span",{className:"tag-control-text"},t.label))}));return E.default.createElement("div",{className:"tag-control-dropdown",ref:this.tagControlRef},E.default.createElement("div",{className:"tag-control-header",onClick:function(){return e.setState((function(e){return{isOpen:!e.isOpen}}))}},n("common.insert"),E.default.createElement(c.DownArrowIcon,{className:"tag-control-chevron",inline:!0})),E.default.createElement(p.Popover,{open:r,className:"tag-control-content"},E.default.createElement(f.OverflowMenu,{className:"action-menu"},l)))},t}(r.Component);F.propTypes={editorState:b.default.object,tags:b.default.arrayOf(b.default.object).isRequired,onInsertTag:b.default.func.isRequired};var K=I(F),M=function(e){return E.default.createElement("a",{href:e.url},e.children)},_=Object.freeze({FONT_LIST:{UNSTYLED:"unstyled",HEADER_ONE:"header-one",HEADER_TWO:"header-two",HEADER_THREE:"header-three",HEADER_FOUR:"header-four",HEADER_FIVE:"header-five",HEADER_SIX:"header-six"},BLOCK_TYPES:{UNORDERED_LIST:"unordered-list",ORDERED_LIST:"ordered-list"},INLINE_STYLES:{BOLD:"bold",ITALIC:"italic",UNDERLINE:"underline"}}),U=Object.freeze({unstyled:{label:"styles.p",style:"unstyled"},"header-one":{label:"styles.h1",style:"header-one"},"header-two":{label:"styles.h2",style:"header-two"},"header-three":{label:"styles.h3",style:"header-three"},"header-four":{label:"styles.h4",style:"header-four"},"header-five":{label:"styles.h5",style:"header-five"},"header-six":{label:"styles.h6",style:"header-six"}}),q=Object.freeze({"unordered-list":{label:E.default.createElement(c.BulletListIcon,null),style:"unordered-list-item",tooltip:"styles.unordered_list_item"},"ordered-list":{label:E.default.createElement(c.NumberListIcon,null),style:"ordered-list-item",tooltip:"styles.ordered_list_item"}}),A=Object.freeze({bold:{label:E.default.createElement(c.BoldIcon,null),style:"BOLD",tooltip:"styles.bold",hotKey:"(Ctrl+B)"},italic:{label:E.default.createElement(c.ItalicIcon,null),style:"ITALIC",tooltip:"styles.italic",hotKey:"(Ctrl+I)"},underline:{label:E.default.createElement(c.UnderlineIcon,null),style:"UNDERLINE",tooltip:"styles.underline",hotKey:"(Ctrl+U)"}}),P=Object.freeze({fontList:[{type:"unstyled",label:"styles.p",style:"unstyled"},{type:"header-two",label:"styles.h1",style:"header-two"}],blockTypes:Object.values(_.BLOCK_TYPES),inlineStyles:[_.INLINE_STYLES.BOLD,_.INLINE_STYLES.ITALIC]}),H=new a.CompositeDecorator([{strategy:function(e,t,n){e.findEntityRanges((function(e){var t=e.getEntity();return null!==t&&"LINK"===n.getEntity(t).getType()}),t)},component:function(e){var t=e.contentState.getEntity(e.entityKey).getData();return E.default.createElement(M,{url:t.url},e.children)}}]),V=function(e){function t(){for(var t,n=arguments.length,l=new Array(n),o=0;o<n;o++)l[o]=arguments[o];return(t=e.call.apply(e,[this].concat(l))||this).wrapperRef=r.createRef(),t.editor=r.createRef(),t.handleKeyCommand=function(e,n){var r=a.RichUtils.handleKeyCommand(n,e);return!!r&&(t.props.onChange(r),!0)},t.keyBindingFn=function(e){return 9===e.keyCode?t.onTab(e):a.getDefaultKeyBinding(e)},t.onTab=function(e){e.stopPropagation();var n=t.props;(0,n.onChange)(a.RichUtils.onTab(e,n.editorState,n.maxTabDepth))},t.toggleButtonBlockType=function(e){var n=t.props;(0,n.onChange)(a.RichUtils.toggleBlockType(n.editorState,e))},t.toggleSelectBlockType=function(e){var n=t.props;(0,n.onChange)(a.RichUtils.toggleBlockType(n.editorState,e))},t.toggleInlineStyle=function(e){var n=t.props;(0,n.onChange)(a.RichUtils.toggleInlineStyle(n.editorState,e))},t.toggleLink=function(e,n){t.props.onChange(a.RichUtils.toggleLink(e,e.getSelection(),n))},t.insertText=function(e,n){var r=a.Modifier.insertText(e.getCurrentContent(),e.getSelection(),n);t.props.onChange(a.EditorState.push(e,r,"insert-characters"),(function(){return t.focusEditor()}))},t.getFontListConfigForPanelType=function(e){return t.getControlConfigBySet(t.props.controlConfigSet)[e]},t.getControlConfigBySet=function(e){return{fontList:((null==e?void 0:e.fontList)||Object.keys(U)).filter((function(e){return"object"==typeof e?U[e.type]:U[e]})).map((function(e){return e.label&&e.style?e:U[e]})),blockTypes:((null==e?void 0:e.blockTypes)||Object.keys(q)).filter((function(e){return"object"==typeof e?q[e.type]:q[e]})).map((function(e){return e.label&&e.style?e:q[e]})),inlineStyles:((null==e?void 0:e.inlineStyles)||Object.keys(A)).filter((function(e){return"object"==typeof e?A[e.type]:A[e]})).map((function(e){return e.label&&e.style?e:A[e]}))}},t}C(t,e);var n=t.prototype;return n.focusEditor=function(){var e;null==(e=this.editor.current)||e.focus()},n.render=function(){var e=this.props,t=e.showFontMenu,n=e.showInlineStyleMenu,r=e.showTextFormatMenu,o=e.showLinkMenu,i=e.label,u=e.tags,s=e.editorState,c=e.onChange,d=e.handleBeforeInput,f=v.default("editor-root",e.className);return E.default.createElement("div",{ref:this.wrapperRef},i&&E.default.createElement(l.Label,null,i),E.default.createElement("div",{className:f},E.default.createElement("div",{className:"controls-wrapper"},t&&E.default.createElement(B,{editorState:s,onToggle:this.toggleSelectBlockType,blockTypes:this.getFontListConfigForPanelType("fontList")}),n&&E.default.createElement(j,{editorState:s,onToggle:this.toggleInlineStyle,inlineStyles:this.getFontListConfigForPanelType("inlineStyles")}),r&&E.default.createElement(O,{editorState:s,onToggle:this.toggleButtonBlockType,blockTypes:this.getFontListConfigForPanelType("blockTypes")}),o&&E.default.createElement(R,{editorState:s,onToggle:this.toggleLink}),u&&u.length>0&&E.default.createElement(K,{editorState:s,tags:u,onInsertTag:this.insertText})),E.default.createElement("div",{className:"editor-wrapper"},E.default.createElement(a.Editor,{ref:this.editor,editorState:s,handleKeyCommand:this.handleKeyCommand,onChange:c,handleBeforeInput:d,keyBindingFn:this.keyBindingFn,spellCheck:!0}))))},t}(r.Component);V.decorator=H;var Y=function(e){return b.default.oneOfType([b.default.arrayOf(b.default.oneOf([].concat(Object.values(e)))),b.default.arrayOf(b.default.shape({type:b.default.oneOf([].concat(Object.values(e))),label:b.default.string,style:b.default.string,tooltip:b.default.string,hotKey:b.default.string}))])};V.propTypes={editorState:b.default.object.isRequired,onChange:b.default.func.isRequired,maxTabDepth:b.default.number,showFontMenu:b.default.bool,showInlineStyleMenu:b.default.bool,showTextFormatMenu:b.default.bool,showLinkMenu:b.default.bool,label:b.default.string,tags:b.default.arrayOf(b.default.object),controlConfigSet:b.default.shape({fontList:Y(_.FONT_LIST),blockTypes:Y(_.BLOCK_TYPES),inlineStyles:Y(_.INLINE_STYLES)})},V.defaultProps={maxTabDepth:4,showFontMenu:!0,showInlineStyleMenu:!0,showTextFormatMenu:!0,showLinkMenu:!0,label:""};var z=function(e){var t=a.convertToRaw(e.getCurrentContent());return g.draftToMarkdown(t,{preserveNewlines:!0})},W=function(e){if(!e)return a.EditorState.createEmpty(H);var t=g.markdownToDraft(e,{preserveNewlines:!0}),n=a.convertFromRaw(t);return a.EditorState.createWithContent(n,H)},G=new T.default.Converter({underline:!0}),X=["name","title","languages"],J=function(e){var n=e.language,l=n.value,o=n.label,a=n.required,i=e.values,u=e.onChange,s=e.variant,c=e.feedback,d=e.tags,f=r.useState(W(i[l])),p=f[0],g=f[1],y=null==c?void 0:c(l);return E.default.createElement(E.default.Fragment,null,E.default.createElement(V,{label:a?o+"*":o,editorState:p,onChange:function(e){return function(e){var t=S({},i),n=z(e);i[l]&&"\n"===n?delete t[l]:t[l]=n,g(e),u(t)}(e)},controlConfigSet:P,tags:d}),s&&y&&y.length>0&&E.default.createElement(t.FeedbackText,{variant:s(l)},y))},Q={entityToHTML:function(e,t){return"LINK"===e.type?E.default.createElement(M,{url:e.data.url},t):t}},Z={htmlToEntity:function(e,t,n){if("a"===e)return n("LINK","MUTABLE",{url:t.href})}};exports.EditorConfigTypes=_,exports.ExpandableMultiLanguageRichTextEditor=function(t){var r=t.name,l=t.title,o=t.languages,a=function(e,t){if(null==e)return{};var n,r,l={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(l[n]=e[n]);return l}(t,X);return E.default.createElement(e.ExpandablePanel,{title:l,defaultOpen:!0,contentStyle:{padding:"4px 4px 4px 4px",marginTop:"16px",marginBottom:"16px"}},E.default.createElement(n.Stack,{space:"medium"},o.map((function(e){return E.default.createElement("div",{key:r+e.value,"data-testid":"multi-lang-rich-text-"+r+"-"+e.value},E.default.createElement(J,S({language:e},a)))}))))},exports.MinifiedConfigTypes=P,exports.RichTextEditor=V,exports.editorStateToHtml=function(e){return h.convertToHTML(Q)(e.getCurrentContent())},exports.editorStateToMarkdown=z,exports.htmlToEditorState=function(e){if(!e)return a.EditorState.createEmpty(H);var t=h.convertFromHTML(Z)(e);return a.EditorState.createWithContent(t,H)},exports.markdownToEditorState=W,exports.markdownToHtml=function(e){return G.makeHtml(e)};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/expand"),t=require("@entur/form"),n=require("@entur-partner/common"),r=require("react"),o=require("@entur/typography"),l=require("classnames"),a=require("draft-js"),i=require("prop-types"),s=require("react-i18next"),c=require("@entur/button"),u=require("@entur/icons"),d=require("@entur/dropdown"),p=require("@entur/menu"),f=require("@entur/tooltip"),g=require("markdown-draft-js"),y=require("showdown"),h=require("draft-convert");function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(null,arguments)}function E(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,v(e,t)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}var b=Object.freeze({ENTER:13});function T(e){return e.keyCode||e.which}function S(e){return function(t){var n=function(){var e=s.useTranslation(),t=e.t,n=e.i18n.language;if("nb"!==n&&"en"!==n&&"nb-NO"!==n&&"en-GB"!==n)throw Error("Language must be either nb or en.");return t}();return r.createElement(e,m({},t,{i18n:n}))}}var C=S(function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).onToggle=function(e){var n=t.props,r=n.style,o=n.onToggle;e.preventDefault(),o(r)},t.onToggleNoEvent=function(){var e=t.props;(0,e.onToggle)(e.style)},t}return E(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.i18n,o=t.label,a=t.title,i=t.hotKey,s=l("editor-stylebutton",{active:t.active});return r.createElement("div",{className:s,onMouseDown:this.onToggle,title:n(a)+i,tabIndex:0,onKeyPress:function(t){T(t)===b.ENTER&&e.onToggleNoEvent()}},o)},t}(r.Component)),k=function(e){var t=e.editorState,n=e.blockTypes,o=e.onToggle,l=t.getSelection(),a=t.getCurrentContent().getBlockForKey(l.getStartKey()).getType();return r.createElement("div",{className:"controls-group block-editor-controls"},n.map(function(e){return r.createElement(C,{key:e.style+e.label,active:e.style===a,label:e.label,onToggle:o,style:e.style,title:e.tooltip})}))},L=function(e){function o(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).state={urlValue:"",showUrlInput:!1,hasLink:!1},t.onUrlChange=function(e){t.setState({urlValue:e.target.value})},t.addLink=function(e){e.preventDefault();var n=t.props.editorState,r=n.getSelection();if(!r.isCollapsed()){var o=n.getCurrentContent(),l=r.getStartKey(),a=r.getStartOffset(),i=o.getBlockForKey(l).getEntityAt(a),s="";i&&(s=o.getEntity(i).getData().url),t.setState({showUrlInput:!0,urlValue:s,hasLink:!!s})}},t.confirmLink=function(e){e.preventDefault();var n=t.state.urlValue,r=t.props,o=r.editorState,l=r.onToggle,i=o.getCurrentContent().createEntity("LINK","MUTABLE",{url:n}),s=i.getLastCreatedEntityKey();l(a.EditorState.set(o,{currentContent:i}),s),t.setState({showUrlInput:!1,urlValue:""})},t.cancelLink=function(e){e.preventDefault(),t.setState({showUrlInput:!1,urlValue:""})},t.onLinkInputKeyDown=function(e){T(e)===b.ENTER&&t.confirmLink(e)},t.removeLink=function(e){e.preventDefault();var n=t.props,r=n.editorState,o=n.onToggle,l=t.state.hasLink;!r.getSelection().isCollapsed()&&l&&(o(r,null),t.setState({showUrlInput:!1}))},t}return E(o,e),o.prototype.render=function(){var e=this.props.i18n,o=this.state,l=o.showUrlInput,a=o.hasLink;return r.createElement("div",{className:"controls-group block-editor-controls link-controls"},r.createElement("div",{className:"editor-stylebutton",title:e("styles.link"),onClick:this.addLink,tabIndex:0},r.createElement(u.LinkIcon,null)),l&&r.createElement("div",{className:"url-input-container"},r.createElement("span",{className:"exit-button",onMouseDown:this.cancelLink},r.createElement(u.CloseIcon,null)),r.createElement("div",{className:"link-label"},e("common.from")),r.createElement("div",{className:"url-input-form"},r.createElement(t.TextField,{style:{width:250,margin:5},onChange:this.onUrlChange,value:this.state.urlValue,onKeyDown:this.onLinkInputKeyDown,placeholder:"https://example.com"}),r.createElement(c.SecondarySquareButton,{onMouseDown:this.confirmLink},r.createElement(u.CheckIcon,{width:15,height:15}))),a&&r.createElement("div",{className:"remove-link"},r.createElement(n.Unbutton,{onClick:this.removeLink,title:e("styles.unlink")},r.createElement(u.UnlinkIcon,null),e("styles.unlink")))))},o}(r.Component);L.propTypes={editorState:i.object,onToggle:i.func};var w=S(L),I=S(function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).handleOnClick=function(e){(0,t.props.onChange)(e)},t}E(t,e);var n=t.prototype;return n.toItem=function(e){return{value:e.style,label:this.renderFormattedLabel(e.label)}},n.renderFormattedLabel=function(e){var t=this.props.i18n(e);switch(e){case"styles.p":return r.createElement("div",{className:"default-p"},t);case"styles.h1":return r.createElement("div",{className:"default-h1"},t);case"styles.h2":return r.createElement("div",{className:"default-h2"},t);case"styles.h3":return r.createElement("div",{className:"default-h3"},t);case"styles.h4":return r.createElement("div",{className:"default-h4"},t);case"styles.h5":return r.createElement("div",{className:"default-h5"},t);case"styles.h6":return r.createElement("div",{className:"default-h6"},t);default:return r.createElement("p",null,t)}},n.render=function(){var e=this,t=this.props,n=t.selected,o=t.i18n;return r.createElement(d.Dropdown,{className:"block-type-dropdown",items:t.options.map(function(t){return e.toItem(t)}),selectedItem:this.toItem(n),label:o("styles.style"),onChange:function(t){return e.handleOnClick(t.value)}})},t}(r.Component)),N=function(e){var t=e.editorState,n=e.blockTypes,o=e.onToggle,l=t.getSelection(),a=t.getCurrentContent().getBlockForKey(l.getStartKey()).getType(),i=n.find(function(e){return e.style===a})||n[0];return r.createElement(I,{options:n,selected:i,onChange:o})},O=function(e){var t=e.inlineStyles,n=e.editorState.getCurrentInlineStyle();return r.createElement("div",{className:"controls-group inline-editor-controls"},t.map(function(t){return r.createElement(C,{key:t.style+t.label,active:n.has(t.style),label:t.label,onToggle:e.onToggle,style:t.style,title:t.tooltip,hotKey:t.hotKey})}))},x=function(e){function t(){for(var t,n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];return(t=e.call.apply(e,[this].concat(o))||this).tagControlRef=r.createRef(),t.state={isOpen:!1},t.handleClickOutside=function(e){t.tagControlRef.current&&!t.tagControlRef.current.contains(e.target)&&t.setState({isOpen:!1})},t.handleTagClick=function(e,n){var r=t.props;(0,r.onInsertTag)(r.editorState,""+n[0]+e+n[1])},t}E(t,e);var n=t.prototype;return n.componentDidMount=function(){document.addEventListener("mousedown",this.handleClickOutside)},n.componentWillUnmount=function(){document.removeEventListener("mousedown",this.handleClickOutside)},n.render=function(){var e=this,t=this.props,n=t.i18n,o=this.state.isOpen,l=t.tags.map(function(t){var n=t.delimiter||"{}";return r.createElement(p.OverflowMenuItem,{key:t.tag,className:"tag-control",id:"tag-control-"+t.tag,onClick:function(){return e.handleTagClick(t.tag,n)}},t.icon,r.createElement("span",{className:"tag-control-text"},t.label))});return r.createElement("div",{className:"tag-control-dropdown",ref:this.tagControlRef},r.createElement("div",{className:"tag-control-header",onClick:function(){return e.setState(function(e){return{isOpen:!e.isOpen}})}},n("common.insert"),r.createElement(u.DownArrowIcon,{className:"tag-control-chevron",inline:!0})),r.createElement(f.Popover,{open:o,className:"tag-control-content"},r.createElement(p.OverflowMenu,{className:"action-menu"},l)))},t}(r.Component);x.propTypes={editorState:i.object,tags:i.arrayOf(i.object).isRequired,onInsertTag:i.func.isRequired};var R=S(x),D=function(e){return r.createElement("a",{href:e.url},e.children)},B=Object.freeze({FONT_LIST:{UNSTYLED:"unstyled",HEADER_ONE:"header-one",HEADER_TWO:"header-two",HEADER_THREE:"header-three",HEADER_FOUR:"header-four",HEADER_FIVE:"header-five",HEADER_SIX:"header-six"},BLOCK_TYPES:{UNORDERED_LIST:"unordered-list",ORDERED_LIST:"ordered-list"},INLINE_STYLES:{BOLD:"bold",ITALIC:"italic",UNDERLINE:"underline"}}),F=Object.freeze({unstyled:{label:"styles.p",style:"unstyled"},"header-one":{label:"styles.h1",style:"header-one"},"header-two":{label:"styles.h2",style:"header-two"},"header-three":{label:"styles.h3",style:"header-three"},"header-four":{label:"styles.h4",style:"header-four"},"header-five":{label:"styles.h5",style:"header-five"},"header-six":{label:"styles.h6",style:"header-six"}}),K=Object.freeze({"unordered-list":{label:r.createElement(u.BulletListIcon,null),style:"unordered-list-item",tooltip:"styles.unordered_list_item"},"ordered-list":{label:r.createElement(u.NumberListIcon,null),style:"ordered-list-item",tooltip:"styles.ordered_list_item"}}),M=Object.freeze({bold:{label:r.createElement(u.BoldIcon,null),style:"BOLD",tooltip:"styles.bold",hotKey:"(Ctrl+B)"},italic:{label:r.createElement(u.ItalicIcon,null),style:"ITALIC",tooltip:"styles.italic",hotKey:"(Ctrl+I)"},underline:{label:r.createElement(u.UnderlineIcon,null),style:"UNDERLINE",tooltip:"styles.underline",hotKey:"(Ctrl+U)"}}),j=Object.freeze({fontList:[{type:"unstyled",label:"styles.p",style:"unstyled"},{type:"header-two",label:"styles.h1",style:"header-two"}],blockTypes:Object.values(B.BLOCK_TYPES),inlineStyles:[B.INLINE_STYLES.BOLD,B.INLINE_STYLES.ITALIC]}),_=new a.CompositeDecorator([{strategy:function(e,t,n){e.findEntityRanges(function(e){var t=e.getEntity();return null!==t&&"LINK"===n.getEntity(t).getType()},t)},component:function(e){var t=e.contentState.getEntity(e.entityKey).getData();return r.createElement(D,{url:t.url},e.children)}}]),U=function(e){function t(){for(var t,n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];return(t=e.call.apply(e,[this].concat(o))||this).wrapperRef=r.createRef(),t.editor=r.createRef(),t.handleKeyCommand=function(e,n){var r=a.RichUtils.handleKeyCommand(n,e);return!!r&&(t.props.onChange(r),!0)},t.keyBindingFn=function(e){return 9===e.keyCode?t.onTab(e):a.getDefaultKeyBinding(e)},t.onTab=function(e){e.stopPropagation();var n=t.props;(0,n.onChange)(a.RichUtils.onTab(e,n.editorState,n.maxTabDepth))},t.toggleButtonBlockType=function(e){var n=t.props;(0,n.onChange)(a.RichUtils.toggleBlockType(n.editorState,e))},t.toggleSelectBlockType=function(e){var n=t.props;(0,n.onChange)(a.RichUtils.toggleBlockType(n.editorState,e))},t.toggleInlineStyle=function(e){var n=t.props;(0,n.onChange)(a.RichUtils.toggleInlineStyle(n.editorState,e))},t.toggleLink=function(e,n){t.props.onChange(a.RichUtils.toggleLink(e,e.getSelection(),n))},t.insertText=function(e,n){var r=a.Modifier.insertText(e.getCurrentContent(),e.getSelection(),n);t.props.onChange(a.EditorState.push(e,r,"insert-characters"),function(){return t.focusEditor()})},t.getFontListConfigForPanelType=function(e){return t.getControlConfigBySet(t.props.controlConfigSet)[e]},t.getControlConfigBySet=function(e){return{fontList:((null==e?void 0:e.fontList)||Object.keys(F)).filter(function(e){return"object"==typeof e?F[e.type]:F[e]}).map(function(e){return e.label&&e.style?e:F[e]}),blockTypes:((null==e?void 0:e.blockTypes)||Object.keys(K)).filter(function(e){return"object"==typeof e?K[e.type]:K[e]}).map(function(e){return e.label&&e.style?e:K[e]}),inlineStyles:((null==e?void 0:e.inlineStyles)||Object.keys(M)).filter(function(e){return"object"==typeof e?M[e.type]:M[e]}).map(function(e){return e.label&&e.style?e:M[e]})}},t}E(t,e);var n=t.prototype;return n.focusEditor=function(){var e;null==(e=this.editor.current)||e.focus()},n.render=function(){var e=this.props,t=e.showFontMenu,n=e.showInlineStyleMenu,i=e.showTextFormatMenu,s=e.showLinkMenu,c=e.label,u=e.tags,d=e.editorState,p=e.onChange,f=e.handleBeforeInput,g=l("editor-root",e.className);return r.createElement("div",{ref:this.wrapperRef},c&&r.createElement(o.Label,null,c),r.createElement("div",{className:g},r.createElement("div",{className:"controls-wrapper"},t&&r.createElement(N,{editorState:d,onToggle:this.toggleSelectBlockType,blockTypes:this.getFontListConfigForPanelType("fontList")}),n&&r.createElement(O,{editorState:d,onToggle:this.toggleInlineStyle,inlineStyles:this.getFontListConfigForPanelType("inlineStyles")}),i&&r.createElement(k,{editorState:d,onToggle:this.toggleButtonBlockType,blockTypes:this.getFontListConfigForPanelType("blockTypes")}),s&&r.createElement(w,{editorState:d,onToggle:this.toggleLink}),u&&u.length>0&&r.createElement(R,{editorState:d,tags:u,onInsertTag:this.insertText})),r.createElement("div",{className:"editor-wrapper"},r.createElement(a.Editor,{ref:this.editor,editorState:d,handleKeyCommand:this.handleKeyCommand,onChange:p,handleBeforeInput:f,keyBindingFn:this.keyBindingFn,spellCheck:!0}))))},t}(r.Component);U.decorator=_;var q=function(e){return i.oneOfType([i.arrayOf(i.oneOf([].concat(Object.values(e)))),i.arrayOf(i.shape({type:i.oneOf([].concat(Object.values(e))),label:i.string,style:i.string,tooltip:i.string,hotKey:i.string}))])};U.propTypes={editorState:i.object.isRequired,onChange:i.func.isRequired,maxTabDepth:i.number,showFontMenu:i.bool,showInlineStyleMenu:i.bool,showTextFormatMenu:i.bool,showLinkMenu:i.bool,label:i.string,tags:i.arrayOf(i.object),controlConfigSet:i.shape({fontList:q(B.FONT_LIST),blockTypes:q(B.BLOCK_TYPES),inlineStyles:q(B.INLINE_STYLES)})},U.defaultProps={maxTabDepth:4,showFontMenu:!0,showInlineStyleMenu:!0,showTextFormatMenu:!0,showLinkMenu:!0,label:""};var A=function(e){var t=a.convertToRaw(e.getCurrentContent());return g.draftToMarkdown(t,{preserveNewlines:!0})},P=function(e){if(!e)return a.EditorState.createEmpty(_);var t=g.markdownToDraft(e,{preserveNewlines:!0}),n=a.convertFromRaw(t);return a.EditorState.createWithContent(n,_)},H=new y.Converter({underline:!0}),V=["name","title","languages"],Y=function(e){var n=e.language,o=n.value,l=n.label,a=n.required,i=e.values,s=e.onChange,c=e.variant,u=e.feedback,d=e.tags,p=r.useState(P(i[o])),f=p[0],g=p[1],y=null==u?void 0:u(o);return r.createElement(r.Fragment,null,r.createElement(U,{label:a?l+"*":l,editorState:f,onChange:function(e){return function(e){var t=m({},i),n=A(e);i[o]&&"\n"===n?delete t[o]:t[o]=n,g(e),s(t)}(e)},controlConfigSet:j,tags:d}),c&&y&&y.length>0&&r.createElement(t.FeedbackText,{variant:c(o)},y))},z={entityToHTML:function(e,t){return"LINK"===e.type?r.createElement(D,{url:e.data.url},t):t}},W={htmlToEntity:function(e,t,n){if("a"===e)return n("LINK","MUTABLE",{url:t.href})}};exports.EditorConfigTypes=B,exports.ExpandableMultiLanguageRichTextEditor=function(t){var o=t.name,l=t.title,a=t.languages,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(t,V);return r.createElement(e.ExpandablePanel,{title:l,defaultOpen:!0,contentStyle:{padding:"4px 4px 4px 4px",marginTop:"16px",marginBottom:"16px"}},r.createElement(n.Stack,{space:"medium"},a.map(function(e){return r.createElement("div",{key:o+e.value,"data-testid":"multi-lang-rich-text-"+o+"-"+e.value},r.createElement(Y,m({language:e},i)))})))},exports.MinifiedConfigTypes=j,exports.RichTextEditor=U,exports.editorStateToHtml=function(e){return h.convertToHTML(z)(e.getCurrentContent())},exports.editorStateToMarkdown=A,exports.htmlToEditorState=function(e){if(!e)return a.EditorState.createEmpty(_);var t=h.convertFromHTML(W)(e);return a.EditorState.createWithContent(t,_)},exports.markdownToEditorState=P,exports.markdownToHtml=function(e){return H.makeHtml(e)};
|
|
2
2
|
//# sourceMappingURL=rich-text-editor.cjs.production.min.js.map
|