{"version":3,"file":"store.js@_1.0.CFvbLEJS.mjs","names":["Material","useRef","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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"}