dinocollab-shared 1.2.4 → 1.2.5

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.
@@ -1,2 +1,2 @@
1
- import{defineProperty as e,slicedToArray as r,objectSpread2 as n,asyncToGenerator as t,regenerator as a,toConsumableArray as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as d}from"react/jsx-runtime";import{DinoForm as c}from"dinocollab-core/form";import{useRef as l,useState as s,useEffect as u}from"react";import{styled as f,Box as m,Typography as g,Drawer as p,Button as h,Paper as v,IconButton as I}from"@mui/material";import y from"@mui/icons-material/ArrowBack";import b from"@mui/icons-material/Add";import{ArrayItem as x}from"./array-item.js";var w=function(f){var w=f.configs,E=f.url,T=f.value,D=f.onChange,O=l(null),C=s({drawerOpen:!1,selectedKey:null,editingIndex:null,draggedIndex:null,dragOverIndex:null}),B=r(C,2),N=B[0],_=B[1],S=function(e){if(!w||!w[e])return null;var r=w[e];return r.formClass?{formClass:r.formClass,isArray:r.isArray||!1}:{formClass:r,isArray:!1}};u(function(){var e=O.current;if(e){var r=function(){var r=e.contentWindow;if(r)try{r.postMessage({type:"EDITOR_KIT_INIT",data:T,configs:w?Object.keys(w):[]},"*")}catch(e){console.error("EditorKitIframe: Failed to send init message",e)}};e.addEventListener("load",r);var t=function(r){var t,a;switch(r.data.type){case"EDITOR_KIT_EDIT":_(n(n({},N),{},{selectedKey:r.data.key,editingIndex:null!==(t=r.data.index)&&void 0!==t?t:null,drawerOpen:!0}));break;case"EDITOR_KIT_READY":null===(a=e.contentWindow)||void 0===a||a.postMessage({type:"EDITOR_KIT_UPDATE_DATA",data:T},"*")}};return window.addEventListener("message",t),function(){e.removeEventListener("load",r),window.removeEventListener("message",t)}}},[E,w,T]),u(function(){var e,r=null===(e=O.current)||void 0===e?void 0:e.contentWindow;if(r)try{r.postMessage({type:"EDITOR_KIT_UPDATE_DATA",data:T},"*")}catch(e){console.error("EditorKitIframe: Failed to send update",e)}},[T]);var M=function(){var e=t(a().m(function e(r){var t,o,d,c,l,s;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=N.selectedKey,o=N.editingIndex,D&&t){e.n=1;break}return e.a(2);case 1:if(d=S(t)){e.n=2;break}return e.a(2);case 2:return c=n({},T),d.isArray?(l=Array.isArray(T[t])?i(T[t]):[],null!==o&&o>=0?l[o]=r:l.push(r),c[t]=l):c[t]=r,e.p=3,e.n=4,D(c);case 4:d.isArray?_(n(n({},N),{},{editingIndex:null})):_(n(n({},N),{},{drawerOpen:!1,selectedKey:null,editingIndex:null})),e.n=6;break;case 5:e.p=5,s=e.v,console.error("EditorKitIframe: onChange failed",s);case 6:return e.a(2)}},e,null,[[3,5]])}));return function(r){return e.apply(this,arguments)}}(),R=function(){var r=t(a().m(function r(t){var o,d,c;return a().w(function(r){for(;;)switch(r.p=r.n){case 0:if(o=N.selectedKey,D&&o){r.n=1;break}return r.a(2);case 1:return(d=Array.isArray(T[o])?i(T[o]):[]).splice(t,1),r.p=2,r.n=3,D(n(n({},T),{},e({},o,d)));case 3:r.n=5;break;case 4:r.p=4,c=r.v,console.error("EditorKitIframe: delete failed",c);case 5:return r.a(2)}},r,null,[[2,4]])}));return function(e){return r.apply(this,arguments)}}(),j=function(){var e=t(a().m(function e(r){return a().w(function(e){for(;;)switch(e.n){case 0:if(0!==r){e.n=1;break}return e.a(2);case 1:return e.n=2,W(r,r-1);case 2:return e.a(2)}},e)}));return function(r){return e.apply(this,arguments)}}(),H=function(){var e=t(a().m(function e(r){var n,t;return a().w(function(e){for(;;)switch(e.n){case 0:if(n=N.selectedKey){e.n=1;break}return e.a(2);case 1:if(t=Array.isArray(null==T?void 0:T[n])?T[n]:[],!(r>=t.length-1)){e.n=2;break}return e.a(2);case 2:return e.n=3,W(r,r+1);case 3:return e.a(2)}},e)}));return function(r){return e.apply(this,arguments)}}(),P=function(e){_(n(n({},N),{},{draggedIndex:e}))},F=function(){_(n(n({},N),{},{draggedIndex:null,dragOverIndex:null}))},L=function(e){var r=N.draggedIndex;null!==r&&r!==e&&_(n(n({},N),{},{dragOverIndex:e}))},W=function(){var o=t(a().m(function t(o,d){var c,l,s,u,f,m;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:if(c=N.selectedKey,D&&c){t.n=1;break}return t.a(2);case 1:return l=Array.isArray(T[c])?i(T[c]):[],s=l.splice(o,1),u=r(s,1),f=u[0],l.splice(d,0,f),t.p=2,t.n=3,D(n(n({},T),{},e({},c,l)));case 3:_(n(n({},N),{},{draggedIndex:null,dragOverIndex:null})),t.n=5;break;case 4:t.p=4,m=t.v,console.error("EditorKitIframe: reorder failed",m);case 5:return t.a(2)}},t,null,[[2,4]])}));return function(e,r){return o.apply(this,arguments)}}(),U=function(e){var r=N.selectedKey,n=T&&r?T[r]:{};return o(m,{children:[o(g,{variant:"h5",className:A.title,children:["Editing: ",d("b",{children:r})]}),d(c.DecoratorForm,{data:n,configClass:e,onSubmit:M})]})},Y=function(){var e=N.selectedKey,r=N.draggedIndex,t=N.dragOverIndex,a=e&&Array.isArray(null==T?void 0:T[e])?T[e]:[];return o(m,{children:[o(g,{variant:"h5",className:A.title,children:["Manage: ",d("b",{children:e})]}),d(h,{variant:"contained",startIcon:d(b,{}),onClick:function(){return _(n(n({},N),{},{editingIndex:-1}))},fullWidth:!0,className:A.addButton,children:"Add New Item"}),0===a.length?d(v,{className:A.emptyState,children:d(g,{color:"text.secondary",children:'No items yet. Click "Add New Item" to create one.'})}):d(m,{children:a.map(function(e,i){return d(x,{item:e,index:i,totalItems:a.length,onEdit:function(e){return _(n(n({},N),{},{editingIndex:e}))},onDelete:R,onMoveUp:j,onMoveDown:H,onDragStart:P,onDragEnd:F,onDragOver:L,onDrop:W,isDragging:r===i,dragOverIndex:null!=t?t:void 0},i)})})]})},z=function(e,r){var t=N.selectedKey,a=t&&Array.isArray(null==T?void 0:T[t])?T[t]:[],i=r>=0&&a[r]||{};return o(m,{children:[o(m,{className:A.editHeader,children:[d(I,{onClick:function(){return _(n(n({},N),{},{editingIndex:null}))},className:A.backButton,children:d(y,{})}),d(g,{variant:"h5",children:r>=0?"Edit Item #".concat(r+1):"Add New Item"})]}),d(c.DecoratorForm,{data:i,configClass:e,onSubmit:M})]})};return o(K,{children:[d(m,{className:A.badge,children:o(g,{variant:"h6",component:"div",className:A.badgeText,children:["Editor Kit: ",d("b",{className:A.badgeStatus,children:"On"})," (Iframe Mode)"]})}),d("iframe",{ref:O,src:E,className:A.iframe,title:"Editor Preview"}),d(p,{anchor:"right",open:N.drawerOpen,onClose:function(){_(n(n({},N),{},{drawerOpen:!1,selectedKey:null,editingIndex:null}))},children:d(k,{children:function(){var e=N.selectedKey,r=N.editingIndex;if(!e)return null;var n=S(e);return n?n.isArray?null!==r?z(n.formClass,r):Y():U(n.formClass):o(m,{p:2,children:["Config not found for key: ",e]})}()})})]})},A={badge:"EditorKitIframe-badge",badgeText:"EditorKitIframe-badgeText",badgeStatus:"EditorKitIframe-badgeStatus",iframe:"EditorKitIframe-iframe",title:"EditorKitIframe-title",addButton:"EditorKitIframe-addButton",emptyState:"EditorKitIframe-emptyState",editHeader:"EditorKitIframe-editHeader",backButton:"EditorKitIframe-backButton"},E=function(e,r){return"".concat("",".").concat(A[e]).concat("")},K=f(m)(function(r){var n=r.theme;return e(e(e(e({position:"relative",width:"100%",height:"calc(100vh - var(--height-header, 114px) - 10px)",padding:"6px",backgroundColor:n.palette.grey[100]},E("badge"),{position:"fixed",bottom:64,right:16,zIndex:1e3,backgroundColor:n.palette.primary.main,padding:n.spacing(1),borderRadius:n.spacing(1),boxShadow:n.shadows[3]}),E("badgeText"),{color:"#fff"}),E("badgeStatus"),{color:"#00ff00"}),E("iframe"),{width:"100%",height:"100%",border:"none"})}),k=f(m)(function(r){var n=r.theme;return e(e(e(e(e({width:"var(--editor-kit-drawer-width, 450px)",height:"100%",overflowY:"auto",padding:n.spacing(2),".MuiInputBase-input.MuiOutlinedInput-input":{height:"auto"}},E("title"),{paddingTop:n.spacing(2),paddingBottom:n.spacing(2),marginBottom:n.spacing(2),borderBottom:"1px solid #ccc"}),E("addButton"),{marginBottom:n.spacing(3)}),E("emptyState"),{padding:n.spacing(3),textAlign:"center",backgroundColor:n.palette.grey[50]}),E("editHeader"),{display:"flex",alignItems:"center",paddingTop:n.spacing(2),paddingBottom:n.spacing(2),marginBottom:n.spacing(2),borderBottom:"1px solid #ccc"}),E("backButton"),{marginRight:n.spacing(1)})});export{w as EditorKitIframe,w as default,A as editorKitIframeClasses};
1
+ import{defineProperty as e,slicedToArray as r,objectSpread2 as n,asyncToGenerator as t,regenerator as a,toConsumableArray as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as d}from"react/jsx-runtime";import{DinoForm as c}from"dinocollab-core/form";import{useRef as l,useState as s,useEffect as u}from"react";import{styled as f,Box as m,Typography as g,Drawer as p,Button as h,Paper as v,IconButton as I}from"@mui/material";import y from"@mui/icons-material/ArrowBack";import b from"@mui/icons-material/Add";import{ArrayItem as x}from"./array-item.js";var w=function(f){var w=f.configs,E=f.url,T=f.value,D=f.onChange,O=f.modalWidth,C=l(null),B=s({drawerOpen:!1,selectedKey:null,editingIndex:null,draggedIndex:null,dragOverIndex:null}),N=r(B,2),_=N[0],S=N[1],M=function(e){if(!w||!w[e])return null;var r=w[e];return r.formClass?{formClass:r.formClass,isArray:r.isArray||!1}:{formClass:r,isArray:!1}};u(function(){var e=C.current;if(e){var r=function(){var r=e.contentWindow;if(r)try{r.postMessage({type:"EDITOR_KIT_INIT",data:T,configs:w?Object.keys(w):[]},"*")}catch(e){console.error("EditorKitIframe: Failed to send init message",e)}};e.addEventListener("load",r);var t=function(r){var t,a;switch(r.data.type){case"EDITOR_KIT_EDIT":S(n(n({},_),{},{selectedKey:r.data.key,editingIndex:null!==(t=r.data.index)&&void 0!==t?t:null,drawerOpen:!0}));break;case"EDITOR_KIT_READY":null===(a=e.contentWindow)||void 0===a||a.postMessage({type:"EDITOR_KIT_UPDATE_DATA",data:T},"*")}};return window.addEventListener("message",t),function(){e.removeEventListener("load",r),window.removeEventListener("message",t)}}},[E,w,T]),u(function(){var e,r=null===(e=C.current)||void 0===e?void 0:e.contentWindow;if(r)try{r.postMessage({type:"EDITOR_KIT_UPDATE_DATA",data:T},"*")}catch(e){console.error("EditorKitIframe: Failed to send update",e)}},[T]);var R=function(){var e=t(a().m(function e(r){var t,o,d,c,l,s;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=_.selectedKey,o=_.editingIndex,D&&t){e.n=1;break}return e.a(2);case 1:if(d=M(t)){e.n=2;break}return e.a(2);case 2:return c=n({},T),d.isArray?(l=Array.isArray(T[t])?i(T[t]):[],null!==o&&o>=0?l[o]=r:l.push(r),c[t]=l):c[t]=r,e.p=3,e.n=4,D(c);case 4:d.isArray?S(n(n({},_),{},{editingIndex:null})):S(n(n({},_),{},{drawerOpen:!1,selectedKey:null,editingIndex:null})),e.n=6;break;case 5:e.p=5,s=e.v,console.error("EditorKitIframe: onChange failed",s);case 6:return e.a(2)}},e,null,[[3,5]])}));return function(r){return e.apply(this,arguments)}}(),j=function(){var r=t(a().m(function r(t){var o,d,c;return a().w(function(r){for(;;)switch(r.p=r.n){case 0:if(o=_.selectedKey,D&&o){r.n=1;break}return r.a(2);case 1:return(d=Array.isArray(T[o])?i(T[o]):[]).splice(t,1),r.p=2,r.n=3,D(n(n({},T),{},e({},o,d)));case 3:r.n=5;break;case 4:r.p=4,c=r.v,console.error("EditorKitIframe: delete failed",c);case 5:return r.a(2)}},r,null,[[2,4]])}));return function(e){return r.apply(this,arguments)}}(),H=function(){var e=t(a().m(function e(r){return a().w(function(e){for(;;)switch(e.n){case 0:if(0!==r){e.n=1;break}return e.a(2);case 1:return e.n=2,U(r,r-1);case 2:return e.a(2)}},e)}));return function(r){return e.apply(this,arguments)}}(),P=function(){var e=t(a().m(function e(r){var n,t;return a().w(function(e){for(;;)switch(e.n){case 0:if(n=_.selectedKey){e.n=1;break}return e.a(2);case 1:if(t=Array.isArray(null==T?void 0:T[n])?T[n]:[],!(r>=t.length-1)){e.n=2;break}return e.a(2);case 2:return e.n=3,U(r,r+1);case 3:return e.a(2)}},e)}));return function(r){return e.apply(this,arguments)}}(),W=function(e){S(n(n({},_),{},{draggedIndex:e}))},F=function(){S(n(n({},_),{},{draggedIndex:null,dragOverIndex:null}))},L=function(e){var r=_.draggedIndex;null!==r&&r!==e&&S(n(n({},_),{},{dragOverIndex:e}))},U=function(){var o=t(a().m(function t(o,d){var c,l,s,u,f,m;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:if(c=_.selectedKey,D&&c){t.n=1;break}return t.a(2);case 1:return l=Array.isArray(T[c])?i(T[c]):[],s=l.splice(o,1),u=r(s,1),f=u[0],l.splice(d,0,f),t.p=2,t.n=3,D(n(n({},T),{},e({},c,l)));case 3:S(n(n({},_),{},{draggedIndex:null,dragOverIndex:null})),t.n=5;break;case 4:t.p=4,m=t.v,console.error("EditorKitIframe: reorder failed",m);case 5:return t.a(2)}},t,null,[[2,4]])}));return function(e,r){return o.apply(this,arguments)}}(),Y=function(e){var r=_.selectedKey,n=T&&r?T[r]:{};return o(m,{children:[o(g,{variant:"h5",className:A.title,children:["Editing: ",d("b",{children:r})]}),d(c.DecoratorForm,{data:n,configClass:e,onSubmit:R})]})},z=function(){var e=_.selectedKey,r=_.draggedIndex,t=_.dragOverIndex,a=e&&Array.isArray(null==T?void 0:T[e])?T[e]:[];return o(m,{children:[o(g,{variant:"h5",className:A.title,children:["Manage: ",d("b",{children:e})]}),d(h,{variant:"contained",startIcon:d(b,{}),onClick:function(){return S(n(n({},_),{},{editingIndex:-1}))},fullWidth:!0,className:A.addButton,children:"Add New Item"}),0===a.length?d(v,{className:A.emptyState,children:d(g,{color:"text.secondary",children:'No items yet. Click "Add New Item" to create one.'})}):d(m,{children:a.map(function(e,i){return d(x,{item:e,index:i,totalItems:a.length,onEdit:function(e){return S(n(n({},_),{},{editingIndex:e}))},onDelete:j,onMoveUp:H,onMoveDown:P,onDragStart:W,onDragEnd:F,onDragOver:L,onDrop:U,isDragging:r===i,dragOverIndex:null!=t?t:void 0},i)})})]})},G=function(e,r){var t=_.selectedKey,a=t&&Array.isArray(null==T?void 0:T[t])?T[t]:[],i=r>=0&&a[r]||{};return o(m,{children:[o(m,{className:A.editHeader,children:[d(I,{onClick:function(){return S(n(n({},_),{},{editingIndex:null}))},className:A.backButton,children:d(y,{})}),d(g,{variant:"h5",children:r>=0?"Edit Item #".concat(r+1):"Add New Item"})]}),d(c.DecoratorForm,{data:i,configClass:e,onSubmit:R})]})};return o(K,{children:[d(m,{className:A.badge,children:o(g,{variant:"h6",component:"div",className:A.badgeText,children:["Editor Kit: ",d("b",{className:A.badgeStatus,children:"On"})," (Iframe Mode)"]})}),d("iframe",{ref:C,src:E,className:A.iframe,title:"Editor Preview"}),d(p,{anchor:"right",open:_.drawerOpen,onClose:function(){S(n(n({},_),{},{drawerOpen:!1,selectedKey:null,editingIndex:null}))},children:d(k,{sx:{width:O||"var(--editor-kit-drawer-width, 450px)"},children:function(){var e=_.selectedKey,r=_.editingIndex;if(!e)return null;var n=M(e);return n?n.isArray?null!==r?G(n.formClass,r):z():Y(n.formClass):o(m,{p:2,children:["Config not found for key: ",e]})}()})})]})},A={badge:"EditorKitIframe-badge",badgeText:"EditorKitIframe-badgeText",badgeStatus:"EditorKitIframe-badgeStatus",iframe:"EditorKitIframe-iframe",title:"EditorKitIframe-title",addButton:"EditorKitIframe-addButton",emptyState:"EditorKitIframe-emptyState",editHeader:"EditorKitIframe-editHeader",backButton:"EditorKitIframe-backButton"},E=function(e,r){return"".concat("",".").concat(A[e]).concat("")},K=f(m)(function(r){var n=r.theme;return e(e(e(e({position:"relative",width:"100%",height:"calc(100vh - var(--height-header, 114px) - 10px)",padding:"6px",backgroundColor:n.palette.grey[100]},E("badge"),{position:"fixed",bottom:64,right:16,zIndex:1e3,backgroundColor:n.palette.primary.main,padding:n.spacing(1),borderRadius:n.spacing(1),boxShadow:n.shadows[3]}),E("badgeText"),{color:"#fff"}),E("badgeStatus"),{color:"#00ff00"}),E("iframe"),{width:"100%",height:"100%",border:"none"})}),k=f(m)(function(r){var n=r.theme;return e(e(e(e(e({width:"var(--editor-kit-drawer-width, 450px)",height:"100%",overflowY:"auto",padding:n.spacing(2),".MuiInputBase-input.MuiOutlinedInput-input":{height:"auto"}},E("title"),{paddingTop:n.spacing(2),paddingBottom:n.spacing(2),marginBottom:n.spacing(2),borderBottom:"1px solid #ccc"}),E("addButton"),{marginBottom:n.spacing(3)}),E("emptyState"),{padding:n.spacing(3),textAlign:"center",backgroundColor:n.palette.grey[50]}),E("editHeader"),{display:"flex",alignItems:"center",paddingTop:n.spacing(2),paddingBottom:n.spacing(2),marginBottom:n.spacing(2),borderBottom:"1px solid #ccc"}),E("backButton"),{marginRight:n.spacing(1)})});export{w as EditorKitIframe,w as default,A as editorKitIframeClasses};
2
2
  //# sourceMappingURL=mode.iframe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mode.iframe.js","sources":["../../src/editor-kit/mode.iframe.tsx"],"sourcesContent":["import { DinoForm } from 'dinocollab-core/form'\r\nimport { FC, useEffect, useRef, useState } from 'react'\r\nimport { Box, Drawer, Typography, IconButton, Button, Paper, styled } from '@mui/material'\r\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack'\r\nimport AddIcon from '@mui/icons-material/Add'\r\nimport { ArrayItem } from './array-item'\r\n\r\nexport interface IEditorKitIframeProps {\r\n configs?: Record<string, any>\r\n url: string // URL của landing page\r\n value: any\r\n onChange: (value: any) => void\r\n}\r\n\r\ninterface IEditorKitIframeState {\r\n drawerOpen: boolean\r\n selectedKey: string | null\r\n editingIndex: number | null // null = list view, number = editing item at index, -1 = add new\r\n draggedIndex: number | null\r\n dragOverIndex: number | null\r\n}\r\n\r\nexport const EditorKitIframe: FC<IEditorKitIframeProps> = ({ configs, url, value, onChange }) => {\r\n const iframeRef = useRef<HTMLIFrameElement>(null)\r\n const [state, setState] = useState<IEditorKitIframeState>({\r\n drawerOpen: false,\r\n selectedKey: null,\r\n editingIndex: null,\r\n draggedIndex: null,\r\n dragOverIndex: null\r\n })\r\n\r\n const getConfig = (key: string) => {\r\n if (!configs || !configs[key]) return null\r\n\r\n const config = configs[key]\r\n // Support both formats: direct class or {formClass, isArray}\r\n if (config.formClass) {\r\n return { formClass: config.formClass, isArray: config.isArray || false }\r\n }\r\n return { formClass: config, isArray: false }\r\n }\r\n\r\n useEffect(() => {\r\n const iframe = iframeRef.current\r\n if (!iframe) return\r\n\r\n const handleIframeLoad = () => {\r\n const iframeWindow = iframe.contentWindow\r\n if (!iframeWindow) return\r\n\r\n try {\r\n // Send initial data to landing page\r\n iframeWindow.postMessage({ type: 'EDITOR_KIT_INIT', data: value, configs: configs ? Object.keys(configs) : [] }, '*')\r\n } catch (err) {\r\n console.error('EditorKitIframe: Failed to send init message', err)\r\n }\r\n }\r\n\r\n iframe.addEventListener('load', handleIframeLoad)\r\n\r\n // Listen to messages from landing page (iframe)\r\n const handleMessage = (event: MessageEvent) => {\r\n // Optional: Verify origin for security\r\n // if (event.origin !== window.location.origin) return\r\n\r\n switch (event.data.type) {\r\n case 'EDITOR_KIT_EDIT':\r\n setState({ ...state, selectedKey: event.data.key, editingIndex: event.data.index ?? null, drawerOpen: true })\r\n break\r\n\r\n case 'EDITOR_KIT_READY':\r\n // Landing page is ready, send data\r\n iframe.contentWindow?.postMessage({ type: 'EDITOR_KIT_UPDATE_DATA', data: value }, '*')\r\n break\r\n }\r\n }\r\n\r\n window.addEventListener('message', handleMessage)\r\n\r\n return () => {\r\n iframe.removeEventListener('load', handleIframeLoad)\r\n window.removeEventListener('message', handleMessage)\r\n }\r\n }, [url, configs, value])\r\n\r\n // Send updated data to landing page when value changes\r\n useEffect(() => {\r\n const iframeWindow = iframeRef.current?.contentWindow\r\n if (iframeWindow) {\r\n try {\r\n iframeWindow.postMessage({ type: 'EDITOR_KIT_UPDATE_DATA', data: value }, '*')\r\n } catch (err) {\r\n console.error('EditorKitIframe: Failed to send update', err)\r\n }\r\n }\r\n }, [value])\r\n\r\n const handleValueChange = async (data: any) => {\r\n const { selectedKey, editingIndex } = state\r\n if (!onChange || !selectedKey) return\r\n\r\n const config = getConfig(selectedKey)\r\n if (!config) return\r\n\r\n let newValue = { ...value }\r\n\r\n if (config.isArray) {\r\n // Array field\r\n const currentArray = Array.isArray(value[selectedKey]) ? [...value[selectedKey]] : []\r\n\r\n if (editingIndex !== null && editingIndex >= 0) {\r\n // Update existing item\r\n currentArray[editingIndex] = data\r\n } else {\r\n // Add new item\r\n currentArray.push(data)\r\n }\r\n\r\n newValue[selectedKey] = currentArray\r\n } else {\r\n // Single field\r\n newValue[selectedKey] = data\r\n }\r\n\r\n try {\r\n await onChange(newValue)\r\n // Back to list view for array, close for single\r\n if (config.isArray) {\r\n setState({ ...state, editingIndex: null })\r\n } else {\r\n setState({ ...state, drawerOpen: false, selectedKey: null, editingIndex: null })\r\n }\r\n } catch (err) {\r\n console.error('EditorKitIframe: onChange failed', err)\r\n }\r\n }\r\n\r\n const handleDeleteItem = async (index: number) => {\r\n const { selectedKey } = state\r\n if (!onChange || !selectedKey) return\r\n\r\n const currentArray = Array.isArray(value[selectedKey]) ? [...value[selectedKey]] : []\r\n currentArray.splice(index, 1)\r\n\r\n try {\r\n await onChange({ ...value, [selectedKey]: currentArray })\r\n } catch (err) {\r\n console.error('EditorKitIframe: delete failed', err)\r\n }\r\n }\r\n\r\n const handleMoveUp = async (index: number) => {\r\n if (index === 0) return\r\n await handleReorderItems(index, index - 1)\r\n }\r\n\r\n const handleMoveDown = async (index: number) => {\r\n const { selectedKey } = state\r\n if (!selectedKey) return\r\n const arrayData = Array.isArray(value?.[selectedKey]) ? value[selectedKey] : []\r\n if (index >= arrayData.length - 1) return\r\n await handleReorderItems(index, index + 1)\r\n }\r\n\r\n const handleDragStart = (index: number) => {\r\n setState({ ...state, draggedIndex: index })\r\n }\r\n\r\n const handleDragEnd = () => {\r\n setState({ ...state, draggedIndex: null, dragOverIndex: null })\r\n }\r\n\r\n const handleDragOver = (index: number) => {\r\n const { draggedIndex } = state\r\n if (draggedIndex === null || draggedIndex === index) return\r\n setState({ ...state, dragOverIndex: index })\r\n }\r\n\r\n const handleReorderItems = async (fromIndex: number, toIndex: number) => {\r\n const { selectedKey } = state\r\n if (!onChange || !selectedKey) return\r\n\r\n const currentArray = Array.isArray(value[selectedKey]) ? [...value[selectedKey]] : []\r\n const [movedItem] = currentArray.splice(fromIndex, 1)\r\n currentArray.splice(toIndex, 0, movedItem)\r\n\r\n try {\r\n await onChange({ ...value, [selectedKey]: currentArray })\r\n setState({ ...state, draggedIndex: null, dragOverIndex: null })\r\n } catch (err) {\r\n console.error('EditorKitIframe: reorder failed', err)\r\n }\r\n }\r\n\r\n const handleDrawerClose = () => {\r\n setState({ ...state, drawerOpen: false, selectedKey: null, editingIndex: null })\r\n }\r\n\r\n const renderContent = () => {\r\n const { selectedKey, editingIndex } = state\r\n if (!selectedKey) return null\r\n\r\n const config = getConfig(selectedKey)\r\n if (!config) {\r\n return <Box p={2}>Config not found for key: {selectedKey}</Box>\r\n }\r\n\r\n if (config.isArray) {\r\n // Array mode: show list or edit form\r\n if (editingIndex !== null) {\r\n return renderEditForm(config.formClass, editingIndex)\r\n }\r\n return renderArrayList()\r\n } else {\r\n // Single mode: show form directly\r\n return renderSingleForm(config.formClass)\r\n }\r\n }\r\n\r\n const renderSingleForm = (ConfigClass: any) => {\r\n const { selectedKey } = state\r\n const formData = value && selectedKey ? value[selectedKey] : {}\r\n\r\n return (\r\n <Box>\r\n <Typography variant='h5' className={editorKitIframeClasses.title}>\r\n Editing: <b>{selectedKey}</b>\r\n </Typography>\r\n <DinoForm.DecoratorForm data={formData} configClass={ConfigClass} onSubmit={handleValueChange} />\r\n </Box>\r\n )\r\n }\r\n\r\n const renderArrayList = () => {\r\n const { selectedKey, draggedIndex, dragOverIndex } = state\r\n const arrayData = selectedKey && Array.isArray(value?.[selectedKey]) ? value[selectedKey] : []\r\n\r\n return (\r\n <Box>\r\n <Typography variant='h5' className={editorKitIframeClasses.title}>\r\n Manage: <b>{selectedKey}</b>\r\n </Typography>\r\n\r\n <Button\r\n variant='contained'\r\n startIcon={<AddIcon />}\r\n onClick={() => setState({ ...state, editingIndex: -1 })}\r\n fullWidth\r\n className={editorKitIframeClasses.addButton}\r\n >\r\n Add New Item\r\n </Button>\r\n\r\n {arrayData.length === 0 ? (\r\n <Paper className={editorKitIframeClasses.emptyState}>\r\n <Typography color='text.secondary'>No items yet. Click \"Add New Item\" to create one.</Typography>\r\n </Paper>\r\n ) : (\r\n <Box>\r\n {arrayData.map((item: any, index: number) => (\r\n <ArrayItem\r\n key={index}\r\n item={item}\r\n index={index}\r\n totalItems={arrayData.length}\r\n onEdit={(idx) => setState({ ...state, editingIndex: idx })}\r\n onDelete={handleDeleteItem}\r\n onMoveUp={handleMoveUp}\r\n onMoveDown={handleMoveDown}\r\n onDragStart={handleDragStart}\r\n onDragEnd={handleDragEnd}\r\n onDragOver={handleDragOver}\r\n onDrop={handleReorderItems}\r\n isDragging={draggedIndex === index}\r\n dragOverIndex={dragOverIndex ?? undefined}\r\n />\r\n ))}\r\n </Box>\r\n )}\r\n </Box>\r\n )\r\n }\r\n\r\n const renderEditForm = (ConfigClass: any, index: number) => {\r\n const { selectedKey } = state\r\n const arrayData = selectedKey && Array.isArray(value?.[selectedKey]) ? value[selectedKey] : []\r\n const formData = index >= 0 ? arrayData[index] || {} : {}\r\n\r\n return (\r\n <Box>\r\n <Box className={editorKitIframeClasses.editHeader}>\r\n <IconButton onClick={() => setState({ ...state, editingIndex: null })} className={editorKitIframeClasses.backButton}>\r\n <ArrowBackIcon />\r\n </IconButton>\r\n <Typography variant='h5'>{index >= 0 ? `Edit Item #${index + 1}` : 'Add New Item'}</Typography>\r\n </Box>\r\n <DinoForm.DecoratorForm data={formData} configClass={ConfigClass} onSubmit={handleValueChange} />\r\n </Box>\r\n )\r\n }\r\n\r\n return (\r\n <EditorKitIframeStyled>\r\n {/* Badge \"Editor Kit: On\" */}\r\n <Box className={editorKitIframeClasses.badge}>\r\n <Typography variant='h6' component='div' className={editorKitIframeClasses.badgeText}>\r\n Editor Kit: <b className={editorKitIframeClasses.badgeStatus}>On</b> (Iframe Mode)\r\n </Typography>\r\n </Box>\r\n\r\n {/* Iframe displaying Landing page */}\r\n <iframe ref={iframeRef} src={url} className={editorKitIframeClasses.iframe} title='Editor Preview' />\r\n\r\n {/* Drawer for editing */}\r\n <Drawer anchor='right' open={state.drawerOpen} onClose={handleDrawerClose}>\r\n <FormStyled>{renderContent()}</FormStyled>\r\n </Drawer>\r\n </EditorKitIframeStyled>\r\n )\r\n}\r\n\r\nexport default EditorKitIframe\r\n\r\nexport const editorKitIframeClasses = {\r\n badge: 'EditorKitIframe-badge',\r\n badgeText: 'EditorKitIframe-badgeText',\r\n badgeStatus: 'EditorKitIframe-badgeStatus',\r\n iframe: 'EditorKitIframe-iframe',\r\n title: 'EditorKitIframe-title',\r\n addButton: 'EditorKitIframe-addButton',\r\n emptyState: 'EditorKitIframe-emptyState',\r\n editHeader: 'EditorKitIframe-editHeader',\r\n backButton: 'EditorKitIframe-backButton'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof editorKitIframeClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${editorKitIframeClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nconst EditorKitIframeStyled = styled(Box)(({ theme }) => ({\r\n position: 'relative',\r\n width: '100%',\r\n height: 'calc(100vh - var(--height-header, 114px) - 10px)',\r\n padding: '6px',\r\n backgroundColor: theme.palette.grey[100],\r\n\r\n [getClasses('badge')]: {\r\n position: 'fixed',\r\n bottom: 64,\r\n right: 16,\r\n zIndex: 1000,\r\n backgroundColor: theme.palette.primary.main,\r\n padding: theme.spacing(1),\r\n borderRadius: theme.spacing(1),\r\n boxShadow: theme.shadows[3]\r\n },\r\n\r\n [getClasses('badgeText')]: { color: '#fff' },\r\n\r\n [getClasses('badgeStatus')]: { color: '#00ff00' },\r\n\r\n [getClasses('iframe')]: { width: '100%', height: '100%', border: 'none' }\r\n}))\r\n\r\nconst FormStyled = styled(Box)(({ theme }) => ({\r\n width: 'var(--editor-kit-drawer-width, 450px)',\r\n height: '100%',\r\n overflowY: 'auto',\r\n padding: theme.spacing(2),\r\n '.MuiInputBase-input.MuiOutlinedInput-input': {\r\n height: 'auto'\r\n },\r\n\r\n [getClasses('title')]: {\r\n paddingTop: theme.spacing(2),\r\n paddingBottom: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n borderBottom: '1px solid #ccc'\r\n },\r\n\r\n [getClasses('addButton')]: { marginBottom: theme.spacing(3) },\r\n\r\n [getClasses('emptyState')]: {\r\n padding: theme.spacing(3),\r\n textAlign: 'center',\r\n backgroundColor: theme.palette.grey[50]\r\n },\r\n\r\n [getClasses('editHeader')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n paddingTop: theme.spacing(2),\r\n paddingBottom: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n borderBottom: '1px solid #ccc'\r\n },\r\n\r\n [getClasses('backButton')]: { marginRight: theme.spacing(1) }\r\n}))\r\n"],"names":["EditorKitIframe","_ref","configs","url","value","onChange","iframeRef","useRef","_useState","useState","drawerOpen","selectedKey","editingIndex","draggedIndex","dragOverIndex","_useState2","_slicedToArray","state","setState","getConfig","key","config","formClass","isArray","useEffect","iframe","current","handleIframeLoad","iframeWindow","contentWindow","postMessage","type","data","Object","keys","err","console","error","addEventListener","handleMessage","event","_event$data$index","_iframe$contentWindow","_objectSpread","index","window","removeEventListener","_iframeRef$current","handleValueChange","_ref2","_asyncToGenerator","_regenerator","m","_callee","newValue","currentArray","_t","w","_context","p","n","a","Array","_toConsumableArray","push","v","_x","apply","this","arguments","handleDeleteItem","_ref3","_callee2","_t2","_context2","splice","_defineProperty","_x2","handleMoveUp","_ref4","_callee3","_context3","handleReorderItems","_x3","handleMoveDown","_ref5","_callee4","arrayData","_context4","length","_x4","handleDragStart","handleDragEnd","handleDragOver","_ref6","_callee5","fromIndex","toIndex","_currentArray$splice","_currentArray$splice2","movedItem","_t3","_context5","_x5","_x6","renderSingleForm","ConfigClass","formData","_jsxs","Box","Typography","variant","className","editorKitIframeClasses","title","children","_jsx","DinoForm","DecoratorForm","configClass","onSubmit","renderArrayList","Button","startIcon","AddIcon","onClick","fullWidth","addButton","Paper","emptyState","color","map","item","ArrayItem","totalItems","onEdit","idx","onDelete","onMoveUp","onMoveDown","onDragStart","onDragEnd","onDragOver","onDrop","isDragging","undefined","renderEditForm","editHeader","IconButton","backButton","ArrowBackIcon","concat","EditorKitIframeStyled","badge","component","badgeText","badgeStatus","ref","src","Drawer","anchor","open","onClose","FormStyled","renderContent","getClasses","options","styled","_ref7","theme","position","width","height","padding","backgroundColor","palette","grey","bottom","right","zIndex","primary","main","spacing","borderRadius","boxShadow","shadows","border","_ref9","overflowY","paddingTop","paddingBottom","marginBottom","borderBottom","textAlign","display","alignItems","marginRight"],"mappings":"mkBAsBaA,EAA6C,SAA9BC,GAAoE,IAAnCC,EAAOD,EAAPC,QAASC,EAAGF,EAAHE,IAAKC,EAAKH,EAALG,MAAOC,EAAQJ,EAARI,SAC1EC,EAAYC,EAA0B,MAC5CC,EAA0BC,EAAgC,CACxDC,YAAY,EACZC,YAAa,KACbC,aAAc,KACdC,aAAc,KACdC,cAAe,OACfC,EAAAC,EAAAR,EAAA,GANKS,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAQhBI,EAAY,SAACC,GACjB,IAAKlB,IAAYA,EAAQkB,GAAM,OAAO,KAEtC,IAAMC,EAASnB,EAAQkB,GAEvB,OAAIC,EAAOC,UACF,CAAEA,UAAWD,EAAOC,UAAWC,QAASF,EAAOE,UAAW,GAE5D,CAAED,UAAWD,EAAQE,SAAS,EACtC,EAEDC,EAAU,WACR,IAAMC,EAASnB,EAAUoB,QACzB,GAAKD,EAAL,CAEA,IAAME,EAAmB,WACvB,IAAMC,EAAeH,EAAOI,cAC5B,GAAKD,EAEL,IAEEA,EAAaE,YAAY,CAAEC,KAAM,kBAAmBC,KAAM5B,EAAOF,QAASA,EAAU+B,OAAOC,KAAKhC,GAAW,IAAM,IAClH,CAAC,MAAOiC,GACPC,QAAQC,MAAM,+CAAgDF,EAC/D,CACF,EAEDV,EAAOa,iBAAiB,OAAQX,GAGhC,IAAMY,EAAgB,SAACC,GAAuB,IAAAC,EAAAC,EAI5C,OAAQF,EAAMR,KAAKD,MACjB,IAAK,kBACHb,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEN,YAAa6B,EAAMR,KAAKZ,IAAKR,aAA8B6B,QAAlBA,EAAED,EAAMR,KAAKY,aAAKH,IAAAA,EAAAA,EAAI,KAAM/B,YAAY,KACtG,MAEF,IAAK,mBAEiBgC,QAApBA,EAAAjB,EAAOI,qBAAPa,IAAoBA,GAApBA,EAAsBZ,YAAY,CAAEC,KAAM,yBAA0BC,KAAM5B,GAAS,KAGxF,EAID,OAFAyC,OAAOP,iBAAiB,UAAWC,GAE5B,WACLd,EAAOqB,oBAAoB,OAAQnB,GACnCkB,OAAOC,oBAAoB,UAAWP,EACvC,CAtCY,CAuCd,EAAE,CAACpC,EAAKD,EAASE,IAGlBoB,EAAU,WAAK,IAAAuB,EACPnB,EAAgC,QAApBmB,EAAGzC,EAAUoB,eAAO,IAAAqB,OAAA,EAAjBA,EAAmBlB,cACxC,GAAID,EACF,IACEA,EAAaE,YAAY,CAAEC,KAAM,yBAA0BC,KAAM5B,GAAS,IAC3E,CAAC,MAAO+B,GACPC,QAAQC,MAAM,yCAA0CF,EACzD,CAEL,EAAG,CAAC/B,IAEJ,IAAM4C,EAAiB,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,EAAG,SAAAC,EAAOrB,GAAS,IAAArB,EAAAC,EAAAS,EAAAiC,EAAAC,EAAAC,EAAA,OAAAL,IAAAM,EAAA,SAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,KAAA,EACP,GAAzBjD,EAA8BM,EAA9BN,YAAaC,EAAiBK,EAAjBL,aAChBP,GAAaM,EAAW,CAAA+C,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,EAAA,GAAA,KAAA,EAEQ,GAA/BxC,EAASF,EAAUR,GACd,CAAA+C,EAAAE,EAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,EAAA,GAAA,KAAA,EAoBV,OAlBGP,EAAQX,EAAA,CAAA,EAAQvC,GAEhBiB,EAAOE,SAEHgC,EAAeO,MAAMvC,QAAQnB,EAAMO,IAAaoD,EAAO3D,EAAMO,IAAgB,GAE9D,OAAjBC,GAAyBA,GAAgB,EAE3C2C,EAAa3C,GAAgBoB,EAG7BuB,EAAaS,KAAKhC,GAGpBsB,EAAS3C,GAAe4C,GAGxBD,EAAS3C,GAAeqB,EACzB0B,EAAAC,EAAA,EAAAD,EAAAE,EAAA,EAGOvD,EAASiD,GAAS,KAAA,EAEpBjC,EAAOE,QACTL,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEL,aAAc,QAEnCM,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEP,YAAY,EAAOC,YAAa,KAAMC,aAAc,QAC1E8C,EAAAE,EAAA,EAAA,MAAA,KAAA,EAAAF,EAAAC,EAAA,EAAAH,EAAAE,EAAAO,EAED7B,QAAQC,MAAM,mCAAkCmB,GAAM,KAAA,EAAA,OAAAE,EAAAG,EAAA,GAAA,EAAAR,EAAA,KAAA,CAAA,CAAA,EAAA,QAEzD,OAtCKL,SAAiBkB,GAAA,OAAAjB,EAAAkB,MAAAC,KAAAC,UAAA,EAAA,GAwCjBC,EAAgB,WAAA,IAAAC,EAAArB,EAAAC,IAAAC,EAAG,SAAAoB,EAAO5B,GAAa,IAAAjC,EAAA4C,EAAAkB,EAAA,OAAAtB,IAAAM,EAAA,SAAAiB,GAAA,cAAAA,EAAAf,EAAAe,EAAAd,GAAA,KAAA,EACxB,GAAXjD,EAAgBM,EAAhBN,YACHN,GAAaM,EAAW,CAAA+D,EAAAd,EAAA,EAAA,KAAA,CAAA,OAAAc,EAAAb,EAAA,GAAA,KAAA,EAGA,OADvBN,EAAeO,MAAMvC,QAAQnB,EAAMO,IAAaoD,EAAO3D,EAAMO,IAAgB,IACtEgE,OAAO/B,EAAO,GAAE8B,EAAAf,EAAA,EAAAe,EAAAd,EAAA,EAGrBvD,EAAQsC,EAAAA,EAAMvC,CAAAA,EAAAA,GAAKwE,CAAAA,EAAAA,EAAGjE,CAAAA,EAAAA,EAAc4C,KAAe,KAAA,EAAAmB,EAAAd,EAAA,EAAA,MAAA,KAAA,EAAAc,EAAAf,EAAA,EAAAc,EAAAC,EAAAT,EAEzD7B,QAAQC,MAAM,iCAAgCoC,GAAM,KAAA,EAAA,OAAAC,EAAAb,EAAA,GAAA,EAAAW,EAAA,KAAA,CAAA,CAAA,EAAA,QAEvD,OAZKF,SAAgBO,GAAA,OAAAN,EAAAJ,MAAAC,KAAAC,UAAA,EAAA,GAchBS,EAAY,WAAA,IAAAC,EAAA7B,EAAAC,IAAAC,EAAG,SAAA4B,EAAOpC,GAAa,OAAAO,IAAAM,EAAA,SAAAwB,GAAA,cAAAA,EAAArB,GAAA,KAAA,EAAA,GACzB,IAAVhB,EAAW,CAAAqC,EAAArB,EAAA,EAAA,KAAA,CAAA,OAAAqB,EAAApB,EAAA,GAAA,KAAA,EAAA,OAAAoB,EAAArB,EAAA,EACTsB,EAAmBtC,EAAOA,EAAQ,GAAE,KAAA,EAAA,OAAAqC,EAAApB,EAAA,GAAA,EAAAmB,MAC3C,OAHKF,SAAYK,GAAA,OAAAJ,EAAAZ,MAAAC,KAAAC,UAAA,EAAA,GAKZe,EAAc,WAAA,IAAAC,EAAAnC,EAAAC,IAAAC,EAAG,SAAAkC,EAAO1C,GAAa,IAAAjC,EAAA4E,EAAA,OAAApC,IAAAM,EAAA,SAAA+B,GAAA,cAAAA,EAAA5B,GAAA,KAAA,EACtB,GAAXjD,EAAgBM,EAAhBN,YACQ,CAAA6E,EAAA5B,EAAA,EAAA,KAAA,CAAA,OAAA4B,EAAA3B,EAAA,GAAA,KAAA,EAC+D,GAAzE0B,EAAYzB,MAAMvC,QAAQnB,aAAAA,EAAAA,EAAQO,IAAgBP,EAAMO,GAAe,KACzEiC,GAAS2C,EAAUE,OAAS,GAAC,CAAAD,EAAA5B,EAAA,EAAA,KAAA,CAAA,OAAA4B,EAAA3B,EAAA,GAAA,KAAA,EAAA,OAAA2B,EAAA5B,EAAA,EAC3BsB,EAAmBtC,EAAOA,EAAQ,GAAE,KAAA,EAAA,OAAA4C,EAAA3B,EAAA,GAAA,EAAAyB,MAC3C,OANKF,SAAcM,GAAA,OAAAL,EAAAlB,MAAAC,KAAAC,UAAA,EAAA,GAQdsB,EAAkB,SAAC/C,GACvB1B,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEJ,aAAc+B,IACpC,EAEKgD,EAAgB,WACpB1E,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEJ,aAAc,KAAMC,cAAe,OACzD,EAEK+E,EAAiB,SAACjD,GACtB,IAAQ/B,EAAiBI,EAAjBJ,aACa,OAAjBA,GAAyBA,IAAiB+B,GAC9C1B,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEH,cAAe8B,IACrC,EAEKsC,EAAkB,WAAA,IAAAY,EAAA5C,EAAAC,IAAAC,EAAG,SAAA2C,EAAOC,EAAmBC,GAAe,IAAAtF,EAAA4C,EAAA2C,EAAAC,EAAAC,EAAAC,EAAA,OAAAlD,IAAAM,EAAA,SAAA6C,GAAA,cAAAA,EAAA3C,EAAA2C,EAAA1C,GAAA,KAAA,EAC/C,GAAXjD,EAAgBM,EAAhBN,YACHN,GAAaM,EAAW,CAAA2F,EAAA1C,EAAA,EAAA,KAAA,CAAA,OAAA0C,EAAAzC,EAAA,GAAA,KAAA,EAIa,OAFpCN,EAAeO,MAAMvC,QAAQnB,EAAMO,IAAaoD,EAAO3D,EAAMO,IAAgB,GAAEuF,EACjE3C,EAAaoB,OAAOqB,EAAW,GAAEG,EAAAnF,EAAAkF,EAA9CE,GAAAA,EAASD,EAAA,GAChB5C,EAAaoB,OAAOsB,EAAS,EAAGG,GAAUE,EAAA3C,EAAA,EAAA2C,EAAA1C,EAAA,EAGlCvD,EAAQsC,EAAAA,EAAMvC,CAAAA,EAAAA,GAAKwE,CAAAA,EAAAA,EAAGjE,CAAAA,EAAAA,EAAc4C,KAAe,KAAA,EACzDrC,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEJ,aAAc,KAAMC,cAAe,QAAOwF,EAAA1C,EAAA,EAAA,MAAA,KAAA,EAAA0C,EAAA3C,EAAA,EAAA0C,EAAAC,EAAArC,EAE/D7B,QAAQC,MAAM,kCAAiCgE,GAAM,KAAA,EAAA,OAAAC,EAAAzC,EAAA,GAAA,EAAAkC,EAAA,KAAA,CAAA,CAAA,EAAA,QAExD,OAAA,SAduBQ,EAAAC,GAAA,OAAAV,EAAA3B,MAAAC,KAAAC,UAAA,EAAA,GAyClBoC,EAAmB,SAACC,GACxB,IAAQ/F,EAAgBM,EAAhBN,YACFgG,EAAWvG,GAASO,EAAcP,EAAMO,GAAe,CAAE,EAE/D,OACEiG,EAACC,aACCD,EAACE,GAAWC,QAAQ,KAAKC,UAAWC,EAAuBC,MAAKC,SAAA,CAAA,YACrDC,gBAAIzG,OAEfyG,EAACC,EAASC,cAAc,CAAAtF,KAAM2E,EAAUY,YAAab,EAAac,SAAUxE,MAGjF,EAEKyE,EAAkB,WACtB,IAAQ9G,EAA6CM,EAA7CN,YAAaE,EAAgCI,EAAhCJ,aAAcC,EAAkBG,EAAlBH,cAC7ByE,EAAY5E,GAAemD,MAAMvC,QAAQnB,eAAAA,EAAQO,IAAgBP,EAAMO,GAAe,GAE5F,OACEiG,EAACC,EAAG,CAAAM,SAAA,CACFP,EAACE,EAAU,CAACC,QAAQ,KAAKC,UAAWC,EAAuBC,2BACjDE,EAAI,IAAA,CAAAD,SAAAxG,OAGdyG,EAACM,EAAM,CACLX,QAAQ,YACRY,UAAWP,EAACQ,EAAO,IACnBC,QAAS,WAAF,OAAQ3G,EAAQyB,EAAAA,KAAM1B,GAAK,GAAA,CAAEL,cAAc,IAAK,EACvDkH,WACA,EAAAd,UAAWC,EAAuBc,UAG3BZ,SAAA,iBAEa,IAArB5B,EAAUE,OACT2B,EAACY,EAAK,CAAChB,UAAWC,EAAuBgB,WAAUd,SACjDC,EAACN,EAAU,CAACoB,MAAM,kFAGpBd,EAACP,EAAG,CAAAM,SACD5B,EAAU4C,IAAI,SAACC,EAAWxF,GAAa,OACtCwE,EAACiB,EAAS,CAERD,KAAMA,EACNxF,MAAOA,EACP0F,WAAY/C,EAAUE,OACtB8C,OAAQ,SAACC,GAAG,OAAKtH,EAAQyB,EAAAA,KAAM1B,GAAK,GAAA,CAAEL,aAAc4H,IAAM,EAC1DC,SAAUnE,EACVoE,SAAU5D,EACV6D,WAAYvD,EACZwD,YAAajD,EACbkD,UAAWjD,EACXkD,WAAYjD,EACZkD,OAAQ7D,EACR8D,WAAYnI,IAAiB+B,EAC7B9B,cAAeA,QAAAA,OAAiBmI,GAb3BrG,EAeR,OAKV,EAEKsG,EAAiB,SAACxC,EAAkB9D,GACxC,IAAQjC,EAAgBM,EAAhBN,YACF4E,EAAY5E,GAAemD,MAAMvC,QAAQnB,eAAAA,EAAQO,IAAgBP,EAAMO,GAAe,GACtFgG,EAAW/D,GAAS,GAAI2C,EAAU3C,IAAe,CAAE,EAEzD,OACEgE,EAACC,aACCD,EAACC,GAAIG,UAAWC,EAAuBkC,qBACrC/B,EAACgC,GAAWvB,QAAS,WAAF,OAAQ3G,EAAQyB,EAAAA,KAAM1B,GAAK,GAAA,CAAEL,aAAc,OAAO,EAAEoG,UAAWC,EAAuBoC,oBACvGjC,EAACkC,QAEHlC,EAACN,GAAWC,QAAQ,KAAMI,SAAAvE,GAAS,EAAC,cAAA2G,OAAiB3G,EAAQ,GAAM,oBAErEwE,EAACC,EAASC,cAAc,CAAAtF,KAAM2E,EAAUY,YAAab,EAAac,SAAUxE,MAGjF,EAED,OACE4D,EAAC4C,aAECpC,EAACP,GAAIG,UAAWC,EAAuBwC,MACrCtC,SAAAP,EAACE,EAAW,CAAAC,QAAQ,KAAK2C,UAAU,MAAM1C,UAAWC,EAAuB0C,UAC7DxC,SAAA,CAAA,eAAAC,EAAA,IAAA,CAAGJ,UAAWC,EAAuB2C,YAAWzC,SAAA,6BAKhEC,YAAQyC,IAAKvJ,EAAWwJ,IAAK3J,EAAK6G,UAAWC,EAAuBxF,OAAQyF,MAAM,mBAGlFE,EAAC2C,GAAOC,OAAO,QAAQC,KAAMhJ,EAAMP,WAAYwJ,QAxHzB,WACxBhJ,EAAQyB,EAAAA,KAAM1B,GAAK,CAAA,EAAA,CAAEP,YAAY,EAAOC,YAAa,KAAMC,aAAc,OAC1E,WAuHKwG,EAAC+C,YArHe,WACpB,IAAQxJ,EAA8BM,EAA9BN,YAAaC,EAAiBK,EAAjBL,aACrB,IAAKD,EAAa,OAAO,KAEzB,IAAMU,EAASF,EAAUR,GACzB,OAAKU,EAIDA,EAAOE,QAEY,OAAjBX,EACKsI,EAAe7H,EAAOC,UAAWV,GAEnC6G,IAGAhB,EAAiBpF,EAAOC,WAXxBsF,EAACC,EAAI,CAAAlD,EAAG,EAACwD,SAAA,CAAA,6BAA6BxG,IAahD,CAkGkByJ,SAIrB,EAIanD,EAAyB,CACpCwC,MAAO,wBACPE,UAAW,4BACXC,YAAa,8BACbnI,OAAQ,yBACRyF,MAAO,wBACPa,UAAW,4BACXE,WAAY,6BACZkB,WAAY,6BACZE,WAAY,8BAGRgB,EAAa,SAACjJ,EAA0CkJ,GAC5D,MAAA,GAAAf,OAA6B,QAAEA,OAAItC,EAAuB7F,IAAImI,OAAsB,GACtF,EAEMC,EAAwBe,EAAO1D,EAAP0D,CAAY,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAA7F,EAAAA,EAAAA,EAAAA,EAAA,CAChD8F,SAAU,WACVC,MAAO,OACPC,OAAQ,mDACRC,QAAS,MACTC,gBAAiBL,EAAMM,QAAQC,KAAK,MAEnCX,EAAW,SAAW,CACrBK,SAAU,QACVO,OAAQ,GACRC,MAAO,GACPC,OAAQ,IACRL,gBAAiBL,EAAMM,QAAQK,QAAQC,KACvCR,QAASJ,EAAMa,QAAQ,GACvBC,aAAcd,EAAMa,QAAQ,GAC5BE,UAAWf,EAAMgB,QAAQ,KAG1BpB,EAAW,aAAe,CAAEnC,MAAO,SAEnCmC,EAAW,eAAiB,CAAEnC,MAAO,YAErCmC,EAAW,UAAY,CAAEM,MAAO,OAAQC,OAAQ,OAAQc,OAAQ,QAAQ,GAGrEvB,EAAaI,EAAO1D,EAAP0D,CAAY,SAAAoB,GAAA,IAAGlB,EAAKkB,EAALlB,MAAK,OAAA7F,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CACrC+F,MAAO,wCACPC,OAAQ,OACRgB,UAAW,OACXf,QAASJ,EAAMa,QAAQ,GACvB,6CAA8C,CAC5CV,OAAQ,SAGTP,EAAW,SAAW,CACrBwB,WAAYpB,EAAMa,QAAQ,GAC1BQ,cAAerB,EAAMa,QAAQ,GAC7BS,aAActB,EAAMa,QAAQ,GAC5BU,aAAc,mBAGf3B,EAAW,aAAe,CAAE0B,aAActB,EAAMa,QAAQ,KAExDjB,EAAW,cAAgB,CAC1BQ,QAASJ,EAAMa,QAAQ,GACvBW,UAAW,SACXnB,gBAAiBL,EAAMM,QAAQC,KAAK,MAGrCX,EAAW,cAAgB,CAC1B6B,QAAS,OACTC,WAAY,SACZN,WAAYpB,EAAMa,QAAQ,GAC1BQ,cAAerB,EAAMa,QAAQ,GAC7BS,aAActB,EAAMa,QAAQ,GAC5BU,aAAc,mBAGf3B,EAAW,cAAgB,CAAE+B,YAAa3B,EAAMa,QAAQ,IAAI"}
1
+ {"version":3,"file":"mode.iframe.js","sources":["../../src/editor-kit/mode.iframe.tsx"],"sourcesContent":["import { DinoForm } from 'dinocollab-core/form'\r\nimport { FC, useEffect, useRef, useState } from 'react'\r\nimport { Box, Drawer, Typography, IconButton, Button, Paper, styled } from '@mui/material'\r\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack'\r\nimport AddIcon from '@mui/icons-material/Add'\r\nimport { ArrayItem } from './array-item'\r\n\r\nexport interface IEditorKitIframeProps {\r\n configs?: Record<string, any>\r\n url: string // URL của landing page\r\n value: any\r\n onChange: (value: any) => void\r\n modalWidth?: number | string\r\n}\r\n\r\ninterface IEditorKitIframeState {\r\n drawerOpen: boolean\r\n selectedKey: string | null\r\n editingIndex: number | null // null = list view, number = editing item at index, -1 = add new\r\n draggedIndex: number | null\r\n dragOverIndex: number | null\r\n}\r\n\r\nexport const EditorKitIframe: FC<IEditorKitIframeProps> = (props) => {\r\n const { configs, url, value, onChange, modalWidth } = props\r\n const iframeRef = useRef<HTMLIFrameElement>(null)\r\n const [state, setState] = useState<IEditorKitIframeState>({\r\n drawerOpen: false,\r\n selectedKey: null,\r\n editingIndex: null,\r\n draggedIndex: null,\r\n dragOverIndex: null\r\n })\r\n\r\n const getConfig = (key: string) => {\r\n if (!configs || !configs[key]) return null\r\n\r\n const config = configs[key]\r\n // Support both formats: direct class or {formClass, isArray}\r\n if (config.formClass) {\r\n return { formClass: config.formClass, isArray: config.isArray || false }\r\n }\r\n return { formClass: config, isArray: false }\r\n }\r\n\r\n useEffect(() => {\r\n const iframe = iframeRef.current\r\n if (!iframe) return\r\n\r\n const handleIframeLoad = () => {\r\n const iframeWindow = iframe.contentWindow\r\n if (!iframeWindow) return\r\n\r\n try {\r\n // Send initial data to landing page\r\n iframeWindow.postMessage({ type: 'EDITOR_KIT_INIT', data: value, configs: configs ? Object.keys(configs) : [] }, '*')\r\n } catch (err) {\r\n console.error('EditorKitIframe: Failed to send init message', err)\r\n }\r\n }\r\n\r\n iframe.addEventListener('load', handleIframeLoad)\r\n\r\n // Listen to messages from landing page (iframe)\r\n const handleMessage = (event: MessageEvent) => {\r\n // Optional: Verify origin for security\r\n // if (event.origin !== window.location.origin) return\r\n\r\n switch (event.data.type) {\r\n case 'EDITOR_KIT_EDIT':\r\n setState({ ...state, selectedKey: event.data.key, editingIndex: event.data.index ?? null, drawerOpen: true })\r\n break\r\n\r\n case 'EDITOR_KIT_READY':\r\n // Landing page is ready, send data\r\n iframe.contentWindow?.postMessage({ type: 'EDITOR_KIT_UPDATE_DATA', data: value }, '*')\r\n break\r\n }\r\n }\r\n\r\n window.addEventListener('message', handleMessage)\r\n\r\n return () => {\r\n iframe.removeEventListener('load', handleIframeLoad)\r\n window.removeEventListener('message', handleMessage)\r\n }\r\n }, [url, configs, value])\r\n\r\n // Send updated data to landing page when value changes\r\n useEffect(() => {\r\n const iframeWindow = iframeRef.current?.contentWindow\r\n if (iframeWindow) {\r\n try {\r\n iframeWindow.postMessage({ type: 'EDITOR_KIT_UPDATE_DATA', data: value }, '*')\r\n } catch (err) {\r\n console.error('EditorKitIframe: Failed to send update', err)\r\n }\r\n }\r\n }, [value])\r\n\r\n const handleValueChange = async (data: any) => {\r\n const { selectedKey, editingIndex } = state\r\n if (!onChange || !selectedKey) return\r\n\r\n const config = getConfig(selectedKey)\r\n if (!config) return\r\n\r\n let newValue = { ...value }\r\n\r\n if (config.isArray) {\r\n // Array field\r\n const currentArray = Array.isArray(value[selectedKey]) ? [...value[selectedKey]] : []\r\n\r\n if (editingIndex !== null && editingIndex >= 0) {\r\n // Update existing item\r\n currentArray[editingIndex] = data\r\n } else {\r\n // Add new item\r\n currentArray.push(data)\r\n }\r\n\r\n newValue[selectedKey] = currentArray\r\n } else {\r\n // Single field\r\n newValue[selectedKey] = data\r\n }\r\n\r\n try {\r\n await onChange(newValue)\r\n // Back to list view for array, close for single\r\n if (config.isArray) {\r\n setState({ ...state, editingIndex: null })\r\n } else {\r\n setState({ ...state, drawerOpen: false, selectedKey: null, editingIndex: null })\r\n }\r\n } catch (err) {\r\n console.error('EditorKitIframe: onChange failed', err)\r\n }\r\n }\r\n\r\n const handleDeleteItem = async (index: number) => {\r\n const { selectedKey } = state\r\n if (!onChange || !selectedKey) return\r\n\r\n const currentArray = Array.isArray(value[selectedKey]) ? [...value[selectedKey]] : []\r\n currentArray.splice(index, 1)\r\n\r\n try {\r\n await onChange({ ...value, [selectedKey]: currentArray })\r\n } catch (err) {\r\n console.error('EditorKitIframe: delete failed', err)\r\n }\r\n }\r\n\r\n const handleMoveUp = async (index: number) => {\r\n if (index === 0) return\r\n await handleReorderItems(index, index - 1)\r\n }\r\n\r\n const handleMoveDown = async (index: number) => {\r\n const { selectedKey } = state\r\n if (!selectedKey) return\r\n const arrayData = Array.isArray(value?.[selectedKey]) ? value[selectedKey] : []\r\n if (index >= arrayData.length - 1) return\r\n await handleReorderItems(index, index + 1)\r\n }\r\n\r\n const handleDragStart = (index: number) => {\r\n setState({ ...state, draggedIndex: index })\r\n }\r\n\r\n const handleDragEnd = () => {\r\n setState({ ...state, draggedIndex: null, dragOverIndex: null })\r\n }\r\n\r\n const handleDragOver = (index: number) => {\r\n const { draggedIndex } = state\r\n if (draggedIndex === null || draggedIndex === index) return\r\n setState({ ...state, dragOverIndex: index })\r\n }\r\n\r\n const handleReorderItems = async (fromIndex: number, toIndex: number) => {\r\n const { selectedKey } = state\r\n if (!onChange || !selectedKey) return\r\n\r\n const currentArray = Array.isArray(value[selectedKey]) ? [...value[selectedKey]] : []\r\n const [movedItem] = currentArray.splice(fromIndex, 1)\r\n currentArray.splice(toIndex, 0, movedItem)\r\n\r\n try {\r\n await onChange({ ...value, [selectedKey]: currentArray })\r\n setState({ ...state, draggedIndex: null, dragOverIndex: null })\r\n } catch (err) {\r\n console.error('EditorKitIframe: reorder failed', err)\r\n }\r\n }\r\n\r\n const handleDrawerClose = () => {\r\n setState({ ...state, drawerOpen: false, selectedKey: null, editingIndex: null })\r\n }\r\n\r\n const renderContent = () => {\r\n const { selectedKey, editingIndex } = state\r\n if (!selectedKey) return null\r\n\r\n const config = getConfig(selectedKey)\r\n if (!config) {\r\n return <Box p={2}>Config not found for key: {selectedKey}</Box>\r\n }\r\n\r\n if (config.isArray) {\r\n // Array mode: show list or edit form\r\n if (editingIndex !== null) {\r\n return renderEditForm(config.formClass, editingIndex)\r\n }\r\n return renderArrayList()\r\n } else {\r\n // Single mode: show form directly\r\n return renderSingleForm(config.formClass)\r\n }\r\n }\r\n\r\n const renderSingleForm = (ConfigClass: any) => {\r\n const { selectedKey } = state\r\n const formData = value && selectedKey ? value[selectedKey] : {}\r\n\r\n return (\r\n <Box>\r\n <Typography variant='h5' className={editorKitIframeClasses.title}>\r\n Editing: <b>{selectedKey}</b>\r\n </Typography>\r\n <DinoForm.DecoratorForm data={formData} configClass={ConfigClass} onSubmit={handleValueChange} />\r\n </Box>\r\n )\r\n }\r\n\r\n const renderArrayList = () => {\r\n const { selectedKey, draggedIndex, dragOverIndex } = state\r\n const arrayData = selectedKey && Array.isArray(value?.[selectedKey]) ? value[selectedKey] : []\r\n\r\n return (\r\n <Box>\r\n <Typography variant='h5' className={editorKitIframeClasses.title}>\r\n Manage: <b>{selectedKey}</b>\r\n </Typography>\r\n\r\n <Button\r\n variant='contained'\r\n startIcon={<AddIcon />}\r\n onClick={() => setState({ ...state, editingIndex: -1 })}\r\n fullWidth\r\n className={editorKitIframeClasses.addButton}\r\n >\r\n Add New Item\r\n </Button>\r\n\r\n {arrayData.length === 0 ? (\r\n <Paper className={editorKitIframeClasses.emptyState}>\r\n <Typography color='text.secondary'>No items yet. Click \"Add New Item\" to create one.</Typography>\r\n </Paper>\r\n ) : (\r\n <Box>\r\n {arrayData.map((item: any, index: number) => (\r\n <ArrayItem\r\n key={index}\r\n item={item}\r\n index={index}\r\n totalItems={arrayData.length}\r\n onEdit={(idx) => setState({ ...state, editingIndex: idx })}\r\n onDelete={handleDeleteItem}\r\n onMoveUp={handleMoveUp}\r\n onMoveDown={handleMoveDown}\r\n onDragStart={handleDragStart}\r\n onDragEnd={handleDragEnd}\r\n onDragOver={handleDragOver}\r\n onDrop={handleReorderItems}\r\n isDragging={draggedIndex === index}\r\n dragOverIndex={dragOverIndex ?? undefined}\r\n />\r\n ))}\r\n </Box>\r\n )}\r\n </Box>\r\n )\r\n }\r\n\r\n const renderEditForm = (ConfigClass: any, index: number) => {\r\n const { selectedKey } = state\r\n const arrayData = selectedKey && Array.isArray(value?.[selectedKey]) ? value[selectedKey] : []\r\n const formData = index >= 0 ? arrayData[index] || {} : {}\r\n\r\n return (\r\n <Box>\r\n <Box className={editorKitIframeClasses.editHeader}>\r\n <IconButton onClick={() => setState({ ...state, editingIndex: null })} className={editorKitIframeClasses.backButton}>\r\n <ArrowBackIcon />\r\n </IconButton>\r\n <Typography variant='h5'>{index >= 0 ? `Edit Item #${index + 1}` : 'Add New Item'}</Typography>\r\n </Box>\r\n <DinoForm.DecoratorForm data={formData} configClass={ConfigClass} onSubmit={handleValueChange} />\r\n </Box>\r\n )\r\n }\r\n\r\n return (\r\n <EditorKitIframeStyled>\r\n {/* Badge \"Editor Kit: On\" */}\r\n <Box className={editorKitIframeClasses.badge}>\r\n <Typography variant='h6' component='div' className={editorKitIframeClasses.badgeText}>\r\n Editor Kit: <b className={editorKitIframeClasses.badgeStatus}>On</b> (Iframe Mode)\r\n </Typography>\r\n </Box>\r\n\r\n {/* Iframe displaying Landing page */}\r\n <iframe ref={iframeRef} src={url} className={editorKitIframeClasses.iframe} title='Editor Preview' />\r\n\r\n {/* Drawer for editing */}\r\n <Drawer anchor='right' open={state.drawerOpen} onClose={handleDrawerClose}>\r\n <FormStyled sx={{ width: modalWidth || 'var(--editor-kit-drawer-width, 450px)' }}>{renderContent()}</FormStyled>\r\n </Drawer>\r\n </EditorKitIframeStyled>\r\n )\r\n}\r\n\r\nexport default EditorKitIframe\r\n\r\nexport const editorKitIframeClasses = {\r\n badge: 'EditorKitIframe-badge',\r\n badgeText: 'EditorKitIframe-badgeText',\r\n badgeStatus: 'EditorKitIframe-badgeStatus',\r\n iframe: 'EditorKitIframe-iframe',\r\n title: 'EditorKitIframe-title',\r\n addButton: 'EditorKitIframe-addButton',\r\n emptyState: 'EditorKitIframe-emptyState',\r\n editHeader: 'EditorKitIframe-editHeader',\r\n backButton: 'EditorKitIframe-backButton'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof editorKitIframeClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${editorKitIframeClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nconst EditorKitIframeStyled = styled(Box)(({ theme }) => ({\r\n position: 'relative',\r\n width: '100%',\r\n height: 'calc(100vh - var(--height-header, 114px) - 10px)',\r\n padding: '6px',\r\n backgroundColor: theme.palette.grey[100],\r\n\r\n [getClasses('badge')]: {\r\n position: 'fixed',\r\n bottom: 64,\r\n right: 16,\r\n zIndex: 1000,\r\n backgroundColor: theme.palette.primary.main,\r\n padding: theme.spacing(1),\r\n borderRadius: theme.spacing(1),\r\n boxShadow: theme.shadows[3]\r\n },\r\n\r\n [getClasses('badgeText')]: { color: '#fff' },\r\n\r\n [getClasses('badgeStatus')]: { color: '#00ff00' },\r\n\r\n [getClasses('iframe')]: { width: '100%', height: '100%', border: 'none' }\r\n}))\r\n\r\nconst FormStyled = styled(Box)(({ theme }) => ({\r\n width: 'var(--editor-kit-drawer-width, 450px)',\r\n height: '100%',\r\n overflowY: 'auto',\r\n padding: theme.spacing(2),\r\n '.MuiInputBase-input.MuiOutlinedInput-input': {\r\n height: 'auto'\r\n },\r\n\r\n [getClasses('title')]: {\r\n paddingTop: theme.spacing(2),\r\n paddingBottom: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n borderBottom: '1px solid #ccc'\r\n },\r\n\r\n [getClasses('addButton')]: { marginBottom: theme.spacing(3) },\r\n\r\n [getClasses('emptyState')]: {\r\n padding: theme.spacing(3),\r\n textAlign: 'center',\r\n backgroundColor: theme.palette.grey[50]\r\n },\r\n\r\n [getClasses('editHeader')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n paddingTop: theme.spacing(2),\r\n paddingBottom: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n borderBottom: '1px solid #ccc'\r\n },\r\n\r\n [getClasses('backButton')]: { marginRight: theme.spacing(1) }\r\n}))\r\n"],"names":["EditorKitIframe","props","configs","url","value","onChange","modalWidth","iframeRef","useRef","_useState","useState","drawerOpen","selectedKey","editingIndex","draggedIndex","dragOverIndex","_useState2","_slicedToArray","state","setState","getConfig","key","config","formClass","isArray","useEffect","iframe","current","handleIframeLoad","iframeWindow","contentWindow","postMessage","type","data","Object","keys","err","console","error","addEventListener","handleMessage","event","_event$data$index","_iframe$contentWindow","_objectSpread","index","window","removeEventListener","_iframeRef$current","handleValueChange","_ref","_asyncToGenerator","_regenerator","m","_callee","newValue","currentArray","_t","w","_context","p","n","a","Array","_toConsumableArray","push","v","_x","apply","this","arguments","handleDeleteItem","_ref2","_callee2","_t2","_context2","splice","_defineProperty","_x2","handleMoveUp","_ref3","_callee3","_context3","handleReorderItems","_x3","handleMoveDown","_ref4","_callee4","arrayData","_context4","length","_x4","handleDragStart","handleDragEnd","handleDragOver","_ref5","_callee5","fromIndex","toIndex","_currentArray$splice","_currentArray$splice2","movedItem","_t3","_context5","_x5","_x6","renderSingleForm","ConfigClass","formData","_jsxs","Box","Typography","variant","className","editorKitIframeClasses","title","children","_jsx","DinoForm","DecoratorForm","configClass","onSubmit","renderArrayList","Button","startIcon","AddIcon","onClick","fullWidth","addButton","Paper","emptyState","color","map","item","ArrayItem","totalItems","onEdit","idx","onDelete","onMoveUp","onMoveDown","onDragStart","onDragEnd","onDragOver","onDrop","isDragging","undefined","renderEditForm","editHeader","IconButton","backButton","ArrowBackIcon","concat","EditorKitIframeStyled","badge","component","badgeText","badgeStatus","ref","src","Drawer","anchor","open","onClose","FormStyled","sx","width","renderContent","getClasses","options","styled","_ref6","theme","position","height","padding","backgroundColor","palette","grey","bottom","right","zIndex","primary","main","spacing","borderRadius","boxShadow","shadows","border","_ref8","overflowY","paddingTop","paddingBottom","marginBottom","borderBottom","textAlign","display","alignItems","marginRight"],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface IEditorKitIframeProps {
4
4
  url: string;
5
5
  value: any;
6
6
  onChange: (value: any) => void;
7
+ modalWidth?: number | string;
7
8
  }
8
9
  export declare const EditorKitIframe: FC<IEditorKitIframeProps>;
9
10
  export default EditorKitIframe;
@@ -1 +1 @@
1
- {"version":3,"file":"mode.iframe.d.ts","sourceRoot":"","sources":["../../../src/editor-kit/mode.iframe.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAA;AAMvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;IACV,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;CAC/B;AAUD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,qBAAqB,CA0SrD,CAAA;AAED,eAAe,eAAe,CAAA;AAE9B,eAAO,MAAM,sBAAsB;;;;;;;;;;CAUlC,CAAA"}
1
+ {"version":3,"file":"mode.iframe.d.ts","sourceRoot":"","sources":["../../../src/editor-kit/mode.iframe.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAA;AAMvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;IACV,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC7B;AAUD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,qBAAqB,CA2SrD,CAAA;AAED,eAAe,eAAe,CAAA;AAE9B,eAAO,MAAM,sBAAsB;;;;;;;;;;CAUlC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",