@portabletext/editor 1.41.4 → 1.42.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/lib/_chunks-cjs/behavior.core.cjs +2 -26
- package/lib/_chunks-cjs/behavior.core.cjs.map +1 -1
- package/lib/_chunks-cjs/behavior.markdown.cjs.map +1 -1
- package/lib/_chunks-cjs/editor-provider.cjs +21 -4
- package/lib/_chunks-cjs/editor-provider.cjs.map +1 -1
- package/lib/_chunks-es/behavior.core.js +2 -26
- package/lib/_chunks-es/behavior.core.js.map +1 -1
- package/lib/_chunks-es/behavior.markdown.js.map +1 -1
- package/lib/_chunks-es/editor-provider.js +20 -3
- package/lib/_chunks-es/editor-provider.js.map +1 -1
- package/lib/behaviors/index.cjs.map +1 -1
- package/lib/behaviors/index.d.cts +16 -86
- package/lib/behaviors/index.d.ts +16 -86
- package/lib/behaviors/index.js.map +1 -1
- package/lib/index.d.cts +7 -68
- package/lib/index.d.ts +7 -68
- package/lib/plugins/index.cjs +7 -1
- package/lib/plugins/index.cjs.map +1 -1
- package/lib/plugins/index.d.cts +12 -68
- package/lib/plugins/index.d.ts +12 -68
- package/lib/plugins/index.js +8 -2
- package/lib/plugins/index.js.map +1 -1
- package/lib/selectors/index.d.cts +7 -68
- package/lib/selectors/index.d.ts +7 -68
- package/lib/utils/index.d.cts +7 -68
- package/lib/utils/index.d.ts +7 -68
- package/package.json +4 -4
- package/src/behavior-actions/behavior.actions.ts +1 -1
- package/src/behaviors/behavior.code-editor.ts +1 -1
- package/src/behaviors/behavior.core.annotations.ts +2 -1
- package/src/behaviors/behavior.core.block-objects.ts +2 -1
- package/src/behaviors/behavior.core.decorators.ts +2 -1
- package/src/behaviors/behavior.core.dnd.ts +1 -1
- package/src/behaviors/behavior.core.insert-break.ts +2 -1
- package/src/behaviors/behavior.core.lists.ts +2 -1
- package/src/behaviors/behavior.decorator-pair.ts +1 -1
- package/src/behaviors/behavior.default.raise-soft-break.ts +2 -1
- package/src/behaviors/behavior.default.ts +2 -1
- package/src/behaviors/behavior.emoji-picker.ts +1 -1
- package/src/behaviors/behavior.links.ts +1 -1
- package/src/behaviors/behavior.markdown.ts +1 -1
- package/src/behaviors/behavior.types.action.ts +61 -0
- package/src/behaviors/behavior.types.behavior.ts +84 -0
- package/src/behaviors/{behavior.types.ts → behavior.types.event.ts} +58 -203
- package/src/behaviors/behavior.types.guard.ts +14 -0
- package/src/behaviors/index.ts +11 -9
- package/src/editor/create-editor.ts +2 -2
- package/src/editor/editor-machine.ts +3 -3
- package/src/editor/plugins/create-with-event-listeners.ts +0 -1
- package/src/plugins/index.ts +1 -0
- package/src/plugins/plugin.core.tsx +9 -0
- package/src/plugins/plugin.decorator-shortcut.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/behaviors/behavior.code-editor.ts","../../src/behaviors/behavior.emoji-picker.ts","../../src/internal-utils/looks-like-url.ts","../../src/behaviors/behavior.links.ts"],"sourcesContent":["import {isHotkey} from '../internal-utils/is-hotkey'\nimport * as selectors from '../selectors'\nimport {defineBehavior} from './behavior.types'\n\n/**\n * @beta\n */\nexport type CodeEditorBehaviorsConfig = {\n moveBlockUpShortcut: string\n moveBlockDownShortcut: string\n}\n\n/**\n * @beta\n */\nexport function createCodeEditorBehaviors(config: CodeEditorBehaviorsConfig) {\n return [\n defineBehavior({\n on: 'keyboard.keydown',\n guard: ({snapshot, event}) => {\n const isMoveUpShortcut = isHotkey(\n config.moveBlockUpShortcut,\n event.originEvent,\n )\n const firstBlock = selectors.getFirstBlock(snapshot)\n const selectedBlocks = selectors.getSelectedBlocks(snapshot)\n const blocksAbove =\n firstBlock?.node._key !== selectedBlocks[0]?.node._key\n\n if (!isMoveUpShortcut || !blocksAbove) {\n return false\n }\n\n return {paths: selectedBlocks.map((block) => block.path)}\n },\n actions: [\n (_, {paths}) =>\n paths.map((at) => ({\n type: 'move.block up',\n at,\n })),\n ],\n }),\n defineBehavior({\n on: 'keyboard.keydown',\n guard: ({snapshot, event}) => {\n const isMoveDownShortcut = isHotkey(\n config.moveBlockDownShortcut,\n event.originEvent,\n )\n const lastBlock = selectors.getLastBlock(snapshot)\n const selectedBlocks = selectors.getSelectedBlocks(snapshot)\n const blocksBelow =\n lastBlock?.node._key !==\n selectedBlocks[selectedBlocks.length - 1]?.node._key\n\n if (!isMoveDownShortcut || !blocksBelow) {\n return false\n }\n\n return {paths: selectedBlocks.map((block) => block.path).reverse()}\n },\n actions: [\n (_, {paths}) =>\n paths.map((at) => ({\n type: 'move.block down',\n at,\n })),\n ],\n }),\n ]\n}\n","import {assertEvent, assign, createActor, setup} from 'xstate'\nimport {isHotkey} from '../internal-utils/is-hotkey'\nimport * as selectors from '../selectors'\nimport {defineBehavior} from './behavior.types'\n\nconst emojiCharRegEx = /^[a-zA-Z-_0-9]{1}$/\nconst incompleteEmojiRegEx = /:([a-zA-Z-_0-9]+)$/\nconst emojiRegEx = /:([a-zA-Z-_0-9]+):$/\n\n/**\n * @beta\n */\nexport type EmojiPickerBehaviorsConfig<TEmojiMatch> = {\n /**\n * Match emojis by keyword.\n */\n matchEmojis: ({keyword}: {keyword: string}) => Array<TEmojiMatch>\n onMatchesChanged: ({matches}: {matches: Array<TEmojiMatch>}) => void\n onSelectedIndexChanged: ({selectedIndex}: {selectedIndex: number}) => void\n /**\n * Parse an emoji match to a string that will be inserted into the editor.\n */\n parseMatch: ({match}: {match: TEmojiMatch}) => string | undefined\n}\n\n/**\n * @beta\n */\nexport function createEmojiPickerBehaviors<TEmojiMatch>(\n config: EmojiPickerBehaviorsConfig<TEmojiMatch>,\n) {\n const emojiPickerActor = createActor(createEmojiPickerMachine<TEmojiMatch>())\n emojiPickerActor.start()\n emojiPickerActor.subscribe((state) => {\n config.onMatchesChanged({matches: state.context.matches})\n config.onSelectedIndexChanged({selectedIndex: state.context.selectedIndex})\n })\n\n return [\n defineBehavior({\n on: 'insert.text',\n guard: ({snapshot, event}) => {\n if (event.text === ':') {\n return false\n }\n\n const isEmojiChar = emojiCharRegEx.test(event.text)\n\n if (!isEmojiChar) {\n return {emojis: []}\n }\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = `${textBefore}${event.text}`.match(\n incompleteEmojiRegEx,\n )?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return {emojis: []}\n }\n\n const emojis = config.matchEmojis({keyword: emojiKeyword})\n\n return {emojis}\n },\n actions: [\n (_, params) => [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({\n type: 'emojis found',\n matches: params.emojis,\n })\n },\n },\n ],\n ],\n }),\n defineBehavior({\n on: 'insert.text',\n guard: ({snapshot, event}) => {\n const isColon = event.text === ':'\n\n if (!isColon) {\n return false\n }\n\n const matches = emojiPickerActor.getSnapshot().context.matches\n const selectedIndex =\n emojiPickerActor.getSnapshot().context.selectedIndex\n const emoji = matches[selectedIndex]\n ? config.parseMatch({match: matches[selectedIndex]})\n : undefined\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = `${textBefore}:`.match(emojiRegEx)?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return false\n }\n\n const emojiStringLength = emojiKeyword.length + 2\n\n if (emoji) {\n return {\n focusBlock,\n emoji,\n emojiStringLength,\n textBeforeLength: textBefore.length + 1,\n }\n }\n\n return false\n },\n actions: [\n () => [\n {\n type: 'insert.text',\n text: ':',\n },\n ],\n (_, params) => [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'select'})\n },\n },\n {\n type: 'delete.text',\n anchor: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength - params.emojiStringLength,\n },\n focus: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength,\n },\n },\n {\n type: 'insert.text',\n text: params.emoji,\n },\n ],\n ],\n }),\n defineBehavior({\n on: 'keyboard.keydown',\n guard: ({snapshot, event}) => {\n const matches = emojiPickerActor.getSnapshot().context.matches\n\n if (matches.length === 0) {\n return false\n }\n\n const isEscape = isHotkey('Escape', event.originEvent)\n\n if (isEscape) {\n return {action: 'reset' as const}\n }\n\n const isEnter = isHotkey('Enter', event.originEvent)\n const isTab = isHotkey('Tab', event.originEvent)\n\n if (isEnter || isTab) {\n const selectedIndex =\n emojiPickerActor.getSnapshot().context.selectedIndex\n\n const emoji = matches[selectedIndex]\n ? config.parseMatch({match: matches[selectedIndex]})\n : undefined\n\n if (!emoji) {\n return false\n }\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = textBefore.match(incompleteEmojiRegEx)?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return false\n }\n\n const emojiStringLength = emojiKeyword.length + 1\n\n if (emoji) {\n return {\n action: 'select' as const,\n focusBlock,\n emoji,\n emojiStringLength,\n textBeforeLength: textBefore.length,\n }\n }\n\n return false\n }\n\n const isArrowDown = isHotkey('ArrowDown', event.originEvent)\n const isArrowUp = isHotkey('ArrowUp', event.originEvent)\n\n if (isArrowDown && matches.length > 0) {\n return {action: 'navigate down' as const}\n }\n\n if (isArrowUp && matches.length > 0) {\n return {action: 'navigate up' as const}\n }\n\n return false\n },\n actions: [\n (_, params) => {\n if (params.action === 'select') {\n return [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'select'})\n },\n },\n {\n type: 'delete.text',\n anchor: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength - params.emojiStringLength,\n },\n focus: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength,\n },\n },\n {\n type: 'insert.text',\n text: params.emoji,\n },\n ]\n }\n\n if (params.action === 'navigate up') {\n return [\n // If we are navigating then we want to hijack the key event and\n // turn it into a noop.\n {\n type: 'noop',\n },\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'navigate up'})\n },\n },\n ]\n }\n\n if (params.action === 'navigate down') {\n return [\n // If we are navigating then we want to hijack the key event and\n // turn it into a noop.\n {\n type: 'noop',\n },\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'navigate down'})\n },\n },\n ]\n }\n\n return [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'reset'})\n },\n },\n ]\n },\n ],\n }),\n defineBehavior({\n on: 'delete.backward',\n guard: ({snapshot, event}) => {\n if (event.unit !== 'character') {\n return false\n }\n\n const matches = emojiPickerActor.getSnapshot().context.matches\n\n if (matches.length === 0) {\n return false\n }\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = textBefore\n .slice(0, textBefore.length - 1)\n .match(incompleteEmojiRegEx)?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return {emojis: []}\n }\n\n const emojis = config.matchEmojis({keyword: emojiKeyword})\n\n return {emojis}\n },\n actions: [\n (_, params) => [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({\n type: 'emojis found',\n matches: params.emojis,\n })\n },\n },\n ],\n ],\n }),\n ]\n}\n\nfunction createEmojiPickerMachine<TEmojiSearchResult>() {\n return setup({\n types: {\n context: {} as {\n matches: Array<TEmojiSearchResult>\n selectedIndex: number\n },\n events: {} as\n | {\n type: 'emojis found'\n matches: Array<TEmojiSearchResult>\n }\n | {\n type: 'navigate down' | 'navigate up' | 'select' | 'reset'\n },\n },\n actions: {\n 'assign matches': assign({\n matches: ({event}) => {\n assertEvent(event, 'emojis found')\n return event.matches\n },\n }),\n 'reset matches': assign({\n matches: [],\n }),\n 'reset selected index': assign({\n selectedIndex: 0,\n }),\n 'increment selected index': assign({\n selectedIndex: ({context}) => {\n if (context.selectedIndex === context.matches.length - 1) {\n return 0\n }\n return context.selectedIndex + 1\n },\n }),\n 'decrement selected index': assign({\n selectedIndex: ({context}) => {\n if (context.selectedIndex === 0) {\n return context.matches.length - 1\n }\n return context.selectedIndex - 1\n },\n }),\n },\n guards: {\n 'no matches': ({context}) => context.matches.length === 0,\n },\n }).createMachine({\n id: 'emoji picker',\n context: {\n matches: [],\n selectedIndex: 0,\n },\n initial: 'idle',\n states: {\n 'idle': {\n on: {\n 'emojis found': {\n actions: 'assign matches',\n target: 'showing matches',\n },\n },\n },\n 'showing matches': {\n always: {\n guard: 'no matches',\n target: 'idle',\n },\n exit: ['reset selected index'],\n on: {\n 'emojis found': {\n actions: 'assign matches',\n },\n 'navigate down': {\n actions: 'increment selected index',\n },\n 'navigate up': {\n actions: 'decrement selected index',\n },\n 'reset': {\n target: 'idle',\n actions: ['reset selected index', 'reset matches'],\n },\n 'select': {\n target: 'idle',\n actions: ['reset selected index', 'reset matches'],\n },\n },\n },\n },\n })\n}\n","export function looksLikeUrl(text: string) {\n let looksLikeUrl = false\n try {\n const url = new URL(text)\n\n if (!sensibleProtocols.includes(url.protocol)) {\n return false\n }\n\n looksLikeUrl = true\n } catch {}\n return looksLikeUrl\n}\n\nconst sensibleProtocols = ['http:', 'https:', 'mailto:', 'tel:']\n","import type {EditorSchema} from '../editor/define-schema'\nimport {looksLikeUrl} from '../internal-utils/looks-like-url'\nimport * as selectors from '../selectors'\nimport {defineBehavior} from './behavior.types'\n\n/**\n * @beta\n */\nexport type LinkBehaviorsConfig = {\n linkAnnotation?: (context: {\n schema: EditorSchema\n url: string\n }) => {name: string; value: {[prop: string]: unknown}} | undefined\n}\n\n/**\n * @beta\n */\nexport function createLinkBehaviors(config: LinkBehaviorsConfig) {\n const pasteLinkOnSelection = defineBehavior({\n on: 'clipboard.paste',\n guard: ({snapshot, event}) => {\n const selectionCollapsed = selectors.isSelectionCollapsed(snapshot)\n const text = event.originEvent.dataTransfer.getData('text/plain')\n const url = looksLikeUrl(text) ? text : undefined\n const annotation =\n url !== undefined\n ? config.linkAnnotation?.({url, schema: snapshot.context.schema})\n : undefined\n\n if (annotation && !selectionCollapsed) {\n return {annotation}\n }\n\n return false\n },\n actions: [\n (_, {annotation}) => [\n {\n type: 'annotation.add',\n annotation,\n },\n ],\n ],\n })\n const pasteLinkAtCaret = defineBehavior({\n on: 'clipboard.paste',\n guard: ({snapshot, event}) => {\n const focusSpan = selectors.getFocusSpan(snapshot)\n const selectionCollapsed = selectors.isSelectionCollapsed(snapshot)\n\n if (!focusSpan || !selectionCollapsed) {\n return false\n }\n\n const text = event.originEvent.dataTransfer.getData('text/plain')\n const url = looksLikeUrl(text) ? text : undefined\n const annotation =\n url !== undefined\n ? config.linkAnnotation?.({url, schema: snapshot.context.schema})\n : undefined\n\n if (url && annotation && selectionCollapsed) {\n return {focusSpan, annotation, url}\n }\n\n return false\n },\n actions: [\n (_, {annotation, url}) => [\n {\n type: 'insert.span',\n text: url,\n annotations: [annotation],\n },\n ],\n ],\n })\n\n const linkBehaviors = [pasteLinkOnSelection, pasteLinkAtCaret]\n\n return linkBehaviors\n}\n"],"names":["createCodeEditorBehaviors","config","defineBehavior","on","guard","snapshot","event","isMoveUpShortcut","isHotkey","moveBlockUpShortcut","originEvent","firstBlock","selectors","selectedBlocks","blocksAbove","node","_key","paths","map","block","path","actions","_","at","type","isMoveDownShortcut","moveBlockDownShortcut","lastBlock","blocksBelow","length","reverse","emojiCharRegEx","incompleteEmojiRegEx","emojiRegEx","createEmojiPickerBehaviors","emojiPickerActor","createActor","createEmojiPickerMachine","start","subscribe","state","onMatchesChanged","matches","context","onSelectedIndexChanged","selectedIndex","text","test","emojis","focusBlock","emojiKeyword","match","undefined","matchEmojis","keyword","params","effect","send","getSnapshot","emoji","parseMatch","textBefore","emojiStringLength","textBeforeLength","anchor","offset","focus","action","isEnter","isTab","isArrowDown","isArrowUp","unit","slice","setup","types","events","assign","assertEvent","guards","no matches","createMachine","id","initial","states","target","always","exit","looksLikeUrl","url","URL","sensibleProtocols","includes","protocol","createLinkBehaviors","pasteLinkOnSelection","selectionCollapsed","dataTransfer","getData","annotation","linkAnnotation","schema","pasteLinkAtCaret","focusSpan","annotations"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/behaviors/behavior.code-editor.ts","../../src/behaviors/behavior.emoji-picker.ts","../../src/internal-utils/looks-like-url.ts","../../src/behaviors/behavior.links.ts"],"sourcesContent":["import {isHotkey} from '../internal-utils/is-hotkey'\nimport * as selectors from '../selectors'\nimport {defineBehavior} from './behavior.types.behavior'\n\n/**\n * @beta\n */\nexport type CodeEditorBehaviorsConfig = {\n moveBlockUpShortcut: string\n moveBlockDownShortcut: string\n}\n\n/**\n * @beta\n */\nexport function createCodeEditorBehaviors(config: CodeEditorBehaviorsConfig) {\n return [\n defineBehavior({\n on: 'keyboard.keydown',\n guard: ({snapshot, event}) => {\n const isMoveUpShortcut = isHotkey(\n config.moveBlockUpShortcut,\n event.originEvent,\n )\n const firstBlock = selectors.getFirstBlock(snapshot)\n const selectedBlocks = selectors.getSelectedBlocks(snapshot)\n const blocksAbove =\n firstBlock?.node._key !== selectedBlocks[0]?.node._key\n\n if (!isMoveUpShortcut || !blocksAbove) {\n return false\n }\n\n return {paths: selectedBlocks.map((block) => block.path)}\n },\n actions: [\n (_, {paths}) =>\n paths.map((at) => ({\n type: 'move.block up',\n at,\n })),\n ],\n }),\n defineBehavior({\n on: 'keyboard.keydown',\n guard: ({snapshot, event}) => {\n const isMoveDownShortcut = isHotkey(\n config.moveBlockDownShortcut,\n event.originEvent,\n )\n const lastBlock = selectors.getLastBlock(snapshot)\n const selectedBlocks = selectors.getSelectedBlocks(snapshot)\n const blocksBelow =\n lastBlock?.node._key !==\n selectedBlocks[selectedBlocks.length - 1]?.node._key\n\n if (!isMoveDownShortcut || !blocksBelow) {\n return false\n }\n\n return {paths: selectedBlocks.map((block) => block.path).reverse()}\n },\n actions: [\n (_, {paths}) =>\n paths.map((at) => ({\n type: 'move.block down',\n at,\n })),\n ],\n }),\n ]\n}\n","import {assertEvent, assign, createActor, setup} from 'xstate'\nimport {isHotkey} from '../internal-utils/is-hotkey'\nimport * as selectors from '../selectors'\nimport {defineBehavior} from './behavior.types.behavior'\n\nconst emojiCharRegEx = /^[a-zA-Z-_0-9]{1}$/\nconst incompleteEmojiRegEx = /:([a-zA-Z-_0-9]+)$/\nconst emojiRegEx = /:([a-zA-Z-_0-9]+):$/\n\n/**\n * @beta\n */\nexport type EmojiPickerBehaviorsConfig<TEmojiMatch> = {\n /**\n * Match emojis by keyword.\n */\n matchEmojis: ({keyword}: {keyword: string}) => Array<TEmojiMatch>\n onMatchesChanged: ({matches}: {matches: Array<TEmojiMatch>}) => void\n onSelectedIndexChanged: ({selectedIndex}: {selectedIndex: number}) => void\n /**\n * Parse an emoji match to a string that will be inserted into the editor.\n */\n parseMatch: ({match}: {match: TEmojiMatch}) => string | undefined\n}\n\n/**\n * @beta\n */\nexport function createEmojiPickerBehaviors<TEmojiMatch>(\n config: EmojiPickerBehaviorsConfig<TEmojiMatch>,\n) {\n const emojiPickerActor = createActor(createEmojiPickerMachine<TEmojiMatch>())\n emojiPickerActor.start()\n emojiPickerActor.subscribe((state) => {\n config.onMatchesChanged({matches: state.context.matches})\n config.onSelectedIndexChanged({selectedIndex: state.context.selectedIndex})\n })\n\n return [\n defineBehavior({\n on: 'insert.text',\n guard: ({snapshot, event}) => {\n if (event.text === ':') {\n return false\n }\n\n const isEmojiChar = emojiCharRegEx.test(event.text)\n\n if (!isEmojiChar) {\n return {emojis: []}\n }\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = `${textBefore}${event.text}`.match(\n incompleteEmojiRegEx,\n )?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return {emojis: []}\n }\n\n const emojis = config.matchEmojis({keyword: emojiKeyword})\n\n return {emojis}\n },\n actions: [\n (_, params) => [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({\n type: 'emojis found',\n matches: params.emojis,\n })\n },\n },\n ],\n ],\n }),\n defineBehavior({\n on: 'insert.text',\n guard: ({snapshot, event}) => {\n const isColon = event.text === ':'\n\n if (!isColon) {\n return false\n }\n\n const matches = emojiPickerActor.getSnapshot().context.matches\n const selectedIndex =\n emojiPickerActor.getSnapshot().context.selectedIndex\n const emoji = matches[selectedIndex]\n ? config.parseMatch({match: matches[selectedIndex]})\n : undefined\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = `${textBefore}:`.match(emojiRegEx)?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return false\n }\n\n const emojiStringLength = emojiKeyword.length + 2\n\n if (emoji) {\n return {\n focusBlock,\n emoji,\n emojiStringLength,\n textBeforeLength: textBefore.length + 1,\n }\n }\n\n return false\n },\n actions: [\n () => [\n {\n type: 'insert.text',\n text: ':',\n },\n ],\n (_, params) => [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'select'})\n },\n },\n {\n type: 'delete.text',\n anchor: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength - params.emojiStringLength,\n },\n focus: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength,\n },\n },\n {\n type: 'insert.text',\n text: params.emoji,\n },\n ],\n ],\n }),\n defineBehavior({\n on: 'keyboard.keydown',\n guard: ({snapshot, event}) => {\n const matches = emojiPickerActor.getSnapshot().context.matches\n\n if (matches.length === 0) {\n return false\n }\n\n const isEscape = isHotkey('Escape', event.originEvent)\n\n if (isEscape) {\n return {action: 'reset' as const}\n }\n\n const isEnter = isHotkey('Enter', event.originEvent)\n const isTab = isHotkey('Tab', event.originEvent)\n\n if (isEnter || isTab) {\n const selectedIndex =\n emojiPickerActor.getSnapshot().context.selectedIndex\n\n const emoji = matches[selectedIndex]\n ? config.parseMatch({match: matches[selectedIndex]})\n : undefined\n\n if (!emoji) {\n return false\n }\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = textBefore.match(incompleteEmojiRegEx)?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return false\n }\n\n const emojiStringLength = emojiKeyword.length + 1\n\n if (emoji) {\n return {\n action: 'select' as const,\n focusBlock,\n emoji,\n emojiStringLength,\n textBeforeLength: textBefore.length,\n }\n }\n\n return false\n }\n\n const isArrowDown = isHotkey('ArrowDown', event.originEvent)\n const isArrowUp = isHotkey('ArrowUp', event.originEvent)\n\n if (isArrowDown && matches.length > 0) {\n return {action: 'navigate down' as const}\n }\n\n if (isArrowUp && matches.length > 0) {\n return {action: 'navigate up' as const}\n }\n\n return false\n },\n actions: [\n (_, params) => {\n if (params.action === 'select') {\n return [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'select'})\n },\n },\n {\n type: 'delete.text',\n anchor: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength - params.emojiStringLength,\n },\n focus: {\n path: params.focusBlock.path,\n offset: params.textBeforeLength,\n },\n },\n {\n type: 'insert.text',\n text: params.emoji,\n },\n ]\n }\n\n if (params.action === 'navigate up') {\n return [\n // If we are navigating then we want to hijack the key event and\n // turn it into a noop.\n {\n type: 'noop',\n },\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'navigate up'})\n },\n },\n ]\n }\n\n if (params.action === 'navigate down') {\n return [\n // If we are navigating then we want to hijack the key event and\n // turn it into a noop.\n {\n type: 'noop',\n },\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'navigate down'})\n },\n },\n ]\n }\n\n return [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({type: 'reset'})\n },\n },\n ]\n },\n ],\n }),\n defineBehavior({\n on: 'delete.backward',\n guard: ({snapshot, event}) => {\n if (event.unit !== 'character') {\n return false\n }\n\n const matches = emojiPickerActor.getSnapshot().context.matches\n\n if (matches.length === 0) {\n return false\n }\n\n const focusBlock = selectors.getFocusTextBlock(snapshot)\n const textBefore = selectors.getBlockTextBefore(snapshot)\n const emojiKeyword = textBefore\n .slice(0, textBefore.length - 1)\n .match(incompleteEmojiRegEx)?.[1]\n\n if (!focusBlock || emojiKeyword === undefined) {\n return {emojis: []}\n }\n\n const emojis = config.matchEmojis({keyword: emojiKeyword})\n\n return {emojis}\n },\n actions: [\n (_, params) => [\n {\n type: 'effect',\n effect: () => {\n emojiPickerActor.send({\n type: 'emojis found',\n matches: params.emojis,\n })\n },\n },\n ],\n ],\n }),\n ]\n}\n\nfunction createEmojiPickerMachine<TEmojiSearchResult>() {\n return setup({\n types: {\n context: {} as {\n matches: Array<TEmojiSearchResult>\n selectedIndex: number\n },\n events: {} as\n | {\n type: 'emojis found'\n matches: Array<TEmojiSearchResult>\n }\n | {\n type: 'navigate down' | 'navigate up' | 'select' | 'reset'\n },\n },\n actions: {\n 'assign matches': assign({\n matches: ({event}) => {\n assertEvent(event, 'emojis found')\n return event.matches\n },\n }),\n 'reset matches': assign({\n matches: [],\n }),\n 'reset selected index': assign({\n selectedIndex: 0,\n }),\n 'increment selected index': assign({\n selectedIndex: ({context}) => {\n if (context.selectedIndex === context.matches.length - 1) {\n return 0\n }\n return context.selectedIndex + 1\n },\n }),\n 'decrement selected index': assign({\n selectedIndex: ({context}) => {\n if (context.selectedIndex === 0) {\n return context.matches.length - 1\n }\n return context.selectedIndex - 1\n },\n }),\n },\n guards: {\n 'no matches': ({context}) => context.matches.length === 0,\n },\n }).createMachine({\n id: 'emoji picker',\n context: {\n matches: [],\n selectedIndex: 0,\n },\n initial: 'idle',\n states: {\n 'idle': {\n on: {\n 'emojis found': {\n actions: 'assign matches',\n target: 'showing matches',\n },\n },\n },\n 'showing matches': {\n always: {\n guard: 'no matches',\n target: 'idle',\n },\n exit: ['reset selected index'],\n on: {\n 'emojis found': {\n actions: 'assign matches',\n },\n 'navigate down': {\n actions: 'increment selected index',\n },\n 'navigate up': {\n actions: 'decrement selected index',\n },\n 'reset': {\n target: 'idle',\n actions: ['reset selected index', 'reset matches'],\n },\n 'select': {\n target: 'idle',\n actions: ['reset selected index', 'reset matches'],\n },\n },\n },\n },\n })\n}\n","export function looksLikeUrl(text: string) {\n let looksLikeUrl = false\n try {\n const url = new URL(text)\n\n if (!sensibleProtocols.includes(url.protocol)) {\n return false\n }\n\n looksLikeUrl = true\n } catch {}\n return looksLikeUrl\n}\n\nconst sensibleProtocols = ['http:', 'https:', 'mailto:', 'tel:']\n","import type {EditorSchema} from '../editor/define-schema'\nimport {looksLikeUrl} from '../internal-utils/looks-like-url'\nimport * as selectors from '../selectors'\nimport {defineBehavior} from './behavior.types.behavior'\n\n/**\n * @beta\n */\nexport type LinkBehaviorsConfig = {\n linkAnnotation?: (context: {\n schema: EditorSchema\n url: string\n }) => {name: string; value: {[prop: string]: unknown}} | undefined\n}\n\n/**\n * @beta\n */\nexport function createLinkBehaviors(config: LinkBehaviorsConfig) {\n const pasteLinkOnSelection = defineBehavior({\n on: 'clipboard.paste',\n guard: ({snapshot, event}) => {\n const selectionCollapsed = selectors.isSelectionCollapsed(snapshot)\n const text = event.originEvent.dataTransfer.getData('text/plain')\n const url = looksLikeUrl(text) ? text : undefined\n const annotation =\n url !== undefined\n ? config.linkAnnotation?.({url, schema: snapshot.context.schema})\n : undefined\n\n if (annotation && !selectionCollapsed) {\n return {annotation}\n }\n\n return false\n },\n actions: [\n (_, {annotation}) => [\n {\n type: 'annotation.add',\n annotation,\n },\n ],\n ],\n })\n const pasteLinkAtCaret = defineBehavior({\n on: 'clipboard.paste',\n guard: ({snapshot, event}) => {\n const focusSpan = selectors.getFocusSpan(snapshot)\n const selectionCollapsed = selectors.isSelectionCollapsed(snapshot)\n\n if (!focusSpan || !selectionCollapsed) {\n return false\n }\n\n const text = event.originEvent.dataTransfer.getData('text/plain')\n const url = looksLikeUrl(text) ? text : undefined\n const annotation =\n url !== undefined\n ? config.linkAnnotation?.({url, schema: snapshot.context.schema})\n : undefined\n\n if (url && annotation && selectionCollapsed) {\n return {focusSpan, annotation, url}\n }\n\n return false\n },\n actions: [\n (_, {annotation, url}) => [\n {\n type: 'insert.span',\n text: url,\n annotations: [annotation],\n },\n ],\n ],\n })\n\n const linkBehaviors = [pasteLinkOnSelection, pasteLinkAtCaret]\n\n return linkBehaviors\n}\n"],"names":["createCodeEditorBehaviors","config","defineBehavior","on","guard","snapshot","event","isMoveUpShortcut","isHotkey","moveBlockUpShortcut","originEvent","firstBlock","selectors","selectedBlocks","blocksAbove","node","_key","paths","map","block","path","actions","_","at","type","isMoveDownShortcut","moveBlockDownShortcut","lastBlock","blocksBelow","length","reverse","emojiCharRegEx","incompleteEmojiRegEx","emojiRegEx","createEmojiPickerBehaviors","emojiPickerActor","createActor","createEmojiPickerMachine","start","subscribe","state","onMatchesChanged","matches","context","onSelectedIndexChanged","selectedIndex","text","test","emojis","focusBlock","emojiKeyword","match","undefined","matchEmojis","keyword","params","effect","send","getSnapshot","emoji","parseMatch","textBefore","emojiStringLength","textBeforeLength","anchor","offset","focus","action","isEnter","isTab","isArrowDown","isArrowUp","unit","slice","setup","types","events","assign","assertEvent","guards","no matches","createMachine","id","initial","states","target","always","exit","looksLikeUrl","url","URL","sensibleProtocols","includes","protocol","createLinkBehaviors","pasteLinkOnSelection","selectionCollapsed","dataTransfer","getData","annotation","linkAnnotation","schema","pasteLinkAtCaret","focusSpan","annotations"],"mappings":"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"}
|
package/lib/index.d.cts
CHANGED
|
@@ -41,7 +41,6 @@ import {Descendant, TextUnit} from 'slate'
|
|
|
41
41
|
import type {Operation} from 'slate'
|
|
42
42
|
import type {DOMNode} from 'slate-dom'
|
|
43
43
|
import type {ReactEditor} from 'slate-react'
|
|
44
|
-
import {TextInsertTextOptions} from 'slate/dist/interfaces/transforms/text'
|
|
45
44
|
import {
|
|
46
45
|
ActionArgs,
|
|
47
46
|
ActionFunction,
|
|
@@ -73,7 +72,7 @@ import {
|
|
|
73
72
|
import {
|
|
74
73
|
InputBehaviorEvent as InputBehaviorEvent_2,
|
|
75
74
|
InsertPlacement as InsertPlacement_2,
|
|
76
|
-
} from '../behaviors/behavior.types'
|
|
75
|
+
} from '../behaviors/behavior.types.event'
|
|
77
76
|
import {MIMEType as MIMEType_2} from '../internal-utils/mime-type'
|
|
78
77
|
import {PickFromUnion as PickFromUnion_2} from '../type-utils'
|
|
79
78
|
import {BlockWithOptionalKey as BlockWithOptionalKey_2} from '../types/block-with-optional-key'
|
|
@@ -875,7 +874,6 @@ declare const editorMachine: StateMachine<
|
|
|
875
874
|
| {
|
|
876
875
|
type: 'insert.text'
|
|
877
876
|
text: string
|
|
878
|
-
options?: TextInsertTextOptions
|
|
879
877
|
}
|
|
880
878
|
| {
|
|
881
879
|
type: 'list item.add'
|
|
@@ -1320,7 +1318,6 @@ declare const editorMachine: StateMachine<
|
|
|
1320
1318
|
| {
|
|
1321
1319
|
type: 'insert.text'
|
|
1322
1320
|
text: string
|
|
1323
|
-
options?: TextInsertTextOptions
|
|
1324
1321
|
}
|
|
1325
1322
|
| {
|
|
1326
1323
|
type: 'list item.add'
|
|
@@ -1654,7 +1651,6 @@ declare const editorMachine: StateMachine<
|
|
|
1654
1651
|
| {
|
|
1655
1652
|
type: 'insert.text'
|
|
1656
1653
|
text: string
|
|
1657
|
-
options?: TextInsertTextOptions
|
|
1658
1654
|
}
|
|
1659
1655
|
| {
|
|
1660
1656
|
type: 'list item.add'
|
|
@@ -2022,7 +2018,6 @@ declare const editorMachine: StateMachine<
|
|
|
2022
2018
|
| {
|
|
2023
2019
|
type: 'insert.text'
|
|
2024
2020
|
text: string
|
|
2025
|
-
options?: TextInsertTextOptions
|
|
2026
2021
|
}
|
|
2027
2022
|
| {
|
|
2028
2023
|
type: 'list item.add'
|
|
@@ -2418,7 +2413,6 @@ declare const editorMachine: StateMachine<
|
|
|
2418
2413
|
| {
|
|
2419
2414
|
type: 'insert.text'
|
|
2420
2415
|
text: string
|
|
2421
|
-
options?: TextInsertTextOptions
|
|
2422
2416
|
}
|
|
2423
2417
|
| {
|
|
2424
2418
|
type: 'list item.add'
|
|
@@ -2784,7 +2778,6 @@ declare const editorMachine: StateMachine<
|
|
|
2784
2778
|
| {
|
|
2785
2779
|
type: 'insert.text'
|
|
2786
2780
|
text: string
|
|
2787
|
-
options?: TextInsertTextOptions
|
|
2788
2781
|
}
|
|
2789
2782
|
| {
|
|
2790
2783
|
type: 'list item.add'
|
|
@@ -3086,7 +3079,6 @@ declare const editorMachine: StateMachine<
|
|
|
3086
3079
|
| {
|
|
3087
3080
|
type: 'insert.text'
|
|
3088
3081
|
text: string
|
|
3089
|
-
options?: TextInsertTextOptions
|
|
3090
3082
|
}
|
|
3091
3083
|
| {
|
|
3092
3084
|
type: 'list item.add'
|
|
@@ -3452,7 +3444,6 @@ declare const editorMachine: StateMachine<
|
|
|
3452
3444
|
| {
|
|
3453
3445
|
type: 'insert.text'
|
|
3454
3446
|
text: string
|
|
3455
|
-
options?: TextInsertTextOptions
|
|
3456
3447
|
}
|
|
3457
3448
|
| {
|
|
3458
3449
|
type: 'list item.add'
|
|
@@ -3757,7 +3748,6 @@ declare const editorMachine: StateMachine<
|
|
|
3757
3748
|
| {
|
|
3758
3749
|
type: 'insert.text'
|
|
3759
3750
|
text: string
|
|
3760
|
-
options?: TextInsertTextOptions
|
|
3761
3751
|
}
|
|
3762
3752
|
| {
|
|
3763
3753
|
type: 'list item.add'
|
|
@@ -4123,7 +4113,6 @@ declare const editorMachine: StateMachine<
|
|
|
4123
4113
|
| {
|
|
4124
4114
|
type: 'insert.text'
|
|
4125
4115
|
text: string
|
|
4126
|
-
options?: TextInsertTextOptions
|
|
4127
4116
|
}
|
|
4128
4117
|
| {
|
|
4129
4118
|
type: 'list item.add'
|
|
@@ -4427,7 +4416,6 @@ declare const editorMachine: StateMachine<
|
|
|
4427
4416
|
| {
|
|
4428
4417
|
type: 'insert.text'
|
|
4429
4418
|
text: string
|
|
4430
|
-
options?: TextInsertTextOptions
|
|
4431
4419
|
}
|
|
4432
4420
|
| {
|
|
4433
4421
|
type: 'list item.add'
|
|
@@ -4793,7 +4781,6 @@ declare const editorMachine: StateMachine<
|
|
|
4793
4781
|
| {
|
|
4794
4782
|
type: 'insert.text'
|
|
4795
4783
|
text: string
|
|
4796
|
-
options?: TextInsertTextOptions
|
|
4797
4784
|
}
|
|
4798
4785
|
| {
|
|
4799
4786
|
type: 'list item.add'
|
|
@@ -5096,7 +5083,6 @@ declare const editorMachine: StateMachine<
|
|
|
5096
5083
|
| {
|
|
5097
5084
|
type: 'insert.text'
|
|
5098
5085
|
text: string
|
|
5099
|
-
options?: TextInsertTextOptions
|
|
5100
5086
|
}
|
|
5101
5087
|
| {
|
|
5102
5088
|
type: 'list item.add'
|
|
@@ -5462,7 +5448,6 @@ declare const editorMachine: StateMachine<
|
|
|
5462
5448
|
| {
|
|
5463
5449
|
type: 'insert.text'
|
|
5464
5450
|
text: string
|
|
5465
|
-
options?: TextInsertTextOptions
|
|
5466
5451
|
}
|
|
5467
5452
|
| {
|
|
5468
5453
|
type: 'list item.add'
|
|
@@ -5766,7 +5751,6 @@ declare const editorMachine: StateMachine<
|
|
|
5766
5751
|
| {
|
|
5767
5752
|
type: 'insert.text'
|
|
5768
5753
|
text: string
|
|
5769
|
-
options?: TextInsertTextOptions
|
|
5770
5754
|
}
|
|
5771
5755
|
| {
|
|
5772
5756
|
type: 'list item.add'
|
|
@@ -6154,7 +6138,6 @@ declare const editorMachine: StateMachine<
|
|
|
6154
6138
|
| {
|
|
6155
6139
|
type: 'insert.text'
|
|
6156
6140
|
text: string
|
|
6157
|
-
options?: TextInsertTextOptions
|
|
6158
6141
|
}
|
|
6159
6142
|
| {
|
|
6160
6143
|
type: 'list item.add'
|
|
@@ -6520,7 +6503,6 @@ declare const editorMachine: StateMachine<
|
|
|
6520
6503
|
| {
|
|
6521
6504
|
type: 'insert.text'
|
|
6522
6505
|
text: string
|
|
6523
|
-
options?: TextInsertTextOptions
|
|
6524
6506
|
}
|
|
6525
6507
|
| {
|
|
6526
6508
|
type: 'list item.add'
|
|
@@ -6824,7 +6806,6 @@ declare const editorMachine: StateMachine<
|
|
|
6824
6806
|
| {
|
|
6825
6807
|
type: 'insert.text'
|
|
6826
6808
|
text: string
|
|
6827
|
-
options?: TextInsertTextOptions
|
|
6828
6809
|
}
|
|
6829
6810
|
| {
|
|
6830
6811
|
type: 'list item.add'
|
|
@@ -7190,7 +7171,6 @@ declare const editorMachine: StateMachine<
|
|
|
7190
7171
|
| {
|
|
7191
7172
|
type: 'insert.text'
|
|
7192
7173
|
text: string
|
|
7193
|
-
options?: TextInsertTextOptions
|
|
7194
7174
|
}
|
|
7195
7175
|
| {
|
|
7196
7176
|
type: 'list item.add'
|
|
@@ -7492,7 +7472,6 @@ declare const editorMachine: StateMachine<
|
|
|
7492
7472
|
| {
|
|
7493
7473
|
type: 'insert.text'
|
|
7494
7474
|
text: string
|
|
7495
|
-
options?: TextInsertTextOptions
|
|
7496
7475
|
}
|
|
7497
7476
|
| {
|
|
7498
7477
|
type: 'list item.add'
|
|
@@ -7858,7 +7837,6 @@ declare const editorMachine: StateMachine<
|
|
|
7858
7837
|
| {
|
|
7859
7838
|
type: 'insert.text'
|
|
7860
7839
|
text: string
|
|
7861
|
-
options?: TextInsertTextOptions
|
|
7862
7840
|
}
|
|
7863
7841
|
| {
|
|
7864
7842
|
type: 'list item.add'
|
|
@@ -8161,7 +8139,6 @@ declare const editorMachine: StateMachine<
|
|
|
8161
8139
|
| {
|
|
8162
8140
|
type: 'insert.text'
|
|
8163
8141
|
text: string
|
|
8164
|
-
options?: TextInsertTextOptions
|
|
8165
8142
|
}
|
|
8166
8143
|
| {
|
|
8167
8144
|
type: 'list item.add'
|
|
@@ -8527,7 +8504,6 @@ declare const editorMachine: StateMachine<
|
|
|
8527
8504
|
| {
|
|
8528
8505
|
type: 'insert.text'
|
|
8529
8506
|
text: string
|
|
8530
|
-
options?: TextInsertTextOptions
|
|
8531
8507
|
}
|
|
8532
8508
|
| {
|
|
8533
8509
|
type: 'list item.add'
|
|
@@ -8833,7 +8809,6 @@ declare const editorMachine: StateMachine<
|
|
|
8833
8809
|
| {
|
|
8834
8810
|
type: 'insert.text'
|
|
8835
8811
|
text: string
|
|
8836
|
-
options?: TextInsertTextOptions
|
|
8837
8812
|
}
|
|
8838
8813
|
| {
|
|
8839
8814
|
type: 'list item.add'
|
|
@@ -9199,7 +9174,6 @@ declare const editorMachine: StateMachine<
|
|
|
9199
9174
|
| {
|
|
9200
9175
|
type: 'insert.text'
|
|
9201
9176
|
text: string
|
|
9202
|
-
options?: TextInsertTextOptions
|
|
9203
9177
|
}
|
|
9204
9178
|
| {
|
|
9205
9179
|
type: 'list item.add'
|
|
@@ -9505,7 +9479,6 @@ declare const editorMachine: StateMachine<
|
|
|
9505
9479
|
| {
|
|
9506
9480
|
type: 'insert.text'
|
|
9507
9481
|
text: string
|
|
9508
|
-
options?: TextInsertTextOptions
|
|
9509
9482
|
}
|
|
9510
9483
|
| {
|
|
9511
9484
|
type: 'list item.add'
|
|
@@ -9898,7 +9871,6 @@ declare const editorMachine: StateMachine<
|
|
|
9898
9871
|
| {
|
|
9899
9872
|
type: 'insert.text'
|
|
9900
9873
|
text: string
|
|
9901
|
-
options?: TextInsertTextOptions
|
|
9902
9874
|
}
|
|
9903
9875
|
| {
|
|
9904
9876
|
type: 'list item.add'
|
|
@@ -10288,7 +10260,6 @@ declare const editorMachine: StateMachine<
|
|
|
10288
10260
|
| {
|
|
10289
10261
|
type: 'insert.text'
|
|
10290
10262
|
text: string
|
|
10291
|
-
options?: TextInsertTextOptions
|
|
10292
10263
|
}
|
|
10293
10264
|
| {
|
|
10294
10265
|
type: 'list item.add'
|
|
@@ -10847,7 +10818,6 @@ declare const editorMachine: StateMachine<
|
|
|
10847
10818
|
| {
|
|
10848
10819
|
type: 'insert.text'
|
|
10849
10820
|
text: string
|
|
10850
|
-
options?: TextInsertTextOptions
|
|
10851
10821
|
}
|
|
10852
10822
|
| {
|
|
10853
10823
|
type: 'list item.add'
|
|
@@ -11213,7 +11183,6 @@ declare const editorMachine: StateMachine<
|
|
|
11213
11183
|
| {
|
|
11214
11184
|
type: 'insert.text'
|
|
11215
11185
|
text: string
|
|
11216
|
-
options?: TextInsertTextOptions
|
|
11217
11186
|
}
|
|
11218
11187
|
| {
|
|
11219
11188
|
type: 'list item.add'
|
|
@@ -11522,7 +11491,6 @@ declare const editorMachine: StateMachine<
|
|
|
11522
11491
|
| {
|
|
11523
11492
|
type: 'insert.text'
|
|
11524
11493
|
text: string
|
|
11525
|
-
options?: TextInsertTextOptions
|
|
11526
11494
|
}
|
|
11527
11495
|
| {
|
|
11528
11496
|
type: 'list item.add'
|
|
@@ -11888,7 +11856,6 @@ declare const editorMachine: StateMachine<
|
|
|
11888
11856
|
| {
|
|
11889
11857
|
type: 'insert.text'
|
|
11890
11858
|
text: string
|
|
11891
|
-
options?: TextInsertTextOptions
|
|
11892
11859
|
}
|
|
11893
11860
|
| {
|
|
11894
11861
|
type: 'list item.add'
|
|
@@ -12190,7 +12157,6 @@ declare const editorMachine: StateMachine<
|
|
|
12190
12157
|
| {
|
|
12191
12158
|
type: 'insert.text'
|
|
12192
12159
|
text: string
|
|
12193
|
-
options?: TextInsertTextOptions
|
|
12194
12160
|
}
|
|
12195
12161
|
| {
|
|
12196
12162
|
type: 'list item.add'
|
|
@@ -12556,7 +12522,6 @@ declare const editorMachine: StateMachine<
|
|
|
12556
12522
|
| {
|
|
12557
12523
|
type: 'insert.text'
|
|
12558
12524
|
text: string
|
|
12559
|
-
options?: TextInsertTextOptions
|
|
12560
12525
|
}
|
|
12561
12526
|
| {
|
|
12562
12527
|
type: 'list item.add'
|
|
@@ -12858,7 +12823,6 @@ declare const editorMachine: StateMachine<
|
|
|
12858
12823
|
| {
|
|
12859
12824
|
type: 'insert.text'
|
|
12860
12825
|
text: string
|
|
12861
|
-
options?: TextInsertTextOptions
|
|
12862
12826
|
}
|
|
12863
12827
|
| {
|
|
12864
12828
|
type: 'list item.add'
|
|
@@ -13224,7 +13188,6 @@ declare const editorMachine: StateMachine<
|
|
|
13224
13188
|
| {
|
|
13225
13189
|
type: 'insert.text'
|
|
13226
13190
|
text: string
|
|
13227
|
-
options?: TextInsertTextOptions
|
|
13228
13191
|
}
|
|
13229
13192
|
| {
|
|
13230
13193
|
type: 'list item.add'
|
|
@@ -13543,7 +13506,6 @@ declare const editorMachine: StateMachine<
|
|
|
13543
13506
|
| {
|
|
13544
13507
|
type: 'insert.text'
|
|
13545
13508
|
text: string
|
|
13546
|
-
options?: TextInsertTextOptions
|
|
13547
13509
|
}
|
|
13548
13510
|
| {
|
|
13549
13511
|
type: 'list item.add'
|
|
@@ -13909,7 +13871,6 @@ declare const editorMachine: StateMachine<
|
|
|
13909
13871
|
| {
|
|
13910
13872
|
type: 'insert.text'
|
|
13911
13873
|
text: string
|
|
13912
|
-
options?: TextInsertTextOptions
|
|
13913
13874
|
}
|
|
13914
13875
|
| {
|
|
13915
13876
|
type: 'list item.add'
|
|
@@ -14225,7 +14186,6 @@ declare const editorMachine: StateMachine<
|
|
|
14225
14186
|
| {
|
|
14226
14187
|
type: 'insert.text'
|
|
14227
14188
|
text: string
|
|
14228
|
-
options?: TextInsertTextOptions
|
|
14229
14189
|
}
|
|
14230
14190
|
| {
|
|
14231
14191
|
type: 'list item.add'
|
|
@@ -14591,7 +14551,6 @@ declare const editorMachine: StateMachine<
|
|
|
14591
14551
|
| {
|
|
14592
14552
|
type: 'insert.text'
|
|
14593
14553
|
text: string
|
|
14594
|
-
options?: TextInsertTextOptions
|
|
14595
14554
|
}
|
|
14596
14555
|
| {
|
|
14597
14556
|
type: 'list item.add'
|
|
@@ -14893,7 +14852,6 @@ declare const editorMachine: StateMachine<
|
|
|
14893
14852
|
| {
|
|
14894
14853
|
type: 'insert.text'
|
|
14895
14854
|
text: string
|
|
14896
|
-
options?: TextInsertTextOptions
|
|
14897
14855
|
}
|
|
14898
14856
|
| {
|
|
14899
14857
|
type: 'list item.add'
|
|
@@ -15259,7 +15217,6 @@ declare const editorMachine: StateMachine<
|
|
|
15259
15217
|
| {
|
|
15260
15218
|
type: 'insert.text'
|
|
15261
15219
|
text: string
|
|
15262
|
-
options?: TextInsertTextOptions
|
|
15263
15220
|
}
|
|
15264
15221
|
| {
|
|
15265
15222
|
type: 'list item.add'
|
|
@@ -15564,7 +15521,6 @@ declare const editorMachine: StateMachine<
|
|
|
15564
15521
|
| {
|
|
15565
15522
|
type: 'insert.text'
|
|
15566
15523
|
text: string
|
|
15567
|
-
options?: TextInsertTextOptions
|
|
15568
15524
|
}
|
|
15569
15525
|
| {
|
|
15570
15526
|
type: 'list item.add'
|
|
@@ -15930,7 +15886,6 @@ declare const editorMachine: StateMachine<
|
|
|
15930
15886
|
| {
|
|
15931
15887
|
type: 'insert.text'
|
|
15932
15888
|
text: string
|
|
15933
|
-
options?: TextInsertTextOptions
|
|
15934
15889
|
}
|
|
15935
15890
|
| {
|
|
15936
15891
|
type: 'list item.add'
|
|
@@ -16136,7 +16091,6 @@ declare const editorMachine: StateMachine<
|
|
|
16136
16091
|
| {
|
|
16137
16092
|
type: 'insert.text'
|
|
16138
16093
|
text: string
|
|
16139
|
-
options?: TextInsertTextOptions
|
|
16140
16094
|
}
|
|
16141
16095
|
| ExternalSyntheticBehaviorEvent,
|
|
16142
16096
|
| {
|
|
@@ -16272,7 +16226,6 @@ declare const editorMachine: StateMachine<
|
|
|
16272
16226
|
| {
|
|
16273
16227
|
type: 'insert.text'
|
|
16274
16228
|
text: string
|
|
16275
|
-
options?: TextInsertTextOptions
|
|
16276
16229
|
}
|
|
16277
16230
|
| {
|
|
16278
16231
|
type: 'list item.add'
|
|
@@ -16638,7 +16591,6 @@ declare const editorMachine: StateMachine<
|
|
|
16638
16591
|
| {
|
|
16639
16592
|
type: 'insert.text'
|
|
16640
16593
|
text: string
|
|
16641
|
-
options?: TextInsertTextOptions
|
|
16642
16594
|
}
|
|
16643
16595
|
| {
|
|
16644
16596
|
type: 'list item.add'
|
|
@@ -16949,7 +16901,6 @@ declare const editorMachine: StateMachine<
|
|
|
16949
16901
|
| {
|
|
16950
16902
|
type: 'insert.text'
|
|
16951
16903
|
text: string
|
|
16952
|
-
options?: TextInsertTextOptions
|
|
16953
16904
|
}
|
|
16954
16905
|
| {
|
|
16955
16906
|
type: 'list item.add'
|
|
@@ -17315,7 +17266,6 @@ declare const editorMachine: StateMachine<
|
|
|
17315
17266
|
| {
|
|
17316
17267
|
type: 'insert.text'
|
|
17317
17268
|
text: string
|
|
17318
|
-
options?: TextInsertTextOptions
|
|
17319
17269
|
}
|
|
17320
17270
|
| {
|
|
17321
17271
|
type: 'list item.add'
|
|
@@ -17627,7 +17577,6 @@ declare const editorMachine: StateMachine<
|
|
|
17627
17577
|
| {
|
|
17628
17578
|
type: 'insert.text'
|
|
17629
17579
|
text: string
|
|
17630
|
-
options?: TextInsertTextOptions
|
|
17631
17580
|
}
|
|
17632
17581
|
| {
|
|
17633
17582
|
type: 'list item.add'
|
|
@@ -17993,7 +17942,6 @@ declare const editorMachine: StateMachine<
|
|
|
17993
17942
|
| {
|
|
17994
17943
|
type: 'insert.text'
|
|
17995
17944
|
text: string
|
|
17996
|
-
options?: TextInsertTextOptions
|
|
17997
17945
|
}
|
|
17998
17946
|
| {
|
|
17999
17947
|
type: 'list item.add'
|
|
@@ -18296,7 +18244,6 @@ declare const editorMachine: StateMachine<
|
|
|
18296
18244
|
| {
|
|
18297
18245
|
type: 'insert.text'
|
|
18298
18246
|
text: string
|
|
18299
|
-
options?: TextInsertTextOptions
|
|
18300
18247
|
}
|
|
18301
18248
|
| {
|
|
18302
18249
|
type: 'list item.add'
|
|
@@ -18662,7 +18609,6 @@ declare const editorMachine: StateMachine<
|
|
|
18662
18609
|
| {
|
|
18663
18610
|
type: 'insert.text'
|
|
18664
18611
|
text: string
|
|
18665
|
-
options?: TextInsertTextOptions
|
|
18666
18612
|
}
|
|
18667
18613
|
| {
|
|
18668
18614
|
type: 'list item.add'
|
|
@@ -18969,7 +18915,6 @@ declare const editorMachine: StateMachine<
|
|
|
18969
18915
|
| {
|
|
18970
18916
|
type: 'insert.text'
|
|
18971
18917
|
text: string
|
|
18972
|
-
options?: TextInsertTextOptions
|
|
18973
18918
|
}
|
|
18974
18919
|
| {
|
|
18975
18920
|
type: 'list item.add'
|
|
@@ -19335,7 +19280,6 @@ declare const editorMachine: StateMachine<
|
|
|
19335
19280
|
| {
|
|
19336
19281
|
type: 'insert.text'
|
|
19337
19282
|
text: string
|
|
19338
|
-
options?: TextInsertTextOptions
|
|
19339
19283
|
}
|
|
19340
19284
|
| {
|
|
19341
19285
|
type: 'list item.add'
|
|
@@ -19646,7 +19590,6 @@ declare const editorMachine: StateMachine<
|
|
|
19646
19590
|
| {
|
|
19647
19591
|
type: 'insert.text'
|
|
19648
19592
|
text: string
|
|
19649
|
-
options?: TextInsertTextOptions
|
|
19650
19593
|
}
|
|
19651
19594
|
| {
|
|
19652
19595
|
type: 'list item.add'
|
|
@@ -20012,7 +19955,6 @@ declare const editorMachine: StateMachine<
|
|
|
20012
19955
|
| {
|
|
20013
19956
|
type: 'insert.text'
|
|
20014
19957
|
text: string
|
|
20015
|
-
options?: TextInsertTextOptions
|
|
20016
19958
|
}
|
|
20017
19959
|
| {
|
|
20018
19960
|
type: 'list item.add'
|
|
@@ -20337,7 +20279,6 @@ declare const editorMachine: StateMachine<
|
|
|
20337
20279
|
| {
|
|
20338
20280
|
type: 'insert.text'
|
|
20339
20281
|
text: string
|
|
20340
|
-
options?: TextInsertTextOptions
|
|
20341
20282
|
}
|
|
20342
20283
|
| {
|
|
20343
20284
|
type: 'list item.add'
|
|
@@ -20734,7 +20675,6 @@ declare const editorMachine: StateMachine<
|
|
|
20734
20675
|
| {
|
|
20735
20676
|
type: 'insert.text'
|
|
20736
20677
|
text: string
|
|
20737
|
-
options?: TextInsertTextOptions
|
|
20738
20678
|
}
|
|
20739
20679
|
| {
|
|
20740
20680
|
type: 'list item.add'
|
|
@@ -21095,7 +21035,6 @@ declare const editorMachine: StateMachine<
|
|
|
21095
21035
|
| {
|
|
21096
21036
|
type: 'insert.text'
|
|
21097
21037
|
text: string
|
|
21098
|
-
options?: TextInsertTextOptions
|
|
21099
21038
|
}
|
|
21100
21039
|
| {
|
|
21101
21040
|
type: 'list item.add'
|
|
@@ -21473,7 +21412,6 @@ declare const editorMachine: StateMachine<
|
|
|
21473
21412
|
| {
|
|
21474
21413
|
type: 'insert.text'
|
|
21475
21414
|
text: string
|
|
21476
|
-
options?: TextInsertTextOptions
|
|
21477
21415
|
}
|
|
21478
21416
|
| {
|
|
21479
21417
|
type: 'list item.add'
|
|
@@ -21834,7 +21772,6 @@ declare const editorMachine: StateMachine<
|
|
|
21834
21772
|
| {
|
|
21835
21773
|
type: 'insert.text'
|
|
21836
21774
|
text: string
|
|
21837
|
-
options?: TextInsertTextOptions
|
|
21838
21775
|
}
|
|
21839
21776
|
| {
|
|
21840
21777
|
type: 'list item.add'
|
|
@@ -23313,6 +23250,9 @@ export declare type RenderStyleFunction = (
|
|
|
23313
23250
|
props: BlockStyleRenderProps,
|
|
23314
23251
|
) => JSX.Element
|
|
23315
23252
|
|
|
23253
|
+
/**************************************
|
|
23254
|
+
* Resolve behavior event
|
|
23255
|
+
**************************************/
|
|
23316
23256
|
declare type ResolveBehaviorEvent<
|
|
23317
23257
|
TBehaviorEventType extends
|
|
23318
23258
|
| '*'
|
|
@@ -23517,7 +23457,6 @@ declare type SyntheticBehaviorEvent =
|
|
|
23517
23457
|
| {
|
|
23518
23458
|
type: SyntheticBehaviorEventType<'insert', 'text'>
|
|
23519
23459
|
text: string
|
|
23520
|
-
options?: TextInsertTextOptions
|
|
23521
23460
|
}
|
|
23522
23461
|
| {
|
|
23523
23462
|
type: SyntheticBehaviorEventType<'list item', 'add'>
|
|
@@ -23613,9 +23552,6 @@ declare type SyntheticBehaviorEvent =
|
|
|
23613
23552
|
>
|
|
23614
23553
|
}
|
|
23615
23554
|
|
|
23616
|
-
/**************************************
|
|
23617
|
-
* Synthetic events
|
|
23618
|
-
**************************************/
|
|
23619
23555
|
declare type SyntheticBehaviorEventNamespace =
|
|
23620
23556
|
| 'annotation'
|
|
23621
23557
|
| 'block'
|
|
@@ -23633,6 +23569,9 @@ declare type SyntheticBehaviorEventNamespace =
|
|
|
23633
23569
|
| 'serialization'
|
|
23634
23570
|
| 'style'
|
|
23635
23571
|
|
|
23572
|
+
/**************************************
|
|
23573
|
+
* Synthetic events
|
|
23574
|
+
**************************************/
|
|
23636
23575
|
declare type SyntheticBehaviorEventType<
|
|
23637
23576
|
TNamespace extends SyntheticBehaviorEventNamespace,
|
|
23638
23577
|
TType extends string = '',
|