{"version":3,"file":"AddToCalendarButton.CS3c9whr.mjs","names":["useState","SVG","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/I1DC9cTt2FcHsDUAaRxW/pUC2Q4HS9uuwHefZZ6Oq/SVG.js","https:/framerusercontent.com/modules/x7umHdQPam7IMqrvzGrf/ZLTrJqZU5SE87KHbou9P/tRNzxCji_.js","https:/framerusercontent.com/modules/rZlzKiKRLvCEsgztYGOf/fdEaZmuPBiscPCE8C2g2/AddToCalendarButton.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function SVG(props){const[customSvgElement,setCustomSvgElement]=useState(null);useEffect(()=>{const svgContent=props.customSvgCode;processCustomSVGContent(svgContent);});const processCustomSVGContent=svgContent=>{const replacements=[[/width=\"[^\"]*\"/,'width=\"100%\"'],[/height=\"[^\"]*\"/,'height=\"100%\"']];const hasCustomStroke=svgContent.includes('stroke=\"');const hasCustomStrokeWidth=svgContent.includes('stroke-width=\"');const hasLineCap=svgContent.includes('stroke-linecap=\"');const hasLineJoin=svgContent.includes('stroke-linejoin=\"');if(svgContent.includes(\"<circle\")){// Find the circle element and update its fill attribute\nconst circleFillRegex=/<circle[^>]*fill=\"([^\"]*)\"/;const match=svgContent.match(circleFillRegex);if(match){// Update the fill attribute with the custom color\nconst updatedCircle=match[0].replace(match[1],props.customColor);svgContent=svgContent.replace(circleFillRegex,updatedCircle);}else{// If there is no fill attribute, add it with the custom color\nreplacements.push([/<circle/g,`<circle fill=\"${props.customColor}\"`]);}}if(hasCustomStroke){if(!hasLineCap){replacements.push([/<path/g,`<path stroke=\"${props.customColor}\"`]);}else{replacements.push([/<path/g,`<path stroke=\"${props.customColor}\" stroke-linecap=\"${props.lineCap}\"`]);}if(hasCustomStrokeWidth){replacements.push([/stroke-width=\"(?!0\\b)\\d+(\\.\\d+)?\"/g,`stroke-width=\"${props.customStrokeWidth}\"`]);}}else{replacements.push([/<path/g,`<path fill=\"${props.customColor}\"`]);}if(svgContent.includes('overflow=\"')){replacements.push([/overflow=\"[^\"]*\"/,`overflow=\"visible\"`]);}else{replacements.push([/<svg/,`<svg overflow=\"visible\"`]);}if(!hasLineJoin){replacements.push([/<path/g,`<path stroke-linejoin=\"${props.lineJoin}\"`]);}else{replacements.push([/stroke-linejoin=\"[^\"]*\"/,`stroke-linejoin=\"${props.lineJoin}\"`]);}replacements.forEach(([regex,replacement])=>{svgContent=svgContent.replace(regex,replacement);});setCustomSvgElement(svgContent);};const customContainerStyle={padding:`${props.customPadding}px`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",overflow:\"visible\"};return /*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:customSvgElement},style:customContainerStyle});}SVG.defaultProps={customSvgCode:`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M11.9996 4.58607L19.414 12.0001L22.9139 8.50015L15.4997 1.08594L11.9996 4.58607Z\" fill=\"black\"/> <path d=\"M18.403 13.8175L10.1822 5.59708L5.63438 7.25082L3.08203 19.5021L8.15387 14.4302C8.0427 14.1472 7.98166 13.839 7.98166 13.5166C7.98166 12.1359 9.10095 11.0166 10.4817 11.0166C11.8624 11.0166 12.9817 12.1359 12.9817 13.5166C12.9817 14.8973 11.8624 16.0166 10.4817 16.0166C10.1592 16.0166 9.85109 15.9556 9.56811 15.8444L4.49378 20.9188L16.7491 18.3656L18.403 13.8175Z\" fill=\"black\"/> </svg>`,customColor:\"#ffffff\",customPadding:0,customStrokeWidth:2,lineCap:\"butt\",lineJoin:\"miter\"};addPropertyControls(SVG,{customSvgCode:{type:ControlType.String,title:\"SVG Code\",displayTextArea:false},customColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\"},customStrokeWidth:{type:ControlType.Number,title:\"Stroke\",defaultValue:2,min:0,step:.1,displayStepper:true,hidden:props=>!props.customSvgCode.includes('stroke=\"')},customPadding:{type:ControlType.Number,title:\"Padding\",defaultValue:0,min:0,step:1,displayStepper:true},lineCap:{type:ControlType.Enum,title:\"Line Cap\",options:[\"butt\",\"round\",\"square\"],optionTitles:[\"Butt\",\"Round\",\"Square\"],defaultValue:\"butt\",hidden:props=>!props.customSvgCode.includes('stroke=\"')},lineJoin:{type:ControlType.Enum,title:\"Line Join\",options:[\"round\",\"miter\",\"bevel\"],optionTitles:[\"Round\",\"Miter\",\"Bevel\"],defaultValue:\"miter\",hidden:props=>!props.customSvgCode.includes('stroke=\"')}});export default SVG;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SVG\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SVG.map","// Generated by Framer (e0ec254)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import SVG from\"https://framerusercontent.com/modules/I1DC9cTt2FcHsDUAaRxW/pUC2Q4HS9uuwHefZZ6Oq/SVG.js\";const SVGFonts=getFonts(SVG);const enabledGestures={Aaa3ANtZH:{hover:true},emyrqnGKA:{hover:true}};const cycleOrder=[\"emyrqnGKA\",\"Aaa3ANtZH\"];const serializationHash=\"framer-99eBX\";const variantClassNames={Aaa3ANtZH:\"framer-v-14mpti5\",emyrqnGKA:\"framer-v-1ubxztt\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 2\":\"Aaa3ANtZH\",Default:\"emyrqnGKA\"};const getProps=({background,height,id,title,width,...props})=>{return{...props,ekRbM4mPn:background??props.ekRbM4mPn??\"rgb(250, 69, 86)\",MaHpYTLro:title??props.MaHpYTLro??\"Add to calendar\",variant:humanReadableVariantMap[props.variant]??props.variant??\"emyrqnGKA\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,MaHpYTLro,ekRbM4mPn,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"emyrqnGKA\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.button,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ubxztt\",className,classNames),\"data-framer-name\":\"Default\",\"data-reset\":\"button\",layoutDependency:layoutDependency,layoutId:\"emyrqnGKA\",ref:refBinding,style:{backgroundColor:ekRbM4mPn,borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4,...style},variants:{\"emyrqnGKA-hover\":{backgroundColor:\"rgb(255, 255, 255)\"}},...addPropertyOverrides({\"Aaa3ANtZH-hover\":{\"data-framer-name\":undefined},\"emyrqnGKA-hover\":{\"data-framer-name\":undefined},Aaa3ANtZH:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TXVsaXNoLTkwMA==\",\"--framer-font-family\":'\"Mulish\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"900\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Add to calendar\"})}),className:\"framer-1lsqu7\",fonts:[\"GF;Mulish-900\"],layoutDependency:layoutDependency,layoutId:\"x6qQElQhN\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--variable-reference-ekRbM4mPn-tRNzxCji_\":ekRbM4mPn},text:MaHpYTLro,variants:{\"emyrqnGKA-hover\":{\"--extracted-r6o4lv\":\"var(--variable-reference-ekRbM4mPn-tRNzxCji_)\",\"--variable-reference-ekRbM4mPn-tRNzxCji_\":ekRbM4mPn}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"Aaa3ANtZH-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TXVsaXNoLTkwMA==\",\"--framer-font-family\":'\"Mulish\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"900\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Add to calendar\"})}),fonts:[\"GF;Mulish-900\"]},\"emyrqnGKA-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TXVsaXNoLTkwMA==\",\"--framer-font-family\":'\"Mulish\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"900\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-ekRbM4mPn-tRNzxCji_))\"},children:\"Add to calendar\"})})},Aaa3ANtZH:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7TXVsaXNoLTcwMA==\",\"--framer-font-family\":'\"Mulish\", \"Mulish Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.01em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Add to calendar\"})}),fonts:[\"GF;Mulish-700\"]}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-10cstnl-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"mYIVGENYu-container\",nodeId:\"mYIVGENYu\",rendersWithMotion:true,scopeId:\"tRNzxCji_\",children:/*#__PURE__*/_jsx(SVG,{customColor:\"rgb(255, 255, 255)\",customPadding:0,customStrokeWidth:2,customSvgCode:'<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M9 1.99219H7V3.99219H3V20.9922H12V18.9922H5V9.99219H19V12.9922H21V3.99219H17V1.99219H15V3.99219H9V1.99219Z\" fill=\"black\"/> <path d=\"M22.4057 15.8431L20.8439 14.5938L16.9172 19.5022L15.0001 17.5851L13.5859 18.9993L17.083 22.4964L22.4057 15.8431Z\" fill=\"black\"/> </svg>',height:\"100%\",id:\"mYIVGENYu\",layoutId:\"mYIVGENYu\",lineCap:\"butt\",lineJoin:\"miter\",style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({\"emyrqnGKA-hover\":{customColor:ekRbM4mPn}},baseVariant,gestureVariant)})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-99eBX.framer-7o5x3u, .framer-99eBX .framer-7o5x3u { display: block; }\",\".framer-99eBX.framer-1ubxztt { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 22px; height: 48px; justify-content: center; overflow: visible; padding: 0px 22px 0px 22px; position: relative; width: min-content; }\",\".framer-99eBX .framer-1lsqu7 { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-99eBX .framer-10cstnl-container { flex: none; height: 24px; position: relative; width: 24px; }\",\".framer-99eBX.framer-v-14mpti5.framer-1ubxztt { gap: 10px; height: min-content; padding: 0px; }\",\".framer-99eBX.framer-v-14mpti5 .framer-10cstnl-container { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 18px); width: 18px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 208\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"Aaa3ANtZH\":{\"layout\":[\"auto\",\"auto\"]},\"ks5K85AfQ\":{\"layout\":[\"auto\",\"fixed\"]},\"A2ABjAAZM\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"MaHpYTLro\":\"title\",\"ekRbM4mPn\":\"background\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramertRNzxCji_=withCSS(Component,css,\"framer-99eBX\");export default FramertRNzxCji_;FramertRNzxCji_.displayName=\"Button (add to calendar)\";FramertRNzxCji_.defaultProps={height:48,width:208};addPropertyControls(FramertRNzxCji_,{variant:{options:[\"emyrqnGKA\",\"Aaa3ANtZH\"],optionTitles:[\"Default\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},MaHpYTLro:{defaultValue:\"Add to calendar\",displayTextArea:false,title:\"Title\",type:ControlType.String},ekRbM4mPn:{defaultValue:\"rgb(250, 69, 86)\",title:\"Background\",type:ControlType.Color}});addFonts(FramertRNzxCji_,[{explicitInter:true,fonts:[{family:\"Mulish\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/mulish/v18/1Ptyg83HX_SGhgqO0yLcmjzUAuWexTpWwaWlGrw-PTY.woff2\",weight:\"900\"},{family:\"Mulish\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/mulish/v18/1Ptyg83HX_SGhgqO0yLcmjzUAuWexXRWwaWlGrw-PTY.woff2\",weight:\"700\"}]},...SVGFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertRNzxCji_\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"MaHpYTLro\\\":\\\"title\\\",\\\"ekRbM4mPn\\\":\\\"background\\\"}\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"Aaa3ANtZH\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ks5K85AfQ\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"A2ABjAAZM\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"48\",\"framerIntrinsicWidth\":\"208\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tRNzxCji_.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useRef}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";// --- Funkcja pomocnicza do parsowania daty w formacie DD.MM.YYYY ---\nconst parseCustomDate=dateString=>{if(/^\\d{2}\\.\\d{2}\\.\\d{4}$/.test(dateString)){// Parsowanie formatu DD.MM.YYYY\nconst[day,month,year]=dateString.split(\".\").map(Number);return new Date(year,month-1,day)// Miesiąc w JS jest 0-indeksowany\n;}// Fallback na standardowe parsowanie\nreturn new Date(dateString);};// --- Funkcja pomocnicza do formatowania obiektu Date na YYYY-MM-DD ---\nconst formatDateObjectToYYYYMMDD=dateObj=>{const year=dateObj.getFullYear();const month=(dateObj.getMonth()+1).toString().padStart(2,\"0\");const day=dateObj.getDate().toString().padStart(2,\"0\");return`${year}-${month}-${day}`;};// --- Komponent Kodowy: AddToCalendarButton ---\n/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 40\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function AddToCalendarButton(props){const{eventCity,eventStartDate,eventEndDate,eventStartTime,eventEndTime,eventBaseName=\"Wydarzenie\",eventDescriptionTemplate=\"Wydarzenie w {city}\",style}=props;const overlayRef=useRef(null);// --- Funkcje pomocnicze ---\nconst formatCalendarDate=fullIsoDateString=>{if(!fullIsoDateString){const now=new Date;return now.toISOString().replace(/[-:]|\\.\\d{3}/g,\"\");}try{const date=new Date(fullIsoDateString);if(isNaN(date.getTime()))throw new Error(\"Invalid Date\");return date.toISOString().replace(/[-:]|\\.\\d{3}/g,\"\");}catch(e){console.error(\"ISO Date Formatting Error:\",fullIsoDateString,e);const now=new Date;return now.toISOString().replace(/[-:]|\\.\\d{3}/g,\"\");}};const addToGoogleCalendar=(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)=>{const googleStartDate=formatCalendarDate(fullStartDate);const googleEndDate=formatCalendarDate(fullEndDate);if(!googleStartDate||!googleEndDate){console.error(\"Google Link Error: Invalid formatted dates.\");return;}const params=new URLSearchParams({action:\"TEMPLATE\",text:eventName,location:eventLocation,details:eventDescription,dates:`${googleStartDate}/${googleEndDate}`});window.open(`https://www.google.com/calendar/render?${params.toString()}`,\"_blank\");};const createICSContent=(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)=>{const icsStartDate=formatCalendarDate(fullStartDate);const icsEndDate=formatCalendarDate(fullEndDate);if(!icsStartDate||!icsEndDate){console.error(\"ICS Error: Invalid formatted dates.\");return null;}const escapeICS=(str=\"\")=>str.replace(/[,;\\\\]/g,\"\\\\$&\").replace(/\\n/g,\"\\\\n\");return`BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//YourCompany//YourApp//EN\nBEGIN:VEVENT\nUID:${Date.now()}@yourdomain.com\nDTSTAMP:${formatCalendarDate(new Date().toISOString())}\nDTSTART:${icsStartDate}\nDTEND:${icsEndDate}\nSUMMARY:${escapeICS(eventName)}\nDESCRIPTION:${escapeICS(eventDescription)}\nLOCATION:${escapeICS(eventLocation)}\nEND:VEVENT\nEND:VCALENDAR`;};const downloadICS=icsContent=>{const blob=new Blob([icsContent],{type:\"text/calendar;charset=utf-8\"});const url=URL.createObjectURL(blob);const a=document.createElement(\"a\");a.href=url;a.download=\"event.ics\";document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(url);};const addToAppleCalendar=(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)=>{const icsContent=createICSContent(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate);if(icsContent)downloadICS(icsContent);};const addToOutlookCalendar=(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)=>{const icsContent=createICSContent(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate);if(icsContent)downloadICS(icsContent);};const showCalendarOptions=(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const existingOverlay=document.getElementById(\"calendar-modal-overlay\");if(existingOverlay)document.body.removeChild(existingOverlay);const modal=document.createElement(\"div\");modal.style.cssText=\"position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;padding:25px;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,0.2);z-index:1001;width:90%;max-width:350px;box-sizing:border-box;\";const heading=document.createElement(\"h3\");heading.textContent=\"Dodaj do kalendarza\";heading.style.cssText=\"text-align:center;margin-bottom:20px;margin-top:0;font-size:18px;font-weight:600;color:#333;\";modal.appendChild(heading);const buttonsContainer=document.createElement(\"div\");buttonsContainer.style.cssText=\"display:flex;flex-direction:column;gap:12px;\";const options=[{name:\"Google Calendar\",handler:()=>addToGoogleCalendar(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)},{name:\"Apple Calendar\",handler:()=>addToAppleCalendar(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)},{name:\"Outlook Calendar\",handler:()=>addToOutlookCalendar(eventName,eventLocation,eventDescription,fullStartDate,fullEndDate)}];const overlay=document.createElement(\"div\");overlay.id=\"calendar-modal-overlay\";overlay.style.cssText=\"position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.6);z-index:1000;\";overlay.onclick=e=>{if(e.target===overlay)document.body.removeChild(overlay);};options.forEach(option=>{const button=document.createElement(\"button\");button.textContent=option.name;button.style.cssText=\"padding:12px 15px;border-radius:8px;border:1px solid #DDD;background-color:#f9f9f9;color:#333;font-weight:500;font-size:15px;cursor:pointer;transition:background-color 0.2s, border-color 0.2s;width:100%;text-align:center;\";button.onmouseover=()=>{button.style.backgroundColor=\"#f0f0f0\";button.style.borderColor=\"#CCC\";};button.onmouseout=()=>{button.style.backgroundColor=\"#f9f9f9\";button.style.borderColor=\"#DDD\";};button.onclick=()=>{if(document.body.contains(overlay))document.body.removeChild(overlay);option.handler();};buttonsContainer.appendChild(button);});modal.appendChild(buttonsContainer);const closeButton=document.createElement(\"button\");closeButton.textContent=\"Anuluj\";closeButton.style.cssText=\"margin-top:20px;padding:10px 15px;border-radius:8px;border:1px solid #CCC;background-color:#FFF;color:#555;font-weight:500;font-size:15px;width:100%;cursor:pointer;transition:background-color 0.2s, border-color 0.2s;\";closeButton.onmouseover=()=>{closeButton.style.backgroundColor=\"#f5f5f5\";closeButton.style.borderColor=\"#BBB\";};closeButton.onmouseout=()=>{closeButton.style.backgroundColor=\"#FFF\";closeButton.style.borderColor=\"#CCC\";};closeButton.onclick=()=>{if(document.body.contains(overlay))document.body.removeChild(overlay);};modal.appendChild(closeButton);overlay.appendChild(modal);document.body.appendChild(overlay);};// --- Funkcje do przekazywania zdarzeń hover ---\nconst handleMouseEnter=e=>{if(overlayRef.current){const underlyingElement=document.elementFromPoint(e.clientX,e.clientY);if(underlyingElement){const mouseEnterEvent=new MouseEvent(\"mouseenter\",{bubbles:true,cancelable:true});underlyingElement.dispatchEvent(mouseEnterEvent);}}};const handleMouseLeave=e=>{if(overlayRef.current){const underlyingElement=document.elementFromPoint(e.clientX,e.clientY);if(underlyingElement){const mouseLeaveEvent=new MouseEvent(\"mouseleave\",{bubbles:true,cancelable:true});underlyingElement.dispatchEvent(mouseLeaveEvent);}}};// --- Główna funkcja obsługująca kliknięcie ---\nconst handleClick=useCallback(e=>{if(!eventCity||!eventStartDate||!eventEndDate||!eventStartTime||!eventEndTime){console.error(\"Brakuje danych!\",{eventCity,eventStartDate,eventEndDate,eventStartTime,eventEndTime});return;}if(!eventStartTime.includes(\":\")||!eventEndTime.includes(\":\")){console.error(\"Niepoprawny format czasu.\",{eventStartTime,eventEndTime});return;}const startDateObj=parseCustomDate(eventStartDate);const endDateObj=parseCustomDate(eventEndDate);if(isNaN(startDateObj.getTime())||isNaN(endDateObj.getTime())){console.error(\"Nie udało się przetworzyć daty. Otrzymano:\",{eventStartDate,eventEndDate});return;}const formattedStartDate=formatDateObjectToYYYYMMDD(startDateObj);const formattedEndDate=formatDateObjectToYYYYMMDD(endDateObj);const fullStartDate=`${formattedStartDate}T${eventStartTime}:00`;const fullEndDate=`${formattedEndDate}T${eventEndTime}:00`;const finalEventName=`${eventBaseName} ${eventCity}`;const finalEventLocation=eventCity;const finalEventDescription=eventDescriptionTemplate.replace(\"{city}\",eventCity);showCalendarOptions(finalEventName,finalEventLocation,finalEventDescription,fullStartDate,fullEndDate);},[eventCity,eventStartDate,eventEndDate,eventStartTime,eventEndTime,eventBaseName,eventDescriptionTemplate]);// --- Renderowanie Komponentu ---\nreturn /*#__PURE__*/_jsx(motion.div,{ref:overlayRef,onClick:handleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,style:{...style,width:\"100%\",height:\"100%\",display:\"block\",backgroundColor:\"transparent\",cursor:\"pointer\",WebkitTapHighlightColor:\"transparent\",userSelect:\"none\",pointerEvents:\"auto\",position:\"absolute\",top:0,left:0,zIndex:10}});}// --- Domyślne Wartości Propsów ---\nAddToCalendarButton.defaultProps={eventCity:\"Miasto\",eventStartDate:\"Apr 13, 2025\",eventEndDate:\"Apr 15, 2025\",eventStartTime:\"10:00\",eventEndTime:\"12:00\",eventBaseName:\"Wydarzenie\",eventDescriptionTemplate:\"Wydarzenie w {city}\"};// --- Definicja Kontrolek dla Panelu Właściwości ---\naddPropertyControls(AddToCalendarButton,{eventCity:{type:ControlType.String,title:\"Miasto wydarzenia\",placeholder:\"np. Warszawa\",defaultValue:AddToCalendarButton.defaultProps.eventCity},eventStartDate:{type:ControlType.String,title:\"Data OD\",placeholder:\"Data rozpoczęcia\",defaultValue:AddToCalendarButton.defaultProps.eventStartDate,description:\"Data rozpoczęcia wydarzenia (np. Apr 13, 2025, 2025-04-13, 13.04.2025)\"},eventEndDate:{type:ControlType.String,title:\"Data DO\",placeholder:\"Data zakończenia\",defaultValue:AddToCalendarButton.defaultProps.eventEndDate,description:\"Data zakończenia wydarzenia (np. Apr 15, 2025, 2025-04-15, 15.04.2025)\"},eventStartTime:{type:ControlType.String,title:\"Godzina OD\",placeholder:\"HH:mm\",defaultValue:AddToCalendarButton.defaultProps.eventStartTime,description:\"Godzina rozpoczęcia (GG:MM)\"},eventEndTime:{type:ControlType.String,title:\"Godzina DO\",placeholder:\"HH:mm\",defaultValue:AddToCalendarButton.defaultProps.eventEndTime,description:\"Godzina zakończenia (GG:MM)\"},eventBaseName:{type:ControlType.String,title:\"Nazwa bazowa\",defaultValue:AddToCalendarButton.defaultProps.eventBaseName,description:\"Np. 'Targi Sztuki'\"},eventDescriptionTemplate:{type:ControlType.String,title:\"Szablon opisu\",defaultValue:AddToCalendarButton.defaultProps.eventDescriptionTemplate,description:\"Użyj {city} jako placeholderu na miasto\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AddToCalendarButton\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"* @framerIntrinsicWidth 100\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AddToCalendarButton.map"],"mappings":"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"}