{"version":3,"file":"shared-lib.BQEGLQL3.mjs","names":["emptyStateStyle","defaultEvents","fontSizeOptions","fontControls","borderRadiusControl","paddingControl","useRef","useLayoutEffect","containerStyles","emptyStateStyle","useMemo","useMemo","containerStyles","defaultEmptyStateStyle","useState","useCallback","useRef","Head.Script"],"sources":["https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/pGX59rXoC0HT59XwdE2E/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/hBlZg653Ysd6kjz7zLQR/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/M5fttmqD6cHt7sJo18U0/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/P9C4xa5EyEV5QrWg6L16/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/xj83Fugl9PimBxSG0Mqo/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/nacLjsTMn32cMNAw9Zfm/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/1OOG8WmiJmFKh6mvmfrV/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/5DVyfdzmPxtXf0YHiZCB/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/Iy0HwLMS0wA3yltSv2VO/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/1ROHI8D9Isp5lwLhCj5v/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/cEFVyEx9T01KOFOsOKOU/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/gdTelnbTEhE4YcdtjFBZ/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/6PUrw5LusdRrh9u1cVlt/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/BCJs1xCXLqBrNkXEeakd/index.js","https:/framer.com/m/framer/default-utils.js@0.42.0","https:/framerusercontent.com/modules/DmR5o8OAjm07LPrfXm4d/0DJ9VAp4ohq4RF96KF6A/Head.js","https:/framer.com/m/Head-KL6Y.js@0DJ9VAp4ohq4RF96KF6A","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/tTLhbOFToDhKcwOVmn8E/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/AAh30yXzt1DUsOi1YwUY/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/Pk7RhKpPAlu4xr8tiZYq/index.js","https:/framer.com/m/framer/default-utils.js@^0.43.0","https:/framerusercontent.com/modules/ZORE1BBUY4n4vHC0WFDH/bnwaYkSw2e4q5eLH4jPK/styles.js","https:/framer.com/m/framer/integrations-styles.js@0.2.0","https:/framerusercontent.com/modules/0FGMb16YHyLms7uyPaAH/uiNz4HGoeFhuXmRmChjk/Trustpilot.js","https:/framerusercontent.com/modules/mLroyPxJMnrDau6a3j9t/7Y6n6Mx9sdXlpOG9Olk5/siteMetadata.js"],"sourcesContent":["import { ControlType } from \"framer\"; export const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`; export const containerStyles = {position: \"relative\", width: \"100%\", height: \"100%\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}; export const emptyStateStyle = {...containerStyles, borderRadius: 6, background: \"rgba(136, 85, 255, 0.3)\", color: \"#85F\", border: \"1px dashed #85F\", flexDirection: \"column\"}; export const defaultEvents = {onClick: {type: ControlType.EventHandler}, onMouseEnter: {type: ControlType.EventHandler}, onMouseLeave: {type: ControlType.EventHandler}}; export const fontSizeOptions = {type: ControlType.Number, title: \"Font Size\", min: 2, max: 200, step: 1, displayStepper: true}; export const fontControls = {font: {type: ControlType.Boolean, title: \"Font\", defaultValue: false, disabledTitle: \"Default\", enabledTitle: \"Custom\"}, fontFamily: {type: ControlType.String, title: \"Family\", placeholder: \"Inter\", hidden: ({ font }) => { return !font; }}, fontWeight: {type: ControlType.Enum, title: \"Weight\", options: [100, 200, 300, 400, 500, 600, 700, 800, 900], optionTitles: [\"Thin\", \"Extra-light\", \"Light\", \"Regular\", \"Medium\", \"Semi-bold\", \"Bold\", \"Extra-bold\", \"Black\"], hidden: ({ font }) => { return !font; }}}; export const localeOptions = {af: \"Afrikaans\", sq: \"Albanian\", an: \"Aragonese\", ar: \"Arabic (Standard)\", \"ar-dz\": \"Arabic (Algeria)\", \"ar-bh\": \"Arabic (Bahrain)\", \"ar-eg\": \"Arabic (Egypt)\", \"ar-iq\": \"Arabic (Iraq)\", \"ar-jo\": \"Arabic (Jordan)\", \"ar-kw\": \"Arabic (Kuwait)\", \"ar-lb\": \"Arabic (Lebanon)\", \"ar-ly\": \"Arabic (Libya)\", \"ar-ma\": \"Arabic (Morocco)\", \"ar-om\": \"Arabic (Oman)\", \"ar-qa\": \"Arabic (Qatar)\", \"ar-sa\": \"Arabic (Saudi Arabia)\", \"ar-sy\": \"Arabic (Syria)\", \"ar-tn\": \"Arabic (Tunisia)\", \"ar-ae\": \"Arabic (U.A.E.)\", \"ar-ye\": \"Arabic (Yemen)\", hy: \"Armenian\", as: \"Assamese\", ast: \"Asturian\", az: \"Azerbaijani\", eu: \"Basque\", bg: \"Bulgarian\", be: \"Belarusian\", bn: \"Bengali\", bs: \"Bosnian\", br: \"Breton\", my: \"Burmese\", ca: \"Catalan\", ch: \"Chamorro\", ce: \"Chechen\", zh: \"Chinese\", \"zh-hk\": \"Chinese (Hong Kong)\", \"zh-cn\": \"Chinese (PRC)\", \"zh-sg\": \"Chinese (Singapore)\", \"zh-tw\": \"Chinese (Taiwan)\", cv: \"Chuvash\", co: \"Corsican\", cr: \"Cree\", hr: \"Croatian\", cs: \"Czech\", da: \"Danish\", nl: \"Dutch (Standard)\", \"nl-be\": \"Dutch (Belgian)\", en: \"English\", \"en-au\": \"English (Australia)\", \"en-bz\": \"English (Belize)\", \"en-ca\": \"English (Canada)\", \"en-ie\": \"English (Ireland)\", \"en-jm\": \"English (Jamaica)\", \"en-nz\": \"English (New Zealand)\", \"en-ph\": \"English (Philippines)\", \"en-za\": \"English (South Africa)\", \"en-tt\": \"English (Trinidad & Tobago)\", \"en-gb\": \"English (United Kingdom)\", \"en-us\": \"English (United States)\", \"en-zw\": \"English (Zimbabwe)\", eo: \"Esperanto\", et: \"Estonian\", fo: \"Faeroese\", fa: \"Farsi\", fj: \"Fijian\", fi: \"Finnish\", fr: \"French (Standard)\", \"fr-be\": \"French (Belgium)\", \"fr-ca\": \"French (Canada)\", \"fr-fr\": \"French (France)\", \"fr-lu\": \"French (Luxembourg)\", \"fr-mc\": \"French (Monaco)\", \"fr-ch\": \"French (Switzerland)\", fy: \"Frisian\", fur: \"Friulian\", gd: \"Gaelic (Scots)\", \"gd-ie\": \"Gaelic (Irish)\", gl: \"Galacian\", ka: \"Georgian\", de: \"German (Standard)\", \"de-at\": \"German (Austria)\", \"de-de\": \"German (Germany)\", \"de-li\": \"German (Liechtenstein)\", \"de-lu\": \"German (Luxembourg)\", \"de-ch\": \"German (Switzerland)\", el: \"Greek\", gu: \"Gujurati\", ht: \"Haitian\", he: \"Hebrew\", hi: \"Hindi\", hu: \"Hungarian\", is: \"Icelandic\", id: \"Indonesian\", iu: \"Inuktitut\", ga: \"Irish\", it: \"Italian (Standard)\", \"it-ch\": \"Italian (Switzerland)\", ja: \"Japanese\", kn: \"Kannada\", ks: \"Kashmiri\", kk: \"Kazakh\", km: \"Khmer\", ky: \"Kirghiz\", tlh: \"Klingon\", ko: \"Korean\", \"ko-kp\": \"Korean (North Korea)\", \"ko-kr\": \"Korean (South Korea)\", la: \"Latin\", lv: \"Latvian\", lt: \"Lithuanian\", lb: \"Luxembourgish\", mk: \"FYRO Macedonian\", ms: \"Malay\", ml: \"Malayalam\", mt: \"Maltese\", mi: \"Maori\", mr: \"Marathi\", mo: \"Moldavian\", nv: \"Navajo\", ng: \"Ndonga\", ne: \"Nepali\", no: \"Norwegian\", nb: \"Norwegian (Bokmal)\", nn: \"Norwegian (Nynorsk)\", oc: \"Occitan\", or: \"Oriya\", om: \"Oromo\", \"fa-ir\": \"Persian/Iran\", pl: \"Polish\", pt: \"Portuguese\", \"pt-br\": \"Portuguese (Brazil)\", pa: \"Punjabi\", \"pa-in\": \"Punjabi (India)\", \"pa-pk\": \"Punjabi (Pakistan)\", qu: \"Quechua\", rm: \"Rhaeto-Romanic\", ro: \"Romanian\", \"ro-mo\": \"Romanian (Moldavia)\", ru: \"Russian\", \"ru-mo\": \"Russian (Moldavia)\", sz: \"Sami (Lappish)\", sg: \"Sango\", sa: \"Sanskrit\", sc: \"Sardinian\", sd: \"Sindhi\", si: \"Singhalese\", sr: \"Serbian\", sk: \"Slovak\", sl: \"Slovenian\", so: \"Somani\", sb: \"Sorbian\", es: \"Spanish\", \"es-ar\": \"Spanish (Argentina)\", \"es-bo\": \"Spanish (Bolivia)\", \"es-cl\": \"Spanish (Chile)\", \"es-co\": \"Spanish (Colombia)\", \"es-cr\": \"Spanish (Costa Rica)\", \"es-do\": \"Spanish (Dominican Republic)\", \"es-ec\": \"Spanish (Ecuador)\", \"es-sv\": \"Spanish (El Salvador)\", \"es-gt\": \"Spanish (Guatemala)\", \"es-hn\": \"Spanish (Honduras)\", \"es-mx\": \"Spanish (Mexico)\", \"es-ni\": \"Spanish (Nicaragua)\", \"es-pa\": \"Spanish (Panama)\", \"es-py\": \"Spanish (Paraguay)\", \"es-pe\": \"Spanish (Peru)\", \"es-pr\": \"Spanish (Puerto Rico)\", \"es-es\": \"Spanish (Spain)\", \"es-uy\": \"Spanish (Uruguay)\", \"es-ve\": \"Spanish (Venezuela)\", sx: \"Sutu\", sw: \"Swahili\", sv: \"Swedish\", \"sv-fi\": \"Swedish (Finland)\", \"sv-sv\": \"Swedish (Sweden)\", ta: \"Tamil\", tt: \"Tatar\", te: \"Teluga\", th: \"Thai\", tig: \"Tigre\", ts: \"Tsonga\", tn: \"Tswana\", tr: \"Turkish\", tk: \"Turkmen\", uk: \"Ukrainian\", hsb: \"Upper Sorbian\", ur: \"Urdu\", ve: \"Venda\", vi: \"Vietnamese\", vo: \"Volapuk\", wa: \"Walloon\", cy: \"Welsh\", xh: \"Xhosa\", ji: \"Yiddish\", zu: \"Zulu\"}; export const __FramerMetadata__ = {exports: {defaultEvents: {type: \"variable\"}, fontStack: {type: \"variable\"}, emptyStateStyle: {type: \"variable\"}, fontControls: {type: \"variable\"}, localeOptions: {type: \"variable\"}, containerStyles: {type: \"variable\"}, fontSizeOptions: {type: \"variable\"}}}; ","import { useIsInCurrentNavigationTarget } from \"framer\"; import { useEffect } from \"react\"; export function useOnEnter (onEnter, enabled) { return useOnSpecificTargetChange(true, onEnter, enabled); }; export function useOnExit (onExit, enabled) { return useOnSpecificTargetChange(false, onExit, enabled); }; function useOnSpecificTargetChange (goal, callback, enabled = true) { const isInTarget = useIsInCurrentNavigationTarget(); useEffect(() => { if (enabled && isInTarget === goal) { callback() }; }, [isInTarget]); }; export const __FramerMetadata__ = {exports: {useOnEnter: {type: \"function\"}, useOnExit: {type: \"function\"}}}; ","import { useRef } from \"react\"; export function useConstant (init) { const ref = useRef(null); if (ref.current === null) { ref.current = init(); }; return ref.current; }; export const __FramerMetadata__ = {exports: {useConstant: {type: \"function\"}}}; ","import { Color } from \"framer\"; export function colorFromToken (color) { if (color.startsWith(\"var(--token-\")) { return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1] }; return color; }; export function colorTokentoValue (color) { return Color(colorFromToken(color)).toValue(); }; export const __FramerMetadata__ = {exports: {colorTokentoValue: {type: \"function\"}, colorFromToken: {type: \"function\"}}}; ","import { MotionValue } from \"framer\"; export const isMotionValue = (v) => { return v instanceof MotionValue; }; export const __FramerMetadata__ = {exports: {isMotionValue: {type: \"variable\"}}}; ","import * as React from \"react\"; const letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"; const l = () => { return letters[Math.floor(Math.random() * letters.length)]; }; export const randomID = () => { return l() + l() + l() + l() + l() + l() + l() + l() + l(); }; function createUniqueClass (suffix) { return `framer-${suffix}-${randomID()}`; }; export function useUniqueClassName (suffix, deps) { const [className,setClassName] = React.useState(createUniqueClass(suffix)); React.useEffect(() => { setClassName(createUniqueClass(suffix)); }, [suffix, ...deps]); return className; }; export const __FramerMetadata__ = {exports: {randomID: {type: \"variable\"}, useUniqueClassName: {type: \"function\"}}}; ","import { ControlType } from \"framer\"; export function getVariantControls (Component, variant, additionalControls = {}) { return {[`${variant}TextColor`]: {type: ControlType.Color, title: \"Text Color\", defaultValue: Component.defaultProps[`${variant}TextColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}IconColor`]: {type: ControlType.Color, title: \"Icon Color\", defaultValue: Component.defaultProps[`${variant}IconColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}BackgroundColor`]: {type: ControlType.Color, title: \"Bg Color\", defaultValue: Component.defaultProps[`${variant}BackgroundColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}BorderColor`]: {type: ControlType.Color, title: \"Border Color\", defaultValue: Component.defaultProps[`${variant}BorderColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}BorderWidth`]: {type: ControlType.Number, title: \" \", min: 0, max: 5, displayStepper: true, defaultValue: Component.defaultProps[`${variant}BorderWidth`], hidden: (props) => { return props.variant !== variant; }}, ...additionalControls}; }; export const __FramerMetadata__ = {exports: {getVariantControls: {type: \"function\"}}}; ","import { useMemo } from \"react\"; export const isBrowserSafari = () => { if (typeof navigator !== `undefined`) { const userAgent = navigator.userAgent.toLowerCase(); const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0; return isSafari; } else { return false }; }; export const useIsBrowserSafari = () => { return useMemo(() => { return isBrowserSafari(); }, []); }; export const __FramerMetadata__ = {exports: {isBrowserSafari: {type: \"variable\"}, useIsBrowserSafari: {type: \"variable\"}}}; ","import { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js\"; import { useEffect } from \"react\"; export function useOnChange (value, callback) { useEffect(() => { return isMotionValue(value) ? value.onChange(callback) : undefined; }); }; export function useMultiOnChange (values, handler) { useEffect(() => { const subscriptions = values.map((value) => { return value.onChange(handler); }); return () => { return subscriptions.forEach((unsubscribe) => { return unsubscribe(); }); }; }); }; export const __FramerMetadata__ = {exports: {useOnChange: {type: \"function\"}, Subscriber: {type: \"tsType\"}, useMultiOnChange: {type: \"function\"}}}; ","import { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js\"; import { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/M5fttmqD6cHt7sJo18U0/useConstant.js\"; import { useCallback , useEffect , useRef } from \"react\"; import { motionValue , animate , RenderTarget } from \"framer\"; export function useAutoMotionValue (inputValue, options) { var ref; const optionsRef = useRef(options); const animation = useRef(); const didInitialMount = useRef(false); const isOnCanvas = RenderTarget.current() === RenderTarget.canvas; const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : []; const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [...onChangeDeps]); const transformer = useCallback((value) => { return ((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value; }, []); const value = useConstant(() => { return isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue)); }); useEffect(() => { if (!isMotionValue(inputValue) && didInitialMount.current) { var ref1, ref2; const newValue = transformer(inputValue); (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop(); if (onChange) { onChange(newValue, value) }; if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) { var ref3; animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition); } else { value.set(newValue); }; }; didInitialMount.current = true; }, [inputValue, ...onChangeDeps]); return value; }; export const __FramerMetadata__ = {exports: {useAutoMotionValue: {type: \"function\"}}}; ","import { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/pGX59rXoC0HT59XwdE2E/constants.js\"; import { fontStore } from \"framer\"; import { useEffect } from \"react\"; const fontWeights = {100: \"Thin\", 200: \"Extra-light\", 300: \"Light\", 400: \"Regular\", 500: \"Medium\", 600: \"Semi-bold\", 700: \"Bold\", 800: \"Extra-bold\", 900: \"Black\"}; export function useFontControls (props) { const { fontFamily, fontSize, fontWeight, font } = props; const fontWeightName = fontWeights[fontWeight]; const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`; const fontFamilyStyle = fontFamily ? {fontSize, fontWeight, fontFamily: customFontStack} : {fontSize, fontWeight}; const fetchCustomFonts = async () => { await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`, `CUSTOM;${fontFamily} ${fontWeightName}`, `GF;${fontFamily}-${fontWeightName.toLowerCase()}`]).catch((e) => { return console.error(e); }); }; useEffect(() => { if (font) { fetchCustomFonts() }; }, [font, fontFamily, fontWeight]); return fontFamilyStyle; }; export const __FramerMetadata__ = {exports: {useFontControls: {type: \"function\"}}}; ","import { useMemo } from \"react\"; import { RenderTarget } from \"framer\"; export function useRenderTarget () { const currentRenderTarget = useMemo(() => { return RenderTarget.current(); }, []); return currentRenderTarget; }; export function useIsInPreview () { const inPreview = useMemo(() => { return RenderTarget.current() === RenderTarget.preview; }, []); return inPreview; }; export const __FramerMetadata__ = {exports: {useRenderTarget: {type: \"function\"}, useIsInPreview: {type: \"function\"}}}; ","import * as React from \"react\"; export function useControlledState (value) { const [controlledValue,setValue] = React.useState(value); React.useEffect(() => { setValue(value); }, [value]); return [controlledValue, setValue]; }; export const __FramerMetadata__ = {exports: {useControlledState: {type: \"function\"}}}; ","import { useMemo } from \"react\"; import { ControlType } from \"framer\"; export function useRadius (props) { const { borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius } = props; const radiusValue = useMemo(() => { return isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`; }, [borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius]); return radiusValue; }; export const borderRadiusControl = {borderRadius: {title: \"Radius\", type: ControlType.FusedNumber, toggleKey: \"isMixedBorderRadius\", toggleTitles: [\"Radius\", \"Radius per corner\"], valueKeys: [\"topLeftRadius\", \"topRightRadius\", \"bottomRightRadius\", \"bottomLeftRadius\"], valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"], min: 0}}; export function usePadding (props) { const { padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft } = props; const paddingValue = useMemo(() => { return paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding; }, [padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft]); return paddingValue; }; export const paddingControl = {padding: {type: ControlType.FusedNumber, toggleKey: \"paddingPerSide\", toggleTitles: [\"Padding\", \"Padding per side\"], valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"], valueLabels: [\"T\", \"R\", \"B\", \"L\"], min: 0, title: \"Padding\"}}; export const __FramerMetadata__ = {exports: {PaddingProps: {type: \"tsType\"}, usePadding: {type: \"function\"}, paddingControl: {type: \"variable\"}, borderRadiusControl: {type: \"variable\"}, RadiusProps: {type: \"tsType\"}, useRadius: {type: \"function\"}}}; ","import { defaultEvents, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/pGX59rXoC0HT59XwdE2E/constants.js\";\nimport { useOnEnter, useOnExit } from \"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/hBlZg653Ysd6kjz7zLQR/useOnNavigationTargetChange.js\";\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/M5fttmqD6cHt7sJo18U0/useConstant.js\";\nimport { colorTokentoValue, colorFromToken } from \"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/P9C4xa5EyEV5QrWg6L16/colorFromToken.js\";\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js\";\nimport { useUniqueClassName, randomID } from \"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/xj83Fugl9PimBxSG0Mqo/useUniqueClassName.js\";\nimport { getVariantControls } from \"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/nacLjsTMn32cMNAw9Zfm/variantUtils.js\";\nimport { useIsBrowserSafari } from \"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/1OOG8WmiJmFKh6mvmfrV/isBrowser.js\";\nimport { useMultiOnChange, useOnChange } from \"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/5DVyfdzmPxtXf0YHiZCB/useOnChange.js\";\nimport { mstoMinAndSec, secondsToMinutes } from \"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/Or5DTpBHTVgiuIwcqaiU/time.js\";\nimport { useAutoMotionValue } from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/Iy0HwLMS0wA3yltSv2VO/useAutoMotionValue.js\";\nimport { useFontControls } from \"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/1ROHI8D9Isp5lwLhCj5v/useFontControls.js\";\nimport { useRenderTarget, useIsInPreview } from \"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/cEFVyEx9T01KOFOsOKOU/useRenderTarget.js\";\nimport { useControlledState } from \"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/gdTelnbTEhE4YcdtjFBZ/useControlledState.js\";\nimport { usePadding, useRadius, paddingControl, borderRadiusControl } from \"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/6PUrw5LusdRrh9u1cVlt/propUtils.js\";\nimport { detectAutoSizingAxis } from \"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/Ta42E9MFTVAqkmTOO9Yu/detectAutoSizingAxis.js\";\nexport { useOnEnter, useOnExit, defaultEvents, isMotionValue, colorFromToken, colorTokentoValue, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack, useUniqueClassName, getVariantControls, useIsBrowserSafari, randomID, useConstant, useMultiOnChange, useOnChange, usePadding, useRadius, paddingControl, borderRadiusControl, mstoMinAndSec, useFontControls, secondsToMinutes, useAutoMotionValue, useRenderTarget, useIsInPreview, useControlledState, detectAutoSizingAxis,  };\n\nexport const __FramerMetadata__ = {\"exports\":{\"usePadding\":{\"type\":\"variable\"},\"colorFromToken\":{\"type\":\"variable\"},\"useConstant\":{\"type\":\"variable\"},\"isMotionValue\":{\"type\":\"variable\"},\"useControlledState\":{\"type\":\"variable\"},\"useRenderTarget\":{\"type\":\"variable\"},\"defaultEvents\":{\"type\":\"variable\"},\"useIsInPreview\":{\"type\":\"variable\"},\"colorTokentoValue\":{\"type\":\"variable\"},\"useRadius\":{\"type\":\"variable\"},\"randomID\":{\"type\":\"variable\"},\"fontStack\":{\"type\":\"variable\"},\"fontSizeOptions\":{\"type\":\"variable\"},\"useOnExit\":{\"type\":\"variable\"},\"localeOptions\":{\"type\":\"variable\"},\"borderRadiusControl\":{\"type\":\"variable\"},\"mstoMinAndSec\":{\"type\":\"variable\"},\"containerStyles\":{\"type\":\"variable\"},\"fontControls\":{\"type\":\"variable\"},\"useOnChange\":{\"type\":\"variable\"},\"useAutoMotionValue\":{\"type\":\"variable\"},\"paddingControl\":{\"type\":\"variable\"},\"useOnEnter\":{\"type\":\"variable\"},\"useMultiOnChange\":{\"type\":\"variable\"},\"emptyStateStyle\":{\"type\":\"variable\"},\"detectAutoSizingAxis\":{\"type\":\"variable\"},\"getVariantControls\":{\"type\":\"variable\"},\"secondsToMinutes\":{\"type\":\"variable\"},\"useFontControls\":{\"type\":\"variable\"},\"useIsBrowserSafari\":{\"type\":\"variable\"},\"useUniqueClassName\":{\"type\":\"variable\"}}}","/*\n * index (framer/default-utils@0.42.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/BCJs1xCXLqBrNkXEeakd/index.js\"\n","import{useEffect,useLayoutEffect,useRef}from\"react\";const noop=(..._args)=>{};const useBrowserLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:noop;export function Title({children}){useBrowserLayoutEffect(()=>{if(!children)return;document.title=children;},[children]);return null;}export function Meta({name,property,content}){const ref=useRef(null);useBrowserLayoutEffect(()=>{if(!content||!name&&!property)return;let needsCleanup=false;const attribute=property?\"property\":\"name\";const identifier=property!==null&&property!==void 0?property:name;var ref1;let element=(ref1=ref===null||ref===void 0?void 0:ref.current)!==null&&ref1!==void 0?ref1:document.querySelector(`meta[${attribute}=\"${identifier}\"]`);if(!element){needsCleanup=true;element=document.createElement(\"meta\");element.setAttribute(attribute,identifier);document.head.appendChild(element);}if(needsCleanup)ref.current=element;element.setAttribute(\"content\",content);},[name,property,content]);useEffect(()=>()=>{if(ref.current){document.head.removeChild(ref.current);}},[]);return null;}export function Link({rel,href}){const ref6=useRef(null);useBrowserLayoutEffect(()=>{if(!href)return;let needsCleanup=false;var ref7;let element=(ref7=ref6===null||ref6===void 0?void 0:ref6.current)!==null&&ref7!==void 0?ref7:document.querySelector(`link[rel=\"${rel}\"]`);if(!element){needsCleanup=true;element=document.createElement(\"link\");element.setAttribute(\"rel\",rel);document.head.appendChild(element);}if(needsCleanup)ref6.current=element;element.setAttribute(\"href\",href);},[rel,href]);useEffect(()=>()=>{if(ref6.current){document.head.removeChild(ref6.current);}},[]);return null;}export function Script({content,src,async,defer,type,onLoad}){const ref6=useRef(null);useBrowserLayoutEffect(()=>{if(!content&&!src)return;let needsCleanup=false;var ref8;let element=(ref8=ref6===null||ref6===void 0?void 0:ref6.current)!==null&&ref8!==void 0?ref8:document.querySelector(`script[src=\"${src}\"]`);if(!element){needsCleanup=true;element=document.createElement(\"script\");}if(async)element.async=async;if(defer)element.defer=defer;if(type)element.type=type;if(src){element.setAttribute(\"src\",src);}else{element.innerHTML=content;}if(onLoad){element.onload=onLoad;}if(needsCleanup){ref6.current=element;document.head.appendChild(element);}},[content,src,async,defer,type,onLoad]);useEffect(()=>()=>{if(ref6.current){document.head.removeChild(ref6.current);}},[]);return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"Title\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Meta\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Link\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Script\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Head.map","/*\n * Head\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DmR5o8OAjm07LPrfXm4d/0DJ9VAp4ohq4RF96KF6A/Head.js\"\n","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: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — 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};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport { fontStore } from \"framer\";\nimport { useEffect } from \"react\";\n// @ts-ignore\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 { fontFamily , fontSize , fontWeight , font  } = 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([\n            `CUSTOM;${fontFamily}`,\n            `CUSTOM;${fontFamily} ${fontWeightName}`,\n            `GF;${fontFamily}-${fontWeightName.toLowerCase()}`, \n        ]).catch((e)=>console.error(e)\n        );\n    };\n    useEffect(()=>{\n        if (font) fetchCustomFonts();\n    }, [\n        font,\n        fontFamily,\n        fontWeight\n    ]);\n    return fontFamilyStyle;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import { defaultEvents, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nimport { useOnEnter, useOnExit } from \"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nimport { colorTokentoValue, colorFromToken } from \"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nimport { useUniqueClassName, randomID } from \"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";\nimport { getVariantControls } from \"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";\nimport { useIsBrowserSafari } from \"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";\nimport { useMultiOnChange, useOnChange } from \"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";\nimport { mstoMinAndSec, secondsToMinutes } from \"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";\nimport { useAutoMotionValue } from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";\nimport { useFontControls } from \"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/tTLhbOFToDhKcwOVmn8E/useFontControls.js\";\nimport { useRenderTarget, useIsInPreview } from \"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/AAh30yXzt1DUsOi1YwUY/useRenderTarget.js\";\nimport { useControlledState } from \"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";\nimport { usePadding, useRadius, paddingControl, borderRadiusControl } from \"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";\nimport { detectAutoSizingAxis } from \"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";\nexport { useOnEnter, useOnExit, defaultEvents, isMotionValue, colorFromToken, colorTokentoValue, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack, useUniqueClassName, getVariantControls, useIsBrowserSafari, randomID, useConstant, useMultiOnChange, useOnChange, usePadding, useRadius, paddingControl, borderRadiusControl, mstoMinAndSec, useFontControls, secondsToMinutes, useAutoMotionValue, useRenderTarget, useIsInPreview, useControlledState, detectAutoSizingAxis,  };\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","/*\n * index (framer/default-utils@0.43.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/Pk7RhKpPAlu4xr8tiZYq/index.js\"\n","import{containerStyles,emptyStateStyle as defaultEmptyStateStyle}from\"https://framer.com/m/framer/default-utils.js@^0.43.0\";export const emptyStateStyle={...containerStyles,...defaultEmptyStateStyle,textAlign:\"center\",padding:15,width:200,height:100,overflow:\"hidden\"};export const neutralStateStyle={...emptyStateStyle,color:\"#09f\",background:\"rgb(0, 153, 255, 0.1)\",borderColor:\"#09f\"};export const stateTitleStyle={fontSize:12,fontWeight:600,margin:0};export const stateParagraphStyle={fontSize:12,maxWidth:200,lineHeight:1.4,margin:\"5px 0 0 0\"};\nexport const __FramerMetadata__ = {\"exports\":{\"neutralStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stateTitleStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stateParagraphStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./styles.map","/*\n * styles (framer/integrations-styles@0.2.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/ZORE1BBUY4n4vHC0WFDH/bnwaYkSw2e4q5eLH4jPK/styles.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{containerStyles}from\"https://framer.com/m/framer/default-utils.js@0.42.0\";import{useCallback,useState,useRef,useEffect}from\"react\";import*as Head from\"https://framer.com/m/Head-KL6Y.js@0DJ9VAp4ohq4RF96KF6A\";import{emptyStateStyle,stateParagraphStyle,stateTitleStyle}from\"https://framer.com/m/framer/integrations-styles.js@0.2.0\";const TEMPLATE_MICRO_REVIEW_COUNT=\"5419b6a8b0d04a076446a9ad\";const TEMPLATE_REVIEW_COLLECTOR=\"56278e9abfbbba0bdcd568bc\";const languages={\"en-US\":\"English\",\"de-DE\":\"German\",\"es-ES\":\"Spanish\",\"fr-FR\":\"French\",\"nl-NL\":\"Dutch\",\"it-IT\":\"Italian\",\"ja-JP\":\"Japanese\",\"pt-PT\":\"Portuguese\",\"ru-RU\":\"Russian\"};const templates={count:TEMPLATE_MICRO_REVIEW_COUNT,button:TEMPLATE_REVIEW_COLLECTOR};function useForceUpdate(){const[,dispatch]=useState(Object.create(null));const memoizedDispatch=useCallback(()=>{dispatch(Object.create(null));},[dispatch]);return memoizedDispatch;}/**\n * TRUSTPILOT\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */ export default function Trustpilot({businessId,type,language,theme,minimumReviewCount,style,...props}){const ref=useRef(null);const forceUpdate=useForceUpdate();const initializeTrustpilot=useCallback(()=>{if((window===null||window===void 0?void 0:window.Trustpilot)&&(ref===null||ref===void 0?void 0:ref.current)&&businessId){var ref1;window===null||window===void 0?void 0:(ref1=window.Trustpilot)===null||ref1===void 0?void 0:ref1.loadFromElement(ref.current,true);}},[businessId]);const handleScriptLoading=useCallback(()=>{forceUpdate();initializeTrustpilot();},[initializeTrustpilot]);useEffect(initializeTrustpilot,[businessId,theme,language,type,minimumReviewCount,]);return businessId?/*#__PURE__*/ _jsx(motion.div,{style:{...containerStyles,width:200,height:54,...style},ref:ref,className:\"trustpilot-widget\",\"data-locale\":language,\"data-template-id\":templates[type],\"data-style-height\":\"54px\",\"data-style-width\":\"100%\",\"data-businessunit-id\":businessId,\"data-min-review-count\":minimumReviewCount,\"data-theme\":theme,...props,children:/*#__PURE__*/ _jsx(Head.Script,{src:\"https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js\",onLoad:handleScriptLoading,async:true})}):/*#__PURE__*/ _jsxs(motion.div,{style:{...emptyStateStyle,...style},...props,children:[/*#__PURE__*/ _jsx(\"h1\",{style:stateTitleStyle,children:\"Trustpilot\"}),/*#__PURE__*/ _jsx(\"p\",{style:stateParagraphStyle,children:\"Set a business ID in the Properties.\"})]});};addPropertyControls(Trustpilot,{businessId:{title:\"ID\",type:ControlType.String,placeholder:\"1234abcd5678efgh\",description:\"Create a [Trustpilot](https://www.trustpilot.com/) account and copy your business ID.\"},type:{title:\"Type\",type:ControlType.Enum,options:[\"count\",\"button\"],optionTitles:[\"Count\",\"Button\"],displaySegmentedControl:true,defaultValue:\"count\"},language:{title:\"Language\",type:ControlType.Enum,options:Object.keys(languages),optionTitles:Object.values(languages),defaultValue:\"en-US\"},theme:{title:\"Theme\",type:ControlType.Enum,options:[\"light\",\"dark\"],optionTitles:[\"Light\",\"Dark\"],displaySegmentedControl:true,defaultValue:\"light\",hidden:({type})=>type===\"button\"},minimumReviewCount:{title:\"Minimum\",type:ControlType.Enum,options:[undefined,10,20,50],optionTitles:[\"None\",\"10 reviews\",\"20 reviews\",\"50 reviews\"],defaultValue:10,hidden:({type})=>type===\"button\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Trustpilot\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"100\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Trustpilot.map","// Generated by Framer (005c846)\nexport default function metadata(params,activeLocale){return{description:\"Welcome to Stakelum, rooted in Irish service and built on trust. We support how people work, learn, and play with quality products, dependable delivery, and a personal touch.\",favicon:\"https://framerusercontent.com/assets/cB1lKlgkw9VLxjBdMltJFSoeGY.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/E7ekxAaaic2onybHo80CwyZpKU.png\",title:\"Stakelum.ie\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}