{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/XVUmpmPn1EPL0dzocT35/Ticker.js", "ssg:https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Z4QJ2YpzpVnWRfR6Ccgg/Video.js", "ssg:https://framerusercontent.com/modules/mlIJ2ot1IKKoWQa08WGt/YSJTr6RrxIbXrHsKEIgK/zQamQoz8A.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,useEffect,useState,useRef,useMemo,createRef,useCallback,cloneElement}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useAnimationFrame,useReducedMotion,LayoutGroup,useInView,useMotionValue,useTransform,motion,wrap,frame}from\"framer-motion\";import{resize}from\"@motionone/dom\";const MAX_DUPLICATED_ITEMS=100;const directionTransformers={left:offset=>`translateX(-${offset}px)`,right:offset=>`translateX(${offset}px)`,top:offset=>`translateY(-${offset}px)`,bottom:offset=>`translateY(${offset}px)`};const supportsAcceleratedAnimations=typeof Animation!==\"undefined\"&&typeof Animation.prototype.updatePlaybackRate===\"function\";/**\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Ticker(props){/* Props */let{slots,gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,speed,hoverFactor,direction,alignment,sizingOptions,fadeOptions,style}=props;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{widthType,heightType}=sizingOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/* Checks */const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots.filter(Boolean);const numChildren=Children.count(filteredSlots);const hasChildren=numChildren>0;if(direction===true){direction=\"left\";}const isHorizontal=direction===\"left\"||direction===\"right\";const offset=useMotionValue(0);const transformer=directionTransformers[direction];const transform=useTransform(offset,transformer);/* Refs and State */const parentRef=useRef(null);const childrenRef=useMemo(()=>{return[/*#__PURE__*/createRef(),/*#__PURE__*/createRef()];},[]);const[size,setSize]=useState({parent:null,children:null});/* Arrays */let clonedChildren=[];let dupedChildren=[];/* Duplicate value */let duplicateBy=0;let opacity=0;if(isCanvas){duplicateBy=numChildren?Math.floor(10/numChildren):0;opacity=1;}if(!isCanvas&&hasChildren&&size.parent){duplicateBy=Math.round(size.parent/size.children*2)+1;duplicateBy=Math.min(duplicateBy,MAX_DUPLICATED_ITEMS);opacity=1;}/* Measure parent and child */const measure=useCallback(()=>{if(hasChildren&&parentRef.current){const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=childrenRef[0].current?isHorizontal?childrenRef[0].current.offsetLeft:childrenRef[0].current.offsetTop:0;const end=childrenRef[1].current?isHorizontal?childrenRef[1].current.offsetLeft+childrenRef[1].current.offsetWidth:childrenRef[1].current.offsetTop+childrenRef[1].current.offsetHeight:0;const childrenLength=end-start+gap;setSize({parent:parentLength,children:childrenLength});}},[]);const childrenStyles=isCanvas?{contentVisibility:\"auto\"}:{};/* Add refs to first and last child */if(hasChildren){// TODO: These conditional hooks will be unsafe if hasChildren ever changes outside the canvas.\nif(!isCanvas){/**\n             * Track whether this is the initial resize event. By default this will fire on mount,\n             * which we do in the useEffect. We should only fire it on subsequent resizes.\n             */let initialResize=useRef(true);useEffect(()=>{frame.read(measure);return resize(parentRef.current,({contentSize})=>{if(!initialResize.current&&(contentSize.width||contentSize.height)){frame.read(measure);}initialResize.current=false;});},[]);}clonedChildren=Children.map(filteredSlots,(child,index)=>{var _child_props,_child_props1,_child_props2,_child_props3;let ref;if(index===0){ref=childrenRef[0];}if(index===filteredSlots.length-1){ref=childrenRef[1];}const size={width:widthType?(_child_props=child.props)===null||_child_props===void 0?void 0:_child_props.width:\"100%\",height:heightType?(_child_props1=child.props)===null||_child_props1===void 0?void 0:_child_props1.height:\"100%\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{ref:ref,style:size,children:/*#__PURE__*/cloneElement(child,{style:{...(_child_props2=child.props)===null||_child_props2===void 0?void 0:_child_props2.style,...size,flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined},(_child_props3=child.props)===null||_child_props3===void 0?void 0:_child_props3.children)})});});}if(!isCanvas){for(let i=0;i<duplicateBy;i++){dupedChildren=[...dupedChildren,...Children.map(filteredSlots,(child,childIndex)=>{var _child_props,_child_props1,_child_props2,_child_props3,_child_props4,_child_props5;const size={width:widthType?(_child_props=child.props)===null||_child_props===void 0?void 0:_child_props.width:\"100%\",height:heightType?(_child_props1=child.props)===null||_child_props1===void 0?void 0:_child_props1.height:\"100%\",willChange:\"transform\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{style:size,\"aria-hidden\":true,children:/*#__PURE__*/cloneElement(child,{key:i+\" \"+childIndex,style:{...(_child_props2=child.props)===null||_child_props2===void 0?void 0:_child_props2.style,width:widthType?(_child_props3=child.props)===null||_child_props3===void 0?void 0:_child_props3.width:\"100%\",height:heightType?(_child_props4=child.props)===null||_child_props4===void 0?void 0:_child_props4.height:\"100%\",flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-dupe-\"+i:undefined},(_child_props5=child.props)===null||_child_props5===void 0?void 0:_child_props5.children)},i+\"li\"+childIndex)},i+\"lg\"+childIndex);})];}}const animateToValue=size.children+size.children*Math.round(size.parent/size.children);const initialTime=useRef(null);const prevTime=useRef(null);const xOrY=useRef(0);const isHover=useRef(false);const isReducedMotion=useReducedMotion();const listRef=useRef(null);const animationRef=useRef(null);/**\n     * Setup animations\n     */if(!isCanvas){const isInView=useInView(parentRef);/**\n         * If this is an animation we can hardware accelerate, animate with WAAPI\n         */if(supportsAcceleratedAnimations){useEffect(()=>{if(isReducedMotion||!animateToValue||!speed){return;}animationRef.current=listRef.current.animate({transform:[transformer(0),transformer(animateToValue)]},{duration:Math.abs(animateToValue)/speed*1e3,iterations:Infinity,easing:\"linear\"});return()=>animationRef.current.cancel();},[hoverFactor,animateToValue,speed]);// Pause the animation when it's out of view\nuseEffect(()=>{if(!animationRef.current)return;if(isInView&&animationRef.current.playState===\"paused\"){animationRef.current.play();}else if(!isInView&&animationRef.current.playState===\"running\"){animationRef.current.pause();}},[isInView]);}else{/**\n             * If we can't accelerate this animation because we have a hoverFactor defined\n             * animate with a rAF loop.\n             */useAnimationFrame(t=>{if(!animateToValue||isReducedMotion||supportsAcceleratedAnimations){return;}/**\n                 * In case this animation is delayed from starting because we're running a bunch\n                 * of other work, we want to set an initial time rather than counting from 0.\n                 * That ensures that if the animation is delayed, it starts from the first frame\n                 * rather than jumping.\n                 */if(initialTime.current===null){initialTime.current=t;}t=t-initialTime.current;const timeSince=prevTime.current===null?0:t-prevTime.current;let delta=timeSince*(speed/1e3);if(isHover.current){delta*=hoverFactor;}xOrY.current+=delta;xOrY.current=wrap(0,animateToValue,xOrY.current);prevTime.current=t;if(!isInView)return;offset.set(xOrY.current);});}}/* Fades */const fadeDirection=isHorizontal?\"to right\":\"to bottom\";const fadeWidthStart=fadeWidth/2;const fadeWidthEnd=100-fadeWidth/2;const fadeInsetStart=clamp(fadeInset,0,fadeWidthStart);const fadeInsetEnd=100-fadeInset;const fadeMask=`linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`;/* Empty state */if(!hasChildren){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"\u2728\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to infinitely loop on your page.\"})]});}return /*#__PURE__*/_jsx(\"section\",{style:{...containerStyle,opacity:opacity,WebkitMaskImage:fadeContent?fadeMask:undefined,MozMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,overflow:overflow?\"visible\":\"hidden\",padding:paddingValue},ref:parentRef,children:/*#__PURE__*/_jsxs(motion.ul,{ref:listRef,style:{...containerStyle,gap:gap,top:direction===\"bottom\"&&isValidNumber(animateToValue)?-animateToValue:undefined,left:direction===\"right\"&&isValidNumber(animateToValue)?-animateToValue:undefined,placeItems:alignment,position:\"relative\",flexDirection:isHorizontal?\"row\":\"column\",...style,willChange:isCanvas?\"auto\":\"transform\",transform:supportsAcceleratedAnimations?transformer(0):transform},onMouseEnter:()=>{isHover.current=true;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=hoverFactor;}},onMouseLeave:()=>{isHover.current=false;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=1;}},children:[clonedChildren,dupedChildren]})});}/* Default Properties */Ticker.defaultProps={gap:10,padding:10,sizingOptions:{widthType:true,heightType:true},fadeOptions:{fadeContent:true,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},direction:true};/* Property Controls */addPropertyControls(Ticker,{slots:{type:ControlType.Array,title:\"Children\",control:{type:ControlType.ComponentInstance}},speed:{type:ControlType.Number,title:\"Speed\",min:0,max:1e3,defaultValue:100,unit:\"%\",displayStepper:true,step:5},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\"],defaultValue:\"left\",displaySegmentedControl:true},alignment:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{direction:{right:[\"align-top\",\"align-middle\",\"align-bottom\"],left:[\"align-top\",\"align-middle\",\"align-bottom\"],top:[\"align-left\",\"align-center\",\"align-right\"],bottom:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},sizingOptions:{type:ControlType.Object,title:\"Sizing\",controls:{widthType:{type:ControlType.Boolean,title:\"Width\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true},heightType:{type:ControlType.Boolean,title:\"Height\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true}}},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:true},overflow:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden(props){return props.fadeContent===true;}},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:0,min:0,max:1,step:.05,hidden(props){return props.fadeContent===false;}}}},hoverFactor:{type:ControlType.Number,title:\"Hover\",min:0,max:1,unit:\"x\",defaultValue:1,step:.1,displayStepper:true,description:\"Slows down the speed while you are hovering.\"}});/* Placeholder Styles */const containerStyle={display:\"flex\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:150,lineHeight:1.5,textAlign:\"center\"};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);const isValidNumber=value=>typeof value===\"number\"&&!isNaN(value);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Ticker\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ticker.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks \u201CPlay\u201D.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome \u2013 if we\u2019re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won\u2019t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That\u2019s because\n// `startTime` == start == changing it shouldn\u2019t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn\u2019t exist,\n// you might ask? Now, that\u2019s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the \u201CStart Time\u201D in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don\u2019t know, and it\n//   always supported it, so let\u2019s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",preload:autoplayBehavior!==\"on-mount\"&&posterEnabled?\"metadata\":\"auto\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:\"cover\",backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map", "import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{addPropertyControls as r,ControlType as n}from\"framer\";import*as a from\"react\";let s=\"pSlqsaL1M\",o=\"gXTa5IJzX\",i=\"wg2WyJ1Sw\",c=\"o4Y8kbz7v\",l=\"aR82iq0xI\",m=\"qEAgi8DEF\",g=\"fIqGqBYdi\",d=\"SvtroRorD\",p=\"DDglFptqv\",h=\"jDjq4Iejy\",u=\"xouvIAXLB\",f=(e,t)=>{if(e&&\"object\"==typeof e)return{...e,alt:t};},w=[{index:0,id:\"S6NaL2AKH\",[s]:\"Revolutionizing Retail with AI\",[o]:\"revolutionizing-retail-with-ai\",[i]:\"2024-04-05T00:00:00.000Z\",[c]:f({src:\"https://framerusercontent.com/images/V2bpjMX4Gi8erYKCmHq0qmgxRE.jpg?scale-down-to=1024\"},\"Blue Flower\"),[l]:\"Artificial Intelligence\",[m]:\"Developed an immersive AR experience for an e-commerce platform, enhancing customer interaction and increasing sales.\",[g]:f({src:\"https://framerusercontent.com/images/yfMmkpVDpnZUduaLy9mKK9R835o.jpg?scale-down-to=1024\"},\"\"),[d]:f({src:\"https://framerusercontent.com/images/wS0g3VCdRcHg9J3F8cUIgQjWqNg.jpg?scale-down-to=1024\"},\"\"),[p]:f({src:\"https://framerusercontent.com/images/1kPfeLB3wTqQhxk3yIFHGONakQI.jpg\",srcSet:\"https://framerusercontent.com/images/1kPfeLB3wTqQhxk3yIFHGONakQI.jpg?scale-down-to=1024 1019w,https://framerusercontent.com/images/1kPfeLB3wTqQhxk3yIFHGONakQI.jpg?scale-down-to=2048 2038w,https://framerusercontent.com/images/1kPfeLB3wTqQhxk3yIFHGONakQI.jpg 4000w\"},\"\"),[h]:f({src:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg\",srcSet:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg 3840w\"},\"\"),[u]:/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"We embarked on a transformative project with a national retail chain to revolutionize their inventory management using AI. Throughout 2023, our team developed a machine learning algorithm that predicts inventory needs, automates restocking requests, and provides real-time stock level updates. Challenges included integrating the AI with legacy systems and ensuring accurate predictions in the face of fluctuating consumer trends. Our agile methodology and close collaboration with the client's IT department enabled us to adapt and refine our approach, leading to a successful launch in March 2024.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Introduction:\"}),\" In collaboration with a leading national retail chain, we set out to overhaul their inventory system using advanced AI algorithms. Our objective was to optimize stock levels and reduce overheads while improving customer satisfaction through product availability.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Challenges & Solutions:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Legacy System Integration:\"}),\" We faced significant challenges integrating AI with outdated inventory systems. By employing middleware solutions, we bridged the gap between new and old technologies.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Demand Forecasting:\"}),\" Accurately predicting retail demand patterns required sophisticated machine learning models trained on vast datasets, including sales, seasonal trends, and promotional events.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Development Process:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Agile Methodology:\"}),\" Our team followed an iterative approach, allowing for flexibility and ongoing refinement based on stakeholder feedback.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User-Centric Design:\"}),\" We engaged with employees from the client\u2019s retail outlets to understand their workflow, leading to a user-friendly interface.\"]})})]})]})},{index:1,id:\"YkAL7yrYq\",[s]:\"Choosing the Right SaaS Solution for Your Business\",[o]:\"next-gen-educational-platform\",[i]:\"2024-03-07T00:00:00.000Z\",[c]:f({src:\"https://framerusercontent.com/images/FJ9sSB0AuxR866SnbjMGbHpic.jpg?scale-down-to=1024\"},\"Teal Flower\"),[l]:\"E-Learning\",[m]:\"Created a cutting-edge e-learning platform that provides personalized learning experiences.\",[g]:f({src:\"https://framerusercontent.com/images/fHZS3c42FIKCPOUsb6XAGkmGo.jpg\",srcSet:\"https://framerusercontent.com/images/fHZS3c42FIKCPOUsb6XAGkmGo.jpg?scale-down-to=1024 768w,https://framerusercontent.com/images/fHZS3c42FIKCPOUsb6XAGkmGo.jpg?scale-down-to=2048 1536w,https://framerusercontent.com/images/fHZS3c42FIKCPOUsb6XAGkmGo.jpg 3000w\"},\"\"),[d]:f({src:\"https://framerusercontent.com/images/ot3Br5l4vrVsSJuD4A4B8vUlcA.jpg\",srcSet:\"https://framerusercontent.com/images/ot3Br5l4vrVsSJuD4A4B8vUlcA.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/ot3Br5l4vrVsSJuD4A4B8vUlcA.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/ot3Br5l4vrVsSJuD4A4B8vUlcA.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/ot3Br5l4vrVsSJuD4A4B8vUlcA.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/ot3Br5l4vrVsSJuD4A4B8vUlcA.jpg 6000w\"},\"\"),[p]:f({src:\"https://framerusercontent.com/images/qnAHHivhdH0zfcrnOYnbHn9IxM.jpg\",srcSet:\"https://framerusercontent.com/images/qnAHHivhdH0zfcrnOYnbHn9IxM.jpg?scale-down-to=1024 768w,https://framerusercontent.com/images/qnAHHivhdH0zfcrnOYnbHn9IxM.jpg?scale-down-to=2048 1536w,https://framerusercontent.com/images/qnAHHivhdH0zfcrnOYnbHn9IxM.jpg 3000w\"},\"\"),[h]:f({src:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg\",srcSet:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg 3840w\"},\"\"),[u]:/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In July 2024, we completed an ambitious project to create a next-generation e-learning platform for a leading educational institution. Our goal was to design a system that supports adaptive learning and student engagement. We faced hurdles in creating a universally compatible platform across various devices and operating systems. By employing a responsive design and microservices architecture, we ensured seamless functionality. We incorporated interactive content, video conferencing, and AI to personalize the learning experience. Post-launch feedback has been overwhelmingly positive, confirming the impact of our work.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Introduction:\"}),\" Our project aimed to develop an innovative e-learning platform that adapts to individual learning styles, designed for an esteemed educational institution.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Challenges & Solutions:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Device Compatibility:\"}),\" Ensuring the platform performed consistently across various devices was critical. Responsive design principles and thorough testing ensured compatibility.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Engagement Mechanics:\"}),\" We utilized gamification techniques and interactive multimedia to maintain student engagement and motivation.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Development Process:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Collaborative Workflows:\"}),\" We worked closely with educators to tailor the platform's features to the pedagogical requirements.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Adaptive Learning Algorithms:\"}),\" Our team developed algorithms that adapt course content based on student performance, providing a truly personalized learning experience.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Outcomes:\"}),\" The platform was successfully launched with features such as live lectures, interactive quizzes, and progress tracking, revolutionizing the client's educational delivery.\"]})]})},{index:2,id:\"bwPYNVbUT\",[s]:\"How SaaS is Revolutionizing AI: A Deep Dive\",[o]:\"how-saas-is-revolutionizing-industry-a-deep-dive\",[i]:\"2024-02-05T00:00:00.000Z\",[c]:f({src:\"https://framerusercontent.com/images/gc34sRWL5OnXC7ovOZgZs5cUjS8.jpg?scale-down-to=1024\"},\"Pink Flower\"),[l]:\"Security\",[m]:\"Developed a secure and robust financial transaction gateway for a fintech startup.\",[g]:f({src:\"https://framerusercontent.com/images/Rfe2IOWuJShaqCZUCyvJqoVKPo.jpg\",srcSet:\"https://framerusercontent.com/images/Rfe2IOWuJShaqCZUCyvJqoVKPo.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/Rfe2IOWuJShaqCZUCyvJqoVKPo.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/Rfe2IOWuJShaqCZUCyvJqoVKPo.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/Rfe2IOWuJShaqCZUCyvJqoVKPo.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/Rfe2IOWuJShaqCZUCyvJqoVKPo.jpg 5079w\"},\"\"),[d]:f({src:\"https://framerusercontent.com/images/oCZnK1r4vfG2EJUTX8jJBtfDQ0.jpg\",srcSet:\"https://framerusercontent.com/images/oCZnK1r4vfG2EJUTX8jJBtfDQ0.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/oCZnK1r4vfG2EJUTX8jJBtfDQ0.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/oCZnK1r4vfG2EJUTX8jJBtfDQ0.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/oCZnK1r4vfG2EJUTX8jJBtfDQ0.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/oCZnK1r4vfG2EJUTX8jJBtfDQ0.jpg 5996w\"},\"\"),[p]:f({src:\"https://framerusercontent.com/images/7OvfFKGPluoKoqZgB7X2lE8Wh8.jpg\",srcSet:\"https://framerusercontent.com/images/7OvfFKGPluoKoqZgB7X2lE8Wh8.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/7OvfFKGPluoKoqZgB7X2lE8Wh8.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/7OvfFKGPluoKoqZgB7X2lE8Wh8.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/7OvfFKGPluoKoqZgB7X2lE8Wh8.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/7OvfFKGPluoKoqZgB7X2lE8Wh8.jpg 4608w\"},\"\"),[h]:f({src:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg\",srcSet:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg 3840w\"},\"\"),[u]:/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Our project, initiated in early 2024 and concluded in November, was to develop a highly secure transaction gateway for a fintech startup. We needed to ensure compliance with international security standards, including PCI DSS and GDPR. Our team chose a combination of blockchain technology for secure ledger management and advanced encryption for data security. Through iterative testing and user feedback, we refined the user experience to be intuitive and reliable. The result was a state-of-the-art gateway facilitating safe and swift transactions.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Introduction:\"}),\" We were tasked with creating a secure transaction gateway that adheres to the highest security standards for a burgeoning fintech startup.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Challenges & Solutions:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Regulatory Compliance:\"}),\" Navigating and implementing international security standards was our primary challenge. Regular audits and adopting a compliance-first approach ensured adherence.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Blockchain Integration:\"}),\" To guarantee transaction integrity, we leveraged blockchain technology, which provided an immutable record of transactions.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Development Process:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Security-First Approach:\"}),\" Every aspect of the gateway's development was predicated on security, from initial design to final deployment.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User Experience:\"}),\" Despite the complexity of the security measures, we maintained a simple and intuitive user interface.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Outcomes:\"}),\" The project resulted in a secure and efficient transaction gateway that has set a new standard in fintech security, instilling trust among its users.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})},{index:3,id:\"M7ceIJy1I\",[s]:\"Healthcare Data Unification System\",[o]:\"demystifying-saas-security-a-guide-for-businesses\",[i]:\"2024-02-06T00:00:00.000Z\",[c]:f({src:\"https://framerusercontent.com/images/kfzdTfEJCoYEyva7t2xy8i9Vk.jpg?scale-down-to=1024\"},\"\"),[l]:\"Healthcare\",[m]:\"Unified disparate healthcare databases into a cohesive, HIPAA-compliant system.\",[g]:f({src:\"https://framerusercontent.com/images/JPBN7oWRCdgJ0Dvc1sIoAGSgfY.jpg\",srcSet:\"https://framerusercontent.com/images/JPBN7oWRCdgJ0Dvc1sIoAGSgfY.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/JPBN7oWRCdgJ0Dvc1sIoAGSgfY.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/JPBN7oWRCdgJ0Dvc1sIoAGSgfY.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/JPBN7oWRCdgJ0Dvc1sIoAGSgfY.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/JPBN7oWRCdgJ0Dvc1sIoAGSgfY.jpg 5871w\"},\"\"),[d]:f({src:\"https://framerusercontent.com/images/bsJPTzyb6GsZLaz2GJpqJ0Cp4I.jpg\",srcSet:\"https://framerusercontent.com/images/bsJPTzyb6GsZLaz2GJpqJ0Cp4I.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/bsJPTzyb6GsZLaz2GJpqJ0Cp4I.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/bsJPTzyb6GsZLaz2GJpqJ0Cp4I.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/bsJPTzyb6GsZLaz2GJpqJ0Cp4I.jpg 3788w\"},\"\"),[p]:f({src:\"https://framerusercontent.com/images/0ExYbKog1p1ovcAOBsTfC2VVHYw.jpg\",srcSet:\"https://framerusercontent.com/images/0ExYbKog1p1ovcAOBsTfC2VVHYw.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/0ExYbKog1p1ovcAOBsTfC2VVHYw.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/0ExYbKog1p1ovcAOBsTfC2VVHYw.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/0ExYbKog1p1ovcAOBsTfC2VVHYw.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/0ExYbKog1p1ovcAOBsTfC2VVHYw.jpg 5076w\"},\"\"),[h]:f({src:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg\",srcSet:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg 3840w\"},\"\"),[u]:/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"This project, launched in January 2024, aimed to unify various healthcare data repositories into a single, cohesive system while remaining HIPAA-compliant. We encountered the complexity of merging differing data formats and structures. Our team utilized a mix of ETL processes and custom middleware to facilitate communication between databases. The final system provided healthcare professionals with a unified view of patient records, improving both the quality of care and operational efficiency.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Introduction:\"}),\" Our objective was to create a unified healthcare data management system that complied with strict HIPAA regulations.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Challenges & Solutions:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Data Heterogeneity:\"}),\" We contended with varying data formats by creating a universal schema that enabled seamless data integration.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Privacy & Security:\"}),\" Implementing robust encryption and access controls was critical in protecting sensitive patient data.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Development Process:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Stakeholder Engagement:\"}),\" Regular meetings with healthcare professionals provided insights that shaped the system's design.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Testing & Validation:\"}),\" Rigorous testing ensured that the system not only met but exceeded industry standards for data management.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Outcomes:\"}),\" The final system provided a consolidated view of patient data, improved the efficiency of healthcare delivery, and maintained the highest standards of data privacy.\"]})]})},{index:4,id:\"t7hFF0FHm\",[s]:\"Smart City Traffic Management Solution\",[o]:\"understanding-the-roi-of-saas-how-to-measure-success\",[i]:\"2024-01-03T00:00:00.000Z\",[c]:f({src:\"https://framerusercontent.com/images/aeUVipaXE1VUoatzMT4a4NAMQAQ.jpg?scale-down-to=1024\"},\"Purple Flower\"),[l]:\"IoT\",[m]:\"Developed an IoT-based traffic management solution to optimize city traffic flow.\",[g]:f({src:\"https://framerusercontent.com/images/G81LVgQ7QNnBL5Jp3ioaoQDiTs.jpg\",srcSet:\"https://framerusercontent.com/images/G81LVgQ7QNnBL5Jp3ioaoQDiTs.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/G81LVgQ7QNnBL5Jp3ioaoQDiTs.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/G81LVgQ7QNnBL5Jp3ioaoQDiTs.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/G81LVgQ7QNnBL5Jp3ioaoQDiTs.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/G81LVgQ7QNnBL5Jp3ioaoQDiTs.jpg 5990w\"},\"\"),[d]:f({src:\"https://framerusercontent.com/images/JDF6Eppjg0MOnhnSlZkZcfkaWw.jpg\",srcSet:\"https://framerusercontent.com/images/JDF6Eppjg0MOnhnSlZkZcfkaWw.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/JDF6Eppjg0MOnhnSlZkZcfkaWw.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/JDF6Eppjg0MOnhnSlZkZcfkaWw.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/JDF6Eppjg0MOnhnSlZkZcfkaWw.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/JDF6Eppjg0MOnhnSlZkZcfkaWw.jpg 5014w\"},\"\"),[p]:f({src:\"https://framerusercontent.com/images/EySCmHNEs6PNi3aTS2dGsGdWs4.jpg\",srcSet:\"https://framerusercontent.com/images/EySCmHNEs6PNi3aTS2dGsGdWs4.jpg?scale-down-to=1024 537w,https://framerusercontent.com/images/EySCmHNEs6PNi3aTS2dGsGdWs4.jpg?scale-down-to=2048 1075w,https://framerusercontent.com/images/EySCmHNEs6PNi3aTS2dGsGdWs4.jpg?scale-down-to=4096 2151w,https://framerusercontent.com/images/EySCmHNEs6PNi3aTS2dGsGdWs4.jpg 3099w\"},\"\"),[h]:f({src:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg\",srcSet:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg 3840w\"},\"\"),[u]:/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In October 2024, we delivered a smart city project designed to alleviate traffic congestion using IoT devices and real-time data analysis. The challenge was to integrate various data streams from traffic signals, cameras, and sensors into a coherent system. Our team utilized big data analytics to understand traffic patterns and developed an AI algorithm to adjust traffic signals in real-time. We overcame hurdles in device interoperability and data privacy. The implementation led to a significant reduction in congestion and an improvement in urban mobility.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Introduction:\"}),\" Our project focused on implementing an IoT-based solution to reduce traffic congestion and enhance urban mobility.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Challenges & Solutions:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Device Interoperability:\"}),\" We integrated diverse IoT devices, ensuring seamless communication between different traffic management components.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Data Privacy:\"}),\" Establishing a framework that respected individual privacy while utilizing traffic data was achieved through anonymization techniques.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Development Process:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Real-Time Data Analysis:\"}),\" By processing data from various sources in real-time, our system could adapt to changing traffic conditions instantly.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Collaboration with City Planners:\"}),\" Working with urban planners, we ensured our solution aligned with the city's broader transportation goals.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Outcomes:\"}),\" The deployment of our traffic management solution led to a marked improvement in traffic flow and a reduction in commute times across the city.\"]})]})},{index:5,id:\"NewmheEvx\",[s]:\"Augmented Reality E-Commerce Experience\",[o]:\"augmented-reality-e-commerce-experience\",[i]:\"2024-01-02T00:00:00.000Z\",[c]:f({src:\"https://framerusercontent.com/images/PGgpxiR8Hvv8bcQTSwF6o6SxYRk.jpg?scale-down-to=1024\"},\"\"),[l]:\"Augmented Reality\",[m]:\"Developed an immersive AR experience for an e-commerce platform, enhancing customer interaction and increasing sales.\",[g]:f({src:\"https://framerusercontent.com/images/g90GR97aar8fQLQfcZY9C35as6M.jpg\",srcSet:\"https://framerusercontent.com/images/g90GR97aar8fQLQfcZY9C35as6M.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/g90GR97aar8fQLQfcZY9C35as6M.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/g90GR97aar8fQLQfcZY9C35as6M.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/g90GR97aar8fQLQfcZY9C35as6M.jpg?scale-down-to=4096 4096w,https://framerusercontent.com/images/g90GR97aar8fQLQfcZY9C35as6M.jpg 4752w\"},\"\"),[d]:f({src:\"https://framerusercontent.com/images/WIPXMvryGuEza3IJ7264sPvpmxY.jpg\",srcSet:\"https://framerusercontent.com/images/WIPXMvryGuEza3IJ7264sPvpmxY.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/WIPXMvryGuEza3IJ7264sPvpmxY.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/WIPXMvryGuEza3IJ7264sPvpmxY.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/WIPXMvryGuEza3IJ7264sPvpmxY.jpg 3840w\"},\"\"),[p]:f({src:\"https://framerusercontent.com/images/3XWU3qLyDvQ6eclZwuJ6VgEg.jpg\",srcSet:\"https://framerusercontent.com/images/3XWU3qLyDvQ6eclZwuJ6VgEg.jpg?scale-down-to=512 512w,https://framerusercontent.com/images/3XWU3qLyDvQ6eclZwuJ6VgEg.jpg?scale-down-to=1024 1024w,https://framerusercontent.com/images/3XWU3qLyDvQ6eclZwuJ6VgEg.jpg?scale-down-to=2048 2048w,https://framerusercontent.com/images/3XWU3qLyDvQ6eclZwuJ6VgEg.jpg 2576w\"},\"\"),[h]:f({src:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg\",srcSet:\"https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg 3840w\"},\"\"),[u]:/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"We partnered with an up-and-coming e-commerce brand to create an innovative shopping experience using augmented reality (AR). Our goal was to bridge the gap between online shopping and the in-store experience.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Project Development:\"})}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(236, 236, 236)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Conceptualization:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User Experience Design:\"}),\" The first phase involved designing the AR experience from the perspective of the shopper, ensuring ease of use and engagement.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Market Analysis:\"}),\" We conducted market research to understand the trends and demands of AR in e-commerce.\"]})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Execution:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"AR Technology Integration:\"}),\" We utilized cutting-edge AR frameworks to develop a feature that allows customers to visualize products in their own space before purchasing.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Product Catalog Integration:\"}),\" Meticulous efforts were made to integrate the client\u2019s product catalog into the AR environment, allowing for a seamless experience.\"]})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Challenges:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Cross-Platform Compatibility:\"}),\" Ensuring the AR experience was consistent across various devices and platforms was a significant challenge that we overcame with rigorous testing.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Scalability:\"}),\" We built the system with scalability in mind, allowing the client to easily add new products to the AR experience.\"]})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Launch and Feedback:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Rollout Strategy:\"}),\" The AR experience was rolled out as a beta feature to gather user feedback.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Continuous Improvement:\"}),\" Based on the feedback, we iteratively improved the feature, ultimately enhancing user engagement and increasing sales conversion rates.\"]})})]})]})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Outcomes:\"}),\" The AR e-commerce experience has been a game-changer for the client, setting them apart from competitors and significantly impacting their bottom line.\"]})]})}];for(let e of w)Object.freeze(e);r(w,{pSlqsaL1M:{defaultValue:\"\",title:\"Title\",type:n.String},gXTa5IJzX:{title:\"Slug\",type:n.String},wg2WyJ1Sw:{defaultValue:\"\",title:\"Date\",type:n.Date},o4Y8kbz7v:{title:\"Image\",type:n.ResponsiveImage},aR82iq0xI:{defaultValue:\"\",title:\"Category\",type:n.String},qEAgi8DEF:{defaultValue:\"\",title:\"Short Description\",type:n.String},fIqGqBYdi:{title:\"Gallery 1\",type:n.ResponsiveImage},SvtroRorD:{title:\"Gallery 2\",type:n.ResponsiveImage},DDglFptqv:{title:\"Gallery 3\",type:n.ResponsiveImage},jDjq4Iejy:{__defaultAssetReference:\"data:framer/asset-reference,0S9eVKH6LyjzlNOS1Q26r3qbY7Q.jpg?originalFilename=photo-1618641986557-1ecd230959aa%3Fcrop%3Dentropy%26cs%3Dsrgb%26fm%3Djpg%26ixid%3DM3wxMzc5NjJ8MHwxfHNlYXJjaHw0fHxwcm9maWxlfGVufDB8fHx8MTcxNDY4NTQ5NHww%26ixlib%3Drb-4.0.jpg&preferredSize=auto\",title:\"Profile\",type:n.ResponsiveImage},xouvIAXLB:{defaultValue:\"\",title:\"Content\",type:n.RichText}}),w.displayName=\"Projects\";export default w;export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){var r;return null===(r=w.find(t=>t.id===e))||void 0===r?void 0:r[o];},async getRecordIdBySlug(e,t){var r;return null===(r=w.find(t=>t[o]===e))||void 0===r?void 0:r.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerRecordIncludedLocalesKey\":\"includedLocales\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerCollectionUtils\":\"1\",\"framerData\":\"\",\"framerCollectionId\":\"zQamQoz8A\",\"framerRecordIdKey\":\"id\",\"framerSlug\":\"gXTa5IJzX\",\"framerRecordIndexKey\":\"index\",\"framerContractVersion\":\"1\"}},\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["MAX_DUPLICATED_ITEMS", "directionTransformers", "offset", "supportsAcceleratedAnimations", "Ticker", "props", "slots", "gap", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "speed", "hoverFactor", "direction", "alignment", "sizingOptions", "fadeOptions", "style", "fadeContent", "overflow", "fadeWidth", "fadeInset", "fadeAlpha", "widthType", "heightType", "paddingValue", "isCanvas", "RenderTarget", "filteredSlots", "numChildren", "j", "hasChildren", "isHorizontal", "useMotionValue", "transformer", "transform", "useTransform", "parentRef", "pe", "childrenRef", "se", "W", "size", "setSize", "ye", "clonedChildren", "dupedChildren", "duplicateBy", "opacity", "measure", "te", "parentLength", "start", "childrenLength", "childrenStyles", "initialResize", "ue", "frame", "resize", "contentSize", "child", "index", "_child_props", "_child_props1", "_child_props2", "_child_props3", "ref", "p", "LayoutGroup", "q", "i", "childIndex", "_child_props4", "_child_props5", "animateToValue", "initialTime", "prevTime", "xOrY", "isHover", "isReducedMotion", "useReducedMotion", "listRef", "animationRef", "isInView", "useInView", "useAnimationFrame", "t", "delta", "wrap", "fadeDirection", "fadeWidthStart", "fadeWidthEnd", "fadeInsetStart", "clamp", "fadeInsetEnd", "fadeMask", "containerStyle", "u", "motion", "isValidNumber", "placeholderStyles", "emojiStyles", "titleStyles", "subtitleStyles", "addPropertyControls", "ControlType", "num", "min", "max", "value", "ObjectFitType", "SrcType", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "p", "VideoMemo", "usePlaybackControls", "videoRef", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "requestingPlay", "pe", "setProgress", "te", "rawProgress", "newProgress", "isAlreadySet", "play", "e", "pause", "useAutoplayBehavior", "playingProp", "muted", "loop", "playsinline", "controls", "initialPlayingProp", "ye", "hasPlayingPropChanged", "setHasPlayingPropChanged", "behavesAsGif", "autoplay", "isMountedAndReadyForProgressChanges", "X", "srcType", "srcFile", "srcUrl", "progress", "objectFit", "backgroundColor", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "poster", "posterEnabled", "startTimeProp", "volume", "isSafari", "useIsBrowserSafari", "wasPausedOnLeave", "wasEndedOnLeave", "isOnCanvas", "useIsOnCanvas", "borderRadius", "useRadius", "autoplayBehavior", "isInViewport", "useInView", "startTime", "ue", "rawProgressValue", "isMotionValue", "value", "useOnEnter", "useOnExit", "src", "se", "fragment", "groupsRegex", "capitalizeFirstLetter", "titleCase", "objectFitOptions", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "s", "o", "i", "c", "l", "m", "g", "d", "p", "h", "u", "f", "e", "t", "w", "x", "addPropertyControls", "ControlType", "zQamQoz8A_default"]
}
