@peak-ai/canvas 1.4.20-rc.6 → 1.4.20-rc.9
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.
package/package.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useEffect}from"react";import{X}from"lucide-react";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function CustomModal(_ref){var isOpen=_ref.isOpen,onClose=_ref.onClose,title=_ref.title,children=_ref.children,_ref$className=_ref.className,className=_ref$className===void 0?"":_ref$className,titleIcon=_ref.titleIcon;useEffect(function(){function handleEscapeKey(event){if(event.key==="Escape"&&isOpen){onClose()}}if(isOpen){document.addEventListener("keydown",handleEscapeKey);document.
|
|
1
|
+
import React,{useEffect}from"react";import{X}from"lucide-react";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function CustomModal(_ref){var isOpen=_ref.isOpen,onClose=_ref.onClose,title=_ref.title,children=_ref.children,_ref$className=_ref.className,className=_ref$className===void 0?"":_ref$className,titleIcon=_ref.titleIcon;useEffect(function(){function handleEscapeKey(event){if(event.key==="Escape"&&isOpen){onClose()}}if(isOpen){var _iframe$contentWindow;document.addEventListener("keydown",handleEscapeKey);var iframe=document.querySelector(".gjs-frame");var iframeDocument=(iframe==null?void 0:iframe.contentDocument)||(iframe==null||(_iframe$contentWindow=iframe.contentWindow)==null?void 0:_iframe$contentWindow.document);if(iframeDocument){var _iframeDocument$docum;(_iframeDocument$docum=iframeDocument.documentElement)==null||_iframeDocument$docum.style.setProperty("overflow","hidden","important")}return function(){document.removeEventListener("keydown",handleEscapeKey);if(iframeDocument){var _iframeDocument$docum2;(_iframeDocument$docum2=iframeDocument.documentElement)==null||_iframeDocument$docum2.style.removeProperty("overflow")}}}return function(){document.removeEventListener("keydown",handleEscapeKey)}},[isOpen,onClose]);function handleBackdropClick(event){if(event.target===event.currentTarget){onClose()}}if(!isOpen){return null}return/*#__PURE__*/_jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-4 bg-black bg-opacity-30 "+className,onClick:handleBackdropClick,children:[/*#__PURE__*/_jsxs("div",{className:"relative w-full max-w-2xl max-h-[90vh] min-h-[45vh] bg-white rounded-lg shadow-xl overflow-hidden animate-modal-fade-in",onClick:function onClick(e){return e.stopPropagation()},children:[/*#__PURE__*/_jsxs("div",{className:"p-6 border-b border-gray-200 bg-gray-50 relative flex items-center justify-between",children:[/*#__PURE__*/_jsxs("h2",{className:"flex items-center text-lg font-semibold text-gray-900",children:[titleIcon&&/*#__PURE__*/_jsx("span",{className:"mr-2",children:titleIcon}),title]}),/*#__PURE__*/_jsx("button",{onClick:onClose,className:"transition-colors duration-200 hover:bg-gray-100 rounded p-1 flex items-center justify-center",type:"button","aria-label":"Close modal",style:{width:"24px",height:"24px"},children:/*#__PURE__*/_jsx(X,{size:12,className:"text-gray-600",style:{opacity:1,transform:"rotate(0deg)"}})})]}),/*#__PURE__*/_jsx("div",{className:"overflow-y-auto max-h-[calc(90vh-160px)]",children:children})]}),/*#__PURE__*/_jsx("style",{children:"\n .animate-modal-fade-in {\n animation: modalFadeIn 0.2s ease-out;\n }\n \n @keyframes modalFadeIn {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(-10px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n }\n "})]})}export default CustomModal;
|
|
2
2
|
//# sourceMappingURL=custom-modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-modal.js","names":["React","useEffect","X","jsx","_jsx","jsxs","_jsxs","CustomModal","_ref","isOpen","onClose","title","children","_ref$className","className","titleIcon","handleEscapeKey","event","key","document","addEventListener","
|
|
1
|
+
{"version":3,"file":"custom-modal.js","names":["React","useEffect","X","jsx","_jsx","jsxs","_jsxs","CustomModal","_ref","isOpen","onClose","title","children","_ref$className","className","titleIcon","handleEscapeKey","event","key","_iframe$contentWindow","document","addEventListener","iframe","querySelector","iframeDocument","contentDocument","contentWindow","_iframeDocument$docum","documentElement","style","setProperty","removeEventListener","_iframeDocument$docum2","removeProperty","handleBackdropClick","target","currentTarget","onClick","e","stopPropagation","type","width","height","size","opacity","transform"],"sources":["../../../src/plugins/helpers/custom-modal.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { X } from 'lucide-react';\n\ntype CustomModalProps = {\n isOpen: boolean;\n onClose: () => void;\n title: string;\n children: React.ReactNode;\n className?: string;\n titleIcon?: React.ReactNode;\n}\n\nexport function CustomModal({\n isOpen,\n onClose,\n title,\n children,\n className = '',\n titleIcon\n}: CustomModalProps) {\n\n useEffect(() => {\n function handleEscapeKey(event: KeyboardEvent) {\n if (event.key === 'Escape' && isOpen) {\n onClose();\n }\n }\n\n if (isOpen) {\n document.addEventListener('keydown', handleEscapeKey);\n const iframe = document.querySelector('.gjs-frame') as HTMLIFrameElement;\n const iframeDocument = iframe?.contentDocument || iframe?.contentWindow?.document;\n \n if (iframeDocument) {\n iframeDocument.documentElement?.style.setProperty('overflow', 'hidden', 'important');\n }\n\n return () => {\n document.removeEventListener('keydown', handleEscapeKey);\n \n if (iframeDocument) {\n iframeDocument.documentElement?.style.removeProperty('overflow');\n }\n };\n }\n\n return () => {\n document.removeEventListener('keydown', handleEscapeKey);\n };\n }, [isOpen, onClose]);\n\n function handleBackdropClick(event: React.MouseEvent<HTMLDivElement>) {\n if (event.target === event.currentTarget) {\n onClose();\n }\n }\n\n if (!isOpen) {\n return null;\n }\n\n return (\n <div\n className={`fixed inset-0 z-[9999] flex items-center justify-center p-4 bg-black bg-opacity-30 ${className}`}\n onClick={handleBackdropClick}\n >\n <div\n className=\"relative w-full max-w-2xl max-h-[90vh] min-h-[45vh] bg-white rounded-lg shadow-xl overflow-hidden animate-modal-fade-in\"\n onClick={(e) => e.stopPropagation()}\n >\n <div className=\"p-6 border-b border-gray-200 bg-gray-50 relative flex items-center justify-between\">\n <h2 className=\"flex items-center text-lg font-semibold text-gray-900\">\n {titleIcon && <span className=\"mr-2\">{titleIcon}</span>}\n {title}\n </h2>\n\n <button\n onClick={onClose}\n className=\"transition-colors duration-200 hover:bg-gray-100 rounded p-1 flex items-center justify-center\"\n type=\"button\"\n aria-label=\"Close modal\"\n style={{\n width: '24px',\n height: '24px'\n }}\n >\n <X \n size={12}\n className=\"text-gray-600\"\n style={{ \n opacity: 1,\n transform: 'rotate(0deg)'\n }}\n />\n </button>\n </div>\n\n <div className=\"overflow-y-auto max-h-[calc(90vh-160px)]\">\n {children}\n </div>\n </div>\n\n <style>{`\n .animate-modal-fade-in {\n animation: modalFadeIn 0.2s ease-out;\n }\n \n @keyframes modalFadeIn {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(-10px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n }\n `}</style>\n </div>\n );\n}\n\nexport default CustomModal;\n"],"mappings":"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","ignoreList":[]}
|