{"version":3,"file":"Grid.cjs","sources":["../../src/effects/Grid.tsx"],"sourcesContent":["import React, { Ref, forwardRef, useMemo, useLayoutEffect } from 'react'\nimport { GridEffect } from 'postprocessing'\nimport { useThree } from '@react-three/fiber'\n\ntype GridProps = ConstructorParameters<typeof GridEffect>[0] &\n  Partial<{\n    size: {\n      width: number\n      height: number\n    }\n  }>\n\nexport const Grid = forwardRef(function Grid({ size, ...props }: GridProps, ref: Ref<GridEffect>) {\n  const invalidate = useThree((state) => state.invalidate)\n  const effect = useMemo(() => new GridEffect(props), [props])\n  useLayoutEffect(() => {\n    if (size) effect.setSize(size.width, size.height)\n    invalidate()\n  }, [effect, size, invalidate])\n  return <primitive ref={ref} object={effect} dispose={null} />\n})\n"],"names":["forwardRef","Grid","useThree","useMemo","GridEffect","useLayoutEffect"],"mappings":";;;;;;AAYa,MAAA,OAAOA,iBAAW,SAASC,MAAK,EAAE,MAAM,GAAG,MAAM,GAAc,KAAsB;AAChG,QAAM,aAAaC,MAAAA,SAAS,CAAC,UAAU,MAAM,UAAU;AACjD,QAAA,SAASC,cAAQ,MAAM,IAAIC,eAAAA,WAAW,KAAK,GAAG,CAAC,KAAK,CAAC;AAC3DC,QAAAA,gBAAgB,MAAM;AAChB,QAAA;AAAM,aAAO,QAAQ,KAAK,OAAO,KAAK,MAAM;AACrC;EACV,GAAA,CAAC,QAAQ,MAAM,UAAU,CAAC;AAC7B,wCAAQ,aAAU,EAAA,KAAU,QAAQ,QAAQ,SAAS,KAAM,CAAA;AAC7D,CAAC;;"}