@plait/text-plugins 0.77.2 → 0.78.0-next.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/fesm2022/plait-text-plugins.mjs +1 -1
- package/fesm2022/plait-text-plugins.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/align/align-editor.mjs +0 -21
- package/esm2022/align/index.mjs +0 -2
- package/esm2022/constant/index.mjs +0 -3
- package/esm2022/link/index.mjs +0 -3
- package/esm2022/link/link-editor.mjs +0 -52
- package/esm2022/link/with-link.mjs +0 -18
- package/esm2022/mark/constant.mjs +0 -2
- package/esm2022/mark/index.mjs +0 -5
- package/esm2022/mark/mark.editor.mjs +0 -90
- package/esm2022/mark/types.mjs +0 -39
- package/esm2022/mark/with-marks.mjs +0 -72
- package/esm2022/plait-text-plugins.mjs +0 -5
- package/esm2022/public-api.mjs +0 -10
- package/esm2022/text-transforms.mjs +0 -89
- package/esm2022/utils/clipboard.mjs +0 -15
- package/esm2022/utils/common.mjs +0 -21
- package/esm2022/utils/index.mjs +0 -4
- package/esm2022/utils/marks.mjs +0 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Transforms, Node, Editor, Text, Range, Element } from 'slate';
|
|
2
2
|
import { DEFAULT_COLOR, getSelectedElements } from '@plait/core';
|
|
3
3
|
import { isKeyHotkey } from 'is-hotkey';
|
|
4
4
|
import { getTextEditorsByElement, findFirstTextEditor, getTextEditors } from '@plait/common';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plait-text-plugins.mjs","sources":["../../../packages/text-plugins/src/align/align-editor.ts","../../../packages/text-plugins/src/mark/types.ts","../../../packages/text-plugins/src/mark/constant.ts","../../../packages/text-plugins/src/mark/mark.editor.ts","../../../packages/text-plugins/src/mark/with-marks.ts","../../../packages/text-plugins/src/link/link-editor.ts","../../../packages/text-plugins/src/link/with-link.ts","../../../packages/text-plugins/src/constant/index.ts","../../../packages/text-plugins/src/utils/clipboard.ts","../../../packages/text-plugins/src/utils/common.ts","../../../packages/text-plugins/src/utils/marks.ts","../../../packages/text-plugins/src/text-transforms.ts","../../../packages/text-plugins/src/public-api.ts","../../../packages/text-plugins/src/plait-text-plugins.ts"],"sourcesContent":["import { Alignment, ParagraphElement } from '@plait/common';\nimport { Editor, Transforms, Node } from 'slate';\n\nexport const AlignEditor = {\n isActive(editor: Editor, alignment: Alignment) {\n const blockElement = Node.get(editor, defaultPath) as ParagraphElement;\n if (blockElement) {\n const { align } = blockElement;\n return align === alignment;\n }\n return false;\n },\n setAlign(editor: Editor, alignment: Alignment) {\n const props: Partial<ParagraphElement> = {\n align: alignment\n };\n Transforms.setNodes(editor, props, {\n at: defaultPath\n });\n }\n};\n\nconst defaultPath = [0];\n","export enum MarkTypes {\n bold = 'bold',\n italic = 'italic',\n underline = 'underlined',\n strike = 'strike',\n color = 'color',\n fontSize = 'font-size'\n}\n\nexport const MarkProps: MarkTypes[] = [\n MarkTypes.bold,\n MarkTypes.color,\n MarkTypes.italic,\n MarkTypes.strike,\n MarkTypes.underline,\n MarkTypes.fontSize\n];\n\nexport enum FontSizes {\n 'fontSize12' = '12',\n 'fontSize13' = '13',\n 'fontSize14' = '14',\n 'fontSize15' = '15',\n 'fontSize16' = '16',\n 'fontSize18' = '18',\n 'fontSize20' = '20',\n 'fontSize24' = '24',\n 'fontSize28' = '28',\n 'fontSize32' = '32',\n 'fontSize40' = '40',\n 'fontSize48' = '48'\n}\n\nexport const HOTKEYS = {\n 'mod+b': MarkTypes.bold,\n 'mod+i': MarkTypes.italic,\n 'mod+u': MarkTypes.underline,\n 'mod+shift+x': MarkTypes.strike\n};\n","export const DEFAULT_FONT_SIZE = 14;\n","import { Editor, Text, Node, Element, Transforms, NodeEntry, Location } from 'slate';\nimport { FontSizes, MarkProps, MarkTypes } from './types';\nimport { DEFAULT_FONT_SIZE } from './constant';\nimport { DEFAULT_COLOR } from '@plait/core';\n\nexport interface MarkEditor extends Editor {\n removeMark: (key: string, shouldChange?: boolean) => void;\n}\n\nexport const PlaitMarkEditor = {\n getMarks(editor: Editor) {\n const marks: any = {};\n let at: Location = [];\n if (editor.selection) {\n at = editor.selection;\n } else if (editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const matchResult = Editor.nodes(editor, { match: Text.isText, at });\n for (const match of matchResult) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n getMarksByElement(element: Element) {\n const marks: any = {};\n const texts = Node.texts(element);\n for (const match of texts) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n isMarkActive(editor: Editor, format: MarkTypes) {\n if (!editor?.selection) {\n return;\n }\n const node = Node.get(editor, editor?.selection?.anchor?.path);\n if (!Text.isText(node)) {\n return false;\n }\n const marks = PlaitMarkEditor.getMarks(editor);\n return marks && marks[format] ? true : false;\n },\n toggleMark(editor: Editor, format: MarkTypes) {\n setSelection(editor);\n const isActive = PlaitMarkEditor.isMarkActive(editor, format);\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n },\n setFontSizeMark(editor: Editor, size: FontSizes, defaultSize: number = DEFAULT_FONT_SIZE) {\n setSelection(editor);\n // set paragraph text fontSize\n if (Number(size) === defaultSize) {\n Editor.removeMark(editor, MarkTypes.fontSize);\n } else {\n // set paragraph text fontSize\n Editor.addMark(editor, MarkTypes.fontSize, Number(size));\n }\n },\n setColorMark(editor: Editor, color: string | null, defaultTextColor: string = DEFAULT_COLOR) {\n setSelection(editor);\n if (color === defaultTextColor || color === null || color === undefined) {\n Editor.removeMark(editor, 'color');\n } else {\n Editor.addMark(editor, 'color', color);\n }\n }\n};\n\nexport function setSelection(editor: Editor) {\n if (!editor.selection) {\n Transforms.select(editor, [0]);\n }\n}\n","import { isKeyHotkey } from 'is-hotkey';\nimport { MarkEditor, PlaitMarkEditor } from './mark.editor';\nimport { Editor, Range, Text, Transforms } from 'slate';\nimport { HOTKEYS } from './types';\n\nexport const withMark = <T extends Editor & MarkEditor>(editor: T): T => {\n const e = editor;\n\n e.removeMark = (key: string, shouldChange = true) => {\n const { selection } = e;\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.unsetNodes(e, key, {\n match: Text.isText,\n split: true\n });\n } else {\n const marks = { ...(Editor.marks(e) || {}) };\n delete (marks as any)[key];\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.unsetNodes(e, key, { at: selection.anchor.path });\n }\n if (shouldChange) {\n editor.onChange();\n }\n }\n }\n };\n\n e.addMark = (key: string, value: any) => {\n const { selection } = editor;\n\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.setNodes(e, { [key]: value }, { match: Text.isText, split: true });\n } else {\n const marks = {\n ...(Editor.marks(e) || {}),\n [key]: value\n };\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.setNodes(e, { [key]: value }, { at: selection.anchor.path });\n }\n }\n }\n };\n\n return e;\n};\n\nexport const markShortcuts = (editor: Editor, event: KeyboardEvent) => {\n for (const hotkey in HOTKEYS) {\n if (isKeyHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = (HOTKEYS as any)[hotkey];\n PlaitMarkEditor.toggleMark(editor, mark);\n }\n }\n};\n","import { CustomElement, LinkElement } from '@plait/common';\nimport { Editor, Transforms, Range, Element, BaseRange, Location, Node } from 'slate';\n\nexport const LinkEditor = {\n wrapLink(editor: Editor, text: string, url: string) {\n if (LinkEditor.isLinkActive(editor)) {\n LinkEditor.unwrapLink(editor);\n }\n const { selection } = editor;\n const isCollapsed = selection && Range.isCollapsed(selection);\n const link: LinkElement = {\n type: 'link',\n url,\n children: [{ text }]\n };\n if (isCollapsed || Node.string(editor) === '') {\n Transforms.insertNodes(editor, link);\n } else if (!selection) {\n const at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n Transforms.wrapNodes(editor, link, { split: true, at });\n } else {\n Transforms.wrapNodes(editor, link, { split: true });\n Transforms.collapse(editor, { edge: 'end' });\n }\n },\n unwrapLink(editor: Editor, at?: Location) {\n if (!at) {\n at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n }\n Transforms.unwrapNodes<CustomElement>(editor, { at, match: n => Element.isElement(n) && (n as LinkElement).type === 'link' });\n },\n isLinkActive(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return !!link;\n },\n getLinkElement(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return link;\n }\n};\n","import { LinkElement } from '@plait/common';\nimport { Element, NodeEntry, Transforms, Node, Editor } from 'slate';\n\nexport const withLink = <T extends Editor>(editor: T): T => {\n const { isInline, normalizeNode } = editor;\n\n editor.isInline = (element: Element) => {\n return (element as LinkElement).type === 'link' ? true : isInline(element);\n };\n\n editor.normalizeNode = (nodeEntry: NodeEntry) => {\n const node = nodeEntry[0] as LinkElement;\n const path = nodeEntry[1];\n if (node.type && node.type === 'link' && Node.string(node) === '') {\n Transforms.removeNodes(editor, { at: path });\n return;\n }\n\n normalizeNode(nodeEntry);\n };\n\n return editor;\n};\n","export const TEXT_DEFAULT_HEIGHT = 20;\n\nexport const CLIPBOARD_FORMAT_KEY = 'x-plait-text-fragment';\n","import { Element, Node } from 'slate';\nimport { CLIPBOARD_FORMAT_KEY } from '../constant';\n\nexport const getTextFromClipboard = (data: DataTransfer | null) => {\n let plaitTextData = data?.getData(`application/${CLIPBOARD_FORMAT_KEY}`);\n const text = (data ? data.getData(`text/plain`) : '') as string;\n if (plaitTextData) {\n const decoded = decodeURIComponent(window.atob(plaitTextData));\n const res = JSON.parse(decoded) as Element[];\n if (res.length === 1 && Node.string(res[0])) {\n return res[0];\n }\n }\n return text.trim() || '';\n};\n","export const isUrl = (string: string) => {\n const protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n const localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\n const nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n};\n","import { CustomText, getTextEditorsByElement, getTextManages } from '@plait/common';\nimport { PlaitElement } from '@plait/core';\nimport { PlaitMarkEditor } from '../mark/mark.editor';\n\nexport const getTextMarksByElement = (element: PlaitElement) => {\n const editors = getTextEditorsByElement(element);\n const editor = editors[0];\n if (!editor || editor.children.length === 0) {\n return {};\n }\n const currentMarks: Omit<CustomText, 'text'> = PlaitMarkEditor.getMarks(editor);\n return currentMarks;\n};\n","import { PlaitBoard, PlaitElement, getSelectedElements } from '@plait/core';\nimport { BaseEditor, BaseRange, Editor, Transforms as SlateTransforms } from 'slate';\nimport { FontSizes, MarkTypes } from './mark/types';\nimport { Alignment, findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '@plait/common';\nimport { PlaitMarkEditor } from './mark/mark.editor';\nimport { AlignEditor } from './align/align-editor';\n\nconst setTextMarks = (board: PlaitBoard, mark: MarkTypes, editors?: BaseEditor[]) => {\n let textEditors: BaseEditor[] | undefined;\n if (editors?.length) {\n textEditors = editors;\n } else {\n const selectedElements = getSelectedElements(board);\n if (selectedElements.length) {\n const firstEditor = findFirstTextEditor(board);\n if (!firstEditor) {\n return;\n }\n const activeMarks = PlaitMarkEditor.getMarks(firstEditor);\n const elements = selectedElements.filter(element => {\n const elementEditors = getTextEditorsByElement(element);\n return elementEditors.some(editor => {\n const elementMarks = PlaitMarkEditor.getMarks(editor);\n return elementMarks[mark] === activeMarks[mark];\n });\n });\n textEditors = getTextEditors(board, elements);\n }\n }\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => {\n PlaitMarkEditor.toggleMark(editor, mark);\n });\n }\n};\n\nconst setFontSize = (\n board: PlaitBoard,\n size: FontSizes,\n defaultFontSize: number | ((element: PlaitElement) => number | undefined),\n editors?: BaseEditor[]\n) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n const selectedElements = getSelectedElements(board);\n textEditors.forEach(editor => {\n let finalDefaultFontSize;\n if (typeof defaultFontSize === 'function') {\n const element = selectedElements.find(element => {\n const textEditors = getTextEditorsByElement(element);\n return textEditors.includes(editor);\n });\n finalDefaultFontSize = defaultFontSize(element!);\n } else {\n finalDefaultFontSize = defaultFontSize;\n }\n\n PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);\n });\n }\n};\n\nconst setTextColor = (board: PlaitBoard, color: string | null, textSelection?: BaseRange, editors?: BaseEditor[]) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => {\n if (textSelection) {\n SlateTransforms.select(editor, textSelection);\n }\n if (color === 'transparent') {\n Editor.removeMark(editor, MarkTypes.color);\n } else {\n PlaitMarkEditor.setColorMark(editor, color);\n }\n });\n }\n};\n\nconst setTextAlign = (board: PlaitBoard, align: Alignment, editors?: BaseEditor[]) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => AlignEditor.setAlign(editor, align));\n }\n};\n\nconst getHandleTextEditors = (board: PlaitBoard, editors?: BaseEditor[]) => {\n let textEditors: BaseEditor[] | undefined;\n if (editors?.length) {\n textEditors = editors;\n } else {\n textEditors = getTextEditors(board);\n }\n return textEditors;\n};\n\nexport const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };\n","/*\n * Public API Surface of utils\n */\n\nexport * from './align';\nexport * from './mark';\nexport * from './link';\nexport * from './utils';\nexport * from './constant';\nexport * from './text-transforms';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SlateTransforms"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plait-text-plugins.mjs","sources":["../../../packages/text-plugins/src/align/align-editor.ts","../../../packages/text-plugins/src/mark/types.ts","../../../packages/text-plugins/src/mark/constant.ts","../../../packages/text-plugins/src/mark/mark.editor.ts","../../../packages/text-plugins/src/mark/with-marks.ts","../../../packages/text-plugins/src/link/link-editor.ts","../../../packages/text-plugins/src/link/with-link.ts","../../../packages/text-plugins/src/constant/index.ts","../../../packages/text-plugins/src/utils/clipboard.ts","../../../packages/text-plugins/src/utils/common.ts","../../../packages/text-plugins/src/utils/marks.ts","../../../packages/text-plugins/src/text-transforms.ts","../../../packages/text-plugins/src/public-api.ts","../../../packages/text-plugins/src/plait-text-plugins.ts"],"sourcesContent":["import { Alignment, ParagraphElement } from '@plait/common';\nimport { Editor, Transforms, Node } from 'slate';\n\nexport const AlignEditor = {\n isActive(editor: Editor, alignment: Alignment) {\n const blockElement = Node.get(editor, defaultPath) as ParagraphElement;\n if (blockElement) {\n const { align } = blockElement;\n return align === alignment;\n }\n return false;\n },\n setAlign(editor: Editor, alignment: Alignment) {\n const props: Partial<ParagraphElement> = {\n align: alignment\n };\n Transforms.setNodes(editor, props, {\n at: defaultPath\n });\n }\n};\n\nconst defaultPath = [0];\n","export enum MarkTypes {\n bold = 'bold',\n italic = 'italic',\n underline = 'underlined',\n strike = 'strike',\n color = 'color',\n fontSize = 'font-size'\n}\n\nexport const MarkProps: MarkTypes[] = [\n MarkTypes.bold,\n MarkTypes.color,\n MarkTypes.italic,\n MarkTypes.strike,\n MarkTypes.underline,\n MarkTypes.fontSize\n];\n\nexport enum FontSizes {\n 'fontSize12' = '12',\n 'fontSize13' = '13',\n 'fontSize14' = '14',\n 'fontSize15' = '15',\n 'fontSize16' = '16',\n 'fontSize18' = '18',\n 'fontSize20' = '20',\n 'fontSize24' = '24',\n 'fontSize28' = '28',\n 'fontSize32' = '32',\n 'fontSize40' = '40',\n 'fontSize48' = '48'\n}\n\nexport const HOTKEYS = {\n 'mod+b': MarkTypes.bold,\n 'mod+i': MarkTypes.italic,\n 'mod+u': MarkTypes.underline,\n 'mod+shift+x': MarkTypes.strike\n};\n","export const DEFAULT_FONT_SIZE = 14;\n","import { Editor, Text, Node, Element, Transforms, NodeEntry, Location } from 'slate';\nimport { FontSizes, MarkProps, MarkTypes } from './types';\nimport { DEFAULT_FONT_SIZE } from './constant';\nimport { DEFAULT_COLOR } from '@plait/core';\n\nexport interface MarkEditor extends Editor {\n removeMark: (key: string, shouldChange?: boolean) => void;\n}\n\nexport const PlaitMarkEditor = {\n getMarks(editor: Editor) {\n const marks: any = {};\n let at: Location = [];\n if (editor.selection) {\n at = editor.selection;\n } else if (editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const matchResult = Editor.nodes(editor, { match: Text.isText, at });\n for (const match of matchResult) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n getMarksByElement(element: Element) {\n const marks: any = {};\n const texts = Node.texts(element);\n for (const match of texts) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n isMarkActive(editor: Editor, format: MarkTypes) {\n if (!editor?.selection) {\n return;\n }\n const node = Node.get(editor, editor?.selection?.anchor?.path);\n if (!Text.isText(node)) {\n return false;\n }\n const marks = PlaitMarkEditor.getMarks(editor);\n return marks && marks[format] ? true : false;\n },\n toggleMark(editor: Editor, format: MarkTypes) {\n setSelection(editor);\n const isActive = PlaitMarkEditor.isMarkActive(editor, format);\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n },\n setFontSizeMark(editor: Editor, size: FontSizes, defaultSize: number = DEFAULT_FONT_SIZE) {\n setSelection(editor);\n // set paragraph text fontSize\n if (Number(size) === defaultSize) {\n Editor.removeMark(editor, MarkTypes.fontSize);\n } else {\n // set paragraph text fontSize\n Editor.addMark(editor, MarkTypes.fontSize, Number(size));\n }\n },\n setColorMark(editor: Editor, color: string | null, defaultTextColor: string = DEFAULT_COLOR) {\n setSelection(editor);\n if (color === defaultTextColor || color === null || color === undefined) {\n Editor.removeMark(editor, 'color');\n } else {\n Editor.addMark(editor, 'color', color);\n }\n }\n};\n\nexport function setSelection(editor: Editor) {\n if (!editor.selection) {\n Transforms.select(editor, [0]);\n }\n}\n","import { isKeyHotkey } from 'is-hotkey';\nimport { MarkEditor, PlaitMarkEditor } from './mark.editor';\nimport { Editor, Range, Text, Transforms } from 'slate';\nimport { HOTKEYS } from './types';\n\nexport const withMark = <T extends Editor & MarkEditor>(editor: T): T => {\n const e = editor;\n\n e.removeMark = (key: string, shouldChange = true) => {\n const { selection } = e;\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.unsetNodes(e, key, {\n match: Text.isText,\n split: true\n });\n } else {\n const marks = { ...(Editor.marks(e) || {}) };\n delete (marks as any)[key];\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.unsetNodes(e, key, { at: selection.anchor.path });\n }\n if (shouldChange) {\n editor.onChange();\n }\n }\n }\n };\n\n e.addMark = (key: string, value: any) => {\n const { selection } = editor;\n\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.setNodes(e, { [key]: value }, { match: Text.isText, split: true });\n } else {\n const marks = {\n ...(Editor.marks(e) || {}),\n [key]: value\n };\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.setNodes(e, { [key]: value }, { at: selection.anchor.path });\n }\n }\n }\n };\n\n return e;\n};\n\nexport const markShortcuts = (editor: Editor, event: KeyboardEvent) => {\n for (const hotkey in HOTKEYS) {\n if (isKeyHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = (HOTKEYS as any)[hotkey];\n PlaitMarkEditor.toggleMark(editor, mark);\n }\n }\n};\n","import { CustomElement, LinkElement } from '@plait/common';\nimport { Editor, Transforms, Range, Element, BaseRange, Location, Node } from 'slate';\n\nexport const LinkEditor = {\n wrapLink(editor: Editor, text: string, url: string) {\n if (LinkEditor.isLinkActive(editor)) {\n LinkEditor.unwrapLink(editor);\n }\n const { selection } = editor;\n const isCollapsed = selection && Range.isCollapsed(selection);\n const link: LinkElement = {\n type: 'link',\n url,\n children: [{ text }]\n };\n if (isCollapsed || Node.string(editor) === '') {\n Transforms.insertNodes(editor, link);\n } else if (!selection) {\n const at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n Transforms.wrapNodes(editor, link, { split: true, at });\n } else {\n Transforms.wrapNodes(editor, link, { split: true });\n Transforms.collapse(editor, { edge: 'end' });\n }\n },\n unwrapLink(editor: Editor, at?: Location) {\n if (!at) {\n at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n }\n Transforms.unwrapNodes<CustomElement>(editor, { at, match: n => Element.isElement(n) && (n as LinkElement).type === 'link' });\n },\n isLinkActive(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return !!link;\n },\n getLinkElement(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return link;\n }\n};\n","import { LinkElement } from '@plait/common';\nimport { Element, NodeEntry, Transforms, Node, Editor } from 'slate';\n\nexport const withLink = <T extends Editor>(editor: T): T => {\n const { isInline, normalizeNode } = editor;\n\n editor.isInline = (element: Element) => {\n return (element as LinkElement).type === 'link' ? true : isInline(element);\n };\n\n editor.normalizeNode = (nodeEntry: NodeEntry) => {\n const node = nodeEntry[0] as LinkElement;\n const path = nodeEntry[1];\n if (node.type && node.type === 'link' && Node.string(node) === '') {\n Transforms.removeNodes(editor, { at: path });\n return;\n }\n\n normalizeNode(nodeEntry);\n };\n\n return editor;\n};\n","export const TEXT_DEFAULT_HEIGHT = 20;\n\nexport const CLIPBOARD_FORMAT_KEY = 'x-plait-text-fragment';\n","import { Element, Node } from 'slate';\nimport { CLIPBOARD_FORMAT_KEY } from '../constant';\n\nexport const getTextFromClipboard = (data: DataTransfer | null) => {\n let plaitTextData = data?.getData(`application/${CLIPBOARD_FORMAT_KEY}`);\n const text = (data ? data.getData(`text/plain`) : '') as string;\n if (plaitTextData) {\n const decoded = decodeURIComponent(window.atob(plaitTextData));\n const res = JSON.parse(decoded) as Element[];\n if (res.length === 1 && Node.string(res[0])) {\n return res[0];\n }\n }\n return text.trim() || '';\n};\n","export const isUrl = (string: string) => {\n const protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n const localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\n const nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n};\n","import { CustomText, getTextEditorsByElement, getTextManages } from '@plait/common';\nimport { PlaitElement } from '@plait/core';\nimport { PlaitMarkEditor } from '../mark/mark.editor';\n\nexport const getTextMarksByElement = (element: PlaitElement) => {\n const editors = getTextEditorsByElement(element);\n const editor = editors[0];\n if (!editor || editor.children.length === 0) {\n return {};\n }\n const currentMarks: Omit<CustomText, 'text'> = PlaitMarkEditor.getMarks(editor);\n return currentMarks;\n};\n","import { PlaitBoard, PlaitElement, getSelectedElements } from '@plait/core';\nimport { BaseEditor, BaseRange, Editor, Transforms as SlateTransforms } from 'slate';\nimport { FontSizes, MarkTypes } from './mark/types';\nimport { Alignment, findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '@plait/common';\nimport { PlaitMarkEditor } from './mark/mark.editor';\nimport { AlignEditor } from './align/align-editor';\n\nconst setTextMarks = (board: PlaitBoard, mark: MarkTypes, editors?: BaseEditor[]) => {\n let textEditors: BaseEditor[] | undefined;\n if (editors?.length) {\n textEditors = editors;\n } else {\n const selectedElements = getSelectedElements(board);\n if (selectedElements.length) {\n const firstEditor = findFirstTextEditor(board);\n if (!firstEditor) {\n return;\n }\n const activeMarks = PlaitMarkEditor.getMarks(firstEditor);\n const elements = selectedElements.filter(element => {\n const elementEditors = getTextEditorsByElement(element);\n return elementEditors.some(editor => {\n const elementMarks = PlaitMarkEditor.getMarks(editor);\n return elementMarks[mark] === activeMarks[mark];\n });\n });\n textEditors = getTextEditors(board, elements);\n }\n }\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => {\n PlaitMarkEditor.toggleMark(editor, mark);\n });\n }\n};\n\nconst setFontSize = (\n board: PlaitBoard,\n size: FontSizes,\n defaultFontSize: number | ((element: PlaitElement) => number | undefined),\n editors?: BaseEditor[]\n) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n const selectedElements = getSelectedElements(board);\n textEditors.forEach(editor => {\n let finalDefaultFontSize;\n if (typeof defaultFontSize === 'function') {\n const element = selectedElements.find(element => {\n const textEditors = getTextEditorsByElement(element);\n return textEditors.includes(editor);\n });\n finalDefaultFontSize = defaultFontSize(element!);\n } else {\n finalDefaultFontSize = defaultFontSize;\n }\n\n PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);\n });\n }\n};\n\nconst setTextColor = (board: PlaitBoard, color: string | null, textSelection?: BaseRange, editors?: BaseEditor[]) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => {\n if (textSelection) {\n SlateTransforms.select(editor, textSelection);\n }\n if (color === 'transparent') {\n Editor.removeMark(editor, MarkTypes.color);\n } else {\n PlaitMarkEditor.setColorMark(editor, color);\n }\n });\n }\n};\n\nconst setTextAlign = (board: PlaitBoard, align: Alignment, editors?: BaseEditor[]) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => AlignEditor.setAlign(editor, align));\n }\n};\n\nconst getHandleTextEditors = (board: PlaitBoard, editors?: BaseEditor[]) => {\n let textEditors: BaseEditor[] | undefined;\n if (editors?.length) {\n textEditors = editors;\n } else {\n textEditors = getTextEditors(board);\n }\n return textEditors;\n};\n\nexport const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };\n","/*\n * Public API Surface of utils\n */\n\nexport * from './align';\nexport * from './mark';\nexport * from './link';\nexport * from './utils';\nexport * from './constant';\nexport * from './text-transforms';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SlateTransforms"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plait/text-plugins",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0-next.0",
|
|
4
4
|
"peerDependencies": {},
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"tslib": "^2.3.0"
|
|
@@ -21,8 +21,6 @@
|
|
|
21
21
|
},
|
|
22
22
|
".": {
|
|
23
23
|
"types": "./index.d.ts",
|
|
24
|
-
"esm2022": "./esm2022/plait-text-plugins.mjs",
|
|
25
|
-
"esm": "./esm2022/plait-text-plugins.mjs",
|
|
26
24
|
"default": "./fesm2022/plait-text-plugins.mjs"
|
|
27
25
|
}
|
|
28
26
|
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Transforms, Node } from 'slate';
|
|
2
|
-
export const AlignEditor = {
|
|
3
|
-
isActive(editor, alignment) {
|
|
4
|
-
const blockElement = Node.get(editor, defaultPath);
|
|
5
|
-
if (blockElement) {
|
|
6
|
-
const { align } = blockElement;
|
|
7
|
-
return align === alignment;
|
|
8
|
-
}
|
|
9
|
-
return false;
|
|
10
|
-
},
|
|
11
|
-
setAlign(editor, alignment) {
|
|
12
|
-
const props = {
|
|
13
|
-
align: alignment
|
|
14
|
-
};
|
|
15
|
-
Transforms.setNodes(editor, props, {
|
|
16
|
-
at: defaultPath
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
const defaultPath = [0];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpZ24tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy9hbGlnbi9hbGlnbi1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFVLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3ZCLFFBQVEsQ0FBQyxNQUFjLEVBQUUsU0FBb0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFxQixDQUFDO1FBQ3ZFLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsWUFBWSxDQUFDO1lBQy9CLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFjLEVBQUUsU0FBb0I7UUFDekMsTUFBTSxLQUFLLEdBQThCO1lBQ3JDLEtBQUssRUFBRSxTQUFTO1NBQ25CLENBQUM7UUFDRixVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDL0IsRUFBRSxFQUFFLFdBQVc7U0FDbEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50LCBQYXJhZ3JhcGhFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBBbGlnbkVkaXRvciA9IHtcbiAgICBpc0FjdGl2ZShlZGl0b3I6IEVkaXRvciwgYWxpZ25tZW50OiBBbGlnbm1lbnQpIHtcbiAgICAgICAgY29uc3QgYmxvY2tFbGVtZW50ID0gTm9kZS5nZXQoZWRpdG9yLCBkZWZhdWx0UGF0aCkgYXMgUGFyYWdyYXBoRWxlbWVudDtcbiAgICAgICAgaWYgKGJsb2NrRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgeyBhbGlnbiB9ID0gYmxvY2tFbGVtZW50O1xuICAgICAgICAgICAgcmV0dXJuIGFsaWduID09PSBhbGlnbm1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgc2V0QWxpZ24oZWRpdG9yOiBFZGl0b3IsIGFsaWdubWVudDogQWxpZ25tZW50KSB7XG4gICAgICAgIGNvbnN0IHByb3BzOiBQYXJ0aWFsPFBhcmFncmFwaEVsZW1lbnQ+ID0ge1xuICAgICAgICAgICAgYWxpZ246IGFsaWdubWVudFxuICAgICAgICB9O1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgcHJvcHMsIHtcbiAgICAgICAgICAgIGF0OiBkZWZhdWx0UGF0aFxuICAgICAgICB9KTtcbiAgICB9XG59O1xuXG5jb25zdCBkZWZhdWx0UGF0aCA9IFswXTtcbiJdfQ==
|
package/esm2022/align/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './align-editor';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL2FsaWduL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FsaWduLWVkaXRvcic7XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export const TEXT_DEFAULT_HEIGHT = 20;
|
|
2
|
-
export const CLIPBOARD_FORMAT_KEY = 'x-plait-text-fragment';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL2NvbnN0YW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBURVhUX0RFRkFVTFRfSEVJR0hUID0gMjA7XG5cbmV4cG9ydCBjb25zdCBDTElQQk9BUkRfRk9STUFUX0tFWSA9ICd4LXBsYWl0LXRleHQtZnJhZ21lbnQnO1xuIl19
|
package/esm2022/link/index.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './link-editor';
|
|
2
|
-
export * from './with-link';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL2xpbmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpbmstZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1saW5rJztcbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Editor, Transforms, Range, Element, Node } from 'slate';
|
|
2
|
-
export const LinkEditor = {
|
|
3
|
-
wrapLink(editor, text, url) {
|
|
4
|
-
if (LinkEditor.isLinkActive(editor)) {
|
|
5
|
-
LinkEditor.unwrapLink(editor);
|
|
6
|
-
}
|
|
7
|
-
const { selection } = editor;
|
|
8
|
-
const isCollapsed = selection && Range.isCollapsed(selection);
|
|
9
|
-
const link = {
|
|
10
|
-
type: 'link',
|
|
11
|
-
url,
|
|
12
|
-
children: [{ text }]
|
|
13
|
-
};
|
|
14
|
-
if (isCollapsed || Node.string(editor) === '') {
|
|
15
|
-
Transforms.insertNodes(editor, link);
|
|
16
|
-
}
|
|
17
|
-
else if (!selection) {
|
|
18
|
-
const at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };
|
|
19
|
-
Transforms.wrapNodes(editor, link, { split: true, at });
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
Transforms.wrapNodes(editor, link, { split: true });
|
|
23
|
-
Transforms.collapse(editor, { edge: 'end' });
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
unwrapLink(editor, at) {
|
|
27
|
-
if (!at) {
|
|
28
|
-
at = editor.selection;
|
|
29
|
-
if (!at && editor.children && editor.children.length > 0) {
|
|
30
|
-
at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
Transforms.unwrapNodes(editor, { at, match: n => Element.isElement(n) && n.type === 'link' });
|
|
34
|
-
},
|
|
35
|
-
isLinkActive(editor) {
|
|
36
|
-
let at = editor.selection;
|
|
37
|
-
if (!at && editor.children && editor.children.length > 0) {
|
|
38
|
-
at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };
|
|
39
|
-
}
|
|
40
|
-
const [link] = Editor.nodes(editor, { match: n => Element.isElement(n) && n.type === 'link', at });
|
|
41
|
-
return !!link;
|
|
42
|
-
},
|
|
43
|
-
getLinkElement(editor) {
|
|
44
|
-
let at = editor.selection;
|
|
45
|
-
if (!at && editor.children && editor.children.length > 0) {
|
|
46
|
-
at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };
|
|
47
|
-
}
|
|
48
|
-
const [link] = Editor.nodes(editor, { match: n => Element.isElement(n) && n.type === 'link', at });
|
|
49
|
-
return link;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL2xpbmsvbGluay1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBdUIsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXRGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixRQUFRLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxHQUFXO1FBQzlDLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2xDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDN0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLEdBQWdCO1lBQ3RCLElBQUksRUFBRSxNQUFNO1lBQ1osR0FBRztZQUNILFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDdkIsQ0FBQztRQUNGLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQzthQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFB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Q0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSyxDQUFpQixDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuSSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUVsZW1lbnQsIExpbmtFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMsIFJhbmdlLCBFbGVtZW50LCBCYXNlUmFuZ2UsIExvY2F0aW9uLCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgY29uc3QgTGlua0VkaXRvciA9IHtcbiAgICB3cmFwTGluayhlZGl0b3I6IEVkaXRvciwgdGV4dDogc3RyaW5nLCB1cmw6IHN0cmluZykge1xuICAgICAgICBpZiAoTGlua0VkaXRvci5pc0xpbmtBY3RpdmUoZWRpdG9yKSkge1xuICAgICAgICAgICAgTGlua0VkaXRvci51bndyYXBMaW5rKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBzZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3QgbGluazogTGlua0VsZW1lbnQgPSB7XG4gICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBjaGlsZHJlbjogW3sgdGV4dCB9XVxuICAgICAgICB9O1xuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgfHwgTm9kZS5zdHJpbmcoZWRpdG9yKSA9PT0gJycpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBsaW5rKTtcbiAgICAgICAgfSBlbHNlIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBhdCA9IHsgYW5jaG9yOiBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBbMF0pLCBmb2N1czogRWRpdG9yLmVuZChlZGl0b3IsIFswXSkgfTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKGVkaXRvciwgbGluaywgeyBzcGxpdDogdHJ1ZSwgYXQgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIGxpbmssIHsgc3BsaXQ6IHRydWUgfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdW53cmFwTGluayhlZGl0b3I6IEVkaXRvciwgYXQ/OiBMb2NhdGlvbikge1xuICAgICAgICBpZiAoIWF0KSB7XG4gICAgICAgICAgICBhdCA9IGVkaXRvci5zZWxlY3Rpb24gYXMgQmFzZVJhbmdlO1xuICAgICAgICAgICAgaWYgKCFhdCAmJiBlZGl0b3IuY2hpbGRyZW4gJiYgZWRpdG9yLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBhdCA9IHsgYW5jaG9yOiBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBbMF0pLCBmb2N1czogRWRpdG9yLmVuZChlZGl0b3IsIFswXSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBUcmFuc2Zvcm1zLnVud3JhcE5vZGVzPEN1c3RvbUVsZW1lbnQ+KGVkaXRvciwgeyBhdCwgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgKG4gYXMgTGlua0VsZW1lbnQpLnR5cGUgPT09ICdsaW5rJyB9KTtcbiAgICB9LFxuICAgIGlzTGlua0FjdGl2ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBsZXQgYXQgPSBlZGl0b3Iuc2VsZWN0aW9uIGFzIEJhc2VSYW5nZTtcbiAgICAgICAgaWYgKCFhdCAmJiBlZGl0b3IuY2hpbGRyZW4gJiYgZWRpdG9yLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGF0ID0geyBhbmNob3I6IEVkaXRvci5zdGFydChlZGl0b3IsIFswXSksIGZvY3VzOiBFZGl0b3IuZW5kKGVkaXRvciwgWzBdKSB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtsaW5rXSA9IEVkaXRvci5ub2RlczxDdXN0b21FbGVtZW50PihlZGl0b3IsIHsgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgKG4gYXMgTGlua0VsZW1lbnQpLnR5cGUgPT09ICdsaW5rJywgYXQgfSk7XG4gICAgICAgIHJldHVybiAhIWxpbms7XG4gICAgfSxcbiAgICBnZXRMaW5rRWxlbWVudChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBsZXQgYXQgPSBlZGl0b3Iuc2VsZWN0aW9uIGFzIEJhc2VSYW5nZTtcbiAgICAgICAgaWYgKCFhdCAmJiBlZGl0b3IuY2hpbGRyZW4gJiYgZWRpdG9yLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGF0ID0geyBhbmNob3I6IEVkaXRvci5zdGFydChlZGl0b3IsIFswXSksIGZvY3VzOiBFZGl0b3IuZW5kKGVkaXRvciwgWzBdKSB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtsaW5rXSA9IEVkaXRvci5ub2RlczxDdXN0b21FbGVtZW50PihlZGl0b3IsIHsgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgKG4gYXMgTGlua0VsZW1lbnQpLnR5cGUgPT09ICdsaW5rJywgYXQgfSk7XG4gICAgICAgIHJldHVybiBsaW5rO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Transforms, Node } from 'slate';
|
|
2
|
-
export const withLink = (editor) => {
|
|
3
|
-
const { isInline, normalizeNode } = editor;
|
|
4
|
-
editor.isInline = (element) => {
|
|
5
|
-
return element.type === 'link' ? true : isInline(element);
|
|
6
|
-
};
|
|
7
|
-
editor.normalizeNode = (nodeEntry) => {
|
|
8
|
-
const node = nodeEntry[0];
|
|
9
|
-
const path = nodeEntry[1];
|
|
10
|
-
if (node.type && node.type === 'link' && Node.string(node) === '') {
|
|
11
|
-
Transforms.removeNodes(editor, { at: path });
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
normalizeNode(nodeEntry);
|
|
15
|
-
};
|
|
16
|
-
return editor;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy9saW5rL3dpdGgtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXNCLFVBQVUsRUFBRSxJQUFJLEVBQVUsTUFBTSxPQUFPLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ3ZELE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7UUFDbkMsT0FBUSxPQUF1QixDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUU7UUFDNUMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUN6QyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDaEUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM3QyxPQUFPO1FBQ1gsQ0FBQztRQUVELGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5rRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgRWxlbWVudCwgTm9kZUVudHJ5LCBUcmFuc2Zvcm1zLCBOb2RlLCBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTGluayA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7IGlzSW5saW5lLCBub3JtYWxpemVOb2RlIH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3IuaXNJbmxpbmUgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgTGlua0VsZW1lbnQpLnR5cGUgPT09ICdsaW5rJyA/IHRydWUgOiBpc0lubGluZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLm5vcm1hbGl6ZU5vZGUgPSAobm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG5vZGVFbnRyeVswXSBhcyBMaW5rRWxlbWVudDtcbiAgICAgICAgY29uc3QgcGF0aCA9IG5vZGVFbnRyeVsxXTtcbiAgICAgICAgaWYgKG5vZGUudHlwZSAmJiBub2RlLnR5cGUgPT09ICdsaW5rJyAmJiBOb2RlLnN0cmluZyhub2RlKSA9PT0gJycpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7IGF0OiBwYXRoIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9ybWFsaXplTm9kZShub2RlRW50cnkpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZWRpdG9yO1xufTtcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_FONT_SIZE = 14;
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL21hcmsvY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9TSVpFID0gMTQ7XG4iXX0=
|
package/esm2022/mark/index.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './types';
|
|
2
|
-
export * from './constant';
|
|
3
|
-
export * from './mark.editor';
|
|
4
|
-
export * from './with-marks';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL21hcmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrLmVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtbWFya3MnO1xuIl19
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Editor, Text, Node, Transforms } from 'slate';
|
|
2
|
-
import { MarkProps, MarkTypes } from './types';
|
|
3
|
-
import { DEFAULT_FONT_SIZE } from './constant';
|
|
4
|
-
import { DEFAULT_COLOR } from '@plait/core';
|
|
5
|
-
export const PlaitMarkEditor = {
|
|
6
|
-
getMarks(editor) {
|
|
7
|
-
const marks = {};
|
|
8
|
-
let at = [];
|
|
9
|
-
if (editor.selection) {
|
|
10
|
-
at = editor.selection;
|
|
11
|
-
}
|
|
12
|
-
else if (editor.children && editor.children.length > 0) {
|
|
13
|
-
at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };
|
|
14
|
-
}
|
|
15
|
-
const matchResult = Editor.nodes(editor, { match: Text.isText, at });
|
|
16
|
-
for (const match of matchResult) {
|
|
17
|
-
const [node] = match;
|
|
18
|
-
const { text, ...rest } = node;
|
|
19
|
-
Object.assign(marks, rest);
|
|
20
|
-
}
|
|
21
|
-
for (const key in marks) {
|
|
22
|
-
if (!MarkProps.includes(key)) {
|
|
23
|
-
delete marks[key];
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return marks;
|
|
27
|
-
},
|
|
28
|
-
getMarksByElement(element) {
|
|
29
|
-
const marks = {};
|
|
30
|
-
const texts = Node.texts(element);
|
|
31
|
-
for (const match of texts) {
|
|
32
|
-
const [node] = match;
|
|
33
|
-
const { text, ...rest } = node;
|
|
34
|
-
Object.assign(marks, rest);
|
|
35
|
-
}
|
|
36
|
-
for (const key in marks) {
|
|
37
|
-
if (!MarkProps.includes(key)) {
|
|
38
|
-
delete marks[key];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return marks;
|
|
42
|
-
},
|
|
43
|
-
isMarkActive(editor, format) {
|
|
44
|
-
if (!editor?.selection) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const node = Node.get(editor, editor?.selection?.anchor?.path);
|
|
48
|
-
if (!Text.isText(node)) {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
const marks = PlaitMarkEditor.getMarks(editor);
|
|
52
|
-
return marks && marks[format] ? true : false;
|
|
53
|
-
},
|
|
54
|
-
toggleMark(editor, format) {
|
|
55
|
-
setSelection(editor);
|
|
56
|
-
const isActive = PlaitMarkEditor.isMarkActive(editor, format);
|
|
57
|
-
if (isActive) {
|
|
58
|
-
Editor.removeMark(editor, format);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
Editor.addMark(editor, format, true);
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
setFontSizeMark(editor, size, defaultSize = DEFAULT_FONT_SIZE) {
|
|
65
|
-
setSelection(editor);
|
|
66
|
-
// set paragraph text fontSize
|
|
67
|
-
if (Number(size) === defaultSize) {
|
|
68
|
-
Editor.removeMark(editor, MarkTypes.fontSize);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
// set paragraph text fontSize
|
|
72
|
-
Editor.addMark(editor, MarkTypes.fontSize, Number(size));
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
setColorMark(editor, color, defaultTextColor = DEFAULT_COLOR) {
|
|
76
|
-
setSelection(editor);
|
|
77
|
-
if (color === defaultTextColor || color === null || color === undefined) {
|
|
78
|
-
Editor.removeMark(editor, 'color');
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
Editor.addMark(editor, 'color', color);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
export function setSelection(editor) {
|
|
86
|
-
if (!editor.selection) {
|
|
87
|
-
Transforms.select(editor, [0]);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL21hcmsvbWFyay5lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFXLFVBQVUsRUFBdUIsTUFBTSxPQUFPLENBQUM7QUFDckYsT0FBTyxFQUFhLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNNUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLFFBQVEsQ0FBQyxNQUFjO1FBQ25CLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixJQUFJLEVBQUUsR0FBYSxFQUFFLENBQUM7UUFDdEIsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsRUFBRSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FB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Q0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sQ0FBQztZQUNKLDhCQUE4QjtZQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWSxDQUFDLE1BQWMsRUFBRSxLQUFvQixFQUFFLG1CQUEyQixhQUFhO1FBQ3ZGLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixJQUFJLEtBQUssS0FBSyxnQkFBZ0IsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0RSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRleHQsIE5vZGUsIEVsZW1lbnQsIFRyYW5zZm9ybXMsIE5vZGVFbnRyeSwgTG9jYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBGb250U2l6ZXMsIE1hcmtQcm9wcywgTWFya1R5cGVzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBERUZBVUxUX0ZPTlRfU0laRSB9IGZyb20gJy4vY29uc3RhbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9DT0xPUiB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBNYXJrRWRpdG9yIGV4dGVuZHMgRWRpdG9yIHtcbiAgICByZW1vdmVNYXJrOiAoa2V5OiBzdHJpbmcsIHNob3VsZENoYW5nZT86IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdE1hcmtFZGl0b3IgPSB7XG4gICAgZ2V0TWFya3MoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgbWFya3M6IGFueSA9IHt9O1xuICAgICAgICBsZXQgYXQ6IExvY2F0aW9uID0gW107XG4gICAgICAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBhdCA9IGVkaXRvci5zZWxlY3Rpb247XG4gICAgICAgIH0gZWxzZSBpZiAoZWRpdG9yLmNoaWxkcmVuICYmIGVkaXRvci5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBhdCA9IHsgYW5jaG9yOiBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBbMF0pLCBmb2N1czogRWRpdG9yLmVuZChlZGl0b3IsIFswXSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRjaFJlc3VsdCA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHsgbWF0Y2g6IFRleHQuaXNUZXh0LCBhdCB9KTtcbiAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaFJlc3VsdCkge1xuICAgICAgICAgICAgY29uc3QgW25vZGVdID0gbWF0Y2ggYXMgTm9kZUVudHJ5PFRleHQ+O1xuICAgICAgICAgICAgY29uc3QgeyB0ZXh0LCAuLi5yZXN0IH0gPSBub2RlO1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihtYXJrcywgcmVzdCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbWFya3MpIHtcbiAgICAgICAgICAgIGlmICghTWFya1Byb3BzLmluY2x1ZGVzKGtleSBhcyBNYXJrVHlwZXMpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG1hcmtzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcmtzO1xuICAgIH0sXG4gICAgZ2V0TWFya3NCeUVsZW1lbnQoZWxlbWVudDogRWxlbWVudCkge1xuICAgICAgICBjb25zdCBtYXJrczogYW55ID0ge307XG4gICAgICAgIGNvbnN0IHRleHRzID0gTm9kZS50ZXh0cyhlbGVtZW50KTtcbiAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiB0ZXh0cykge1xuICAgICAgICAgICAgY29uc3QgW25vZGVdID0gbWF0Y2ggYXMgTm9kZUVudHJ5PFRleHQ+O1xuICAgICAgICAgICAgY29uc3QgeyB0ZXh0LCAuLi5yZXN0IH0gPSBub2RlO1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihtYXJrcywgcmVzdCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbWFya3MpIHtcbiAgICAgICAgICAgIGlmICghTWFya1Byb3BzLmluY2x1ZGVzKGtleSBhcyBNYXJrVHlwZXMpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG1hcmtzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcmtzO1xuICAgIH0sXG4gICAgaXNNYXJrQWN0aXZlKGVkaXRvcjogRWRpdG9yLCBmb3JtYXQ6IE1hcmtUeXBlcykge1xuICAgICAgICBpZiAoIWVkaXRvcj8uc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZSA9IE5vZGUuZ2V0KGVkaXRvciwgZWRpdG9yPy5zZWxlY3Rpb24/LmFuY2hvcj8ucGF0aCk7XG4gICAgICAgIGlmICghVGV4dC5pc1RleHQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXJrcyA9IFBsYWl0TWFya0VkaXRvci5nZXRNYXJrcyhlZGl0b3IpO1xuICAgICAgICByZXR1cm4gbWFya3MgJiYgbWFya3NbZm9ybWF0XSA/IHRydWUgOiBmYWxzZTtcbiAgICB9LFxuICAgIHRvZ2dsZU1hcmsoZWRpdG9yOiBFZGl0b3IsIGZvcm1hdDogTWFya1R5cGVzKSB7XG4gICAgICAgIHNldFNlbGVjdGlvbihlZGl0b3IpO1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IFBsYWl0TWFya0VkaXRvci5pc01hcmtBY3RpdmUoZWRpdG9yLCBmb3JtYXQpO1xuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIEVkaXRvci5yZW1vdmVNYXJrKGVkaXRvciwgZm9ybWF0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgZm9ybWF0LCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2V0Rm9udFNpemVNYXJrKGVkaXRvcjogRWRpdG9yLCBzaXplOiBGb250U2l6ZXMsIGRlZmF1bHRTaXplOiBudW1iZXIgPSBERUZBVUxUX0ZPTlRfU0laRSkge1xuICAgICAgICBzZXRTZWxlY3Rpb24oZWRpdG9yKTtcbiAgICAgICAgLy8gc2V0IHBhcmFncmFwaCB0ZXh0IGZvbnRTaXplXG4gICAgICAgIGlmIChOdW1iZXIoc2l6ZSkgPT09IGRlZmF1bHRTaXplKSB7XG4gICAgICAgICAgICBFZGl0b3IucmVtb3ZlTWFyayhlZGl0b3IsIE1hcmtUeXBlcy5mb250U2l6ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzZXQgcGFyYWdyYXBoIHRleHQgZm9udFNpemVcbiAgICAgICAgICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgTWFya1R5cGVzLmZvbnRTaXplLCBOdW1iZXIoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBzZXRDb2xvck1hcmsoZWRpdG9yOiBFZGl0b3IsIGNvbG9yOiBzdHJpbmcgfCBudWxsLCBkZWZhdWx0VGV4dENvbG9yOiBzdHJpbmcgPSBERUZBVUxUX0NPTE9SKSB7XG4gICAgICAgIHNldFNlbGVjdGlvbihlZGl0b3IpO1xuICAgICAgICBpZiAoY29sb3IgPT09IGRlZmF1bHRUZXh0Q29sb3IgfHwgY29sb3IgPT09IG51bGwgfHwgY29sb3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgRWRpdG9yLnJlbW92ZU1hcmsoZWRpdG9yLCAnY29sb3InKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEVkaXRvci5hZGRNYXJrKGVkaXRvciwgJ2NvbG9yJywgY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlbGVjdGlvbihlZGl0b3I6IEVkaXRvcikge1xuICAgIGlmICghZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFswXSk7XG4gICAgfVxufVxuIl19
|
package/esm2022/mark/types.mjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export var MarkTypes;
|
|
2
|
-
(function (MarkTypes) {
|
|
3
|
-
MarkTypes["bold"] = "bold";
|
|
4
|
-
MarkTypes["italic"] = "italic";
|
|
5
|
-
MarkTypes["underline"] = "underlined";
|
|
6
|
-
MarkTypes["strike"] = "strike";
|
|
7
|
-
MarkTypes["color"] = "color";
|
|
8
|
-
MarkTypes["fontSize"] = "font-size";
|
|
9
|
-
})(MarkTypes || (MarkTypes = {}));
|
|
10
|
-
export const MarkProps = [
|
|
11
|
-
MarkTypes.bold,
|
|
12
|
-
MarkTypes.color,
|
|
13
|
-
MarkTypes.italic,
|
|
14
|
-
MarkTypes.strike,
|
|
15
|
-
MarkTypes.underline,
|
|
16
|
-
MarkTypes.fontSize
|
|
17
|
-
];
|
|
18
|
-
export var FontSizes;
|
|
19
|
-
(function (FontSizes) {
|
|
20
|
-
FontSizes["fontSize12"] = "12";
|
|
21
|
-
FontSizes["fontSize13"] = "13";
|
|
22
|
-
FontSizes["fontSize14"] = "14";
|
|
23
|
-
FontSizes["fontSize15"] = "15";
|
|
24
|
-
FontSizes["fontSize16"] = "16";
|
|
25
|
-
FontSizes["fontSize18"] = "18";
|
|
26
|
-
FontSizes["fontSize20"] = "20";
|
|
27
|
-
FontSizes["fontSize24"] = "24";
|
|
28
|
-
FontSizes["fontSize28"] = "28";
|
|
29
|
-
FontSizes["fontSize32"] = "32";
|
|
30
|
-
FontSizes["fontSize40"] = "40";
|
|
31
|
-
FontSizes["fontSize48"] = "48";
|
|
32
|
-
})(FontSizes || (FontSizes = {}));
|
|
33
|
-
export const HOTKEYS = {
|
|
34
|
-
'mod+b': MarkTypes.bold,
|
|
35
|
-
'mod+i': MarkTypes.italic,
|
|
36
|
-
'mod+u': MarkTypes.underline,
|
|
37
|
-
'mod+shift+x': MarkTypes.strike
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL21hcmsvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNqQiwwQkFBYSxDQUFBO0lBQ2IsOEJBQWlCLENBQUE7SUFDakIscUNBQXdCLENBQUE7SUFDeEIsOEJBQWlCLENBQUE7SUFDakIsNEJBQWUsQ0FBQTtJQUNmLG1DQUFzQixDQUFBO0FBQzFCLENBQUMsRUFQVyxTQUFTLEtBQVQsU0FBUyxRQU9wQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBZ0I7SUFDbEMsU0FBUyxDQUFDLElBQUk7SUFDZCxTQUFTLENBQUMsS0FBSztJQUNmLFNBQVMsQ0FBQyxNQUFNO0lBQ2hCLFNBQVMsQ0FBQyxNQUFNO0lBQ2hCLFNBQVMsQ0FBQyxTQUFTO0lBQ25CLFNBQVMsQ0FBQyxRQUFRO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxTQWFYO0FBYkQsV0FBWSxTQUFTO0lBQ2pCLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0lBQ25CLDhCQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFiVyxTQUFTLEtBQVQsU0FBUyxRQWFwQjtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUNuQixPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUk7SUFDdkIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNO0lBQ3pCLE9BQU8sRUFBRSxTQUFTLENBQUMsU0FBUztJQUM1QixhQUFhLEVBQUUsU0FBUyxDQUFDLE1BQU07Q0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1hcmtUeXBlcyB7XG4gICAgYm9sZCA9ICdib2xkJyxcbiAgICBpdGFsaWMgPSAnaXRhbGljJyxcbiAgICB1bmRlcmxpbmUgPSAndW5kZXJsaW5lZCcsXG4gICAgc3RyaWtlID0gJ3N0cmlrZScsXG4gICAgY29sb3IgPSAnY29sb3InLFxuICAgIGZvbnRTaXplID0gJ2ZvbnQtc2l6ZSdcbn1cblxuZXhwb3J0IGNvbnN0IE1hcmtQcm9wczogTWFya1R5cGVzW10gPSBbXG4gICAgTWFya1R5cGVzLmJvbGQsXG4gICAgTWFya1R5cGVzLmNvbG9yLFxuICAgIE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgTWFya1R5cGVzLnN0cmlrZSxcbiAgICBNYXJrVHlwZXMudW5kZXJsaW5lLFxuICAgIE1hcmtUeXBlcy5mb250U2l6ZVxuXTtcblxuZXhwb3J0IGVudW0gRm9udFNpemVzIHtcbiAgICAnZm9udFNpemUxMicgPSAnMTInLFxuICAgICdmb250U2l6ZTEzJyA9ICcxMycsXG4gICAgJ2ZvbnRTaXplMTQnID0gJzE0JyxcbiAgICAnZm9udFNpemUxNScgPSAnMTUnLFxuICAgICdmb250U2l6ZTE2JyA9ICcxNicsXG4gICAgJ2ZvbnRTaXplMTgnID0gJzE4JyxcbiAgICAnZm9udFNpemUyMCcgPSAnMjAnLFxuICAgICdmb250U2l6ZTI0JyA9ICcyNCcsXG4gICAgJ2ZvbnRTaXplMjgnID0gJzI4JyxcbiAgICAnZm9udFNpemUzMicgPSAnMzInLFxuICAgICdmb250U2l6ZTQwJyA9ICc0MCcsXG4gICAgJ2ZvbnRTaXplNDgnID0gJzQ4J1xufVxuXG5leHBvcnQgY29uc3QgSE9US0VZUyA9IHtcbiAgICAnbW9kK2InOiBNYXJrVHlwZXMuYm9sZCxcbiAgICAnbW9kK2knOiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICdtb2QrdSc6IE1hcmtUeXBlcy51bmRlcmxpbmUsXG4gICAgJ21vZCtzaGlmdCt4JzogTWFya1R5cGVzLnN0cmlrZVxufTtcbiJdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { isKeyHotkey } from 'is-hotkey';
|
|
2
|
-
import { PlaitMarkEditor } from './mark.editor';
|
|
3
|
-
import { Editor, Range, Text, Transforms } from 'slate';
|
|
4
|
-
import { HOTKEYS } from './types';
|
|
5
|
-
export const withMark = (editor) => {
|
|
6
|
-
const e = editor;
|
|
7
|
-
e.removeMark = (key, shouldChange = true) => {
|
|
8
|
-
const { selection } = e;
|
|
9
|
-
if (selection) {
|
|
10
|
-
if (Range.isExpanded(selection)) {
|
|
11
|
-
Transforms.unsetNodes(e, key, {
|
|
12
|
-
match: Text.isText,
|
|
13
|
-
split: true
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
const marks = { ...(Editor.marks(e) || {}) };
|
|
18
|
-
delete marks[key];
|
|
19
|
-
editor.marks = marks;
|
|
20
|
-
const text = Editor.string(e, selection.anchor.path);
|
|
21
|
-
if (text !== '') {
|
|
22
|
-
Editor.setNormalizing(editor, false);
|
|
23
|
-
e.insertText('');
|
|
24
|
-
editor.marks = marks;
|
|
25
|
-
Editor.setNormalizing(editor, true);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
Transforms.unsetNodes(e, key, { at: selection.anchor.path });
|
|
29
|
-
}
|
|
30
|
-
if (shouldChange) {
|
|
31
|
-
editor.onChange();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
e.addMark = (key, value) => {
|
|
37
|
-
const { selection } = editor;
|
|
38
|
-
if (selection) {
|
|
39
|
-
if (Range.isExpanded(selection)) {
|
|
40
|
-
Transforms.setNodes(e, { [key]: value }, { match: Text.isText, split: true });
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
const marks = {
|
|
44
|
-
...(Editor.marks(e) || {}),
|
|
45
|
-
[key]: value
|
|
46
|
-
};
|
|
47
|
-
editor.marks = marks;
|
|
48
|
-
const text = Editor.string(e, selection.anchor.path);
|
|
49
|
-
if (text !== '') {
|
|
50
|
-
Editor.setNormalizing(editor, false);
|
|
51
|
-
e.insertText('');
|
|
52
|
-
editor.marks = marks;
|
|
53
|
-
Editor.setNormalizing(editor, true);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
Transforms.setNodes(e, { [key]: value }, { at: selection.anchor.path });
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
return e;
|
|
62
|
-
};
|
|
63
|
-
export const markShortcuts = (editor, event) => {
|
|
64
|
-
for (const hotkey in HOTKEYS) {
|
|
65
|
-
if (isKeyHotkey(hotkey, event)) {
|
|
66
|
-
event.preventDefault();
|
|
67
|
-
const mark = HOTKEYS[hotkey];
|
|
68
|
-
PlaitMarkEditor.toggleMark(editor, mark);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tYXJrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3RleHQtcGx1Z2lucy9zcmMvbWFyay93aXRoLW1hcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFjLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQWdDLE1BQVMsRUFBSyxFQUFFO0lBQ3BFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUVqQixDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLFlBQVksR0FBRyxJQUFJLEVBQUUsRUFBRTtRQUNoRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksU0FBUyxFQUFFLENBQUM7WUFDWixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFO29CQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ2xCLEtBQUssRUFBRSxJQUFJO2lCQUNkLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLE9BQVEsS0FBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixNQUFNLENBQUMsS0FBSyxHQUFHLEtB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QWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzS2V5SG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IE1hcmtFZGl0b3IsIFBsYWl0TWFya0VkaXRvciB9IGZyb20gJy4vbWFyay5lZGl0b3InO1xuaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSwgVGV4dCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEhPVEtFWVMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhNYXJrID0gPFQgZXh0ZW5kcyBFZGl0b3IgJiBNYXJrRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCBlID0gZWRpdG9yO1xuXG4gICAgZS5yZW1vdmVNYXJrID0gKGtleTogc3RyaW5nLCBzaG91bGRDaGFuZ2UgPSB0cnVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlO1xuICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBpZiAoUmFuZ2UuaXNFeHBhbmRlZChzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bnNldE5vZGVzKGUsIGtleSwge1xuICAgICAgICAgICAgICAgICAgICBtYXRjaDogVGV4dC5pc1RleHQsXG4gICAgICAgICAgICAgICAgICAgIHNwbGl0OiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtzID0geyAuLi4oRWRpdG9yLm1hcmtzKGUpIHx8IHt9KSB9O1xuICAgICAgICAgICAgICAgIGRlbGV0ZSAobWFya3MgYXMgYW55KVtrZXldO1xuICAgICAgICAgICAgICAgIGVkaXRvci5tYXJrcyA9IG1hcmtzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBFZGl0b3Iuc3RyaW5nKGUsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHRleHQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci5zZXROb3JtYWxpemluZyhlZGl0b3IsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgZS5pbnNlcnRUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLm1hcmtzID0gbWFya3M7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci5zZXROb3JtYWxpemluZyhlZGl0b3IsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW5zZXROb2RlcyhlLCBrZXksIHsgYXQ6IHNlbGVjdGlvbi5hbmNob3IucGF0aCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHNob3VsZENoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3Iub25DaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZS5hZGRNYXJrID0gKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG5cbiAgICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICAgICAgaWYgKFJhbmdlLmlzRXhwYW5kZWQoc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZSwgeyBba2V5XTogdmFsdWUgfSwgeyBtYXRjaDogVGV4dC5pc1RleHQsIHNwbGl0OiB0cnVlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uKEVkaXRvci5tYXJrcyhlKSB8fCB7fSksXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZWRpdG9yLm1hcmtzID0gbWFya3M7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IEVkaXRvci5zdHJpbmcoZSwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgRWRpdG9yLnNldE5vcm1hbGl6aW5nKGVkaXRvciwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBlLmluc2VydFRleHQoJycpO1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3IubWFya3MgPSBtYXJrcztcbiAgICAgICAgICAgICAgICAgICAgRWRpdG9yLnNldE5vcm1hbGl6aW5nKGVkaXRvciwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlLCB7IFtrZXldOiB2YWx1ZSB9LCB7IGF0OiBzZWxlY3Rpb24uYW5jaG9yLnBhdGggfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBlO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtTaG9ydGN1dHMgPSAoZWRpdG9yOiBFZGl0b3IsIGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICBpZiAoaXNLZXlIb3RrZXkoaG90a2V5LCBldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBtYXJrID0gKEhPVEtFWVMgYXMgYW55KVtob3RrZXldO1xuICAgICAgICAgICAgUGxhaXRNYXJrRWRpdG9yLnRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaXQtdGV4dC1wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy9wbGFpdC10ZXh0LXBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of utils
|
|
3
|
-
*/
|
|
4
|
-
export * from './align';
|
|
5
|
-
export * from './mark';
|
|
6
|
-
export * from './link';
|
|
7
|
-
export * from './utils';
|
|
8
|
-
export * from './constant';
|
|
9
|
-
export * from './text-transforms';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3RleHQtcGx1Z2lucy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHV0aWxzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hbGlnbic7XG5leHBvcnQgKiBmcm9tICcuL21hcmsnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtdHJhbnNmb3Jtcyc7XG4iXX0=
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { getSelectedElements } from '@plait/core';
|
|
2
|
-
import { Editor, Transforms as SlateTransforms } from 'slate';
|
|
3
|
-
import { MarkTypes } from './mark/types';
|
|
4
|
-
import { findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '@plait/common';
|
|
5
|
-
import { PlaitMarkEditor } from './mark/mark.editor';
|
|
6
|
-
import { AlignEditor } from './align/align-editor';
|
|
7
|
-
const setTextMarks = (board, mark, editors) => {
|
|
8
|
-
let textEditors;
|
|
9
|
-
if (editors?.length) {
|
|
10
|
-
textEditors = editors;
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
const selectedElements = getSelectedElements(board);
|
|
14
|
-
if (selectedElements.length) {
|
|
15
|
-
const firstEditor = findFirstTextEditor(board);
|
|
16
|
-
if (!firstEditor) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const activeMarks = PlaitMarkEditor.getMarks(firstEditor);
|
|
20
|
-
const elements = selectedElements.filter(element => {
|
|
21
|
-
const elementEditors = getTextEditorsByElement(element);
|
|
22
|
-
return elementEditors.some(editor => {
|
|
23
|
-
const elementMarks = PlaitMarkEditor.getMarks(editor);
|
|
24
|
-
return elementMarks[mark] === activeMarks[mark];
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
textEditors = getTextEditors(board, elements);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
if (textEditors && textEditors.length) {
|
|
31
|
-
textEditors.forEach(editor => {
|
|
32
|
-
PlaitMarkEditor.toggleMark(editor, mark);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const setFontSize = (board, size, defaultFontSize, editors) => {
|
|
37
|
-
const textEditors = getHandleTextEditors(board, editors);
|
|
38
|
-
if (textEditors && textEditors.length) {
|
|
39
|
-
const selectedElements = getSelectedElements(board);
|
|
40
|
-
textEditors.forEach(editor => {
|
|
41
|
-
let finalDefaultFontSize;
|
|
42
|
-
if (typeof defaultFontSize === 'function') {
|
|
43
|
-
const element = selectedElements.find(element => {
|
|
44
|
-
const textEditors = getTextEditorsByElement(element);
|
|
45
|
-
return textEditors.includes(editor);
|
|
46
|
-
});
|
|
47
|
-
finalDefaultFontSize = defaultFontSize(element);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
finalDefaultFontSize = defaultFontSize;
|
|
51
|
-
}
|
|
52
|
-
PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
const setTextColor = (board, color, textSelection, editors) => {
|
|
57
|
-
const textEditors = getHandleTextEditors(board, editors);
|
|
58
|
-
if (textEditors && textEditors.length) {
|
|
59
|
-
textEditors.forEach(editor => {
|
|
60
|
-
if (textSelection) {
|
|
61
|
-
SlateTransforms.select(editor, textSelection);
|
|
62
|
-
}
|
|
63
|
-
if (color === 'transparent') {
|
|
64
|
-
Editor.removeMark(editor, MarkTypes.color);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
PlaitMarkEditor.setColorMark(editor, color);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const setTextAlign = (board, align, editors) => {
|
|
73
|
-
const textEditors = getHandleTextEditors(board, editors);
|
|
74
|
-
if (textEditors && textEditors.length) {
|
|
75
|
-
textEditors.forEach(editor => AlignEditor.setAlign(editor, align));
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
const getHandleTextEditors = (board, editors) => {
|
|
79
|
-
let textEditors;
|
|
80
|
-
if (editors?.length) {
|
|
81
|
-
textEditors = editors;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
textEditors = getTextEditors(board);
|
|
85
|
-
}
|
|
86
|
-
return textEditors;
|
|
87
|
-
};
|
|
88
|
-
export const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10cmFuc2Zvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy90ZXh0LXRyYW5zZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RSxPQUFPLEVBQXlCLE1BQU0sRUFBRSxVQUFVLElBQUksZUFBZSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JGLE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFhLG1CQUFtQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxJQUFlLEVBQUUsT0FBc0IsRUFBRSxFQUFFO0lBQ2hGLElBQUksV0FBcUMsQ0FBQztJQUMxQyxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQixXQUFXLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDZixPQUFPO1lBQ1gsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9B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RyxDQUFDLEtBQWlCLEVBQUUsS0FBZ0IsRUFBRSxPQUFzQixFQUFFLEVBQUU7SUFDakYsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBc0IsRUFBRSxFQUFFO0lBQ3ZFLElBQUksV0FBcUMsQ0FBQztJQUMxQyxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQixXQUFXLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7U0FBTSxDQUFDO1FBQ0osV0FBVyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBCYXNlRWRpdG9yLCBCYXNlUmFuZ2UsIEVkaXRvciwgVHJhbnNmb3JtcyBhcyBTbGF0ZVRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBGb250U2l6ZXMsIE1hcmtUeXBlcyB9IGZyb20gJy4vbWFyay90eXBlcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIGZpbmRGaXJzdFRleHRFZGl0b3IsIGdldFRleHRFZGl0b3JzLCBnZXRUZXh0RWRpdG9yc0J5RWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgUGxhaXRNYXJrRWRpdG9yIH0gZnJvbSAnLi9tYXJrL21hcmsuZWRpdG9yJztcbmltcG9ydCB7IEFsaWduRWRpdG9yIH0gZnJvbSAnLi9hbGlnbi9hbGlnbi1lZGl0b3InO1xuXG5jb25zdCBzZXRUZXh0TWFya3MgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG1hcms6IE1hcmtUeXBlcywgZWRpdG9ycz86IEJhc2VFZGl0b3JbXSkgPT4ge1xuICAgIGxldCB0ZXh0RWRpdG9yczogQmFzZUVkaXRvcltdIHwgdW5kZWZpbmVkO1xuICAgIGlmIChlZGl0b3JzPy5sZW5ndGgpIHtcbiAgICAgICAgdGV4dEVkaXRvcnMgPSBlZGl0b3JzO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdEVkaXRvciA9IGZpbmRGaXJzdFRleHRFZGl0b3IoYm9hcmQpO1xuICAgICAgICAgICAgaWYgKCFmaXJzdEVkaXRvcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZU1hcmtzID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzKGZpcnN0RWRpdG9yKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gc2VsZWN0ZWRFbGVtZW50cy5maWx0ZXIoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudEVkaXRvcnMgPSBnZXRUZXh0RWRpdG9yc0J5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudEVkaXRvcnMuc29tZShlZGl0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50TWFya3MgPSBQbGFpdE1hcmtFZGl0b3IuZ2V0TWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRNYXJrc1ttYXJrXSA9PT0gYWN0aXZlTWFya3NbbWFya107XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRleHRFZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnMoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodGV4dEVkaXRvcnMgJiYgdGV4dEVkaXRvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRleHRFZGl0b3JzLmZvckVhY2goZWRpdG9yID0+IHtcbiAgICAgICAgICAgIFBsYWl0TWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgbWFyayk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmNvbnN0IHNldEZvbnRTaXplID0gKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIHNpemU6IEZvbnRTaXplcyxcbiAgICBkZWZhdWx0Rm9udFNpemU6IG51bWJlciB8ICgoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBudW1iZXIgfCB1bmRlZmluZWQpLFxuICAgIGVkaXRvcnM/OiBCYXNlRWRpdG9yW11cbikgPT4ge1xuICAgIGNvbnN0IHRleHRFZGl0b3JzID0gZ2V0SGFuZGxlVGV4dEVkaXRvcnMoYm9hcmQsIGVkaXRvcnMpO1xuICAgIGlmICh0ZXh0RWRpdG9ycyAmJiB0ZXh0RWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICB0ZXh0RWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiB7XG4gICAgICAgICAgICBsZXQgZmluYWxEZWZhdWx0Rm9udFNpemU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGRlZmF1bHRGb250U2l6ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbmQoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRFZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0RWRpdG9ycy5pbmNsdWRlcyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGZpbmFsRGVmYXVsdEZvbnRTaXplID0gZGVmYXVsdEZvbnRTaXplKGVsZW1lbnQhKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmluYWxEZWZhdWx0Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFBsYWl0TWFya0VkaXRvci5zZXRGb250U2l6ZU1hcmsoZWRpdG9yLCBzaXplLCBmaW5hbERlZmF1bHRGb250U2l6ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmNvbnN0IHNldFRleHRDb2xvciA9IChib2FyZDogUGxhaXRCb2FyZCwgY29sb3I6IHN0cmluZyB8IG51bGwsIHRleHRTZWxlY3Rpb24/OiBCYXNlUmFuZ2UsIGVkaXRvcnM/OiBCYXNlRWRpdG9yW10pID0+IHtcbiAgICBjb25zdCB0ZXh0RWRpdG9ycyA9IGdldEhhbmRsZVRleHRFZGl0b3JzKGJvYXJkLCBlZGl0b3JzKTtcbiAgICBpZiAodGV4dEVkaXRvcnMgJiYgdGV4dEVkaXRvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRleHRFZGl0b3JzLmZvckVhY2goZWRpdG9yID0+IHtcbiAgICAgICAgICAgIGlmICh0ZXh0U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgU2xhdGVUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIHRleHRTZWxlY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSB7XG4gICAgICAgICAgICAgICAgRWRpdG9yLnJlbW92ZU1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuY29sb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBQbGFpdE1hcmtFZGl0b3Iuc2V0Q29sb3JNYXJrKGVkaXRvciwgY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuXG5jb25zdCBzZXRUZXh0QWxpZ24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGFsaWduOiBBbGlnbm1lbnQsIGVkaXRvcnM/OiBCYXNlRWRpdG9yW10pID0+IHtcbiAgICBjb25zdCB0ZXh0RWRpdG9ycyA9IGdldEhhbmRsZVRleHRFZGl0b3JzKGJvYXJkLCBlZGl0b3JzKTtcbiAgICBpZiAodGV4dEVkaXRvcnMgJiYgdGV4dEVkaXRvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRleHRFZGl0b3JzLmZvckVhY2goZWRpdG9yID0+IEFsaWduRWRpdG9yLnNldEFsaWduKGVkaXRvciwgYWxpZ24pKTtcbiAgICB9XG59O1xuXG5jb25zdCBnZXRIYW5kbGVUZXh0RWRpdG9ycyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWRpdG9ycz86IEJhc2VFZGl0b3JbXSkgPT4ge1xuICAgIGxldCB0ZXh0RWRpdG9yczogQmFzZUVkaXRvcltdIHwgdW5kZWZpbmVkO1xuICAgIGlmIChlZGl0b3JzPy5sZW5ndGgpIHtcbiAgICAgICAgdGV4dEVkaXRvcnMgPSBlZGl0b3JzO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRleHRFZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnMoYm9hcmQpO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dEVkaXRvcnM7XG59O1xuXG5leHBvcnQgY29uc3QgVGV4dFRyYW5zZm9ybXMgPSB7IHNldFRleHRBbGlnbiwgc2V0VGV4dENvbG9yLCBzZXRGb250U2l6ZSwgc2V0VGV4dE1hcmtzIH07XG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Node } from 'slate';
|
|
2
|
-
import { CLIPBOARD_FORMAT_KEY } from '../constant';
|
|
3
|
-
export const getTextFromClipboard = (data) => {
|
|
4
|
-
let plaitTextData = data?.getData(`application/${CLIPBOARD_FORMAT_KEY}`);
|
|
5
|
-
const text = (data ? data.getData(`text/plain`) : '');
|
|
6
|
-
if (plaitTextData) {
|
|
7
|
-
const decoded = decodeURIComponent(window.atob(plaitTextData));
|
|
8
|
-
const res = JSON.parse(decoded);
|
|
9
|
-
if (res.length === 1 && Node.string(res[0])) {
|
|
10
|
-
return res[0];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return text.trim() || '';
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy91dGlscy9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUF5QixFQUFFLEVBQUU7SUFDOUQsSUFBSSxhQUFhLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxlQUFlLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUN6RSxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFXLENBQUM7SUFDaEUsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoQixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50LCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ0xJUEJPQVJEX0ZPUk1BVF9LRVkgfSBmcm9tICcuLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0RnJvbUNsaXBib2FyZCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgbGV0IHBsYWl0VGV4dERhdGEgPSBkYXRhPy5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBCT0FSRF9GT1JNQVRfS0VZfWApO1xuICAgIGNvbnN0IHRleHQgPSAoZGF0YSA/IGRhdGEuZ2V0RGF0YShgdGV4dC9wbGFpbmApIDogJycpIGFzIHN0cmluZztcbiAgICBpZiAocGxhaXRUZXh0RGF0YSkge1xuICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKHBsYWl0VGV4dERhdGEpKTtcbiAgICAgICAgY29uc3QgcmVzID0gSlNPTi5wYXJzZShkZWNvZGVkKSBhcyBFbGVtZW50W107XG4gICAgICAgIGlmIChyZXMubGVuZ3RoID09PSAxICYmIE5vZGUuc3RyaW5nKHJlc1swXSkpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNbMF07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRleHQudHJpbSgpIHx8ICcnO1xufTtcbiJdfQ==
|
package/esm2022/utils/common.mjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export const isUrl = (string) => {
|
|
2
|
-
const protocolAndDomainRE = /^(?:\w+:)?\/\/(\S+)$/;
|
|
3
|
-
const localhostDomainRE = /^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/;
|
|
4
|
-
const nonLocalhostDomainRE = /^[^\s\.]+\.\S{2,}$/;
|
|
5
|
-
if (typeof string !== 'string') {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
var match = string.match(protocolAndDomainRE);
|
|
9
|
-
if (!match) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
var everythingAfterProtocol = match[1];
|
|
13
|
-
if (!everythingAfterProtocol) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return false;
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy91dGlscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDcEMsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQztJQUNuRCxNQUFNLGlCQUFpQixHQUFHLHFDQUFxQyxDQUFDO0lBQ2hFLE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFFbEQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNULE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1FBQ3hHLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXNVcmwgPSAoc3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcm90b2NvbEFuZERvbWFpblJFID0gL14oPzpcXHcrOik/XFwvXFwvKFxcUyspJC87XG4gICAgY29uc3QgbG9jYWxob3N0RG9tYWluUkUgPSAvXmxvY2FsaG9zdFtcXDo/XFxkXSooPzpbXlxcOj9cXGRdXFxTKik/JC87XG4gICAgY29uc3Qgbm9uTG9jYWxob3N0RG9tYWluUkUgPSAvXlteXFxzXFwuXStcXC5cXFN7Mix9JC87XG5cbiAgICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZhciBtYXRjaCA9IHN0cmluZy5tYXRjaChwcm90b2NvbEFuZERvbWFpblJFKTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB2YXIgZXZlcnl0aGluZ0FmdGVyUHJvdG9jb2wgPSBtYXRjaFsxXTtcbiAgICBpZiAoIWV2ZXJ5dGhpbmdBZnRlclByb3RvY29sKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAobG9jYWxob3N0RG9tYWluUkUudGVzdChldmVyeXRoaW5nQWZ0ZXJQcm90b2NvbCkgfHwgbm9uTG9jYWxob3N0RG9tYWluUkUudGVzdChldmVyeXRoaW5nQWZ0ZXJQcm90b2NvbCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbiJdfQ==
|
package/esm2022/utils/index.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './clipboard';
|
|
2
|
-
export * from './common';
|
|
3
|
-
export * from './marks';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrcyc7XG4iXX0=
|
package/esm2022/utils/marks.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { getTextEditorsByElement } from '@plait/common';
|
|
2
|
-
import { PlaitMarkEditor } from '../mark/mark.editor';
|
|
3
|
-
export const getTextMarksByElement = (element) => {
|
|
4
|
-
const editors = getTextEditorsByElement(element);
|
|
5
|
-
const editor = editors[0];
|
|
6
|
-
if (!editor || editor.children.length === 0) {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
const currentMarks = PlaitMarkEditor.getMarks(editor);
|
|
10
|
-
return currentMarks;
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy90ZXh0LXBsdWdpbnMvc3JjL3V0aWxzL21hcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyx1QkFBdUIsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQzNELE1BQU0sT0FBTyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sWUFBWSxHQUE2QixlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLE9BQU8sWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVRleHQsIGdldFRleHRFZGl0b3JzQnlFbGVtZW50LCBnZXRUZXh0TWFuYWdlcyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRNYXJrRWRpdG9yIH0gZnJvbSAnLi4vbWFyay9tYXJrLmVkaXRvcic7XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0TWFya3NCeUVsZW1lbnQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGVkaXRvciA9IGVkaXRvcnNbMF07XG4gICAgaWYgKCFlZGl0b3IgfHwgZWRpdG9yLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRNYXJrczogT21pdDxDdXN0b21UZXh0LCAndGV4dCc+ID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzKGVkaXRvcik7XG4gICAgcmV0dXJuIGN1cnJlbnRNYXJrcztcbn07XG4iXX0=
|