@mantine/tiptap 5.9.4 → 5.9.5
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/cjs/Content/Content.js +1 -2
- package/cjs/Content/Content.js.map +1 -1
- package/cjs/controls/ColorControl/ColorControl.js +1 -2
- package/cjs/controls/ColorControl/ColorControl.js.map +1 -1
- package/cjs/controls/LinkControl/LinkControl.js +1 -1
- package/cjs/controls/LinkControl/LinkControl.js.map +1 -1
- package/esm/Content/Content.js +2 -3
- package/esm/Content/Content.js.map +1 -1
- package/esm/controls/ColorControl/ColorControl.js +2 -3
- package/esm/controls/ColorControl/ColorControl.js.map +1 -1
- package/esm/controls/LinkControl/LinkControl.js +1 -1
- package/esm/controls/LinkControl/LinkControl.js.map +1 -1
- package/lib/Content/Content.d.ts.map +1 -1
- package/lib/controls/ColorControl/ColorControl.d.ts.map +1 -1
- package/package.json +4 -4
package/cjs/Content/Content.js
CHANGED
|
@@ -43,8 +43,7 @@ var __objRest = (source, exclude) => {
|
|
|
43
43
|
const defaultProps = {};
|
|
44
44
|
const Content = React.forwardRef((props, ref) => {
|
|
45
45
|
const _a = core.useComponentDefaultProps("RichTextEditorContent", defaultProps, props), { className } = _a, others = __objRest(_a, ["className"]);
|
|
46
|
-
const { classNames, styles, unstyled } =
|
|
47
|
-
const { editor, withCodeHighlightStyles, withTypographyStyles } = RichTextEditor_context.useRichTextEditorContext();
|
|
46
|
+
const { editor, withCodeHighlightStyles, withTypographyStyles, classNames, styles, unstyled } = RichTextEditor_context.useRichTextEditorContext();
|
|
48
47
|
const { classes, cx } = Content_styles['default']({ withCodeHighlightStyles, withTypographyStyles }, { name: "RichTextEditor", classNames, styles, unstyled });
|
|
49
48
|
return /* @__PURE__ */ React__default.createElement(core.TypographyStylesProvider, {
|
|
50
49
|
className: cx(classes.typographyStylesProvider, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sources":["../../src/Content/Content.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Box,\n DefaultProps,\n TypographyStylesProvider,\n Selectors,\n
|
|
1
|
+
{"version":3,"file":"Content.js","sources":["../../src/Content/Content.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Box,\n DefaultProps,\n TypographyStylesProvider,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { EditorContent } from '@tiptap/react';\nimport { useRichTextEditorContext } from '../RichTextEditor.context';\nimport useStyles from './Content.styles';\n\nexport type ContentStylesNames = Selectors<typeof useStyles>;\n\nexport interface RichTextEditorContentProps\n extends DefaultProps,\n React.ComponentPropsWithoutRef<'div'> {}\n\nconst defaultProps: Partial<RichTextEditorContentProps> = {};\n\nexport const Content = forwardRef<HTMLDivElement, RichTextEditorContentProps>((props, ref) => {\n const { className, ...others } = useComponentDefaultProps(\n 'RichTextEditorContent',\n defaultProps,\n props\n );\n\n const { editor, withCodeHighlightStyles, withTypographyStyles, classNames, styles, unstyled } =\n useRichTextEditorContext();\n const { classes, cx } = useStyles(\n { withCodeHighlightStyles, withTypographyStyles },\n { name: 'RichTextEditor', classNames, styles, unstyled }\n );\n\n return (\n <TypographyStylesProvider\n className={cx(classes.typographyStylesProvider, className)}\n unstyled={!withTypographyStyles || unstyled}\n ref={ref}\n >\n <Box component={EditorContent} editor={editor} className={classes.content} {...others} />\n </TypographyStylesProvider>\n );\n});\n\nContent.displayName = '@mantine/tiptap/Content';\n"],"names":["forwardRef","useComponentDefaultProps","useRichTextEditorContext","useStyles","React","TypographyStylesProvider","Box","EditorContent"],"mappings":"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"}
|
|
@@ -45,8 +45,7 @@ var __objRest = (source, exclude) => {
|
|
|
45
45
|
const defaultProps = {};
|
|
46
46
|
const ColorControl = React.forwardRef((props, ref) => {
|
|
47
47
|
const _a = core.useComponentDefaultProps("RichTextEditorColorControl", defaultProps, props), { color } = _a, others = __objRest(_a, ["color"]);
|
|
48
|
-
const { unstyled } =
|
|
49
|
-
const { editor, labels } = RichTextEditor_context.useRichTextEditorContext();
|
|
48
|
+
const { editor, labels, unstyled } = RichTextEditor_context.useRichTextEditorContext();
|
|
50
49
|
const currentColor = (editor == null ? void 0 : editor.getAttributes("textStyle").color) || null;
|
|
51
50
|
const label = labels.colorControlLabel(color);
|
|
52
51
|
return /* @__PURE__ */ React__default.createElement(Control.Control, __spreadProps(__spreadValues({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorControl.js","sources":["../../../src/controls/ColorControl/ColorControl.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"ColorControl.js","sources":["../../../src/controls/ColorControl/ColorControl.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { ColorSwatch, DefaultProps, useComponentDefaultProps } from '@mantine/core';\nimport { Control } from '../Control/Control';\nimport { useRichTextEditorContext } from '../../RichTextEditor.context';\n\nexport interface RichTextEditorColorControlProps\n extends DefaultProps,\n React.ComponentPropsWithoutRef<'button'> {\n /** Color that will be set as text color, for example #ef457e */\n color: string;\n}\n\nconst defaultProps: Partial<RichTextEditorColorControlProps> = {};\n\nexport const ColorControl = forwardRef<HTMLButtonElement, RichTextEditorColorControlProps>(\n (props, ref) => {\n const { color, ...others } = useComponentDefaultProps(\n 'RichTextEditorColorControl',\n defaultProps,\n props\n );\n const { editor, labels, unstyled } = useRichTextEditorContext();\n const currentColor = editor?.getAttributes('textStyle').color || null;\n const label = labels.colorControlLabel(color);\n\n return (\n <Control\n active={currentColor === color}\n aria-label={label}\n title={label}\n onClick={() => (editor.chain() as any).focus().setColor(color).run()}\n {...others}\n ref={ref}\n >\n <ColorSwatch color={color} size={14} unstyled={unstyled} />\n </Control>\n );\n }\n);\n"],"names":["forwardRef","useComponentDefaultProps","useRichTextEditorContext","React","Control","ColorSwatch"],"mappings":"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"}
|
|
@@ -92,7 +92,7 @@ const LinkControl = React.forwardRef((props, ref) => {
|
|
|
92
92
|
zIndex: 1e4,
|
|
93
93
|
unstyled
|
|
94
94
|
}, popoverProps), /* @__PURE__ */ React__default.createElement(core.Popover.Target, null, /* @__PURE__ */ React__default.createElement(ControlBase.ControlBase, __spreadProps(__spreadValues({
|
|
95
|
-
icon: LinkIcon,
|
|
95
|
+
icon: icon || LinkIcon,
|
|
96
96
|
"aria-label": labels.linkControlLabel,
|
|
97
97
|
title: labels.linkControlLabel,
|
|
98
98
|
onClick: handleOpen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkControl.js","sources":["../../../src/controls/LinkControl/LinkControl.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { IconLink, IconExternalLink } from '@tabler/icons';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { useDisclosure, useInputState, useWindowEvent } from '@mantine/hooks';\nimport { ControlBase, RichTextEditorControlBaseProps } from '../ControlBase/ControlBase';\nimport { useRichTextEditorContext } from '../../RichTextEditor.context';\nimport useStyles from './LinkControl.styles';\n\nexport type LinkControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface RichTextEditorLinkControlProps extends Partial<RichTextEditorControlBaseProps> {\n /** Props added to Popover component */\n popoverProps?: Partial<PopoverProps>;\n\n /** Determines whether external link control tooltip should be disabled */\n disableTooltips?: boolean;\n}\n\nconst LinkIcon: RichTextEditorControlBaseProps['icon'] = ({ size, ...others }) => (\n <IconLink size={size} stroke={1.5} {...others} />\n);\n\nconst defaultProps: Partial<RichTextEditorLinkControlProps> = {};\n\nexport const LinkControl = forwardRef<HTMLButtonElement, RichTextEditorLinkControlProps>(\n (props, ref) => {\n const { icon, popoverProps, disableTooltips, ...others } = useComponentDefaultProps(\n 'RichTextEditorLinkControl',\n defaultProps,\n props\n );\n\n const { editor, labels, classNames, styles, unstyled } = useRichTextEditorContext();\n const { classes } = useStyles(null, { name: 'RichTextEditor', classNames, styles, unstyled });\n const [url, setUrl] = useInputState('');\n const [external, setExternal] = useState(false);\n const [opened, { open, close }] = useDisclosure(false);\n\n const handleOpen = () => {\n open();\n const linkData = editor?.getAttributes('link');\n setUrl(linkData?.href || '');\n setExternal(linkData?.target === '_blank');\n };\n\n const handleClose = () => {\n close();\n setUrl('');\n setExternal(false);\n };\n\n const setLink = () => {\n handleClose();\n url === ''\n ? editor.chain().focus().extendMarkRange('link').unsetLink().run()\n : editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: url, target: external ? '_blank' : null })\n .run();\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n setLink();\n }\n };\n\n useWindowEvent('edit-link', handleOpen, false);\n\n return (\n <Popover\n trapFocus\n shadow=\"md\"\n withinPortal\n opened={opened}\n onClose={handleClose}\n offset={-44}\n zIndex={10000}\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <ControlBase\n icon={LinkIcon}\n aria-label={labels.linkControlLabel}\n title={labels.linkControlLabel}\n onClick={handleOpen}\n active={editor?.isActive('link')}\n unstyled={unstyled}\n {...others}\n ref={ref}\n />\n </Popover.Target>\n\n <Popover.Dropdown\n sx={(theme) => ({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n })}\n >\n <div className={classes.linkEditor}>\n <TextInput\n placeholder={labels.linkEditorInputPlaceholder}\n aria-label={labels.linkEditorInputLabel}\n type=\"url\"\n value={url}\n onChange={setUrl}\n classNames={{ input: classes.linkEditorInput }}\n onKeyDown={handleInputKeydown}\n unstyled={unstyled}\n rightSection={\n <Tooltip\n label={external ? labels.linkEditorExternalLink : labels.linkEditorInternalLink}\n events={{ hover: true, focus: true, touch: true }}\n withinPortal\n withArrow\n disabled={disableTooltips}\n unstyled={unstyled}\n zIndex={10000}\n >\n <UnstyledButton\n onClick={() => setExternal((e) => !e)}\n data-active={external || undefined}\n className={classes.linkEditorExternalControl}\n unstyled={unstyled}\n >\n <IconExternalLink size={14} stroke={1.5} />\n </UnstyledButton>\n </Tooltip>\n }\n />\n\n <Button\n variant=\"default\"\n onClick={setLink}\n className={classes.linkEditorSave}\n unstyled={unstyled}\n >\n {labels.linkEditorSave}\n </Button>\n </div>\n </Popover.Dropdown>\n </Popover>\n );\n }\n);\n"],"names":["React","IconLink","forwardRef","useComponentDefaultProps","useRichTextEditorContext","useStyles","useInputState","useState","useDisclosure","useWindowEvent","Popover","ControlBase","TextInput","Tooltip","UnstyledButton","IconExternalLink","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkControl.js","sources":["../../../src/controls/LinkControl/LinkControl.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { IconLink, IconExternalLink } from '@tabler/icons';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { useDisclosure, useInputState, useWindowEvent } from '@mantine/hooks';\nimport { ControlBase, RichTextEditorControlBaseProps } from '../ControlBase/ControlBase';\nimport { useRichTextEditorContext } from '../../RichTextEditor.context';\nimport useStyles from './LinkControl.styles';\n\nexport type LinkControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface RichTextEditorLinkControlProps extends Partial<RichTextEditorControlBaseProps> {\n /** Props added to Popover component */\n popoverProps?: Partial<PopoverProps>;\n\n /** Determines whether external link control tooltip should be disabled */\n disableTooltips?: boolean;\n}\n\nconst LinkIcon: RichTextEditorControlBaseProps['icon'] = ({ size, ...others }) => (\n <IconLink size={size} stroke={1.5} {...others} />\n);\n\nconst defaultProps: Partial<RichTextEditorLinkControlProps> = {};\n\nexport const LinkControl = forwardRef<HTMLButtonElement, RichTextEditorLinkControlProps>(\n (props, ref) => {\n const { icon, popoverProps, disableTooltips, ...others } = useComponentDefaultProps(\n 'RichTextEditorLinkControl',\n defaultProps,\n props\n );\n\n const { editor, labels, classNames, styles, unstyled } = useRichTextEditorContext();\n const { classes } = useStyles(null, { name: 'RichTextEditor', classNames, styles, unstyled });\n const [url, setUrl] = useInputState('');\n const [external, setExternal] = useState(false);\n const [opened, { open, close }] = useDisclosure(false);\n\n const handleOpen = () => {\n open();\n const linkData = editor?.getAttributes('link');\n setUrl(linkData?.href || '');\n setExternal(linkData?.target === '_blank');\n };\n\n const handleClose = () => {\n close();\n setUrl('');\n setExternal(false);\n };\n\n const setLink = () => {\n handleClose();\n url === ''\n ? editor.chain().focus().extendMarkRange('link').unsetLink().run()\n : editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: url, target: external ? '_blank' : null })\n .run();\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n setLink();\n }\n };\n\n useWindowEvent('edit-link', handleOpen, false);\n\n return (\n <Popover\n trapFocus\n shadow=\"md\"\n withinPortal\n opened={opened}\n onClose={handleClose}\n offset={-44}\n zIndex={10000}\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <ControlBase\n icon={icon || LinkIcon}\n aria-label={labels.linkControlLabel}\n title={labels.linkControlLabel}\n onClick={handleOpen}\n active={editor?.isActive('link')}\n unstyled={unstyled}\n {...others}\n ref={ref}\n />\n </Popover.Target>\n\n <Popover.Dropdown\n sx={(theme) => ({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n })}\n >\n <div className={classes.linkEditor}>\n <TextInput\n placeholder={labels.linkEditorInputPlaceholder}\n aria-label={labels.linkEditorInputLabel}\n type=\"url\"\n value={url}\n onChange={setUrl}\n classNames={{ input: classes.linkEditorInput }}\n onKeyDown={handleInputKeydown}\n unstyled={unstyled}\n rightSection={\n <Tooltip\n label={external ? labels.linkEditorExternalLink : labels.linkEditorInternalLink}\n events={{ hover: true, focus: true, touch: true }}\n withinPortal\n withArrow\n disabled={disableTooltips}\n unstyled={unstyled}\n zIndex={10000}\n >\n <UnstyledButton\n onClick={() => setExternal((e) => !e)}\n data-active={external || undefined}\n className={classes.linkEditorExternalControl}\n unstyled={unstyled}\n >\n <IconExternalLink size={14} stroke={1.5} />\n </UnstyledButton>\n </Tooltip>\n }\n />\n\n <Button\n variant=\"default\"\n onClick={setLink}\n className={classes.linkEditorSave}\n unstyled={unstyled}\n >\n {labels.linkEditorSave}\n </Button>\n </div>\n </Popover.Dropdown>\n </Popover>\n );\n }\n);\n"],"names":["React","IconLink","forwardRef","useComponentDefaultProps","useRichTextEditorContext","useStyles","useInputState","useState","useDisclosure","useWindowEvent","Popover","ControlBase","TextInput","Tooltip","UnstyledButton","IconExternalLink","Button"],"mappings":"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"}
|
package/esm/Content/Content.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { useComponentDefaultProps,
|
|
2
|
+
import { useComponentDefaultProps, TypographyStylesProvider, Box } from '@mantine/core';
|
|
3
3
|
import { EditorContent } from '@tiptap/react';
|
|
4
4
|
import { useRichTextEditorContext } from '../RichTextEditor.context.js';
|
|
5
5
|
import useStyles from './Content.styles.js';
|
|
@@ -35,8 +35,7 @@ var __objRest = (source, exclude) => {
|
|
|
35
35
|
const defaultProps = {};
|
|
36
36
|
const Content = forwardRef((props, ref) => {
|
|
37
37
|
const _a = useComponentDefaultProps("RichTextEditorContent", defaultProps, props), { className } = _a, others = __objRest(_a, ["className"]);
|
|
38
|
-
const { classNames, styles, unstyled } =
|
|
39
|
-
const { editor, withCodeHighlightStyles, withTypographyStyles } = useRichTextEditorContext();
|
|
38
|
+
const { editor, withCodeHighlightStyles, withTypographyStyles, classNames, styles, unstyled } = useRichTextEditorContext();
|
|
40
39
|
const { classes, cx } = useStyles({ withCodeHighlightStyles, withTypographyStyles }, { name: "RichTextEditor", classNames, styles, unstyled });
|
|
41
40
|
return /* @__PURE__ */ React.createElement(TypographyStylesProvider, {
|
|
42
41
|
className: cx(classes.typographyStylesProvider, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sources":["../../src/Content/Content.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Box,\n DefaultProps,\n TypographyStylesProvider,\n Selectors,\n
|
|
1
|
+
{"version":3,"file":"Content.js","sources":["../../src/Content/Content.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Box,\n DefaultProps,\n TypographyStylesProvider,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { EditorContent } from '@tiptap/react';\nimport { useRichTextEditorContext } from '../RichTextEditor.context';\nimport useStyles from './Content.styles';\n\nexport type ContentStylesNames = Selectors<typeof useStyles>;\n\nexport interface RichTextEditorContentProps\n extends DefaultProps,\n React.ComponentPropsWithoutRef<'div'> {}\n\nconst defaultProps: Partial<RichTextEditorContentProps> = {};\n\nexport const Content = forwardRef<HTMLDivElement, RichTextEditorContentProps>((props, ref) => {\n const { className, ...others } = useComponentDefaultProps(\n 'RichTextEditorContent',\n defaultProps,\n props\n );\n\n const { editor, withCodeHighlightStyles, withTypographyStyles, classNames, styles, unstyled } =\n useRichTextEditorContext();\n const { classes, cx } = useStyles(\n { withCodeHighlightStyles, withTypographyStyles },\n { name: 'RichTextEditor', classNames, styles, unstyled }\n );\n\n return (\n <TypographyStylesProvider\n className={cx(classes.typographyStylesProvider, className)}\n unstyled={!withTypographyStyles || unstyled}\n ref={ref}\n >\n <Box component={EditorContent} editor={editor} className={classes.content} {...others} />\n </TypographyStylesProvider>\n );\n});\n\nContent.displayName = '@mantine/tiptap/Content';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { useComponentDefaultProps,
|
|
2
|
+
import { useComponentDefaultProps, ColorSwatch } from '@mantine/core';
|
|
3
3
|
import { Control } from '../Control/Control.js';
|
|
4
4
|
import { useRichTextEditorContext } from '../../RichTextEditor.context.js';
|
|
5
5
|
|
|
@@ -37,8 +37,7 @@ var __objRest = (source, exclude) => {
|
|
|
37
37
|
const defaultProps = {};
|
|
38
38
|
const ColorControl = forwardRef((props, ref) => {
|
|
39
39
|
const _a = useComponentDefaultProps("RichTextEditorColorControl", defaultProps, props), { color } = _a, others = __objRest(_a, ["color"]);
|
|
40
|
-
const { unstyled } =
|
|
41
|
-
const { editor, labels } = useRichTextEditorContext();
|
|
40
|
+
const { editor, labels, unstyled } = useRichTextEditorContext();
|
|
42
41
|
const currentColor = (editor == null ? void 0 : editor.getAttributes("textStyle").color) || null;
|
|
43
42
|
const label = labels.colorControlLabel(color);
|
|
44
43
|
return /* @__PURE__ */ React.createElement(Control, __spreadProps(__spreadValues({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorControl.js","sources":["../../../src/controls/ColorControl/ColorControl.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"ColorControl.js","sources":["../../../src/controls/ColorControl/ColorControl.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { ColorSwatch, DefaultProps, useComponentDefaultProps } from '@mantine/core';\nimport { Control } from '../Control/Control';\nimport { useRichTextEditorContext } from '../../RichTextEditor.context';\n\nexport interface RichTextEditorColorControlProps\n extends DefaultProps,\n React.ComponentPropsWithoutRef<'button'> {\n /** Color that will be set as text color, for example #ef457e */\n color: string;\n}\n\nconst defaultProps: Partial<RichTextEditorColorControlProps> = {};\n\nexport const ColorControl = forwardRef<HTMLButtonElement, RichTextEditorColorControlProps>(\n (props, ref) => {\n const { color, ...others } = useComponentDefaultProps(\n 'RichTextEditorColorControl',\n defaultProps,\n props\n );\n const { editor, labels, unstyled } = useRichTextEditorContext();\n const currentColor = editor?.getAttributes('textStyle').color || null;\n const label = labels.colorControlLabel(color);\n\n return (\n <Control\n active={currentColor === color}\n aria-label={label}\n title={label}\n onClick={() => (editor.chain() as any).focus().setColor(color).run()}\n {...others}\n ref={ref}\n >\n <ColorSwatch color={color} size={14} unstyled={unstyled} />\n </Control>\n );\n }\n);\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAKF,MAAM,YAAY,GAAG,EAAE,CAAC;AACZ,MAAC,YAAY,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACvD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,4BAA4B,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5I,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,wBAAwB,EAAE,CAAC;AAClE,EAAE,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;AACnG,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC;AACnF,IAAI,MAAM,EAAE,YAAY,KAAK,KAAK;AAClC,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,OAAO,EAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;AAC/D,GAAG,EAAE,MAAM,CAAC,EAAE;AACd,IAAI,GAAG;AACP,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACvD,IAAI,KAAK;AACT,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;;;"}
|
|
@@ -84,7 +84,7 @@ const LinkControl = forwardRef((props, ref) => {
|
|
|
84
84
|
zIndex: 1e4,
|
|
85
85
|
unstyled
|
|
86
86
|
}, popoverProps), /* @__PURE__ */ React.createElement(Popover.Target, null, /* @__PURE__ */ React.createElement(ControlBase, __spreadProps(__spreadValues({
|
|
87
|
-
icon: LinkIcon,
|
|
87
|
+
icon: icon || LinkIcon,
|
|
88
88
|
"aria-label": labels.linkControlLabel,
|
|
89
89
|
title: labels.linkControlLabel,
|
|
90
90
|
onClick: handleOpen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkControl.js","sources":["../../../src/controls/LinkControl/LinkControl.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { IconLink, IconExternalLink } from '@tabler/icons';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { useDisclosure, useInputState, useWindowEvent } from '@mantine/hooks';\nimport { ControlBase, RichTextEditorControlBaseProps } from '../ControlBase/ControlBase';\nimport { useRichTextEditorContext } from '../../RichTextEditor.context';\nimport useStyles from './LinkControl.styles';\n\nexport type LinkControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface RichTextEditorLinkControlProps extends Partial<RichTextEditorControlBaseProps> {\n /** Props added to Popover component */\n popoverProps?: Partial<PopoverProps>;\n\n /** Determines whether external link control tooltip should be disabled */\n disableTooltips?: boolean;\n}\n\nconst LinkIcon: RichTextEditorControlBaseProps['icon'] = ({ size, ...others }) => (\n <IconLink size={size} stroke={1.5} {...others} />\n);\n\nconst defaultProps: Partial<RichTextEditorLinkControlProps> = {};\n\nexport const LinkControl = forwardRef<HTMLButtonElement, RichTextEditorLinkControlProps>(\n (props, ref) => {\n const { icon, popoverProps, disableTooltips, ...others } = useComponentDefaultProps(\n 'RichTextEditorLinkControl',\n defaultProps,\n props\n );\n\n const { editor, labels, classNames, styles, unstyled } = useRichTextEditorContext();\n const { classes } = useStyles(null, { name: 'RichTextEditor', classNames, styles, unstyled });\n const [url, setUrl] = useInputState('');\n const [external, setExternal] = useState(false);\n const [opened, { open, close }] = useDisclosure(false);\n\n const handleOpen = () => {\n open();\n const linkData = editor?.getAttributes('link');\n setUrl(linkData?.href || '');\n setExternal(linkData?.target === '_blank');\n };\n\n const handleClose = () => {\n close();\n setUrl('');\n setExternal(false);\n };\n\n const setLink = () => {\n handleClose();\n url === ''\n ? editor.chain().focus().extendMarkRange('link').unsetLink().run()\n : editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: url, target: external ? '_blank' : null })\n .run();\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n setLink();\n }\n };\n\n useWindowEvent('edit-link', handleOpen, false);\n\n return (\n <Popover\n trapFocus\n shadow=\"md\"\n withinPortal\n opened={opened}\n onClose={handleClose}\n offset={-44}\n zIndex={10000}\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <ControlBase\n icon={LinkIcon}\n aria-label={labels.linkControlLabel}\n title={labels.linkControlLabel}\n onClick={handleOpen}\n active={editor?.isActive('link')}\n unstyled={unstyled}\n {...others}\n ref={ref}\n />\n </Popover.Target>\n\n <Popover.Dropdown\n sx={(theme) => ({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n })}\n >\n <div className={classes.linkEditor}>\n <TextInput\n placeholder={labels.linkEditorInputPlaceholder}\n aria-label={labels.linkEditorInputLabel}\n type=\"url\"\n value={url}\n onChange={setUrl}\n classNames={{ input: classes.linkEditorInput }}\n onKeyDown={handleInputKeydown}\n unstyled={unstyled}\n rightSection={\n <Tooltip\n label={external ? labels.linkEditorExternalLink : labels.linkEditorInternalLink}\n events={{ hover: true, focus: true, touch: true }}\n withinPortal\n withArrow\n disabled={disableTooltips}\n unstyled={unstyled}\n zIndex={10000}\n >\n <UnstyledButton\n onClick={() => setExternal((e) => !e)}\n data-active={external || undefined}\n className={classes.linkEditorExternalControl}\n unstyled={unstyled}\n >\n <IconExternalLink size={14} stroke={1.5} />\n </UnstyledButton>\n </Tooltip>\n }\n />\n\n <Button\n variant=\"default\"\n onClick={setLink}\n className={classes.linkEditorSave}\n unstyled={unstyled}\n >\n {labels.linkEditorSave}\n </Button>\n </div>\n </Popover.Dropdown>\n </Popover>\n );\n }\n);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkControl.js","sources":["../../../src/controls/LinkControl/LinkControl.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { IconLink, IconExternalLink } from '@tabler/icons';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { useDisclosure, useInputState, useWindowEvent } from '@mantine/hooks';\nimport { ControlBase, RichTextEditorControlBaseProps } from '../ControlBase/ControlBase';\nimport { useRichTextEditorContext } from '../../RichTextEditor.context';\nimport useStyles from './LinkControl.styles';\n\nexport type LinkControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface RichTextEditorLinkControlProps extends Partial<RichTextEditorControlBaseProps> {\n /** Props added to Popover component */\n popoverProps?: Partial<PopoverProps>;\n\n /** Determines whether external link control tooltip should be disabled */\n disableTooltips?: boolean;\n}\n\nconst LinkIcon: RichTextEditorControlBaseProps['icon'] = ({ size, ...others }) => (\n <IconLink size={size} stroke={1.5} {...others} />\n);\n\nconst defaultProps: Partial<RichTextEditorLinkControlProps> = {};\n\nexport const LinkControl = forwardRef<HTMLButtonElement, RichTextEditorLinkControlProps>(\n (props, ref) => {\n const { icon, popoverProps, disableTooltips, ...others } = useComponentDefaultProps(\n 'RichTextEditorLinkControl',\n defaultProps,\n props\n );\n\n const { editor, labels, classNames, styles, unstyled } = useRichTextEditorContext();\n const { classes } = useStyles(null, { name: 'RichTextEditor', classNames, styles, unstyled });\n const [url, setUrl] = useInputState('');\n const [external, setExternal] = useState(false);\n const [opened, { open, close }] = useDisclosure(false);\n\n const handleOpen = () => {\n open();\n const linkData = editor?.getAttributes('link');\n setUrl(linkData?.href || '');\n setExternal(linkData?.target === '_blank');\n };\n\n const handleClose = () => {\n close();\n setUrl('');\n setExternal(false);\n };\n\n const setLink = () => {\n handleClose();\n url === ''\n ? editor.chain().focus().extendMarkRange('link').unsetLink().run()\n : editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: url, target: external ? '_blank' : null })\n .run();\n };\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n setLink();\n }\n };\n\n useWindowEvent('edit-link', handleOpen, false);\n\n return (\n <Popover\n trapFocus\n shadow=\"md\"\n withinPortal\n opened={opened}\n onClose={handleClose}\n offset={-44}\n zIndex={10000}\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <ControlBase\n icon={icon || LinkIcon}\n aria-label={labels.linkControlLabel}\n title={labels.linkControlLabel}\n onClick={handleOpen}\n active={editor?.isActive('link')}\n unstyled={unstyled}\n {...others}\n ref={ref}\n />\n </Popover.Target>\n\n <Popover.Dropdown\n sx={(theme) => ({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n })}\n >\n <div className={classes.linkEditor}>\n <TextInput\n placeholder={labels.linkEditorInputPlaceholder}\n aria-label={labels.linkEditorInputLabel}\n type=\"url\"\n value={url}\n onChange={setUrl}\n classNames={{ input: classes.linkEditorInput }}\n onKeyDown={handleInputKeydown}\n unstyled={unstyled}\n rightSection={\n <Tooltip\n label={external ? labels.linkEditorExternalLink : labels.linkEditorInternalLink}\n events={{ hover: true, focus: true, touch: true }}\n withinPortal\n withArrow\n disabled={disableTooltips}\n unstyled={unstyled}\n zIndex={10000}\n >\n <UnstyledButton\n onClick={() => setExternal((e) => !e)}\n data-active={external || undefined}\n className={classes.linkEditorExternalControl}\n unstyled={unstyled}\n >\n <IconExternalLink size={14} stroke={1.5} />\n </UnstyledButton>\n </Tooltip>\n }\n />\n\n <Button\n variant=\"default\"\n onClick={setLink}\n className={classes.linkEditorSave}\n unstyled={unstyled}\n >\n {labels.linkEditorSave}\n </Button>\n </div>\n </Popover.Dropdown>\n </Popover>\n );\n }\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../src/Content/Content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAEL,YAAY,EAEZ,SAAS,
|
|
1
|
+
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../src/Content/Content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAEL,YAAY,EAEZ,SAAS,EAEV,MAAM,eAAe,CAAC;AAGvB,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,oBAAY,kBAAkB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,MAAM,WAAW,0BACf,SAAQ,YAAY,EAClB,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAI5C,eAAO,MAAM,OAAO,mGAuBlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorControl.d.ts","sourceRoot":"","sources":["../../../src/controls/ColorControl/ColorControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"ColorControl.d.ts","sourceRoot":"","sources":["../../../src/controls/ColorControl/ColorControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAe,YAAY,EAA4B,MAAM,eAAe,CAAC;AAIpF,MAAM,WAAW,+BACf,SAAQ,YAAY,EAClB,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IAC1C,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,YAAY,2GAwBxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/tiptap",
|
|
3
3
|
"description": "Rich text editor based on tiptap",
|
|
4
|
-
"version": "5.9.
|
|
4
|
+
"version": "5.9.5",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"rich-text-editor"
|
|
29
29
|
],
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@mantine/core": "5.9.
|
|
32
|
-
"@mantine/hooks": "5.9.
|
|
31
|
+
"@mantine/core": "5.9.5",
|
|
32
|
+
"@mantine/hooks": "5.9.5",
|
|
33
33
|
"@tabler/icons": "*",
|
|
34
34
|
"@tiptap/extension-link": "^2.0.0-beta.202",
|
|
35
35
|
"@tiptap/react": "^2.0.0-beta.202",
|
|
36
36
|
"react": ">=16.8.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@mantine/utils": "5.9.
|
|
39
|
+
"@mantine/utils": "5.9.5"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {}
|
|
42
42
|
}
|