reactjs-tiptap-editor 1.0.14 → 1.0.16

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 (186) hide show
  1. package/lib/{ActionMenuButton-DNj0f_A4.cjs → ActionMenuButton-BYu0NyVo.cjs} +1 -1
  2. package/lib/{ActionMenuButton-l5rSmAO_.js → ActionMenuButton-a8LhmHXe.js} +5 -5
  3. package/lib/Attachment.cjs +1 -1
  4. package/lib/Attachment.js +6 -6
  5. package/lib/Blockquote.cjs +1 -1
  6. package/lib/Blockquote.js +4 -4
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +4 -4
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +4 -4
  11. package/lib/Callout.cjs +1 -1
  12. package/lib/Callout.js +36 -40
  13. package/lib/Clear.cjs +1 -1
  14. package/lib/Clear.js +3 -3
  15. package/lib/Code.cjs +1 -1
  16. package/lib/Code.js +4 -4
  17. package/lib/CodeBlock.cjs +1 -1
  18. package/lib/CodeBlock.js +6 -6
  19. package/lib/CodeView.cjs +1 -1
  20. package/lib/CodeView.js +4 -4
  21. package/lib/Color.cjs +1 -1
  22. package/lib/Color.js +6 -6
  23. package/lib/Column.cjs +1 -1
  24. package/lib/Column.js +4 -4
  25. package/lib/{Drawer-Cbi_MURj.js → Drawer-CbOJ1Igo.js} +8 -8
  26. package/lib/{Drawer-DKU32YW_.cjs → Drawer-DNaDMoAk.cjs} +1 -1
  27. package/lib/Drawer.cjs +1 -1
  28. package/lib/Drawer.js +3 -3
  29. package/lib/Emoji.cjs +1 -1
  30. package/lib/Emoji.js +212 -2076
  31. package/lib/{Excalidraw-CWrVL5hs.js → Excalidraw-DnHTVOj8.js} +6 -6
  32. package/lib/{Excalidraw-Kb-TRcWY.cjs → Excalidraw-DxfO1lQ_.cjs} +1 -1
  33. package/lib/Excalidraw.cjs +1 -1
  34. package/lib/Excalidraw.js +2 -2
  35. package/lib/ExportPdf.cjs +1 -1
  36. package/lib/ExportPdf.js +4 -4
  37. package/lib/ExportWord.cjs +1 -1
  38. package/lib/ExportWord.js +4 -4
  39. package/lib/FontFamily.cjs +1 -1
  40. package/lib/FontFamily.js +6 -6
  41. package/lib/FontSize.cjs +1 -1
  42. package/lib/FontSize.js +6 -6
  43. package/lib/Heading.cjs +1 -1
  44. package/lib/Heading.js +6 -6
  45. package/lib/Highlight.cjs +1 -1
  46. package/lib/Highlight.js +6 -6
  47. package/lib/History.cjs +1 -1
  48. package/lib/History.js +22 -22
  49. package/lib/HorizontalRule.cjs +1 -1
  50. package/lib/HorizontalRule.js +4 -4
  51. package/lib/{Icon-Ctva8VeB.js → Icon-C0TJMAOm.js} +2 -2
  52. package/lib/{Icon-yqCglrdK.cjs → Icon-DzK0_ztP.cjs} +1 -1
  53. package/lib/{Iframe-BczF8Hex.cjs → Iframe-BSNCsofW.cjs} +1 -1
  54. package/lib/{Iframe-C942bNjs.js → Iframe-CmjbQQcz.js} +6 -6
  55. package/lib/Iframe.cjs +1 -1
  56. package/lib/Iframe.js +2 -2
  57. package/lib/Image-BZEFuS0P.js +925 -0
  58. package/lib/Image-iKsGKjvg.cjs +1 -0
  59. package/lib/Image.cjs +1 -1
  60. package/lib/Image.js +5 -828
  61. package/lib/ImageGif.cjs +1 -1
  62. package/lib/ImageGif.js +9 -9
  63. package/lib/ImportWord.cjs +1 -231
  64. package/lib/ImportWord.js +91 -16623
  65. package/lib/{Indent-C_O5WdyR.js → Indent-BoG-vpIE.js} +4 -4
  66. package/lib/{Indent-CkEC7x36.cjs → Indent-Bou16OcB.cjs} +1 -1
  67. package/lib/Indent.cjs +1 -1
  68. package/lib/Indent.js +2 -2
  69. package/lib/Italic.cjs +1 -1
  70. package/lib/Italic.js +4 -4
  71. package/lib/Katex-BqDocr3a.cjs +4 -0
  72. package/lib/{Katex-D3PEWimM.js → Katex-ByL9snce.js} +369 -347
  73. package/lib/Katex.cjs +1 -1
  74. package/lib/Katex.js +2 -2
  75. package/lib/LineHeight.cjs +1 -1
  76. package/lib/LineHeight.js +7 -7
  77. package/lib/Link.cjs +1 -1
  78. package/lib/Link.js +2 -2
  79. package/lib/{LinkEditBlock-DL1e2ILk.cjs → LinkEditBlock-B0I0EUrt.cjs} +1 -1
  80. package/lib/{LinkEditBlock-h5054QDo.js → LinkEditBlock-Ckih17pU.js} +11 -11
  81. package/lib/Mention.cjs +1 -1
  82. package/lib/Mention.js +41 -63
  83. package/lib/Mermaid.cjs +1 -1
  84. package/lib/Mermaid.js +16 -16
  85. package/lib/MoreMark.cjs +1 -1
  86. package/lib/MoreMark.js +7 -7
  87. package/lib/OrderedList.cjs +1 -1
  88. package/lib/OrderedList.js +4 -4
  89. package/lib/SearchAndReplace.cjs +1 -1
  90. package/lib/SearchAndReplace.js +11 -11
  91. package/lib/SlashCommand.cjs +1 -1
  92. package/lib/SlashCommand.js +9 -9
  93. package/lib/{SlashCommandNodeView-DXUqkx82.js → SlashCommandNodeView-B2g1MbgN.js} +76 -83
  94. package/lib/SlashCommandNodeView-BEJhEzba.cjs +1 -0
  95. package/lib/Strike.cjs +1 -1
  96. package/lib/Strike.js +4 -4
  97. package/lib/{Table-DdrY4jcM.js → Table-BEwrZVup.js} +22 -22
  98. package/lib/{Table-kY0nbqJo.cjs → Table-BclWwp6P.cjs} +1 -1
  99. package/lib/Table.cjs +1 -1
  100. package/lib/Table.js +1 -1
  101. package/lib/TaskList.cjs +1 -1
  102. package/lib/TaskList.js +4 -4
  103. package/lib/TextAlign.cjs +1 -1
  104. package/lib/TextAlign.js +7 -7
  105. package/lib/TextDirection.cjs +1 -1
  106. package/lib/TextDirection.js +7 -7
  107. package/lib/TextUnderline.cjs +1 -1
  108. package/lib/TextUnderline.js +4 -4
  109. package/lib/{Twitter-B-JQ3ZJ1.js → Twitter-4U_ZBhpv.js} +10 -10
  110. package/lib/{Twitter-DjZcVa3l.cjs → Twitter-Dtq6PEMC.cjs} +1 -1
  111. package/lib/Twitter.cjs +1 -1
  112. package/lib/Twitter.js +2 -2
  113. package/lib/Video.cjs +1 -1
  114. package/lib/Video.js +9 -9
  115. package/lib/bubble.cjs +1 -1
  116. package/lib/bubble.js +27 -27
  117. package/lib/{button-Uv01FNnd.js → button-Bwn6gUuS.js} +2 -2
  118. package/lib/{button-BS3n6_Aq.cjs → button-CqJztfH2.cjs} +1 -1
  119. package/lib/{checkbox-C8ByRi7-.cjs → checkbox-BAzbZY2Y.cjs} +1 -1
  120. package/lib/{checkbox-DEFNwGwb.js → checkbox-B_rpz5Xq.js} +1 -1
  121. package/lib/{clsx-BWSGDJNJ.js → clsx-DSzxBzvL.js} +11 -11
  122. package/lib/{dialog-DwTMZSt6.js → dialog-CJvpoeMm.js} +1 -1
  123. package/lib/{dialog-Bt5zwGYB.cjs → dialog-CWYTvz5J.cjs} +1 -1
  124. package/lib/{dropdown-menu-BetI14G6.js → dropdown-menu-CW3Kthwy.js} +1 -1
  125. package/lib/{dropdown-menu-Bo68IEOT.cjs → dropdown-menu-eUeBXQeA.cjs} +1 -1
  126. package/lib/extensions/Emoji/Emoji.d.ts +3 -1
  127. package/lib/extensions/Emoji/components/EmojiList/EmojiNodeView.d.ts +9 -1
  128. package/lib/{index-CHKWG6E8.js → index-4bHF5ovf.js} +1 -1
  129. package/lib/index-BG0kQamI.js +285 -0
  130. package/lib/{index-Doks9cbR.cjs → index-BsFvo9PG.cjs} +1 -1
  131. package/lib/{index-Dujzr6bY.js → index-C07N8gA1.js} +69 -73
  132. package/lib/{index-CcoWj0mF.js → index-CL7JP-Xz.js} +1 -1
  133. package/lib/index-Cn-t3Zxw.cjs +1 -0
  134. package/lib/{index-mR8PNv5P.js → index-CpTykZBR.js} +1 -1
  135. package/lib/{index-BDKHXe7R.js → index-D8li6EQ4.js} +1 -1
  136. package/lib/{index-DJbmnBzK.js → index-DR5tIdL7.js} +1 -1
  137. package/lib/{index-DF5ZPtWM.js → index-DoiuU6VA.js} +54 -56
  138. package/lib/index-NsYff_Ni.cjs +1 -0
  139. package/lib/index.cjs +2 -2
  140. package/lib/index.js +4 -4
  141. package/lib/{input-DUBdJD3L.js → input-B1egKb-t.js} +1 -1
  142. package/lib/{input-Dt_BA_9B.cjs → input-ZGRt7lWR.cjs} +1 -1
  143. package/lib/{isNumber-CIgubz2e.js → isNumber-ClwLypY2.js} +1 -1
  144. package/lib/{label-topD46-u.js → label-Cjrzc5H2.js} +2 -2
  145. package/lib/{label-JNOksCA-.cjs → label-tzSPdqui.cjs} +1 -1
  146. package/lib/locale-bundle.cjs +1 -1
  147. package/lib/locale-bundle.js +1 -1
  148. package/lib/locales/index.d.ts +5 -1
  149. package/lib/{popover-mL-2sX5r.cjs → popover-C6Cya3Cz.cjs} +1 -1
  150. package/lib/{popover-LfNBhRyz.js → popover-CeY3RbI5.js} +1 -1
  151. package/lib/renderNodeView-CSazLrKF.js +28 -0
  152. package/lib/renderNodeView-DfLmGrgA.cjs +1 -0
  153. package/lib/{select-CwGYPsPq.cjs → select-Doa_-jkZ.cjs} +1 -1
  154. package/lib/{select-DctYuHLH.js → select-F0ZZ3VZB.js} +1 -1
  155. package/lib/{separator-NoH_SLRW.cjs → separator-CUh5Y7Rh.cjs} +1 -1
  156. package/lib/{separator-Ddfrhn4D.js → separator-Cjn4YH8a.js} +5 -5
  157. package/lib/store/commandList.d.ts +1 -1
  158. package/lib/store/store.d.ts +7 -6
  159. package/lib/{store-DNpS8vXA.js → store-BsJz5QRC.js} +1 -1
  160. package/lib/{store-CkjKIgjQ.cjs → store-DjkMIIEN.cjs} +1 -1
  161. package/lib/{tabs-DRSwUeKP.cjs → tabs-BP8ypR_m.cjs} +1 -1
  162. package/lib/{tabs-BT3AeqQQ.js → tabs-CBDjOLl_.js} +1 -1
  163. package/lib/{textarea-BDO6XQoF.cjs → textarea-BAolHF_W.cjs} +1 -1
  164. package/lib/{textarea-DZzMEDfZ.js → textarea-tOsPnxHf.js} +1 -1
  165. package/lib/theme.cjs +1 -1
  166. package/lib/theme.js +21 -27
  167. package/lib/{throttle-IERhwcLa.js → throttle-D040PfWL.js} +1 -1
  168. package/lib/{toggle-BQHMh_Q-.cjs → toggle-C_SSvDRy.cjs} +1 -1
  169. package/lib/{toggle-DKHg5sLm.js → toggle-DEerYRil.js} +4 -4
  170. package/lib/{tooltip-DNKq7zgN.js → tooltip-BJIvosho.js} +1 -1
  171. package/lib/{tooltip-BYtGp6FM.cjs → tooltip-FS1rsvd3.cjs} +1 -1
  172. package/lib/{updatePosition-Bie75EFq.js → updatePosition-CDK7OR0i.js} +2 -2
  173. package/lib/{useButtonProps-DVP4s_ER.js → useButtonProps-CtZCbMQu.js} +5 -5
  174. package/lib/{useButtonProps-DBJkNDS2.cjs → useButtonProps-Cz4W5dC8.cjs} +1 -1
  175. package/lib/utils/renderNodeView.d.ts +6 -0
  176. package/package.json +4 -4
  177. package/lib/Katex-DW_HjgNM.cjs +0 -4
  178. package/lib/SlashCommandNodeView-BqrmHCpu.cjs +0 -1
  179. package/lib/_commonjsHelpers-BItOPCY9.js +0 -28
  180. package/lib/_commonjsHelpers-BTDuMlIz.cjs +0 -1
  181. package/lib/extensions/Emoji/components/EmojiList/emojis.d.ts +0 -4
  182. package/lib/index-D3RLYf-J.cjs +0 -1
  183. package/lib/react-BEoMZB61.cjs +0 -1
  184. package/lib/react-c9FSfB30.js +0 -27
  185. package/lib/use-toast-Bz3QCOtE.cjs +0 -1
  186. package/lib/use-toast-Crf7-q5H.js +0 -98
package/lib/Twitter.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./clsx-CXbNJWDD.cjs");const t=require("./Twitter-DjZcVa3l.cjs");exports.RichTextTwitter=t.RichTextTwitter;exports.Twitter=t.Twitter;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./clsx-CXbNJWDD.cjs");const t=require("./Twitter-Dtq6PEMC.cjs");exports.RichTextTwitter=t.RichTextTwitter;exports.Twitter=t.Twitter;
package/lib/Twitter.js CHANGED
@@ -1,5 +1,5 @@
1
- import "./clsx-BWSGDJNJ.js";
2
- import { R as i, T } from "./Twitter-B-JQ3ZJ1.js";
1
+ import "./clsx-DSzxBzvL.js";
2
+ import { R as i, T } from "./Twitter-4U_ZBhpv.js";
3
3
  export {
4
4
  i as RichTextTwitter,
5
5
  T as Twitter
package/lib/Video.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./clsx-CXbNJWDD.cjs"),k=require("./index-Doks9cbR.cjs"),p=require("./useButtonProps-DBJkNDS2.cjs"),o=require("react/jsx-runtime"),d=require("react"),I=require("./toggle-BQHMh_Q-.cjs");require("./index-D3RLYf-J.cjs");require("./theme.cjs");const b=require("./dialog-Bt5zwGYB.cjs"),M=require("./events.constant-Dq21NPdV.cjs"),u=require("./tabs-DRSwUeKP.cjs"),D=require("./button-BS3n6_Aq.cjs"),R=require("./input-Dt_BA_9B.cjs");function $(e,t){let s;try{s=new URL(e)}catch{return!1}return!(t!=null&&t.length)||t.length===1&&t[0]==="."?!0:t.some(n=>{if(n.includes("*")){const l=n.replace(/\./g,String.raw`\.`).replace(/\*/g,".*");return new RegExp(`^${l}$`).test(s.hostname)}return s.hostname.includes(n)})}function H(){const{t:e}=k.useLocale(),t=p.useEditorInstance(),s=p.useButtonProps(T.name),{icon:n,tooltip:l}=(s==null?void 0:s.componentProps)??{},{editorDisabled:c}=p.useToggleActive(),[f,x]=d.useState(""),w=d.useRef(null),[y,m]=d.useState(""),[V,h]=d.useState(!1),v=p.useExtension(T.name),q=r=>{h(r.detail)};d.useEffect(()=>{const r=M.listenEvent(M.EVENTS.UPLOAD_VIDEO(t.id),q);return()=>{r()}},[t]);const i=d.useMemo(()=>(v==null?void 0:v.options)??{},[v]);async function C(r){var L;const a=(L=r==null?void 0:r.target)==null?void 0:L.files;if(!t||t.isDestroyed||a.length===0)return;const g=a[0];let j="";i.upload?j=await i.upload(g):j=URL.createObjectURL(g),t.chain().focus().setVideo({src:j,width:"100%"}).run(),h(!1)}function S(r){r.preventDefault(),r.stopPropagation(),f&&(t.chain().focus().setVideo({src:f,width:"100%"}).run(),h(!1),x(""))}function A(r){var a;r.preventDefault(),(a=w.current)==null||a.click()}return o.jsxs(b.Dialog,{onOpenChange:h,open:V,children:[o.jsx(b.DialogTrigger,{asChild:!0,children:o.jsx(I.ActionButton,{disabled:c,icon:n,tooltip:l,action:()=>{c||h(!0)}})}),o.jsxs(b.DialogContent,{children:[o.jsx(b.DialogTitle,{children:e("editor.video.dialog.title")}),o.jsxs(u.Tabs,{activationMode:"manual",defaultValue:(i==null?void 0:i.resourceVideo)==="both"||(i==null?void 0:i.resourceVideo)==="upload"?"upload":"link",children:[o.jsxs(u.TabsList,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[((i==null?void 0:i.resourceVideo)==="both"||(i==null?void 0:i.resourceVideo)==="upload")&&o.jsx(u.TabsTrigger,{value:"upload",children:e("editor.video.dialog.tab.upload")}),((i==null?void 0:i.resourceVideo)==="both"||(i==null?void 0:i.resourceVideo)==="link")&&o.jsx(u.TabsTrigger,{value:"link",children:e("editor.video.dialog.link")})]}),o.jsxs(u.TabsContent,{value:"upload",children:[o.jsx("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:o.jsx(D.Button,{className:"richtext-mt-1 richtext-w-full",onClick:A,size:"sm",children:e("editor.video.dialog.tab.upload")})}),o.jsx("input",{accept:"video/*",multiple:!0,onChange:C,ref:w,type:"file",style:{display:"none"}})]}),o.jsxs(u.TabsContent,{value:"link",children:[o.jsx("div",{children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[o.jsx(R.Input,{autoFocus:!0,placeholder:e("editor.video.dialog.placeholder"),required:!0,type:"url",value:f,onBlur:r=>{const a=r.target.value,g=i.videoProviders||["."];a&&!$(a,g)?m("Invalid video URL"):m("")},onChange:r=>{x(r.target.value)}}),o.jsx(D.Button,{onClick:S,type:"button",children:e("editor.video.dialog.button.apply")})]})}),y&&o.jsx("div",{className:"richtext-my-[5px] richtext-text-red-500",children:y})]})]})]})]})}function B(e){e=e.replace("https://youtu.be/","https://www.youtube.com/watch?v=").replace("watch?v=","embed/");const t=e.match(/^https:\/\/www\.youtube\.com\/shorts\/([a-zA-Z0-9_-]+)/);t&&(e=`https://www.youtube.com/embed/${t[1]}`);const s=e.match(/^https:\/\/vimeo\.com\/(\d+)(?:\/([a-zA-Z0-9]+))?/);if(s){const l=s[1],c=s[2];c?e=`https://player.vimeo.com/video/${l}?h=${c}`:e=`https://player.vimeo.com/video/${l}`}return/^https?:\/\/www.bilibili.com\/video\/.*/i.test(e)&&(e=e.replace(/\?.*$/,"").replace("https://www.bilibili.com/video/","https://player.bilibili.com/player.html?bvid=")),e.includes("drive.google.com")&&(e=e.replace("/view","/preview")),e}const T=E.Node3.create({name:"video",group:"block",atom:!0,draggable:!0,addOptions(){return{divider:!1,spacer:!1,allowFullscreen:!0,upload:void 0,frameborder:!1,resourceVideo:"both",width:k.VIDEO_SIZE["size-medium"],HTMLAttributes:{class:"iframe-wrapper"},button:({editor:e,t})=>{var s,n;return{componentProps:{action:()=>{},isActive:()=>e.isActive("video")||!1,disabled:!((n=(s=e.can()).setVideo)!=null&&n.call(s,{})),icon:"Video",tooltip:t("editor.video.tooltip"),videoProviders:["."],editor:e}}}}},addAttributes(){return{src:{default:null,renderHTML:({src:e})=>({src:e?B(e):null})},width:{default:this.options.width,renderHTML:({width:e})=>({width:p.getCssUnitWithDefault(e)})},frameborder:{default:this.options.frameborder?1:0,parseHTML:()=>this.options.frameborder?1:0},allowfullscreen:{default:this.options.allowFullscreen,parseHTML:()=>this.options.allowFullscreen},align:{default:"center",renderHTML:({align:e})=>({align:e})}}},parseHTML(){return[{tag:"div[data-video] iframe"}]},renderHTML({HTMLAttributes:e}){const{width:t="100%",align:s="center"}=e??{},n={...e,width:"100%",height:"100%"},l=`position: relative;overflow: hidden;display: flex;flex: 1;max-width: ${t};`,c=`flex: 1;padding-bottom: ${9/16*100}%;`,m=["div",{style:`display: flex; justify-content: ${s};`},["div",{style:l},["div",{style:c}],["iframe",n]]];return["div",{...this.options.HTMLAttributes,class:"iframe-wrapper","data-video":""},m]},addCommands(){return{setVideo:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e}),updateVideo:e=>({commands:t})=>t.updateAttributes(this.name,e)}}});exports.RichTextVideo=H;exports.Video=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./clsx-CXbNJWDD.cjs"),k=require("./index-BsFvo9PG.cjs"),p=require("./useButtonProps-Cz4W5dC8.cjs"),o=require("react/jsx-runtime"),d=require("react"),I=require("./toggle-C_SSvDRy.cjs");require("./index-Cn-t3Zxw.cjs");require("./theme.cjs");const b=require("./dialog-CWYTvz5J.cjs"),M=require("./events.constant-Dq21NPdV.cjs"),u=require("./tabs-BP8ypR_m.cjs"),D=require("./button-CqJztfH2.cjs"),R=require("./input-ZGRt7lWR.cjs");function $(e,t){let s;try{s=new URL(e)}catch{return!1}return!(t!=null&&t.length)||t.length===1&&t[0]==="."?!0:t.some(n=>{if(n.includes("*")){const l=n.replace(/\./g,String.raw`\.`).replace(/\*/g,".*");return new RegExp(`^${l}$`).test(s.hostname)}return s.hostname.includes(n)})}function H(){const{t:e}=k.useLocale(),t=p.useEditorInstance(),s=p.useButtonProps(T.name),{icon:n,tooltip:l}=(s==null?void 0:s.componentProps)??{},{editorDisabled:c}=p.useToggleActive(),[f,x]=d.useState(""),w=d.useRef(null),[y,m]=d.useState(""),[V,h]=d.useState(!1),v=p.useExtension(T.name),q=r=>{h(r.detail)};d.useEffect(()=>{const r=M.listenEvent(M.EVENTS.UPLOAD_VIDEO(t.id),q);return()=>{r()}},[t]);const i=d.useMemo(()=>(v==null?void 0:v.options)??{},[v]);async function C(r){var L;const a=(L=r==null?void 0:r.target)==null?void 0:L.files;if(!t||t.isDestroyed||a.length===0)return;const g=a[0];let j="";i.upload?j=await i.upload(g):j=URL.createObjectURL(g),t.chain().focus().setVideo({src:j,width:"100%"}).run(),h(!1)}function S(r){r.preventDefault(),r.stopPropagation(),f&&(t.chain().focus().setVideo({src:f,width:"100%"}).run(),h(!1),x(""))}function A(r){var a;r.preventDefault(),(a=w.current)==null||a.click()}return o.jsxs(b.Dialog,{onOpenChange:h,open:V,children:[o.jsx(b.DialogTrigger,{asChild:!0,children:o.jsx(I.ActionButton,{disabled:c,icon:n,tooltip:l,action:()=>{c||h(!0)}})}),o.jsxs(b.DialogContent,{children:[o.jsx(b.DialogTitle,{children:e("editor.video.dialog.title")}),o.jsxs(u.Tabs,{activationMode:"manual",defaultValue:(i==null?void 0:i.resourceVideo)==="both"||(i==null?void 0:i.resourceVideo)==="upload"?"upload":"link",children:[o.jsxs(u.TabsList,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[((i==null?void 0:i.resourceVideo)==="both"||(i==null?void 0:i.resourceVideo)==="upload")&&o.jsx(u.TabsTrigger,{value:"upload",children:e("editor.video.dialog.tab.upload")}),((i==null?void 0:i.resourceVideo)==="both"||(i==null?void 0:i.resourceVideo)==="link")&&o.jsx(u.TabsTrigger,{value:"link",children:e("editor.video.dialog.link")})]}),o.jsxs(u.TabsContent,{value:"upload",children:[o.jsx("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:o.jsx(D.Button,{className:"richtext-mt-1 richtext-w-full",onClick:A,size:"sm",children:e("editor.video.dialog.tab.upload")})}),o.jsx("input",{accept:"video/*",multiple:!0,onChange:C,ref:w,type:"file",style:{display:"none"}})]}),o.jsxs(u.TabsContent,{value:"link",children:[o.jsx("div",{children:o.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[o.jsx(R.Input,{autoFocus:!0,placeholder:e("editor.video.dialog.placeholder"),required:!0,type:"url",value:f,onBlur:r=>{const a=r.target.value,g=i.videoProviders||["."];a&&!$(a,g)?m("Invalid video URL"):m("")},onChange:r=>{x(r.target.value)}}),o.jsx(D.Button,{onClick:S,type:"button",children:e("editor.video.dialog.button.apply")})]})}),y&&o.jsx("div",{className:"richtext-my-[5px] richtext-text-red-500",children:y})]})]})]})]})}function B(e){e=e.replace("https://youtu.be/","https://www.youtube.com/watch?v=").replace("watch?v=","embed/");const t=e.match(/^https:\/\/www\.youtube\.com\/shorts\/([a-zA-Z0-9_-]+)/);t&&(e=`https://www.youtube.com/embed/${t[1]}`);const s=e.match(/^https:\/\/vimeo\.com\/(\d+)(?:\/([a-zA-Z0-9]+))?/);if(s){const l=s[1],c=s[2];c?e=`https://player.vimeo.com/video/${l}?h=${c}`:e=`https://player.vimeo.com/video/${l}`}return/^https?:\/\/www.bilibili.com\/video\/.*/i.test(e)&&(e=e.replace(/\?.*$/,"").replace("https://www.bilibili.com/video/","https://player.bilibili.com/player.html?bvid=")),e.includes("drive.google.com")&&(e=e.replace("/view","/preview")),e}const T=E.Node3.create({name:"video",group:"block",atom:!0,draggable:!0,addOptions(){return{divider:!1,spacer:!1,allowFullscreen:!0,upload:void 0,frameborder:!1,resourceVideo:"both",width:k.VIDEO_SIZE["size-medium"],HTMLAttributes:{class:"iframe-wrapper"},button:({editor:e,t})=>{var s,n;return{componentProps:{action:()=>{},isActive:()=>e.isActive("video")||!1,disabled:!((n=(s=e.can()).setVideo)!=null&&n.call(s,{})),icon:"Video",tooltip:t("editor.video.tooltip"),videoProviders:["."],editor:e}}}}},addAttributes(){return{src:{default:null,renderHTML:({src:e})=>({src:e?B(e):null})},width:{default:this.options.width,renderHTML:({width:e})=>({width:p.getCssUnitWithDefault(e)})},frameborder:{default:this.options.frameborder?1:0,parseHTML:()=>this.options.frameborder?1:0},allowfullscreen:{default:this.options.allowFullscreen,parseHTML:()=>this.options.allowFullscreen},align:{default:"center",renderHTML:({align:e})=>({align:e})}}},parseHTML(){return[{tag:"div[data-video] iframe"}]},renderHTML({HTMLAttributes:e}){const{width:t="100%",align:s="center"}=e??{},n={...e,width:"100%",height:"100%"},l=`position: relative;overflow: hidden;display: flex;flex: 1;max-width: ${t};`,c=`flex: 1;padding-bottom: ${9/16*100}%;`,m=["div",{style:`display: flex; justify-content: ${s};`},["div",{style:l},["div",{style:c}],["iframe",n]]];return["div",{...this.options.HTMLAttributes,class:"iframe-wrapper","data-video":""},m]},addCommands(){return{setVideo:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e}),updateVideo:e=>({commands:t})=>t.updateAttributes(this.name,e)}}});exports.RichTextVideo=H;exports.Video=T;
package/lib/Video.js CHANGED
@@ -1,16 +1,16 @@
1
- import { N as I } from "./clsx-BWSGDJNJ.js";
2
- import { u as S, V as $ } from "./index-Dujzr6bY.js";
3
- import { c as H, u as N, a as U, d as z, f as B } from "./useButtonProps-DVP4s_ER.js";
1
+ import { N as I } from "./clsx-DSzxBzvL.js";
2
+ import { u as S, V as $ } from "./index-C07N8gA1.js";
3
+ import { c as H, u as N, a as U, d as z, f as B } from "./useButtonProps-CtZCbMQu.js";
4
4
  import { jsxs as d, jsx as s } from "react/jsx-runtime";
5
5
  import { useState as y, useRef as R, useEffect as j, useMemo as F } from "react";
6
- import { A as O } from "./toggle-DKHg5sLm.js";
7
- import "./index-DF5ZPtWM.js";
6
+ import { A as O } from "./toggle-DEerYRil.js";
7
+ import "./index-DoiuU6VA.js";
8
8
  import "./theme.js";
9
- import { D as Z, a as _, b as q, c as W } from "./dialog-DwTMZSt6.js";
9
+ import { D as Z, a as _, b as q, c as W } from "./dialog-CJvpoeMm.js";
10
10
  import { l as G, E as J } from "./events.constant-do95b767.js";
11
- import { T as K, a as P, b as D, c as L } from "./tabs-BT3AeqQQ.js";
12
- import { B as T } from "./button-Uv01FNnd.js";
13
- import { I as Q } from "./input-DUBdJD3L.js";
11
+ import { T as K, a as P, b as D, c as L } from "./tabs-CBDjOLl_.js";
12
+ import { B as T } from "./button-Bwn6gUuS.js";
13
+ import { I as Q } from "./input-B1egKb-t.js";
14
14
  function X(e, t) {
15
15
  let r;
16
16
  try {