payload-richtext-tiptap 0.0.149 → 0.0.150

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 (266) hide show
  1. package/LICENSE.md +22 -22
  2. package/README.md +33 -33
  3. package/dist/src/body/StandardArticle.js.map +1 -1
  4. package/dist/src/client.js.map +1 -1
  5. package/dist/src/fields/TiptapEditor/Components.js.map +1 -1
  6. package/dist/src/fields/TiptapEditor/context/EditorContext.js.map +1 -1
  7. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js.map +1 -1
  8. package/dist/src/fields/TiptapEditor/extensions/AICommand/AIMenuList.js.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/AICommand/CommandButton.js.map +1 -1
  10. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js.map +1 -1
  11. package/dist/src/fields/TiptapEditor/extensions/AICommand/index.js.map +1 -1
  12. package/dist/src/fields/TiptapEditor/extensions/AICommand/types.js.map +1 -1
  13. package/dist/src/fields/TiptapEditor/extensions/Audio/Audio.js +5 -5
  14. package/dist/src/fields/TiptapEditor/extensions/Audio/Audio.js.map +1 -1
  15. package/dist/src/fields/TiptapEditor/extensions/Audio/index.js.map +1 -1
  16. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/AudioBlock.js.map +1 -1
  17. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockMenu.js.map +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockView.js.map +1 -1
  19. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockWidth.js.map +1 -1
  20. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/index.js.map +1 -1
  21. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/BlockquoteFigure.js.map +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Design.js.map +1 -1
  23. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/Quote.js.map +1 -1
  24. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/Quote/index.js.map +1 -1
  25. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.js.map +1 -1
  26. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/QuoteCaption/index.js.map +1 -1
  27. package/dist/src/fields/TiptapEditor/extensions/BlockquoteFigure/index.js.map +1 -1
  28. package/dist/src/fields/TiptapEditor/extensions/Document/Document.js.map +1 -1
  29. package/dist/src/fields/TiptapEditor/extensions/Document/index.js.map +1 -1
  30. package/dist/src/fields/TiptapEditor/extensions/Figcaption/Figcaption.js.map +1 -1
  31. package/dist/src/fields/TiptapEditor/extensions/Figcaption/index.js.map +1 -1
  32. package/dist/src/fields/TiptapEditor/extensions/Figure/Figure.js.map +1 -1
  33. package/dist/src/fields/TiptapEditor/extensions/Figure/index.js.map +1 -1
  34. package/dist/src/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +1 -1
  35. package/dist/src/fields/TiptapEditor/extensions/FontSize/index.js.map +1 -1
  36. package/dist/src/fields/TiptapEditor/extensions/Heading/Heading.js.map +1 -1
  37. package/dist/src/fields/TiptapEditor/extensions/Heading/index.js.map +1 -1
  38. package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/HorizontalRule.js.map +1 -1
  39. package/dist/src/fields/TiptapEditor/extensions/HorizontalRule/index.js.map +1 -1
  40. package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.js.map +1 -1
  41. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
  42. package/dist/src/fields/TiptapEditor/extensions/Iframe/index.js.map +1 -1
  43. package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -1
  44. package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/index.js.map +1 -1
  45. package/dist/src/fields/TiptapEditor/extensions/Image/Image.js.map +1 -1
  46. package/dist/src/fields/TiptapEditor/extensions/Image/index.js.map +1 -1
  47. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -1
  48. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +1 -1
  49. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -1
  50. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockViewClientside.js.map +1 -1
  51. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockWidth.js.map +1 -1
  52. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/index.js.map +1 -1
  53. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/ImageUpload.js.map +1 -1
  54. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/getImageActualSize.js.map +1 -1
  55. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/index.js.map +1 -1
  56. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -1
  57. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +1 -1
  58. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/hooks.js.map +1 -1
  59. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/index.js.map +1 -1
  60. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +1 -1
  61. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -1
  62. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/index.js.map +1 -1
  63. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/insideLinks.js.map +1 -1
  64. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/InsideLinksMenu.js.map +1 -1
  65. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/menus/index.js.map +1 -1
  66. package/dist/src/fields/TiptapEditor/extensions/Link/Link.js.map +1 -1
  67. package/dist/src/fields/TiptapEditor/extensions/Link/index.js.map +1 -1
  68. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/EditLinkPreviewPopover.js.map +1 -1
  69. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.js.map +1 -1
  70. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreviewEditorPanel.js.map +1 -1
  71. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/index.js.map +1 -1
  72. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/menus/index.js.map +1 -1
  73. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/menus/linkPreviewMenu.js.map +1 -1
  74. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Column.js.map +1 -1
  75. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js +3 -3
  76. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +1 -1
  77. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/index.js.map +1 -1
  78. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +1 -1
  79. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/index.js.map +1 -1
  80. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -1
  81. package/dist/src/fields/TiptapEditor/extensions/Paragraph/index.js.map +1 -1
  82. package/dist/src/fields/TiptapEditor/extensions/Selection/Selection.js.map +1 -1
  83. package/dist/src/fields/TiptapEditor/extensions/Selection/index.js.map +1 -1
  84. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/CommandButton.js.map +1 -1
  85. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +1 -1
  86. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +1 -1
  87. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
  88. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/index.js.map +1 -1
  89. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/types.js.map +1 -1
  90. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/FacebookEmbed.js.map +1 -1
  91. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/facebook.js.map +1 -1
  92. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Facebook/index.js.map +1 -1
  93. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/InstagramEmbed.js.map +1 -1
  94. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/index.js.map +1 -1
  95. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Instagram/instagram.js.map +1 -1
  96. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/LinkedinEmbed.js.map +1 -1
  97. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/index.js.map +1 -1
  98. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Linkedin/linkedin.js.map +1 -1
  99. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -1
  100. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js.map +1 -1
  101. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/TiktokEmbed.js.map +1 -1
  102. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/index.js.map +1 -1
  103. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Tiktok/tiktok.js.map +1 -1
  104. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/TwitterEmbed.js.map +1 -1
  105. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/index.js.map +1 -1
  106. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Twitter/twitter.js.map +1 -1
  107. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/YoutubeEmbed.js.map +1 -1
  108. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/index.js.map +1 -1
  109. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/Youtube/youtube.js.map +1 -1
  110. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/index.js.map +1 -1
  111. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/SocialMediaMenu.js.map +1 -1
  112. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/constants.js.map +1 -1
  113. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/menus/index.js.map +1 -1
  114. package/dist/src/fields/TiptapEditor/extensions/Table/Cell.js.map +1 -1
  115. package/dist/src/fields/TiptapEditor/extensions/Table/Header.js.map +1 -1
  116. package/dist/src/fields/TiptapEditor/extensions/Table/Row.js.map +1 -1
  117. package/dist/src/fields/TiptapEditor/extensions/Table/Table.js.map +1 -1
  118. package/dist/src/fields/TiptapEditor/extensions/Table/index.js.map +1 -1
  119. package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/index.js.map +1 -1
  120. package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableColumn/utils.js.map +1 -1
  121. package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/index.js.map +1 -1
  122. package/dist/src/fields/TiptapEditor/extensions/Table/menus/TableRow/utils.js.map +1 -1
  123. package/dist/src/fields/TiptapEditor/extensions/Table/menus/index.js.map +1 -1
  124. package/dist/src/fields/TiptapEditor/extensions/Table/utils.js.map +1 -1
  125. package/dist/src/fields/TiptapEditor/extensions/TrailingNode/index.js.map +1 -1
  126. package/dist/src/fields/TiptapEditor/extensions/TrailingNode/trailing-node.js.map +1 -1
  127. package/dist/src/fields/TiptapEditor/extensions/Video/Video.js +5 -5
  128. package/dist/src/fields/TiptapEditor/extensions/Video/Video.js.map +1 -1
  129. package/dist/src/fields/TiptapEditor/extensions/Video/index.js.map +1 -1
  130. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/VideoBlock.js.map +1 -1
  131. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockMenu.js.map +1 -1
  132. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockView.js.map +1 -1
  133. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockViewClientside.js.map +1 -1
  134. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockWidth.js.map +1 -1
  135. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/VideoPlayer.js.map +1 -1
  136. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualityOption.js +9 -9
  137. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualityOption.js.map +1 -1
  138. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualitySelector.js +15 -15
  139. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualitySelector.js.map +1 -1
  140. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.d.ts.map +1 -1
  141. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.js.map +1 -1
  142. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/index.js.map +1 -1
  143. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/middleware/SourceInterceptor.js.map +1 -1
  144. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/util/SafeSeek.js.map +1 -1
  145. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/index.js.map +1 -1
  146. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
  147. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
  148. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
  149. package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -1
  150. package/dist/src/fields/TiptapEditor/extensions/serverside/EmbedContentInlineRenderer.js.map +1 -1
  151. package/dist/src/fields/TiptapEditor/extensions/serverside/EmbedContentSideRenderer.js.map +1 -1
  152. package/dist/src/fields/TiptapEditor/extensions/serverside/EmbedContentSidebarRenderer.js.map +1 -1
  153. package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.js.map +1 -1
  154. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js.map +1 -1
  155. package/dist/src/fields/TiptapEditor/extensions/serverside/ImageBlockServerside.js.map +1 -1
  156. package/dist/src/fields/TiptapEditor/extensions/serverside/InsideLinkServerside.js.map +1 -1
  157. package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.js.map +1 -1
  158. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.js.map +1 -1
  159. package/dist/src/fields/TiptapEditor/extensions/serverside/RenderEmbedClientSide.js.map +1 -1
  160. package/dist/src/fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js.map +1 -1
  161. package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.js.map +1 -1
  162. package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.js.map +1 -1
  163. package/dist/src/fields/TiptapEditor/extensions/serverside/VideoBlockServerside.js +5 -5
  164. package/dist/src/fields/TiptapEditor/extensions/serverside/VideoBlockServerside.js.map +1 -1
  165. package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.js.map +1 -1
  166. package/dist/src/fields/TiptapEditor/extensions/serverside/getAssetsAspectRatio.js.map +1 -1
  167. package/dist/src/fields/TiptapEditor/extensions/serverside/index.js.map +1 -1
  168. package/dist/src/fields/TiptapEditor/extensions/serverside/useAppendRequiredBlocksMarkerClient.js.map +1 -1
  169. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts +2 -2
  170. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts.map +1 -1
  171. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js +22 -21
  172. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
  173. package/dist/src/fields/TiptapEditor/features/BlockEditor/OneLineEditor.js.map +1 -1
  174. package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +1 -1
  175. package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorInfo.js.map +1 -1
  176. package/dist/src/fields/TiptapEditor/features/BlockEditor/components/OneLiner.js.map +1 -1
  177. package/dist/src/fields/TiptapEditor/features/BlockEditor/index.js.map +1 -1
  178. package/dist/src/fields/TiptapEditor/features/BlockEditor/types.js.map +1 -1
  179. package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +1 -1
  180. package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useContentItemActions.js.map +1 -1
  181. package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/hooks/useData.js.map +1 -1
  182. package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/index.js.map +1 -1
  183. package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/LinkMenu.js.map +1 -1
  184. package/dist/src/fields/TiptapEditor/features/menus/LinkMenu/index.js.map +1 -1
  185. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/AITextMenu.js.map +1 -1
  186. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
  187. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ContentTypePicker.js.map +1 -1
  188. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +1 -1
  189. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +1 -1
  190. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +1 -1
  191. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +1 -1
  192. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +1 -1
  193. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-completion-command.js.map +1 -1
  194. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-draft-selector-commands.js.map +1 -1
  195. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +1 -1
  196. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuCommands.js.map +1 -1
  197. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +1 -1
  198. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuStates.js.map +1 -1
  199. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/index.js.map +1 -1
  200. package/dist/src/fields/TiptapEditor/features/menus/index.js.map +1 -1
  201. package/dist/src/fields/TiptapEditor/features/menus/types.js.map +1 -1
  202. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js.map +1 -1
  203. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/index.js.map +1 -1
  204. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -1
  205. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/EditorPreview.js.map +1 -1
  206. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/index.js.map +1 -1
  207. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/markdown.hook.js.map +1 -1
  208. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/utils.js.map +1 -1
  209. package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/ColorButton.js.map +1 -1
  210. package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +1 -1
  211. package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/index.js.map +1 -1
  212. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -1
  213. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/index.js.map +1 -1
  214. package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/InsideLinksEditorPanel.js.map +1 -1
  215. package/dist/src/fields/TiptapEditor/features/panels/InsideLinksEditorPanel/index.js.map +1 -1
  216. package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +1 -1
  217. package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/index.js.map +1 -1
  218. package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/LinkPreviewPanel.js.map +1 -1
  219. package/dist/src/fields/TiptapEditor/features/panels/LinkPreviewPanel/index.js.map +1 -1
  220. package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/SocialMediaEditorPanel.js.map +1 -1
  221. package/dist/src/fields/TiptapEditor/features/panels/SocialMediaEditorPanel/index.js.map +1 -1
  222. package/dist/src/fields/TiptapEditor/features/panels/index.js.map +1 -1
  223. package/dist/src/fields/TiptapEditor/features/ui/Button/Button.js.map +1 -1
  224. package/dist/src/fields/TiptapEditor/features/ui/Button/SpanButton.js.map +1 -1
  225. package/dist/src/fields/TiptapEditor/features/ui/Button/index.js.map +1 -1
  226. package/dist/src/fields/TiptapEditor/features/ui/Dropdown/Dropdown.js.map +1 -1
  227. package/dist/src/fields/TiptapEditor/features/ui/Dropdown/index.js.map +1 -1
  228. package/dist/src/fields/TiptapEditor/features/ui/Icon.js.map +1 -1
  229. package/dist/src/fields/TiptapEditor/features/ui/Loader/Loader.js.map +1 -1
  230. package/dist/src/fields/TiptapEditor/features/ui/Loader/index.js.map +1 -1
  231. package/dist/src/fields/TiptapEditor/features/ui/Loader/types.js.map +1 -1
  232. package/dist/src/fields/TiptapEditor/features/ui/Panel/index.js.map +1 -1
  233. package/dist/src/fields/TiptapEditor/features/ui/PopoverMenu.js.map +1 -1
  234. package/dist/src/fields/TiptapEditor/features/ui/Spinner/Spinner.js.map +1 -1
  235. package/dist/src/fields/TiptapEditor/features/ui/Spinner/index.js.map +1 -1
  236. package/dist/src/fields/TiptapEditor/features/ui/Surface.js.map +1 -1
  237. package/dist/src/fields/TiptapEditor/features/ui/Textarea/Textarea.js.map +1 -1
  238. package/dist/src/fields/TiptapEditor/features/ui/Textarea/index.js.map +1 -1
  239. package/dist/src/fields/TiptapEditor/features/ui/Toggle/Toggle.js.map +1 -1
  240. package/dist/src/fields/TiptapEditor/features/ui/Toggle/index.js.map +1 -1
  241. package/dist/src/fields/TiptapEditor/features/ui/Toolbar.js.map +1 -1
  242. package/dist/src/fields/TiptapEditor/features/ui/Tooltip/index.js.map +1 -1
  243. package/dist/src/fields/TiptapEditor/features/ui/Tooltip/types.js.map +1 -1
  244. package/dist/src/fields/TiptapEditor/features/ui/crazy-spinner.js.map +1 -1
  245. package/dist/src/fields/TiptapEditor/features/ui/scroll-area.js.map +1 -1
  246. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
  247. package/dist/src/fields/TiptapEditor/hooks/useSidebar.js.map +1 -1
  248. package/dist/src/fields/TiptapEditor/index.js.map +1 -1
  249. package/dist/src/fields/TiptapEditor/lib/api.js.map +1 -1
  250. package/dist/src/fields/TiptapEditor/lib/constants.js.map +1 -1
  251. package/dist/src/fields/TiptapEditor/lib/data/initialContent.js.map +1 -1
  252. package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -1
  253. package/dist/src/fields/TiptapEditor/lib/tiptapSchema.js.map +1 -1
  254. package/dist/src/fields/TiptapEditor/lib/utils/cssVar.js.map +1 -1
  255. package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js +8 -8
  256. package/dist/src/fields/TiptapEditor/lib/utils/deepMerge.js.map +1 -1
  257. package/dist/src/fields/TiptapEditor/lib/utils/getRenderContainer.js.map +1 -1
  258. package/dist/src/fields/TiptapEditor/lib/utils/index.js.map +1 -1
  259. package/dist/src/fields/TiptapEditor/lib/utils/isCustomNodeSelected.js.map +1 -1
  260. package/dist/src/fields/TiptapEditor/lib/utils/isRtl.js.map +1 -1
  261. package/dist/src/fields/TiptapEditor/lib/utils/isTextSelected.js.map +1 -1
  262. package/dist/src/fields/TiptapEditor/lib/utils/partialRequired.js.map +1 -1
  263. package/dist/src/fields/TiptapEditor/types.d.js.map +1 -1
  264. package/dist/src/index.js.map +1 -1
  265. package/dist/tsconfig.tsbuildinfo +1 -1
  266. package/package.json +196 -204
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockViewClientside.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\r\nimport { NodeViewWrapper } from \"@tiptap/react\";\r\nimport React, { useEffect, useMemo, useRef } from \"react\";\r\nimport { cn } from \"../../../lib/utils/index.js\";\r\nimport VideoPlayer from \"./videojs/VideoPlayer.js\";\r\nimport { useGetAssetsAspectRatio } from \"../../serverside/getAssetsAspectRatio.js\";\r\n\r\ninterface VideoBlockViewProps {\r\n node: Node & {\r\n attrs: {\r\n src: string;\r\n poster: string;\r\n assetId: string;\r\n playlistUrl?: string;\r\n };\r\n };\r\n className?: string;\r\n getVideoAspect?: () => void;\r\n}\r\n\r\nexport type Playlist = {\r\n id: string;\r\n title: string;\r\n description: string;\r\n poster: string;\r\n items: Item[];\r\n};\r\n\r\nexport type Item = {\r\n src: string;\r\n type: string;\r\n label: string;\r\n width: number;\r\n height: number;\r\n};\r\n\r\nexport const VideoBlockViewClientside = ({\r\n className,\r\n getVideoAspect,\r\n ...props\r\n}: VideoBlockViewProps) => {\r\n const { node } = props;\r\n const videoWrapperRef = useRef<HTMLDivElement>(null);\r\n const { src, poster, playlistUrl, caption, actualWidth, actualHeight } =\r\n node.attrs;\r\n const { aspectRatio, calculateAspectRatio, isVertical } =\r\n useGetAssetsAspectRatio();\r\n const [playlistContent, setPlaylistContent] = React.useState<\r\n Playlist | undefined\r\n >();\r\n const [error, setError] = React.useState();\r\n\r\n useEffect(() => {\r\n async function getPlaylistContent() {\r\n const res = await fetch(playlistUrl, {\r\n cache: \"no-cache\",\r\n });\r\n return await res.json();\r\n }\r\n\r\n if (playlistUrl) {\r\n try {\r\n getPlaylistContent()\r\n .then((data) => {\r\n setPlaylistContent(data);\r\n })\r\n .catch((err) => {\r\n setError(err);\r\n });\r\n } catch (error) {\r\n setError(error);\r\n }\r\n }\r\n }, [playlistUrl]);\r\n\r\n const wrapperClassName = cn(\r\n node.attrs.align === \"left\" ? \"ml-0\" : \"ml-auto\",\r\n node.attrs.align === \"right\" ? \"mr-0\" : \"mr-auto\",\r\n node.attrs.align === \"center\" && \"mx-auto\"\r\n );\r\n\r\n const videoJsOptions = useMemo(() => {\r\n if (playlistContent == undefined) return {};\r\n\r\n if (\r\n playlistContent.items.some(\r\n (item) =>\r\n item.type === \"application/x-mpegURL\" ||\r\n item.type === \"application/vnd.apple.mpegurl\"\r\n )\r\n ) {\r\n return {\r\n sources: playlistContent.items\r\n .filter(\r\n (item) =>\r\n item.type === \"application/x-mpegURL\" ||\r\n item.type === \"application/vnd.apple.mpegurl\"\r\n )\r\n .map((item) => ({\r\n src: item.src,\r\n type: item.type,\r\n label: item.label,\r\n })),\r\n poster: playlistContent.poster,\r\n preload: \"auto\",\r\n };\r\n }\r\n return {\r\n sources: playlistContent.items.map((item) => ({\r\n src: item.src,\r\n type: item.type,\r\n label: item.label,\r\n })),\r\n poster: playlistContent.poster,\r\n preload: \"auto\",\r\n };\r\n }, [playlistContent]);\r\n\r\n useEffect(() => {\r\n if (!playlistContent?.items?.length) {\r\n return;\r\n }\r\n const source = playlistContent.items.find((item) => item.src);\r\n if (!aspectRatio && source?.src) {\r\n calculateAspectRatio(\r\n {\r\n src: source.src,\r\n actualWidth: actualWidth || source?.width,\r\n actualHeight: actualHeight || source?.height,\r\n },\r\n \"VIDEO\",\r\n getVideoAspect\r\n );\r\n }\r\n }, [playlistContent]);\r\n const style = useMemo(() => {\r\n if (aspectRatio) {\r\n return {\r\n aspectRatio,\r\n width: node.attrs.width,\r\n };\r\n }\r\n return {\r\n width: node.attrs.width,\r\n };\r\n }, [aspectRatio]);\r\n return (\r\n <NodeViewWrapper className={className}>\r\n <div\r\n className={cn(\r\n wrapperClassName,\r\n \"main-videojs-wrapper aspect-square h-full\"\r\n )}\r\n {...(isVertical && { \"data-vertical\": isVertical })}\r\n ref={videoWrapperRef}\r\n style={style}\r\n >\r\n {error && <div>{error}</div>}\r\n\r\n {playlistContent && <VideoPlayer options={videoJsOptions} />}\r\n </div>\r\n {caption && playlistContent?.title && (\r\n <div\r\n className=\"block mx-auto text-sm text-gray-500 text-center mt-1\"\r\n style={{ width: node.attrs.width }}\r\n >\r\n {playlistContent?.title}\r\n </div>\r\n )}\r\n </NodeViewWrapper>\r\n );\r\n};\r\n\r\nexport default VideoBlockViewClientside;\r\n"],"names":["NodeViewWrapper","React","useEffect","useMemo","useRef","cn","VideoPlayer","useGetAssetsAspectRatio","VideoBlockViewClientside","className","getVideoAspect","props","node","videoWrapperRef","src","poster","playlistUrl","caption","actualWidth","actualHeight","attrs","aspectRatio","calculateAspectRatio","isVertical","playlistContent","setPlaylistContent","useState","error","setError","getPlaylistContent","res","fetch","cache","json","then","data","catch","err","wrapperClassName","align","videoJsOptions","undefined","items","some","item","type","sources","filter","map","label","preload","length","source","find","width","height","style","div","ref","options","title"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockViewClientside.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useEffect, useMemo, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\nimport VideoPlayer from \"./videojs/VideoPlayer.js\";\nimport { useGetAssetsAspectRatio } from \"../../serverside/getAssetsAspectRatio.js\";\n\ninterface VideoBlockViewProps {\n node: Node & {\n attrs: {\n src: string;\n poster: string;\n assetId: string;\n playlistUrl?: string;\n };\n };\n className?: string;\n getVideoAspect?: () => void;\n}\n\nexport type Playlist = {\n id: string;\n title: string;\n description: string;\n poster: string;\n items: Item[];\n};\n\nexport type Item = {\n src: string;\n type: string;\n label: string;\n width: number;\n height: number;\n};\n\nexport const VideoBlockViewClientside = ({\n className,\n getVideoAspect,\n ...props\n}: VideoBlockViewProps) => {\n const { node } = props;\n const videoWrapperRef = useRef<HTMLDivElement>(null);\n const { src, poster, playlistUrl, caption, actualWidth, actualHeight } =\n node.attrs;\n const { aspectRatio, calculateAspectRatio, isVertical } =\n useGetAssetsAspectRatio();\n const [playlistContent, setPlaylistContent] = React.useState<\n Playlist | undefined\n >();\n const [error, setError] = React.useState();\n\n useEffect(() => {\n async function getPlaylistContent() {\n const res = await fetch(playlistUrl, {\n cache: \"no-cache\",\n });\n return await res.json();\n }\n\n if (playlistUrl) {\n try {\n getPlaylistContent()\n .then((data) => {\n setPlaylistContent(data);\n })\n .catch((err) => {\n setError(err);\n });\n } catch (error) {\n setError(error);\n }\n }\n }, [playlistUrl]);\n\n const wrapperClassName = cn(\n node.attrs.align === \"left\" ? \"ml-0\" : \"ml-auto\",\n node.attrs.align === \"right\" ? \"mr-0\" : \"mr-auto\",\n node.attrs.align === \"center\" && \"mx-auto\"\n );\n\n const videoJsOptions = useMemo(() => {\n if (playlistContent == undefined) return {};\n\n if (\n playlistContent.items.some(\n (item) =>\n item.type === \"application/x-mpegURL\" ||\n item.type === \"application/vnd.apple.mpegurl\"\n )\n ) {\n return {\n sources: playlistContent.items\n .filter(\n (item) =>\n item.type === \"application/x-mpegURL\" ||\n item.type === \"application/vnd.apple.mpegurl\"\n )\n .map((item) => ({\n src: item.src,\n type: item.type,\n label: item.label,\n })),\n poster: playlistContent.poster,\n preload: \"auto\",\n };\n }\n return {\n sources: playlistContent.items.map((item) => ({\n src: item.src,\n type: item.type,\n label: item.label,\n })),\n poster: playlistContent.poster,\n preload: \"auto\",\n };\n }, [playlistContent]);\n\n useEffect(() => {\n if (!playlistContent?.items?.length) {\n return;\n }\n const source = playlistContent.items.find((item) => item.src);\n if (!aspectRatio && source?.src) {\n calculateAspectRatio(\n {\n src: source.src,\n actualWidth: actualWidth || source?.width,\n actualHeight: actualHeight || source?.height,\n },\n \"VIDEO\",\n getVideoAspect\n );\n }\n }, [playlistContent]);\n const style = useMemo(() => {\n if (aspectRatio) {\n return {\n aspectRatio,\n width: node.attrs.width,\n };\n }\n return {\n width: node.attrs.width,\n };\n }, [aspectRatio]);\n return (\n <NodeViewWrapper className={className}>\n <div\n className={cn(\n wrapperClassName,\n \"main-videojs-wrapper aspect-square h-full\"\n )}\n {...(isVertical && { \"data-vertical\": isVertical })}\n ref={videoWrapperRef}\n style={style}\n >\n {error && <div>{error}</div>}\n\n {playlistContent && <VideoPlayer options={videoJsOptions} />}\n </div>\n {caption && playlistContent?.title && (\n <div\n className=\"block mx-auto text-sm text-gray-500 text-center mt-1\"\n style={{ width: node.attrs.width }}\n >\n {playlistContent?.title}\n </div>\n )}\n </NodeViewWrapper>\n );\n};\n\nexport default VideoBlockViewClientside;\n"],"names":["NodeViewWrapper","React","useEffect","useMemo","useRef","cn","VideoPlayer","useGetAssetsAspectRatio","VideoBlockViewClientside","className","getVideoAspect","props","node","videoWrapperRef","src","poster","playlistUrl","caption","actualWidth","actualHeight","attrs","aspectRatio","calculateAspectRatio","isVertical","playlistContent","setPlaylistContent","useState","error","setError","getPlaylistContent","res","fetch","cache","json","then","data","catch","err","wrapperClassName","align","videoJsOptions","undefined","items","some","item","type","sources","filter","map","label","preload","length","source","find","width","height","style","div","ref","options","title"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockWidth.tsx"],"sourcesContent":["import React, { memo, useCallback, useEffect, useState } from \"react\";\r\n\r\nexport type VideoBlockWidthProps = {\r\n onChange: (value: number) => void;\r\n value: number;\r\n};\r\n\r\nexport const VideoBlockWidth = memo(\r\n ({ onChange, value }: VideoBlockWidthProps) => {\r\n const [currentValue, setCurrentValue] = useState(value);\r\n\r\n useEffect(() => {\r\n setCurrentValue(value);\r\n }, [value]);\r\n\r\n const handleChange = useCallback(\r\n (e: React.ChangeEvent<HTMLInputElement>) => {\r\n onChange(parseInt(e.target.value));\r\n },\r\n [onChange]\r\n );\r\n\r\n return (\r\n <div className=\"flex items-center gap-2\">\r\n <input\r\n className=\"h-2 bg-neutral-200 border-0 rounded appearance-none fill-neutral-300\"\r\n type=\"range\"\r\n min=\"25\"\r\n max=\"100\"\r\n step=\"25\"\r\n onChange={handleChange}\r\n value={currentValue}\r\n />\r\n <span className=\"text-xs font-semibold text-neutral-500 select-none\">\r\n {value}%\r\n </span>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nVideoBlockWidth.displayName = \"VideoBlockWidth\";\r\n"],"names":["React","memo","useCallback","useEffect","useState","VideoBlockWidth","onChange","value","currentValue","setCurrentValue","handleChange","e","parseInt","target","div","className","input","type","min","max","step","span","displayName"],"mappings":";AAAA,OAAOA,SAASC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAOtE,OAAO,MAAMC,gCAAkBJ,KAC7B,CAAC,EAAEK,QAAQ,EAAEC,KAAK,EAAwB;IACxC,MAAM,CAACC,cAAcC,gBAAgB,GAAGL,SAASG;IAEjDJ,UAAU;QACRM,gBAAgBF;IAClB,GAAG;QAACA;KAAM;IAEV,MAAMG,eAAeR,YACnB,CAACS;QACCL,SAASM,SAASD,EAAEE,MAAM,CAACN,KAAK;IAClC,GACA;QAACD;KAAS;IAGZ,qBACE,MAACQ;QAAIC,WAAU;;0BACb,KAACC;gBACCD,WAAU;gBACVE,MAAK;gBACLC,KAAI;gBACJC,KAAI;gBACJC,MAAK;gBACLd,UAAUI;gBACVH,OAAOC;;0BAET,MAACa;gBAAKN,WAAU;;oBACbR;oBAAM;;;;;AAIf,GACA;AAEFF,gBAAgBiB,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockWidth.tsx"],"sourcesContent":["import React, { memo, useCallback, useEffect, useState } from \"react\";\n\nexport type VideoBlockWidthProps = {\n onChange: (value: number) => void;\n value: number;\n};\n\nexport const VideoBlockWidth = memo(\n ({ onChange, value }: VideoBlockWidthProps) => {\n const [currentValue, setCurrentValue] = useState(value);\n\n useEffect(() => {\n setCurrentValue(value);\n }, [value]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(parseInt(e.target.value));\n },\n [onChange]\n );\n\n return (\n <div className=\"flex items-center gap-2\">\n <input\n className=\"h-2 bg-neutral-200 border-0 rounded appearance-none fill-neutral-300\"\n type=\"range\"\n min=\"25\"\n max=\"100\"\n step=\"25\"\n onChange={handleChange}\n value={currentValue}\n />\n <span className=\"text-xs font-semibold text-neutral-500 select-none\">\n {value}%\n </span>\n </div>\n );\n }\n);\n\nVideoBlockWidth.displayName = \"VideoBlockWidth\";\n"],"names":["React","memo","useCallback","useEffect","useState","VideoBlockWidth","onChange","value","currentValue","setCurrentValue","handleChange","e","parseInt","target","div","className","input","type","min","max","step","span","displayName"],"mappings":";AAAA,OAAOA,SAASC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAOtE,OAAO,MAAMC,gCAAkBJ,KAC7B,CAAC,EAAEK,QAAQ,EAAEC,KAAK,EAAwB;IACxC,MAAM,CAACC,cAAcC,gBAAgB,GAAGL,SAASG;IAEjDJ,UAAU;QACRM,gBAAgBF;IAClB,GAAG;QAACA;KAAM;IAEV,MAAMG,eAAeR,YACnB,CAACS;QACCL,SAASM,SAASD,EAAEE,MAAM,CAACN,KAAK;IAClC,GACA;QAACD;KAAS;IAGZ,qBACE,MAACQ;QAAIC,WAAU;;0BACb,KAACC;gBACCD,WAAU;gBACVE,MAAK;gBACLC,KAAI;gBACJC,KAAI;gBACJC,MAAK;gBACLd,UAAUI;gBACVH,OAAOC;;0BAET,MAACa;gBAAKN,WAAU;;oBACbR;oBAAM;;;;;AAIf,GACA;AAEFF,gBAAgBiB,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/VideoPlayer.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\r\nimport videojs, {\r\n VideoJsPlayer,\r\n VideoJsPlayerOptions,\r\n} from \"video.js/dist/video.es.js\";\r\nimport \"video.js/dist/video-js.css\";\r\n\r\n// Styles\r\nimport \"video.js/dist/video-js.css\";\r\n\r\nimport { QualitySelector } from \"./quality-selector/index.js\";\r\nimport { cn } from \"../../../../lib/utils/index.js\";\r\n\r\ninterface IVideoPlayerProps {\r\n options: VideoJsPlayerOptions;\r\n}\r\n\r\nconst initialOptions: VideoJsPlayerOptions = {\r\n controls: true,\r\n fluid: true,\r\n controlBar: {\r\n volumePanel: {\r\n inline: false,\r\n },\r\n },\r\n};\r\n\r\nconst VideoPlayer: React.FC<\r\n IVideoPlayerProps & { style?: CSSProperties; className?: string }\r\n> = ({ options, style, className }) => {\r\n const videoNode = React.useRef<HTMLVideoElement>(null);\r\n const player = React.useRef<videojs.Player>(null);\r\n\r\n React.useEffect(() => {\r\n QualitySelector(videojs);\r\n\r\n player.current = videojs(videoNode.current, {\r\n ...initialOptions,\r\n ...options,\r\n }).ready(function () {\r\n if (\r\n !this.controlBar\r\n .children()\r\n .some((c: { name_: string }) => c.name_ === \"QualitySelector\")\r\n ) {\r\n this.controlBar.addChild(\"QualitySelector\");\r\n }\r\n });\r\n return () => {\r\n if (player.current) {\r\n player.current.dispose();\r\n }\r\n };\r\n }, [options]);\r\n\r\n return (\r\n <video\r\n ref={videoNode}\r\n className={cn(\"video-js\", className)}\r\n style={style}\r\n />\r\n );\r\n};\r\n\r\nexport default VideoPlayer;\r\n"],"names":["React","videojs","QualitySelector","cn","initialOptions","controls","fluid","controlBar","volumePanel","inline","VideoPlayer","options","style","className","videoNode","useRef","player","useEffect","current","ready","children","some","c","name_","addChild","dispose","video","ref"],"mappings":";AAAA,OAAOA,WAA8B,QAAQ;AAC7C,OAAOC,aAGA,4BAA4B;AACnC,OAAO,6BAA6B;AAEpC,SAAS;AACT,OAAO,6BAA6B;AAEpC,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,EAAE,QAAQ,iCAAiC;AAMpD,MAAMC,iBAAuC;IAC3CC,UAAU;IACVC,OAAO;IACPC,YAAY;QACVC,aAAa;YACXC,QAAQ;QACV;IACF;AACF;AAEA,MAAMC,cAEF,CAAC,EAAEC,OAAO,EAAEC,KAAK,EAAEC,SAAS,EAAE;IAChC,MAAMC,YAAYd,MAAMe,MAAM,CAAmB;IACjD,MAAMC,SAAShB,MAAMe,MAAM,CAAiB;IAE5Cf,MAAMiB,SAAS,CAAC;QACdf,gBAAgBD;QAEhBe,OAAOE,OAAO,GAAGjB,QAAQa,UAAUI,OAAO,EAAE;YAC1C,GAAGd,cAAc;YACjB,GAAGO,OAAO;QACZ,GAAGQ,KAAK,CAAC;YACP,IACE,CAAC,IAAI,CAACZ,UAAU,CACba,QAAQ,GACRC,IAAI,CAAC,CAACC,IAAyBA,EAAEC,KAAK,KAAK,oBAC9C;gBACA,IAAI,CAAChB,UAAU,CAACiB,QAAQ,CAAC;YAC3B;QACF;QACA,OAAO;YACL,IAAIR,OAAOE,OAAO,EAAE;gBAClBF,OAAOE,OAAO,CAACO,OAAO;YACxB;QACF;IACF,GAAG;QAACd;KAAQ;IAEZ,qBACE,KAACe;QACCC,KAAKb;QACLD,WAAWV,GAAG,YAAYU;QAC1BD,OAAOA;;AAGb;AAEA,eAAeF,YAAY"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/VideoPlayer.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport videojs, {\n VideoJsPlayer,\n VideoJsPlayerOptions,\n} from \"video.js/dist/video.es.js\";\nimport \"video.js/dist/video-js.css\";\n\n// Styles\nimport \"video.js/dist/video-js.css\";\n\nimport { QualitySelector } from \"./quality-selector/index.js\";\nimport { cn } from \"../../../../lib/utils/index.js\";\n\ninterface IVideoPlayerProps {\n options: VideoJsPlayerOptions;\n}\n\nconst initialOptions: VideoJsPlayerOptions = {\n controls: true,\n fluid: true,\n controlBar: {\n volumePanel: {\n inline: false,\n },\n },\n};\n\nconst VideoPlayer: React.FC<\n IVideoPlayerProps & { style?: CSSProperties; className?: string }\n> = ({ options, style, className }) => {\n const videoNode = React.useRef<HTMLVideoElement>(null);\n const player = React.useRef<videojs.Player>(null);\n\n React.useEffect(() => {\n QualitySelector(videojs);\n\n player.current = videojs(videoNode.current, {\n ...initialOptions,\n ...options,\n }).ready(function () {\n if (\n !this.controlBar\n .children()\n .some((c: { name_: string }) => c.name_ === \"QualitySelector\")\n ) {\n this.controlBar.addChild(\"QualitySelector\");\n }\n });\n return () => {\n if (player.current) {\n player.current.dispose();\n }\n };\n }, [options]);\n\n return (\n <video\n ref={videoNode}\n className={cn(\"video-js\", className)}\n style={style}\n />\n );\n};\n\nexport default VideoPlayer;\n"],"names":["React","videojs","QualitySelector","cn","initialOptions","controls","fluid","controlBar","volumePanel","inline","VideoPlayer","options","style","className","videoNode","useRef","player","useEffect","current","ready","children","some","c","name_","addChild","dispose","video","ref"],"mappings":";AAAA,OAAOA,WAA8B,QAAQ;AAC7C,OAAOC,aAGA,4BAA4B;AACnC,OAAO,6BAA6B;AAEpC,SAAS;AACT,OAAO,6BAA6B;AAEpC,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,EAAE,QAAQ,iCAAiC;AAMpD,MAAMC,iBAAuC;IAC3CC,UAAU;IACVC,OAAO;IACPC,YAAY;QACVC,aAAa;YACXC,QAAQ;QACV;IACF;AACF;AAEA,MAAMC,cAEF,CAAC,EAAEC,OAAO,EAAEC,KAAK,EAAEC,SAAS,EAAE;IAChC,MAAMC,YAAYd,MAAMe,MAAM,CAAmB;IACjD,MAAMC,SAAShB,MAAMe,MAAM,CAAiB;IAE5Cf,MAAMiB,SAAS,CAAC;QACdf,gBAAgBD;QAEhBe,OAAOE,OAAO,GAAGjB,QAAQa,UAAUI,OAAO,EAAE;YAC1C,GAAGd,cAAc;YACjB,GAAGO,OAAO;QACZ,GAAGQ,KAAK,CAAC;YACP,IACE,CAAC,IAAI,CAACZ,UAAU,CACba,QAAQ,GACRC,IAAI,CAAC,CAACC,IAAyBA,EAAEC,KAAK,KAAK,oBAC9C;gBACA,IAAI,CAAChB,UAAU,CAACiB,QAAQ,CAAC;YAC3B;QACF;QACA,OAAO;YACL,IAAIR,OAAOE,OAAO,EAAE;gBAClBF,OAAOE,OAAO,CAACO,OAAO;YACxB;QACF;IACF,GAAG;QAACd;KAAQ;IAEZ,qBACE,KAACe;QACCC,KAAKb;QACLD,WAAWV,GAAG,YAAYU;QAC1BD,OAAOA;;AAGb;AAEA,eAAeF,YAAY"}
@@ -2,14 +2,14 @@ import * as events from "../events.js";
2
2
  import _ from "underscore";
3
3
  export default function QualityOption(videojs) {
4
4
  var MenuItem = videojs.getComponent("MenuItem");
5
- /**
6
- * A MenuItem to represent a video resolution
7
- *
8
- * @class QualityOption
9
- * @extends videojs.MenuItem
5
+ /**
6
+ * A MenuItem to represent a video resolution
7
+ *
8
+ * @class QualityOption
9
+ * @extends videojs.MenuItem
10
10
  */ return class QualityOption extends MenuItem {
11
- /**
12
- * @inheritdoc
11
+ /**
12
+ * @inheritdoc
13
13
  */ constructor(player, options){
14
14
  var source = options.source;
15
15
  if (!_.isObject(source)) {
@@ -22,8 +22,8 @@ export default function QualityOption(videojs) {
22
22
  super(player, options);
23
23
  this.source = source;
24
24
  }
25
- /**
26
- * @inheritdoc
25
+ /**
26
+ * @inheritdoc
27
27
  */ handleClick(event) {
28
28
  super.handleClick(event);
29
29
  this.player().trigger(events.QUALITY_REQUESTED, this.source);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualityOption.js"],"sourcesContent":["import * as events from \"../events.js\";\r\nimport _ from \"underscore\";\r\n\r\nexport default function QualityOption(videojs) {\r\n var MenuItem = videojs.getComponent(\"MenuItem\");\r\n\r\n /**\r\n * A MenuItem to represent a video resolution\r\n *\r\n * @class QualityOption\r\n * @extends videojs.MenuItem\r\n */\r\n return class QualityOption extends MenuItem {\r\n /**\r\n * @inheritdoc\r\n */\r\n constructor(player, options) {\r\n var source = options.source;\r\n\r\n if (!_.isObject(source)) {\r\n throw new Error(\r\n 'was not provided a \"source\" object, but rather: ' + typeof source\r\n );\r\n }\r\n\r\n options = _.extend(\r\n {\r\n selectable: true,\r\n label: source.label,\r\n },\r\n options\r\n );\r\n\r\n super(player, options);\r\n\r\n this.source = source;\r\n }\r\n\r\n /**\r\n * @inheritdoc\r\n */\r\n handleClick(event) {\r\n super.handleClick(event);\r\n this.player().trigger(events.QUALITY_REQUESTED, this.source);\r\n }\r\n };\r\n}\r\n"],"names":["events","_","QualityOption","videojs","MenuItem","getComponent","constructor","player","options","source","isObject","Error","extend","selectable","label","handleClick","event","trigger","QUALITY_REQUESTED"],"mappings":"AAAA,YAAYA,YAAY,eAAe;AACvC,OAAOC,OAAO,aAAa;AAE3B,eAAe,SAASC,cAAcC,OAAO;IAC3C,IAAIC,WAAWD,QAAQE,YAAY,CAAC;IAEpC;;;;;GAKC,GACD,OAAO,MAAMH,sBAAsBE;QACjC;;KAEC,GACDE,YAAYC,MAAM,EAAEC,OAAO,CAAE;YAC3B,IAAIC,SAASD,QAAQC,MAAM;YAE3B,IAAI,CAACR,EAAES,QAAQ,CAACD,SAAS;gBACvB,MAAM,IAAIE,MACR,qDAAqD,OAAOF;YAEhE;YAEAD,UAAUP,EAAEW,MAAM,CAChB;gBACEC,YAAY;gBACZC,OAAOL,OAAOK,KAAK;YACrB,GACAN;YAGF,KAAK,CAACD,QAAQC;YAEd,IAAI,CAACC,MAAM,GAAGA;QAChB;QAEA;;KAEC,GACDM,YAAYC,KAAK,EAAE;YACjB,KAAK,CAACD,YAAYC;YAClB,IAAI,CAACT,MAAM,GAAGU,OAAO,CAACjB,OAAOkB,iBAAiB,EAAE,IAAI,CAACT,MAAM;QAC7D;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualityOption.js"],"sourcesContent":["import * as events from \"../events.js\";\nimport _ from \"underscore\";\n\nexport default function QualityOption(videojs) {\n var MenuItem = videojs.getComponent(\"MenuItem\");\n\n /**\n * A MenuItem to represent a video resolution\n *\n * @class QualityOption\n * @extends videojs.MenuItem\n */\n return class QualityOption extends MenuItem {\n /**\n * @inheritdoc\n */\n constructor(player, options) {\n var source = options.source;\n\n if (!_.isObject(source)) {\n throw new Error(\n 'was not provided a \"source\" object, but rather: ' + typeof source\n );\n }\n\n options = _.extend(\n {\n selectable: true,\n label: source.label,\n },\n options\n );\n\n super(player, options);\n\n this.source = source;\n }\n\n /**\n * @inheritdoc\n */\n handleClick(event) {\n super.handleClick(event);\n this.player().trigger(events.QUALITY_REQUESTED, this.source);\n }\n };\n}\n"],"names":["events","_","QualityOption","videojs","MenuItem","getComponent","constructor","player","options","source","isObject","Error","extend","selectable","label","handleClick","event","trigger","QUALITY_REQUESTED"],"mappings":"AAAA,YAAYA,YAAY,eAAe;AACvC,OAAOC,OAAO,aAAa;AAE3B,eAAe,SAASC,cAAcC,OAAO;IAC3C,IAAIC,WAAWD,QAAQE,YAAY,CAAC;IAEpC;;;;;GAKC,GACD,OAAO,MAAMH,sBAAsBE;QACjC;;KAEC,GACDE,YAAYC,MAAM,EAAEC,OAAO,CAAE;YAC3B,IAAIC,SAASD,QAAQC,MAAM;YAE3B,IAAI,CAACR,EAAES,QAAQ,CAACD,SAAS;gBACvB,MAAM,IAAIE,MACR,qDAAqD,OAAOF;YAEhE;YAEAD,UAAUP,EAAEW,MAAM,CAChB;gBACEC,YAAY;gBACZC,OAAOL,OAAOK,KAAK;YACrB,GACAN;YAGF,KAAK,CAACD,QAAQC;YAEd,IAAI,CAACC,MAAM,GAAGA;QAChB;QAEA;;KAEC,GACDM,YAAYC,KAAK,EAAE;YACjB,KAAK,CAACD,YAAYC;YAClB,IAAI,CAACT,MAAM,GAAGU,OAAO,CAACjB,OAAOkB,iBAAiB,EAAE,IAAI,CAACT,MAAM;QAC7D;IACF;AACF"}
@@ -4,14 +4,14 @@ import { default as qualityOptionFactory } from "./QualityOption.js";
4
4
  const QUALITY_CHANGE_CLASS = "vjs-quality-changing";
5
5
  export default function QualitySelector(videojs) {
6
6
  var MenuButton = videojs.getComponent("MenuButton"), QualityOption = qualityOptionFactory(videojs);
7
- /**
8
- * A component for changing video resolutions
9
- *
10
- * @class QualitySelector
11
- * @extends videojs.Button
7
+ /**
8
+ * A component for changing video resolutions
9
+ *
10
+ * @class QualitySelector
11
+ * @extends videojs.Button
12
12
  */ class QualitySelector extends MenuButton {
13
- /**
14
- * @inheritdoc
13
+ /**
14
+ * @inheritdoc
15
15
  */ constructor(player, options){
16
16
  super(player, options);
17
17
  // Update interface instantly so the user's change is acknowledged
@@ -38,10 +38,10 @@ export default function QualitySelector(videojs) {
38
38
  }).bind(this));
39
39
  this.controlText("Open quality selector menu");
40
40
  }
41
- /**
42
- * Updates the source that is selected in the menu
43
- *
44
- * @param source {object} player source to display as selected
41
+ /**
42
+ * Updates the source that is selected in the menu
43
+ *
44
+ * @param source {object} player source to display as selected
45
45
  */ setSelectedSource(source) {
46
46
  var src = source ? source.src : undefined;
47
47
  if (this.selectedSrc !== src) {
@@ -51,8 +51,8 @@ export default function QualitySelector(videojs) {
51
51
  });
52
52
  }
53
53
  }
54
- /**
55
- * @inheritdoc
54
+ /**
55
+ * @inheritdoc
56
56
  */ createItems() {
57
57
  var player = this.player(), sources = player.currentSources();
58
58
  if (!sources || sources.length < 2) {
@@ -65,8 +65,8 @@ export default function QualitySelector(videojs) {
65
65
  });
66
66
  }).bind(this));
67
67
  }
68
- /**
69
- * @inheritdoc
68
+ /**
69
+ * @inheritdoc
70
70
  */ buildWrapperCSSClass() {
71
71
  return "vjs-quality-selector " + super.buildWrapperCSSClass();
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualitySelector.js"],"sourcesContent":["import * as events from \"../events.js\";\r\nimport _ from \"underscore\";\r\n\r\nimport { default as qualityOptionFactory } from \"./QualityOption.js\";\r\n\r\nconst QUALITY_CHANGE_CLASS = \"vjs-quality-changing\";\r\n\r\nexport default function QualitySelector(videojs) {\r\n var MenuButton = videojs.getComponent(\"MenuButton\"),\r\n QualityOption = qualityOptionFactory(videojs);\r\n\r\n /**\r\n * A component for changing video resolutions\r\n *\r\n * @class QualitySelector\r\n * @extends videojs.Button\r\n */\r\n class QualitySelector extends MenuButton {\r\n /**\r\n * @inheritdoc\r\n */\r\n constructor(player, options) {\r\n super(player, options);\r\n\r\n // Update interface instantly so the user's change is acknowledged\r\n player.on(\r\n events.QUALITY_REQUESTED,\r\n function (event, newSource) {\r\n this.setSelectedSource(newSource);\r\n player.addClass(QUALITY_CHANGE_CLASS);\r\n\r\n player.one(\"loadeddata\", function () {\r\n player.removeClass(QUALITY_CHANGE_CLASS);\r\n });\r\n }.bind(this)\r\n );\r\n\r\n // Update the list of menu items only when the list of sources change\r\n player.on(\r\n events.PLAYER_SOURCES_CHANGED,\r\n function () {\r\n this.update();\r\n }.bind(this)\r\n );\r\n\r\n player.on(\r\n events.QUALITY_SELECTED,\r\n function (event, newSource) {\r\n // Update the selected source with the source that was actually selected\r\n this.setSelectedSource(newSource);\r\n }.bind(this)\r\n );\r\n\r\n // Since it's possible for the player to get a source before the selector is\r\n // created, make sure to update once we get a \"ready\" signal.\r\n player.one(\r\n \"ready\",\r\n function () {\r\n this.selectedSrc = player.src();\r\n this.update();\r\n }.bind(this)\r\n );\r\n\r\n this.controlText(\"Open quality selector menu\");\r\n }\r\n\r\n /**\r\n * Updates the source that is selected in the menu\r\n *\r\n * @param source {object} player source to display as selected\r\n */\r\n setSelectedSource(source) {\r\n var src = source ? source.src : undefined;\r\n\r\n if (this.selectedSrc !== src) {\r\n this.selectedSrc = src;\r\n _.each(this.items, function (item) {\r\n item.selected(item.source.src === src);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * @inheritdoc\r\n */\r\n createItems() {\r\n var player = this.player(),\r\n sources = player.currentSources();\r\n\r\n if (!sources || sources.length < 2) {\r\n return [];\r\n }\r\n\r\n return _.map(\r\n sources,\r\n function (source) {\r\n return new QualityOption(player, {\r\n source: source,\r\n selected: source.src === this.selectedSrc,\r\n });\r\n }.bind(this)\r\n );\r\n }\r\n\r\n /**\r\n * @inheritdoc\r\n */\r\n buildWrapperCSSClass() {\r\n return \"vjs-quality-selector \" + super.buildWrapperCSSClass();\r\n }\r\n }\r\n\r\n videojs.registerComponent(\"QualitySelector\", QualitySelector);\r\n\r\n return QualitySelector;\r\n}\r\n"],"names":["events","_","default","qualityOptionFactory","QUALITY_CHANGE_CLASS","QualitySelector","videojs","MenuButton","getComponent","QualityOption","constructor","player","options","on","QUALITY_REQUESTED","event","newSource","setSelectedSource","addClass","one","removeClass","bind","PLAYER_SOURCES_CHANGED","update","QUALITY_SELECTED","selectedSrc","src","controlText","source","undefined","each","items","item","selected","createItems","sources","currentSources","length","map","buildWrapperCSSClass","registerComponent"],"mappings":"AAAA,YAAYA,YAAY,eAAe;AACvC,OAAOC,OAAO,aAAa;AAE3B,SAASC,WAAWC,oBAAoB,QAAQ,qBAAqB;AAErE,MAAMC,uBAAuB;AAE7B,eAAe,SAASC,gBAAgBC,OAAO;IAC7C,IAAIC,aAAaD,QAAQE,YAAY,CAAC,eACpCC,gBAAgBN,qBAAqBG;IAEvC;;;;;GAKC,GACD,MAAMD,wBAAwBE;QAC5B;;KAEC,GACDG,YAAYC,MAAM,EAAEC,OAAO,CAAE;YAC3B,KAAK,CAACD,QAAQC;YAEd,kEAAkE;YAClED,OAAOE,EAAE,CACPb,OAAOc,iBAAiB,EACxB,CAAA,SAAUC,KAAK,EAAEC,SAAS;gBACxB,IAAI,CAACC,iBAAiB,CAACD;gBACvBL,OAAOO,QAAQ,CAACd;gBAEhBO,OAAOQ,GAAG,CAAC,cAAc;oBACvBR,OAAOS,WAAW,CAAChB;gBACrB;YACF,CAAA,EAAEiB,IAAI,CAAC,IAAI;YAGb,qEAAqE;YACrEV,OAAOE,EAAE,CACPb,OAAOsB,sBAAsB,EAC7B,CAAA;gBACE,IAAI,CAACC,MAAM;YACb,CAAA,EAAEF,IAAI,CAAC,IAAI;YAGbV,OAAOE,EAAE,CACPb,OAAOwB,gBAAgB,EACvB,CAAA,SAAUT,KAAK,EAAEC,SAAS;gBACxB,wEAAwE;gBACxE,IAAI,CAACC,iBAAiB,CAACD;YACzB,CAAA,EAAEK,IAAI,CAAC,IAAI;YAGb,4EAA4E;YAC5E,6DAA6D;YAC7DV,OAAOQ,GAAG,CACR,SACA,CAAA;gBACE,IAAI,CAACM,WAAW,GAAGd,OAAOe,GAAG;gBAC7B,IAAI,CAACH,MAAM;YACb,CAAA,EAAEF,IAAI,CAAC,IAAI;YAGb,IAAI,CAACM,WAAW,CAAC;QACnB;QAEA;;;;KAIC,GACDV,kBAAkBW,MAAM,EAAE;YACxB,IAAIF,MAAME,SAASA,OAAOF,GAAG,GAAGG;YAEhC,IAAI,IAAI,CAACJ,WAAW,KAAKC,KAAK;gBAC5B,IAAI,CAACD,WAAW,GAAGC;gBACnBzB,EAAE6B,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE,SAAUC,IAAI;oBAC/BA,KAAKC,QAAQ,CAACD,KAAKJ,MAAM,CAACF,GAAG,KAAKA;gBACpC;YACF;QACF;QAEA;;KAEC,GACDQ,cAAc;YACZ,IAAIvB,SAAS,IAAI,CAACA,MAAM,IACtBwB,UAAUxB,OAAOyB,cAAc;YAEjC,IAAI,CAACD,WAAWA,QAAQE,MAAM,GAAG,GAAG;gBAClC,OAAO,EAAE;YACX;YAEA,OAAOpC,EAAEqC,GAAG,CACVH,SACA,CAAA,SAAUP,MAAM;gBACd,OAAO,IAAInB,cAAcE,QAAQ;oBAC/BiB,QAAQA;oBACRK,UAAUL,OAAOF,GAAG,KAAK,IAAI,CAACD,WAAW;gBAC3C;YACF,CAAA,EAAEJ,IAAI,CAAC,IAAI;QAEf;QAEA;;KAEC,GACDkB,uBAAuB;YACrB,OAAO,0BAA0B,KAAK,CAACA;QACzC;IACF;IAEAjC,QAAQkC,iBAAiB,CAAC,mBAAmBnC;IAE7C,OAAOA;AACT"}
1
+ {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/components/QualitySelector.js"],"sourcesContent":["import * as events from \"../events.js\";\nimport _ from \"underscore\";\n\nimport { default as qualityOptionFactory } from \"./QualityOption.js\";\n\nconst QUALITY_CHANGE_CLASS = \"vjs-quality-changing\";\n\nexport default function QualitySelector(videojs) {\n var MenuButton = videojs.getComponent(\"MenuButton\"),\n QualityOption = qualityOptionFactory(videojs);\n\n /**\n * A component for changing video resolutions\n *\n * @class QualitySelector\n * @extends videojs.Button\n */\n class QualitySelector extends MenuButton {\n /**\n * @inheritdoc\n */\n constructor(player, options) {\n super(player, options);\n\n // Update interface instantly so the user's change is acknowledged\n player.on(\n events.QUALITY_REQUESTED,\n function (event, newSource) {\n this.setSelectedSource(newSource);\n player.addClass(QUALITY_CHANGE_CLASS);\n\n player.one(\"loadeddata\", function () {\n player.removeClass(QUALITY_CHANGE_CLASS);\n });\n }.bind(this)\n );\n\n // Update the list of menu items only when the list of sources change\n player.on(\n events.PLAYER_SOURCES_CHANGED,\n function () {\n this.update();\n }.bind(this)\n );\n\n player.on(\n events.QUALITY_SELECTED,\n function (event, newSource) {\n // Update the selected source with the source that was actually selected\n this.setSelectedSource(newSource);\n }.bind(this)\n );\n\n // Since it's possible for the player to get a source before the selector is\n // created, make sure to update once we get a \"ready\" signal.\n player.one(\n \"ready\",\n function () {\n this.selectedSrc = player.src();\n this.update();\n }.bind(this)\n );\n\n this.controlText(\"Open quality selector menu\");\n }\n\n /**\n * Updates the source that is selected in the menu\n *\n * @param source {object} player source to display as selected\n */\n setSelectedSource(source) {\n var src = source ? source.src : undefined;\n\n if (this.selectedSrc !== src) {\n this.selectedSrc = src;\n _.each(this.items, function (item) {\n item.selected(item.source.src === src);\n });\n }\n }\n\n /**\n * @inheritdoc\n */\n createItems() {\n var player = this.player(),\n sources = player.currentSources();\n\n if (!sources || sources.length < 2) {\n return [];\n }\n\n return _.map(\n sources,\n function (source) {\n return new QualityOption(player, {\n source: source,\n selected: source.src === this.selectedSrc,\n });\n }.bind(this)\n );\n }\n\n /**\n * @inheritdoc\n */\n buildWrapperCSSClass() {\n return \"vjs-quality-selector \" + super.buildWrapperCSSClass();\n }\n }\n\n videojs.registerComponent(\"QualitySelector\", QualitySelector);\n\n return QualitySelector;\n}\n"],"names":["events","_","default","qualityOptionFactory","QUALITY_CHANGE_CLASS","QualitySelector","videojs","MenuButton","getComponent","QualityOption","constructor","player","options","on","QUALITY_REQUESTED","event","newSource","setSelectedSource","addClass","one","removeClass","bind","PLAYER_SOURCES_CHANGED","update","QUALITY_SELECTED","selectedSrc","src","controlText","source","undefined","each","items","item","selected","createItems","sources","currentSources","length","map","buildWrapperCSSClass","registerComponent"],"mappings":"AAAA,YAAYA,YAAY,eAAe;AACvC,OAAOC,OAAO,aAAa;AAE3B,SAASC,WAAWC,oBAAoB,QAAQ,qBAAqB;AAErE,MAAMC,uBAAuB;AAE7B,eAAe,SAASC,gBAAgBC,OAAO;IAC7C,IAAIC,aAAaD,QAAQE,YAAY,CAAC,eACpCC,gBAAgBN,qBAAqBG;IAEvC;;;;;GAKC,GACD,MAAMD,wBAAwBE;QAC5B;;KAEC,GACDG,YAAYC,MAAM,EAAEC,OAAO,CAAE;YAC3B,KAAK,CAACD,QAAQC;YAEd,kEAAkE;YAClED,OAAOE,EAAE,CACPb,OAAOc,iBAAiB,EACxB,CAAA,SAAUC,KAAK,EAAEC,SAAS;gBACxB,IAAI,CAACC,iBAAiB,CAACD;gBACvBL,OAAOO,QAAQ,CAACd;gBAEhBO,OAAOQ,GAAG,CAAC,cAAc;oBACvBR,OAAOS,WAAW,CAAChB;gBACrB;YACF,CAAA,EAAEiB,IAAI,CAAC,IAAI;YAGb,qEAAqE;YACrEV,OAAOE,EAAE,CACPb,OAAOsB,sBAAsB,EAC7B,CAAA;gBACE,IAAI,CAACC,MAAM;YACb,CAAA,EAAEF,IAAI,CAAC,IAAI;YAGbV,OAAOE,EAAE,CACPb,OAAOwB,gBAAgB,EACvB,CAAA,SAAUT,KAAK,EAAEC,SAAS;gBACxB,wEAAwE;gBACxE,IAAI,CAACC,iBAAiB,CAACD;YACzB,CAAA,EAAEK,IAAI,CAAC,IAAI;YAGb,4EAA4E;YAC5E,6DAA6D;YAC7DV,OAAOQ,GAAG,CACR,SACA,CAAA;gBACE,IAAI,CAACM,WAAW,GAAGd,OAAOe,GAAG;gBAC7B,IAAI,CAACH,MAAM;YACb,CAAA,EAAEF,IAAI,CAAC,IAAI;YAGb,IAAI,CAACM,WAAW,CAAC;QACnB;QAEA;;;;KAIC,GACDV,kBAAkBW,MAAM,EAAE;YACxB,IAAIF,MAAME,SAASA,OAAOF,GAAG,GAAGG;YAEhC,IAAI,IAAI,CAACJ,WAAW,KAAKC,KAAK;gBAC5B,IAAI,CAACD,WAAW,GAAGC;gBACnBzB,EAAE6B,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE,SAAUC,IAAI;oBAC/BA,KAAKC,QAAQ,CAACD,KAAKJ,MAAM,CAACF,GAAG,KAAKA;gBACpC;YACF;QACF;QAEA;;KAEC,GACDQ,cAAc;YACZ,IAAIvB,SAAS,IAAI,CAACA,MAAM,IACtBwB,UAAUxB,OAAOyB,cAAc;YAEjC,IAAI,CAACD,WAAWA,QAAQE,MAAM,GAAG,GAAG;gBAClC,OAAO,EAAE;YACX;YAEA,OAAOpC,EAAEqC,GAAG,CACVH,SACA,CAAA,SAAUP,MAAM;gBACd,OAAO,IAAInB,cAAcE,QAAQ;oBAC/BiB,QAAQA;oBACRK,UAAUL,OAAOF,GAAG,KAAK,IAAI,CAACD,WAAW;gBAC3C;YACF,CAAA,EAAEJ,IAAI,CAAC,IAAI;QAEf;QAEA;;KAEC,GACDkB,uBAAuB;YACrB,OAAO,0BAA0B,KAAK,CAACA;QACzC;IACF;IAEAjC,QAAQkC,iBAAiB,CAAC,mBAAmBnC;IAE7C,OAAOA;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.js"],"names":[],"mappings":"AAAA,mDAAoD;AACpD,iDAAkD;AAClD,4DAA6D"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.js"],"names":[],"mappings":"AAAA,gCAAiC,kBAAkB,CAAC;AACpD,+BAAgC,iBAAiB,CAAC;AAClD,qCAAsC,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.js"],"sourcesContent":["export const QUALITY_REQUESTED = \"qualityRequested\";\r\nexport const QUALITY_SELECTED = \"qualitySelected\";\r\nexport const PLAYER_SOURCES_CHANGED = \"playerSourcesChanged\";\r\n\r\nexport default {\r\n QUALITY_REQUESTED,\r\n QUALITY_SELECTED,\r\n PLAYER_SOURCES_CHANGED,\r\n};\r\n"],"names":["QUALITY_REQUESTED","QUALITY_SELECTED","PLAYER_SOURCES_CHANGED"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB,mBAAmB;AACpD,OAAO,MAAMC,mBAAmB,kBAAkB;AAClD,OAAO,MAAMC,yBAAyB,uBAAuB;AAE7D,eAAe;IACbF;IACAC;IACAC;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/events.js"],"sourcesContent":["export const QUALITY_REQUESTED = \"qualityRequested\";\nexport const QUALITY_SELECTED = \"qualitySelected\";\nexport const PLAYER_SOURCES_CHANGED = \"playerSourcesChanged\";\n\nexport default {\n QUALITY_REQUESTED,\n QUALITY_SELECTED,\n PLAYER_SOURCES_CHANGED,\n};\n"],"names":["QUALITY_REQUESTED","QUALITY_SELECTED","PLAYER_SOURCES_CHANGED"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB,mBAAmB;AACpD,OAAO,MAAMC,mBAAmB,kBAAkB;AAClD,OAAO,MAAMC,yBAAyB,uBAAuB;AAE7D,eAAe;IACbF;IACAC;IACAC;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/index.ts"],"sourcesContent":["import _ from \"underscore\";\r\nimport * as events from \"./events.js\";\r\nimport { default as qualitySelectorFactory } from \"./components/QualitySelector.js\";\r\nimport { default as sourceInterceptorFactory } from \"./middleware/SourceInterceptor.js\";\r\nimport SafeSeek from \"./util/SafeSeek.js\";\r\nimport type videojs from \"video.js/dist/video.es.js\";\r\nexport function QualitySelector(videojs: videojs) {\r\n qualitySelectorFactory(videojs);\r\n sourceInterceptorFactory(videojs);\r\n\r\n videojs.hook(\"setup\", function (player: videojs.Player) {\r\n function changeQuality(event: any, newSource: { src: any }) {\r\n var sources = player.currentSources(),\r\n currentTime = player.currentTime(),\r\n currentPlaybackRate = player.playbackRate(),\r\n isPaused = player.paused(),\r\n selectedSource;\r\n\r\n // Clear out any previously selected sources (see: #11)\r\n _.each(sources, function (source) {\r\n source.selected = false;\r\n });\r\n\r\n selectedSource = _.findWhere(sources, { src: newSource.src });\r\n // Note: `_.findWhere` returns a reference to an object. Thus the\r\n // following updates the original object in `sources`.\r\n selectedSource.selected = true;\r\n\r\n if (player._qualitySelectorSafeSeek) {\r\n player._qualitySelectorSafeSeek.onQualitySelectionChange();\r\n }\r\n\r\n player.src(sources);\r\n\r\n player.ready(function () {\r\n if (\r\n !player._qualitySelectorSafeSeek ||\r\n player._qualitySelectorSafeSeek.hasFinished()\r\n ) {\r\n // Either we don't have a pending seek action or the one that we have is no\r\n // longer applicable. This block must be within a `player.ready` callback\r\n // because the call to `player.src` above is asynchronous, and so not\r\n // having it within this `ready` callback would cause the SourceInterceptor\r\n // to execute after this block instead of before.\r\n //\r\n // We save the `currentTime` within the SafeSeek instance because if\r\n // multiple QUALITY_REQUESTED events are received before the SafeSeek\r\n // operation finishes, the player's `currentTime` will be `0` if the\r\n // player's `src` is updated but the player's `currentTime` has not yet\r\n // been set by the SafeSeek operation.\r\n player._qualitySelectorSafeSeek = new SafeSeek(player, currentTime);\r\n player.playbackRate(currentPlaybackRate);\r\n }\r\n\r\n if (!isPaused) {\r\n player.play();\r\n }\r\n });\r\n }\r\n\r\n // Add handler to switch sources when the user requests a change\r\n player.on(events.QUALITY_REQUESTED, changeQuality);\r\n });\r\n}\r\n\r\n//export const EVENTS = events;\r\n"],"names":["_","events","default","qualitySelectorFactory","sourceInterceptorFactory","SafeSeek","QualitySelector","videojs","hook","player","changeQuality","event","newSource","sources","currentSources","currentTime","currentPlaybackRate","playbackRate","isPaused","paused","selectedSource","each","source","selected","findWhere","src","_qualitySelectorSafeSeek","onQualitySelectionChange","ready","hasFinished","play","on","QUALITY_REQUESTED"],"mappings":"AAAA,OAAOA,OAAO,aAAa;AAC3B,YAAYC,YAAY,cAAc;AACtC,SAASC,WAAWC,sBAAsB,QAAQ,kCAAkC;AACpF,SAASD,WAAWE,wBAAwB,QAAQ,oCAAoC;AACxF,OAAOC,cAAc,qBAAqB;AAE1C,OAAO,SAASC,gBAAgBC,OAAgB;IAC9CJ,uBAAuBI;IACvBH,yBAAyBG;IAEzBA,QAAQC,IAAI,CAAC,SAAS,SAAUC,MAAsB;QACpD,SAASC,cAAcC,KAAU,EAAEC,SAAuB;YACxD,IAAIC,UAAUJ,OAAOK,cAAc,IACjCC,cAAcN,OAAOM,WAAW,IAChCC,sBAAsBP,OAAOQ,YAAY,IACzCC,WAAWT,OAAOU,MAAM,IACxBC;YAEF,uDAAuD;YACvDpB,EAAEqB,IAAI,CAACR,SAAS,SAAUS,MAAM;gBAC9BA,OAAOC,QAAQ,GAAG;YACpB;YAEAH,iBAAiBpB,EAAEwB,SAAS,CAACX,SAAS;gBAAEY,KAAKb,UAAUa,GAAG;YAAC;YAC3D,iEAAiE;YACjE,sDAAsD;YACtDL,eAAeG,QAAQ,GAAG;YAE1B,IAAId,OAAOiB,wBAAwB,EAAE;gBACnCjB,OAAOiB,wBAAwB,CAACC,wBAAwB;YAC1D;YAEAlB,OAAOgB,GAAG,CAACZ;YAEXJ,OAAOmB,KAAK,CAAC;gBACX,IACE,CAACnB,OAAOiB,wBAAwB,IAChCjB,OAAOiB,wBAAwB,CAACG,WAAW,IAC3C;oBACA,2EAA2E;oBAC3E,yEAAyE;oBACzE,qEAAqE;oBACrE,2EAA2E;oBAC3E,iDAAiD;oBACjD,EAAE;oBACF,oEAAoE;oBACpE,qEAAqE;oBACrE,oEAAoE;oBACpE,uEAAuE;oBACvE,sCAAsC;oBACtCpB,OAAOiB,wBAAwB,GAAG,IAAIrB,SAASI,QAAQM;oBACvDN,OAAOQ,YAAY,CAACD;gBACtB;gBAEA,IAAI,CAACE,UAAU;oBACbT,OAAOqB,IAAI;gBACb;YACF;QACF;QAEA,gEAAgE;QAChErB,OAAOsB,EAAE,CAAC9B,OAAO+B,iBAAiB,EAAEtB;IACtC;AACF,EAEA,+BAA+B"}
1
+ {"version":3,"sources":["../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/index.ts"],"sourcesContent":["import _ from \"underscore\";\nimport * as events from \"./events.js\";\nimport { default as qualitySelectorFactory } from \"./components/QualitySelector.js\";\nimport { default as sourceInterceptorFactory } from \"./middleware/SourceInterceptor.js\";\nimport SafeSeek from \"./util/SafeSeek.js\";\nimport type videojs from \"video.js/dist/video.es.js\";\nexport function QualitySelector(videojs: videojs) {\n qualitySelectorFactory(videojs);\n sourceInterceptorFactory(videojs);\n\n videojs.hook(\"setup\", function (player: videojs.Player) {\n function changeQuality(event: any, newSource: { src: any }) {\n var sources = player.currentSources(),\n currentTime = player.currentTime(),\n currentPlaybackRate = player.playbackRate(),\n isPaused = player.paused(),\n selectedSource;\n\n // Clear out any previously selected sources (see: #11)\n _.each(sources, function (source) {\n source.selected = false;\n });\n\n selectedSource = _.findWhere(sources, { src: newSource.src });\n // Note: `_.findWhere` returns a reference to an object. Thus the\n // following updates the original object in `sources`.\n selectedSource.selected = true;\n\n if (player._qualitySelectorSafeSeek) {\n player._qualitySelectorSafeSeek.onQualitySelectionChange();\n }\n\n player.src(sources);\n\n player.ready(function () {\n if (\n !player._qualitySelectorSafeSeek ||\n player._qualitySelectorSafeSeek.hasFinished()\n ) {\n // Either we don't have a pending seek action or the one that we have is no\n // longer applicable. This block must be within a `player.ready` callback\n // because the call to `player.src` above is asynchronous, and so not\n // having it within this `ready` callback would cause the SourceInterceptor\n // to execute after this block instead of before.\n //\n // We save the `currentTime` within the SafeSeek instance because if\n // multiple QUALITY_REQUESTED events are received before the SafeSeek\n // operation finishes, the player's `currentTime` will be `0` if the\n // player's `src` is updated but the player's `currentTime` has not yet\n // been set by the SafeSeek operation.\n player._qualitySelectorSafeSeek = new SafeSeek(player, currentTime);\n player.playbackRate(currentPlaybackRate);\n }\n\n if (!isPaused) {\n player.play();\n }\n });\n }\n\n // Add handler to switch sources when the user requests a change\n player.on(events.QUALITY_REQUESTED, changeQuality);\n });\n}\n\n//export const EVENTS = events;\n"],"names":["_","events","default","qualitySelectorFactory","sourceInterceptorFactory","SafeSeek","QualitySelector","videojs","hook","player","changeQuality","event","newSource","sources","currentSources","currentTime","currentPlaybackRate","playbackRate","isPaused","paused","selectedSource","each","source","selected","findWhere","src","_qualitySelectorSafeSeek","onQualitySelectionChange","ready","hasFinished","play","on","QUALITY_REQUESTED"],"mappings":"AAAA,OAAOA,OAAO,aAAa;AAC3B,YAAYC,YAAY,cAAc;AACtC,SAASC,WAAWC,sBAAsB,QAAQ,kCAAkC;AACpF,SAASD,WAAWE,wBAAwB,QAAQ,oCAAoC;AACxF,OAAOC,cAAc,qBAAqB;AAE1C,OAAO,SAASC,gBAAgBC,OAAgB;IAC9CJ,uBAAuBI;IACvBH,yBAAyBG;IAEzBA,QAAQC,IAAI,CAAC,SAAS,SAAUC,MAAsB;QACpD,SAASC,cAAcC,KAAU,EAAEC,SAAuB;YACxD,IAAIC,UAAUJ,OAAOK,cAAc,IACjCC,cAAcN,OAAOM,WAAW,IAChCC,sBAAsBP,OAAOQ,YAAY,IACzCC,WAAWT,OAAOU,MAAM,IACxBC;YAEF,uDAAuD;YACvDpB,EAAEqB,IAAI,CAACR,SAAS,SAAUS,MAAM;gBAC9BA,OAAOC,QAAQ,GAAG;YACpB;YAEAH,iBAAiBpB,EAAEwB,SAAS,CAACX,SAAS;gBAAEY,KAAKb,UAAUa,GAAG;YAAC;YAC3D,iEAAiE;YACjE,sDAAsD;YACtDL,eAAeG,QAAQ,GAAG;YAE1B,IAAId,OAAOiB,wBAAwB,EAAE;gBACnCjB,OAAOiB,wBAAwB,CAACC,wBAAwB;YAC1D;YAEAlB,OAAOgB,GAAG,CAACZ;YAEXJ,OAAOmB,KAAK,CAAC;gBACX,IACE,CAACnB,OAAOiB,wBAAwB,IAChCjB,OAAOiB,wBAAwB,CAACG,WAAW,IAC3C;oBACA,2EAA2E;oBAC3E,yEAAyE;oBACzE,qEAAqE;oBACrE,2EAA2E;oBAC3E,iDAAiD;oBACjD,EAAE;oBACF,oEAAoE;oBACpE,qEAAqE;oBACrE,oEAAoE;oBACpE,uEAAuE;oBACvE,sCAAsC;oBACtCpB,OAAOiB,wBAAwB,GAAG,IAAIrB,SAASI,QAAQM;oBACvDN,OAAOQ,YAAY,CAACD;gBACtB;gBAEA,IAAI,CAACE,UAAU;oBACbT,OAAOqB,IAAI;gBACb;YACF;QACF;QAEA,gEAAgE;QAChErB,OAAOsB,EAAE,CAAC9B,OAAO+B,iBAAiB,EAAEtB;IACtC;AACF,EAEA,+BAA+B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/middleware/SourceInterceptor.js"],"sourcesContent":["import _ from \"underscore\";\r\nimport * as events from \"../events.js\";\r\n\r\nexport default function SourceInterceptor(videojs) {\r\n videojs.use(\"*\", function (player) {\r\n return {\r\n setSource: function (playerSelectedSource, next) {\r\n var sources = player.currentSources(),\r\n userSelectedSource,\r\n chosenSource;\r\n\r\n if (player._qualitySelectorSafeSeek) {\r\n player._qualitySelectorSafeSeek.onPlayerSourcesChange();\r\n }\r\n\r\n if (!_.isEqual(sources, player._qualitySelectorPreviousSources)) {\r\n player.trigger(events.PLAYER_SOURCES_CHANGED, sources);\r\n player._qualitySelectorPreviousSources = sources;\r\n }\r\n\r\n // There are generally two source options, the one that videojs\r\n // auto-selects and the one that a \"user\" of this plugin has\r\n // supplied via the `selected` property. `selected` can come from\r\n // either the `<source>` tag or the list of sources passed to\r\n // videojs using `src()`.\r\n\r\n userSelectedSource = _.find(sources, function (source) {\r\n // Must check for boolean values as well as either the string 'true' or\r\n // 'selected'. When sources are set programmatically, the value will be a\r\n // boolean, but those coming from a `<source>` tag will be a string.\r\n return (\r\n source.selected === true ||\r\n source.selected === \"true\" ||\r\n source.selected === \"selected\"\r\n );\r\n });\r\n\r\n chosenSource = userSelectedSource || playerSelectedSource;\r\n\r\n player.trigger(events.QUALITY_SELECTED, chosenSource);\r\n\r\n // Pass along the chosen source\r\n next(null, chosenSource);\r\n },\r\n };\r\n });\r\n}\r\n"],"names":["_","events","SourceInterceptor","videojs","use","player","setSource","playerSelectedSource","next","sources","currentSources","userSelectedSource","chosenSource","_qualitySelectorSafeSeek","onPlayerSourcesChange","isEqual","_qualitySelectorPreviousSources","trigger","PLAYER_SOURCES_CHANGED","find","source","selected","QUALITY_SELECTED"],"mappings":"AAAA,OAAOA,OAAO,aAAa;AAC3B,YAAYC,YAAY,eAAe;AAEvC,eAAe,SAASC,kBAAkBC,OAAO;IAC/CA,QAAQC,GAAG,CAAC,KAAK,SAAUC,MAAM;QAC/B,OAAO;YACLC,WAAW,SAAUC,oBAAoB,EAAEC,IAAI;gBAC7C,IAAIC,UAAUJ,OAAOK,cAAc,IACjCC,oBACAC;gBAEF,IAAIP,OAAOQ,wBAAwB,EAAE;oBACnCR,OAAOQ,wBAAwB,CAACC,qBAAqB;gBACvD;gBAEA,IAAI,CAACd,EAAEe,OAAO,CAACN,SAASJ,OAAOW,+BAA+B,GAAG;oBAC/DX,OAAOY,OAAO,CAAChB,OAAOiB,sBAAsB,EAAET;oBAC9CJ,OAAOW,+BAA+B,GAAGP;gBAC3C;gBAEA,+DAA+D;gBAC/D,4DAA4D;gBAC5D,iEAAiE;gBACjE,6DAA6D;gBAC7D,yBAAyB;gBAEzBE,qBAAqBX,EAAEmB,IAAI,CAACV,SAAS,SAAUW,MAAM;oBACnD,uEAAuE;oBACvE,yEAAyE;oBACzE,oEAAoE;oBACpE,OACEA,OAAOC,QAAQ,KAAK,QACpBD,OAAOC,QAAQ,KAAK,UACpBD,OAAOC,QAAQ,KAAK;gBAExB;gBAEAT,eAAeD,sBAAsBJ;gBAErCF,OAAOY,OAAO,CAAChB,OAAOqB,gBAAgB,EAAEV;gBAExC,+BAA+B;gBAC/BJ,KAAK,MAAMI;YACb;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/middleware/SourceInterceptor.js"],"sourcesContent":["import _ from \"underscore\";\nimport * as events from \"../events.js\";\n\nexport default function SourceInterceptor(videojs) {\n videojs.use(\"*\", function (player) {\n return {\n setSource: function (playerSelectedSource, next) {\n var sources = player.currentSources(),\n userSelectedSource,\n chosenSource;\n\n if (player._qualitySelectorSafeSeek) {\n player._qualitySelectorSafeSeek.onPlayerSourcesChange();\n }\n\n if (!_.isEqual(sources, player._qualitySelectorPreviousSources)) {\n player.trigger(events.PLAYER_SOURCES_CHANGED, sources);\n player._qualitySelectorPreviousSources = sources;\n }\n\n // There are generally two source options, the one that videojs\n // auto-selects and the one that a \"user\" of this plugin has\n // supplied via the `selected` property. `selected` can come from\n // either the `<source>` tag or the list of sources passed to\n // videojs using `src()`.\n\n userSelectedSource = _.find(sources, function (source) {\n // Must check for boolean values as well as either the string 'true' or\n // 'selected'. When sources are set programmatically, the value will be a\n // boolean, but those coming from a `<source>` tag will be a string.\n return (\n source.selected === true ||\n source.selected === \"true\" ||\n source.selected === \"selected\"\n );\n });\n\n chosenSource = userSelectedSource || playerSelectedSource;\n\n player.trigger(events.QUALITY_SELECTED, chosenSource);\n\n // Pass along the chosen source\n next(null, chosenSource);\n },\n };\n });\n}\n"],"names":["_","events","SourceInterceptor","videojs","use","player","setSource","playerSelectedSource","next","sources","currentSources","userSelectedSource","chosenSource","_qualitySelectorSafeSeek","onPlayerSourcesChange","isEqual","_qualitySelectorPreviousSources","trigger","PLAYER_SOURCES_CHANGED","find","source","selected","QUALITY_SELECTED"],"mappings":"AAAA,OAAOA,OAAO,aAAa;AAC3B,YAAYC,YAAY,eAAe;AAEvC,eAAe,SAASC,kBAAkBC,OAAO;IAC/CA,QAAQC,GAAG,CAAC,KAAK,SAAUC,MAAM;QAC/B,OAAO;YACLC,WAAW,SAAUC,oBAAoB,EAAEC,IAAI;gBAC7C,IAAIC,UAAUJ,OAAOK,cAAc,IACjCC,oBACAC;gBAEF,IAAIP,OAAOQ,wBAAwB,EAAE;oBACnCR,OAAOQ,wBAAwB,CAACC,qBAAqB;gBACvD;gBAEA,IAAI,CAACd,EAAEe,OAAO,CAACN,SAASJ,OAAOW,+BAA+B,GAAG;oBAC/DX,OAAOY,OAAO,CAAChB,OAAOiB,sBAAsB,EAAET;oBAC9CJ,OAAOW,+BAA+B,GAAGP;gBAC3C;gBAEA,+DAA+D;gBAC/D,4DAA4D;gBAC5D,iEAAiE;gBACjE,6DAA6D;gBAC7D,yBAAyB;gBAEzBE,qBAAqBX,EAAEmB,IAAI,CAACV,SAAS,SAAUW,MAAM;oBACnD,uEAAuE;oBACvE,yEAAyE;oBACzE,oEAAoE;oBACpE,OACEA,OAAOC,QAAQ,KAAK,QACpBD,OAAOC,QAAQ,KAAK,UACpBD,OAAOC,QAAQ,KAAK;gBAExB;gBAEAT,eAAeD,sBAAsBJ;gBAErCF,OAAOY,OAAO,CAAChB,OAAOqB,gBAAgB,EAAEV;gBAExC,+BAA+B;gBAC/BJ,KAAK,MAAMI;YACb;QACF;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/util/SafeSeek.js"],"sourcesContent":["class SafeSeek {\r\n constructor(player, seekToTime) {\r\n this._player = player;\r\n this._seekToTime = seekToTime;\r\n this._hasFinished = false;\r\n this._keepThisInstanceWhenPlayerSourcesChange = false;\r\n this._seekWhenSafe();\r\n }\r\n\r\n _seekWhenSafe() {\r\n var HAVE_FUTURE_DATA = 3;\r\n\r\n // `readyState` in Video.js is the same as the HTML5 Media element's `readyState`\r\n // property.\r\n //\r\n // `readyState` is an enum of 5 values (0-4), each of which represent a state of\r\n // readiness to play. The meaning of the values range from HAVE_NOTHING (0), meaning\r\n // no data is available to HAVE_ENOUGH_DATA (4), meaning all data is loaded and the\r\n // video can be played all the way through.\r\n //\r\n // In order to seek successfully, the `readyState` must be at least HAVE_FUTURE_DATA\r\n // (3).\r\n //\r\n // @see http://docs.videojs.com/player#readyState\r\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState\r\n // @see https://dev.w3.org/html5/spec-preview/media-elements.html#seek-the-media-controller\r\n if (this._player.readyState() < HAVE_FUTURE_DATA) {\r\n this._seekFn = this._seek.bind(this);\r\n // The `canplay` event means that the `readyState` is at least HAVE_FUTURE_DATA.\r\n this._player.one(\"canplay\", this._seekFn);\r\n } else {\r\n this._seek();\r\n }\r\n }\r\n\r\n onPlayerSourcesChange() {\r\n if (this._keepThisInstanceWhenPlayerSourcesChange) {\r\n // By setting this to `false`, we know that if the player sources change again\r\n // the change did not originate from a quality selection change, the new sources\r\n // are likely different from the old sources, and so this pending seek no longer\r\n // applies.\r\n this._keepThisInstanceWhenPlayerSourcesChange = false;\r\n } else {\r\n this.cancel();\r\n }\r\n }\r\n\r\n onQualitySelectionChange() {\r\n // `onPlayerSourcesChange` will cancel this pending seek unless we tell it not to.\r\n // We need to reuse this same pending seek instance because when the player is\r\n // paused, the `preload` attribute is set to `none`, and the user selects one\r\n // quality option and then another, the player cannot seek until the player has\r\n // enough data to do so (and the `canplay` event is fired) and thus on the second\r\n // selection the player's `currentTime()` is `0` and when the video plays we would\r\n // seek to `0` instead of the correct time.\r\n if (!this.hasFinished()) {\r\n this._keepThisInstanceWhenPlayerSourcesChange = true;\r\n }\r\n }\r\n\r\n _seek() {\r\n this._player.currentTime(this._seekToTime);\r\n this._keepThisInstanceWhenPlayerSourcesChange = false;\r\n this._hasFinished = true;\r\n }\r\n\r\n hasFinished() {\r\n return this._hasFinished;\r\n }\r\n\r\n cancel() {\r\n this._player.off(\"canplay\", this._seekFn);\r\n this._keepThisInstanceWhenPlayerSourcesChange = false;\r\n this._hasFinished = true;\r\n }\r\n}\r\n\r\nexport default SafeSeek;\r\n"],"names":["SafeSeek","constructor","player","seekToTime","_player","_seekToTime","_hasFinished","_keepThisInstanceWhenPlayerSourcesChange","_seekWhenSafe","HAVE_FUTURE_DATA","readyState","_seekFn","_seek","bind","one","onPlayerSourcesChange","cancel","onQualitySelectionChange","hasFinished","currentTime","off"],"mappings":"AAAA,MAAMA;IACJC,YAAYC,MAAM,EAAEC,UAAU,CAAE;QAC9B,IAAI,CAACC,OAAO,GAAGF;QACf,IAAI,CAACG,WAAW,GAAGF;QACnB,IAAI,CAACG,YAAY,GAAG;QACpB,IAAI,CAACC,wCAAwC,GAAG;QAChD,IAAI,CAACC,aAAa;IACpB;IAEAA,gBAAgB;QACd,IAAIC,mBAAmB;QAEvB,iFAAiF;QACjF,YAAY;QACZ,EAAE;QACF,gFAAgF;QAChF,oFAAoF;QACpF,mFAAmF;QACnF,2CAA2C;QAC3C,EAAE;QACF,oFAAoF;QACpF,OAAO;QACP,EAAE;QACF,iDAAiD;QACjD,oFAAoF;QACpF,2FAA2F;QAC3F,IAAI,IAAI,CAACL,OAAO,CAACM,UAAU,KAAKD,kBAAkB;YAChD,IAAI,CAACE,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,IAAI,CAAC,IAAI;YACnC,gFAAgF;YAChF,IAAI,CAACT,OAAO,CAACU,GAAG,CAAC,WAAW,IAAI,CAACH,OAAO;QAC1C,OAAO;YACL,IAAI,CAACC,KAAK;QACZ;IACF;IAEAG,wBAAwB;QACtB,IAAI,IAAI,CAACR,wCAAwC,EAAE;YACjD,8EAA8E;YAC9E,gFAAgF;YAChF,gFAAgF;YAChF,WAAW;YACX,IAAI,CAACA,wCAAwC,GAAG;QAClD,OAAO;YACL,IAAI,CAACS,MAAM;QACb;IACF;IAEAC,2BAA2B;QACzB,kFAAkF;QAClF,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,iFAAiF;QACjF,kFAAkF;QAClF,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAACC,WAAW,IAAI;YACvB,IAAI,CAACX,wCAAwC,GAAG;QAClD;IACF;IAEAK,QAAQ;QACN,IAAI,CAACR,OAAO,CAACe,WAAW,CAAC,IAAI,CAACd,WAAW;QACzC,IAAI,CAACE,wCAAwC,GAAG;QAChD,IAAI,CAACD,YAAY,GAAG;IACtB;IAEAY,cAAc;QACZ,OAAO,IAAI,CAACZ,YAAY;IAC1B;IAEAU,SAAS;QACP,IAAI,CAACZ,OAAO,CAACgB,GAAG,CAAC,WAAW,IAAI,CAACT,OAAO;QACxC,IAAI,CAACJ,wCAAwC,GAAG;QAChD,IAAI,CAACD,YAAY,GAAG;IACtB;AACF;AAEA,eAAeN,SAAS"}
1
+ {"version":3,"sources":["../../../../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/videojs/quality-selector/util/SafeSeek.js"],"sourcesContent":["class SafeSeek {\n constructor(player, seekToTime) {\n this._player = player;\n this._seekToTime = seekToTime;\n this._hasFinished = false;\n this._keepThisInstanceWhenPlayerSourcesChange = false;\n this._seekWhenSafe();\n }\n\n _seekWhenSafe() {\n var HAVE_FUTURE_DATA = 3;\n\n // `readyState` in Video.js is the same as the HTML5 Media element's `readyState`\n // property.\n //\n // `readyState` is an enum of 5 values (0-4), each of which represent a state of\n // readiness to play. The meaning of the values range from HAVE_NOTHING (0), meaning\n // no data is available to HAVE_ENOUGH_DATA (4), meaning all data is loaded and the\n // video can be played all the way through.\n //\n // In order to seek successfully, the `readyState` must be at least HAVE_FUTURE_DATA\n // (3).\n //\n // @see http://docs.videojs.com/player#readyState\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/readyState\n // @see https://dev.w3.org/html5/spec-preview/media-elements.html#seek-the-media-controller\n if (this._player.readyState() < HAVE_FUTURE_DATA) {\n this._seekFn = this._seek.bind(this);\n // The `canplay` event means that the `readyState` is at least HAVE_FUTURE_DATA.\n this._player.one(\"canplay\", this._seekFn);\n } else {\n this._seek();\n }\n }\n\n onPlayerSourcesChange() {\n if (this._keepThisInstanceWhenPlayerSourcesChange) {\n // By setting this to `false`, we know that if the player sources change again\n // the change did not originate from a quality selection change, the new sources\n // are likely different from the old sources, and so this pending seek no longer\n // applies.\n this._keepThisInstanceWhenPlayerSourcesChange = false;\n } else {\n this.cancel();\n }\n }\n\n onQualitySelectionChange() {\n // `onPlayerSourcesChange` will cancel this pending seek unless we tell it not to.\n // We need to reuse this same pending seek instance because when the player is\n // paused, the `preload` attribute is set to `none`, and the user selects one\n // quality option and then another, the player cannot seek until the player has\n // enough data to do so (and the `canplay` event is fired) and thus on the second\n // selection the player's `currentTime()` is `0` and when the video plays we would\n // seek to `0` instead of the correct time.\n if (!this.hasFinished()) {\n this._keepThisInstanceWhenPlayerSourcesChange = true;\n }\n }\n\n _seek() {\n this._player.currentTime(this._seekToTime);\n this._keepThisInstanceWhenPlayerSourcesChange = false;\n this._hasFinished = true;\n }\n\n hasFinished() {\n return this._hasFinished;\n }\n\n cancel() {\n this._player.off(\"canplay\", this._seekFn);\n this._keepThisInstanceWhenPlayerSourcesChange = false;\n this._hasFinished = true;\n }\n}\n\nexport default SafeSeek;\n"],"names":["SafeSeek","constructor","player","seekToTime","_player","_seekToTime","_hasFinished","_keepThisInstanceWhenPlayerSourcesChange","_seekWhenSafe","HAVE_FUTURE_DATA","readyState","_seekFn","_seek","bind","one","onPlayerSourcesChange","cancel","onQualitySelectionChange","hasFinished","currentTime","off"],"mappings":"AAAA,MAAMA;IACJC,YAAYC,MAAM,EAAEC,UAAU,CAAE;QAC9B,IAAI,CAACC,OAAO,GAAGF;QACf,IAAI,CAACG,WAAW,GAAGF;QACnB,IAAI,CAACG,YAAY,GAAG;QACpB,IAAI,CAACC,wCAAwC,GAAG;QAChD,IAAI,CAACC,aAAa;IACpB;IAEAA,gBAAgB;QACd,IAAIC,mBAAmB;QAEvB,iFAAiF;QACjF,YAAY;QACZ,EAAE;QACF,gFAAgF;QAChF,oFAAoF;QACpF,mFAAmF;QACnF,2CAA2C;QAC3C,EAAE;QACF,oFAAoF;QACpF,OAAO;QACP,EAAE;QACF,iDAAiD;QACjD,oFAAoF;QACpF,2FAA2F;QAC3F,IAAI,IAAI,CAACL,OAAO,CAACM,UAAU,KAAKD,kBAAkB;YAChD,IAAI,CAACE,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,IAAI,CAAC,IAAI;YACnC,gFAAgF;YAChF,IAAI,CAACT,OAAO,CAACU,GAAG,CAAC,WAAW,IAAI,CAACH,OAAO;QAC1C,OAAO;YACL,IAAI,CAACC,KAAK;QACZ;IACF;IAEAG,wBAAwB;QACtB,IAAI,IAAI,CAACR,wCAAwC,EAAE;YACjD,8EAA8E;YAC9E,gFAAgF;YAChF,gFAAgF;YAChF,WAAW;YACX,IAAI,CAACA,wCAAwC,GAAG;QAClD,OAAO;YACL,IAAI,CAACS,MAAM;QACb;IACF;IAEAC,2BAA2B;QACzB,kFAAkF;QAClF,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,iFAAiF;QACjF,kFAAkF;QAClF,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAACC,WAAW,IAAI;YACvB,IAAI,CAACX,wCAAwC,GAAG;QAClD;IACF;IAEAK,QAAQ;QACN,IAAI,CAACR,OAAO,CAACe,WAAW,CAAC,IAAI,CAACd,WAAW;QACzC,IAAI,CAACE,wCAAwC,GAAG;QAChD,IAAI,CAACD,YAAY,GAAG;IACtB;IAEAY,cAAc;QACZ,OAAO,IAAI,CAACZ,YAAY;IAC1B;IAEAU,SAAS;QACP,IAAI,CAACZ,OAAO,CAACgB,GAAG,CAAC,WAAW,IAAI,CAACT,OAAO;QACxC,IAAI,CAACJ,wCAAwC,GAAG;QAChD,IAAI,CAACD,YAAY,GAAG;IACtB;AACF;AAEA,eAAeN,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/index.ts"],"sourcesContent":["export * from \"./VideoBlock.js\";\r\n"],"names":[],"mappings":"AAAA,cAAc,kBAAkB"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/index.ts"],"sourcesContent":["export * from \"./VideoBlock.js\";\n"],"names":[],"mappings":"AAAA,cAAc,kBAAkB"}
@@ -3,6 +3,6 @@ interface ExtensionKitProps {
3
3
  openAssetHQHandler: openAssetHQType;
4
4
  dir?: "ltr" | "rtl";
5
5
  }
6
- export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-superscript").SuperscriptExtensionOptions, any>)[];
6
+ export declare const ExtensionKit: ({ dir, openAssetHQHandler, }: ExtensionKitProps) => (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any>)[];
7
7
  export default ExtensionKit;
8
8
  //# sourceMappingURL=extension-kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;IACpC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,iCAGtB,iBAAiB,mMA6HnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"extension-kit.d.ts","sourceRoot":"","sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,UAAU,iBAAiB;IACzB,kBAAkB,EAAE,eAAe,CAAC;IACpC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,iCAGtB,iBAAiB,+LA6HnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\r\n AICommand,\r\n AudioBlock,\r\n BlockquoteFigure,\r\n CharacterCount,\r\n Color,\r\n Document,\r\n Dropcursor,\r\n Facebook,\r\n Figcaption,\r\n FileHandler,\r\n Focus,\r\n FontFamily,\r\n FontSize,\r\n Heading,\r\n Highlight,\r\n HorizontalRule,\r\n LinkPreview,\r\n ImageBlock,\r\n InsideLinks,\r\n Instagram,\r\n Link,\r\n Linkedin,\r\n Placeholder,\r\n Selection,\r\n SlashCommand,\r\n StarterKit,\r\n Subscript,\r\n Superscript,\r\n TaskItem,\r\n TaskList,\r\n TextAlign,\r\n TextStyle,\r\n Tiktok,\r\n TrailingNode,\r\n Twitter,\r\n Typography,\r\n Underline,\r\n VideoBlock,\r\n Youtube,\r\n Iframe,\r\n BulletList,\r\n} from \"./index.js\";\r\n\r\nimport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\r\n\r\nimport History from \"@tiptap/extension-history\";\r\nimport { Markdown } from \"tiptap-markdown\";\r\nimport API from \"../lib/api.js\";\r\nimport { openAssetHQType } from \"../types.js\";\r\nimport i18next from \"i18next\";\r\nimport { getAssetActualSize } from \"./ImageUpload/getImageActualSize.js\";\r\n\r\ninterface ExtensionKitProps {\r\n openAssetHQHandler: openAssetHQType;\r\n dir?: \"ltr\" | \"rtl\";\r\n}\r\n\r\nexport const ExtensionKit = ({\r\n dir = \"ltr\",\r\n openAssetHQHandler,\r\n}: ExtensionKitProps) => [\r\n Markdown,\r\n Document,\r\n TaskList,\r\n TaskItem.configure({\r\n nested: true,\r\n }),\r\n Selection,\r\n Heading.configure({\r\n levels: [1, 2, 3, 4, 5, 6],\r\n }),\r\n HorizontalRule,\r\n StarterKit.configure({\r\n document: false,\r\n dropcursor: false,\r\n heading: false,\r\n horizontalRule: false,\r\n blockquote: false,\r\n history: false,\r\n codeBlock: false,\r\n }),\r\n TextStyle,\r\n // FontSize,\r\n // FontFamily,\r\n // Color,\r\n TrailingNode,\r\n Link.configure({\r\n openOnClick: false,\r\n }),\r\n // Highlight.configure({ multicolor: true }),\r\n Underline,\r\n CharacterCount.configure({ limit: 50000 }),\r\n ImageUpload.configure({\r\n openAssetHQHandler,\r\n }),\r\n ImageBlock,\r\n VideoBlock,\r\n AudioBlock,\r\n FileHandler.configure({\r\n allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\r\n onDrop: (currentEditor, files, pos) => {\r\n const file = files[0];\r\n (async () => {\r\n openAssetHQHandler(\r\n (asset) => {\r\n let title = asset.title;\r\n if (\r\n i18next.language !== \"en\" &&\r\n !!asset.title_locale[i18next.language.toUpperCase()]\r\n ) {\r\n title = asset.title_locale[i18next.language.toUpperCase()];\r\n }\r\n const { actualHeight, actualWidth } = getAssetActualSize(asset);\r\n currentEditor\r\n .chain()\r\n .setImageBlockAt({\r\n pos,\r\n src: asset?.optimizedImageUrl || asset.fullUrl,\r\n caption: title,\r\n actualHeight,\r\n actualWidth,\r\n })\r\n .focus()\r\n .run();\r\n },\r\n file,\r\n \"image\"\r\n );\r\n })();\r\n },\r\n onPaste: (currentEditor, files) => {\r\n files.forEach(async () => {\r\n const url = await API.uploadImage();\r\n\r\n return currentEditor\r\n .chain()\r\n .setImageBlockAt({\r\n pos: currentEditor.state.selection.anchor,\r\n src: url,\r\n })\r\n .focus()\r\n .run();\r\n });\r\n },\r\n }),\r\n // Emoji.configure({\r\n // enableEmoticons: true,\r\n // suggestion: emojiSuggestion,\r\n // }),\r\n TextAlign.extend({\r\n addKeyboardShortcuts() {\r\n return {};\r\n },\r\n }).configure({\r\n defaultAlignment: dir === \"rtl\" ? \"right\" : \"left\",\r\n types: [\"heading\", \"paragraph\"],\r\n }),\r\n Subscript,\r\n Superscript,\r\n Typography,\r\n Placeholder.configure({\r\n includeChildren: true,\r\n showOnlyCurrent: false,\r\n placeholder: () => \"\",\r\n }),\r\n SlashCommand,\r\n Focus,\r\n Figcaption,\r\n BlockquoteFigure,\r\n Dropcursor.configure({\r\n width: 2,\r\n class: \"ProseMirror-dropcursor border-black\",\r\n }),\r\n History,\r\n Twitter,\r\n Tiktok,\r\n Instagram,\r\n Facebook,\r\n Linkedin,\r\n Youtube,\r\n InsideLinks,\r\n Iframe,\r\n AICommand,\r\n LinkPreview,\r\n BulletList,\r\n];\r\n\r\nexport default ExtensionKit;\r\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","Heading","HorizontalRule","LinkPreview","ImageBlock","InsideLinks","Instagram","Link","Linkedin","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","TaskItem","TaskList","TextAlign","TextStyle","Tiktok","TrailingNode","Twitter","Typography","Underline","VideoBlock","Youtube","Iframe","BulletList","ImageUpload","History","Markdown","API","i18next","getAssetActualSize","ExtensionKit","dir","openAssetHQHandler","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","openOnClick","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","file","asset","title","language","title_locale","toUpperCase","actualHeight","actualWidth","chain","setImageBlockAt","src","optimizedImageUrl","fullUrl","caption","focus","run","onPaste","forEach","url","uploadImage","state","selection","anchor","extend","addKeyboardShortcuts","defaultAlignment","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/extension-kit.ts"],"sourcesContent":["import {\n AICommand,\n AudioBlock,\n BlockquoteFigure,\n CharacterCount,\n Color,\n Document,\n Dropcursor,\n Facebook,\n Figcaption,\n FileHandler,\n Focus,\n FontFamily,\n FontSize,\n Heading,\n Highlight,\n HorizontalRule,\n LinkPreview,\n ImageBlock,\n InsideLinks,\n Instagram,\n Link,\n Linkedin,\n Placeholder,\n Selection,\n SlashCommand,\n StarterKit,\n Subscript,\n Superscript,\n TaskItem,\n TaskList,\n TextAlign,\n TextStyle,\n Tiktok,\n TrailingNode,\n Twitter,\n Typography,\n Underline,\n VideoBlock,\n Youtube,\n Iframe,\n BulletList,\n} from \"./index.js\";\n\nimport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\n\nimport History from \"@tiptap/extension-history\";\nimport { Markdown } from \"tiptap-markdown\";\nimport API from \"../lib/api.js\";\nimport { openAssetHQType } from \"../types.js\";\nimport i18next from \"i18next\";\nimport { getAssetActualSize } from \"./ImageUpload/getImageActualSize.js\";\n\ninterface ExtensionKitProps {\n openAssetHQHandler: openAssetHQType;\n dir?: \"ltr\" | \"rtl\";\n}\n\nexport const ExtensionKit = ({\n dir = \"ltr\",\n openAssetHQHandler,\n}: ExtensionKitProps) => [\n Markdown,\n Document,\n TaskList,\n TaskItem.configure({\n nested: true,\n }),\n Selection,\n Heading.configure({\n levels: [1, 2, 3, 4, 5, 6],\n }),\n HorizontalRule,\n StarterKit.configure({\n document: false,\n dropcursor: false,\n heading: false,\n horizontalRule: false,\n blockquote: false,\n history: false,\n codeBlock: false,\n }),\n TextStyle,\n // FontSize,\n // FontFamily,\n // Color,\n TrailingNode,\n Link.configure({\n openOnClick: false,\n }),\n // Highlight.configure({ multicolor: true }),\n Underline,\n CharacterCount.configure({ limit: 50000 }),\n ImageUpload.configure({\n openAssetHQHandler,\n }),\n ImageBlock,\n VideoBlock,\n AudioBlock,\n FileHandler.configure({\n allowedMimeTypes: [\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\"],\n onDrop: (currentEditor, files, pos) => {\n const file = files[0];\n (async () => {\n openAssetHQHandler(\n (asset) => {\n let title = asset.title;\n if (\n i18next.language !== \"en\" &&\n !!asset.title_locale[i18next.language.toUpperCase()]\n ) {\n title = asset.title_locale[i18next.language.toUpperCase()];\n }\n const { actualHeight, actualWidth } = getAssetActualSize(asset);\n currentEditor\n .chain()\n .setImageBlockAt({\n pos,\n src: asset?.optimizedImageUrl || asset.fullUrl,\n caption: title,\n actualHeight,\n actualWidth,\n })\n .focus()\n .run();\n },\n file,\n \"image\"\n );\n })();\n },\n onPaste: (currentEditor, files) => {\n files.forEach(async () => {\n const url = await API.uploadImage();\n\n return currentEditor\n .chain()\n .setImageBlockAt({\n pos: currentEditor.state.selection.anchor,\n src: url,\n })\n .focus()\n .run();\n });\n },\n }),\n // Emoji.configure({\n // enableEmoticons: true,\n // suggestion: emojiSuggestion,\n // }),\n TextAlign.extend({\n addKeyboardShortcuts() {\n return {};\n },\n }).configure({\n defaultAlignment: dir === \"rtl\" ? \"right\" : \"left\",\n types: [\"heading\", \"paragraph\"],\n }),\n Subscript,\n Superscript,\n Typography,\n Placeholder.configure({\n includeChildren: true,\n showOnlyCurrent: false,\n placeholder: () => \"\",\n }),\n SlashCommand,\n Focus,\n Figcaption,\n BlockquoteFigure,\n Dropcursor.configure({\n width: 2,\n class: \"ProseMirror-dropcursor border-black\",\n }),\n History,\n Twitter,\n Tiktok,\n Instagram,\n Facebook,\n Linkedin,\n Youtube,\n InsideLinks,\n Iframe,\n AICommand,\n LinkPreview,\n BulletList,\n];\n\nexport default ExtensionKit;\n"],"names":["AICommand","AudioBlock","BlockquoteFigure","CharacterCount","Document","Dropcursor","Facebook","Figcaption","FileHandler","Focus","Heading","HorizontalRule","LinkPreview","ImageBlock","InsideLinks","Instagram","Link","Linkedin","Placeholder","Selection","SlashCommand","StarterKit","Subscript","Superscript","TaskItem","TaskList","TextAlign","TextStyle","Tiktok","TrailingNode","Twitter","Typography","Underline","VideoBlock","Youtube","Iframe","BulletList","ImageUpload","History","Markdown","API","i18next","getAssetActualSize","ExtensionKit","dir","openAssetHQHandler","configure","nested","levels","document","dropcursor","heading","horizontalRule","blockquote","history","codeBlock","openOnClick","limit","allowedMimeTypes","onDrop","currentEditor","files","pos","file","asset","title","language","title_locale","toUpperCase","actualHeight","actualWidth","chain","setImageBlockAt","src","optimizedImageUrl","fullUrl","caption","focus","run","onPaste","forEach","url","uploadImage","state","selection","anchor","extend","addKeyboardShortcuts","defaultAlignment","types","includeChildren","showOnlyCurrent","placeholder","width","class"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/index.ts"],"sourcesContent":["// TODO: File causes circular dependency issue in ESLint\r\n/* eslint-disable */\r\nexport { StarterKit } from \"@tiptap/starter-kit\";\r\nexport { Highlight } from \"@tiptap/extension-highlight\";\r\nexport { CharacterCount } from \"@tiptap/extension-character-count\";\r\nexport { Underline } from \"@tiptap/extension-underline\";\r\nexport { Placeholder } from \"@tiptap/extension-placeholder\";\r\nexport { Emoji, gitHubEmojis } from \"@tiptap-pro/extension-emoji\";\r\nexport { TextAlign } from \"@tiptap/extension-text-align\";\r\nexport { TextStyle } from \"@tiptap/extension-text-style\";\r\nexport { FontFamily } from \"@tiptap/extension-font-family\";\r\nexport { Typography } from \"@tiptap/extension-typography\";\r\nexport { Color } from \"@tiptap/extension-color\";\r\nexport { FocusClasses as Focus } from \"@tiptap/extension-focus\";\r\nexport { Dropcursor } from \"@tiptap/extension-dropcursor\";\r\nexport { CollaborationCursor } from \"@tiptap/extension-collaboration-cursor\";\r\nexport { Subscript } from \"@tiptap/extension-subscript\";\r\nexport { TableOfContents } from \"@tiptap-pro/extension-table-of-contents\";\r\nexport { Superscript } from \"@tiptap/extension-superscript\";\r\nexport { CodeBlock } from \"@tiptap/extension-code-block\";\r\nexport { BulletList } from \"@tiptap/extension-bullet-list\";\r\nexport { OrderedList } from \"@tiptap/extension-ordered-list\";\r\nexport { Collaboration } from \"@tiptap/extension-collaboration\";\r\nexport { TaskItem } from \"@tiptap/extension-task-item\";\r\nexport { TaskList } from \"@tiptap/extension-task-list\";\r\nexport { FileHandler } from \"@tiptap-pro/extension-file-handler\";\r\n\r\nexport { Selection } from \"./Selection/Selection.js\";\r\nexport { Table, TableCell, TableHeader, TableRow } from \"./Table/index.js\";\r\nexport { HorizontalRule } from \"./HorizontalRule/HorizontalRule.js\";\r\nexport { Heading } from \"./Heading/Heading.js\";\r\nexport { Document } from \"./Document/Document.js\";\r\nexport { TrailingNode } from \"./TrailingNode/trailing-node.js\";\r\nexport { SlashCommand } from \"./SlashCommand/SlashCommand.js\";\r\nexport { FontSize } from \"./FontSize/FontSize.js\";\r\nexport { Figure } from \"./Figure/Figure.js\";\r\nexport { Figcaption } from \"./Figcaption/Figcaption.js\";\r\nexport { BlockquoteFigure } from \"./BlockquoteFigure/BlockquoteFigure.js\";\r\nexport { Quote } from \"./BlockquoteFigure/Quote/Quote.js\";\r\nexport { QuoteCaption } from \"./BlockquoteFigure/QuoteCaption/QuoteCaption.js\";\r\nexport { Link } from \"./Link/Link.js\";\r\nexport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\r\nexport { ImageBlock } from \"./ImageBlock/ImageBlock.js\";\r\nexport { VideoBlock } from \"./VideoBlock/VideoBlock.js\";\r\nexport { AudioBlock } from \"./AudioBlock/AudioBlock.js\";\r\n\r\nexport { Columns, Column } from \"./MultiColumn/index.js\";\r\nexport { AICommand } from \"./AICommand/AICommand.js\";\r\nexport { Iframe } from \"./Iframe/iframe.js\";\r\nexport {\r\n Twitter,\r\n Linkedin,\r\n Tiktok,\r\n Facebook,\r\n Instagram,\r\n Youtube,\r\n} from \"./SocialMedia/index.js\";\r\nexport { Paragraph } from \"./Paragraph/Paragraph.js\";\r\nexport { InsideLinks } from \"./InsideLinks/insideLinks.js\";\r\n\r\nexport { LinkPreview } from \"./LinkPreview/index.js\";\r\n\r\n// export * from \"./serverside/index.js\";\r\n"],"names":["StarterKit","Highlight","CharacterCount","Underline","Placeholder","Emoji","gitHubEmojis","TextAlign","TextStyle","FontFamily","Typography","Color","FocusClasses","Focus","Dropcursor","CollaborationCursor","Subscript","TableOfContents","Superscript","CodeBlock","BulletList","OrderedList","Collaboration","TaskItem","TaskList","FileHandler","Selection","Table","TableCell","TableHeader","TableRow","HorizontalRule","Heading","Document","TrailingNode","SlashCommand","FontSize","Figure","Figcaption","BlockquoteFigure","Quote","QuoteCaption","Link","ImageUpload","ImageBlock","VideoBlock","AudioBlock","Columns","Column","AICommand","Iframe","Twitter","Linkedin","Tiktok","Facebook","Instagram","Youtube","Paragraph","InsideLinks","LinkPreview"],"mappings":"AAAA,wDAAwD;AACxD,kBAAkB,GAClB,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,KAAK,EAAEC,YAAY,QAAQ,8BAA8B;AAClE,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,gBAAgBC,KAAK,QAAQ,0BAA0B;AAChE,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,aAAa,QAAQ,kCAAkC;AAChE,SAASC,QAAQ,QAAQ,8BAA8B;AACvD,SAASC,QAAQ,QAAQ,8BAA8B;AACvD,SAASC,WAAW,QAAQ,qCAAqC;AAEjE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,KAAK,EAAEC,SAAS,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,mBAAmB;AAC3E,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,YAAY,QAAQ,kCAAkC;AAC/D,SAASC,YAAY,QAAQ,iCAAiC;AAC9D,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,gBAAgB,QAAQ,yCAAyC;AAC1E,SAASC,KAAK,QAAQ,oCAAoC;AAC1D,SAASC,YAAY,QAAQ,kDAAkD;AAC/E,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,UAAU,QAAQ,6BAA6B;AAExD,SAASC,OAAO,EAAEC,MAAM,QAAQ,yBAAyB;AACzD,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SACEC,OAAO,EACPC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,OAAO,QACF,yBAAyB;AAChC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,SAASC,WAAW,QAAQ,yBAAyB,CAErD,yCAAyC"}
1
+ {"version":3,"sources":["../../../../../src/fields/TiptapEditor/extensions/index.ts"],"sourcesContent":["// TODO: File causes circular dependency issue in ESLint\n/* eslint-disable */\nexport { StarterKit } from \"@tiptap/starter-kit\";\nexport { Highlight } from \"@tiptap/extension-highlight\";\nexport { CharacterCount } from \"@tiptap/extension-character-count\";\nexport { Underline } from \"@tiptap/extension-underline\";\nexport { Placeholder } from \"@tiptap/extension-placeholder\";\nexport { Emoji, gitHubEmojis } from \"@tiptap-pro/extension-emoji\";\nexport { TextAlign } from \"@tiptap/extension-text-align\";\nexport { TextStyle } from \"@tiptap/extension-text-style\";\nexport { FontFamily } from \"@tiptap/extension-font-family\";\nexport { Typography } from \"@tiptap/extension-typography\";\nexport { Color } from \"@tiptap/extension-color\";\nexport { FocusClasses as Focus } from \"@tiptap/extension-focus\";\nexport { Dropcursor } from \"@tiptap/extension-dropcursor\";\nexport { CollaborationCursor } from \"@tiptap/extension-collaboration-cursor\";\nexport { Subscript } from \"@tiptap/extension-subscript\";\nexport { TableOfContents } from \"@tiptap-pro/extension-table-of-contents\";\nexport { Superscript } from \"@tiptap/extension-superscript\";\nexport { CodeBlock } from \"@tiptap/extension-code-block\";\nexport { BulletList } from \"@tiptap/extension-bullet-list\";\nexport { OrderedList } from \"@tiptap/extension-ordered-list\";\nexport { Collaboration } from \"@tiptap/extension-collaboration\";\nexport { TaskItem } from \"@tiptap/extension-task-item\";\nexport { TaskList } from \"@tiptap/extension-task-list\";\nexport { FileHandler } from \"@tiptap-pro/extension-file-handler\";\n\nexport { Selection } from \"./Selection/Selection.js\";\nexport { Table, TableCell, TableHeader, TableRow } from \"./Table/index.js\";\nexport { HorizontalRule } from \"./HorizontalRule/HorizontalRule.js\";\nexport { Heading } from \"./Heading/Heading.js\";\nexport { Document } from \"./Document/Document.js\";\nexport { TrailingNode } from \"./TrailingNode/trailing-node.js\";\nexport { SlashCommand } from \"./SlashCommand/SlashCommand.js\";\nexport { FontSize } from \"./FontSize/FontSize.js\";\nexport { Figure } from \"./Figure/Figure.js\";\nexport { Figcaption } from \"./Figcaption/Figcaption.js\";\nexport { BlockquoteFigure } from \"./BlockquoteFigure/BlockquoteFigure.js\";\nexport { Quote } from \"./BlockquoteFigure/Quote/Quote.js\";\nexport { QuoteCaption } from \"./BlockquoteFigure/QuoteCaption/QuoteCaption.js\";\nexport { Link } from \"./Link/Link.js\";\nexport { ImageUpload } from \"./ImageUpload/ImageUpload.js\";\nexport { ImageBlock } from \"./ImageBlock/ImageBlock.js\";\nexport { VideoBlock } from \"./VideoBlock/VideoBlock.js\";\nexport { AudioBlock } from \"./AudioBlock/AudioBlock.js\";\n\nexport { Columns, Column } from \"./MultiColumn/index.js\";\nexport { AICommand } from \"./AICommand/AICommand.js\";\nexport { Iframe } from \"./Iframe/iframe.js\";\nexport {\n Twitter,\n Linkedin,\n Tiktok,\n Facebook,\n Instagram,\n Youtube,\n} from \"./SocialMedia/index.js\";\nexport { Paragraph } from \"./Paragraph/Paragraph.js\";\nexport { InsideLinks } from \"./InsideLinks/insideLinks.js\";\n\nexport { LinkPreview } from \"./LinkPreview/index.js\";\n\n// export * from \"./serverside/index.js\";\n"],"names":["StarterKit","Highlight","CharacterCount","Underline","Placeholder","Emoji","gitHubEmojis","TextAlign","TextStyle","FontFamily","Typography","Color","FocusClasses","Focus","Dropcursor","CollaborationCursor","Subscript","TableOfContents","Superscript","CodeBlock","BulletList","OrderedList","Collaboration","TaskItem","TaskList","FileHandler","Selection","Table","TableCell","TableHeader","TableRow","HorizontalRule","Heading","Document","TrailingNode","SlashCommand","FontSize","Figure","Figcaption","BlockquoteFigure","Quote","QuoteCaption","Link","ImageUpload","ImageBlock","VideoBlock","AudioBlock","Columns","Column","AICommand","Iframe","Twitter","Linkedin","Tiktok","Facebook","Instagram","Youtube","Paragraph","InsideLinks","LinkPreview"],"mappings":"AAAA,wDAAwD;AACxD,kBAAkB,GAClB,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,KAAK,EAAEC,YAAY,QAAQ,8BAA8B;AAClE,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,gBAAgBC,KAAK,QAAQ,0BAA0B;AAChE,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,aAAa,QAAQ,kCAAkC;AAChE,SAASC,QAAQ,QAAQ,8BAA8B;AACvD,SAASC,QAAQ,QAAQ,8BAA8B;AACvD,SAASC,WAAW,QAAQ,qCAAqC;AAEjE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,KAAK,EAAEC,SAAS,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,mBAAmB;AAC3E,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,YAAY,QAAQ,kCAAkC;AAC/D,SAASC,YAAY,QAAQ,iCAAiC;AAC9D,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,gBAAgB,QAAQ,yCAAyC;AAC1E,SAASC,KAAK,QAAQ,oCAAoC;AAC1D,SAASC,YAAY,QAAQ,kDAAkD;AAC/E,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,UAAU,QAAQ,6BAA6B;AAExD,SAASC,OAAO,EAAEC,MAAM,QAAQ,yBAAyB;AACzD,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SACEC,OAAO,EACPC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,OAAO,QACF,yBAAyB;AAChC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,SAASC,WAAW,QAAQ,yBAAyB,CAErD,yCAAyC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/EmbedContentInlineRenderer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Portal } from \"@radix-ui/react-portal\";\r\nimport { ComponentProps, memo, useEffect, useState } from \"react\";\r\n\r\nimport { renderEmbedContent } from \"./RenderEmbedClientSide.js\";\r\n\r\nconst CustomPortal = memo(\r\n ({\r\n content,\r\n getVideoAspect,\r\n ...props\r\n }: ComponentProps<typeof Portal> & { getVideoAspect }) => {\r\n useEffect(() => {}, []);\r\n return (\r\n <Portal {...props}>{renderEmbedContent(content, getVideoAspect)}</Portal>\r\n );\r\n }\r\n);\r\n\r\nexport function EmbedContentInlineRenderer({ body, getVideoAspect, prefix }) {\r\n const [mounted, setMounted] = useState(false);\r\n useEffect(() => {\r\n setMounted(true);\r\n }, []);\r\n\r\n if (!mounted) return null;\r\n return (\r\n <>\r\n {body.content\r\n .filter(\r\n (content) =>\r\n typeof content?.attrs?.[\"data-id\"] === \"number\" ||\r\n typeof content?.attrs?.[\"data-id\"] === \"string\"\r\n )\r\n .map((content) => {\r\n const container = document.getElementById(prefix);\r\n const element = container?.querySelector(\r\n `[data-id='${content.attrs[\"data-id\"]}']`\r\n );\r\n return (\r\n <CustomPortal\r\n key={`embed-content-inline-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\r\n container={element}\r\n content={content}\r\n getVideoAspect={getVideoAspect}\r\n />\r\n );\r\n })}\r\n </>\r\n );\r\n}\r\n"],"names":["Portal","memo","useEffect","useState","renderEmbedContent","CustomPortal","content","getVideoAspect","props","EmbedContentInlineRenderer","body","prefix","mounted","setMounted","filter","attrs","map","container","document","getElementById","element","querySelector","key"],"mappings":"AAAA;;AAEA,SAASA,MAAM,QAAQ,yBAAyB;AAChD,SAAyBC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAElE,SAASC,kBAAkB,QAAQ,6BAA6B;AAEhE,MAAMC,6BAAeJ,KACnB,CAAC,EACCK,OAAO,EACPC,cAAc,EACd,GAAGC,OACgD;IACnDN,UAAU,KAAO,GAAG,EAAE;IACtB,qBACE,KAACF;QAAQ,GAAGQ,KAAK;kBAAGJ,mBAAmBE,SAASC;;AAEpD;AAGF,OAAO,SAASE,2BAA2B,EAAEC,IAAI,EAAEH,cAAc,EAAEI,MAAM,EAAE;IACzE,MAAM,CAACC,SAASC,WAAW,GAAGV,SAAS;IACvCD,UAAU;QACRW,WAAW;IACb,GAAG,EAAE;IAEL,IAAI,CAACD,SAAS,OAAO;IACrB,qBACE;kBACGF,KAAKJ,OAAO,CACVQ,MAAM,CACL,CAACR,UACC,OAAOA,SAASS,OAAO,CAAC,UAAU,KAAK,YACvC,OAAOT,SAASS,OAAO,CAAC,UAAU,KAAK,UAE1CC,GAAG,CAAC,CAACV;YACJ,MAAMW,YAAYC,SAASC,cAAc,CAACR;YAC1C,MAAMS,UAAUH,WAAWI,cACzB,CAAC,UAAU,EAAEf,QAAQS,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAE3C,qBACE,KAACV;gBAECY,WAAWG;gBACXd,SAASA;gBACTC,gBAAgBA;eAHX,CAAC,qBAAqB,EAAED,QAAQS,KAAK,CAAC,UAAU,CAAC,CAAC,EAAET,QAAQS,KAAK,CAACO,GAAG,CAAC,CAAC;QAMlF;;AAGR"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/EmbedContentInlineRenderer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Portal } from \"@radix-ui/react-portal\";\nimport { ComponentProps, memo, useEffect, useState } from \"react\";\n\nimport { renderEmbedContent } from \"./RenderEmbedClientSide.js\";\n\nconst CustomPortal = memo(\n ({\n content,\n getVideoAspect,\n ...props\n }: ComponentProps<typeof Portal> & { getVideoAspect }) => {\n useEffect(() => {}, []);\n return (\n <Portal {...props}>{renderEmbedContent(content, getVideoAspect)}</Portal>\n );\n }\n);\n\nexport function EmbedContentInlineRenderer({ body, getVideoAspect, prefix }) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) return null;\n return (\n <>\n {body.content\n .filter(\n (content) =>\n typeof content?.attrs?.[\"data-id\"] === \"number\" ||\n typeof content?.attrs?.[\"data-id\"] === \"string\"\n )\n .map((content) => {\n const container = document.getElementById(prefix);\n const element = container?.querySelector(\n `[data-id='${content.attrs[\"data-id\"]}']`\n );\n return (\n <CustomPortal\n key={`embed-content-inline-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\n container={element}\n content={content}\n getVideoAspect={getVideoAspect}\n />\n );\n })}\n </>\n );\n}\n"],"names":["Portal","memo","useEffect","useState","renderEmbedContent","CustomPortal","content","getVideoAspect","props","EmbedContentInlineRenderer","body","prefix","mounted","setMounted","filter","attrs","map","container","document","getElementById","element","querySelector","key"],"mappings":"AAAA;;AAEA,SAASA,MAAM,QAAQ,yBAAyB;AAChD,SAAyBC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAElE,SAASC,kBAAkB,QAAQ,6BAA6B;AAEhE,MAAMC,6BAAeJ,KACnB,CAAC,EACCK,OAAO,EACPC,cAAc,EACd,GAAGC,OACgD;IACnDN,UAAU,KAAO,GAAG,EAAE;IACtB,qBACE,KAACF;QAAQ,GAAGQ,KAAK;kBAAGJ,mBAAmBE,SAASC;;AAEpD;AAGF,OAAO,SAASE,2BAA2B,EAAEC,IAAI,EAAEH,cAAc,EAAEI,MAAM,EAAE;IACzE,MAAM,CAACC,SAASC,WAAW,GAAGV,SAAS;IACvCD,UAAU;QACRW,WAAW;IACb,GAAG,EAAE;IAEL,IAAI,CAACD,SAAS,OAAO;IACrB,qBACE;kBACGF,KAAKJ,OAAO,CACVQ,MAAM,CACL,CAACR,UACC,OAAOA,SAASS,OAAO,CAAC,UAAU,KAAK,YACvC,OAAOT,SAASS,OAAO,CAAC,UAAU,KAAK,UAE1CC,GAAG,CAAC,CAACV;YACJ,MAAMW,YAAYC,SAASC,cAAc,CAACR;YAC1C,MAAMS,UAAUH,WAAWI,cACzB,CAAC,UAAU,EAAEf,QAAQS,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAE3C,qBACE,KAACV;gBAECY,WAAWG;gBACXd,SAASA;gBACTC,gBAAgBA;eAHX,CAAC,qBAAqB,EAAED,QAAQS,KAAK,CAAC,UAAU,CAAC,CAAC,EAAET,QAAQS,KAAK,CAACO,GAAG,EAAE;QAMlF;;AAGR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/EmbedContentSideRenderer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Portal } from \"@radix-ui/react-portal\";\r\nimport { ComponentProps, memo, useEffect, useState } from \"react\";\r\n\r\nimport { renderEmbedContent } from \"./RenderEmbedClientSide.js\";\r\n\r\nconst CustomPortal = memo(\r\n ({\r\n content,\r\n getVideoAspect,\r\n ...props\r\n }: ComponentProps<typeof Portal> & { getVideoAspect }) => {\r\n useEffect(() => {}, []);\r\n return (\r\n <Portal {...props}>{renderEmbedContent(content, getVideoAspect)}</Portal>\r\n );\r\n }\r\n);\r\n\r\nexport function EmbedContentSideRenderer({ body, getVideoAspect }) {\r\n const [mounted, setMounted] = useState(false);\r\n useEffect(() => {\r\n setMounted(true);\r\n }, []);\r\n\r\n if (!mounted) return null;\r\n return (\r\n <>\r\n {body.content\r\n .filter(\r\n (content) =>\r\n typeof content?.attrs?.[\"data-id\"] === \"number\" ||\r\n typeof content?.attrs?.[\"data-id\"] === \"string\"\r\n )\r\n .filter((content) => content?.attrs?.side)\r\n .map((content) => {\r\n return (\r\n <CustomPortal\r\n key={`embed-content-side-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\r\n container={document?.querySelector(\r\n `[data-id='${content.attrs[\"data-id\"]}']`\r\n )}\r\n content={content}\r\n getVideoAspect={getVideoAspect}\r\n />\r\n );\r\n })}\r\n </>\r\n );\r\n}\r\n"],"names":["Portal","memo","useEffect","useState","renderEmbedContent","CustomPortal","content","getVideoAspect","props","EmbedContentSideRenderer","body","mounted","setMounted","filter","attrs","side","map","container","document","querySelector","key"],"mappings":"AAAA;;AAEA,SAASA,MAAM,QAAQ,yBAAyB;AAChD,SAAyBC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAElE,SAASC,kBAAkB,QAAQ,6BAA6B;AAEhE,MAAMC,6BAAeJ,KACnB,CAAC,EACCK,OAAO,EACPC,cAAc,EACd,GAAGC,OACgD;IACnDN,UAAU,KAAO,GAAG,EAAE;IACtB,qBACE,KAACF;QAAQ,GAAGQ,KAAK;kBAAGJ,mBAAmBE,SAASC;;AAEpD;AAGF,OAAO,SAASE,yBAAyB,EAAEC,IAAI,EAAEH,cAAc,EAAE;IAC/D,MAAM,CAACI,SAASC,WAAW,GAAGT,SAAS;IACvCD,UAAU;QACRU,WAAW;IACb,GAAG,EAAE;IAEL,IAAI,CAACD,SAAS,OAAO;IACrB,qBACE;kBACGD,KAAKJ,OAAO,CACVO,MAAM,CACL,CAACP,UACC,OAAOA,SAASQ,OAAO,CAAC,UAAU,KAAK,YACvC,OAAOR,SAASQ,OAAO,CAAC,UAAU,KAAK,UAE1CD,MAAM,CAAC,CAACP,UAAYA,SAASQ,OAAOC,MACpCC,GAAG,CAAC,CAACV;YACJ,qBACE,KAACD;gBAECY,WAAWC,UAAUC,cACnB,CAAC,UAAU,EAAEb,QAAQQ,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAE3CR,SAASA;gBACTC,gBAAgBA;eALX,CAAC,mBAAmB,EAAED,QAAQQ,KAAK,CAAC,UAAU,CAAC,CAAC,EAAER,QAAQQ,KAAK,CAACM,GAAG,CAAC,CAAC;QAQhF;;AAGR"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/EmbedContentSideRenderer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Portal } from \"@radix-ui/react-portal\";\nimport { ComponentProps, memo, useEffect, useState } from \"react\";\n\nimport { renderEmbedContent } from \"./RenderEmbedClientSide.js\";\n\nconst CustomPortal = memo(\n ({\n content,\n getVideoAspect,\n ...props\n }: ComponentProps<typeof Portal> & { getVideoAspect }) => {\n useEffect(() => {}, []);\n return (\n <Portal {...props}>{renderEmbedContent(content, getVideoAspect)}</Portal>\n );\n }\n);\n\nexport function EmbedContentSideRenderer({ body, getVideoAspect }) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted) return null;\n return (\n <>\n {body.content\n .filter(\n (content) =>\n typeof content?.attrs?.[\"data-id\"] === \"number\" ||\n typeof content?.attrs?.[\"data-id\"] === \"string\"\n )\n .filter((content) => content?.attrs?.side)\n .map((content) => {\n return (\n <CustomPortal\n key={`embed-content-side-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\n container={document?.querySelector(\n `[data-id='${content.attrs[\"data-id\"]}']`\n )}\n content={content}\n getVideoAspect={getVideoAspect}\n />\n );\n })}\n </>\n );\n}\n"],"names":["Portal","memo","useEffect","useState","renderEmbedContent","CustomPortal","content","getVideoAspect","props","EmbedContentSideRenderer","body","mounted","setMounted","filter","attrs","side","map","container","document","querySelector","key"],"mappings":"AAAA;;AAEA,SAASA,MAAM,QAAQ,yBAAyB;AAChD,SAAyBC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAElE,SAASC,kBAAkB,QAAQ,6BAA6B;AAEhE,MAAMC,6BAAeJ,KACnB,CAAC,EACCK,OAAO,EACPC,cAAc,EACd,GAAGC,OACgD;IACnDN,UAAU,KAAO,GAAG,EAAE;IACtB,qBACE,KAACF;QAAQ,GAAGQ,KAAK;kBAAGJ,mBAAmBE,SAASC;;AAEpD;AAGF,OAAO,SAASE,yBAAyB,EAAEC,IAAI,EAAEH,cAAc,EAAE;IAC/D,MAAM,CAACI,SAASC,WAAW,GAAGT,SAAS;IACvCD,UAAU;QACRU,WAAW;IACb,GAAG,EAAE;IAEL,IAAI,CAACD,SAAS,OAAO;IACrB,qBACE;kBACGD,KAAKJ,OAAO,CACVO,MAAM,CACL,CAACP,UACC,OAAOA,SAASQ,OAAO,CAAC,UAAU,KAAK,YACvC,OAAOR,SAASQ,OAAO,CAAC,UAAU,KAAK,UAE1CD,MAAM,CAAC,CAACP,UAAYA,SAASQ,OAAOC,MACpCC,GAAG,CAAC,CAACV;YACJ,qBACE,KAACD;gBAECY,WAAWC,UAAUC,cACnB,CAAC,UAAU,EAAEb,QAAQQ,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAE3CR,SAASA;gBACTC,gBAAgBA;eALX,CAAC,mBAAmB,EAAED,QAAQQ,KAAK,CAAC,UAAU,CAAC,CAAC,EAAER,QAAQQ,KAAK,CAACM,GAAG,EAAE;QAQhF;;AAGR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/EmbedContentSidebarRenderer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { renderEmbedContent } from \"./RenderEmbedClientSide.js\";\r\nconst HEIGHT = 320;\r\n\r\nfunction getContainerElement(containerId) {\r\n if (typeof window === \"undefined\" || !containerId) return null;\r\n return document.getElementById(containerId);\r\n}\r\n\r\nexport function EmbedContentSidebarRenderer({\r\n body,\r\n containerId,\r\n getVideoAspect,\r\n}) {\r\n const [mounted, setMounted] = useState(false);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setMounted(true);\r\n }, 200);\r\n }, []);\r\n const containerEl = useRef(getContainerElement(containerId));\r\n if (!mounted || typeof window === \"undefined\") return null;\r\n if (!containerEl.current) {\r\n containerEl.current = getContainerElement(containerId);\r\n }\r\n let lastRenderedPixel =\r\n containerEl.current?.getBoundingClientRect()?.top + window.scrollY ||\r\n window.innerHeight;\r\n\r\n return (\r\n <>\r\n {body.content\r\n .filter((content) => content?.attrs?.[\"data-id\"])\r\n .filter((content) => content?.attrs?.side)\r\n .map((content) => {\r\n const el = document?.querySelector(\r\n `[data-id='${content.attrs[\"data-id\"]}']`\r\n );\r\n const relativeTopPosition = el.getBoundingClientRect().top;\r\n const topPosition = relativeTopPosition + window.scrollY;\r\n\r\n const tempBottomPixel = lastRenderedPixel;\r\n\r\n const marginTop = Math.max(\r\n 8,\r\n topPosition - tempBottomPixel - HEIGHT / 2\r\n );\r\n lastRenderedPixel = topPosition + HEIGHT;\r\n\r\n return (\r\n <div\r\n key={`embed-content-sidebar-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\r\n className=\"w-full\"\r\n style={{ marginTop }}\r\n >\r\n {renderEmbedContent(content, getVideoAspect)}\r\n </div>\r\n );\r\n })}\r\n </>\r\n );\r\n}\r\n"],"names":["useEffect","useRef","useState","renderEmbedContent","HEIGHT","getContainerElement","containerId","window","document","getElementById","EmbedContentSidebarRenderer","body","getVideoAspect","mounted","setMounted","setTimeout","containerEl","current","lastRenderedPixel","getBoundingClientRect","top","scrollY","innerHeight","content","filter","attrs","side","map","el","querySelector","relativeTopPosition","topPosition","tempBottomPixel","marginTop","Math","max","div","className","style","key"],"mappings":"AAAA;;AAEA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACpD,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,MAAMC,SAAS;AAEf,SAASC,oBAAoBC,WAAW;IACtC,IAAI,OAAOC,WAAW,eAAe,CAACD,aAAa,OAAO;IAC1D,OAAOE,SAASC,cAAc,CAACH;AACjC;AAEA,OAAO,SAASI,4BAA4B,EAC1CC,IAAI,EACJL,WAAW,EACXM,cAAc,EACf;IACC,MAAM,CAACC,SAASC,WAAW,GAAGZ,SAAS;IACvCF,UAAU;QACRe,WAAW;YACTD,WAAW;QACb,GAAG;IACL,GAAG,EAAE;IACL,MAAME,cAAcf,OAAOI,oBAAoBC;IAC/C,IAAI,CAACO,WAAW,OAAON,WAAW,aAAa,OAAO;IACtD,IAAI,CAACS,YAAYC,OAAO,EAAE;QACxBD,YAAYC,OAAO,GAAGZ,oBAAoBC;IAC5C;IACA,IAAIY,oBACFF,YAAYC,OAAO,EAAEE,yBAAyBC,MAAMb,OAAOc,OAAO,IAClEd,OAAOe,WAAW;IAEpB,qBACE;kBACGX,KAAKY,OAAO,CACVC,MAAM,CAAC,CAACD,UAAYA,SAASE,OAAO,CAAC,UAAU,EAC/CD,MAAM,CAAC,CAACD,UAAYA,SAASE,OAAOC,MACpCC,GAAG,CAAC,CAACJ;YACJ,MAAMK,KAAKpB,UAAUqB,cACnB,CAAC,UAAU,EAAEN,QAAQE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAE3C,MAAMK,sBAAsBF,GAAGT,qBAAqB,GAAGC,GAAG;YAC1D,MAAMW,cAAcD,sBAAsBvB,OAAOc,OAAO;YAExD,MAAMW,kBAAkBd;YAExB,MAAMe,YAAYC,KAAKC,GAAG,CACxB,GACAJ,cAAcC,kBAAkB5B,SAAS;YAE3Cc,oBAAoBa,cAAc3B;YAElC,qBACE,KAACgC;gBAECC,WAAU;gBACVC,OAAO;oBAAEL;gBAAU;0BAElB9B,mBAAmBoB,SAASX;eAJxB,CAAC,sBAAsB,EAAEW,QAAQE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAEF,QAAQE,KAAK,CAACc,GAAG,CAAC,CAAC;QAOnF;;AAGR"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/EmbedContentSidebarRenderer.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport { renderEmbedContent } from \"./RenderEmbedClientSide.js\";\nconst HEIGHT = 320;\n\nfunction getContainerElement(containerId) {\n if (typeof window === \"undefined\" || !containerId) return null;\n return document.getElementById(containerId);\n}\n\nexport function EmbedContentSidebarRenderer({\n body,\n containerId,\n getVideoAspect,\n}) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setTimeout(() => {\n setMounted(true);\n }, 200);\n }, []);\n const containerEl = useRef(getContainerElement(containerId));\n if (!mounted || typeof window === \"undefined\") return null;\n if (!containerEl.current) {\n containerEl.current = getContainerElement(containerId);\n }\n let lastRenderedPixel =\n containerEl.current?.getBoundingClientRect()?.top + window.scrollY ||\n window.innerHeight;\n\n return (\n <>\n {body.content\n .filter((content) => content?.attrs?.[\"data-id\"])\n .filter((content) => content?.attrs?.side)\n .map((content) => {\n const el = document?.querySelector(\n `[data-id='${content.attrs[\"data-id\"]}']`\n );\n const relativeTopPosition = el.getBoundingClientRect().top;\n const topPosition = relativeTopPosition + window.scrollY;\n\n const tempBottomPixel = lastRenderedPixel;\n\n const marginTop = Math.max(\n 8,\n topPosition - tempBottomPixel - HEIGHT / 2\n );\n lastRenderedPixel = topPosition + HEIGHT;\n\n return (\n <div\n key={`embed-content-sidebar-${content.attrs[\"data-id\"]}-${content.attrs.key}`}\n className=\"w-full\"\n style={{ marginTop }}\n >\n {renderEmbedContent(content, getVideoAspect)}\n </div>\n );\n })}\n </>\n );\n}\n"],"names":["useEffect","useRef","useState","renderEmbedContent","HEIGHT","getContainerElement","containerId","window","document","getElementById","EmbedContentSidebarRenderer","body","getVideoAspect","mounted","setMounted","setTimeout","containerEl","current","lastRenderedPixel","getBoundingClientRect","top","scrollY","innerHeight","content","filter","attrs","side","map","el","querySelector","relativeTopPosition","topPosition","tempBottomPixel","marginTop","Math","max","div","className","style","key"],"mappings":"AAAA;;AAEA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACpD,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,MAAMC,SAAS;AAEf,SAASC,oBAAoBC,WAAW;IACtC,IAAI,OAAOC,WAAW,eAAe,CAACD,aAAa,OAAO;IAC1D,OAAOE,SAASC,cAAc,CAACH;AACjC;AAEA,OAAO,SAASI,4BAA4B,EAC1CC,IAAI,EACJL,WAAW,EACXM,cAAc,EACf;IACC,MAAM,CAACC,SAASC,WAAW,GAAGZ,SAAS;IACvCF,UAAU;QACRe,WAAW;YACTD,WAAW;QACb,GAAG;IACL,GAAG,EAAE;IACL,MAAME,cAAcf,OAAOI,oBAAoBC;IAC/C,IAAI,CAACO,WAAW,OAAON,WAAW,aAAa,OAAO;IACtD,IAAI,CAACS,YAAYC,OAAO,EAAE;QACxBD,YAAYC,OAAO,GAAGZ,oBAAoBC;IAC5C;IACA,IAAIY,oBACFF,YAAYC,OAAO,EAAEE,yBAAyBC,MAAMb,OAAOc,OAAO,IAClEd,OAAOe,WAAW;IAEpB,qBACE;kBACGX,KAAKY,OAAO,CACVC,MAAM,CAAC,CAACD,UAAYA,SAASE,OAAO,CAAC,UAAU,EAC/CD,MAAM,CAAC,CAACD,UAAYA,SAASE,OAAOC,MACpCC,GAAG,CAAC,CAACJ;YACJ,MAAMK,KAAKpB,UAAUqB,cACnB,CAAC,UAAU,EAAEN,QAAQE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAE3C,MAAMK,sBAAsBF,GAAGT,qBAAqB,GAAGC,GAAG;YAC1D,MAAMW,cAAcD,sBAAsBvB,OAAOc,OAAO;YAExD,MAAMW,kBAAkBd;YAExB,MAAMe,YAAYC,KAAKC,GAAG,CACxB,GACAJ,cAAcC,kBAAkB5B,SAAS;YAE3Cc,oBAAoBa,cAAc3B;YAElC,qBACE,KAACgC;gBAECC,WAAU;gBACVC,OAAO;oBAAEL;gBAAU;0BAElB9B,mBAAmBoB,SAASX;eAJxB,CAAC,sBAAsB,EAAEW,QAAQE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAEF,QAAQE,KAAK,CAACc,GAAG,EAAE;QAOnF;;AAGR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/FacebookServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\r\n\r\nexport const FacebookServerside = Node.create({\r\n name: \"facebook\",\r\n\r\n group: \"block\",\r\n content: \"inline*\",\r\n\r\n parseHTML() {\r\n return [\r\n {\r\n tag: 'a[data-type=\"facebook\"]',\r\n },\r\n ];\r\n },\r\n addAttributes() {\r\n return {\r\n url: { default: null },\r\n \"data-id\": { default: null },\r\n class: { default: \"inline-facebook\" },\r\n };\r\n },\r\n renderHTML({ HTMLAttributes }) {\r\n return [\r\n \"div\",\r\n mergeAttributes(HTMLAttributes, {\r\n \"data-type\": \"facebook\",\r\n class: `react-renderer node-facebook ${HTMLAttributes.class}`,\r\n }),\r\n 0,\r\n ];\r\n },\r\n});\r\n"],"names":["Node","mergeAttributes","FacebookServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,qBAAqBF,KAAKG,MAAM,CAAC;IAC5CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAkB;QACtC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,6BAA6B,EAAEE,eAAeF,KAAK,CAAC,CAAC;YAC/D;YACA;SACD;IACH;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/FacebookServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const FacebookServerside = Node.create({\n name: \"facebook\",\n\n group: \"block\",\n content: \"inline*\",\n\n parseHTML() {\n return [\n {\n tag: 'a[data-type=\"facebook\"]',\n },\n ];\n },\n addAttributes() {\n return {\n url: { default: null },\n \"data-id\": { default: null },\n class: { default: \"inline-facebook\" },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, {\n \"data-type\": \"facebook\",\n class: `react-renderer node-facebook ${HTMLAttributes.class}`,\n }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","FacebookServerside","create","name","group","content","parseHTML","tag","addAttributes","url","default","class","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,qBAAqBF,KAAKG,MAAM,CAAC;IAC5CC,MAAM;IAENC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IACAC;QACE,OAAO;YACLC,KAAK;gBAAEC,SAAS;YAAK;YACrB,WAAW;gBAAEA,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAkB;QACtC;IACF;IACAE,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAb,gBAAgBa,gBAAgB;gBAC9B,aAAa;gBACbF,OAAO,CAAC,6BAA6B,EAAEE,eAAeF,KAAK,EAAE;YAC/D;YACA;SACD;IACH;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/IFrameServerside.ts"],"sourcesContent":["import { Node } from \"@tiptap/core\";\r\n\r\nexport interface IframeOptions {\r\n allowFullscreen: boolean;\r\n HTMLAttributes: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\ndeclare module \"@tiptap/core\" {\r\n interface Commands<ReturnType> {\r\n iframe: {\r\n /**\r\n * Add an iframe\r\n */\r\n setIframe: (options?: { src: string }) => ReturnType;\r\n insertIframe: (src?: string, className?: string) => ReturnType;\r\n setHtml: (value: string) => ReturnType;\r\n };\r\n }\r\n}\r\n\r\nexport const IFrameServerside = Node.create<IframeOptions>({\r\n name: \"iframe\",\r\n\r\n group: \"block\",\r\n content: \"inline*\",\r\n draggable: true,\r\n\r\n atom: true,\r\n\r\n addOptions() {\r\n return {\r\n allowFullscreen: true,\r\n HTMLAttributes: {\r\n class: \"iframe-wrapper\",\r\n },\r\n };\r\n },\r\n\r\n addAttributes() {\r\n return {\r\n src: {\r\n default: null,\r\n },\r\n frameborder: {\r\n default: 0,\r\n },\r\n allowfullscreen: {\r\n default: this.options.allowFullscreen,\r\n parseHTML: () => this.options.allowFullscreen,\r\n },\r\n };\r\n },\r\n\r\n parseHTML() {\r\n return [\r\n {\r\n tag: \"iframe\",\r\n },\r\n ];\r\n },\r\n\r\n renderHTML({ HTMLAttributes }) {\r\n return [\"div\", this.options.HTMLAttributes, [\"iframe\", HTMLAttributes]];\r\n },\r\n});\r\n"],"names":["Node","IFrameServerside","create","name","group","content","draggable","atom","addOptions","allowFullscreen","HTMLAttributes","class","addAttributes","src","default","frameborder","allowfullscreen","options","parseHTML","tag","renderHTML"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAe;AAsBpC,OAAO,MAAMC,mBAAmBD,KAAKE,MAAM,CAAgB;IACzDC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEXC,MAAM;IAENC;QACE,OAAO;YACLC,iBAAiB;YACjBC,gBAAgB;gBACdC,OAAO;YACT;QACF;IACF;IAEAC;QACE,OAAO;YACLC,KAAK;gBACHC,SAAS;YACX;YACAC,aAAa;gBACXD,SAAS;YACX;YACAE,iBAAiB;gBACfF,SAAS,IAAI,CAACG,OAAO,CAACR,eAAe;gBACrCS,WAAW,IAAM,IAAI,CAACD,OAAO,CAACR,eAAe;YAC/C;QACF;IACF;IAEAS;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEV,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAO,IAAI,CAACO,OAAO,CAACP,cAAc;YAAE;gBAAC;gBAAUA;aAAe;SAAC;IACzE;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/IFrameServerside.ts"],"sourcesContent":["import { Node } from \"@tiptap/core\";\n\nexport interface IframeOptions {\n allowFullscreen: boolean;\n HTMLAttributes: {\n [key: string]: any;\n };\n}\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n iframe: {\n /**\n * Add an iframe\n */\n setIframe: (options?: { src: string }) => ReturnType;\n insertIframe: (src?: string, className?: string) => ReturnType;\n setHtml: (value: string) => ReturnType;\n };\n }\n}\n\nexport const IFrameServerside = Node.create<IframeOptions>({\n name: \"iframe\",\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n\n atom: true,\n\n addOptions() {\n return {\n allowFullscreen: true,\n HTMLAttributes: {\n class: \"iframe-wrapper\",\n },\n };\n },\n\n addAttributes() {\n return {\n src: {\n default: null,\n },\n frameborder: {\n default: 0,\n },\n allowfullscreen: {\n default: this.options.allowFullscreen,\n parseHTML: () => this.options.allowFullscreen,\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: \"iframe\",\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"div\", this.options.HTMLAttributes, [\"iframe\", HTMLAttributes]];\n },\n});\n"],"names":["Node","IFrameServerside","create","name","group","content","draggable","atom","addOptions","allowFullscreen","HTMLAttributes","class","addAttributes","src","default","frameborder","allowfullscreen","options","parseHTML","tag","renderHTML"],"mappings":"AAAA,SAASA,IAAI,QAAQ,eAAe;AAsBpC,OAAO,MAAMC,mBAAmBD,KAAKE,MAAM,CAAgB;IACzDC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEXC,MAAM;IAENC;QACE,OAAO;YACLC,iBAAiB;YACjBC,gBAAgB;gBACdC,OAAO;YACT;QACF;IACF;IAEAC;QACE,OAAO;YACLC,KAAK;gBACHC,SAAS;YACX;YACAC,aAAa;gBACXD,SAAS;YACX;YACAE,iBAAiB;gBACfF,SAAS,IAAI,CAACG,OAAO,CAACR,eAAe;gBACrCS,WAAW,IAAM,IAAI,CAACD,OAAO,CAACR,eAAe;YAC/C;QACF;IACF;IAEAS;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEV,cAAc,EAAE;QAC3B,OAAO;YAAC;YAAO,IAAI,CAACO,OAAO,CAACP,cAAc;YAAE;gBAAC;gBAAUA;aAAe;SAAC;IACzE;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ImageBlockServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\r\n\r\nexport const ImageBlockServerside = Node.create({\r\n name: 'imageBlock',\r\n group: 'block',\r\n content: 'inline*',\r\n\r\n parseHTML() {\r\n return [\r\n {\r\n tag: 'img[src*=\"tiptap.dev\"]:not([src^=\"data:\"]), img[src*=\"windows.net\"]:not([src^=\"data:\"])',\r\n },\r\n ];\r\n },\r\n\r\n renderHTML({ HTMLAttributes }) {\r\n return [\r\n 'div', // Create a div wrapper\r\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\r\n class: 'image-wrapper',\r\n }), // Add any desired attributes to the wrapper\r\n ];\r\n },\r\n\r\n // renderHTML({ HTMLAttributes }) {\r\n // return [\r\n // 'img',\r\n // mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\r\n // ];\r\n // },\r\n\r\n addAttributes() {\r\n return {\r\n 'data-id': { default: null },\r\n src: {\r\n default: '',\r\n parseHTML: element => element.getAttribute('src'),\r\n renderHTML: attributes => ({\r\n src: attributes.src,\r\n }),\r\n },\r\n width: {\r\n default: '100%',\r\n parseHTML: element => element.getAttribute('data-width'),\r\n renderHTML: attributes => ({\r\n 'data-width': attributes.width,\r\n }),\r\n },\r\n align: {\r\n default: 'center',\r\n parseHTML: element => element.getAttribute('data-align'),\r\n renderHTML: attributes => ({\r\n 'data-align': attributes.align,\r\n }),\r\n },\r\n alt: {\r\n default: undefined,\r\n parseHTML: element => element.getAttribute('alt'),\r\n renderHTML: attributes => ({\r\n alt: attributes.alt,\r\n }),\r\n },\r\n };\r\n },\r\n});\r\n"],"names":["Node","mergeAttributes","ImageBlockServerside","create","name","group","content","parseHTML","tag","renderHTML","HTMLAttributes","options","class","addAttributes","default","src","element","getAttribute","attributes","width","align","alt","undefined"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,uBAAuBF,KAAKG,MAAM,CAAC;IAC9CC,MAAM;IACNC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAT,gBAAgB,IAAI,CAACU,OAAO,CAACD,cAAc,EAAEA,gBAAgB;gBAC3DE,OAAO;YACT;SACD;IACH;IAEA,mCAAmC;IACnC,aAAa;IACb,aAAa;IACb,oEAAoE;IACpE,OAAO;IACP,KAAK;IAELC;QACE,OAAO;YACL,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,KAAK;gBACHD,SAAS;gBACTP,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzBH,KAAKG,WAAWH,GAAG;oBACrB,CAAA;YACF;YACAI,OAAO;gBACLL,SAAS;gBACTP,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzB,cAAcA,WAAWC,KAAK;oBAChC,CAAA;YACF;YACAC,OAAO;gBACLN,SAAS;gBACTP,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzB,cAAcA,WAAWE,KAAK;oBAChC,CAAA;YACF;YACAC,KAAK;gBACHP,SAASQ;gBACTf,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzBG,KAAKH,WAAWG,GAAG;oBACrB,CAAA;YACF;QACF;IACF;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/ImageBlockServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\nexport const ImageBlockServerside = Node.create({\n name: 'imageBlock',\n group: 'block',\n content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: 'img[src*=\"tiptap.dev\"]:not([src^=\"data:\"]), img[src*=\"windows.net\"]:not([src^=\"data:\"])',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'div', // Create a div wrapper\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\n class: 'image-wrapper',\n }), // Add any desired attributes to the wrapper\n ];\n },\n\n // renderHTML({ HTMLAttributes }) {\n // return [\n // 'img',\n // mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n // ];\n // },\n\n addAttributes() {\n return {\n 'data-id': { default: null },\n src: {\n default: '',\n parseHTML: element => element.getAttribute('src'),\n renderHTML: attributes => ({\n src: attributes.src,\n }),\n },\n width: {\n default: '100%',\n parseHTML: element => element.getAttribute('data-width'),\n renderHTML: attributes => ({\n 'data-width': attributes.width,\n }),\n },\n align: {\n default: 'center',\n parseHTML: element => element.getAttribute('data-align'),\n renderHTML: attributes => ({\n 'data-align': attributes.align,\n }),\n },\n alt: {\n default: undefined,\n parseHTML: element => element.getAttribute('alt'),\n renderHTML: attributes => ({\n alt: attributes.alt,\n }),\n },\n };\n },\n});\n"],"names":["Node","mergeAttributes","ImageBlockServerside","create","name","group","content","parseHTML","tag","renderHTML","HTMLAttributes","options","class","addAttributes","default","src","element","getAttribute","attributes","width","align","alt","undefined"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,uBAAuBF,KAAKG,MAAM,CAAC;IAC9CC,MAAM;IACNC,OAAO;IACPC,SAAS;IAETC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACAT,gBAAgB,IAAI,CAACU,OAAO,CAACD,cAAc,EAAEA,gBAAgB;gBAC3DE,OAAO;YACT;SACD;IACH;IAEA,mCAAmC;IACnC,aAAa;IACb,aAAa;IACb,oEAAoE;IACpE,OAAO;IACP,KAAK;IAELC;QACE,OAAO;YACL,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,KAAK;gBACHD,SAAS;gBACTP,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzBH,KAAKG,WAAWH,GAAG;oBACrB,CAAA;YACF;YACAI,OAAO;gBACLL,SAAS;gBACTP,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzB,cAAcA,WAAWC,KAAK;oBAChC,CAAA;YACF;YACAC,OAAO;gBACLN,SAAS;gBACTP,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzB,cAAcA,WAAWE,KAAK;oBAChC,CAAA;YACF;YACAC,KAAK;gBACHP,SAASQ;gBACTf,WAAWS,CAAAA,UAAWA,QAAQC,YAAY,CAAC;gBAC3CR,YAAYS,CAAAA,aAAe,CAAA;wBACzBG,KAAKH,WAAWG,GAAG;oBACrB,CAAA;YACF;QACF;IACF;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/InsideLinkServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\r\n\r\nexport const InsideLinkServerside = Node.create({\r\n name: \"insideLinks\",\r\n\r\n group: \"block\",\r\n content: \"inline*\",\r\n draggable: true,\r\n\r\n // content: 'inline*',\r\n\r\n parseHTML() {\r\n return [\r\n {\r\n tag: 'div[data-type=\"insideLinks\"]',\r\n },\r\n ];\r\n },\r\n\r\n addAttributes() {\r\n return {\r\n thumbnail: { default: null },\r\n title: { default: null },\r\n id: { default: null },\r\n type: { default: null },\r\n url: { default: null },\r\n };\r\n },\r\n\r\n addKeyboardShortcuts() {\r\n return {\r\n \"Mod-Enter\": () => {\r\n return this.editor\r\n .chain()\r\n .insertContentAt(this.editor.state.selection.head, {\r\n type: this.type.name,\r\n })\r\n .focus()\r\n .run();\r\n },\r\n };\r\n },\r\n\r\n renderHTML({ HTMLAttributes }) {\r\n return [\r\n \"div\",\r\n mergeAttributes(HTMLAttributes, { \"data-type\": \"insideLinks\" }),\r\n 0,\r\n ];\r\n },\r\n});\r\n"],"names":["Node","mergeAttributes","InsideLinkServerside","create","name","group","content","draggable","parseHTML","tag","addAttributes","thumbnail","default","title","id","type","url","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","focus","run","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,uBAAuBF,KAAKG,MAAM,CAAC;IAC9CC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEX,sBAAsB;IAEtBC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC;QACE,OAAO;YACLC,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAK;YACvBE,IAAI;gBAAEF,SAAS;YAAK;YACpBG,MAAM;gBAAEH,SAAS;YAAK;YACtBI,KAAK;gBAAEJ,SAAS;YAAK;QACvB;IACF;IAEAK;QACE,OAAO;YACL,aAAa;gBACX,OAAO,IAAI,CAACC,MAAM,CACfC,KAAK,GACLC,eAAe,CAAC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,SAAS,CAACC,IAAI,EAAE;oBACjDR,MAAM,IAAI,CAACA,IAAI,CAACX,IAAI;gBACtB,GACCoB,KAAK,GACLC,GAAG;YACR;QACF;IACF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACA1B,gBAAgB0B,gBAAgB;gBAAE,aAAa;YAAc;YAC7D;SACD;IACH;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/InsideLinkServerside.ts"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\n\nexport const InsideLinkServerside = Node.create({\n name: \"insideLinks\",\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n\n // content: 'inline*',\n\n parseHTML() {\n return [\n {\n tag: 'div[data-type=\"insideLinks\"]',\n },\n ];\n },\n\n addAttributes() {\n return {\n thumbnail: { default: null },\n title: { default: null },\n id: { default: null },\n type: { default: null },\n url: { default: null },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => {\n return this.editor\n .chain()\n .insertContentAt(this.editor.state.selection.head, {\n type: this.type.name,\n })\n .focus()\n .run();\n },\n };\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"div\",\n mergeAttributes(HTMLAttributes, { \"data-type\": \"insideLinks\" }),\n 0,\n ];\n },\n});\n"],"names":["Node","mergeAttributes","InsideLinkServerside","create","name","group","content","draggable","parseHTML","tag","addAttributes","thumbnail","default","title","id","type","url","addKeyboardShortcuts","editor","chain","insertContentAt","state","selection","head","focus","run","renderHTML","HTMLAttributes"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAErD,OAAO,MAAMC,uBAAuBF,KAAKG,MAAM,CAAC;IAC9CC,MAAM;IAENC,OAAO;IACPC,SAAS;IACTC,WAAW;IAEX,sBAAsB;IAEtBC;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC;QACE,OAAO;YACLC,WAAW;gBAAEC,SAAS;YAAK;YAC3BC,OAAO;gBAAED,SAAS;YAAK;YACvBE,IAAI;gBAAEF,SAAS;YAAK;YACpBG,MAAM;gBAAEH,SAAS;YAAK;YACtBI,KAAK;gBAAEJ,SAAS;YAAK;QACvB;IACF;IAEAK;QACE,OAAO;YACL,aAAa;gBACX,OAAO,IAAI,CAACC,MAAM,CACfC,KAAK,GACLC,eAAe,CAAC,IAAI,CAACF,MAAM,CAACG,KAAK,CAACC,SAAS,CAACC,IAAI,EAAE;oBACjDR,MAAM,IAAI,CAACA,IAAI,CAACX,IAAI;gBACtB,GACCoB,KAAK,GACLC,GAAG;YACR;QACF;IACF;IAEAC,YAAW,EAAEC,cAAc,EAAE;QAC3B,OAAO;YACL;YACA1B,gBAAgB0B,gBAAgB;gBAAE,aAAa;YAAc;YAC7D;SACD;IACH;AACF,GAAG"}