{"version":3,"file":"store.js@_1.0.BBEo7F7I.mjs","names":["Material","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useState"],"sources":["https:/framerusercontent.com/modules/j4oRb0rViue5MH1LS7jY/QBQ8reXwwfdo4mngCUTm/QU7NHYtcy.js","https:/framer.com/m/framer/store.js@^1.0.0"],"sourcesContent":["// Generated by Framer (a9375b9)\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{Icon as Material}from\"https://framerusercontent.com/modules/6Ldpz1V0DkD45gXvi67I/PCgBX5d6MdQT7E7nhdXn/Material.js\";const MaterialFonts=getFonts(Material);const enabledGestures={jSLjvTyem:{hover:true}};const serializationHash=\"framer-5Y0pU\";const variantClassNames={jSLjvTyem:\"framer-v-1gazuu\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,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 getProps=({height,id,title,width,...props})=>{return{...props,OCgPtveoG:title??props.OCgPtveoG??\"Auto Generated TOC\"};};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,OCgPtveoG,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"jSLjvTyem\",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.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1gazuu\",className,classNames),\"data-framer-name\":\"h2\",layoutDependency:layoutDependency,layoutId:\"jSLjvTyem\",ref:refBinding,style:{...style},...addPropertyOverrides({\"jSLjvTyem-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-qbgg2d-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"V4W7htiui-container\",nodeId:\"V4W7htiui\",rendersWithMotion:true,scopeId:\"QU7NHYtcy\",children:/*#__PURE__*/_jsx(Material,{color:\"var(--token-0618c8d6-171d-47af-84b7-50f662037d3c, rgb(56, 128, 192))\",height:\"100%\",iconSearch:\"\",iconSelection:\"Circle\",iconStyle15:\"Filled\",iconStyle2:\"Filled\",iconStyle7:\"Filled\",id:\"V4W7htiui\",layoutId:\"V4W7htiui\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7VWJ1bnR1LTUwMA==\",\"--framer-font-family\":'\"Ubuntu\", \"Ubuntu Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.8em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-0618c8d6-171d-47af-84b7-50f662037d3c, rgb(56, 128, 192)))\"},children:\"Auto Generated TOC\"})}),className:\"framer-ld5xlg\",fonts:[\"GF;Ubuntu-500\"],layoutDependency:layoutDependency,layoutId:\"yQPbZVWsV\",style:{\"--extracted-r6o4lv\":\"var(--token-0618c8d6-171d-47af-84b7-50f662037d3c, rgb(56, 128, 192))\"},text:OCgPtveoG,variants:{\"jSLjvTyem-hover\":{\"--extracted-r6o4lv\":\"var(--token-463c97e7-27cc-4f56-80d7-afb096e892f1, rgb(33, 62, 140))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"jSLjvTyem-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7VWJ1bnR1LTUwMA==\",\"--framer-font-family\":'\"Ubuntu\", \"Ubuntu Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.8em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-463c97e7-27cc-4f56-80d7-afb096e892f1, rgb(33, 62, 140)))\"},children:\"Auto Generated TOC\"})})}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-5Y0pU.framer-15msr7b, .framer-5Y0pU .framer-15msr7b { display: block; }\",\".framer-5Y0pU.framer-1gazuu { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px 0px 4px 0px; position: relative; width: 374px; }\",\".framer-5Y0pU .framer-qbgg2d-container { flex: none; height: 10px; position: relative; width: 8px; }\",\".framer-5Y0pU .framer-ld5xlg { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 374\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"A6Ry_ORIY\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"OCgPtveoG\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerQU7NHYtcy=withCSS(Component,css,\"framer-5Y0pU\");export default FramerQU7NHYtcy;FramerQU7NHYtcy.displayName=\"Table of Contents\";FramerQU7NHYtcy.defaultProps={height:36,width:374};addPropertyControls(FramerQU7NHYtcy,{OCgPtveoG:{defaultValue:\"Auto Generated TOC\",displayTextArea:false,title:\"Title\",type:ControlType.String}});addFonts(FramerQU7NHYtcy,[{explicitInter:true,fonts:[{family:\"Ubuntu\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCjC3TsmaMH4V_gg.woff2\",weight:\"500\"}]},...MaterialFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerQU7NHYtcy\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"A6Ry_ORIY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"OCgPtveoG\\\":\\\"title\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"36\",\"framerIntrinsicWidth\":\"374\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./QU7NHYtcy.map","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map"],"mappings":"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"}