{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/dsWWgd4IfgVil6RhgOIZ/LGNf9IyOB8jq6EMLrCU2/dMnY81yKp.js"],
  "sourcesContent": ["// Generated by Framer (2add0ca)\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { addFonts, addPropertyControls, ControlType, cx, useActiveVariantCallback, useOnVariantChange, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion, MotionConfigContext } from \"framer-motion\";\nimport * as React from \"react\";\nconst cycleOrder = [\"iAhgyRcAj\", \"fGyB36wvj\"];\nconst variantClassNames = {\n  fGyB36wvj: \"framer-v-wmg8wp\",\n  iAhgyRcAj: \"framer-v-1iyx66w\"\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 humanReadableVariantMap = {\n  \"Variant 1\": \"iAhgyRcAj\",\n  \"Variant 2\": \"fGyB36wvj\"\n};\nconst transitions = {\n  default: {\n    delay: 0,\n    duration: 2,\n    ease: [0, 0, 1, 1],\n    type: \"tween\"\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 Component = /*#__PURE__*/React.forwardRef(function ({\n  id,\n  style,\n  className,\n  width,\n  height,\n  layoutId,\n  variant: outerVariant = \"iAhgyRcAj\",\n  ...restProps\n}, ref) {\n  const outerVariantId = humanReadableVariantMap[outerVariant];\n  const variant = outerVariantId || outerVariant;\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"iAhgyRcAj\",\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = variants.join(\"-\") + restProps.layoutDependency;\n  const {\n    activeVariantCallback,\n    delay\n  } = useActiveVariantCallback(baseVariant);\n  const onAppear1surt6a = activeVariantCallback(async (...args) => {\n    await delay(() => setVariant(\"fGyB36wvj\"), 100);\n  });\n  const onAppear19dkcwv = activeVariantCallback(async (...args) => {\n    await delay(() => setVariant(\"iAhgyRcAj\"), 2e3);\n  });\n  useOnVariantChange(baseVariant, {\n    default: onAppear1surt6a,\n    fGyB36wvj: onAppear19dkcwv\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-bl8tA\", classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(Transition, {\n        value: transition,\n        children: /*#__PURE__*/_jsx(motion.div, {\n          ...restProps,\n          __perspectiveFX: false,\n          __targetOpacity: 1,\n          className: cx(\"framer-1iyx66w\", className),\n          \"data-border\": true,\n          \"data-framer-name\": \"Variant 1\",\n          \"data-highlight\": true,\n          layoutDependency: layoutDependency,\n          layoutId: \"iAhgyRcAj\",\n          ref: ref,\n          style: {\n            \"--border-bottom-width\": \"1px\",\n            \"--border-color\": \"rgba(0, 0, 0, 0.3)\",\n            \"--border-left-width\": \"1px\",\n            \"--border-right-width\": \"1px\",\n            \"--border-style\": \"dashed\",\n            \"--border-top-width\": \"1px\",\n            borderBottomLeftRadius: \"50%\",\n            borderBottomRightRadius: \"50%\",\n            borderTopLeftRadius: \"50%\",\n            borderTopRightRadius: \"50%\",\n            rotate: 0,\n            ...style\n          },\n          variants: {\n            fGyB36wvj: {\n              rotate: 360\n            }\n          },\n          ...addPropertyOverrides({\n            fGyB36wvj: {\n              \"data-framer-name\": \"Variant 2\"\n            }\n          }, baseVariant, gestureVariant)\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-bl8tA [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-bl8tA .framer-ide4hd { display: block; }\", \".framer-bl8tA .framer-1iyx66w { height: 200px; overflow: visible; position: relative; width: 200px; }\", \".framer-bl8tA.framer-v-wmg8wp .framer-1iyx66w { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 200px); }\"]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * @framerIntrinsicHeight 200\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * @framerIntrinsicWidth 200\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"fGyB36wvj\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    */\nconst FramerdMnY81yKp = withCSS(Component, css, \"framer-bl8tA\");\nexport default FramerdMnY81yKp;\nFramerdMnY81yKp.displayName = \"Dotted Spinner\";\nFramerdMnY81yKp.defaultProps = {\n  height: 200,\n  width: 200\n};\naddPropertyControls(FramerdMnY81yKp, {\n  variant: {\n    options: [\"iAhgyRcAj\", \"fGyB36wvj\"],\n    optionTitles: [\"Variant 1\", \"Variant 2\"],\n    title: \"Variant\",\n    type: ControlType.Enum\n  }\n});\naddFonts(FramerdMnY81yKp, []);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FramerdMnY81yKp\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"fGyB36wvj\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerIntrinsicWidth\": \"200\"\n      }\n    },\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./dMnY81yKp.map"],
  "mappings": "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",
  "names": ["cycleOrder", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "humanReadableVariantMap", "transitions", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Component", "Y", "id", "style", "className", "width", "height", "layoutId", "outerVariant", "restProps", "ref", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onAppear1surt6a", "args", "onAppear19dkcwv", "useOnVariantChange", "defaultLayoutId", "ae", "LayoutGroup", "motion", "cx", "css", "FramerdMnY81yKp", "withCSS", "dMnY81yKp_default", "addPropertyControls", "ControlType", "addFonts"]
}
