{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:react@18.1.0/jsx-runtime.js", "ssg:https://framerusercontent.com/modules/IVuBMSX7DWEdr7OMFZyL/YjBVI9lsqIjchZGwkqDQ/ScaleOnHover.js", "ssg:https://framerusercontent.com/modules/0AWwJylUVWG7NB1IsO0d/IAQ7pK24zK6vuA1D6V7g/Y2YsLiprg.js", "ssg:https://ga.jspm.io/npm:@cyriacbr/react-split-text@1.0.0/dist/index.js", "ssg:https://framerusercontent.com/modules/2AusMW9Upi6mhJ0JzKTi/b0GOvxzDuuEZvz71ut2V/MotionText.js", "ssg:https://framerusercontent.com/modules/lHC3L9lhI3R5nE2Zuo05/i6Fff8vz19BIPtFqutfy/ki8HMDlLa.js", "ssg:https://framerusercontent.com/modules/VSbq8OOVS5hbafkKXRBQ/7ICd0h0N4hRi1VG3fTqL/nJekZSaQ9.js", "ssg:https://framerusercontent.com/modules/kQMPnoAYhppkltOgkeSS/ePAHp0j5YzQFKr3a4js5/vIn0777hc.js", "ssg:https://framerusercontent.com/modules/t53bCTnETmsjSL3BTx0X/OtFCdUD6NtpnXfDliVZd/sU_P9IJz3.js", "ssg:https://ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js", "ssg:https://ga.jspm.io/npm:@motionone/easing@10.12.0/dist/index.es.js", "ssg:https://ga.jspm.io/npm:@motionone/animation@10.12.0/dist/index.es.js", "ssg:https://ga.jspm.io/npm:tslib@2.4.0/tslib.es6.js", "ssg:https://ga.jspm.io/npm:hey-listen@1.0.8/dist/index.js", "ssg:https://ga.jspm.io/npm:@motionone/generators@10.12.0/dist/index.es.js", "ssg:https://ga.jspm.io/npm:@motionone/dom@10.12.0/dist/index.es.js", "ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/vkHAj2Yk0mTnbM6ZdN5c/PlLMu0V3HsBupvdXeFrH/FormSpark.js", "ssg:https://framer.com/m/framer/icon-nullstate.js@0.7.0", "ssg:https://framer.com/m/iconoir-icons/Home.js@0.0.11", "ssg:https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js", "ssg:https://framerusercontent.com/modules/zL9598C4KbEbqUGvSR14/rI8sPHpnG9XGcCPc0vU4/Iconoir.js", "ssg:https://framerusercontent.com/modules/L8XQV1OROoCyE3kKxS9p/NKfrhxPF29e5UsTFLmfJ/ADgDFFbWm.js", "ssg:https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js", "ssg:https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js", "ssg:https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16", "ssg:https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/JUSOhg0nH8Uc1bal1x1v/cachedIndex.js", "ssg:https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js", "ssg:https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js", "ssg:https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/TRhh4EZjtQy6tNgBZXiv/useSearch.js", "ssg:https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js", "ssg:https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js", "ssg:https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/PQqGvsCenWu8lZjrdZZz/SearchModal.js", "ssg:https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js", "ssg:https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/felIpLyitTLppvfO4eFC/Search.js", "ssg:https://framerusercontent.com/modules/uMkffDQaTa5unq2swNIc/gpQz2WT0bY5CMOyrTiTg/l_VKBkCHJ.js"],
  "sourcesContent": ["import*as r from\"react\";var e=\"default\"in r?r.default:r;var t={};var o=e,a=Symbol.for(\"react.element\"),f=Symbol.for(\"react.fragment\"),n=Object.prototype.hasOwnProperty,s=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_={key:!0,ref:!0,__self:!0,__source:!0};function q(r,e,t){var o,f={},l=null,p=null;void 0!==t&&(l=\"\"+t);void 0!==e.key&&(l=\"\"+e.key);void 0!==e.ref&&(p=e.ref);for(o in e)n.call(e,o)&&!_.hasOwnProperty(o)&&(f[o]=e[o]);if(r&&r.defaultProps)for(o in e=r.defaultProps,e)void 0===f[o]&&(f[o]=e[o]);return{$$typeof:a,type:r,key:l,ref:p,props:f,_owner:s.current}}t.Fragment=f;t.jsx=q;t.jsxs=q;const l=t.Fragment,p=t.jsx,u=t.jsxs;export{l as Fragment,t as default,p as jsx,u as jsxs};\n\n//# sourceMappingURL=jsx-runtime.js.map", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Data } from \"framer\";\nconst scaleData = Data({\n  scale: 1\n});\nexport function scaleOnHover() {\n  return {\n    scale: scaleData.scale,\n    transition: {\n      scale: {\n        type: \"tween\",\n        ease: \"spring\",\n        duration: .2\n      }\n    },\n    //Change the scale amount here://\n    whileHover: {\n      scale: 1.05\n    },\n    onMouseEnter: () => {\n      scaleData.scale = 1.05;\n    },\n    onMouseLeave: () => {\n      scaleData.scale = 1;\n    }\n  };\n}\nimport { useContext as __legacyOverrideHOC_useContext } from \"react\";\nimport { DataObserverContext as __legacyOverrideHOC_DataObserverContext } from \"framer\";\nexport function withscaleOnHover(C) {\n  return props => {\n    __legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);\n    return _jsx(C, {\n      ...props,\n      ...scaleOnHover(props)\n    });\n  };\n}\nwithscaleOnHover.displayName = \"scaleOnHover\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"scaleOnHover\": {\n      \"type\": \"override\",\n      \"name\": \"scaleOnHover\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"withscaleOnHover\": {\n      \"type\": \"reactHoc\",\n      \"name\": \"withscaleOnHover\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./ScaleOnHover.map", "// Generated by Framer (2f15e1c)\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { addFonts, addPropertyControls, ControlType, cx, Link, RichText, useLocaleInfo, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion, MotionConfigContext } from \"framer-motion\";\nimport * as React from \"react\";\nimport { withscaleOnHover } from \"https://framerusercontent.com/modules/IVuBMSX7DWEdr7OMFZyL/YjBVI9lsqIjchZGwkqDQ/ScaleOnHover.js\";\nconst MotionAWithscaleOnHover = withscaleOnHover(motion.a);\nconst enabledGestures = {\n  hQeAEYi_q: {\n    hover: true\n  },\n  ZchKOIrQN: {\n    hover: true\n  }\n};\nconst cycleOrder = [\"iDOx152Pt\", \"ZchKOIrQN\", \"hQeAEYi_q\", \"OYuhNNAIF\", \"HvABzxNUS\", \"wLWtyXpNM\", \"NteUY02P2\"];\nconst variantClassNames = {\n  hQeAEYi_q: \"framer-v-1j0vnff\",\n  HvABzxNUS: \"framer-v-1085hu4\",\n  iDOx152Pt: \"framer-v-soh584\",\n  NteUY02P2: \"framer-v-8szg1g\",\n  OYuhNNAIF: \"framer-v-1qv1w1b\",\n  wLWtyXpNM: \"framer-v-1qiqsp3\",\n  ZchKOIrQN: \"framer-v-x9hxpf\"\n};\nfunction addPropertyOverrides(overrides, ...variants) {\n  const nextOverrides = {};\n  variants === null || variants === void 0 ? void 0 : variants.forEach(variant => variant && Object.assign(nextOverrides, overrides[variant]));\n  return nextOverrides;\n}\nconst transitions = {\n  default: {\n    damping: 60,\n    delay: 0,\n    mass: 1,\n    stiffness: 500,\n    type: \"spring\"\n  }\n};\nconst Transition = ({\n  value,\n  children\n}) => {\n  const config = React.useContext(MotionConfigContext);\n  const transition = value !== null && value !== void 0 ? value : config.transition;\n  const contextValue = React.useMemo(() => ({\n    ...config,\n    transition\n  }), [JSON.stringify(transition)]);\n  return /*#__PURE__*/_jsx(MotionConfigContext.Provider, {\n    value: contextValue,\n    children: children\n  });\n};\nconst humanReadableVariantMap = {\n  \"primary / small\": \"hQeAEYi_q\",\n  \"secondary / small\": \"HvABzxNUS\",\n  \"shade / small\": \"NteUY02P2\",\n  Base: \"iDOx152Pt\",\n  primary: \"ZchKOIrQN\",\n  secondary: \"OYuhNNAIF\",\n  shade: \"wLWtyXpNM\"\n};\nconst getProps = ({\n  height,\n  id,\n  link,\n  newTab,\n  smoothScroll,\n  title,\n  width,\n  ...props\n}) => {\n  var ref, _variant, ref1, ref2;\n  return {\n    ...props,\n    hh0Yba9ug: link !== null && link !== void 0 ? link : props.hh0Yba9ug,\n    lGaUHcDdR: newTab !== null && newTab !== void 0 ? newTab : props.lGaUHcDdR,\n    r9JBfhktV: (ref = title !== null && title !== void 0 ? title : props.r9JBfhktV) !== null && ref !== void 0 ? ref : \"Button\",\n    variant: (ref1 = (_variant = humanReadableVariantMap[props.variant]) !== null && _variant !== void 0 ? _variant : props.variant) !== null && ref1 !== void 0 ? ref1 : \"iDOx152Pt\",\n    VL88EDh87: (ref2 = smoothScroll !== null && smoothScroll !== void 0 ? smoothScroll : props.VL88EDh87) !== null && ref2 !== void 0 ? ref2 : true\n  };\n};\nconst createLayoutDependency = (props, variants) => variants.join(\"-\") + props.layoutDependency;\nconst Component = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  const {\n    activeLocale\n  } = useLocaleInfo();\n  const {\n    style,\n    className,\n    layoutId,\n    variant,\n    r9JBfhktV,\n    hh0Yba9ug,\n    lGaUHcDdR,\n    VL88EDh87,\n    ...restProps\n  } = getProps(props);\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"iDOx152Pt\",\n    enabledGestures,\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = createLayoutDependency(props, variants);\n  const defaultLayoutId = React.useId();\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    id: layoutId !== null && layoutId !== void 0 ? layoutId : defaultLayoutId,\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: variant,\n      animate: variants,\n      onHoverStart: () => setGestureState({\n        isHovered: true\n      }),\n      onHoverEnd: () => setGestureState({\n        isHovered: false\n      }),\n      onTapStart: () => setGestureState({\n        isPressed: true\n      }),\n      onTap: () => setGestureState({\n        isPressed: false\n      }),\n      onTapCancel: () => setGestureState({\n        isPressed: false\n      }),\n      className: cx(\"framer-tg0gY\", classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(Transition, {\n        value: transition,\n        children: /*#__PURE__*/_jsx(Link, {\n          href: hh0Yba9ug,\n          openInNewTab: lGaUHcDdR,\n          smoothScroll: VL88EDh87,\n          children: /*#__PURE__*/_jsx(MotionAWithscaleOnHover, {\n            ...restProps,\n            className: `${cx(\"framer-soh584\", className)} framer-jl2qz`,\n            \"data-framer-name\": \"Base\",\n            layoutDependency: layoutDependency,\n            layoutId: \"iDOx152Pt\",\n            ref: ref,\n            style: {\n              backgroundColor: \"rgba(0, 0, 0, 0)\",\n              borderBottomLeftRadius: 12,\n              borderBottomRightRadius: 12,\n              borderTopLeftRadius: 12,\n              borderTopRightRadius: 12,\n              boxShadow: \"0px 0.7065919983928324px 0.7065919983928324px -0.625px rgba(0, 0, 0, 0.14764), 0px 1.8065619053231785px 1.8065619053231785px -1.25px rgba(0, 0, 0, 0.14398), 0px 3.6217592146567767px 3.6217592146567767px -1.875px rgba(0, 0, 0, 0.13793), 0px 6.8655999097303715px 6.8655999097303715px -2.5px rgba(0, 0, 0, 0.12711), 0px 13.646761411524492px 13.646761411524492px -3.125px rgba(0, 0, 0, 0.10451), 0px 30px 30px -3.75px rgba(0, 0, 0, 0.05)\",\n              ...style\n            },\n            variants: {\n              \"hQeAEYi_q-hover\": {\n                background: \"linear-gradient(180deg, hsl(217, 29%, 16%) 0%, #273A53 100%)\"\n              },\n              \"ZchKOIrQN-hover\": {\n                background: \"linear-gradient(180deg, hsl(217, 29%, 16%) 0%, hsl(215, 36%, 24%) 100%)\"\n              },\n              hQeAEYi_q: {\n                background: \"linear-gradient(180deg, hsl(217, 29%, 16%) 0%, rgba(21, 26, 33, 1) 100%)\"\n              },\n              HvABzxNUS: {\n                background: 'linear-gradient(180deg, hsl(0, 0%, 100%) 0%, var(--token-8c140332-04d1-4529-b51b-9b381122e4be, rgb(255, 255, 255)) /* {\"name\":\"btn-surface-secondary\"} */ 100%)',\n                boxShadow: \"0px 0.7961918735236395px 0.7961918735236395px -0.9375px rgba(0, 0, 0, 0.14602), 0px 2.414506143104518px 2.414506143104518px -1.875px rgba(0, 0, 0, 0.13793), 0px 6.382653521484461px 6.382653521484461px -2.8125px rgba(0, 0, 0, 0.11809), 0px 20px 20px -3.75px rgba(0, 0, 0, 0.05)\"\n              },\n              NteUY02P2: {\n                backgroundColor: \"var(--token-f04948d6-51f0-4e08-ab60-34101ef677f7, rgba(14, 19, 23, 0.1))\",\n                boxShadow: \"none\"\n              },\n              OYuhNNAIF: {\n                background: 'linear-gradient(180deg, hsl(0, 0%, 100%) 0%, var(--token-8c140332-04d1-4529-b51b-9b381122e4be, rgb(255, 255, 255)) /* {\"name\":\"btn-surface-secondary\"} */ 100%)',\n                boxShadow: \"0px 0.7961918735236395px 0.7961918735236395px -0.9375px rgba(0, 0, 0, 0.14602), 0px 2.414506143104518px 2.414506143104518px -1.875px rgba(0, 0, 0, 0.13793), 0px 6.382653521484461px 6.382653521484461px -2.8125px rgba(0, 0, 0, 0.11809), 0px 20px 20px -3.75px rgba(0, 0, 0, 0.05)\"\n              },\n              wLWtyXpNM: {\n                backgroundColor: \"var(--token-f04948d6-51f0-4e08-ab60-34101ef677f7, rgba(14, 19, 23, 0.1))\",\n                boxShadow: \"none\"\n              },\n              ZchKOIrQN: {\n                background: \"linear-gradient(180deg, hsl(217, 29%, 16%) 0%, rgba(21, 26, 33, 1) 100%)\"\n              }\n            },\n            ...addPropertyOverrides({\n              \"hQeAEYi_q-hover\": {\n                \"data-framer-name\": undefined\n              },\n              \"ZchKOIrQN-hover\": {\n                \"data-framer-name\": undefined\n              },\n              hQeAEYi_q: {\n                \"data-framer-name\": \"primary / small\"\n              },\n              HvABzxNUS: {\n                \"data-framer-name\": \"secondary / small\"\n              },\n              NteUY02P2: {\n                \"data-framer-name\": \"shade / small\"\n              },\n              OYuhNNAIF: {\n                \"data-framer-name\": \"secondary\"\n              },\n              wLWtyXpNM: {\n                \"data-framer-name\": \"shade\"\n              },\n              ZchKOIrQN: {\n                \"data-framer-name\": \"primary\"\n              }\n            }, baseVariant, gestureVariant),\n            children: /*#__PURE__*/_jsx(RichText, {\n              __fromCanvasComponent: true,\n              children: /*#__PURE__*/_jsx(React.Fragment, {\n                children: /*#__PURE__*/_jsx(motion.p, {\n                  style: {\n                    \"--font-selector\": \"R0Y7SW50ZXItNTAw\",\n                    \"--framer-font-size\": \"18px\",\n                    \"--framer-font-weight\": \"500\",\n                    \"--framer-text-color\": \"var(--extracted-r6o4lv)\"\n                  },\n                  children: \"Button\"\n                })\n              }),\n              className: \"framer-6m9p7h\",\n              fonts: [\"GF;Inter-500\"],\n              layoutDependency: layoutDependency,\n              layoutId: \"I1:13;1:11\",\n              style: {\n                \"--extracted-r6o4lv\": \"var(--token-a184e74d-cc19-484d-8d9d-14d755332146, rgb(255, 255, 255)) \",\n                \"--framer-paragraph-spacing\": \"0px\"\n              },\n              text: r9JBfhktV,\n              variants: {\n                hQeAEYi_q: {\n                  \"--extracted-r6o4lv\": \"var(--token-a184e74d-cc19-484d-8d9d-14d755332146, rgb(255, 255, 255))\"\n                },\n                HvABzxNUS: {\n                  \"--extracted-r6o4lv\": \"var(--token-e3b667be-d005-4a1d-89d0-c56a543bc2a2, rgb(18, 22, 31))\"\n                },\n                NteUY02P2: {\n                  \"--extracted-r6o4lv\": \"var(--token-17d3d1c7-05df-4586-bea0-bc1b87942816, rgb(31, 33, 45)) \"\n                },\n                OYuhNNAIF: {\n                  \"--extracted-r6o4lv\": \"var(--token-e3b667be-d005-4a1d-89d0-c56a543bc2a2, rgb(18, 22, 31))\"\n                },\n                wLWtyXpNM: {\n                  \"--extracted-r6o4lv\": \"var(--token-17d3d1c7-05df-4586-bea0-bc1b87942816, rgb(31, 33, 45)) \"\n                }\n              },\n              verticalAlignment: \"top\",\n              withExternalLayout: true,\n              ...addPropertyOverrides({\n                hQeAEYi_q: {\n                  children: /*#__PURE__*/_jsx(React.Fragment, {\n                    children: /*#__PURE__*/_jsx(motion.p, {\n                      style: {\n                        \"--font-selector\": \"R0Y7SW50ZXItNTAw\",\n                        \"--framer-font-weight\": \"500\",\n                        \"--framer-text-color\": \"var(--extracted-r6o4lv)\"\n                      },\n                      children: \"Button\"\n                    })\n                  })\n                },\n                HvABzxNUS: {\n                  children: /*#__PURE__*/_jsx(React.Fragment, {\n                    children: /*#__PURE__*/_jsx(motion.p, {\n                      style: {\n                        \"--font-selector\": \"R0Y7SW50ZXItNTAw\",\n                        \"--framer-font-weight\": \"500\",\n                        \"--framer-text-color\": \"var(--extracted-r6o4lv)\"\n                      },\n                      children: \"Button\"\n                    })\n                  })\n                },\n                NteUY02P2: {\n                  children: /*#__PURE__*/_jsx(React.Fragment, {\n                    children: /*#__PURE__*/_jsx(motion.p, {\n                      style: {\n                        \"--font-selector\": \"R0Y7SW50ZXItNTAw\",\n                        \"--framer-font-weight\": \"500\",\n                        \"--framer-text-color\": \"var(--extracted-r6o4lv)\"\n                      },\n                      children: \"Button\"\n                    })\n                  })\n                }\n              }, baseVariant, gestureVariant)\n            })\n          })\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-tg0gY [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }', \"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\", \".framer-tg0gY .framer-jl2qz { display: block; }\", \".framer-tg0gY .framer-soh584 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 45px; justify-content: center; overflow: hidden; padding: 0px 20px 0px 20px; position: relative; text-decoration: none; width: min-content; will-change: transform; }\", \".framer-tg0gY .framer-6m9p7h { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\", \".framer-tg0gY .framer-v-x9hxpf .framer-soh584, .framer-tg0gY .framer-v-1j0vnff .framer-soh584 { cursor: pointer; }\", \"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-tg0gY .framer-soh584 { gap: 0px; } .framer-tg0gY .framer-soh584 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-tg0gY .framer-soh584 > :first-child { margin-left: 0px; } .framer-tg0gY .framer-soh584 > :last-child { margin-right: 0px; } }\", \".framer-tg0gY.framer-v-1j0vnff .framer-soh584, .framer-tg0gY.framer-v-1085hu4 .framer-soh584, .framer-tg0gY.framer-v-8szg1g .framer-soh584 { height: 40px; }\"]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerIntrinsicHeight 45\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerIntrinsicWidth 97.5\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"ZchKOIrQN\":{\"layout\":[\"auto\",\"fixed\"]},\"hQeAEYi_q\":{\"layout\":[\"auto\",\"fixed\"]},\"OYuhNNAIF\":{\"layout\":[\"auto\",\"fixed\"]},\"HvABzxNUS\":{\"layout\":[\"auto\",\"fixed\"]},\"wLWtyXpNM\":{\"layout\":[\"auto\",\"fixed\"]},\"NteUY02P2\":{\"layout\":[\"auto\",\"fixed\"]},\"TXyUHNh4A\":{\"layout\":[\"auto\",\"fixed\"]},\"bGq_jvrN5\":{\"layout\":[\"auto\",\"fixed\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 * @framerVariables {\"r9JBfhktV\":\"title\",\"hh0Yba9ug\":\"link\",\"lGaUHcDdR\":\"newTab\",\"VL88EDh87\":\"smoothScroll\"}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 */\nconst FramerY2YsLiprg = withCSS(Component, css, \"framer-tg0gY\");\nexport default FramerY2YsLiprg;\nFramerY2YsLiprg.displayName = \"Button\";\nFramerY2YsLiprg.defaultProps = {\n  height: 45,\n  width: 97.5\n};\naddPropertyControls(FramerY2YsLiprg, {\n  variant: {\n    options: [\"iDOx152Pt\", \"ZchKOIrQN\", \"hQeAEYi_q\", \"OYuhNNAIF\", \"HvABzxNUS\", \"wLWtyXpNM\", \"NteUY02P2\"],\n    optionTitles: [\"Base\", \"primary\", \"primary / small\", \"secondary\", \"secondary / small\", \"shade\", \"shade / small\"],\n    title: \"Variant\",\n    type: ControlType.Enum\n  },\n  r9JBfhktV: {\n    defaultValue: \"Button\",\n    displayTextArea: false,\n    title: \"Title\",\n    type: ControlType.String\n  },\n  hh0Yba9ug: {\n    title: \"Link\",\n    type: ControlType.Link\n  },\n  lGaUHcDdR: {\n    defaultValue: false,\n    title: \"New Tab\",\n    type: ControlType.Boolean\n  },\n  VL88EDh87: {\n    defaultValue: true,\n    title: \"Smooth Scroll\",\n    type: ControlType.Boolean\n  }\n});\naddFonts(FramerY2YsLiprg, [{\n  family: \"Inter\",\n  moduleAsset: {\n    localModuleIdentifier: \"local-module:canvasComponent/Y2YsLiprg:default\",\n    url: \"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZhrib2Bg-4.ttf\"\n  },\n  style: \"normal\",\n  url: \"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZhrib2Bg-4.ttf\",\n  weight: \"500\"\n}]);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FramerY2YsLiprg\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerIntrinsicWidth\": \"97.5\",\n        \"framerVariables\": \"{\\\"r9JBfhktV\\\":\\\"title\\\",\\\"hh0Yba9ug\\\":\\\"link\\\",\\\"lGaUHcDdR\\\":\\\"newTab\\\",\\\"VL88EDh87\\\":\\\"smoothScroll\\\"}\",\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"ZchKOIrQN\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"hQeAEYi_q\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"OYuhNNAIF\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"HvABzxNUS\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"wLWtyXpNM\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"NteUY02P2\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"TXyUHNh4A\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"bGq_jvrN5\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicHeight\": \"45\"\n      }\n    },\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Y2YsLiprg.map", "import e from\"react\";var r={};Object.defineProperty(r,\"__esModule\",{value:!0});var t,a=e,l=(t=a)&&\"object\"==typeof t&&\"default\"in t?t.default:t;function n(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}var o=function(e){return l.createElement(\"div\",null,e.children)},i=function(e){return l.createElement(\"span\",{style:{whiteSpace:\"pre\"}},e.children)},u=function(e){return l.createElement(\"span\",null,e.children)},f=a.memo(o),p=a.memo(i),s=a.memo(u),d=a.forwardRef((function(e,r){var t=e.className,d=e.style,m=e.LineWrapper,v=void 0===m?f:m,y=e.WordWrapper,h=void 0===y?p:y,x=e.LetterWrapper,g=void 0===x?s:x,b=e.extraProps,E=\"\";l.Children.map(e.children,(function(e){if(\"string\"!=typeof e&&\"number\"!=typeof e)throw new Error(\"SplitText expect a text as children\");E+=String(e)}));var w=a.useRef(null),S=a.useState([]),W=S[0],I=S[1],j=a.useRef(0);a.useLayoutEffect((function(){return function(){var e=w.current;if(e){if(W.length>0)return function(e,r){for(var t,a=j.current||e.map((function(e){return e.length})).sort((function(e,r){return r-e}))[0],l=[],f=\"\",p=0,s=function(e,r){var t;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e,r){if(e){if(\"string\"==typeof e)return n(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===t&&e.constructor&&(t=e.constructor.name),\"Map\"===t||\"Set\"===t?Array.from(e):\"Arguments\"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?n(e,void 0):void 0}}(e))){t&&(e=t);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(t=e[Symbol.iterator]()).next.bind(t)}(r.split(\" \").entries());!(t=s()).done;){var d=t.value[1];(p+=d.length+1)>a+1&&(l.push(f),f=\"\",p=0),f+=d.trim()+\" \"}l.push(f),I(l.map((function(e){return e.trim()}))),a>j.current&&(j.current=a)}(W,E);for(var r,t=[],a=[],l=0,f=Array.from(e.children);l<f.length;l++){var p=f[l],s=p.getBoundingClientRect().top;null==r&&(r=s),s!==r&&(t.push(a.join(\" \")),a=[]),r=s,a.push((p.textContent||\"\").trim())}t.push(a.join(\" \")),I(t)}}()}),[E]);var L=0,A=0;return W.length?l.createElement(\"div\",{className:t,ref:function(e){w.current=e,\"function\"==typeof r?r(e):r&&(r.current=e)},style:d},W.map((function(e,r){var t=e.split(\" \");return t=t.map((function(e,r){return r===t.length-1?e:e+\" \"})),l.createElement(v,{key:r,lineIndex:r,extraProps:b},t.map((function(e,t){var a=e.split(\"\");return l.createElement(h,{key:t,lineIndex:r,wordIndex:t,countIndex:L++,extraProps:b},a.map((function(e,a){return l.createElement(g,{key:a,lineIndex:r,wordIndex:t,letterIndex:a,countIndex:A++,extraProps:b},e)})))})))}))):l.createElement(\"div\",{className:t,ref:w,style:d},E.split(\" \").map((function(e,r){return l.createElement(\"span\",{key:r},e,\" \")})))})),m=a.forwardRef((function(e,r){var t,f,p,s=e.children,m=function(e,r){if(null==e)return{};var t,a,l={},f=Object.keys(e);for(a=0;a<f.length;a++)r.indexOf(t=f[a])>=0||(l[t]=e[t]);return l}(e,[\"children\"]),v=a.useState(0),y=v[0],h=v[1],x=(t=function(){return h((function(e){return e+1}))},void 0===f&&(f=!1),function(){for(var e=this,r=arguments.length,a=new Array(r),l=0;l<r;l++)a[l]=arguments[l];var s=f&&!p,c=function(){return t.apply(e,a)};clearTimeout(p),p=setTimeout(c,300),s&&c()});return a.useEffect((function(){return window.addEventListener(\"resize\",x),function(){return window.removeEventListener(\"resize\",x)}}),[]),l.createElement(d,Object.assign({key:y},m,{ref:r}),s)}));r.LetterWrapper=u,r.LineWrapper=o,r.SplitText=m,r.WordWrapper=i;const v=r.__esModule,y=r.LetterWrapper,h=r.LineWrapper,x=r.SplitText,g=r.WordWrapper;export default r;export{y as LetterWrapper,h as LineWrapper,x as SplitText,g as WordWrapper,v as __esModule};\n\n//# sourceMappingURL=index.js.map", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useState, useContext, useEffect, useRef } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { motion, MotionContext, useMotionValue } from \"framer-motion\";\nimport { SplitText } from \"@cyriacbr/react-split-text\";\nconst visibleVariant = {\n  opacity: 1,\n  x: 0,\n  y: 0,\n  scale: 1,\n  rotate: 0,\n  rotateX: 0,\n  rotateY: 0\n};\nfunction variantToString(variant) {\n  return variant ? \"visible\" : \"hidden\";\n} /**\n  * Motion Text\n  * By Benjamin den Boer & Adam Seckel\n  *\n  * @framerIntrinsicWidth 200\n  * @framerIntrinsicHeight 200\n  * @framerDisableUnlink\n  *\n  * @framerSupportedLayoutWidth fixed\n  * @framerSupportedLayoutHeight any\n  */\nexport default function MotionText(props) {\n  const {\n    opacity,\n    x,\n    y,\n    scale,\n    rotate,\n    rotateX,\n    rotateY\n  } = props.effectOptions;\n  const isCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const initialOpacity = useMotionValue(isCanvas ? 1 : 0);\n  const isSpring = props.transitionOptions.type === \"spring\";\n  const lastVariant = useRef();\n  const [animate, setAnimate] = useState(() => isCanvas ? \"visible\" : variantToString(!props.variant));\n  const hasIndexAnimatedRef = useRef({});\n  useEffect(() => {\n    // If the type of animation changes,\n    // reset the ref so that we don't confuse old indexes with new ones.\n    hasIndexAnimatedRef.current = {};\n  }, [props.type]); // Animate the text after React renders,\n  // and an animation frame has passed run the animation in the browser.\n  useEffect(() => {\n    if (isCanvas) return;\n    requestAnimationFrame(() => {\n      initialOpacity.set(1);\n      setAnimate(variantToString(props.variant));\n    });\n  }, []); // If the variant changes, trigger the animation if the variant boolean has changed.\n  useEffect(() => {\n    if (isCanvas) return;\n    if (lastVariant.current !== props.variant) {\n      hasIndexAnimatedRef.current = {};\n      setAnimate(variantToString(props.variant));\n    }\n    lastVariant.current = props.variant;\n  }, [props.variant]);\n  const springCurve = {\n    type: props.transitionOptions.type,\n    stiffness: props.transitionOptions.stiffness,\n    damping: props.transitionOptions.damping,\n    mass: props.transitionOptions.mass\n  };\n  const easeCurve = {\n    type: props.transitionOptions.type,\n    duration: props.transitionOptions.duration,\n    ease: props.transitionOptions.ease\n  }; // Constructing the variants based on Effects\n  // Hidden: from, visible: to\n  const item = {\n    hidden: {\n      opacity,\n      x,\n      y,\n      scale,\n      rotate,\n      rotateX,\n      rotateY\n    },\n    visible: visibleVariant\n  };\n  const filteredTransition = isSpring ? springCurve : easeCurve;\n  const delay = props.transitionOptions.delay;\n  const isLetter = props.type === \"letter\";\n  const isWord = props.type === \"word\";\n  const isLine = props.type === \"line\";\n  const splitWrapperStyle = {\n    display: \"contents\"\n  };\n  function getSplitTextProps({\n    isLetter,\n    isWord,\n    isLine\n  }) {\n    const sharedProps = {\n      type: props.type,\n      variants: item,\n      filteredTransition: filteredTransition,\n      delay: delay,\n      stagger: props.stagger,\n      perWord: props.perWord,\n      hasIndexAnimatedRef\n    };\n    if (isLetter) return {\n      LetterWrapper: info => /*#__PURE__*/_jsx(MotionSpanComponent, {\n        ...info,\n        ...sharedProps\n      })\n    };\n    if (isLine) return {\n      LineWrapper: info => /*#__PURE__*/_jsx(MotionSpanComponent, {\n        ...info,\n        ...sharedProps\n      })\n    };\n    return {\n      WordWrapper: info => /*#__PURE__*/_jsx(MotionSpanComponent, {\n        ...info,\n        ...sharedProps\n      })\n    };\n  }\n  return /*#__PURE__*/_jsx(motion.div, {\n    style: {\n      width: \"100%\",\n      height: \"100%\",\n      // display: \"inline-block\",\n      position: \"relative\",\n      overflow: props.overflow ? \"visible\" : \"hidden\",\n      fontSize: props.font.fontSize,\n      fontFamily: props.font.font,\n      fontWeight: props.font.fontWeight,\n      letterSpacing: props.font.letterSpacing,\n      lineHeight: props.font.lineHeightType ? props.font.lineHeight : `${props.font.lineHeightPixels}px`,\n      textAlign: props.font.textAlign,\n      whiteSpace: props.font.whiteSpace,\n      color: props.color,\n      left: `${props.font.offset}%`,\n      margin: 0,\n      padding: 0,\n      opacity: initialOpacity\n    },\n    initial: isCanvas ? \"visible\" : \"hidden\",\n    animate: animate,\n    children: isCanvas ? props.text : /*#__PURE__*/_jsx(SplitText, {\n      style: splitWrapperStyle,\n      ...getSplitTextProps({\n        isLetter,\n        isWord,\n        isLine\n      }),\n      children: props.text\n    })\n  });\n}\n;\nconst getIndex = (isLetter, isWord, isLine, countIndex = 0, letterIndex = 0, wordIndex = 0, lineIndex = 0, perWord) => {\n  if (isLetter) return perWord ? letterIndex : countIndex;\n  if (isWord) return countIndex;\n  return lineIndex;\n};\nconst MotionSpanComponent = ({\n  type,\n  countIndex = 0,\n  letterIndex = 0,\n  wordIndex = 0,\n  lineIndex = 0,\n  variants,\n  isCanvas,\n  filteredTransition,\n  delay,\n  stagger,\n  children,\n  perWord,\n  hasIndexAnimatedRef\n}) => {\n  const isLetter = type === \"letter\";\n  const isWord = type === \"word\";\n  const isLine = type === \"line\";\n  const index = getIndex(isLetter, isWord, isLine, countIndex, letterIndex, wordIndex, lineIndex, perWord); // We have to do a lot of work to prevent this component from animating after it's animated once.\n  // This is because SplitText aggressivly updates `keys` to rerender after the window resizes.\n  // This means we can't keep any state in these components, and have to read from the parent.\n  // If the layer has animated before, we override the inherited `initial` to whatever\n  // the inherited `animate` is, to prevent another animation.\n  const {\n    animate\n  } = useContext(MotionContext);\n  const props = {};\n  if (hasIndexAnimatedRef.current[index] === true) props.initial = animate;\n  return /*#__PURE__*/_jsx(motion.span, {\n    ...props,\n    onAnimationComplete: () => hasIndexAnimatedRef.current[index] = true,\n    style: {\n      perspective: 1200,\n      display: \"inline-block\",\n      whiteSpace: \"pre\",\n      margin: 0,\n      padding: 0,\n      willChange: \"transform\"\n    },\n    variants: variants,\n    transition: {\n      ...filteredTransition,\n      delay: delay + stagger * (index + 1)\n    },\n    children: children\n  });\n};\nMotionText.displayName = \"Motion Text\";\nMotionText.defaultProps = {\n  text: \"Hello World\",\n  stagger: .05,\n  variant: true,\n  newTab: true,\n  tag: \"heading1\",\n  effectOptions: {\n    x: 0,\n    y: 100,\n    rotate: 0,\n    rotateX: 0,\n    rotateY: 0\n  },\n  transitionOptions: {\n    type: \"spring\",\n    stiffness: 400,\n    damping: 30,\n    mass: 1,\n    delay: .05\n  },\n  overflow: false,\n  font: {\n    font: \"Inter\",\n    fontSize: 32,\n    fontWeight: 400,\n    textAlign: \"center\",\n    lineHeight: 1.2,\n    lineHeightType: true,\n    lineHeightPixels: 100,\n    letterSpacing: 0,\n    offset: 0,\n    whiteSpace: \"nowrap\"\n  }\n}; /* Property Controls */\naddPropertyControls(MotionText, {\n  text: {\n    type: ControlType.String,\n    title: \"Text\",\n    defaultValue: \"Hello World\",\n    displayTextArea: true\n  },\n  type: {\n    title: \"Type\",\n    type: ControlType.Enum,\n    options: [\"letter\", \"word\", \"line\"],\n    optionTitles: [\"Letter\", \"Word\", \"Line\"],\n    defaultValue: \"letter\"\n  },\n  // link: { type: ControlType.Link, title: \"Link\" },\n  // newTab: { type: ControlType.Boolean, title: \"New Tab\", defaultValue: true },\n  perWord: {\n    type: ControlType.Boolean,\n    title: \"Per Word\",\n    defaultValue: false,\n    hidden: props => props.type !== \"letter\"\n  },\n  variant: {\n    title: \"Animate\",\n    type: ControlType.Boolean,\n    defaultValue: true,\n    enabledTitle: \"In\",\n    disabledTitle: \"Out\"\n  },\n  overflow: {\n    title: \"Overflow\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\",\n    defaultValue: false\n  },\n  stagger: {\n    title: \"Stagger\",\n    type: ControlType.Number,\n    step: .01,\n    defaultValue: .05,\n    displayStepper: true\n  },\n  effectOptions: {\n    title: \"From\",\n    type: ControlType.Object,\n    controls: {\n      opacity: {\n        title: \"Opacity\",\n        type: ControlType.Number,\n        min: 0,\n        max: 1,\n        step: .01,\n        defaultValue: 0\n      },\n      x: {\n        title: \"X\",\n        type: ControlType.Number,\n        min: -200,\n        max: 200,\n        unit: \"%\",\n        step: 1,\n        defaultValue: 0,\n        displayStepper: true\n      },\n      y: {\n        title: \"Y\",\n        type: ControlType.Number,\n        min: -200,\n        max: 200,\n        unit: \"%\",\n        step: 1,\n        defaultValue: 100,\n        displayStepper: true\n      },\n      scale: {\n        title: \"Scale\",\n        type: ControlType.Number,\n        min: 0,\n        max: 5,\n        step: .01,\n        defaultValue: 1,\n        displayStepper: true\n      },\n      rotate: {\n        title: \"Rotate\",\n        type: ControlType.Number,\n        min: -360,\n        max: 360,\n        unit: \"\\xb0\",\n        step: 1,\n        defaultValue: 0\n      },\n      rotateX: {\n        title: \"Rotate X\",\n        type: ControlType.Number,\n        min: -360,\n        max: 360,\n        unit: \"\\xb0\",\n        step: 1,\n        defaultValue: 0\n      },\n      rotateY: {\n        title: \"Rotate Y\",\n        type: ControlType.Number,\n        min: -360,\n        max: 360,\n        unit: \"\\xb0\",\n        step: 1,\n        defaultValue: 0\n      }\n    }\n  },\n  transitionOptions: {\n    type: ControlType.Transition,\n    title: \"Transition\",\n    defaultValue: {\n      type: \"spring\",\n      stiffness: 400,\n      damping: 30,\n      mass: 1,\n      delay: .05\n    }\n  },\n  color: {\n    type: ControlType.Color,\n    defaultValue: \"#888\"\n  },\n  font: {\n    type: ControlType.Object,\n    controls: {\n      font: {\n        type: ControlType.String,\n        placeholder: \"Inter\",\n        defaultValue: \"Inter\"\n      },\n      fontSize: {\n        title: \"Size\",\n        type: ControlType.Number,\n        min: 0,\n        max: 500,\n        step: .5,\n        defaultValue: 32\n      },\n      fontWeight: {\n        type: ControlType.Enum,\n        options: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n        defaultValue: 400,\n        title: \"Weight\"\n      },\n      textAlign: {\n        type: ControlType.Enum,\n        displaySegmentedControl: true,\n        title: \"Align\",\n        options: [\"left\", \"center\", \"right\"],\n        optionTitles: [\"Left\", \"Center\", \"Right\"],\n        defaultValue: \"center\"\n      },\n      letterSpacing: {\n        title: \"Letter\",\n        type: ControlType.Number,\n        defaultValue: 0,\n        step: .1,\n        displayStepper: true\n      },\n      offset: {\n        type: ControlType.Number,\n        title: \"Offset\",\n        min: -100,\n        max: 100,\n        displayStepper: true,\n        step: .25,\n        defaultValue: 0,\n        unit: \"%\"\n      },\n      whiteSpace: {\n        type: ControlType.Enum,\n        title: \"Space\",\n        options: [\"normal\", \"nowrap\", \"pre\", \"pre-wrap\", \"preline\", \"break-spaces\"],\n        optionTitles: [\"Normal\", \"No Wrap\", \"Pre\", \"Pre Wrap\", \"Preline\", \"Break Spaces\"],\n        defaultValue: \"center\"\n      },\n      lineHeight: {\n        type: ControlType.Number,\n        title: \"Line\",\n        min: -500,\n        max: 500,\n        displayStepper: true,\n        step: .1,\n        defaultValue: 1.2,\n        hidden: props => !props.lineHeightType\n      },\n      lineHeightPixels: {\n        type: ControlType.Number,\n        title: \"Line\",\n        min: -500,\n        max: 500,\n        displayStepper: true,\n        step: .1,\n        defaultValue: 100,\n        hidden: props => props.lineHeightType\n      },\n      lineHeightType: {\n        type: ControlType.Boolean,\n        title: \" \",\n        enabledTitle: \"em\",\n        disabledTitle: \"px\",\n        defaultValue: true\n      }\n    }\n  }\n});\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"MotionText\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"any\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicWidth\": \"200\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./MotionText.map", "import { fontStore } from \"framer\";\nfontStore.loadWebFontsFromSelectors([\"Inter-Bold\"]);\nexport const fonts = [];\nexport const css = ['.framer-mtK2N .framer-styles-preset-178wtsv:not(.rich-text-wrapper), .framer-mtK2N .framer-styles-preset-178wtsv.rich-text-wrapper h4 { --framer-font-family: \"Inter-Bold\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-weight: 700; --framer-letter-spacing: 0em; --framer-line-height: 130%; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-17d3d1c7-05df-4586-bea0-bc1b87942816, #1f212d); --framer-text-decoration: none; --framer-text-transform: none; }'];\nexport const className = \"framer-mtK2N\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"className\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"css\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fonts\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "import { fontStore } from \"framer\";\nfontStore.loadWebFontsFromSelectors([\"GF;Inter-regular\"]);\nexport const fonts = [{\n  family: \"Inter\",\n  moduleAsset: {\n    localModuleIdentifier: \"local-module:css/nJekZSaQ9:default\",\n    url: \"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZhrib2Bg-4.ttf\"\n  },\n  style: \"normal\",\n  url: \"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZhrib2Bg-4.ttf\",\n  weight: \"400\"\n}];\nexport const css = ['.framer-0hRR4 .framer-styles-preset-14jvxbr:not(.rich-text-wrapper), .framer-0hRR4 .framer-styles-preset-14jvxbr.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-weight: 400; --framer-letter-spacing: 0px; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: var(--token-96e8ff5f-0208-44fb-b583-67fab32b118f, #324055); --framer-text-decoration: none; --framer-text-transform: none; }'];\nexport const className = \"framer-0hRR4\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"className\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fonts\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"css\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "// Generated by Framer (2f15e1c)\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addFonts, addPropertyControls, ControlType, cx, RichText, useActiveVariantCallback, useLocaleInfo, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion, MotionConfigContext } from \"framer-motion\";\nimport * as React from \"react\";\nimport * as sharedStyle from \"https://framerusercontent.com/modules/lHC3L9lhI3R5nE2Zuo05/i6Fff8vz19BIPtFqutfy/ki8HMDlLa.js\";\nimport * as sharedStyle1 from \"https://framerusercontent.com/modules/VSbq8OOVS5hbafkKXRBQ/7ICd0h0N4hRi1VG3fTqL/nJekZSaQ9.js\";\nconst cycleOrder = [\"sEUwgz_Rn\", \"prjHcPdwI\"];\nconst variantClassNames = {\n  prjHcPdwI: \"framer-v-chg2n3\",\n  sEUwgz_Rn: \"framer-v-rmlvnc\"\n};\nfunction addPropertyOverrides(overrides, ...variants) {\n  const nextOverrides = {};\n  variants === null || variants === void 0 ? void 0 : variants.forEach(variant => variant && Object.assign(nextOverrides, overrides[variant]));\n  return nextOverrides;\n}\nconst transitions = {\n  default: {\n    damping: 40,\n    delay: 0,\n    mass: 1,\n    stiffness: 400,\n    type: \"spring\"\n  }\n};\nconst Transition = ({\n  value,\n  children\n}) => {\n  const config = React.useContext(MotionConfigContext);\n  const transition = value !== null && value !== void 0 ? value : config.transition;\n  const contextValue = React.useMemo(() => ({\n    ...config,\n    transition\n  }), [JSON.stringify(transition)]);\n  return /*#__PURE__*/_jsx(MotionConfigContext.Provider, {\n    value: contextValue,\n    children: children\n  });\n};\nconst humanReadableVariantMap = {\n  Closed: \"sEUwgz_Rn\",\n  Open: \"prjHcPdwI\"\n};\nconst getProps = ({\n  answer,\n  height,\n  id,\n  question,\n  width,\n  ...props\n}) => {\n  var ref, _variant, ref1, ref2;\n  return {\n    ...props,\n    T8rQFvSBR: (ref = answer !== null && answer !== void 0 ? answer : props.T8rQFvSBR) !== null && ref !== void 0 ? ref : \"Framer is a web builder for creative pros. Be sure to check out framer.com to learn more.\",\n    variant: (ref1 = (_variant = humanReadableVariantMap[props.variant]) !== null && _variant !== void 0 ? _variant : props.variant) !== null && ref1 !== void 0 ? ref1 : \"sEUwgz_Rn\",\n    W88zB8mIG: (ref2 = question !== null && question !== void 0 ? question : props.W88zB8mIG) !== null && ref2 !== void 0 ? ref2 : \"Framer is a web builder for creative pros. Be sure to check out framer.com to learn more.\"\n  };\n};\nconst createLayoutDependency = (props, variants) => variants.join(\"-\") + props.layoutDependency;\nconst Component = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  const {\n    activeLocale\n  } = useLocaleInfo();\n  const {\n    style,\n    className,\n    layoutId,\n    variant,\n    W88zB8mIG,\n    T8rQFvSBR,\n    ...restProps\n  } = getProps(props);\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"sEUwgz_Rn\",\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = createLayoutDependency(props, variants);\n  const {\n    activeVariantCallback,\n    delay\n  } = useActiveVariantCallback(baseVariant);\n  const onTap15vsukg = activeVariantCallback(async (...args) => {\n    setVariant(\"prjHcPdwI\");\n  });\n  const onTap1klk15q = activeVariantCallback(async (...args) => {\n    setVariant(\"sEUwgz_Rn\");\n  });\n  const isDisplayed = () => {\n    if (baseVariant === \"prjHcPdwI\") return false;\n    return true;\n  };\n  const isDisplayed1 = () => {\n    if (baseVariant === \"prjHcPdwI\") return true;\n    return false;\n  };\n  const defaultLayoutId = React.useId();\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    id: layoutId !== null && layoutId !== void 0 ? layoutId : defaultLayoutId,\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: variant,\n      animate: variants,\n      onHoverStart: () => setGestureState({\n        isHovered: true\n      }),\n      onHoverEnd: () => setGestureState({\n        isHovered: false\n      }),\n      onTapStart: () => setGestureState({\n        isPressed: true\n      }),\n      onTap: () => setGestureState({\n        isPressed: false\n      }),\n      onTapCancel: () => setGestureState({\n        isPressed: false\n      }),\n      className: cx(\"framer-7KSpR\", sharedStyle.className, sharedStyle1.className, classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(Transition, {\n        value: transition,\n        children: /*#__PURE__*/_jsxs(motion.div, {\n          ...restProps,\n          className: cx(\"framer-rmlvnc\", className),\n          \"data-framer-name\": \"Closed\",\n          layoutDependency: layoutDependency,\n          layoutId: \"sEUwgz_Rn\",\n          ref: ref,\n          style: {\n            backgroundColor: \"rgba(0, 0, 0, 0)\",\n            borderBottomLeftRadius: 0,\n            borderBottomRightRadius: 0,\n            borderTopLeftRadius: 0,\n            borderTopRightRadius: 0,\n            boxShadow: \"none\",\n            ...style\n          },\n          variants: {\n            prjHcPdwI: {\n              backgroundColor: \"var(--token-07dc1db9-45e3-4c50-b506-190e5f758a22, rgb(255, 255, 255))\",\n              borderBottomLeftRadius: 16,\n              borderBottomRightRadius: 16,\n              borderTopLeftRadius: 16,\n              borderTopRightRadius: 16,\n              boxShadow: \"0px 0.7961918735236395px 0.7961918735236395px -0.9375px rgba(0, 0, 0, 0.10951), 0px 2.414506143104518px 2.414506143104518px -1.875px rgba(0, 0, 0, 0.10345), 0px 6.382653521484461px 6.382653521484461px -2.8125px rgba(0, 0, 0, 0.08857), 0px 20px 20px -3.75px rgba(0, 0, 0, 0.0375)\"\n            }\n          },\n          ...addPropertyOverrides({\n            prjHcPdwI: {\n              \"data-framer-name\": \"Open\"\n            }\n          }, baseVariant, gestureVariant),\n          children: [/*#__PURE__*/_jsxs(motion.div, {\n            className: \"framer-11q61eh\",\n            \"data-framer-name\": \"Question\",\n            \"data-highlight\": true,\n            layoutDependency: layoutDependency,\n            layoutId: \"BxzBgfDoS\",\n            onTap: onTap15vsukg,\n            ...addPropertyOverrides({\n              prjHcPdwI: {\n                onTap: onTap1klk15q\n              }\n            }, baseVariant, gestureVariant),\n            children: [isDisplayed() && /*#__PURE__*/_jsxs(motion.div, {\n              className: \"framer-11dypmj\",\n              \"data-framer-name\": \"Plus\",\n              layoutDependency: layoutDependency,\n              layoutId: \"RtRVlNy9R\",\n              style: {\n                opacity: .3\n              },\n              children: [/*#__PURE__*/_jsx(motion.div, {\n                className: \"framer-1vo8lwh\",\n                layoutDependency: layoutDependency,\n                layoutId: \"dcbrc5wZY\",\n                style: {\n                  backgroundColor: \"rgb(0, 0, 0)\",\n                  borderBottomLeftRadius: 10,\n                  borderBottomRightRadius: 10,\n                  borderTopLeftRadius: 10,\n                  borderTopRightRadius: 10\n                }\n              }), /*#__PURE__*/_jsx(motion.div, {\n                className: \"framer-9cj7ji\",\n                layoutDependency: layoutDependency,\n                layoutId: \"GjpoMXf4E\",\n                style: {\n                  backgroundColor: \"rgb(0, 0, 0)\",\n                  borderBottomLeftRadius: 10,\n                  borderBottomRightRadius: 10,\n                  borderTopLeftRadius: 10,\n                  borderTopRightRadius: 10\n                }\n              })]\n            }), /*#__PURE__*/_jsx(RichText, {\n              __fromCanvasComponent: true,\n              children: /*#__PURE__*/_jsx(React.Fragment, {\n                children: /*#__PURE__*/_jsx(motion.h4, {\n                  className: \"framer-styles-preset-178wtsv\",\n                  \"data-styles-preset\": \"ki8HMDlLa\",\n                  children: \"Framer is a web builder for creative pros. Be sure to check out framer.com to learn more.\"\n                })\n              }),\n              className: \"framer-xcq6if\",\n              layoutDependency: layoutDependency,\n              layoutId: \"w6twiS4DO\",\n              style: {\n                \"--framer-link-text-color\": \"rgb(0, 153, 255)\",\n                \"--framer-link-text-decoration\": \"underline\",\n                \"--framer-paragraph-spacing\": \"0px\"\n              },\n              text: W88zB8mIG,\n              verticalAlignment: \"top\",\n              withExternalLayout: true\n            })]\n          }), isDisplayed1() && /*#__PURE__*/_jsx(motion.div, {\n            className: \"framer-8lyo4r\",\n            \"data-framer-name\": \"Answer\",\n            layoutDependency: layoutDependency,\n            layoutId: \"Ekomsn9dC\",\n            style: {\n              opacity: 0\n            },\n            variants: {\n              prjHcPdwI: {\n                opacity: 1\n              }\n            },\n            children: /*#__PURE__*/_jsx(RichText, {\n              __fromCanvasComponent: true,\n              children: /*#__PURE__*/_jsx(React.Fragment, {\n                children: /*#__PURE__*/_jsx(motion.p, {\n                  className: \"framer-styles-preset-14jvxbr\",\n                  \"data-styles-preset\": \"nJekZSaQ9\",\n                  children: \"Framer is a web builder for creative pros. Be sure to check out framer.com to learn more.\"\n                })\n              }),\n              className: \"framer-e3y73s\",\n              layoutDependency: layoutDependency,\n              layoutId: \"fJJuFVTQu\",\n              style: {\n                \"--framer-paragraph-spacing\": \"0px\",\n                opacity: .6\n              },\n              text: T8rQFvSBR,\n              variants: {\n                prjHcPdwI: {\n                  opacity: 1\n                }\n              },\n              verticalAlignment: \"top\",\n              withExternalLayout: true\n            })\n          })]\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-7KSpR [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }', \"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\", \".framer-7KSpR .framer-1qpzxli { display: block; }\", \".framer-7KSpR .framer-rmlvnc { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px 0px 0px 0px; position: relative; width: 400px; }\", \".framer-7KSpR .framer-11q61eh { -webkit-user-select: none; align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 20px 0px 20px 40px; position: relative; user-select: none; width: 100%; }\", \".framer-7KSpR .framer-11dypmj { flex: none; height: 16px; left: 0px; overflow: hidden; position: absolute; top: 25px; width: 16px; z-index: 1; }\", \".framer-7KSpR .framer-1vo8lwh { flex: none; height: 2px; left: calc(50.00000000000002% - 16px / 2); overflow: visible; position: absolute; top: calc(50.00000000000002% - 2px / 2); width: 16px; }\", \".framer-7KSpR .framer-9cj7ji { flex: none; height: 16px; left: calc(50.00000000000002% - 2px / 2); overflow: visible; position: absolute; top: calc(50.00000000000002% - 16px / 2); width: 2px; }\", \".framer-7KSpR .framer-xcq6if { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\", \".framer-7KSpR .framer-8lyo4r { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 20px 20px 20px; position: relative; width: 100%; }\", \".framer-7KSpR .framer-e3y73s { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\", \"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-7KSpR .framer-rmlvnc, .framer-7KSpR .framer-11q61eh, .framer-7KSpR .framer-8lyo4r { gap: 0px; } .framer-7KSpR .framer-rmlvnc > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } .framer-7KSpR .framer-rmlvnc > :first-child, .framer-7KSpR .framer-8lyo4r > :first-child { margin-top: 0px; } .framer-7KSpR .framer-rmlvnc > :last-child, .framer-7KSpR .framer-8lyo4r > :last-child { margin-bottom: 0px; } .framer-7KSpR .framer-11q61eh > * { margin: 0px; margin-left: calc(24px / 2); margin-right: calc(24px / 2); } .framer-7KSpR .framer-11q61eh > :first-child { margin-left: 0px; } .framer-7KSpR .framer-11q61eh > :last-child { margin-right: 0px; } .framer-7KSpR .framer-8lyo4r > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } }\", \".framer-7KSpR.framer-v-chg2n3 .framer-rmlvnc { padding: 10px 10px 10px 10px; will-change: transform; }\", \".framer-7KSpR.framer-v-chg2n3 .framer-11q61eh { padding: 20px 20px 20px 20px; }\", ...sharedStyle.css, ...sharedStyle1.css]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          * @framerIntrinsicHeight 118\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          * @framerIntrinsicWidth 400\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"prjHcPdwI\":{\"layout\":[\"fixed\",\"auto\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          * @framerVariables {\"W88zB8mIG\":\"question\",\"T8rQFvSBR\":\"answer\"}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          */\nconst FramervIn0777hc = withCSS(Component, css, \"framer-7KSpR\");\nexport default FramervIn0777hc;\nFramervIn0777hc.displayName = \"Row\";\nFramervIn0777hc.defaultProps = {\n  height: 118,\n  width: 400\n};\naddPropertyControls(FramervIn0777hc, {\n  variant: {\n    options: [\"sEUwgz_Rn\", \"prjHcPdwI\"],\n    optionTitles: [\"Closed\", \"Open\"],\n    title: \"Variant\",\n    type: ControlType.Enum\n  },\n  W88zB8mIG: {\n    defaultValue: \"Framer is a web builder for creative pros. Be sure to check out framer.com to learn more.\",\n    displayTextArea: true,\n    title: \"Question\",\n    type: ControlType.String\n  },\n  T8rQFvSBR: {\n    defaultValue: \"Framer is a web builder for creative pros. Be sure to check out framer.com to learn more.\",\n    displayTextArea: true,\n    title: \"Answer\",\n    type: ControlType.String\n  }\n});\naddFonts(FramervIn0777hc, [...sharedStyle.fonts, ...sharedStyle1.fonts]);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FramervIn0777hc\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerVariables\": \"{\\\"W88zB8mIG\\\":\\\"question\\\",\\\"T8rQFvSBR\\\":\\\"answer\\\"}\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicWidth\": \"400\",\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"prjHcPdwI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\n        \"framerIntrinsicHeight\": \"118\"\n      }\n    },\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./vIn0777hc.map", "// Generated by Framer (bdd6aa1)\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addFonts, cx, getFonts, useLocaleInfo, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion, MotionConfigContext } from \"framer-motion\";\nimport * as React from \"react\";\nimport Row from \"https://framerusercontent.com/modules/kQMPnoAYhppkltOgkeSS/ePAHp0j5YzQFKr3a4js5/vIn0777hc.js\";\nconst RowFonts = getFonts(Row);\nconst cycleOrder = [\"IdHAiqSJy\"];\nconst variantClassNames = {\n  IdHAiqSJy: \"framer-v-1uemybf\"\n};\nfunction addPropertyOverrides(overrides, ...variants) {\n  const nextOverrides = {};\n  variants === null || variants === void 0 ? void 0 : variants.forEach(variant => variant && Object.assign(nextOverrides, overrides[variant]));\n  return nextOverrides;\n}\nconst transitions = {\n  default: {\n    damping: 40,\n    delay: 0,\n    mass: 1,\n    stiffness: 400,\n    type: \"spring\"\n  }\n};\nconst Transition = ({\n  value,\n  children\n}) => {\n  const config = React.useContext(MotionConfigContext);\n  const transition = value !== null && value !== void 0 ? value : config.transition;\n  const contextValue = React.useMemo(() => ({\n    ...config,\n    transition\n  }), [JSON.stringify(transition)]);\n  return /*#__PURE__*/_jsx(MotionConfigContext.Provider, {\n    value: contextValue,\n    children: children\n  });\n};\nconst getProps = ({\n  height,\n  id,\n  width,\n  ...props\n}) => {\n  return {\n    ...props\n  };\n};\nconst createLayoutDependency = (props, variants) => variants.join(\"-\") + props.layoutDependency;\nconst Component = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  const {\n    activeLocale\n  } = useLocaleInfo();\n  const {\n    style,\n    className,\n    layoutId,\n    variant,\n    ...restProps\n  } = getProps(props);\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"IdHAiqSJy\",\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = createLayoutDependency(props, variants);\n  const defaultLayoutId = React.useId();\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    id: layoutId !== null && layoutId !== void 0 ? layoutId : defaultLayoutId,\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: variant,\n      animate: variants,\n      onHoverStart: () => setGestureState({\n        isHovered: true\n      }),\n      onHoverEnd: () => setGestureState({\n        isHovered: false\n      }),\n      onTapStart: () => setGestureState({\n        isPressed: true\n      }),\n      onTap: () => setGestureState({\n        isPressed: false\n      }),\n      onTapCancel: () => setGestureState({\n        isPressed: false\n      }),\n      className: cx(\"framer-tSA4S\", classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(Transition, {\n        value: transition,\n        children: /*#__PURE__*/_jsxs(motion.div, {\n          ...restProps,\n          className: cx(\"framer-1uemybf\", className),\n          \"data-framer-name\": \"Variant 1\",\n          layoutDependency: layoutDependency,\n          layoutId: \"IdHAiqSJy\",\n          ref: ref,\n          style: {\n            borderBottomLeftRadius: 20,\n            borderBottomRightRadius: 20,\n            borderTopLeftRadius: 20,\n            borderTopRightRadius: 20,\n            ...style\n          },\n          children: [/*#__PURE__*/_jsx(motion.div, {\n            className: \"framer-1qxw3ml-container\",\n            layoutDependency: layoutDependency,\n            layoutId: \"XABVNbIZq-container\",\n            children: /*#__PURE__*/_jsx(Row, {\n              answer: \"At Shrunked, we prioritize quality over quantity. We not only vet potential talents but also ensure that their showcased skills are proven, offering businesses a seamless and trustworthy hiring process.\",\n              height: \"100%\",\n              id: \"XABVNbIZq\",\n              layoutId: \"XABVNbIZq\",\n              question: \"What sets Shrunked apart from 'other' offshore hiring platforms that shall not be named?\",\n              style: {\n                width: \"100%\"\n              },\n              variant: \"prjHcPdwI\",\n              width: \"100%\"\n            })\n          }), /*#__PURE__*/_jsx(motion.div, {\n            className: \"framer-i5j51t-container\",\n            layoutDependency: layoutDependency,\n            layoutId: \"BlEF2Tl2Z-container\",\n            children: /*#__PURE__*/_jsx(Row, {\n              answer: \"Yes, with our Basic plan, you can view up to 2 profiles per month. However, you can purchase additional profile views for $5.99 each.\",\n              height: \"100%\",\n              id: \"BlEF2Tl2Z\",\n              layoutId: \"BlEF2Tl2Z\",\n              question: \"Is there a limit on the number of profiles I can view with the Basic plan?\",\n              style: {\n                width: \"100%\"\n              },\n              variant: \"sEUwgz_Rn\",\n              width: \"100%\"\n            })\n          }), /*#__PURE__*/_jsx(motion.div, {\n            className: \"framer-vydxzf-container\",\n            layoutDependency: layoutDependency,\n            layoutId: \"cj_TW_p_Z-container\",\n            children: /*#__PURE__*/_jsx(Row, {\n              answer: \"Premium users can view up to 10 profiles per month, while Elite users can view 30. If you need more, extra profile views can be purchased at discounted rates.\",\n              height: \"100%\",\n              id: \"cj_TW_p_Z\",\n              layoutId: \"cj_TW_p_Z\",\n              question: \"How do the profile view credits work for Premium and Elite plans?\",\n              style: {\n                width: \"100%\"\n              },\n              variant: \"sEUwgz_Rn\",\n              width: \"100%\"\n            })\n          }), /*#__PURE__*/_jsx(motion.div, {\n            className: \"framer-ey5c1y-container\",\n            layoutDependency: layoutDependency,\n            layoutId: \"Mzas_5HFV-container\",\n            children: /*#__PURE__*/_jsx(Row, {\n              answer: \"Absolutely! Our Premium plan provides best practices in hiring and management. Elite users get an added advantage with dedicated consulting and HR support to ensure productivity remains optimal.\",\n              height: \"100%\",\n              id: \"Mzas_5HFV\",\n              layoutId: \"Mzas_5HFV\",\n              question: \"Do you offer support or guidance for managing offshore staff?\",\n              style: {\n                width: \"100%\"\n              },\n              variant: \"sEUwgz_Rn\",\n              width: \"100%\"\n            })\n          })]\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-tSA4S [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }', \"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\", \".framer-tSA4S .framer-w0w2x3 { display: block; }\", \".framer-tSA4S .framer-1uemybf { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 0px 0px 0px; position: relative; width: 1000px; }\", \".framer-tSA4S .framer-1qxw3ml-container, .framer-tSA4S .framer-i5j51t-container, .framer-tSA4S .framer-vydxzf-container, .framer-tSA4S .framer-ey5c1y-container { flex: none; height: auto; position: relative; width: 100%; }\", \"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-tSA4S .framer-1uemybf { gap: 0px; } .framer-tSA4S .framer-1uemybf > * { margin: 0px; margin-bottom: calc(12px / 2); margin-top: calc(12px / 2); } .framer-tSA4S .framer-1uemybf > :first-child { margin-top: 0px; } .framer-tSA4S .framer-1uemybf > :last-child { margin-bottom: 0px; } }\"]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  * @framerIntrinsicHeight 394\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  * @framerIntrinsicWidth 1000\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  */\nconst FramersU_P9IJz3 = withCSS(Component, css, \"framer-tSA4S\");\nexport default FramersU_P9IJz3;\nFramersU_P9IJz3.displayName = \"Accordion Copy\";\nFramersU_P9IJz3.defaultProps = {\n  height: 394,\n  width: 1e3\n};\naddFonts(FramersU_P9IJz3, [...RowFonts]);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FramersU_P9IJz3\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\n        \"framerIntrinsicHeight\": \"394\",\n        \"framerIntrinsicWidth\": \"1000\",\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./sU_P9IJz3.map", "function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map", "import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map", "import{noopReturn as t,defaults as i,isEasingGenerator as e,isEasingList as s,interpolate as a}from\"@motionone/utils\";import{cubicBezier as n,steps as r}from\"@motionone/easing\";const o={ease:n(.25,.1,.25,1),\"ease-in\":n(.42,0,1,1),\"ease-in-out\":n(.42,0,.58,1),\"ease-out\":n(0,0,.58,1)};const h=/\\((.*?)\\)/;function getEasingFunction(i){if(\"function\"===typeof i)return i;if(Array.isArray(i))return n(...i);if(o[i])return o[i];if(i.startsWith(\"steps\")){const t=h.exec(i);if(t){const i=t[1].split(\",\");return r(parseFloat(i[0]),i[1].trim())}}return t}class Animation{constructor(n,r=[0,1],{easing:o,duration:h=i.duration,delay:u=i.delay,endDelay:l=i.endDelay,repeat:m=i.repeat,offset:c,direction:p=\"normal\"}={}){this.startTime=null;this.rate=1;this.t=0;this.cancelTimestamp=null;this.easing=t;this.duration=0;this.totalDuration=0;this.repeat=0;this.playState=\"idle\";this.finished=new Promise(((t,i)=>{this.resolve=t;this.reject=i}));o=o||i.easing;if(e(o)){const t=o.createAnimation(r,(()=>\"0\"),true);o=t.easing;void 0!==t.keyframes&&(r=t.keyframes);void 0!==t.duration&&(h=t.duration)}this.repeat=m;this.easing=s(o)?t:getEasingFunction(o);this.updateDuration(h);const d=a(r,c,s(o)?o.map(getEasingFunction):t);this.tick=t=>{var i;u=u;let e=0;e=void 0!==this.pauseTime?this.pauseTime:(t-this.startTime)*this.rate;this.t=e;e/=1e3;e=Math.max(e-u,0);\"finished\"===this.playState&&void 0===this.pauseTime&&(e=this.totalDuration);const s=e/this.duration;let a=Math.floor(s);let r=s%1;!r&&s>=1&&(r=1);1===r&&a--;const o=a%2;(\"reverse\"===p||\"alternate\"===p&&o||\"alternate-reverse\"===p&&!o)&&(r=1-r);const h=e>=this.totalDuration?1:Math.min(r,1);const m=d(this.easing(h));n(m);const c=void 0===this.pauseTime&&(\"finished\"===this.playState||e>=this.totalDuration+l);if(c){this.playState=\"finished\";null===(i=this.resolve)||void 0===i?void 0:i.call(this,m)}else\"idle\"!==this.playState&&(this.frameRequestId=requestAnimationFrame(this.tick))};this.play()}play(){const t=performance.now();this.playState=\"running\";void 0!==this.pauseTime?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t);this.cancelTimestamp=this.startTime;this.pauseTime=void 0;this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState=\"paused\";this.pauseTime=this.t}finish(){this.playState=\"finished\";this.tick(0)}stop(){var t;this.playState=\"idle\";void 0!==this.frameRequestId&&cancelAnimationFrame(this.frameRequestId);null===(t=this.reject)||void 0===t?void 0:t.call(this,false)}cancel(){this.stop();this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t;this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){void 0!==this.pauseTime||0===this.rate?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}export{Animation,getEasingFunction};\n\n//# sourceMappingURL=index.es.js.map", "var extendStatics=function(e,t){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])};return extendStatics(e,t)};function __extends(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){__assign=Object.assign||function __assign(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e};return __assign.apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&\"function\"===typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function __decorate(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function __param(e,t){return function(r,n){t(r,n,e)}}function __metadata(e,t){if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},\"function\"===typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(e){return function(t){return step([e,t])}}function step(a){if(r)throw new TypeError(\"Generator is already executing.\");while(i)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;(n=0,o)&&(a=[2&a[0],o.value]);switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}o[2]&&i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var e=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!(\"get\"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:true,get:function(){return t[r]}});Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r);e[n]=t[r]};function __exportStar(t,r){for(var n in t)\"default\"===n||Object.prototype.hasOwnProperty.call(r,n)||e(r,t,n)}function __values(e){var t=\"function\"===typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&\"number\"===typeof e.length)return{next:function(){e&&n>=e.length&&(e=void 0);return{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(e,t){var r=\"function\"===typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{while((void 0===t||t-- >0)&&!(n=a.next()).done)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}\n/** @deprecated */function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}\n/** @deprecated */function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,c=a.length;i<c;i++,o++)n[o]=a[i];return n}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)if(n||!(o in t)){n||(n=Array.prototype.slice.call(t,0,o));n[o]=t[o]}return e.concat(n||Array.prototype.slice.call(t))}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var n,o=r.apply(e,t||[]),a=[];return n={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),n[Symbol.asyncIterator]=function(){return this},n;function verb(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||resume(e,t)}))})}function resume(e,t){try{step(o[e](t))}catch(e){settle(a[0][3],e)}}function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}function fulfill(e){resume(\"next\",e)}function reject(e){resume(\"throw\",e)}function settle(e,t){(e(t),a.shift(),a.length)&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,r;return t={},verb(\"next\"),verb(\"throw\",(function(e){throw e})),verb(\"return\"),t[Symbol.iterator]=function(){return this},t;function verb(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:\"return\"===n}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=\"function\"===typeof __values?__values(e):e[Symbol.iterator](),t={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function verb(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){t=e[r](t),settle(n,o,t.done,t.value)}))}}function settle(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}}function __makeTemplateObject(e,t){Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t;return e}var t=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:true,value:t})}:function(e,t){e.default=t};function __importStar(r){if(r&&r.__esModule)return r;var n={};if(null!=r)for(var o in r)\"default\"!==o&&Object.prototype.hasOwnProperty.call(r,o)&&e(n,r,o);t(n,r);return n}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(null===t||\"object\"!==typeof t&&\"function\"!==typeof t)throw new TypeError(\"Cannot use 'in' operator on non-object\");return\"function\"===typeof e?t===e:e.has(t)}export{__assign,__asyncDelegator,__asyncGenerator,__asyncValues,__await,__awaiter,__classPrivateFieldGet,__classPrivateFieldIn,__classPrivateFieldSet,e as __createBinding,__decorate,__exportStar,__extends,__generator,__importDefault,__importStar,__makeTemplateObject,__metadata,__param,__read,__rest,__spread,__spreadArray,__spreadArrays,__values};\n\n//# sourceMappingURL=tslib.es6.js.map", "var n={};Object.defineProperty(n,\"__esModule\",{value:true});n.warning=function(){};n.invariant=function(){};const e=n.__esModule,t=n.warning,r=n.invariant;export default n;export{e as __esModule,r as invariant,t as warning};\n\n//# sourceMappingURL=index.js.map", "import{velocityPerSecond as e,time as t}from\"@motionone/utils\";const s=5;function calcGeneratorVelocity(t,n,r){const a=Math.max(n-s,0);return e(r-t(a),n-a)}const n={stiffness:100,damping:10,mass:1};const calcDampingRatio=(e=n.stiffness,t=n.damping,s=n.mass)=>t/(2*Math.sqrt(e*s));function hasReachedTarget(e,t,s){return e<t&&s>=t||e>t&&s<=t}const spring=({stiffness:e=n.stiffness,damping:s=n.damping,mass:r=n.mass,from:a=0,to:o=1,velocity:c=0,restSpeed:i=2,restDistance:h=.5}={})=>{c=c?t.s(c):0;const u={done:false,hasReachedTarget:false,current:a,target:o};const d=o-a;const f=Math.sqrt(e/r)/1e3;const l=calcDampingRatio(e,s,r);let g;if(l<1){const e=f*Math.sqrt(1-l*l);g=t=>o-Math.exp(-l*f*t)*((l*f*d-c)/e*Math.sin(e*t)+d*Math.cos(e*t))}else g=e=>o-Math.exp(-f*e)*(d+(f*d-c)*e);return e=>{u.current=g(e);const t=0===e?c:calcGeneratorVelocity(g,e,u.current);const s=Math.abs(t)<=i;const n=Math.abs(o-u.current)<=h;u.done=s&&n;u.hasReachedTarget=hasReachedTarget(a,o,u.current);return u}};const glide=({from:e=0,velocity:s=0,power:n=.8,decay:r=.325,bounceDamping:a,bounceStiffness:o,changeTarget:c,min:i,max:h,restDistance:u=.5,restSpeed:d})=>{r=t.ms(r);const f={hasReachedTarget:false,done:false,current:e,target:e};const isOutOfBounds=e=>void 0!==i&&e<i||void 0!==h&&e>h;const nearestBoundary=e=>void 0===i?h:void 0===h||Math.abs(i-e)<Math.abs(h-e)?i:h;let l=n*s;const g=e+l;const m=void 0===c?g:c(g);f.target=m;m!==g&&(l=m-e);const calcDelta=e=>-l*Math.exp(-e/r);const calcLatest=e=>m+calcDelta(e);const applyFriction=e=>{const t=calcDelta(e);const s=calcLatest(e);f.done=Math.abs(t)<=u;f.current=f.done?m:s};let p;let M;const checkCatchBoundary=e=>{if(isOutOfBounds(f.current)){p=e;M=spring({from:f.current,to:nearestBoundary(f.current),velocity:calcGeneratorVelocity(calcLatest,e,f.current),damping:a,stiffness:o,restDistance:u,restSpeed:d})}};checkCatchBoundary(0);return e=>{let t=false;if(!M&&void 0===p){t=true;applyFriction(e);checkCatchBoundary(e)}if(void 0!==p&&e>p){f.hasReachedTarget=true;return M(e-p)}f.hasReachedTarget=false;!t&&applyFriction(e);return f}};const r=10;const a=1e4;function pregenerateKeyframes(e){let t;let s=r;let n=e(0);const o=[n.current];while(!n.done&&s<a){n=e(s);o.push(n.done?n.target:n.current);void 0===t&&n.hasReachedTarget&&(t=s);s+=r}const c=s-r;1===o.length&&o.push(n.current);return{keyframes:o,duration:c/1e3,overshootDuration:(null!==t&&void 0!==t?t:c)/1e3}}export{calcGeneratorVelocity,glide,pregenerateKeyframes,spring};\n\n//# sourceMappingURL=index.es.js.map", "import{MotionValue as e}from\"@motionone/types\";import{noopReturn as t,addUniqueItem as n,isCubicBezier as o,defaults as i,isEasingGenerator as s,isNumber as r,time as a,isEasingList as c,noop as l,removeItem as f,mix as u,getEasingForSegment as d,isString as g,defaultOffset as m,fillOffset as h,progress as p,velocityPerSecond as v,interpolate as y}from\"@motionone/utils\";import{Animation as w,getEasingFunction as E}from\"@motionone/animation\";import{__rest as b}from\"tslib\";import{invariant as S}from\"hey-listen\";import{pregenerateKeyframes as A,calcGeneratorVelocity as O,spring as x,glide as V}from\"@motionone/generators\";const z=new WeakMap;function getAnimationData(e){z.has(e)||z.set(e,{transforms:[],values:new Map});return z.get(e)}function getMotionValue(t,n){t.has(n)||t.set(n,new e);return t.get(n)}const W=[\"\",\"X\",\"Y\",\"Z\"];const L=[\"translate\",\"scale\",\"rotate\",\"skew\"];const T={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};const D={syntax:\"<angle>\",initialValue:\"0deg\",toDefaultUnit:e=>e+\"deg\"};const M={translate:{syntax:\"<length-percentage>\",initialValue:\"0px\",toDefaultUnit:e=>e+\"px\"},rotate:D,scale:{syntax:\"<number>\",initialValue:1,toDefaultUnit:t},skew:D};const k=new Map;const asTransformCssVar=e=>`--motion-${e}`;const B=[\"x\",\"y\",\"z\"];L.forEach((e=>{W.forEach((t=>{B.push(e+t);k.set(asTransformCssVar(e+t),M[e])}))}));const compareTransformOrder=(e,t)=>B.indexOf(e)-B.indexOf(t);const j=new Set(B);const isTransform=e=>j.has(e);const addTransformToElement=(e,t)=>{T[t]&&(t=T[t]);const{transforms:o}=getAnimationData(e);n(o,t);e.style.transform=buildTransformTemplate(o)};const buildTransformTemplate=e=>e.sort(compareTransformOrder).reduce(transformListToString,\"\").trim();const transformListToString=(e,t)=>`${e} ${t}(var(${asTransformCssVar(t)}))`;const isCssVar=e=>e.startsWith(\"--\");const P=new Set;function registerCssVariable(e){if(!P.has(e)){P.add(e);try{const{syntax:t,initialValue:n}=k.has(e)?k.get(e):{};CSS.registerProperty({name:e,inherits:false,syntax:t,initialValue:n})}catch(e){}}}const convertEasing=e=>o(e)?cubicBezierAsString(e):e;const cubicBezierAsString=([e,t,n,o])=>`cubic-bezier(${e}, ${t}, ${n}, ${o})`;const testAnimation=e=>document.createElement(\"div\").animate(e,{duration:.001});const C={cssRegisterProperty:()=>\"undefined\"!==typeof CSS&&Object.hasOwnProperty.call(CSS,\"registerProperty\"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,\"animate\"),partialKeyframes:()=>{try{testAnimation({opacity:[1]})}catch(e){return false}return true},finished:()=>Boolean(testAnimation({opacity:[0,1]}).finished)};const $={};const R={};for(const e in C)R[e]=()=>{void 0===$[e]&&($[e]=C[e]());return $[e]};function hydrateKeyframes(e,t){for(let n=0;n<e.length;n++)null===e[n]&&(e[n]=n?e[n-1]:t());return e}const keyframesList=e=>Array.isArray(e)?e:[e];function getStyleName(e){T[e]&&(e=T[e]);return isTransform(e)?asTransformCssVar(e):e}const H={get:(e,t)=>{t=getStyleName(t);let n=isCssVar(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&0!==n){const e=k.get(t);e&&(n=e.initialValue)}return n},set:(e,t,n)=>{t=getStyleName(t);isCssVar(t)?e.style.setProperty(t,n):e.style[t]=n}};function stopAnimation(e,t=true){if(e&&\"finished\"!==e.playState)try{if(e.stop)e.stop();else{t&&e.commitStyles();e.cancel()}}catch(e){}}function getDevToolsRecord(){return window.__MOTION_DEV_TOOLS_RECORD}function animateStyle(e,t,n,o={}){const f=getDevToolsRecord();const u=false!==o.record&&f;let d;let{duration:g=i.duration,delay:m=i.delay,endDelay:h=i.endDelay,repeat:p=i.repeat,easing:v=i.easing,direction:y,offset:E,allowWebkitAcceleration:b=false}=o;const S=getAnimationData(e);let A=R.waapi();const O=isTransform(t);O&&addTransformToElement(e,t);const x=getStyleName(t);const V=getMotionValue(S.values,x);const z=k.get(x);stopAnimation(V.animation,!(s(v)&&V.generator)&&false!==o.record);return()=>{const readInitialValue=()=>{var t,n;return null!==(n=null!==(t=H.get(e,x))&&void 0!==t?t:null===z||void 0===z?void 0:z.initialValue)&&void 0!==n?n:0};let i=hydrateKeyframes(keyframesList(n),readInitialValue);if(s(v)){const e=v.createAnimation(i,readInitialValue,O,x,V);v=e.easing;void 0!==e.keyframes&&(i=e.keyframes);void 0!==e.duration&&(g=e.duration)}isCssVar(x)&&(R.cssRegisterProperty()?registerCssVariable(x):A=false);if(A){z&&(i=i.map((e=>r(e)?z.toDefaultUnit(e):e)));1!==i.length||R.partialKeyframes()&&!u||i.unshift(readInitialValue());const t={delay:a.ms(m),duration:a.ms(g),endDelay:a.ms(h),easing:c(v)?void 0:convertEasing(v),direction:y,iterations:p+1,fill:\"both\"};d=e.animate({[x]:i,offset:E,easing:c(v)?v.map(convertEasing):void 0},t);d.finished||(d.finished=new Promise(((e,t)=>{d.onfinish=e;d.oncancel=t})));const n=i[i.length-1];d.finished.then((()=>{H.set(e,x,n);d.cancel()})).catch(l);b||(d.playbackRate=1.000001)}else if(O){i=i.map((e=>\"string\"===typeof e?parseFloat(e):e));1===i.length&&i.unshift(parseFloat(readInitialValue()));const render=t=>{z&&(t=z.toDefaultUnit(t));H.set(e,x,t)};d=new w(render,i,Object.assign(Object.assign({},o),{duration:g,easing:v}))}else{const t=i[i.length-1];H.set(e,x,z&&r(t)?z.toDefaultUnit(t):t)}u&&f(e,t,i,{duration:g,delay:m,easing:v,repeat:p,offset:E},\"motion-one\");V.setAnimation(d);return d}}const getOptions=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function resolveElements(e,t){var n;if(\"string\"===typeof e)if(t){null!==(n=t[e])&&void 0!==n?n:t[e]=document.querySelectorAll(e);e=t[e]}else e=document.querySelectorAll(e);else e instanceof Element&&(e=[e]);return Array.from(e||[])}const createAnimation=e=>e();const withControls=(e,t,n=i.duration)=>new Proxy({animations:e.map(createAnimation).filter(Boolean),duration:n,options:t},I);const getActiveAnimation=e=>e.animations[0];const I={get:(e,t)=>{const n=getActiveAnimation(e);switch(t){case\"duration\":return e.duration;case\"currentTime\":return a.s((null===n||void 0===n?void 0:n[t])||0);case\"playbackRate\":case\"playState\":return null===n||void 0===n?void 0:n[t];case\"finished\":e.finished||(e.finished=Promise.all(e.animations.map(selectFinished)).catch(l));return e.finished;case\"stop\":return()=>{e.animations.forEach((e=>stopAnimation(e)))};case\"forEachNative\":return t=>{e.animations.forEach((n=>t(n,e)))};default:return\"undefined\"===typeof(null===n||void 0===n?void 0:n[t])?void 0:()=>e.animations.forEach((e=>e[t]()))}},set:(e,t,n)=>{switch(t){case\"currentTime\":n=a.ms(n);case\"currentTime\":case\"playbackRate\":for(let o=0;o<e.animations.length;o++)e.animations[o][t]=n;return true}return false}};const selectFinished=e=>e.finished;function stagger(e=.1,{start:t=0,from:n=0,easing:o}={}){return(i,s)=>{const a=r(n)?n:getFromIndex(n,s);const c=Math.abs(a-i);let l=e*c;if(o){const t=s*e;const n=E(o);l=n(l/t)*t}return t+l}}function getFromIndex(e,t){if(\"first\"===e)return 0;{const n=t-1;return\"last\"===e?n:n/2}}function resolveOption(e,t,n){return\"function\"===typeof e?e(t,n):e}function animate(e,t,n={}){e=resolveElements(e);const o=e.length;const i=[];for(let s=0;s<o;s++){const r=e[s];for(const e in t){const a=getOptions(n,e);a.delay=resolveOption(a.delay,s,o);const c=animateStyle(r,e,t[e],a);i.push(c)}}return withControls(i,n,n.duration)}function calcNextTime(e,t,n,o){var i;return r(t)?t:t.startsWith(\"-\")||t.startsWith(\"+\")?Math.max(0,e+parseFloat(t)):\"<\"===t?n:null!==(i=o.get(t))&&void 0!==i?i:e}function eraseKeyframes(e,t,n){for(let o=0;o<e.length;o++){const i=e[o];if(i.at>t&&i.at<n){f(e,i);o--}}}function addKeyframes(e,t,n,o,i,s){eraseKeyframes(e,i,s);for(let r=0;r<t.length;r++)e.push({value:t[r],at:u(i,s,o[r]),easing:d(n,r)})}function compareByTime(e,t){return e.at===t.at?null===e.value?1:-1:e.at-t.at}function timeline(e,t={}){var n;const o=createAnimationsFromTimeline(e,t);const i=o.map((e=>animateStyle(...e))).filter(Boolean);return withControls(i,t,null===(n=o[0])||void 0===n?void 0:n[3].duration)}function createAnimationsFromTimeline(e,t={}){var{defaultOptions:n={}}=t,o=b(t,[\"defaultOptions\"]);const r=[];const a=new Map;const c={};const l=new Map;let f=0;let u=0;let d=0;for(let t=0;t<e.length;t++){const o=e[t];if(g(o)){l.set(o,u);continue}if(!Array.isArray(o)){l.set(o.name,calcNextTime(u,o.at,f,l));continue}const[r,p,v={}]=o;void 0!==v.at&&(u=calcNextTime(u,v.at,f,l));let y=0;const w=resolveElements(r,c);const E=w.length;for(let e=0;e<E;e++){const t=w[e];const o=getElementSequence(t,a);for(const t in p){const r=getValueSequence(t,o);let a=keyframesList(p[t]);const c=getOptions(v,t);let{duration:l=n.duration||i.duration,easing:f=n.easing||i.easing}=c;if(s(f)){const e=isTransform(t);S(2===a.length||!e,\"spring must be provided 2 keyframes within timeline\");const n=f.createAnimation(a,(()=>\"0\"),e);f=n.easing;void 0!==n.keyframes&&(a=n.keyframes);void 0!==n.duration&&(l=n.duration)}const g=resolveOption(v.delay,e,E)||0;const w=u+g;const b=w+l;let{offset:A=m(a.length)}=c;1===A.length&&0===A[0]&&(A[1]=1);const O=length-a.length;O>0&&h(A,O);1===a.length&&a.unshift(null);addKeyframes(r,a,f,A,w,b);y=Math.max(g+l,y);d=Math.max(b,d)}}f=u;u+=y}a.forEach(((e,t)=>{for(const s in e){const a=e[s];a.sort(compareByTime);const c=[];const l=[];const f=[];for(let e=0;e<a.length;e++){const{at:t,value:n,easing:o}=a[e];c.push(n);l.push(p(0,d,t));f.push(o||i.easing)}if(0!==l[0]){l.unshift(0);c.unshift(c[0]);f.unshift(\"linear\")}if(1!==l[l.length-1]){l.push(1);c.push(null)}r.push([t,s,c,Object.assign(Object.assign(Object.assign({},n),{duration:d,easing:f,offset:l}),o)])}}));return r}function getElementSequence(e,t){!t.has(e)&&t.set(e,{});return t.get(e)}function getValueSequence(e,t){t[e]||(t[e]=[]);return t[e]}function createGeneratorEasing(e){const t=new WeakMap;return(n={})=>{const o=new Map;const getGenerator=(t=0,i=100,s=0,r=false)=>{const a=`${t}-${i}-${s}-${r}`;o.has(a)||o.set(a,e(Object.assign({from:t,to:i,velocity:s,restSpeed:r?.05:2,restDistance:r?.01:.5},n)));return o.get(a)};const getKeyframes=e=>{t.has(e)||t.set(e,A(e));return t.get(e)};return{createAnimation:(e,t,n,o,i)=>{var s,r;let a;const c=e.length;let l=n&&c<=2&&e.every(isNumberOrNull);if(l){const n=e[c-1];const l=1===c?null:e[0];let f=0;let u=0;const d=null===i||void 0===i?void 0:i.generator;if(d){const{animation:t,generatorStartTime:n}=i;const o=(null===t||void 0===t?void 0:t.startTime)||n||0;const r=(null===t||void 0===t?void 0:t.currentTime)||performance.now()-o;const a=d(r).current;u=null!==(s=l)&&void 0!==s?s:a;(1===c||2===c&&null===e[0])&&(f=O((e=>d(e).current),r,a))}else u=null!==(r=l)&&void 0!==r?r:parseFloat(t());const g=getGenerator(u,n,f,null===o||void 0===o?void 0:o.includes(\"scale\"));const m=getKeyframes(g);a=Object.assign(Object.assign({},m),{easing:\"linear\"});if(i){i.generator=g;i.generatorStartTime=performance.now()}}else{const e=getKeyframes(getGenerator(0,100));a={easing:\"ease\",duration:e.overshootDuration}}return a}}}}const isNumberOrNull=e=>\"string\"!==typeof e;const N=createGeneratorEasing(x);const F=createGeneratorEasing(V);const U={any:0,all:1};function inView$1(e,t,{root:n,margin:o,amount:i=\"any\"}={}){if(\"undefined\"===typeof IntersectionObserver)return()=>{};const s=resolveElements(e);const r=new WeakMap;const onIntersectionChange=e=>{e.forEach((e=>{const n=r.get(e.target);if(e.isIntersecting!==Boolean(n))if(e.isIntersecting){const n=t(e);\"function\"===typeof n?r.set(e.target,n):a.unobserve(e.target)}else if(n){n(e);r.delete(e.target)}}))};const a=new IntersectionObserver(onIntersectionChange,{root:n,rootMargin:o,threshold:\"number\"===typeof i?i:U[i]});s.forEach((e=>a.observe(e)));return()=>a.disconnect()}const q=new WeakMap;let K;function getElementSize(e,t){if(t){const{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&\"getBBox\"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function notifyTarget({target:e,contentRect:t,borderBoxSize:n}){var o;null===(o=q.get(e))||void 0===o?void 0:o.forEach((o=>{o({target:e,contentSize:t,get size(){return getElementSize(e,n)}})}))}function notifyAll(e){e.forEach(notifyTarget)}function createResizeObserver(){\"undefined\"!==typeof ResizeObserver&&(K=new ResizeObserver(notifyAll))}function resizeElement(e,t){K||createResizeObserver();const n=resolveElements(e);n.forEach((e=>{let n=q.get(e);if(!n){n=new Set;q.set(e,n)}n.add(t);null===K||void 0===K?void 0:K.observe(e)}));return()=>{n.forEach((e=>{const n=q.get(e);null===n||void 0===n?void 0:n.delete(t);(null===n||void 0===n?void 0:n.size)||(null===K||void 0===K?void 0:K.unobserve(e))}))}}const G=new Set;let _;function createWindowResizeHandler(){_=()=>{const e={width:window.innerWidth,height:window.innerHeight};const t={target:window,size:e,contentSize:e};G.forEach((e=>e(t)))};window.addEventListener(\"resize\",_)}function resizeWindow(e){G.add(e);_||createWindowResizeHandler();return()=>{G.delete(e);!G.size&&_&&(_=void 0)}}function resize(e,t){return\"function\"===typeof e?resizeWindow(e):resizeElement(e,t)}const Z=50;const createAxisInfo=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0});const createScrollInfo=()=>({time:0,x:createAxisInfo(),y:createAxisInfo()});const X={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}};function updateAxisInfo(e,t,n,o){const i=n[t];const{length:s,position:r}=X[t];const a=i.current;const c=n.time;i.current=e[\"scroll\"+r];i.scrollLength=e[\"scroll\"+s]-e[\"client\"+s];i.offset.length=0;i.offset[0]=0;i.offset[1]=i.scrollLength;i.progress=p(0,i.scrollLength,i.current);const l=o-c;i.velocity=l>Z?0:v(i.current-a,l)}function updateScrollInfo(e,t,n){updateAxisInfo(e,\"x\",t,n);updateAxisInfo(e,\"y\",t,n);t.time=n}function calcInset(e,t){let n={x:0,y:0};let o=e;while(o&&o!==t)if(o instanceof HTMLElement){n.x+=o.offsetLeft;n.y+=o.offsetTop;o=o.offsetParent}else if(o instanceof SVGGraphicsElement&&\"getBBox\"in o){const{top:e,left:t}=o.getBBox();n.x+=t;n.y+=e;while(o&&\"svg\"!==o.tagName)o=o.parentNode}return n}const Y={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]};const J={start:0,center:.5,end:1};function resolveEdge(e,t,n=0){let o=0;void 0!==J[e]&&(e=J[e]);if(g(e)){const t=parseFloat(e);e.endsWith(\"px\")?o=t:e.endsWith(\"%\")?e=t/100:e.endsWith(\"vw\")?o=t/100*document.documentElement.clientWidth:e.endsWith(\"vh\")?o=t/100*document.documentElement.clientHeight:e=t}r(e)&&(o=t*e);return n+o}const Q=[0,0];function resolveOffset(e,t,n,o){let i=Array.isArray(e)?e:Q;let s=0;let a=0;if(r(e))i=[e,e];else if(g(e)){e=e.trim();i=e.includes(\" \")?e.split(\" \"):[e,J[e]?e:\"0\"]}s=resolveEdge(i[0],n,o);a=resolveEdge(i[1],t);return s-a}const ee={x:0,y:0};function resolveOffsets(e,t,n){let{offset:o=Y.All}=n;const{target:i=e,axis:s=\"y\"}=n;const r=\"y\"===s?\"height\":\"width\";const a=i!==e?calcInset(i,e):ee;const c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:i.clientWidth,height:i.clientHeight};const l={width:e.clientWidth,height:e.clientHeight};t[s].offset.length=0;let f=!t[s].interpolate;const u=o.length;for(let e=0;e<u;e++){const n=resolveOffset(o[e],l[r],c[r],a[s]);f||n===t[s].interpolatorOffsets[e]||(f=true);t[s].offset[e]=n}if(f){t[s].interpolate=y(m(u),t[s].offset);t[s].interpolatorOffsets=[...t[s].offset]}t[s].progress=t[s].interpolate(t[s].current)}function measure(e,t=e,n){n.x.targetOffset=0;n.y.targetOffset=0;if(t!==e){let o=t;while(o&&o!=e){n.x.targetOffset+=o.offsetLeft;n.y.targetOffset+=o.offsetTop;o=o.offsetParent}}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth;n.y.targetLength=t===e?t.scrollHeight:t.clientHeight;n.x.containerLength=e.clientWidth;n.y.containerLength=e.clientHeight}function createOnScrollHandler(e,t,n,o={}){const i=o.axis||\"y\";return{measure:()=>measure(e,o.target,n),update:t=>{updateScrollInfo(e,n,t);(o.offset||o.target)&&resolveOffsets(e,n,o)},notify:\"function\"===typeof t?()=>t(n):scrubAnimation(t,n[i])}}function scrubAnimation(e,n){e.pause();e.forEachNative(((e,{easing:n})=>{var o,i;if(e.updateDuration){n||(e.easing=t);e.updateDuration(1)}else{const t={duration:1e3};n||(t.easing=\"linear\");null===(i=null===(o=e.effect)||void 0===o?void 0:o.updateTiming)||void 0===i?void 0:i.call(o,t)}}));return()=>{e.currentTime=n.progress}}const te=new WeakMap;const ne=new WeakMap;const oe=new WeakMap;const getEventTarget=e=>e===document.documentElement?window:e;function scroll(e,t={}){var{container:n=document.documentElement}=t,o=b(t,[\"container\"]);let i=oe.get(n);if(!i){i=new Set;oe.set(n,i)}const s=createScrollInfo();const r=createOnScrollHandler(n,e,s,o);i.add(r);if(!te.has(n)){const listener=()=>{const e=performance.now();for(const e of i)e.measure();for(const t of i)t.update(e);for(const e of i)e.notify()};te.set(n,listener);const e=getEventTarget(n);window.addEventListener(\"resize\",listener,{passive:true});n!==document.documentElement&&ne.set(n,resize(n,listener));e.addEventListener(\"scroll\",listener,{passive:true})}const a=te.get(n);const c=requestAnimationFrame(a);return()=>{var t;\"function\"!==typeof e&&e.stop();cancelAnimationFrame(c);const o=oe.get(n);if(!o)return;o.delete(r);if(o.size)return;const i=te.get(n);te.delete(n);if(i){getEventTarget(n).removeEventListener(\"scroll\",i);null===(t=ne.get(n))||void 0===t?void 0:t();window.removeEventListener(\"resize\",i)}}}function hasChanged(e,t){return typeof e!==typeof t||(Array.isArray(e)&&Array.isArray(t)?!shallowCompare(e,t):e!==t)}function shallowCompare(e,t){const n=t.length;if(n!==e.length)return false;for(let o=0;o<n;o++)if(t[o]!==e[o])return false;return true}function isVariant(e){return\"object\"===typeof e}function resolveVariant(e,t){return isVariant(e)?e:e&&t?t[e]:void 0}let ie;function processScheduledAnimations(){if(!ie)return;const e=ie.sort(compareByDepth).map(fireAnimateUpdates);e.forEach(fireNext);e.forEach(fireNext);ie=void 0}function scheduleAnimation(e){if(ie)n(ie,e);else{ie=[e];requestAnimationFrame(processScheduledAnimations)}}function unscheduleAnimation(e){ie&&f(ie,e)}const compareByDepth=(e,t)=>e.getDepth()-t.getDepth();const fireAnimateUpdates=e=>e.animateUpdates();const fireNext=e=>e.next();const motionEvent=(e,t)=>new CustomEvent(e,{detail:{target:t}});function dispatchPointerEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:n}}))}function dispatchViewEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:n}}))}const se={isActive:e=>Boolean(e.inView),subscribe:(e,{enable:t,disable:n},{inViewOptions:o={}})=>{const{once:i}=o,s=b(o,[\"once\"]);return inView$1(e,(o=>{t();dispatchViewEvent(e,\"viewenter\",o);if(!i)return t=>{n();dispatchViewEvent(e,\"viewleave\",t)}}),s)}};const mouseEvent=(e,t,n)=>o=>{if(!o.pointerType||\"mouse\"===o.pointerType){n();dispatchPointerEvent(e,t,o)}};const re={isActive:e=>Boolean(e.hover),subscribe:(e,{enable:t,disable:n})=>{const o=mouseEvent(e,\"hoverstart\",t);const i=mouseEvent(e,\"hoverend\",n);e.addEventListener(\"pointerenter\",o);e.addEventListener(\"pointerleave\",i);return()=>{e.removeEventListener(\"pointerenter\",o);e.removeEventListener(\"pointerleave\",i)}}};const ae={isActive:e=>Boolean(e.press),subscribe:(e,{enable:t,disable:n})=>{const onPointerUp=t=>{n();dispatchPointerEvent(e,\"pressend\",t);window.removeEventListener(\"pointerup\",onPointerUp)};const onPointerDown=n=>{t();dispatchPointerEvent(e,\"pressstart\",n);window.addEventListener(\"pointerup\",onPointerUp)};e.addEventListener(\"pointerdown\",onPointerDown);return()=>{e.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointerup\",onPointerUp)}}};const ce={inView:se,hover:re,press:ae};const le=[\"initial\",\"animate\",...Object.keys(ce),\"exit\"];const fe=new WeakMap;function createMotionState(e={},t){let n;let o=t?t.getDepth()+1:0;const i={initial:true,animate:true};const s={};const r={};for(const n of le)r[n]=\"string\"===typeof e[n]?e[n]:null===t||void 0===t?void 0:t.getContext()[n];const a=false===e.initial?\"animate\":\"initial\";let c=resolveVariant(e[a]||r[a],e.variants)||{},f=b(c,[\"transition\"]);const u=Object.assign({},f);function*animateUpdates(){var t,o;const s=f;f={};const r={};for(const n of le){if(!i[n])continue;const s=resolveVariant(e[n]);if(s)for(const n in s)if(\"transition\"!==n){f[n]=s[n];r[n]=getOptions(null!==(o=null!==(t=s.transition)&&void 0!==t?t:e.transition)&&void 0!==o?o:{},n)}}const a=new Set([...Object.keys(f),...Object.keys(s)]);const c=[];a.forEach((e=>{var t;void 0===f[e]&&(f[e]=u[e]);if(hasChanged(s[e],f[e])){null!==(t=u[e])&&void 0!==t?t:u[e]=H.get(n,e);c.push(animateStyle(n,e,f[e],r[e]))}}));yield;const d=c.map((e=>e())).filter(Boolean);if(!d.length)return;const g=f;n.dispatchEvent(motionEvent(\"motionstart\",g));Promise.all(d.map((e=>e.finished))).then((()=>{n.dispatchEvent(motionEvent(\"motioncomplete\",g))})).catch(l)}const setGesture=(e,t)=>()=>{i[e]=t;scheduleAnimation(d)};const updateGestureSubscriptions=()=>{for(const t in ce){const o=ce[t].isActive(e);const i=s[t];if(o&&!i)s[t]=ce[t].subscribe(n,{enable:setGesture(t,true),disable:setGesture(t,false)},e);else if(!o&&i){i();delete s[t]}}};const d={update:t=>{if(n){e=t;updateGestureSubscriptions();scheduleAnimation(d)}},setActive:(e,t)=>{if(n){i[e]=t;scheduleAnimation(d)}},animateUpdates:animateUpdates,getDepth:()=>o,getTarget:()=>f,getOptions:()=>e,getContext:()=>r,mount:e=>{S(Boolean(e),\"Animation state must be mounted with valid Element\");n=e;fe.set(n,d);updateGestureSubscriptions();return()=>{fe.delete(n);unscheduleAnimation(d);for(const e in s)s[e]()}},isMounted:()=>Boolean(n)};return d}function createStyles(e){const t={};const n=[];for(let o in e){const i=e[o];if(isTransform(o)){T[o]&&(o=T[o]);n.push(o);o=asTransformCssVar(o)}let s=Array.isArray(i)?i[0]:i;const a=k.get(o);a&&(s=r(i)?a.toDefaultUnit(i):i);t[o]=s}n.length&&(t.transform=buildTransformTemplate(n));return t}const camelLetterToPipeLetter=e=>`-${e.toLowerCase()}`;const camelToPipeCase=e=>e.replace(/[A-Z]/g,camelLetterToPipeLetter);function createStyleString(e={}){const t=createStyles(e);let n=\"\";for(const e in t){n+=e.startsWith(\"--\")?e:camelToPipeCase(e);n+=`: ${t[e]}; `}return n}export{Y as ScrollOffset,animate,animateStyle,createMotionState,createStyleString,createStyles,getAnimationData,getStyleName,F as glide,inView$1 as inView,fe as mountedStates,resize,scroll,N as spring,stagger,H as style,timeline,withControls};\n\n//# sourceMappingURL=index.es.js.map", "import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n  position: \"relative\",\n  width: \"100%\",\n  height: \"100%\",\n  display: \"flex\",\n  justifyContent: \"center\",\n  alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n  ...containerStyles,\n  borderRadius: 6,\n  background: \"rgba(136, 85, 255, 0.3)\",\n  color: \"#85F\",\n  border: \"1px dashed #85F\",\n  flexDirection: \"column\"\n};\nexport const defaultEvents = {\n  onClick: {\n    type: ControlType.EventHandler\n  },\n  onMouseEnter: {\n    type: ControlType.EventHandler\n  },\n  onMouseLeave: {\n    type: ControlType.EventHandler\n  }\n};\nexport const fontSizeOptions = {\n  type: ControlType.Number,\n  title: \"Font Size\",\n  min: 2,\n  max: 200,\n  step: 1,\n  displayStepper: true\n};\nexport const fontControls = {\n  font: {\n    type: ControlType.Boolean,\n    title: \"Font\",\n    defaultValue: false,\n    disabledTitle: \"Default\",\n    enabledTitle: \"Custom\"\n  },\n  fontFamily: {\n    type: ControlType.String,\n    title: \"Family\",\n    placeholder: \"Inter\",\n    hidden: ({\n      font\n    }) => !font\n  },\n  fontWeight: {\n    type: ControlType.Enum,\n    title: \"Weight\",\n    options: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n    optionTitles: [\"Thin\", \"Extra-light\", \"Light\", \"Regular\", \"Medium\", \"Semi-bold\", \"Bold\", \"Extra-bold\", \"Black\"],\n    hidden: ({\n      font\n    }) => !font\n  }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n  af: \"Afrikaans\",\n  sq: \"Albanian\",\n  an: \"Aragonese\",\n  ar: \"Arabic (Standard)\",\n  \"ar-dz\": \"Arabic (Algeria)\",\n  \"ar-bh\": \"Arabic (Bahrain)\",\n  \"ar-eg\": \"Arabic (Egypt)\",\n  \"ar-iq\": \"Arabic (Iraq)\",\n  \"ar-jo\": \"Arabic (Jordan)\",\n  \"ar-kw\": \"Arabic (Kuwait)\",\n  \"ar-lb\": \"Arabic (Lebanon)\",\n  \"ar-ly\": \"Arabic (Libya)\",\n  \"ar-ma\": \"Arabic (Morocco)\",\n  \"ar-om\": \"Arabic (Oman)\",\n  \"ar-qa\": \"Arabic (Qatar)\",\n  \"ar-sa\": \"Arabic (Saudi Arabia)\",\n  \"ar-sy\": \"Arabic (Syria)\",\n  \"ar-tn\": \"Arabic (Tunisia)\",\n  \"ar-ae\": \"Arabic (U.A.E.)\",\n  \"ar-ye\": \"Arabic (Yemen)\",\n  hy: \"Armenian\",\n  as: \"Assamese\",\n  ast: \"Asturian\",\n  az: \"Azerbaijani\",\n  eu: \"Basque\",\n  bg: \"Bulgarian\",\n  be: \"Belarusian\",\n  bn: \"Bengali\",\n  bs: \"Bosnian\",\n  br: \"Breton\",\n  my: \"Burmese\",\n  ca: \"Catalan\",\n  ch: \"Chamorro\",\n  ce: \"Chechen\",\n  zh: \"Chinese\",\n  \"zh-hk\": \"Chinese (Hong Kong)\",\n  \"zh-cn\": \"Chinese (PRC)\",\n  \"zh-sg\": \"Chinese (Singapore)\",\n  \"zh-tw\": \"Chinese (Taiwan)\",\n  cv: \"Chuvash\",\n  co: \"Corsican\",\n  cr: \"Cree\",\n  hr: \"Croatian\",\n  cs: \"Czech\",\n  da: \"Danish\",\n  nl: \"Dutch (Standard)\",\n  \"nl-be\": \"Dutch (Belgian)\",\n  en: \"English\",\n  \"en-au\": \"English (Australia)\",\n  \"en-bz\": \"English (Belize)\",\n  \"en-ca\": \"English (Canada)\",\n  \"en-ie\": \"English (Ireland)\",\n  \"en-jm\": \"English (Jamaica)\",\n  \"en-nz\": \"English (New Zealand)\",\n  \"en-ph\": \"English (Philippines)\",\n  \"en-za\": \"English (South Africa)\",\n  \"en-tt\": \"English (Trinidad & Tobago)\",\n  \"en-gb\": \"English (United Kingdom)\",\n  \"en-us\": \"English (United States)\",\n  \"en-zw\": \"English (Zimbabwe)\",\n  eo: \"Esperanto\",\n  et: \"Estonian\",\n  fo: \"Faeroese\",\n  fa: \"Farsi\",\n  fj: \"Fijian\",\n  fi: \"Finnish\",\n  fr: \"French (Standard)\",\n  \"fr-be\": \"French (Belgium)\",\n  \"fr-ca\": \"French (Canada)\",\n  \"fr-fr\": \"French (France)\",\n  \"fr-lu\": \"French (Luxembourg)\",\n  \"fr-mc\": \"French (Monaco)\",\n  \"fr-ch\": \"French (Switzerland)\",\n  fy: \"Frisian\",\n  fur: \"Friulian\",\n  gd: \"Gaelic (Scots)\",\n  \"gd-ie\": \"Gaelic (Irish)\",\n  gl: \"Galacian\",\n  ka: \"Georgian\",\n  de: \"German (Standard)\",\n  \"de-at\": \"German (Austria)\",\n  \"de-de\": \"German (Germany)\",\n  \"de-li\": \"German (Liechtenstein)\",\n  \"de-lu\": \"German (Luxembourg)\",\n  \"de-ch\": \"German (Switzerland)\",\n  el: \"Greek\",\n  gu: \"Gujurati\",\n  ht: \"Haitian\",\n  he: \"Hebrew\",\n  hi: \"Hindi\",\n  hu: \"Hungarian\",\n  is: \"Icelandic\",\n  id: \"Indonesian\",\n  iu: \"Inuktitut\",\n  ga: \"Irish\",\n  it: \"Italian (Standard)\",\n  \"it-ch\": \"Italian (Switzerland)\",\n  ja: \"Japanese\",\n  kn: \"Kannada\",\n  ks: \"Kashmiri\",\n  kk: \"Kazakh\",\n  km: \"Khmer\",\n  ky: \"Kirghiz\",\n  tlh: \"Klingon\",\n  ko: \"Korean\",\n  \"ko-kp\": \"Korean (North Korea)\",\n  \"ko-kr\": \"Korean (South Korea)\",\n  la: \"Latin\",\n  lv: \"Latvian\",\n  lt: \"Lithuanian\",\n  lb: \"Luxembourgish\",\n  mk: \"FYRO Macedonian\",\n  ms: \"Malay\",\n  ml: \"Malayalam\",\n  mt: \"Maltese\",\n  mi: \"Maori\",\n  mr: \"Marathi\",\n  mo: \"Moldavian\",\n  nv: \"Navajo\",\n  ng: \"Ndonga\",\n  ne: \"Nepali\",\n  no: \"Norwegian\",\n  nb: \"Norwegian (Bokmal)\",\n  nn: \"Norwegian (Nynorsk)\",\n  oc: \"Occitan\",\n  or: \"Oriya\",\n  om: \"Oromo\",\n  \"fa-ir\": \"Persian/Iran\",\n  pl: \"Polish\",\n  pt: \"Portuguese\",\n  \"pt-br\": \"Portuguese (Brazil)\",\n  pa: \"Punjabi\",\n  \"pa-in\": \"Punjabi (India)\",\n  \"pa-pk\": \"Punjabi (Pakistan)\",\n  qu: \"Quechua\",\n  rm: \"Rhaeto-Romanic\",\n  ro: \"Romanian\",\n  \"ro-mo\": \"Romanian (Moldavia)\",\n  ru: \"Russian\",\n  \"ru-mo\": \"Russian (Moldavia)\",\n  sz: \"Sami (Lappish)\",\n  sg: \"Sango\",\n  sa: \"Sanskrit\",\n  sc: \"Sardinian\",\n  sd: \"Sindhi\",\n  si: \"Singhalese\",\n  sr: \"Serbian\",\n  sk: \"Slovak\",\n  sl: \"Slovenian\",\n  so: \"Somani\",\n  sb: \"Sorbian\",\n  es: \"Spanish\",\n  \"es-ar\": \"Spanish (Argentina)\",\n  \"es-bo\": \"Spanish (Bolivia)\",\n  \"es-cl\": \"Spanish (Chile)\",\n  \"es-co\": \"Spanish (Colombia)\",\n  \"es-cr\": \"Spanish (Costa Rica)\",\n  \"es-do\": \"Spanish (Dominican Republic)\",\n  \"es-ec\": \"Spanish (Ecuador)\",\n  \"es-sv\": \"Spanish (El Salvador)\",\n  \"es-gt\": \"Spanish (Guatemala)\",\n  \"es-hn\": \"Spanish (Honduras)\",\n  \"es-mx\": \"Spanish (Mexico)\",\n  \"es-ni\": \"Spanish (Nicaragua)\",\n  \"es-pa\": \"Spanish (Panama)\",\n  \"es-py\": \"Spanish (Paraguay)\",\n  \"es-pe\": \"Spanish (Peru)\",\n  \"es-pr\": \"Spanish (Puerto Rico)\",\n  \"es-es\": \"Spanish (Spain)\",\n  \"es-uy\": \"Spanish (Uruguay)\",\n  \"es-ve\": \"Spanish (Venezuela)\",\n  sx: \"Sutu\",\n  sw: \"Swahili\",\n  sv: \"Swedish\",\n  \"sv-fi\": \"Swedish (Finland)\",\n  \"sv-sv\": \"Swedish (Sweden)\",\n  ta: \"Tamil\",\n  tt: \"Tatar\",\n  te: \"Teluga\",\n  th: \"Thai\",\n  tig: \"Tigre\",\n  ts: \"Tsonga\",\n  tn: \"Tswana\",\n  tr: \"Turkish\",\n  tk: \"Turkmen\",\n  uk: \"Ukrainian\",\n  hsb: \"Upper Sorbian\",\n  ur: \"Urdu\",\n  ve: \"Venda\",\n  vi: \"Vietnamese\",\n  vo: \"Volapuk\",\n  wa: \"Walloon\",\n  cy: \"Welsh\",\n  xh: \"Xhosa\",\n  ji: \"Yiddish\",\n  zu: \"Zulu\"\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"fontSizeOptions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fontControls\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"localeOptions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fontStack\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"emptyStateStyle\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"containerStyles\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultEvents\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./constants.map", "// @ts-ignore\nimport { fontStore } from \"framer\";\nimport { useEffect } from \"react\";\nimport { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nconst fontWeights = {\n  100: \"Thin\",\n  200: \"Extra-light\",\n  300: \"Light\",\n  400: \"Regular\",\n  500: \"Medium\",\n  600: \"Semi-bold\",\n  700: \"Bold\",\n  800: \"Extra-bold\",\n  900: \"Black\"\n};\nexport function useFontControls(props) {\n  const {\n    fontFamily = \"Inter\",\n    fontSize = 16,\n    fontWeight = 400,\n    font = false\n  } = props;\n  const fontWeightName = fontWeights[fontWeight];\n  const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;\n  const fontFamilyStyle = fontFamily ? {\n    fontSize,\n    fontWeight,\n    fontFamily: customFontStack\n  } : {\n    fontSize,\n    fontWeight\n  };\n  const fetchCustomFonts = async () => {\n    await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`, `CUSTOM;${fontFamily} ${fontWeightName}`, `GF;${fontFamily}-${fontWeightName.toLowerCase()}`]).catch(e => console.error(e));\n  };\n  useEffect(() => {\n    if (font) fetchCustomFonts();\n  }, [font, fontFamily, fontWeight]);\n  return fontFamilyStyle;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useFontControls\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useFontControls.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n  const {\n    borderRadius,\n    isMixedBorderRadius,\n    topLeftRadius,\n    topRightRadius,\n    bottomRightRadius,\n    bottomLeftRadius\n  } = props;\n  const radiusValue = useMemo(() => isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`, [borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius]);\n  return radiusValue;\n}\nexport const borderRadiusControl = {\n  borderRadius: {\n    title: \"Radius\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"isMixedBorderRadius\",\n    toggleTitles: [\"Radius\", \"Radius per corner\"],\n    valueKeys: [\"topLeftRadius\", \"topRightRadius\", \"bottomRightRadius\", \"bottomLeftRadius\"],\n    valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"],\n    min: 0\n  }\n};\nexport function usePadding(props) {\n  const {\n    padding,\n    paddingPerSide,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft\n  } = props;\n  const paddingValue = useMemo(() => paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding, [padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft]);\n  return paddingValue;\n}\nexport const paddingControl = {\n  padding: {\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0,\n    title: \"Padding\"\n  }\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"borderRadiusControl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useRadius\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RadiusProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"PaddingProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"usePadding\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"paddingControl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./propUtils.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType, RenderTarget, withCSS } from \"framer\";\nimport { motion } from \"framer-motion\";\nimport { containerStyles, usePadding, useRadius, paddingControl, borderRadiusControl, fontControls, useFontControls } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nimport { useCallback, useMemo, useState } from \"react\";\nconst emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nconst validateEmail = email => {\n  return emailRegex.test(String(email).toLowerCase());\n}; /**\n   * FORMSPARK\n   *\n   * @framerIntrinsicWidth 550\n   * @framerIntrinsicHeight 290\n   *\n   * @framerSupportedLayoutWidth fixed\n   * @framerSupportedLayoutHeight fixed\n   */\nconst FormSpark = withCSS(function FormSpark({\n  formId,\n  withName,\n  nameField: name,\n  withEmail,\n  email,\n  withMessage,\n  message,\n  layout,\n  inputs,\n  button,\n  style,\n  gap,\n  onSubmit,\n  ...props\n}) {\n  const [nameValue, setName] = useState(name === null || name === void 0 ? void 0 : name.value);\n  const [emailValue, setEmail] = useState(email === null || email === void 0 ? void 0 : email.value);\n  const [messageValue, setMessage] = useState(message === null || message === void 0 ? void 0 : message.value);\n  const [isNameError, setNameError] = useState(false);\n  const [isEmailError, setEmailError] = useState(false);\n  const [isMessageError, setMessageError] = useState(false);\n  const [isLoading, setLoading] = useState(false);\n  const [isSuccess, setSuccess] = useState(false);\n  const isCanvas = useMemo(() => {\n    return RenderTarget.current() === RenderTarget.canvas;\n  }, []);\n  const gridTemplateRows = useMemo(() => {\n    const rows = [];\n    if (withName || withMessage) {\n      rows.push(\"max-content\");\n    }\n    if (withMessage) {\n      rows.push(\"1fr\");\n    }\n    return [...rows, \"max-content\"].join(\" \");\n  }, [withName, withEmail, withMessage]);\n  const gridTemplateColumns = useMemo(() => {\n    const cols = [];\n    if ((withName && !withEmail || withEmail && !withName) && !withMessage && layout === \"horizontal\") {\n      return \"1fr max-content\";\n    }\n    return \"1fr\";\n  }, [withName, withEmail, withMessage, layout]);\n  const {\n    fontFamily,\n    fontSize,\n    fontWeight\n  } = useFontControls(props);\n  const borderRadius = useRadius(props);\n  const paddingValue = usePadding(props);\n  const validateForm = useCallback(() => {\n    let error = false;\n    setNameError(false);\n    setEmailError(false);\n    setMessageError(false);\n    if (withName && !nameValue) {\n      setNameError(true);\n      error = true;\n    }\n    if (withEmail && (!emailValue || !validateEmail(emailValue))) {\n      setEmailError(true);\n      error = true;\n    }\n    if (withMessage && !messageValue) {\n      setMessageError(true);\n      error = true;\n    }\n    return error;\n  }, [validateEmail, withName, withEmail, withMessage, nameValue, emailValue, messageValue]);\n  const handleSubmit = useCallback(event => {\n    setLoading(true);\n    event.preventDefault();\n    if (validateForm()) {\n      setLoading(false);\n    } else {\n      const data = new FormData(event.target);\n      const entries = Object.fromEntries(data.entries());\n      fetch(`https://submit-form.com/${formId}`, {\n        method: \"POST\",\n        headers: {\n          \"Content-Type\": \"application/json\",\n          Accept: \"application/json\"\n        },\n        body: JSON.stringify(entries)\n      }).then(() => {\n        setSuccess(true);\n        onSubmit();\n      }).catch(() => setLoading(false));\n    }\n  }, [formId, onSubmit, validateForm]);\n  const handleNameChange = useCallback(event => {\n    setNameError(false);\n    setName(event.target.value);\n  }, []);\n  const handleEmailChange = useCallback(event => {\n    setEmailError(false);\n    setEmail(event.target.value);\n  }, []);\n  const handleMessageChange = useCallback(event => {\n    setMessageError(false);\n    setMessage(event.target.value);\n  }, []);\n  return /*#__PURE__*/_jsx(motion.div, {\n    style: {\n      ...style,\n      ...containerStyles,\n      flexDirection: \"column\",\n      \"--framer-formspark-placeholder-color\": inputs.placeholderColor\n    },\n    children: isSuccess ? /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        height: \"60px\",\n        width: \"60px\",\n        background: button.fill,\n        color: button.color,\n        borderRadius: \"50%\",\n        display: \"flex\",\n        justifyContent: \"center\",\n        alignItems: \"center\"\n      },\n      initial: {\n        scale: 0\n      },\n      animate: {\n        scale: 1\n      },\n      transition: {\n        duration: 0.3\n      },\n      children: /*#__PURE__*/_jsx(\"svg\", {\n        xmlns: \"http://www.w3.org/2000/svg\",\n        width: \"28\",\n        height: \"28\",\n        children: /*#__PURE__*/_jsx(\"path\", {\n          d: \"M 2 14 L 10 22 L 26 6\",\n          fill: \"transparent\",\n          strokeWidth: \"4\",\n          stroke: \"currentColor\",\n          strokeLinecap: \"round\"\n        })\n      })\n    }) : /*#__PURE__*/_jsxs(\"form\", {\n      style: {\n        display: \"grid\",\n        gridTemplateRows,\n        gridTemplateColumns,\n        gap,\n        width: \"100%\",\n        height: \"100%\"\n      },\n      onSubmit: handleSubmit,\n      method: \"POST\",\n      children: [(withName || withEmail) && /*#__PURE__*/_jsxs(\"div\", {\n        style: {\n          width: \"100%\",\n          display: \"grid\",\n          gridAutoFlow: layout === \"horizontal\" ? \"column\" : \"row\",\n          gap\n        },\n        children: [withName && /*#__PURE__*/_jsx(\"input\", {\n          className: \"framer-formspark-input\",\n          type: \"text\",\n          name: \"name\",\n          placeholder: name.placeholder,\n          value: isCanvas ? name.value : nameValue,\n          onChange: handleNameChange,\n          style: {\n            ...defaultStyle,\n            padding: paddingValue,\n            borderRadius,\n            fontFamily,\n            fontWeight,\n            fontSize,\n            background: inputs.fill,\n            color: inputs.color,\n            boxShadow: `inset 0 0 0 1px ${isNameError ? inputs.error : \"transparent\"}`\n          }\n        }), withEmail && /*#__PURE__*/_jsx(\"input\", {\n          className: \"framer-formspark-input\",\n          type: \"email\",\n          name: \"email\",\n          placeholder: email.placeholder,\n          value: isCanvas ? email.value : emailValue,\n          onChange: handleEmailChange,\n          style: {\n            ...defaultStyle,\n            padding: paddingValue,\n            borderRadius,\n            fontFamily,\n            fontWeight,\n            fontSize,\n            background: inputs.fill,\n            color: inputs.color,\n            boxShadow: `inset 0 0 0 1px ${isEmailError ? inputs.error : \"transparent\"}`\n          }\n        })]\n      }), withMessage && /*#__PURE__*/_jsx(\"textarea\", {\n        className: \"framer-formspark-input\",\n        placeholder: message.placeholder,\n        name: \"message\",\n        value: isCanvas ? message.value : messageValue,\n        onChange: handleMessageChange,\n        style: {\n          ...defaultStyle,\n          minHeight: 0,\n          padding: paddingValue,\n          resize: \"vertical\",\n          borderRadius,\n          background: inputs.fill,\n          fontFamily,\n          fontWeight,\n          fontSize,\n          color: inputs.color,\n          boxShadow: `inset 0 0 0 1px ${isMessageError ? inputs.error : \"transparent\"}`\n        }\n      }), /*#__PURE__*/_jsxs(\"div\", {\n        children: [/*#__PURE__*/_jsx(motion.input, {\n          type: \"submit\",\n          value: button.label,\n          style: {\n            ...defaultStyle,\n            borderRadius,\n            padding: paddingValue,\n            fontFamily,\n            fontWeight: button.fontWeight,\n            fontSize,\n            background: button.fill,\n            cursor: \"pointer\",\n            color: button.color,\n            zIndex: 1\n          },\n          transition: {\n            type: \"ease\",\n            duration: 0.3\n          },\n          whileHover: {\n            opacity: 0.8\n          }\n        }), isLoading && /*#__PURE__*/_jsx(\"div\", {\n          style: {\n            borderRadius,\n            position: \"absolute\",\n            display: \"flex\",\n            justifyContent: \"center\",\n            alignItems: \"center\",\n            width: \"100%\",\n            height: \"100%\",\n            left: 0,\n            top: 0,\n            zIndex: 2,\n            color: button.color,\n            background: button.fill\n          },\n          children: /*#__PURE__*/_jsx(motion.div, {\n            style: {\n              height: 16,\n              width: 16\n            },\n            initial: {\n              rotate: 0\n            },\n            animate: {\n              rotate: 360\n            },\n            transition: {\n              duration: 2,\n              repeat: Infinity\n            },\n            children: /*#__PURE__*/_jsxs(\"svg\", {\n              xmlns: \"http://www.w3.org/2000/svg\",\n              width: \"16\",\n              height: \"16\",\n              children: [/*#__PURE__*/_jsx(\"path\", {\n                d: \"M 8 0 C 3.582 0 0 3.582 0 8 C 0 12.419 3.582 16 8 16 C 12.418 16 16 12.419 16 8 C 15.999 3.582 12.418 0 8 0 Z M 8 14 C 4.687 14 2 11.314 2 8 C 2 4.687 4.687 2 8 2 C 11.314 2 14 4.687 14 8 C 14 11.314 11.314 14 8 14 Z\",\n                fill: \"currentColor\",\n                opacity: \"0.2\"\n              }), /*#__PURE__*/_jsx(\"path\", {\n                d: \"M 8 0 C 12.418 0 15.999 3.582 16 8 C 16 8 16 9 15 9 C 14 9 14 8 14 8 C 14 4.687 11.314 2 8 2 C 4.687 2 2 4.687 2 8 C 2 8 2 9 1 9 C 0 9 0 8 0 8 C 0 3.582 3.582 0 8 0 Z\",\n                fill: \"currentColor\"\n              })]\n            })\n          })\n        })]\n      })]\n    })\n  });\n}, [\".framer-formspark-input::placeholder { color: var(--framer-formspark-placeholder-color) !important; }\"]);\nFormSpark.defaultProps = {\n  fontSize: 16,\n  fontFamily: \"Inter\",\n  fontWeight: 400,\n  padding: 15,\n  paddingTop: 15,\n  paddingBottom: 15,\n  paddingLeft: 15,\n  paddingRight: 15,\n  borderRadius: 8,\n  topLeftRadius: 8,\n  topRightRadius: 8,\n  bottomRightRadius: 8,\n  bottomLeftRadius: 8,\n  gap: 15,\n  nameField: {\n    value: undefined,\n    placeholder: \"Name\"\n  },\n  email: {\n    value: undefined,\n    placeholder: \"Email\"\n  },\n  message: {\n    value: undefined,\n    placeholder: \"Message\"\n  },\n  inputs: {\n    fill: \"#EBEBEB\",\n    color: \"#000\",\n    placeholderColor: \"rgba(0, 0, 0, 0.5)\",\n    error: \"#EE4444\"\n  },\n  layout: {\n    fill: \"#EBEBEB\",\n    color: \"#000\",\n    placeholderColor: \"rgba(0, 0, 0, 0.5)\",\n    error: \"#EE4444\"\n  },\n  button: {\n    label: \"Sign Up\",\n    fontWeight: 600,\n    fill: \"#000\",\n    color: \"#FFF\"\n  }\n};\naddPropertyControls(FormSpark, {\n  formId: {\n    title: \"ID\",\n    placeholder: \"7PbPpGN3\",\n    type: ControlType.String,\n    description: \"Create a [FormSpark](https://formspark.io/) account, add a new form and copy its ID. [Learn more\u2026](https://www.framer.com/sites/integrations/formspark/)\"\n  },\n  withName: {\n    title: \"Name\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\",\n    defaultValue: true\n  },\n  nameField: {\n    title: \" \",\n    type: ControlType.Object,\n    controls: {\n      placeholder: {\n        title: \"Placeholder\",\n        type: ControlType.String,\n        defaultValue: \"Name\"\n      },\n      value: {\n        title: \"Value\",\n        type: ControlType.String,\n        defaultValue: \"\"\n      }\n    },\n    hidden: props => !props.withName\n  },\n  withEmail: {\n    title: \"Email\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\",\n    defaultValue: true\n  },\n  email: {\n    title: \" \",\n    type: ControlType.Object,\n    controls: {\n      placeholder: {\n        title: \"Placeholder\",\n        type: ControlType.String,\n        defaultValue: \"Email\"\n      },\n      value: {\n        title: \"Value\",\n        type: ControlType.String\n      }\n    },\n    hidden: props => !props.withEmail\n  },\n  withMessage: {\n    title: \"Message\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\",\n    defaultValue: true\n  },\n  message: {\n    title: \" \",\n    type: ControlType.Object,\n    controls: {\n      placeholder: {\n        title: \"Placeholder\",\n        type: ControlType.String,\n        defaultValue: \"Message\"\n      },\n      value: {\n        title: \"Value\",\n        type: ControlType.String\n      }\n    },\n    hidden: props => !props.withMessage\n  },\n  layout: {\n    title: \"Layout\",\n    type: ControlType.Enum,\n    options: [\"horizontal\", \"vertical\"],\n    displaySegmentedControl: true,\n    defaultValue: \"horizontal\"\n  },\n  inputs: {\n    title: \"Inputs\",\n    type: ControlType.Object,\n    controls: {\n      fill: {\n        title: \"Fill\",\n        type: ControlType.Color,\n        defaultValue: \"#EBEBEB\"\n      },\n      color: {\n        title: \"Text\",\n        type: ControlType.Color,\n        defaultValue: \"#000\"\n      },\n      placeholderColor: {\n        title: \"Placeholder\",\n        type: ControlType.Color,\n        defaultValue: \"rgba(0, 0, 0, 0.5)\"\n      },\n      error: {\n        title: \"Error\",\n        type: ControlType.Color,\n        defaultValue: \"#EE4444\"\n      }\n    }\n  },\n  button: {\n    title: \"Button\",\n    type: ControlType.Object,\n    controls: {\n      label: {\n        title: \"Label\",\n        type: ControlType.String,\n        defaultValue: \"Sign Up\"\n      },\n      fontWeight: {\n        ...fontControls.fontWeight,\n        defaultValue: 600\n      },\n      fill: {\n        title: \"Fill\",\n        type: ControlType.Color,\n        defaultValue: \"#000\"\n      },\n      color: {\n        title: \"Text\",\n        type: ControlType.Color,\n        defaultValue: \"#FFF\"\n      }\n    }\n  },\n  ...fontControls,\n  fontSize: {\n    title: \"Font Size\",\n    type: ControlType.Number,\n    displayStepper: true,\n    defaultValue: 16\n  },\n  ...paddingControl,\n  ...borderRadiusControl,\n  gap: {\n    title: \"Gap\",\n    type: ControlType.Number,\n    displayStepper: true,\n    min: 0\n  },\n  onSubmit: {\n    type: ControlType.EventHandler\n  }\n});\nconst defaultStyle = {\n  WebkitAppearance: \"none\",\n  display: \"inline-block\",\n  width: \"100%\",\n  lineHeight: \"1.4em\",\n  outline: \"none\",\n  border: \"none\"\n};\nexport default FormSpark;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FormSpark\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerIntrinsicHeight\": \"290\",\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicWidth\": \"550\",\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./FormSpark.map", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map", "let e;var f=r=>{if(!e){let o=function(t,n){return r.createElement(\"svg\",{width:\"100%\",height:\"1.5em\",strokeWidth:1.5,viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",color:\"currentColor\",ref:n,...t},r.createElement(\"path\",{d:\"M3 9.5L12 4l9 5.5M19 13v6.4a.6.6 0 01-.6.6H5.6a.6.6 0 01-.6-.6V13\",stroke:\"currentColor\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}))};e=r.forwardRef(o)}return e};export{f as default};\n", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\"; /*\n                                      ** ICON UTILS\n                                      ** Pull as much re-usable logic into here as possible\n                                      ** This will make it easier to replace in all icon components\n                                      */\nexport const containerStyles = {\n  width: \"100%\",\n  height: \"100%\",\n  display: \"flex\",\n  justifyContent: \"center\",\n  alignItems: \"center\"\n};\nexport const defaultEvents = {\n  onClick: {\n    type: ControlType.EventHandler\n  },\n  onMouseDown: {\n    type: ControlType.EventHandler\n  },\n  onMouseUp: {\n    type: ControlType.EventHandler\n  },\n  onMouseEnter: {\n    type: ControlType.EventHandler\n  },\n  onMouseLeave: {\n    type: ControlType.EventHandler\n  }\n};\nconst findByArray = (arr, search) => arr.find(a => a.toLowerCase().includes(search));\nexport function getIconSelection(iconKeys, selectByList, iconSearch = \"\", iconSelection, lowercaseIconKeyPairs) {\n  // gotta get the exact match first THEN find\n  // have a set and try to access ?\n  if (selectByList) return iconSelection;\n  if (iconSearch == null || (iconSearch === null || iconSearch === void 0 ? void 0 : iconSearch.length) === 0) return null;\n  const iconSearchTerm = iconSearch.toLowerCase().replace(/-|\\s/g, \"\");\n  var _iconSearchTerm; // check for exact match, otherwise use .find\n  const searchResult = (_iconSearchTerm = lowercaseIconKeyPairs[iconSearchTerm]) !== null && _iconSearchTerm !== void 0 ? _iconSearchTerm : findByArray(iconKeys, iconSearchTerm);\n  return searchResult;\n}\nexport function useIconSelection(iconKeys, selectByList, iconSearch = \"\", iconSelection, lowercaseIconKeyPairs) {\n  // Clean search term\n  const iconSearchResult = useMemo(() => {\n    if (iconSearch == null || (iconSearch === null || iconSearch === void 0 ? void 0 : iconSearch.length) === 0) return null;\n    const iconSearchTerm = iconSearch.toLowerCase().replace(/-|\\s/g, \"\");\n    var _iconSearchTerm; // check for exact match, otherwise use .find\n    const searchResult = (_iconSearchTerm = lowercaseIconKeyPairs[iconSearchTerm]) !== null && _iconSearchTerm !== void 0 ? _iconSearchTerm : findByArray(iconKeys, iconSearchTerm);\n    return searchResult;\n  }, [iconSelection, iconSearch]);\n  const name = selectByList ? iconSelection : iconSearchResult;\n  return name;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"getIconSelection\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"containerStyles\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useIconSelection\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultEvents\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./utils.map", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { useState, useEffect, useRef } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { NullState } from \"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";\nimport HomeFactory from \"https://framer.com/m/iconoir-icons/Home.js@0.0.11\";\nimport { defaultEvents, useIconSelection } from \"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";\nexport const iconKeys = [\"Accessibility\", \"AccessibilitySign\", \"AccessibilityTech\", \"Activity\", \"AddCircledOutline\", \"AddDatabaseScript\", \"AddFolder\", \"AddFrame\", \"AddHexagon\", \"AddKeyframe\", \"AddKeyframeAlt\", \"AddKeyframes\", \"AddLens\", \"AddPage\", \"AddPinAlt\", \"AddSelection\", \"AddSquare\", \"AddToCart\", \"AddUser\", \"Airplane\", \"AirplaneHelix\", \"AirplaneHelix45Deg\", \"AirplaneOff\", \"AirplaneRotation\", \"Airplay\", \"Alarm\", \"Album\", \"AlbumCarousel\", \"AlbumList\", \"AlbumOpen\", \"AlignBottomBox\", \"AlignCenter\", \"AlignJustify\", \"AlignLeft\", \"AlignLeftBox\", \"AlignRight\", \"AlignRightBox\", \"AlignTopBox\", \"Antenna\", \"AntennaOff\", \"AntennaSignal\", \"AppNotification\", \"Apple\", \"AppleHalf\", \"AppleHalfAlt\", \"AppleImac2021\", \"AppleImac2021Side\", \"AppleSwift\", \"ArSymbol\", \"Archery\", \"Archive\", \"AreaSearch\", \"ArrowArchery\", \"ArrowDown\", \"ArrowDownCircled\", \"ArrowLeft\", \"ArrowLeftCircled\", \"ArrowRight\", \"ArrowRightCircled\", \"ArrowSeparate\", \"ArrowUnion\", \"ArrowUnionVertical\", \"ArrowUp\", \"ArrowUpCircled\", \"Asana\", \"Attachment\", \"AutoFlash\", \"Bag\", \"BasketBall\", \"BasketBallAlt\", \"BasketballField\", \"Battery25\", \"Battery50\", \"Battery75\", \"BatteryCharging\", \"BatteryEmpty\", \"BatteryFull\", \"BatteryIndicator\", \"BatteryWarning\", \"BeachBag\", \"BeachBagBig\", \"Bell\", \"BellNotification\", \"BellOff\", \"Bicycle\", \"Bin\", \"BinAdd\", \"BinFull\", \"BinHalf\", \"BinMinus\", \"Bluetooth\", \"Bold\", \"BoldSquareOutline\", \"BookmarkCircled\", \"BookmarkEmpty\", \"BorderBl\", \"BorderBottom\", \"BorderBr\", \"BorderInner\", \"BorderLeft\", \"BorderOut\", \"BorderRight\", \"BorderTl\", \"BorderTop\", \"BorderTr\", \"BounceLeft\", \"BounceRight\", \"BowlingBall\", \"Box\", \"BoxIso\", \"BoxingGlove\", \"BubbleDownload\", \"BubbleError\", \"BubbleIncome\", \"BubbleOutcome\", \"BubbleSearch\", \"BubbleStar\", \"BubbleUpload\", \"BubbleWarning\", \"Building\", \"BusOutline\", \"BusStop\", \"Calculator\", \"Calendar\", \"Camera\", \"Cancel\", \"CarOutline\", \"Cart\", \"CartAlt\", \"Cash\", \"Cell4X4\", \"CenterAlign\", \"ChatAdd\", \"ChatBubble\", \"ChatBubbleCheck\", \"ChatBubbleCheck1\", \"ChatBubbleEmpty\", \"ChatBubbleError\", \"ChatBubbleQuestion\", \"ChatBubbleTranslate\", \"ChatBubbleWarning\", \"ChatLines\", \"ChatRemove\", \"Check\", \"CheckCircledOutline\", \"Chocolate\", \"Chromecast\", \"ChromecastActive\", \"Church\", \"ChurchAlt\", \"CinemaOld\", \"Circle\", \"City\", \"ClockOutline\", \"Closet\", \"Cloud\", \"CloudBookAlt\", \"CloudCheck\", \"CloudDesync\", \"CloudDownload\", \"CloudError\", \"CloudSunny\", \"CloudSync\", \"CloudUpload\", \"Code\", \"Codepen\", \"Coin\", \"CollageFrame\", \"Collapse\", \"ColorFilter\", \"ColorPicker\", \"ColorPickerEmpty\", \"Combine\", \"CompactDisc\", \"Compress\", \"CompressLines\", \"Computer\", \"ControlSlider\", \"Copy\", \"Copyright\", \"CornerBottomLeft\", \"CornerBottomRight\", \"CornerTopLeft\", \"CornerTopRight\", \"Cpu\", \"CpuWarning\", \"CrackedEgg\", \"CreativeCommons\", \"CreditCard\", \"CreditCard2\", \"Crop\", \"CropRotateBl\", \"CropRotateBr\", \"CropRotateTl\", \"CropRotateTr\", \"Css3\", \"CursorPointer\", \"Cut\", \"CutAlt\", \"Cycling\", \"DashFlag\", \"Dashboard\", \"DashboardDots\", \"DashboardSpeed\", \"DataTransferBoth\", \"DataTransferCheck\", \"DataTransferDown\", \"DataTransferUp\", \"DataTransferWarning\", \"DatabaseBackup\", \"DatabaseExport\", \"DatabaseMonitor\", \"DatabaseRestore\", \"DatabaseScript\", \"DatabaseSettings\", \"DatabaseStar\", \"DatabaseStats\", \"Db\", \"DbCheck\", \"DbError\", \"DbSearch\", \"DbStar\", \"DbWarning\", \"DeCompress\", \"DeleteCircledOutline\", \"DesignPencil\", \"Dialpad\", \"Display4K\", \"DivideSelection1\", \"DivideSelection2\", \"DocSearch\", \"DocSearchAlt\", \"DocStar\", \"DocStarAlt\", \"Dollar\", \"DomoticIssue\", \"Donate\", \"DoubleCheck\", \"DownRoundArrow\", \"Download\", \"DragHandGesture\", \"Drawer\", \"Dribbble\", \"Droplet\", \"DropletHalf\", \"EaseIn\", \"EaseInControlPoint\", \"EaseInOut\", \"EaseOut\", \"EaseOutControlPoint\", \"Edit\", \"EditPencil\", \"Egg\", \"Eject\", \"ElectronicsChip\", \"Emoji\", \"EmojiBall\", \"EmojiBlinkLeft\", \"EmojiBlinkRight\", \"EmojiLookBottom\", \"EmojiLookLeft\", \"EmojiLookRight\", \"EmojiLookTop\", \"EmojiQuite\", \"EmojiReally\", \"EmojiSad\", \"EmojiSatisfied\", \"EmojiSingLeft\", \"EmojiSingLeftNote\", \"EmojiSingRight\", \"EmojiSingRightNote\", \"EmojiSurprise\", \"EmojiSurpriseAlt\", \"EmojiTalkingAngry\", \"EmojiTalkingHappy\", \"EmojiThinkLeft\", \"EmojiThinkRight\", \"EmptyPage\", \"Enlarge\", \"EnlargeRoundArrow\", \"Euro\", \"EuroSquare\", \"EvCharge\", \"EvChargeAlt\", \"EvPlug\", \"EvPlugCharging\", \"EvPlugError\", \"EvStation\", \"Exclude\", \"Expand\", \"ExpandLines\", \"EyeAlt\", \"EyeClose\", \"EyeEmpty\", \"EyeOff\", \"FaceId\", \"Facebook\", \"FacebookSquared\", \"Farm\", \"FastArrowDown\", \"FastArrowDownBox\", \"FastArrowLeft\", \"FastArrowLeftBox\", \"FastArrowRight\", \"FastArrowRightBox\", \"FastArrowTop\", \"FastArrowUpBox\", \"FastBottomCircle\", \"FastLeftCircle\", \"FastRightCircle\", \"FastTopCircle\", \"Female\", \"Figma\", \"FileNotFound\", \"Filter\", \"FilterAlt\", \"Finder\", \"Fingerprint\", \"FingerprintCircled\", \"FingerprintCircledOk\", \"FingerprintPhone\", \"FingerprintScan\", \"FingerprintSquared\", \"Fishing\", \"Flare\", \"Flash\", \"FlashOff\", \"Flip\", \"FlipReverse\", \"Flower\", \"Fog\", \"Folder\", \"FolderAlert\", \"FontSize\", \"Football\", \"FootballBall\", \"ForwardOutline\", \"Frame\", \"FrameAlt\", \"FrameAltEmpty\", \"FrameSelect\", \"FrameSimple\", \"FrameTool\", \"Fridge\", \"Fx\", \"Garage\", \"Gas\", \"GasTank\", \"GasTankDrop\", \"Gift\", \"GitBranch\", \"GitCommit\", \"GitHub\", \"GitHubOutline\", \"GitLabFull\", \"GitMerge\", \"GlassEmpty\", \"GlassHalf\", \"GlassHalfAlt\", \"Glasses\", \"Golf\", \"Google\", \"GoogleCircled\", \"GoogleDocs\", \"GoogleDrive\", \"GoogleDriveCheck\", \"GoogleDriveSync\", \"GoogleDriveWarning\", \"GoogleHome\", \"GoogleOne\", \"Gps\", \"GraphDown\", \"GraphUp\", \"GridAdd\", \"GridMinus\", \"GridRemove\", \"Group\", \"Gym\", \"HalfMoon\", \"HandBrake\", \"Handbag\", \"HardDrive\", \"Hat\", \"Hd\", \"Hdr\", \"Headset\", \"HeadsetCharge\", \"HeadsetHelp\", \"HeadsetIssue\", \"HealthShield\", \"Healthcare\", \"Heart\", \"HeavyRain\", \"Heptagon\", \"HerSlips\", \"HesaWarningOutline\", \"Hexagon\", \"HexagonAlt\", \"HighPriority\", \"HistoricShield\", \"HistoricShieldAlt\", \"Home\", \"HomeAlt\", \"HomeAltSlim\", \"HomeAltSlimHoriz\", \"HomeHospital\", \"HomeSimple\", \"HomeSimpleDoor\", \"HomeUser\", \"Hospital\", \"HospitalSign\", \"Hourglass\", \"Html5\", \"Iconoir\", \"Import\", \"Industry\", \"InfoEmpty\", \"InputField\", \"InputSearch\", \"Instagram\", \"Intersect\", \"IntersectAlt\", \"IosSettings\", \"IrisScan\", \"Italic\", \"ItalicSquareOutline\", \"Journal\", \"JournalPage\", \"KeyAlt\", \"KeyAltBack\", \"KeyAltMinus\", \"KeyAltPlus\", \"KeyAltRemove\", \"Keyframe\", \"KeyframeAlignCenter\", \"KeyframePosition\", \"Keyframes\", \"KeyframesCouple\", \"LabelOutline\", \"Lamp\", \"Language\", \"Laptop\", \"LaptopCharging\", \"LaptopFix\", \"LaptopIssue\", \"LargeSuitcase\", \"LayoutLeft\", \"LayoutRight\", \"Leaderboard\", \"LeaderboardStar\", \"LeftRoundArrow\", \"Lens\", \"Lifebelt\", \"LightBulb\", \"LightBulbOff\", \"LightBulbOn\", \"LineSpace\", \"Linear\", \"Link\", \"LinkedIn\", \"List\", \"LoadActionFloppy\", \"Lock\", \"LockKey\", \"LogDenied\", \"LogIn\", \"LogOut\", \"LongArrowDownLeft\", \"LongArrowDownRight\", \"LongArrowLeftDown\", \"LongArrowLeftUp\", \"LongArrowRightDown\", \"LongArrowRightUp\", \"LongArrowRightUp1\", \"LongArrowUpLeft\", \"LongArrowUpRight\", \"LotOfCash\", \"MacControlKey\", \"MacDock\", \"MacOptionKey\", \"MacOsWindow\", \"Mail\", \"MailOpened\", \"Male\", \"Map\", \"MapIssue\", \"MapsArrow\", \"MapsArrowDiagonal\", \"MapsArrowIssue\", \"MapsGoStraight\", \"MapsTurnBack\", \"MapsTurnLeft\", \"MapsTurnRight\", \"MaskSquare\", \"Maximize\", \"Medal\", \"Medal1St\", \"Medium\", \"Megaphone\", \"Menu\", \"MenuScale\", \"Message\", \"MessageAlert\", \"MessageText\", \"Metro\", \"Mic\", \"MicAdd\", \"MicCheck\", \"MicMute\", \"MicRemove\", \"MicSpeaking\", \"MicWarning\", \"Minus\", \"Minus1\", \"MinusHexagon\", \"MinusPinAlt\", \"MinusSquare\", \"MissingFont\", \"ModernTv\", \"ModernTv4K\", \"MoneySquare\", \"MoonSat\", \"MoreHoriz\", \"MoreVert\", \"MouseButtonLeft\", \"MouseButtonRight\", \"MouseScrollWheel\", \"MoveDown\", \"MoveLeft\", \"MoveRight\", \"MoveRuler\", \"MoveUp\", \"Movie\", \"MultiBubble\", \"MultiMacOsWindow\", \"MultiWindow\", \"MultiplePages\", \"MultiplePagesAdd\", \"MultiplePagesDelete\", \"MultiplePagesEmpty\", \"MultiplePagesRemove\", \"Music1\", \"Music1Add\", \"Music2\", \"Music2Add\", \"NavArrowDown\", \"NavArrowLeft\", \"NavArrowRight\", \"NavArrowUp\", \"Navigator\", \"NavigatorAlt\", \"Network\", \"NetworkAlt\", \"NetworkLeft\", \"NetworkRight\", \"NoBattery\", \"NoCoin\", \"NoCreditCard\", \"NoLock\", \"NoSmoking\", \"Notes\", \"Octagon\", \"OilIndustry\", \"OpenInBrowser\", \"OpenInWindow\", \"OpenVpn\", \"OrangeHalf\", \"OrangeSlice\", \"OrangeSliceAlt\", \"Page\", \"PageFlip\", \"PageSearch\", \"PageStar\", \"Palette\", \"PanoramaEnlarge\", \"PanoramaReduce\", \"Pants\", \"PantsAlt\", \"PasswordCursor\", \"PasswordError\", \"PasswordPass\", \"PauseOutline\", \"PcMouse\", \"PenConnectBluetooth\", \"PenConnectWifi\", \"PenTablet\", \"PenTabletConnectUsb\", \"PenTabletConnectWifi\", \"Pentagon\", \"Percentage\", \"PercentageRound\", \"PercentageSquare\", \"PharmacyCircledCross\", \"PharmacySquaredCross\", \"Phone\", \"PhoneAdd\", \"PhoneDelete\", \"PhoneDisabled\", \"PhoneIncome\", \"PhoneOutcome\", \"PhonePaused\", \"PhoneRemove\", \"Pin\", \"PinAlt\", \"PizzaSlice\", \"Planet\", \"PlanetAlt\", \"PlanetSat\", \"PlayOutline\", \"Playlist\", \"PlaylistAdd\", \"PlaylistPlay\", \"PlugTypeA\", \"PlugTypeC\", \"PlugTypeG\", \"PlugTypeL\", \"Plus\", \"Pocket\", \"Position\", \"PositionAlign\", \"Pound\", \"PrecisionTool\", \"Printer\", \"PrinterAlt\", \"PrintingPage\", \"PriorityDown\", \"PriorityUp\", \"ProfileCircled\", \"Prohibition\", \"QuestionMark\", \"QuestionMarkCircle\", \"Rain\", \"ReceiveDollars\", \"ReceiveEuros\", \"ReceivePounds\", \"ReceiveYens\", \"Redo\", \"RedoAction\", \"RedoCircle\", \"Reduce\", \"ReduceRoundArrow\", \"Refresh\", \"RefreshCircular\", \"RefreshDouble\", \"ReminderHandGesture\", \"RemoveDatabaseScript\", \"RemoveEmpty\", \"RemoveFolder\", \"RemoveFrame\", \"RemoveFromCart\", \"RemoveKeyframe\", \"RemoveKeyframeAlt\", \"RemoveKeyframes\", \"RemovePage\", \"RemovePinAlt\", \"RemoveSelection\", \"RemoveSquare\", \"RemoveUser\", \"Repeat\", \"RepeatOnce\", \"ReportColumns\", \"Reports\", \"RewindOutline\", \"Rhombus\", \"RightRoundArrow\", \"Rings\", \"RotateCameraLeft\", \"RotateCameraRight\", \"RssFeed\", \"RssFeedSquared\", \"Ruler\", \"RulerAdd\", \"RulerCombine\", \"RulerRemove\", \"Running\", \"Sandals\", \"SaveActionFloppy\", \"SaveFloppyDisk\", \"ScaleFrameEnlarge\", \"ScaleFrameReduce\", \"Scanning\", \"Scarf\", \"Scissor\", \"ScissorAlt\", \"SeaAndSun\", \"SeaWaves\", \"Search\", \"SearchFont\", \"SecurityPass\", \"Selection\", \"SelectiveTool\", \"SendDollars\", \"SendEuros\", \"SendPounds\", \"SendYens\", \"Server\", \"ServerConnection\", \"Settings\", \"SettingsCloud\", \"SettingsProfiles\", \"ShareAndroid\", \"ShareIos\", \"Shield\", \"ShieldAdd\", \"ShieldAlert\", \"ShieldAlt\", \"ShieldBroken\", \"ShieldCheck\", \"ShieldCross\", \"ShieldDownload\", \"ShieldEye\", \"ShieldLoading\", \"ShieldMinus\", \"ShieldQuestion\", \"ShieldSearch\", \"ShieldUpload\", \"Shop\", \"ShopAlt\", \"ShoppingBag\", \"ShoppingBagAdd\", \"ShoppingBagAlt\", \"ShoppingBagArrowDown\", \"ShoppingBagArrowUp\", \"ShoppingBagCheck\", \"ShoppingBagIssue\", \"ShoppingBagRemove\", \"ShoppingCode\", \"ShoppingCodeCheck\", \"ShoppingCodeError\", \"ShortPants\", \"ShortPantsAlt\", \"Shuffle\", \"SimpleCart\", \"SingleTapGesture\", \"Skateboard\", \"Skateboarding\", \"SkipNextOutline\", \"SkipPrevOutline\", \"SmallShop\", \"SmallShopAlt\", \"SmartphoneDevice\", \"Smoking\", \"Snow\", \"SnowFlake\", \"Soap\", \"SoccerBall\", \"SortDown\", \"SortUp\", \"SoundHigh\", \"SoundLow\", \"SoundMin\", \"SoundOff\", \"SpockHandGesture\", \"Square\", \"StarDashed\", \"StarHalfDashed\", \"StarOutline\", \"StatDown\", \"StatUp\", \"StatsReport\", \"StatsSquareDown\", \"StatsSquareUp\", \"Stretching\", \"StyleBorder\", \"Substract\", \"Suggestion\", \"SunLight\", \"Swimming\", \"SwipeDownGesture\", \"SwipeLeftGesture\", \"SwipeRightGesture\", \"SwipeUpGesture\", \"SwitchOffOutline\", \"SwitchOnOutline\", \"SystemRestart\", \"SystemShut\", \"Table\", \"Table2Columns\", \"TableRows\", \"Telegram\", \"TelegramCircled\", \"TennisBall\", \"TennisBallAlt\", \"TerminalOutline\", \"TerminalSimple\", \"Text\", \"TextAlt\", \"TextSize\", \"ThreeStars\", \"Thunderstorm\", \"TikTok\", \"Timer\", \"TimerOff\", \"Tower\", \"TowerCheck\", \"TowerNoAccess\", \"TowerWarning\", \"Trademark\", \"TrainOutline\", \"Tram\", \"TransitionBottom\", \"TransitionLeft\", \"TransitionRight\", \"TransitionTop\", \"Translate\", \"Trash\", \"Treadmill\", \"Trekking\", \"Trello\", \"Triangle\", \"TriangleFlag\", \"TriangleFlagCircle\", \"TriangleFlagFull\", \"Trophy\", \"Tunnel\", \"Tv\", \"TvFix\", \"TvIssue\", \"Twitter\", \"TwitterVerifiedBadge\", \"Type\", \"UmbrellaFull\", \"Underline\", \"Undo\", \"UndoAction\", \"UndoCircle\", \"Union\", \"UnionAlt\", \"UnionHorizAlt\", \"Unity\", \"Unity5\", \"UpRoundArrow\", \"Upload\", \"UploadSquareOutline\", \"Usb\", \"User\", \"UserBag\", \"UserCart\", \"UserCircleAlt\", \"UserScan\", \"UserSquareAlt\", \"VerifiedBadge\", \"VerifiedUser\", \"VideoCamera\", \"VideoCameraOff\", \"ViewColumns2\", \"ViewColumns3\", \"ViewGrid\", \"ViewStructureDown\", \"ViewStructureUp\", \"Voice\", \"VoiceCircled\", \"VoiceCircledLock\", \"VoiceError\", \"VoiceOk\", \"VoicePhone\", \"VoiceScan\", \"VoiceSquared\", \"VrSymbol\", \"Waist\", \"Walking\", \"WarningSquareOutline\", \"WebWindow\", \"WebWindowClose\", \"Weight\", \"WeightAlt\", \"WhiteFlag\", \"Wifi\", \"WifiIssue\", \"WifiOff\", \"WifiSignalNone\", \"Wind\", \"WrapText\", \"Wristwatch\", \"Yen\", \"YenSquare\", \"Yoga\", \"YouTube\", \"ZoomIn\", \"ZoomOut\"];\nconst moduleBaseUrl = \"https://framer.com/m/iconoir-icons/\";\nconst lowercaseIconKeyPairs = iconKeys.reduce((res, key) => {\n  res[key.toLowerCase()] = key;\n  return res;\n}, {}); /**\n        * ICONOIR\n        *\n        * @framerIntrinsicWidth 24\n        * @framerIntrinsicHeight 24\n        *\n        * @framerSupportedLayoutWidth fixed\n        * @framerSupportedLayoutHeight fixed\n        */\nexport function Icon(props) {\n  const {\n    color,\n    selectByList,\n    iconSearch,\n    iconSelection,\n    onClick,\n    onMouseDown,\n    onMouseUp,\n    onMouseEnter,\n    onMouseLeave,\n    mirrored\n  } = props;\n  const isMounted = useRef(false);\n  const iconKey = useIconSelection(iconKeys, selectByList, iconSearch, iconSelection, lowercaseIconKeyPairs); // Selected Icon Module\n  const [SelectedIcon, setSelectedIcon] = useState(iconKey === \"Home\" ? HomeFactory(React) : null); // Import the selected module or reset so null state\n  async function importModule() {\n    // Get the selected module\n    try {\n      const iconModuleUrl = `${moduleBaseUrl}${iconKey}.js@0.0.11`;\n      const module = await import( /* webpackIgnore: true */iconModuleUrl);\n      if (isMounted.current) setSelectedIcon(module.default(React));\n    } catch {\n      if (isMounted.current) setSelectedIcon(null);\n    }\n  } // Import module when new style or icon is selected\n  useEffect(() => {\n    isMounted.current = true;\n    importModule();\n    return () => {\n      isMounted.current = false;\n    };\n  }, [iconKey]);\n  const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const emptyState = isOnCanvas ? /*#__PURE__*/_jsx(NullState, {}) : null;\n  return /*#__PURE__*/_jsx(\"div\", {\n    style: {\n      display: \"contents\"\n    },\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    children: SelectedIcon ? /*#__PURE__*/_jsx(SelectedIcon, {\n      size: \"100$%\",\n      style: {\n        width: \"100%\",\n        height: \"100%\",\n        transform: mirrored ? \"scale(-1, 1)\" : undefined\n      },\n      color: color\n    }) : emptyState\n  });\n}\nIcon.displayName = \"Iconoir\";\nIcon.defaultProps = {\n  width: 24,\n  height: 24,\n  iconSelection: \"Home\",\n  iconSearch: \"Home\",\n  color: \"#66F\",\n  selectByList: true,\n  mirrored: false\n};\naddPropertyControls(Icon, {\n  selectByList: {\n    type: ControlType.Boolean,\n    title: \"Select\",\n    enabledTitle: \"List\",\n    disabledTitle: \"Search\",\n    defaultValue: Icon.defaultProps.selectByList\n  },\n  iconSelection: {\n    type: ControlType.Enum,\n    options: iconKeys,\n    defaultValue: Icon.defaultProps.iconSelection,\n    title: \"Name\",\n    hidden: ({\n      selectByList\n    }) => !selectByList,\n    description: \"Find every icon name on the [Iconoir site](https://iconoir.com/)\"\n  },\n  iconSearch: {\n    type: ControlType.String,\n    title: \"Name\",\n    placeholder: \"Menu, Wifi, Box\u2026\",\n    hidden: ({\n      selectByList\n    }) => selectByList\n  },\n  mirrored: {\n    type: ControlType.Boolean,\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\",\n    defaultValue: Icon.defaultProps.mirrored\n  },\n  color: {\n    type: ControlType.Color,\n    title: \"Color\",\n    defaultValue: Icon.defaultProps.color\n  },\n  ...defaultEvents\n});\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"iconKeys\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"IconProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Icon\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Icon\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicHeight\": \"24\",\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicWidth\": \"24\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Iconoir.map", "import { fontStore as r } from \"framer\";\nr.loadWebFontsFromSelectors([]);\nexport const fonts = [];\nexport const css = ['.framer-OkhCH .framer-styles-preset-ptdhbn:not(.rich-text-wrapper), .framer-OkhCH .framer-styles-preset-ptdhbn.rich-text-wrapper a { --framer-link-current-text-color: #111111; --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: var(--token-5e0af6cc-aaef-4b23-9d53-7f200948f4a5, #3e43bd) /* {\"name\":\"primary\"} */; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #ff5d2c; --framer-link-text-decoration: none; }'];\nexport const className = \"framer-OkhCH\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"className\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"css\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fonts\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { motion } from \"framer-motion\";\nexport function SearchIcon(props) {\n  return /*#__PURE__*/_jsx(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 256 256\",\n    width: props.width,\n    height: props.height,\n    style: {\n      ...props.style,\n      color: props.color\n    },\n    children: /*#__PURE__*/_jsx(\"path\", {\n      d: \"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\",\n      fill: \"currentColor\"\n    })\n  });\n}\nexport function ClearIcon(props) {\n  return /*#__PURE__*/_jsxs(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 256 256\",\n    ...props,\n    children: [/*#__PURE__*/_jsx(\"rect\", {\n      width: \"256\",\n      height: \"256\",\n      fill: \"none\"\n    }), /*#__PURE__*/_jsx(\"path\", {\n      d: \"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z\",\n      fill: \"currentColor\"\n    })]\n  });\n}\nexport function SpinnerIcon(props) {\n  const borderWidth = 3;\n  return /*#__PURE__*/_jsxs(\"div\", {\n    style: {\n      position: \"relative\",\n      ...props.style\n    },\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      animate: {\n        rotate: 360\n      },\n      transition: {\n        ease: \"linear\",\n        duration: 1,\n        repeat: Infinity\n      },\n      style: {\n        borderRadius: 100,\n        backgroundImage: `conic-gradient(from 270deg, transparent 0%, ${props.color} 100%)`,\n        width: \"100%\",\n        height: \"100%\"\n      }\n    }), /*#__PURE__*/_jsx(\"div\", {\n      style: {\n        backgroundColor: props.backgroundColor,\n        borderRadius: 100,\n        position: \"absolute\",\n        top: borderWidth,\n        left: borderWidth,\n        bottom: borderWidth,\n        right: borderWidth\n      }\n    })]\n  });\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"ClearIcon\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"ClearIcon\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SpinnerIcon\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"SpinnerIcon\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchIcon\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"SearchIcon\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Icons.map", "export function Storage(name) {\n  this.ready = new Promise((resolve, reject) => {\n    var request = window.indexedDB.open(location.origin);\n    request.onupgradeneeded = e => {\n      this.db = e.target[\"result\"];\n      this.db.createObjectStore(\"store\");\n    };\n    request.onsuccess = e => {\n      this.db = e.target[\"result\"];\n      resolve();\n    };\n    request.onerror = e => {\n      this.db = e.target[\"result\"];\n      reject(e);\n    };\n  });\n}\nStorage.prototype.get = function (key) {\n  return this.ready.then(() => {\n    return new Promise((resolve, reject) => {\n      var request = this.getStore().get(key);\n      request.onsuccess = e => resolve(e.target.result);\n      request.onerror = reject;\n    });\n  });\n};\nStorage.prototype.getStore = function () {\n  return this.db.transaction([\"store\"], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function (key, value) {\n  return this.ready.then(() => {\n    return new Promise((resolve, reject) => {\n      var request = this.getStore().put(value, key);\n      request.onsuccess = resolve;\n      request.onerror = reject;\n    });\n  });\n};\nStorage.prototype.delete = function (key, value) {\n  window.indexedDB.deleteDatabase(location.origin);\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Storage\": {\n      \"type\": \"function\"\n    }\n  }\n};", "// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map", "import { checkForCachedData, setCachedData } from \"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";\nconst VERSION = 1;\nconst INDEX_KEY = \"searchIndexCache\";\nconst METADATA_KEY = \"searchCacheMetadata\";\nexport async function getCachedIndex() {\n  // A check here for metadata can be added later if we need to\n  // migrate or expire the index. Though most likely, any version change\n  // should result in deleting the cache and starting again.\n  const cachedIndex = await checkForCachedData(INDEX_KEY);\n  if (cachedIndex) {\n    return cachedIndex;\n  }\n}\nexport function setCachedIndex(index) {\n  setCachedData(INDEX_KEY, index);\n  setCachedData(METADATA_KEY, {\n    version: VERSION,\n    timestamp: Date.now()\n  });\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"getCachedIndex\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"setCachedIndex\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./cachedIndex.map", "// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults = {\n  \"/\": {\n    version: 1,\n    title: \"Example Search Result\",\n    description: \"Description of search result.\",\n    keywords: \"\",\n    h1: [],\n    h2: [],\n    h3: [],\n    h4: [],\n    h5: [],\n    h6: [],\n    p: [],\n    url: \"/example-url/\",\n    codeblock: []\n  },\n  \"/example-1\": {\n    version: 1,\n    title: \"Publish your Site to Search\",\n    description: \"Try Site Search to instantly search your Framer site content.\",\n    keywords: \"\",\n    h1: [],\n    h2: [],\n    h3: [],\n    h4: [],\n    h5: [],\n    h6: [],\n    p: [],\n    url: \"/example-url/1/\",\n    codeblock: []\n  },\n  \"/example-2\": {\n    version: 1,\n    title: \"Customise your Site Search\",\n    description: \"Personalize everything from corner radius, to icon weight.\",\n    keywords: \"\",\n    h1: [],\n    h2: [],\n    h3: [],\n    h4: [],\n    h5: [],\n    h6: [],\n    p: [],\n    url: \"/example-url/2/\",\n    codeblock: []\n  }\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"fakeResults\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./fakeResults.map", "// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq = new Uint32Array(65536);\nconst myers_32 = (a, b) => {\n  const n = a.length;\n  const m = b.length;\n  const lst = 1 << n - 1;\n  let pv = -1;\n  let mv = 0;\n  let sc = n;\n  let i = n;\n  while (i--) {\n    peq[a.charCodeAt(i)] |= 1 << i;\n  }\n  for (i = 0; i < m; i++) {\n    let eq = peq[b.charCodeAt(i)];\n    const xv = eq | mv;\n    eq |= (eq & pv) + pv ^ pv;\n    mv |= ~(eq | pv);\n    pv &= eq;\n    if (mv & lst) {\n      sc++;\n    }\n    if (pv & lst) {\n      sc--;\n    }\n    mv = mv << 1 | 1;\n    pv = pv << 1 | ~(xv | mv);\n    mv &= xv;\n  }\n  i = n;\n  while (i--) {\n    peq[a.charCodeAt(i)] = 0;\n  }\n  return sc;\n};\nconst myers_x = (b, a) => {\n  const n = a.length;\n  const m = b.length;\n  const mhc = [];\n  const phc = [];\n  const hsize = Math.ceil(n / 32);\n  const vsize = Math.ceil(m / 32);\n  for (let i = 0; i < hsize; i++) {\n    phc[i] = -1;\n    mhc[i] = 0;\n  }\n  let j = 0;\n  for (; j < vsize - 1; j++) {\n    let mv = 0;\n    let pv = -1;\n    const start = j * 32;\n    const vlen = Math.min(32, m) + start;\n    for (let k = start; k < vlen; k++) {\n      peq[b.charCodeAt(k)] |= 1 << k;\n    }\n    for (let i1 = 0; i1 < n; i1++) {\n      const eq = peq[a.charCodeAt(i1)];\n      const pb = phc[i1 / 32 | 0] >>> i1 & 1;\n      const mb = mhc[i1 / 32 | 0] >>> i1 & 1;\n      const xv = eq | mv;\n      const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb;\n      let ph = mv | ~(xh | pv);\n      let mh = pv & xh;\n      if (ph >>> 31 ^ pb) {\n        phc[i1 / 32 | 0] ^= 1 << i1;\n      }\n      if (mh >>> 31 ^ mb) {\n        mhc[i1 / 32 | 0] ^= 1 << i1;\n      }\n      ph = ph << 1 | pb;\n      mh = mh << 1 | mb;\n      pv = mh | ~(xv | ph);\n      mv = ph & xv;\n    }\n    for (let k1 = start; k1 < vlen; k1++) {\n      peq[b.charCodeAt(k1)] = 0;\n    }\n  }\n  let mv1 = 0;\n  let pv1 = -1;\n  const start1 = j * 32;\n  const vlen1 = Math.min(32, m - start1) + start1;\n  for (let k2 = start1; k2 < vlen1; k2++) {\n    peq[b.charCodeAt(k2)] |= 1 << k2;\n  }\n  let score = m;\n  for (let i2 = 0; i2 < n; i2++) {\n    const eq1 = peq[a.charCodeAt(i2)];\n    const pb1 = phc[i2 / 32 | 0] >>> i2 & 1;\n    const mb1 = mhc[i2 / 32 | 0] >>> i2 & 1;\n    const xv1 = eq1 | mv1;\n    const xh1 = ((eq1 | mb1) & pv1) + pv1 ^ pv1 | eq1 | mb1;\n    let ph1 = mv1 | ~(xh1 | pv1);\n    let mh1 = pv1 & xh1;\n    score += ph1 >>> m - 1 & 1;\n    score -= mh1 >>> m - 1 & 1;\n    if (ph1 >>> 31 ^ pb1) {\n      phc[i2 / 32 | 0] ^= 1 << i2;\n    }\n    if (mh1 >>> 31 ^ mb1) {\n      mhc[i2 / 32 | 0] ^= 1 << i2;\n    }\n    ph1 = ph1 << 1 | pb1;\n    mh1 = mh1 << 1 | mb1;\n    pv1 = mh1 | ~(xv1 | ph1);\n    mv1 = ph1 & xv1;\n  }\n  for (let k3 = start1; k3 < vlen1; k3++) {\n    peq[b.charCodeAt(k3)] = 0;\n  }\n  return score;\n};\nconst distance = (a, b) => {\n  if (a.length < b.length) {\n    const tmp = b;\n    b = a;\n    a = tmp;\n  }\n  if (b.length === 0) {\n    return a.length;\n  }\n  if (a.length <= 32) {\n    return myers_32(a, b);\n  }\n  return myers_x(a, b);\n};\nconst closest = (str, arr) => {\n  let min_distance = Infinity;\n  let min_index = 0;\n  for (let i = 0; i < arr.length; i++) {\n    const dist = distance(str, arr[i]);\n    if (dist < min_distance) {\n      min_distance = dist;\n      min_index = i;\n    }\n  }\n  return arr[min_index];\n};\nexport { closest, distance };\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"closest\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"distance\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./fuzzySearch.map", "export const localStorageDebugFlag = typeof window !== \"undefined\" && window.localStorage.getItem(\"__framerDebugSearch\") === \"true\";\nconst groupsRegex = /[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;\nfunction capitalizeFirstLetter(value) {\n  return value.charAt(0).toUpperCase() + value.slice(1);\n}\nexport function titleCase(value) {\n  const groups = value.match(groupsRegex) || [];\n  return groups.map(capitalizeFirstLetter).join(\" \");\n}\nexport function clampText(text, maxLength) {\n  const textLength = text.length;\n  if (textLength <= maxLength) {\n    return text;\n  }\n  const slicedText = text.slice(0, maxLength);\n  if (textLength > maxLength) {\n    return slicedText + \"\u2026\";\n  }\n  return slicedText;\n}\nexport function isEmptyObject(object) {\n  return Object.keys(object).length === 0;\n}\nexport function createLogger(showOutput) {\n  function log(...data) {\n    console.log(Date.now(), ...data);\n  }\n  function time(label) {\n    console.time(label);\n  }\n  function timeEnd(label) {\n    console.timeEnd(label);\n  }\n  function noop() {}\n  if (!showOutput) {\n    return {\n      log: noop,\n      time: noop,\n      timeEnd: noop\n    };\n  }\n  return {\n    log,\n    time,\n    timeEnd\n  };\n}\nexport const DEFAULT_FONT_FAMILY = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport function getFontFamily(theme) {\n  var ref, ref1, ref2;\n  if ((ref = theme.inputFont) === null || ref === void 0 ? void 0 : ref.fontFamily) return theme.inputFont.fontFamily;\n  if ((ref1 = theme.titleFont) === null || ref1 === void 0 ? void 0 : ref1.fontFamily) return theme.titleFont.fontFamily;\n  if ((ref2 = theme.subtitleFont) === null || ref2 === void 0 ? void 0 : ref2.fontFamily) return theme.subtitleFont.fontFamily;\n  return DEFAULT_FONT_FAMILY;\n}\nexport function animationKeyFromLayout(layout) {\n  return `${layout}Animation`;\n}\nexport const safeDocument = typeof document !== \"undefined\" ? document : null;\nexport const safeWindow = typeof window !== \"undefined\" ? window : null;\nconst metaTagSelector = 'meta[name=\"framer-search-index\"]';\nexport function getMetaTagContent() {\n  const metaTag = safeDocument === null || safeDocument === void 0 ? void 0 : safeDocument.querySelector(metaTagSelector);\n  if (!metaTag) return undefined;\n  const metaTagContent = metaTag.getAttribute(\"content\");\n  return metaTagContent;\n}\nexport const checkIfOverLimit = () => {\n  return getMetaTagContent() === \"limit-reached\";\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"animationKeyFromLayout\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"titleCase\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"clampText\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"safeWindow\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"DEFAULT_FONT_FAMILY\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getFontFamily\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"createLogger\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"localStorageDebugFlag\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getMetaTagContent\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"isEmptyObject\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"safeDocument\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"checkIfOverLimit\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./utils.map", "import { clamp } from \"framer-motion\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { getCachedIndex, setCachedIndex } from \"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/JUSOhg0nH8Uc1bal1x1v/cachedIndex.js\";\nimport { fakeResults } from \"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";\nimport { distance } from \"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";\nimport { createLogger, localStorageDebugFlag, safeDocument, safeWindow } from \"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js\";\nconst {\n  log,\n  time,\n  timeEnd\n} = createLogger(localStorageDebugFlag);\nfunction isValidUrl(url) {\n  try {\n    new URL(url);\n    return true;\n  } catch (_error) {\n    return false;\n  }\n}\nfunction splitWords(text) {\n  return text.split(RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\", \"u\"));\n}\nfunction getUniqueWords(str) {\n  const words = splitWords(str).filter(word => word.trim() && word.length > 0);\n  return new Set(words);\n} /**\n  * Replace accented characters with equivilant non-accented versions and\n  * make everything lowercase.\n  */\nfunction getNormalizedString(text) {\n  if (Array.isArray(text)) {\n    return text.map(getNormalizedString);\n  }\n  return text.normalize(\"NFD\") // From: https://stackoverflow.com/a/37511463\n  .replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase();\n}\nfunction getNormalizedItem(item) {\n  const normalizedItem = {};\n  for (const [key, value] of Object.entries(item)) {\n    if (typeof value === \"string\") {\n      normalizedItem[key] = getNormalizedString(value);\n      continue;\n    }\n    if (Array.isArray(value)) {\n      normalizedItem[key] = getNormalizedString(value);\n      continue;\n    }\n    normalizedItem[key] = value;\n  }\n  return normalizedItem;\n}\nfunction getMatchRange(currentRange, start, end) {\n  const result = {\n    ...currentRange\n  };\n  if (start < result.start) {\n    result.start = start;\n  }\n  if (end > result.end) {\n    result.end = end;\n  }\n  return result;\n} /**\n  * Score index item based on the contents of it's fields such as title, description, headings etc.\n  *\n  * Note that this does not normalize the item or query. Normalization is expected to happen\n  * before passing the data into this.\n  */\nfunction getScoreForSearchIndexItem(item, query, words, fullQuery) {\n  let score = 0;\n  const match = {\n    title: {\n      start: Infinity,\n      end: 0\n    },\n    description: {\n      start: Infinity,\n      end: 0\n    }\n  };\n  const urlWords = getUniqueWords(item.url); // Match query based on words in the URL so that random strings inside\n  // other strings are not matched.\n  if (urlWords.has(query)) {\n    score += 10;\n  } // Really boost single word queries that match single word URLs.\n  if (words.size === 1 && urlWords.size === 1 && urlWords.values().next().value === query) {\n    score += score * 5;\n  } // Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\n  if (score > 0) {\n    const splitLength = item.url.split(\"/\").length;\n    score += clamp(10 - splitLength, 0, splitLength);\n  }\n  const titleWords = getUniqueWords(item.title); // Prefer full word matches in the title.\n  if (titleWords.has(query)) {\n    score += 10;\n  }\n  const titleIndex = item.title.indexOf(query);\n  if (titleIndex !== -1) {\n    score += 10; // TODO: Matches are currently not used, but they can be used in the\n    // future to add text highlighting.\n    match.title = getMatchRange(match.title, titleIndex, titleIndex + query.length);\n  } // If the full query is close to being the heading, score this highly as\n  // the user is most likely looking for that exact title.\n  if (distance(item.title, fullQuery) <= 2) {\n    score += score * 10;\n  } // Fuzzy match full words in the title.\n  for (const titleWord of titleWords) {\n    const distanceScore = distance(query, titleWord); // Small distance score helps with small typos.\n    if (distanceScore <= 2) {\n      score += 10;\n    }\n  }\n  const headings = [...item.h1, ...item.h2, ...item.h3, ...item.h4, ...item.h5, ...item.h6];\n  for (const heading of headings) {\n    const headingWords = getUniqueWords(heading); // If the full query is close to being the heading, score this highly as\n    // the user is most likely looking for that exact title.\n    if (distance(heading, fullQuery) <= 2) {\n      score += score * 10;\n    } // Bias headings that start with the query as this helps when\n    // you know the title you are searching for.\n    if (heading.startsWith(query)) {\n      score += 10;\n    }\n    if (headingWords.has(query)) {\n      score += 10;\n    }\n    if (heading.includes(query)) {\n      score += 1;\n    } // Fuzzy match full words in headings.\n    for (const headingWord of headingWords) {\n      const distanceScore1 = distance(query, headingWord);\n      if (distanceScore1 <= 2) {\n        score += 1;\n      }\n    }\n  }\n  const descriptionIndex = item.description.indexOf(query);\n  if (descriptionIndex !== -1) {\n    score += 10;\n    match.description = getMatchRange(match.description, descriptionIndex, descriptionIndex + query.length);\n  }\n  for (const p of item.p) {\n    if (p.includes(query)) {\n      score += .5;\n    }\n  }\n  for (const codeblock of item.codeblock) {\n    // If the full query is close to being the codeblock, score this highly as\n    // the user is most likely looking for that exact code.\n    if (distance(codeblock, fullQuery) <= 2) {\n      score *= 10;\n    }\n    if (codeblock.includes(fullQuery)) {\n      score += 10;\n    }\n    if (codeblock.includes(query)) {\n      score += .5;\n    }\n  }\n  return {\n    score,\n    match\n  };\n}\nfunction getSearchIndexItemScore(item, query) {\n  const normalizedItem = getNormalizedItem(item);\n  const normalizedQuery = getNormalizedString(query);\n  const queryWords = getUniqueWords(normalizedQuery);\n  let total = 0;\n  for (const queryWord of queryWords) {\n    const {\n      score\n    } = getScoreForSearchIndexItem(normalizedItem, queryWord, queryWords, normalizedQuery);\n    total += score;\n  }\n  return total;\n}\nfunction useRawSearch(index, query, settings) {\n  const results = useMemo(() => {\n    if (!query || !index) {\n      return [];\n    }\n    const path = safeWindow === null || safeWindow === void 0 ? void 0 : safeWindow.location.pathname;\n    time(\"query\"); // Filter the results.\n    const results = Object.values(index).map(item => {\n      const score = getSearchIndexItemScore(item, query); // Use first `h1` instead of title if the page has one.\n      const heading = item.h1.length && item.h1[0]; // Convert index item to result item.\n      const result = {\n        url: item.url,\n        title: heading ? heading : item.title,\n        description: item.description,\n        body: [...item.p, item.codeblock].join(\" \"),\n        score\n      };\n      return result;\n    }).filter(item => item.score > settings.minimumScore || 0).filter(item => {\n      if (!path) return true;\n      return item.url !== path;\n    }).sort((itemA, itemB) => itemB.score - itemA.score);\n    timeEnd(\"query\");\n    return results;\n  }, [index, query]);\n  return results;\n}\nfunction getIndexedScopedToUrl(index, rawUrlScope) {\n  const scopedIndex = {};\n  const baseScopeUrlHasVariable = rawUrlScope.includes(\":\");\n  const urlUpToPathVariable = rawUrlScope.split(\":\")[0];\n  const urlScope = urlUpToPathVariable.length > 1 ? urlUpToPathVariable : \"\";\n  for (const url in index) {\n    if (!url.startsWith(urlScope)) {\n      continue;\n    }\n    if (baseScopeUrlHasVariable && url.length <= urlScope.length) {\n      continue;\n    }\n    scopedIndex[url] = index[url];\n  }\n  return scopedIndex;\n}\nexport function useSearch(query, settings) {\n  const [searchIndex, _setSearchIndex] = useState({});\n  const [status, setStatus] = useState(\"loading\");\n  const results = useRawSearch(searchIndex, query, settings); // Seperate setter function so that the URL scope is always applied\n  // to indexes loaded from either the cache or network.\n  function setSearchIndex(index, options = {\n    ignoreScope: false\n  }) {\n    let scopedIndex = index;\n    if (settings.urlScope && !options.ignoreScope) {\n      scopedIndex = getIndexedScopedToUrl(index, settings.urlScope);\n      log(\"Using URL scope\", settings.urlScope);\n    }\n    _setSearchIndex(scopedIndex);\n  }\n  useEffect(() => {\n    async function loadSearchIndex() {\n      setStatus(\"loading\");\n      const metaTag = safeDocument === null || safeDocument === void 0 ? void 0 : safeDocument.querySelector('meta[name=\"framer-search-index\"]');\n      if (!metaTag) {\n        setStatus(\"no-meta-tag-found\");\n        setSearchIndex(fakeResults, {\n          ignoreScope: true\n        });\n        log(\"No meta tag found\");\n        return;\n      }\n      const cachedIndex = await getCachedIndex();\n      const metaTagContent = metaTag.getAttribute(\"content\");\n      const isOverLimit = metaTagContent === \"limit-reached\";\n      log(\"Page limit for plan exceeded\"); // If a cached index exists, use the cached version until latest one\n      // from the network loads.\n      if (cachedIndex && !isOverLimit) {\n        setSearchIndex(cachedIndex);\n        setStatus(\"loading-with-cache\");\n        log(\"Using cached index\");\n      } // Return early and do not make a fetch request if the URL is not valid.\n      if (!metaTagContent || !isValidUrl(metaTagContent)) {\n        log(\"Meta tag exists but URL is not valid yet\"); // If there is no cached index, show the pending index message.\n        // Otherwise use the cache to as the index to search.\n        if (!cachedIndex) {\n          setStatus(\"pending-index-generation\");\n          log(\"No cache to use, page reload required to check for meta tag\");\n        } else {\n          log(\"Continue using cache\");\n        }\n        return;\n      }\n      const searchIndexUrl = metaTagContent;\n      const response = await fetch(searchIndexUrl);\n      if (!response.ok) {\n        throw new Error(response.statusText);\n      }\n      const downloadedIndex = await response.json();\n      setSearchIndex(downloadedIndex);\n      setCachedIndex(downloadedIndex);\n      setStatus(\"success\");\n      log(\"Using downloaded index\");\n    }\n    loadSearchIndex().catch(error => {\n      // TODO: Check for error type here. If it's a network error,\n      // we could do a few retries.\n      setStatus(\"error\");\n      log(\"Failed to load search index\", error);\n    });\n  }, []);\n  log({\n    status,\n    results\n  });\n  return {\n    results,\n    status\n  };\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useSearch\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchIndex\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./useSearch.map", "export var Browser;\n(function (Browser) {\n  var isTouch = Browser.isTouch = () => \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n  var isChrome = Browser.isChrome = () => navigator.userAgent.toLowerCase().includes(\"chrome/\");\n  var isWebKit = Browser.isWebKit = () => navigator.userAgent.toLowerCase().includes(\"applewebkit/\");\n  var isSafari = Browser.isSafari = () => isWebKit() && !isChrome();\n  var isSafariDesktop = Browser.isSafariDesktop = () => isSafari() && !isTouch();\n  var isWindows = Browser.isWindows = () => /Win/.test(navigator.platform);\n  var isMacOS = Browser.isMacOS = () => /Mac/.test(navigator.platform);\n})(Browser || (Browser = {}));\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./browser.map", "// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport { useRef, useCallback } from \"react\";\nimport { Browser } from \"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\"; /**\n                                                                                                                      * Webkit fires mousemove events if the pointer's coordination changes relative\n                                                                                                                      * to its container (e.g. if the container scrolls), or when a modifier key is\n                                                                                                                      * pressed, mousemove would fire even if the cursor did not actually move.\n                                                                                                                      * This helper compares the cursor position between mouse events, and fire the\n                                                                                                                      * callback only when its position changes.\n                                                                                                                      */\nexport const useCallbackOnMouseMove = (callback, mousePositionRef) => {\n  const prevPositionRef = useRef(null);\n  return useCallback(event => {\n    if (!Browser.isSafari()) return callback(event);\n    const ref = mousePositionRef ? mousePositionRef : prevPositionRef;\n    const {\n      clientX,\n      clientY\n    } = event;\n    const prevCursorPosition = ref.current;\n    ref.current = {\n      x: clientX,\n      y: clientY\n    }; // Ignore mouse moves unless we have a position. Else it might be an\n    // element that appears behind the mouse without the mouse moving.\n    if (!prevCursorPosition) {\n      return;\n    }\n    if (prevCursorPosition.x !== clientX || prevCursorPosition.y !== clientY) {\n      return callback(event);\n    }\n  }, [mousePositionRef, callback]);\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useCallbackOnMouseMove\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Point\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./useCallbackOnMouseMove.map", "// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement, scrollElement, /** Additional spacing to add from the top or bottom of the scroll element viewport. */{\n  offsetTop,\n  offsetBottom\n}) {\n  const targetElementBounds = targetElement.getBoundingClientRect();\n  const scrollElementBounds = scrollElement.getBoundingClientRect();\n  if (targetElementBounds.top < scrollElementBounds.top) {\n    const difference = scrollElementBounds.top - targetElementBounds.top;\n    scrollElement.scrollTop = scrollElement.scrollTop - difference - offsetTop;\n  } else if (targetElementBounds.bottom > scrollElementBounds.bottom) {\n    const topAligned = scrollElementBounds.top - targetElementBounds.top;\n    const minOffset = scrollElement.scrollTop - topAligned - offsetTop;\n    const bottomAligned = targetElementBounds.bottom - scrollElementBounds.bottom;\n    const offset = scrollElement.scrollTop + bottomAligned + offsetBottom;\n    scrollElement.scrollTop = Math.min(minOffset, offset);\n  }\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"scrollIntoView\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./scrollIntoView.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useSearch } from \"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/TRhh4EZjtQy6tNgBZXiv/useSearch.js\";\nimport React, { useEffect, useState, useMemo, forwardRef, useRef, useDeferredValue, useLayoutEffect, useCallback, useImperativeHandle } from \"react\";\nimport { Browser } from \"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";\nimport { motion, clamp, useAnimate } from \"framer-motion\";\nimport { SearchIcon, ClearIcon, SpinnerIcon } from \"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";\nimport { clampText, getFontFamily, localStorageDebugFlag, animationKeyFromLayout } from \"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js\";\nimport { useCallbackOnMouseMove } from \"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";\nimport { scrollIntoView } from \"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";\nconst MAX_DESCRIPTION_LENGTH = 120;\nconst MODAL_MAX_HEIGHT = 496;\nconst VERTICAL_SPACING_MULTIPLIER = .6;\nfunction ClearButton({\n  theme,\n  type,\n  onClick,\n  text\n}) {\n  const shouldDisplayIcon = type === SearchInputClearButtonType.Icon;\n  const iconOrText = shouldDisplayIcon ? /*#__PURE__*/_jsx(ClearIcon, {\n    style: {\n      color: theme.inputIconColor,\n      width: theme.inputIconSize,\n      height: theme.inputIconSize\n    }\n  }) : text;\n  return /*#__PURE__*/_jsx(\"div\", {\n    style: {\n      flexShrink: 0,\n      fontSize: theme && theme.titleFont && theme.titleFont.fontSize ? theme.titleFont.fontSize : 15\n    },\n    children: /*#__PURE__*/_jsx(\"button\", {\n      className: \"__framer-search-clear-button\",\n      onClick: onClick,\n      style: {\n        fontFamily: \"inherit\",\n        border: \"none\",\n        background: \"none\",\n        cursor: \"pointer\",\n        display: \"flex\",\n        textTransform: \"uppercase\",\n        color: theme.inputIconColor,\n        fontSize: \"0.75em\",\n        padding: 0\n      },\n      children: iconOrText\n    })\n  });\n}\nfunction Divider({\n  theme,\n  type\n}) {\n  const styles = {\n    background: theme.foregroundColor,\n    height: 1,\n    flexShrink: 0,\n    opacity: .05\n  };\n  if (type === SearchInputDividerType.Contained && theme) {\n    styles.marginLeft = theme.horizontalSpacing;\n    styles.marginRight = theme.horizontalSpacing;\n  }\n  return /*#__PURE__*/_jsx(\"div\", {\n    style: styles\n  });\n}\nexport const Input = /*#__PURE__*/forwardRef(function Input(props, ref) {\n  const {\n    value = \"\",\n    status,\n    autofocus,\n    theme,\n    placeholder,\n    iconType,\n    clearButtonType,\n    onChange\n  } = props;\n  const [inputValue, setInputValue] = useState(value);\n  const [isFocused, setIsFocused] = useState(false);\n  const inputRef = useRef();\n  useImperativeHandle(ref, () => inputRef.current);\n  React.useLayoutEffect(() => {\n    // Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n    // of the page when the input unmounts.\n    return () => {\n      const inputElement = inputRef.current;\n      if (!inputElement || inputElement !== document.activeElement) return;\n      inputElement.blur();\n    };\n  }, []);\n  const handleInputClick = () => {\n    if (inputRef.current) {\n      inputRef.current.focus();\n    }\n  };\n  const handleClearClick = () => {\n    setInputValue(\"\");\n  };\n  useEffect(() => {\n    onChange(inputValue);\n  }, [inputValue]);\n  const hasInputText = inputValue.length > 0;\n  const showClearButton = inputValue.length > 0 && clearButtonType && clearButtonType !== SearchInputClearButtonType.None;\n  const verticalSpacing = Math.floor(theme ? theme.horizontalSpacing * VERTICAL_SPACING_MULTIPLIER : 0);\n  const searchIcon = iconType === SearchIconType.Custom && theme.inputIconImage ? /*#__PURE__*/_jsx(\"img\", {\n    alt: \"icon alongside the Site Search input\",\n    src: theme.inputIconImage.src,\n    width: theme.inputIconSize,\n    height: theme.inputIconSize\n  }) : /*#__PURE__*/_jsx(SearchIcon, {\n    color: theme.inputIconColor,\n    width: theme.inputIconSize,\n    height: theme.inputIconSize\n  });\n  return /*#__PURE__*/_jsxs(\"div\", {\n    role: \"search\",\n    style: {\n      ...inputContainerStyle,\n      fontFamily: getFontFamily(theme),\n      paddingLeft: theme && theme.horizontalSpacing,\n      paddingRight: theme && theme.horizontalSpacing,\n      gap: 12,\n      paddingTop: verticalSpacing,\n      paddingBottom: verticalSpacing,\n      touchAction: \"none\"\n    },\n    onClick: handleInputClick,\n    children: [/*#__PURE__*/_jsx(\"div\", {\n      style: {\n        flexShrink: 0,\n        display: \"flex\"\n      },\n      children: status === \"loading\" && inputValue ? /*#__PURE__*/_jsx(SpinnerIcon, {\n        color: theme.inputIconColor,\n        backgroundColor: theme.backgroundColor,\n        style: {\n          height: theme && theme.inputIconSize,\n          width: theme && theme.inputIconSize\n        }\n      }) : searchIcon\n    }), /*#__PURE__*/_jsx(\"input\", {\n      ref: inputRef,\n      spellCheck: false,\n      autoFocus: autofocus,\n      style: {\n        ...inputStyle,\n        WebkitTapHighlightColor: \"rgba(0,0,0,0)\",\n        color: theme.foregroundColor,\n        lineHeight: \"2em\",\n        verticalAlign: \"baseline\",\n        ...theme.titleFont,\n        ...theme.inputFont,\n        fontSize: theme.inputFontSize,\n        // @ts-ignore\n        \"--framer-search-placeholder-color\": theme.placeholderColor\n      },\n      onFocus: () => {\n        const scrollOffset = document.documentElement.scrollTop;\n        document.documentElement.scrollTop = scrollOffset;\n      },\n      placeholder: placeholder,\n      value: inputValue,\n      onChange: () => setInputValue(inputRef.current.value)\n    }), showClearButton && /*#__PURE__*/_jsx(ClearButton, {\n      theme: theme,\n      type: props.clearButtonType,\n      text: props.clearButtonText,\n      onClick: handleClearClick\n    })]\n  });\n});\nconst inputContainerStyle = {\n  display: \"inline-flex\",\n  alignItems: \"center\",\n  flexShrink: 0\n};\nconst inputStyle = {\n  outline: \"none\",\n  border: \"none\",\n  background: \"transparent\",\n  fontWeight: 500,\n  height: \"2em\",\n  padding: 0,\n  width: \"100%\"\n};\nexport const ResultRow = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function ResultRow(props, ref) {\n  const {\n    index,\n    result,\n    prevMousePositionRef,\n    type = SearchResultItemType.Contained,\n    subtitleType = SearchResultSubtitleType.Path,\n    selected = false,\n    theme,\n    style,\n    onMouseMove,\n    onPointerDown,\n    onNavigateTo\n  } = props;\n  const {\n    url,\n    title,\n    score\n  } = result;\n  const urlPath = useMemo(() => {\n    return url;\n    const parsedURL = new URL(url);\n    return parsedURL.pathname;\n  }, [url]);\n  const handleMouseMove = useCallbackOnMouseMove(event => onMouseMove(event, index), prevMousePositionRef);\n  const isContained = type === SearchResultItemType.Contained;\n  const borderRadius = isContained ? clamp(0, Infinity, theme.borderRadius - theme.spacing) : 0;\n  const subtitleText = subtitleType === SearchResultSubtitleType.Path ? urlPath : clampText(result.description, MAX_DESCRIPTION_LENGTH);\n  const handleClick = event => {\n    event.preventDefault();\n    onNavigateTo(result.url);\n  };\n  const focusTrap = event => {\n    event.preventDefault();\n  };\n  return /*#__PURE__*/_jsx(\"a\", {\n    ref: ref,\n    style: {\n      textDecoration: \"none\"\n    },\n    href: result.url,\n    onClick: handleClick,\n    onMouseMove: handleMouseMove,\n    onMouseDown: focusTrap,\n    onPointerDown: event => onPointerDown(event, index),\n    children: /*#__PURE__*/_jsxs(\"li\", {\n      style: {\n        ...resultContainer,\n        ...style,\n        paddingTop: isContained ? 12 : 16,\n        paddingBottom: isContained ? 12 : 16,\n        color: theme.foregroundColor,\n        position: \"relative\",\n        paddingLeft: theme && theme.horizontalSpacing,\n        paddingRight: theme && theme.horizontalSpacing\n      },\n      children: [/*#__PURE__*/_jsx(\"div\", {\n        style: {\n          backgroundColor: theme.foregroundColor,\n          position: \"absolute\",\n          opacity: selected ? .06 : 0,\n          borderRadius,\n          left: theme && isContained ? theme.spacing : 0,\n          right: theme && isContained ? theme.spacing : 0,\n          top: 0,\n          bottom: 0\n        }\n      }), /*#__PURE__*/_jsxs(\"div\", {\n        style: {\n          display: \"flex\",\n          flexDirection: \"column\",\n          overflow: \"hidden\",\n          gap: 4\n        },\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          style: {\n            ...resultTitle,\n            ...theme.titleFont,\n            lineHeight: \"1.4em\"\n          },\n          children: title\n        }), /*#__PURE__*/_jsxs(\"p\", {\n          style: {\n            margin: 0,\n            color: theme.subtitleColor,\n            ...theme.subtitleFont,\n            whiteSpace: \"nowrap\",\n            overflow: \"hidden\",\n            textOverflow: \"ellipsis\",\n            lineHeight: \"1.4em\"\n          },\n          children: [localStorageDebugFlag ? score : \"\", \" \", subtitleText]\n        })]\n      })]\n    }, result.url)\n  });\n})); /**\n     * Flexible gap used inside a flexbox layout to push down the quick menu\n     * by 20% of the screen height, but also allow it to collapse to zero if\n     * there is not enough vertical room.\n     */\nfunction QuickMenuSpacer({\n  onClick\n}) {\n  return /*#__PURE__*/_jsx(\"div\", {\n    style: {\n      width: \"100%\",\n      flexBasis: \"20vh\"\n    },\n    onClick: onClick\n  });\n}\nconst layoutContainerStyle = {\n  display: \"flex\",\n  flexDirection: \"column\",\n  alignItems: \"center\",\n  justifyContent: \"flex-start\",\n  gap: 15,\n  overflow: \"visible\"\n};\nfunction LayoutContainer({\n  layoutType,\n  theme,\n  onKeyDown,\n  onDismiss,\n  children,\n  modalOptions\n}) {\n  const layoutStyles = getLayoutBaseStyles(layoutType, theme);\n  const style = {\n    ...layoutContainerStyle,\n    ...layoutStyles,\n    willChange: \"transform\",\n    marginTop: layoutType === SearchLayoutType.FixedTop ? theme.offsetTop : 0,\n    height: layoutType === SearchLayoutType.Sidebar ? \"100%\" : \"auto\",\n    maxHeight: layoutType === SearchLayoutType.QuickMenu ? \"100%\" : \"none\",\n    justifyContent: layoutType === SearchLayoutType.Sidebar ? \"flex-end\" : \"flex-start\",\n    flexDirection: layoutType === SearchLayoutType.Sidebar ? \"column-reverse\" : \"column\"\n  };\n  const innerStyle = {\n    ...layoutContainerStyle,\n    ...layoutStyles,\n    height: layoutType === SearchLayoutType.Sidebar ? \"100%\" : \"auto\",\n    maxHeight: layoutType === SearchLayoutType.QuickMenu ? \"100%\" : \"none\",\n    gap: layoutType === SearchLayoutType.Sidebar ? 0 : theme.gapBetweenStatusAndSearch,\n    backgroundColor: layoutType === SearchLayoutType.Sidebar ? theme.backgroundColor : \"transparent\",\n    justifyContent: layoutType === SearchLayoutType.Sidebar ? \"flex-end\" : \"flex-start\",\n    flexDirection: layoutType === SearchLayoutType.Sidebar ? \"column-reverse\" : \"column\",\n    originX: .5,\n    originY: .5\n  };\n  function getContainerAnimation() {\n    switch (layoutType) {\n      case SearchLayoutType.FixedTop:\n        {\n          const key = animationKeyFromLayout(SearchLayoutType.FixedTop);\n          const prop = modalOptions ? modalOptions[key] : undefined;\n          if (prop) {\n            return prop;\n          } else {\n            return {\n              y: -10,\n              opacity: .2,\n              transition: {\n                duration: Browser.isTouch() ? 0 : .15\n              }\n            };\n          }\n          break;\n        }\n      case SearchLayoutType.QuickMenu:\n        {\n          const key1 = animationKeyFromLayout(SearchLayoutType.QuickMenu);\n          const prop1 = modalOptions ? modalOptions[key1] : undefined;\n          if (prop1) {\n            return prop1;\n          } else {\n            return {\n              scale: .95,\n              opacity: 0,\n              y: 0,\n              x: 0,\n              rotate: 0,\n              transition: {\n                type: \"spring\",\n                stiffness: 600,\n                damping: 40\n              }\n            };\n          }\n          break;\n        }\n      case SearchLayoutType.Sidebar:\n        {\n          const key2 = animationKeyFromLayout(SearchLayoutType.Sidebar);\n          const prop2 = modalOptions ? modalOptions[key2] : undefined;\n          if (prop2) {\n            return prop2;\n          } else {\n            return {\n              x: -10,\n              opacity: 0,\n              transition: {\n                duration: .15\n              }\n            };\n          }\n          break;\n        }\n    }\n  }\n  const containerAnimation = getContainerAnimation();\n  return /*#__PURE__*/_jsxs(\"div\", {\n    style: style,\n    onKeyDown: onKeyDown,\n    onClick: event => event.stopPropagation(),\n    children: [layoutType === SearchLayoutType.QuickMenu && /*#__PURE__*/_jsx(QuickMenuSpacer, {\n      onClick: onDismiss\n    }), /*#__PURE__*/_jsx(motion.div, {\n      initial: containerAnimation,\n      animate: {\n        opacity: 1,\n        scale: 1,\n        x: 0,\n        y: 0,\n        rotate: 0\n      },\n      transition: containerAnimation ? containerAnimation.transition : undefined,\n      exit: {\n        opacity: 0,\n        transition: {\n          duration: 0\n        }\n      },\n      style: innerStyle,\n      children: children\n    })]\n  });\n}\nfunction ModalContainer({\n  layoutType,\n  theme,\n  children,\n  heightIsStatic,\n  heightTransition,\n  heightDeps\n}) {\n  const style = {\n    // This `willChange` is required to avoid weird rendering issues where\n    // parts of the search window won't redraw, which we observed in Safari 16.4.\n    willChange: \"transform\",\n    backgroundColor: theme.backgroundColor,\n    color: theme.foregroundColor,\n    borderRadius: layoutType === SearchLayoutType.QuickMenu ? theme.borderRadius : 0,\n    width: \"100%\",\n    display: \"flex\",\n    flexDirection: \"column\",\n    overflow: \"hidden\",\n    boxShadow: layoutType !== SearchLayoutType.Sidebar ? theme.shadow : undefined,\n    maxHeight: layoutType === SearchLayoutType.QuickMenu ? `min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))` : undefined\n  }; // Opt-in Height Animations for the Search Quick Actions menu.\n  // These are disabled by default, but can be enabled via props.\n  const [scope, animate] = useAnimate();\n  useLayoutEffect(() => {\n    if (layoutType !== SearchLayoutType.QuickMenu || heightIsStatic) return;\n    const prevHeight = scope.current.offsetHeight;\n    scope.current.style.height = \"auto\";\n    const height = scope.current.offsetHeight;\n    scope.current.style.height = prevHeight + \"px\";\n    animate(scope.current, {\n      height: [prevHeight, height]\n    }, heightTransition);\n  }, heightDeps);\n  return /*#__PURE__*/_jsx(\"div\", {\n    ref: scope,\n    role: \"dialog\",\n    className: layoutType === SearchLayoutType.FixedTop ? \"__framer-max-height-80dvh\" : undefined,\n    style: style,\n    children: children\n  });\n}\nconst ScrollView = /*#__PURE__*/React.forwardRef(function ScrollView({\n  theme,\n  children\n}, ref) {\n  const isTouch = Browser.isTouch();\n  const [canScroll, setCanScroll] = React.useState(true);\n  React.useEffect(() => {\n    if (!isTouch) return;\n    const element = ref.current;\n    if (!element) return;\n    setCanScroll(element.scrollHeight > element.clientHeight);\n  });\n  return /*#__PURE__*/_jsx(\"div\", {\n    ref: ref,\n    style: {\n      width: `calc(100% + ${theme.scrollBarWidth}px)`,\n      overflowY: \"scroll\",\n      overflowX: \"hidden\",\n      overscrollBehavior: \"contain\",\n      touchAction: canScroll ? undefined : \"none\",\n      // Make the list appear slightly under the divider\n      // so that the divider is still visible when the first\n      // item is selected.\n      marginTop: -1\n    },\n    children: children\n  });\n});\nconst statusStyle = {\n  backgroundColor: \"#B5B5B5\",\n  color: \"#FFF\",\n  boxShadow: \"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",\n  fontFamily: \"inherit\",\n  textAlign: \"center\",\n  fontSize: 13,\n  padding: \"8px 0\"\n};\nfunction StatusMessage({\n  status,\n  layoutType,\n  theme\n}) {\n  const verticalSpacing = Math.floor(theme ? theme.horizontalSpacing * VERTICAL_SPACING_MULTIPLIER : 0);\n  const style = {\n    ...statusStyle,\n    userSelect: \"none\",\n    fontFamily: getFontFamily(theme),\n    paddingLeft: theme && theme.horizontalSpacing,\n    paddingRight: theme && theme.horizontalSpacing,\n    fontWeight: 500,\n    lineHeight: `calc(${theme.inputFontSize} * 2)`,\n    paddingTop: verticalSpacing,\n    paddingBottom: verticalSpacing,\n    ...theme.titleFont,\n    zIndex: theme.zIndex + 1,\n    maxWidth: layoutType === SearchLayoutType.FixedTop ? \"none\" : theme.width,\n    width: layoutType === SearchLayoutType.FixedTop ? `calc(100% - ${verticalSpacing * 2}px` : \"100%\",\n    boxShadow: layoutType !== SearchLayoutType.Sidebar && statusStyle.boxShadow,\n    borderRadius: layoutType !== SearchLayoutType.Sidebar && theme.borderRadius\n  }; // Show less text on fixed text to look nicer on mobile\n  const previewInfoText = layoutType === SearchLayoutType.FixedTop ? \"Preview Mode\" : \"Preview Mode. Publish your Site to Search.\";\n  if (status === \"no-meta-tag-found\") {\n    return /*#__PURE__*/_jsx(\"div\", {\n      style: style,\n      children: previewInfoText\n    });\n  }\n  if (status === \"pending-index-generation\") {\n    return /*#__PURE__*/_jsx(\"div\", {\n      style: style,\n      children: \"Site is being indexed\"\n    });\n  }\n  return null;\n}\nconst resultTitle = {\n  textOverflow: \"ellipsis\",\n  maxWidth: \"100%\",\n  overflow: \"hidden\",\n  fontWeight: 500,\n  whiteSpace: \"nowrap\",\n  flex: 1,\n  margin: 0\n};\nconst resultContainer = {\n  padding: \"16px 20px\",\n  listStyle: \"none\",\n  fontWeight: 500\n};\nconst sidebarStyles = {\n  left: 0,\n  width: 500\n};\nconst fixedTopStyles = {\n  top: 0,\n  width: \"100%\"\n};\nconst quickMenuStyles = {\n  width: 500\n};\nfunction getLayoutBaseStyles(layoutOption, theme) {\n  switch (layoutOption) {\n    case SearchLayoutType.Sidebar:\n      return {\n        ...sidebarStyles,\n        width: theme.width\n      };\n    case SearchLayoutType.FixedTop:\n      return fixedTopStyles;\n    case SearchLayoutType.QuickMenu:\n      return {\n        ...quickMenuStyles,\n        width: theme.width\n      };\n  }\n}\nexport var SearchInputClearButtonType;\n(function (SearchInputClearButtonType) {\n  SearchInputClearButtonType[\"Icon\"] = \"icon\";\n  SearchInputClearButtonType[\"Text\"] = \"text\";\n  SearchInputClearButtonType[\"None\"] = \"none\";\n})(SearchInputClearButtonType || (SearchInputClearButtonType = {}));\nexport var SearchInputDividerType;\n(function (SearchInputDividerType) {\n  SearchInputDividerType[\"None\"] = \"none\";\n  SearchInputDividerType[\"FullWidth\"] = \"fullWidth\";\n  SearchInputDividerType[\"Contained\"] = \"contained\";\n})(SearchInputDividerType || (SearchInputDividerType = {}));\nexport var SearchResultSubtitleType;\n(function (SearchResultSubtitleType) {\n  SearchResultSubtitleType[\"Description\"] = \"description\";\n  SearchResultSubtitleType[\"Path\"] = \"path\";\n})(SearchResultSubtitleType || (SearchResultSubtitleType = {}));\nexport var SearchResultItemType;\n(function (SearchResultItemType) {\n  SearchResultItemType[\"FullWidth\"] = \"fullWidth\";\n  SearchResultItemType[\"Contained\"] = \"contained\";\n})(SearchResultItemType || (SearchResultItemType = {}));\nexport var SearchLayoutType;\n(function (SearchLayoutType) {\n  SearchLayoutType[\"Sidebar\"] = \"Sidebar\";\n  SearchLayoutType[\"FixedTop\"] = \"FixedTop\";\n  SearchLayoutType[\"QuickMenu\"] = \"QuickMenu\";\n})(SearchLayoutType || (SearchLayoutType = {}));\nexport var SearchEntryType;\n(function (SearchEntryType) {\n  SearchEntryType[\"Icon\"] = \"icon\";\n  SearchEntryType[\"Text\"] = \"text\";\n})(SearchEntryType || (SearchEntryType = {}));\nexport var SearchIconType;\n(function (SearchIconType) {\n  SearchIconType[\"Default\"] = \"default\";\n  SearchIconType[\"Custom\"] = \"custom\";\n})(SearchIconType || (SearchIconType = {})); /**\n                                             * @framerSupportedLayoutWidth fixed\n                                             * @framerSupportedLayoutHeight fixed\n                                             */\nexport function SearchModal(props) {\n  const {\n    layoutType,\n    theme,\n    urlScope,\n    inputOptions,\n    backdropOptions,\n    modalOptions,\n    onDismiss\n  } = props;\n  const input = useRef();\n  const selectedResultRow = useRef();\n  const scrollView = useRef();\n  const [selected, setSelected] = useState({\n    index: 0,\n    scroll: true\n  });\n  const prevMousePositionRef = useRef(null);\n  const [isKeyboardNavigationDisabled, setIsKeyboardNavigationDisabled] = useState(Browser.isTouch);\n  const [query, setQuery] = useState(\"\");\n  const deferredQuery = useDeferredValue(query);\n  const {\n    results,\n    status\n  } = useSearch(deferredQuery, {\n    minimumScore: 0,\n    urlScope\n  });\n  const selectedResult = results[selected.index];\n  const verticalSpacing = Math.floor(theme ? theme.horizontalSpacing * VERTICAL_SPACING_MULTIPLIER : 0);\n  useEffect(() => {\n    // Reset the selection to the top if the query changes.\n    setSelected({\n      index: 0,\n      scroll: true\n    });\n  }, [deferredQuery]);\n  const handleResultRowPointerDown = useCallback((event, index) => {\n    if (event.pointerType !== \"touch\") return;\n    setIsKeyboardNavigationDisabled(true);\n    setSelected({\n      index,\n      scroll: false\n    });\n  }, []);\n  const handleResultRowMouseMove = useCallback((event, index) => {\n    setSelected(previousSelected => {\n      if (previousSelected.index === index) {\n        return previousSelected;\n      }\n      return {\n        index,\n        scroll: false\n      };\n    });\n  }, []);\n  const navigateTo = useCallback(url => {\n    if (status === \"no-meta-tag-found\") {\n      return;\n    }\n    window.location.href = url;\n  }, [status]);\n  const handleKeyDown = event => {\n    const maxIndex = results.length - 1;\n    switch (event.code) {\n      case \"ArrowUp\":\n        event.preventDefault();\n        if (isKeyboardNavigationDisabled) {\n          setIsKeyboardNavigationDisabled(false);\n          break;\n        }\n        setSelected(previousSelected => ({\n          index: clamp(0, maxIndex, previousSelected.index - 1),\n          scroll: true\n        }));\n        break;\n      case \"ArrowDown\":\n        event.preventDefault();\n        if (isKeyboardNavigationDisabled) {\n          setIsKeyboardNavigationDisabled(false);\n          break;\n        }\n        setSelected(previousSelected => ({\n          index: clamp(0, maxIndex, previousSelected.index + 1),\n          scroll: true\n        }));\n        break;\n      case \"Escape\":\n        break;\n      case \"Enter\":\n        if (selectedResult) {\n          navigateTo(selectedResult.url);\n        }\n        break;\n      default:\n        event.stopPropagation();\n    }\n  };\n  const showNoResults = results.length === 0 && deferredQuery.length > 1 && status !== \"loading\";\n  const showDivider = Boolean((deferredQuery.length > 0 && results.length > 0 || showNoResults) && status !== \"loading\" && props.inputOptions && props.inputOptions.dividerType !== SearchInputDividerType.None);\n  const isItemContained = Boolean(props.resultOptions && props.resultOptions.itemType === SearchResultItemType.Contained);\n  const spacing = isItemContained ? theme.spacing : 10;\n  const listPaddingTop = showDivider && isItemContained ? spacing + theme.gapBetweenResults * 2 : 0;\n  useEffect(() => {\n    if (!selected.scroll) return;\n    const element = selectedResultRow.current;\n    if (!element) return;\n    scrollIntoView(element, scrollView.current, {\n      offsetTop: showDivider && isItemContained ? listPaddingTop : 0,\n      offsetBottom: isItemContained ? spacing : 0\n    }); // `showDivider` and `isItemContained` are not dependencies because\n    // they will be the latest values when `selected` changes. And including\n    // them will cause unnecessary scrolling into view.\n  }, [selected]);\n  return /*#__PURE__*/_jsxs(LayoutContainer, {\n    layoutType: layoutType,\n    modalOptions: modalOptions,\n    theme: theme,\n    onKeyDown: handleKeyDown,\n    onDismiss: onDismiss,\n    children: [/*#__PURE__*/_jsxs(ModalContainer, {\n      layoutType: layoutType,\n      theme: theme,\n      heightIsStatic: modalOptions.heightIsStatic,\n      heightTransition: modalOptions.heightTransition,\n      heightDeps: [results.length, showNoResults],\n      children: [/*#__PURE__*/_jsx(Input, {\n        autofocus: true,\n        ref: input,\n        onChange: setQuery,\n        value: query,\n        theme: theme,\n        status: status,\n        iconType: inputOptions.iconOptions.iconType,\n        placeholder: inputOptions.placeholderOptions.placeholderText,\n        clearButtonType: inputOptions ? inputOptions.clearButtonType : undefined,\n        clearButtonText: inputOptions.clearButtonText\n      }), showDivider && /*#__PURE__*/_jsx(Divider, {\n        theme: theme,\n        type: inputOptions.dividerType\n      }), /*#__PURE__*/_jsx(ScrollView, {\n        ref: scrollView,\n        theme: theme,\n        children: /*#__PURE__*/_jsxs(\"ul\", {\n          \"aria-live\": \"polite\",\n          style: {\n            display: \"flex\",\n            flexDirection: \"column\",\n            width: `calc(100% - ${theme.scrollBarWidth}px)`,\n            padding: 0,\n            paddingTop: listPaddingTop,\n            paddingBottom: results.length && isItemContained ? spacing : 0,\n            gap: theme.gapBetweenResults,\n            margin: 0\n          },\n          children: [results.map((result, index) => {\n            const isSelected = index === selected.index;\n            return /*#__PURE__*/_jsx(ResultRow, {\n              ref: isSelected ? selectedResultRow : null,\n              index: index,\n              result: result,\n              prevMousePositionRef: prevMousePositionRef,\n              selected: !isKeyboardNavigationDisabled && isSelected,\n              type: props.resultOptions.itemType,\n              subtitleType: props.resultOptions.subtitleOptions.subtitleType,\n              theme: theme,\n              onMouseMove: handleResultRowMouseMove,\n              onPointerDown: handleResultRowPointerDown,\n              onNavigateTo: navigateTo\n            }, result.url);\n          }), showNoResults && /*#__PURE__*/_jsx(\"li\", {\n            style: {\n              paddingTop: verticalSpacing - listPaddingTop,\n              paddingBottom: verticalSpacing,\n              lineHeight: \"2em\",\n              paddingLeft: theme && theme.horizontalSpacing,\n              paddingRight: theme && theme.horizontalSpacing,\n              height: SearchLayoutType.Sidebar ? \"100%\" : \"auto\"\n            },\n            children: /*#__PURE__*/_jsx(\"h3\", {\n              style: {\n                ...resultTitle,\n                textAlign: \"center\",\n                lineHeight: `calc(${theme.inputFontSize} * 2)`,\n                color: theme.subtitleColor,\n                ...theme.titleFont\n              },\n              children: \"No results\"\n            })\n          })]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(StatusMessage, {\n      status: status,\n      layoutType: layoutType,\n      theme: theme\n    })]\n  });\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"SearchModal\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"SearchModal\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchTheme\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Input\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchResultItemType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchEntryType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchInputClearButtonType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchInputDividerType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchLayoutType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchResultSubtitleType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ResultRow\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SearchIconType\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./SearchModal.map", "import { useEffect, useState } from \"react\";\nfunction getViewportSize() {\n  if (typeof window === \"undefined\") {\n    return {\n      width: 0,\n      height: 0\n    };\n  }\n  return {\n    width: window.innerWidth,\n    height: window.innerHeight\n  };\n}\nexport function useViewportSizeState(getState) {\n  const [state, setState] = useState(() => getState(getViewportSize()));\n  useEffect(() => {\n    const handleWindowResize = () => setState(getState(getViewportSize()));\n    window.addEventListener(\"resize\", handleWindowResize);\n    return () => {\n      window.removeEventListener(\"resize\", handleWindowResize);\n    };\n  }, []);\n  return state;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useViewportSizeState\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./useViewportSizeState.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createPortal } from \"react-dom\";\nimport { useRef, useState, useEffect, forwardRef } from \"react\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport { SearchIcon } from \"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";\nimport { addPropertyControls, ControlType, RenderTarget, withCSS } from \"framer\";\nimport { SearchModal, SearchResultItemType, SearchResultSubtitleType, SearchInputDividerType, SearchInputClearButtonType, SearchLayoutType, SearchIconType } from \"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/PQqGvsCenWu8lZjrdZZz/SearchModal.js\";\nimport { useViewportSizeState } from \"https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js\";\nimport { titleCase, DEFAULT_FONT_FAMILY, isEmptyObject, animationKeyFromLayout, checkIfOverLimit } from \"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js\";\nimport { Browser } from \"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";\nvar\n// SITE SEARCH\n// By Anthony and Hunter\nEntryPointOptions;\n(function (EntryPointOptions) {\n  EntryPointOptions[\"icon\"] = \"Icon\";\n  EntryPointOptions[\"input\"] = \"Input\";\n})(EntryPointOptions || (EntryPointOptions = {}));\nfunction buildShadow(shadowProperty, fallback = \"none\") {\n  if (!shadowProperty) return fallback;\n  const {\n    x,\n    y,\n    blur,\n    color,\n    spread\n  } = shadowProperty;\n  return `${x}px ${y}px ${blur}px ${spread}px ${color}`;\n}\nconst Overlay = /*#__PURE__*/forwardRef(function Overlay(props, ref) {\n  const {\n    layoutType,\n    theme,\n    onDismiss\n  } = props;\n  useEffect(() => {\n    const handleKeyDown = event => {\n      if (event.code === \"Escape\") {\n        event.stopPropagation();\n        onDismiss();\n      }\n    };\n    const handlePointerDown = event => {\n      if (event.pointerType !== \"touch\") return;\n      const isWithinSearchHeader = Boolean(event.target instanceof Element && event.target.closest(\"[role=search]\"));\n      if (isWithinSearchHeader) return;\n      if (document.activeElement instanceof HTMLInputElement) {\n        document.activeElement.blur();\n      }\n    }; // Event listener added to window so that pressing escape key to dimiss\n    // can be invoked from anywhere on the page.\n    window.addEventListener(\"keydown\", handleKeyDown);\n    window.addEventListener(\"pointerdown\", handlePointerDown, {\n      capture: true\n    }); // Disable page scrolling when overlay is shown.\n    document.body.classList.add(bodyOverflowHidden);\n    return () => {\n      window.removeEventListener(\"keydown\", handleKeyDown);\n      window.removeEventListener(\"pointerdown\", handlePointerDown, {\n        capture: true\n      });\n      document.body.classList.remove(bodyOverflowHidden);\n    };\n  }, []);\n  return /*#__PURE__*/createPortal( /*#__PURE__*/_jsxs(\"div\", {\n    ref: ref,\n    className: \"__framer-search-modal-container\",\n    role: \"presentation\",\n    style: {\n      ...backdropStyles,\n      zIndex: props.backdropOptions.zIndex,\n      justifyContent: layoutType === SearchLayoutType.Sidebar ? \"flex-start\" : \"center\"\n    },\n    onClick: onDismiss,\n    children: [/*#__PURE__*/_jsx(motion.div, {\n      role: \"presentation\",\n      initial: {\n        opacity: 0\n      },\n      animate: {\n        opacity: 1\n      },\n      exit: {\n        opacity: 0,\n        transition: {\n          duration: 0\n        }\n      },\n      transition: theme.overlayTransition,\n      style: {\n        top: 0,\n        left: 0,\n        right: 0,\n        bottom: 0,\n        width: \"100%\",\n        height: \"100%\",\n        boxSizing: \"border-box\",\n        position: \"absolute\",\n        touchAction: \"none\",\n        backgroundColor: props.backdropOptions.backgroundColor\n      }\n    }), /*#__PURE__*/_jsx(SearchModal, {\n      urlScope: props.urlScope,\n      layoutType: layoutType,\n      inputOptions: props.inputOptions,\n      resultOptions: props.resultOptions,\n      modalOptions: props.modalOptions,\n      backdropOptions: props.backdropOptions,\n      theme: props.theme,\n      onDismiss: onDismiss\n    })]\n  }), document.body);\n});\nconst backdropStyles = {\n  width: \"100%\",\n  boxSizing: \"border-box\",\n  willChange: \"transform\",\n  position: \"fixed\",\n  display: \"flex\",\n  alignItems: \"flex-start\",\n  top: 0,\n  left: 0,\n  right: 0,\n  bottom: 0\n};\nconst containerStyle = {\n  height: \"100%\",\n  display: \"flex\",\n  borderRadius: 10,\n  cursor: \"inherit\",\n  overflow: \"hidden\"\n};\nconst bodyOverflowHidden = \"__framer-overflow-hidden\"; /**\n                                                       *\n                                                       * SEARCH\n                                                       * By Anthony and Hunter\n                                                       *\n                                                       * @framerSupportedLayoutWidth any-prefer-fixed\n                                                       * @framerSupportedLayoutHeight any-prefer-fixed\n                                                       *\n                                                       * @framerDisableUnlink\n                                                       *\n                                                       * @framerIntrinsicWidth 40\n                                                       * @framerIntrinsicHeight 40\n                                                       */\nconst EntryPoint = withCSS(function EntryPoint(props) {\n  var ref, ref1, ref2, ref3, ref4;\n  const overlay = useRef(null);\n  const [isOpen, setIsOpen] = useState(false);\n  const [isOverLimit, setIsOverLimit] = useState(false);\n  const [isSafariTouchDevice, setIsSafariTouchDevice] = useState(false);\n  const [isOnCanvas] = useState(() => RenderTarget.current() === RenderTarget.canvas);\n  useEffect(() => {\n    setIsOverLimit(checkIfOverLimit());\n    setIsSafariTouchDevice(Browser.isSafari() && Browser.isTouch());\n  }, []);\n  const baseInputFontSize = ((ref = props.inputOptions) === null || ref === void 0 ? void 0 : (ref1 = ref.inputFont) === null || ref1 === void 0 ? void 0 : ref1.fontSize) ? props.inputOptions.inputFont.fontSize : \"16px\"; // The font size is set to a minimum of `16px` on Safari with touch screens\n  // because otherwise Safari will zoom in slightly if the type size is smaller.\n  const inputFontSize = isSafariTouchDevice ? `max(16px, ${baseInputFontSize})` : baseInputFontSize;\n  const layoutType = useViewportSizeState(size => {\n    if (size.width < props.modalOptions.width + 10) {\n      return SearchLayoutType.FixedTop;\n    } // @ts-ignore \u2013 Fallback\n    return props.modalOptions.layoutType || props.layoutType;\n  });\n  const theme = {\n    subtitleColor: props.resultOptions.subtitleOptions.subtitleColor,\n    backgroundColor: props.modalOptions.backgroundColor,\n    foregroundColor: props.resultOptions.titleColor,\n    placeholderColor: props.inputOptions.placeholderOptions.placeholderColor,\n    titleFont: ((ref2 = props.resultOptions) === null || ref2 === void 0 ? void 0 : ref2.titleFont) && !isEmptyObject(props.resultOptions.titleFont) ? props.resultOptions.titleFont : {\n      fontSize: 14,\n      fontFamily: DEFAULT_FONT_FAMILY,\n      fontWeight: 500\n    },\n    subtitleFont: ((ref3 = props.resultOptions.subtitleOptions) === null || ref3 === void 0 ? void 0 : ref3.subtitleFont) && !isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont) ? props.resultOptions.subtitleOptions.subtitleFont : {\n      fontSize: 12,\n      fontFamily: DEFAULT_FONT_FAMILY,\n      fontWeight: 500\n    },\n    inputFont: ((ref4 = props.inputOptions) === null || ref4 === void 0 ? void 0 : ref4.inputFont) && !isEmptyObject(props.inputOptions.inputFont) ? props.inputOptions.inputFont : {\n      fontSize: 16,\n      fontFamily: DEFAULT_FONT_FAMILY,\n      fontWeight: 500\n    },\n    // Keep separate so we can more easily override\n    inputFontSize: inputFontSize,\n    width: props.modalOptions.width,\n    offsetTop: props.modalOptions.top,\n    borderRadius: props.modalOptions.borderRadius,\n    shadow: buildShadow(props.modalOptions.shadow),\n    entryIconColor: props.iconColor,\n    entryIconSize: props.iconSize,\n    entryIconImage: props.iconImage,\n    inputIconSize: props.inputOptions.iconOptions.iconSize,\n    inputIconColor: props.inputOptions.iconOptions.iconColor,\n    inputIconImage: props.inputOptions.iconOptions.iconImage,\n    gapBetweenStatusAndSearch: 16,\n    gapBetweenResults: 1,\n    scrollBarWidth: 20,\n    margin: 10,\n    spacing: 8,\n    zIndex: props.backdropOptions.zIndex,\n    horizontalSpacing: 20,\n    overlayTransition: props.backdropOptions.transition\n  };\n  const handleClick = event => {\n    // Both need to keep `autofocus` working on the search input.\n    event.preventDefault();\n    event.stopPropagation();\n    if (isOverLimit) return;\n    setIsOpen(true);\n  };\n  return /*#__PURE__*/_jsxs(\"div\", {\n    style: {\n      ...containerStyle,\n      ...props.style,\n      pointerEvents: isOverLimit ? \"none\" : \"auto\",\n      opacity: isOverLimit ? .4 : 1\n    },\n    children: [/*#__PURE__*/_jsx(\"button\", {\n      \"aria-label\": \"Search Icon\",\n      style: {\n        width: \"100%\",\n        height: \"100%\",\n        display: \"flex\",\n        alignItems: \"center\",\n        justifyContent: \"center\",\n        background: \"none\",\n        cursor: \"inherit\",\n        color: \"inherit\",\n        border: \"none\",\n        outline: \"inherit\",\n        padding: 0\n      },\n      onClick: handleClick,\n      children: props.iconType === SearchIconType.Custom && theme.entryIconImage ? /*#__PURE__*/_jsx(\"img\", {\n        alt: \"icon entry point for Site Search\",\n        src: theme.entryIconImage.src,\n        width: theme.entryIconSize,\n        height: theme.entryIconSize\n      }) : /*#__PURE__*/_jsx(SearchIcon, {\n        color: theme.entryIconColor,\n        width: theme.entryIconSize,\n        height: theme.entryIconSize\n      })\n    }), /*#__PURE__*/_jsx(AnimatePresence, {\n      children: isOpen && !isOnCanvas && /*#__PURE__*/_jsx(Overlay, {\n        ref: overlay,\n        layoutType: layoutType,\n        urlScope: props.urlScope,\n        inputOptions: props.inputOptions,\n        resultOptions: props.resultOptions,\n        backdropOptions: props.backdropOptions,\n        modalOptions: props.modalOptions,\n        theme: theme,\n        onDismiss: () => setIsOpen(false)\n      })\n    })]\n  });\n}, [\n// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,\n// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,\n// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `, `\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,\n// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`]);\nexport default EntryPoint;\naddPropertyControls(EntryPoint, {\n  urlScope: {\n    title: \"Scope\",\n    // @ts-ignore - Internal\n    type: ControlType.PageScope\n  },\n  // entryType: {\n  //     title: \"Type\",\n  //     type: ControlType.Enum,\n  //     options: Object.values(SearchEntryType),\n  //     optionTitles: Object.values(SearchEntryType).map(titleCase),\n  //     displaySegmentedControl: true,\n  // },\n  iconType: {\n    title: \"Icon\",\n    type: ControlType.Enum,\n    options: Object.values(SearchIconType),\n    optionTitles: Object.values(SearchIconType).map(titleCase),\n    displaySegmentedControl: true\n  },\n  iconColor: {\n    title: \"Color\",\n    type: ControlType.Color,\n    defaultValue: \"#333\",\n    hidden: props => props.iconType === SearchIconType.Custom\n  },\n  iconImage: {\n    title: \"File\",\n    type: ControlType.ResponsiveImage,\n    allowedFileTypes: [\"jpg\", \"png\", \"svg\"],\n    hidden: props => props.iconType === SearchIconType.Default\n  },\n  iconSize: {\n    title: \"Size\",\n    type: ControlType.Number,\n    displayStepper: true,\n    defaultValue: 24\n  },\n  inputOptions: {\n    title: \"Input\",\n    type: ControlType.Object,\n    buttonTitle: \"Icon, Styles\",\n    controls: {\n      iconOptions: {\n        title: \"Icon\",\n        type: ControlType.Object,\n        buttonTitle: \"Color, Size\",\n        controls: {\n          iconType: {\n            title: \"Icon\",\n            type: ControlType.Enum,\n            options: Object.values(SearchIconType),\n            optionTitles: Object.values(SearchIconType).map(titleCase),\n            displaySegmentedControl: true\n          },\n          iconColor: {\n            title: \"Color\",\n            type: ControlType.Color,\n            defaultValue: \"rgba(0, 0, 0, 0.45)\",\n            hidden: ({\n              iconType\n            }) => {\n              return iconType === SearchIconType.Custom;\n            }\n          },\n          iconImage: {\n            title: \"File\",\n            type: ControlType.ResponsiveImage,\n            allowedFileTypes: [\"jpg\", \"png\", \"svg\"],\n            hidden: ({\n              iconType\n            }) => iconType === SearchIconType.Default\n          },\n          iconSize: {\n            title: \"Icon Size\",\n            type: ControlType.Number,\n            displayStepper: true,\n            defaultValue: 18,\n            min: 0,\n            max: 100\n          }\n        }\n      },\n      inputFont: {\n        title: \"Font\",\n        // @ts-ignore \u2013\u00A0Internal\n        type: ControlType.Font,\n        displayFontSize: true\n      },\n      textColor: {\n        title: \"Color\",\n        type: ControlType.Color,\n        defaultValue: \"#333\"\n      },\n      placeholderOptions: {\n        title: \"Placeholder\",\n        type: ControlType.Object,\n        buttonTitle: \"Color, Text\",\n        controls: {\n          placeholderText: {\n            title: \"Text\",\n            type: ControlType.String,\n            defaultValue: \"Search...\"\n          },\n          placeholderColor: {\n            title: \"Color\",\n            type: ControlType.Color,\n            defaultValue: \"rgba(0,0,0,0.4)\"\n          }\n        }\n      },\n      dividerType: {\n        title: \"Divider\",\n        type: ControlType.Enum,\n        options: Object.values(SearchInputDividerType),\n        optionTitles: Object.keys(SearchInputDividerType).map(titleCase),\n        defaultValue: SearchInputDividerType.FullWidth\n      },\n      clearButtonType: {\n        title: \"Clear Type\",\n        type: ControlType.Enum,\n        options: Object.values(SearchInputClearButtonType),\n        optionTitles: Object.keys(SearchInputClearButtonType).map(titleCase),\n        defaultValue: SearchInputClearButtonType.Icon\n      },\n      clearButtonText: {\n        title: \"Clear Text\",\n        type: ControlType.String,\n        defaultValue: \"Clear\",\n        hidden: props => props.clearButtonType !== SearchInputClearButtonType.Text\n      }\n    }\n  },\n  modalOptions: {\n    title: \"Modal\",\n    buttonTitle: \"Layout, Width\",\n    type: ControlType.Object,\n    controls: {\n      layoutType: {\n        title: \"Layout\",\n        type: ControlType.Enum,\n        options: Object.keys(SearchLayoutType),\n        optionTitles: Object.values(SearchLayoutType).map(titleCase),\n        defaultValue: SearchLayoutType.QuickMenu\n      },\n      width: {\n        title: \"Width\",\n        type: ControlType.Number,\n        defaultValue: 500,\n        min: 200,\n        max: 1e3,\n        displayStepper: true,\n        step: 5,\n        hidden: props => props.layoutType === SearchLayoutType.FixedTop\n      },\n      top: {\n        title: \"Top\",\n        type: ControlType.Number,\n        defaultValue: 0,\n        min: 0,\n        max: 1e3,\n        displayStepper: true,\n        hidden: props => props.layoutType !== SearchLayoutType.FixedTop\n      },\n      heightIsStatic: {\n        title: \"Height\",\n        type: ControlType.Boolean,\n        enabledTitle: \"Instant\",\n        disabledTitle: \"Animate\",\n        hidden: ({\n          layoutType\n        }) => layoutType !== SearchLayoutType.QuickMenu\n      },\n      heightTransition: {\n        title: \"Type\",\n        type: ControlType.Transition,\n        defaultValue: {\n          type: \"spring\",\n          stiffness: 800,\n          damping: 60\n        },\n        hidden: ({\n          heightIsStatic,\n          layoutType\n        }) => layoutType !== SearchLayoutType.QuickMenu || heightIsStatic\n      },\n      borderRadius: {\n        title: \"Radius\",\n        type: ControlType.Number,\n        defaultValue: 16,\n        displayStepper: true,\n        min: 0,\n        hidden: ({\n          layoutType\n        }) => layoutType !== SearchLayoutType.QuickMenu\n      },\n      shadow: {\n        buttonTitle: \"Options\",\n        type: ControlType.Object,\n        defaultValue: {\n          x: 0,\n          y: 20,\n          blur: 40,\n          spread: 0,\n          color: \"rgba(0,0,0,0.2)\"\n        },\n        controls: {\n          color: {\n            type: ControlType.Color,\n            defaultValue: \"rgba(0,0,0,0.2)\"\n          },\n          x: {\n            type: ControlType.Number,\n            defaultValue: 0\n          },\n          y: {\n            type: ControlType.Number,\n            defaultValue: 20\n          },\n          blur: {\n            type: ControlType.Number,\n            defaultValue: 40\n          },\n          spread: {\n            type: ControlType.Number,\n            defaultValue: 0\n          }\n        }\n      },\n      backgroundColor: {\n        title: \"Background\",\n        type: ControlType.Color,\n        defaultValue: \"#FFF\"\n      },\n      [animationKeyFromLayout(SearchLayoutType.QuickMenu)]: {\n        title: \"Animation\",\n        type: ControlType.Object,\n        icon: \"effect\",\n        hidden: ({\n          layoutType\n        }) => layoutType !== SearchLayoutType.QuickMenu,\n        optional: true,\n        buttonTitle: \"Options\",\n        controls: {\n          opacity: {\n            type: ControlType.Number,\n            defaultValue: .5,\n            step: .1,\n            min: 0,\n            max: 1\n          },\n          scale: {\n            type: ControlType.Number,\n            defaultValue: .75,\n            step: .1,\n            min: 0,\n            max: 2\n          },\n          // rotate: {\n          //     type: ControlType.Number,\n          //     defaultValue: 0,\n          //     min: -360,\n          //     max: 360,\n          // },\n          x: {\n            type: ControlType.Number,\n            defaultValue: 0,\n            min: -500,\n            max: 500\n          },\n          y: {\n            type: ControlType.Number,\n            defaultValue: 0,\n            min: -500,\n            max: 500\n          },\n          transition: {\n            type: ControlType.Transition\n          }\n        }\n      },\n      [animationKeyFromLayout(SearchLayoutType.FixedTop)]: {\n        title: \"Animation\",\n        type: ControlType.Object,\n        icon: \"effect\",\n        buttonTitle: \"Options\",\n        hidden: ({\n          layoutType\n        }) => layoutType !== SearchLayoutType.FixedTop,\n        optional: true,\n        controls: {\n          opacity: {\n            type: ControlType.Number,\n            defaultValue: .8,\n            step: .1,\n            min: 0,\n            max: 1\n          },\n          y: {\n            type: ControlType.Number,\n            defaultValue: 0,\n            min: -100,\n            max: 100\n          },\n          transition: {\n            type: ControlType.Transition\n          }\n        }\n      },\n      [animationKeyFromLayout(SearchLayoutType.Sidebar)]: {\n        title: \"Animation\",\n        type: ControlType.Object,\n        icon: \"effect\",\n        buttonTitle: \"Options\",\n        hidden: ({\n          layoutType\n        }) => layoutType !== SearchLayoutType.Sidebar,\n        optional: true,\n        controls: {\n          opacity: {\n            type: ControlType.Number,\n            defaultValue: .8,\n            step: .1,\n            min: 0,\n            max: 1\n          },\n          x: {\n            type: ControlType.Number,\n            defaultValue: 0,\n            min: -1e3,\n            max: 1e3\n          },\n          transition: {\n            type: ControlType.Transition\n          }\n        }\n      }\n    }\n  },\n  resultOptions: {\n    title: \"Results\",\n    buttonTitle: \"Fonts, Style\",\n    type: ControlType.Object,\n    defaultValue: {},\n    // description:\n    //     \"Learn more about how to use Site Search [here](https://framer.com/learn/site-search)\",\n    controls: {\n      itemType: {\n        title: \"Style\",\n        type: ControlType.Enum,\n        options: Object.values(SearchResultItemType),\n        optionTitles: Object.keys(SearchResultItemType).map(titleCase),\n        defaultValue: SearchResultItemType.FullWidth\n      },\n      titleFont: {\n        title: \"Title\",\n        // @ts-ignore - Internal\n        type: ControlType.Font,\n        defaultValue: {\n          fontSize: 15\n        },\n        displayFontSize: true\n      },\n      titleColor: {\n        title: \"Color\",\n        type: ControlType.Color,\n        defaultValue: \"#333\"\n      },\n      subtitleOptions: {\n        type: ControlType.Object,\n        title: \"Subtitle\",\n        buttonTitle: \"Font, Content\",\n        controls: {\n          subtitleFont: {\n            title: \"Font\",\n            // @ts-ignore - Internal\n            type: ControlType.Font,\n            defaultValue: {\n              fontSize: 13\n            },\n            displayFontSize: true\n          },\n          subtitleColor: {\n            title: \"Color\",\n            type: ControlType.Color,\n            defaultValue: \"rgba(0, 0, 0, 0.4)\"\n          },\n          subtitleType: {\n            title: \"Content\",\n            type: ControlType.Enum,\n            options: Object.values(SearchResultSubtitleType),\n            optionTitles: Object.keys(SearchResultSubtitleType).map(titleCase),\n            defaultValue: SearchResultSubtitleType.Path\n          }\n        }\n      }\n    }\n  },\n  backdropOptions: {\n    title: \"Backdrop\",\n    type: ControlType.Object,\n    buttonTitle: \"Color, Z Index\",\n    controls: {\n      backgroundColor: {\n        title: \"Color\",\n        type: ControlType.Color,\n        defaultValue: \"rgba(0, 0, 0, 0.8)\"\n      },\n      zIndex: {\n        title: \"Z Index\",\n        type: ControlType.Number,\n        defaultValue: 10,\n        displayStepper: true,\n        min: 0,\n        max: 10\n      },\n      transition: {\n        type: ControlType.Transition\n      }\n    }\n  }\n});\nEntryPoint.displayName = \"Search\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Shadow\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"EntryPoint\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutWidth\": \"any-prefer-fixed\",\n        \"framerIntrinsicHeight\": \"40\",\n        \"framerSupportedLayoutHeight\": \"any-prefer-fixed\",\n        \"framerIntrinsicWidth\": \"40\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ResponsiveImage\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"EntryPointProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"WindowAnimation\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "import { fontStore } from \"framer\";\nfontStore.loadWebFontsFromSelectors([]);\nexport const fonts = [];\nexport const css = ['.framer-vhmVb .framer-styles-preset-12th7nw:not(.rich-text-wrapper), .framer-vhmVb .framer-styles-preset-12th7nw.rich-text-wrapper a { --framer-link-current-text-color: #ffffff; --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-5e0af6cc-aaef-4b23-9d53-7f200948f4a5, #3e43bd) /* {\"name\":\"primary\"} */; --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-07dc1db9-45e3-4c50-b506-190e5f758a22, #ffffff); --framer-link-text-decoration: none; transition: color 0.3s cubic-bezier(0.44, 0, 0.56, 1) 0s; }'];\nexport const className = \"framer-vhmVb\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"className\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"css\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fonts\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "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",
  "names": ["e", "npm_react_18_1_exports", "t", "o", "a", "f", "n", "s", "_", "q", "r", "l", "p", "u", "scaleData", "Data", "scaleOnHover", "withscaleOnHover", "C", "props", "re", "DataObserverContext", "p", "MotionAWithscaleOnHover", "withscaleOnHover", "motion", "enabledGestures", "cycleOrder", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transitions", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "humanReadableVariantMap", "getProps", "height", "id", "link", "newTab", "smoothScroll", "title", "width", "props", "ref", "_variant", "ref1", "ref2", "createLayoutDependency", "Component", "Y", "activeLocale", "useLocaleInfo", "style", "className", "layoutId", "r9JBfhktV", "hh0Yba9ug", "lGaUHcDdR", "VL88EDh87", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "defaultLayoutId", "ae", "LayoutGroup", "cx", "Link", "RichText", "x", "css", "FramerY2YsLiprg", "withCSS", "Y2YsLiprg_default", "addPropertyControls", "ControlType", "addFonts", "r", "t", "a", "e", "l", "n", "o", "i", "u", "f", "p", "s", "d", "m", "v", "y", "h", "x", "g", "b", "E", "w", "S", "W", "I", "j", "L", "A", "c", "window", "visibleVariant", "variantToString", "variant", "MotionText", "props", "opacity", "x", "y", "scale", "rotate", "rotateX", "rotateY", "isCanvas", "RenderTarget", "initialOpacity", "useMotionValue", "isSpring", "lastVariant", "pe", "animate", "setAnimate", "ye", "hasIndexAnimatedRef", "ue", "springCurve", "easeCurve", "item", "filteredTransition", "delay", "isLetter", "isWord", "isLine", "splitWrapperStyle", "getSplitTextProps", "sharedProps", "info", "p", "MotionSpanComponent", "motion", "getIndex", "countIndex", "letterIndex", "wordIndex", "lineIndex", "perWord", "type", "variants", "stagger", "children", "index", "re", "MotionContext", "addPropertyControls", "ControlType", "fontStore", "fonts", "css", "className", "fontStore", "fonts", "css", "className", "cycleOrder", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transitions", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "humanReadableVariantMap", "getProps", "answer", "height", "id", "question", "width", "props", "ref", "_variant", "ref1", "ref2", "createLayoutDependency", "Component", "Y", "activeLocale", "useLocaleInfo", "style", "className", "layoutId", "W88zB8mIG", "T8rQFvSBR", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap15vsukg", "args", "onTap1klk15q", "isDisplayed", "isDisplayed1", "defaultLayoutId", "ae", "LayoutGroup", "motion", "cx", "u", "RichText", "x", "css", "FramervIn0777hc", "withCSS", "vIn0777hc_default", "addPropertyControls", "ControlType", "addFonts", "fonts", "RowFonts", "getFonts", "vIn0777hc_default", "cycleOrder", "variantClassNames", "transitions", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "getProps", "height", "id", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "activeLocale", "useLocaleInfo", "style", "className", "layoutId", "variant", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "cycleOrder", "variantClassNames", "layoutDependency", "defaultLayoutId", "ae", "LayoutGroup", "motion", "cx", "u", "vIn0777hc_default", "css", "FramersU_P9IJz3", "withCSS", "sU_P9IJz3_default", "addFonts", "RowFonts", "noopReturn", "t", "e", "t", "velocityPerSecond", "calcBezier", "t", "n", "e", "i", "binarySubdivide", "o", "c", "u", "s", "cubicBezier", "noopReturn", "getTForX", "o", "cubicBezier", "__rest", "r", "n", "n", "e", "t", "r", "s", "calcGeneratorVelocity", "t", "n", "r", "a", "velocityPerSecond", "calcDampingRatio", "hasReachedTarget", "spring", "c", "i", "h", "e", "u", "d", "glide", "o", "f", "isOutOfBounds", "nearestBoundary", "l", "g", "m", "calcDelta", "calcLatest", "applyFriction", "p", "M", "checkCatchBoundary", "pregenerateKeyframes", "W", "L", "D", "M", "noopReturn", "k", "asTransformCssVar", "B", "L", "W", "j", "B", "testAnimation", "C", "$", "R", "resolveElements", "createGeneratorEasing", "o", "getGenerator", "t", "i", "s", "r", "a", "getKeyframes", "e", "pregenerateKeyframes", "n", "c", "isNumberOrNull", "l", "f", "u", "d", "calcGeneratorVelocity", "g", "m", "N", "spring", "F", "glide", "U", "inView$1", "resolveElements", "onIntersectionChange", "q", "K", "getElementSize", "notifyTarget", "notifyAll", "createResizeObserver", "resizeElement", "G", "_", "createWindowResizeHandler", "window", "resizeWindow", "resize", "dispatchPointerEvent", "dispatchViewEvent", "se", "o", "i", "s", "__rest", "inView$1", "t", "mouseEvent", "re", "ae", "onPointerUp", "window", "onPointerDown", "n", "ce", "le", "fontStack", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "fontWeights", "useFontControls", "props", "fontFamily", "fontSize", "fontWeight", "font", "fontWeightName", "customFontStack", "fontStack", "fontFamilyStyle", "fetchCustomFonts", "fontStore", "e", "ue", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "usePadding", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingControl", "emailRegex", "validateEmail", "email", "FormSpark", "withCSS", "formId", "withName", "name", "withEmail", "withMessage", "message", "layout", "inputs", "button", "style", "gap", "onSubmit", "props", "nameValue", "setName", "ye", "emailValue", "setEmail", "messageValue", "setMessage", "isNameError", "setNameError", "isEmailError", "setEmailError", "isMessageError", "setMessageError", "isLoading", "setLoading", "isSuccess", "setSuccess", "isCanvas", "se", "RenderTarget", "gridTemplateRows", "rows", "gridTemplateColumns", "cols", "fontFamily", "fontSize", "fontWeight", "useFontControls", "borderRadius", "useRadius", "paddingValue", "usePadding", "validateForm", "te", "error", "handleSubmit", "event", "data", "entries", "handleNameChange", "handleEmailChange", "handleMessageChange", "p", "motion", "containerStyles", "u", "defaultStyle", "addPropertyControls", "ControlType", "fontControls", "paddingControl", "borderRadiusControl", "FormSpark_default", "containerStyles", "emptyStateStyle", "containerStyles", "NullState", "Y", "_", "ref", "p", "e", "f", "r", "o", "t", "n", "defaultEvents", "ControlType", "findByArray", "arr", "search", "a", "useIconSelection", "iconKeys", "selectByList", "iconSearch", "iconSelection", "lowercaseIconKeyPairs", "iconSearchResult", "se", "iconSearchTerm", "_iconSearchTerm", "findByArray", "iconKeys", "moduleBaseUrl", "lowercaseIconKeyPairs", "res", "key", "Icon", "props", "color", "selectByList", "iconSearch", "iconSelection", "onClick", "onMouseDown", "onMouseUp", "onMouseEnter", "onMouseLeave", "mirrored", "isMounted", "pe", "iconKey", "useIconSelection", "SelectedIcon", "setSelectedIcon", "ye", "f", "npm_react_18_1_exports", "importModule", "module", "ue", "emptyState", "RenderTarget", "p", "NullState", "addPropertyControls", "ControlType", "defaultEvents", "fontStore", "fonts", "css", "className", "SearchIcon", "props", "p", "ClearIcon", "u", "SpinnerIcon", "motion", "Storage", "name", "resolve", "reject", "request", "window", "e", "key", "value", "setCachedData", "url", "dataToCache", "cache", "Storage", "cacheKey", "data", "checkForCachedData", "VERSION", "INDEX_KEY", "METADATA_KEY", "getCachedIndex", "cachedIndex", "checkForCachedData", "setCachedIndex", "index", "setCachedData", "fakeResults", "peq", "myers_32", "a", "b", "m", "lst", "pv", "mv", "sc", "i", "eq", "xv", "myers_x", "mhc", "phc", "hsize", "vsize", "j", "start", "vlen", "k", "i1", "pb", "mb", "xh", "ph", "mh", "k1", "mv1", "pv1", "start1", "vlen1", "k2", "score", "i2", "eq1", "pb1", "mb1", "xv1", "xh1", "ph1", "mh1", "k3", "distance", "tmp", "localStorageDebugFlag", "window", "groupsRegex", "capitalizeFirstLetter", "value", "titleCase", "clampText", "text", "maxLength", "textLength", "slicedText", "isEmptyObject", "object", "createLogger", "showOutput", "log", "data", "time", "label", "timeEnd", "noop", "DEFAULT_FONT_FAMILY", "getFontFamily", "theme", "ref", "ref1", "ref2", "animationKeyFromLayout", "layout", "safeDocument", "safeWindow", "metaTagSelector", "getMetaTagContent", "metaTag", "checkIfOverLimit", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "isValidUrl", "url", "splitWords", "text", "getUniqueWords", "str", "words", "word", "getNormalizedString", "getNormalizedItem", "item", "normalizedItem", "key", "value", "getMatchRange", "currentRange", "start", "end", "result", "getScoreForSearchIndexItem", "query", "fullQuery", "score", "match", "urlWords", "splitLength", "clamp", "titleWords", "titleIndex", "distance", "titleWord", "headings", "heading", "headingWords", "headingWord", "descriptionIndex", "p", "codeblock", "getSearchIndexItemScore", "normalizedQuery", "queryWords", "total", "queryWord", "useRawSearch", "index", "settings", "se", "path", "safeWindow", "results", "itemA", "itemB", "getIndexedScopedToUrl", "rawUrlScope", "scopedIndex", "baseScopeUrlHasVariable", "urlUpToPathVariable", "urlScope", "useSearch", "searchIndex", "_setSearchIndex", "ye", "status", "setStatus", "setSearchIndex", "options", "ue", "loadSearchIndex", "metaTag", "safeDocument", "fakeResults", "cachedIndex", "getCachedIndex", "metaTagContent", "isOverLimit", "response", "downloadedIndex", "setCachedIndex", "error", "Browser", "isTouch", "window", "navigator", "isChrome", "isWebKit", "isSafari", "isSafariDesktop", "isWindows", "isMacOS", "useCallbackOnMouseMove", "callback", "mousePositionRef", "prevPositionRef", "pe", "te", "event", "Browser", "ref", "clientX", "clientY", "prevCursorPosition", "scrollIntoView", "targetElement", "scrollElement", "offsetTop", "offsetBottom", "targetElementBounds", "scrollElementBounds", "difference", "topAligned", "minOffset", "bottomAligned", "offset", "MAX_DESCRIPTION_LENGTH", "MODAL_MAX_HEIGHT", "VERTICAL_SPACING_MULTIPLIER", "ClearButton", "theme", "type", "onClick", "text", "iconOrText", "SearchInputClearButtonType", "p", "ClearIcon", "Divider", "styles", "SearchInputDividerType", "Input", "Y", "props", "ref", "value", "status", "autofocus", "placeholder", "iconType", "clearButtonType", "onChange", "inputValue", "setInputValue", "ye", "isFocused", "setIsFocused", "inputRef", "pe", "ce", "e", "inputElement", "handleInputClick", "handleClearClick", "ue", "hasInputText", "showClearButton", "verticalSpacing", "searchIcon", "SearchIconType", "SearchIcon", "u", "inputContainerStyle", "getFontFamily", "SpinnerIcon", "inputStyle", "scrollOffset", "ResultRow", "index", "result", "prevMousePositionRef", "SearchResultItemType", "subtitleType", "SearchResultSubtitleType", "selected", "style", "onMouseMove", "onPointerDown", "onNavigateTo", "url", "title", "score", "urlPath", "se", "handleMouseMove", "useCallbackOnMouseMove", "event", "isContained", "borderRadius", "clamp", "subtitleText", "clampText", "handleClick", "focusTrap", "resultContainer", "resultTitle", "localStorageDebugFlag", "QuickMenuSpacer", "layoutContainerStyle", "LayoutContainer", "layoutType", "onKeyDown", "onDismiss", "children", "modalOptions", "layoutStyles", "getLayoutBaseStyles", "SearchLayoutType", "innerStyle", "getContainerAnimation", "key", "animationKeyFromLayout", "prop", "Browser", "key1", "prop1", "key2", "prop2", "containerAnimation", "motion", "ModalContainer", "heightIsStatic", "heightTransition", "heightDeps", "scope", "animate", "useAnimate", "fe", "prevHeight", "height", "ScrollView", "isTouch", "canScroll", "setCanScroll", "element", "statusStyle", "StatusMessage", "previewInfoText", "sidebarStyles", "fixedTopStyles", "quickMenuStyles", "layoutOption", "SearchEntryType", "SearchModal", "urlScope", "inputOptions", "backdropOptions", "input", "selectedResultRow", "scrollView", "setSelected", "isKeyboardNavigationDisabled", "setIsKeyboardNavigationDisabled", "query", "setQuery", "deferredQuery", "oe", "results", "useSearch", "selectedResult", "handleResultRowPointerDown", "te", "handleResultRowMouseMove", "previousSelected", "navigateTo", "window", "handleKeyDown", "maxIndex", "showNoResults", "showDivider", "isItemContained", "spacing", "listPaddingTop", "scrollIntoView", "isSelected", "getViewportSize", "window", "useViewportSizeState", "getState", "state", "setState", "ye", "ue", "handleWindowResize", "EntryPointOptions", "buildShadow", "shadowProperty", "fallback", "x", "y", "blur", "color", "spread", "Overlay", "Y", "props", "ref", "layoutType", "theme", "onDismiss", "ue", "handleKeyDown", "event", "handlePointerDown", "window", "bodyOverflowHidden", "qa", "u", "backdropStyles", "SearchLayoutType", "p", "motion", "SearchModal", "containerStyle", "EntryPoint", "withCSS", "ref1", "ref2", "ref3", "ref4", "overlay", "pe", "isOpen", "setIsOpen", "ye", "isOverLimit", "setIsOverLimit", "isSafariTouchDevice", "setIsSafariTouchDevice", "isOnCanvas", "RenderTarget", "checkIfOverLimit", "Browser", "baseInputFontSize", "inputFontSize", "useViewportSizeState", "size", "isEmptyObject", "DEFAULT_FONT_FAMILY", "handleClick", "SearchIconType", "SearchIcon", "AnimatePresence", "Search_default", "addPropertyControls", "ControlType", "titleCase", "iconType", "SearchInputDividerType", "SearchInputClearButtonType", "heightIsStatic", "animationKeyFromLayout", "SearchResultItemType", "SearchResultSubtitleType", "fontStore", "fonts", "css", "className"]
}
