@wazobiatech/wazui 1.1.3 → 1.1.4

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 (33) hide show
  1. package/dist/{PictureBlot-DPxMBH8x.cjs → PictureBlot-BKJtxBtt.cjs} +2 -2
  2. package/dist/{PictureBlot-DPxMBH8x.cjs.map → PictureBlot-BKJtxBtt.cjs.map} +1 -1
  3. package/dist/{PictureBlot-DK6U4-Ap.js → PictureBlot-PaeA_g_6.js} +2 -2
  4. package/dist/{PictureBlot-DK6U4-Ap.js.map → PictureBlot-PaeA_g_6.js.map} +1 -1
  5. package/dist/VideoBlot-C3Doc0pR.cjs +2 -0
  6. package/dist/VideoBlot-C3Doc0pR.cjs.map +1 -0
  7. package/dist/VideoBlot-DMpc2k-2.js +176 -0
  8. package/dist/VideoBlot-DMpc2k-2.js.map +1 -0
  9. package/dist/components/wazui/WazUiGqlMediaLibrary/WazUiGqlLibraryEditMedia.d.ts.map +1 -1
  10. package/dist/components/wazui/WazUiGqlMediaLibrary/WazUiGqlMediaGalleryImage.d.ts.map +1 -1
  11. package/dist/components/wazui/WazUiGqlMediaLibrary/WazUiGqlMediaLibraryAddMedia.d.ts.map +1 -1
  12. package/dist/components/wazui/WazUiGqlMediaLibrary/hooks.d.ts +1 -1
  13. package/dist/components/wazui/WazUiGqlMediaLibrary/hooks.d.ts.map +1 -1
  14. package/dist/components/wazui/WazUiGqlMediaLibrary/types.d.ts +5 -2
  15. package/dist/components/wazui/WazUiGqlMediaLibrary/types.d.ts.map +1 -1
  16. package/dist/components/wazui/WazUiWysiwygInput/blots/VideoBlot.d.ts.map +1 -1
  17. package/dist/{index-BLX-FC63.cjs → index-DbfIn9kw.cjs} +181 -181
  18. package/dist/index-DbfIn9kw.cjs.map +4 -0
  19. package/dist/{index-DLQ6iElj.js → index-sg0jndm7.js} +7318 -7303
  20. package/dist/index-sg0jndm7.js.map +4 -0
  21. package/dist/index.js +1 -1
  22. package/dist/index.mjs +1 -1
  23. package/dist/{quill-CywiOvqz.js → quill-8Sind98o.js} +2 -2
  24. package/dist/{quill-CywiOvqz.js.map → quill-8Sind98o.js.map} +1 -1
  25. package/dist/{quill-Jnxar9Zk.cjs → quill-CcRE1rfp.cjs} +2 -2
  26. package/dist/{quill-Jnxar9Zk.cjs.map → quill-CcRE1rfp.cjs.map} +1 -1
  27. package/package.json +1 -1
  28. package/dist/VideoBlot-DFXWlVp9.cjs +0 -2
  29. package/dist/VideoBlot-DFXWlVp9.cjs.map +0 -1
  30. package/dist/VideoBlot-c7IiGkvp.js +0 -129
  31. package/dist/VideoBlot-c7IiGkvp.js.map +0 -1
  32. package/dist/index-BLX-FC63.cjs.map +0 -4
  33. package/dist/index-DLQ6iElj.js.map +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wazobiatech/wazui",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "private": false,
5
5
  "description": "`@repo/wazui` is a React component library that provides a set of reusable UI components, hooks, and providers for building modern web applications. It is built with TypeScript, Tailwind CSS, and integrates Shadcn UI components.",
6
6
  "homepage": "https://bitbucket.org/wazobiatech/wazui#readme",
@@ -1,2 +0,0 @@
1
- "use client";"use strict";var h=Object.defineProperty;var E=(s,l,c)=>l in s?h(s,l,{enumerable:!0,configurable:!0,writable:!0,value:c}):s[l]=c;var b=(s,l,c)=>E(s,typeof l!="symbol"?l+"":l,c);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f="Click to edit caption...";function w(s){if(!s)return null;if(typeof s=="string")try{return JSON.parse(s)}catch{return null}return s}function C(s){const l=w(s);return(l==null?void 0:l.sdk)||""}const x=async()=>{if(typeof window>"u")return null;try{const l=(await Promise.resolve().then(()=>require("./quill-Jnxar9Zk.cjs"))).default.import("blots/block/embed");class c extends l{static create(n){const m=C(n.embed),a=document.createElement("div");a.className="ql-cms-video-wrapper",a.contentEditable="false",a.setAttribute("data-embed",typeof n.embed=="string"?n.embed:JSON.stringify(n.embed)),n.thumbnailUrl&&a.setAttribute("data-thumbnail-url",n.thumbnailUrl),n.url&&a.setAttribute("data-video-url",n.url);const y=/class=["']vsly-player["']/.test(m),p=!y&&!!n.url,r=document.createElement("div");if(r.className="ql-cms-video-player",r.style.position="relative",r.style.width="100%",r.style.background="#ddd",r.style.overflow="hidden",y||(r.style.paddingTop="56.25%"),m)r.innerHTML=m;else if(p){const t=document.createElement("video");t.src=n.url,t.setAttribute("preload","metadata"),t.setAttribute("controls",""),t.setAttribute("muted",""),t.setAttribute("playsinline",""),t.style.position="absolute",t.style.inset="0",t.style.width="100%",t.style.height="100%",t.style.objectFit="cover",r.appendChild(t)}const g=typeof window<"u"&&!!window.__WAZUI_EDITOR_PREVIEW__;if(n.thumbnailUrl&&g&&y){const t=document.createElement("div");t.className="ql-cms-video-preview",t.style.position="absolute",t.style.inset="0",t.style.backgroundImage=`url(${n.thumbnailUrl})`,t.style.backgroundSize="cover",t.style.backgroundPosition="center",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.pointerEvents="none";const i=document.createElement("div");i.style.width="64px",i.style.height="64px",i.style.borderRadius="50%",i.style.background="rgba(0,0,0,0.6)",i.style.display="flex",i.style.alignItems="center",i.style.justifyContent="center";const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("width","24"),o.setAttribute("height","24"),o.setAttribute("viewBox","0 0 24 24"),o.setAttribute("fill","white");const u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d","M8 5v14l11-7z"),o.appendChild(u),i.appendChild(o),t.appendChild(i),r.appendChild(t)}a.appendChild(r);const e=document.createElement("div");e.className="ql-cms-video-caption",e.textContent=n.caption||f,e.style.fontStyle="italic",e.style.color=n.caption?"#666":"#999",e.style.fontSize="14px",e.style.marginTop="8px",e.style.textAlign="center",e.style.minHeight="1.2em",e.style.outline="none",e.style.padding="4px",e.style.borderRadius="4px",e.style.cursor="text",e.contentEditable="false",e.setAttribute("data-original-caption",n.caption||"");let d=!1;return e.addEventListener("click",t=>{t.stopPropagation(),t.preventDefault(),!d&&(d=!0,e.setAttribute("data-editing","true"),e.contentEditable="true",e.textContent===f&&(e.textContent="",e.style.color="#666"),setTimeout(()=>{e.focus();const i=document.createRange(),o=window.getSelection();i.selectNodeContents(e),i.collapse(!1),o==null||o.removeAllRanges(),o==null||o.addRange(i)},0))}),e.addEventListener("blur",()=>{setTimeout(()=>{var t;e.isConnected&&d&&(d=!1,e.removeAttribute("data-editing"),e.contentEditable="false",(t=e.textContent)!=null&&t.trim()||(e.textContent=f,e.style.color="#999"))},10)}),e.addEventListener("keydown",t=>{var i;if(d){if(t.key==="Enter"||t.key==="Escape"){t.stopPropagation(),t.preventDefault(),e.blur();return}if(t.key==="Backspace"){const o=((i=e.textContent)==null?void 0:i.trim())||"";if(!o||o===f){t.stopPropagation(),t.preventDefault();const u=e.closest(".ql-cms-video-wrapper");u&&u.parentNode&&(u.parentNode.removeChild(u),setTimeout(()=>{const v=document.querySelector(".ql-editor");v&&v.focus()},10));return}}t.stopPropagation()}}),e.addEventListener("input",t=>{d&&t.stopPropagation()}),e.addEventListener("mousedown",t=>{d&&t.stopPropagation()}),e.addEventListener("mouseup",t=>{d&&t.stopPropagation()}),e.addEventListener("paste",t=>{d&&t.stopPropagation()}),a.appendChild(e),a}static value(n){var d;const m=n.querySelector(".ql-cms-video-caption"),a=n.querySelector(".ql-cms-video-player");let y="";if(m){const t=((d=m.textContent)==null?void 0:d.trim())||"";t&&t!==f&&(y=t)}let p="";const r=n.getAttribute("data-embed");if(r)try{p=JSON.parse(r)}catch{p=r}else if(a){const t=a.querySelector(".vsly-player");t?p={sdk:t.outerHTML}:p={sdk:a.innerHTML}}const g=n.getAttribute("data-thumbnail-url")||void 0,e=n.getAttribute("data-video-url")||void 0;return{embed:p,caption:y,thumbnailUrl:g,url:e}}}return b(c,"blotName","cms-video"),b(c,"tagName","div"),b(c,"className","ql-cms-video-wrapper"),c}catch(s){return console.error("Failed to create VideoBlot:",s),null}};exports.default=x;
2
- //# sourceMappingURL=VideoBlot-DFXWlVp9.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoBlot-DFXWlVp9.cjs","sources":["../src/components/wazui/WazUiWysiwygInput/blots/VideoBlot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { VideoBlotReturnValue, VideoBlotValue, QuillBlockEmbedStatic } from './types';\n\nconst PLACEHOLDER_CAPTION = 'Click to edit caption...';\n\nfunction parseEmbed(value: VideoBlotValue['embed']): { sdk?: string | null; [key: string]: unknown } | null {\n if (!value) return null;\n if (typeof value === 'string') {\n try {\n return JSON.parse(value) as { sdk?: string | null; [key: string]: unknown };\n } catch {\n return null;\n }\n }\n return value;\n}\n\nfunction getSdkHtml(value: VideoBlotValue['embed']): string {\n const embed = parseEmbed(value);\n return embed?.sdk || '';\n}\n\nconst createVideoBlot = async () => {\n if (typeof window === 'undefined') return null;\n\n try {\n const Quill = (await import('quill')).default;\n const BlockEmbed = Quill.import('blots/block/embed') as QuillBlockEmbedStatic;\n\n class VideoBlot extends (BlockEmbed as any) {\n static blotName = 'cms-video';\n static tagName = 'div';\n static className = 'ql-cms-video-wrapper';\n\n static create(value: VideoBlotValue): HTMLElement {\n const sdkHtml = getSdkHtml(value.embed);\n\n // Wrap container + caption so Quill treats them as one block\n const wrapper = document.createElement('div');\n wrapper.className = 'ql-cms-video-wrapper';\n wrapper.contentEditable = 'false';\n wrapper.setAttribute('data-embed', typeof value.embed === 'string' ? value.embed : JSON.stringify(value.embed));\n if (value.thumbnailUrl) {\n wrapper.setAttribute('data-thumbnail-url', value.thumbnailUrl);\n }\n if (value.url) {\n wrapper.setAttribute('data-video-url', value.url);\n }\n\n const isViouslySdk = /class=[\"']vsly-player[\"']/.test(sdkHtml);\n const isCmsVideo = !isViouslySdk && !!value.url;\n\n // Player container: render the Viously SDK markup from the API\n const playerContainer = document.createElement('div');\n playerContainer.className = 'ql-cms-video-player';\n playerContainer.style.position = 'relative';\n playerContainer.style.width = '100%';\n playerContainer.style.background = '#ddd';\n playerContainer.style.overflow = 'hidden';\n // Only force a 16:9 aspect ratio when the SDK markup doesn't already\n // define its own (the Viously SDK includes its own padding-top wrapper).\n if (!isViouslySdk) {\n playerContainer.style.paddingTop = '56.25%';\n }\n\n if (sdkHtml) {\n playerContainer.innerHTML = sdkHtml;\n } else if (isCmsVideo) {\n // CMS uploaded videos: render a plain <video> element using the direct URL.\n const video = document.createElement('video');\n video.src = value.url as string;\n video.setAttribute('preload', 'metadata');\n video.setAttribute('controls', '');\n video.setAttribute('muted', '');\n video.setAttribute('playsinline', '');\n video.style.position = 'absolute';\n video.style.inset = '0';\n video.style.width = '100%';\n video.style.height = '100%';\n video.style.objectFit = 'cover';\n playerContainer.appendChild(video);\n }\n\n // Only show the thumbnail preview inside the actual editor and only for\n // Viously, because the Viously SDK script doesn't run there. CMS videos\n // already show a frame via the <video> element itself.\n const isEditor =\n typeof window !== 'undefined' &&\n !!(window as unknown as Record<string, unknown>).__WAZUI_EDITOR_PREVIEW__;\n\n if (value.thumbnailUrl && isEditor && isViouslySdk) {\n const preview = document.createElement('div');\n preview.className = 'ql-cms-video-preview';\n preview.style.position = 'absolute';\n preview.style.inset = '0';\n preview.style.backgroundImage = `url(${value.thumbnailUrl})`;\n preview.style.backgroundSize = 'cover';\n preview.style.backgroundPosition = 'center';\n preview.style.display = 'flex';\n preview.style.alignItems = 'center';\n preview.style.justifyContent = 'center';\n preview.style.pointerEvents = 'none';\n\n const playIcon = document.createElement('div');\n playIcon.style.width = '64px';\n playIcon.style.height = '64px';\n playIcon.style.borderRadius = '50%';\n playIcon.style.background = 'rgba(0,0,0,0.6)';\n playIcon.style.display = 'flex';\n playIcon.style.alignItems = 'center';\n playIcon.style.justifyContent = 'center';\n\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('width', '24');\n svg.setAttribute('height', '24');\n svg.setAttribute('viewBox', '0 0 24 24');\n svg.setAttribute('fill', 'white');\n const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M8 5v14l11-7z');\n svg.appendChild(path);\n playIcon.appendChild(svg);\n\n preview.appendChild(playIcon);\n playerContainer.appendChild(preview);\n }\n\n wrapper.appendChild(playerContainer);\n\n // Create caption element\n const captionElement = document.createElement('div');\n captionElement.className = 'ql-cms-video-caption';\n captionElement.textContent = value.caption || PLACEHOLDER_CAPTION;\n captionElement.style.fontStyle = 'italic';\n captionElement.style.color = value.caption ? '#666' : '#999';\n captionElement.style.fontSize = '14px';\n captionElement.style.marginTop = '8px';\n captionElement.style.textAlign = 'center';\n captionElement.style.minHeight = '1.2em';\n captionElement.style.outline = 'none';\n captionElement.style.padding = '4px';\n captionElement.style.borderRadius = '4px';\n captionElement.style.cursor = 'text';\n captionElement.contentEditable = 'false';\n captionElement.setAttribute('data-original-caption', value.caption || '');\n\n let isEditingCaption = false;\n\n captionElement.addEventListener('click', e => {\n e.stopPropagation();\n e.preventDefault();\n\n if (isEditingCaption) return;\n\n isEditingCaption = true;\n captionElement.setAttribute('data-editing', 'true');\n captionElement.contentEditable = 'true';\n\n if (captionElement.textContent === PLACEHOLDER_CAPTION) {\n captionElement.textContent = '';\n captionElement.style.color = '#666';\n }\n\n setTimeout(() => {\n captionElement.focus();\n const range = document.createRange();\n const selection = window.getSelection();\n range.selectNodeContents(captionElement);\n range.collapse(false);\n selection?.removeAllRanges();\n selection?.addRange(range);\n }, 0);\n });\n\n captionElement.addEventListener('blur', () => {\n setTimeout(() => {\n if (!captionElement.isConnected) return;\n if (isEditingCaption) {\n isEditingCaption = false;\n captionElement.removeAttribute('data-editing');\n captionElement.contentEditable = 'false';\n const text = captionElement.textContent?.trim() || '';\n if (!text) {\n captionElement.textContent = PLACEHOLDER_CAPTION;\n captionElement.style.color = '#999';\n }\n }\n }, 10);\n });\n\n captionElement.addEventListener('keydown', e => {\n if (!isEditingCaption) return;\n\n if (e.key === 'Enter' || e.key === 'Escape') {\n e.stopPropagation();\n e.preventDefault();\n captionElement.blur();\n return;\n }\n\n if (e.key === 'Backspace') {\n const text = captionElement.textContent?.trim() || '';\n if (!text || text === PLACEHOLDER_CAPTION) {\n e.stopPropagation();\n e.preventDefault();\n\n const videoContainer = captionElement.closest('.ql-cms-video-wrapper');\n if (videoContainer && videoContainer.parentNode) {\n videoContainer.parentNode.removeChild(videoContainer);\n setTimeout(() => {\n const quillEditor = document.querySelector('.ql-editor');\n if (quillEditor) {\n (quillEditor as HTMLElement).focus();\n }\n }, 10);\n }\n return;\n }\n }\n\n e.stopPropagation();\n });\n\n captionElement.addEventListener('input', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n captionElement.addEventListener('mousedown', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n captionElement.addEventListener('mouseup', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n captionElement.addEventListener('paste', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n wrapper.appendChild(captionElement);\n\n return wrapper;\n }\n\n static value(node: HTMLElement): VideoBlotReturnValue {\n const captionElement = node.querySelector('.ql-cms-video-caption');\n const playerContainer = node.querySelector('.ql-cms-video-player');\n let caption = '';\n\n if (captionElement) {\n const text = captionElement.textContent?.trim() || '';\n if (text && text !== PLACEHOLDER_CAPTION) {\n caption = text;\n }\n }\n\n // Try to recover the original embed data from the rendered SDK markup.\n // If the wrapper was created from raw HTML (e.g. pasted), fall back to\n // serialising the current player container so the content is preserved.\n let embed: VideoBlotReturnValue['embed'] = '';\n const embedData = node.getAttribute('data-embed');\n if (embedData) {\n try {\n embed = JSON.parse(embedData) as VideoBlotReturnValue['embed'];\n } catch {\n embed = embedData;\n }\n } else if (playerContainer) {\n const vslyPlayer = playerContainer.querySelector('.vsly-player');\n if (vslyPlayer) {\n embed = { sdk: vslyPlayer.outerHTML };\n } else {\n embed = { sdk: playerContainer.innerHTML };\n }\n }\n\n const thumbnailUrl = node.getAttribute('data-thumbnail-url') || undefined;\n const url = node.getAttribute('data-video-url') || undefined;\n\n return {\n embed,\n caption,\n thumbnailUrl,\n url,\n };\n }\n }\n\n return VideoBlot;\n } catch (error) {\n console.error('Failed to create VideoBlot:', error);\n return null;\n }\n};\n\nexport default createVideoBlot;\n"],"names":["PLACEHOLDER_CAPTION","parseEmbed","value","getSdkHtml","embed","createVideoBlot","BlockEmbed","VideoBlot","sdkHtml","wrapper","isViouslySdk","isCmsVideo","playerContainer","video","isEditor","preview","playIcon","svg","path","captionElement","isEditingCaption","e","range","selection","_a","text","videoContainer","quillEditor","node","caption","embedData","vslyPlayer","thumbnailUrl","url","__publicField","error"],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- "use client";
2
- var v = Object.defineProperty;
3
- var E = (o, l, c) => l in o ? v(o, l, { enumerable: !0, configurable: !0, writable: !0, value: c }) : o[l] = c;
4
- var b = (o, l, c) => E(o, typeof l != "symbol" ? l + "" : l, c);
5
- const f = "Click to edit caption...";
6
- function w(o) {
7
- if (!o) return null;
8
- if (typeof o == "string")
9
- try {
10
- return JSON.parse(o);
11
- } catch {
12
- return null;
13
- }
14
- return o;
15
- }
16
- function C(o) {
17
- const l = w(o);
18
- return (l == null ? void 0 : l.sdk) || "";
19
- }
20
- const k = async () => {
21
- if (typeof window > "u") return null;
22
- try {
23
- const l = (await import("./quill-CywiOvqz.js")).default.import("blots/block/embed");
24
- class c extends l {
25
- static create(n) {
26
- const m = C(n.embed), a = document.createElement("div");
27
- a.className = "ql-cms-video-wrapper", a.contentEditable = "false", a.setAttribute("data-embed", typeof n.embed == "string" ? n.embed : JSON.stringify(n.embed)), n.thumbnailUrl && a.setAttribute("data-thumbnail-url", n.thumbnailUrl), n.url && a.setAttribute("data-video-url", n.url);
28
- const y = /class=["']vsly-player["']/.test(m), p = !y && !!n.url, r = document.createElement("div");
29
- if (r.className = "ql-cms-video-player", r.style.position = "relative", r.style.width = "100%", r.style.background = "#ddd", r.style.overflow = "hidden", y || (r.style.paddingTop = "56.25%"), m)
30
- r.innerHTML = m;
31
- else if (p) {
32
- const t = document.createElement("video");
33
- t.src = n.url, t.setAttribute("preload", "metadata"), t.setAttribute("controls", ""), t.setAttribute("muted", ""), t.setAttribute("playsinline", ""), t.style.position = "absolute", t.style.inset = "0", t.style.width = "100%", t.style.height = "100%", t.style.objectFit = "cover", r.appendChild(t);
34
- }
35
- const g = typeof window < "u" && !!window.__WAZUI_EDITOR_PREVIEW__;
36
- if (n.thumbnailUrl && g && y) {
37
- const t = document.createElement("div");
38
- t.className = "ql-cms-video-preview", t.style.position = "absolute", t.style.inset = "0", t.style.backgroundImage = `url(${n.thumbnailUrl})`, t.style.backgroundSize = "cover", t.style.backgroundPosition = "center", t.style.display = "flex", t.style.alignItems = "center", t.style.justifyContent = "center", t.style.pointerEvents = "none";
39
- const i = document.createElement("div");
40
- i.style.width = "64px", i.style.height = "64px", i.style.borderRadius = "50%", i.style.background = "rgba(0,0,0,0.6)", i.style.display = "flex", i.style.alignItems = "center", i.style.justifyContent = "center";
41
- const s = document.createElementNS("http://www.w3.org/2000/svg", "svg");
42
- s.setAttribute("width", "24"), s.setAttribute("height", "24"), s.setAttribute("viewBox", "0 0 24 24"), s.setAttribute("fill", "white");
43
- const u = document.createElementNS("http://www.w3.org/2000/svg", "path");
44
- u.setAttribute("d", "M8 5v14l11-7z"), s.appendChild(u), i.appendChild(s), t.appendChild(i), r.appendChild(t);
45
- }
46
- a.appendChild(r);
47
- const e = document.createElement("div");
48
- e.className = "ql-cms-video-caption", e.textContent = n.caption || f, e.style.fontStyle = "italic", e.style.color = n.caption ? "#666" : "#999", e.style.fontSize = "14px", e.style.marginTop = "8px", e.style.textAlign = "center", e.style.minHeight = "1.2em", e.style.outline = "none", e.style.padding = "4px", e.style.borderRadius = "4px", e.style.cursor = "text", e.contentEditable = "false", e.setAttribute("data-original-caption", n.caption || "");
49
- let d = !1;
50
- return e.addEventListener("click", (t) => {
51
- t.stopPropagation(), t.preventDefault(), !d && (d = !0, e.setAttribute("data-editing", "true"), e.contentEditable = "true", e.textContent === f && (e.textContent = "", e.style.color = "#666"), setTimeout(() => {
52
- e.focus();
53
- const i = document.createRange(), s = window.getSelection();
54
- i.selectNodeContents(e), i.collapse(!1), s == null || s.removeAllRanges(), s == null || s.addRange(i);
55
- }, 0));
56
- }), e.addEventListener("blur", () => {
57
- setTimeout(() => {
58
- var t;
59
- e.isConnected && d && (d = !1, e.removeAttribute("data-editing"), e.contentEditable = "false", (t = e.textContent) != null && t.trim() || (e.textContent = f, e.style.color = "#999"));
60
- }, 10);
61
- }), e.addEventListener("keydown", (t) => {
62
- var i;
63
- if (d) {
64
- if (t.key === "Enter" || t.key === "Escape") {
65
- t.stopPropagation(), t.preventDefault(), e.blur();
66
- return;
67
- }
68
- if (t.key === "Backspace") {
69
- const s = ((i = e.textContent) == null ? void 0 : i.trim()) || "";
70
- if (!s || s === f) {
71
- t.stopPropagation(), t.preventDefault();
72
- const u = e.closest(".ql-cms-video-wrapper");
73
- u && u.parentNode && (u.parentNode.removeChild(u), setTimeout(() => {
74
- const h = document.querySelector(".ql-editor");
75
- h && h.focus();
76
- }, 10));
77
- return;
78
- }
79
- }
80
- t.stopPropagation();
81
- }
82
- }), e.addEventListener("input", (t) => {
83
- d && t.stopPropagation();
84
- }), e.addEventListener("mousedown", (t) => {
85
- d && t.stopPropagation();
86
- }), e.addEventListener("mouseup", (t) => {
87
- d && t.stopPropagation();
88
- }), e.addEventListener("paste", (t) => {
89
- d && t.stopPropagation();
90
- }), a.appendChild(e), a;
91
- }
92
- static value(n) {
93
- var d;
94
- const m = n.querySelector(".ql-cms-video-caption"), a = n.querySelector(".ql-cms-video-player");
95
- let y = "";
96
- if (m) {
97
- const t = ((d = m.textContent) == null ? void 0 : d.trim()) || "";
98
- t && t !== f && (y = t);
99
- }
100
- let p = "";
101
- const r = n.getAttribute("data-embed");
102
- if (r)
103
- try {
104
- p = JSON.parse(r);
105
- } catch {
106
- p = r;
107
- }
108
- else if (a) {
109
- const t = a.querySelector(".vsly-player");
110
- t ? p = { sdk: t.outerHTML } : p = { sdk: a.innerHTML };
111
- }
112
- const g = n.getAttribute("data-thumbnail-url") || void 0, e = n.getAttribute("data-video-url") || void 0;
113
- return {
114
- embed: p,
115
- caption: y,
116
- thumbnailUrl: g,
117
- url: e
118
- };
119
- }
120
- }
121
- return b(c, "blotName", "cms-video"), b(c, "tagName", "div"), b(c, "className", "ql-cms-video-wrapper"), c;
122
- } catch (o) {
123
- return console.error("Failed to create VideoBlot:", o), null;
124
- }
125
- };
126
- export {
127
- k as default
128
- };
129
- //# sourceMappingURL=VideoBlot-c7IiGkvp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VideoBlot-c7IiGkvp.js","sources":["../src/components/wazui/WazUiWysiwygInput/blots/VideoBlot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { VideoBlotReturnValue, VideoBlotValue, QuillBlockEmbedStatic } from './types';\n\nconst PLACEHOLDER_CAPTION = 'Click to edit caption...';\n\nfunction parseEmbed(value: VideoBlotValue['embed']): { sdk?: string | null; [key: string]: unknown } | null {\n if (!value) return null;\n if (typeof value === 'string') {\n try {\n return JSON.parse(value) as { sdk?: string | null; [key: string]: unknown };\n } catch {\n return null;\n }\n }\n return value;\n}\n\nfunction getSdkHtml(value: VideoBlotValue['embed']): string {\n const embed = parseEmbed(value);\n return embed?.sdk || '';\n}\n\nconst createVideoBlot = async () => {\n if (typeof window === 'undefined') return null;\n\n try {\n const Quill = (await import('quill')).default;\n const BlockEmbed = Quill.import('blots/block/embed') as QuillBlockEmbedStatic;\n\n class VideoBlot extends (BlockEmbed as any) {\n static blotName = 'cms-video';\n static tagName = 'div';\n static className = 'ql-cms-video-wrapper';\n\n static create(value: VideoBlotValue): HTMLElement {\n const sdkHtml = getSdkHtml(value.embed);\n\n // Wrap container + caption so Quill treats them as one block\n const wrapper = document.createElement('div');\n wrapper.className = 'ql-cms-video-wrapper';\n wrapper.contentEditable = 'false';\n wrapper.setAttribute('data-embed', typeof value.embed === 'string' ? value.embed : JSON.stringify(value.embed));\n if (value.thumbnailUrl) {\n wrapper.setAttribute('data-thumbnail-url', value.thumbnailUrl);\n }\n if (value.url) {\n wrapper.setAttribute('data-video-url', value.url);\n }\n\n const isViouslySdk = /class=[\"']vsly-player[\"']/.test(sdkHtml);\n const isCmsVideo = !isViouslySdk && !!value.url;\n\n // Player container: render the Viously SDK markup from the API\n const playerContainer = document.createElement('div');\n playerContainer.className = 'ql-cms-video-player';\n playerContainer.style.position = 'relative';\n playerContainer.style.width = '100%';\n playerContainer.style.background = '#ddd';\n playerContainer.style.overflow = 'hidden';\n // Only force a 16:9 aspect ratio when the SDK markup doesn't already\n // define its own (the Viously SDK includes its own padding-top wrapper).\n if (!isViouslySdk) {\n playerContainer.style.paddingTop = '56.25%';\n }\n\n if (sdkHtml) {\n playerContainer.innerHTML = sdkHtml;\n } else if (isCmsVideo) {\n // CMS uploaded videos: render a plain <video> element using the direct URL.\n const video = document.createElement('video');\n video.src = value.url as string;\n video.setAttribute('preload', 'metadata');\n video.setAttribute('controls', '');\n video.setAttribute('muted', '');\n video.setAttribute('playsinline', '');\n video.style.position = 'absolute';\n video.style.inset = '0';\n video.style.width = '100%';\n video.style.height = '100%';\n video.style.objectFit = 'cover';\n playerContainer.appendChild(video);\n }\n\n // Only show the thumbnail preview inside the actual editor and only for\n // Viously, because the Viously SDK script doesn't run there. CMS videos\n // already show a frame via the <video> element itself.\n const isEditor =\n typeof window !== 'undefined' &&\n !!(window as unknown as Record<string, unknown>).__WAZUI_EDITOR_PREVIEW__;\n\n if (value.thumbnailUrl && isEditor && isViouslySdk) {\n const preview = document.createElement('div');\n preview.className = 'ql-cms-video-preview';\n preview.style.position = 'absolute';\n preview.style.inset = '0';\n preview.style.backgroundImage = `url(${value.thumbnailUrl})`;\n preview.style.backgroundSize = 'cover';\n preview.style.backgroundPosition = 'center';\n preview.style.display = 'flex';\n preview.style.alignItems = 'center';\n preview.style.justifyContent = 'center';\n preview.style.pointerEvents = 'none';\n\n const playIcon = document.createElement('div');\n playIcon.style.width = '64px';\n playIcon.style.height = '64px';\n playIcon.style.borderRadius = '50%';\n playIcon.style.background = 'rgba(0,0,0,0.6)';\n playIcon.style.display = 'flex';\n playIcon.style.alignItems = 'center';\n playIcon.style.justifyContent = 'center';\n\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('width', '24');\n svg.setAttribute('height', '24');\n svg.setAttribute('viewBox', '0 0 24 24');\n svg.setAttribute('fill', 'white');\n const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M8 5v14l11-7z');\n svg.appendChild(path);\n playIcon.appendChild(svg);\n\n preview.appendChild(playIcon);\n playerContainer.appendChild(preview);\n }\n\n wrapper.appendChild(playerContainer);\n\n // Create caption element\n const captionElement = document.createElement('div');\n captionElement.className = 'ql-cms-video-caption';\n captionElement.textContent = value.caption || PLACEHOLDER_CAPTION;\n captionElement.style.fontStyle = 'italic';\n captionElement.style.color = value.caption ? '#666' : '#999';\n captionElement.style.fontSize = '14px';\n captionElement.style.marginTop = '8px';\n captionElement.style.textAlign = 'center';\n captionElement.style.minHeight = '1.2em';\n captionElement.style.outline = 'none';\n captionElement.style.padding = '4px';\n captionElement.style.borderRadius = '4px';\n captionElement.style.cursor = 'text';\n captionElement.contentEditable = 'false';\n captionElement.setAttribute('data-original-caption', value.caption || '');\n\n let isEditingCaption = false;\n\n captionElement.addEventListener('click', e => {\n e.stopPropagation();\n e.preventDefault();\n\n if (isEditingCaption) return;\n\n isEditingCaption = true;\n captionElement.setAttribute('data-editing', 'true');\n captionElement.contentEditable = 'true';\n\n if (captionElement.textContent === PLACEHOLDER_CAPTION) {\n captionElement.textContent = '';\n captionElement.style.color = '#666';\n }\n\n setTimeout(() => {\n captionElement.focus();\n const range = document.createRange();\n const selection = window.getSelection();\n range.selectNodeContents(captionElement);\n range.collapse(false);\n selection?.removeAllRanges();\n selection?.addRange(range);\n }, 0);\n });\n\n captionElement.addEventListener('blur', () => {\n setTimeout(() => {\n if (!captionElement.isConnected) return;\n if (isEditingCaption) {\n isEditingCaption = false;\n captionElement.removeAttribute('data-editing');\n captionElement.contentEditable = 'false';\n const text = captionElement.textContent?.trim() || '';\n if (!text) {\n captionElement.textContent = PLACEHOLDER_CAPTION;\n captionElement.style.color = '#999';\n }\n }\n }, 10);\n });\n\n captionElement.addEventListener('keydown', e => {\n if (!isEditingCaption) return;\n\n if (e.key === 'Enter' || e.key === 'Escape') {\n e.stopPropagation();\n e.preventDefault();\n captionElement.blur();\n return;\n }\n\n if (e.key === 'Backspace') {\n const text = captionElement.textContent?.trim() || '';\n if (!text || text === PLACEHOLDER_CAPTION) {\n e.stopPropagation();\n e.preventDefault();\n\n const videoContainer = captionElement.closest('.ql-cms-video-wrapper');\n if (videoContainer && videoContainer.parentNode) {\n videoContainer.parentNode.removeChild(videoContainer);\n setTimeout(() => {\n const quillEditor = document.querySelector('.ql-editor');\n if (quillEditor) {\n (quillEditor as HTMLElement).focus();\n }\n }, 10);\n }\n return;\n }\n }\n\n e.stopPropagation();\n });\n\n captionElement.addEventListener('input', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n captionElement.addEventListener('mousedown', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n captionElement.addEventListener('mouseup', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n captionElement.addEventListener('paste', e => {\n if (isEditingCaption) {\n e.stopPropagation();\n }\n });\n\n wrapper.appendChild(captionElement);\n\n return wrapper;\n }\n\n static value(node: HTMLElement): VideoBlotReturnValue {\n const captionElement = node.querySelector('.ql-cms-video-caption');\n const playerContainer = node.querySelector('.ql-cms-video-player');\n let caption = '';\n\n if (captionElement) {\n const text = captionElement.textContent?.trim() || '';\n if (text && text !== PLACEHOLDER_CAPTION) {\n caption = text;\n }\n }\n\n // Try to recover the original embed data from the rendered SDK markup.\n // If the wrapper was created from raw HTML (e.g. pasted), fall back to\n // serialising the current player container so the content is preserved.\n let embed: VideoBlotReturnValue['embed'] = '';\n const embedData = node.getAttribute('data-embed');\n if (embedData) {\n try {\n embed = JSON.parse(embedData) as VideoBlotReturnValue['embed'];\n } catch {\n embed = embedData;\n }\n } else if (playerContainer) {\n const vslyPlayer = playerContainer.querySelector('.vsly-player');\n if (vslyPlayer) {\n embed = { sdk: vslyPlayer.outerHTML };\n } else {\n embed = { sdk: playerContainer.innerHTML };\n }\n }\n\n const thumbnailUrl = node.getAttribute('data-thumbnail-url') || undefined;\n const url = node.getAttribute('data-video-url') || undefined;\n\n return {\n embed,\n caption,\n thumbnailUrl,\n url,\n };\n }\n }\n\n return VideoBlot;\n } catch (error) {\n console.error('Failed to create VideoBlot:', error);\n return null;\n }\n};\n\nexport default createVideoBlot;\n"],"names":["PLACEHOLDER_CAPTION","parseEmbed","value","getSdkHtml","embed","createVideoBlot","BlockEmbed","VideoBlot","sdkHtml","wrapper","isViouslySdk","isCmsVideo","playerContainer","video","isEditor","preview","playIcon","svg","path","captionElement","isEditingCaption","e","range","selection","_a","text","videoContainer","quillEditor","node","caption","embedData","vslyPlayer","thumbnailUrl","url","__publicField","error"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- [diffend] Oversized file quarantined before diffing.
2
- name: package/dist/index-BLX-FC63.cjs.map
3
- size: 35535654 bytes
4
- sha256: b6aeed9514a1e4b0b86b04ad9f680e7febf88d4e3cd3bae3072e74f7671021e4
@@ -1,4 +0,0 @@
1
- [diffend] Oversized file quarantined before diffing.
2
- name: package/dist/index-DLQ6iElj.js.map
3
- size: 35804967 bytes
4
- sha256: c8b01a5f6fa768ca27690dfb0b16874e250ee1fbbcc0a1c17cb34b4de5eddb32