@mantine/tiptap 6.0.13 → 6.0.15
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/controls/LinkControl/LinkControl.js +6 -4
- package/cjs/controls/LinkControl/LinkControl.js.map +1 -1
- package/esm/controls/LinkControl/LinkControl.js +6 -4
- package/esm/controls/LinkControl/LinkControl.js.map +1 -1
- package/lib/controls/LinkControl/LinkControl.d.ts +2 -0
- package/lib/controls/LinkControl/LinkControl.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -52,9 +52,11 @@ const LinkIcon = (_a) => {
|
|
|
52
52
|
stroke: 1.5
|
|
53
53
|
}, others));
|
|
54
54
|
};
|
|
55
|
-
const defaultProps = {
|
|
55
|
+
const defaultProps = {
|
|
56
|
+
initialExternal: false
|
|
57
|
+
};
|
|
56
58
|
const LinkControl = React.forwardRef((props, ref) => {
|
|
57
|
-
const _a = core.useComponentDefaultProps("RichTextEditorLinkControl", defaultProps, props), { icon, popoverProps, disableTooltips } = _a, others = __objRest(_a, ["icon", "popoverProps", "disableTooltips"]);
|
|
59
|
+
const _a = core.useComponentDefaultProps("RichTextEditorLinkControl", defaultProps, props), { icon, popoverProps, disableTooltips, initialExternal } = _a, others = __objRest(_a, ["icon", "popoverProps", "disableTooltips", "initialExternal"]);
|
|
58
60
|
const { editor, labels, classNames, styles, unstyled, variant } = RichTextEditor_context.useRichTextEditorContext();
|
|
59
61
|
const { classes } = LinkControl_styles['default'](null, {
|
|
60
62
|
name: "RichTextEditor",
|
|
@@ -64,7 +66,7 @@ const LinkControl = React.forwardRef((props, ref) => {
|
|
|
64
66
|
variant
|
|
65
67
|
});
|
|
66
68
|
const [url, setUrl] = hooks.useInputState("");
|
|
67
|
-
const [external, setExternal] = React.useState(
|
|
69
|
+
const [external, setExternal] = React.useState(initialExternal);
|
|
68
70
|
const [opened, { open, close }] = hooks.useDisclosure(false);
|
|
69
71
|
const handleOpen = () => {
|
|
70
72
|
open();
|
|
@@ -75,7 +77,7 @@ const LinkControl = React.forwardRef((props, ref) => {
|
|
|
75
77
|
const handleClose = () => {
|
|
76
78
|
close();
|
|
77
79
|
setUrl("");
|
|
78
|
-
setExternal(
|
|
80
|
+
setExternal(initialExternal);
|
|
79
81
|
};
|
|
80
82
|
const setLink = () => {
|
|
81
83
|
handleClose();
|
|
@@ -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-react';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n rem,\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, variant } = useRichTextEditorContext();\n const { classes } = useStyles(null, {\n name: 'RichTextEditor',\n classNames,\n styles,\n unstyled,\n variant,\n });\n\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={rem(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","rem","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-react';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n rem,\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 /** Initial state for determining if the link should be an external link */\n initialExternal?: boolean;\n}\n\nconst LinkIcon: RichTextEditorControlBaseProps['icon'] = ({ size, ...others }) => (\n <IconLink size={size} stroke={1.5} {...others} />\n);\n\nconst defaultProps: Partial<RichTextEditorLinkControlProps> = {\n initialExternal: false,\n};\n\nexport const LinkControl = forwardRef<HTMLButtonElement, RichTextEditorLinkControlProps>(\n (props, ref) => {\n const { icon, popoverProps, disableTooltips, initialExternal, ...others } =\n useComponentDefaultProps('RichTextEditorLinkControl', defaultProps, props);\n\n const { editor, labels, classNames, styles, unstyled, variant } = useRichTextEditorContext();\n const { classes } = useStyles(null, {\n name: 'RichTextEditor',\n classNames,\n styles,\n unstyled,\n variant,\n });\n\n const [url, setUrl] = useInputState('');\n const [external, setExternal] = useState(initialExternal);\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(initialExternal);\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={rem(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","rem","Button"],"mappings":"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"}
|
|
@@ -44,9 +44,11 @@ const LinkIcon = (_a) => {
|
|
|
44
44
|
stroke: 1.5
|
|
45
45
|
}, others));
|
|
46
46
|
};
|
|
47
|
-
const defaultProps = {
|
|
47
|
+
const defaultProps = {
|
|
48
|
+
initialExternal: false
|
|
49
|
+
};
|
|
48
50
|
const LinkControl = forwardRef((props, ref) => {
|
|
49
|
-
const _a = useComponentDefaultProps("RichTextEditorLinkControl", defaultProps, props), { icon, popoverProps, disableTooltips } = _a, others = __objRest(_a, ["icon", "popoverProps", "disableTooltips"]);
|
|
51
|
+
const _a = useComponentDefaultProps("RichTextEditorLinkControl", defaultProps, props), { icon, popoverProps, disableTooltips, initialExternal } = _a, others = __objRest(_a, ["icon", "popoverProps", "disableTooltips", "initialExternal"]);
|
|
50
52
|
const { editor, labels, classNames, styles, unstyled, variant } = useRichTextEditorContext();
|
|
51
53
|
const { classes } = useStyles(null, {
|
|
52
54
|
name: "RichTextEditor",
|
|
@@ -56,7 +58,7 @@ const LinkControl = forwardRef((props, ref) => {
|
|
|
56
58
|
variant
|
|
57
59
|
});
|
|
58
60
|
const [url, setUrl] = useInputState("");
|
|
59
|
-
const [external, setExternal] = useState(
|
|
61
|
+
const [external, setExternal] = useState(initialExternal);
|
|
60
62
|
const [opened, { open, close }] = useDisclosure(false);
|
|
61
63
|
const handleOpen = () => {
|
|
62
64
|
open();
|
|
@@ -67,7 +69,7 @@ const LinkControl = forwardRef((props, ref) => {
|
|
|
67
69
|
const handleClose = () => {
|
|
68
70
|
close();
|
|
69
71
|
setUrl("");
|
|
70
|
-
setExternal(
|
|
72
|
+
setExternal(initialExternal);
|
|
71
73
|
};
|
|
72
74
|
const setLink = () => {
|
|
73
75
|
handleClose();
|
|
@@ -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-react';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n rem,\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, variant } = useRichTextEditorContext();\n const { classes } = useStyles(null, {\n name: 'RichTextEditor',\n classNames,\n styles,\n unstyled,\n variant,\n });\n\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={rem(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":";;;;;;;;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;AAgBF,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK;AACzB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC;AACtE,IAAI,IAAI;AACR,IAAI,MAAM,EAAE,GAAG;AACf,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AACd,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,EAAE,CAAC;AACZ,MAAC,WAAW,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACtD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,2BAA2B,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3M,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;AAC/F,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE;AACtC,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;AAC1C,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AACzD,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5E,IAAI,MAAM,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAC9D,IAAI,WAAW,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,CAAC;AAC5E,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AACf,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,WAAW,EAAE,CAAC;AAClB,IAAI,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AACpM,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,KAAK,KAAK;AACxC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;AAC/B,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACjD,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;AACrE,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,MAAM,EAAE,CAAC,EAAE;AACf,IAAI,MAAM,EAAE,GAAG;AACf,IAAI,QAAQ;AACZ,GAAG,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC;AAC5J,IAAI,IAAI,EAAE,IAAI,IAAI,QAAQ;AAC1B,IAAI,YAAY,EAAE,MAAM,CAAC,gBAAgB;AACzC,IAAI,KAAK,EAAE,MAAM,CAAC,gBAAgB;AAClC,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7D,IAAI,QAAQ;AACZ,GAAG,EAAE,MAAM,CAAC,EAAE;AACd,IAAI,GAAG;AACP,GAAG,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC9D,IAAI,EAAE,EAAE,CAAC,KAAK,MAAM;AACpB,MAAM,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACxF,KAAK,CAAC;AACN,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,OAAO,CAAC,UAAU;AACjC,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,WAAW,EAAE,MAAM,CAAC,0BAA0B;AAClD,IAAI,YAAY,EAAE,MAAM,CAAC,oBAAoB;AAC7C,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE;AAClD,IAAI,SAAS,EAAE,kBAAkB;AACjC,IAAI,QAAQ;AACZ,IAAI,YAAY,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AAC/D,MAAM,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB;AACrF,MAAM,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AACvD,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,SAAS,EAAE,IAAI;AACrB,MAAM,QAAQ,EAAE,eAAe;AAC/B,MAAM,QAAQ;AACd,MAAM,MAAM,EAAE,GAAG;AACjB,KAAK,kBAAkB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;AAC3D,MAAM,OAAO,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,MAAM,aAAa,EAAE,QAAQ,IAAI,KAAK,CAAC;AACvC,MAAM,SAAS,EAAE,OAAO,CAAC,yBAAyB;AAClD,MAAM,QAAQ;AACd,KAAK,kBAAkB,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE;AAC7D,MAAM,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AACnB,MAAM,MAAM,EAAE,GAAG;AACjB,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAClD,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,SAAS,EAAE,OAAO,CAAC,cAAc;AACrC,IAAI,QAAQ;AACZ,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC;;;;"}
|
|
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-react';\nimport {\n Popover,\n TextInput,\n Button,\n UnstyledButton,\n Tooltip,\n PopoverProps,\n Selectors,\n useComponentDefaultProps,\n rem,\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 /** Initial state for determining if the link should be an external link */\n initialExternal?: boolean;\n}\n\nconst LinkIcon: RichTextEditorControlBaseProps['icon'] = ({ size, ...others }) => (\n <IconLink size={size} stroke={1.5} {...others} />\n);\n\nconst defaultProps: Partial<RichTextEditorLinkControlProps> = {\n initialExternal: false,\n};\n\nexport const LinkControl = forwardRef<HTMLButtonElement, RichTextEditorLinkControlProps>(\n (props, ref) => {\n const { icon, popoverProps, disableTooltips, initialExternal, ...others } =\n useComponentDefaultProps('RichTextEditorLinkControl', defaultProps, props);\n\n const { editor, labels, classNames, styles, unstyled, variant } = useRichTextEditorContext();\n const { classes } = useStyles(null, {\n name: 'RichTextEditor',\n classNames,\n styles,\n unstyled,\n variant,\n });\n\n const [url, setUrl] = useInputState('');\n const [external, setExternal] = useState(initialExternal);\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(initialExternal);\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={rem(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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"}
|
|
@@ -8,6 +8,8 @@ export interface RichTextEditorLinkControlProps extends Partial<RichTextEditorCo
|
|
|
8
8
|
popoverProps?: Partial<PopoverProps>;
|
|
9
9
|
/** Determines whether external link control tooltip should be disabled */
|
|
10
10
|
disableTooltips?: boolean;
|
|
11
|
+
/** Initial state for determining if the link should be an external link */
|
|
12
|
+
initialExternal?: boolean;
|
|
11
13
|
}
|
|
12
14
|
export declare const LinkControl: React.ForwardRefExoticComponent<RichTextEditorLinkControlProps & React.RefAttributes<HTMLButtonElement>>;
|
|
13
15
|
//# sourceMappingURL=LinkControl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkControl.d.ts","sourceRoot":"","sources":["../../../src/controls/LinkControl/LinkControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAML,YAAY,EACZ,SAAS,EAGV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAe,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,8BAA+B,SAAQ,OAAO,CAAC,8BAA8B,CAAC;IAC7F,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"LinkControl.d.ts","sourceRoot":"","sources":["../../../src/controls/LinkControl/LinkControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAML,YAAY,EACZ,SAAS,EAGV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAe,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,8BAA+B,SAAQ,OAAO,CAAC,8BAA8B,CAAC;IAC7F,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD,eAAO,MAAM,WAAW,0GA+HvB,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": "6.0.
|
|
4
|
+
"version": "6.0.15",
|
|
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": "6.0.
|
|
32
|
-
"@mantine/hooks": "6.0.
|
|
31
|
+
"@mantine/core": "6.0.15",
|
|
32
|
+
"@mantine/hooks": "6.0.15",
|
|
33
33
|
"@tabler/icons-react": ">=2.1.0",
|
|
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": "6.0.
|
|
39
|
+
"@mantine/utils": "6.0.15"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {}
|
|
42
42
|
}
|