@wazobiatech/wazui 1.1.1 → 1.1.2

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 (37) hide show
  1. package/dist/{PictureBlot-k3ktT31b.js → PictureBlot-C_WrJa54.js} +2 -2
  2. package/dist/{PictureBlot-k3ktT31b.js.map → PictureBlot-C_WrJa54.js.map} +1 -1
  3. package/dist/{PictureBlot-BnvSxePh.cjs → PictureBlot-gNi_BGBG.cjs} +2 -2
  4. package/dist/{PictureBlot-BnvSxePh.cjs.map → PictureBlot-gNi_BGBG.cjs.map} +1 -1
  5. package/dist/VideoBlot-BO5DI6tu.cjs +2 -0
  6. package/dist/VideoBlot-BO5DI6tu.cjs.map +1 -0
  7. package/dist/VideoBlot-DlZMcpsq.js +119 -0
  8. package/dist/VideoBlot-DlZMcpsq.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/hooks.d.ts +5 -1
  12. package/dist/components/wazui/WazUiGqlMediaLibrary/hooks.d.ts.map +1 -1
  13. package/dist/components/wazui/WazUiGqlMediaLibrary/provider.d.ts.map +1 -1
  14. package/dist/components/wazui/WazUiGqlMediaLibrary/samples/queries.d.ts.map +1 -1
  15. package/dist/components/wazui/WazUiGqlMediaLibrary/types.d.ts +14 -0
  16. package/dist/components/wazui/WazUiGqlMediaLibrary/types.d.ts.map +1 -1
  17. package/dist/components/wazui/WazUiWysiwygInput/blots/VideoBlot.d.ts.map +1 -1
  18. package/dist/components/wazui/WazUiWysiwygInput/blots/types.d.ts +9 -2
  19. package/dist/components/wazui/WazUiWysiwygInput/blots/types.d.ts.map +1 -1
  20. package/dist/{index-DN4dcdTU.cjs → index-BpeeBaVk.cjs} +184 -183
  21. package/dist/index-BpeeBaVk.cjs.map +4 -0
  22. package/dist/{index-B6ZsepES.js → index-CjfGnQEn.js} +9473 -9410
  23. package/dist/index-CjfGnQEn.js.map +4 -0
  24. package/dist/index.js +1 -1
  25. package/dist/index.mjs +1 -1
  26. package/dist/{quill-DM-ji8UV.cjs → quill-CsFCK9VI.cjs} +2 -2
  27. package/dist/{quill-DM-ji8UV.cjs.map → quill-CsFCK9VI.cjs.map} +1 -1
  28. package/dist/{quill-CCxwWz9p.js → quill-DvR5ek_W.js} +2 -2
  29. package/dist/{quill-CCxwWz9p.js.map → quill-DvR5ek_W.js.map} +1 -1
  30. package/dist/styles.css +1 -1
  31. package/package.json +1 -1
  32. package/dist/VideoBlot-Ckf5WiUX.js +0 -90
  33. package/dist/VideoBlot-Ckf5WiUX.js.map +0 -1
  34. package/dist/VideoBlot-Dd56DXr0.cjs +0 -2
  35. package/dist/VideoBlot-Dd56DXr0.cjs.map +0 -1
  36. package/dist/index-B6ZsepES.js.map +0 -4
  37. package/dist/index-DN4dcdTU.cjs.map +0 -4
@@ -5,7 +5,7 @@ var y = (d, a, s) => b(d, typeof a != "symbol" ? a + "" : a, s);
5
5
  const h = async () => {
6
6
  if (typeof window > "u") return null;
7
7
  try {
8
- const a = (await import("./quill-CCxwWz9p.js")).default.import("blots/block/embed");
8
+ const a = (await import("./quill-DvR5ek_W.js")).default.import("blots/block/embed");
9
9
  class s extends a {
10
10
  static create(r) {
11
11
  const p = document.createElement("div");
@@ -99,4 +99,4 @@ const h = async () => {
99
99
  export {
100
100
  h as default
101
101
  };
102
- //# sourceMappingURL=PictureBlot-k3ktT31b.js.map
102
+ //# sourceMappingURL=PictureBlot-C_WrJa54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PictureBlot-k3ktT31b.js","sources":["../src/components/wazui/WazUiWysiwygInput/blots/PictureBlot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { PictureBlotReturnValue, PictureBlotValue, QuillBlockEmbedStatic } from './types';\r\n\r\nconst createPictureBlot = async () => {\r\n if (typeof window === 'undefined') return null;\r\n\r\n try {\r\n const Quill = (await import('quill')).default;\r\n const BlockEmbed = Quill.import('blots/block/embed') as QuillBlockEmbedStatic;\r\n\r\n class PictureBlot extends (BlockEmbed as any) {\r\n static blotName = 'picture';\r\n static tagName = 'div';\r\n static className = 'ql-picture-container';\r\n\r\n static create(value: PictureBlotValue): HTMLElement {\r\n const container = document.createElement('div');\r\n container.className = 'ql-picture-container';\r\n container.style.margin = '1em 0';\r\n\r\n const pictureElement = document.createElement('picture');\r\n\r\n // Create source elements\r\n value.sources.forEach(source => {\r\n const sourceElement = document.createElement('source');\r\n sourceElement.setAttribute('media', source.media);\r\n sourceElement.setAttribute('srcset', source.srcset);\r\n sourceElement.setAttribute('type', source.type);\r\n pictureElement.appendChild(sourceElement);\r\n });\r\n\r\n // Create fallback img element\r\n const imgElement = document.createElement('img');\r\n imgElement.setAttribute('src', value.fallbackSrc);\r\n imgElement.setAttribute('alt', value.alt);\r\n imgElement.setAttribute('loading', 'lazy');\r\n imgElement.style.maxWidth = '100%';\r\n imgElement.style.height = 'auto';\r\n pictureElement.appendChild(imgElement);\r\n\r\n // Create caption element\r\n const captionWrapper = document.createElement('div');\r\n captionWrapper.className = 'ql-picture-caption-wrapper';\r\n captionWrapper.style.position = 'relative';\r\n\r\n const captionElement = document.createElement('div');\r\n captionElement.className = 'ql-picture-caption';\r\n captionElement.innerHTML = value.caption || 'Click to edit caption...';\r\n captionElement.style.fontStyle = 'italic';\r\n captionElement.style.color = value.caption ? '#666' : '#999';\r\n captionElement.style.fontSize = '14px';\r\n captionElement.style.marginTop = '8px';\r\n captionElement.style.textAlign = 'center';\r\n captionElement.style.minHeight = '1.2em';\r\n captionElement.style.outline = 'none';\r\n captionElement.style.padding = '4px';\r\n captionElement.style.borderRadius = '4px';\r\n captionElement.style.cursor = 'text';\r\n captionElement.style.border = '1px solid transparent';\r\n\r\n // Make it NOT contenteditable initially to prevent interference\r\n captionElement.contentEditable = 'false';\r\n\r\n // Store original caption value\r\n captionElement.setAttribute('data-original-caption', value.caption || '');\r\n\r\n // Flag to track editing state\r\n let isEditingCaption = false;\r\n\r\n // Enhanced click handler with better focus management\r\n captionElement.addEventListener('click', e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if (isEditingCaption) return; // Already editing\r\n\r\n isEditingCaption = true;\r\n\r\n // Mark the caption as being edited (for Quill to ignore)\r\n captionElement.setAttribute('data-editing', 'true');\r\n\r\n // Enter edit mode\r\n captionElement.contentEditable = 'true';\r\n\r\n // Handle placeholder\r\n if (captionElement.innerHTML === 'Click to edit caption...') {\r\n captionElement.innerHTML = '';\r\n captionElement.style.color = '#666';\r\n }\r\n\r\n captionElement.style.border = '1px solid #ddd';\r\n\r\n // Focus with a slight delay to ensure DOM is ready\r\n setTimeout(() => {\r\n captionElement.focus();\r\n\r\n // Set cursor position at the end\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n if (captionElement.childNodes.length > 0) {\r\n const lastNode = captionElement.childNodes[captionElement.childNodes.length - 1];\r\n if (lastNode && lastNode.nodeType === Node.TEXT_NODE) {\r\n range.setStart(lastNode, lastNode.textContent?.length || 0);\r\n } else if (lastNode) {\r\n range.setStartAfter(lastNode);\r\n }\r\n } else {\r\n range.setStart(captionElement, 0);\r\n }\r\n\r\n range.collapse(true);\r\n selection?.removeAllRanges();\r\n selection?.addRange(range);\r\n }, 0);\r\n });\r\n\r\n // Enhanced blur handler\r\n captionElement.addEventListener('blur', () => {\r\n // Small delay to prevent immediate re-blur from Quill interference\r\n setTimeout(() => {\r\n if (isEditingCaption) {\r\n isEditingCaption = false;\r\n captionElement.removeAttribute('data-editing');\r\n\r\n // Exit edit mode\r\n captionElement.contentEditable = 'false';\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>') {\r\n captionElement.innerHTML = 'Click to edit caption...';\r\n captionElement.style.color = '#999';\r\n }\r\n captionElement.style.border = '1px solid transparent';\r\n }\r\n }, 10);\r\n });\r\n\r\n // Improved keydown handler\r\n captionElement.addEventListener('keydown', e => {\r\n if (!isEditingCaption) return;\r\n\r\n // Handle Enter and Escape to exit edit mode\r\n if (e.key === 'Enter' || e.key === 'Escape') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n captionElement.blur();\r\n return;\r\n }\r\n\r\n // Handle backspace when caption is empty - delete the entire image\r\n if (e.key === 'Backspace') {\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>' || text === 'Click to edit caption...') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n // Delete the entire image container\r\n const imageContainer = captionElement.closest('.ql-picture-container');\r\n if (imageContainer && imageContainer.parentNode) {\r\n imageContainer.parentNode.removeChild(imageContainer);\r\n\r\n // Try to focus back to the editor\r\n setTimeout(() => {\r\n const quillEditor = document.querySelector('.ql-editor');\r\n if (quillEditor) {\r\n (quillEditor as HTMLElement).focus();\r\n }\r\n }, 10);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n // Stop all other events from reaching Quill during caption editing\r\n e.stopPropagation();\r\n });\r\n\r\n // Stop input events from reaching Quill during editing\r\n captionElement.addEventListener('input', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Prevent mouse events from reaching Quill during editing\r\n captionElement.addEventListener('mousedown', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n captionElement.addEventListener('mouseup', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Add paste event handler to prevent bubbling to main editor\r\n captionElement.addEventListener('paste', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation(); // Prevent bubbling to Quill's paste handler\r\n // Let the default paste behavior handle the text insertion into caption\r\n }\r\n });\r\n\r\n // Prevent mouse events from bubbling to Quill - REMOVE THESE\r\n // captionElement.addEventListener('mousedown', (e) => {\r\n // e.stopPropagation();\r\n // });\r\n\r\n // captionElement.addEventListener('click', (e) => {\r\n // e.stopPropagation();\r\n // captionElement.focus();\r\n // });\r\n\r\n captionWrapper.appendChild(captionElement);\r\n container.appendChild(pictureElement);\r\n container.appendChild(captionWrapper);\r\n\r\n // Make the container non-editable for Quill\r\n container.contentEditable = 'false';\r\n\r\n return container;\r\n }\r\n\r\n static value(node: HTMLElement): PictureBlotReturnValue {\r\n const sources = Array.from(node.querySelectorAll('source')).map(source => ({\r\n media: source.getAttribute('media') || '',\r\n srcset: source.getAttribute('srcset') || '',\r\n type: source.getAttribute('type') || '',\r\n }));\r\n\r\n const img = node.querySelector('img');\r\n const captionElement = node.querySelector('.ql-picture-caption');\r\n let caption = '';\r\n\r\n if (captionElement) {\r\n const text = captionElement.innerHTML.trim();\r\n if (text && text !== 'Click to edit caption...') {\r\n caption = text;\r\n }\r\n }\r\n\r\n return {\r\n sources,\r\n fallbackSrc: img?.getAttribute('src') || '',\r\n alt: img?.getAttribute('alt') || '',\r\n caption,\r\n };\r\n }\r\n }\r\n\r\n return PictureBlot;\r\n } catch (error) {\r\n console.error('Failed to create PictureBlot:', error);\r\n return null;\r\n }\r\n};\r\n\r\nexport default createPictureBlot;\r\n"],"names":["createPictureBlot","BlockEmbed","PictureBlot","value","container","pictureElement","source","sourceElement","imgElement","captionWrapper","captionElement","isEditingCaption","range","selection","lastNode","_a","text","imageContainer","quillEditor","node","sources","img","caption","__publicField","error"],"mappings":"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"}
1
+ {"version":3,"file":"PictureBlot-C_WrJa54.js","sources":["../src/components/wazui/WazUiWysiwygInput/blots/PictureBlot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { PictureBlotReturnValue, PictureBlotValue, QuillBlockEmbedStatic } from './types';\r\n\r\nconst createPictureBlot = async () => {\r\n if (typeof window === 'undefined') return null;\r\n\r\n try {\r\n const Quill = (await import('quill')).default;\r\n const BlockEmbed = Quill.import('blots/block/embed') as QuillBlockEmbedStatic;\r\n\r\n class PictureBlot extends (BlockEmbed as any) {\r\n static blotName = 'picture';\r\n static tagName = 'div';\r\n static className = 'ql-picture-container';\r\n\r\n static create(value: PictureBlotValue): HTMLElement {\r\n const container = document.createElement('div');\r\n container.className = 'ql-picture-container';\r\n container.style.margin = '1em 0';\r\n\r\n const pictureElement = document.createElement('picture');\r\n\r\n // Create source elements\r\n value.sources.forEach(source => {\r\n const sourceElement = document.createElement('source');\r\n sourceElement.setAttribute('media', source.media);\r\n sourceElement.setAttribute('srcset', source.srcset);\r\n sourceElement.setAttribute('type', source.type);\r\n pictureElement.appendChild(sourceElement);\r\n });\r\n\r\n // Create fallback img element\r\n const imgElement = document.createElement('img');\r\n imgElement.setAttribute('src', value.fallbackSrc);\r\n imgElement.setAttribute('alt', value.alt);\r\n imgElement.setAttribute('loading', 'lazy');\r\n imgElement.style.maxWidth = '100%';\r\n imgElement.style.height = 'auto';\r\n pictureElement.appendChild(imgElement);\r\n\r\n // Create caption element\r\n const captionWrapper = document.createElement('div');\r\n captionWrapper.className = 'ql-picture-caption-wrapper';\r\n captionWrapper.style.position = 'relative';\r\n\r\n const captionElement = document.createElement('div');\r\n captionElement.className = 'ql-picture-caption';\r\n captionElement.innerHTML = value.caption || 'Click to edit caption...';\r\n captionElement.style.fontStyle = 'italic';\r\n captionElement.style.color = value.caption ? '#666' : '#999';\r\n captionElement.style.fontSize = '14px';\r\n captionElement.style.marginTop = '8px';\r\n captionElement.style.textAlign = 'center';\r\n captionElement.style.minHeight = '1.2em';\r\n captionElement.style.outline = 'none';\r\n captionElement.style.padding = '4px';\r\n captionElement.style.borderRadius = '4px';\r\n captionElement.style.cursor = 'text';\r\n captionElement.style.border = '1px solid transparent';\r\n\r\n // Make it NOT contenteditable initially to prevent interference\r\n captionElement.contentEditable = 'false';\r\n\r\n // Store original caption value\r\n captionElement.setAttribute('data-original-caption', value.caption || '');\r\n\r\n // Flag to track editing state\r\n let isEditingCaption = false;\r\n\r\n // Enhanced click handler with better focus management\r\n captionElement.addEventListener('click', e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if (isEditingCaption) return; // Already editing\r\n\r\n isEditingCaption = true;\r\n\r\n // Mark the caption as being edited (for Quill to ignore)\r\n captionElement.setAttribute('data-editing', 'true');\r\n\r\n // Enter edit mode\r\n captionElement.contentEditable = 'true';\r\n\r\n // Handle placeholder\r\n if (captionElement.innerHTML === 'Click to edit caption...') {\r\n captionElement.innerHTML = '';\r\n captionElement.style.color = '#666';\r\n }\r\n\r\n captionElement.style.border = '1px solid #ddd';\r\n\r\n // Focus with a slight delay to ensure DOM is ready\r\n setTimeout(() => {\r\n captionElement.focus();\r\n\r\n // Set cursor position at the end\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n if (captionElement.childNodes.length > 0) {\r\n const lastNode = captionElement.childNodes[captionElement.childNodes.length - 1];\r\n if (lastNode && lastNode.nodeType === Node.TEXT_NODE) {\r\n range.setStart(lastNode, lastNode.textContent?.length || 0);\r\n } else if (lastNode) {\r\n range.setStartAfter(lastNode);\r\n }\r\n } else {\r\n range.setStart(captionElement, 0);\r\n }\r\n\r\n range.collapse(true);\r\n selection?.removeAllRanges();\r\n selection?.addRange(range);\r\n }, 0);\r\n });\r\n\r\n // Enhanced blur handler\r\n captionElement.addEventListener('blur', () => {\r\n // Small delay to prevent immediate re-blur from Quill interference\r\n setTimeout(() => {\r\n if (isEditingCaption) {\r\n isEditingCaption = false;\r\n captionElement.removeAttribute('data-editing');\r\n\r\n // Exit edit mode\r\n captionElement.contentEditable = 'false';\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>') {\r\n captionElement.innerHTML = 'Click to edit caption...';\r\n captionElement.style.color = '#999';\r\n }\r\n captionElement.style.border = '1px solid transparent';\r\n }\r\n }, 10);\r\n });\r\n\r\n // Improved keydown handler\r\n captionElement.addEventListener('keydown', e => {\r\n if (!isEditingCaption) return;\r\n\r\n // Handle Enter and Escape to exit edit mode\r\n if (e.key === 'Enter' || e.key === 'Escape') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n captionElement.blur();\r\n return;\r\n }\r\n\r\n // Handle backspace when caption is empty - delete the entire image\r\n if (e.key === 'Backspace') {\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>' || text === 'Click to edit caption...') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n // Delete the entire image container\r\n const imageContainer = captionElement.closest('.ql-picture-container');\r\n if (imageContainer && imageContainer.parentNode) {\r\n imageContainer.parentNode.removeChild(imageContainer);\r\n\r\n // Try to focus back to the editor\r\n setTimeout(() => {\r\n const quillEditor = document.querySelector('.ql-editor');\r\n if (quillEditor) {\r\n (quillEditor as HTMLElement).focus();\r\n }\r\n }, 10);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n // Stop all other events from reaching Quill during caption editing\r\n e.stopPropagation();\r\n });\r\n\r\n // Stop input events from reaching Quill during editing\r\n captionElement.addEventListener('input', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Prevent mouse events from reaching Quill during editing\r\n captionElement.addEventListener('mousedown', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n captionElement.addEventListener('mouseup', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Add paste event handler to prevent bubbling to main editor\r\n captionElement.addEventListener('paste', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation(); // Prevent bubbling to Quill's paste handler\r\n // Let the default paste behavior handle the text insertion into caption\r\n }\r\n });\r\n\r\n // Prevent mouse events from bubbling to Quill - REMOVE THESE\r\n // captionElement.addEventListener('mousedown', (e) => {\r\n // e.stopPropagation();\r\n // });\r\n\r\n // captionElement.addEventListener('click', (e) => {\r\n // e.stopPropagation();\r\n // captionElement.focus();\r\n // });\r\n\r\n captionWrapper.appendChild(captionElement);\r\n container.appendChild(pictureElement);\r\n container.appendChild(captionWrapper);\r\n\r\n // Make the container non-editable for Quill\r\n container.contentEditable = 'false';\r\n\r\n return container;\r\n }\r\n\r\n static value(node: HTMLElement): PictureBlotReturnValue {\r\n const sources = Array.from(node.querySelectorAll('source')).map(source => ({\r\n media: source.getAttribute('media') || '',\r\n srcset: source.getAttribute('srcset') || '',\r\n type: source.getAttribute('type') || '',\r\n }));\r\n\r\n const img = node.querySelector('img');\r\n const captionElement = node.querySelector('.ql-picture-caption');\r\n let caption = '';\r\n\r\n if (captionElement) {\r\n const text = captionElement.innerHTML.trim();\r\n if (text && text !== 'Click to edit caption...') {\r\n caption = text;\r\n }\r\n }\r\n\r\n return {\r\n sources,\r\n fallbackSrc: img?.getAttribute('src') || '',\r\n alt: img?.getAttribute('alt') || '',\r\n caption,\r\n };\r\n }\r\n }\r\n\r\n return PictureBlot;\r\n } catch (error) {\r\n console.error('Failed to create PictureBlot:', error);\r\n return null;\r\n }\r\n};\r\n\r\nexport default createPictureBlot;\r\n"],"names":["createPictureBlot","BlockEmbed","PictureBlot","value","container","pictureElement","source","sourceElement","imgElement","captionWrapper","captionElement","isEditingCaption","range","selection","lastNode","_a","text","imageContainer","quillEditor","node","sources","img","caption","__publicField","error"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";"use strict";var g=Object.defineProperty;var b=(d,a,s)=>a in d?g(d,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):d[a]=s;var y=(d,a,s)=>b(d,typeof a!="symbol"?a+"":a,s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=async()=>{if(typeof window>"u")return null;try{const a=(await Promise.resolve().then(()=>require("./quill-DM-ji8UV.cjs"))).default.import("blots/block/embed");class s extends a{static create(r){const p=document.createElement("div");p.className="ql-picture-container",p.style.margin="1em 0";const o=document.createElement("picture");r.sources.forEach(e=>{const i=document.createElement("source");i.setAttribute("media",e.media),i.setAttribute("srcset",e.srcset),i.setAttribute("type",e.type),o.appendChild(i)});const l=document.createElement("img");l.setAttribute("src",r.fallbackSrc),l.setAttribute("alt",r.alt),l.setAttribute("loading","lazy"),l.style.maxWidth="100%",l.style.height="auto",o.appendChild(l);const u=document.createElement("div");u.className="ql-picture-caption-wrapper",u.style.position="relative";const t=document.createElement("div");t.className="ql-picture-caption",t.innerHTML=r.caption||"Click to edit caption...",t.style.fontStyle="italic",t.style.color=r.caption?"#666":"#999",t.style.fontSize="14px",t.style.marginTop="8px",t.style.textAlign="center",t.style.minHeight="1.2em",t.style.outline="none",t.style.padding="4px",t.style.borderRadius="4px",t.style.cursor="text",t.style.border="1px solid transparent",t.contentEditable="false",t.setAttribute("data-original-caption",r.caption||"");let c=!1;return t.addEventListener("click",e=>{e.stopPropagation(),e.preventDefault(),!c&&(c=!0,t.setAttribute("data-editing","true"),t.contentEditable="true",t.innerHTML==="Click to edit caption..."&&(t.innerHTML="",t.style.color="#666"),t.style.border="1px solid #ddd",setTimeout(()=>{var f;t.focus();const i=document.createRange(),n=window.getSelection();if(t.childNodes.length>0){const m=t.childNodes[t.childNodes.length-1];m&&m.nodeType===Node.TEXT_NODE?i.setStart(m,((f=m.textContent)==null?void 0:f.length)||0):m&&i.setStartAfter(m)}else i.setStart(t,0);i.collapse(!0),n==null||n.removeAllRanges(),n==null||n.addRange(i)},0))}),t.addEventListener("blur",()=>{setTimeout(()=>{if(c){c=!1,t.removeAttribute("data-editing"),t.contentEditable="false";const e=t.innerHTML.trim();(!e||e==="<br>")&&(t.innerHTML="Click to edit caption...",t.style.color="#999"),t.style.border="1px solid transparent"}},10)}),t.addEventListener("keydown",e=>{if(c){if(e.key==="Enter"||e.key==="Escape"){e.stopPropagation(),e.preventDefault(),t.blur();return}if(e.key==="Backspace"){const i=t.innerHTML.trim();if(!i||i==="<br>"||i==="Click to edit caption..."){e.stopPropagation(),e.preventDefault();const n=t.closest(".ql-picture-container");n&&n.parentNode&&(n.parentNode.removeChild(n),setTimeout(()=>{const f=document.querySelector(".ql-editor");f&&f.focus()},10));return}}e.stopPropagation()}}),t.addEventListener("input",e=>{c&&e.stopPropagation()}),t.addEventListener("mousedown",e=>{c&&e.stopPropagation()}),t.addEventListener("mouseup",e=>{c&&e.stopPropagation()}),t.addEventListener("paste",e=>{c&&e.stopPropagation()}),u.appendChild(t),p.appendChild(o),p.appendChild(u),p.contentEditable="false",p}static value(r){const p=Array.from(r.querySelectorAll("source")).map(t=>({media:t.getAttribute("media")||"",srcset:t.getAttribute("srcset")||"",type:t.getAttribute("type")||""})),o=r.querySelector("img"),l=r.querySelector(".ql-picture-caption");let u="";if(l){const t=l.innerHTML.trim();t&&t!=="Click to edit caption..."&&(u=t)}return{sources:p,fallbackSrc:(o==null?void 0:o.getAttribute("src"))||"",alt:(o==null?void 0:o.getAttribute("alt"))||"",caption:u}}}return y(s,"blotName","picture"),y(s,"tagName","div"),y(s,"className","ql-picture-container"),s}catch(d){return console.error("Failed to create PictureBlot:",d),null}};exports.default=E;
2
- //# sourceMappingURL=PictureBlot-BnvSxePh.cjs.map
1
+ "use client";"use strict";var g=Object.defineProperty;var b=(d,a,s)=>a in d?g(d,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):d[a]=s;var y=(d,a,s)=>b(d,typeof a!="symbol"?a+"":a,s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=async()=>{if(typeof window>"u")return null;try{const a=(await Promise.resolve().then(()=>require("./quill-CsFCK9VI.cjs"))).default.import("blots/block/embed");class s extends a{static create(r){const p=document.createElement("div");p.className="ql-picture-container",p.style.margin="1em 0";const o=document.createElement("picture");r.sources.forEach(e=>{const i=document.createElement("source");i.setAttribute("media",e.media),i.setAttribute("srcset",e.srcset),i.setAttribute("type",e.type),o.appendChild(i)});const l=document.createElement("img");l.setAttribute("src",r.fallbackSrc),l.setAttribute("alt",r.alt),l.setAttribute("loading","lazy"),l.style.maxWidth="100%",l.style.height="auto",o.appendChild(l);const u=document.createElement("div");u.className="ql-picture-caption-wrapper",u.style.position="relative";const t=document.createElement("div");t.className="ql-picture-caption",t.innerHTML=r.caption||"Click to edit caption...",t.style.fontStyle="italic",t.style.color=r.caption?"#666":"#999",t.style.fontSize="14px",t.style.marginTop="8px",t.style.textAlign="center",t.style.minHeight="1.2em",t.style.outline="none",t.style.padding="4px",t.style.borderRadius="4px",t.style.cursor="text",t.style.border="1px solid transparent",t.contentEditable="false",t.setAttribute("data-original-caption",r.caption||"");let c=!1;return t.addEventListener("click",e=>{e.stopPropagation(),e.preventDefault(),!c&&(c=!0,t.setAttribute("data-editing","true"),t.contentEditable="true",t.innerHTML==="Click to edit caption..."&&(t.innerHTML="",t.style.color="#666"),t.style.border="1px solid #ddd",setTimeout(()=>{var f;t.focus();const i=document.createRange(),n=window.getSelection();if(t.childNodes.length>0){const m=t.childNodes[t.childNodes.length-1];m&&m.nodeType===Node.TEXT_NODE?i.setStart(m,((f=m.textContent)==null?void 0:f.length)||0):m&&i.setStartAfter(m)}else i.setStart(t,0);i.collapse(!0),n==null||n.removeAllRanges(),n==null||n.addRange(i)},0))}),t.addEventListener("blur",()=>{setTimeout(()=>{if(c){c=!1,t.removeAttribute("data-editing"),t.contentEditable="false";const e=t.innerHTML.trim();(!e||e==="<br>")&&(t.innerHTML="Click to edit caption...",t.style.color="#999"),t.style.border="1px solid transparent"}},10)}),t.addEventListener("keydown",e=>{if(c){if(e.key==="Enter"||e.key==="Escape"){e.stopPropagation(),e.preventDefault(),t.blur();return}if(e.key==="Backspace"){const i=t.innerHTML.trim();if(!i||i==="<br>"||i==="Click to edit caption..."){e.stopPropagation(),e.preventDefault();const n=t.closest(".ql-picture-container");n&&n.parentNode&&(n.parentNode.removeChild(n),setTimeout(()=>{const f=document.querySelector(".ql-editor");f&&f.focus()},10));return}}e.stopPropagation()}}),t.addEventListener("input",e=>{c&&e.stopPropagation()}),t.addEventListener("mousedown",e=>{c&&e.stopPropagation()}),t.addEventListener("mouseup",e=>{c&&e.stopPropagation()}),t.addEventListener("paste",e=>{c&&e.stopPropagation()}),u.appendChild(t),p.appendChild(o),p.appendChild(u),p.contentEditable="false",p}static value(r){const p=Array.from(r.querySelectorAll("source")).map(t=>({media:t.getAttribute("media")||"",srcset:t.getAttribute("srcset")||"",type:t.getAttribute("type")||""})),o=r.querySelector("img"),l=r.querySelector(".ql-picture-caption");let u="";if(l){const t=l.innerHTML.trim();t&&t!=="Click to edit caption..."&&(u=t)}return{sources:p,fallbackSrc:(o==null?void 0:o.getAttribute("src"))||"",alt:(o==null?void 0:o.getAttribute("alt"))||"",caption:u}}}return y(s,"blotName","picture"),y(s,"tagName","div"),y(s,"className","ql-picture-container"),s}catch(d){return console.error("Failed to create PictureBlot:",d),null}};exports.default=E;
2
+ //# sourceMappingURL=PictureBlot-gNi_BGBG.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"PictureBlot-BnvSxePh.cjs","sources":["../src/components/wazui/WazUiWysiwygInput/blots/PictureBlot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { PictureBlotReturnValue, PictureBlotValue, QuillBlockEmbedStatic } from './types';\r\n\r\nconst createPictureBlot = async () => {\r\n if (typeof window === 'undefined') return null;\r\n\r\n try {\r\n const Quill = (await import('quill')).default;\r\n const BlockEmbed = Quill.import('blots/block/embed') as QuillBlockEmbedStatic;\r\n\r\n class PictureBlot extends (BlockEmbed as any) {\r\n static blotName = 'picture';\r\n static tagName = 'div';\r\n static className = 'ql-picture-container';\r\n\r\n static create(value: PictureBlotValue): HTMLElement {\r\n const container = document.createElement('div');\r\n container.className = 'ql-picture-container';\r\n container.style.margin = '1em 0';\r\n\r\n const pictureElement = document.createElement('picture');\r\n\r\n // Create source elements\r\n value.sources.forEach(source => {\r\n const sourceElement = document.createElement('source');\r\n sourceElement.setAttribute('media', source.media);\r\n sourceElement.setAttribute('srcset', source.srcset);\r\n sourceElement.setAttribute('type', source.type);\r\n pictureElement.appendChild(sourceElement);\r\n });\r\n\r\n // Create fallback img element\r\n const imgElement = document.createElement('img');\r\n imgElement.setAttribute('src', value.fallbackSrc);\r\n imgElement.setAttribute('alt', value.alt);\r\n imgElement.setAttribute('loading', 'lazy');\r\n imgElement.style.maxWidth = '100%';\r\n imgElement.style.height = 'auto';\r\n pictureElement.appendChild(imgElement);\r\n\r\n // Create caption element\r\n const captionWrapper = document.createElement('div');\r\n captionWrapper.className = 'ql-picture-caption-wrapper';\r\n captionWrapper.style.position = 'relative';\r\n\r\n const captionElement = document.createElement('div');\r\n captionElement.className = 'ql-picture-caption';\r\n captionElement.innerHTML = value.caption || 'Click to edit caption...';\r\n captionElement.style.fontStyle = 'italic';\r\n captionElement.style.color = value.caption ? '#666' : '#999';\r\n captionElement.style.fontSize = '14px';\r\n captionElement.style.marginTop = '8px';\r\n captionElement.style.textAlign = 'center';\r\n captionElement.style.minHeight = '1.2em';\r\n captionElement.style.outline = 'none';\r\n captionElement.style.padding = '4px';\r\n captionElement.style.borderRadius = '4px';\r\n captionElement.style.cursor = 'text';\r\n captionElement.style.border = '1px solid transparent';\r\n\r\n // Make it NOT contenteditable initially to prevent interference\r\n captionElement.contentEditable = 'false';\r\n\r\n // Store original caption value\r\n captionElement.setAttribute('data-original-caption', value.caption || '');\r\n\r\n // Flag to track editing state\r\n let isEditingCaption = false;\r\n\r\n // Enhanced click handler with better focus management\r\n captionElement.addEventListener('click', e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if (isEditingCaption) return; // Already editing\r\n\r\n isEditingCaption = true;\r\n\r\n // Mark the caption as being edited (for Quill to ignore)\r\n captionElement.setAttribute('data-editing', 'true');\r\n\r\n // Enter edit mode\r\n captionElement.contentEditable = 'true';\r\n\r\n // Handle placeholder\r\n if (captionElement.innerHTML === 'Click to edit caption...') {\r\n captionElement.innerHTML = '';\r\n captionElement.style.color = '#666';\r\n }\r\n\r\n captionElement.style.border = '1px solid #ddd';\r\n\r\n // Focus with a slight delay to ensure DOM is ready\r\n setTimeout(() => {\r\n captionElement.focus();\r\n\r\n // Set cursor position at the end\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n if (captionElement.childNodes.length > 0) {\r\n const lastNode = captionElement.childNodes[captionElement.childNodes.length - 1];\r\n if (lastNode && lastNode.nodeType === Node.TEXT_NODE) {\r\n range.setStart(lastNode, lastNode.textContent?.length || 0);\r\n } else if (lastNode) {\r\n range.setStartAfter(lastNode);\r\n }\r\n } else {\r\n range.setStart(captionElement, 0);\r\n }\r\n\r\n range.collapse(true);\r\n selection?.removeAllRanges();\r\n selection?.addRange(range);\r\n }, 0);\r\n });\r\n\r\n // Enhanced blur handler\r\n captionElement.addEventListener('blur', () => {\r\n // Small delay to prevent immediate re-blur from Quill interference\r\n setTimeout(() => {\r\n if (isEditingCaption) {\r\n isEditingCaption = false;\r\n captionElement.removeAttribute('data-editing');\r\n\r\n // Exit edit mode\r\n captionElement.contentEditable = 'false';\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>') {\r\n captionElement.innerHTML = 'Click to edit caption...';\r\n captionElement.style.color = '#999';\r\n }\r\n captionElement.style.border = '1px solid transparent';\r\n }\r\n }, 10);\r\n });\r\n\r\n // Improved keydown handler\r\n captionElement.addEventListener('keydown', e => {\r\n if (!isEditingCaption) return;\r\n\r\n // Handle Enter and Escape to exit edit mode\r\n if (e.key === 'Enter' || e.key === 'Escape') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n captionElement.blur();\r\n return;\r\n }\r\n\r\n // Handle backspace when caption is empty - delete the entire image\r\n if (e.key === 'Backspace') {\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>' || text === 'Click to edit caption...') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n // Delete the entire image container\r\n const imageContainer = captionElement.closest('.ql-picture-container');\r\n if (imageContainer && imageContainer.parentNode) {\r\n imageContainer.parentNode.removeChild(imageContainer);\r\n\r\n // Try to focus back to the editor\r\n setTimeout(() => {\r\n const quillEditor = document.querySelector('.ql-editor');\r\n if (quillEditor) {\r\n (quillEditor as HTMLElement).focus();\r\n }\r\n }, 10);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n // Stop all other events from reaching Quill during caption editing\r\n e.stopPropagation();\r\n });\r\n\r\n // Stop input events from reaching Quill during editing\r\n captionElement.addEventListener('input', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Prevent mouse events from reaching Quill during editing\r\n captionElement.addEventListener('mousedown', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n captionElement.addEventListener('mouseup', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Add paste event handler to prevent bubbling to main editor\r\n captionElement.addEventListener('paste', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation(); // Prevent bubbling to Quill's paste handler\r\n // Let the default paste behavior handle the text insertion into caption\r\n }\r\n });\r\n\r\n // Prevent mouse events from bubbling to Quill - REMOVE THESE\r\n // captionElement.addEventListener('mousedown', (e) => {\r\n // e.stopPropagation();\r\n // });\r\n\r\n // captionElement.addEventListener('click', (e) => {\r\n // e.stopPropagation();\r\n // captionElement.focus();\r\n // });\r\n\r\n captionWrapper.appendChild(captionElement);\r\n container.appendChild(pictureElement);\r\n container.appendChild(captionWrapper);\r\n\r\n // Make the container non-editable for Quill\r\n container.contentEditable = 'false';\r\n\r\n return container;\r\n }\r\n\r\n static value(node: HTMLElement): PictureBlotReturnValue {\r\n const sources = Array.from(node.querySelectorAll('source')).map(source => ({\r\n media: source.getAttribute('media') || '',\r\n srcset: source.getAttribute('srcset') || '',\r\n type: source.getAttribute('type') || '',\r\n }));\r\n\r\n const img = node.querySelector('img');\r\n const captionElement = node.querySelector('.ql-picture-caption');\r\n let caption = '';\r\n\r\n if (captionElement) {\r\n const text = captionElement.innerHTML.trim();\r\n if (text && text !== 'Click to edit caption...') {\r\n caption = text;\r\n }\r\n }\r\n\r\n return {\r\n sources,\r\n fallbackSrc: img?.getAttribute('src') || '',\r\n alt: img?.getAttribute('alt') || '',\r\n caption,\r\n };\r\n }\r\n }\r\n\r\n return PictureBlot;\r\n } catch (error) {\r\n console.error('Failed to create PictureBlot:', error);\r\n return null;\r\n }\r\n};\r\n\r\nexport default createPictureBlot;\r\n"],"names":["createPictureBlot","BlockEmbed","PictureBlot","value","container","pictureElement","source","sourceElement","imgElement","captionWrapper","captionElement","isEditingCaption","range","selection","lastNode","_a","text","imageContainer","quillEditor","node","sources","img","caption","__publicField","error"],"mappings":"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"}
1
+ {"version":3,"file":"PictureBlot-gNi_BGBG.cjs","sources":["../src/components/wazui/WazUiWysiwygInput/blots/PictureBlot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\nimport { PictureBlotReturnValue, PictureBlotValue, QuillBlockEmbedStatic } from './types';\r\n\r\nconst createPictureBlot = async () => {\r\n if (typeof window === 'undefined') return null;\r\n\r\n try {\r\n const Quill = (await import('quill')).default;\r\n const BlockEmbed = Quill.import('blots/block/embed') as QuillBlockEmbedStatic;\r\n\r\n class PictureBlot extends (BlockEmbed as any) {\r\n static blotName = 'picture';\r\n static tagName = 'div';\r\n static className = 'ql-picture-container';\r\n\r\n static create(value: PictureBlotValue): HTMLElement {\r\n const container = document.createElement('div');\r\n container.className = 'ql-picture-container';\r\n container.style.margin = '1em 0';\r\n\r\n const pictureElement = document.createElement('picture');\r\n\r\n // Create source elements\r\n value.sources.forEach(source => {\r\n const sourceElement = document.createElement('source');\r\n sourceElement.setAttribute('media', source.media);\r\n sourceElement.setAttribute('srcset', source.srcset);\r\n sourceElement.setAttribute('type', source.type);\r\n pictureElement.appendChild(sourceElement);\r\n });\r\n\r\n // Create fallback img element\r\n const imgElement = document.createElement('img');\r\n imgElement.setAttribute('src', value.fallbackSrc);\r\n imgElement.setAttribute('alt', value.alt);\r\n imgElement.setAttribute('loading', 'lazy');\r\n imgElement.style.maxWidth = '100%';\r\n imgElement.style.height = 'auto';\r\n pictureElement.appendChild(imgElement);\r\n\r\n // Create caption element\r\n const captionWrapper = document.createElement('div');\r\n captionWrapper.className = 'ql-picture-caption-wrapper';\r\n captionWrapper.style.position = 'relative';\r\n\r\n const captionElement = document.createElement('div');\r\n captionElement.className = 'ql-picture-caption';\r\n captionElement.innerHTML = value.caption || 'Click to edit caption...';\r\n captionElement.style.fontStyle = 'italic';\r\n captionElement.style.color = value.caption ? '#666' : '#999';\r\n captionElement.style.fontSize = '14px';\r\n captionElement.style.marginTop = '8px';\r\n captionElement.style.textAlign = 'center';\r\n captionElement.style.minHeight = '1.2em';\r\n captionElement.style.outline = 'none';\r\n captionElement.style.padding = '4px';\r\n captionElement.style.borderRadius = '4px';\r\n captionElement.style.cursor = 'text';\r\n captionElement.style.border = '1px solid transparent';\r\n\r\n // Make it NOT contenteditable initially to prevent interference\r\n captionElement.contentEditable = 'false';\r\n\r\n // Store original caption value\r\n captionElement.setAttribute('data-original-caption', value.caption || '');\r\n\r\n // Flag to track editing state\r\n let isEditingCaption = false;\r\n\r\n // Enhanced click handler with better focus management\r\n captionElement.addEventListener('click', e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if (isEditingCaption) return; // Already editing\r\n\r\n isEditingCaption = true;\r\n\r\n // Mark the caption as being edited (for Quill to ignore)\r\n captionElement.setAttribute('data-editing', 'true');\r\n\r\n // Enter edit mode\r\n captionElement.contentEditable = 'true';\r\n\r\n // Handle placeholder\r\n if (captionElement.innerHTML === 'Click to edit caption...') {\r\n captionElement.innerHTML = '';\r\n captionElement.style.color = '#666';\r\n }\r\n\r\n captionElement.style.border = '1px solid #ddd';\r\n\r\n // Focus with a slight delay to ensure DOM is ready\r\n setTimeout(() => {\r\n captionElement.focus();\r\n\r\n // Set cursor position at the end\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n if (captionElement.childNodes.length > 0) {\r\n const lastNode = captionElement.childNodes[captionElement.childNodes.length - 1];\r\n if (lastNode && lastNode.nodeType === Node.TEXT_NODE) {\r\n range.setStart(lastNode, lastNode.textContent?.length || 0);\r\n } else if (lastNode) {\r\n range.setStartAfter(lastNode);\r\n }\r\n } else {\r\n range.setStart(captionElement, 0);\r\n }\r\n\r\n range.collapse(true);\r\n selection?.removeAllRanges();\r\n selection?.addRange(range);\r\n }, 0);\r\n });\r\n\r\n // Enhanced blur handler\r\n captionElement.addEventListener('blur', () => {\r\n // Small delay to prevent immediate re-blur from Quill interference\r\n setTimeout(() => {\r\n if (isEditingCaption) {\r\n isEditingCaption = false;\r\n captionElement.removeAttribute('data-editing');\r\n\r\n // Exit edit mode\r\n captionElement.contentEditable = 'false';\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>') {\r\n captionElement.innerHTML = 'Click to edit caption...';\r\n captionElement.style.color = '#999';\r\n }\r\n captionElement.style.border = '1px solid transparent';\r\n }\r\n }, 10);\r\n });\r\n\r\n // Improved keydown handler\r\n captionElement.addEventListener('keydown', e => {\r\n if (!isEditingCaption) return;\r\n\r\n // Handle Enter and Escape to exit edit mode\r\n if (e.key === 'Enter' || e.key === 'Escape') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n captionElement.blur();\r\n return;\r\n }\r\n\r\n // Handle backspace when caption is empty - delete the entire image\r\n if (e.key === 'Backspace') {\r\n const text = captionElement.innerHTML.trim();\r\n if (!text || text === '<br>' || text === 'Click to edit caption...') {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n // Delete the entire image container\r\n const imageContainer = captionElement.closest('.ql-picture-container');\r\n if (imageContainer && imageContainer.parentNode) {\r\n imageContainer.parentNode.removeChild(imageContainer);\r\n\r\n // Try to focus back to the editor\r\n setTimeout(() => {\r\n const quillEditor = document.querySelector('.ql-editor');\r\n if (quillEditor) {\r\n (quillEditor as HTMLElement).focus();\r\n }\r\n }, 10);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n // Stop all other events from reaching Quill during caption editing\r\n e.stopPropagation();\r\n });\r\n\r\n // Stop input events from reaching Quill during editing\r\n captionElement.addEventListener('input', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Prevent mouse events from reaching Quill during editing\r\n captionElement.addEventListener('mousedown', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n captionElement.addEventListener('mouseup', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Add paste event handler to prevent bubbling to main editor\r\n captionElement.addEventListener('paste', e => {\r\n if (isEditingCaption) {\r\n e.stopPropagation(); // Prevent bubbling to Quill's paste handler\r\n // Let the default paste behavior handle the text insertion into caption\r\n }\r\n });\r\n\r\n // Prevent mouse events from bubbling to Quill - REMOVE THESE\r\n // captionElement.addEventListener('mousedown', (e) => {\r\n // e.stopPropagation();\r\n // });\r\n\r\n // captionElement.addEventListener('click', (e) => {\r\n // e.stopPropagation();\r\n // captionElement.focus();\r\n // });\r\n\r\n captionWrapper.appendChild(captionElement);\r\n container.appendChild(pictureElement);\r\n container.appendChild(captionWrapper);\r\n\r\n // Make the container non-editable for Quill\r\n container.contentEditable = 'false';\r\n\r\n return container;\r\n }\r\n\r\n static value(node: HTMLElement): PictureBlotReturnValue {\r\n const sources = Array.from(node.querySelectorAll('source')).map(source => ({\r\n media: source.getAttribute('media') || '',\r\n srcset: source.getAttribute('srcset') || '',\r\n type: source.getAttribute('type') || '',\r\n }));\r\n\r\n const img = node.querySelector('img');\r\n const captionElement = node.querySelector('.ql-picture-caption');\r\n let caption = '';\r\n\r\n if (captionElement) {\r\n const text = captionElement.innerHTML.trim();\r\n if (text && text !== 'Click to edit caption...') {\r\n caption = text;\r\n }\r\n }\r\n\r\n return {\r\n sources,\r\n fallbackSrc: img?.getAttribute('src') || '',\r\n alt: img?.getAttribute('alt') || '',\r\n caption,\r\n };\r\n }\r\n }\r\n\r\n return PictureBlot;\r\n } catch (error) {\r\n console.error('Failed to create PictureBlot:', error);\r\n return null;\r\n }\r\n};\r\n\r\nexport default createPictureBlot;\r\n"],"names":["createPictureBlot","BlockEmbed","PictureBlot","value","container","pictureElement","source","sourceElement","imgElement","captionWrapper","captionElement","isEditingCaption","range","selection","lastNode","_a","text","imageContainer","quillEditor","node","sources","img","caption","__publicField","error"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use client";"use strict";var g=Object.defineProperty;var b=(o,r,d)=>r in o?g(o,r,{enumerable:!0,configurable:!0,writable:!0,value:d}):o[r]=d;var y=(o,r,d)=>b(o,typeof r!="symbol"?r+"":r,d);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m="Click to edit caption...";function v(o){if(!o)return null;if(typeof o=="string")try{return JSON.parse(o)}catch{return null}return o}function E(o){const r=v(o);return(r==null?void 0:r.sdk)||""}const h=async()=>{if(typeof window>"u")return null;try{const r=(await Promise.resolve().then(()=>require("./quill-CsFCK9VI.cjs"))).default.import("blots/block/embed");class d extends r{static create(s){const u=E(s.embed),c=document.createElement("div");c.className="ql-cms-video-wrapper",c.contentEditable="false",c.setAttribute("data-embed",typeof s.embed=="string"?s.embed:JSON.stringify(s.embed));const l=document.createElement("div");if(l.className="ql-cms-video-player",l.style.position="relative",l.style.width="100%",l.style.paddingTop="56.25%",l.style.background="#ddd",l.style.overflow="hidden",u&&(l.innerHTML=u),s.thumbnailUrl){const e=document.createElement("div");e.className="ql-cms-video-preview",e.style.position="absolute",e.style.inset="0",e.style.backgroundImage=`url(${s.thumbnailUrl})`,e.style.backgroundSize="cover",e.style.backgroundPosition="center",e.style.display="flex",e.style.alignItems="center",e.style.justifyContent="center",e.style.pointerEvents="none";const n=document.createElement("div");n.style.width="64px",n.style.height="64px",n.style.borderRadius="50%",n.style.background="rgba(0,0,0,0.6)",n.style.display="flex",n.style.alignItems="center",n.style.justifyContent="center";const i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("width","24"),i.setAttribute("height","24"),i.setAttribute("viewBox","0 0 24 24"),i.setAttribute("fill","white");const p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d","M8 5v14l11-7z"),i.appendChild(p),n.appendChild(i),e.appendChild(n),l.appendChild(e)}c.appendChild(l);const t=document.createElement("div");t.className="ql-cms-video-caption",t.textContent=s.caption||m,t.style.fontStyle="italic",t.style.color=s.caption?"#666":"#999",t.style.fontSize="14px",t.style.marginTop="8px",t.style.textAlign="center",t.style.minHeight="1.2em",t.style.outline="none",t.style.padding="4px",t.style.borderRadius="4px",t.style.cursor="text",t.contentEditable="false",t.setAttribute("data-original-caption",s.caption||"");let a=!1;return t.addEventListener("click",e=>{e.stopPropagation(),e.preventDefault(),!a&&(a=!0,t.setAttribute("data-editing","true"),t.contentEditable="true",t.textContent===m&&(t.textContent="",t.style.color="#666"),setTimeout(()=>{t.focus();const n=document.createRange(),i=window.getSelection();n.selectNodeContents(t),n.collapse(!1),i==null||i.removeAllRanges(),i==null||i.addRange(n)},0))}),t.addEventListener("blur",()=>{setTimeout(()=>{var e;t.isConnected&&a&&(a=!1,t.removeAttribute("data-editing"),t.contentEditable="false",(e=t.textContent)!=null&&e.trim()||(t.textContent=m,t.style.color="#999"))},10)}),t.addEventListener("keydown",e=>{var n;if(a){if(e.key==="Enter"||e.key==="Escape"){e.stopPropagation(),e.preventDefault(),t.blur();return}if(e.key==="Backspace"){const i=((n=t.textContent)==null?void 0:n.trim())||"";if(!i||i===m){e.stopPropagation(),e.preventDefault();const p=t.closest(".ql-cms-video-wrapper");p&&p.parentNode&&(p.parentNode.removeChild(p),setTimeout(()=>{const f=document.querySelector(".ql-editor");f&&f.focus()},10));return}}e.stopPropagation()}}),t.addEventListener("input",e=>{a&&e.stopPropagation()}),t.addEventListener("mousedown",e=>{a&&e.stopPropagation()}),t.addEventListener("mouseup",e=>{a&&e.stopPropagation()}),t.addEventListener("paste",e=>{a&&e.stopPropagation()}),c.appendChild(t),c}static value(s){var e;const u=s.querySelector(".ql-cms-video-caption"),c=s.querySelector(".ql-cms-video-player");let l="";if(u){const n=((e=u.textContent)==null?void 0:e.trim())||"";n&&n!==m&&(l=n)}let t="";const a=s.getAttribute("data-embed");if(a)try{t=JSON.parse(a)}catch{t=a}else if(c){const n=c.querySelector(".vsly-player");n?t={sdk:n.outerHTML}:t={sdk:c.innerHTML}}return{embed:t,caption:l}}}return y(d,"blotName","cms-video"),y(d,"tagName","div"),y(d,"className","ql-cms-video-wrapper"),d}catch(o){return console.error("Failed to create VideoBlot:",o),null}};exports.default=h;
2
+ //# sourceMappingURL=VideoBlot-BO5DI6tu.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoBlot-BO5DI6tu.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\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.paddingTop = '56.25%';\n playerContainer.style.background = '#ddd';\n playerContainer.style.overflow = 'hidden';\n\n if (sdkHtml) {\n playerContainer.innerHTML = sdkHtml;\n }\n\n // Editor preview overlay with thumbnail so the user sees a useful preview\n // before the Viously SDK script initialises the player on the public site.\n if (value.thumbnailUrl) {\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 return {\n embed,\n caption,\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","playerContainer","preview","playIcon","svg","path","captionElement","isEditingCaption","range","selection","_a","text","videoContainer","quillEditor","node","caption","embedData","vslyPlayer","__publicField","error"],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ "use client";
2
+ var g = Object.defineProperty;
3
+ var b = (o, r, d) => r in o ? g(o, r, { enumerable: !0, configurable: !0, writable: !0, value: d }) : o[r] = d;
4
+ var y = (o, r, d) => b(o, typeof r != "symbol" ? r + "" : r, d);
5
+ const m = "Click to edit caption...";
6
+ function v(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 E(o) {
17
+ const r = v(o);
18
+ return (r == null ? void 0 : r.sdk) || "";
19
+ }
20
+ const C = async () => {
21
+ if (typeof window > "u") return null;
22
+ try {
23
+ const r = (await import("./quill-DvR5ek_W.js")).default.import("blots/block/embed");
24
+ class d extends r {
25
+ static create(s) {
26
+ const u = E(s.embed), c = document.createElement("div");
27
+ c.className = "ql-cms-video-wrapper", c.contentEditable = "false", c.setAttribute("data-embed", typeof s.embed == "string" ? s.embed : JSON.stringify(s.embed));
28
+ const l = document.createElement("div");
29
+ if (l.className = "ql-cms-video-player", l.style.position = "relative", l.style.width = "100%", l.style.paddingTop = "56.25%", l.style.background = "#ddd", l.style.overflow = "hidden", u && (l.innerHTML = u), s.thumbnailUrl) {
30
+ const e = document.createElement("div");
31
+ e.className = "ql-cms-video-preview", e.style.position = "absolute", e.style.inset = "0", e.style.backgroundImage = `url(${s.thumbnailUrl})`, e.style.backgroundSize = "cover", e.style.backgroundPosition = "center", e.style.display = "flex", e.style.alignItems = "center", e.style.justifyContent = "center", e.style.pointerEvents = "none";
32
+ const n = document.createElement("div");
33
+ n.style.width = "64px", n.style.height = "64px", n.style.borderRadius = "50%", n.style.background = "rgba(0,0,0,0.6)", n.style.display = "flex", n.style.alignItems = "center", n.style.justifyContent = "center";
34
+ const i = document.createElementNS("http://www.w3.org/2000/svg", "svg");
35
+ i.setAttribute("width", "24"), i.setAttribute("height", "24"), i.setAttribute("viewBox", "0 0 24 24"), i.setAttribute("fill", "white");
36
+ const p = document.createElementNS("http://www.w3.org/2000/svg", "path");
37
+ p.setAttribute("d", "M8 5v14l11-7z"), i.appendChild(p), n.appendChild(i), e.appendChild(n), l.appendChild(e);
38
+ }
39
+ c.appendChild(l);
40
+ const t = document.createElement("div");
41
+ t.className = "ql-cms-video-caption", t.textContent = s.caption || m, t.style.fontStyle = "italic", t.style.color = s.caption ? "#666" : "#999", t.style.fontSize = "14px", t.style.marginTop = "8px", t.style.textAlign = "center", t.style.minHeight = "1.2em", t.style.outline = "none", t.style.padding = "4px", t.style.borderRadius = "4px", t.style.cursor = "text", t.contentEditable = "false", t.setAttribute("data-original-caption", s.caption || "");
42
+ let a = !1;
43
+ return t.addEventListener("click", (e) => {
44
+ e.stopPropagation(), e.preventDefault(), !a && (a = !0, t.setAttribute("data-editing", "true"), t.contentEditable = "true", t.textContent === m && (t.textContent = "", t.style.color = "#666"), setTimeout(() => {
45
+ t.focus();
46
+ const n = document.createRange(), i = window.getSelection();
47
+ n.selectNodeContents(t), n.collapse(!1), i == null || i.removeAllRanges(), i == null || i.addRange(n);
48
+ }, 0));
49
+ }), t.addEventListener("blur", () => {
50
+ setTimeout(() => {
51
+ var e;
52
+ t.isConnected && a && (a = !1, t.removeAttribute("data-editing"), t.contentEditable = "false", (e = t.textContent) != null && e.trim() || (t.textContent = m, t.style.color = "#999"));
53
+ }, 10);
54
+ }), t.addEventListener("keydown", (e) => {
55
+ var n;
56
+ if (a) {
57
+ if (e.key === "Enter" || e.key === "Escape") {
58
+ e.stopPropagation(), e.preventDefault(), t.blur();
59
+ return;
60
+ }
61
+ if (e.key === "Backspace") {
62
+ const i = ((n = t.textContent) == null ? void 0 : n.trim()) || "";
63
+ if (!i || i === m) {
64
+ e.stopPropagation(), e.preventDefault();
65
+ const p = t.closest(".ql-cms-video-wrapper");
66
+ p && p.parentNode && (p.parentNode.removeChild(p), setTimeout(() => {
67
+ const f = document.querySelector(".ql-editor");
68
+ f && f.focus();
69
+ }, 10));
70
+ return;
71
+ }
72
+ }
73
+ e.stopPropagation();
74
+ }
75
+ }), t.addEventListener("input", (e) => {
76
+ a && e.stopPropagation();
77
+ }), t.addEventListener("mousedown", (e) => {
78
+ a && e.stopPropagation();
79
+ }), t.addEventListener("mouseup", (e) => {
80
+ a && e.stopPropagation();
81
+ }), t.addEventListener("paste", (e) => {
82
+ a && e.stopPropagation();
83
+ }), c.appendChild(t), c;
84
+ }
85
+ static value(s) {
86
+ var e;
87
+ const u = s.querySelector(".ql-cms-video-caption"), c = s.querySelector(".ql-cms-video-player");
88
+ let l = "";
89
+ if (u) {
90
+ const n = ((e = u.textContent) == null ? void 0 : e.trim()) || "";
91
+ n && n !== m && (l = n);
92
+ }
93
+ let t = "";
94
+ const a = s.getAttribute("data-embed");
95
+ if (a)
96
+ try {
97
+ t = JSON.parse(a);
98
+ } catch {
99
+ t = a;
100
+ }
101
+ else if (c) {
102
+ const n = c.querySelector(".vsly-player");
103
+ n ? t = { sdk: n.outerHTML } : t = { sdk: c.innerHTML };
104
+ }
105
+ return {
106
+ embed: t,
107
+ caption: l
108
+ };
109
+ }
110
+ }
111
+ return y(d, "blotName", "cms-video"), y(d, "tagName", "div"), y(d, "className", "ql-cms-video-wrapper"), d;
112
+ } catch (o) {
113
+ return console.error("Failed to create VideoBlot:", o), null;
114
+ }
115
+ };
116
+ export {
117
+ C as default
118
+ };
119
+ //# sourceMappingURL=VideoBlot-DlZMcpsq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoBlot-DlZMcpsq.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\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.paddingTop = '56.25%';\n playerContainer.style.background = '#ddd';\n playerContainer.style.overflow = 'hidden';\n\n if (sdkHtml) {\n playerContainer.innerHTML = sdkHtml;\n }\n\n // Editor preview overlay with thumbnail so the user sees a useful preview\n // before the Viously SDK script initialises the player on the public site.\n if (value.thumbnailUrl) {\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 return {\n embed,\n caption,\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","playerContainer","preview","playIcon","svg","path","captionElement","isEditingCaption","range","selection","_a","text","videoContainer","quillEditor","node","caption","embedData","vslyPlayer","__publicField","error"],"mappings":";;;;AAIA,MAAMA,IAAsB;AAE5B,SAASC,EAAWC,GAAwF;AAC1G,MAAI,CAACA,EAAO,QAAO;AACnB,MAAI,OAAOA,KAAU;AACnB,QAAI;AACF,aAAO,KAAK,MAAMA,CAAK;AAAA,IACzB,QAAQ;AACN,aAAO;AAAA,IACT;AAEF,SAAOA;AACT;AAEA,SAASC,EAAWD,GAAwC;AAC1D,QAAME,IAAQH,EAAWC,CAAK;AAC9B,UAAOE,KAAA,gBAAAA,EAAO,QAAO;AACvB;AAEA,MAAMC,IAAkB,YAAY;AAClC,MAAI,OAAO,SAAW,IAAa,QAAO;AAE1C,MAAI;AAEF,UAAMC,KADS,MAAM,OAAO,qBAAO,GAAG,QACb,OAAO,mBAAmB;AAAA,IAEnD,MAAMC,UAAmBD,EAAmB;AAAA,MAK1C,OAAO,OAAOJ,GAAoC;AAChD,cAAMM,IAAUL,EAAWD,EAAM,KAAK,GAGhCO,IAAU,SAAS,cAAc,KAAK;AAC5C,QAAAA,EAAQ,YAAY,wBACpBA,EAAQ,kBAAkB,SAC1BA,EAAQ,aAAa,cAAc,OAAOP,EAAM,SAAU,WAAWA,EAAM,QAAQ,KAAK,UAAUA,EAAM,KAAK,CAAC;AAG9G,cAAMQ,IAAkB,SAAS,cAAc,KAAK;AAcpD,YAbAA,EAAgB,YAAY,uBAC5BA,EAAgB,MAAM,WAAW,YACjCA,EAAgB,MAAM,QAAQ,QAC9BA,EAAgB,MAAM,aAAa,UACnCA,EAAgB,MAAM,aAAa,QACnCA,EAAgB,MAAM,WAAW,UAE7BF,MACFE,EAAgB,YAAYF,IAK1BN,EAAM,cAAc;AACtB,gBAAMS,IAAU,SAAS,cAAc,KAAK;AAC5C,UAAAA,EAAQ,YAAY,wBACpBA,EAAQ,MAAM,WAAW,YACzBA,EAAQ,MAAM,QAAQ,KACtBA,EAAQ,MAAM,kBAAkB,OAAOT,EAAM,YAAY,KACzDS,EAAQ,MAAM,iBAAiB,SAC/BA,EAAQ,MAAM,qBAAqB,UACnCA,EAAQ,MAAM,UAAU,QACxBA,EAAQ,MAAM,aAAa,UAC3BA,EAAQ,MAAM,iBAAiB,UAC/BA,EAAQ,MAAM,gBAAgB;AAE9B,gBAAMC,IAAW,SAAS,cAAc,KAAK;AAC7C,UAAAA,EAAS,MAAM,QAAQ,QACvBA,EAAS,MAAM,SAAS,QACxBA,EAAS,MAAM,eAAe,OAC9BA,EAAS,MAAM,aAAa,mBAC5BA,EAAS,MAAM,UAAU,QACzBA,EAAS,MAAM,aAAa,UAC5BA,EAAS,MAAM,iBAAiB;AAEhC,gBAAMC,IAAM,SAAS,gBAAgB,8BAA8B,KAAK;AACxE,UAAAA,EAAI,aAAa,SAAS,IAAI,GAC9BA,EAAI,aAAa,UAAU,IAAI,GAC/BA,EAAI,aAAa,WAAW,WAAW,GACvCA,EAAI,aAAa,QAAQ,OAAO;AAChC,gBAAMC,IAAO,SAAS,gBAAgB,8BAA8B,MAAM;AAC1E,UAAAA,EAAK,aAAa,KAAK,eAAe,GACtCD,EAAI,YAAYC,CAAI,GACpBF,EAAS,YAAYC,CAAG,GAExBF,EAAQ,YAAYC,CAAQ,GAC5BF,EAAgB,YAAYC,CAAO;AAAA,QACrC;AAEA,QAAAF,EAAQ,YAAYC,CAAe;AAGnC,cAAMK,IAAiB,SAAS,cAAc,KAAK;AACnD,QAAAA,EAAe,YAAY,wBAC3BA,EAAe,cAAcb,EAAM,WAAWF,GAC9Ce,EAAe,MAAM,YAAY,UACjCA,EAAe,MAAM,QAAQb,EAAM,UAAU,SAAS,QACtDa,EAAe,MAAM,WAAW,QAChCA,EAAe,MAAM,YAAY,OACjCA,EAAe,MAAM,YAAY,UACjCA,EAAe,MAAM,YAAY,SACjCA,EAAe,MAAM,UAAU,QAC/BA,EAAe,MAAM,UAAU,OAC/BA,EAAe,MAAM,eAAe,OACpCA,EAAe,MAAM,SAAS,QAC9BA,EAAe,kBAAkB,SACjCA,EAAe,aAAa,yBAAyBb,EAAM,WAAW,EAAE;AAExE,YAAIc,IAAmB;AAEvB,eAAAD,EAAe,iBAAiB,SAAS,CAAA,MAAK;AAI5C,UAHA,EAAE,gBAAA,GACF,EAAE,eAAA,GAEE,CAAAC,MAEJA,IAAmB,IACnBD,EAAe,aAAa,gBAAgB,MAAM,GAClDA,EAAe,kBAAkB,QAE7BA,EAAe,gBAAgBf,MACjCe,EAAe,cAAc,IAC7BA,EAAe,MAAM,QAAQ,SAG/B,WAAW,MAAM;AACf,YAAAA,EAAe,MAAA;AACf,kBAAME,IAAQ,SAAS,YAAA,GACjBC,IAAY,OAAO,aAAA;AACzB,YAAAD,EAAM,mBAAmBF,CAAc,GACvCE,EAAM,SAAS,EAAK,GACpBC,KAAA,QAAAA,EAAW,mBACXA,KAAA,QAAAA,EAAW,SAASD;AAAA,UACtB,GAAG,CAAC;AAAA,QACN,CAAC,GAEDF,EAAe,iBAAiB,QAAQ,MAAM;AAC5C,qBAAW,MAAM;;AACf,YAAKA,EAAe,eAChBC,MACFA,IAAmB,IACnBD,EAAe,gBAAgB,cAAc,GAC7CA,EAAe,kBAAkB,UACpBI,IAAAJ,EAAe,gBAAf,QAAAI,EAA4B,WAEvCJ,EAAe,cAAcf,GAC7Be,EAAe,MAAM,QAAQ;AAAA,UAGnC,GAAG,EAAE;AAAA,QACP,CAAC,GAEDA,EAAe,iBAAiB,WAAW,CAAA,MAAK;;AAC9C,cAAKC,GAEL;AAAA,gBAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,UAAU;AAC3C,gBAAE,gBAAA,GACF,EAAE,eAAA,GACFD,EAAe,KAAA;AACf;AAAA,YACF;AAEA,gBAAI,EAAE,QAAQ,aAAa;AACzB,oBAAMK,MAAOD,IAAAJ,EAAe,gBAAf,gBAAAI,EAA4B,WAAU;AACnD,kBAAI,CAACC,KAAQA,MAASpB,GAAqB;AACzC,kBAAE,gBAAA,GACF,EAAE,eAAA;AAEF,sBAAMqB,IAAiBN,EAAe,QAAQ,uBAAuB;AACrE,gBAAIM,KAAkBA,EAAe,eACnCA,EAAe,WAAW,YAAYA,CAAc,GACpD,WAAW,MAAM;AACf,wBAAMC,IAAc,SAAS,cAAc,YAAY;AACvD,kBAAIA,KACDA,EAA4B,MAAA;AAAA,gBAEjC,GAAG,EAAE;AAEP;AAAA,cACF;AAAA,YACF;AAEA,cAAE,gBAAA;AAAA;AAAA,QACJ,CAAC,GAEDP,EAAe,iBAAiB,SAAS,CAAA,MAAK;AAC5C,UAAIC,KACF,EAAE,gBAAA;AAAA,QAEN,CAAC,GAEDD,EAAe,iBAAiB,aAAa,CAAA,MAAK;AAChD,UAAIC,KACF,EAAE,gBAAA;AAAA,QAEN,CAAC,GAEDD,EAAe,iBAAiB,WAAW,CAAA,MAAK;AAC9C,UAAIC,KACF,EAAE,gBAAA;AAAA,QAEN,CAAC,GAEDD,EAAe,iBAAiB,SAAS,CAAA,MAAK;AAC5C,UAAIC,KACF,EAAE,gBAAA;AAAA,QAEN,CAAC,GAEDP,EAAQ,YAAYM,CAAc,GAE3BN;AAAA,MACT;AAAA,MAEA,OAAO,MAAMc,GAAyC;;AACpD,cAAMR,IAAiBQ,EAAK,cAAc,uBAAuB,GAC3Db,IAAkBa,EAAK,cAAc,sBAAsB;AACjE,YAAIC,IAAU;AAEd,YAAIT,GAAgB;AAClB,gBAAMK,MAAOD,IAAAJ,EAAe,gBAAf,gBAAAI,EAA4B,WAAU;AACnD,UAAIC,KAAQA,MAASpB,MACnBwB,IAAUJ;AAAA,QAEd;AAKA,YAAIhB,IAAuC;AAC3C,cAAMqB,IAAYF,EAAK,aAAa,YAAY;AAChD,YAAIE;AACF,cAAI;AACF,YAAArB,IAAQ,KAAK,MAAMqB,CAAS;AAAA,UAC9B,QAAQ;AACN,YAAArB,IAAQqB;AAAA,UACV;AAAA,iBACSf,GAAiB;AAC1B,gBAAMgB,IAAahB,EAAgB,cAAc,cAAc;AAC/D,UAAIgB,IACFtB,IAAQ,EAAE,KAAKsB,EAAW,UAAA,IAE1BtB,IAAQ,EAAE,KAAKM,EAAgB,UAAA;AAAA,QAEnC;AAEA,eAAO;AAAA,UACL,OAAAN;AAAA,UACA,SAAAoB;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAjOA,WAAAG,EADIpB,GACG,YAAW,cAClBoB,EAFIpB,GAEG,WAAU,QACjBoB,EAHIpB,GAGG,aAAY,yBAkOdA;AAAA,EACT,SAASqB,GAAO;AACd,mBAAQ,MAAM,+BAA+BA,CAAK,GAC3C;AAAA,EACT;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WazUiGqlLibraryEditMedia.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/WazUiGqlLibraryEditMedia.tsx"],"names":[],"mappings":"AAuBA,eAAO,MAAM,wBAAwB,+CAqLpC,CAAC"}
1
+ {"version":3,"file":"WazUiGqlLibraryEditMedia.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/WazUiGqlLibraryEditMedia.tsx"],"names":[],"mappings":"AAuBA,eAAO,MAAM,wBAAwB,+CAgNpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WazUiGqlMediaGalleryImage.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/WazUiGqlMediaGalleryImage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAehC,UAAU,8BAA8B;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,yBAAyB,EAAE,EAAE,CAAC,8BAA8B,CA+LjE,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"WazUiGqlMediaGalleryImage.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/WazUiGqlMediaGalleryImage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAKrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAiBhC,UAAU,8BAA8B;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,yBAAyB,EAAE,EAAE,CAAC,8BAA8B,CAqPjE,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -2,7 +2,11 @@ import { default as React } from 'react';
2
2
  import { ActiveVideoUpload, DownloadParams, GqlMediaLibraryProps, ImagesResponse, MediaActionType, MediaGalleryTab, MediaLibraryState } from './types';
3
3
  export declare const useFileSelect: () => (fileRef: React.MutableRefObject<HTMLInputElement>) => void;
4
4
  export declare function useImages(config: GqlMediaLibraryProps['config'], activeTab: MediaGalleryTab | undefined, searchValue: string): import('@tanstack/react-query').UseInfiniteQueryResult<import('@tanstack/query-core').InfiniteData<ImagesResponse, unknown>, Error>;
5
- export declare function useUploadMedia(config: GqlMediaLibraryProps['config'], type?: 'image' | 'video', activeUploadsRef?: React.MutableRefObject<Map<string, ActiveVideoUpload>>): import('@tanstack/react-query').UseMutationResult<import("@apollo/client").ApolloClient.MutateResult<unknown>[], Error, (Partial<Pick<import('./types').Image, "caption" | "title" | "metadata" | "uuid" | "alternative_text">> & {
5
+ export declare function useUploadMedia(config: GqlMediaLibraryProps['config'], type?: 'image' | 'video', activeUploadsRef?: React.MutableRefObject<Map<string, ActiveVideoUpload>>, onProgress?: (progress: {
6
+ progress: number;
7
+ uploadedParts: number;
8
+ totalParts: number;
9
+ } | null) => void): import('@tanstack/react-query').UseMutationResult<import("@apollo/client").ApolloClient.MutateResult<unknown>[], Error, (Partial<Pick<import('./types').Image, "caption" | "title" | "metadata" | "uuid" | "alternative_text">> & {
6
10
  image?: File;
7
11
  video?: File;
8
12
  library_uuid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EAEd,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAUjB,eAAO,MAAM,aAAa,SAChB,SAAS,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAM1D,CAAC;AAEF,wBAAgB,SAAS,CACvB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,SAAS,EAAE,eAAe,GAAG,SAAS,EACtC,WAAW,EAAE,MAAM,uIAoEpB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,IAAI,GAAE,OAAO,GAAG,OAAiB,EACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAahB,IAAI;YAAU,IAAI;kBAAgB,MAAM;eAiRlG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,OAAO,GAAG,OAAiB,sPAyDrG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,OAAO,GAAG,OAAiB,sPAyDvG;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,8JAsCtE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,oJAuChF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC;UAW1C,MAAM;YA8B9C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,uIAmCxE;AAMD,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,MAAM,MAAM,uBAexD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,iBAQ1B,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,iBAAiB,EACxB,QAAQ,eAAe,KACtB,iBA6CF,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EAEd,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAUjB,eAAO,MAAM,aAAa,SAChB,SAAS,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAM1D,CAAC;AAEF,wBAAgB,SAAS,CACvB,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,SAAS,EAAE,eAAe,GAAG,SAAS,EACtC,WAAW,EAAE,MAAM,uIAoEpB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EACtC,IAAI,GAAE,OAAO,GAAG,OAAiB,EACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,EACzE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,KAAK,IAAI;YAa9C,IAAI;YAAU,IAAI;kBAAgB,MAAM;eAyRlG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,OAAO,GAAG,OAAiB,sPAyDrG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,OAAO,GAAG,OAAiB,sPAyDvG;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,8JAsCtE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,oJAuChF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC;UAW1C,MAAM;YA8B9C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,uIAmCxE;AAMD,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,MAAM,MAAM,uBAexD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,iBAQ1B,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,iBAAiB,EACxB,QAAQ,eAAe,KACtB,iBA6CF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/provider.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAKL,yBAAyB,EAE1B,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAoVpE,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/provider.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAKL,yBAAyB,EAE1B,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0VpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../../src/components/wazui/WazUiGqlMediaLibrary/samples/queries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,gCAW7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAiB7B,CAAC;AAEF,eAAO,MAAM,UAAU,gCAetB,CAAC;AAEF,eAAO,MAAM,UAAU,gCAetB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAyBxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,gCAqBjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAqB7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,gCA2BjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,gCAU9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,gCAO9B,CAAC;AAEF,eAAO,MAAM,YAAY,gCAqBxB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAqBxB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAMxB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAOxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,gCAc/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAc7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,gCAMrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,gCAIvC,CAAC;AAEF,eAAO,MAAM,cAAc,gCAI1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gCAIhC,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../../src/components/wazui/WazUiGqlMediaLibrary/samples/queries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,gCAW7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAkB7B,CAAC;AAEF,eAAO,MAAM,UAAU,gCAetB,CAAC;AAEF,eAAO,MAAM,UAAU,gCAetB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAyBxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,gCAqBjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAqB7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,gCA2BjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,gCAU9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,gCAO9B,CAAC;AAEF,eAAO,MAAM,YAAY,gCAqBxB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAqBxB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAMxB,CAAC;AAEF,eAAO,MAAM,YAAY,gCAOxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,gCAc/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gCAc7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,gCAMrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,gCAIvC,CAAC;AAEF,eAAO,MAAM,cAAc,gCAI1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gCAIhC,CAAC"}
@@ -58,6 +58,13 @@ export interface GqlMediaLibraryPopupProps extends GqlMediaLibraryProps {
58
58
  open?: boolean;
59
59
  handleToggleOpen?: (open: boolean) => void;
60
60
  }
61
+ export type VideoEmbed = {
62
+ sdk?: string | null;
63
+ amp?: string | null;
64
+ link?: string | null;
65
+ iframe?: string | null;
66
+ oembed?: string | null;
67
+ };
61
68
  export type Image = {
62
69
  id: string;
63
70
  url: string;
@@ -82,6 +89,8 @@ export type Image = {
82
89
  thumbnail_url?: string;
83
90
  domain_url?: string;
84
91
  path?: string;
92
+ /** Video embed data returned by the API as a JSON scalar. May be an object or a JSON string. */
93
+ embed?: VideoEmbed | string | null;
85
94
  };
86
95
  export type ImageUpdate = Partial<Pick<Image, 'uuid' | 'title' | 'alternative_text' | 'caption' | 'metadata'>>;
87
96
  export type MediaGalleryTab = {
@@ -173,6 +182,11 @@ export interface MediaLibraryContextType {
173
182
  handleMediaSelect: (image: Image) => void;
174
183
  handleMediaDownload: (variables: DownloadParams) => Promise<void>;
175
184
  cancelActiveVideoUploads: () => Promise<void>;
185
+ uploadProgress: {
186
+ progress: number;
187
+ uploadedParts: number;
188
+ totalParts: number;
189
+ } | null;
176
190
  cropperRef: React.RefObject<CropperRef | null>;
177
191
  transformations: TransformationState;
178
192
  setTransformations: React.Dispatch<React.SetStateAction<TransformationState>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/wazui/WazUiGqlMediaLibrary/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VideoBlot.d.ts","sourceRoot":"","sources":["../../../../../src/components/wazui/WazUiWysiwygInput/blots/VideoBlot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAyB,MAAM,SAAS,CAAC;AActF,QAAA,MAAM,eAAe;;;;;;;;kBAYM,cAAc,GAAG,WAAW;gBA6I9B,WAAW,GAAG,oBAAoB;SAyB1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"VideoBlot.d.ts","sourceRoot":"","sources":["../../../../../src/components/wazui/WazUiWysiwygInput/blots/VideoBlot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAyB,MAAM,SAAS,CAAC;AAqBtF,QAAA,MAAM,eAAe;;;;;;;;kBAYM,cAAc,GAAG,WAAW;gBAyL9B,WAAW,GAAG,oBAAoB;SA4C1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -28,11 +28,18 @@ export interface PictureBlotReturnValue {
28
28
  caption?: string;
29
29
  }
30
30
  export interface VideoBlotValue {
31
- src: string;
31
+ embed: string | {
32
+ sdk?: string | null;
33
+ [key: string]: unknown;
34
+ };
32
35
  caption?: string;
36
+ thumbnailUrl?: string;
33
37
  }
34
38
  export interface VideoBlotReturnValue {
35
- src: string;
39
+ embed: string | {
40
+ sdk?: string | null;
41
+ [key: string]: unknown;
42
+ };
36
43
  caption?: string;
37
44
  }
38
45
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/wazui/WazUiWysiwygInput/blots/types.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,WAAW,GAAG,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/wazui/WazUiWysiwygInput/blots/types.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,WAAW,GAAG,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}