From 3abfc3db4f50146bc7aa4d0ce276005939b9fab8 Mon Sep 17 00:00:00 2001 From: Novout Date: Wed, 31 May 2023 17:47:25 -0300 Subject: [PATCH] feat(schema): initial prefix slash implementation --- packages/app/package.json | 32 +- packages/app/src/use/storage/storage.ts | 4 +- .../src/plugins/slash/slash-plugin.ts | 46 ++ .../src/plugins/slash/slash-provider.ts | 176 ++++++++ packages/plugin-schemas/src/set.ts | 58 ++- pnpm-lock.yaml | 398 +++++++++--------- 6 files changed, 483 insertions(+), 231 deletions(-) create mode 100644 packages/plugin-schemas/src/plugins/slash/slash-plugin.ts create mode 100644 packages/plugin-schemas/src/plugins/slash/slash-provider.ts diff --git a/packages/app/package.json b/packages/app/package.json index 5f9420ce..0a1f50e1 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -17,22 +17,22 @@ }, "dependencies": { "@headlessui/vue": "1.7.13", - "@milkdown/core": "7.2.1", - "@milkdown/ctx": "7.2.1", - "@milkdown/plugin-block": "7.2.1", - "@milkdown/plugin-clipboard": "7.2.1", - "@milkdown/plugin-cursor": "7.2.1", - "@milkdown/plugin-emoji": "7.2.1", - "@milkdown/plugin-history": "7.2.1", - "@milkdown/plugin-indent": "7.2.1", - "@milkdown/plugin-listener": "7.2.1", - "@milkdown/plugin-math": "7.2.1", - "@milkdown/plugin-tooltip": "7.2.1", - "@milkdown/plugin-trailing": "7.2.1", - "@milkdown/plugin-upload": "7.2.1", - "@milkdown/preset-commonmark": "7.2.1", - "@milkdown/prose": "7.2.1", - "@milkdown/transformer": "7.2.1", + "@milkdown/core": "7.2.2", + "@milkdown/ctx": "7.2.2", + "@milkdown/plugin-block": "7.2.2", + "@milkdown/plugin-clipboard": "7.2.2", + "@milkdown/plugin-cursor": "7.2.2", + "@milkdown/plugin-emoji": "7.2.2", + "@milkdown/plugin-history": "7.2.2", + "@milkdown/plugin-indent": "7.2.2", + "@milkdown/plugin-listener": "7.2.2", + "@milkdown/plugin-math": "7.2.2", + "@milkdown/plugin-tooltip": "7.2.2", + "@milkdown/plugin-trailing": "7.2.2", + "@milkdown/plugin-upload": "7.2.2", + "@milkdown/preset-commonmark": "7.2.2", + "@milkdown/prose": "7.2.2", + "@milkdown/transformer": "7.2.2", "@sentry/tracing": "7.14.2", "@sentry/vue": "7.14.2", "@supabase/supabase-js": "2.21.0", diff --git a/packages/app/src/use/storage/storage.ts b/packages/app/src/use/storage/storage.ts index e52d4939..f5a3b441 100644 --- a/packages/app/src/use/storage/storage.ts +++ b/packages/app/src/use/storage/storage.ts @@ -201,7 +201,7 @@ export const useStorage = () => { id: schemaAnnotationsId, type: 'default', name: t('editor.schemas.create.nameItem'), - prefix: '#', + prefix: '/', customIcon: '📁', folders: [] as ProjectStateSchemaFolder[], } as ProjectStateSchema @@ -238,7 +238,7 @@ export const useStorage = () => { id: schemaCharactersId, type: 'characters', name: t('editor.schemas.types.characters.target'), - prefix: '#', + prefix: '/', customIcon: '🐉', folders: [] as ProjectStateSchemaFolder[], } as ProjectStateSchema diff --git a/packages/plugin-schemas/src/plugins/slash/slash-plugin.ts b/packages/plugin-schemas/src/plugins/slash/slash-plugin.ts new file mode 100644 index 00000000..1c7febbd --- /dev/null +++ b/packages/plugin-schemas/src/plugins/slash/slash-plugin.ts @@ -0,0 +1,46 @@ +/* Copyright 2021, Milkdown by Mirone. */ +import type { SliceType } from '@milkdown/ctx' +import type { PluginSpec } from '@milkdown/prose/state' +import { Plugin, PluginKey } from '@milkdown/prose/state' +import type { $Ctx, $Prose } from '@milkdown/utils' +import { $ctx, $prose } from '@milkdown/utils' + +/// @internal +export type SlashPluginSpecId = `${Id}_SLASH_SPEC` + +/// @internal +export type SlashPlugin = [ + $Ctx, SlashPluginSpecId>, + $Prose +] & { + key: SliceType, SlashPluginSpecId> + pluginKey: $Prose['key'] +} + +/// Create a slash plugin with a unique id. +export const slashFactory = (id: Id) => { + const slashSpec = $ctx, SlashPluginSpecId>( + {}, + `${id}_SLASH_SPEC` + ) + const slashPlugin = $prose((ctx) => { + const spec = ctx.get(slashSpec.key) + return new Plugin({ + key: new PluginKey(`${id}_SLASH`), + ...spec, + }) + }) + const result = [slashSpec, slashPlugin] as SlashPlugin + result.key = slashSpec.key + result.pluginKey = slashPlugin.key + slashSpec.meta = { + package: '@milkdown/plugin-slash', + displayName: `Ctx|${id}`, + } + slashPlugin.meta = { + package: '@milkdown/plugin-slash', + displayName: `Prose|${id}`, + } + + return result +} diff --git a/packages/plugin-schemas/src/plugins/slash/slash-provider.ts b/packages/plugin-schemas/src/plugins/slash/slash-provider.ts new file mode 100644 index 00000000..00974f4c --- /dev/null +++ b/packages/plugin-schemas/src/plugins/slash/slash-provider.ts @@ -0,0 +1,176 @@ +// Wrapper of original milkdown-plugin-slash +/* Copyright 2021, Milkdown by Mirone. */ +import { findParentNode, posToDOMRect } from '@milkdown/prose' +import type { EditorState } from '@milkdown/prose/state' +import type { Node } from '@milkdown/prose/model' +import { TextSelection } from '@milkdown/prose/state' +import type { EditorView } from '@milkdown/prose/view' +import debounce from 'lodash.debounce' +import type { Instance, Props } from 'tippy.js' +import tippy from 'tippy.js' + +/// Options for slash provider. +export type SlashProviderOptions = { + /// The slash content. + content: HTMLElement + /// The options for creating [tippy.js](https://atomiks.github.io/tippyjs/) instance. + tippyOptions?: Partial + /// The debounce time for updating slash, 200ms by default. + debounce?: number + /// The function to determine whether the tooltip should be shown. + shouldShow?: (view: EditorView, prevState?: EditorState) => boolean + + prefix?: string[] + + marks?: { prefix: string; links: { name: string; id: string }[] }[] + + markActive?: { prefix: string; links: { name: string; id: string }[] } +} + +/// A provider for creating slash. +export class SlashProvider { + /// The root element of the slash. + element: HTMLElement + + /// @internal + #tippy: Instance | undefined + + /// @internal + #tippyOptions: Partial + + /// @internal + #debounce: number + + /// @internal + #marks: { prefix: string; links: { name: string; id: string }[] }[] + + /// @internal + #markActive?: { prefix: string; links: { name: string; id: string }[] } + + /// @internal + #shouldShow: (view: EditorView, prevState?: EditorState) => boolean + + constructor(options: SlashProviderOptions) { + this.element = options.content + this.#tippyOptions = options.tippyOptions ?? {} + this.#debounce = options.debounce ?? 100 + this.#shouldShow = options.shouldShow ?? this.#_shouldShow + this.#marks = options.marks ?? [] + this.#markActive = options.marks ? options.marks[0] : undefined + } + + /// @internal + #onUpdate = (view: EditorView, prevState?: EditorState): void => { + const { state, composing } = view + const { selection, doc } = state + const { ranges } = selection + const from = Math.min(...ranges.map((range) => range.$from.pos)) + const to = Math.max(...ranges.map((range) => range.$to.pos)) + const isSame = + prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection) + + this.#tippy ??= tippy(view.dom, { + trigger: 'manual', + placement: 'bottom-start', + interactive: true, + ...this.#tippyOptions, + content: this.element, + }) + + if (composing || isSame) return + + if (!this.#shouldShow(view, prevState)) { + this.hide() + return + } + + this.#tippy.setProps({ + getReferenceClientRect: () => posToDOMRect(view, from, to), + }) + + this.show() + } + + /// @internal + #_shouldShow(view: EditorView): boolean { + const currentTextBlockContent = this.getContent(view) + + if (!currentTextBlockContent) return false + + const mark = this.#marks.find( + (item) => currentTextBlockContent.at(-1) === item.prefix + ) + + if (mark) { + this.#markActive = this.#marks.find((mark) => mark.prefix === mark.prefix) + } + + return !!mark + } + + /// Update provider state by editor view. + update = (view: EditorView, prevState?: EditorState): void => { + const updater = debounce(this.#onUpdate, this.#debounce) + + updater(view, prevState) + } + + /// Get the content of the current text block. + /// Pass the `matchNode` function to determine whether the current node should be matched, by default, it will match the paragraph node. + getContent = ( + view: EditorView, + matchNode: (node: Node) => boolean = (node) => + node.type.name === 'paragraph' + ): string | undefined => { + const { selection } = view.state + const { empty } = selection + const isTextBlock = view.state.selection instanceof TextSelection + + const isSlashChildren = this.element.contains(document.activeElement) + + const notHasFocus = !view.hasFocus() && !isSlashChildren + + const isReadonly = !view.editable + + const paragraph = findParentNode(matchNode)(view.state.selection) + + const isNotInParagraph = !paragraph + + if (notHasFocus || isReadonly || !empty || !isTextBlock || isNotInParagraph) + return + + return paragraph.node.textContent + } + + /// Destroy the slash. + destroy = () => { + this.#tippy?.destroy() + } + + /// Show the slash. + show = () => { + this.element.innerHTML = + this.#markActive?.links.reduce((acc, item) => { + return (acc += `
${ + this.#markActive?.prefix ?? '' + } ${item.name}
`) + }, '
') ?? + '
' + this.element.innerHTML = this.element.innerHTML += '
' + this.element.onclick = (e) => { + this.hide() + } + + this.#tippy?.show() + } + + /// Hide the slash. + hide = () => { + this.#tippy?.hide() + } + + /// Get the [tippy.js](https://atomiks.github.io/tippyjs/) instance. + getInstance = () => this.#tippy +} diff --git a/packages/plugin-schemas/src/set.ts b/packages/plugin-schemas/src/set.ts index 5f3fae57..5ab56433 100644 --- a/packages/plugin-schemas/src/set.ts +++ b/packages/plugin-schemas/src/set.ts @@ -19,12 +19,13 @@ import { block } from '@milkdown/plugin-block' import { history } from '@milkdown/plugin-history' import { cursor } from '@milkdown/plugin-cursor' import { trailing } from '@milkdown/plugin-trailing' -import { emoji } from '@milkdown/plugin-emoji' import { upload } from '@milkdown/plugin-upload' import { commonmark } from '@milkdown/preset-commonmark' import { ID } from 'better-write-types' import { nextTick } from 'vue-demi' import { ProjectStateSchemaCreate } from 'better-write-types' +import { slashFactory } from './plugins/slash/slash-plugin' +import { SlashProvider } from './plugins/slash/slash-provider' export const PluginSchemasSet = ( emitter: PluginTypes.PluginEmitter, @@ -204,12 +205,57 @@ export const PluginSchemasSet = ( await nextTick + const slash = slashFactory('prefix') + const marks: { prefix: string; links: { name: string; id: string }[] }[] = + [] + + stores.PROJECT.schemas.forEach((schema: ProjectStateSchema) => { + const mark = { + prefix: schema.prefix, + links: [], + } as { prefix: string; links: { name: string; id: string }[] } + + schema.folders.forEach((folder) => { + folder.files.forEach((file) => { + mark.links.push({ + id: file.id, + name: `${folder.folderName}/${file.fileName}`, + }) + }) + }) + + marks.push(mark) + }) + const editor = await Editor.make() .config((ctx) => { const el = document.querySelector('#bw-wysiwyg') ctx.set(rootCtx, el) + const slashPluginView = (view: any) => { + const content = document.createElement('div') + + const provider = new SlashProvider({ + content, + marks, + }) + + return { + update: (updatedView: any, prevState: any) => { + provider.update(updatedView, prevState) + }, + destroy: () => { + provider.destroy() + content.remove() + }, + } + } + + ctx.set(slash.key, { + view: slashPluginView, + }) + if (Object.keys(file.milkdownData).length !== 0) { ctx.set(defaultValueCtx, { type: 'json', @@ -224,12 +270,12 @@ export const PluginSchemasSet = ( ) } - const fn = hooks.vueuse.core.useDebounceFn((doc: any) => { + const saveContentFn = hooks.vueuse.core.useDebounceFn((doc: any) => { setFile(file.id, doc.toJSON()) }, 300) - ctx.get(listenerCtx).updated((_, doc) => { - fn(doc) + ctx.get(listenerCtx).updated((ctx, doc) => { + saveContentFn(doc) }) ctx.update(editorViewOptionsCtx, (prev) => ({ @@ -245,8 +291,8 @@ export const PluginSchemasSet = ( .use(history) .use(cursor) .use(trailing) - .use(emoji) .use(upload) + //.use(slash) .create() const el = document.querySelector('#bw-wysiwyg') @@ -267,7 +313,7 @@ export const PluginSchemasSet = ( } On.externals().PluginSchemasStart(emitter, [ - (obj: any) => { + (obj) => { start(obj) }, () => {}, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e737a94d..cab9adde 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,53 +17,53 @@ importers: specifier: 1.7.13 version: 1.7.13(vue@3.3.4) '@milkdown/core': - specifier: 7.2.1 - version: 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/ctx': - specifier: 7.2.1 - version: 7.2.1 + specifier: 7.2.2 + version: 7.2.2 '@milkdown/plugin-block': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-clipboard': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-cursor': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-emoji': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2)(typescript@5.0.4) '@milkdown/plugin-history': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-indent': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-listener': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-math': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-tooltip': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-trailing': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/plugin-upload': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/preset-commonmark': - specifier: 7.2.1 - version: 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@milkdown/prose': - specifier: 7.2.1 - version: 7.2.1 + specifier: 7.2.2 + version: 7.2.2 '@milkdown/transformer': - specifier: 7.2.1 - version: 7.2.1(@milkdown/prose@7.2.1) + specifier: 7.2.2 + version: 7.2.2(@milkdown/prose@7.2.2) '@sentry/tracing': specifier: 7.14.2 version: 7.14.2 @@ -2450,6 +2450,11 @@ packages: engines: {node: '>= 14'} dev: true + /@intlify/shared@9.3.0-beta.18: + resolution: {integrity: sha512-Z+XZ1YQL/ZudauayZFNbW2PDf4ac7UBs3PCRsBRb2UcAgat3jN9IZYNDyluQBx4Gmko02kvqc8kC5uJmMlGhmQ==} + engines: {node: '>= 16'} + dev: true + /@intlify/vite-plugin-vue-i18n@6.0.1(vite@4.3.8)(vue-i18n@9.2.2): resolution: {integrity: sha512-FFVcxVU4bR9vdDLNbltM5mrhndnXMErO01i0RrpdyMegEt3Nu/YLoH0sFdjRun7/RY4vaEnhTnFvVf9uO0dQvg==} engines: {node: '>= 14.6'} @@ -2466,7 +2471,7 @@ packages: optional: true dependencies: '@intlify/bundle-utils': 6.0.0(vue-i18n@9.2.2) - '@intlify/shared': 9.3.0-beta.17 + '@intlify/shared': 9.3.0-beta.18 '@rollup/pluginutils': 4.2.1 debug: 4.3.4 fast-glob: 3.2.12 @@ -2519,17 +2524,14 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.18 - dev: true /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/source-map@0.3.3: resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} @@ -2540,7 +2542,6 @@ packages: /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} @@ -2550,7 +2551,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - dev: true /@lerna/child-process@6.6.2: resolution: {integrity: sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==} @@ -2656,17 +2656,17 @@ packages: - supports-color dev: true - /@milkdown/core@7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-NmyarMh11fHDAGZHPDpXk4CsgcqgLQeUTyiGnN+ivE+OL2L23n4B6tx4wpTcCiBr39TdjPrAFU0TJy4Mq2HmtA==} + /@milkdown/core@7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-+25r/uyYNVKQ4UfJZoiYuubJRV5F1jvvb8ZGulMQJ4OMdC+I+dXf9916S0P6bJApNa+RYraJ83pIFwJu6DOr7g==} peerDependencies: '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 '@milkdown/transformer': ^7.2.0 dependencies: - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/transformer': 7.2.1(@milkdown/prose@7.2.1) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/transformer': 7.2.2(@milkdown/prose@7.2.2) remark-parse: 10.0.2 remark-stringify: 10.0.3 tslib: 2.5.2 @@ -2675,31 +2675,31 @@ packages: - supports-color dev: false - /@milkdown/ctx@7.2.1: - resolution: {integrity: sha512-TlTLV3c8BemKJ3/t0Dfy82ZZstYR7arbKk40olsZ02h5cfFd1xTcfyCJgeC2ytICdGUADVlixrdU0h9dzFR0nQ==} + /@milkdown/ctx@7.2.2: + resolution: {integrity: sha512-e+QeiKSvKYw7UPfoIj3MO9x339OHNxhj1Wbe0tYDFU9f0HDH5dmGgSibuAepcyxYDPZ/MgapK140H/OZqCRN2w==} dependencies: - '@milkdown/exception': 7.2.1 + '@milkdown/exception': 7.2.2 tslib: 2.5.2 dev: false - /@milkdown/exception@7.2.1: - resolution: {integrity: sha512-xHdCfaM587+jT5kbt6+6vgZ+P5gn8oKfTpRxcSQ8g9y9W9UMgclRxEfPOYmv7xlstTuOJr+1B1n4WMwiavwv2A==} + /@milkdown/exception@7.2.2: + resolution: {integrity: sha512-l6ChgC1rQTSwkSxO2R3UzhvR1YkE5mapZ+4ofmIyWJi5NUpXyTDuEIN+i46eT2/tIHSDpIJ67p07zGdPncBN8w==} dependencies: tslib: 2.5.2 dev: false - /@milkdown/plugin-block@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-M6Vne2G/8I/L4kA61Szt/emoAODnXqxxXcd383L97xPWk+ZHTK6yhiouR9v6aDvVcwSBsDthQqm93rQXmWzN0A==} + /@milkdown/plugin-block@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-m8sVoCyzUmXL+Lnqfcc5Xdu/1crQkSVY6vtl3EnB84B2Nrm6JrJtk4tnKqUuoS7A7sc+mQQwNxecEdNCUcvXRg==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@types/lodash.debounce': 4.0.7 lodash.debounce: 4.0.8 tippy.js: 6.3.7 @@ -2708,103 +2708,109 @@ packages: - '@milkdown/transformer' dev: false - /@milkdown/plugin-clipboard@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-xmIQFMP8uC7pDip+gSnXOusqWamw3/str+PStjlmhEfGp2Q9c4NyWpxOikeVXzkx2H0CuF9XXmmva/uXauecCg==} + /@milkdown/plugin-clipboard@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-E9BjH1BYTQwGRJZL+PMmON0JGqUeNej+rc4KwxgvzLZtDge4rz54+HquCGVFYvdpno7ToCmk1kx4cORsSNW/BA==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) tslib: 2.5.2 transitivePeerDependencies: - '@milkdown/ctx' - '@milkdown/transformer' dev: false - /@milkdown/plugin-cursor@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-i8Ap2/siKCM2AAwZjD8d8WzpvxQOegOW1mzk4bWQqi8C7yUPr4q0m2lfrDpsIEnOzB5+bbc6i2xrD6BcJHpb5A==} + /@milkdown/plugin-cursor@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-r5m/MGx6zeJkm3MK9oYjezka9QsIFOynyO9N3DxH0VCsF7Nyj3NysA0ah2xB4/ARwJ4FCEusb3nfaeq5L73fuw==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) tslib: 2.5.2 transitivePeerDependencies: - '@milkdown/transformer' dev: false - /@milkdown/plugin-emoji@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-ZDkQ6gDDBchTQiTRy7c46s7A9NXplYxAZ8FSe/gPfHIEhgGNL9BqFivDxUQzyhezvN1QcL4UyfJB8RYo2IZg2w==} + /@milkdown/plugin-emoji@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2)(typescript@5.0.4): + resolution: {integrity: sha512-hMSqXV1LeTKmHAYunmWwS/cKMT5Iq+xJ8opXe+RgdUDGz/gYiMvXdGfLsB0osyhSaugLEg0aJwkRcRobDAMF+Q==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 '@milkdown/transformer': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/transformer': 7.2.1(@milkdown/prose@7.2.1) - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/transformer': 7.2.2(@milkdown/prose@7.2.2) + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@types/node-emoji': 1.8.2 emoji-regex: 10.2.1 - node-emoji: 1.11.0 + node-emoji: 2.0.2(typescript@5.0.4) remark-emoji: 3.1.1 tslib: 2.5.2 twemoji: 14.0.2 unist-util-visit: 4.1.2 + transitivePeerDependencies: + - '@swc/core' + - postcss + - supports-color + - ts-node + - typescript dev: false - /@milkdown/plugin-history@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-xtoqLBzBNfB5cSaRV3eRc2Lra9YqeXpO8MZJeo/HQzaMts/wjhaoAf01T6XqXYsKLQCpUsS5ZbknSUCdr57LhQ==} + /@milkdown/plugin-history@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-ETy88ennhQ1bMtwrjDULwcguB3Hzb+RRfghMhSEQQcftWSarhnj/PQlYqrTkU1vcP69Fnn7PGLaRtdymIkLcmw==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) tslib: 2.5.2 transitivePeerDependencies: - '@milkdown/transformer' dev: false - /@milkdown/plugin-indent@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-NyIjrYY0xW3VTa9tLA8oRu+4eMf1+kvKCSVT7fOrTjDmJceVZEfvguIYzSuTiN/yh1c6rSzJBbZI6uFmF53W2g==} + /@milkdown/plugin-indent@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-DDF+7OC+q3WfwQ64BgunIKruf5qFXQm2dd+EFJ9kDBUX5CtUF/KRH3uHWNHZ2Hor0qBrekkoHhbcKEISx/xMjg==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) tslib: 2.5.2 transitivePeerDependencies: - '@milkdown/transformer' dev: false - /@milkdown/plugin-listener@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-n9cywhaDzGHRQMSYU1EV/7hxg+qlszYFgNcrcDxUy69FGEm2f+XobQ4fhZNj60vSWtTLYe6p2lX7ZWgU18T0QQ==} + /@milkdown/plugin-listener@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-WMCK513cy9smK84R0l6gJXrjYJtZnXfXpUus/rlVEtAJgGgkHgZNMibYZi7kT6w6OBk2TUSlsJWn6dZ9uS274g==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@types/lodash.debounce': 4.0.7 lodash.debounce: 4.0.8 tslib: 2.5.2 @@ -2812,18 +2818,18 @@ packages: - '@milkdown/transformer' dev: false - /@milkdown/plugin-math@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-SxJ4r2DUkyK8ttIY/BG/WfOxhTIqzbJtG+yxVuWH8yw9+LOWFPS2eHGG8ym1F6/rRSs4LQ4Lt7vB8qIV8ZY9qg==} + /@milkdown/plugin-math@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-uv3McUCM7XpFsSeXBYe1hJGh2rouGYSfGAGiS+qbWN42HB24XoythC/n5v2v5iUyanIepUv2SabPRt9N4pGV9g==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@types/katex': 0.16.0 katex: 0.16.7 remark-math: 5.1.1 @@ -2832,18 +2838,18 @@ packages: - '@milkdown/transformer' dev: false - /@milkdown/plugin-tooltip@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-JUcZ23PHFY+arWRRsX/YgQRcIEwQZ6UpgxAAy5fBpLiEa7xcpPeOKviEYExIQfYdUcd2yBKm3xcsC3URv1CEdA==} + /@milkdown/plugin-tooltip@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-QigRAiZi7BnbA02cOj8Lau4DjEBoMjhdz8pvMnjVZWr4HWJWUhZn8frze/AkVMCevBQIjm1nVwjNp4LNWln4jg==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@types/lodash.debounce': 4.0.7 lodash.debounce: 4.0.8 tippy.js: 6.3.7 @@ -2852,63 +2858,63 @@ packages: - '@milkdown/transformer' dev: false - /@milkdown/plugin-trailing@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-3RX4hMvz6t4L7sPxxDVfzK29rRCJn4CrOxuvAx7yLEp1A60f0j5qkDN421Xxu8N4XkDPKSC61i9zMPbL9AzmHQ==} + /@milkdown/plugin-trailing@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-+zz/QdUoaA3XkgyB6AHjZ0FnFy2Twogg07JWOt1zAMDb7CvltgYzTNfEeg5DIkV0ys31EQL3f4E5oHSYPcVdTg==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) tslib: 2.5.2 transitivePeerDependencies: - '@milkdown/transformer' dev: false - /@milkdown/plugin-upload@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-9P1Qgu+M7s1g3OMbziN9F0uGZBDwKeywil0QWTLZShTqbukKBrRsx+ZQ43BDqVco+v1UA3ZMKkgmVilfqbO01A==} + /@milkdown/plugin-upload@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-hPxViO8FpCzGvjv/3+ZR79VoqQSsePx6BWYkmPN3TwMF+1u6DvXFMOfSQbgr4LxrKEsTNdnAjsAoS+8BtHQQuQ==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) tslib: 2.5.2 transitivePeerDependencies: - '@milkdown/transformer' dev: false - /@milkdown/preset-commonmark@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-u5fwpT92pKF3KkO/XkPUX9jC2oEyec2rI9Vrp1wNHkMYZgVznkueO73VUEeeBGobe4QVgZB7P7E//p/r+w5Exw==} + /@milkdown/preset-commonmark@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-2Se6IENDb9Pt/U8ax25WCmEucbNh1woJgSc8DUEYj8QErpZnB0mG5UNDKq5pKv169wymp7LNPNSH582v5ihhYA==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 '@milkdown/transformer': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/transformer': 7.2.1(@milkdown/prose@7.2.1) - '@milkdown/utils': 7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/transformer': 7.2.2(@milkdown/prose@7.2.2) + '@milkdown/utils': 7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) '@sindresorhus/slugify': 2.2.1 remark-inline-links: 6.0.1 tslib: 2.5.2 unist-util-visit: 4.1.2 dev: false - /@milkdown/prose@7.2.1: - resolution: {integrity: sha512-Z27FIoodWNU/34o62sDURB3heLSqyoxI8apRjGee/7FpwDr5RlCoQ+Iy+n+ENesFUhyhlzFu4QUO12mSdvwpog==} + /@milkdown/prose@7.2.2: + resolution: {integrity: sha512-q2l3whU4Kq8x+y8OLarj/X+2XUVwiyWeaqbuBaIuIILDZjIlXAe/HqKXW+bhv3dM1X0J2b1p0CuBo6wKmb1hkw==} dependencies: - '@milkdown/exception': 7.2.1 + '@milkdown/exception': 7.2.2 prosemirror-changeset: 2.2.1 prosemirror-commands: 1.5.2 prosemirror-dropcursor: 1.8.1 @@ -2925,13 +2931,13 @@ packages: tslib: 2.5.2 dev: false - /@milkdown/transformer@7.2.1(@milkdown/prose@7.2.1): - resolution: {integrity: sha512-xC581lre5JnNVPvdybkzF7tUoHZF7DGV7ZaugHgBe1TX/Lz+txV/Xk8p5zd3vVroCYCFOTAHivt3xrPf6jshKA==} + /@milkdown/transformer@7.2.2(@milkdown/prose@7.2.2): + resolution: {integrity: sha512-FA8a8Mjer0/PyrpGTdzs02wiLknASGjFy5jGx4shSYholP8muusvCpcvzhF1ihfzVGtBQJDKagDm7VFxeAwlNw==} peerDependencies: '@milkdown/prose': ^7.2.0 dependencies: - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 '@types/mdast': 3.0.11 '@types/unist': 2.0.6 remark: 14.0.3 @@ -2943,19 +2949,19 @@ packages: - supports-color dev: false - /@milkdown/utils@7.2.1(@milkdown/core@7.2.1)(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1): - resolution: {integrity: sha512-X1PioEtMYLExh5q3u+gD+9axHUbce76IDbr0fC8q02LnJIxfI6MGUdajcXAB3Ny2aZEDzkd7w+O7Q5Eo7DMHng==} + /@milkdown/utils@7.2.2(@milkdown/core@7.2.2)(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2): + resolution: {integrity: sha512-5WJJv9ZUHkG3OtudRjTEXegGq3CzZtz1//HcuX4MwdzLd5dLPl++0pw8L+c48Hh5ARCUUDyV5RKDJtLPEsTwJA==} peerDependencies: '@milkdown/core': ^7.2.0 '@milkdown/ctx': ^7.2.0 '@milkdown/prose': ^7.2.0 '@milkdown/transformer': ^7.2.0 dependencies: - '@milkdown/core': 7.2.1(@milkdown/ctx@7.2.1)(@milkdown/prose@7.2.1)(@milkdown/transformer@7.2.1) - '@milkdown/ctx': 7.2.1 - '@milkdown/exception': 7.2.1 - '@milkdown/prose': 7.2.1 - '@milkdown/transformer': 7.2.1(@milkdown/prose@7.2.1) + '@milkdown/core': 7.2.2(@milkdown/ctx@7.2.2)(@milkdown/prose@7.2.2)(@milkdown/transformer@7.2.2) + '@milkdown/ctx': 7.2.2 + '@milkdown/exception': 7.2.2 + '@milkdown/prose': 7.2.2 + '@milkdown/transformer': 7.2.2(@milkdown/prose@7.2.2) nanoid: 4.0.2 tslib: 2.5.2 dev: false @@ -2966,12 +2972,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -2979,7 +2983,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - dev: true /@npmcli/arborist@6.2.3: resolution: {integrity: sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA==} @@ -3640,6 +3643,11 @@ packages: engines: {node: '>=10'} dev: false + /@sindresorhus/is@5.3.0: + resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} + engines: {node: '>=14.16'} + dev: false + /@sindresorhus/slugify@2.2.1: resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} engines: {node: '>=12'} @@ -4767,7 +4775,6 @@ packages: /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -4829,7 +4836,6 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -5184,7 +5190,6 @@ packages: dependencies: esbuild: 0.17.19 load-tsconfig: 0.2.5 - dev: true /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -5220,7 +5225,6 @@ packages: /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true /cacache@16.1.3: resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} @@ -5335,6 +5339,11 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /char-regex@2.0.1: + resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} + engines: {node: '>=12.20'} + dev: false + /character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: false @@ -5513,7 +5522,6 @@ packages: /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - dev: true /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} @@ -5741,7 +5749,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true /crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} @@ -5989,7 +5996,6 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: true /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -6126,6 +6132,10 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + dev: false + /emoticon@4.0.1: resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} dev: false @@ -6649,7 +6659,6 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true /ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} @@ -6683,7 +6692,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true /fast-glob@3.2.7: resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} @@ -6707,7 +6715,6 @@ packages: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - dev: true /fflate@0.6.10: resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==} @@ -6947,7 +6954,6 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} @@ -7069,7 +7075,6 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -7172,7 +7177,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -7235,7 +7239,6 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 - dev: true /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -7512,7 +7515,6 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true /humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -7560,7 +7562,6 @@ packages: /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - dev: true /immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} @@ -7602,7 +7603,6 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -7894,7 +7894,6 @@ packages: /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -7955,7 +7954,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} @@ -8025,7 +8023,6 @@ packages: /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - dev: true /js-sdsl@4.4.0: resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} @@ -8340,11 +8337,9 @@ packages: /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - dev: true /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /lines-and-columns@2.0.3: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} @@ -8374,7 +8369,6 @@ packages: /load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true /local-pkg@0.4.3: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} @@ -8424,7 +8418,6 @@ packages: /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -8693,12 +8686,10 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /micromark-core-commonmark@1.0.6: resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} @@ -8894,7 +8885,6 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /miller-rabin@4.0.1: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} @@ -8923,7 +8913,6 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -9163,7 +9152,6 @@ packages: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - dev: true /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} @@ -9207,6 +9195,22 @@ packages: lodash: 4.17.21 dev: false + /node-emoji@2.0.2(typescript@5.0.4): + resolution: {integrity: sha512-lBSle9M8OgTXiMytBA3Sj5zaqIo9QHxgSbkT+vVw1QNKE8B0cvPV5iYWLS+yPbRoVICQmX9yo2b65C1m6QCLQQ==} + dependencies: + '@sindresorhus/is': 5.3.0 + char-regex: 2.0.1 + emojilib: 2.4.0 + skin-tone: 3.0.0 + tsup: 6.7.0(typescript@5.0.4) + transitivePeerDependencies: + - '@swc/core' + - postcss + - supports-color + - ts-node + - typescript + dev: false + /node-fetch-native@0.1.8: resolution: {integrity: sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==} dev: false @@ -9491,7 +9495,6 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 - dev: true /npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} @@ -9587,7 +9590,6 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -9630,14 +9632,12 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: true /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 - dev: true /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} @@ -9934,12 +9934,10 @@ packages: /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -9962,7 +9960,6 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - dev: true /pathe@0.3.9: resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==} @@ -10047,7 +10044,6 @@ packages: /pirates@4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} - dev: true /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -10105,7 +10101,6 @@ packages: dependencies: lilconfig: 2.1.0 yaml: 1.10.2 - dev: true /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} @@ -10365,7 +10360,6 @@ packages: /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - dev: true /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -10392,7 +10386,6 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -10691,7 +10684,6 @@ packages: /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true /resolve@1.1.7: resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} @@ -10725,7 +10717,6 @@ packages: /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -10789,7 +10780,6 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -10932,12 +10922,10 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -10953,7 +10941,6 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true /signal-exit@4.0.2: resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} @@ -10972,10 +10959,16 @@ packages: - supports-color dev: true + /skin-tone@3.0.0: + resolution: {integrity: sha512-+HTlUiUJr3SjmOiKV3dPeGWcl7dgqv09OgFWJxD26vOmYss7DWKCl6sqHEjM1hddov/vXQN2bOKIMr0DMUJVSQ==} + engines: {node: '>=12'} + dependencies: + unicode-emoji-modifier-base: 1.0.0 + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} @@ -11059,7 +11052,6 @@ packages: engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 - dev: true /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} @@ -11283,7 +11275,6 @@ packages: /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - dev: true /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -11332,7 +11323,6 @@ packages: mz: 2.7.0 pirates: 4.0.5 ts-interface-checker: 0.1.13 - dev: true /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -11471,13 +11461,11 @@ packages: engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 - dev: true /thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 - dev: true /three@0.152.2: resolution: {integrity: sha512-Ff9zIpSfkkqcBcpdiFo2f35vA9ZucO+N8TNacJOqaEE6DrB0eufItVMib8bK8Pcju/ZNT6a7blE1GhTpkdsILw==} @@ -11574,12 +11562,10 @@ packages: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.3.0 - dev: true /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - dev: true /treeverse@3.0.0: resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==} @@ -11597,7 +11583,6 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} @@ -11652,7 +11637,6 @@ packages: transitivePeerDependencies: - supports-color - ts-node - dev: true /tsutils@3.21.0(typescript@5.0.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -11826,6 +11810,11 @@ packages: engines: {node: '>=4'} dev: true + /unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + dev: false + /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} @@ -12660,7 +12649,6 @@ packages: /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} @@ -12716,7 +12704,6 @@ packages: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 - dev: true /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -12746,7 +12733,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@3.0.1: resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} @@ -12950,7 +12936,6 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} @@ -13052,7 +13037,6 @@ packages: /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - dev: true /yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==}