{"version":3,"file":"Glitch.cjs","sources":["../../src/effects/Glitch.tsx"],"sourcesContent":["import { Vector2 } from 'three'\nimport { GlitchEffect, GlitchMode } from 'postprocessing'\nimport { Ref, forwardRef, useMemo, useLayoutEffect, useEffect } from 'react'\nimport { ReactThreeFiber, useThree } from '@react-three/fiber'\nimport { useVector2 } from '../util'\n\nexport type GlitchProps = ConstructorParameters<typeof GlitchEffect>[0] &\n  Partial<{\n    mode: GlitchMode\n    active: boolean\n    delay: ReactThreeFiber.Vector2\n    duration: ReactThreeFiber.Vector2\n    chromaticAberrationOffset: ReactThreeFiber.Vector2\n    strength: ReactThreeFiber.Vector2\n  }>\n\nexport const Glitch = forwardRef<GlitchEffect, GlitchProps>(function Glitch(\n  { active = true, ...props }: GlitchProps,\n  ref: Ref<GlitchEffect>\n) {\n  const invalidate = useThree((state) => state.invalidate)\n  const delay = useVector2(props, 'delay')\n  const duration = useVector2(props, 'duration')\n  const strength = useVector2(props, 'strength')\n  const chromaticAberrationOffset = useVector2(props, 'chromaticAberrationOffset')\n  const effect = useMemo(\n    () => new GlitchEffect({ ...props, delay, duration, strength, chromaticAberrationOffset }),\n    [delay, duration, props, strength, chromaticAberrationOffset]\n  )\n  useLayoutEffect(() => {\n    effect.mode = active ? props.mode || GlitchMode.SPORADIC : GlitchMode.DISABLED\n    invalidate()\n  }, [active, effect, invalidate, props.mode])\n  useEffect(() => {\n    return () => {\n      effect.dispose?.()\n    }\n  }, [effect])\n  return <primitive ref={ref} object={effect} dispose={null} />\n})\n"],"names":["forwardRef","Glitch","useThree","useVector2","useMemo","GlitchEffect","useLayoutEffect","GlitchMode","useEffect"],"mappings":";;;;;;;AAgBa,MAAA,SAASA,MAAAA,WAAsC,SAASC,QACnE,EAAE,SAAS,MAAM,GAAG,MAAM,GAC1B,KACA;AACA,QAAM,aAAaC,MAAAA,SAAS,CAAC,UAAU,MAAM,UAAU;AACjD,QAAA,QAAQC,KAAAA,WAAW,OAAO,OAAO;AACjC,QAAA,WAAWA,KAAAA,WAAW,OAAO,UAAU;AACvC,QAAA,WAAWA,KAAAA,WAAW,OAAO,UAAU;AACvC,QAAA,4BAA4BA,KAAAA,WAAW,OAAO,2BAA2B;AAC/E,QAAM,SAASC,MAAA;AAAA,IACb,MAAM,IAAIC,eAAAA,aAAa,EAAE,GAAG,OAAO,OAAO,UAAU,UAAU,2BAA2B;AAAA,IACzF,CAAC,OAAO,UAAU,OAAO,UAAU,yBAAyB;AAAA,EAAA;AAE9DC,QAAAA,gBAAgB,MAAM;AACpB,WAAO,OAAO,SAAS,MAAM,QAAQC,0BAAW,WAAWA,eAAW,WAAA;AAC3D;EAAA,GACV,CAAC,QAAQ,QAAQ,YAAY,MAAM,IAAI,CAAC;AAC3CC,QAAAA,UAAU,MAAM;AACd,WAAO,MAAM;;AACX,mBAAO,YAAP;AAAA,IAAiB;AAAA,EACnB,GACC,CAAC,MAAM,CAAC;AACX,wCAAQ,aAAU,EAAA,KAAU,QAAQ,QAAQ,SAAS,KAAM,CAAA;AAC7D,CAAC;;"}