@gravity-ui/markdown-editor 15.8.0 → 15.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/build/cjs/bundle/MarkupEditorComponent.d.ts +2 -1
  2. package/build/cjs/bundle/MarkupEditorComponent.js +2 -2
  3. package/build/cjs/bundle/MarkupEditorComponent.js.map +1 -1
  4. package/build/cjs/bundle/MarkupEditorView.js +1 -1
  5. package/build/cjs/bundle/MarkupEditorView.js.map +1 -1
  6. package/build/cjs/bundle/ToolbarView.d.ts +3 -2
  7. package/build/cjs/bundle/ToolbarView.js +2 -2
  8. package/build/cjs/bundle/ToolbarView.js.map +1 -1
  9. package/build/cjs/bundle/WysiwygEditorComponent.d.ts +2 -1
  10. package/build/cjs/bundle/WysiwygEditorComponent.js +2 -2
  11. package/build/cjs/bundle/WysiwygEditorComponent.js.map +1 -1
  12. package/build/cjs/bundle/WysiwygEditorView.js +1 -1
  13. package/build/cjs/bundle/WysiwygEditorView.js.map +1 -1
  14. package/build/cjs/bundle/settings/index.d.ts +2 -1
  15. package/build/cjs/bundle/settings/index.js +3 -3
  16. package/build/cjs/bundle/settings/index.js.map +1 -1
  17. package/build/cjs/extensions/behavior/CommandMenu/component.js +1 -1
  18. package/build/cjs/extensions/behavior/CommandMenu/component.js.map +1 -1
  19. package/build/cjs/extensions/behavior/SelectionContext/index.d.ts +12 -0
  20. package/build/cjs/extensions/behavior/SelectionContext/index.js +5 -4
  21. package/build/cjs/extensions/behavior/SelectionContext/index.js.map +1 -1
  22. package/build/cjs/extensions/behavior/SelectionContext/tooltip.d.ts +11 -5
  23. package/build/cjs/extensions/behavior/SelectionContext/tooltip.js +30 -32
  24. package/build/cjs/extensions/behavior/SelectionContext/tooltip.js.map +1 -1
  25. package/build/cjs/extensions/markdown/Link/PlaceholderWidget/widget.js +1 -1
  26. package/build/cjs/extensions/markdown/Link/PlaceholderWidget/widget.js.map +1 -1
  27. package/build/cjs/extensions/markdown/Superscript/SuperscriptSpecs/index.js +2 -2
  28. package/build/cjs/extensions/markdown/Superscript/SuperscriptSpecs/index.js.map +1 -1
  29. package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/index.js +2 -2
  30. package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/index.js.map +1 -1
  31. package/build/cjs/extensions/yfm/Monospace/MonospaceSpecs/index.js +2 -2
  32. package/build/cjs/extensions/yfm/Monospace/MonospaceSpecs/index.js.map +1 -1
  33. package/build/cjs/extensions/yfm/Video/VideoSpecs/index.js +2 -3
  34. package/build/cjs/extensions/yfm/Video/VideoSpecs/index.js.map +1 -1
  35. package/build/cjs/extensions/yfm/YfmNote/YfmNoteSpecs/index.js +2 -2
  36. package/build/cjs/extensions/yfm/YfmNote/YfmNoteSpecs/index.js.map +1 -1
  37. package/build/cjs/extensions/yfm/YfmTable/YfmTableSpecs/index.js +2 -2
  38. package/build/cjs/extensions/yfm/YfmTable/YfmTableSpecs/index.js.map +1 -1
  39. package/build/cjs/modules/toolbars/items.js +2 -1
  40. package/build/cjs/modules/toolbars/items.js.map +1 -1
  41. package/build/cjs/toolbar/FlexToolbar.js +1 -1
  42. package/build/cjs/toolbar/FlexToolbar.js.map +1 -1
  43. package/build/cjs/toolbar/ToolbarButton.d.ts +1 -1
  44. package/build/cjs/toolbar/ToolbarButton.js +10 -8
  45. package/build/cjs/toolbar/ToolbarButton.js.map +1 -1
  46. package/build/cjs/toolbar/ToolbarListButton.d.ts +1 -1
  47. package/build/cjs/toolbar/ToolbarListButton.js +2 -2
  48. package/build/cjs/toolbar/ToolbarListButton.js.map +1 -1
  49. package/build/cjs/toolbar/types.d.ts +3 -3
  50. package/build/cjs/toolbar/types.js.map +1 -1
  51. package/build/cjs/version.js +1 -1
  52. package/build/cjs/version.js.map +1 -1
  53. package/build/cjs/view/components/YfmHtml/YfmStaticView.d.ts +3 -4
  54. package/build/cjs/view/components/YfmHtml/YfmStaticView.js.map +1 -1
  55. package/build/esm/bundle/MarkupEditorComponent.d.ts +2 -1
  56. package/build/esm/bundle/MarkupEditorComponent.js +2 -2
  57. package/build/esm/bundle/MarkupEditorComponent.js.map +1 -1
  58. package/build/esm/bundle/MarkupEditorView.js +1 -1
  59. package/build/esm/bundle/MarkupEditorView.js.map +1 -1
  60. package/build/esm/bundle/ToolbarView.d.ts +3 -2
  61. package/build/esm/bundle/ToolbarView.js +2 -2
  62. package/build/esm/bundle/ToolbarView.js.map +1 -1
  63. package/build/esm/bundle/WysiwygEditorComponent.d.ts +2 -1
  64. package/build/esm/bundle/WysiwygEditorComponent.js +2 -2
  65. package/build/esm/bundle/WysiwygEditorComponent.js.map +1 -1
  66. package/build/esm/bundle/WysiwygEditorView.js +1 -1
  67. package/build/esm/bundle/WysiwygEditorView.js.map +1 -1
  68. package/build/esm/bundle/settings/index.d.ts +2 -1
  69. package/build/esm/bundle/settings/index.js +3 -3
  70. package/build/esm/bundle/settings/index.js.map +1 -1
  71. package/build/esm/extensions/behavior/CommandMenu/component.js +1 -1
  72. package/build/esm/extensions/behavior/CommandMenu/component.js.map +1 -1
  73. package/build/esm/extensions/behavior/SelectionContext/index.d.ts +12 -0
  74. package/build/esm/extensions/behavior/SelectionContext/index.js +5 -4
  75. package/build/esm/extensions/behavior/SelectionContext/index.js.map +1 -1
  76. package/build/esm/extensions/behavior/SelectionContext/tooltip.d.ts +11 -5
  77. package/build/esm/extensions/behavior/SelectionContext/tooltip.js +30 -32
  78. package/build/esm/extensions/behavior/SelectionContext/tooltip.js.map +1 -1
  79. package/build/esm/extensions/markdown/Link/PlaceholderWidget/widget.js +1 -1
  80. package/build/esm/extensions/markdown/Link/PlaceholderWidget/widget.js.map +1 -1
  81. package/build/esm/extensions/markdown/Superscript/SuperscriptSpecs/index.js +1 -1
  82. package/build/esm/extensions/markdown/Superscript/SuperscriptSpecs/index.js.map +1 -1
  83. package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/index.js +1 -1
  84. package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/index.js.map +1 -1
  85. package/build/esm/extensions/yfm/Monospace/MonospaceSpecs/index.js +1 -1
  86. package/build/esm/extensions/yfm/Monospace/MonospaceSpecs/index.js.map +1 -1
  87. package/build/esm/extensions/yfm/Video/VideoSpecs/index.js +1 -1
  88. package/build/esm/extensions/yfm/Video/VideoSpecs/index.js.map +1 -1
  89. package/build/esm/extensions/yfm/YfmNote/YfmNoteSpecs/index.js +1 -1
  90. package/build/esm/extensions/yfm/YfmNote/YfmNoteSpecs/index.js.map +1 -1
  91. package/build/esm/extensions/yfm/YfmTable/YfmTableSpecs/index.js +1 -1
  92. package/build/esm/extensions/yfm/YfmTable/YfmTableSpecs/index.js.map +1 -1
  93. package/build/esm/modules/toolbars/items.js +2 -1
  94. package/build/esm/modules/toolbars/items.js.map +1 -1
  95. package/build/esm/toolbar/FlexToolbar.js +1 -1
  96. package/build/esm/toolbar/FlexToolbar.js.map +1 -1
  97. package/build/esm/toolbar/ToolbarButton.d.ts +1 -1
  98. package/build/esm/toolbar/ToolbarButton.js +10 -8
  99. package/build/esm/toolbar/ToolbarButton.js.map +1 -1
  100. package/build/esm/toolbar/ToolbarListButton.d.ts +1 -1
  101. package/build/esm/toolbar/ToolbarListButton.js +2 -2
  102. package/build/esm/toolbar/ToolbarListButton.js.map +1 -1
  103. package/build/esm/toolbar/types.d.ts +3 -3
  104. package/build/esm/toolbar/types.js.map +1 -1
  105. package/build/esm/version.js +1 -1
  106. package/build/esm/version.js.map +1 -1
  107. package/build/esm/view/components/YfmHtml/YfmStaticView.d.ts +3 -4
  108. package/build/esm/view/components/YfmHtml/YfmStaticView.js.map +1 -1
  109. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"../../../../../src","sources":["extensions/behavior/SelectionContext/tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {offset, shift} from '@floating-ui/react'; // eslint-disable-line import/no-extraneous-dependencies\nimport {Popup, type PopupProps} from '@gravity-ui/uikit';\nimport type {EditorState} from 'prosemirror-state';\nimport type {EditorView} from 'prosemirror-view';\n\nimport type {ActionStorage} from '../../../core';\nimport {isFunction} from '../../../lodash';\nimport {type Logger2, globalLogger} from '../../../logger';\nimport {ErrorLoggerBoundary} from '../../../react-utils/ErrorBoundary';\nimport {Toolbar} from '../../../toolbar';\nimport type {\n ToolbarButtonPopupData,\n ToolbarGroupItemData,\n ToolbarProps,\n ToolbarSingleItemData,\n} from '../../../toolbar';\nimport {type RendererItem, getReactRendererFromState} from '../ReactRenderer';\n\ntype SelectionTooltipBaseProps = {\n show?: boolean;\n poppupProps: PopupProps;\n};\ntype SelectionTooltipProps = SelectionTooltipBaseProps & ToolbarProps<ActionStorage>;\n\nconst SelectionTooltip: React.FC<SelectionTooltipProps> = ({\n show,\n poppupProps,\n ...toolbarProps\n}) => {\n if (!show) return null;\n return (\n <Popup open {...poppupProps} style={{padding: '4px 8px'}}>\n <Toolbar {...toolbarProps} />\n </Popup>\n );\n};\n\nexport type ContextGroupItemData =\n | (ToolbarGroupItemData<ActionStorage> & {\n condition?: (state: EditorState) => void;\n })\n | ((ToolbarSingleItemData<ActionStorage> | ToolbarButtonPopupData<ActionStorage>) & {\n condition?: 'enabled';\n });\n\nexport type ContextGroupData = ContextGroupItemData[];\nexport type ContextConfig = ContextGroupData[];\n\nexport class TooltipView {\n #isTooltipOpen = false;\n\n private logger: Logger2.ILogger;\n private actions: ActionStorage;\n private menuConfig: ContextConfig;\n\n private view!: EditorView;\n private baseProps: SelectionTooltipBaseProps = {show: false, poppupProps: {}};\n private _tooltipRenderItem: RendererItem | null = null;\n\n constructor(actions: ActionStorage, menuConfig: ContextConfig, logger: Logger2.ILogger) {\n this.logger = logger;\n this.actions = actions;\n this.menuConfig = menuConfig;\n }\n\n get isTooltipOpen(): boolean {\n return this.#isTooltipOpen;\n }\n\n show(view: EditorView, popupProps?: PopupProps) {\n this.view = view;\n this.#isTooltipOpen = true;\n this.baseProps = {\n show: true,\n poppupProps: {\n ...popupProps,\n ...this.calcPosition(view),\n },\n };\n this.renderPopup();\n }\n\n hide(view: EditorView) {\n this.view = view;\n this.#isTooltipOpen = false;\n this.baseProps = {show: false, poppupProps: {}};\n this.renderPopup();\n }\n\n destroy() {\n this._tooltipRenderItem?.remove();\n this._tooltipRenderItem = null;\n }\n\n private getSelectionTooltipProps(): SelectionTooltipProps {\n return {\n ...this.baseProps,\n focus: () => this.view.focus(),\n data: this.getFilteredConfig(),\n editor: this.actions,\n onClick: (id) => {\n globalLogger.action({mode: 'wysiwyg', source: 'context-menu', action: id});\n this.logger.action({source: 'context-menu', action: id});\n },\n };\n }\n\n private getFilteredConfig(): ContextConfig {\n return this.baseProps.show\n ? this.menuConfig\n .map((groupData) =>\n groupData.filter((item) => {\n const {condition} = item;\n if (condition === 'enabled') {\n return item.isEnable(this.actions);\n }\n if (isFunction(condition)) {\n return condition(this.view.state);\n }\n return true;\n }),\n )\n .filter((groupData) => Boolean(groupData.length))\n : [];\n }\n\n private renderPopup() {\n this.tooltipRenderItem.rerender();\n }\n\n private get tooltipRenderItem() {\n if (!this._tooltipRenderItem) {\n const reactRenderer = getReactRendererFromState(this.view.state);\n this._tooltipRenderItem = reactRenderer.createItem('selection_context', () => (\n <ErrorLoggerBoundary>\n <SelectionTooltip {...this.getSelectionTooltipProps()} />\n </ErrorLoggerBoundary>\n ));\n }\n return this._tooltipRenderItem;\n }\n\n private calcPosition(view: EditorView): PopupProps {\n const viewDom = view.dom as Element;\n // The box in which the tooltip is positioned, to use as base\n const viewBox = viewDom.getBoundingClientRect();\n\n const viewWidth = viewBox.right - viewBox.left;\n const viewHalfWidth = viewWidth / 2;\n\n // These are in screen coordinates\n const start = view.coordsAtPos(view.state.selection.from);\n const end = view.coordsAtPos(view.state.selection.to);\n\n // Find a center-ish x position from the selection endpoints (when\n // crossing lines, end may be more to the left)\n const left = Math.max((start.left + end.left) / 2, start.left + 3);\n\n const leftOffset = left - (viewBox.left + viewHalfWidth);\n const bottomOffset = -(viewBox.bottom - end.bottom) + this.popupTextOffset;\n\n return {\n placement: 'bottom',\n anchorElement: viewDom,\n // override floating middlewares\n floatingMiddlewares: [\n offset({\n mainAxis: bottomOffset,\n crossAxis: leftOffset,\n }),\n shift({\n mainAxis: true,\n crossAxis: false,\n padding: 4,\n }),\n ],\n };\n }\n\n private get popupTextOffset() {\n return 4; // 4px offset from text selection\n }\n}\n"]}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"../../../../../src","sources":["extensions/behavior/SelectionContext/tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {VirtualElement} from '@floating-ui/react'; // eslint-disable-line import/no-extraneous-dependencies\nimport {Popup, type PopupPlacement, type PopupProps} from '@gravity-ui/uikit';\nimport type {EditorState} from 'prosemirror-state';\nimport type {EditorView} from 'prosemirror-view';\n\nimport type {ActionStorage} from '../../../core';\nimport {isFunction} from '../../../lodash';\nimport {type Logger2, globalLogger} from '../../../logger';\nimport {ErrorLoggerBoundary} from '../../../react-utils/ErrorBoundary';\nimport {Toolbar} from '../../../toolbar';\nimport type {\n ToolbarButtonPopupData,\n ToolbarGroupItemData,\n ToolbarProps,\n ToolbarSingleItemData,\n} from '../../../toolbar';\nimport {type RendererItem, getReactRendererFromState} from '../ReactRenderer';\n\ntype SelectionTooltipBaseProps = {\n show?: boolean;\n poppupProps: PopupProps;\n};\ntype SelectionTooltipProps = SelectionTooltipBaseProps & ToolbarProps<ActionStorage>;\n\nconst SelectionTooltip: React.FC<SelectionTooltipProps> = ({\n show,\n poppupProps,\n ...toolbarProps\n}) => {\n if (!show) return null;\n return (\n <Popup open {...poppupProps} style={{padding: '4px 8px'}}>\n <Toolbar {...toolbarProps} />\n </Popup>\n );\n};\n\nexport type ContextGroupItemData =\n | (ToolbarGroupItemData<ActionStorage> & {\n condition?: (state: EditorState) => void;\n })\n | ((ToolbarSingleItemData<ActionStorage> | ToolbarButtonPopupData<ActionStorage>) & {\n condition?: 'enabled';\n });\n\nexport type ContextGroupData = ContextGroupItemData[];\nexport type ContextConfig = ContextGroupData[];\n\nexport type TooltipViewParams = {\n /** @default 'bottom' */\n placement?: 'top' | 'bottom';\n /** @default false */\n flip?: boolean;\n};\n\nexport class TooltipView {\n #isTooltipOpen = false;\n\n private readonly logger: Logger2.ILogger;\n private readonly actions: ActionStorage;\n private readonly menuConfig: ContextConfig;\n private readonly placement: PopupPlacement;\n\n private view!: EditorView;\n private baseProps: SelectionTooltipBaseProps = {show: false, poppupProps: {}};\n private _tooltipRenderItem: RendererItem | null = null;\n\n constructor(\n actions: ActionStorage,\n menuConfig: ContextConfig,\n logger: Logger2.ILogger,\n params: TooltipViewParams,\n ) {\n this.logger = logger;\n this.actions = actions;\n this.menuConfig = menuConfig;\n\n const {flip, placement = 'bottom'} = params;\n this.placement = flip ? placement : [placement];\n }\n\n get isTooltipOpen(): boolean {\n return this.#isTooltipOpen;\n }\n\n show(view: EditorView, popupProps?: PopupProps) {\n this.view = view;\n this.#isTooltipOpen = true;\n this.baseProps = {\n show: true,\n poppupProps: {\n ...popupProps,\n ...this.calcPosition(view),\n },\n };\n this.renderPopup();\n }\n\n hide(view: EditorView) {\n this.view = view;\n this.#isTooltipOpen = false;\n this.baseProps = {show: false, poppupProps: {}};\n this.renderPopup();\n }\n\n destroy() {\n this._tooltipRenderItem?.remove();\n this._tooltipRenderItem = null;\n }\n\n private getSelectionTooltipProps(): SelectionTooltipProps {\n return {\n ...this.baseProps,\n focus: () => this.view.focus(),\n data: this.getFilteredConfig(),\n editor: this.actions,\n onClick: (id) => {\n globalLogger.action({mode: 'wysiwyg', source: 'context-menu', action: id});\n this.logger.action({source: 'context-menu', action: id});\n },\n };\n }\n\n private getFilteredConfig(): ContextConfig {\n return this.baseProps.show\n ? this.menuConfig\n .map((groupData) =>\n groupData.filter((item) => {\n const {condition} = item;\n if (condition === 'enabled') {\n return item.isEnable(this.actions);\n }\n if (isFunction(condition)) {\n return condition(this.view.state);\n }\n return true;\n }),\n )\n .filter((groupData) => Boolean(groupData.length))\n : [];\n }\n\n private renderPopup() {\n this.tooltipRenderItem.rerender();\n }\n\n private get tooltipRenderItem() {\n if (!this._tooltipRenderItem) {\n const reactRenderer = getReactRendererFromState(this.view.state);\n this._tooltipRenderItem = reactRenderer.createItem('selection_context', () => (\n <ErrorLoggerBoundary>\n <SelectionTooltip {...this.getSelectionTooltipProps()} />\n </ErrorLoggerBoundary>\n ));\n }\n return this._tooltipRenderItem;\n }\n\n private calcPosition(view: EditorView): PopupProps {\n const virtualElem: VirtualElement = {\n getBoundingClientRect() {\n // These are in screen coordinates\n const start = view.coordsAtPos(view.state.selection.from);\n const end = view.coordsAtPos(view.state.selection.to);\n // Find a center-ish x position from the selection endpoints (when\n // crossing lines, end may be more to the left)\n const yCenter = Math.max((start.left + end.left) / 2, start.left + 3);\n\n const top = start.top;\n const left = yCenter - 1;\n const width = 2;\n const height = end.bottom - start.top;\n\n return {\n top,\n left,\n right: left + width,\n bottom: top + height,\n y: top,\n x: left,\n height,\n width,\n };\n },\n };\n\n return {\n placement: this.placement,\n anchorElement: virtualElem,\n };\n }\n}\n"]}
@@ -12,7 +12,7 @@ const b = (0, classname_1.cn)('link-placeholder-widget');
12
12
  const placement = ['bottom-start', 'top-start', 'bottom-end', 'top-end'];
13
13
  const LinkPlaceholderWidget = ({ onCancel, onSubmit, }) => {
14
14
  const [anchor, setAnchor] = (0, react_utils_1.useElementState)();
15
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { ref: setAnchor, className: b(), children: (0, jsx_runtime_1.jsx)("a", { href: "#", children: (0, widgets_1.i18n)('link') }) }), (0, jsx_runtime_1.jsx)(uikit_1.Popup, { open: true, modal: true, onOpenChange: onCancel, anchorElement: anchor, placement: placement, children: (0, jsx_runtime_1.jsx)(LinkForm_1.LinkForm, { autoFocus: true, onSubmit: onSubmit, onCancel: onCancel }) })] }));
15
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { ref: setAnchor, className: b(), children: (0, jsx_runtime_1.jsx)("a", { href: "#", children: (0, widgets_1.i18n)('link') }) }), (0, jsx_runtime_1.jsx)(uikit_1.Popup, { qa: "g-md-link-form", open: true, modal: true, onOpenChange: onCancel, anchorElement: anchor, placement: placement, children: (0, jsx_runtime_1.jsx)(LinkForm_1.LinkForm, { autoFocus: true, onSubmit: onSubmit, onCancel: onCancel }) })] }));
16
16
  };
17
17
  exports.LinkPlaceholderWidget = LinkPlaceholderWidget;
18
18
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"../../../../../../src","sources":["extensions/markdown/Link/PlaceholderWidget/widget.tsx"],"names":[],"mappings":";;;;AAAA,6CAA6D;AAE7D,wDAAyC;AACzC,4DAAwE;AACxE,+DAA8C;AAC9C,kEAAwD;AAExD,wBAAuB;AAEvB,MAAM,CAAC,GAAG,IAAA,cAAE,EAAC,yBAAyB,CAAC,CAAC;AACxC,MAAM,SAAS,GAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAOlF,MAAM,qBAAqB,GAAyC,CAAC,EACxE,QAAQ,EACR,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,6BAAe,GAAE,CAAC;IAC9C,OAAO,CACH,6DACI,iCAAM,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,YAEhC,8BAAG,IAAI,EAAC,GAAG,YAAE,IAAA,cAAI,EAAC,MAAM,CAAC,GAAK,GAC3B,EACP,uBAAC,aAAK,IAAC,IAAI,QAAC,KAAK,QAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,YACjF,uBAAC,mBAAQ,IAAC,SAAS,QAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,GAC1D,IACT,CACN,CAAC;AACN,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC","sourcesContent":["import {Popup, type PopupPlacement} from '@gravity-ui/uikit';\n\nimport {cn} from '../../../../classname';\nimport {LinkForm, type LinkFormProps} from '../../../../forms/LinkForm';\nimport {i18n} from '../../../../i18n/widgets';\nimport {useElementState} from '../../../../react-utils';\n\nimport './widget.scss';\n\nconst b = cn('link-placeholder-widget');\nconst placement: PopupPlacement = ['bottom-start', 'top-start', 'bottom-end', 'top-end'];\n\nexport type LinkPlaceholderWidgetProps = {\n onCancel: () => void;\n onSubmit: LinkFormProps['onSubmit'];\n};\n\nexport const LinkPlaceholderWidget: React.FC<LinkPlaceholderWidgetProps> = ({\n onCancel,\n onSubmit,\n}) => {\n const [anchor, setAnchor] = useElementState();\n return (\n <>\n <span ref={setAnchor} className={b()}>\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a href=\"#\">{i18n('link')}</a>\n </span>\n <Popup open modal onOpenChange={onCancel} anchorElement={anchor} placement={placement}>\n <LinkForm autoFocus onSubmit={onSubmit} onCancel={onCancel} />\n </Popup>\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"widget.js","sourceRoot":"../../../../../../src","sources":["extensions/markdown/Link/PlaceholderWidget/widget.tsx"],"names":[],"mappings":";;;;AAAA,6CAA6D;AAE7D,wDAAyC;AACzC,4DAAwE;AACxE,+DAA8C;AAC9C,kEAAwD;AAExD,wBAAuB;AAEvB,MAAM,CAAC,GAAG,IAAA,cAAE,EAAC,yBAAyB,CAAC,CAAC;AACxC,MAAM,SAAS,GAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAOlF,MAAM,qBAAqB,GAAyC,CAAC,EACxE,QAAQ,EACR,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,6BAAe,GAAE,CAAC;IAC9C,OAAO,CACH,6DACI,iCAAM,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,YAEhC,8BAAG,IAAI,EAAC,GAAG,YAAE,IAAA,cAAI,EAAC,MAAM,CAAC,GAAK,GAC3B,EACP,uBAAC,aAAK,IACF,EAAE,EAAC,gBAAgB,EACnB,IAAI,QACJ,KAAK,QACL,YAAY,EAAE,QAAQ,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,YAEpB,uBAAC,mBAAQ,IAAC,SAAS,QAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,GAC1D,IACT,CACN,CAAC;AACN,CAAC,CAAC;AAvBW,QAAA,qBAAqB,yBAuBhC","sourcesContent":["import {Popup, type PopupPlacement} from '@gravity-ui/uikit';\n\nimport {cn} from '../../../../classname';\nimport {LinkForm, type LinkFormProps} from '../../../../forms/LinkForm';\nimport {i18n} from '../../../../i18n/widgets';\nimport {useElementState} from '../../../../react-utils';\n\nimport './widget.scss';\n\nconst b = cn('link-placeholder-widget');\nconst placement: PopupPlacement = ['bottom-start', 'top-start', 'bottom-end', 'top-end'];\n\nexport type LinkPlaceholderWidgetProps = {\n onCancel: () => void;\n onSubmit: LinkFormProps['onSubmit'];\n};\n\nexport const LinkPlaceholderWidget: React.FC<LinkPlaceholderWidgetProps> = ({\n onCancel,\n onSubmit,\n}) => {\n const [anchor, setAnchor] = useElementState();\n return (\n <>\n <span ref={setAnchor} className={b()}>\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a href=\"#\">{i18n('link')}</a>\n </span>\n <Popup\n qa=\"g-md-link-form\"\n open\n modal\n onOpenChange={onCancel}\n anchorElement={anchor}\n placement={placement}\n >\n <LinkForm autoFocus onSubmit={onSubmit} onCancel={onCancel} />\n </Popup>\n </>\n );\n};\n"]}
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuperscriptSpecs = exports.superscriptType = exports.superscriptMarkName = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const log_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/log.js"));
5
+ const log_js_1 = require("@diplodoc/transform/lib/log.js");
6
6
  const sup_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/plugins/sup.js"));
7
7
  const schema_1 = require("../../../../utils/schema.js");
8
8
  exports.superscriptMarkName = 'sup';
9
9
  exports.superscriptType = (0, schema_1.markTypeFactory)(exports.superscriptMarkName);
10
10
  const SuperscriptSpecs = (builder) => {
11
11
  builder
12
- .configureMd((md) => md.use(sup_js_1.default, { log: log_js_1.default }))
12
+ .configureMd((md) => md.use(sup_js_1.default, { log: log_js_1.log }))
13
13
  .addMark(exports.superscriptMarkName, () => ({
14
14
  spec: {
15
15
  excludes: '_',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/markdown/Superscript/SuperscriptSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,oFAAiD;AACjD,4FAAyD;AAGzD,wDAAyD;AAE5C,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAC5B,QAAA,eAAe,GAAG,IAAA,wBAAe,EAAC,2BAAmB,CAAC,CAAC;AAE7D,MAAM,gBAAgB,GAAkB,CAAC,OAAO,EAAE,EAAE;IACvD,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAG,EAAE,EAAC,GAAG,EAAH,gBAAG,EAAC,CAAC,CAAC;SACvC,OAAO,CAAC,2BAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE;YACF,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;YACxB,KAAK;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACZ,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACb,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC/B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,EAAE,IAAI;YACb,wBAAwB,EAAE,IAAI;SACjC;QACD,MAAM,EAAE,EAAC,SAAS,EAAE,EAAC,IAAI,EAAE,2BAAmB,EAAE,IAAI,EAAE,MAAM,EAAC,EAAC;KACjE,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport sup from '@diplodoc/transform/lib/plugins/sup.js';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {markTypeFactory} from '../../../../utils/schema';\n\nexport const superscriptMarkName = 'sup';\nexport const superscriptType = markTypeFactory(superscriptMarkName);\n\nexport const SuperscriptSpecs: ExtensionAuto = (builder) => {\n builder\n .configureMd((md) => md.use(sup, {log}))\n .addMark(superscriptMarkName, () => ({\n spec: {\n excludes: '_',\n parseDOM: [{tag: 'sup'}],\n toDOM() {\n return ['sup'];\n },\n },\n toMd: {\n open: (state) => {\n state.escapeWhitespace = true;\n return '^';\n },\n close: (state) => {\n state.escapeWhitespace = false;\n return '^';\n },\n mixable: true,\n expelEnclosingWhitespace: true,\n },\n fromMd: {tokenSpec: {name: superscriptMarkName, type: 'mark'}},\n }));\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/markdown/Superscript/SuperscriptSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAmD;AACnD,4FAAyD;AAGzD,wDAAyD;AAE5C,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAC5B,QAAA,eAAe,GAAG,IAAA,wBAAe,EAAC,2BAAmB,CAAC,CAAC;AAE7D,MAAM,gBAAgB,GAAkB,CAAC,OAAO,EAAE,EAAE;IACvD,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAG,EAAE,EAAC,GAAG,EAAH,YAAG,EAAC,CAAC,CAAC;SACvC,OAAO,CAAC,2BAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE;YACF,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;YACxB,KAAK;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACZ,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC9B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACb,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC/B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,EAAE,IAAI;YACb,wBAAwB,EAAE,IAAI;SACjC;QACD,MAAM,EAAE,EAAC,SAAS,EAAE,EAAC,IAAI,EAAE,2BAAmB,EAAE,IAAI,EAAE,MAAM,EAAC,EAAC;KACjE,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B","sourcesContent":["import {log} from '@diplodoc/transform/lib/log.js';\nimport sup from '@diplodoc/transform/lib/plugins/sup.js';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {markTypeFactory} from '../../../../utils/schema';\n\nexport const superscriptMarkName = 'sup';\nexport const superscriptType = markTypeFactory(superscriptMarkName);\n\nexport const SuperscriptSpecs: ExtensionAuto = (builder) => {\n builder\n .configureMd((md) => md.use(sup, {log}))\n .addMark(superscriptMarkName, () => ({\n spec: {\n excludes: '_',\n parseDOM: [{tag: 'sup'}],\n toDOM() {\n return ['sup'];\n },\n },\n toMd: {\n open: (state) => {\n state.escapeWhitespace = true;\n return '^';\n },\n close: (state) => {\n state.escapeWhitespace = false;\n return '^';\n },\n mixable: true,\n expelEnclosingWhitespace: true,\n },\n fromMd: {tokenSpec: {name: superscriptMarkName, type: 'mark'}},\n }));\n};\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImgSizeSpecs = exports.ImgSizeAttr = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const log_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/log.js"));
5
+ const log_js_1 = require("@diplodoc/transform/lib/log.js");
6
6
  const index_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/plugins/imsize/index.js"));
7
7
  const is_number_1 = tslib_1.__importDefault(require("is-number"));
8
8
  const const_1 = require("../../../markdown/Image/const.js");
@@ -10,7 +10,7 @@ const const_2 = require("./const.js");
10
10
  Object.defineProperty(exports, "ImgSizeAttr", { enumerable: true, get: function () { return const_2.ImgSizeAttr; } });
11
11
  const ImgSizeSpecs = (builder, opts) => {
12
12
  const placeholderContent = builder.context.get('placeholder')?.imgSize;
13
- builder.configureMd((md) => md.use(index_js_1.default, { log: log_js_1.default, enableInlineStyling: true }));
13
+ builder.configureMd((md) => md.use(index_js_1.default, { log: log_js_1.log, enableInlineStyling: true }));
14
14
  builder.addNode(const_1.imageNodeName, () => ({
15
15
  spec: {
16
16
  inline: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/ImgSize/ImgSizeSpecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport imsize from '@diplodoc/transform/lib/plugins/imsize/index.js';\nimport isNumber from 'is-number';\nimport type {NodeSpec} from 'prosemirror-model';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {imageNodeName} from '../../../markdown/Image/const';\n\nimport {ImgSizeAttr} from './const';\n\ntype ImsizeTypedAttributes = {\n [ImgSizeAttr.Src]: string;\n [ImgSizeAttr.Title]: string | null;\n [ImgSizeAttr.Alt]: string | null;\n [ImgSizeAttr.Width]: string | null;\n [ImgSizeAttr.Height]: string | null;\n [ImgSizeAttr.Loading]: string | null;\n};\n\nexport {ImgSizeAttr};\n\nexport type ImgSizeSpecsOptions = {\n /**\n * @deprecated: use placeholder option in BehaviorPreset instead.\n */\n placeholder?: NodeSpec['placeholder'];\n};\n\nexport const ImgSizeSpecs: ExtensionAuto<ImgSizeSpecsOptions> = (builder, opts) => {\n const placeholderContent = builder.context.get('placeholder')?.imgSize;\n\n builder.configureMd((md) => md.use(imsize, {log, enableInlineStyling: true}));\n builder.addNode(imageNodeName, () => ({\n spec: {\n inline: true,\n attrs: {\n [ImgSizeAttr.Src]: {},\n [ImgSizeAttr.Alt]: {default: null},\n [ImgSizeAttr.Title]: {default: null},\n [ImgSizeAttr.Height]: {default: null},\n [ImgSizeAttr.Width]: {default: null},\n [ImgSizeAttr.Loading]: {default: null},\n },\n placeholder: placeholderContent ? {content: placeholderContent} : opts.placeholder,\n group: 'inline',\n draggable: true,\n parseDOM: [\n {\n tag: 'img[src]',\n getAttrs(dom) {\n const height = (dom as Element).getAttribute(ImgSizeAttr.Height);\n const width = (dom as Element).getAttribute(ImgSizeAttr.Width);\n\n return {\n [ImgSizeAttr.Src]: (dom as Element).getAttribute(ImgSizeAttr.Src),\n [ImgSizeAttr.Alt]: (dom as Element).getAttribute(ImgSizeAttr.Alt),\n [ImgSizeAttr.Title]: (dom as Element).getAttribute(ImgSizeAttr.Title),\n [ImgSizeAttr.Loading]: (dom as Element).getAttribute(\n ImgSizeAttr.Loading,\n ),\n [ImgSizeAttr.Height]: isNumber(height) ? height : null,\n [ImgSizeAttr.Width]: isNumber(width) ? height : null,\n };\n },\n },\n ],\n toDOM(node) {\n return ['img', node.attrs];\n },\n },\n fromMd: {\n tokenSpec: {\n name: imageNodeName,\n type: 'node',\n getAttrs: (tok): ImsizeTypedAttributes => ({\n [ImgSizeAttr.Src]: tok.attrGet(ImgSizeAttr.Src)!,\n [ImgSizeAttr.Title]: tok.attrGet(ImgSizeAttr.Title),\n [ImgSizeAttr.Height]: tok.attrGet(ImgSizeAttr.Height),\n [ImgSizeAttr.Width]: tok.attrGet(ImgSizeAttr.Width),\n [ImgSizeAttr.Loading]: tok.attrGet(ImgSizeAttr.Loading),\n [ImgSizeAttr.Alt]: tok.children?.[0]?.content || null,\n }),\n },\n },\n toMd: (state, node) => {\n const attrs = node.attrs as ImsizeTypedAttributes;\n let result = '![';\n\n if (attrs.alt) {\n result += state.esc(attrs.alt);\n }\n\n result += '](';\n\n if (attrs.src) {\n result += state.esc(attrs.src);\n }\n\n if (attrs.title) {\n result += ` ${state.quote(attrs.title)}`;\n }\n\n result += getSize(attrs);\n result += ')';\n\n state.write(result);\n },\n }));\n};\n\nfunction getSize({width, height}: ImsizeTypedAttributes): string {\n if (width || height) {\n return ` =${width || ''}x${height || ''}`;\n }\n\n return '';\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/ImgSize/ImgSizeSpecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {log} from '@diplodoc/transform/lib/log.js';\nimport imsize from '@diplodoc/transform/lib/plugins/imsize/index.js';\nimport isNumber from 'is-number';\nimport type {NodeSpec} from 'prosemirror-model';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {imageNodeName} from '../../../markdown/Image/const';\n\nimport {ImgSizeAttr} from './const';\n\ntype ImsizeTypedAttributes = {\n [ImgSizeAttr.Src]: string;\n [ImgSizeAttr.Title]: string | null;\n [ImgSizeAttr.Alt]: string | null;\n [ImgSizeAttr.Width]: string | null;\n [ImgSizeAttr.Height]: string | null;\n [ImgSizeAttr.Loading]: string | null;\n};\n\nexport {ImgSizeAttr};\n\nexport type ImgSizeSpecsOptions = {\n /**\n * @deprecated: use placeholder option in BehaviorPreset instead.\n */\n placeholder?: NodeSpec['placeholder'];\n};\n\nexport const ImgSizeSpecs: ExtensionAuto<ImgSizeSpecsOptions> = (builder, opts) => {\n const placeholderContent = builder.context.get('placeholder')?.imgSize;\n\n builder.configureMd((md) => md.use(imsize, {log, enableInlineStyling: true}));\n builder.addNode(imageNodeName, () => ({\n spec: {\n inline: true,\n attrs: {\n [ImgSizeAttr.Src]: {},\n [ImgSizeAttr.Alt]: {default: null},\n [ImgSizeAttr.Title]: {default: null},\n [ImgSizeAttr.Height]: {default: null},\n [ImgSizeAttr.Width]: {default: null},\n [ImgSizeAttr.Loading]: {default: null},\n },\n placeholder: placeholderContent ? {content: placeholderContent} : opts.placeholder,\n group: 'inline',\n draggable: true,\n parseDOM: [\n {\n tag: 'img[src]',\n getAttrs(dom) {\n const height = (dom as Element).getAttribute(ImgSizeAttr.Height);\n const width = (dom as Element).getAttribute(ImgSizeAttr.Width);\n\n return {\n [ImgSizeAttr.Src]: (dom as Element).getAttribute(ImgSizeAttr.Src),\n [ImgSizeAttr.Alt]: (dom as Element).getAttribute(ImgSizeAttr.Alt),\n [ImgSizeAttr.Title]: (dom as Element).getAttribute(ImgSizeAttr.Title),\n [ImgSizeAttr.Loading]: (dom as Element).getAttribute(\n ImgSizeAttr.Loading,\n ),\n [ImgSizeAttr.Height]: isNumber(height) ? height : null,\n [ImgSizeAttr.Width]: isNumber(width) ? height : null,\n };\n },\n },\n ],\n toDOM(node) {\n return ['img', node.attrs];\n },\n },\n fromMd: {\n tokenSpec: {\n name: imageNodeName,\n type: 'node',\n getAttrs: (tok): ImsizeTypedAttributes => ({\n [ImgSizeAttr.Src]: tok.attrGet(ImgSizeAttr.Src)!,\n [ImgSizeAttr.Title]: tok.attrGet(ImgSizeAttr.Title),\n [ImgSizeAttr.Height]: tok.attrGet(ImgSizeAttr.Height),\n [ImgSizeAttr.Width]: tok.attrGet(ImgSizeAttr.Width),\n [ImgSizeAttr.Loading]: tok.attrGet(ImgSizeAttr.Loading),\n [ImgSizeAttr.Alt]: tok.children?.[0]?.content || null,\n }),\n },\n },\n toMd: (state, node) => {\n const attrs = node.attrs as ImsizeTypedAttributes;\n let result = '![';\n\n if (attrs.alt) {\n result += state.esc(attrs.alt);\n }\n\n result += '](';\n\n if (attrs.src) {\n result += state.esc(attrs.src);\n }\n\n if (attrs.title) {\n result += ` ${state.quote(attrs.title)}`;\n }\n\n result += getSize(attrs);\n result += ')';\n\n state.write(result);\n },\n }));\n};\n\nfunction getSize({width, height}: ImsizeTypedAttributes): string {\n if (width || height) {\n return ` =${width || ''}x${height || ''}`;\n }\n\n return '';\n}\n"]}
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MonospaceSpecs = exports.monospaceType = exports.monospaceMarkName = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const log_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/log.js"));
5
+ const log_js_1 = require("@diplodoc/transform/lib/log.js");
6
6
  const monospace_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/plugins/monospace.js"));
7
7
  const schema_1 = require("../../../../utils/schema.js");
8
8
  exports.monospaceMarkName = 'monospace';
9
9
  exports.monospaceType = (0, schema_1.markTypeFactory)(exports.monospaceMarkName);
10
10
  const MonospaceSpecs = (builder) => {
11
11
  builder
12
- .configureMd((md) => md.use(monospace_js_1.default, { log: log_js_1.default }))
12
+ .configureMd((md) => md.use(monospace_js_1.default, { log: log_js_1.log }))
13
13
  .addMark(exports.monospaceMarkName, () => ({
14
14
  spec: {
15
15
  parseDOM: [{ tag: 'samp' }],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Monospace/MonospaceSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,oFAAiD;AACjD,wGAAqE;AAGrE,wDAAyD;AAE5C,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAChC,QAAA,aAAa,GAAG,IAAA,wBAAe,EAAC,yBAAiB,CAAC,CAAC;AAEzD,MAAM,cAAc,GAAkB,CAAC,OAAO,EAAE,EAAE;IACrD,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAS,EAAE,EAAC,GAAG,EAAH,gBAAG,EAAC,CAAC,CAAC;SAC7C,OAAO,CAAC,yBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE;YACF,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC;YACzB,KAAK;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;SACJ;QACD,MAAM,EAAE;YACJ,SAAS,EAAE;gBACP,IAAI,EAAE,yBAAiB;gBACvB,IAAI,EAAE,MAAM;aACf;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,wBAAwB,EAAE,IAAI;SACjC;KACJ,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAvBW,QAAA,cAAc,kBAuBzB","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport yfmPlugin from '@diplodoc/transform/lib/plugins/monospace.js';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {markTypeFactory} from '../../../../utils/schema';\n\nexport const monospaceMarkName = 'monospace';\nexport const monospaceType = markTypeFactory(monospaceMarkName);\n\nexport const MonospaceSpecs: ExtensionAuto = (builder) => {\n builder\n .configureMd((md) => md.use(yfmPlugin, {log}))\n .addMark(monospaceMarkName, () => ({\n spec: {\n parseDOM: [{tag: 'samp'}],\n toDOM() {\n return ['samp'];\n },\n },\n fromMd: {\n tokenSpec: {\n name: monospaceMarkName,\n type: 'mark',\n },\n },\n toMd: {\n open: '##',\n close: '##',\n mixable: true,\n expelEnclosingWhitespace: true,\n },\n }));\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Monospace/MonospaceSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAmD;AACnD,wGAAqE;AAGrE,wDAAyD;AAE5C,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAChC,QAAA,aAAa,GAAG,IAAA,wBAAe,EAAC,yBAAiB,CAAC,CAAC;AAEzD,MAAM,cAAc,GAAkB,CAAC,OAAO,EAAE,EAAE;IACrD,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAS,EAAE,EAAC,GAAG,EAAH,YAAG,EAAC,CAAC,CAAC;SAC7C,OAAO,CAAC,yBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE;YACF,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC;YACzB,KAAK;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;SACJ;QACD,MAAM,EAAE;YACJ,SAAS,EAAE;gBACP,IAAI,EAAE,yBAAiB;gBACvB,IAAI,EAAE,MAAM;aACf;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,wBAAwB,EAAE,IAAI;SACjC;KACJ,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAvBW,QAAA,cAAc,kBAuBzB","sourcesContent":["import {log} from '@diplodoc/transform/lib/log.js';\nimport yfmPlugin from '@diplodoc/transform/lib/plugins/monospace.js';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {markTypeFactory} from '../../../../utils/schema';\n\nexport const monospaceMarkName = 'monospace';\nexport const monospaceType = markTypeFactory(monospaceMarkName);\n\nexport const MonospaceSpecs: ExtensionAuto = (builder) => {\n builder\n .configureMd((md) => md.use(yfmPlugin, {log}))\n .addMark(monospaceMarkName, () => ({\n spec: {\n parseDOM: [{tag: 'samp'}],\n toDOM() {\n return ['samp'];\n },\n },\n fromMd: {\n tokenSpec: {\n name: monospaceMarkName,\n type: 'mark',\n },\n },\n toMd: {\n open: '##',\n close: '##',\n mixable: true,\n expelEnclosingWhitespace: true,\n },\n }));\n};\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VideoSpecs = exports.videoType = exports.videoNodeName = void 0;
4
- const tslib_1 = require("tslib");
5
- const log_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/log.js"));
4
+ const log_js_1 = require("@diplodoc/transform/lib/log.js");
6
5
  const const_1 = require("./const.js");
7
6
  const md_video_1 = require("./md-video.js");
8
7
  const utils_1 = require("./utils.js");
@@ -18,7 +17,7 @@ Object.defineProperty(exports, "videoNodeName", { enumerable: true, get: functio
18
17
  var utils_2 = require("./utils.js");
19
18
  Object.defineProperty(exports, "videoType", { enumerable: true, get: function () { return utils_2.videoType; } });
20
19
  const VideoSpecs = (builder, opts) => {
21
- const options = { ...md_video_1.defaults, ...opts, log: log_js_1.default };
20
+ const options = { ...md_video_1.defaults, ...opts, log: log_js_1.log };
22
21
  builder.configureMd((md) => md.use(md_video_1.videoPlugin, options));
23
22
  builder.addNode(const_1.videoNodeName, () => ({
24
23
  spec: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Video/VideoSpecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\n\nimport type {ExtensionAuto} from '../../../../core';\n\nimport {VideoAttr, videoNodeName} from './const';\nimport {\n type VideoPluginOptions,\n VideoService,\n type VideoToken,\n defaults,\n videoPlugin,\n} from './md-video';\nimport {createViewStub, serializeNodeToString} from './utils';\n\n// we don't support osf service\nconst availableServices: ReadonlySet<string> = new Set([\n VideoService.YouTube,\n VideoService.Vimeo,\n VideoService.Vine,\n VideoService.Prezi,\n]);\n\nexport {videoNodeName} from './const';\nexport {videoType} from './utils';\n\nexport type VideoSpecsOptions = VideoPluginOptions & {};\n\nexport const VideoSpecs: ExtensionAuto<VideoSpecsOptions> = (builder, opts) => {\n const options = {...defaults, ...opts, log};\n\n builder.configureMd((md) => md.use(videoPlugin, options));\n builder.addNode(videoNodeName, () => ({\n spec: {\n inline: true,\n atom: true,\n group: 'inline',\n attrs: {[VideoAttr.Service]: {}, [VideoAttr.VideoID]: {}},\n parseDOM: [\n {\n tag: `span[${VideoAttr.Service}][${VideoAttr.VideoID}]`,\n getAttrs(dom) {\n const domElem = dom as HTMLElement;\n return {\n [VideoAttr.Service]: domElem.getAttribute(VideoAttr.Service),\n [VideoAttr.VideoID]: domElem.getAttribute(VideoAttr.VideoID),\n };\n },\n },\n {\n tag: `iframe[${VideoAttr.Service}][${VideoAttr.VideoID}]`,\n getAttrs(dom) {\n const domElem = dom as HTMLElement;\n return {\n [VideoAttr.Service]: domElem.getAttribute(VideoAttr.Service),\n [VideoAttr.VideoID]: domElem.getAttribute(VideoAttr.VideoID),\n };\n },\n priority: 100,\n },\n ],\n toDOM(node) {\n const service = node.attrs[VideoAttr.Service];\n const videoId = node.attrs[VideoAttr.VideoID];\n\n if (availableServices.has(service) || !videoId) {\n let src = '';\n if (typeof options.videoUrl === 'function') {\n src = options.videoUrl(service, videoId, options);\n }\n return [\n 'div',\n {\n class: 'embed-responsive embed-responsive-16by9',\n },\n [\n 'iframe',\n {\n class: `embed-responsive-item ${service}-player`,\n type: 'text/html',\n width: String(options[service as VideoService].width),\n height: String(options[service as VideoService].height),\n src: src,\n frameborder: '0',\n webkitallowfullscreen: '',\n mozallowfullscreen: '',\n allowfullscreen: '',\n [VideoAttr.Service]: service,\n [VideoAttr.VideoID]: videoId,\n },\n ],\n ];\n }\n\n return createViewStub(node);\n },\n },\n fromMd: {\n tokenSpec: {\n name: videoNodeName,\n type: 'node',\n getAttrs: (tok) => ({\n [VideoAttr.Service]: (tok as VideoToken).service,\n [VideoAttr.VideoID]: (tok as VideoToken).videoID,\n }),\n },\n },\n toMd: (state, node) => {\n state.write(serializeNodeToString(node));\n },\n }));\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Video/VideoSpecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {log} from '@diplodoc/transform/lib/log.js';\n\nimport type {ExtensionAuto} from '../../../../core';\n\nimport {VideoAttr, videoNodeName} from './const';\nimport {\n type VideoPluginOptions,\n VideoService,\n type VideoToken,\n defaults,\n videoPlugin,\n} from './md-video';\nimport {createViewStub, serializeNodeToString} from './utils';\n\n// we don't support osf service\nconst availableServices: ReadonlySet<string> = new Set([\n VideoService.YouTube,\n VideoService.Vimeo,\n VideoService.Vine,\n VideoService.Prezi,\n]);\n\nexport {videoNodeName} from './const';\nexport {videoType} from './utils';\n\nexport type VideoSpecsOptions = VideoPluginOptions & {};\n\nexport const VideoSpecs: ExtensionAuto<VideoSpecsOptions> = (builder, opts) => {\n const options = {...defaults, ...opts, log};\n\n builder.configureMd((md) => md.use(videoPlugin, options));\n builder.addNode(videoNodeName, () => ({\n spec: {\n inline: true,\n atom: true,\n group: 'inline',\n attrs: {[VideoAttr.Service]: {}, [VideoAttr.VideoID]: {}},\n parseDOM: [\n {\n tag: `span[${VideoAttr.Service}][${VideoAttr.VideoID}]`,\n getAttrs(dom) {\n const domElem = dom as HTMLElement;\n return {\n [VideoAttr.Service]: domElem.getAttribute(VideoAttr.Service),\n [VideoAttr.VideoID]: domElem.getAttribute(VideoAttr.VideoID),\n };\n },\n },\n {\n tag: `iframe[${VideoAttr.Service}][${VideoAttr.VideoID}]`,\n getAttrs(dom) {\n const domElem = dom as HTMLElement;\n return {\n [VideoAttr.Service]: domElem.getAttribute(VideoAttr.Service),\n [VideoAttr.VideoID]: domElem.getAttribute(VideoAttr.VideoID),\n };\n },\n priority: 100,\n },\n ],\n toDOM(node) {\n const service = node.attrs[VideoAttr.Service];\n const videoId = node.attrs[VideoAttr.VideoID];\n\n if (availableServices.has(service) || !videoId) {\n let src = '';\n if (typeof options.videoUrl === 'function') {\n src = options.videoUrl(service, videoId, options);\n }\n return [\n 'div',\n {\n class: 'embed-responsive embed-responsive-16by9',\n },\n [\n 'iframe',\n {\n class: `embed-responsive-item ${service}-player`,\n type: 'text/html',\n width: String(options[service as VideoService].width),\n height: String(options[service as VideoService].height),\n src: src,\n frameborder: '0',\n webkitallowfullscreen: '',\n mozallowfullscreen: '',\n allowfullscreen: '',\n [VideoAttr.Service]: service,\n [VideoAttr.VideoID]: videoId,\n },\n ],\n ];\n }\n\n return createViewStub(node);\n },\n },\n fromMd: {\n tokenSpec: {\n name: videoNodeName,\n type: 'node',\n getAttrs: (tok) => ({\n [VideoAttr.Service]: (tok as VideoToken).service,\n [VideoAttr.VideoID]: (tok as VideoToken).videoID,\n }),\n },\n },\n toMd: (state, node) => {\n state.write(serializeNodeToString(node));\n },\n }));\n};\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.YfmNoteSpecs = exports.noteTitleType = exports.noteType = exports.YfmNoteNode = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const log_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/log.js"));
5
+ const log_js_1 = require("@diplodoc/transform/lib/log.js");
6
6
  const index_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/plugins/notes/index.js"));
7
7
  const const_1 = require("./const.js");
8
8
  const parser_1 = require("./parser.js");
@@ -16,7 +16,7 @@ Object.defineProperty(exports, "noteTitleType", { enumerable: true, get: functio
16
16
  const YfmNoteSpecs = (builder, opts) => {
17
17
  const schemaSpecs = (0, schema_1.getSchemaSpecs)(opts, builder.context.get('placeholder'));
18
18
  builder
19
- .configureMd((md) => md.use(index_js_1.default, { log: log_js_1.default }))
19
+ .configureMd((md) => md.use(index_js_1.default, { log: log_js_1.log }))
20
20
  .addNode(const_1.NoteNode.Note, () => ({
21
21
  spec: schemaSpecs[const_1.NoteNode.Note],
22
22
  toMd: serializer_1.serializerTokens[const_1.NoteNode.Note],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmNote/YfmNoteSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,oFAAiD;AACjD,sGAAuE;AAKvE,sCAAiC;AACjC,wCAAsC;AACtC,wCAAwC;AACxC,gDAA8C;AAE9C,oCAAgD;AAAxC,oGAAA,QAAQ,OAAe;AAC/B,oCAAgD;AAAxC,iGAAA,QAAQ,OAAA;AAAE,sGAAA,aAAa,OAAA;AASxB,MAAM,YAAY,GAAuC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,IAAA,uBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE7E,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAS,EAAE,EAAC,GAAG,EAAH,gBAAG,EAAC,CAAC,CAAC;SAC7C,OAAO,CAAC,gBAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,WAAW,CAAC,gBAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,6BAAgB,CAAC,gBAAQ,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE;YACJ,SAAS,EAAE,qBAAY,CAAC,gBAAQ,CAAC,IAAI,CAAC;SACzC;KACJ,CAAC,CAAC;SACF,OAAO,CAAC,gBAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,gBAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,EAAE,6BAAgB,CAAC,gBAAQ,CAAC,SAAS,CAAC;QAC1C,MAAM,EAAE;YACJ,SAAS,EAAE,qBAAY,CAAC,gBAAQ,CAAC,SAAS,CAAC;SAC9C;KACJ,CAAC,CAAC;SACF,OAAO,CAAC,gBAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,WAAW,CAAC,gBAAQ,CAAC,WAAW,CAAC;QACvC,IAAI,EAAE,6BAAgB,CAAC,gBAAQ,CAAC,WAAW,CAAC;QAC5C,MAAM,EAAE;YACJ,SAAS,EAAE,qBAAY,CAAC,gBAAQ,CAAC,WAAW,CAAC;SAChD;KACJ,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport yfmPlugin from '@diplodoc/transform/lib/plugins/notes/index.js';\nimport type {NodeSpec} from 'prosemirror-model';\n\nimport type {ExtensionAuto} from '../../../../core';\n\nimport {NoteNode} from './const';\nimport {parserTokens} from './parser';\nimport {getSchemaSpecs} from './schema';\nimport {serializerTokens} from './serializer';\n\nexport {NoteNode as YfmNoteNode} from './const';\nexport {noteType, noteTitleType} from './utils';\n\nexport type YfmNoteSpecsOptions = {\n /**\n * @deprecated: use placeholder option in BehaviorPreset instead.\n */\n yfmNoteTitlePlaceholder?: NonNullable<NodeSpec['placeholder']>['content'];\n};\n\nexport const YfmNoteSpecs: ExtensionAuto<YfmNoteSpecsOptions> = (builder, opts) => {\n const schemaSpecs = getSchemaSpecs(opts, builder.context.get('placeholder'));\n\n builder\n .configureMd((md) => md.use(yfmPlugin, {log}))\n .addNode(NoteNode.Note, () => ({\n spec: schemaSpecs[NoteNode.Note],\n toMd: serializerTokens[NoteNode.Note],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.Note],\n },\n }))\n .addNode(NoteNode.NoteTitle, () => ({\n spec: schemaSpecs[NoteNode.NoteTitle],\n toMd: serializerTokens[NoteNode.NoteTitle],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.NoteTitle],\n },\n }))\n .addNode(NoteNode.NoteContent, () => ({\n spec: schemaSpecs[NoteNode.NoteContent],\n toMd: serializerTokens[NoteNode.NoteContent],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.NoteContent],\n },\n }));\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmNote/YfmNoteSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAmD;AACnD,sGAAuE;AAKvE,sCAAiC;AACjC,wCAAsC;AACtC,wCAAwC;AACxC,gDAA8C;AAE9C,oCAAgD;AAAxC,oGAAA,QAAQ,OAAe;AAC/B,oCAAgD;AAAxC,iGAAA,QAAQ,OAAA;AAAE,sGAAA,aAAa,OAAA;AASxB,MAAM,YAAY,GAAuC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,IAAA,uBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE7E,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAS,EAAE,EAAC,GAAG,EAAH,YAAG,EAAC,CAAC,CAAC;SAC7C,OAAO,CAAC,gBAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,WAAW,CAAC,gBAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,6BAAgB,CAAC,gBAAQ,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE;YACJ,SAAS,EAAE,qBAAY,CAAC,gBAAQ,CAAC,IAAI,CAAC;SACzC;KACJ,CAAC,CAAC;SACF,OAAO,CAAC,gBAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,gBAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,EAAE,6BAAgB,CAAC,gBAAQ,CAAC,SAAS,CAAC;QAC1C,MAAM,EAAE;YACJ,SAAS,EAAE,qBAAY,CAAC,gBAAQ,CAAC,SAAS,CAAC;SAC9C;KACJ,CAAC,CAAC;SACF,OAAO,CAAC,gBAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,WAAW,CAAC,gBAAQ,CAAC,WAAW,CAAC;QACvC,IAAI,EAAE,6BAAgB,CAAC,gBAAQ,CAAC,WAAW,CAAC;QAC5C,MAAM,EAAE;YACJ,SAAS,EAAE,qBAAY,CAAC,gBAAQ,CAAC,WAAW,CAAC;SAChD;KACJ,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB","sourcesContent":["import {log} from '@diplodoc/transform/lib/log.js';\nimport yfmPlugin from '@diplodoc/transform/lib/plugins/notes/index.js';\nimport type {NodeSpec} from 'prosemirror-model';\n\nimport type {ExtensionAuto} from '../../../../core';\n\nimport {NoteNode} from './const';\nimport {parserTokens} from './parser';\nimport {getSchemaSpecs} from './schema';\nimport {serializerTokens} from './serializer';\n\nexport {NoteNode as YfmNoteNode} from './const';\nexport {noteType, noteTitleType} from './utils';\n\nexport type YfmNoteSpecsOptions = {\n /**\n * @deprecated: use placeholder option in BehaviorPreset instead.\n */\n yfmNoteTitlePlaceholder?: NonNullable<NodeSpec['placeholder']>['content'];\n};\n\nexport const YfmNoteSpecs: ExtensionAuto<YfmNoteSpecsOptions> = (builder, opts) => {\n const schemaSpecs = getSchemaSpecs(opts, builder.context.get('placeholder'));\n\n builder\n .configureMd((md) => md.use(yfmPlugin, {log}))\n .addNode(NoteNode.Note, () => ({\n spec: schemaSpecs[NoteNode.Note],\n toMd: serializerTokens[NoteNode.Note],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.Note],\n },\n }))\n .addNode(NoteNode.NoteTitle, () => ({\n spec: schemaSpecs[NoteNode.NoteTitle],\n toMd: serializerTokens[NoteNode.NoteTitle],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.NoteTitle],\n },\n }))\n .addNode(NoteNode.NoteContent, () => ({\n spec: schemaSpecs[NoteNode.NoteContent],\n toMd: serializerTokens[NoteNode.NoteContent],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.NoteContent],\n },\n }));\n};\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.YfmTableSpecs = exports.yfmTableCellType = exports.yfmTableRowType = exports.yfmTableBodyType = exports.yfmTableType = exports.YfmTableNode = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const log_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/log.js"));
5
+ const log_js_1 = require("@diplodoc/transform/lib/log.js");
6
6
  const index_js_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/plugins/table/index.js"));
7
7
  const const_1 = require("./const.js");
8
8
  const parser_1 = require("./parser.js");
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "yfmTableCellType", { enumerable: true, get: func
18
18
  const YfmTableSpecs = (builder, options) => {
19
19
  const schemaSpecs = (0, schema_1.getSchemaSpecs)(options, builder.context.get('placeholder'));
20
20
  builder
21
- .configureMd((md) => md.use(index_js_1.default, { log: log_js_1.default }))
21
+ .configureMd((md) => md.use(index_js_1.default, { log: log_js_1.log }))
22
22
  .addNode(const_1.YfmTableNode.Table, () => ({
23
23
  spec: schemaSpecs[const_1.YfmTableNode.Table],
24
24
  toMd: serializer_1.serializerTokens[const_1.YfmTableNode.Table],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmTable/YfmTableSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,oFAAiD;AACjD,sGAAsE;AAItE,sCAAqC;AACrC,wCAAsC;AACtC,wCAAoE;AACpE,gDAA8C;AAE9C,oCAAqC;AAA7B,qGAAA,YAAY,OAAA;AACpB,oCAA0F;AAAlF,qGAAA,YAAY,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAIlE,MAAM,aAAa,GAA+C,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IAC1F,MAAM,WAAW,GAAG,IAAA,uBAAc,EAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAEhF,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAQ,EAAE,EAAC,GAAG,EAAH,gBAAG,EAAC,CAAC,CAAC;SAC5C,OAAO,CAAC,oBAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,KAAK,CAAC;QACrC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,KAAK,CAAC;QAC1C,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAC;KACxD,CAAC,CAAC;SACF,OAAO,CAAC,oBAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAC;KACvD,CAAC,CAAC;SACF,OAAO,CAAC,oBAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,GAAG,CAAC;QACnC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,GAAG,CAAC;QACxC,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,GAAG,CAAC,EAAC;KACtD,CAAC,CAAC;SACF,OAAO,CAAC,oBAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAC;KACvD,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAzBW,QAAA,aAAa,iBAyBxB","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport yfmTable from '@diplodoc/transform/lib/plugins/table/index.js';\n\nimport type {ExtensionWithOptions} from '../../../../core';\n\nimport {YfmTableNode} from './const';\nimport {parserTokens} from './parser';\nimport {type YfmTableSchemaOptions, getSchemaSpecs} from './schema';\nimport {serializerTokens} from './serializer';\n\nexport {YfmTableNode} from './const';\nexport {yfmTableType, yfmTableBodyType, yfmTableRowType, yfmTableCellType} from './utils';\n\nexport type YfmTableSpecsOptions = YfmTableSchemaOptions & {};\n\nexport const YfmTableSpecs: ExtensionWithOptions<YfmTableSpecsOptions> = (builder, options) => {\n const schemaSpecs = getSchemaSpecs(options, builder.context.get('placeholder'));\n\n builder\n .configureMd((md) => md.use(yfmTable, {log}))\n .addNode(YfmTableNode.Table, () => ({\n spec: schemaSpecs[YfmTableNode.Table],\n toMd: serializerTokens[YfmTableNode.Table],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Table]},\n }))\n .addNode(YfmTableNode.Body, () => ({\n spec: schemaSpecs[YfmTableNode.Body],\n toMd: serializerTokens[YfmTableNode.Body],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Body]},\n }))\n .addNode(YfmTableNode.Row, () => ({\n spec: schemaSpecs[YfmTableNode.Row],\n toMd: serializerTokens[YfmTableNode.Row],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Row]},\n }))\n .addNode(YfmTableNode.Cell, () => ({\n spec: schemaSpecs[YfmTableNode.Cell],\n toMd: serializerTokens[YfmTableNode.Cell],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Cell]},\n }));\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmTable/YfmTableSpecs/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAmD;AACnD,sGAAsE;AAItE,sCAAqC;AACrC,wCAAsC;AACtC,wCAAoE;AACpE,gDAA8C;AAE9C,oCAAqC;AAA7B,qGAAA,YAAY,OAAA;AACpB,oCAA0F;AAAlF,qGAAA,YAAY,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAIlE,MAAM,aAAa,GAA+C,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IAC1F,MAAM,WAAW,GAAG,IAAA,uBAAc,EAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAEhF,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAQ,EAAE,EAAC,GAAG,EAAH,YAAG,EAAC,CAAC,CAAC;SAC5C,OAAO,CAAC,oBAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,KAAK,CAAC;QACrC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,KAAK,CAAC;QAC1C,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAC;KACxD,CAAC,CAAC;SACF,OAAO,CAAC,oBAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAC;KACvD,CAAC,CAAC;SACF,OAAO,CAAC,oBAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,GAAG,CAAC;QACnC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,GAAG,CAAC;QACxC,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,GAAG,CAAC,EAAC;KACtD,CAAC,CAAC;SACF,OAAO,CAAC,oBAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,oBAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,6BAAgB,CAAC,oBAAY,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,EAAC,SAAS,EAAE,qBAAY,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAC;KACvD,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAzBW,QAAA,aAAa,iBAyBxB","sourcesContent":["import {log} from '@diplodoc/transform/lib/log.js';\nimport yfmTable from '@diplodoc/transform/lib/plugins/table/index.js';\n\nimport type {ExtensionWithOptions} from '../../../../core';\n\nimport {YfmTableNode} from './const';\nimport {parserTokens} from './parser';\nimport {type YfmTableSchemaOptions, getSchemaSpecs} from './schema';\nimport {serializerTokens} from './serializer';\n\nexport {YfmTableNode} from './const';\nexport {yfmTableType, yfmTableBodyType, yfmTableRowType, yfmTableCellType} from './utils';\n\nexport type YfmTableSpecsOptions = YfmTableSchemaOptions & {};\n\nexport const YfmTableSpecs: ExtensionWithOptions<YfmTableSpecsOptions> = (builder, options) => {\n const schemaSpecs = getSchemaSpecs(options, builder.context.get('placeholder'));\n\n builder\n .configureMd((md) => md.use(yfmTable, {log}))\n .addNode(YfmTableNode.Table, () => ({\n spec: schemaSpecs[YfmTableNode.Table],\n toMd: serializerTokens[YfmTableNode.Table],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Table]},\n }))\n .addNode(YfmTableNode.Body, () => ({\n spec: schemaSpecs[YfmTableNode.Body],\n toMd: serializerTokens[YfmTableNode.Body],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Body]},\n }))\n .addNode(YfmTableNode.Row, () => ({\n spec: schemaSpecs[YfmTableNode.Row],\n toMd: serializerTokens[YfmTableNode.Row],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Row]},\n }))\n .addNode(YfmTableNode.Cell, () => ({\n spec: schemaSpecs[YfmTableNode.Cell],\n toMd: serializerTokens[YfmTableNode.Cell],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Cell]},\n }));\n};\n"]}
@@ -12,6 +12,7 @@ const MToolbarFilePopup_1 = require("../../bundle/toolbar/markup/MToolbarFilePop
12
12
  const MToolbarImagePopup_1 = require("../../bundle/toolbar/markup/MToolbarImagePopup.js");
13
13
  const WToolbarColors_1 = require("../../bundle/toolbar/wysiwyg/WToolbarColors.js");
14
14
  const WToolbarTextSelect_1 = require("../../bundle/toolbar/wysiwyg/WToolbarTextSelect.js");
15
+ const GPT_1 = require("../../extensions/additional/GPT/index.js");
15
16
  const constants_1 = require("../../extensions/additional/GPT/constants.js");
16
17
  const specs_1 = require("../../extensions/specs.js");
17
18
  const hints_1 = require("../../i18n/hints/index.js");
@@ -722,7 +723,7 @@ exports.gptItemWysiwyg = {
722
723
  isEnable: (e) => e.actions.addGptWidget.isEnable(),
723
724
  };
724
725
  exports.gptItemMarkup = {
725
- exec: (e) => (0, commands_1.insertMermaidDiagram)(e.cm),
726
+ exec: (e) => (0, GPT_1.showMarkupGpt)(e.cm),
726
727
  isActive: inactive,
727
728
  isEnable: enable,
728
729
  };