@milkdown/plugin-tooltip 5.3.1 → 5.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/lib/index.d.ts +1 -21
  2. package/lib/index.es.js +8 -3
  3. package/lib/index.es.js.map +1 -1
  4. package/lib/{button-manager → src/button-manager}/calc-button-pos.d.ts +0 -0
  5. package/lib/src/button-manager/calc-button-pos.d.ts.map +1 -0
  6. package/lib/{button-manager → src/button-manager}/create-tooltip.d.ts +0 -0
  7. package/lib/src/button-manager/create-tooltip.d.ts.map +1 -0
  8. package/lib/{button-manager → src/button-manager}/filter-button.d.ts +0 -0
  9. package/lib/src/button-manager/filter-button.d.ts.map +1 -0
  10. package/lib/{button-manager → src/button-manager}/index.d.ts +0 -0
  11. package/lib/src/button-manager/index.d.ts.map +1 -0
  12. package/lib/{button-manager → src/button-manager}/no-active.d.ts +0 -0
  13. package/lib/src/button-manager/no-active.d.ts.map +1 -0
  14. package/lib/src/button-manager/style.d.ts +3 -0
  15. package/lib/src/button-manager/style.d.ts.map +1 -0
  16. package/lib/src/index.d.ts +21 -0
  17. package/lib/src/index.d.ts.map +1 -0
  18. package/lib/{input-manager → src/input-manager}/calc-input-pos.d.ts +0 -0
  19. package/lib/src/input-manager/calc-input-pos.d.ts.map +1 -0
  20. package/lib/{input-manager → src/input-manager}/create-input.d.ts +0 -0
  21. package/lib/src/input-manager/create-input.d.ts.map +1 -0
  22. package/lib/{input-manager → src/input-manager}/filter-input.d.ts +0 -0
  23. package/lib/src/input-manager/filter-input.d.ts.map +1 -0
  24. package/lib/{input-manager → src/input-manager}/index.d.ts +0 -0
  25. package/lib/src/input-manager/index.d.ts.map +1 -0
  26. package/lib/src/input-manager/style.d.ts +3 -0
  27. package/lib/src/input-manager/style.d.ts.map +1 -0
  28. package/lib/{item.d.ts → src/item.d.ts} +0 -0
  29. package/lib/src/item.d.ts.map +1 -0
  30. package/lib/{selection-marks-tooltip.d.ts → src/selection-marks-tooltip.d.ts} +0 -0
  31. package/lib/src/selection-marks-tooltip.d.ts.map +1 -0
  32. package/lib/{utility → src/utility}/element.d.ts +0 -0
  33. package/lib/src/utility/element.d.ts.map +1 -0
  34. package/lib/{utility → src/utility}/index.d.ts +0 -0
  35. package/lib/src/utility/index.d.ts.map +1 -0
  36. package/lib/{utility → src/utility}/input.d.ts +0 -0
  37. package/lib/src/utility/input.d.ts.map +1 -0
  38. package/lib/{utility → src/utility}/prosemirror.d.ts +0 -0
  39. package/lib/src/utility/prosemirror.d.ts.map +1 -0
  40. package/lib/{utility → src/utility}/toggle.d.ts +0 -0
  41. package/lib/src/utility/toggle.d.ts.map +1 -0
  42. package/package.json +9 -18
  43. package/src/button-manager/style.ts +2 -3
  44. package/src/index.ts +6 -0
  45. package/src/input-manager/style.ts +2 -3
  46. package/lib/button-manager/calc-button-pos.d.ts.map +0 -1
  47. package/lib/button-manager/create-tooltip.d.ts.map +0 -1
  48. package/lib/button-manager/filter-button.d.ts.map +0 -1
  49. package/lib/button-manager/index.d.ts.map +0 -1
  50. package/lib/button-manager/no-active.d.ts.map +0 -1
  51. package/lib/button-manager/style.d.ts +0 -3
  52. package/lib/button-manager/style.d.ts.map +0 -1
  53. package/lib/index.d.ts.map +0 -1
  54. package/lib/input-manager/calc-input-pos.d.ts.map +0 -1
  55. package/lib/input-manager/create-input.d.ts.map +0 -1
  56. package/lib/input-manager/filter-input.d.ts.map +0 -1
  57. package/lib/input-manager/index.d.ts.map +0 -1
  58. package/lib/input-manager/style.d.ts +0 -3
  59. package/lib/input-manager/style.d.ts.map +0 -1
  60. package/lib/item.d.ts.map +0 -1
  61. package/lib/selection-marks-tooltip.d.ts.map +0 -1
  62. package/lib/utility/element.d.ts.map +0 -1
  63. package/lib/utility/index.d.ts.map +0 -1
  64. package/lib/utility/input.d.ts.map +0 -1
  65. package/lib/utility/prosemirror.d.ts.map +0 -1
  66. package/lib/utility/toggle.d.ts.map +0 -1
package/lib/index.d.ts CHANGED
@@ -1,21 +1 @@
1
- import { PluginKey } from '@milkdown/prose';
2
- import { AtomList } from '@milkdown/utils';
3
- import { InputOptions } from './item';
4
- export declare const key: PluginKey<any, any>;
5
- export declare const tooltipPlugin: import("@milkdown/utils/lib/types").WithExtend<string, InputOptions, {
6
- [x: string]: import("prosemirror-model").NodeType<any>;
7
- } & {
8
- [x: string]: import("prosemirror-model").MarkType<any>;
9
- }, {
10
- schema?: ((ctx: import("@milkdown/core").Ctx) => {
11
- node?: Record<string, import("@milkdown/core").NodeSchema> | undefined;
12
- mark?: Record<string, import("@milkdown/core").MarkSchema> | undefined;
13
- }) | undefined;
14
- view?: ((ctx: import("@milkdown/core").Ctx) => Partial<{
15
- [x: string]: import("@milkdown/prose").NodeViewFactory;
16
- } & {
17
- [x: string]: import("@milkdown/prose").MarkViewFactory;
18
- }>) | undefined;
19
- }>;
20
- export declare const tooltip: AtomList<import("@milkdown/utils/lib/types").Metadata<import("@milkdown/utils/lib/types").GetPlugin<string, InputOptions>> & import("@milkdown/core").MilkdownPlugin>;
21
- //# sourceMappingURL=index.d.ts.map
1
+ export * from './src/index'
package/lib/index.es.js CHANGED
@@ -19,7 +19,6 @@ import { findSelectedNodeOfType, findParentNode, TextSelection, calculateTextPos
19
19
  import { createPlugin as createPlugin$1, AtomList } from "@milkdown/utils";
20
20
  import { ModifyLink, ModifyImage, ToggleBold, ToggleItalic, ToggleStrikeThrough, ToggleInlineCode, ToggleLink } from "@milkdown/preset-gfm";
21
21
  import { ModifyInlineMath } from "@milkdown/plugin-math";
22
- import { css } from "@emotion/css";
23
22
  const elementIsTag = (element, tagName) => element.tagName === tagName.toUpperCase();
24
23
  const modifyLink = (ctx) => (e) => {
25
24
  const { target } = e;
@@ -221,7 +220,7 @@ const calcButtonPos = (buttons, view) => {
221
220
  return [top, left];
222
221
  });
223
222
  };
224
- const injectStyle$1 = (themeTool) => {
223
+ const injectStyle$1 = (themeTool, { css }) => {
225
224
  var _a, _b;
226
225
  const { palette, mixin, size } = themeTool;
227
226
  return css`
@@ -350,7 +349,7 @@ const calcInputPos = (view, input) => {
350
349
  return [top, left];
351
350
  });
352
351
  };
353
- const injectStyle = (themeTool) => {
352
+ const injectStyle = (themeTool, { css }) => {
354
353
  var _a, _b;
355
354
  const { palette, mixin, size } = themeTool;
356
355
  return css`
@@ -570,6 +569,12 @@ const tooltipPlugin = createPlugin$1((utils, options) => {
570
569
  manager.setHide(false);
571
570
  manager.update(view);
572
571
  return false;
572
+ },
573
+ handleDOMEvents: {
574
+ mousedown: () => {
575
+ manager.setHide(false);
576
+ return false;
577
+ }
573
578
  }
574
579
  },
575
580
  view: (editorView) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/utility/element.ts","../src/utility/input.ts","../src/utility/prosemirror.ts","../src/utility/toggle.ts","../src/item.ts","../src/button-manager/calc-button-pos.ts","../src/button-manager/style.ts","../src/button-manager/create-tooltip.ts","../src/button-manager/no-active.ts","../src/button-manager/filter-button.ts","../src/button-manager/index.ts","../src/input-manager/calc-input-pos.ts","../src/input-manager/style.ts","../src/input-manager/create-input.ts","../src/input-manager/filter-input.ts","../src/input-manager/index.ts","../src/selection-marks-tooltip.ts","../src/index.ts"],"sourcesContent":["/* Copyright 2021, Milkdown by Mirone. */\nexport const elementIsTag = (element: HTMLElement, tagName: string): boolean =>\n element.tagName === tagName.toUpperCase();\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { commandsCtx, Ctx } from '@milkdown/core';\nimport { ModifyInlineMath } from '@milkdown/plugin-math';\nimport { ModifyImage, ModifyLink } from '@milkdown/preset-gfm';\nimport { findSelectedNodeOfType, Node as ProseNode } from '@milkdown/prose';\n\nimport { Event2Command, Updater } from '../item';\nimport { elementIsTag } from './element';\n\nexport const modifyLink =\n (ctx: Ctx): Event2Command =>\n (e) => {\n const { target } = e;\n if (!(target instanceof HTMLElement)) {\n return () => true;\n }\n if (elementIsTag(target, 'input')) {\n target.focus();\n return () => false;\n }\n const parent = target.parentNode;\n if (!parent) return () => false;\n\n const inputEl = Array.from(parent.children).find((el) => el.tagName === 'INPUT');\n if (!(inputEl instanceof HTMLInputElement)) return () => false;\n\n return ctx.get(commandsCtx).call(ModifyLink, inputEl.value);\n };\n\nexport const modifyInlineMath =\n (ctx: Ctx): Event2Command =>\n (e) => {\n const { target } = e;\n if (!(target instanceof HTMLElement)) {\n return () => true;\n }\n const parent = target.parentNode;\n if (!parent) return () => false;\n\n const inputEl = Array.from(parent.children).find((el) => el.tagName === 'INPUT');\n if (!(inputEl instanceof HTMLInputElement)) return () => false;\n\n return ctx.get(commandsCtx).call(ModifyInlineMath, inputEl.value);\n };\n\nexport const modifyImage =\n (ctx: Ctx): Event2Command =>\n (e) => {\n const { target } = e;\n if (!(target instanceof HTMLElement)) {\n return () => true;\n }\n if (elementIsTag(target, 'input')) {\n target.focus();\n return () => false;\n }\n const parent = target.parentNode;\n if (!parent) return () => false;\n\n const inputEl = Array.from(parent.children).find((el) => el.tagName === 'INPUT');\n if (!(inputEl instanceof HTMLInputElement)) return () => false;\n\n return ctx.get(commandsCtx).call(ModifyImage, inputEl.value);\n };\n\nexport const updateLinkView: Updater = (view, $) => {\n const { marks } = view.state.schema;\n const { firstChild, lastElementChild } = $;\n if (!(firstChild instanceof HTMLInputElement) || !(lastElementChild instanceof HTMLButtonElement)) return;\n\n const { selection } = view.state;\n let node: ProseNode | undefined;\n view.state.doc.nodesBetween(selection.from, selection.to, (n) => {\n if (marks.link.isInSet(n.marks)) {\n node = n;\n return false;\n }\n return;\n });\n if (!node) return;\n\n const mark = node.marks.find((m) => m.type === marks.link);\n if (!mark) return;\n\n const value = mark.attrs.href;\n firstChild.value = value;\n if (!value) {\n lastElementChild.classList.add('disable');\n return;\n }\n if (lastElementChild.classList.contains('disable')) {\n lastElementChild.classList.remove('disable');\n }\n};\n\nexport const updateInlineMathView: Updater = (view, $) => {\n const { nodes } = view.state.schema;\n const { firstChild, lastElementChild } = $;\n if (!(firstChild instanceof HTMLInputElement) || !(lastElementChild instanceof HTMLButtonElement)) return;\n\n const result = findSelectedNodeOfType(view.state.selection, nodes.math_inline);\n if (!result) return;\n const { node } = result;\n\n const value = node.attrs.value;\n firstChild.value = value;\n if (!value) {\n lastElementChild.classList.add('disable');\n return;\n }\n if (lastElementChild.classList.contains('disable')) {\n lastElementChild.classList.remove('disable');\n }\n};\n\nexport const updateImageView: Updater = (view, $) => {\n const { nodes } = view.state.schema;\n const { firstChild, lastElementChild } = $;\n if (!(firstChild instanceof HTMLInputElement) || !(lastElementChild instanceof HTMLButtonElement)) return;\n\n const result = findSelectedNodeOfType(view.state.selection, nodes.image);\n if (!result) return;\n const { node } = result;\n\n const value = node.attrs.src;\n firstChild.value = value;\n if (!value) {\n lastElementChild.classList.add('disable');\n return;\n }\n if (lastElementChild.classList.contains('disable')) {\n lastElementChild.classList.remove('disable');\n }\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { EditorState, findParentNode, MarkType, Node, NodeType, TextSelection } from '@milkdown/prose';\n\nexport type Position = {\n start: number;\n end: number;\n};\n\nexport const hasMark = (editorState: EditorState, type: MarkType): boolean => {\n const { from, to } = editorState.selection;\n\n return editorState.doc.rangeHasMark(from, from === to ? to + 1 : to, type);\n};\n\nexport const isTextSelection = (editorState: EditorState): boolean => {\n const { selection } = editorState;\n if (selection instanceof TextSelection) {\n const text = editorState.doc.textBetween(selection.from, selection.to);\n\n if (!text) return false;\n\n return true;\n }\n return false;\n};\n\nexport const isInCodeFence = (editorState: EditorState): boolean =>\n Boolean(findParentNode((node) => !!node.type.spec.code)(editorState.selection));\n\nexport const isTextAndNotHasMark = (editorState: EditorState, mark: MarkType): boolean =>\n !isTextSelection(editorState) || isInCodeFence(editorState) || hasMark(editorState, mark);\n\nexport const equalNodeType = (nodeType: NodeType, node: Node) => {\n return (Array.isArray(nodeType) && nodeType.indexOf(node.type) > -1) || node.type === nodeType;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { CmdKey, commandsCtx, Ctx, themeToolCtx } from '@milkdown/core';\nimport type { Icon } from '@milkdown/design-system';\nimport type { MarkType } from '@milkdown/prose';\n\nimport type { ButtonItem } from '../item';\nimport { hasMark, isTextAndNotHasMark } from './prosemirror';\n\nexport const createToggleIcon = <T>(\n ctx: Ctx,\n iconName: Icon,\n commandKey: CmdKey<T>,\n mark: MarkType,\n disableForMark: MarkType,\n): ButtonItem => ({\n $: ctx.get(themeToolCtx).slots.icon(iconName),\n command: () => ctx.get(commandsCtx).call(commandKey),\n active: (view) => hasMark(view.state, mark),\n disable: (view) => isTextAndNotHasMark(view.state, disableForMark),\n enable: (view) => !!mark && !!view.state.schema.marks[mark.name],\n});\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { Ctx } from '@milkdown/core';\nimport { ToggleBold, ToggleInlineCode, ToggleItalic, ToggleLink, ToggleStrikeThrough } from '@milkdown/preset-gfm';\nimport { EditorView, findSelectedNodeOfType, Schema, TextSelection } from '@milkdown/prose';\n\nimport {\n createToggleIcon,\n hasMark,\n modifyImage,\n modifyInlineMath,\n modifyLink,\n updateImageView,\n updateInlineMathView,\n updateLinkView,\n} from './utility';\n\nexport type Pred = (view: EditorView) => boolean;\nexport type Updater = (view: EditorView, $: HTMLElement) => void;\nexport type Event2Command = (e: Event) => void;\n\nexport type ButtonItem = {\n $: HTMLElement;\n command: () => void;\n active: Pred;\n disable?: Pred;\n enable: Pred;\n};\n\nexport type InputItem = {\n command: Event2Command;\n display: Pred;\n update: Updater;\n placeholder: string;\n} & (\n | {\n bind: true;\n }\n | {\n bind?: false;\n buttonText: string;\n }\n);\n\nexport enum ButtonAction {\n ToggleBold,\n ToggleItalic,\n ToggleStrike,\n ToggleCode,\n ToggleLink,\n}\n\nexport enum InputAction {\n ModifyLink,\n ModifyImage,\n ModifyInlineMath,\n}\n\nexport type ButtonMap = Record<ButtonAction, ButtonItem>;\nexport type InputMap = Record<InputAction, InputItem>;\n\nexport type InputOptions = {\n link: {\n placeholder: string;\n buttonText: string;\n };\n image: {\n placeholder: string;\n buttonText: string;\n };\n inlineMath: {\n placeholder: string;\n };\n};\n\nexport const inputMap = (schema: Schema, ctx: Ctx, inputOptions: InputOptions): InputMap => {\n const { marks, nodes } = schema;\n return {\n [InputAction.ModifyLink]: {\n display: (view) =>\n view.state.selection.empty &&\n view.state.selection instanceof TextSelection &&\n hasMark(view.state, marks.link),\n command: modifyLink(ctx),\n update: updateLinkView,\n ...inputOptions.link,\n },\n [InputAction.ModifyInlineMath]: {\n display: (view) => Boolean(findSelectedNodeOfType(view.state.selection, nodes.math_inline)),\n command: modifyInlineMath(ctx),\n update: updateInlineMathView,\n bind: true,\n ...inputOptions.inlineMath,\n },\n [InputAction.ModifyImage]: {\n display: (view) => Boolean(findSelectedNodeOfType(view.state.selection, nodes.image)),\n command: modifyImage(ctx),\n update: updateImageView,\n ...inputOptions.image,\n },\n };\n};\n\nexport const buttonMap = (schema: Schema, ctx: Ctx): ButtonMap => {\n const { marks } = schema;\n return {\n [ButtonAction.ToggleBold]: createToggleIcon(ctx, 'bold', ToggleBold, marks.strong, marks.code_inline),\n [ButtonAction.ToggleItalic]: createToggleIcon(ctx, 'italic', ToggleItalic, marks.em, marks.code_inline),\n [ButtonAction.ToggleStrike]: createToggleIcon(\n ctx,\n 'strikeThrough',\n ToggleStrikeThrough,\n marks.strike_through,\n marks.code_inline,\n ),\n [ButtonAction.ToggleCode]: createToggleIcon(ctx, 'code', ToggleInlineCode, marks.code_inline, marks.link),\n [ButtonAction.ToggleLink]: createToggleIcon(ctx, 'link', ToggleLink, marks.link, marks.code_inline),\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { calculateTextPosition, EditorView } from '@milkdown/prose';\n\nexport const calcButtonPos = (buttons: HTMLElement, view: EditorView) => {\n buttons.classList.remove('hide');\n calculateTextPosition(view, buttons, (start, end, target, parent) => {\n const $editor = buttons.parentElement;\n if (!$editor) {\n throw new Error();\n }\n const selectionWidth = end.left - start.left;\n let left = start.left - parent.left - (target.width - selectionWidth) / 2;\n let top = start.top - parent.top - target.height - 14 + $editor.scrollTop;\n\n if (left < 0) left = 0;\n\n if (start.top < target.height) {\n top = start.bottom - parent.top + 14 + $editor.scrollTop;\n }\n\n return [top, left];\n });\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { css } from '@emotion/css';\nimport { ThemeTool } from '@milkdown/core';\n\nexport const injectStyle = (themeTool: ThemeTool) => {\n const { palette, mixin, size } = themeTool;\n return css`\n display: inline-flex;\n cursor: pointer;\n justify-content: space-evenly;\n position: absolute;\n border-radius: ${size.radius};\n z-index: 2;\n\n ${mixin.border?.()};\n ${mixin.shadow?.()};\n\n overflow: hidden;\n background: ${palette('surface')};\n\n .icon {\n position: relative;\n color: ${palette('solid', 0.87)};\n\n width: 3rem;\n line-height: 3rem;\n text-align: center;\n transition: all 0.4s ease-in-out;\n &:hover {\n background-color: ${palette('secondary', 0.12)};\n }\n &.active {\n color: ${palette('primary')};\n }\n &:not(:last-child)::after {\n content: '';\n position: absolute;\n top: 0;\n right: calc(-0.5 * ${size.lineWidth});\n width: ${size.lineWidth};\n bottom: 0;\n background: ${palette('line')};\n }\n }\n &.hide,\n .hide {\n display: none;\n }\n `;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\nimport type { Utils } from '@milkdown/utils';\n\nimport type { ButtonMap } from '../item';\nimport { injectStyle } from './style';\n\ntype Tooltip = {\n dom: HTMLDivElement;\n render: (editorView: EditorView) => void;\n};\n\nexport const createTooltip = (buttonMap: ButtonMap, utils: Utils): Tooltip => {\n const div = document.createElement('div');\n const style = utils.getStyle(injectStyle) || '';\n if (style) {\n div.classList.add(style);\n }\n\n div.classList.add('tooltip');\n\n return {\n dom: div,\n render: (editorView: EditorView) => {\n Object.values(buttonMap)\n .filter((item) => item.enable(editorView))\n .forEach(({ $ }) => div.appendChild($));\n\n editorView.dom.parentNode?.appendChild(div);\n },\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { EditorView } from '@milkdown/prose';\n\nimport { ButtonMap } from '../item';\n\nexport const noActive = (buttonMap: ButtonMap, view: EditorView) => {\n return Object.values(buttonMap)\n .filter((item) => item.enable(view))\n .every(({ $ }) => $.classList.contains('hide'));\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { EditorView } from '@milkdown/prose';\n\nimport { ButtonMap } from '../item';\nimport { noActive } from './no-active';\n\nexport const filterButton = (buttonMap: ButtonMap, view: EditorView) => {\n Object.values(buttonMap)\n .filter((item) => item.enable(view))\n .forEach((item) => {\n const disable = item.disable?.(view);\n if (disable) {\n item.$.classList.add('hide');\n return;\n }\n\n item.$.classList.remove('hide');\n\n const active = item.active(view);\n if (active) {\n item.$.classList.add('active');\n return;\n }\n item.$.classList.remove('active');\n });\n\n return noActive(buttonMap, view);\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\nimport type { Utils } from '@milkdown/utils';\n\nimport type { ButtonMap } from '../item';\nimport { calcButtonPos } from './calc-button-pos';\nimport { createTooltip } from './create-tooltip';\nimport { filterButton } from './filter-button';\n\nexport const createButtonManager = (buttonMap: ButtonMap, utils: Utils) => {\n const { dom: buttons, render } = createTooltip(buttonMap, utils);\n\n const onClick = (e: Event) => {\n const target = Object.values(buttonMap).find(({ $ }) => e.target instanceof Element && $.contains(e.target));\n if (!target) return;\n\n e.stopPropagation();\n e.preventDefault();\n target.command();\n };\n\n const hide = () => {\n buttons.classList.add('hide');\n };\n\n buttons.addEventListener('mousedown', onClick);\n\n return {\n destroy: () => {\n buttons.removeEventListener('mousedown', onClick);\n buttons.remove();\n },\n hide,\n update: (editorView: EditorView) => {\n const noActive = filterButton(buttonMap, editorView);\n if (noActive) {\n hide();\n return;\n }\n calcButtonPos(buttons, editorView);\n },\n render,\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { calculateTextPosition, EditorView } from '@milkdown/prose';\n\nexport const calcInputPos = (view: EditorView, input: HTMLDivElement) => {\n calculateTextPosition(view, input, (start, end, target, parent) => {\n const $editor = input.parentElement;\n if (!$editor) {\n throw new Error();\n }\n\n const selectionWidth = end.left - start.left;\n let left = start.left - parent.left - (target.width - selectionWidth) / 2;\n const top = start.bottom - parent.top + 14 + $editor.scrollTop;\n\n if (left < 0) left = 0;\n\n return [top, left];\n });\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { css } from '@emotion/css';\nimport { ThemeTool } from '@milkdown/core';\n\nexport const injectStyle = (themeTool: ThemeTool) => {\n const { palette, mixin, size } = themeTool;\n\n return css`\n ${mixin.border?.()};\n ${mixin.shadow?.()};\n\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n background: ${palette('surface')};\n border-radius: ${size.radius};\n font-size: 1rem;\n\n height: 3.5rem;\n box-sizing: border-box;\n width: 25.5rem;\n padding: 0 1rem;\n gap: 1rem;\n z-index: 2;\n\n input,\n button {\n all: unset;\n }\n\n input {\n flex-grow: 1;\n caret-color: ${palette('primary')};\n &::placeholder {\n color: ${palette('neutral', 0.6)};\n }\n }\n\n button {\n cursor: pointer;\n height: 2.25rem;\n color: ${palette('primary')};\n font-size: 0.875rem;\n padding: 0 0.5rem;\n font-weight: 500;\n letter-spacing: 1.25px;\n &:hover {\n background-color: ${palette('secondary', 0.12)};\n }\n &.disable {\n color: ${palette('neutral', 0.38)};\n cursor: not-allowed;\n &:hover {\n background: transparent;\n }\n }\n &.hide {\n display: none;\n }\n }\n\n &.hide {\n display: none;\n }\n `;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { Utils } from '@milkdown/utils';\n\nimport { injectStyle } from './style';\n\nexport const createInput = (utils: Utils) => {\n const div = document.createElement('div');\n const style = utils.getStyle(injectStyle);\n if (style) {\n div.classList.add(style);\n }\n\n div.classList.add('tooltip-input');\n\n const input = document.createElement('input');\n div.appendChild(input);\n const button = document.createElement('button');\n div.appendChild(button);\n\n input.addEventListener('input', (e) => {\n const { target } = e;\n if (!(target instanceof HTMLInputElement)) {\n return;\n }\n\n if (!target.value) {\n button.classList.add('disable');\n return;\n }\n\n button.classList.remove('disable');\n });\n\n return {\n div,\n input,\n button,\n } as const;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\n\nimport type { InputMap } from '../item';\n\nexport const filterInput = (\n currentView: EditorView,\n inputMap: InputMap,\n div: HTMLDivElement,\n input: HTMLInputElement,\n button: HTMLButtonElement,\n) => {\n const target = Object.values(inputMap).find((input) => input.display(currentView));\n\n if (!target) {\n div.classList.add('hide');\n return;\n }\n\n div.classList.remove('hide');\n\n if (target.bind) {\n button.classList.add('hide');\n } else {\n button.classList.remove('hide');\n button.textContent = target.buttonText;\n }\n\n input.placeholder = target.placeholder;\n target.update(currentView, div);\n\n return target;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nimport type { Event2Command, InputMap } from '../item';\nimport { calcInputPos } from './calc-input-pos';\nimport { createInput } from './create-input';\nimport { filterInput } from './filter-input';\n\nexport const createInputManager = (inputMap: InputMap, utils: Utils) => {\n let inputCommand: Event2Command | undefined;\n let binding = false;\n const setCommand = (x?: Event2Command) => (inputCommand = x);\n\n const { div, button, input } = createInput(utils);\n\n const onClick = (e: Event) => {\n if (!inputCommand || button.classList.contains('disable')) return;\n\n e.stopPropagation();\n inputCommand(e);\n div.classList.add('hide');\n };\n const onInput = (e: Event) => {\n if (!binding || !inputCommand) return;\n inputCommand(e);\n };\n\n input.addEventListener('input', onInput);\n button.addEventListener('mousedown', onClick);\n\n return {\n destroy: () => {\n input.removeEventListener('input', onInput);\n div.removeEventListener('mousedown', onClick);\n div.remove();\n },\n hide: () => {\n div.classList.add('hide');\n setCommand();\n },\n update: (editorView: EditorView) => {\n const result = filterInput(editorView, inputMap, div, input, button);\n if (!result) return;\n binding = !!result.bind;\n setCommand(result.command);\n calcInputPos(editorView, div);\n },\n render: (editorView: EditorView) => {\n const wrapper = editorView.dom.parentNode;\n if (!wrapper) throw new Error();\n wrapper.appendChild(div);\n },\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorState, EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nimport { createButtonManager } from './button-manager';\nimport { createInputManager } from './input-manager';\nimport type { ButtonMap, InputMap } from './item';\n\nexport const createPlugin = (buttonMap: ButtonMap, inputMap: InputMap, utils: Utils) => {\n const buttonManager = createButtonManager(buttonMap, utils);\n const inputManager = createInputManager(inputMap, utils);\n let shouldHide = false;\n\n const hide = () => {\n buttonManager.hide();\n inputManager.hide();\n };\n\n const update = (view: EditorView, prevState?: EditorState) => {\n const { state } = view;\n\n if (!view.editable || shouldHide) {\n hide();\n return;\n }\n\n const isEqualSelection = prevState?.doc.eq(state.doc) && prevState.selection.eq(state.selection);\n if (isEqualSelection) return;\n\n buttonManager.update(view);\n inputManager.update(view);\n };\n\n return {\n update,\n destroy: () => {\n buttonManager.destroy();\n inputManager.destroy();\n },\n render: (editorView: EditorView) => {\n buttonManager.render(editorView);\n inputManager.render(editorView);\n update(editorView);\n },\n setHide: (isTyping: boolean) => {\n shouldHide = isTyping;\n },\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { schemaCtx } from '@milkdown/core';\nimport { Plugin, PluginKey } from '@milkdown/prose';\nimport { AtomList, createPlugin as create } from '@milkdown/utils';\n\nimport { buttonMap, inputMap, InputOptions } from './item';\nimport { createPlugin } from './selection-marks-tooltip';\n\nexport const key = new PluginKey('MILKDOWN_PLUGIN_TOOLTIP');\n\nexport const tooltipPlugin = create<string, InputOptions>((utils, options) => {\n return {\n id: 'tooltip',\n prosePlugins: (_, ctx) => {\n const schema = ctx.get(schemaCtx);\n const manager = createPlugin(\n buttonMap(schema, ctx),\n inputMap(schema, ctx, {\n link: {\n placeholder: 'Input Web Link',\n buttonText: 'APPLY',\n ...(options?.link ?? {}),\n },\n image: {\n placeholder: 'Input Image Link',\n buttonText: 'APPLY',\n ...(options?.image ?? {}),\n },\n inlineMath: {\n placeholder: 'Input Math',\n ...(options?.inlineMath ?? {}),\n },\n }),\n utils,\n );\n const plugin = new Plugin({\n key,\n props: {\n handleKeyDown: () => {\n manager.setHide(true);\n return false;\n },\n handleClick: (view) => {\n manager.setHide(false);\n manager.update(view);\n return false;\n },\n },\n view: (editorView) => {\n manager.render(editorView);\n return {\n update: manager.update,\n destroy: manager.destroy,\n };\n },\n });\n return [plugin];\n },\n };\n});\n\nexport const tooltip = AtomList.create([tooltipPlugin()]);\n"],"names":["injectStyle","create"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/utility/element.ts","../src/utility/input.ts","../src/utility/prosemirror.ts","../src/utility/toggle.ts","../src/item.ts","../src/button-manager/calc-button-pos.ts","../src/button-manager/style.ts","../src/button-manager/create-tooltip.ts","../src/button-manager/no-active.ts","../src/button-manager/filter-button.ts","../src/button-manager/index.ts","../src/input-manager/calc-input-pos.ts","../src/input-manager/style.ts","../src/input-manager/create-input.ts","../src/input-manager/filter-input.ts","../src/input-manager/index.ts","../src/selection-marks-tooltip.ts","../src/index.ts"],"sourcesContent":["/* Copyright 2021, Milkdown by Mirone. */\nexport const elementIsTag = (element: HTMLElement, tagName: string): boolean =>\n element.tagName === tagName.toUpperCase();\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { commandsCtx, Ctx } from '@milkdown/core';\nimport { ModifyInlineMath } from '@milkdown/plugin-math';\nimport { ModifyImage, ModifyLink } from '@milkdown/preset-gfm';\nimport { findSelectedNodeOfType, Node as ProseNode } from '@milkdown/prose';\n\nimport { Event2Command, Updater } from '../item';\nimport { elementIsTag } from './element';\n\nexport const modifyLink =\n (ctx: Ctx): Event2Command =>\n (e) => {\n const { target } = e;\n if (!(target instanceof HTMLElement)) {\n return () => true;\n }\n if (elementIsTag(target, 'input')) {\n target.focus();\n return () => false;\n }\n const parent = target.parentNode;\n if (!parent) return () => false;\n\n const inputEl = Array.from(parent.children).find((el) => el.tagName === 'INPUT');\n if (!(inputEl instanceof HTMLInputElement)) return () => false;\n\n return ctx.get(commandsCtx).call(ModifyLink, inputEl.value);\n };\n\nexport const modifyInlineMath =\n (ctx: Ctx): Event2Command =>\n (e) => {\n const { target } = e;\n if (!(target instanceof HTMLElement)) {\n return () => true;\n }\n const parent = target.parentNode;\n if (!parent) return () => false;\n\n const inputEl = Array.from(parent.children).find((el) => el.tagName === 'INPUT');\n if (!(inputEl instanceof HTMLInputElement)) return () => false;\n\n return ctx.get(commandsCtx).call(ModifyInlineMath, inputEl.value);\n };\n\nexport const modifyImage =\n (ctx: Ctx): Event2Command =>\n (e) => {\n const { target } = e;\n if (!(target instanceof HTMLElement)) {\n return () => true;\n }\n if (elementIsTag(target, 'input')) {\n target.focus();\n return () => false;\n }\n const parent = target.parentNode;\n if (!parent) return () => false;\n\n const inputEl = Array.from(parent.children).find((el) => el.tagName === 'INPUT');\n if (!(inputEl instanceof HTMLInputElement)) return () => false;\n\n return ctx.get(commandsCtx).call(ModifyImage, inputEl.value);\n };\n\nexport const updateLinkView: Updater = (view, $) => {\n const { marks } = view.state.schema;\n const { firstChild, lastElementChild } = $;\n if (!(firstChild instanceof HTMLInputElement) || !(lastElementChild instanceof HTMLButtonElement)) return;\n\n const { selection } = view.state;\n let node: ProseNode | undefined;\n view.state.doc.nodesBetween(selection.from, selection.to, (n) => {\n if (marks.link.isInSet(n.marks)) {\n node = n;\n return false;\n }\n return;\n });\n if (!node) return;\n\n const mark = node.marks.find((m) => m.type === marks.link);\n if (!mark) return;\n\n const value = mark.attrs.href;\n firstChild.value = value;\n if (!value) {\n lastElementChild.classList.add('disable');\n return;\n }\n if (lastElementChild.classList.contains('disable')) {\n lastElementChild.classList.remove('disable');\n }\n};\n\nexport const updateInlineMathView: Updater = (view, $) => {\n const { nodes } = view.state.schema;\n const { firstChild, lastElementChild } = $;\n if (!(firstChild instanceof HTMLInputElement) || !(lastElementChild instanceof HTMLButtonElement)) return;\n\n const result = findSelectedNodeOfType(view.state.selection, nodes.math_inline);\n if (!result) return;\n const { node } = result;\n\n const value = node.attrs.value;\n firstChild.value = value;\n if (!value) {\n lastElementChild.classList.add('disable');\n return;\n }\n if (lastElementChild.classList.contains('disable')) {\n lastElementChild.classList.remove('disable');\n }\n};\n\nexport const updateImageView: Updater = (view, $) => {\n const { nodes } = view.state.schema;\n const { firstChild, lastElementChild } = $;\n if (!(firstChild instanceof HTMLInputElement) || !(lastElementChild instanceof HTMLButtonElement)) return;\n\n const result = findSelectedNodeOfType(view.state.selection, nodes.image);\n if (!result) return;\n const { node } = result;\n\n const value = node.attrs.src;\n firstChild.value = value;\n if (!value) {\n lastElementChild.classList.add('disable');\n return;\n }\n if (lastElementChild.classList.contains('disable')) {\n lastElementChild.classList.remove('disable');\n }\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { EditorState, findParentNode, MarkType, Node, NodeType, TextSelection } from '@milkdown/prose';\n\nexport type Position = {\n start: number;\n end: number;\n};\n\nexport const hasMark = (editorState: EditorState, type: MarkType): boolean => {\n const { from, to } = editorState.selection;\n\n return editorState.doc.rangeHasMark(from, from === to ? to + 1 : to, type);\n};\n\nexport const isTextSelection = (editorState: EditorState): boolean => {\n const { selection } = editorState;\n if (selection instanceof TextSelection) {\n const text = editorState.doc.textBetween(selection.from, selection.to);\n\n if (!text) return false;\n\n return true;\n }\n return false;\n};\n\nexport const isInCodeFence = (editorState: EditorState): boolean =>\n Boolean(findParentNode((node) => !!node.type.spec.code)(editorState.selection));\n\nexport const isTextAndNotHasMark = (editorState: EditorState, mark: MarkType): boolean =>\n !isTextSelection(editorState) || isInCodeFence(editorState) || hasMark(editorState, mark);\n\nexport const equalNodeType = (nodeType: NodeType, node: Node) => {\n return (Array.isArray(nodeType) && nodeType.indexOf(node.type) > -1) || node.type === nodeType;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { CmdKey, commandsCtx, Ctx, themeToolCtx } from '@milkdown/core';\nimport type { Icon } from '@milkdown/design-system';\nimport type { MarkType } from '@milkdown/prose';\n\nimport type { ButtonItem } from '../item';\nimport { hasMark, isTextAndNotHasMark } from './prosemirror';\n\nexport const createToggleIcon = <T>(\n ctx: Ctx,\n iconName: Icon,\n commandKey: CmdKey<T>,\n mark: MarkType,\n disableForMark: MarkType,\n): ButtonItem => ({\n $: ctx.get(themeToolCtx).slots.icon(iconName),\n command: () => ctx.get(commandsCtx).call(commandKey),\n active: (view) => hasMark(view.state, mark),\n disable: (view) => isTextAndNotHasMark(view.state, disableForMark),\n enable: (view) => !!mark && !!view.state.schema.marks[mark.name],\n});\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { Ctx } from '@milkdown/core';\nimport { ToggleBold, ToggleInlineCode, ToggleItalic, ToggleLink, ToggleStrikeThrough } from '@milkdown/preset-gfm';\nimport { EditorView, findSelectedNodeOfType, Schema, TextSelection } from '@milkdown/prose';\n\nimport {\n createToggleIcon,\n hasMark,\n modifyImage,\n modifyInlineMath,\n modifyLink,\n updateImageView,\n updateInlineMathView,\n updateLinkView,\n} from './utility';\n\nexport type Pred = (view: EditorView) => boolean;\nexport type Updater = (view: EditorView, $: HTMLElement) => void;\nexport type Event2Command = (e: Event) => void;\n\nexport type ButtonItem = {\n $: HTMLElement;\n command: () => void;\n active: Pred;\n disable?: Pred;\n enable: Pred;\n};\n\nexport type InputItem = {\n command: Event2Command;\n display: Pred;\n update: Updater;\n placeholder: string;\n} & (\n | {\n bind: true;\n }\n | {\n bind?: false;\n buttonText: string;\n }\n);\n\nexport enum ButtonAction {\n ToggleBold,\n ToggleItalic,\n ToggleStrike,\n ToggleCode,\n ToggleLink,\n}\n\nexport enum InputAction {\n ModifyLink,\n ModifyImage,\n ModifyInlineMath,\n}\n\nexport type ButtonMap = Record<ButtonAction, ButtonItem>;\nexport type InputMap = Record<InputAction, InputItem>;\n\nexport type InputOptions = {\n link: {\n placeholder: string;\n buttonText: string;\n };\n image: {\n placeholder: string;\n buttonText: string;\n };\n inlineMath: {\n placeholder: string;\n };\n};\n\nexport const inputMap = (schema: Schema, ctx: Ctx, inputOptions: InputOptions): InputMap => {\n const { marks, nodes } = schema;\n return {\n [InputAction.ModifyLink]: {\n display: (view) =>\n view.state.selection.empty &&\n view.state.selection instanceof TextSelection &&\n hasMark(view.state, marks.link),\n command: modifyLink(ctx),\n update: updateLinkView,\n ...inputOptions.link,\n },\n [InputAction.ModifyInlineMath]: {\n display: (view) => Boolean(findSelectedNodeOfType(view.state.selection, nodes.math_inline)),\n command: modifyInlineMath(ctx),\n update: updateInlineMathView,\n bind: true,\n ...inputOptions.inlineMath,\n },\n [InputAction.ModifyImage]: {\n display: (view) => Boolean(findSelectedNodeOfType(view.state.selection, nodes.image)),\n command: modifyImage(ctx),\n update: updateImageView,\n ...inputOptions.image,\n },\n };\n};\n\nexport const buttonMap = (schema: Schema, ctx: Ctx): ButtonMap => {\n const { marks } = schema;\n return {\n [ButtonAction.ToggleBold]: createToggleIcon(ctx, 'bold', ToggleBold, marks.strong, marks.code_inline),\n [ButtonAction.ToggleItalic]: createToggleIcon(ctx, 'italic', ToggleItalic, marks.em, marks.code_inline),\n [ButtonAction.ToggleStrike]: createToggleIcon(\n ctx,\n 'strikeThrough',\n ToggleStrikeThrough,\n marks.strike_through,\n marks.code_inline,\n ),\n [ButtonAction.ToggleCode]: createToggleIcon(ctx, 'code', ToggleInlineCode, marks.code_inline, marks.link),\n [ButtonAction.ToggleLink]: createToggleIcon(ctx, 'link', ToggleLink, marks.link, marks.code_inline),\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { calculateTextPosition, EditorView } from '@milkdown/prose';\n\nexport const calcButtonPos = (buttons: HTMLElement, view: EditorView) => {\n buttons.classList.remove('hide');\n calculateTextPosition(view, buttons, (start, end, target, parent) => {\n const $editor = buttons.parentElement;\n if (!$editor) {\n throw new Error();\n }\n const selectionWidth = end.left - start.left;\n let left = start.left - parent.left - (target.width - selectionWidth) / 2;\n let top = start.top - parent.top - target.height - 14 + $editor.scrollTop;\n\n if (left < 0) left = 0;\n\n if (start.top < target.height) {\n top = start.bottom - parent.top + 14 + $editor.scrollTop;\n }\n\n return [top, left];\n });\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { Emotion, ThemeTool } from '@milkdown/core';\n\nexport const injectStyle = (themeTool: ThemeTool, { css }: Emotion) => {\n const { palette, mixin, size } = themeTool;\n return css`\n display: inline-flex;\n cursor: pointer;\n justify-content: space-evenly;\n position: absolute;\n border-radius: ${size.radius};\n z-index: 2;\n\n ${mixin.border?.()};\n ${mixin.shadow?.()};\n\n overflow: hidden;\n background: ${palette('surface')};\n\n .icon {\n position: relative;\n color: ${palette('solid', 0.87)};\n\n width: 3rem;\n line-height: 3rem;\n text-align: center;\n transition: all 0.4s ease-in-out;\n &:hover {\n background-color: ${palette('secondary', 0.12)};\n }\n &.active {\n color: ${palette('primary')};\n }\n &:not(:last-child)::after {\n content: '';\n position: absolute;\n top: 0;\n right: calc(-0.5 * ${size.lineWidth});\n width: ${size.lineWidth};\n bottom: 0;\n background: ${palette('line')};\n }\n }\n &.hide,\n .hide {\n display: none;\n }\n `;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\nimport type { Utils } from '@milkdown/utils';\n\nimport type { ButtonMap } from '../item';\nimport { injectStyle } from './style';\n\ntype Tooltip = {\n dom: HTMLDivElement;\n render: (editorView: EditorView) => void;\n};\n\nexport const createTooltip = (buttonMap: ButtonMap, utils: Utils): Tooltip => {\n const div = document.createElement('div');\n const style = utils.getStyle(injectStyle) || '';\n if (style) {\n div.classList.add(style);\n }\n\n div.classList.add('tooltip');\n\n return {\n dom: div,\n render: (editorView: EditorView) => {\n Object.values(buttonMap)\n .filter((item) => item.enable(editorView))\n .forEach(({ $ }) => div.appendChild($));\n\n editorView.dom.parentNode?.appendChild(div);\n },\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { EditorView } from '@milkdown/prose';\n\nimport { ButtonMap } from '../item';\n\nexport const noActive = (buttonMap: ButtonMap, view: EditorView) => {\n return Object.values(buttonMap)\n .filter((item) => item.enable(view))\n .every(({ $ }) => $.classList.contains('hide'));\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { EditorView } from '@milkdown/prose';\n\nimport { ButtonMap } from '../item';\nimport { noActive } from './no-active';\n\nexport const filterButton = (buttonMap: ButtonMap, view: EditorView) => {\n Object.values(buttonMap)\n .filter((item) => item.enable(view))\n .forEach((item) => {\n const disable = item.disable?.(view);\n if (disable) {\n item.$.classList.add('hide');\n return;\n }\n\n item.$.classList.remove('hide');\n\n const active = item.active(view);\n if (active) {\n item.$.classList.add('active');\n return;\n }\n item.$.classList.remove('active');\n });\n\n return noActive(buttonMap, view);\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\nimport type { Utils } from '@milkdown/utils';\n\nimport type { ButtonMap } from '../item';\nimport { calcButtonPos } from './calc-button-pos';\nimport { createTooltip } from './create-tooltip';\nimport { filterButton } from './filter-button';\n\nexport const createButtonManager = (buttonMap: ButtonMap, utils: Utils) => {\n const { dom: buttons, render } = createTooltip(buttonMap, utils);\n\n const onClick = (e: Event) => {\n const target = Object.values(buttonMap).find(({ $ }) => e.target instanceof Element && $.contains(e.target));\n if (!target) return;\n\n e.stopPropagation();\n e.preventDefault();\n target.command();\n };\n\n const hide = () => {\n buttons.classList.add('hide');\n };\n\n buttons.addEventListener('mousedown', onClick);\n\n return {\n destroy: () => {\n buttons.removeEventListener('mousedown', onClick);\n buttons.remove();\n },\n hide,\n update: (editorView: EditorView) => {\n const noActive = filterButton(buttonMap, editorView);\n if (noActive) {\n hide();\n return;\n }\n calcButtonPos(buttons, editorView);\n },\n render,\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { calculateTextPosition, EditorView } from '@milkdown/prose';\n\nexport const calcInputPos = (view: EditorView, input: HTMLDivElement) => {\n calculateTextPosition(view, input, (start, end, target, parent) => {\n const $editor = input.parentElement;\n if (!$editor) {\n throw new Error();\n }\n\n const selectionWidth = end.left - start.left;\n let left = start.left - parent.left - (target.width - selectionWidth) / 2;\n const top = start.bottom - parent.top + 14 + $editor.scrollTop;\n\n if (left < 0) left = 0;\n\n return [top, left];\n });\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { Emotion, ThemeTool } from '@milkdown/core';\n\nexport const injectStyle = (themeTool: ThemeTool, { css }: Emotion) => {\n const { palette, mixin, size } = themeTool;\n\n return css`\n ${mixin.border?.()};\n ${mixin.shadow?.()};\n\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n background: ${palette('surface')};\n border-radius: ${size.radius};\n font-size: 1rem;\n\n height: 3.5rem;\n box-sizing: border-box;\n width: 25.5rem;\n padding: 0 1rem;\n gap: 1rem;\n z-index: 2;\n\n input,\n button {\n all: unset;\n }\n\n input {\n flex-grow: 1;\n caret-color: ${palette('primary')};\n &::placeholder {\n color: ${palette('neutral', 0.6)};\n }\n }\n\n button {\n cursor: pointer;\n height: 2.25rem;\n color: ${palette('primary')};\n font-size: 0.875rem;\n padding: 0 0.5rem;\n font-weight: 500;\n letter-spacing: 1.25px;\n &:hover {\n background-color: ${palette('secondary', 0.12)};\n }\n &.disable {\n color: ${palette('neutral', 0.38)};\n cursor: not-allowed;\n &:hover {\n background: transparent;\n }\n }\n &.hide {\n display: none;\n }\n }\n\n &.hide {\n display: none;\n }\n `;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { Utils } from '@milkdown/utils';\n\nimport { injectStyle } from './style';\n\nexport const createInput = (utils: Utils) => {\n const div = document.createElement('div');\n const style = utils.getStyle(injectStyle);\n if (style) {\n div.classList.add(style);\n }\n\n div.classList.add('tooltip-input');\n\n const input = document.createElement('input');\n div.appendChild(input);\n const button = document.createElement('button');\n div.appendChild(button);\n\n input.addEventListener('input', (e) => {\n const { target } = e;\n if (!(target instanceof HTMLInputElement)) {\n return;\n }\n\n if (!target.value) {\n button.classList.add('disable');\n return;\n }\n\n button.classList.remove('disable');\n });\n\n return {\n div,\n input,\n button,\n } as const;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\n\nimport type { InputMap } from '../item';\n\nexport const filterInput = (\n currentView: EditorView,\n inputMap: InputMap,\n div: HTMLDivElement,\n input: HTMLInputElement,\n button: HTMLButtonElement,\n) => {\n const target = Object.values(inputMap).find((input) => input.display(currentView));\n\n if (!target) {\n div.classList.add('hide');\n return;\n }\n\n div.classList.remove('hide');\n\n if (target.bind) {\n button.classList.add('hide');\n } else {\n button.classList.remove('hide');\n button.textContent = target.buttonText;\n }\n\n input.placeholder = target.placeholder;\n target.update(currentView, div);\n\n return target;\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nimport type { Event2Command, InputMap } from '../item';\nimport { calcInputPos } from './calc-input-pos';\nimport { createInput } from './create-input';\nimport { filterInput } from './filter-input';\n\nexport const createInputManager = (inputMap: InputMap, utils: Utils) => {\n let inputCommand: Event2Command | undefined;\n let binding = false;\n const setCommand = (x?: Event2Command) => (inputCommand = x);\n\n const { div, button, input } = createInput(utils);\n\n const onClick = (e: Event) => {\n if (!inputCommand || button.classList.contains('disable')) return;\n\n e.stopPropagation();\n inputCommand(e);\n div.classList.add('hide');\n };\n const onInput = (e: Event) => {\n if (!binding || !inputCommand) return;\n inputCommand(e);\n };\n\n input.addEventListener('input', onInput);\n button.addEventListener('mousedown', onClick);\n\n return {\n destroy: () => {\n input.removeEventListener('input', onInput);\n div.removeEventListener('mousedown', onClick);\n div.remove();\n },\n hide: () => {\n div.classList.add('hide');\n setCommand();\n },\n update: (editorView: EditorView) => {\n const result = filterInput(editorView, inputMap, div, input, button);\n if (!result) return;\n binding = !!result.bind;\n setCommand(result.command);\n calcInputPos(editorView, div);\n },\n render: (editorView: EditorView) => {\n const wrapper = editorView.dom.parentNode;\n if (!wrapper) throw new Error();\n wrapper.appendChild(div);\n },\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport type { EditorState, EditorView } from '@milkdown/prose';\nimport { Utils } from '@milkdown/utils';\n\nimport { createButtonManager } from './button-manager';\nimport { createInputManager } from './input-manager';\nimport type { ButtonMap, InputMap } from './item';\n\nexport const createPlugin = (buttonMap: ButtonMap, inputMap: InputMap, utils: Utils) => {\n const buttonManager = createButtonManager(buttonMap, utils);\n const inputManager = createInputManager(inputMap, utils);\n let shouldHide = false;\n\n const hide = () => {\n buttonManager.hide();\n inputManager.hide();\n };\n\n const update = (view: EditorView, prevState?: EditorState) => {\n const { state } = view;\n\n if (!view.editable || shouldHide) {\n hide();\n return;\n }\n\n const isEqualSelection = prevState?.doc.eq(state.doc) && prevState.selection.eq(state.selection);\n if (isEqualSelection) return;\n\n buttonManager.update(view);\n inputManager.update(view);\n };\n\n return {\n update,\n destroy: () => {\n buttonManager.destroy();\n inputManager.destroy();\n },\n render: (editorView: EditorView) => {\n buttonManager.render(editorView);\n inputManager.render(editorView);\n update(editorView);\n },\n setHide: (isTyping: boolean) => {\n shouldHide = isTyping;\n },\n };\n};\n","/* Copyright 2021, Milkdown by Mirone. */\nimport { schemaCtx } from '@milkdown/core';\nimport { Plugin, PluginKey } from '@milkdown/prose';\nimport { AtomList, createPlugin as create } from '@milkdown/utils';\n\nimport { buttonMap, inputMap, InputOptions } from './item';\nimport { createPlugin } from './selection-marks-tooltip';\n\nexport const key = new PluginKey('MILKDOWN_PLUGIN_TOOLTIP');\n\nexport const tooltipPlugin = create<string, InputOptions>((utils, options) => {\n return {\n id: 'tooltip',\n prosePlugins: (_, ctx) => {\n const schema = ctx.get(schemaCtx);\n const manager = createPlugin(\n buttonMap(schema, ctx),\n inputMap(schema, ctx, {\n link: {\n placeholder: 'Input Web Link',\n buttonText: 'APPLY',\n ...(options?.link ?? {}),\n },\n image: {\n placeholder: 'Input Image Link',\n buttonText: 'APPLY',\n ...(options?.image ?? {}),\n },\n inlineMath: {\n placeholder: 'Input Math',\n ...(options?.inlineMath ?? {}),\n },\n }),\n utils,\n );\n const plugin = new Plugin({\n key,\n props: {\n handleKeyDown: () => {\n manager.setHide(true);\n return false;\n },\n handleClick: (view) => {\n manager.setHide(false);\n manager.update(view);\n return false;\n },\n handleDOMEvents: {\n mousedown: () => {\n manager.setHide(false);\n return false;\n },\n },\n },\n view: (editorView) => {\n manager.render(editorView);\n return {\n update: manager.update,\n destroy: manager.destroy,\n };\n },\n });\n return [plugin];\n },\n };\n});\n\nexport const tooltip = AtomList.create([tooltipPlugin()]);\n"],"names":["injectStyle","create"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calc-button-pos.d.ts","sourceRoot":"","sources":["calc-button-pos.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEpE,eAAO,MAAM,aAAa,YAAa,WAAW,QAAQ,UAAU,SAmBnE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tooltip.d.ts","sourceRoot":"","sources":["create-tooltip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,aAAK,OAAO,GAAG;IACX,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,aAAa,cAAe,SAAS,SAAS,KAAK,KAAG,OAmBlE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-button.d.ts","sourceRoot":"","sources":["filter-button.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,eAAO,MAAM,YAAY,cAAe,SAAS,QAAQ,UAAU,YAqBlE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,mBAAmB,cAAe,SAAS,SAAS,KAAK;;;yBAwBzC,UAAU;;CAUtC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-active.d.ts","sourceRoot":"","sources":["no-active.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,eAAO,MAAM,QAAQ,cAAe,SAAS,QAAQ,UAAU,YAI9D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Emotion, ThemeTool } from '@milkdown/core';
2
+ export declare const injectStyle: (themeTool: ThemeTool, { css }: Emotion) => string;
3
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,WAAW,cAAe,SAAS,WAAW,OAAO,WA6CjE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { PluginKey } from '@milkdown/prose';
2
+ import { AtomList } from '@milkdown/utils';
3
+ import { InputOptions } from './item';
4
+ export declare const key: PluginKey<any, any>;
5
+ export declare const tooltipPlugin: import("@milkdown/utils/lib/src/types").WithExtend<string, InputOptions, {
6
+ [x: string]: import("prosemirror-model").NodeType<any>;
7
+ } & {
8
+ [x: string]: import("prosemirror-model").MarkType<any>;
9
+ }, {
10
+ schema?: ((ctx: import("@milkdown/core").Ctx) => {
11
+ node?: Record<string, import("@milkdown/core").NodeSchema> | undefined;
12
+ mark?: Record<string, import("@milkdown/core").MarkSchema> | undefined;
13
+ }) | undefined;
14
+ view?: ((ctx: import("@milkdown/core").Ctx) => Partial<{
15
+ [x: string]: import("@milkdown/prose").NodeViewFactory;
16
+ } & {
17
+ [x: string]: import("@milkdown/prose").MarkViewFactory;
18
+ }>) | undefined;
19
+ }>;
20
+ export declare const tooltip: AtomList<import("@milkdown/utils/lib/src/types").Metadata<import("@milkdown/utils/lib/src/types").GetPlugin<string, InputOptions>> & import("@milkdown/core").MilkdownPlugin>;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAA0B,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAuB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3D,eAAO,MAAM,GAAG,qBAA2C,CAAC;AAE5D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;EAuDxB,CAAC;AAEH,eAAO,MAAM,OAAO,+KAAqC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calc-input-pos.d.ts","sourceRoot":"","sources":["calc-input-pos.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEpE,eAAO,MAAM,YAAY,SAAU,UAAU,SAAS,cAAc,SAenE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-input.d.ts","sourceRoot":"","sources":["create-input.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI7C,eAAO,MAAM,WAAW,UAAW,KAAK;;;;CAiCvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-input.d.ts","sourceRoot":"","sources":["filter-input.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,WAAW,gBACP,UAAU,YACb,QAAQ,OACb,cAAc,SACZ,gBAAgB,UACf,iBAAiB;;;;;;;;;;;;;;;cAsB5B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKvD,eAAO,MAAM,kBAAkB,aAAc,QAAQ,SAAS,KAAK;;;yBAgCtC,UAAU;yBAOV,UAAU;CAMtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Emotion, ThemeTool } from '@milkdown/core';
2
+ export declare const injectStyle: (themeTool: ThemeTool, { css }: Emotion) => string;
3
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,WAAW,cAAe,SAAS,WAAW,OAAO,WA8DjE,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["item.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,UAAU,EAA0B,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAa5F,oBAAY,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;AACjD,oBAAY,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;AACjE,oBAAY,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAE/C,oBAAY,UAAU,GAAG;IACrB,CAAC,EAAE,WAAW,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,oBAAY,SAAS,GAAG;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB,GAAG,CACE;IACI,IAAI,EAAE,IAAI,CAAC;CACd,GACD;IACI,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB,CACN,CAAC;AAEF,oBAAY,YAAY;IACpB,UAAU,IAAA;IACV,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,UAAU,IAAA;CACb;AAED,oBAAY,WAAW;IACnB,UAAU,IAAA;IACV,WAAW,IAAA;IACX,gBAAgB,IAAA;CACnB;AAED,oBAAY,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACzD,oBAAY,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAEtD,oBAAY,YAAY,GAAG;IACvB,IAAI,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAY,MAAM,OAAO,GAAG,gBAAgB,YAAY,KAAG,QA0B/E,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,OAAO,GAAG,KAAG,SAepD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-marks-tooltip.d.ts","sourceRoot":"","sources":["selection-marks-tooltip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElD,eAAO,MAAM,YAAY,cAAe,SAAS,YAAY,QAAQ,SAAS,KAAK;mBAUzD,UAAU;;yBAqBP,UAAU;wBAKX,OAAO;CAIlC,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,YAAa,WAAW,WAAW,MAAM,KAAG,OACxB,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["input.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGjD,eAAO,MAAM,UAAU,QACb,GAAG,KAAG,aAiBX,CAAC;AAEN,eAAO,MAAM,gBAAgB,QACnB,GAAG,KAAG,aAaX,CAAC;AAEN,eAAO,MAAM,WAAW,QACd,GAAG,KAAG,aAiBX,CAAC;AAEN,eAAO,MAAM,cAAc,EAAE,OA4B5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAkBlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAkB7B,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prosemirror.d.ts","sourceRoot":"","sources":["prosemirror.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAkB,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAiB,MAAM,iBAAiB,CAAC;AAEvG,oBAAY,QAAQ,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,OAAO,gBAAiB,WAAW,QAAQ,QAAQ,KAAG,OAIlE,CAAC;AAEF,eAAO,MAAM,eAAe,gBAAiB,WAAW,KAAG,OAU1D,CAAC;AAEF,eAAO,MAAM,aAAa,gBAAiB,WAAW,KAAG,OAC0B,CAAC;AAEpF,eAAO,MAAM,mBAAmB,gBAAiB,WAAW,QAAQ,QAAQ,KAAG,OACc,CAAC;AAE9F,eAAO,MAAM,aAAa,aAAc,QAAQ,QAAQ,IAAI,YAE3D,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["toggle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAe,GAAG,EAAgB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,gBAAgB,WACpB,GAAG,YACE,IAAI,+BAER,QAAQ,kBACE,QAAQ,KACzB,UAMD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milkdown/plugin-tooltip",
3
- "version": "5.3.1",
3
+ "version": "5.3.5",
4
4
  "type": "module",
5
5
  "main": "./lib/index.es.js",
6
6
  "types": "./lib/index.d.ts",
@@ -14,29 +14,20 @@
14
14
  "milkdown",
15
15
  "milkdown plugin"
16
16
  ],
17
- "peerDependencies": {
18
- "@milkdown/core": "*",
19
- "@milkdown/preset-gfm": "*",
20
- "@milkdown/plugin-math": "*"
21
- },
22
17
  "dependencies": {
23
- "@emotion/css": "^11.1.3",
24
- "@milkdown/utils": "5.3.1",
18
+ "@milkdown/core": "5.3.5",
19
+ "@milkdown/prose": "5.3.5",
20
+ "@milkdown/preset-gfm": "5.3.5",
21
+ "@milkdown/design-system": "5.3.5",
22
+ "@milkdown/plugin-math": "5.3.5",
23
+ "@milkdown/utils": "5.3.5",
25
24
  "tslib": "^2.3.1"
26
25
  },
27
- "devDependencies": {
28
- "@milkdown/core": "5.3.1",
29
- "@milkdown/prose": "5.3.1",
30
- "@milkdown/preset-gfm": "5.3.1",
31
- "@milkdown/design-system": "5.3.1",
32
- "@milkdown/plugin-math": "5.3.1"
33
- },
34
26
  "scripts": {
35
- "start": "vite",
36
- "watch": "vite build --watch",
27
+ "start": "vite build --watch",
37
28
  "test": "vitest",
38
29
  "tsc": "tsc --noEmit",
39
- "build": "vite build && tsc --emitDeclarationOnly"
30
+ "build": "vite build"
40
31
  },
41
32
  "readme": "# @milkdown/plugin-tooltip\n\nTooltip plugin for [milkdown](https://saul-mirone.github.io/milkdown/).\nAdd support for tooltip commands.\n\n# Example Usage\n\n```typescript\nimport { Editor } from '@milkdown/core';\nimport { commonmark } from '@milkdown/preset-commonmark';\nimport { nord } from '@milkdown/theme-nord';\n\nimport { tooltip } from '@milkdown/plugin-tooltip';\n\nEditor.make().use(nord).use(commonmark).use(tooltip).create();\n```\n\n# Placeholder\n\nModify the input widgets of link and image.\n\nExample:\n\n```typescript\nimport { tooltipPlugin, tooltip } from '@milkdown/plugin-tooltip';\n\nEditor.make().use(\n tooltip.configure(tooltipPlugin, {\n link: {\n placeholder: 'Please input link...',\n buttonText: 'Confirm',\n },\n image: {\n placeholder: 'Please input image link...',\n buttonText: 'OK',\n },\n inlineMath: {\n placeholder: 'Please input inline math...',\n },\n }),\n);\n```\n\n# License\n\nMilkdown is open sourced software licensed under [MIT license](https://github.com/Saul-Mirone/milkdown/blob/main/LICENSE).\n"
42
33
  }
@@ -1,8 +1,7 @@
1
1
  /* Copyright 2021, Milkdown by Mirone. */
2
- import { css } from '@emotion/css';
3
- import { ThemeTool } from '@milkdown/core';
2
+ import { Emotion, ThemeTool } from '@milkdown/core';
4
3
 
5
- export const injectStyle = (themeTool: ThemeTool) => {
4
+ export const injectStyle = (themeTool: ThemeTool, { css }: Emotion) => {
6
5
  const { palette, mixin, size } = themeTool;
7
6
  return css`
8
7
  display: inline-flex;
package/src/index.ts CHANGED
@@ -45,6 +45,12 @@ export const tooltipPlugin = create<string, InputOptions>((utils, options) => {
45
45
  manager.update(view);
46
46
  return false;
47
47
  },
48
+ handleDOMEvents: {
49
+ mousedown: () => {
50
+ manager.setHide(false);
51
+ return false;
52
+ },
53
+ },
48
54
  },
49
55
  view: (editorView) => {
50
56
  manager.render(editorView);
@@ -1,8 +1,7 @@
1
1
  /* Copyright 2021, Milkdown by Mirone. */
2
- import { css } from '@emotion/css';
3
- import { ThemeTool } from '@milkdown/core';
2
+ import { Emotion, ThemeTool } from '@milkdown/core';
4
3
 
5
- export const injectStyle = (themeTool: ThemeTool) => {
4
+ export const injectStyle = (themeTool: ThemeTool, { css }: Emotion) => {
6
5
  const { palette, mixin, size } = themeTool;
7
6
 
8
7
  return css`
@@ -1 +0,0 @@
1
- {"version":3,"file":"calc-button-pos.d.ts","sourceRoot":"","sources":["../../src/button-manager/calc-button-pos.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEpE,eAAO,MAAM,aAAa,YAAa,WAAW,QAAQ,UAAU,SAmBnE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-tooltip.d.ts","sourceRoot":"","sources":["../../src/button-manager/create-tooltip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,aAAK,OAAO,GAAG;IACX,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,aAAa,cAAe,SAAS,SAAS,KAAK,KAAG,OAmBlE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-button.d.ts","sourceRoot":"","sources":["../../src/button-manager/filter-button.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,eAAO,MAAM,YAAY,cAAe,SAAS,QAAQ,UAAU,YAqBlE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/button-manager/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,mBAAmB,cAAe,SAAS,SAAS,KAAK;;;yBAwBzC,UAAU;;CAUtC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-active.d.ts","sourceRoot":"","sources":["../../src/button-manager/no-active.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,eAAO,MAAM,QAAQ,cAAe,SAAS,QAAQ,UAAU,YAI9D,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ThemeTool } from '@milkdown/core';
2
- export declare const injectStyle: (themeTool: ThemeTool) => string;
3
- //# sourceMappingURL=style.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/button-manager/style.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,WAAW,cAAe,SAAS,WA6C/C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAA0B,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAuB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3D,eAAO,MAAM,GAAG,qBAA2C,CAAC;AAE5D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;EAiDxB,CAAC;AAEH,eAAO,MAAM,OAAO,uKAAqC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calc-input-pos.d.ts","sourceRoot":"","sources":["../../src/input-manager/calc-input-pos.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEpE,eAAO,MAAM,YAAY,SAAU,UAAU,SAAS,cAAc,SAenE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-input.d.ts","sourceRoot":"","sources":["../../src/input-manager/create-input.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI7C,eAAO,MAAM,WAAW,UAAW,KAAK;;;;CAiCvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-input.d.ts","sourceRoot":"","sources":["../../src/input-manager/filter-input.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,WAAW,gBACP,UAAU,YACb,QAAQ,OACb,cAAc,SACZ,gBAAgB,UACf,iBAAiB;;;;;;;;;;;;;;;cAsB5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/input-manager/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKvD,eAAO,MAAM,kBAAkB,aAAc,QAAQ,SAAS,KAAK;;;yBAgCtC,UAAU;yBAOV,UAAU;CAMtC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ThemeTool } from '@milkdown/core';
2
- export declare const injectStyle: (themeTool: ThemeTool) => string;
3
- //# sourceMappingURL=style.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/input-manager/style.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,WAAW,cAAe,SAAS,WA8D/C,CAAC"}
package/lib/item.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,UAAU,EAA0B,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAa5F,oBAAY,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;AACjD,oBAAY,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;AACjE,oBAAY,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAE/C,oBAAY,UAAU,GAAG;IACrB,CAAC,EAAE,WAAW,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,oBAAY,SAAS,GAAG;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB,GAAG,CACE;IACI,IAAI,EAAE,IAAI,CAAC;CACd,GACD;IACI,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB,CACN,CAAC;AAEF,oBAAY,YAAY;IACpB,UAAU,IAAA;IACV,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,UAAU,IAAA;IACV,UAAU,IAAA;CACb;AAED,oBAAY,WAAW;IACnB,UAAU,IAAA;IACV,WAAW,IAAA;IACX,gBAAgB,IAAA;CACnB;AAED,oBAAY,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACzD,oBAAY,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAEtD,oBAAY,YAAY,GAAG;IACvB,IAAI,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAY,MAAM,OAAO,GAAG,gBAAgB,YAAY,KAAG,QA0B/E,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,OAAO,GAAG,KAAG,SAepD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"selection-marks-tooltip.d.ts","sourceRoot":"","sources":["../src/selection-marks-tooltip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElD,eAAO,MAAM,YAAY,cAAe,SAAS,YAAY,QAAQ,SAAS,KAAK;mBAUzD,UAAU;;yBAqBP,UAAU;wBAKX,OAAO;CAIlC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/utility/element.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,YAAa,WAAW,WAAW,MAAM,KAAG,OACxB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/utility/input.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGjD,eAAO,MAAM,UAAU,QACb,GAAG,KAAG,aAiBX,CAAC;AAEN,eAAO,MAAM,gBAAgB,QACnB,GAAG,KAAG,aAaX,CAAC;AAEN,eAAO,MAAM,WAAW,QACd,GAAG,KAAG,aAiBX,CAAC;AAEN,eAAO,MAAM,cAAc,EAAE,OA4B5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAkBlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAkB7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prosemirror.d.ts","sourceRoot":"","sources":["../../src/utility/prosemirror.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAkB,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAiB,MAAM,iBAAiB,CAAC;AAEvG,oBAAY,QAAQ,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,OAAO,gBAAiB,WAAW,QAAQ,QAAQ,KAAG,OAIlE,CAAC;AAEF,eAAO,MAAM,eAAe,gBAAiB,WAAW,KAAG,OAU1D,CAAC;AAEF,eAAO,MAAM,aAAa,gBAAiB,WAAW,KAAG,OAC0B,CAAC;AAEpF,eAAO,MAAM,mBAAmB,gBAAiB,WAAW,QAAQ,QAAQ,KAAG,OACc,CAAC;AAE9F,eAAO,MAAM,aAAa,aAAc,QAAQ,QAAQ,IAAI,YAE3D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/utility/toggle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAe,GAAG,EAAgB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,gBAAgB,WACpB,GAAG,YACE,IAAI,+BAER,QAAQ,kBACE,QAAQ,KACzB,UAMD,CAAC"}