carbon-react 158.6.0 → 158.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/components/note/note.component.js +1 -1
- package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.style.js +1 -1
- package/esm/components/text-editor/__internal__/__nodes__/mention.node.d.ts +60 -0
- package/esm/components/text-editor/__internal__/__nodes__/mention.node.js +1 -0
- package/esm/components/text-editor/__internal__/__nodes__/styled-span.node.d.ts +105 -0
- package/esm/components/text-editor/__internal__/__nodes__/styled-span.node.js +1 -0
- package/esm/components/text-editor/__internal__/__plugins__/LinkMonitor/link-monitor.plugin.js +1 -0
- package/esm/components/text-editor/__internal__/__plugins__/StyledSpanEnter/index.d.ts +1 -0
- package/esm/components/text-editor/__internal__/__plugins__/StyledSpanEnter/index.js +1 -0
- package/esm/components/text-editor/__internal__/__plugins__/StyledSpanEnter/styled-span-enter.plugin.d.ts +2 -0
- package/esm/components/text-editor/__internal__/__plugins__/StyledSpanEnter/styled-span-enter.plugin.js +1 -0
- package/esm/components/text-editor/__internal__/__plugins__/index.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__plugins__/index.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/CharacterCounter/character-counter.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/CharacterCounter/character-counter.component.js +1 -0
- package/esm/components/text-editor/__internal__/{plugins → __ui__}/CharacterCounter/character-counter.style.d.ts +3 -1
- package/esm/components/text-editor/__internal__/__ui__/CharacterCounter/character-counter.style.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.component.js +1 -0
- package/{lib/components/text-editor/__internal__/plugins → esm/components/text-editor/__internal__/__ui__}/ContentEditor/content-editor.style.d.ts +4 -2
- package/esm/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.style.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/constants.d.ts +15 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/constants.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/helpers.d.ts +3 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/helpers.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/index.d.ts +2 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/index.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mention-typeahead-option.class.d.ts +11 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mention-typeahead-option.class.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mention.types.d.ts +14 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.d.ts +12 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.component.d.ts +7 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.style.d.ts +3 -0
- package/esm/components/text-editor/__internal__/__ui__/Mentions/mentions.style.js +1 -0
- package/{lib/components/text-editor/__internal__/plugins → esm/components/text-editor/__internal__/__ui__}/Placeholder/placeholder.component.d.ts +1 -6
- package/esm/components/text-editor/__internal__/__ui__/Placeholder/placeholder.style.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.d.ts +6 -0
- package/esm/components/text-editor/__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.style.d.ts +2 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.style.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/bold.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/bold.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/hyperlink.component.d.ts +6 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/hyperlink.component.js +1 -0
- package/esm/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/buttons/index.d.ts +3 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/index.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/italic.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/italic.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/list.component.d.ts +10 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/list.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/save.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/save.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.component.d.ts +21 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.style.d.ts +13 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.style.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography.component.d.ts +20 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/underline.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/buttons/underline.component.js +1 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/toolbar.component.d.ts +4 -0
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/toolbar.component.js +1 -0
- package/esm/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/toolbar.style.d.ts +7 -3
- package/esm/components/text-editor/__internal__/__ui__/Toolbar/toolbar.style.js +1 -0
- package/esm/components/text-editor/__internal__/{plugins → __ui__}/index.d.ts +2 -3
- package/esm/components/text-editor/__internal__/__ui__/index.js +1 -0
- package/esm/components/text-editor/__internal__/{constants.d.ts → __utils__/constants.d.ts} +7 -6
- package/esm/components/text-editor/__internal__/__utils__/constants.js +1 -0
- package/{lib/components/text-editor/__internal__ → esm/components/text-editor/__internal__/__utils__}/helpers.d.ts +4 -1
- package/esm/components/text-editor/__internal__/__utils__/helpers.js +1 -0
- package/esm/components/text-editor/__internal__/__utils__/interfaces.types.d.ts +185 -0
- package/esm/components/text-editor/__internal__/__utils__/theme.d.ts +5 -0
- package/esm/components/text-editor/__internal__/__utils__/theme.js +1 -0
- package/esm/components/text-editor/__internal__/index.d.ts +1 -1
- package/esm/components/text-editor/__internal__/index.js +1 -1
- package/esm/components/text-editor/index.d.ts +4 -2
- package/esm/components/text-editor/index.js +1 -1
- package/esm/components/text-editor/text-editor.component.d.ts +1 -62
- package/esm/components/text-editor/text-editor.component.js +1 -1
- package/esm/components/text-editor/text-editor.style.d.ts +6 -3
- package/esm/components/text-editor/text-editor.style.js +1 -1
- package/esm/index.js +1 -1
- package/esm/locales/de-de.js +1 -1
- package/esm/locales/en-gb.js +1 -1
- package/esm/locales/es-es.js +1 -1
- package/esm/locales/fr-ca.js +1 -1
- package/esm/locales/fr-fr.js +1 -1
- package/esm/locales/locale.d.ts +22 -0
- package/lib/components/note/note.component.js +1 -1
- package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.style.js +1 -1
- package/lib/components/text-editor/__internal__/__nodes__/mention.node.d.ts +60 -0
- package/lib/components/text-editor/__internal__/__nodes__/mention.node.js +1 -0
- package/lib/components/text-editor/__internal__/__nodes__/styled-span.node.d.ts +105 -0
- package/lib/components/text-editor/__internal__/__nodes__/styled-span.node.js +1 -0
- package/lib/components/text-editor/__internal__/__plugins__/AutoLinker/package.json +6 -0
- package/lib/components/text-editor/__internal__/__plugins__/EditorRef/package.json +6 -0
- package/lib/components/text-editor/__internal__/__plugins__/LinkMonitor/link-monitor.plugin.js +1 -0
- package/lib/components/text-editor/__internal__/__plugins__/LinkMonitor/package.json +6 -0
- package/lib/components/text-editor/__internal__/__plugins__/StyledSpanEnter/index.d.ts +1 -0
- package/lib/components/text-editor/__internal__/__plugins__/StyledSpanEnter/index.js +1 -0
- package/lib/components/text-editor/__internal__/__plugins__/StyledSpanEnter/package.json +6 -0
- package/lib/components/text-editor/__internal__/__plugins__/StyledSpanEnter/styled-span-enter.plugin.d.ts +2 -0
- package/lib/components/text-editor/__internal__/__plugins__/StyledSpanEnter/styled-span-enter.plugin.js +1 -0
- package/lib/components/text-editor/__internal__/__plugins__/index.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__plugins__/index.js +1 -0
- package/lib/components/text-editor/__internal__/__plugins__/package.json +6 -0
- package/lib/components/text-editor/__internal__/__plugins__/useCursorAtEnd/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/CharacterCounter/character-counter.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/CharacterCounter/character-counter.component.js +1 -0
- package/lib/components/text-editor/__internal__/{plugins → __ui__}/CharacterCounter/character-counter.style.d.ts +3 -1
- package/lib/components/text-editor/__internal__/__ui__/CharacterCounter/character-counter.style.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/CharacterCounter/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.component.js +1 -0
- package/{esm/components/text-editor/__internal__/plugins → lib/components/text-editor/__internal__/__ui__}/ContentEditor/content-editor.style.d.ts +4 -2
- package/lib/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.style.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/ContentEditor/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/LinkPreviewer/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/constants.d.ts +15 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/constants.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/helpers.d.ts +3 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/helpers.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/index.d.ts +2 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/index.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mention-typeahead-option.class.d.ts +11 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mention-typeahead-option.class.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mention.types.d.ts +14 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.d.ts +12 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions-typeahead-menu-item.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.component.d.ts +7 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.style.d.ts +3 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/mentions.style.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Mentions/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/Placeholder/package.json +6 -0
- package/{esm/components/text-editor/__internal__/plugins → lib/components/text-editor/__internal__/__ui__}/Placeholder/placeholder.component.d.ts +1 -6
- package/lib/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/placeholder.style.js +1 -1
- package/lib/components/text-editor/__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.d.ts +6 -0
- package/lib/components/text-editor/__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.style.d.ts +2 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.style.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/bold.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/bold.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/hyperlink.component.d.ts +6 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/hyperlink.component.js +1 -0
- package/lib/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/buttons/index.d.ts +3 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/index.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/italic.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/italic.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/list.component.d.ts +10 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/list.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/save.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/save.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.component.d.ts +21 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.style.d.ts +13 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography-dropdown/dropdown.style.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography.component.d.ts +20 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/underline.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/underline.component.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/package.json +6 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/toolbar.component.d.ts +4 -0
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/toolbar.component.js +1 -0
- package/lib/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/toolbar.style.d.ts +7 -3
- package/lib/components/text-editor/__internal__/__ui__/Toolbar/toolbar.style.js +1 -0
- package/lib/components/text-editor/__internal__/{plugins → __ui__}/index.d.ts +2 -3
- package/lib/components/text-editor/__internal__/__ui__/index.js +1 -0
- package/lib/components/text-editor/__internal__/__ui__/package.json +6 -0
- package/lib/components/text-editor/__internal__/{constants.d.ts → __utils__/constants.d.ts} +7 -6
- package/lib/components/text-editor/__internal__/__utils__/constants.js +1 -0
- package/{esm/components/text-editor/__internal__ → lib/components/text-editor/__internal__/__utils__}/helpers.d.ts +4 -1
- package/lib/components/text-editor/__internal__/__utils__/helpers.js +1 -0
- package/lib/components/text-editor/__internal__/__utils__/interfaces.types.d.ts +185 -0
- package/lib/components/text-editor/__internal__/__utils__/theme.d.ts +5 -0
- package/lib/components/text-editor/__internal__/__utils__/theme.js +1 -0
- package/lib/components/text-editor/__internal__/index.d.ts +1 -1
- package/lib/components/text-editor/__internal__/index.js +1 -1
- package/lib/components/text-editor/index.d.ts +4 -2
- package/lib/components/text-editor/index.js +1 -1
- package/lib/components/text-editor/text-editor.component.d.ts +1 -62
- package/lib/components/text-editor/text-editor.component.js +1 -1
- package/lib/components/text-editor/text-editor.style.d.ts +6 -3
- package/lib/components/text-editor/text-editor.style.js +1 -1
- package/lib/index.js +1 -1
- package/lib/locales/de-de.js +1 -1
- package/lib/locales/en-gb.js +1 -1
- package/lib/locales/es-es.js +1 -1
- package/lib/locales/fr-ca.js +1 -1
- package/lib/locales/fr-fr.js +1 -1
- package/lib/locales/locale.d.ts +22 -0
- package/package.json +1 -1
- package/esm/components/text-editor/__internal__/constants.js +0 -1
- package/esm/components/text-editor/__internal__/helpers.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/CharacterCounter/__test__/character-counter.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.d.ts +0 -9
- package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.style.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.d.ts +0 -23
- package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.style.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/LinkMonitor/link-monitor.plugin.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Placeholder/placeholder.style.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.d.ts +0 -4
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/common.types.d.ts +0 -6
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/index.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.d.ts +0 -4
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.d.ts +0 -5
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.d.ts +0 -34
- package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.d.ts +0 -15
- package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.style.js +0 -1
- package/esm/components/text-editor/__internal__/plugins/index.js +0 -1
- package/esm/components/text-editor/__internal__/read-only-rte.component.d.ts +0 -4
- package/esm/components/text-editor/__internal__/read-only-rte.component.js +0 -1
- package/esm/components/text-editor/utils.d.ts +0 -4
- package/esm/components/text-editor/utils.js +0 -1
- package/lib/components/text-editor/__internal__/constants.js +0 -1
- package/lib/components/text-editor/__internal__/helpers.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/AutoLinker/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/CharacterCounter/__test__/character-counter.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.d.ts +0 -9
- package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.style.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/CharacterCounter/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.d.ts +0 -23
- package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.style.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/ContentEditor/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/EditorRef/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/LinkMonitor/link-monitor.plugin.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/LinkMonitor/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/Placeholder/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.d.ts +0 -4
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/common.types.d.ts +0 -6
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/index.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.d.ts +0 -4
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.d.ts +0 -5
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.d.ts +0 -34
- package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/Toolbar/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.d.ts +0 -15
- package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.style.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/index.js +0 -1
- package/lib/components/text-editor/__internal__/plugins/package.json +0 -6
- package/lib/components/text-editor/__internal__/plugins/useCursorAtEnd/package.json +0 -6
- package/lib/components/text-editor/__internal__/read-only-rte.component.d.ts +0 -4
- package/lib/components/text-editor/__internal__/read-only-rte.component.js +0 -1
- package/lib/components/text-editor/utils.d.ts +0 -4
- package/lib/components/text-editor/utils.js +0 -1
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/auto-link.component.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/auto-link.component.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/editor-ref.plugin.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/editor-ref.plugin.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/LinkMonitor/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/LinkMonitor/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/LinkMonitor/link-monitor.plugin.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/useCursorAtEnd/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __plugins__}/useCursorAtEnd/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/CharacterCounter/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/CharacterCounter/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/ContentEditor/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/ContentEditor/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.component.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.component.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.style.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.style.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/index.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/placeholder.component.js +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/placeholder.style.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/index.d.ts +0 -0
- /package/esm/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/auto-link.component.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/auto-link.component.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/AutoLinker/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/editor-ref.plugin.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/editor-ref.plugin.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/EditorRef/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/LinkMonitor/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/LinkMonitor/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/LinkMonitor/link-monitor.plugin.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/useCursorAtEnd/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __plugins__}/useCursorAtEnd/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/CharacterCounter/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/CharacterCounter/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/ContentEditor/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/ContentEditor/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.component.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.component.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.style.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/LinkPreviewer/link-previewer.style.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/index.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/placeholder.component.js +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/placeholder.style.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/index.d.ts +0 -0
- /package/lib/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/index.js +0 -0
package/lib/components/text-editor/__internal__/__ui__/ContentEditor/content-editor.component.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@lexical/react/LexicalContentEditable"),i=require("react"),t=require("./content-editor.style.js");require("../../__plugins__/AutoLinker/auto-link.component.js"),require("@lexical/react/LexicalComposerContext"),require("@lexical/link"),require("@lexical/headless"),require("@lexical/html"),require("lexical"),require("@lexical/code"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("../../../text-editor.context.js");var n=require("../../__plugins__/useCursorAtEnd/index.js");require("../CharacterCounter/character-counter.style.js"),require("lodash/debounce"),require("../../../../../__internal__/i18n-context/index.js");var o=require("../LinkPreviewer/link-previewer.component.js");require("@lexical/react/LexicalTypeaheadMenuPlugin"),require("react-dom"),require("../Mentions/constants.js"),require("../Mentions/mentions.style.js"),require("../../../../tooltip/tooltip.component.js"),require("../../../../portrait/portrait.style.js"),require("../../../../../style/utils/filter-styled-system-padding-props.js"),require("../Placeholder/placeholder.style.js"),require("@lexical/utils"),require("../Toolbar/toolbar.style.js"),require("../../../../button/button.component.js"),require("../../../../box/box.component.js"),require("../Toolbar/buttons/typography-dropdown/dropdown.style.js"),require("../../../../icon/icon.component.js"),require("../Toolbar/button-group/button-group.style.js"),require("../../../../../__internal__/form-field/form-field.component.js"),require("../../../../../__internal__/hint-text/hint-text.style.js"),require("../../../../carbon-provider/__internal__/new-validation.context.js"),require("../../../../../__internal__/input/input.component.js"),require("../../../../../__internal__/input/input-presentation.style.js"),require("../../../../../__internal__/input-icon-toggle/input-icon-toggle.style.js"),require("invariant"),require("../../../../../__internal__/validations/validation-icon.style.js"),require("../../../../../__internal__/validation-message/validation-message.style.js"),require("../../../../numeral-date/__internal__/numeral-date.context.js"),require("../../../../../__internal__/character-count/character-count.style.js"),require("../../../../textbox/textbox.style.js"),require("../../../../textbox/__internal__/prefix.style.js"),require("../../../../dialog/dialog.style.js"),require("../../../../heading/heading.style.js"),require("../../../../icon-button/icon-button.component.js"),require("react-transition-group"),require("../../../../../hooks/__internal__/useScrollBlock/useScrollBlock.js"),require("../../../../portal/portal.js"),require("../../../../modal/__internal__/modal-manager.js"),require("../../../../modal/modal.style.js"),require("../../../../modal/__internal__/modal.context.js"),require("../../../../carbon-provider/__internal__/top-modal.context.js"),require("../../../../../__internal__/full-screen-heading/full-screen-heading.component.js"),require("../../../../form/form.component.js"),require("../../../../form/required-fields-indicator/required-fields-indicator.component.js");const a=i.forwardRef((({inputHint:i,namespace:a,previews:l=[],rows:s,readOnly:u,required:c,error:d,warning:_,validationMessagePositionTop:q,size:p="medium"},j)=>{const m=n.default(),x=d||_?`${a}-validation-message`:"",b=i?`${a}-input-hint`:"",y=(q?`${x} ${b}`:`${b} ${x}`).trim();return e.jsxs(t.default,{"data-role":`${a}-content-editable`,error:d,warning:_,namespace:a,rows:s,readOnly:u,size:p,children:[e.jsx(r.ContentEditable,{ref:j,"aria-describedby":y,"aria-labelledby":`${a}-label`,"aria-required":c,"aria-invalid":d,className:`${a}-editable`,"data-role":`${a}-editable`,onBlur:e=>{var r;if(null===(r=e.relatedTarget)||void 0===r?void 0:r.classList.contains("toolbar-button")){var i;const r=null===(i=e.relatedTarget)||void 0===i?void 0:i.id;if(r){const e=document.querySelector(`[id="${r}"]`);e&&e.focus()}}},onFocus:e=>{e.relatedTarget&&e.relatedTarget.classList.contains("toolbar-button")||m(e)},"aria-autocomplete":void 0,"aria-readonly":void 0}),e.jsx(o.default,{previews:l})]})}));exports.default=a;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { ContentEditorProps } from "
|
|
1
|
+
import { ContentEditorProps } from "../../__utils__/interfaces.types";
|
|
2
2
|
interface StyledContentEditableProps extends ContentEditorProps {
|
|
3
|
-
showBorders?: boolean;
|
|
4
3
|
readOnly?: boolean;
|
|
4
|
+
size: "small" | "medium" | "large";
|
|
5
|
+
showBorders?: boolean;
|
|
6
|
+
useBackgroundColor?: boolean;
|
|
5
7
|
}
|
|
6
8
|
declare const StyledContentEditable: import("styled-components").StyledComponent<"div", any, StyledContentEditableProps, never>;
|
|
7
9
|
export default StyledContentEditable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("styled-components"),e=require("../Toolbar/toolbar.style.js"),o=require("../../../../../style/utils/add-focus-styling.js");function t(r){return r&&r.__esModule?r:{default:r}}const d=t(r).default.div.withConfig({displayName:"content-editor.style__StyledContentEditable",componentId:"sc-4bbd6126-0"})(["",""],(({useBackgroundColor:t,error:d,namespace:i,rows:s,readOnly:a,size:u})=>r.css([""," .","-editable{min-height:","px;background-color:var(--colorsUtilityYang100);"," margin-bottom:-4px;padding:",";border-bottom-right-radius:var(--borderRadius100);border-bottom-left-radius:var(--borderRadius100);"," &:focus{","}& > p:first-of-type{margin:0;}& > p{line-height:var(--lineHeights500);}"],a&&r.css(["padding:",";"," border-radius:8px;p:first-of-type{margin:0;}"],e.getPaddingForSize(u),t&&r.css(["background-color:#f3f3f3;"])),i,s&&s>2?21*s:210,a&&r.css(["border-top-left-radius:var(--borderRadius100);border-top-right-radius:var(--borderRadius100);"]),e.getPaddingForSize(u),d&&r.css(["box-shadow:inset 0 0 0 2px var(--colorsSemanticNegative500);border-bottom-left-radius:var(--borderRadius100);border-bottom-right-radius:var(--borderRadius100);border-top-left-radius:0;border-top-right-radius:0;"]),o.default(!1))));exports.default=d;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const PUNCTUATION = "\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_:;";
|
|
2
|
+
export declare const NAME = "\\b[A-Z][^\\s\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_:;]";
|
|
3
|
+
export declare const DocumentMentionsRegex: {
|
|
4
|
+
NAME: string;
|
|
5
|
+
PUNCTUATION: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const PUNC: string;
|
|
8
|
+
export declare const TRIGGERS: string;
|
|
9
|
+
export declare const VALID_CHARS: string;
|
|
10
|
+
export declare const VALID_JOINS: string;
|
|
11
|
+
export declare const LENGTH_LIMIT = 75;
|
|
12
|
+
export declare const ALIAS_LENGTH_LIMIT = 50;
|
|
13
|
+
export declare const SUGGESTION_LIST_LENGTH_LIMIT = 5;
|
|
14
|
+
export declare const AtSignMentionsRegex: RegExp;
|
|
15
|
+
export declare const AtSignMentionsRegexAliasRegex: RegExp;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e="\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_:;",s=`\\b[A-Z][^\\s${e}]`,t={NAME:s,PUNCTUATION:e},o=t.PUNCTUATION,x=["@"].join(""),I=`[^${x}${o}\\s]`,T=`(?:\\.[ |$]| |[${o}]|)`,p=new RegExp(`(^|\\s|\\()([${x}]((?:${I}${T}){0,75}))$`),A=new RegExp(`(^|\\s|\\()([${x}]((?:${I}){0,50}))$`);exports.ALIAS_LENGTH_LIMIT=50,exports.AtSignMentionsRegex=p,exports.AtSignMentionsRegexAliasRegex=A,exports.DocumentMentionsRegex=t,exports.LENGTH_LIMIT=75,exports.NAME=s,exports.PUNC=o,exports.PUNCTUATION=e,exports.SUGGESTION_LIST_LENGTH_LIMIT=5,exports.TRIGGERS=x,exports.VALID_CHARS=I,exports.VALID_JOINS=T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./constants.js");function n(n,t){const i=e.AtSignMentionsRegex.exec(n)||e.AtSignMentionsRegexAliasRegex.exec(n);if(null!==i){const e=i[1],n=i[3];if(n.length>=t)return{leadOffset:i.index+e.length,matchingString:n,replaceableString:i[2]}}return null}exports.checkForAtSignMentions=n,exports.getPossibleQueryMatch=function(e){return n(e,1)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./mentions.component.js");exports.default=e.MentionsPlugin;
|
package/lib/components/text-editor/__internal__/__ui__/Mentions/mention-typeahead-option.class.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MenuOption } from "@lexical/react/LexicalTypeaheadMenuPlugin";
|
|
2
|
+
import { IconType } from "../../../../icon";
|
|
3
|
+
export declare class MentionTypeaheadOption extends MenuOption {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
initials?: string;
|
|
7
|
+
src?: string;
|
|
8
|
+
iconType?: IconType;
|
|
9
|
+
constructor(id: string, name: string, initials?: string, iconType?: IconType, src?: string);
|
|
10
|
+
}
|
|
11
|
+
export default MentionTypeaheadOption;
|
package/lib/components/text-editor/__internal__/__ui__/Mentions/mention-typeahead-option.class.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@lexical/react/LexicalTypeaheadMenuPlugin");function i(e,i,t){return i in e?Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[i]=t,e}class t extends e.MenuOption{constructor(e,t,s,n,r){super(e),i(this,"id",void 0),i(this,"name",void 0),i(this,"initials",void 0),i(this,"src",void 0),i(this,"iconType",void 0),this.id=e,this.name=t,this.src=r,this.iconType=n,this.initials=s}}exports.MentionTypeaheadOption=t,exports.default=t;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IconType } from "../../../../icon";
|
|
2
|
+
export type Mention = {
|
|
3
|
+
/** The ID of the Mention entry */
|
|
4
|
+
id: string;
|
|
5
|
+
/** The name shown in the list */
|
|
6
|
+
name: string;
|
|
7
|
+
/** The initials to be shown in the Mention's avatar */
|
|
8
|
+
initials?: string;
|
|
9
|
+
/** The icon to be used in the Mention's avatar */
|
|
10
|
+
iconType?: IconType;
|
|
11
|
+
/** The source URL of the image to be shown in the Mention's avatar */
|
|
12
|
+
src?: string;
|
|
13
|
+
};
|
|
14
|
+
export default Mention;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import MentionTypeaheadOption from "./mention-typeahead-option.class";
|
|
3
|
+
export declare const MentionsTypeaheadMenuItem: ({ index, isSelected, namespace, onClick, onMouseEnter, option, currentQueryString, }: {
|
|
4
|
+
index: number;
|
|
5
|
+
isSelected: boolean;
|
|
6
|
+
namespace: string;
|
|
7
|
+
onClick: () => void;
|
|
8
|
+
onMouseEnter: () => void;
|
|
9
|
+
option: MentionTypeaheadOption;
|
|
10
|
+
currentQueryString?: string;
|
|
11
|
+
}) => React.JSX.Element;
|
|
12
|
+
export default MentionsTypeaheadMenuItem;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react");var t=require("./mentions.style.js"),r=require("../../../../portrait/portrait.component.js");const n=({text:t,query:r})=>{if(!r)return e.jsx("span",{children:t});const n=t.toLowerCase(),s=r.toLowerCase(),i=n.indexOf(s);if(-1===i)return e.jsx("span",{children:t});const o=t.slice(0,i),a=t.slice(i,i+r.length),c=t.slice(i+r.length);return e.jsxs("span",{className:"text",children:[o,e.jsx("strong",{children:a}),c]})},s=({index:s,isSelected:i,namespace:o,onClick:a,onMouseEnter:c,option:l,currentQueryString:u})=>{const d="item"+(i?" selected":"");return e.jsxs(t.MentionsListItem,{tabIndex:-1,className:d,ref:l.setRefElement,role:"option","aria-selected":i,id:`${o}-typeahead-item-${s}`,onMouseEnter:c,onClick:a,onKeyDown:a,"aria-label":l.name,children:[e.jsx(r.Portrait,{initials:l.initials,src:l.src,iconType:l.iconType||"individual",size:"XS",shape:"circle"}),e.jsx(n,{text:l.name,query:u})]},l.id)};exports.MentionsTypeaheadMenuItem=s,exports.default=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext"),n=require("@lexical/react/LexicalTypeaheadMenuPlugin"),r=require("lexical"),i=require("react"),o=require("react-dom"),s=require("./constants.js"),a=require("./helpers.js"),l=require("./mentions-typeahead-menu-item.component.js"),u=require("./mention-typeahead-option.class.js"),c=require("../../__nodes__/mention.node.js"),d=require("../../../../../hooks/__internal__/useLocale/useLocale.js"),p=require("./mentions.style.js");function m(e){return e&&e.__esModule?e:{default:e}}var x=m(o);const M=({namespace:o,searchOptions:m})=>{const[M]=t.useLexicalComposerContext(),[h,_]=i.useState(null),C=i.useMemo((()=>h?m.filter((e=>e.name.toLowerCase().startsWith(h.toLowerCase()))):[]),[h,m]),g=d.default(),y=i.useMemo((()=>C.map((e=>new u.MentionTypeaheadOption(e.id,e.name,e.initials,e.iconType,e.src))).slice(0,s.SUGGESTION_LIST_LENGTH_LIMIT)),[C]),L=i.useCallback(((e,t,n)=>{M.update((()=>{const r=c.$createMentionNode(`@${e.name}`);t&&t.replace(r),r.select(),n()}))}),[M]);return i.useEffect((()=>M.registerCommand(r.KEY_BACKSPACE_COMMAND,(()=>{const e=r.$getSelection();if(!r.$isRangeSelection(e)||!e.isCollapsed())return!1;const{anchor:t}=e,n=t.getNode();if(c.$isMentionNode(n)){const e=new r.TextNode(n.getTextContent());return n.replace(e),!0}return!1}),r.COMMAND_PRIORITY_LOW)),[M]),e.jsx(n.LexicalTypeaheadMenuPlugin,{onQueryChange:_,onSelectOption:L,triggerFn:e=>a.getPossibleQueryMatch(e),options:y,menuRenderFn:(t,{selectedIndex:n,selectOptionAndCleanUp:r,setHighlightedIndex:i})=>t.current&&C.length?x.default.createPortal(e.jsx(p.TypeaheadPopover,{id:`${o}-mentions-menu`,children:e.jsx(p.MentionsList,{"data-role":"mention-list",id:`${o}-mention-list`,role:"listbox","aria-label":g.textEditor.mentions.listAriaLabel(),children:y.map(((t,s)=>e.jsx(l.MentionsTypeaheadMenuItem,{index:s,isSelected:n===s,onClick:()=>{i(s),r(t)},onMouseEnter:()=>{i(s)},option:t,namespace:o,currentQueryString:null!=h?h:void 0},t.key)))})}),t.current):null})};exports.MentionsPlugin=M,exports.default=M;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const TypeaheadPopover: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
2
|
+
export declare const MentionsList: import("styled-components").StyledComponent<"ul", any, {}, never>;
|
|
3
|
+
export declare const MentionsListItem: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function e(e){return e&&e.__esModule?e:{default:e}}var o=e(require("styled-components"));const i=o.default.div.withConfig({displayName:"mentions.style__TypeaheadPopover",componentId:"sc-537aff0b-0"})(["background:#fff;box-shadow:0px 5px 10px rgba(0,0,0,0.3);border-radius:8px;position:relative;width:250px;"]),t=o.default.ul.withConfig({displayName:"mentions.style__MentionsList",componentId:"sc-537aff0b-1"})(["padding:8px 0;list-style:none;margin:0;border-radius:8px;max-height:200px;overflow-y:scroll;&::-webkit-scrollbar{display:none;}-ms-overflow-style:none;scrollbar-width:none;"]),n=o.default.li.withConfig({displayName:"mentions.style__MentionsListItem",componentId:"sc-537aff0b-2"})(['padding:8px 24px;color:#0000008c;cursor:pointer;line-height:16px;font-size:15px;display:flex;align-content:center;flex-direction:row;flex-shrink:0;background-color:#fff;border-radius:0;border:0;&:hover{background-color:#eee;color:#000;border-radius:0;div[data-component="portrait"]{color:#000;[data-element="initials"],[data-component="icon"]{color:#000;}}}&.active{display:flex;width:20px;height:20px;background-size:contain;}&.selected{background:#eee;}.text{display:flex;line-height:20px;flex-grow:1;min-width:150px;margin-left:8px;align-items:center;font-size:14px;margin-top:-1px;}div[data-component="portrait"]{background-color:#f2f5f6ff;color:#000000e6;min-width:24px;height:24px;overflow:hidden;border-radius:50%;border:1px solid #ccd6dbff;display:inline-block;font-size:13px;[data-element="initials"],[data-component="icon"]{color:#8b8b8b;}}']);exports.MentionsList=t,exports.MentionsListItem=n,exports.TypeaheadPopover=i;
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* in the Lexical project to allow for greater flexibility in the design of the editor (apparently).
|
|
5
5
|
*/
|
|
6
6
|
import React from "react";
|
|
7
|
-
|
|
8
|
-
/** The namespace of the editor that this placeholder belongs to */
|
|
9
|
-
namespace: string;
|
|
10
|
-
/** The text to display in the placeholder */
|
|
11
|
-
text: string | undefined;
|
|
12
|
-
}
|
|
7
|
+
import { PlaceholderProps } from "../../__utils__/interfaces.types";
|
|
13
8
|
declare const Placeholder: ({ namespace, text }: PlaceholderProps) => React.JSX.Element;
|
|
14
9
|
export default Placeholder;
|
package/lib/components/text-editor/__internal__/{plugins → __ui__}/Placeholder/placeholder.style.js
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});const t=e(require("styled-components")).default.div.withConfig({displayName:"placeholder.style__StyledPlaceholder",componentId:"sc-
|
|
1
|
+
"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});const t=e(require("styled-components")).default.div.withConfig({displayName:"placeholder.style__StyledPlaceholder",componentId:"sc-df32aeb0-0"})(["position:absolute;top:12px;color:var(--colorsUtilityYin055);left:14px;user-select:none;"]);exports.default=t;
|
package/lib/components/text-editor/__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TextEditorProps } from "../../__utils__/interfaces.types";
|
|
3
|
+
declare const ReadOnlyEditor: ({ initialValue, namespace, size, useBackgroundColor, }: Partial<TextEditorProps> & {
|
|
4
|
+
useBackgroundColor?: boolean;
|
|
5
|
+
}) => React.JSX.Element;
|
|
6
|
+
export default ReadOnlyEditor;
|
package/lib/components/text-editor/__internal__/__ui__/ReadOnlyEditor/read-only-rte.component.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@lexical/react/LexicalComposer"),i=require("@lexical/react/LexicalContentEditable"),t=require("@lexical/react/LexicalErrorBoundary"),a=require("@lexical/react/LexicalRichTextPlugin"),l=require("@lexical/react/LexicalLinkPlugin"),n=require("@lexical/react/LexicalClickableLinkPlugin"),o=require("../../__utils__/helpers.js"),u=require("react"),c=require("../../__utils__/theme.js"),s=require("../../__utils__/constants.js"),d=require("../../../../../__internal__/utils/logger/index.js"),x=require("../ContentEditor/content-editor.style.js"),_=require("../../__plugins__/AutoLinker/auto-link.component.js");require("@lexical/react/LexicalComposerContext"),require("@lexical/link"),require("../../../text-editor.context.js"),require("lexical"),require("../../__plugins__/useCursorAtEnd/index.js");const p=e=>{let r;if(!e)return o.createFromHTML("<p><br></p>");try{JSON.parse(e)&&(r=!0)}catch(e){r=!1}if(!r){if(/<[a-z][\s\S]*>/i.test(e))return o.createFromHTML(e);const r=`<p dir="ltr"><span data-lexical-text="true">${(e=>e.replace(/((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)/g,"<a href='$1'>$1</a>"))(e)}</span></p>`;return o.createFromHTML(r)}return e};exports.default=({initialValue:m,namespace:q="carbon-rte-readonly",size:j="medium",useBackgroundColor:L=!0})=>{const g=u.useMemo((()=>({namespace:q,nodes:s.MARKDOWN_NODES,onError:e=>d.default.error(e.message),theme:c.getTheme(),editorState:p(m),editable:!1})),[q,m]);return e.jsx(x.default,{namespace:q,readOnly:!0,size:j,useBackgroundColor:L,children:e.jsxs(r.LexicalComposer,{initialConfig:g,children:[e.jsx(a.RichTextPlugin,{contentEditable:e.jsx(i.ContentEditable,{"data-role":`${q}-content-editor`,"aria-autocomplete":void 0,"aria-readonly":void 0}),ErrorBoundary:t.LexicalErrorBoundary}),e.jsx(l.LinkPlugin,{validateUrl:o.validateUrl}),e.jsx(n.ClickableLinkPlugin,{newTab:!0}),e.jsx(_.default,{})]})})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react");var r=require("./button-group.style.js");exports.default=({children:t,name:a,namespace:i,showDivider:s=!0})=>t?e.jsxs(r.default,{id:`${i}-${a}`,"data-role":`btg-${i}-${a}`,children:[t,s&&e.jsx("div",{role:"separator","aria-hidden":"true",className:"button-group-divider"})]}):null;
|
package/lib/components/text-editor/__internal__/__ui__/Toolbar/button-group/button-group.style.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});const t=e(require("styled-components")).default.div.withConfig({displayName:"button-group.style__StyledButtonGroup",componentId:"sc-2d3568eb-0"})(["display:flex;flex-direction:row;gap:8px;align-items:center;.button-group-divider{width:1px;background-color:var(--colorsUtilityMajor100);margin:0 8px;min-height:32px;}"]);exports.default=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext"),r=require("lexical"),o=require("react"),a=require("../toolbar.style.js"),i=require("../../../../../../hooks/__internal__/useLocale/useLocale.js"),s=require("../../../__utils__/constants.js");function l(e){return e&&e.__esModule?e:{default:e}}const u=l(o).default.forwardRef((({isActive:o,isFirstButton:l=!1,namespace:u,size:n},c)=>{const[d]=t.useLexicalComposerContext(),_=i.default();return e.jsx(a.FormattingButton,{size:n,"aria-label":_.textEditor.boldAria(),onClick:()=>{d.isEditable()&&d.dispatchCommand(r.FORMAT_TEXT_COMMAND,s.TEXT_EDITOR_ACTION_TYPES.Bold)},iconType:"bold",onMouseDown:e=>e.preventDefault(),buttonType:o?"primary":"tertiary",isActive:o,"aria-pressed":o,id:`${u}-bold-button`,"data-role":`${u}-bold-button`,tabIndex:l?0:-1,className:"toolbar-button",ref:c})}));exports.default=u;
|
package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/hyperlink.component.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormattingButtonProps } from "../../../__utils__/interfaces.types";
|
|
3
|
+
declare const HyperlinkButton: React.ForwardRefExoticComponent<Pick<FormattingButtonProps, "size" | "namespace" | "isFirstButton"> & {
|
|
4
|
+
setDialogOpen: (open: boolean) => void;
|
|
5
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
export default HyperlinkButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../toolbar.style.js"),o=require("../../../../../../hooks/__internal__/useLocale/useLocale.js");function n(e){return e&&e.__esModule?e:{default:e}}const a=n(t).default.forwardRef((({isFirstButton:t,namespace:n,size:a="medium",setDialogOpen:u},i)=>{const s=o.default();return e.jsx(r.FormattingButton,{size:a,"aria-label":s.textEditor.hyperlink.buttonAria(),onClick:()=>{u(!0)},onMouseDown:e=>e.preventDefault(),iconType:"link_on",buttonType:"tertiary","data-role":`${n}-hyperlink-button`,id:`${n}-hyperlink-button`,tabIndex:t?0:-1,className:"toolbar-button",ref:i})}));exports.default=a;
|
package/lib/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/buttons/index.d.ts
RENAMED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { default as BoldButton } from "./bold.component";
|
|
2
|
+
export { default as HyperlinkButton } from "./hyperlink.component";
|
|
2
3
|
export { default as ItalicButton } from "./italic.component";
|
|
3
4
|
export { default as ListControls } from "./list.component";
|
|
4
5
|
export { default as SaveButton } from "./save.component";
|
|
6
|
+
export { default as TypographySelector } from "./typography.component";
|
|
7
|
+
export { default as UnderlineButton } from "./underline.component";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./bold.component.js"),t=require("./hyperlink.component.js"),o=require("./italic.component.js"),r=require("./list.component.js"),n=require("./save.component.js"),u=require("./typography.component.js"),p=require("./underline.component.js");exports.BoldButton=e.default,exports.HyperlinkButton=t.default,exports.ItalicButton=o.default,exports.ListControls=r.default,exports.SaveButton=n.default,exports.TypographySelector=u.default,exports.UnderlineButton=p.default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext"),r=require("lexical"),i=require("react"),a=require("../toolbar.style.js"),o=require("../../../../../../hooks/__internal__/useLocale/useLocale.js"),s=require("../../../__utils__/constants.js");function l(e){return e&&e.__esModule?e:{default:e}}const u=l(i).default.forwardRef((({isActive:i,isFirstButton:l=!1,namespace:u,size:n},c)=>{const[_]=t.useLexicalComposerContext(),d=o.default();return e.jsx(a.FormattingButton,{size:n,"aria-label":d.textEditor.italicAria(),onClick:()=>{_.isEditable()&&_.dispatchCommand(r.FORMAT_TEXT_COMMAND,s.TEXT_EDITOR_ACTION_TYPES.Italic)},onMouseDown:e=>e.preventDefault(),iconType:"italic",buttonType:i?"primary":"tertiary",isActive:i,"aria-pressed":i,"data-role":`${u}-italic-button`,id:`${u}-italic-button`,tabIndex:l?0:-1,className:"toolbar-button",ref:c})}));exports.default=u;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const ListControls: ({ namespace, olIsFirstButton, showOL, showUL, ulIsFirstButton, size, }: {
|
|
3
|
+
namespace: string;
|
|
4
|
+
olIsFirstButton?: boolean;
|
|
5
|
+
showOL?: boolean;
|
|
6
|
+
showUL?: boolean;
|
|
7
|
+
ulIsFirstButton?: boolean;
|
|
8
|
+
size?: "small" | "medium" | "large";
|
|
9
|
+
}) => React.JSX.Element;
|
|
10
|
+
export default ListControls;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/list"),r=require("@lexical/react/LexicalComposerContext"),i=require("@lexical/utils"),n=require("lexical"),s=require("react"),o=require("../toolbar.style.js"),l=require("../../../../../../hooks/__internal__/useLocale/useLocale.js"),a=require("../../../__utils__/constants.js");exports.default=({namespace:d,olIsFirstButton:u,showOL:c=!0,showUL:g=!0,ulIsFirstButton:f,size:_="medium"})=>{const[m]=r.useLexicalComposerContext(),b=l.default(),[p,h]=s.useState(!1),[L,N]=s.useState(!1);s.useEffect((()=>i.mergeRegister(m.registerCommand(t.INSERT_ORDERED_LIST_COMMAND,(()=>(t.insertList(m,a.TEXT_EDITOR_ACTION_TYPES.OrderedList),!0)),n.COMMAND_PRIORITY_LOW),m.registerCommand(t.INSERT_UNORDERED_LIST_COMMAND,(()=>(t.insertList(m,a.TEXT_EDITOR_ACTION_TYPES.UnorderedList),!0)),n.COMMAND_PRIORITY_LOW),m.registerCommand(t.REMOVE_LIST_COMMAND,(()=>(t.removeList(m),!0)),n.COMMAND_PRIORITY_LOW))),[m]);const E=e=>{let r=e;for(;null!==r;){if(r instanceof t.ListItemNode)return r;r=null==r?void 0:r.getParent()}return null},T=s.useCallback((()=>{const e=n.$getSelection();if(!e)return h(!1),void N(!1);const r=e.getNodes();if(0===r.length)return h(!1),void N(!1);const i=r.map(E).find((e=>null!==e));if(!i)return h(!1),void N(!1);let s=i.getParent();for(;s&&!(s instanceof t.ListNode);)s=s.getParent();s instanceof t.ListNode?(h("number"===s.getListType()),N("bullet"===s.getListType())):(h(!1),N(!1))}),[]);s.useEffect((()=>i.mergeRegister(m.registerUpdateListener((({editorState:e})=>{e.read((()=>{m.isEditable()&&T()}))})))),[T,m]);const C=e=>{m.update((()=>{const r=n.$getSelection();if(!n.$isRangeSelection(r))return;let i=r.anchor.getNode().getParent();for(;i&&!t.$isListNode(i);)i=i.getParent();if(!i)return;const s=r.getNodes().map((e=>"list"===e.getType()?e:null)).filter((e=>null!==e));if(s.length>1)return o=e,void s.forEach((e=>{m.update((()=>{e.setListType(o)}))}));var o;const l=[],a=[],d=[],u=r.getNodes().map((e=>{let r=e.getParent();if(!t.$isListItemNode(r)){const e=null==r?void 0:r.getType();if(!e||!["link","autolink"].includes(e))return null;var n;r=null!==(n=null==r?void 0:r.getParent())&&void 0!==n?n:null}const s=null==r?void 0:r.getKey();return s!==(null==i?void 0:i.getKey())?s:null})).filter((e=>null!=e)),c=i.getChildrenKeys(),g=Array.from(new Set(u)),{beforeSubset:f,subset:_,afterSubset:b}=function(e,t){let r=-1;for(let i=0;i<=e.length-t.length;i++)if(e.slice(i,i+t.length).toString()===t.toString()){r=i;break}if(-1===r)throw new Error("Subset B not found in array A");return 0===r&&t.length===e.length?{beforeSubset:[],subset:e,afterSubset:[]}:{beforeSubset:e.slice(0,r),subset:e.slice(r,r+t.length),afterSubset:e.slice(r+t.length)}}(c,g);f.forEach((e=>{const r=n.$getNodeByKey(e);t.$isListItemNode(r)&&l.push(r)})),_.forEach((e=>{const r=n.$getNodeByKey(e);t.$isListItemNode(r)&&a.push(r)})),b.forEach((e=>{const r=n.$getNodeByKey(e);t.$isListItemNode(r)&&d.push(r)}));const p=i.getListType(),h=t.$createListNode(p),L=t.$createListNode(e),N=t.$createListNode(p);h.append(...l),L.append(...a),N.append(...d),h.getChildren().length>0&&i.insertBefore(h),L.getChildren().length>0&&(h.getChildren().length>0?h.insertAfter(L):i.insertBefore(L)),N.getChildren().length>0&&(L.getChildren().length>0?L.insertAfter(N):h.getChildren().length>0?h.insertAfter(N):i.insertBefore(N)),i.remove()}))};return e.jsxs(e.Fragment,{children:[g&&e.jsx(o.FormattingButton,{size:_,"aria-label":b.textEditor.unorderedListAria(),onClick:()=>p?C("bullet"):void(m.isEditable()&&(L?(m.dispatchCommand(t.REMOVE_LIST_COMMAND,void 0),N(!1)):(m.dispatchCommand(t.INSERT_UNORDERED_LIST_COMMAND,void 0),N(!0)),h(!1))),onMouseDown:e=>e.preventDefault(),iconType:"bullet_list_dotted",buttonType:L?"primary":"tertiary",isActive:L,"aria-pressed":L,"data-role":`${d}-unordered-list-button`,id:`${d}-unordered-list-button`,tabIndex:f?0:-1,className:"toolbar-button"}),c&&e.jsx(o.FormattingButton,{size:_,"aria-label":b.textEditor.orderedListAria(),onClick:()=>L?C("number"):void(m.isEditable()&&(p?(m.dispatchCommand(t.REMOVE_LIST_COMMAND,void 0),h(!1)):(m.dispatchCommand(t.INSERT_ORDERED_LIST_COMMAND,void 0),h(!0)),N(!1))),onMouseDown:e=>e.preventDefault(),iconType:"bullet_list_numbers",buttonType:p?"primary":"tertiary",isActive:p,"aria-pressed":p,"data-role":`${d}-ordered-list-button`,id:`${d}-ordered-list-button`,tabIndex:u?0:-1,className:"toolbar-button"})]})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext");require("react");var r=require("../../../../../button/button.component.js"),a=require("../../../../../../hooks/__internal__/useLocale/useLocale.js"),o=require("../../../__utils__/helpers.js");exports.default=({namespace:i,onSave:s,size:u})=>{const[l]=t.useLexicalComposerContext(),n=a.default();return e.jsx(r.default,{"data-role":`${i}-save-button`,buttonType:"primary","aria-label":n.textEditor.saveButtonAria(),onClick:()=>{if(!l.isEditable())return;const e=o.SerializeLexical(l);null==s||s(e)},size:u,className:"command-button",children:n.textEditor.saveButton()})};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface DropdownOption {
|
|
3
|
+
id: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
onClick: () => void;
|
|
6
|
+
ariaLabel?: string;
|
|
7
|
+
}
|
|
8
|
+
interface ToolbarDropdownProps {
|
|
9
|
+
namespace: string;
|
|
10
|
+
onChange?: (value: string) => void;
|
|
11
|
+
options: DropdownOption[];
|
|
12
|
+
isFirstButton?: boolean;
|
|
13
|
+
value: string;
|
|
14
|
+
isOpen: boolean;
|
|
15
|
+
setIsOpen?: (open: boolean) => void;
|
|
16
|
+
focusedIndex: number;
|
|
17
|
+
setFocusedIndex?: (index: number) => void;
|
|
18
|
+
size?: "small" | "medium" | "large";
|
|
19
|
+
}
|
|
20
|
+
declare const ToolbarDropdown: ({ namespace, onChange, options, value, isFirstButton, isOpen, setIsOpen, focusedIndex, setFocusedIndex, size, }: ToolbarDropdownProps) => React.JSX.Element;
|
|
21
|
+
export default ToolbarDropdown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=require("./dropdown.style.js"),r=require("../../../../../../box/box.component.js"),l=require("../../../../../../icon/icon.component.js"),o=require("../../../../../../../hooks/__internal__/useLocale/useLocale.js");exports.default=({namespace:a,onChange:u,options:i,value:s,isFirstButton:d=!1,isOpen:c,setIsOpen:p,focusedIndex:v,setFocusedIndex:y,size:f="medium"})=>{var x,h;const b=o.default(),m=n.useRef(null),g=n.useRef(null),k=`${a}-typography-menu`,w=n.useMemo((()=>{const e=i.find((e=>e.id===s));if(!e)return b.textEditor.typography.paragraph();const n=e.id;return b.textEditor.typography[n]()}),[b,i,s]);n.useEffect((()=>{const e=e=>{m.current&&g.current&&!m.current.contains(e.target)&&!g.current.contains(e.target)&&(null==p||p(!1),null==y||y(-1))};return c&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}}),[c,y,p]),n.useEffect((()=>{var e;c&&v>=0&&g.current&&(null===(e=g.current.querySelectorAll('[role="option"]')[v])||void 0===e||e.focus())}),[c,v]);const j=e=>{switch(e.key){case"Enter":case" ":if(!c){e.preventDefault(),null==p||p(!0),null==y||y(0);break}var n,t;v>=0&&(e.preventDefault(),null===(n=i[v])||void 0===n||n.onClick(),null==p||p(!1),null==y||y(-1),null===(t=m.current)||void 0===t||t.focus());break;case"ArrowDown":e.preventDefault(),c?null==y||y(v<i.length-1?v+1:0):(null==p||p(!0),null==y||y(0));break;case"ArrowUp":e.preventDefault(),c?null==y||y(v>0?v-1:i.length-1):(null==p||p(!0),null==y||y(i.length-1));break;case"Home":e.preventDefault(),c&&(null==y||y(0));break;case"End":e.preventDefault(),c&&(null==y||y(i.length-1));break;case"Escape":var r;c&&(e.preventDefault(),null==p||p(!1),null==y||y(-1),null===(r=m.current)||void 0===r||r.focus());break;case"Tab":c&&(null==p||p(!1),null==y||y(-1))}};return e.jsxs(r.Box,{position:"relative",display:"inline-block",minWidth:"150px",marginRight:"spacing05",children:[e.jsxs(t.StyledButton,{ref:m,type:"button",role:"combobox","aria-haspopup":"listbox",menuOpen:c,"aria-activedescendant":null===(x=i[v])||void 0===x?void 0:x.id,"aria-controls":c?k:void 0,"aria-expanded":c,"aria-label":b.textEditor.typography.selectAria(),onKeyDown:j,onClick:()=>{null==p||p(!c)},className:"toolbar-button",tabIndex:d?0:-1,"data-role":`${a}-typography-dropdown`,id:`${a}-typography-dropdown`,size:f,children:[w," ",e.jsx("span",{"aria-hidden":"true",children:e.jsx(l.default,{type:c?"caret_up":"caret_down"})})]}),c&&e.jsx(t.StyledMenu,{ref:g,role:"listbox",id:k,"aria-labelledby":null===(h=m.current)||void 0===h?void 0:h.id,onKeyDown:j,size:f,"aria-expanded":c,children:i.map((n=>{var r;const l=n.id,o=b.textEditor.typography[l]();return e.jsx(t.StyledMenuItem,{id:n.id,role:"option","data-role":`${a}-typography-option-${n.id}`,tabIndex:-1,onMouseDown:e=>{e.preventDefault(),(e=>{e.onClick(),null==p||p(!1),null==y||y(-1),null==u||u(e.id)})(n)},isFocused:(null===(r=i[v])||void 0===r?void 0:r.id)===n.id,children:o},n.id)}))})]})};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type ButtonProps = {
|
|
2
|
+
size: "small" | "medium" | "large";
|
|
3
|
+
menuOpen?: boolean;
|
|
4
|
+
};
|
|
5
|
+
type ListProps = {
|
|
6
|
+
size: "small" | "medium" | "large";
|
|
7
|
+
};
|
|
8
|
+
export declare const StyledButton: import("styled-components").StyledComponent<"button", any, ButtonProps, never>;
|
|
9
|
+
export declare const StyledMenu: import("styled-components").StyledComponent<"ul", any, ListProps, never>;
|
|
10
|
+
export declare const StyledMenuItem: import("styled-components").StyledComponent<"li", any, {
|
|
11
|
+
isFocused: boolean;
|
|
12
|
+
}, never>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("styled-components"),t=require("../../../../../../../style/utils/add-focus-styling.js");function o(e){return e&&e.__esModule?e:{default:e}}var r=o(e);const n=r.default.button.withConfig({displayName:"dropdown.style__StyledButton",componentId:"sc-658dffa6-0"})(["width:100%;min-height:32px;display:flex;justify-content:space-between;align-items:center;border:none;background:transparent;border-radius:var(--borderRadius100);cursor:pointer;font-size:var(--fontSizes100);font-weight:var(--fontWeights500);height:",";"," &:focus{","}"],(({size:e})=>(e=>{switch(e){case"small":return"32px";case"large":return"48px";default:return"40px"}})(e)),(({menuOpen:o})=>o&&e.css(["",""],t.default())),t.default()),i=r.default.ul.withConfig({displayName:"dropdown.style__StyledMenu",componentId:"sc-658dffa6-1"})(["position:absolute;top:",";left:0;z-index:1;background:white;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.15);list-style:none;margin:0;padding:8px 0;width:100%;max-height:200px;overflow-y:auto;"],(({size:e})=>"small"===e?"38px":"large"===e?"54px":"46px")),s=r.default.li.withConfig({displayName:"dropdown.style__StyledMenuItem",componentId:"sc-658dffa6-2"})(["background:",";cursor:pointer;user-select:none;padding:8px 16px;color:var(--colorsUtilityYin055);&&{&:hover{background:#f0f0f0;color:var(--colorsUtilityYin100);}}&:focus-visible{box-shadow:inset 0px 0px 0px var(--borderWidth300) var(--colorsUtilityYin090);outline:none;background:white;&:hover{background-color:var(--colorsUtilityYang100);}}"],(e=>e.isFocused?"#f0f0f0":"white"));exports.StyledButton=n,exports.StyledMenu=i,exports.StyledMenuItem=s;
|
package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography.component.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RangeSelection } from "lexical";
|
|
2
|
+
import React, { RefObject } from "react";
|
|
3
|
+
import { StyledSpanNode } from "../../../__nodes__/styled-span.node";
|
|
4
|
+
export type TypographyKey = "paragraph" | "title" | "subtitle" | "sectionHeader" | "sectionSubheader";
|
|
5
|
+
export type TypographySelectorProps = {
|
|
6
|
+
/** Reference to the editor for the toolbar to consume */
|
|
7
|
+
contentEditorRef: RefObject<HTMLDivElement>;
|
|
8
|
+
/** The namespace of the editor that this dropdown belongs to */
|
|
9
|
+
namespace: string;
|
|
10
|
+
/** Whether the button is the first in a group of buttons */
|
|
11
|
+
isFirstButton?: boolean;
|
|
12
|
+
isOpen: boolean;
|
|
13
|
+
setIsOpen: (open: boolean) => void;
|
|
14
|
+
focusedIndex?: number;
|
|
15
|
+
setFocusedIndex?: (index: number) => void;
|
|
16
|
+
size?: "small" | "medium" | "large";
|
|
17
|
+
};
|
|
18
|
+
export declare function getStyledSpanFromSelection(selection: RangeSelection): StyledSpanNode | null;
|
|
19
|
+
declare const TypographySelector: ({ contentEditorRef, namespace, isFirstButton, isOpen, setIsOpen, focusedIndex, setFocusedIndex, size, }: TypographySelectorProps) => React.JSX.Element;
|
|
20
|
+
export default TypographySelector;
|
package/lib/components/text-editor/__internal__/__ui__/Toolbar/buttons/typography.component.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext"),o=require("lexical"),n=require("react"),r=require("../../../../../box/box.component.js"),s=require("../../../__nodes__/styled-span.node.js"),a=require("./typography-dropdown/dropdown.component.js");function i(e){let t=e.anchor.getNode();for(;t;){if(t instanceof s.StyledSpanNode)return t;t=t.getParent()}return null}exports.default=({contentEditorRef:c,namespace:d,isFirstButton:p=!1,isOpen:l,setIsOpen:u,focusedIndex:g=-1,setFocusedIndex:x,size:f})=>{const[S]=t.useLexicalComposerContext(),[m,h]=n.useState("paragraph");n.useEffect((()=>S.registerCommand(o.SELECTION_CHANGE_COMMAND,(()=>(setTimeout((()=>{S.getEditorState().read((()=>{const e=o.$getSelection();if(o.$isRangeSelection(e)){const t=i(e);h(t?t.getTypographyKey():"paragraph")}}))}),0),!1)),o.COMMAND_PRIORITY_LOW)),[S]);const C=e=>{const t=e;h(t),S.update((()=>{const e=o.$getSelection();if(o.$isRangeSelection(e)){const n=e.getNodes(),r=e.anchor.offset,a=e.focus.offset;let i=null;n.forEach((e=>{if(e instanceof o.TextNode||e instanceof s.StyledSpanNode){let n;n="paragraph"===t?new o.TextNode(e.getTextContent()):s.StyledSpanNode.createFromOption(t,e.getTextContent()),e.replace(n),i||(i=n)}})),i&&i.select(r,a)}else{let e;e="paragraph"===t?new o.TextNode(""):s.StyledSpanNode.createFromOption(t,"");const n=o.$getRoot(),r=n.getLastChild();o.$isParagraphNode(r)?r.append(e):n.append(e),e.select()}}),{discrete:!0}),setTimeout((()=>{var e;null==c||null===(e=c.current)||void 0===e||e.focus(),S.dispatchCommand(o.SELECTION_CHANGE_COMMAND,void 0)}),0)};return e.jsx(r.Box,{minWidth:"150px",marginRight:"spacing05",children:e.jsx(a.default,{size:f,namespace:d,onChange:e=>{C(e)},value:m,isFirstButton:p,options:["title","subtitle","sectionHeader","sectionSubheader","paragraph"].map((e=>({id:e,key:e,onClick:()=>{C(e)}}))),isOpen:l,setIsOpen:u,focusedIndex:g,setFocusedIndex:x})})},exports.getStyledSpanFromSelection=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext"),r=require("lexical"),i=require("react"),a=require("../toolbar.style.js"),n=require("../../../../../../hooks/__internal__/useLocale/useLocale.js"),o=require("../../../__utils__/constants.js");function s(e){return e&&e.__esModule?e:{default:e}}const u=s(i).default.forwardRef((({isActive:i,isFirstButton:s=!1,namespace:u,size:l},c)=>{const[d]=t.useLexicalComposerContext(),_=n.default();return e.jsx(a.FormattingButton,{size:l,"aria-label":_.textEditor.underlineAria(),onClick:()=>{d.isEditable()&&d.dispatchCommand(r.FORMAT_TEXT_COMMAND,o.TEXT_EDITOR_ACTION_TYPES.Underline)},iconType:"underline",onMouseDown:e=>e.preventDefault(),buttonType:i?"primary":"tertiary",isActive:i,"aria-pressed":i,"data-role":`${u}-underline-button`,id:`${u}-underline-button`,tabIndex:s?0:-1,className:"toolbar-button",ref:c})}));exports.default=u;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ToolbarProps } from "../../__utils__/interfaces.types";
|
|
3
|
+
declare const Toolbar: ({ contentEditorRef, namespace, hasHeader, onCancel, onSave, size, toolbarControls, }: ToolbarProps) => React.JSX.Element | null;
|
|
4
|
+
export default Toolbar;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@lexical/react/LexicalComposerContext"),n=require("@lexical/utils"),r=require("lexical"),i=require("react"),a=require("./toolbar.style.js"),o=require("../../../../button/button.component.js"),l=require("../../../../../hooks/__internal__/useLocale/useLocale.js"),s=require("./buttons/bold.component.js"),d=require("./buttons/hyperlink.component.js"),u=require("./buttons/italic.component.js"),c=require("./buttons/list.component.js"),p=require("./buttons/save.component.js"),b=require("./buttons/typography.component.js"),m=require("./buttons/underline.component.js"),x=require("./button-group/button-group.component.js"),h=require("../../__utils__/constants.js"),f=require("../../../../textbox/textbox.component.js"),g=require("@lexical/link"),j=require("../../../../dialog/dialog.component.js"),v=require("../../../../form/form.component.js");require("../../../../form/required-fields-indicator/required-fields-indicator.component.js"),exports.default=({contentEditorRef:y,namespace:k,hasHeader:q,onCancel:E,onSave:S,size:T="medium",toolbarControls:$=["typography","bold","italic","underline","unordered-list","ordered-list","link"]})=>{const[C]=t.useLexicalComposerContext(),_=C.isEditable(),D=i.useRef(null),[F,I]=i.useState(!1),[B,L]=i.useState(!1),[w,z]=i.useState(!1),[A,O]=i.useState(!1),[R,N]=i.useState(!1),[P,H]=i.useState(-1),[U,X]=i.useState(""),[Y,K]=i.useState(""),M=l.default(),W=$.includes("typography"),G=$.includes("bold")||$.includes("italic")||$.includes("underline"),J=$.includes("unordered-list")||$.includes("ordered-list"),Q=$.includes("link"),V=i.useCallback((()=>{const e=r.$getSelection();r.$isRangeSelection(e)&&(I(e.hasFormat(h.TEXT_EDITOR_ACTION_TYPES.Bold)),L(e.hasFormat(h.TEXT_EDITOR_ACTION_TYPES.Italic)),z(e.hasFormat(h.TEXT_EDITOR_ACTION_TYPES.Underline)))}),[]);i.useEffect((()=>n.mergeRegister(C.registerUpdateListener((({editorState:e})=>{e.read((()=>{C.isEditable()&&V()}))})))),[V,C]);const Z=()=>{X(""),K(""),O(!1)};if(!_)return null;const ee=U.length&&Y.length;return e.jsxs(a.StyledToolbarWrapper,{"data-role":`${k}-toolbar-wrapper`,hasHeader:q,id:`${k}-toolbar-wrapper`,size:T,children:[e.jsxs(a.StyledToolbar,{role:"toolbar","aria-label":M.textEditor.toolbarAriaLabel(),"data-role":`${k}-toolbar`,id:`${k}-toolbar`,ref:D,onKeyDown:e=>{var t,n;if(0===$.length||!D.current)return;const r=Array.from(null===(t=D.current)||void 0===t?void 0:t.querySelectorAll("button.toolbar-button"));if(!r.length)return;const i=r.findIndex((e=>{var t;return e.id===(null===(t=document.activeElement)||void 0===t?void 0:t.id)}));let a=-1;switch(e.key){case"ArrowRight":e.preventDefault(),R||(a=i<r.length-1?i+1:0);break;case"ArrowLeft":e.preventDefault(),R||(a=i>0?i-1:r.length-1);break;case"Home":e.preventDefault(),a=0;break;case"End":e.preventDefault(),a=r.length-1;break;default:return}r.forEach(((e,t)=>{e.tabIndex=t===a?0:-1})),a>-1&&(null===(n=r[a])||void 0===n||n.focus())},tabIndex:-1,children:[e.jsxs(e.Fragment,{children:[W&&e.jsx(x.default,{name:"typography-formatting-buttons",namespace:k,showDivider:G||J||Q,children:e.jsx(b.default,{contentEditorRef:y,namespace:k,isFirstButton:!0,isOpen:R,setIsOpen:N,focusedIndex:P,setFocusedIndex:H,size:T})}),G&&e.jsxs(x.default,{name:"text-formatting-buttons",namespace:k,showDivider:J||Q,children:[$.includes("bold")&&e.jsx(s.default,{isActive:F,namespace:k,isFirstButton:!W,size:T}),$.includes("italic")&&e.jsx(u.default,{isActive:B,namespace:k,isFirstButton:!W&&!$.includes("bold"),size:T}),$.includes("underline")&&e.jsx(m.default,{isActive:w,namespace:k,isFirstButton:!W&&!$.includes("bold")&&!$.includes("italic"),size:T})]}),J&&e.jsx(x.default,{name:"list-formatting-buttons",namespace:k,showDivider:Q,children:e.jsx(c.default,{namespace:k,olIsFirstButton:!W&&!G&&!$.includes("unordered-list"),showOL:$.includes("ordered-list"),showUL:$.includes("unordered-list"),ulIsFirstButton:!W&&!G,size:T})}),Q&&e.jsx(x.default,{name:"hyperlink-formatting-buttons",namespace:k,showDivider:!1,children:e.jsx(d.default,{namespace:k,isFirstButton:!W&&!G&&!J,setDialogOpen:O,size:T})})]}),e.jsx(j.Dialog,{open:A,onCancel:()=>{Z()},title:M.textEditor.hyperlink.dialogTitle(),"data-role":`${k}-hyperlink-dialog`,"aria-label":M.textEditor.hyperlink.dialogTitle(),size:"small",children:e.jsxs(v.Form,{leftSideButtons:e.jsx(o.default,{"data-role":`${k}-hyperlink-cancel-button`,onClick:()=>{Z()},children:"Cancel"}),saveButton:e.jsx(o.default,{buttonType:"primary",type:"submit",disabled:!ee,"data-role":`${k}-hyperlink-save-button`,children:"Save"}),onSubmit:e=>{e.preventDefault(),C.isEditable()&&(C.update((()=>{const e=r.$getRoot(),t=e.getChildrenSize(),n=r.$getSelection(),i=g.$createLinkNode(Y);if(i.append(r.$createTextNode(U)),0===t){const t=r.$createParagraphNode();t.append(i),e.append(t),t.selectEnd()}else if(r.$isRangeSelection(n))n.insertNodes([i]);else{const t=e.getLastChild();r.$isParagraphNode(t)&&t.append(i)}})),Z())},children:[e.jsx(f.Textbox,{label:M.textEditor.hyperlink.textFieldLabel(),name:"text",required:!0,"data-role":`${k}-hyperlink-text-field`,value:U,onChange:e=>X(e.target.value)}),e.jsx(f.Textbox,{label:M.textEditor.hyperlink.linkFieldLabel(),name:"link",required:!0,"data-role":`${k}-hyperlink-link-field`,value:Y,onChange:e=>K(e.target.value)})]})})]}),e.jsxs(a.CommandButtons,{"data-role":`${k}-command-buttons`,children:[E&&e.jsx(o.default,{buttonType:"tertiary","data-role":`${k}-cancel-button`,"aria-label":M.textEditor.cancelButtonAria(),onClick:()=>null==E?void 0:E(C),size:T,className:"command-button",children:M.textEditor.cancelButton()}),S&&e.jsx(p.default,{namespace:k,onSave:S,size:T})]})]})};
|
package/lib/components/text-editor/__internal__/{plugins → __ui__}/Toolbar/toolbar.style.d.ts
RENAMED
|
@@ -2,11 +2,15 @@ import { ButtonProps } from "../../../../button";
|
|
|
2
2
|
interface FormattingButtonProps extends ButtonProps {
|
|
3
3
|
tabIndex?: number;
|
|
4
4
|
isActive?: boolean;
|
|
5
|
+
onMouseDown?: React.MouseEventHandler<HTMLButtonElement>;
|
|
6
|
+
size?: "small" | "medium" | "large";
|
|
5
7
|
}
|
|
6
|
-
declare const
|
|
8
|
+
export declare const getPaddingForSize: (size?: "small" | "medium" | "large") => "16px" | "12px" | "8px";
|
|
9
|
+
declare const StyledToolbarWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
7
10
|
hasHeader?: boolean;
|
|
11
|
+
size?: "small" | "medium" | "large";
|
|
8
12
|
}, never>;
|
|
9
|
-
declare const
|
|
13
|
+
declare const StyledToolbar: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
10
14
|
declare const CommandButtons: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
11
15
|
declare const FormattingButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>, any, FormattingButtonProps, never>;
|
|
12
|
-
export { StyledToolbar,
|
|
16
|
+
export { StyledToolbar, StyledToolbarWrapper, CommandButtons, FormattingButton, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var r=require("styled-components"),t=require("../../../../button/button.component.js");function o(r){return r&&r.__esModule?r:{default:r}}var e=o(r);const a=r=>{switch(r){case"small":return"8px";case"large":return"16px";default:return"12px"}},i=e.default.div.withConfig({displayName:"toolbar.style__StyledToolbarWrapper",componentId:"sc-524b490c-0"})(["display:flex;flex-direction:row;gap:8px;background-color:var(--colorsActionMajorYang100);padding:",";border-top-left-radius:",";border-top-right-radius:",";border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid var(--colorsUtilityMajor200);align-items:center;flex-wrap:wrap;"],(r=>a(r.size)),(({hasHeader:r})=>r?"0":"var(--borderRadius100)"),(({hasHeader:r})=>r?"0":"var(--borderRadius100)")),s=e.default.div.withConfig({displayName:"toolbar.style__StyledToolbar",componentId:"sc-524b490c-1"})(["display:flex;flex-direction:row;gap:8px;background-color:var(--colorsActionMajorYang100);align-items:center;flex-wrap:wrap;"]),n=e.default.div.withConfig({displayName:"toolbar.style__CommandButtons",componentId:"sc-524b490c-2"})(["display:flex;flex-direction:row;gap:8px;"]),l=e.default(t.default).withConfig({displayName:"toolbar.style__FormattingButton",componentId:"sc-524b490c-3"})(["display:inline-flex;justify-content:center;align-items:center;padding:6px;border-radius:var(--borderRadius100);border:medium;cursor:pointer;&:hover{> span{color:var(--colorsUtilityYang100) !important;}}"," "," > span{","}"],(({size:t})=>{switch(t){case"large":return r.css(["min-width:48px;min-height:48px;"]);case"small":return r.css(["min-width:32px;min-height:32px;"]);default:return r.css(["min-width:40px;min-height:40px;"])}}),(({isActive:t})=>r.css(["background-color:",";"],t?"var(--colorsActionMajor600)":"transparent")),(({isActive:t})=>r.css(["color:"," !important;"],t?"var(--colorsUtilityYang100)":"var(--colorsUtilityYin100) ")));exports.CommandButtons=n,exports.FormattingButton=l,exports.StyledToolbar=s,exports.StyledToolbarWrapper=i,exports.getPaddingForSize=a;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { default as AutoLinkerPlugin } from "./AutoLinker";
|
|
2
1
|
export { default as CharacterCounterPlugin } from "./CharacterCounter";
|
|
3
2
|
export { default as ContentEditor } from "./ContentEditor";
|
|
4
|
-
export { default as LinkMonitorPlugin } from "./LinkMonitor";
|
|
5
3
|
export { default as LinkPreviewerPlugin } from "./LinkPreviewer";
|
|
4
|
+
export { default as Mentions } from "./Mentions";
|
|
6
5
|
export { default as Placeholder } from "./Placeholder";
|
|
7
6
|
export { default as ToolbarPlugin } from "./Toolbar";
|
|
8
|
-
export {
|
|
7
|
+
export type { Mention } from "./Mentions";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./CharacterCounter/character-counter.component.js"),r=require("./ContentEditor/content-editor.component.js"),o=require("./LinkPreviewer/link-previewer.component.js"),t=require("./Mentions/mentions.component.js"),n=require("./Placeholder/placeholder.component.js"),i=require("./Toolbar/toolbar.component.js");exports.CharacterCounterPlugin=e.default,exports.ContentEditor=r.default,exports.LinkPreviewerPlugin=o.default,exports.Mentions=t.MentionsPlugin,exports.Placeholder=n.default,exports.ToolbarPlugin=i.default;
|
|
@@ -3,18 +3,19 @@ import { LinkNode } from "@lexical/link";
|
|
|
3
3
|
import { ListNode, ListItemNode, ListType } from "@lexical/list";
|
|
4
4
|
import { HorizontalRuleNode } from "@lexical/react/LexicalHorizontalRuleNode";
|
|
5
5
|
import { HeadingNode, QuoteNode } from "@lexical/rich-text";
|
|
6
|
-
import {
|
|
6
|
+
import { TextFormatType } from "lexical";
|
|
7
|
+
import { StyledSpanNode } from "../__nodes__/styled-span.node";
|
|
8
|
+
import { MentionNode } from "../__nodes__/mention.node";
|
|
7
9
|
/** The default prefix applied to the editor's internal class names, IDs, etc. */
|
|
8
10
|
declare const COMPONENT_PREFIX = "carbon-rte";
|
|
9
|
-
/** The theme overrides needed to correctly style the editor */
|
|
10
|
-
declare const theme: EditorThemeClasses;
|
|
11
11
|
/** The available actions that can be used in the editor */
|
|
12
|
-
declare const
|
|
12
|
+
declare const TEXT_EDITOR_ACTION_TYPES: {
|
|
13
13
|
Bold: TextFormatType;
|
|
14
14
|
Italic: TextFormatType;
|
|
15
|
+
Underline: TextFormatType;
|
|
15
16
|
OrderedList: ListType;
|
|
16
17
|
UnorderedList: ListType;
|
|
17
18
|
};
|
|
18
19
|
/** The nodes supported by markdown */
|
|
19
|
-
declare const
|
|
20
|
-
export { COMPONENT_PREFIX,
|
|
20
|
+
declare const MARKDOWN_NODES: (typeof StyledSpanNode | typeof MentionNode | typeof LinkNode | typeof CodeNode | typeof ListNode | typeof ListItemNode | typeof HeadingNode | typeof QuoteNode | typeof HorizontalRuleNode)[];
|
|
21
|
+
export { COMPONENT_PREFIX, MARKDOWN_NODES, TEXT_EDITOR_ACTION_TYPES };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("@lexical/code"),i=require("@lexical/link"),o=require("@lexical/list"),r=require("@lexical/react/LexicalHorizontalRuleNode"),d=require("@lexical/rich-text"),l=require("../__nodes__/styled-span.node.js"),t=require("../__nodes__/mention.node.js");const n=[i.AutoLinkNode,e.CodeNode,i.LinkNode,o.ListNode,o.ListItemNode,d.HeadingNode,d.QuoteNode,r.HorizontalRuleNode,l.StyledSpanNode,t.MentionNode];exports.COMPONENT_PREFIX="carbon-rte",exports.MARKDOWN_NODES=n,exports.TEXT_EDITOR_ACTION_TYPES={Bold:"bold",Italic:"italic",Underline:"underline",OrderedList:"number",UnorderedList:"bullet"};
|
|
@@ -17,4 +17,7 @@ declare const SerializeLexical: (editor: LexicalEditor) => {
|
|
|
17
17
|
declare const DeserializeHTML: (html: string) => string;
|
|
18
18
|
/** Function to validate a given URL */
|
|
19
19
|
declare function validateUrl(url: string): boolean;
|
|
20
|
-
|
|
20
|
+
declare const createFromHTML: (html: string) => string;
|
|
21
|
+
/** Creates and returns a string representation of an empty editor */
|
|
22
|
+
declare const createEmpty: () => string;
|
|
23
|
+
export { createEmpty, createFromHTML, DeserializeHTML, SerializeLexical, validateUrl, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("@lexical/headless"),t=require("@lexical/html"),r=require("lexical"),o=require("./constants.js"),n=require("./theme.js"),s=require("../../../../__internal__/utils/logger/index.js");const i=i=>{const a=e.createHeadlessEditor({namespace:"html-to-json",onError:e=>s.default.error(e.message),theme:n.getTheme(),nodes:o.MARKDOWN_NODES});let l;if(a.update((()=>{const e=(new DOMParser).parseFromString(i,"text/html"),o=t.$generateNodesFromDOM(a,e);r.$getRoot().select();const n=r.$getSelection();if(n)try{n.insertNodes(o)}catch(e){l=e}}),{discrete:!0}),l)throw l;const c=a.getEditorState().toJSON();return JSON.stringify(c)},a=new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/);exports.DeserializeHTML=i,exports.SerializeLexical=e=>{let r,o;return e.read((()=>{const n=e.getEditorState();o=n.toJSON(),r=t.$generateHtmlFromNodes(e,null)})),{htmlString:r,json:o}},exports.createEmpty=()=>'{"root":{"children":[{"children":[],"direction":null,"format":"","indent":0,"type":"paragraph","version":1}],"direction":null,"format":"","indent":0,"type":"root","version":1}}',exports.createFromHTML=e=>i(e),exports.validateUrl=function(e){return"https://"===e||a.test(e)};
|