@paper-design/shaders-react 0.0.33 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -4
- package/dist/index.d.ts +41 -38
- package/dist/index.js +22 -19
- package/dist/index.js.map +2 -2
- package/dist/shader-mount.d.ts +4 -1
- package/dist/shader-mount.js +1 -1
- package/dist/shader-mount.js.map +2 -2
- package/dist/shaders/color-panels.d.ts +9 -0
- package/dist/shaders/color-panels.js +107 -0
- package/dist/shaders/color-panels.js.map +7 -0
- package/dist/shaders/dithering.d.ts +1 -1
- package/dist/shaders/dithering.js +19 -19
- package/dist/shaders/dithering.js.map +2 -2
- package/dist/shaders/dot-grid.d.ts +1 -1
- package/dist/shaders/dot-grid.js +2 -2
- package/dist/shaders/dot-grid.js.map +2 -2
- package/dist/shaders/dot-orbit.d.ts +1 -1
- package/dist/shaders/dot-orbit.js +6 -3
- package/dist/shaders/dot-orbit.js.map +2 -2
- package/dist/shaders/god-rays.d.ts +1 -1
- package/dist/shaders/god-rays.js +16 -9
- package/dist/shaders/god-rays.js.map +2 -2
- package/dist/shaders/grain-gradient.d.ts +1 -1
- package/dist/shaders/grain-gradient.js +19 -9
- package/dist/shaders/grain-gradient.js.map +2 -2
- package/dist/shaders/liquid-metal.d.ts +4 -1
- package/dist/shaders/liquid-metal.js +89 -20
- package/dist/shaders/liquid-metal.js.map +2 -2
- package/dist/shaders/mesh-gradient.d.ts +1 -1
- package/dist/shaders/mesh-gradient.js +2 -2
- package/dist/shaders/mesh-gradient.js.map +2 -2
- package/dist/shaders/metaballs.d.ts +1 -1
- package/dist/shaders/metaballs.js +5 -2
- package/dist/shaders/metaballs.js.map +2 -2
- package/dist/shaders/neuro-noise.d.ts +1 -1
- package/dist/shaders/neuro-noise.js +11 -17
- package/dist/shaders/neuro-noise.js.map +2 -2
- package/dist/shaders/perlin-noise.d.ts +1 -1
- package/dist/shaders/perlin-noise.js +18 -18
- package/dist/shaders/perlin-noise.js.map +2 -2
- package/dist/shaders/pulsing-border.d.ts +1 -1
- package/dist/shaders/pulsing-border.js +2 -2
- package/dist/shaders/pulsing-border.js.map +2 -2
- package/dist/shaders/simplex-noise.d.ts +1 -1
- package/dist/shaders/simplex-noise.js +2 -2
- package/dist/shaders/simplex-noise.js.map +2 -2
- package/dist/shaders/smoke-ring.d.ts +1 -1
- package/dist/shaders/smoke-ring.js +2 -2
- package/dist/shaders/smoke-ring.js.map +2 -2
- package/dist/shaders/spiral.d.ts +1 -1
- package/dist/shaders/spiral.js +20 -20
- package/dist/shaders/spiral.js.map +2 -2
- package/dist/shaders/swirl.d.ts +1 -1
- package/dist/shaders/swirl.js +12 -6
- package/dist/shaders/swirl.js.map +2 -2
- package/dist/shaders/voronoi.d.ts +1 -1
- package/dist/shaders/voronoi.js +10 -10
- package/dist/shaders/voronoi.js.map +2 -2
- package/dist/shaders/warp.d.ts +1 -1
- package/dist/shaders/warp.js +8 -8
- package/dist/shaders/warp.js.map +2 -2
- package/dist/shaders/waves.d.ts +1 -1
- package/dist/shaders/waves.js +18 -18
- package/dist/shaders/waves.js.map +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -6,11 +6,8 @@
|
|
|
6
6
|
import { MeshGradient } from '@paper-design/shaders-react';
|
|
7
7
|
|
|
8
8
|
<MeshGradient
|
|
9
|
-
color1="#FFC0CB" // pink
|
|
10
|
-
color2="#FFFF00" // yellow
|
|
11
|
-
color3="#0000FF" // blue
|
|
12
|
-
color4="#800080" // purple
|
|
13
9
|
speed={0.25}
|
|
10
|
+
colors={["#FFC0CB", "#FFFF00", "#0000FF", "#800080"]}
|
|
14
11
|
style={{ width: 500, height: 200 }}
|
|
15
12
|
/>;
|
|
16
13
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,59 +1,62 @@
|
|
|
1
|
-
export { ShaderMount } from './shader-mount';
|
|
2
|
-
export type { ShaderMountProps, ShaderComponentProps } from './shader-mount';
|
|
3
|
-
export { MeshGradient, meshGradientPresets } from './shaders/mesh-gradient';
|
|
4
|
-
export type { MeshGradientProps } from './shaders/mesh-gradient';
|
|
1
|
+
export { ShaderMount } from './shader-mount.js';
|
|
2
|
+
export type { ShaderMountProps, ShaderComponentProps } from './shader-mount.js';
|
|
3
|
+
export { MeshGradient, meshGradientPresets } from './shaders/mesh-gradient.js';
|
|
4
|
+
export type { MeshGradientProps } from './shaders/mesh-gradient.js';
|
|
5
5
|
export type { MeshGradientUniforms, MeshGradientParams } from '@paper-design/shaders';
|
|
6
|
-
export { SmokeRing, smokeRingPresets } from './shaders/smoke-ring';
|
|
7
|
-
export type { SmokeRingProps } from './shaders/smoke-ring';
|
|
6
|
+
export { SmokeRing, smokeRingPresets } from './shaders/smoke-ring.js';
|
|
7
|
+
export type { SmokeRingProps } from './shaders/smoke-ring.js';
|
|
8
8
|
export type { SmokeRingUniforms, SmokeRingParams } from '@paper-design/shaders';
|
|
9
|
-
export { NeuroNoise, neuroNoisePresets } from './shaders/neuro-noise';
|
|
10
|
-
export type { NeuroNoiseProps } from './shaders/neuro-noise';
|
|
9
|
+
export { NeuroNoise, neuroNoisePresets } from './shaders/neuro-noise.js';
|
|
10
|
+
export type { NeuroNoiseProps } from './shaders/neuro-noise.js';
|
|
11
11
|
export type { NeuroNoiseUniforms, NeuroNoiseParams } from '@paper-design/shaders';
|
|
12
|
-
export { DotOrbit, dotOrbitPresets } from './shaders/dot-orbit';
|
|
13
|
-
export type { DotOrbitProps } from './shaders/dot-orbit';
|
|
12
|
+
export { DotOrbit, dotOrbitPresets } from './shaders/dot-orbit.js';
|
|
13
|
+
export type { DotOrbitProps } from './shaders/dot-orbit.js';
|
|
14
14
|
export type { DotOrbitUniforms, DotOrbitParams } from '@paper-design/shaders';
|
|
15
|
-
export { DotGrid, dotGridPresets } from './shaders/dot-grid';
|
|
16
|
-
export type { DotGridProps } from './shaders/dot-grid';
|
|
15
|
+
export { DotGrid, dotGridPresets } from './shaders/dot-grid.js';
|
|
16
|
+
export type { DotGridProps } from './shaders/dot-grid.js';
|
|
17
17
|
export type { DotGridUniforms, DotGridParams } from '@paper-design/shaders';
|
|
18
|
-
export { SimplexNoise, simplexNoisePresets } from './shaders/simplex-noise';
|
|
19
|
-
export type { SimplexNoiseProps } from './shaders/simplex-noise';
|
|
18
|
+
export { SimplexNoise, simplexNoisePresets } from './shaders/simplex-noise.js';
|
|
19
|
+
export type { SimplexNoiseProps } from './shaders/simplex-noise.js';
|
|
20
20
|
export type { SimplexNoiseUniforms, SimplexNoiseParams } from '@paper-design/shaders';
|
|
21
|
-
export { Metaballs, metaballsPresets } from './shaders/metaballs';
|
|
22
|
-
export type { MetaballsProps } from './shaders/metaballs';
|
|
21
|
+
export { Metaballs, metaballsPresets } from './shaders/metaballs.js';
|
|
22
|
+
export type { MetaballsProps } from './shaders/metaballs.js';
|
|
23
23
|
export type { MetaballsUniforms, MetaballsParams } from '@paper-design/shaders';
|
|
24
|
-
export { Waves, wavesPresets } from './shaders/waves';
|
|
25
|
-
export type { WavesProps } from './shaders/waves';
|
|
24
|
+
export { Waves, wavesPresets } from './shaders/waves.js';
|
|
25
|
+
export type { WavesProps } from './shaders/waves.js';
|
|
26
26
|
export type { WavesUniforms, WavesParams } from '@paper-design/shaders';
|
|
27
|
-
export { PerlinNoise, perlinNoisePresets } from './shaders/perlin-noise';
|
|
28
|
-
export type { PerlinNoiseProps } from './shaders/perlin-noise';
|
|
27
|
+
export { PerlinNoise, perlinNoisePresets } from './shaders/perlin-noise.js';
|
|
28
|
+
export type { PerlinNoiseProps } from './shaders/perlin-noise.js';
|
|
29
29
|
export type { PerlinNoiseUniforms, PerlinNoiseParams } from '@paper-design/shaders';
|
|
30
|
-
export { Voronoi, voronoiPresets } from './shaders/voronoi';
|
|
31
|
-
export type { VoronoiProps } from './shaders/voronoi';
|
|
30
|
+
export { Voronoi, voronoiPresets } from './shaders/voronoi.js';
|
|
31
|
+
export type { VoronoiProps } from './shaders/voronoi.js';
|
|
32
32
|
export type { VoronoiUniforms, VoronoiParams } from '@paper-design/shaders';
|
|
33
|
-
export { Warp, warpPresets } from './shaders/warp';
|
|
34
|
-
export type { WarpProps } from './shaders/warp';
|
|
33
|
+
export { Warp, warpPresets } from './shaders/warp.js';
|
|
34
|
+
export type { WarpProps } from './shaders/warp.js';
|
|
35
35
|
export type { WarpUniforms, WarpParams, WarpPattern } from '@paper-design/shaders';
|
|
36
|
-
export { GodRays, godRaysPresets } from './shaders/god-rays';
|
|
37
|
-
export type { GodRaysProps } from './shaders/god-rays';
|
|
36
|
+
export { GodRays, godRaysPresets } from './shaders/god-rays.js';
|
|
37
|
+
export type { GodRaysProps } from './shaders/god-rays.js';
|
|
38
38
|
export type { GodRaysUniforms, GodRaysParams } from '@paper-design/shaders';
|
|
39
|
-
export { Spiral, spiralPresets } from './shaders/spiral';
|
|
40
|
-
export type { SpiralProps } from './shaders/spiral';
|
|
39
|
+
export { Spiral, spiralPresets } from './shaders/spiral.js';
|
|
40
|
+
export type { SpiralProps } from './shaders/spiral.js';
|
|
41
41
|
export type { SpiralUniforms, SpiralParams } from '@paper-design/shaders';
|
|
42
|
-
export { Swirl, swirlPresets } from './shaders/swirl';
|
|
43
|
-
export type { SwirlProps } from './shaders/swirl';
|
|
42
|
+
export { Swirl, swirlPresets } from './shaders/swirl.js';
|
|
43
|
+
export type { SwirlProps } from './shaders/swirl.js';
|
|
44
44
|
export type { SwirlUniforms, SwirlParams } from '@paper-design/shaders';
|
|
45
|
-
export { Dithering, ditheringPresets } from './shaders/dithering';
|
|
46
|
-
export type { DitheringProps } from './shaders/dithering';
|
|
45
|
+
export { Dithering, ditheringPresets } from './shaders/dithering.js';
|
|
46
|
+
export type { DitheringProps } from './shaders/dithering.js';
|
|
47
47
|
export type { DitheringUniforms, DitheringParams } from '@paper-design/shaders';
|
|
48
|
-
export { GrainGradient, grainGradientPresets } from './shaders/grain-gradient';
|
|
49
|
-
export type { GrainGradientProps } from './shaders/grain-gradient';
|
|
48
|
+
export { GrainGradient, grainGradientPresets } from './shaders/grain-gradient.js';
|
|
49
|
+
export type { GrainGradientProps } from './shaders/grain-gradient.js';
|
|
50
50
|
export type { GrainGradientUniforms, GrainGradientParams } from '@paper-design/shaders';
|
|
51
|
-
export { LiquidMetal, liquidMetalPresets } from './shaders/liquid-metal';
|
|
52
|
-
export type { LiquidMetalProps } from './shaders/liquid-metal';
|
|
51
|
+
export { LiquidMetal, liquidMetalPresets } from './shaders/liquid-metal.js';
|
|
52
|
+
export type { LiquidMetalProps } from './shaders/liquid-metal.js';
|
|
53
53
|
export type { LiquidMetalUniforms, LiquidMetalParams } from '@paper-design/shaders';
|
|
54
|
-
export { PulsingBorder, pulsingBorderPresets } from './shaders/pulsing-border';
|
|
55
|
-
export type { PulsingBorderProps } from './shaders/pulsing-border';
|
|
54
|
+
export { PulsingBorder, pulsingBorderPresets } from './shaders/pulsing-border.js';
|
|
55
|
+
export type { PulsingBorderProps } from './shaders/pulsing-border.js';
|
|
56
56
|
export type { PulsingBorderUniforms, PulsingBorderParams } from '@paper-design/shaders';
|
|
57
|
+
export { ColorPanels, colorPanelsPresets } from './shaders/color-panels.js';
|
|
58
|
+
export type { ColorPanelsProps } from './shaders/color-panels.js';
|
|
59
|
+
export type { ColorPanelsUniforms, ColorPanelsParams } from '@paper-design/shaders';
|
|
57
60
|
export { isPaperShaderElement, getShaderColorFromString } from '@paper-design/shaders';
|
|
58
61
|
export type { ShaderFit, ShaderSizingParams, ShaderSizingUniforms } from '@paper-design/shaders';
|
|
59
62
|
export { dotOrbitMeta, godRaysMeta, grainGradientMeta, meshGradientMeta, metaballsMeta, pulsingBorderMeta, simplexNoiseMeta, smokeRingMeta, swirlMeta, voronoiMeta, warpMeta, } from '@paper-design/shaders';
|
package/dist/index.js
CHANGED
|
@@ -3,25 +3,26 @@
|
|
|
3
3
|
* https://github.com/paper-design/shaders *
|
|
4
4
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
5
|
|
|
6
|
-
import { ShaderMount } from "./shader-mount";
|
|
7
|
-
import { MeshGradient, meshGradientPresets } from "./shaders/mesh-gradient";
|
|
8
|
-
import { SmokeRing, smokeRingPresets } from "./shaders/smoke-ring";
|
|
9
|
-
import { NeuroNoise, neuroNoisePresets } from "./shaders/neuro-noise";
|
|
10
|
-
import { DotOrbit, dotOrbitPresets } from "./shaders/dot-orbit";
|
|
11
|
-
import { DotGrid, dotGridPresets } from "./shaders/dot-grid";
|
|
12
|
-
import { SimplexNoise, simplexNoisePresets } from "./shaders/simplex-noise";
|
|
13
|
-
import { Metaballs, metaballsPresets } from "./shaders/metaballs";
|
|
14
|
-
import { Waves, wavesPresets } from "./shaders/waves";
|
|
15
|
-
import { PerlinNoise, perlinNoisePresets } from "./shaders/perlin-noise";
|
|
16
|
-
import { Voronoi, voronoiPresets } from "./shaders/voronoi";
|
|
17
|
-
import { Warp, warpPresets } from "./shaders/warp";
|
|
18
|
-
import { GodRays, godRaysPresets } from "./shaders/god-rays";
|
|
19
|
-
import { Spiral, spiralPresets } from "./shaders/spiral";
|
|
20
|
-
import { Swirl, swirlPresets } from "./shaders/swirl";
|
|
21
|
-
import { Dithering, ditheringPresets } from "./shaders/dithering";
|
|
22
|
-
import { GrainGradient, grainGradientPresets } from "./shaders/grain-gradient";
|
|
23
|
-
import { LiquidMetal, liquidMetalPresets } from "./shaders/liquid-metal";
|
|
24
|
-
import { PulsingBorder, pulsingBorderPresets } from "./shaders/pulsing-border";
|
|
6
|
+
import { ShaderMount } from "./shader-mount.js";
|
|
7
|
+
import { MeshGradient, meshGradientPresets } from "./shaders/mesh-gradient.js";
|
|
8
|
+
import { SmokeRing, smokeRingPresets } from "./shaders/smoke-ring.js";
|
|
9
|
+
import { NeuroNoise, neuroNoisePresets } from "./shaders/neuro-noise.js";
|
|
10
|
+
import { DotOrbit, dotOrbitPresets } from "./shaders/dot-orbit.js";
|
|
11
|
+
import { DotGrid, dotGridPresets } from "./shaders/dot-grid.js";
|
|
12
|
+
import { SimplexNoise, simplexNoisePresets } from "./shaders/simplex-noise.js";
|
|
13
|
+
import { Metaballs, metaballsPresets } from "./shaders/metaballs.js";
|
|
14
|
+
import { Waves, wavesPresets } from "./shaders/waves.js";
|
|
15
|
+
import { PerlinNoise, perlinNoisePresets } from "./shaders/perlin-noise.js";
|
|
16
|
+
import { Voronoi, voronoiPresets } from "./shaders/voronoi.js";
|
|
17
|
+
import { Warp, warpPresets } from "./shaders/warp.js";
|
|
18
|
+
import { GodRays, godRaysPresets } from "./shaders/god-rays.js";
|
|
19
|
+
import { Spiral, spiralPresets } from "./shaders/spiral.js";
|
|
20
|
+
import { Swirl, swirlPresets } from "./shaders/swirl.js";
|
|
21
|
+
import { Dithering, ditheringPresets } from "./shaders/dithering.js";
|
|
22
|
+
import { GrainGradient, grainGradientPresets } from "./shaders/grain-gradient.js";
|
|
23
|
+
import { LiquidMetal, liquidMetalPresets } from "./shaders/liquid-metal.js";
|
|
24
|
+
import { PulsingBorder, pulsingBorderPresets } from "./shaders/pulsing-border.js";
|
|
25
|
+
import { ColorPanels, colorPanelsPresets } from "./shaders/color-panels.js";
|
|
25
26
|
import { isPaperShaderElement, getShaderColorFromString } from "@paper-design/shaders";
|
|
26
27
|
import {
|
|
27
28
|
dotOrbitMeta,
|
|
@@ -37,6 +38,7 @@ import {
|
|
|
37
38
|
warpMeta
|
|
38
39
|
} from "@paper-design/shaders";
|
|
39
40
|
export {
|
|
41
|
+
ColorPanels,
|
|
40
42
|
Dithering,
|
|
41
43
|
DotGrid,
|
|
42
44
|
DotOrbit,
|
|
@@ -56,6 +58,7 @@ export {
|
|
|
56
58
|
Voronoi,
|
|
57
59
|
Warp,
|
|
58
60
|
Waves,
|
|
61
|
+
colorPanelsPresets,
|
|
59
62
|
ditheringPresets,
|
|
60
63
|
dotGridPresets,
|
|
61
64
|
dotOrbitMeta,
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { ShaderMount } from './shader-mount';\nexport type { ShaderMountProps, ShaderComponentProps } from './shader-mount';\n\nexport { MeshGradient, meshGradientPresets } from './shaders/mesh-gradient';\nexport type { MeshGradientProps } from './shaders/mesh-gradient';\nexport type { MeshGradientUniforms, MeshGradientParams } from '@paper-design/shaders';\n\nexport { SmokeRing, smokeRingPresets } from './shaders/smoke-ring';\nexport type { SmokeRingProps } from './shaders/smoke-ring';\nexport type { SmokeRingUniforms, SmokeRingParams } from '@paper-design/shaders';\n\nexport { NeuroNoise, neuroNoisePresets } from './shaders/neuro-noise';\nexport type { NeuroNoiseProps } from './shaders/neuro-noise';\nexport type { NeuroNoiseUniforms, NeuroNoiseParams } from '@paper-design/shaders';\n\nexport { DotOrbit, dotOrbitPresets } from './shaders/dot-orbit';\nexport type { DotOrbitProps } from './shaders/dot-orbit';\nexport type { DotOrbitUniforms, DotOrbitParams } from '@paper-design/shaders';\n\nexport { DotGrid, dotGridPresets } from './shaders/dot-grid';\nexport type { DotGridProps } from './shaders/dot-grid';\nexport type { DotGridUniforms, DotGridParams } from '@paper-design/shaders';\n\nexport { SimplexNoise, simplexNoisePresets } from './shaders/simplex-noise';\nexport type { SimplexNoiseProps } from './shaders/simplex-noise';\nexport type { SimplexNoiseUniforms, SimplexNoiseParams } from '@paper-design/shaders';\n\nexport { Metaballs, metaballsPresets } from './shaders/metaballs';\nexport type { MetaballsProps } from './shaders/metaballs';\nexport type { MetaballsUniforms, MetaballsParams } from '@paper-design/shaders';\n\nexport { Waves, wavesPresets } from './shaders/waves';\nexport type { WavesProps } from './shaders/waves';\nexport type { WavesUniforms, WavesParams } from '@paper-design/shaders';\n\nexport { PerlinNoise, perlinNoisePresets } from './shaders/perlin-noise';\nexport type { PerlinNoiseProps } from './shaders/perlin-noise';\nexport type { PerlinNoiseUniforms, PerlinNoiseParams } from '@paper-design/shaders';\n\nexport { Voronoi, voronoiPresets } from './shaders/voronoi';\nexport type { VoronoiProps } from './shaders/voronoi';\nexport type { VoronoiUniforms, VoronoiParams } from '@paper-design/shaders';\n\nexport { Warp, warpPresets } from './shaders/warp';\nexport type { WarpProps } from './shaders/warp';\nexport type { WarpUniforms, WarpParams, WarpPattern } from '@paper-design/shaders';\n\nexport { GodRays, godRaysPresets } from './shaders/god-rays';\nexport type { GodRaysProps } from './shaders/god-rays';\nexport type { GodRaysUniforms, GodRaysParams } from '@paper-design/shaders';\n\nexport { Spiral, spiralPresets } from './shaders/spiral';\nexport type { SpiralProps } from './shaders/spiral';\nexport type { SpiralUniforms, SpiralParams } from '@paper-design/shaders';\n\nexport { Swirl, swirlPresets } from './shaders/swirl';\nexport type { SwirlProps } from './shaders/swirl';\nexport type { SwirlUniforms, SwirlParams } from '@paper-design/shaders';\n\nexport { Dithering, ditheringPresets } from './shaders/dithering';\nexport type { DitheringProps } from './shaders/dithering';\nexport type { DitheringUniforms, DitheringParams } from '@paper-design/shaders';\n\nexport { GrainGradient, grainGradientPresets } from './shaders/grain-gradient';\nexport type { GrainGradientProps } from './shaders/grain-gradient';\nexport type { GrainGradientUniforms, GrainGradientParams } from '@paper-design/shaders';\n\nexport { LiquidMetal, liquidMetalPresets } from './shaders/liquid-metal';\nexport type { LiquidMetalProps } from './shaders/liquid-metal';\nexport type { LiquidMetalUniforms, LiquidMetalParams } from '@paper-design/shaders';\n\nexport { PulsingBorder, pulsingBorderPresets } from './shaders/pulsing-border';\nexport type { PulsingBorderProps } from './shaders/pulsing-border';\nexport type { PulsingBorderUniforms, PulsingBorderParams } from '@paper-design/shaders';\n\nexport { isPaperShaderElement, getShaderColorFromString } from '@paper-design/shaders';\nexport type { ShaderFit, ShaderSizingParams, ShaderSizingUniforms } from '@paper-design/shaders';\n\nexport {\n dotOrbitMeta,\n godRaysMeta,\n grainGradientMeta,\n meshGradientMeta,\n metaballsMeta,\n pulsingBorderMeta,\n simplexNoiseMeta,\n smokeRingMeta,\n swirlMeta,\n voronoiMeta,\n warpMeta,\n} from '@paper-design/shaders';\n"],
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,mBAAmB;AAG5B,SAAS,cAAc,2BAA2B;AAIlD,SAAS,WAAW,wBAAwB;AAI5C,SAAS,YAAY,yBAAyB;AAI9C,SAAS,UAAU,uBAAuB;AAI1C,SAAS,SAAS,sBAAsB;AAIxC,SAAS,cAAc,2BAA2B;AAIlD,SAAS,WAAW,wBAAwB;AAI5C,SAAS,OAAO,oBAAoB;AAIpC,SAAS,aAAa,0BAA0B;AAIhD,SAAS,SAAS,sBAAsB;AAIxC,SAAS,MAAM,mBAAmB;AAIlC,SAAS,SAAS,sBAAsB;AAIxC,SAAS,QAAQ,qBAAqB;AAItC,SAAS,OAAO,oBAAoB;AAIpC,SAAS,WAAW,wBAAwB;AAI5C,SAAS,eAAe,4BAA4B;AAIpD,SAAS,aAAa,0BAA0B;AAIhD,SAAS,eAAe,4BAA4B;AAIpD,SAAS,sBAAsB,gCAAgC;AAG/D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;",
|
|
4
|
+
"sourcesContent": ["export { ShaderMount } from './shader-mount.js';\nexport type { ShaderMountProps, ShaderComponentProps } from './shader-mount.js';\n\nexport { MeshGradient, meshGradientPresets } from './shaders/mesh-gradient.js';\nexport type { MeshGradientProps } from './shaders/mesh-gradient.js';\nexport type { MeshGradientUniforms, MeshGradientParams } from '@paper-design/shaders';\n\nexport { SmokeRing, smokeRingPresets } from './shaders/smoke-ring.js';\nexport type { SmokeRingProps } from './shaders/smoke-ring.js';\nexport type { SmokeRingUniforms, SmokeRingParams } from '@paper-design/shaders';\n\nexport { NeuroNoise, neuroNoisePresets } from './shaders/neuro-noise.js';\nexport type { NeuroNoiseProps } from './shaders/neuro-noise.js';\nexport type { NeuroNoiseUniforms, NeuroNoiseParams } from '@paper-design/shaders';\n\nexport { DotOrbit, dotOrbitPresets } from './shaders/dot-orbit.js';\nexport type { DotOrbitProps } from './shaders/dot-orbit.js';\nexport type { DotOrbitUniforms, DotOrbitParams } from '@paper-design/shaders';\n\nexport { DotGrid, dotGridPresets } from './shaders/dot-grid.js';\nexport type { DotGridProps } from './shaders/dot-grid.js';\nexport type { DotGridUniforms, DotGridParams } from '@paper-design/shaders';\n\nexport { SimplexNoise, simplexNoisePresets } from './shaders/simplex-noise.js';\nexport type { SimplexNoiseProps } from './shaders/simplex-noise.js';\nexport type { SimplexNoiseUniforms, SimplexNoiseParams } from '@paper-design/shaders';\n\nexport { Metaballs, metaballsPresets } from './shaders/metaballs.js';\nexport type { MetaballsProps } from './shaders/metaballs.js';\nexport type { MetaballsUniforms, MetaballsParams } from '@paper-design/shaders';\n\nexport { Waves, wavesPresets } from './shaders/waves.js';\nexport type { WavesProps } from './shaders/waves.js';\nexport type { WavesUniforms, WavesParams } from '@paper-design/shaders';\n\nexport { PerlinNoise, perlinNoisePresets } from './shaders/perlin-noise.js';\nexport type { PerlinNoiseProps } from './shaders/perlin-noise.js';\nexport type { PerlinNoiseUniforms, PerlinNoiseParams } from '@paper-design/shaders';\n\nexport { Voronoi, voronoiPresets } from './shaders/voronoi.js';\nexport type { VoronoiProps } from './shaders/voronoi.js';\nexport type { VoronoiUniforms, VoronoiParams } from '@paper-design/shaders';\n\nexport { Warp, warpPresets } from './shaders/warp.js';\nexport type { WarpProps } from './shaders/warp.js';\nexport type { WarpUniforms, WarpParams, WarpPattern } from '@paper-design/shaders';\n\nexport { GodRays, godRaysPresets } from './shaders/god-rays.js';\nexport type { GodRaysProps } from './shaders/god-rays.js';\nexport type { GodRaysUniforms, GodRaysParams } from '@paper-design/shaders';\n\nexport { Spiral, spiralPresets } from './shaders/spiral.js';\nexport type { SpiralProps } from './shaders/spiral.js';\nexport type { SpiralUniforms, SpiralParams } from '@paper-design/shaders';\n\nexport { Swirl, swirlPresets } from './shaders/swirl.js';\nexport type { SwirlProps } from './shaders/swirl.js';\nexport type { SwirlUniforms, SwirlParams } from '@paper-design/shaders';\n\nexport { Dithering, ditheringPresets } from './shaders/dithering.js';\nexport type { DitheringProps } from './shaders/dithering.js';\nexport type { DitheringUniforms, DitheringParams } from '@paper-design/shaders';\n\nexport { GrainGradient, grainGradientPresets } from './shaders/grain-gradient.js';\nexport type { GrainGradientProps } from './shaders/grain-gradient.js';\nexport type { GrainGradientUniforms, GrainGradientParams } from '@paper-design/shaders';\n\nexport { LiquidMetal, liquidMetalPresets } from './shaders/liquid-metal.js';\nexport type { LiquidMetalProps } from './shaders/liquid-metal.js';\nexport type { LiquidMetalUniforms, LiquidMetalParams } from '@paper-design/shaders';\n\nexport { PulsingBorder, pulsingBorderPresets } from './shaders/pulsing-border.js';\nexport type { PulsingBorderProps } from './shaders/pulsing-border.js';\nexport type { PulsingBorderUniforms, PulsingBorderParams } from '@paper-design/shaders';\n\nexport { ColorPanels, colorPanelsPresets } from './shaders/color-panels.js';\nexport type { ColorPanelsProps } from './shaders/color-panels.js';\nexport type { ColorPanelsUniforms, ColorPanelsParams } from '@paper-design/shaders';\n\nexport { isPaperShaderElement, getShaderColorFromString } from '@paper-design/shaders';\nexport type { ShaderFit, ShaderSizingParams, ShaderSizingUniforms } from '@paper-design/shaders';\n\nexport {\n dotOrbitMeta,\n godRaysMeta,\n grainGradientMeta,\n meshGradientMeta,\n metaballsMeta,\n pulsingBorderMeta,\n simplexNoiseMeta,\n smokeRingMeta,\n swirlMeta,\n voronoiMeta,\n warpMeta,\n} from '@paper-design/shaders';\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA,SAAS,mBAAmB;AAG5B,SAAS,cAAc,2BAA2B;AAIlD,SAAS,WAAW,wBAAwB;AAI5C,SAAS,YAAY,yBAAyB;AAI9C,SAAS,UAAU,uBAAuB;AAI1C,SAAS,SAAS,sBAAsB;AAIxC,SAAS,cAAc,2BAA2B;AAIlD,SAAS,WAAW,wBAAwB;AAI5C,SAAS,OAAO,oBAAoB;AAIpC,SAAS,aAAa,0BAA0B;AAIhD,SAAS,SAAS,sBAAsB;AAIxC,SAAS,MAAM,mBAAmB;AAIlC,SAAS,SAAS,sBAAsB;AAIxC,SAAS,QAAQ,qBAAqB;AAItC,SAAS,OAAO,oBAAoB;AAIpC,SAAS,WAAW,wBAAwB;AAI5C,SAAS,eAAe,4BAA4B;AAIpD,SAAS,aAAa,0BAA0B;AAIhD,SAAS,eAAe,4BAA4B;AAIpD,SAAS,aAAa,0BAA0B;AAIhD,SAAS,sBAAsB,gCAAgC;AAG/D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/shader-mount.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { type ShaderMotionParams } from '@paper-design/shaders';
|
|
1
|
+
import { ShaderMount as ShaderMountVanilla, type ShaderMotionParams } from '@paper-design/shaders';
|
|
2
|
+
export interface ShaderMountRef extends HTMLDivElement {
|
|
3
|
+
paperShaderMount?: ShaderMountVanilla;
|
|
4
|
+
}
|
|
2
5
|
/** React Shader Mount can also accept strings as uniform values, which will assumed to be URLs and loaded as images */
|
|
3
6
|
interface ShaderMountUniformsReact {
|
|
4
7
|
[key: string]: string | boolean | number | number[] | number[][] | HTMLImageElement;
|
package/dist/shader-mount.js
CHANGED
|
@@ -8,7 +8,7 @@ import { useEffect, useRef, forwardRef, useState } from "react";
|
|
|
8
8
|
import {
|
|
9
9
|
ShaderMount as ShaderMountVanilla
|
|
10
10
|
} from "@paper-design/shaders";
|
|
11
|
-
import { useMergeRefs } from "./use-merge-refs";
|
|
11
|
+
import { useMergeRefs } from "./use-merge-refs.js";
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
13
|
async function processUniforms(uniformsProp) {
|
|
14
14
|
const processedUniforms = {};
|
package/dist/shader-mount.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/shader-mount.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport { useEffect, useRef, forwardRef, useState } from 'react';\nimport {\n ShaderMount as ShaderMountVanilla,\n type ShaderMotionParams,\n type ShaderMountUniforms,\n} from '@paper-design/shaders';\nimport { useMergeRefs } from './use-merge-refs';\n\n/** React Shader Mount can also accept strings as uniform values, which will assumed to be URLs and loaded as images */\ninterface ShaderMountUniformsReact {\n [key: string]: string | boolean | number | number[] | number[][] | HTMLImageElement;\n}\n\nexport interface ShaderMountProps extends Omit<React.ComponentProps<'div'>, 'color'>, ShaderMotionParams {\n fragmentShader: string;\n uniforms: ShaderMountUniformsReact;\n minPixelRatio?: number;\n maxPixelCount?: number;\n webGlContextAttributes?: WebGLContextAttributes;\n}\n\nexport interface ShaderComponentProps extends Omit<React.ComponentProps<'div'>, 'color'> {\n minPixelRatio?: number;\n maxPixelCount?: number;\n webGlContextAttributes?: WebGLContextAttributes;\n}\n\n/** Parse the provided uniforms, turning URL strings into loaded images */\nasync function processUniforms(uniformsProp: ShaderMountUniformsReact): Promise<ShaderMountUniforms> {\n const processedUniforms = {} as ShaderMountUniforms;\n const imageLoadPromises: Promise<void>[] = [];\n\n const isValidUrl = (url: string): boolean => {\n try {\n // Handle absolute paths\n if (url.startsWith('/')) return true;\n // Check if it's a valid URL\n new URL(url);\n return true;\n } catch {\n return false;\n }\n };\n\n const isExternalUrl = (url: string): boolean => {\n try {\n if (url.startsWith('/')) return false;\n const urlObject = new URL(url, window.location.origin);\n return urlObject.origin !== window.location.origin;\n } catch {\n return false;\n }\n };\n\n Object.entries(uniformsProp).forEach(([key, value]) => {\n if (typeof value === 'string') {\n // Make sure the provided string is a valid URL or just skip trying to set this uniform entirely\n if (!isValidUrl(value)) {\n console.warn(`Uniform \"${key}\" has invalid URL \"${value}\". Skipping image loading.`);\n return;\n }\n\n const imagePromise = new Promise<void>((resolve, reject) => {\n const img = new Image();\n if (isExternalUrl(value)) {\n img.crossOrigin = 'anonymous';\n }\n img.onload = () => {\n processedUniforms[key] = img;\n resolve();\n };\n img.onerror = () => {\n console.error(`Could not set uniforms. Failed to load image at ${value}`);\n reject();\n };\n img.src = value;\n });\n imageLoadPromises.push(imagePromise);\n } else {\n processedUniforms[key] = value;\n }\n });\n\n await Promise.all(imageLoadPromises);\n return processedUniforms;\n}\n\n/**\n * A React component that mounts a shader and updates its uniforms as the component's props change\n * If you pass a string as a uniform value, it will be assumed to be a URL and attempted to be loaded as an image\n */\nexport const ShaderMount: React.FC<ShaderMountProps> = forwardRef<
|
|
5
|
-
"mappings": ";;;;;;AAEA,SAAS,WAAW,QAAQ,YAAY,gBAAgB;AACxD;AAAA,EACE,eAAe;AAAA,OAGV;AACP,SAAS,oBAAoB;
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport { useEffect, useRef, forwardRef, useState } from 'react';\nimport {\n ShaderMount as ShaderMountVanilla,\n type ShaderMotionParams,\n type ShaderMountUniforms,\n} from '@paper-design/shaders';\nimport { useMergeRefs } from './use-merge-refs.js';\n\nexport interface ShaderMountRef extends HTMLDivElement {\n paperShaderMount?: ShaderMountVanilla;\n}\n\n/** React Shader Mount can also accept strings as uniform values, which will assumed to be URLs and loaded as images */\ninterface ShaderMountUniformsReact {\n [key: string]: string | boolean | number | number[] | number[][] | HTMLImageElement;\n}\n\nexport interface ShaderMountProps extends Omit<React.ComponentProps<'div'>, 'color'>, ShaderMotionParams {\n fragmentShader: string;\n uniforms: ShaderMountUniformsReact;\n minPixelRatio?: number;\n maxPixelCount?: number;\n webGlContextAttributes?: WebGLContextAttributes;\n}\n\nexport interface ShaderComponentProps extends Omit<React.ComponentProps<'div'>, 'color'> {\n minPixelRatio?: number;\n maxPixelCount?: number;\n webGlContextAttributes?: WebGLContextAttributes;\n}\n\n/** Parse the provided uniforms, turning URL strings into loaded images */\nasync function processUniforms(uniformsProp: ShaderMountUniformsReact): Promise<ShaderMountUniforms> {\n const processedUniforms = {} as ShaderMountUniforms;\n const imageLoadPromises: Promise<void>[] = [];\n\n const isValidUrl = (url: string): boolean => {\n try {\n // Handle absolute paths\n if (url.startsWith('/')) return true;\n // Check if it's a valid URL\n new URL(url);\n return true;\n } catch {\n return false;\n }\n };\n\n const isExternalUrl = (url: string): boolean => {\n try {\n if (url.startsWith('/')) return false;\n const urlObject = new URL(url, window.location.origin);\n return urlObject.origin !== window.location.origin;\n } catch {\n return false;\n }\n };\n\n Object.entries(uniformsProp).forEach(([key, value]) => {\n if (typeof value === 'string') {\n // Make sure the provided string is a valid URL or just skip trying to set this uniform entirely\n if (!isValidUrl(value)) {\n console.warn(`Uniform \"${key}\" has invalid URL \"${value}\". Skipping image loading.`);\n return;\n }\n\n const imagePromise = new Promise<void>((resolve, reject) => {\n const img = new Image();\n if (isExternalUrl(value)) {\n img.crossOrigin = 'anonymous';\n }\n img.onload = () => {\n processedUniforms[key] = img;\n resolve();\n };\n img.onerror = () => {\n console.error(`Could not set uniforms. Failed to load image at ${value}`);\n reject();\n };\n img.src = value;\n });\n imageLoadPromises.push(imagePromise);\n } else {\n processedUniforms[key] = value;\n }\n });\n\n await Promise.all(imageLoadPromises);\n return processedUniforms;\n}\n\n/**\n * A React component that mounts a shader and updates its uniforms as the component's props change\n * If you pass a string as a uniform value, it will be assumed to be a URL and attempted to be loaded as an image\n */\nexport const ShaderMount: React.FC<ShaderMountProps> = forwardRef<ShaderMountRef, ShaderMountProps>(\n function ShaderMountImpl(\n {\n fragmentShader,\n uniforms: uniformsProp,\n webGlContextAttributes,\n speed = 0,\n frame = 0,\n minPixelRatio,\n maxPixelCount,\n ...divProps\n },\n forwardedRef\n ) {\n const [isInitialized, setIsInitialized] = useState(false);\n const divRef = useRef<HTMLDivElement>(null);\n const shaderMountRef: React.RefObject<ShaderMountVanilla | null> = useRef<ShaderMountVanilla>(null);\n\n // Initialize the ShaderMountVanilla\n useEffect(() => {\n const initShader = async () => {\n const uniforms = await processUniforms(uniformsProp);\n\n if (divRef.current && !shaderMountRef.current) {\n shaderMountRef.current = new ShaderMountVanilla(\n divRef.current,\n fragmentShader,\n uniforms,\n webGlContextAttributes,\n speed,\n frame,\n minPixelRatio,\n maxPixelCount\n );\n\n setIsInitialized(true);\n }\n };\n\n initShader();\n\n return () => {\n shaderMountRef.current?.dispose();\n shaderMountRef.current = null;\n };\n }, [fragmentShader, webGlContextAttributes]);\n\n // Uniforms\n useEffect(() => {\n const updateUniforms = async () => {\n const uniforms = await processUniforms(uniformsProp);\n shaderMountRef.current?.setUniforms(uniforms);\n };\n\n updateUniforms();\n }, [uniformsProp, isInitialized]);\n\n // Speed\n useEffect(() => {\n shaderMountRef.current?.setSpeed(speed);\n }, [speed, isInitialized]);\n\n // Max Pixel Count\n useEffect(() => {\n shaderMountRef.current?.setMaxPixelCount(maxPixelCount);\n }, [maxPixelCount, isInitialized]);\n\n // Min Pixel Ratio\n useEffect(() => {\n shaderMountRef.current?.setMinPixelRatio(minPixelRatio);\n }, [minPixelRatio, isInitialized]);\n\n // Frame\n useEffect(() => {\n shaderMountRef.current?.setFrame(frame);\n }, [frame, isInitialized]);\n\n return <div ref={useMergeRefs([divRef, forwardedRef])} {...divProps} />;\n }\n);\n\nShaderMount.displayName = 'ShaderMount';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
|
+
import { type ColorPanelsParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
|
+
export interface ColorPanelsProps extends ShaderComponentProps, ColorPanelsParams {
|
|
4
|
+
}
|
|
5
|
+
type ColorPanelsPreset = ShaderPreset<ColorPanelsParams>;
|
|
6
|
+
export declare const defaultPreset: ColorPanelsPreset;
|
|
7
|
+
export declare const colorPanelsPresets: ColorPanelsPreset[];
|
|
8
|
+
export declare const ColorPanels: React.FC<ColorPanelsProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
2
|
+
* Paper Shaders *
|
|
3
|
+
* https://github.com/paper-design/shaders *
|
|
4
|
+
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
|
+
|
|
6
|
+
import { memo } from "react";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
|
+
import { colorPropsAreEqual } from "../color-props-are-equal.js";
|
|
9
|
+
import {
|
|
10
|
+
getShaderColorFromString,
|
|
11
|
+
colorPanelsFragmentShader,
|
|
12
|
+
ShaderFitOptions,
|
|
13
|
+
defaultObjectSizing
|
|
14
|
+
} from "@paper-design/shaders";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
const defaultPreset = {
|
|
17
|
+
name: "Default",
|
|
18
|
+
params: {
|
|
19
|
+
...defaultObjectSizing,
|
|
20
|
+
speed: 1,
|
|
21
|
+
frame: 0,
|
|
22
|
+
colors: [
|
|
23
|
+
"hsla(15, 100%, 50%, 1)",
|
|
24
|
+
"hsla(170, 100%, 50%, 1)",
|
|
25
|
+
"hsla(260, 100%, 50%, 1)",
|
|
26
|
+
"hsla(65, 100%, 50%, 1)",
|
|
27
|
+
"hsla(280, 100%, 50%, 1)"
|
|
28
|
+
],
|
|
29
|
+
colorBack: "hsla(0, 0%, 3%, 1)",
|
|
30
|
+
angle1: 0.1,
|
|
31
|
+
angle2: 0.1,
|
|
32
|
+
length: 1,
|
|
33
|
+
blur: 0.25,
|
|
34
|
+
fadeIn: 0.85,
|
|
35
|
+
fadeOut: 0.3,
|
|
36
|
+
gradient: 0,
|
|
37
|
+
density: 2
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const colorPanelsPresets = [defaultPreset];
|
|
41
|
+
const ColorPanels = memo(function ColorPanelsImpl({
|
|
42
|
+
// Own props
|
|
43
|
+
speed = defaultPreset.params.speed,
|
|
44
|
+
frame = defaultPreset.params.frame,
|
|
45
|
+
colors = defaultPreset.params.colors,
|
|
46
|
+
colorBack = defaultPreset.params.colorBack,
|
|
47
|
+
angle1 = defaultPreset.params.angle1,
|
|
48
|
+
angle2 = defaultPreset.params.angle2,
|
|
49
|
+
length = defaultPreset.params.length,
|
|
50
|
+
blur = defaultPreset.params.blur,
|
|
51
|
+
fadeIn = defaultPreset.params.fadeIn,
|
|
52
|
+
fadeOut = defaultPreset.params.fadeOut,
|
|
53
|
+
density = defaultPreset.params.density,
|
|
54
|
+
gradient = defaultPreset.params.gradient,
|
|
55
|
+
// Sizing props
|
|
56
|
+
fit = defaultPreset.params.fit,
|
|
57
|
+
scale = defaultPreset.params.scale,
|
|
58
|
+
rotation = defaultPreset.params.rotation,
|
|
59
|
+
originX = defaultPreset.params.originX,
|
|
60
|
+
originY = defaultPreset.params.originY,
|
|
61
|
+
offsetX = defaultPreset.params.offsetX,
|
|
62
|
+
offsetY = defaultPreset.params.offsetY,
|
|
63
|
+
worldWidth = defaultPreset.params.worldWidth,
|
|
64
|
+
worldHeight = defaultPreset.params.worldHeight,
|
|
65
|
+
...props
|
|
66
|
+
}) {
|
|
67
|
+
const uniforms = {
|
|
68
|
+
// Own uniforms
|
|
69
|
+
u_colors: colors.map(getShaderColorFromString),
|
|
70
|
+
u_colorsCount: colors.length,
|
|
71
|
+
u_colorBack: getShaderColorFromString(colorBack),
|
|
72
|
+
u_angle1: angle1,
|
|
73
|
+
u_angle2: angle2,
|
|
74
|
+
u_length: length,
|
|
75
|
+
u_blur: blur,
|
|
76
|
+
u_fadeIn: fadeIn,
|
|
77
|
+
u_fadeOut: fadeOut,
|
|
78
|
+
u_density: density,
|
|
79
|
+
u_gradient: gradient,
|
|
80
|
+
// Sizing uniforms
|
|
81
|
+
u_fit: ShaderFitOptions[fit],
|
|
82
|
+
u_scale: scale,
|
|
83
|
+
u_rotation: rotation,
|
|
84
|
+
u_offsetX: offsetX,
|
|
85
|
+
u_offsetY: offsetY,
|
|
86
|
+
u_originX: originX,
|
|
87
|
+
u_originY: originY,
|
|
88
|
+
u_worldWidth: worldWidth,
|
|
89
|
+
u_worldHeight: worldHeight
|
|
90
|
+
};
|
|
91
|
+
return /* @__PURE__ */ jsx(
|
|
92
|
+
ShaderMount,
|
|
93
|
+
{
|
|
94
|
+
...props,
|
|
95
|
+
speed,
|
|
96
|
+
frame,
|
|
97
|
+
fragmentShader: colorPanelsFragmentShader,
|
|
98
|
+
uniforms
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
}, colorPropsAreEqual);
|
|
102
|
+
export {
|
|
103
|
+
ColorPanels,
|
|
104
|
+
colorPanelsPresets,
|
|
105
|
+
defaultPreset
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=color-panels.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/shaders/color-panels.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n getShaderColorFromString,\n colorPanelsFragmentShader,\n ShaderFitOptions,\n type ColorPanelsUniforms,\n type ColorPanelsParams,\n type ShaderPreset,\n defaultObjectSizing,\n} from '@paper-design/shaders';\n\nexport interface ColorPanelsProps extends ShaderComponentProps, ColorPanelsParams {}\n\ntype ColorPanelsPreset = ShaderPreset<ColorPanelsParams>;\n\n// Due to Leva controls limitation:\n// 1) keep default colors in HSLA format to keep alpha channel\n// 2) don't use decimal values on HSL values (to avoid button highlight bug)\n\nexport const defaultPreset: ColorPanelsPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colors: [\n 'hsla(15, 100%, 50%, 1)',\n 'hsla(170, 100%, 50%, 1)',\n 'hsla(260, 100%, 50%, 1)',\n 'hsla(65, 100%, 50%, 1)',\n 'hsla(280, 100%, 50%, 1)',\n ],\n colorBack: 'hsla(0, 0%, 3%, 1)',\n angle1: 0.1,\n angle2: 0.1,\n length: 1,\n blur: 0.25,\n fadeIn: 0.85,\n fadeOut: 0.3,\n gradient: 0,\n density: 2,\n },\n};\n\nexport const colorPanelsPresets: ColorPanelsPreset[] = [defaultPreset];\n\nexport const ColorPanels: React.FC<ColorPanelsProps> = memo(function ColorPanelsImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n colorBack = defaultPreset.params.colorBack,\n angle1 = defaultPreset.params.angle1,\n angle2 = defaultPreset.params.angle2,\n length = defaultPreset.params.length,\n blur = defaultPreset.params.blur,\n fadeIn = defaultPreset.params.fadeIn,\n fadeOut = defaultPreset.params.fadeOut,\n density = defaultPreset.params.density,\n gradient = defaultPreset.params.gradient,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: ColorPanelsProps) {\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_colorBack: getShaderColorFromString(colorBack),\n u_angle1: angle1,\n u_angle2: angle2,\n u_length: length,\n u_blur: blur,\n u_fadeIn: fadeIn,\n u_fadeOut: fadeOut,\n u_density: density,\n u_gradient: gradient,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies ColorPanelsUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={colorPanelsFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,OACK;AA2FH;AAjFG,MAAM,gBAAmC;AAAA,EAC9C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AACF;AAEO,MAAM,qBAA0C,CAAC,aAAa;AAE9D,MAAM,cAA0C,KAAK,SAAS,gBAAgB;AAAA;AAAA,EAEnF,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,SAAS,cAAc,OAAO;AAAA,EAC9B,YAAY,cAAc,OAAO;AAAA,EACjC,SAAS,cAAc,OAAO;AAAA,EAC9B,SAAS,cAAc,OAAO;AAAA,EAC9B,SAAS,cAAc,OAAO;AAAA,EAC9B,OAAO,cAAc,OAAO;AAAA,EAC5B,SAAS,cAAc,OAAO;AAAA,EAC9B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,WAAW,cAAc,OAAO;AAAA;AAAA,EAGhC,MAAM,cAAc,OAAO;AAAA,EAC3B,QAAQ,cAAc,OAAO;AAAA,EAC7B,WAAW,cAAc,OAAO;AAAA,EAChC,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,aAAa,cAAc,OAAO;AAAA,EAClC,cAAc,cAAc,OAAO;AAAA,EACnC,GAAG;AACL,GAAqB;AACnB,QAAM,WAAW;AAAA;AAAA,IAEf,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,aAAa,yBAAyB,SAAS;AAAA,IAC/C,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA;AAAA,IAGZ,OAAO,iBAAiB,GAAG;AAAA,IAC3B,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA;AAAA,EACF;AAEJ,GAAG,kBAAkB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ShaderComponentProps } from '../shader-mount';
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
2
|
import { type DitheringParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
3
|
export interface DitheringProps extends ShaderComponentProps, DitheringParams {
|
|
4
4
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
5
|
|
|
6
6
|
import { memo } from "react";
|
|
7
|
-
import { ShaderMount } from "../shader-mount";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
8
|
import {
|
|
9
9
|
getShaderColorFromString,
|
|
10
10
|
ditheringFragmentShader,
|
|
@@ -21,8 +21,8 @@ const defaultPreset = {
|
|
|
21
21
|
...defaultPatternSizing,
|
|
22
22
|
speed: 1,
|
|
23
23
|
frame: 0,
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
colorBack: "#252531",
|
|
25
|
+
colorFront: "#b59f82",
|
|
26
26
|
shape: "simplex",
|
|
27
27
|
type: "4x4",
|
|
28
28
|
pxSize: 2
|
|
@@ -34,8 +34,8 @@ const warpPreset = {
|
|
|
34
34
|
...defaultPatternSizing,
|
|
35
35
|
speed: 1,
|
|
36
36
|
frame: 0,
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
colorBack: "#2f6e83",
|
|
38
|
+
colorFront: "#dceae8",
|
|
39
39
|
shape: "warp",
|
|
40
40
|
type: "4x4",
|
|
41
41
|
pxSize: 2
|
|
@@ -47,8 +47,8 @@ const sinePreset = {
|
|
|
47
47
|
...defaultPatternSizing,
|
|
48
48
|
speed: 1,
|
|
49
49
|
frame: 0,
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
colorBack: "#730d54",
|
|
51
|
+
colorFront: "#00becc",
|
|
52
52
|
shape: "wave",
|
|
53
53
|
type: "4x4",
|
|
54
54
|
pxSize: 11
|
|
@@ -60,8 +60,8 @@ const bugsPreset = {
|
|
|
60
60
|
...defaultPatternSizing,
|
|
61
61
|
speed: 1,
|
|
62
62
|
frame: 0,
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
colorBack: "#000000",
|
|
64
|
+
colorFront: "#008000",
|
|
65
65
|
shape: "dots",
|
|
66
66
|
type: "random",
|
|
67
67
|
pxSize: 9
|
|
@@ -73,8 +73,8 @@ const ripplePreset = {
|
|
|
73
73
|
...defaultObjectSizing,
|
|
74
74
|
speed: 1,
|
|
75
75
|
frame: 0,
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
colorBack: "#603520",
|
|
77
|
+
colorFront: "#c67953",
|
|
78
78
|
shape: "ripple",
|
|
79
79
|
type: "2x2",
|
|
80
80
|
pxSize: 3
|
|
@@ -86,8 +86,8 @@ const swirlPreset = {
|
|
|
86
86
|
...defaultObjectSizing,
|
|
87
87
|
speed: 1,
|
|
88
88
|
frame: 0,
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
colorBack: "#000000",
|
|
90
|
+
colorFront: "#263740",
|
|
91
91
|
shape: "swirl",
|
|
92
92
|
type: "8x8",
|
|
93
93
|
pxSize: 2
|
|
@@ -99,8 +99,8 @@ const spherePreset = {
|
|
|
99
99
|
...defaultObjectSizing,
|
|
100
100
|
speed: 1,
|
|
101
101
|
frame: 0,
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
colorBack: "#301c2a",
|
|
103
|
+
colorFront: "#366341",
|
|
104
104
|
shape: "sphere",
|
|
105
105
|
type: "4x4",
|
|
106
106
|
pxSize: 2.5
|
|
@@ -119,8 +119,8 @@ const Dithering = memo(function DitheringImpl({
|
|
|
119
119
|
// Own props
|
|
120
120
|
speed = defaultPreset.params.speed,
|
|
121
121
|
frame = defaultPreset.params.frame,
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
colorBack = defaultPreset.params.colorBack,
|
|
123
|
+
colorFront = defaultPreset.params.colorFront,
|
|
124
124
|
shape = defaultPreset.params.shape,
|
|
125
125
|
type = defaultPreset.params.type,
|
|
126
126
|
pxSize = defaultPreset.params.pxSize,
|
|
@@ -138,8 +138,8 @@ const Dithering = memo(function DitheringImpl({
|
|
|
138
138
|
}) {
|
|
139
139
|
const uniforms = {
|
|
140
140
|
// Own uniforms
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
u_colorBack: getShaderColorFromString(colorBack),
|
|
142
|
+
u_colorFront: getShaderColorFromString(colorFront),
|
|
143
143
|
u_shape: DitheringShapes[shape],
|
|
144
144
|
u_type: DitheringTypes[type],
|
|
145
145
|
u_pxSize: pxSize,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/dithering.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport {\n getShaderColorFromString,\n ditheringFragmentShader,\n ShaderFitOptions,\n type DitheringUniforms,\n type DitheringParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n DitheringTypes,\n} from '@paper-design/shaders';\nimport { DitheringShapes } from '@paper-design/shaders';\n\nexport interface DitheringProps extends ShaderComponentProps, DitheringParams {}\n\ntype DitheringPreset = ShaderPreset<DitheringParams>;\n\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uBAAuB;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n getShaderColorFromString,\n ditheringFragmentShader,\n ShaderFitOptions,\n type DitheringUniforms,\n type DitheringParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n DitheringTypes,\n} from '@paper-design/shaders';\nimport { DitheringShapes } from '@paper-design/shaders';\n\nexport interface DitheringProps extends ShaderComponentProps, DitheringParams {}\n\ntype DitheringPreset = ShaderPreset<DitheringParams>;\n\nexport const defaultPreset: DitheringPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#252531',\n colorFront: '#b59f82',\n shape: 'simplex',\n type: '4x4',\n pxSize: 2,\n },\n};\n\nexport const warpPreset: DitheringPreset = {\n name: 'Warp',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#2f6e83',\n colorFront: '#dceae8',\n shape: 'warp',\n type: '4x4',\n pxSize: 2,\n },\n} as const;\n\nexport const sinePreset: DitheringPreset = {\n name: 'Sine Wave',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#730d54',\n colorFront: '#00becc',\n shape: 'wave',\n type: '4x4',\n pxSize: 11,\n },\n} as const;\n\nexport const bugsPreset: DitheringPreset = {\n name: 'Bugs',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colorFront: '#008000',\n shape: 'dots',\n type: 'random',\n pxSize: 9,\n },\n} as const;\n\nexport const ripplePreset: DitheringPreset = {\n name: 'Ripple',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#603520',\n colorFront: '#c67953',\n shape: 'ripple',\n type: '2x2',\n pxSize: 3,\n },\n} as const;\n\nexport const swirlPreset: DitheringPreset = {\n name: 'Swirl',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colorFront: '#263740',\n shape: 'swirl',\n type: '8x8',\n pxSize: 2,\n },\n} as const;\n\nexport const spherePreset: DitheringPreset = {\n name: 'Sphere',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#301c2a',\n colorFront: '#366341',\n shape: 'sphere',\n type: '4x4',\n pxSize: 2.5,\n },\n} as const;\n\nexport const ditheringPresets: DitheringPreset[] = [\n defaultPreset,\n spherePreset,\n sinePreset,\n warpPreset,\n ripplePreset,\n bugsPreset,\n swirlPreset,\n];\n\nexport const Dithering: React.FC<DitheringProps> = memo(function DitheringImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colorFront = defaultPreset.params.colorFront,\n shape = defaultPreset.params.shape,\n type = defaultPreset.params.type,\n pxSize = defaultPreset.params.pxSize,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFront: getShaderColorFromString(colorFront),\n u_shape: DitheringShapes[shape],\n u_type: DitheringTypes[type],\n u_pxSize: pxSize,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies DitheringUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={ditheringFragmentShader} uniforms={uniforms} />\n );\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ShaderComponentProps } from '../shader-mount';
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
2
|
import { type DotGridParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
3
|
export interface DotGridProps extends ShaderComponentProps, DotGridParams {
|
|
4
4
|
}
|
package/dist/shaders/dot-grid.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
5
|
|
|
6
6
|
import { memo } from "react";
|
|
7
|
-
import { ShaderMount } from "../shader-mount";
|
|
8
|
-
import { colorPropsAreEqual } from "../color-props-are-equal";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
|
+
import { colorPropsAreEqual } from "../color-props-are-equal.js";
|
|
9
9
|
import {
|
|
10
10
|
getShaderColorFromString,
|
|
11
11
|
dotGridFragmentShader,
|