@gravity-ui/markdown-editor 15.3.1 → 15.4.1

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 (195) hide show
  1. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js +7 -3
  2. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js.map +1 -1
  3. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/NodeView.d.ts +1 -0
  4. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/NodeView.js +15 -2
  5. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/NodeView.js.map +1 -1
  6. package/build/cjs/extensions/additional/Mermaid/MermaidSpecs/const.d.ts +3 -0
  7. package/build/cjs/extensions/additional/Mermaid/MermaidSpecs/const.js +7 -1
  8. package/build/cjs/extensions/additional/Mermaid/MermaidSpecs/const.js.map +1 -1
  9. package/build/cjs/extensions/additional/Mermaid/MermaidSpecs/index.d.ts +1 -1
  10. package/build/cjs/extensions/additional/Mermaid/MermaidSpecs/index.js +8 -2
  11. package/build/cjs/extensions/additional/Mermaid/MermaidSpecs/index.js.map +1 -1
  12. package/build/cjs/extensions/additional/Mermaid/actions.js +12 -5
  13. package/build/cjs/extensions/additional/Mermaid/actions.js.map +1 -1
  14. package/build/cjs/extensions/additional/Mermaid/types.d.ts +3 -0
  15. package/build/cjs/extensions/additional/Mermaid/types.js +3 -0
  16. package/build/cjs/extensions/additional/Mermaid/types.js.map +1 -0
  17. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.d.ts +1 -0
  18. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.js +14 -5
  19. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.js.map +1 -1
  20. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.js +13 -12
  21. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.js.map +1 -1
  22. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/const.d.ts +3 -0
  23. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/const.js +7 -1
  24. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/const.js.map +1 -1
  25. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/index.d.ts +1 -1
  26. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/index.js +8 -2
  27. package/build/cjs/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/index.js.map +1 -1
  28. package/build/cjs/extensions/additional/YfmHtmlBlock/actions.js +9 -2
  29. package/build/cjs/extensions/additional/YfmHtmlBlock/actions.js.map +1 -1
  30. package/build/cjs/extensions/additional/YfmHtmlBlock/types.d.ts +3 -0
  31. package/build/cjs/extensions/additional/YfmHtmlBlock/types.js +3 -0
  32. package/build/cjs/extensions/additional/YfmHtmlBlock/types.js.map +1 -0
  33. package/build/cjs/extensions/behavior/Autocomplete/index.d.ts +1 -0
  34. package/build/cjs/extensions/behavior/Autocomplete/index.js +5 -3
  35. package/build/cjs/extensions/behavior/Autocomplete/index.js.map +1 -1
  36. package/build/cjs/extensions/behavior/Autocomplete/types.d.ts +1 -1
  37. package/build/cjs/extensions/behavior/Autocomplete/types.js.map +1 -1
  38. package/build/cjs/extensions/behavior/Autocomplete/utils.d.ts +3 -0
  39. package/build/cjs/extensions/behavior/Autocomplete/utils.js +8 -0
  40. package/build/cjs/extensions/behavior/Autocomplete/utils.js.map +1 -0
  41. package/build/cjs/extensions/behavior/Clipboard/code.d.ts +7 -1
  42. package/build/cjs/extensions/behavior/Clipboard/code.js +60 -0
  43. package/build/cjs/extensions/behavior/Clipboard/code.js.map +1 -1
  44. package/build/cjs/extensions/behavior/Clipboard/index.js +2 -0
  45. package/build/cjs/extensions/behavior/Clipboard/index.js.map +1 -1
  46. package/build/cjs/extensions/behavior/CommandMenu/handler.js +6 -6
  47. package/build/cjs/extensions/behavior/CommandMenu/handler.js.map +1 -1
  48. package/build/cjs/extensions/behavior/SharedState/SharedState.d.ts +7 -0
  49. package/build/cjs/extensions/behavior/SharedState/SharedState.js +16 -0
  50. package/build/cjs/extensions/behavior/SharedState/SharedState.js.map +1 -0
  51. package/build/cjs/extensions/behavior/SharedState/index.d.ts +1 -0
  52. package/build/cjs/extensions/behavior/SharedState/index.js +5 -0
  53. package/build/cjs/extensions/behavior/SharedState/index.js.map +1 -0
  54. package/build/cjs/extensions/behavior/SharedState/plugin.d.ts +3 -0
  55. package/build/cjs/extensions/behavior/SharedState/plugin.js +62 -0
  56. package/build/cjs/extensions/behavior/SharedState/plugin.js.map +1 -0
  57. package/build/cjs/extensions/behavior/SharedState/types.d.ts +1 -0
  58. package/build/cjs/extensions/behavior/SharedState/types.js +3 -0
  59. package/build/cjs/extensions/behavior/SharedState/types.js.map +1 -0
  60. package/build/cjs/extensions/behavior/SharedState/utils.d.ts +29 -0
  61. package/build/cjs/extensions/behavior/SharedState/utils.js +60 -0
  62. package/build/cjs/extensions/behavior/SharedState/utils.js.map +1 -0
  63. package/build/cjs/extensions/behavior/index.d.ts +2 -0
  64. package/build/cjs/extensions/behavior/index.js +4 -0
  65. package/build/cjs/extensions/behavior/index.js.map +1 -1
  66. package/build/cjs/extensions/markdown/Link/plugins/LinkTooltipPlugin/index.js +7 -12
  67. package/build/cjs/extensions/markdown/Link/plugins/LinkTooltipPlugin/index.js.map +1 -1
  68. package/build/cjs/extensions/yfm/Emoji/EmojiSuggest/EmojiHandler.d.ts +0 -1
  69. package/build/cjs/extensions/yfm/Emoji/EmojiSuggest/EmojiHandler.js +7 -6
  70. package/build/cjs/extensions/yfm/Emoji/EmojiSuggest/EmojiHandler.js.map +1 -1
  71. package/build/cjs/react-utils/index.d.ts +1 -0
  72. package/build/cjs/react-utils/index.js +1 -0
  73. package/build/cjs/react-utils/index.js.map +1 -1
  74. package/build/cjs/react-utils/useSharedEditingState.d.ts +5 -0
  75. package/build/cjs/react-utils/useSharedEditingState.js +25 -0
  76. package/build/cjs/react-utils/useSharedEditingState.js.map +1 -0
  77. package/build/cjs/toolbar/ToolbarButton.d.ts +6 -8
  78. package/build/cjs/toolbar/ToolbarButton.js +2 -2
  79. package/build/cjs/toolbar/ToolbarButton.js.map +1 -1
  80. package/build/cjs/toolbar/ToolbarListButton.js +7 -8
  81. package/build/cjs/toolbar/ToolbarListButton.js.map +1 -1
  82. package/build/cjs/utils/descedants.d.ts +8 -0
  83. package/build/cjs/utils/descedants.js +15 -0
  84. package/build/cjs/utils/descedants.js.map +1 -0
  85. package/build/cjs/utils/entity-id.d.ts +11 -0
  86. package/build/cjs/utils/entity-id.js +21 -0
  87. package/build/cjs/utils/entity-id.js.map +1 -0
  88. package/build/cjs/utils/index.d.ts +2 -0
  89. package/build/cjs/utils/index.js +2 -0
  90. package/build/cjs/utils/index.js.map +1 -1
  91. package/build/cjs/version.js +1 -1
  92. package/build/cjs/version.js.map +1 -1
  93. package/build/cjs/view/hocs/withYfmHtml/index.d.ts +2 -0
  94. package/build/cjs/view/hocs/withYfmHtml/index.js +2 -2
  95. package/build/cjs/view/hocs/withYfmHtml/index.js.map +1 -1
  96. package/build/cjs/view/hocs/withYfmHtml/useYfmHtmlBlockRuntime.js +3 -1
  97. package/build/cjs/view/hocs/withYfmHtml/useYfmHtmlBlockRuntime.js.map +1 -1
  98. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js +8 -4
  99. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js.map +1 -1
  100. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/NodeView.d.ts +1 -0
  101. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/NodeView.js +14 -1
  102. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/NodeView.js.map +1 -1
  103. package/build/esm/extensions/additional/Mermaid/MermaidSpecs/const.d.ts +3 -0
  104. package/build/esm/extensions/additional/Mermaid/MermaidSpecs/const.js +6 -0
  105. package/build/esm/extensions/additional/Mermaid/MermaidSpecs/const.js.map +1 -1
  106. package/build/esm/extensions/additional/Mermaid/MermaidSpecs/index.d.ts +2 -2
  107. package/build/esm/extensions/additional/Mermaid/MermaidSpecs/index.js +8 -3
  108. package/build/esm/extensions/additional/Mermaid/MermaidSpecs/index.js.map +1 -1
  109. package/build/esm/extensions/additional/Mermaid/actions.js +12 -5
  110. package/build/esm/extensions/additional/Mermaid/actions.js.map +1 -1
  111. package/build/esm/extensions/additional/Mermaid/types.d.ts +3 -0
  112. package/build/esm/extensions/additional/Mermaid/types.js +2 -0
  113. package/build/esm/extensions/additional/Mermaid/types.js.map +1 -0
  114. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.d.ts +1 -0
  115. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.js +14 -5
  116. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/NodeView.js.map +1 -1
  117. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.js +13 -11
  118. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/YfmHtmlBlockView.js.map +1 -1
  119. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/const.d.ts +3 -0
  120. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/const.js +6 -0
  121. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/const.js.map +1 -1
  122. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/index.d.ts +2 -2
  123. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/index.js +8 -3
  124. package/build/esm/extensions/additional/YfmHtmlBlock/YfmHtmlBlockSpecs/index.js.map +1 -1
  125. package/build/esm/extensions/additional/YfmHtmlBlock/actions.js +9 -2
  126. package/build/esm/extensions/additional/YfmHtmlBlock/actions.js.map +1 -1
  127. package/build/esm/extensions/additional/YfmHtmlBlock/types.d.ts +3 -0
  128. package/build/esm/extensions/additional/YfmHtmlBlock/types.js +2 -0
  129. package/build/esm/extensions/additional/YfmHtmlBlock/types.js.map +1 -0
  130. package/build/esm/extensions/behavior/Autocomplete/index.d.ts +1 -0
  131. package/build/esm/extensions/behavior/Autocomplete/index.js +2 -1
  132. package/build/esm/extensions/behavior/Autocomplete/index.js.map +1 -1
  133. package/build/esm/extensions/behavior/Autocomplete/types.d.ts +1 -1
  134. package/build/esm/extensions/behavior/Autocomplete/types.js.map +1 -1
  135. package/build/esm/extensions/behavior/Autocomplete/utils.d.ts +3 -0
  136. package/build/esm/extensions/behavior/Autocomplete/utils.js +5 -0
  137. package/build/esm/extensions/behavior/Autocomplete/utils.js.map +1 -0
  138. package/build/esm/extensions/behavior/Clipboard/code.d.ts +7 -1
  139. package/build/esm/extensions/behavior/Clipboard/code.js +57 -0
  140. package/build/esm/extensions/behavior/Clipboard/code.js.map +1 -1
  141. package/build/esm/extensions/behavior/Clipboard/index.js +2 -0
  142. package/build/esm/extensions/behavior/Clipboard/index.js.map +1 -1
  143. package/build/esm/extensions/behavior/CommandMenu/handler.js +7 -7
  144. package/build/esm/extensions/behavior/CommandMenu/handler.js.map +1 -1
  145. package/build/esm/extensions/behavior/SharedState/SharedState.d.ts +7 -0
  146. package/build/esm/extensions/behavior/SharedState/SharedState.js +11 -0
  147. package/build/esm/extensions/behavior/SharedState/SharedState.js.map +1 -0
  148. package/build/esm/extensions/behavior/SharedState/index.d.ts +1 -0
  149. package/build/esm/extensions/behavior/SharedState/index.js +2 -0
  150. package/build/esm/extensions/behavior/SharedState/index.js.map +1 -0
  151. package/build/esm/extensions/behavior/SharedState/plugin.d.ts +3 -0
  152. package/build/esm/extensions/behavior/SharedState/plugin.js +59 -0
  153. package/build/esm/extensions/behavior/SharedState/plugin.js.map +1 -0
  154. package/build/esm/extensions/behavior/SharedState/types.d.ts +1 -0
  155. package/build/esm/extensions/behavior/SharedState/types.js +2 -0
  156. package/build/esm/extensions/behavior/SharedState/types.js.map +1 -0
  157. package/build/esm/extensions/behavior/SharedState/utils.d.ts +29 -0
  158. package/build/esm/extensions/behavior/SharedState/utils.js +56 -0
  159. package/build/esm/extensions/behavior/SharedState/utils.js.map +1 -0
  160. package/build/esm/extensions/behavior/index.d.ts +2 -0
  161. package/build/esm/extensions/behavior/index.js +4 -0
  162. package/build/esm/extensions/behavior/index.js.map +1 -1
  163. package/build/esm/extensions/markdown/Link/plugins/LinkTooltipPlugin/index.js +7 -12
  164. package/build/esm/extensions/markdown/Link/plugins/LinkTooltipPlugin/index.js.map +1 -1
  165. package/build/esm/extensions/yfm/Emoji/EmojiSuggest/EmojiHandler.d.ts +0 -1
  166. package/build/esm/extensions/yfm/Emoji/EmojiSuggest/EmojiHandler.js +8 -7
  167. package/build/esm/extensions/yfm/Emoji/EmojiSuggest/EmojiHandler.js.map +1 -1
  168. package/build/esm/react-utils/index.d.ts +1 -0
  169. package/build/esm/react-utils/index.js +1 -0
  170. package/build/esm/react-utils/index.js.map +1 -1
  171. package/build/esm/react-utils/useSharedEditingState.d.ts +5 -0
  172. package/build/esm/react-utils/useSharedEditingState.js +22 -0
  173. package/build/esm/react-utils/useSharedEditingState.js.map +1 -0
  174. package/build/esm/toolbar/ToolbarButton.d.ts +6 -8
  175. package/build/esm/toolbar/ToolbarButton.js +2 -2
  176. package/build/esm/toolbar/ToolbarButton.js.map +1 -1
  177. package/build/esm/toolbar/ToolbarListButton.js +8 -9
  178. package/build/esm/toolbar/ToolbarListButton.js.map +1 -1
  179. package/build/esm/utils/descedants.d.ts +8 -0
  180. package/build/esm/utils/descedants.js +12 -0
  181. package/build/esm/utils/descedants.js.map +1 -0
  182. package/build/esm/utils/entity-id.d.ts +11 -0
  183. package/build/esm/utils/entity-id.js +16 -0
  184. package/build/esm/utils/entity-id.js.map +1 -0
  185. package/build/esm/utils/index.d.ts +2 -0
  186. package/build/esm/utils/index.js +2 -0
  187. package/build/esm/utils/index.js.map +1 -1
  188. package/build/esm/version.js +1 -1
  189. package/build/esm/version.js.map +1 -1
  190. package/build/esm/view/hocs/withYfmHtml/index.d.ts +2 -0
  191. package/build/esm/view/hocs/withYfmHtml/index.js +2 -2
  192. package/build/esm/view/hocs/withYfmHtml/index.js.map +1 -1
  193. package/build/esm/view/hocs/withYfmHtml/useYfmHtmlBlockRuntime.js +3 -1
  194. package/build/esm/view/hocs/withYfmHtml/useYfmHtmlBlockRuntime.js.map +1 -1
  195. package/package.json +15 -4
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarListButton.js","sourceRoot":"../../../src","sources":["toolbar/ToolbarListButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACH,aAAa,EACb,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,EAAE,EAAC,wBAAqB;AAChC,OAAO,EAAC,IAAI,EAAC,gCAAuB;AACpC,OAAO,EAAC,UAAU,EAAC,qBAAkB;AACrC,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,gCAA6B;AAEtE,OAAO,EAAC,cAAc,EAAC,4BAAyB;AAChD,OAAO,EAAC,mBAAmB,EAAC,mBAAgB;AAQ5C,iCAAkC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAMpC,MAAM,UAAU,iBAAiB,CAAI,EACjC,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,IAAI,EACJ,YAAY,GACY;IACxB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAAC;IAC5D,MAAM,CAAC,IAAI,EAAE,AAAD,EAAG,IAAI,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAA6B,CAAC;IAExE,MAAM,UAAU,GAAG,YAAY;QAC3B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1F,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC;QACX,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,aAAa,GAAG,CAAC,KAAC,IAAI,IAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAzC,CAAC,CAA4C,CAAC,CAAC;IACjF,IAAI,SAAS,EAAE,CAAC;QACZ,aAAa,CAAC,IAAI,CAAC,KAAC,QAAQ,cAAU,EAAE,IAAN,CAAC,CAAiB,CAAC,CAAC;QACtD,aAAa,CAAC,IAAI,CAAC,KAAC,IAAI,IAAS,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAA9B,CAAC,CAAiC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,SAAS,GAAW,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAE9D,OAAO,CACH,8BACI,KAAC,OAAO,IACJ,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACvC,OAAO,EACH,cAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,YACvC,IAAI,CAAC,yBAAyB,CAAC,GAC9B,EAEV,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,CAAC,aAAa,YAExB,KAAC,aAAa,IACV,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,EACzC,SAAS,EAAE,mBAAmB,CAAC,IAAI,EACnC,UAAU,EAAE,mBAAmB,CAAC,KAAK,YAErC,KAAC,MAAM,IACH,IAAI,EAAC,GAAG,EACR,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EACjD,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAC7C,OAAO,EAAE,GAAG,EAAE;4BACV,IAAI,SAAS;gCAAE,YAAY,CAAC,SAAS,CAAC,CAAC;;gCAClC,UAAU,EAAE,CAAC;wBACtB,CAAC,YAEA,aAAa,GACT,GACG,GACV,EACV,KAAC,KAAK,IAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,YACpE,KAAC,IAAI,IAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC9B,IAAI;yBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACV,MAAM,EACF,EAAE,EACF,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,OAAO,GACV,GAAG,IAAI,CAAC;wBAET,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;wBACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBAElD,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAEnC,MAAM,oBAAoB,GAAG,gBAAgB,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC;wBACrE,MAAM,oBAAoB,GACtB,OAAO,gBAAgB,KAAK,QAAQ;4BAChC,CAAC,CAAC,gBAAgB;4BAClB,CAAC,CAAC,OAAO,gBAAgB,KAAK,UAAU;gCACtC,CAAC,CAAC,gBAAgB,EAAE;gCACpB,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBAE5C,MAAM,WAAW,GAAG,GAAG,EAAE;4BACrB,IAAI,EAAE,CAAC;4BAEP,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gCACpB,YAAY,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;iCAAM,CAAC;gCACJ,YAAY,CAAC,SAAS,CAAC,CAAC;gCACxB,KAAK,EAAE,CAAC;gCACR,IAAI,CAAC,MAAM,CAAC,CAAC;gCACb,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;4BAClB,CAAC;wBACL,CAAC,CAAC;wBAEF,OAAO,CACH,KAAC,OAAO,IACJ,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACvC,OAAO,EACH,cAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,YACvC,oBAAoB,GACnB,EAEV,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,oBAAoB,YAG7B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACb,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,YAC5B,KAAC,IAAI,CAAC,IAAI,IAEN,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3B,OAAO,EAAE,WAAW,EACpB,SAAS,EACL,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,GAAI,EAEpD,UAAU,EAAE;wCACR,GAAG,KAAK;wCACR,YAAY,EAAE,SAAS;qCAC1B,YAED,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACpB,SAAS,EACV,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACrB,MAAM,IAAI,KAAC,MAAM,IAAC,KAAK,EAAE,MAAM,GAAI,EACnC,QAAQ,IAAI,CACT,KAAC,QAAQ,IACL,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,YAAY,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,YAE3B,QAAQ,GACF,CACd,IACC,IACJ,IA1BD,EAAE,CA2BC,GACC,CACpB,IAlCI,EAAE,CAmCD,CACb,CAAC;oBACN,CAAC,CAAC;yBACD,MAAM,CAAC,OAAO,CAAC,GACjB,GACH,EACP,SAAS;gBACN,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;oBAClB,GAAG,SAAS;oBACZ,MAAM;oBACN,KAAK;oBACL,OAAO;oBACP,aAAa;oBACb,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;iBACtC,CAAC;gBACJ,CAAC,CAAC,IAAI,IACX,CACN,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAI,IAAwB;IAC5C,OAAO,OAAO,CAAE,IAAkC,CAAC,WAAW,CAAC,CAAC;AACpE,CAAC","sourcesContent":["import {Fragment, useEffect, useState} from 'react';\n\nimport {ChevronDown} from '@gravity-ui/icons';\nimport {\n ActionTooltip,\n Button,\n HelpMark,\n Hotkey,\n Icon,\n Menu,\n Popover,\n Popup,\n} from '@gravity-ui/uikit';\n\nimport {cn} from '../classname';\nimport {i18n} from '../i18n/common';\nimport {isFunction} from '../lodash';\nimport {useBooleanState, useElementState} from '../react-utils/hooks';\n\nimport {PreviewTooltip} from './PreviewTooltip';\nimport {ToolbarTooltipDelay} from './const';\nimport type {\n ToolbarBaseProps,\n ToolbarButtonPopupData,\n ToolbarItemData,\n ToolbarListButtonData,\n} from './types';\n\nimport './ToolbarListButton.scss';\n\nconst b = cn('toolbar-list-button');\n\nexport type {ToolbarListButtonData};\n\nexport type ToolbarListButtonProps<E> = ToolbarBaseProps<E> & ToolbarListButtonData<E>;\n\nexport function ToolbarListButton<E>({\n className,\n editor,\n focus,\n onClick,\n icon,\n title,\n withArrow,\n data,\n alwaysActive,\n}: ToolbarListButtonProps<E>) {\n const [anchorElement, setAnchorElement] = useElementState();\n const [open, , hide, toggleOpen] = useBooleanState(false);\n const [popupItem, setPopupItem] = useState<ToolbarButtonPopupData<E>>();\n\n const someActive = alwaysActive\n ? false\n : data.some((item) => item.isActive(editor) && !item.doNotActivateList);\n const everyDisabled = alwaysActive ? false : data.every((item) => !item.isEnable(editor));\n\n const popupOpen = everyDisabled ? false : open;\n const shouldForceHide = open && !popupOpen;\n useEffect(() => {\n if (shouldForceHide) {\n hide();\n }\n }, [hide, shouldForceHide]);\n\n if (data.length === 0) return null;\n\n const buttonContent = [<Icon key={1} data={icon.data} size={icon.size ?? 16} />];\n if (withArrow) {\n buttonContent.push(<Fragment key={2}>{''}</Fragment>);\n buttonContent.push(<Icon key={3} data={ChevronDown} size={16} />);\n }\n\n const titleText: string = isFunction(title) ? title() : title;\n\n return (\n <>\n <Popover\n className={b('action-disabled-popover')}\n content={\n <div className={b('action-disabled-tooltip')}>\n {i18n('toolbar_action_disabled')}\n </div>\n }\n placement={'bottom'}\n disabled={!everyDisabled}\n >\n <ActionTooltip\n title={titleText}\n disabled={Boolean(popupItem) || popupOpen}\n openDelay={ToolbarTooltipDelay.Open}\n closeDelay={ToolbarTooltipDelay.Close}\n >\n <Button\n size=\"m\"\n ref={setAnchorElement}\n view={someActive || popupOpen ? 'normal' : 'flat'}\n selected={someActive}\n disabled={everyDisabled}\n className={b({arrow: withArrow}, [className])}\n onClick={() => {\n if (popupItem) setPopupItem(undefined);\n else toggleOpen();\n }}\n >\n {buttonContent}\n </Button>\n </ActionTooltip>\n </Popover>\n <Popup anchorElement={anchorElement} open={popupOpen} onOpenChange={hide}>\n <Menu size=\"l\" className={b('menu')}>\n {data\n .map((data) => {\n const {\n id,\n title,\n icon,\n hotkey,\n isActive,\n isEnable,\n exec,\n hint,\n hintWhenDisabled,\n preview,\n } = data;\n\n const titleText = isFunction(title) ? title() : title;\n const hintText = isFunction(hint) ? hint() : hint;\n\n const disabled = !isEnable(editor);\n\n const hideHintWhenDisabled = hintWhenDisabled === false || !disabled;\n const hintWhenDisabledText =\n typeof hintWhenDisabled === 'string'\n ? hintWhenDisabled\n : typeof hintWhenDisabled === 'function'\n ? hintWhenDisabled()\n : i18n('toolbar_action_disabled');\n\n const handleClick = () => {\n hide();\n\n if (isPopupItem(data)) {\n setPopupItem(data);\n } else {\n setPopupItem(undefined);\n focus();\n exec(editor);\n onClick?.(id);\n }\n };\n\n return (\n <Popover\n className={b('action-disabled-popover')}\n content={\n <div className={b('action-disabled-tooltip')}>\n {hintWhenDisabledText}\n </div>\n }\n placement=\"left\"\n modal={false}\n disabled={hideHintWhenDisabled}\n key={id}\n >\n {(props, ref) => (\n <PreviewTooltip preview={preview}>\n <Menu.Item\n key={id}\n ref={ref}\n active={isActive(editor)}\n disabled={!isEnable(editor)}\n onClick={handleClick}\n iconStart={\n <Icon data={icon.data} size={icon.size ?? 16} />\n }\n extraProps={{\n ...props,\n 'aria-label': titleText,\n }}\n >\n <div className={b('item')}>\n {titleText}\n <div className={b('extra')}>\n {hotkey && <Hotkey value={hotkey} />}\n {hintText && (\n <HelpMark\n className={b('hint')}\n popoverProps={{modal: false}}\n >\n {hintText}\n </HelpMark>\n )}\n </div>\n </div>\n </Menu.Item>\n </PreviewTooltip>\n )}\n </Popover>\n );\n })\n .filter(Boolean)}\n </Menu>\n </Popup>\n {popupItem\n ? popupItem.renderPopup({\n ...popupItem,\n editor,\n focus,\n onClick,\n anchorElement,\n hide: () => setPopupItem(undefined),\n })\n : null}\n </>\n );\n}\n\nfunction isPopupItem<E>(item: ToolbarItemData<E>): item is ToolbarButtonPopupData<E> {\n return Boolean((item as ToolbarButtonPopupData<E>).renderPopup);\n}\n"]}
1
+ {"version":3,"file":"ToolbarListButton.js","sourceRoot":"../../../src","sources":["toolbar/ToolbarListButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Fragment, useEffect, useState} from 'react';\n\nimport {ChevronDown} from '@gravity-ui/icons';\nimport {HelpMark, Hotkey, Icon, Menu, Popover, Popup} from '@gravity-ui/uikit';\n\nimport {cn} from '../classname';\nimport {i18n} from '../i18n/common';\nimport {isFunction} from '../lodash';\nimport {useBooleanState, useElementState} from '../react-utils/hooks';\n\nimport {PreviewTooltip} from './PreviewTooltip';\nimport {ToolbarButtonView} from './ToolbarButton';\nimport type {\n ToolbarBaseProps,\n ToolbarButtonPopupData,\n ToolbarItemData,\n ToolbarListButtonData,\n} from './types';\n\nimport './ToolbarListButton.scss';\n\nconst b = cn('toolbar-list-button');\n\nexport type {ToolbarListButtonData};\n\nexport type ToolbarListButtonProps<E> = ToolbarBaseProps<E> & ToolbarListButtonData<E>;\n\nexport function ToolbarListButton<E>({\n className,\n editor,\n focus,\n onClick,\n icon,\n title,\n withArrow,\n data,\n alwaysActive,\n}: ToolbarListButtonProps<E>) {\n const [anchorElement, setAnchorElement] = useElementState();\n const [open, , hide, toggleOpen] = useBooleanState(false);\n const [popupItem, setPopupItem] = useState<ToolbarButtonPopupData<E>>();\n\n const someActive = alwaysActive\n ? false\n : data.some((item) => item.isActive(editor) && !item.doNotActivateList);\n const everyDisabled = alwaysActive ? false : data.every((item) => !item.isEnable(editor));\n\n const popupOpen = everyDisabled ? false : open;\n const shouldForceHide = open && !popupOpen;\n useEffect(() => {\n if (shouldForceHide) {\n hide();\n }\n }, [hide, shouldForceHide]);\n\n if (data.length === 0) return null;\n\n const buttonContent = [<Icon key={1} data={icon.data} size={icon.size ?? 16} />];\n if (withArrow) {\n buttonContent.push(<Fragment key={2}>{''}</Fragment>);\n buttonContent.push(<Icon key={3} data={ChevronDown} size={16} />);\n }\n\n return (\n <>\n <ToolbarButtonView\n ref={setAnchorElement}\n active={someActive}\n enabled={!everyDisabled}\n title={title}\n className={b({arrow: withArrow}, [className])}\n onClick={() => {\n if (popupItem) setPopupItem(undefined);\n else toggleOpen();\n }}\n >\n {buttonContent}\n </ToolbarButtonView>\n <Popup anchorElement={anchorElement} open={popupOpen} onOpenChange={hide}>\n <Menu size=\"l\" className={b('menu')}>\n {data\n .map((data) => {\n const {\n id,\n title,\n icon,\n hotkey,\n isActive,\n isEnable,\n exec,\n hint,\n hintWhenDisabled,\n preview,\n } = data;\n\n const titleText = isFunction(title) ? title() : title;\n const hintText = isFunction(hint) ? hint() : hint;\n\n const disabled = !isEnable(editor);\n\n const hideHintWhenDisabled = hintWhenDisabled === false || !disabled;\n const hintWhenDisabledText =\n typeof hintWhenDisabled === 'string'\n ? hintWhenDisabled\n : typeof hintWhenDisabled === 'function'\n ? hintWhenDisabled()\n : i18n('toolbar_action_disabled');\n\n const handleClick = () => {\n hide();\n\n if (isPopupItem(data)) {\n setPopupItem(data);\n } else {\n setPopupItem(undefined);\n focus();\n exec(editor);\n onClick?.(id);\n }\n };\n\n return (\n <Popover\n className={b('action-disabled-popover')}\n content={\n <div className={b('action-disabled-tooltip')}>\n {hintWhenDisabledText}\n </div>\n }\n placement=\"left\"\n modal={false}\n disabled={hideHintWhenDisabled}\n key={id}\n >\n {(props, ref) => (\n <PreviewTooltip preview={preview}>\n <Menu.Item\n key={id}\n ref={ref}\n active={isActive(editor)}\n disabled={!isEnable(editor)}\n onClick={handleClick}\n iconStart={\n <Icon data={icon.data} size={icon.size ?? 16} />\n }\n extraProps={{\n ...props,\n 'aria-label': titleText,\n }}\n >\n <div className={b('item')}>\n {titleText}\n <div className={b('extra')}>\n {hotkey && <Hotkey value={hotkey} />}\n {hintText && (\n <HelpMark\n className={b('hint')}\n popoverProps={{modal: false}}\n >\n {hintText}\n </HelpMark>\n )}\n </div>\n </div>\n </Menu.Item>\n </PreviewTooltip>\n )}\n </Popover>\n );\n })\n .filter(Boolean)}\n </Menu>\n </Popup>\n {popupItem\n ? popupItem.renderPopup({\n ...popupItem,\n editor,\n focus,\n onClick,\n anchorElement,\n hide: () => setPopupItem(undefined),\n })\n : null}\n </>\n );\n}\n\nfunction isPopupItem<E>(item: ToolbarItemData<E>): item is ToolbarButtonPopupData<E> {\n return Boolean((item as ToolbarButtonPopupData<E>).renderPopup);\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { Node } from "../pm/model.js";
2
+ export type FindDescedantItem = {
3
+ node: Node;
4
+ pos: number;
5
+ index: number;
6
+ parent: Node | null;
7
+ };
8
+ export declare function findFirstDescedantNode(doc: Node, predicate: (node: Node) => boolean): FindDescedantItem | null;
@@ -0,0 +1,12 @@
1
+ export function findFirstDescedantNode(doc, predicate) {
2
+ let found = null;
3
+ doc.descendants((node, pos, parent, index) => {
4
+ if (found)
5
+ return false;
6
+ if (predicate(node))
7
+ found = { node, pos, parent, index };
8
+ return true;
9
+ });
10
+ return found;
11
+ }
12
+ //# sourceMappingURL=descedants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descedants.js","sourceRoot":"../../../src","sources":["utils/descedants.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,sBAAsB,CAClC,GAAS,EACT,SAAkC;IAElC,IAAI,KAAK,GAA6B,IAAI,CAAC;IAE3C,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,IAAI,SAAS,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,EAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC","sourcesContent":["import type {Node} from '#pm/model';\n\nexport type FindDescedantItem = {\n node: Node;\n pos: number;\n index: number;\n parent: Node | null;\n};\n\nexport function findFirstDescedantNode(\n doc: Node,\n predicate: (node: Node) => boolean,\n): FindDescedantItem | null {\n let found: FindDescedantItem | null = null;\n\n doc.descendants((node, pos, parent, index) => {\n if (found) return false;\n\n if (predicate(node)) found = {node, pos, parent, index};\n\n return true;\n });\n\n return found;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { Node } from "../pm/model.js";
2
+ export declare const entityIdAttr = "data-entity-id";
3
+ export declare function generateEntityId(name?: string): string;
4
+ /**
5
+ * Returns true when entityId is not set, is set to default value, or is duplicated (other node already has this entityId)
6
+ */
7
+ export declare function isInvalidEntityId({ doc, node, defaultId, }: {
8
+ doc: Node;
9
+ node: Node;
10
+ defaultId: string;
11
+ }): boolean;
@@ -0,0 +1,16 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import { findFirstDescedantNode } from "./descedants.js";
3
+ export const entityIdAttr = 'data-entity-id';
4
+ export function generateEntityId(name = 'entity') {
5
+ return name + '-' + uuidv4();
6
+ }
7
+ /**
8
+ * Returns true when entityId is not set, is set to default value, or is duplicated (other node already has this entityId)
9
+ */
10
+ export function isInvalidEntityId({ doc, node, defaultId, }) {
11
+ const entityId = node.attrs[entityIdAttr];
12
+ if (!entityId || entityId === defaultId)
13
+ return true;
14
+ return Boolean(findFirstDescedantNode(doc, (dNode) => node !== dNode && dNode.attrs[entityIdAttr] === entityId));
15
+ }
16
+ //# sourceMappingURL=entity-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-id.js","sourceRoot":"../../../src","sources":["utils/entity-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAC,sBAAsB,EAAC,wBAAqB;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,IAAI,GAAG,QAAQ;IAC5C,OAAO,IAAI,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAC9B,GAAG,EACH,IAAI,EACJ,SAAS,GAKZ;IACG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE1C,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErD,OAAO,OAAO,CACV,sBAAsB,CAClB,GAAG,EACH,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ,CACtE,CACJ,CAAC;AACN,CAAC","sourcesContent":["import {v4 as uuidv4} from 'uuid';\n\nimport type {Node} from '#pm/model';\n\nimport {findFirstDescedantNode} from './descedants';\n\nexport const entityIdAttr = 'data-entity-id';\n\nexport function generateEntityId(name = 'entity'): string {\n return name + '-' + uuidv4();\n}\n\n/**\n * Returns true when entityId is not set, is set to default value, or is duplicated (other node already has this entityId)\n */\nexport function isInvalidEntityId({\n doc,\n node,\n defaultId,\n}: {\n doc: Node;\n node: Node;\n defaultId: string;\n}): boolean {\n const entityId = node.attrs[entityIdAttr];\n\n if (!entityId || entityId === defaultId) return true;\n\n return Boolean(\n findFirstDescedantNode(\n doc,\n (dNode) => node !== dNode && dNode.attrs[entityIdAttr] === entityId,\n ),\n );\n}\n"]}
@@ -2,7 +2,9 @@ export * from "./actions.js";
2
2
  export * from "./autocomplete-popup.js";
3
3
  export * from "./carousel/index.js";
4
4
  export * from "./clipboard.js";
5
+ export * from "./descedants.js";
5
6
  export * from "./ecapeRegexp.js";
7
+ export * from "./entity-id.js";
6
8
  export * from "./event-emitter.js";
7
9
  export * from "./helpers.js";
8
10
  export * from "./inputrules.js";
@@ -2,7 +2,9 @@ export * from "./actions.js";
2
2
  export * from "./autocomplete-popup.js";
3
3
  export * from "./carousel/index.js";
4
4
  export * from "./clipboard.js";
5
+ export * from "./descedants.js";
5
6
  export * from "./ecapeRegexp.js";
7
+ export * from "./entity-id.js";
6
8
  export * from "./event-emitter.js";
7
9
  export * from "./helpers.js";
8
10
  export * from "./inputrules.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,wCAAqC;AACrC,oCAA2B;AAC3B,+BAA4B;AAC5B,iCAA8B;AAC9B,mCAAgC;AAChC,6BAA0B;AAC1B,gCAA6B;AAC7B,4BAAyB;AACzB,2BAAwB;AACxB,mCAAgC;AAChC,2BAAwB;AACxB,iCAA8B;AAC9B,8BAA2B;AAC3B,iCAA8B;AAC9B,4BAAyB;AACzB,+BAA4B;AAC5B,6CAA0C;AAC1C,iCAA8B;AAC9B,4BAAyB;AACzB,2CAAwC","sourcesContent":["export * from './actions';\nexport * from './autocomplete-popup';\nexport * from './carousel';\nexport * from './clipboard';\nexport * from './ecapeRegexp';\nexport * from './event-emitter';\nexport * from './helpers';\nexport * from './inputrules';\nexport * from './keymap';\nexport * from './marks';\nexport * from './node-children';\nexport * from './nodes';\nexport * from './placeholder';\nexport * from './platform';\nexport * from './remove-node';\nexport * from './schema';\nexport * from './selection';\nexport * from './serialize-for-clipboard';\nexport * from './sync-scroll';\nexport * from './upload';\nexport * from './get-proportional-size';\nexport type {DirectiveSyntaxValue, DirectiveSyntaxOption} from './directive';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["utils/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,wCAAqC;AACrC,oCAA2B;AAC3B,+BAA4B;AAC5B,gCAA6B;AAC7B,iCAA8B;AAC9B,+BAA4B;AAC5B,mCAAgC;AAChC,6BAA0B;AAC1B,gCAA6B;AAC7B,4BAAyB;AACzB,2BAAwB;AACxB,mCAAgC;AAChC,2BAAwB;AACxB,iCAA8B;AAC9B,8BAA2B;AAC3B,iCAA8B;AAC9B,4BAAyB;AACzB,+BAA4B;AAC5B,6CAA0C;AAC1C,iCAA8B;AAC9B,4BAAyB;AACzB,2CAAwC","sourcesContent":["export * from './actions';\nexport * from './autocomplete-popup';\nexport * from './carousel';\nexport * from './clipboard';\nexport * from './descedants';\nexport * from './ecapeRegexp';\nexport * from './entity-id';\nexport * from './event-emitter';\nexport * from './helpers';\nexport * from './inputrules';\nexport * from './keymap';\nexport * from './marks';\nexport * from './node-children';\nexport * from './nodes';\nexport * from './placeholder';\nexport * from './platform';\nexport * from './remove-node';\nexport * from './schema';\nexport * from './selection';\nexport * from './serialize-for-clipboard';\nexport * from './sync-scroll';\nexport * from './upload';\nexport * from './get-proportional-size';\nexport type {DirectiveSyntaxValue, DirectiveSyntaxOption} from './directive';\n"]}
@@ -1,3 +1,3 @@
1
1
  /** During build process, the current version will be injected here */
2
- export const VERSION = typeof '15.3.1' !== 'undefined' ? '15.3.1' : 'unknown';
2
+ export const VERSION = typeof '15.4.1' !== 'undefined' ? '15.4.1' : 'unknown';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"../../src","sources":["version.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["/** During build process, the current version will be injected here */\nexport const VERSION = typeof '15.3.1' !== 'undefined' ? '15.3.1' : 'unknown';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"../../src","sources":["version.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["/** During build process, the current version will be injected here */\nexport const VERSION = typeof '15.4.1' !== 'undefined' ? '15.4.1' : 'unknown';\n"]}
@@ -1,4 +1,5 @@
1
1
  import { type ComponentType, type RefAttributes } from 'react';
2
+ import type { HTMLRuntimeConfig } from '@diplodoc/html-extension';
2
3
  import type { IHTMLIFrameElementConfig } from '@diplodoc/html-extension/runtime';
3
4
  import type { PluginRuntime, TransformMeta } from "../withMermaid/types.js";
4
5
  export type WithYfmHtmlBlockOptions = {
@@ -7,6 +8,7 @@ export type WithYfmHtmlBlockOptions = {
7
8
  export type WithYfmHtmlBlockProps = {
8
9
  meta: TransformMeta;
9
10
  yfmHtmlBlockConfig?: IHTMLIFrameElementConfig;
11
+ htmlRuntimeConfig?: HTMLRuntimeConfig;
10
12
  };
11
13
  export declare function withYfmHtmlBlock(opts: WithYfmHtmlBlockOptions): <T extends {
12
14
  html: string;
@@ -4,8 +4,8 @@ import { useDiplodocEmbeddedContentController } from '@diplodoc/html-extension/r
4
4
  import { useYfmHtmlBlockRuntime } from "./useYfmHtmlBlockRuntime.js";
5
5
  export function withYfmHtmlBlock(opts) {
6
6
  return (Component) => forwardRef(function WithYfmHtml(props, ref) {
7
- const { meta, html, yfmHtmlBlockConfig } = props;
8
- useYfmHtmlBlockRuntime(meta, opts.runtime);
7
+ const { meta, html, yfmHtmlBlockConfig, htmlRuntimeConfig } = props;
8
+ useYfmHtmlBlockRuntime(meta, opts.runtime, htmlRuntimeConfig);
9
9
  const yfmHtmlBlock = useDiplodocEmbeddedContentController();
10
10
  useEffect(() => {
11
11
  if (yfmHtmlBlock) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["view/hocs/withYfmHtml/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAyC,UAAU,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEpF,OAAO,EAAC,oCAAoC,EAAC,MAAM,gCAAgC,CAAC;AAKpF,OAAO,EAAC,sBAAsB,EAAC,oCAAiC;AAWhE,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC1D,OAAO,CACH,SAA2D,EAC7D,EAAE,CACA,UAAU,CAA4C,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG;QACjF,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAC,GAAG,KAAK,CAAC;QAE/C,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,YAAY,GAAG,oCAAoC,EAAE,CAAC;QAE5D,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,kBAAkB,EAAE,CAAC;oBACrB,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAC/C,CAAC;gBACD,YAAY,CAAC,UAAU,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAE7C,OAAO,KAAC,SAAS,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC","sourcesContent":["import {type ComponentType, type RefAttributes, forwardRef, useEffect} from 'react';\n\nimport {useDiplodocEmbeddedContentController} from '@diplodoc/html-extension/react';\nimport type {IHTMLIFrameElementConfig} from '@diplodoc/html-extension/runtime';\n\nimport type {PluginRuntime, TransformMeta} from '../withMermaid/types';\n\nimport {useYfmHtmlBlockRuntime} from './useYfmHtmlBlockRuntime';\n\nexport type WithYfmHtmlBlockOptions = {\n runtime: PluginRuntime;\n};\n\nexport type WithYfmHtmlBlockProps = {\n meta: TransformMeta;\n yfmHtmlBlockConfig?: IHTMLIFrameElementConfig;\n};\n\nexport function withYfmHtmlBlock(opts: WithYfmHtmlBlockOptions) {\n return <T extends {html: string}>(\n Component: ComponentType<T & RefAttributes<HTMLDivElement>>,\n ) =>\n forwardRef<HTMLDivElement, T & WithYfmHtmlBlockProps>(function WithYfmHtml(props, ref) {\n const {meta, html, yfmHtmlBlockConfig} = props;\n\n useYfmHtmlBlockRuntime(meta, opts.runtime);\n\n const yfmHtmlBlock = useDiplodocEmbeddedContentController();\n\n useEffect(() => {\n if (yfmHtmlBlock) {\n if (yfmHtmlBlockConfig) {\n yfmHtmlBlock.setConfig(yfmHtmlBlockConfig);\n }\n yfmHtmlBlock.initialize();\n }\n }, [yfmHtmlBlock, html, yfmHtmlBlockConfig]);\n\n return <Component {...props} ref={ref} />;\n });\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["view/hocs/withYfmHtml/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAyC,UAAU,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAGpF,OAAO,EAAC,oCAAoC,EAAC,MAAM,gCAAgC,CAAC;AAKpF,OAAO,EAAC,sBAAsB,EAAC,oCAAiC;AAYhE,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC1D,OAAO,CACH,SAA2D,EAC7D,EAAE,CACA,UAAU,CAA4C,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG;QACjF,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,iBAAiB,EAAC,GAAG,KAAK,CAAC;QAElE,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAG,oCAAoC,EAAE,CAAC;QAE5D,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,kBAAkB,EAAE,CAAC;oBACrB,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAC/C,CAAC;gBACD,YAAY,CAAC,UAAU,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAE7C,OAAO,KAAC,SAAS,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC","sourcesContent":["import {type ComponentType, type RefAttributes, forwardRef, useEffect} from 'react';\n\nimport type {HTMLRuntimeConfig} from '@diplodoc/html-extension';\nimport {useDiplodocEmbeddedContentController} from '@diplodoc/html-extension/react';\nimport type {IHTMLIFrameElementConfig} from '@diplodoc/html-extension/runtime';\n\nimport type {PluginRuntime, TransformMeta} from '../withMermaid/types';\n\nimport {useYfmHtmlBlockRuntime} from './useYfmHtmlBlockRuntime';\n\nexport type WithYfmHtmlBlockOptions = {\n runtime: PluginRuntime;\n};\n\nexport type WithYfmHtmlBlockProps = {\n meta: TransformMeta;\n yfmHtmlBlockConfig?: IHTMLIFrameElementConfig;\n htmlRuntimeConfig?: HTMLRuntimeConfig;\n};\n\nexport function withYfmHtmlBlock(opts: WithYfmHtmlBlockOptions) {\n return <T extends {html: string}>(\n Component: ComponentType<T & RefAttributes<HTMLDivElement>>,\n ) =>\n forwardRef<HTMLDivElement, T & WithYfmHtmlBlockProps>(function WithYfmHtml(props, ref) {\n const {meta, html, yfmHtmlBlockConfig, htmlRuntimeConfig} = props;\n\n useYfmHtmlBlockRuntime(meta, opts.runtime, htmlRuntimeConfig);\n\n const yfmHtmlBlock = useDiplodocEmbeddedContentController();\n\n useEffect(() => {\n if (yfmHtmlBlock) {\n if (yfmHtmlBlockConfig) {\n yfmHtmlBlock.setConfig(yfmHtmlBlockConfig);\n }\n yfmHtmlBlock.initialize();\n }\n }, [yfmHtmlBlock, html, yfmHtmlBlockConfig]);\n\n return <Component {...props} ref={ref} />;\n });\n}\n"]}
@@ -1,6 +1,8 @@
1
+ import { setupRuntimeConfig } from '@diplodoc/html-extension/utils';
1
2
  /** @internal */
2
- export function useYfmHtmlBlockRuntime(meta, runtime = '_assets/html-extension.js') {
3
+ export function useYfmHtmlBlockRuntime(meta, runtime = '_assets/html-extension.js', htmlRuntimeConfig = {}) {
3
4
  if (meta?.script?.includes(runtime)) {
5
+ setupRuntimeConfig(htmlRuntimeConfig);
4
6
  import(/* webpackChunkName: "yfm-html-runtime" */ '@diplodoc/html-extension/runtime');
5
7
  }
6
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useYfmHtmlBlockRuntime.js","sourceRoot":"../../../../../src","sources":["view/hocs/withYfmHtml/useYfmHtmlBlockRuntime.ts"],"names":[],"mappings":"AAEA,gBAAgB;AAChB,MAAM,UAAU,sBAAsB,CAClC,IAAmB,EACnB,UAAyB,2BAA2B;IAEpD,IAAI,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,0CAA0C,CAAC,kCAAkC,CAAC,CAAC;IAC1F,CAAC;AACL,CAAC","sourcesContent":["import type {PluginRuntime, TransformMeta} from './types';\n\n/** @internal */\nexport function useYfmHtmlBlockRuntime(\n meta: TransformMeta,\n runtime: PluginRuntime = '_assets/html-extension.js',\n) {\n if (meta?.script?.includes(runtime)) {\n import(/* webpackChunkName: \"yfm-html-runtime\" */ '@diplodoc/html-extension/runtime');\n }\n}\n"]}
1
+ {"version":3,"file":"useYfmHtmlBlockRuntime.js","sourceRoot":"../../../../../src","sources":["view/hocs/withYfmHtml/useYfmHtmlBlockRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAIlE,gBAAgB;AAChB,MAAM,UAAU,sBAAsB,CAClC,IAAmB,EACnB,UAAyB,2BAA2B,EACpD,oBAAuC,EAAE;IAEzC,IAAI,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACtC,MAAM,CAAC,0CAA0C,CAAC,kCAAkC,CAAC,CAAC;IAC1F,CAAC;AACL,CAAC","sourcesContent":["import type {HTMLRuntimeConfig} from '@diplodoc/html-extension';\nimport {setupRuntimeConfig} from '@diplodoc/html-extension/utils';\n\nimport type {PluginRuntime, TransformMeta} from './types';\n\n/** @internal */\nexport function useYfmHtmlBlockRuntime(\n meta: TransformMeta,\n runtime: PluginRuntime = '_assets/html-extension.js',\n htmlRuntimeConfig: HTMLRuntimeConfig = {},\n) {\n if (meta?.script?.includes(runtime)) {\n setupRuntimeConfig(htmlRuntimeConfig);\n import(/* webpackChunkName: \"yfm-html-runtime\" */ '@diplodoc/html-extension/runtime');\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/markdown-editor",
3
- "version": "15.3.1",
3
+ "version": "15.4.1",
4
4
  "description": "Markdown wysiwyg and markup editor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -30,7 +30,16 @@
30
30
  "test:cov": "jest --coverage",
31
31
  "test:watch": "jest --watchAll",
32
32
  "test:esbuild": "node tests/esbuild-test/esbuild-tester.js",
33
- "prepublishOnly": "npm run lint && npm run build"
33
+ "prepublishOnly": "npm run lint && npm run build",
34
+ "playwright:install": "playwright install chromium webkit --with-deps",
35
+ "playwright": "playwright test --config=tests/playwright/playwright.config.ts",
36
+ "playwright:update": "npm run playwright -- -u",
37
+ "playwright:clear": "rm -rf ./tests/playwright/.cache",
38
+ "playwright:report": "npx playwright show-report playwright-report",
39
+ "playwright:docker": "./scripts/playwright-docker.sh 'npm run playwright'",
40
+ "playwright:docker:update": "./scripts/playwright-docker.sh 'npm run playwright:update'",
41
+ "playwright:docker:clear": "./scripts/playwright-docker.sh clear",
42
+ "playwright:docker:report": "npx playwright show-report playwright-report-docker"
34
43
  },
35
44
  "exports": {
36
45
  ".": {
@@ -210,7 +219,7 @@
210
219
  "devDependencies": {
211
220
  "@diplodoc/cut-extension": "^0.6.1",
212
221
  "@diplodoc/folding-headings-extension": "0.1.0",
213
- "@diplodoc/html-extension": "^2.5.0",
222
+ "@diplodoc/html-extension": "2.7.1",
214
223
  "@diplodoc/latex-extension": "1.0.3",
215
224
  "@diplodoc/mermaid-extension": "1.2.1",
216
225
  "@diplodoc/tabs-extension": "^3.5.1",
@@ -221,6 +230,8 @@
221
230
  "@gravity-ui/stylelint-config": "4.0.1",
222
231
  "@gravity-ui/tsconfig": "1.0.0",
223
232
  "@gravity-ui/uikit": "7.1.1",
233
+ "@playwright/experimental-ct-react": "1.49.0",
234
+ "@playwright/test": "1.49.0",
224
235
  "@storybook/addon-docs": "8.4.1",
225
236
  "@storybook/addon-essentials": "^8.4.1",
226
237
  "@storybook/addon-webpack5-compiler-babel": "3.0.3",
@@ -295,8 +306,8 @@
295
306
  },
296
307
  "peerDependencies": {
297
308
  "@diplodoc/cut-extension": "^0.5.0 || ^0.6.1 || ^0.7.1",
298
- "@diplodoc/folding-headings-extension": "^0.1.0",
299
309
  "@diplodoc/file-extension": "^0.2.1",
310
+ "@diplodoc/folding-headings-extension": "^0.1.0",
300
311
  "@diplodoc/html-extension": "^2.3.2",
301
312
  "@diplodoc/latex-extension": "^1.0.3",
302
313
  "@diplodoc/mermaid-extension": "^1.0.0",