payload-richtext-tiptap 0.0.122 → 0.0.124

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 (183) hide show
  1. package/dist/src/article-custom.css +1 -0
  2. package/dist/src/body/ArticleBody.d.ts +8 -0
  3. package/dist/src/body/ArticleBody.d.ts.map +1 -0
  4. package/dist/src/body/ArticleBody.js +34 -0
  5. package/dist/src/body/ArticleBody.js.map +1 -0
  6. package/dist/src/body/StandardArticle.d.ts +6 -0
  7. package/dist/src/body/StandardArticle.d.ts.map +1 -0
  8. package/dist/src/body/StandardArticle.js +94 -0
  9. package/dist/src/body/StandardArticle.js.map +1 -0
  10. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockView.js +0 -1
  11. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockView.js.map +1 -1
  12. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.d.ts.map +1 -1
  13. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js +0 -1
  14. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.js.map +1 -1
  15. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.d.ts.map +1 -1
  16. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js +1 -0
  17. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.js.map +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.d.ts.map +1 -1
  19. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js +0 -1
  20. package/dist/src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.js.map +1 -1
  21. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.d.ts.map +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js +0 -1
  23. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -1
  24. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.d.ts.map +1 -1
  25. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.js +1 -2
  26. package/dist/src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.js.map +1 -1
  27. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.d.ts.map +1 -1
  28. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js +0 -2
  29. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.js.map +1 -1
  30. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.d.ts.map +1 -1
  31. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js +0 -1
  32. package/dist/src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.js.map +1 -1
  33. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockView.js +0 -1
  34. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockView.js.map +1 -1
  35. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockViewClientside.js +1 -2
  36. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockViewClientside.js.map +1 -1
  37. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
  38. package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.js +1 -1
  39. package/dist/src/fields/TiptapEditor/extensions/serverside/FacebookServerside.js.map +1 -1
  40. package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.js +1 -1
  41. package/dist/src/fields/TiptapEditor/extensions/serverside/InstagramServerside.js.map +1 -1
  42. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.js +1 -1
  43. package/dist/src/fields/TiptapEditor/extensions/serverside/LinkedinServerside.js.map +1 -1
  44. package/dist/src/fields/TiptapEditor/extensions/serverside/RenderEmbedClientSide.js +1 -1
  45. package/dist/src/fields/TiptapEditor/extensions/serverside/RenderEmbedClientSide.js.map +1 -1
  46. package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.js +1 -1
  47. package/dist/src/fields/TiptapEditor/extensions/serverside/TiktokServerside.js.map +1 -1
  48. package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.js +1 -1
  49. package/dist/src/fields/TiptapEditor/extensions/serverside/TwitterBlockServerside.js.map +1 -1
  50. package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.js +1 -1
  51. package/dist/src/fields/TiptapEditor/extensions/serverside/YouTubeServerside.js.map +1 -1
  52. package/dist/src/fonts/font.ar.js +22 -0
  53. package/dist/src/fonts/font.ar.js.map +1 -0
  54. package/dist/src/fonts/font.en.js +147 -0
  55. package/dist/src/fonts/font.en.js.map +1 -0
  56. package/dist/src/fonts/font.fa.js +23 -0
  57. package/dist/src/fonts/font.fa.js.map +1 -0
  58. package/dist/src/fonts/font.ps.js +23 -0
  59. package/dist/src/fonts/font.ps.js.map +1 -0
  60. package/dist/src/fonts/font.ur.js +23 -0
  61. package/dist/src/fonts/font.ur.js.map +1 -0
  62. package/dist/src/fonts/fonts/arima/Arima-Bold.ttf +0 -0
  63. package/dist/src/fonts/fonts/arima/Arima-ExtraLight.ttf +0 -0
  64. package/dist/src/fonts/fonts/arima/Arima-Light.ttf +0 -0
  65. package/dist/src/fonts/fonts/arima/Arima-Medium.ttf +0 -0
  66. package/dist/src/fonts/fonts/arima/Arima-Regular.ttf +0 -0
  67. package/dist/src/fonts/fonts/arima/Arima-SemiBold.ttf +0 -0
  68. package/dist/src/fonts/fonts/arima/Arima-Thin.ttf +0 -0
  69. package/dist/src/fonts/fonts/libre/LibreBodoni-Bold.ttf +0 -0
  70. package/dist/src/fonts/fonts/libre/LibreBodoni-BoldItalic.ttf +0 -0
  71. package/dist/src/fonts/fonts/libre/LibreBodoni-Italic.ttf +0 -0
  72. package/dist/src/fonts/fonts/libre/LibreBodoni-Medium.ttf +0 -0
  73. package/dist/src/fonts/fonts/libre/LibreBodoni-MediumItalic.ttf +0 -0
  74. package/dist/src/fonts/fonts/libre/LibreBodoni-Regular.ttf +0 -0
  75. package/dist/src/fonts/fonts/libre/LibreBodoni-SemiBold.ttf +0 -0
  76. package/dist/src/fonts/fonts/libre/LibreBodoni-SemiBoldItalic.ttf +0 -0
  77. package/dist/src/fonts/fonts/notoserif/NotoSerif-Bold.ttf +0 -0
  78. package/dist/src/fonts/fonts/notoserif/NotoSerif-BoldItalic.ttf +0 -0
  79. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraBold.ttf +0 -0
  80. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraBoldItalic.ttf +0 -0
  81. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraLight.ttf +0 -0
  82. package/dist/src/fonts/fonts/notoserif/NotoSerif-ExtraLightItalic.ttf +0 -0
  83. package/dist/src/fonts/fonts/notoserif/NotoSerif-Italic.ttf +0 -0
  84. package/dist/src/fonts/fonts/notoserif/NotoSerif-Light.ttf +0 -0
  85. package/dist/src/fonts/fonts/notoserif/NotoSerif-LightItalic.ttf +0 -0
  86. package/dist/src/fonts/fonts/notoserif/NotoSerif-Medium.ttf +0 -0
  87. package/dist/src/fonts/fonts/notoserif/NotoSerif-MediumItalic.ttf +0 -0
  88. package/dist/src/fonts/fonts/notoserif/NotoSerif-Regular.ttf +0 -0
  89. package/dist/src/fonts/fonts/notoserif/NotoSerif-SemiBold.ttf +0 -0
  90. package/dist/src/fonts/fonts/notoserif/NotoSerif-SemiBoldItalic.ttf +0 -0
  91. package/dist/src/fonts/fonts/notoserif/NotoSerif-Thin.ttf +0 -0
  92. package/dist/src/fonts/fonts/notoserif/NotoSerif-ThinItalic.ttf +0 -0
  93. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Black.ttf +0 -0
  94. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-BlackItalic.ttf +0 -0
  95. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Bold.ttf +0 -0
  96. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-BoldItalic.ttf +0 -0
  97. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-ExtraBold.ttf +0 -0
  98. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-ExtraBoldItalic.ttf +0 -0
  99. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Italic.ttf +0 -0
  100. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Medium.ttf +0 -0
  101. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-MediumItalic.ttf +0 -0
  102. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-Regular.ttf +0 -0
  103. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-SemiBold.ttf +0 -0
  104. package/dist/src/fonts/fonts/playfair/PlayfairDisplay-SemiBoldItalic.ttf +0 -0
  105. package/dist/src/fonts/fonts/sf/sf-pro-display-black.woff2 +0 -0
  106. package/dist/src/fonts/fonts/sf/sf-pro-display-blackitalic.woff2 +0 -0
  107. package/dist/src/fonts/fonts/sf/sf-pro-display-bold.woff2 +0 -0
  108. package/dist/src/fonts/fonts/sf/sf-pro-display-bolditalic.woff2 +0 -0
  109. package/dist/src/fonts/fonts/sf/sf-pro-display-heavy.woff2 +0 -0
  110. package/dist/src/fonts/fonts/sf/sf-pro-display-heavyitalic.woff2 +0 -0
  111. package/dist/src/fonts/fonts/sf/sf-pro-display-light.woff2 +0 -0
  112. package/dist/src/fonts/fonts/sf/sf-pro-display-lightitalic.woff2 +0 -0
  113. package/dist/src/fonts/fonts/sf/sf-pro-display-medium.woff2 +0 -0
  114. package/dist/src/fonts/fonts/sf/sf-pro-display-mediumitalic.woff2 +0 -0
  115. package/dist/src/fonts/fonts/sf/sf-pro-display-regular.woff2 +0 -0
  116. package/dist/src/fonts/fonts/sf/sf-pro-display-regularitalic.woff2 +0 -0
  117. package/dist/src/fonts/fonts/sf/sf-pro-display-semibold.woff2 +0 -0
  118. package/dist/src/fonts/fonts/sf/sf-pro-display-semibolditalic.woff2 +0 -0
  119. package/dist/src/fonts/fonts/sf/sf-pro-display-thin.woff2 +0 -0
  120. package/dist/src/fonts/fonts/sf/sf-pro-display-thinitalic.woff2 +0 -0
  121. package/dist/src/fonts/fonts/sf/sf-pro-display-ultralight.woff2 +0 -0
  122. package/dist/src/fonts/fonts/sf/sf-pro-display-ultralightitalic.woff2 +0 -0
  123. package/dist/src/fonts/fonts/trt/TRT-Bold.woff2 +0 -0
  124. package/dist/src/fonts/fonts/trt/TRT-BoldItalic.woff2 +0 -0
  125. package/dist/src/fonts/fonts/trt/TRT-Light.woff2 +0 -0
  126. package/dist/src/fonts/fonts/trt/TRT-LightItalic.woff2 +0 -0
  127. package/dist/src/fonts/fonts/trt/TRT-Medium.woff2 +0 -0
  128. package/dist/src/fonts/fonts/trt/TRT-MediumItalic.woff2 +0 -0
  129. package/dist/src/fonts/fonts/trt/TRT-Regular.woff2 +0 -0
  130. package/dist/src/fonts/fonts/trt/TRT-RegularItalic.woff2 +0 -0
  131. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Black.ttf +0 -0
  132. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Bold.ttf +0 -0
  133. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-ExtraBold.ttf +0 -0
  134. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-ExtraLight.ttf +0 -0
  135. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Light.ttf +0 -0
  136. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Medium.ttf +0 -0
  137. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Regular.ttf +0 -0
  138. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-SemiBold.ttf +0 -0
  139. package/dist/src/fonts/fonts/vazirmatn/Vazirmatn-Thin.ttf +0 -0
  140. package/dist/src/globals.css +1 -0
  141. package/dist/src/index.d.ts +1 -1
  142. package/dist/src/index.d.ts.map +1 -1
  143. package/dist/src/index.js +1 -1
  144. package/dist/src/index.js.map +1 -1
  145. package/dist/src/styles.css +1 -3213
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +6 -3
  148. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.d.ts +0 -10
  149. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.d.ts.map +0 -1
  150. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js +0 -55
  151. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js.map +0 -1
  152. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.d.ts +0 -2
  153. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.d.ts.map +0 -1
  154. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js +0 -3
  155. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js.map +0 -1
  156. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.d.ts +0 -4
  157. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.d.ts.map +0 -1
  158. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.js +0 -148
  159. package/dist/src/fields/TiptapEditor/extensions/serverside/ContentEmbedSupport.js.map +0 -1
  160. package/dist/src/fields/TiptapEditor/extensions/serverside/useAppendIdToClientsideBlocks.d.ts +0 -2
  161. package/dist/src/fields/TiptapEditor/extensions/serverside/useAppendIdToClientsideBlocks.d.ts.map +0 -1
  162. package/dist/src/fields/TiptapEditor/extensions/serverside/useAppendIdToClientsideBlocks.js +0 -35
  163. package/dist/src/fields/TiptapEditor/extensions/serverside/useAppendIdToClientsideBlocks.js.map +0 -1
  164. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.d.ts +0 -8
  165. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.d.ts.map +0 -1
  166. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js +0 -32
  167. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js.map +0 -1
  168. package/dist/src/fields/TiptapEditor/features/Sidebar/index.d.ts +0 -2
  169. package/dist/src/fields/TiptapEditor/features/Sidebar/index.d.ts.map +0 -1
  170. package/dist/src/fields/TiptapEditor/features/Sidebar/index.js +0 -3
  171. package/dist/src/fields/TiptapEditor/features/Sidebar/index.js.map +0 -1
  172. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.d.ts +0 -8
  173. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.d.ts.map +0 -1
  174. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js +0 -57
  175. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js.map +0 -1
  176. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.d.ts +0 -2
  177. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.d.ts.map +0 -1
  178. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js +0 -3
  179. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js.map +0 -1
  180. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/tiptap.schema.d.ts +0 -847
  181. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/tiptap.schema.d.ts.map +0 -1
  182. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/tiptap.schema.js +0 -88
  183. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/tiptap.schema.js.map +0 -1
@@ -0,0 +1 @@
1
+ .spinner-animation{animation:spinner 1.6s linear infinite;animation-delay:-1.6s}.spinner-animation-secondary{animation-delay:-1s}@keyframes spinner{12.5%{x:13px;y:1px}25%{x:13px;y:1px}37.5%{x:13px;y:13px}50%{x:13px;y:13px}62.5%{x:1px;y:13px}75%{x:1px;y:13px}87.5%{x:1px;y:1px}}.ProseMirror{figure[data-type=imageBlock]{margin:0}figure[data-type=imageBlock]{img{display:block;width:100%;border-radius:.25rem}}div[data-link-preview]{img{display:block;width:120px;border-radius:.25rem;-o-object-fit:cover;object-fit:cover}}figure[data-type=blockquoteFigure]{position:relative;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){figure[data-type=blockquoteFigure]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}}@media (min-width:1240px){figure[data-type=blockquoteFigure]{display:block;width:auto;padding-inline-end:0}}figure[data-type=blockquoteFigure]{figcaption{font-size:14px;line-height:20px;font-weight:400;font-style:normal;line-height:32px;--tw-text-opacity:1;color:rgb(146 147 147/var(--tw-text-opacity,1))}@media (min-width:1240px){>div{left:100%;top:0}}@media (min-width:1240px){>div:where([dir=rtl],[dir=rtl] *){left:auto}}@media (min-width:1240px){>div:where([dir=rtl],[dir=rtl] *){right:100%}}@media (min-width:1240px){>div:where([dir=rtl],[dir=rtl] *){margin-right:32px}}>div{border-radius:5px;border-width:1px;--tw-border-opacity:1;border-color:rgb(219 219 219/var(--tw-border-opacity,1));padding-top:40px;padding-bottom:40px;text-align:center}>div:before{display:block;font-family:var(--font-libre);font-size:30px;line-height:36px;line-height:30px;--tw-text-opacity:1;color:rgb(31 33 33/var(--tw-text-opacity,1));--tw-content:"“";content:var(--tw-content)}>div{blockquote,blockquote *{font-family:var(--font-libre);font-size:24px;line-height:32px;font-weight:500;line-height:33px;--tw-text-opacity:1;color:rgb(31 33 33/var(--tw-text-opacity,1))}}}&>blockquote,[data-type=blockquoteFigure]{margin-bottom:16px}&>blockquote,[data-type=blockquoteFigure]{blockquote{margin:0}blockquote{&>:first-child{margin-top:0}&>:last-child{margin-bottom:0}}}[data-type=columns]{margin-top:56px;margin-bottom:48px;display:grid;gap:16px}[data-type=columns]{&.layout-sidebar-left{grid-template-columns:40fr 60fr}&.layout-sidebar-right{grid-template-columns:60fr 40fr}&.layout-two-column{grid-template-columns:1fr 1fr}}[data-type=column]{overflow:auto}code{border-radius:.125rem;--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));caret-color:#fff;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}pre{margin-top:48px;margin-bottom:48px;border-radius:.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1));padding:16px;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));caret-color:#fff}@media (prefers-color-scheme:dark){pre{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity,1))}}pre{code{background-color:inherit;padding:0;color:inherit;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hljs-comment,.hljs-quote{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.hljs-attribute,.hljs-link,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hljs-built_in,.hljs-builtin-name,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.hljs-bullet,.hljs-string,.hljs-symbol{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity,1))}.hljs-section,.hljs-title{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.hljs-keyword,.hljs-selector-tag{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}}.collaboration-cursor{&__caret{pointer-events:none;position:relative;margin-left:-1px;margin-right:-1px;overflow-wrap:normal;word-break:normal;border-right-width:1px;border-left-width:1px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}&__label{position:absolute;left:-1px;top:-1.4em;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;border-radius:.25rem;border-top-left-radius:0;padding-top:2px;padding-bottom:2px;padding-left:6px;padding-right:6px;font-size:12px;line-height:16px;font-weight:600;line-height:1;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}}ol{list-style-type:decimal}ul{list-style-type:disc}ol,ul{margin-top:24px;margin-bottom:24px;padding-top:0;padding-bottom:0}ol:first-child,ul:first-child{margin-top:0}ol:last-child,ul:last-child{margin-bottom:0}ol,ul{li,ol,ul{margin-top:4px;margin-bottom:4px}p{margin-top:0;margin-bottom:4px}}&>ol,&>ul{margin-top:32px;margin-bottom:32px;margin-inline-start:20px}&>ol:first-child,&>ul:first-child{margin-top:0}&>ol:last-child,&>ul:last-child{margin-bottom:0}ul[data-type=taskList]{list-style-type:none;padding:0}ul[data-type=taskList]{p{margin:0}li{display:flex}li{>label{margin-top:4px;margin-right:8px;flex:1 1 auto;flex-shrink:0;flex-grow:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}>div{flex:1 1 auto}&[data-checked=true]{text-decoration-line:line-through}}}.is-empty:before{pointer-events:none;float:left;height:0;width:100%;color:rgba(0,0,0,.4)}@media (prefers-color-scheme:dark){.is-empty:before{color:hsla(0,0%,100%,.4)}}.is-empty.react-renderer:before{content:""}&.ProseMirror-focused{>[data-type=columns]>[data-type=column]>p.is-empty.has-focus:before,>p.has-focus.is-empty:before{content:'Write something, or press " space " for AI, "/" for commands...'}>[dir=rtl]>p.has-focus.is-empty:before{text-align:right}}&>.is-editor-empty:before{content:"Click here to start writing …"}blockquote .is-empty:not(.is-editor-empty):first-child:last-child:before{content:"Enter a quote"}blockquote+figcaption.is-empty:not(.is-editor-empty):before{content:"Author"}[data-placeholder][data-suggestion] :before,[data-placeholder][data-suggestion]:before{content:none!important}}.ProseMirror:lang(en){.is-empty:before{content:"Click here to start writing …"}&:lang(ar)>p.has-focus.is-empty:before{content:'Write something, or press " space " for AI, "/" for commands...'}}.ProseMirror:lang(ar){.is-empty:before{content:"انقر هنا للبدء في الكتابة…"}&:lang(ar)>p.has-focus.is-empty:before{content:"اكتب / لاستعراض الخيارات"}}.ProseMirror:lang(fa){.is-empty:before{content:"برای شروع نوشتن اینجا کلیک کنید…"}&:lang(ar)>p.has-focus.is-empty:before{content:"برای مرور گزینه ها، / را تایپ کنید"}}.ProseMirror:lang(fr){.is-empty:before{content:"Cliquez ici pour commencer à écrire…"}&:lang(ar)>p.has-focus.is-empty:before{content:"Tapez / pour parcourir les options"}}.ProseMirror:lang(es){.is-empty:before{content:"Haz clic aquí para empezar a escribir…"}>p.has-focus.is-empty:before{content:"Escriba / para buscar opciones"}}.ProseMirror:lang(ru){.is-empty:before{content:"Нажмите здесь, чтобы начать писать…"}>p.has-focus.is-empty:before{content:"Введите / для просмотра вариантов"}}.ProseMirror:lang(tr){.is-empty:before{content:"Seçenekleri göz atmak için / yazın…"}>p.has-focus.is-empty:before{content:"Seçenekleri gözden geçirmek için / tuşlayın"}}.ProseMirror:lang(de){.is-empty:before{content:"Klicken Sie hier, um mit dem Schreiben zu beginnen…"}>p.has-focus.is-empty:before{content:"Tippen Sie / ein, um Optionen zu durchsuchen"}}.ProseMirror{.tableWrapper{margin-top:48px;margin-bottom:48px}table{box-sizing:border-box;width:100%;border-collapse:collapse;border-radius:.25rem;border-color:rgba(0,0,0,.1)}@media (prefers-color-scheme:dark){table{border-color:hsla(0,0%,100%,.2)}}table{td,th{position:relative;min-width:100px;border-width:1px;border-color:rgba(0,0,0,.1);padding:8px;text-align:left;vertical-align:top}@media (prefers-color-scheme:dark){td,th{border-color:hsla(0,0%,100%,.2)}}td,th{&:first-of-type:not(a){margin-top:0}p{margin:0}p{&+p{margin-top:12px}}}th{font-weight:700}.column-resize-handle{pointer-events:none;position:absolute;bottom:-2px;right:-4px;top:0;display:flex;width:8px}.column-resize-handle{&:before{margin-left:8px;height:100%;width:1px;background-color:rgba(0,0,0,.2)}@media (prefers-color-scheme:dark){&:before{background-color:hsla(0,0%,100%,.2)}}&:before{content:""}}.selectedCell{border-style:double;border-color:rgba(0,0,0,.2);background-color:rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){.selectedCell{border-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.1)}}.grip-column,.grip-row{position:absolute;z-index:10;display:flex;cursor:pointer;align-items:center;justify-content:center;background-color:rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){.grip-column,.grip-row{background-color:hsla(0,0%,100%,.1)}}.grip-column{left:0;top:-12px;margin-left:-1px;height:12px;width:calc(100% + 1px);border-left-width:1px;border-color:rgba(0,0,0,.2)}@media (prefers-color-scheme:dark){.grip-column{border-color:hsla(0,0%,100%,.2)}}.grip-column{&.selected,&:hover{&:before{content:"";width:10px}}&:hover{background-color:rgba(0,0,0,.1)}@media (prefers-color-scheme:dark){&:hover{background-color:hsla(0,0%,100%,.2)}}&:hover{&:before{border-bottom-width:2px;border-style:dotted;border-color:rgba(0,0,0,.6)}@media (prefers-color-scheme:dark){&:before{border-color:hsla(0,0%,100%,.6)}}}&.first{border-top-left-radius:.125rem;border-color:transparent}&.last{border-top-right-radius:.125rem}&.selected{border-color:rgba(0,0,0,.3);background-color:rgba(0,0,0,.3);--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){&.selected{border-color:hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.3)}}&.selected{&:before{border-bottom-width:2px;border-style:dotted}}}.grip-row{left:-12px;top:0;margin-top:-1px;height:calc(100% + 1px);width:12px;border-top-width:1px;border-color:rgba(0,0,0,.2)}@media (prefers-color-scheme:dark){.grip-row{border-color:hsla(0,0%,100%,.2)}}.grip-row{&.selected,&:hover{&:before{height:10px;content:""}}&:hover{background-color:rgba(0,0,0,.1)}@media (prefers-color-scheme:dark){&:hover{background-color:hsla(0,0%,100%,.2)}}&:hover{&:before{border-left-width:2px;border-style:dotted;border-color:rgba(0,0,0,.6)}@media (prefers-color-scheme:dark){&:before{border-color:hsla(0,0%,100%,.6)}}}&.first{border-top-left-radius:.125rem;border-color:transparent}&.last{border-bottom-left-radius:.125rem}&.selected{border-color:rgba(0,0,0,.3);background-color:rgba(0,0,0,.3);--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){&.selected{border-color:hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.3)}}&.selected{&:before{border-left-width:2px;border-style:dotted}}}}p:not(:empty){padding-bottom:24px;line-height:1.625}h1{font-size:30px;line-height:36px}h2{font-size:24px;line-height:32px}h3{font-size:20px}h3,h4{line-height:28px}h4{font-size:18px}h5{font-size:16px;line-height:24px}h6{font-size:14px;line-height:20px}h1,h2,h3,h4,h5,h6{font-weight:700}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child{margin-bottom:0}h1,h2,h3{margin-top:48px}h4,h5,h6{margin-top:32px}a.link{font-weight:700;--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1));text-decoration-line:underline;text-decoration-style:solid;text-underline-offset:auto}@media (prefers-color-scheme:dark){a.link{--tw-text-opacity:1;color:rgb(31 33 33/var(--tw-text-opacity,1))}}mark{border-radius:.125rem;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1));-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:4px;padding-bottom:4px;padding-left:0;padding-right:0;color:inherit}@media (prefers-color-scheme:dark){mark{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}}& img{position:relative;height:auto;width:100%;max-width:100%}[data-type=horizontalRule]{margin-top:32px;margin-bottom:32px;cursor:pointer;padding-top:16px;padding-bottom:16px;transition-property:all;transition-duration:.15s;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1)}[data-type=horizontalRule]{&.ProseMirror-selectednode{background-color:rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){&.ProseMirror-selectednode{background-color:hsla(0,0%,100%,.1)}}&.ProseMirror-selectednode{hr{border-top-color:rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){hr{border-top-color:hsla(0,0%,100%,.3)}}}&:hover:not(&.ProseMirror-selectednode){background-color:rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){&:hover:not(&.ProseMirror-selectednode){background-color:hsla(0,0%,100%,.1)}}hr{border-width:0;border-top-width:1px;border-color:rgba(0,0,0,.2);background-color:rgba(0,0,0,.8)}@media (prefers-color-scheme:dark){hr{border-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.8)}}}.ProseMirror h1[dir=rtl],.ProseMirror h2[dir=rtl],.ProseMirror h3[dir=rtl],.ProseMirror h4[dir=rtl],.ProseMirror h5[dir=rtl],.ProseMirror h6[dir=rtl],.ProseMirror p[dir=rtl]{text-align:right}.ProseMirror h1[dir=ltr],.ProseMirror h2[dir=ltr],.ProseMirror h3[dir=ltr],.ProseMirror h4[dir=ltr],.ProseMirror h5[dir=ltr],.ProseMirror h6[dir=ltr],.ProseMirror p[dir=ltr]{text-align:left}}.ProseMirror h1[textalign=justify],.ProseMirror h2[textalign=justify],.ProseMirror h3[textalign=justify],.ProseMirror h4[textalign=justify],.ProseMirror h5[textalign=justify],.ProseMirror h6[textalign=justify],.ProseMirror p[textalign=justify]{text-align:justify!important}.ProseMirror h1[textalign=right],.ProseMirror h2[textalign=right],.ProseMirror h3[textalign=right],.ProseMirror h4[textalign=right],.ProseMirror h5[textalign=right],.ProseMirror h6[textalign=right],.ProseMirror p[textAlign=right]{text-align:right!important}.ProseMirror h1[textalign=left],.ProseMirror h2[textalign=left],.ProseMirror h3[textalign=left],.ProseMirror h4[textalign=left],.ProseMirror h5[textalign=left],.ProseMirror h6[textalign=left],.ProseMirror p[textAlign=left]{text-align:left!important}.ProseMirror{& .fb-post,& .rsme-embed,& .youtube-iframe,& .youtube-iframe iframe{width:100%!important}& .rsme-twitter-embed{width:100%!important;height:auto!important}& .rsme-embed iframe,& .rsme-twitter-embed iframe{width:100%!important}z-index:0;padding-left:0;caret-color:#000;outline-width:0}@media (prefers-color-scheme:dark){.ProseMirror{caret-color:#fff}}.ProseMirror{.image-wrapper{padding-top:20px;padding-bottom:20px}.image-wrapper{caption{font-size:14px;line-height:20px;font-weight:300;--tw-text-opacity:1;color:rgb(146 147 147/var(--tw-text-opacity,1))}}&>iframe{display:block}.selection{display:inline}@media (min-width:884px){p:has(+.inline-facebook),p:has(+.inline-instagram),p:has(+.inline-linkedin),p:has(+.inline-tiktok),p:has(+.inline-twitter),p:has(+.inline-youtube),p:has(+.side-facebook),p:has(+.side-instagram),p:has(+.side-linkedin),p:has(+.side-tiktok),p:has(+.side-twitter),p:has(+.side-youtube),p:has(+figure[data-type=blockquoteFigure]){display:inline-block}}@media (min-width:884px){p:has(+.inline-facebook),p:has(+.inline-instagram),p:has(+.inline-linkedin),p:has(+.inline-tiktok),p:has(+.inline-twitter),p:has(+.inline-youtube),p:has(+.side-facebook),p:has(+.side-instagram),p:has(+.side-linkedin),p:has(+.side-tiktok),p:has(+.side-twitter),p:has(+.side-youtube),p:has(+figure[data-type=blockquoteFigure]){padding-inline-end:16px}}@media (min-width:884px){p:has(+.inline-facebook),p:has(+.inline-instagram),p:has(+.inline-linkedin),p:has(+.inline-tiktok),p:has(+.inline-twitter),p:has(+.inline-youtube),p:has(+.side-facebook),p:has(+.side-instagram),p:has(+.side-linkedin),p:has(+.side-tiktok),p:has(+.side-twitter),p:has(+.side-youtube),p:has(+figure[data-type=blockquoteFigure]){vertical-align:top}}@media (min-width:1240px){p:has(+.inline-facebook),p:has(+.inline-instagram),p:has(+.inline-linkedin),p:has(+.inline-tiktok),p:has(+.inline-twitter),p:has(+.inline-youtube),p:has(+.side-facebook),p:has(+.side-instagram),p:has(+.side-linkedin),p:has(+.side-tiktok),p:has(+.side-twitter),p:has(+.side-youtube),p:has(+figure[data-type=blockquoteFigure]){display:block}}@media (min-width:1240px){p:has(+.inline-facebook),p:has(+.inline-instagram),p:has(+.inline-linkedin),p:has(+.inline-tiktok),p:has(+.inline-twitter),p:has(+.inline-youtube),p:has(+.side-facebook),p:has(+.side-instagram),p:has(+.side-linkedin),p:has(+.side-tiktok),p:has(+.side-twitter),p:has(+.side-youtube),p:has(+figure[data-type=blockquoteFigure]){width:auto}}@media (min-width:1240px){p:has(+.inline-facebook),p:has(+.inline-instagram),p:has(+.inline-linkedin),p:has(+.inline-tiktok),p:has(+.inline-twitter),p:has(+.inline-youtube),p:has(+.side-facebook),p:has(+.side-instagram),p:has(+.side-linkedin),p:has(+.side-tiktok),p:has(+.side-twitter),p:has(+.side-youtube),p:has(+figure[data-type=blockquoteFigure]){padding-inline-end:0}}&>.react-renderer{margin-top:32px;margin-bottom:32px;display:block;padding-bottom:24px}&>.react-renderer:first-child{margin-top:0}&>.react-renderer:last-child{margin-bottom:0}@media (min-width:884px){&>.react-renderer{margin-top:0;margin-bottom:0}}&>.react-renderer{&.inline-facebook,&.inline-instagram,&.inline-linkedin,&.inline-tiktok,&.inline-twitter,&.inline-youtube,&.side-facebook,&.side-instagram,&.side-linkedin,&.side-tiktok,&.side-twitter,&.side-youtube{position:relative}&.side-facebook,&.side-instagram,&.side-linkedin,&.side-tiktok,&.side-twitter,&.side-youtube{.socialMediaContainer{white-space:normal!important}@media (min-width:1240px){.socialMediaContainer{top:0}}@media (min-width:1240px){.socialMediaContainer:where([dir=rtl],[dir=rtl] *){left:auto}}@media (min-width:1240px){.socialMediaContainer:where([dir=rtl],[dir=rtl] *){right:100%}}@media (min-width:1240px){.socialMediaContainer:where([dir=rtl],[dir=rtl] *){margin-left:0}}.socialMediaContainer{.fb-post,>div .rsme-embed{width:100%!important;max-width:100%!important}}}&.inline-youtube,&.side-youtube{iframe{aspect-ratio:16/9;height:auto;width:100%;max-width:100%}}&.inline-facebook,&.inline-instagram,&.inline-linkedin,&.inline-tiktok,&.inline-twitter,&.inline-youtube{.socialMediaContainer{.fb-post,.instagram-media,.rsme-embed,.twitter-tweet,>div{width:100%!important;max-width:100%!important}}}}&.resize-cursor{cursor:col-resize}.ProseMirror-gapcursor{position:relative;margin-left:auto;margin-right:auto;width:100%}.ProseMirror-gapcursor{&:after{top:-1.5em;left:0;right:0;margin-left:auto;margin-right:auto;width:100%;border-top-color:rgba(0,0,0,.4)}@media (prefers-color-scheme:dark){&:after{border-top-color:hsla(0,0%,100%,.4)}}}.vjs-play-progress{border-radius:.125rem;--tw-bg-opacity:1;background-color:rgb(0 143 179/var(--tw-bg-opacity,1));opacity:1}.vjs-play-progress{&:before{display:none}}.video-js .vjs-poster,.video-js.vjs-has-started .vjs-tech{position:relative;height:calc(100vh - 108px);-o-object-fit:contain;object-fit:contain}@media (min-width:1240px){.video-js .vjs-poster,.video-js.vjs-has-started .vjs-tech{height:calc(100vh - 138px)}}@media (min-width:1584px){.video-js .vjs-poster,.video-js.vjs-has-started .vjs-tech{height:calc(100vh - 138px)}}.vjs_video_3-dimensions.vjs-fluid:not(.vjs-audio-only-mode){padding:0!important}}[data-theme=slash-command]{width:1000vw}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.accordion-item>h3{margin-bottom:0}.collabsible-p-2-5>button{padding:10px}.react-select .rs__control{padding-top:0;padding-bottom:0}.collapsible__header-wrap p{margin-bottom:0;font-size:12px;line-height:16px}.collapsible__actions-wrap{top:.4rem!important;right:.4rem!important}.collapsible__content{padding:.75rem .5rem!important}.collapsible__toggle{padding:.5rem!important;border-radius:.25rem!important;cursor:pointer!important}.collapsible__header-wrap{padding-left:.75rem!important;padding-top:.4rem!important}.collapsible__header-wrap:dir(rtl){left:unset;right:20px}.relationship-selector .collapsible__header-wrap{padding-top:.75rem!important;padding-bottom:.75rem!important}.collapsible__toggle-wrap{display:flex!important;height:38px!important}.collapsible-max-150 .collapsible__content{max-height:150px;overflow-y:auto}.input-default{height:auto;width:100%;align-items:center;justify-content:center;border-width:1px;--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1));background-color:transparent;padding:10px}.input-default::-moz-placeholder{display:flex;align-items:center;justify-content:center}.input-default::placeholder{display:flex;align-items:center;justify-content:center}.input-default-label{margin-bottom:4px;font-size:12px;line-height:16px;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.max-h-100vh-60{max-height:calc(100vh - 60px)}div[aria-roledescription=carousel]>div{height:100%}.asset-hq__modal{overflow:hidden}.asset-hq__modal>div{height:100%;width:100%;overflow:scroll}.asset-hq-infinitehits .ais-InfiniteHits-loadMore,.asset-hq-refinementlist .ais-RefinementList-showMore{display:none}.asset-hq-infinitehits ol{padding:0}.asset-hq-current-refinements .ais-CurrentRefinements-list{margin-bottom:0}.asset-hq-current-refinements .ais-CurrentRefinements-list .ais-CurrentRefinements-item{align-items:center}.icon-button{display:flex;height:24px;width:24px;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;padding:4px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.icon-button:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.payload__modal-container{z-index:51!important}.card{display:flex;flex-direction:column;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:20px}.unset-pointer-events{pointer-events:unset!important}.skeleton{display:inline-block;height:1em;position:relative;overflow:hidden;background-color:#dddbdd;&:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);background-image:linear-gradient(90deg,rgba(#fff,0),rgba(#fff,.2) 20%,rgba(#fff,.5) 60%,rgba(#fff,0));animation:shimmer 2s infinite;content:""}@keyframes shimmer{to{transform:translateX(100%)}}}
@@ -0,0 +1,8 @@
1
+ type Props = {
2
+ body: any;
3
+ wrapperClassName?: string;
4
+ articleClassName?: string;
5
+ };
6
+ export declare const ArticleBody: import("react").MemoExoticComponent<({ body, wrapperClassName, articleClassName }: Props) => import("react").JSX.Element>;
7
+ export {};
8
+ //# sourceMappingURL=ArticleBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleBody.d.ts","sourceRoot":"","sources":["../../../src/body/ArticleBody.tsx"],"names":[],"mappings":"AAaA,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,GAAG,CAAC;IACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AACF,eAAO,MAAM,WAAW,qFACyB,KAAK,iCA2BrD,CAAC"}
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo } from 'react';
4
+ // import './article-custom.scss';
5
+ import { appendRequiredBlocksMarkerClient } from '../fields/TiptapEditor/extensions/serverside/useAppendRequiredBlocksMarkerClient.js';
6
+ import { ServersideTiptapBody } from '../fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js';
7
+ import { EmbedContentInlineRenderer } from '../fields/TiptapEditor/extensions/serverside/EmbedContentInlineRenderer.js';
8
+ import { cn } from '../fields/TiptapEditor/lib/utils/index.js';
9
+ const TRT_ARTICLE_BODY_ID = 'TRT-ARTICLE-BODY-ID';
10
+ export const ArticleBody = /*#__PURE__*/ memo(({ body, wrapperClassName, articleClassName })=>{
11
+ const json = appendRequiredBlocksMarkerClient(body);
12
+ if (!json) return null;
13
+ return /*#__PURE__*/ _jsxs("div", {
14
+ className: cn('text-grey-12 lg:grid trt-article-body-wrapper trt-article-page-wrapper w-full', wrapperClassName),
15
+ children: [
16
+ /*#__PURE__*/ _jsx("div", {}),
17
+ /*#__PURE__*/ _jsx("div", {
18
+ id: TRT_ARTICLE_BODY_ID,
19
+ className: "w-full flex flex-col",
20
+ children: /*#__PURE__*/ _jsx("div", {
21
+ className: cn('!selection:text-purple-900 font-notosans lg:text-xl lg:leading-8 md:text-lg md:leading-[30px] text-base', articleClassName),
22
+ children: /*#__PURE__*/ _jsx(ServersideTiptapBody, {
23
+ body: json
24
+ })
25
+ })
26
+ }),
27
+ /*#__PURE__*/ _jsx(EmbedContentInlineRenderer, {
28
+ body: json
29
+ })
30
+ ]
31
+ });
32
+ }, (prev, next)=>prev.body?.content?.length === next.body?.content?.length);
33
+
34
+ //# sourceMappingURL=ArticleBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/body/ArticleBody.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { memo } from 'react';\r\n// import './article-custom.scss';\r\n\r\n\r\nimport { appendRequiredBlocksMarkerClient } from '../fields/TiptapEditor/extensions/serverside/useAppendRequiredBlocksMarkerClient.js';\r\nimport { ServersideTiptapBody } from '../fields/TiptapEditor/extensions/serverside/ServersideTiptapBody.js';\r\nimport { EmbedContentInlineRenderer } from '../fields/TiptapEditor/extensions/serverside/EmbedContentInlineRenderer.js';\r\nimport { cn } from '../fields/TiptapEditor/lib/utils/index.js';\r\n\r\nconst TRT_ARTICLE_BODY_ID = 'TRT-ARTICLE-BODY-ID';\r\n\r\ntype Props = {\r\n body: any;\r\n wrapperClassName?: string;\r\n articleClassName?: string;\r\n};\r\nexport const ArticleBody = memo(\r\n ({ body, wrapperClassName, articleClassName }: Props) => {\r\n const json = appendRequiredBlocksMarkerClient(body);\r\n if (!json) return null;\r\n return (\r\n <div\r\n className={cn(\r\n 'text-grey-12 lg:grid trt-article-body-wrapper trt-article-page-wrapper w-full',\r\n wrapperClassName,\r\n )}\r\n >\r\n <div />\r\n <div id={TRT_ARTICLE_BODY_ID} className=\"w-full flex flex-col\">\r\n\r\n <div\r\n className={cn(\r\n '!selection:text-purple-900 font-notosans lg:text-xl lg:leading-8 md:text-lg md:leading-[30px] text-base',\r\n articleClassName,\r\n )}\r\n >\r\n <ServersideTiptapBody body={json} />\r\n </div>\r\n </div>\r\n <EmbedContentInlineRenderer body={json} />\r\n </div>\r\n );\r\n },\r\n (prev, next) => prev.body?.content?.length === next.body?.content?.length,\r\n);\r\n"],"names":["memo","appendRequiredBlocksMarkerClient","ServersideTiptapBody","EmbedContentInlineRenderer","cn","TRT_ARTICLE_BODY_ID","ArticleBody","body","wrapperClassName","articleClassName","json","div","className","id","prev","next","content","length"],"mappings":"AAAA;;AAEA,SAASA,IAAI,QAAQ,QAAQ;AAC7B,kCAAkC;AAGlC,SAASC,gCAAgC,QAAQ,sFAAsF;AACvI,SAASC,oBAAoB,QAAQ,uEAAuE;AAC5G,SAASC,0BAA0B,QAAQ,6EAA6E;AACxH,SAASC,EAAE,QAAQ,4CAA4C;AAE/D,MAAMC,sBAAsB;AAO5B,OAAO,MAAMC,4BAAcN,KACzB,CAAC,EAAEO,IAAI,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAS;IAClD,MAAMC,OAAOT,iCAAiCM;IAC9C,IAAI,CAACG,MAAM,OAAO;IAClB,qBACE,MAACC;QACCC,WAAWR,GACT,iFACAI;;0BAGF,KAACG;0BACD,KAACA;gBAAIE,IAAIR;gBAAqBO,WAAU;0BAEtC,cAAA,KAACD;oBACCC,WAAWR,GACT,2GACAK;8BAGF,cAAA,KAACP;wBAAqBK,MAAMG;;;;0BAGhC,KAACP;gBAA2BI,MAAMG;;;;AAGxC,GACA,CAACI,MAAMC,OAASD,KAAKP,IAAI,EAAES,SAASC,WAAWF,KAAKR,IAAI,EAAES,SAASC,QACnE"}
@@ -0,0 +1,6 @@
1
+ export declare function isRTL(locale: string): boolean;
2
+ export declare const StandardArticle: ({ body, locale }: {
3
+ body: any;
4
+ locale: any;
5
+ }) => Promise<import("react").JSX.Element>;
6
+ //# sourceMappingURL=StandardArticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StandardArticle.d.ts","sourceRoot":"","sources":["../../../src/body/StandardArticle.tsx"],"names":[],"mappings":"AAQA,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,WAanC;AAkBD,eAAO,MAAM,eAAe;;;0CAsD3B,CAAA"}
@@ -0,0 +1,94 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import clsx from "clsx";
4
+ // import '../styles/globals.css';
5
+ import { ArticleBody } from "./ArticleBody.js";
6
+ // Font files can be colocated inside of `pages`
7
+ export function isRTL(locale) {
8
+ if (locale.startsWith('ar') || locale.startsWith('fa') || locale.startsWith('ur') || locale.startsWith('ps') || locale.startsWith('he') || locale.startsWith('ui')) {
9
+ return true;
10
+ }
11
+ return false;
12
+ }
13
+ import en from '../fonts/font.en.js';
14
+ import ar from '../fonts/font.ar.js';
15
+ import fa from '../fonts/font.fa.js';
16
+ import ur from '../fonts/font.ur.js';
17
+ import ps from '../fonts/font.ps.js';
18
+ const localFonts = {
19
+ en: en,
20
+ ar: ar,
21
+ fa: fa,
22
+ ur: ur,
23
+ ps: ps
24
+ };
25
+ // console.log("LCOA", localFonts)
26
+ export const StandardArticle = async ({ body, locale })=>{
27
+ const dir = isRTL(locale) ? 'rtl' : 'ltr';
28
+ let fonts;
29
+ try {
30
+ if ([
31
+ 'en',
32
+ 'ar',
33
+ 'fa',
34
+ 'ur',
35
+ 'ps'
36
+ ].includes(locale)) {
37
+ fonts = localFonts[locale];
38
+ } else {
39
+ fonts = localFonts?.en;
40
+ }
41
+ } catch {
42
+ fonts = localFonts?.en;
43
+ }
44
+ return /*#__PURE__*/ _jsxs("html", {
45
+ dir: dir,
46
+ lang: locale,
47
+ children: [
48
+ /*#__PURE__*/ _jsxs("head", {
49
+ children: [
50
+ /*#__PURE__*/ _jsx("script", {
51
+ src: "https://cdn.tailwindcss.com"
52
+ }),
53
+ /*#__PURE__*/ _jsx("link", {
54
+ href: "https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/globals.css",
55
+ rel: "stylesheet"
56
+ }),
57
+ /*#__PURE__*/ _jsx("link", {
58
+ href: "https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/article-custom.css",
59
+ rel: "stylesheet"
60
+ })
61
+ ]
62
+ }),
63
+ /*#__PURE__*/ _jsxs("body", {
64
+ className: clsx('w-full overflow-x-hidden'),
65
+ children: [
66
+ /*#__PURE__*/ _jsx("main", {
67
+ id: "article-standard-wrapper",
68
+ className: "min-h-fit xl:min-h-[100vh] pt-10 pb-6 md:pb-9 lg:pb-12 xl:pb-20",
69
+ children: /*#__PURE__*/ _jsx("div", {
70
+ className: "flex flex-col gap-6 md:gap-9 xl:gap-12 items-center mx-auto mt-8",
71
+ children: /*#__PURE__*/ _jsx("section", {
72
+ className: "w-full flex justify-center",
73
+ children: /*#__PURE__*/ _jsx("div", {
74
+ className: "w-full max-w-full",
75
+ children: /*#__PURE__*/ _jsx("div", {
76
+ className: "w-full flex flex-row justify-center gap-6 overflow-hidden pt-5",
77
+ children: /*#__PURE__*/ _jsx(ArticleBody, {
78
+ body: body
79
+ })
80
+ })
81
+ })
82
+ })
83
+ })
84
+ }),
85
+ /*#__PURE__*/ _jsx("script", {
86
+ src: "https://vjs.zencdn.net/8.16.1/video.min.js"
87
+ })
88
+ ]
89
+ })
90
+ ]
91
+ });
92
+ };
93
+
94
+ //# sourceMappingURL=StandardArticle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/body/StandardArticle.tsx"],"sourcesContent":["'use client'\nimport clsx from \"clsx\";\nimport { NextFontWithVariable } from \"next/dist/compiled/@next/font\";\n// import '../styles/globals.css';\nimport { ArticleBody } from \"./ArticleBody.js\";\n\n// Font files can be colocated inside of `pages`\n\nexport function isRTL(locale: string) {\n if (\n locale.startsWith('ar') ||\n locale.startsWith('fa') ||\n locale.startsWith('ur') ||\n locale.startsWith('ps') ||\n locale.startsWith('he') ||\n locale.startsWith('ui')\n ) {\n return true;\n }\n return false;\n\n}\n\nimport en from '../fonts/font.en.js'\nimport ar from '../fonts/font.ar.js'\nimport fa from '../fonts/font.fa.js'\nimport ur from '../fonts/font.ur.js'\nimport ps from '../fonts/font.ps.js'\nconst localFonts = {\n en: en,\n ar: ar,\n fa: fa,\n ur: ur,\n ps: ps,\n}\n\n// console.log(\"LCOA\", localFonts)\n\n\nexport const StandardArticle = async ({ body, locale }) => {\n const dir = isRTL(locale) ? 'rtl' : 'ltr';\n let fonts;\n try {\n if (['en', 'ar', 'fa', 'ur', 'ps'].includes(locale)) {\n fonts = localFonts[locale] as NextFontWithVariable[];\n } else {\n fonts = localFonts?.en as NextFontWithVariable[];\n }\n } catch {\n fonts = localFonts?.en as NextFontWithVariable[];\n }\n return (\n <html dir={dir} lang={locale}>\n <head>\n\n <script src=\"https://cdn.tailwindcss.com\"></script>\n <link href=\"https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/globals.css\" rel=\"stylesheet\" />\n <link href=\"https://cdn.jsdelivr.net/npm/payload-richtext-tiptap/dist/src/article-custom.css\" rel=\"stylesheet\" />\n\n </head>\n\n <body\n className={clsx(\n 'w-full overflow-x-hidden',\n // fonts.map(f => f.variable).join(' '),\n // fonts[0].className,\n )}\n >\n <main\n id=\"article-standard-wrapper\"\n className=\"min-h-fit xl:min-h-[100vh] pt-10 pb-6 md:pb-9 lg:pb-12 xl:pb-20\"\n >\n\n <div className=\"flex flex-col gap-6 md:gap-9 xl:gap-12 items-center mx-auto mt-8\">\n {/* Article Content */}\n <section className=\"w-full flex justify-center\">\n <div className=\"w-full max-w-full\">\n <div className=\"w-full flex flex-row justify-center gap-6 overflow-hidden pt-5\">\n <ArticleBody\n body={body}\n />\n </div>\n </div>\n </section>\n\n </div>\n </main>\n <script src=\"https://vjs.zencdn.net/8.16.1/video.min.js\"></script>\n\n </body>\n </html>\n\n )\n}"],"names":["clsx","ArticleBody","isRTL","locale","startsWith","en","ar","fa","ur","ps","localFonts","StandardArticle","body","dir","fonts","includes","html","lang","head","script","src","link","href","rel","className","main","id","div","section"],"mappings":"AAAA;;AACA,OAAOA,UAAU,OAAO;AAExB,kCAAkC;AAClC,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,gDAAgD;AAEhD,OAAO,SAASC,MAAMC,MAAc;IAChC,IACIA,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,SAClBD,OAAOC,UAAU,CAAC,OACpB;QACE,OAAO;IACX;IACA,OAAO;AAEX;AAEA,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,OAAOC,QAAQ,sBAAqB;AACpC,MAAMC,aAAa;IACfL,IAAIA;IACJC,IAAIA;IACJC,IAAIA;IACJC,IAAIA;IACJC,IAAIA;AACR;AAEA,kCAAkC;AAGlC,OAAO,MAAME,kBAAkB,OAAO,EAAEC,IAAI,EAAET,MAAM,EAAE;IAClD,MAAMU,MAAMX,MAAMC,UAAU,QAAQ;IACpC,IAAIW;IACJ,IAAI;QACA,IAAI;YAAC;YAAM;YAAM;YAAM;YAAM;SAAK,CAACC,QAAQ,CAACZ,SAAS;YACjDW,QAAQJ,UAAU,CAACP,OAAO;QAC9B,OAAO;YACHW,QAAQJ,YAAYL;QACxB;IACJ,EAAE,OAAM;QACJS,QAAQJ,YAAYL;IACxB;IACA,qBACI,MAACW;QAAKH,KAAKA;QAAKI,MAAMd;;0BAClB,MAACe;;kCAEG,KAACC;wBAAOC,KAAI;;kCACZ,KAACC;wBAAKC,MAAK;wBAA4EC,KAAI;;kCAC3F,KAACF;wBAAKC,MAAK;wBAAmFC,KAAI;;;;0BAItG,MAACX;gBACGY,WAAWxB,KACP;;kCAKJ,KAACyB;wBACGC,IAAG;wBACHF,WAAU;kCAGV,cAAA,KAACG;4BAAIH,WAAU;sCAEX,cAAA,KAACI;gCAAQJ,WAAU;0CACf,cAAA,KAACG;oCAAIH,WAAU;8CACX,cAAA,KAACG;wCAAIH,WAAU;kDACX,cAAA,KAACvB;4CACGW,MAAMA;;;;;;;kCAQ9B,KAACO;wBAAOC,KAAI;;;;;;AAM5B,EAAC"}
@@ -20,7 +20,6 @@ export const AudioBlockView = (props)=>{
20
20
  width: node.attrs.width
21
21
  },
22
22
  children: /*#__PURE__*/ _jsx("div", {
23
- contentEditable: false,
24
23
  ref: audioWrapperRef,
25
24
  children: /*#__PURE__*/ _jsx("audio", {
26
25
  controls: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface AudioBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n poster: string;\n assetId: string;\n playlistUrl?: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => 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 AudioBlockView = (props: AudioBlockViewProps) => {\n const { editor, getPos, node } = props;\n const audioWrapperRef = useRef<HTMLDivElement>(null);\n const { src, caption } = node.attrs;\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 onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div contentEditable={false} ref={audioWrapperRef}>\n <audio\n controls\n className=\"block\"\n src={src}\n //poster={poster}\n title=\"\"\n onClick={onClick}\n />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default AudioBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","AudioBlockView","props","editor","getPos","node","audioWrapperRef","src","caption","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","div","className","style","width","contentEditable","ref","audio","controls","title"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAsBC,MAAM,QAAQ,QAAQ;AACvE,SAASC,EAAE,QAAQ,8BAA8B;AAgCjD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAEC,OAAO,EAAE,GAAGH,KAAKI,KAAK;IAEnC,MAAMC,mBAAmBV,GACvBK,KAAKI,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCN,KAAKI,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCN,KAAKI,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUd,YAAY;QAC1BK,OAAOU,QAAQ,CAACC,gBAAgB,CAACV;IACnC,GAAG;QAACA;QAAQD,OAAOU,QAAQ;KAAC;IAE5B,qBACE,KAACjB;kBACC,cAAA,KAACmB;YAAIC,WAAWN;YAAkBO,OAAO;gBAAEC,OAAOb,KAAKI,KAAK,CAACS,KAAK;YAAC;sBACjE,cAAA,KAACH;gBAAII,iBAAiB;gBAAOC,KAAKd;0BAChC,cAAA,KAACe;oBACCC,QAAQ;oBACRN,WAAU;oBACVT,KAAKA;oBACL,iBAAiB;oBACjBgB,OAAM;oBACNX,SAASA;;;;;AAMrB,EAAE;AAEF,eAAeX,eAAe"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface AudioBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n poster: string;\n assetId: string;\n playlistUrl?: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => 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 AudioBlockView = (props: AudioBlockViewProps) => {\n const { editor, getPos, node } = props;\n const audioWrapperRef = useRef<HTMLDivElement>(null);\n const { src, caption } = node.attrs;\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 onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div ref={audioWrapperRef}>\n <audio\n controls\n className=\"block\"\n src={src}\n //poster={poster}\n title=\"\"\n onClick={onClick}\n />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default AudioBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","AudioBlockView","props","editor","getPos","node","audioWrapperRef","src","caption","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","div","className","style","width","ref","audio","controls","title"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAsBC,MAAM,QAAQ,QAAQ;AACvE,SAASC,EAAE,QAAQ,8BAA8B;AAgCjD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAEC,OAAO,EAAE,GAAGH,KAAKI,KAAK;IAEnC,MAAMC,mBAAmBV,GACvBK,KAAKI,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCN,KAAKI,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCN,KAAKI,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUd,YAAY;QAC1BK,OAAOU,QAAQ,CAACC,gBAAgB,CAACV;IACnC,GAAG;QAACA;QAAQD,OAAOU,QAAQ;KAAC;IAE5B,qBACE,KAACjB;kBACC,cAAA,KAACmB;YAAIC,WAAWN;YAAkBO,OAAO;gBAAEC,OAAOb,KAAKI,KAAK,CAACS,KAAK;YAAC;sBACjE,cAAA,KAACH;gBAAII,KAAKb;0BACR,cAAA,KAACc;oBACCC,QAAQ;oBACRL,WAAU;oBACVT,KAAKA;oBACL,iBAAiB;oBACjBe,OAAM;oBACNV,SAASA;;;;;AAMrB,EAAE;AAEF,eAAeX,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageBlockView.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AACxD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,GAAG;QACX,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB,sBA8CxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ImageBlockView.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AACxD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,GAAG;QACX,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB,sBAyCxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -28,7 +28,6 @@ export const ImageBlockView = (props)=>{
28
28
  width: node.attrs.width
29
29
  },
30
30
  children: /*#__PURE__*/ _jsxs("div", {
31
- contentEditable: false,
32
31
  ref: imageWrapperRef,
33
32
  children: [
34
33
  /*#__PURE__*/ _jsx("img", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface ImageBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => void;\n}\n\nexport const ImageBlockView = (props: ImageBlockViewProps) => {\n const { editor, getPos, node } = props;\n const imageWrapperRef = useRef<HTMLDivElement>(null);\n const { src, caption } = node.attrs;\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 onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n const onInputBlur = useCallback(\n (e) => {\n const title = e.target.value;\n editor\n .chain()\n .focus(undefined, { scrollIntoView: false })\n .setImageCaption(title)\n .run();\n },\n [editor]\n );\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div contentEditable={false} ref={imageWrapperRef}>\n <img\n className=\"block\"\n src={src}\n alt=\"\"\n onClick={onClick}\n />\n <textarea\n className=\"w-full h-16 mb-2 placeholder-black p-1 text-sm focus:border focus:border-gray-300 text-gray-400 border-0 rounded appearance-none\"\n onBlur={onInputBlur}\n defaultValue={caption}\n onClick={onClick}\n />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default ImageBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","ImageBlockView","props","editor","getPos","node","imageWrapperRef","src","caption","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","onInputBlur","e","title","target","value","chain","focus","undefined","scrollIntoView","setImageCaption","run","div","className","style","width","contentEditable","ref","img","alt","textarea","onBlur","defaultValue"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AACnD,SAASC,EAAE,QAAQ,8BAA8B;AAajD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAEC,OAAO,EAAE,GAAGH,KAAKI,KAAK;IACnC,MAAMC,mBAAmBV,GACvBK,KAAKI,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCN,KAAKI,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCN,KAAKI,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUd,YAAY;QAC1BK,OAAOU,QAAQ,CAACC,gBAAgB,CAACV;IACnC,GAAG;QAACA;QAAQD,OAAOU,QAAQ;KAAC;IAE5B,MAAME,cAAcjB,YAClB,CAACkB;QACC,MAAMC,QAAQD,EAAEE,MAAM,CAACC,KAAK;QAC5BhB,OACGiB,KAAK,GACLC,KAAK,CAACC,WAAW;YAAEC,gBAAgB;QAAM,GACzCC,eAAe,CAACP,OAChBQ,GAAG;IACR,GACA;QAACtB;KAAO;IAGV,qBACE,KAACP;kBACC,cAAA,KAAC8B;YAAIC,WAAWjB;YAAkBkB,OAAO;gBAAEC,OAAOxB,KAAKI,KAAK,CAACoB,KAAK;YAAC;sBACjE,cAAA,MAACH;gBAAII,iBAAiB;gBAAOC,KAAKzB;;kCAChC,KAAC0B;wBACCL,WAAU;wBACVpB,KAAKA;wBACL0B,KAAI;wBACJrB,SAASA;;kCAEX,KAACsB;wBACCP,WAAU;wBACVQ,QAAQpB;wBACRqB,cAAc5B;wBACdI,SAASA;;;;;;AAMrB,EAAE;AAEF,eAAeX,eAAe"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\n\ninterface ImageBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => void;\n}\n\nexport const ImageBlockView = (props: ImageBlockViewProps) => {\n const { editor, getPos, node } = props;\n const imageWrapperRef = useRef<HTMLDivElement>(null);\n const { src, caption } = node.attrs;\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 onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\n\n const onInputBlur = useCallback(\n (e) => {\n const title = e.target.value;\n editor\n .chain()\n .focus(undefined, { scrollIntoView: false })\n .setImageCaption(title)\n .run();\n },\n [editor]\n );\n\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div ref={imageWrapperRef}>\n <img className=\"block\" src={src} alt=\"\" onClick={onClick} />\n <textarea\n className=\"w-full h-16 mb-2 placeholder-black p-1 text-sm focus:border focus:border-gray-300 text-gray-400 border-0 rounded appearance-none\"\n onBlur={onInputBlur}\n defaultValue={caption}\n onClick={onClick}\n />\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default ImageBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useRef","cn","ImageBlockView","props","editor","getPos","node","imageWrapperRef","src","caption","attrs","wrapperClassName","align","onClick","commands","setNodeSelection","onInputBlur","e","title","target","value","chain","focus","undefined","scrollIntoView","setImageCaption","run","div","className","style","width","ref","img","alt","textarea","onBlur","defaultValue"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,MAAM,QAAQ,QAAQ;AACnD,SAASC,EAAE,QAAQ,8BAA8B;AAajD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBP,OAAuB;IAC/C,MAAM,EAAEQ,GAAG,EAAEC,OAAO,EAAE,GAAGH,KAAKI,KAAK;IACnC,MAAMC,mBAAmBV,GACvBK,KAAKI,KAAK,CAACE,KAAK,KAAK,SAAS,SAAS,WACvCN,KAAKI,KAAK,CAACE,KAAK,KAAK,UAAU,SAAS,WACxCN,KAAKI,KAAK,CAACE,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUd,YAAY;QAC1BK,OAAOU,QAAQ,CAACC,gBAAgB,CAACV;IACnC,GAAG;QAACA;QAAQD,OAAOU,QAAQ;KAAC;IAE5B,MAAME,cAAcjB,YAClB,CAACkB;QACC,MAAMC,QAAQD,EAAEE,MAAM,CAACC,KAAK;QAC5BhB,OACGiB,KAAK,GACLC,KAAK,CAACC,WAAW;YAAEC,gBAAgB;QAAM,GACzCC,eAAe,CAACP,OAChBQ,GAAG;IACR,GACA;QAACtB;KAAO;IAGV,qBACE,KAACP;kBACC,cAAA,KAAC8B;YAAIC,WAAWjB;YAAkBkB,OAAO;gBAAEC,OAAOxB,KAAKI,KAAK,CAACoB,KAAK;YAAC;sBACjE,cAAA,MAACH;gBAAII,KAAKxB;;kCACR,KAACyB;wBAAIJ,WAAU;wBAAQpB,KAAKA;wBAAKyB,KAAI;wBAAGpB,SAASA;;kCACjD,KAACqB;wBACCN,WAAU;wBACVO,QAAQnB;wBACRoB,cAAc3B;wBACdI,SAASA;;;;;;AAMrB,EAAE;AAEF,eAAeX,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUpload.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AAIxD,OAAO,EAEL,SAAS,EACT,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAC1C,eAAO,MAAM,kBAAkB,uBAAwB,eAAe,iCAKjE;IACD,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,CAAC,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;CACvC,gCAyEF,CAAC"}
1
+ {"version":3,"file":"ImageUpload.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AAIxD,OAAO,EAEL,SAAS,EACT,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAC1C,eAAO,MAAM,kBAAkB,uBAAwB,eAAe,iCAKjE;IACD,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,CAAC,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;CACvC,gCAyEF,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { NodeViewWrapper } from "@tiptap/react";
3
4
  import i18next from "i18next";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.tsx"],"sourcesContent":["import { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport i18next from \"i18next\";\nimport { ImagePlus } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport {\n AssetReturnType,\n AssetType,\n openAssetHQType,\n} from \"src/fields/TiptapEditor/types.js\";\nexport const ImageUploadBuilder = (openAssetHQHandler: openAssetHQType) => {\n const ImageUpload = ({\n getPos,\n editor,\n node,\n }: {\n getPos: () => number;\n editor: Editor;\n node: { attrs: { type?: AssetType } };\n }) => {\n const [done, setDone] = useState(false);\n const onUpload = useCallback(\n (asset: AssetReturnType) => {\n if (asset && !done) {\n let title = asset.title;\n if (i18next.language !== \"en\" && !!asset.title_locale[i18next.language.toUpperCase()]) {\n title = asset.title_locale[i18next.language.toUpperCase()];\n }\n if (asset.type === \"IMAGE\") {\n editor\n .chain()\n .focus()\n .setImageBlock({\n src: asset?.optimizedImageUrl || asset.fullUrl,\n assetId: asset.id,\n caption: title,\n })\n .deleteRange({ from: getPos(), to: getPos() })\n .focus()\n .run();\n setDone(true);\n } else {\n console.log(\"calling editor setVideoBlock.\", {\n src: asset.videoUrl,\n poster: asset.fullUrl,\n assetId: asset.id,\n playlistUrl: asset.playlistUrl,\n });\n editor\n .chain()\n .focus()\n .setVideoBlock({\n src: asset.videoUrl,\n poster: asset.fullUrl,\n assetId: asset.id,\n playlistUrl: asset.playlistUrl,\n title: title\n })\n .deleteRange({ from: getPos(), to: getPos() })\n .focus()\n .run();\n setDone(true);\n }\n } else {\n console.info(\n \"ImageUpload onUpload called but this is a finished component.\"\n );\n }\n },\n [getPos, editor]\n );\n\n return (\n <NodeViewWrapper>\n <div className=\"p-0 m-0\" data-drag-handle>\n <a\n href=\"#\"\n className=\"text-black text-sm font-medium uppercase hover:cursor-pointer p-2.5 bg-white rounded-[7px] transition ease-in-out delay-150 hover:scale-110 hover:bg-amber-600 shadow justify-between items-center flex flex-row\"\n onClick={(e) => {\n e.preventDefault();\n openAssetHQHandler(onUpload, null, node?.attrs?.type ?? \"image\");\n }}\n >\n <ImagePlus className=\"mr-2\" />\n Select an asset\n </a>\n </div>\n </NodeViewWrapper>\n );\n };\n\n return ImageUpload;\n};\n"],"names":["NodeViewWrapper","i18next","ImagePlus","useCallback","useState","ImageUploadBuilder","openAssetHQHandler","ImageUpload","getPos","editor","node","done","setDone","onUpload","asset","title","language","title_locale","toUpperCase","type","chain","focus","setImageBlock","src","optimizedImageUrl","fullUrl","assetId","id","caption","deleteRange","from","to","run","console","log","videoUrl","poster","playlistUrl","setVideoBlock","info","div","className","data-drag-handle","a","href","onClick","e","preventDefault","attrs"],"mappings":";AAAA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,aAAa,UAAU;AAC9B,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AAM9C,OAAO,MAAMC,qBAAqB,CAACC;IACjC,MAAMC,cAAc,CAAC,EACnBC,MAAM,EACNC,MAAM,EACNC,IAAI,EAKL;QACC,MAAM,CAACC,MAAMC,QAAQ,GAAGR,SAAS;QACjC,MAAMS,WAAWV,YACf,CAACW;YACC,IAAIA,SAAS,CAACH,MAAM;gBAClB,IAAII,QAAQD,MAAMC,KAAK;gBACvB,IAAId,QAAQe,QAAQ,KAAK,QAAQ,CAAC,CAACF,MAAMG,YAAY,CAAChB,QAAQe,QAAQ,CAACE,WAAW,GAAG,EAAE;oBACrFH,QAAQD,MAAMG,YAAY,CAAChB,QAAQe,QAAQ,CAACE,WAAW,GAAG;gBAC5D;gBACA,IAAIJ,MAAMK,IAAI,KAAK,SAAS;oBAC1BV,OACGW,KAAK,GACLC,KAAK,GACLC,aAAa,CAAC;wBACbC,KAAKT,OAAOU,qBAAqBV,MAAMW,OAAO;wBAC9CC,SAASZ,MAAMa,EAAE;wBACjBC,SAASb;oBACX,GACCc,WAAW,CAAC;wBAAEC,MAAMtB;wBAAUuB,IAAIvB;oBAAS,GAC3Ca,KAAK,GACLW,GAAG;oBACNpB,QAAQ;gBACV,OAAO;oBACLqB,QAAQC,GAAG,CAAC,iCAAiC;wBAC3CX,KAAKT,MAAMqB,QAAQ;wBACnBC,QAAQtB,MAAMW,OAAO;wBACrBC,SAASZ,MAAMa,EAAE;wBACjBU,aAAavB,MAAMuB,WAAW;oBAChC;oBACA5B,OACGW,KAAK,GACLC,KAAK,GACLiB,aAAa,CAAC;wBACbf,KAAKT,MAAMqB,QAAQ;wBACnBC,QAAQtB,MAAMW,OAAO;wBACrBC,SAASZ,MAAMa,EAAE;wBACjBU,aAAavB,MAAMuB,WAAW;wBAC9BtB,OAAOA;oBACT,GACCc,WAAW,CAAC;wBAAEC,MAAMtB;wBAAUuB,IAAIvB;oBAAS,GAC3Ca,KAAK,GACLW,GAAG;oBACNpB,QAAQ;gBACV;YACF,OAAO;gBACLqB,QAAQM,IAAI,CACV;YAEJ;QACF,GACA;YAAC/B;YAAQC;SAAO;QAGlB,qBACE,KAACT;sBACC,cAAA,KAACwC;gBAAIC,WAAU;gBAAUC,kBAAgB;0BACvC,cAAA,MAACC;oBACCC,MAAK;oBACLH,WAAU;oBACVI,SAAS,CAACC;wBACRA,EAAEC,cAAc;wBAChBzC,mBAAmBO,UAAU,MAAMH,MAAMsC,OAAO7B,QAAQ;oBAC1D;;sCAEA,KAACjB;4BAAUuC,WAAU;;wBAAS;;;;;IAMxC;IAEA,OAAOlC;AACT,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUpload.tsx"],"sourcesContent":["\"use client\"\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport i18next from \"i18next\";\nimport { ImagePlus } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport {\n AssetReturnType,\n AssetType,\n openAssetHQType,\n} from \"src/fields/TiptapEditor/types.js\";\nexport const ImageUploadBuilder = (openAssetHQHandler: openAssetHQType) => {\n const ImageUpload = ({\n getPos,\n editor,\n node,\n }: {\n getPos: () => number;\n editor: Editor;\n node: { attrs: { type?: AssetType } };\n }) => {\n const [done, setDone] = useState(false);\n const onUpload = useCallback(\n (asset: AssetReturnType) => {\n if (asset && !done) {\n let title = asset.title;\n if (i18next.language !== \"en\" && !!asset.title_locale[i18next.language.toUpperCase()]) {\n title = asset.title_locale[i18next.language.toUpperCase()];\n }\n if (asset.type === \"IMAGE\") {\n editor\n .chain()\n .focus()\n .setImageBlock({\n src: asset?.optimizedImageUrl || asset.fullUrl,\n assetId: asset.id,\n caption: title,\n })\n .deleteRange({ from: getPos(), to: getPos() })\n .focus()\n .run();\n setDone(true);\n } else {\n console.log(\"calling editor setVideoBlock.\", {\n src: asset.videoUrl,\n poster: asset.fullUrl,\n assetId: asset.id,\n playlistUrl: asset.playlistUrl,\n });\n editor\n .chain()\n .focus()\n .setVideoBlock({\n src: asset.videoUrl,\n poster: asset.fullUrl,\n assetId: asset.id,\n playlistUrl: asset.playlistUrl,\n title: title\n })\n .deleteRange({ from: getPos(), to: getPos() })\n .focus()\n .run();\n setDone(true);\n }\n } else {\n console.info(\n \"ImageUpload onUpload called but this is a finished component.\"\n );\n }\n },\n [getPos, editor]\n );\n\n return (\n <NodeViewWrapper>\n <div className=\"p-0 m-0\" data-drag-handle>\n <a\n href=\"#\"\n className=\"text-black text-sm font-medium uppercase hover:cursor-pointer p-2.5 bg-white rounded-[7px] transition ease-in-out delay-150 hover:scale-110 hover:bg-amber-600 shadow justify-between items-center flex flex-row\"\n onClick={(e) => {\n e.preventDefault();\n openAssetHQHandler(onUpload, null, node?.attrs?.type ?? \"image\");\n }}\n >\n <ImagePlus className=\"mr-2\" />\n Select an asset\n </a>\n </div>\n </NodeViewWrapper>\n );\n };\n\n return ImageUpload;\n};\n"],"names":["NodeViewWrapper","i18next","ImagePlus","useCallback","useState","ImageUploadBuilder","openAssetHQHandler","ImageUpload","getPos","editor","node","done","setDone","onUpload","asset","title","language","title_locale","toUpperCase","type","chain","focus","setImageBlock","src","optimizedImageUrl","fullUrl","assetId","id","caption","deleteRange","from","to","run","console","log","videoUrl","poster","playlistUrl","setVideoBlock","info","div","className","data-drag-handle","a","href","onClick","e","preventDefault","attrs"],"mappings":"AAAA;;AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,aAAa,UAAU;AAC9B,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AAM9C,OAAO,MAAMC,qBAAqB,CAACC;IACjC,MAAMC,cAAc,CAAC,EACnBC,MAAM,EACNC,MAAM,EACNC,IAAI,EAKL;QACC,MAAM,CAACC,MAAMC,QAAQ,GAAGR,SAAS;QACjC,MAAMS,WAAWV,YACf,CAACW;YACC,IAAIA,SAAS,CAACH,MAAM;gBAClB,IAAII,QAAQD,MAAMC,KAAK;gBACvB,IAAId,QAAQe,QAAQ,KAAK,QAAQ,CAAC,CAACF,MAAMG,YAAY,CAAChB,QAAQe,QAAQ,CAACE,WAAW,GAAG,EAAE;oBACrFH,QAAQD,MAAMG,YAAY,CAAChB,QAAQe,QAAQ,CAACE,WAAW,GAAG;gBAC5D;gBACA,IAAIJ,MAAMK,IAAI,KAAK,SAAS;oBAC1BV,OACGW,KAAK,GACLC,KAAK,GACLC,aAAa,CAAC;wBACbC,KAAKT,OAAOU,qBAAqBV,MAAMW,OAAO;wBAC9CC,SAASZ,MAAMa,EAAE;wBACjBC,SAASb;oBACX,GACCc,WAAW,CAAC;wBAAEC,MAAMtB;wBAAUuB,IAAIvB;oBAAS,GAC3Ca,KAAK,GACLW,GAAG;oBACNpB,QAAQ;gBACV,OAAO;oBACLqB,QAAQC,GAAG,CAAC,iCAAiC;wBAC3CX,KAAKT,MAAMqB,QAAQ;wBACnBC,QAAQtB,MAAMW,OAAO;wBACrBC,SAASZ,MAAMa,EAAE;wBACjBU,aAAavB,MAAMuB,WAAW;oBAChC;oBACA5B,OACGW,KAAK,GACLC,KAAK,GACLiB,aAAa,CAAC;wBACbf,KAAKT,MAAMqB,QAAQ;wBACnBC,QAAQtB,MAAMW,OAAO;wBACrBC,SAASZ,MAAMa,EAAE;wBACjBU,aAAavB,MAAMuB,WAAW;wBAC9BtB,OAAOA;oBACT,GACCc,WAAW,CAAC;wBAAEC,MAAMtB;wBAAUuB,IAAIvB;oBAAS,GAC3Ca,KAAK,GACLW,GAAG;oBACNpB,QAAQ;gBACV;YACF,OAAO;gBACLqB,QAAQM,IAAI,CACV;YAEJ;QACF,GACA;YAAC/B;YAAQC;SAAO;QAGlB,qBACE,KAACT;sBACC,cAAA,KAACwC;gBAAIC,WAAU;gBAAUC,kBAAgB;0BACvC,cAAA,MAACC;oBACCC,MAAK;oBACLH,WAAU;oBACVI,SAAS,CAACC;wBACRA,EAAEC,cAAc;wBAChBzC,mBAAmBO,UAAU,MAAMH,MAAMsC,OAAO7B,QAAQ;oBAC1D;;sCAEA,KAACjB;4BAAUuC,WAAU;;wBAAS;;;;;IAMxC;IAEA,OAAOlC;AACT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUploader.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,kBAEvB;IACD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,gCAgEA,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ImageUploader.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,kBAEvB;IACD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,gCA+DA,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -32,7 +32,6 @@ export const ImageUploader = ({ onUpload })=>{
32
32
  onDrop: onDrop,
33
33
  onDragOver: onDragEnter,
34
34
  onDragLeave: onDragLeave,
35
- contentEditable: false,
36
35
  children: [
37
36
  /*#__PURE__*/ _jsx(Icon, {
38
37
  icon: Image,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.tsx"],"sourcesContent":["import { Image, Upload } from \"lucide-react\";\nimport { ChangeEvent, useCallback } from \"react\";\nimport { Button } from \"../../../features/ui/Button/Button.js\";\nimport { Icon } from \"../../../features/ui/Icon.js\";\nimport { Spinner } from \"../../../features/ui/Spinner/Spinner.js\";\nimport { cn } from \"../../../lib/utils/index.js\";\nimport { useDropZone, useFileUpload, useUploader } from \"./hooks.js\";\nexport const ImageUploader = ({\n onUpload,\n}: {\n onUpload: (url: string) => void;\n}) => {\n const { loading, uploadFile } = useUploader({ onUpload });\n const { handleUploadClick, ref } = useFileUpload();\n const { draggedInside, onDrop, onDragEnter, onDragLeave } = useDropZone({\n uploader: uploadFile,\n });\n\n const onFileChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) =>\n e.target.files ? uploadFile() : null,\n [uploadFile]\n );\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-8 rounded-lg min-h-[10rem] bg-opacity-80\">\n <Spinner className=\"text-neutral-500\" size={1.5} />\n </div>\n );\n }\n\n const wrapperClass = cn(\n \"flex flex-col items-center justify-center px-8 py-10 rounded-lg bg-opacity-80\",\n draggedInside && \"bg-neutral-100\"\n );\n\n return (\n <div\n className={wrapperClass}\n onDrop={onDrop}\n onDragOver={onDragEnter}\n onDragLeave={onDragLeave}\n contentEditable={false}\n >\n <Icon\n icon={Image}\n className=\"w-12 h-12 mb-4 text-black dark:text-white opacity-20\"\n />\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <div className=\"text-sm font-medium text-center text-neutral-400 dark:text-neutral-500\">\n {draggedInside ? \"Drop image here\" : \"Drag and drop or\"}\n </div>\n <div>\n <Button\n type=\"button\"\n disabled={draggedInside}\n onClick={handleUploadClick}\n variant=\"primary\"\n buttonSize=\"small\"\n >\n <Icon icon={Upload} />\n Upload an image\n </Button>\n </div>\n </div>\n <input\n className=\"w-0 h-0 overflow-hidden opacity-0\"\n ref={ref}\n type=\"file\"\n accept=\".jpg,.jpeg,.png,.webp,.gif\"\n onChange={onFileChange}\n />\n </div>\n );\n};\n\nexport default ImageUploader;\n"],"names":["Image","Upload","useCallback","Button","Icon","Spinner","cn","useDropZone","useFileUpload","useUploader","ImageUploader","onUpload","loading","uploadFile","handleUploadClick","ref","draggedInside","onDrop","onDragEnter","onDragLeave","uploader","onFileChange","e","target","files","div","className","size","wrapperClass","onDragOver","contentEditable","icon","type","disabled","onClick","variant","buttonSize","input","accept","onChange"],"mappings":";AAAA,SAASA,KAAK,EAAEC,MAAM,QAAQ,eAAe;AAC7C,SAAsBC,WAAW,QAAQ,QAAQ;AACjD,SAASC,MAAM,QAAQ,wCAAwC;AAC/D,SAASC,IAAI,QAAQ,+BAA+B;AACpD,SAASC,OAAO,QAAQ,0CAA0C;AAClE,SAASC,EAAE,QAAQ,8BAA8B;AACjD,SAASC,WAAW,EAAEC,aAAa,EAAEC,WAAW,QAAQ,aAAa;AACrE,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,QAAQ,EAGT;IACC,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGJ,YAAY;QAAEE;IAAS;IACvD,MAAM,EAAEG,iBAAiB,EAAEC,GAAG,EAAE,GAAGP;IACnC,MAAM,EAAEQ,aAAa,EAAEC,MAAM,EAAEC,WAAW,EAAEC,WAAW,EAAE,GAAGZ,YAAY;QACtEa,UAAUP;IACZ;IAEA,MAAMQ,eAAenB,YACnB,CAACoB,IACCA,EAAEC,MAAM,CAACC,KAAK,GAAGX,eAAe,MAClC;QAACA;KAAW;IAGd,IAAID,SAAS;QACX,qBACE,KAACa;YAAIC,WAAU;sBACb,cAAA,KAACrB;gBAAQqB,WAAU;gBAAmBC,MAAM;;;IAGlD;IAEA,MAAMC,eAAetB,GACnB,iFACAU,iBAAiB;IAGnB,qBACE,MAACS;QACCC,WAAWE;QACXX,QAAQA;QACRY,YAAYX;QACZC,aAAaA;QACbW,iBAAiB;;0BAEjB,KAAC1B;gBACC2B,MAAM/B;gBACN0B,WAAU;;0BAEZ,MAACD;gBAAIC,WAAU;;kCACb,KAACD;wBAAIC,WAAU;kCACZV,gBAAgB,oBAAoB;;kCAEvC,KAACS;kCACC,cAAA,MAACtB;4BACC6B,MAAK;4BACLC,UAAUjB;4BACVkB,SAASpB;4BACTqB,SAAQ;4BACRC,YAAW;;8CAEX,KAAChC;oCAAK2B,MAAM9B;;gCAAU;;;;;;0BAK5B,KAACoC;gBACCX,WAAU;gBACVX,KAAKA;gBACLiB,MAAK;gBACLM,QAAO;gBACPC,UAAUlB;;;;AAIlB,EAAE;AAEF,eAAeX,cAAc"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/ImageUpload/view/ImageUploader.tsx"],"sourcesContent":["import { Image, Upload } from \"lucide-react\";\nimport { ChangeEvent, useCallback } from \"react\";\nimport { Button } from \"../../../features/ui/Button/Button.js\";\nimport { Icon } from \"../../../features/ui/Icon.js\";\nimport { Spinner } from \"../../../features/ui/Spinner/Spinner.js\";\nimport { cn } from \"../../../lib/utils/index.js\";\nimport { useDropZone, useFileUpload, useUploader } from \"./hooks.js\";\nexport const ImageUploader = ({\n onUpload,\n}: {\n onUpload: (url: string) => void;\n}) => {\n const { loading, uploadFile } = useUploader({ onUpload });\n const { handleUploadClick, ref } = useFileUpload();\n const { draggedInside, onDrop, onDragEnter, onDragLeave } = useDropZone({\n uploader: uploadFile,\n });\n\n const onFileChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) =>\n e.target.files ? uploadFile() : null,\n [uploadFile]\n );\n\n if (loading) {\n return (\n <div className=\"flex items-center justify-center p-8 rounded-lg min-h-[10rem] bg-opacity-80\">\n <Spinner className=\"text-neutral-500\" size={1.5} />\n </div>\n );\n }\n\n const wrapperClass = cn(\n \"flex flex-col items-center justify-center px-8 py-10 rounded-lg bg-opacity-80\",\n draggedInside && \"bg-neutral-100\"\n );\n\n return (\n <div\n className={wrapperClass}\n onDrop={onDrop}\n onDragOver={onDragEnter}\n onDragLeave={onDragLeave}\n >\n <Icon\n icon={Image}\n className=\"w-12 h-12 mb-4 text-black dark:text-white opacity-20\"\n />\n <div className=\"flex flex-col items-center justify-center gap-2\">\n <div className=\"text-sm font-medium text-center text-neutral-400 dark:text-neutral-500\">\n {draggedInside ? \"Drop image here\" : \"Drag and drop or\"}\n </div>\n <div>\n <Button\n type=\"button\"\n disabled={draggedInside}\n onClick={handleUploadClick}\n variant=\"primary\"\n buttonSize=\"small\"\n >\n <Icon icon={Upload} />\n Upload an image\n </Button>\n </div>\n </div>\n <input\n className=\"w-0 h-0 overflow-hidden opacity-0\"\n ref={ref}\n type=\"file\"\n accept=\".jpg,.jpeg,.png,.webp,.gif\"\n onChange={onFileChange}\n />\n </div>\n );\n};\n\nexport default ImageUploader;\n"],"names":["Image","Upload","useCallback","Button","Icon","Spinner","cn","useDropZone","useFileUpload","useUploader","ImageUploader","onUpload","loading","uploadFile","handleUploadClick","ref","draggedInside","onDrop","onDragEnter","onDragLeave","uploader","onFileChange","e","target","files","div","className","size","wrapperClass","onDragOver","icon","type","disabled","onClick","variant","buttonSize","input","accept","onChange"],"mappings":";AAAA,SAASA,KAAK,EAAEC,MAAM,QAAQ,eAAe;AAC7C,SAAsBC,WAAW,QAAQ,QAAQ;AACjD,SAASC,MAAM,QAAQ,wCAAwC;AAC/D,SAASC,IAAI,QAAQ,+BAA+B;AACpD,SAASC,OAAO,QAAQ,0CAA0C;AAClE,SAASC,EAAE,QAAQ,8BAA8B;AACjD,SAASC,WAAW,EAAEC,aAAa,EAAEC,WAAW,QAAQ,aAAa;AACrE,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,QAAQ,EAGT;IACC,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGJ,YAAY;QAAEE;IAAS;IACvD,MAAM,EAAEG,iBAAiB,EAAEC,GAAG,EAAE,GAAGP;IACnC,MAAM,EAAEQ,aAAa,EAAEC,MAAM,EAAEC,WAAW,EAAEC,WAAW,EAAE,GAAGZ,YAAY;QACtEa,UAAUP;IACZ;IAEA,MAAMQ,eAAenB,YACnB,CAACoB,IACCA,EAAEC,MAAM,CAACC,KAAK,GAAGX,eAAe,MAClC;QAACA;KAAW;IAGd,IAAID,SAAS;QACX,qBACE,KAACa;YAAIC,WAAU;sBACb,cAAA,KAACrB;gBAAQqB,WAAU;gBAAmBC,MAAM;;;IAGlD;IAEA,MAAMC,eAAetB,GACnB,iFACAU,iBAAiB;IAGnB,qBACE,MAACS;QACCC,WAAWE;QACXX,QAAQA;QACRY,YAAYX;QACZC,aAAaA;;0BAEb,KAACf;gBACC0B,MAAM9B;gBACN0B,WAAU;;0BAEZ,MAACD;gBAAIC,WAAU;;kCACb,KAACD;wBAAIC,WAAU;kCACZV,gBAAgB,oBAAoB;;kCAEvC,KAACS;kCACC,cAAA,MAACtB;4BACC4B,MAAK;4BACLC,UAAUhB;4BACViB,SAASnB;4BACToB,SAAQ;4BACRC,YAAW;;8CAEX,KAAC/B;oCAAK0B,MAAM7B;;gCAAU;;;;;;0BAK5B,KAACmC;gBACCV,WAAU;gBACVX,KAAKA;gBACLgB,MAAK;gBACLM,QAAO;gBACPC,UAAUjB;;;;AAIlB,EAAE;AAEF,eAAeX,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"InsideLinksComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.tsx"],"names":[],"mappings":"kDAKyC,GAAG;AAA5C,wBAmEE"}
1
+ {"version":3,"file":"InsideLinksComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.tsx"],"names":[],"mappings":"kDAKyC,GAAG;AAA5C,wBAkEE"}
@@ -22,7 +22,6 @@ export default (({ className, ...props })=>{
22
22
  className: "w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard",
23
23
  draggable: "true",
24
24
  "data-drag-handle": "",
25
- contentEditable: "false",
26
25
  children: [
27
26
  /*#__PURE__*/ _jsx(ExternalLinkIcon, {
28
27
  className: "h-6 w-6"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.tsx"],"sourcesContent":["import { ExternalLinkIcon } from \"@payloadcms/ui/graphics/ExternalLink\";\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport i18next from \"i18next\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport default ({ className, ...props }: any) => {\n return (\n <NodeViewWrapper\n className={cn(\"react-component\", className)}\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {/*@ts-ignore*/}\n {(!props?.node?.attrs?.id ?? \"\") ? (\n <div\n className=\"w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard\"\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n <ExternalLinkIcon className=\"h-6 w-6\" />\n\n <p\n className=\"w-full flex items-center justify-start mt-0\"\n style={{\n marginTop: 0,\n }}\n >\n Add Internal Content Links\n {/* {text} */}\n </p>\n </div>\n ) : (\n <div className=\"flex justify-center items-center w-full gap-x-6\">\n <div className=\"flex justify-center items-center\">\n <div className=\"w-[32px] h-[64px] bg-blue-400\"></div>\n <img\n src={props?.node?.attrs?.thumbnail ?? \"\"}\n width={212}\n height={120}\n alt={\"\"}\n className=\"-ml-6 !w-[212px] !h-[120px] object-cover\"\n />\n </div>\n <div className=\"flex flex-col justidy-start items-start font-trt gap-y-2 \">\n <a\n className=\"text-black dark:text-white text-lg capitalize w-full\"\n // href={`https://test-payload.trtglobal.tech/en${props?.node?.attrs?.url}` ?? ''}\n //@ts-ignore\n // dir={isRTL(\"بیشتر بخوانید\" ?? \"\") ? \"rtl\" : \"ltr\"}\n dir={i18next.dir()}\n >\n بیشتر بخوانید\n </a>\n <h3\n className=\"text-2xl font-bold !mt-0 w-full\"\n dir={i18next.dir()}\n >\n {props?.node?.attrs?.title}\n </h3>\n </div>\n </div>\n )}\n </div>\n ) : null}\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["ExternalLinkIcon","NodeViewContent","NodeViewWrapper","i18next","cn","className","props","onClick","editor","commands","setNodeSelection","getPos","contentEditable","node","type","spec","draggable","div","data-drag-handle","style","width","attrs","id","p","marginTop","img","src","thumbnail","height","alt","a","dir","h3","title"],"mappings":";AAAA,SAASA,gBAAgB,QAAQ,uCAAuC;AACxE,SAASC,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,OAAOC,aAAa,UAAU;AAC9B,SAASC,EAAE,QAAQ,2BAA2B;AAE9C,eAAe,CAAA,CAAC,EAAEC,SAAS,EAAE,GAAGC,OAAY;IAC1C,qBACE,KAACJ;QACCG,WAAWD,GAAG,mBAAmBC;QACjCE,SAAS;YACPD,MAAME,MAAM,CAACC,QAAQ,CAACC,gBAAgB,CAACJ,MAAMK,MAAM;QACrD;kBAEA,cAAA,KAACV;YAAgBW,iBAAgB;YAAQP,WAAU;sBAChDC,OAAOO,KAAKC,KAAKC,KAAKC,0BACrB,KAACC;gBAAID,WAAU;gBAAOE,oBAAiB;gBAAGC,OAAO;oBAAEC,OAAO;gBAAO;0BAE9D,AAAC,CAACd,OAAOO,MAAMQ,OAAOC,MAAM,mBAC3B,MAACL;oBACCZ,WAAU;oBACVW,WAAU;oBACVE,oBAAiB;oBACjBN,iBAAgB;;sCAEhB,KAACZ;4BAAiBK,WAAU;;sCAE5B,KAACkB;4BACClB,WAAU;4BACVc,OAAO;gCACLK,WAAW;4BACb;sCACD;;;mCAMH,MAACP;oBAAIZ,WAAU;;sCACb,MAACY;4BAAIZ,WAAU;;8CACb,KAACY;oCAAIZ,WAAU;;8CACf,KAACoB;oCACCC,KAAKpB,OAAOO,MAAMQ,OAAOM,aAAa;oCACtCP,OAAO;oCACPQ,QAAQ;oCACRC,KAAK;oCACLxB,WAAU;;;;sCAGd,MAACY;4BAAIZ,WAAU;;8CACb,KAACyB;oCACCzB,WAAU;oCACV,kFAAkF;oCAClF,YAAY;oCACZ,qDAAqD;oCACrD0B,KAAK5B,QAAQ4B,GAAG;8CACjB;;8CAGD,KAACC;oCACC3B,WAAU;oCACV0B,KAAK5B,QAAQ4B,GAAG;8CAEfzB,OAAOO,MAAMQ,OAAOY;;;;;;iBAM7B;;;AAIZ,CAAA,EAAE"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.tsx"],"sourcesContent":["import { ExternalLinkIcon } from \"@payloadcms/ui/graphics/ExternalLink\";\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport i18next from \"i18next\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport default ({ className, ...props }: any) => {\n return (\n <NodeViewWrapper\n className={cn(\"react-component\", className)}\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {/*@ts-ignore*/}\n {(!props?.node?.attrs?.id ?? \"\") ? (\n <div\n className=\"w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard\"\n draggable=\"true\"\n data-drag-handle=\"\"\n >\n <ExternalLinkIcon className=\"h-6 w-6\" />\n\n <p\n className=\"w-full flex items-center justify-start mt-0\"\n style={{\n marginTop: 0,\n }}\n >\n Add Internal Content Links\n {/* {text} */}\n </p>\n </div>\n ) : (\n <div className=\"flex justify-center items-center w-full gap-x-6\">\n <div className=\"flex justify-center items-center\">\n <div className=\"w-[32px] h-[64px] bg-blue-400\"></div>\n <img\n src={props?.node?.attrs?.thumbnail ?? \"\"}\n width={212}\n height={120}\n alt={\"\"}\n className=\"-ml-6 !w-[212px] !h-[120px] object-cover\"\n />\n </div>\n <div className=\"flex flex-col justidy-start items-start font-trt gap-y-2 \">\n <a\n className=\"text-black dark:text-white text-lg capitalize w-full\"\n // href={`https://test-payload.trtglobal.tech/en${props?.node?.attrs?.url}` ?? ''}\n //@ts-ignore\n // dir={isRTL(\"بیشتر بخوانید\" ?? \"\") ? \"rtl\" : \"ltr\"}\n dir={i18next.dir()}\n >\n بیشتر بخوانید\n </a>\n <h3\n className=\"text-2xl font-bold !mt-0 w-full\"\n dir={i18next.dir()}\n >\n {props?.node?.attrs?.title}\n </h3>\n </div>\n </div>\n )}\n </div>\n ) : null}\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["ExternalLinkIcon","NodeViewContent","NodeViewWrapper","i18next","cn","className","props","onClick","editor","commands","setNodeSelection","getPos","contentEditable","node","type","spec","draggable","div","data-drag-handle","style","width","attrs","id","p","marginTop","img","src","thumbnail","height","alt","a","dir","h3","title"],"mappings":";AAAA,SAASA,gBAAgB,QAAQ,uCAAuC;AACxE,SAASC,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,OAAOC,aAAa,UAAU;AAC9B,SAASC,EAAE,QAAQ,2BAA2B;AAE9C,eAAe,CAAA,CAAC,EAAEC,SAAS,EAAE,GAAGC,OAAY;IAC1C,qBACE,KAACJ;QACCG,WAAWD,GAAG,mBAAmBC;QACjCE,SAAS;YACPD,MAAME,MAAM,CAACC,QAAQ,CAACC,gBAAgB,CAACJ,MAAMK,MAAM;QACrD;kBAEA,cAAA,KAACV;YAAgBW,iBAAgB;YAAQP,WAAU;sBAChDC,OAAOO,KAAKC,KAAKC,KAAKC,0BACrB,KAACC;gBAAID,WAAU;gBAAOE,oBAAiB;gBAAGC,OAAO;oBAAEC,OAAO;gBAAO;0BAE9D,AAAC,CAACd,OAAOO,MAAMQ,OAAOC,MAAM,mBAC3B,MAACL;oBACCZ,WAAU;oBACVW,WAAU;oBACVE,oBAAiB;;sCAEjB,KAAClB;4BAAiBK,WAAU;;sCAE5B,KAACkB;4BACClB,WAAU;4BACVc,OAAO;gCACLK,WAAW;4BACb;sCACD;;;mCAMH,MAACP;oBAAIZ,WAAU;;sCACb,MAACY;4BAAIZ,WAAU;;8CACb,KAACY;oCAAIZ,WAAU;;8CACf,KAACoB;oCACCC,KAAKpB,OAAOO,MAAMQ,OAAOM,aAAa;oCACtCP,OAAO;oCACPQ,QAAQ;oCACRC,KAAK;oCACLxB,WAAU;;;;sCAGd,MAACY;4BAAIZ,WAAU;;8CACb,KAACyB;oCACCzB,WAAU;oCACV,kFAAkF;oCAClF,YAAY;oCACZ,qDAAqD;oCACrD0B,KAAK5B,QAAQ4B,GAAG;8CACjB;;8CAGD,KAACC;oCACC3B,WAAU;oCACV0B,KAAK5B,QAAQ4B,GAAG;8CAEfzB,OAAOO,MAAMQ,OAAOY;;;;;;iBAM7B;;;AAIZ,CAAA,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkPreview.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,KAAK,UAAU,CAAC;SACvE,CAAC;KACH;CACF;AAED,eAAO,MAAM,WAAW,gBAuFtB,CAAC"}
1
+ {"version":3,"file":"LinkPreview.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,QAAQ,CAAC,UAAU;QAC3B,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,KAAK,UAAU,CAAC;SACvE,CAAC;KACH;CACF;AAED,eAAO,MAAM,WAAW,gBAsFtB,CAAC"}
@@ -38,8 +38,7 @@ export const LinkPreview = Node.create({
38
38
  {
39
39
  src: node.attrs.image,
40
40
  width: "120px",
41
- height: "120px",
42
- style: "border-radius: 4px;"
41
+ height: "120px"
43
42
  }
44
43
  ] : "",
45
44
  [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.tsx"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { SiteMetaData } from \"../../features/BlockEditor/types.jsx\";\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n linkPreview: {\n setLinkPreview: (src?: string, metadata?: SiteMetaData) => ReturnType;\n };\n }\n}\n\nexport const LinkPreview = Node.create({\n name: \"linkPreview\",\n group: \"block\",\n atom: true,\n\n addAttributes() {\n return {\n href: {\n default: \"\",\n },\n title: { default: \"\" },\n description: {\n default: \"\",\n },\n image: {\n default: \"\",\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: \"div[data-link-preview]\",\n },\n ];\n },\n\n renderHTML({ node }) {\n return [\n \"div\",\n mergeAttributes({\n \"data-link-preview\": \"\",\n style:\n \"position: relative; border: 1px solid #ddd; padding: 10px; display: flex; align-items: center; gap: 10px; border-radius: 6px; background: #f9f9f9;\",\n }),\n node.attrs.image\n ? [\n \"img\",\n {\n src: node.attrs.image,\n width: \"120px\",\n height: \"120px\",\n style: \"border-radius: 4px;\",\n },\n ]\n : \"\",\n [\n \"div\",\n {},\n [\"strong\", {}, node.attrs.title],\n [\n \"p\",\n { style: \"font-size: 12px; color: gray; margin: 0;\" },\n node.attrs.description,\n ],\n ],\n [\n \"a\",\n {\n href: node.attrs.href,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n style:\n \"position: absolute; top: 5px; right: 5px; text-decoration: none; font-size: 14px; color: #555; cursor: pointer;\",\n },\n \"🔗\",\n ],\n ];\n },\n addCommands() {\n return {\n setLinkPreview:\n (src, metadata) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: \"linkPreview\",\n attrs: {\n href: src,\n title: metadata?.title,\n description: metadata?.description,\n image: metadata?.images?.[0] || \"/png/placeholder.png\",\n },\n });\n },\n };\n },\n});\n"],"names":["Node","mergeAttributes","LinkPreview","create","name","group","atom","addAttributes","href","default","title","description","image","parseHTML","tag","renderHTML","node","style","attrs","src","width","height","target","rel","addCommands","setLinkPreview","metadata","commands","state","insertContent","type","images"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAWrD,OAAO,MAAMC,cAAcF,KAAKG,MAAM,CAAC;IACrCC,MAAM;IACNC,OAAO;IACPC,MAAM;IAENC;QACE,OAAO;YACLC,MAAM;gBACJC,SAAS;YACX;YACAC,OAAO;gBAAED,SAAS;YAAG;YACrBE,aAAa;gBACXF,SAAS;YACX;YACAG,OAAO;gBACLH,SAAS;YACX;QACF;IACF;IAEAI;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEC,IAAI,EAAE;QACjB,OAAO;YACL;YACAf,gBAAgB;gBACd,qBAAqB;gBACrBgB,OACE;YACJ;YACAD,KAAKE,KAAK,CAACN,KAAK,GACZ;gBACE;gBACA;oBACEO,KAAKH,KAAKE,KAAK,CAACN,KAAK;oBACrBQ,OAAO;oBACPC,QAAQ;oBACRJ,OAAO;gBACT;aACD,GACD;YACJ;gBACE;gBACA,CAAC;gBACD;oBAAC;oBAAU,CAAC;oBAAGD,KAAKE,KAAK,CAACR,KAAK;iBAAC;gBAChC;oBACE;oBACA;wBAAEO,OAAO;oBAA2C;oBACpDD,KAAKE,KAAK,CAACP,WAAW;iBACvB;aACF;YACD;gBACE;gBACA;oBACEH,MAAMQ,KAAKE,KAAK,CAACV,IAAI;oBACrBc,QAAQ;oBACRC,KAAK;oBACLN,OACE;gBACJ;gBACA;aACD;SACF;IACH;IACAO;QACE,OAAO;YACLC,gBACE,CAACN,KAAKO,WACN,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAE;oBAClB,OAAOD,SAASE,aAAa,CAAC;wBAC5BC,MAAM;wBACNZ,OAAO;4BACLV,MAAMW;4BACNT,OAAOgB,UAAUhB;4BACjBC,aAAae,UAAUf;4BACvBC,OAAOc,UAAUK,QAAQ,CAAC,EAAE,IAAI;wBAClC;oBACF;gBACF;QACJ;IACF;AACF,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/LinkPreview/LinkPreview.tsx"],"sourcesContent":["import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { SiteMetaData } from \"../../features/BlockEditor/types.jsx\";\n\ndeclare module \"@tiptap/core\" {\n interface Commands<ReturnType> {\n linkPreview: {\n setLinkPreview: (src?: string, metadata?: SiteMetaData) => ReturnType;\n };\n }\n}\n\nexport const LinkPreview = Node.create({\n name: \"linkPreview\",\n group: \"block\",\n atom: true,\n\n addAttributes() {\n return {\n href: {\n default: \"\",\n },\n title: { default: \"\" },\n description: {\n default: \"\",\n },\n image: {\n default: \"\",\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: \"div[data-link-preview]\",\n },\n ];\n },\n\n renderHTML({ node }) {\n return [\n \"div\",\n mergeAttributes({\n \"data-link-preview\": \"\",\n style:\n \"position: relative; border: 1px solid #ddd; padding: 10px; display: flex; align-items: center; gap: 10px; border-radius: 6px; background: #f9f9f9;\",\n }),\n node.attrs.image\n ? [\n \"img\",\n {\n src: node.attrs.image,\n width: \"120px\",\n height: \"120px\",\n },\n ]\n : \"\",\n [\n \"div\",\n {},\n [\"strong\", {}, node.attrs.title],\n [\n \"p\",\n { style: \"font-size: 12px; color: gray; margin: 0;\" },\n node.attrs.description,\n ],\n ],\n [\n \"a\",\n {\n href: node.attrs.href,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n style:\n \"position: absolute; top: 5px; right: 5px; text-decoration: none; font-size: 14px; color: #555; cursor: pointer;\",\n },\n \"🔗\",\n ],\n ];\n },\n addCommands() {\n return {\n setLinkPreview:\n (src, metadata) =>\n ({ commands, state }) => {\n return commands.insertContent({\n type: \"linkPreview\",\n attrs: {\n href: src,\n title: metadata?.title,\n description: metadata?.description,\n image: metadata?.images?.[0] || \"/png/placeholder.png\",\n },\n });\n },\n };\n },\n});\n"],"names":["Node","mergeAttributes","LinkPreview","create","name","group","atom","addAttributes","href","default","title","description","image","parseHTML","tag","renderHTML","node","style","attrs","src","width","height","target","rel","addCommands","setLinkPreview","metadata","commands","state","insertContent","type","images"],"mappings":"AAAA,SAASA,IAAI,EAAEC,eAAe,QAAQ,eAAe;AAWrD,OAAO,MAAMC,cAAcF,KAAKG,MAAM,CAAC;IACrCC,MAAM;IACNC,OAAO;IACPC,MAAM;IAENC;QACE,OAAO;YACLC,MAAM;gBACJC,SAAS;YACX;YACAC,OAAO;gBAAED,SAAS;YAAG;YACrBE,aAAa;gBACXF,SAAS;YACX;YACAG,OAAO;gBACLH,SAAS;YACX;QACF;IACF;IAEAI;QACE,OAAO;YACL;gBACEC,KAAK;YACP;SACD;IACH;IAEAC,YAAW,EAAEC,IAAI,EAAE;QACjB,OAAO;YACL;YACAf,gBAAgB;gBACd,qBAAqB;gBACrBgB,OACE;YACJ;YACAD,KAAKE,KAAK,CAACN,KAAK,GACZ;gBACE;gBACA;oBACEO,KAAKH,KAAKE,KAAK,CAACN,KAAK;oBACrBQ,OAAO;oBACPC,QAAQ;gBACV;aACD,GACD;YACJ;gBACE;gBACA,CAAC;gBACD;oBAAC;oBAAU,CAAC;oBAAGL,KAAKE,KAAK,CAACR,KAAK;iBAAC;gBAChC;oBACE;oBACA;wBAAEO,OAAO;oBAA2C;oBACpDD,KAAKE,KAAK,CAACP,WAAW;iBACvB;aACF;YACD;gBACE;gBACA;oBACEH,MAAMQ,KAAKE,KAAK,CAACV,IAAI;oBACrBc,QAAQ;oBACRC,KAAK;oBACLN,OACE;gBACJ;gBACA;aACD;SACF;IACH;IACAO;QACE,OAAO;YACLC,gBACE,CAACN,KAAKO,WACN,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAE;oBAClB,OAAOD,SAASE,aAAa,CAAC;wBAC5BC,MAAM;wBACNZ,OAAO;4BACLV,MAAMW;4BACNT,OAAOgB,UAAUhB;4BACjBC,aAAae,UAAUf;4BACvBC,OAAOc,UAAUK,QAAQ,CAAC,EAAE,IAAI;wBAClC;oBACF;gBACF;QACJ;IACF;AACF,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaEmbed.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.tsx"],"names":[],"mappings":"0DAEiD,GAAG;AAApD,wBA2CE"}
1
+ {"version":3,"file":"SocialMediaEmbed.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.tsx"],"names":[],"mappings":"0DAEiD,GAAG;AAApD,wBAyCE"}
@@ -19,7 +19,6 @@ export default (({ props, children, Icon, text })=>{
19
19
  className: "w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard",
20
20
  draggable: "true",
21
21
  "data-drag-handle": "",
22
- contentEditable: "false",
23
22
  children: [
24
23
  /*#__PURE__*/ _jsx(Icon, {
25
24
  size: 24
@@ -39,7 +38,6 @@ export default (({ props, children, Icon, text })=>{
39
38
  },
40
39
  draggable: "true",
41
40
  "data-drag-handle": "",
42
- contentEditable: "false",
43
41
  children: children
44
42
  })
45
43
  }) : null
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\n\nexport default ({ props, children, Icon, text }: any) => {\n return (\n <NodeViewWrapper\n className=\"react-component\"\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {!(props?.node?.attrs?.url ?? props?.node?.attrs?.src) ? (\n <div\n className=\"w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard\"\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n <Icon size={24} />\n <p\n className=\"w-full flex items-center justify-start mt-0\"\n style={{\n marginTop: 0,\n }}\n >\n {text}\n </p>\n </div>\n ) : (\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"true\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n {children}\n </div>\n )}\n </div>\n ) : null}\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["NodeViewContent","NodeViewWrapper","props","children","Icon","text","className","onClick","editor","commands","setNodeSelection","getPos","contentEditable","node","type","spec","draggable","div","data-drag-handle","style","width","attrs","url","src","size","p","marginTop","display","justifyContent"],"mappings":";AAAA,SAASA,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AAEjE,eAAe,CAAA,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,EAAO;IAClD,qBACE,KAACJ;QACCK,WAAU;QACVC,SAAS;YACPL,MAAMM,MAAM,CAACC,QAAQ,CAACC,gBAAgB,CAACR,MAAMS,MAAM;QACrD;kBAEA,cAAA,KAACX;YAAgBY,iBAAgB;YAAQN,WAAU;sBAChDJ,OAAOW,KAAKC,KAAKC,KAAKC,0BACrB,KAACC;gBAAID,WAAU;gBAAOE,oBAAiB;gBAAGC,OAAO;oBAAEC,OAAO;gBAAO;0BAC9D,CAAElB,CAAAA,OAAOW,MAAMQ,OAAOC,OAAOpB,OAAOW,MAAMQ,OAAOE,GAAE,kBAClD,MAACN;oBACCX,WAAU;oBACVU,WAAU;oBACVE,oBAAiB;oBACjBN,iBAAgB;;sCAEhB,KAACR;4BAAKoB,MAAM;;sCACZ,KAACC;4BACCnB,WAAU;4BACVa,OAAO;gCACLO,WAAW;4BACb;sCAECrB;;;mCAIL,KAACY;oBACCE,OAAO;wBAAEQ,SAAS;wBAAQC,gBAAgB;oBAAS;oBACnDZ,WAAU;oBACVE,oBAAiB;oBACjBN,iBAAgB;8BAEfT;;iBAIL;;;AAIZ,CAAA,EAAE"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbed.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\n\nexport default ({ props, children, Icon, text }: any) => {\n return (\n <NodeViewWrapper\n className=\"react-component\"\n onClick={() => {\n props.editor.commands.setNodeSelection(props.getPos());\n }}\n >\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n {props?.node.type.spec.draggable ? (\n <div draggable=\"true\" data-drag-handle=\"\" style={{ width: \"100%\" }}>\n {!(props?.node?.attrs?.url ?? props?.node?.attrs?.src) ? (\n <div\n className=\"w-full bg-zinc-100 py-8 px-6 flex items-center justify-center gap-2 socialMediaCard\"\n draggable=\"true\"\n data-drag-handle=\"\"\n >\n <Icon size={24} />\n <p\n className=\"w-full flex items-center justify-start mt-0\"\n style={{\n marginTop: 0,\n }}\n >\n {text}\n </p>\n </div>\n ) : (\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"true\"\n data-drag-handle=\"\"\n >\n {children}\n </div>\n )}\n </div>\n ) : null}\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["NodeViewContent","NodeViewWrapper","props","children","Icon","text","className","onClick","editor","commands","setNodeSelection","getPos","contentEditable","node","type","spec","draggable","div","data-drag-handle","style","width","attrs","url","src","size","p","marginTop","display","justifyContent"],"mappings":";AAAA,SAASA,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AAEjE,eAAe,CAAA,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,EAAO;IAClD,qBACE,KAACJ;QACCK,WAAU;QACVC,SAAS;YACPL,MAAMM,MAAM,CAACC,QAAQ,CAACC,gBAAgB,CAACR,MAAMS,MAAM;QACrD;kBAEA,cAAA,KAACX;YAAgBY,iBAAgB;YAAQN,WAAU;sBAChDJ,OAAOW,KAAKC,KAAKC,KAAKC,0BACrB,KAACC;gBAAID,WAAU;gBAAOE,oBAAiB;gBAAGC,OAAO;oBAAEC,OAAO;gBAAO;0BAC9D,CAAElB,CAAAA,OAAOW,MAAMQ,OAAOC,OAAOpB,OAAOW,MAAMQ,OAAOE,GAAE,kBAClD,MAACN;oBACCX,WAAU;oBACVU,WAAU;oBACVE,oBAAiB;;sCAEjB,KAACd;4BAAKoB,MAAM;;sCACZ,KAACC;4BACCnB,WAAU;4BACVa,OAAO;gCACLO,WAAW;4BACb;sCAECrB;;;mCAIL,KAACY;oBACCE,OAAO;wBAAEQ,SAAS;wBAAQC,gBAAgB;oBAAS;oBACnDZ,WAAU;oBACVE,oBAAiB;8BAEhBf;;iBAIL;;;AAIZ,CAAA,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaEmbedServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,4BAA6B,GAAG,gCAetE,CAAC"}
1
+ {"version":3,"file":"SocialMediaEmbedServerside.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,4BAA6B,GAAG,gCActE,CAAC"}
@@ -14,7 +14,6 @@ export const SocialMediaEmbedServerside = ({ children, className })=>{
14
14
  },
15
15
  draggable: "false",
16
16
  "data-drag-handle": "",
17
- contentEditable: "false",
18
17
  children: children
19
18
  })
20
19
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport const SocialMediaEmbedServerside = ({ children, className }: any) => {\n return (\n <NodeViewWrapper className={cn(\"react-component\", className)}>\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"false\"\n data-drag-handle=\"\"\n contentEditable=\"false\"\n >\n {children}\n </div>\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["NodeViewContent","NodeViewWrapper","cn","SocialMediaEmbedServerside","children","className","contentEditable","div","style","display","justifyContent","draggable","data-drag-handle"],"mappings":";AAAA,SAASA,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,SAASC,EAAE,QAAQ,2BAA2B;AAE9C,OAAO,MAAMC,6BAA6B,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAO;IACrE,qBACE,KAACJ;QAAgBI,WAAWH,GAAG,mBAAmBG;kBAChD,cAAA,KAACL;YAAgBM,iBAAgB;YAAQD,WAAU;sBACjD,cAAA,KAACE;gBACCC,OAAO;oBAAEC,SAAS;oBAAQC,gBAAgB;gBAAS;gBACnDC,WAAU;gBACVC,oBAAiB;gBACjBN,iBAAgB;0BAEfF;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/SocialMedia/SocialMediaEmbedServerside.tsx"],"sourcesContent":["import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport { cn } from \"../../lib/utils/index.js\";\n\nexport const SocialMediaEmbedServerside = ({ children, className }: any) => {\n return (\n <NodeViewWrapper className={cn(\"react-component\", className)}>\n <NodeViewContent contentEditable=\"false\" className=\"socialMediaContainer\">\n <div\n style={{ display: \"flex\", justifyContent: \"center\" }}\n draggable=\"false\"\n data-drag-handle=\"\"\n >\n {children}\n </div>\n </NodeViewContent>\n </NodeViewWrapper>\n );\n};\n"],"names":["NodeViewContent","NodeViewWrapper","cn","SocialMediaEmbedServerside","children","className","contentEditable","div","style","display","justifyContent","draggable","data-drag-handle"],"mappings":";AAAA,SAASA,eAAe,EAAEC,eAAe,QAAQ,gBAAgB;AACjE,SAASC,EAAE,QAAQ,2BAA2B;AAE9C,OAAO,MAAMC,6BAA6B,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAO;IACrE,qBACE,KAACJ;QAAgBI,WAAWH,GAAG,mBAAmBG;kBAChD,cAAA,KAACL;YAAgBM,iBAAgB;YAAQD,WAAU;sBACjD,cAAA,KAACE;gBACCC,OAAO;oBAAEC,SAAS;oBAAQC,gBAAgB;gBAAS;gBACnDC,WAAU;gBACVC,oBAAiB;0BAEhBR;;;;AAKX,EAAE"}
@@ -67,7 +67,6 @@ export const VideoBlockView = (props)=>{
67
67
  width: node.attrs.width
68
68
  },
69
69
  children: /*#__PURE__*/ _jsxs("div", {
70
- contentEditable: false,
71
70
  ref: videoWrapperRef,
72
71
  children: [
73
72
  error && /*#__PURE__*/ _jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\nimport VideoPlayer from \"./videojs/VideoPlayer.js\";\n\ninterface VideoBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n poster: string;\n assetId: string;\n playlistUrl?: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => 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 VideoBlockView = (props: VideoBlockViewProps) => {\n const { editor, getPos, node } = props;\n const videoWrapperRef = useRef<HTMLDivElement>(null);\n const { src, poster, playlistUrl, caption, title } = node.attrs;\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 onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\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 };\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 };\n }, [playlistContent]);\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div contentEditable={false} ref={videoWrapperRef}>\n {error && <div>{error}</div>}\n {/* <video\n controls\n className=\"block\"\n src={src}\n poster={poster}\n title=\"\"\n onClick={onClick}\n /> */}\n {playlistContent && <VideoPlayer options={videoJsOptions} />}\n {caption && playlistContent?.title && (\n <caption className=\"text-center block text-sm text-gray-500\">\n {title || playlistContent?.title}\n </caption>\n )}\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default VideoBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useEffect","useMemo","useRef","cn","VideoPlayer","VideoBlockView","props","editor","getPos","node","videoWrapperRef","src","poster","playlistUrl","caption","title","attrs","playlistContent","setPlaylistContent","useState","error","setError","getPlaylistContent","res","fetch","cache","json","then","data","catch","err","wrapperClassName","align","onClick","commands","setNodeSelection","videoJsOptions","undefined","items","some","item","type","sources","filter","map","label","div","className","style","width","contentEditable","ref","options"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AACvE,SAASC,EAAE,QAAQ,8BAA8B;AACjD,OAAOC,iBAAiB,2BAA2B;AAgCnD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBR,OAAuB;IAC/C,MAAM,EAAES,GAAG,EAAEC,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,KAAK,EAAE,GAAGN,KAAKO,KAAK;IAC/D,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGpB,MAAMqB,QAAQ;IAG5D,MAAM,CAACC,OAAOC,SAAS,GAAGvB,MAAMqB,QAAQ;IAExCnB,UAAU;QACR,eAAesB;YACb,MAAMC,MAAM,MAAMC,MAAMX,aAAa;gBACnCY,OAAO;YACT;YACA,OAAO,MAAMF,IAAIG,IAAI;QACvB;QAEA,IAAIb,aAAa;YACf,IAAI;gBACFS,qBACGK,IAAI,CAAC,CAACC;oBACLV,mBAAmBU;gBACrB,GACCC,KAAK,CAAC,CAACC;oBACNT,SAASS;gBACX;YACJ,EAAE,OAAOV,OAAO;gBACdC,SAASD;YACX;QACF;IACF,GAAG;QAACP;KAAY;IAEhB,MAAMkB,mBAAmB5B,GACvBM,KAAKO,KAAK,CAACgB,KAAK,KAAK,SAAS,SAAS,WACvCvB,KAAKO,KAAK,CAACgB,KAAK,KAAK,UAAU,SAAS,WACxCvB,KAAKO,KAAK,CAACgB,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUlC,YAAY;QAC1BQ,OAAO2B,QAAQ,CAACC,gBAAgB,CAAC3B;IACnC,GAAG;QAACA;QAAQD,OAAO2B,QAAQ;KAAC;IAE5B,MAAME,iBAAiBnC,QAAQ;QAC7B,IAAIgB,mBAAmBoB,WAAW,OAAO,CAAC;QAE1C,IACEpB,gBAAgBqB,KAAK,CAACC,IAAI,CACxB,CAACC,OACCA,KAAKC,IAAI,KAAK,2BACdD,KAAKC,IAAI,KAAK,kCAElB;YACA,OAAO;gBACLC,SAASzB,gBAAgBqB,KAAK,CAC3BK,MAAM,CACL,CAACH,OACCA,KAAKC,IAAI,KAAK,2BACdD,KAAKC,IAAI,KAAK,iCAEjBG,GAAG,CAAC,CAACJ,OAAU,CAAA;wBACd7B,KAAK6B,KAAK7B,GAAG;wBACb8B,MAAMD,KAAKC,IAAI;wBACfI,OAAOL,KAAKK,KAAK;oBACnB,CAAA;gBACFjC,QAAQK,gBAAgBL,MAAM;YAChC;QACF;QACA,OAAO;YACL8B,SAASzB,gBAAgBqB,KAAK,CAACM,GAAG,CAAC,CAACJ,OAAU,CAAA;oBAC5C7B,KAAK6B,KAAK7B,GAAG;oBACb8B,MAAMD,KAAKC,IAAI;oBACfI,OAAOL,KAAKK,KAAK;gBACnB,CAAA;YACAjC,QAAQK,gBAAgBL,MAAM;QAChC;IACF,GAAG;QAACK;KAAgB;IACpB,qBACE,KAACpB;kBACC,cAAA,KAACiD;YAAIC,WAAWhB;YAAkBiB,OAAO;gBAAEC,OAAOxC,KAAKO,KAAK,CAACiC,KAAK;YAAC;sBACjE,cAAA,MAACH;gBAAII,iBAAiB;gBAAOC,KAAKzC;;oBAC/BU,uBAAS,KAAC0B;kCAAK1B;;oBASfH,iCAAmB,KAACb;wBAAYgD,SAAShB;;oBACzCtB,WAAWG,iBAAiBF,uBAC3B,KAACD;wBAAQiC,WAAU;kCAChBhC,SAASE,iBAAiBF;;;;;;AAOzC,EAAE;AAEF,eAAeV,eAAe"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockView.tsx"],"sourcesContent":["import { Node } from \"@tiptap/pm/model\";\nimport { Editor, NodeViewWrapper } from \"@tiptap/react\";\nimport React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { cn } from \"../../../lib/utils/index.js\";\nimport VideoPlayer from \"./videojs/VideoPlayer.js\";\n\ninterface VideoBlockViewProps {\n editor: Editor;\n getPos: () => number;\n node: Node & {\n attrs: {\n src: string;\n poster: string;\n assetId: string;\n playlistUrl?: string;\n };\n };\n updateAttributes: (attrs: Record<string, string>) => 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 VideoBlockView = (props: VideoBlockViewProps) => {\n const { editor, getPos, node } = props;\n const videoWrapperRef = useRef<HTMLDivElement>(null);\n const { src, poster, playlistUrl, caption, title } = node.attrs;\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 onClick = useCallback(() => {\n editor.commands.setNodeSelection(getPos());\n }, [getPos, editor.commands]);\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 };\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 };\n }, [playlistContent]);\n return (\n <NodeViewWrapper>\n <div className={wrapperClassName} style={{ width: node.attrs.width }}>\n <div ref={videoWrapperRef}>\n {error && <div>{error}</div>}\n {/* <video\n controls\n className=\"block\"\n src={src}\n poster={poster}\n title=\"\"\n onClick={onClick}\n /> */}\n {playlistContent && <VideoPlayer options={videoJsOptions} />}\n {caption && playlistContent?.title && (\n <caption className=\"text-center block text-sm text-gray-500\">\n {title || playlistContent?.title}\n </caption>\n )}\n </div>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default VideoBlockView;\n"],"names":["NodeViewWrapper","React","useCallback","useEffect","useMemo","useRef","cn","VideoPlayer","VideoBlockView","props","editor","getPos","node","videoWrapperRef","src","poster","playlistUrl","caption","title","attrs","playlistContent","setPlaylistContent","useState","error","setError","getPlaylistContent","res","fetch","cache","json","then","data","catch","err","wrapperClassName","align","onClick","commands","setNodeSelection","videoJsOptions","undefined","items","some","item","type","sources","filter","map","label","div","className","style","width","ref","options"],"mappings":";AACA,SAAiBA,eAAe,QAAQ,gBAAgB;AACxD,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,QAAQ;AACvE,SAASC,EAAE,QAAQ,8BAA8B;AACjD,OAAOC,iBAAiB,2BAA2B;AAgCnD,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IACjC,MAAMI,kBAAkBR,OAAuB;IAC/C,MAAM,EAAES,GAAG,EAAEC,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,KAAK,EAAE,GAAGN,KAAKO,KAAK;IAC/D,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGpB,MAAMqB,QAAQ;IAG5D,MAAM,CAACC,OAAOC,SAAS,GAAGvB,MAAMqB,QAAQ;IAExCnB,UAAU;QACR,eAAesB;YACb,MAAMC,MAAM,MAAMC,MAAMX,aAAa;gBACnCY,OAAO;YACT;YACA,OAAO,MAAMF,IAAIG,IAAI;QACvB;QAEA,IAAIb,aAAa;YACf,IAAI;gBACFS,qBACGK,IAAI,CAAC,CAACC;oBACLV,mBAAmBU;gBACrB,GACCC,KAAK,CAAC,CAACC;oBACNT,SAASS;gBACX;YACJ,EAAE,OAAOV,OAAO;gBACdC,SAASD;YACX;QACF;IACF,GAAG;QAACP;KAAY;IAEhB,MAAMkB,mBAAmB5B,GACvBM,KAAKO,KAAK,CAACgB,KAAK,KAAK,SAAS,SAAS,WACvCvB,KAAKO,KAAK,CAACgB,KAAK,KAAK,UAAU,SAAS,WACxCvB,KAAKO,KAAK,CAACgB,KAAK,KAAK,YAAY;IAGnC,MAAMC,UAAUlC,YAAY;QAC1BQ,OAAO2B,QAAQ,CAACC,gBAAgB,CAAC3B;IACnC,GAAG;QAACA;QAAQD,OAAO2B,QAAQ;KAAC;IAE5B,MAAME,iBAAiBnC,QAAQ;QAC7B,IAAIgB,mBAAmBoB,WAAW,OAAO,CAAC;QAE1C,IACEpB,gBAAgBqB,KAAK,CAACC,IAAI,CACxB,CAACC,OACCA,KAAKC,IAAI,KAAK,2BACdD,KAAKC,IAAI,KAAK,kCAElB;YACA,OAAO;gBACLC,SAASzB,gBAAgBqB,KAAK,CAC3BK,MAAM,CACL,CAACH,OACCA,KAAKC,IAAI,KAAK,2BACdD,KAAKC,IAAI,KAAK,iCAEjBG,GAAG,CAAC,CAACJ,OAAU,CAAA;wBACd7B,KAAK6B,KAAK7B,GAAG;wBACb8B,MAAMD,KAAKC,IAAI;wBACfI,OAAOL,KAAKK,KAAK;oBACnB,CAAA;gBACFjC,QAAQK,gBAAgBL,MAAM;YAChC;QACF;QACA,OAAO;YACL8B,SAASzB,gBAAgBqB,KAAK,CAACM,GAAG,CAAC,CAACJ,OAAU,CAAA;oBAC5C7B,KAAK6B,KAAK7B,GAAG;oBACb8B,MAAMD,KAAKC,IAAI;oBACfI,OAAOL,KAAKK,KAAK;gBACnB,CAAA;YACAjC,QAAQK,gBAAgBL,MAAM;QAChC;IACF,GAAG;QAACK;KAAgB;IACpB,qBACE,KAACpB;kBACC,cAAA,KAACiD;YAAIC,WAAWhB;YAAkBiB,OAAO;gBAAEC,OAAOxC,KAAKO,KAAK,CAACiC,KAAK;YAAC;sBACjE,cAAA,MAACH;gBAAII,KAAKxC;;oBACPU,uBAAS,KAAC0B;kCAAK1B;;oBASfH,iCAAmB,KAACb;wBAAY+C,SAASf;;oBACzCtB,WAAWG,iBAAiBF,uBAC3B,KAACD;wBAAQiC,WAAU;kCAChBhC,SAASE,iBAAiBF;;;;;;AAOzC,EAAE;AAEF,eAAeV,eAAe"}