@paper-design/shaders-react 0.0.29 → 0.0.30

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.
Files changed (67) hide show
  1. package/dist/color-props-are-equal.d.ts +6 -0
  2. package/dist/color-props-are-equal.js +34 -0
  3. package/dist/color-props-are-equal.js.map +7 -0
  4. package/dist/index.d.ts +46 -41
  5. package/dist/index.js +61 -1872
  6. package/dist/index.js.map +4 -4
  7. package/dist/shader-mount.d.ts +15 -13
  8. package/dist/shader-mount.js +120 -0
  9. package/dist/shader-mount.js.map +7 -0
  10. package/dist/shaders/dithering.d.ts +15 -0
  11. package/dist/shaders/dithering.js +179 -0
  12. package/dist/shaders/dithering.js.map +7 -0
  13. package/dist/shaders/dot-grid.d.ts +6 -20
  14. package/dist/shaders/dot-grid.js +230 -0
  15. package/dist/shaders/dot-grid.js.map +7 -0
  16. package/dist/shaders/dot-orbit.d.ts +6 -18
  17. package/dist/shaders/dot-orbit.js +77 -0
  18. package/dist/shaders/dot-orbit.js.map +7 -0
  19. package/dist/shaders/god-rays.d.ts +6 -22
  20. package/dist/shaders/god-rays.js +160 -0
  21. package/dist/shaders/god-rays.js.map +7 -0
  22. package/dist/shaders/grain-gradient.d.ts +16 -0
  23. package/dist/shaders/grain-gradient.js +197 -0
  24. package/dist/shaders/grain-gradient.js.map +7 -0
  25. package/dist/shaders/liquid-metal.d.ts +9 -0
  26. package/dist/shaders/liquid-metal.js +87 -0
  27. package/dist/shaders/liquid-metal.js.map +7 -0
  28. package/dist/shaders/mesh-gradient.d.ts +7 -15
  29. package/dist/shaders/mesh-gradient.js +104 -0
  30. package/dist/shaders/mesh-gradient.js.map +7 -0
  31. package/dist/shaders/metaballs.d.ts +6 -16
  32. package/dist/shaders/metaballs.js +72 -0
  33. package/dist/shaders/metaballs.js.map +7 -0
  34. package/dist/shaders/neuro-noise.d.ts +6 -14
  35. package/dist/shaders/neuro-noise.js +82 -0
  36. package/dist/shaders/neuro-noise.js.map +7 -0
  37. package/dist/shaders/perlin-noise.d.ts +6 -17
  38. package/dist/shaders/perlin-noise.js +183 -0
  39. package/dist/shaders/perlin-noise.js.map +7 -0
  40. package/dist/shaders/pulsing-border.d.ts +11 -0
  41. package/dist/shaders/pulsing-border.js +153 -0
  42. package/dist/shaders/pulsing-border.js.map +7 -0
  43. package/dist/shaders/simplex-noise.d.ts +9 -0
  44. package/dist/shaders/simplex-noise.js +80 -0
  45. package/dist/shaders/simplex-noise.js.map +7 -0
  46. package/dist/shaders/smoke-ring.d.ts +8 -18
  47. package/dist/shaders/smoke-ring.js +134 -0
  48. package/dist/shaders/smoke-ring.js.map +7 -0
  49. package/dist/shaders/spiral.d.ts +6 -23
  50. package/dist/shaders/spiral.js +218 -0
  51. package/dist/shaders/spiral.js.map +7 -0
  52. package/dist/shaders/swirl.d.ts +12 -0
  53. package/dist/shaders/swirl.js +137 -0
  54. package/dist/shaders/swirl.js.map +7 -0
  55. package/dist/shaders/voronoi.d.ts +7 -28
  56. package/dist/shaders/voronoi.js +102 -0
  57. package/dist/shaders/voronoi.js.map +7 -0
  58. package/dist/shaders/warp.d.ts +6 -23
  59. package/dist/shaders/warp.js +290 -0
  60. package/dist/shaders/warp.js.map +7 -0
  61. package/dist/shaders/waves.d.ts +6 -19
  62. package/dist/shaders/waves.js +178 -0
  63. package/dist/shaders/waves.js.map +7 -0
  64. package/dist/use-merge-refs.js +48 -0
  65. package/dist/use-merge-refs.js.map +7 -0
  66. package/package.json +13 -4
  67. package/dist/shaders/stepped-simplex-noise.d.ts +0 -20
package/dist/index.js CHANGED
@@ -1,1901 +1,90 @@
1
- /***** Paper Shaders: https://github.com/paper-design/shaders *****/
2
-
3
- // packages/shaders-react/src/shader-mount.tsx
4
- import { useEffect, useRef as useRef2, forwardRef, useState } from "react";
5
- import { ShaderMount as ShaderMountVanilla } from "@paper-design/shaders";
6
-
7
- // packages/shaders-react/src/use-merge-refs.ts
8
- import * as React from "react";
9
- function useMergeRefs(refs) {
10
- const cleanupRef = React.useRef(void 0);
11
- const refEffect = React.useCallback((instance) => {
12
- const cleanups = refs.map((ref) => {
13
- if (ref == null) {
14
- return;
15
- }
16
- if (typeof ref === "function") {
17
- const refCallback = ref;
18
- const refCleanup = refCallback(instance);
19
- return typeof refCleanup === "function" ? refCleanup : () => {
20
- refCallback(null);
21
- };
22
- }
23
- ref.current = instance;
24
- return () => {
25
- ref.current = null;
26
- };
27
- });
28
- return () => {
29
- cleanups.forEach((refCleanup) => refCleanup?.());
30
- };
31
- }, refs);
32
- return React.useMemo(() => {
33
- if (refs.every((ref) => ref == null)) {
34
- return null;
35
- }
36
- return (value) => {
37
- if (cleanupRef.current) {
38
- cleanupRef.current();
39
- cleanupRef.current = void 0;
40
- }
41
- if (value != null) {
42
- cleanupRef.current = refEffect(value);
43
- }
44
- };
45
- }, refs);
46
- }
47
-
48
- // packages/shaders-react/src/shader-mount.tsx
49
- import { jsx } from "react/jsx-runtime";
50
- var processUniforms = (uniforms) => {
51
- const processedUniforms = {};
52
- const imageLoadPromises = [];
53
- const isValidUrl = (url) => {
54
- try {
55
- if (url.startsWith("/")) return true;
56
- new URL(url);
57
- return true;
58
- } catch {
59
- return false;
60
- }
61
- };
62
- const isExternalUrl = (url) => {
63
- try {
64
- if (url.startsWith("/")) return false;
65
- const urlObject = new URL(url, window.location.origin);
66
- return urlObject.origin !== window.location.origin;
67
- } catch {
68
- return false;
69
- }
70
- };
71
- Object.entries(uniforms).forEach(([key, value]) => {
72
- if (typeof value === "string") {
73
- if (!isValidUrl(value)) {
74
- console.warn(`Uniform "${key}" has invalid URL "${value}". Skipping image loading.`);
75
- return;
76
- }
77
- const imagePromise = new Promise((resolve, reject) => {
78
- const img = new Image();
79
- if (isExternalUrl(value)) {
80
- img.crossOrigin = "anonymous";
81
- }
82
- img.onload = () => {
83
- processedUniforms[key] = img;
84
- resolve();
85
- };
86
- img.onerror = () => {
87
- console.error(`Could not set uniforms. Failed to load image at ${value}`);
88
- reject();
89
- };
90
- img.src = value;
91
- });
92
- imageLoadPromises.push(imagePromise);
93
- } else {
94
- processedUniforms[key] = value;
95
- }
96
- });
97
- return Promise.all(imageLoadPromises).then(() => processedUniforms);
98
- };
99
- var ShaderMount = forwardRef(
100
- function ShaderMountImpl({
101
- shaderMountRef: externalShaderMountRef,
102
- fragmentShader,
103
- uniforms = {},
104
- webGlContextAttributes,
105
- speed = 1,
106
- frame = 0,
107
- ...divProps
108
- }, forwardedRef) {
109
- const [isInitialized, setIsInitialized] = useState(false);
110
- const divRef = useRef2(null);
111
- const shaderMountRef = useRef2(null);
112
- useEffect(() => {
113
- const initShader = async () => {
114
- const processedUniforms = await processUniforms(uniforms);
115
- if (divRef.current && !shaderMountRef.current) {
116
- shaderMountRef.current = new ShaderMountVanilla(
117
- divRef.current,
118
- fragmentShader,
119
- processedUniforms,
120
- webGlContextAttributes,
121
- speed,
122
- frame
123
- );
124
- if (externalShaderMountRef) {
125
- externalShaderMountRef.current = shaderMountRef.current;
126
- }
127
- setIsInitialized(true);
128
- }
129
- };
130
- initShader();
131
- return () => {
132
- shaderMountRef.current?.dispose();
133
- shaderMountRef.current = null;
134
- };
135
- }, [fragmentShader, webGlContextAttributes]);
136
- useEffect(() => {
137
- const updateUniforms = async () => {
138
- const processedUniforms = await processUniforms(uniforms);
139
- shaderMountRef.current?.setUniforms(processedUniforms);
140
- };
141
- updateUniforms();
142
- }, [uniforms, isInitialized]);
143
- useEffect(() => {
144
- shaderMountRef.current?.setSpeed(speed);
145
- }, [speed, isInitialized]);
146
- useEffect(() => {
147
- shaderMountRef.current?.setFrame(frame);
148
- }, [frame, isInitialized]);
149
- return /* @__PURE__ */ jsx("div", { ref: useMergeRefs([divRef, forwardedRef]), ...divProps });
150
- }
151
- );
152
- ShaderMount.displayName = "ShaderMount";
153
-
154
- // packages/shaders-react/src/shaders/mesh-gradient.tsx
155
- import { useMemo as useMemo2 } from "react";
156
- import { getShaderColorFromString, meshGradientFragmentShader } from "@paper-design/shaders";
157
- import { jsx as jsx2 } from "react/jsx-runtime";
158
- var defaultPreset = {
159
- name: "Default",
160
- params: {
161
- speed: 0.15,
162
- frame: 0,
163
- color1: "hsla(259, 29%, 73%, 1)",
164
- color2: "hsla(263, 57%, 39%, 1)",
165
- color3: "hsla(48, 73%, 84%, 1)",
166
- color4: "hsla(295, 32%, 70%, 1)"
167
- }
168
- };
169
- var beachPreset = {
170
- name: "Beach",
171
- params: {
172
- speed: 0.1,
173
- frame: 0,
174
- color1: "hsla(186, 81%, 83%, 1)",
175
- color2: "hsla(198, 55%, 68%, 1)",
176
- color3: "hsla(53, 67%, 88%, 1)",
177
- color4: "hsla(45, 93%, 73%, 1)"
178
- }
179
- };
180
- var fadedPreset = {
181
- name: "Faded",
182
- params: {
183
- speed: -0.3,
184
- frame: 0,
185
- color1: "hsla(186, 41%, 90%, 1)",
186
- color2: "hsla(208, 71%, 85%, 1)",
187
- color3: "hsla(183, 51%, 92%, 1)",
188
- color4: "hsla(201, 72%, 90%, 1)"
189
- }
190
- };
191
- var meshGradientPresets = [defaultPreset, beachPreset, fadedPreset];
192
- var MeshGradient = ({ color1, color2, color3, color4, ...props }) => {
193
- const uniforms = useMemo2(() => {
194
- return {
195
- u_color1: getShaderColorFromString(color1, defaultPreset.params.color1),
196
- u_color2: getShaderColorFromString(color2, defaultPreset.params.color2),
197
- u_color3: getShaderColorFromString(color3, defaultPreset.params.color3),
198
- u_color4: getShaderColorFromString(color4, defaultPreset.params.color4)
199
- };
200
- }, [color1, color2, color3, color4]);
201
- return /* @__PURE__ */ jsx2(ShaderMount, { ...props, fragmentShader: meshGradientFragmentShader, uniforms });
202
- };
203
-
204
- // packages/shaders-react/src/index.ts
205
- import {} from "@paper-design/shaders";
206
-
207
- // packages/shaders-react/src/shaders/smoke-ring.tsx
208
- import { useMemo as useMemo3 } from "react";
209
- import { getShaderColorFromString as getShaderColorFromString2, smokeRingFragmentShader } from "@paper-design/shaders";
210
- import { jsx as jsx3 } from "react/jsx-runtime";
211
- var defaultPreset2 = {
212
- name: "Default",
213
- params: {
214
- scale: 1,
215
- speed: 0.5,
216
- frame: 0,
217
- colorInner: "hsla(0, 0%, 100%, 1)",
218
- colorOuter: "hsla(38, 4%, 38%, 1)",
219
- noiseScale: 1,
220
- thickness: 0.5
221
- }
222
- };
223
- var cloudPreset = {
224
- name: "Cloud",
225
- params: {
226
- scale: 1,
227
- speed: 1,
228
- frame: 0,
229
- colorInner: "hsla(0, 0%, 100%, 1)",
230
- colorOuter: "hsla(0, 0%, 100%, 1)",
231
- noiseScale: 1.8,
232
- thickness: 0.7
233
- },
234
- style: {
235
- background: "hsla(218, 100%, 62%, 1)"
236
- }
237
- };
238
- var firePreset = {
239
- name: "Fire",
240
- params: {
241
- scale: 1,
242
- speed: 4,
243
- frame: 0,
244
- colorInner: "hsla(40, 100%, 50%, 1)",
245
- colorOuter: "hsla(0, 100%, 50%, 1)",
246
- noiseScale: 1.4,
247
- thickness: 0.35
248
- },
249
- style: {
250
- background: "hsla(20, 100%, 5%, 1)"
251
- }
252
- };
253
- var electricPreset = {
254
- name: "Electric",
255
- params: {
256
- scale: 1,
257
- speed: -2.5,
258
- frame: 0,
259
- colorInner: "hsla(47, 100%, 64%, 1)",
260
- colorOuter: "hsla(47, 100%, 64%, 1)",
261
- noiseScale: 1.8,
262
- thickness: 0.1
263
- },
264
- style: {
265
- background: "hsla(47, 50%, 7%, 1)"
266
- }
267
- };
268
- var poisonPreset = {
269
- name: "Poison",
270
- params: {
271
- scale: 1,
272
- speed: 3,
273
- frame: 0,
274
- colorInner: "hsla(120, 100%, 3%, 1)",
275
- colorOuter: "hsla(120, 100%, 66%, 1)",
276
- noiseScale: 5,
277
- thickness: 0.6
278
- },
279
- style: {
280
- background: "hsla(120, 100%, 3%, 1)"
281
- }
282
- };
283
- var smokeRingPresets = [
284
- defaultPreset2,
285
- cloudPreset,
286
- firePreset,
287
- electricPreset,
288
- poisonPreset
289
- ];
290
- var SmokeRing = ({
291
- scale,
292
- colorInner,
293
- colorOuter,
294
- noiseScale,
295
- thickness,
296
- ...props
297
- }) => {
298
- const uniforms = useMemo3(() => {
299
- return {
300
- u_scale: scale ?? defaultPreset2.params.scale,
301
- u_colorInner: getShaderColorFromString2(colorInner, defaultPreset2.params.colorInner),
302
- u_colorOuter: getShaderColorFromString2(colorOuter, defaultPreset2.params.colorOuter),
303
- u_noiseScale: noiseScale ?? defaultPreset2.params.noiseScale,
304
- u_thickness: thickness ?? defaultPreset2.params.thickness
305
- };
306
- }, [scale, colorInner, colorOuter, noiseScale, thickness]);
307
- return /* @__PURE__ */ jsx3(ShaderMount, { ...props, fragmentShader: smokeRingFragmentShader, uniforms });
308
- };
309
-
310
- // packages/shaders-react/src/index.ts
311
- import {} from "@paper-design/shaders";
312
-
313
- // packages/shaders-react/src/shaders/neuro-noise.tsx
314
- import { useMemo as useMemo4 } from "react";
315
- import { getShaderColorFromString as getShaderColorFromString3, neuroNoiseFragmentShader } from "@paper-design/shaders";
316
- import { jsx as jsx4 } from "react/jsx-runtime";
317
- var defaultPreset3 = {
318
- name: "Default",
319
- params: {
320
- scale: 1,
321
- speed: 1,
322
- frame: 0,
323
- colorFront: "hsla(261, 100%, 82%, 1)",
324
- colorBack: "hsla(0, 0%, 0%, 1)",
325
- brightness: 1.3
326
- }
327
- };
328
- var marblePreset = {
329
- name: "Marble",
330
- params: {
331
- scale: 0.4,
332
- speed: 0,
333
- frame: 0,
334
- colorFront: "hsla(230, 24%, 15%, 1)",
335
- colorBack: "hsla(0, 0%, 97%, 1)",
336
- brightness: 1.1
337
- }
338
- };
339
- var neuroNoisePresets = [defaultPreset3, marblePreset];
340
- var NeuroNoise = ({
341
- scale,
342
- colorFront,
343
- colorBack,
344
- brightness,
345
- ...props
346
- }) => {
347
- const uniforms = useMemo4(() => {
348
- return {
349
- u_scale: scale ?? defaultPreset3.params.scale,
350
- u_colorFront: getShaderColorFromString3(colorFront, defaultPreset3.params.colorFront),
351
- u_colorBack: getShaderColorFromString3(colorBack, defaultPreset3.params.colorBack),
352
- u_brightness: brightness ?? defaultPreset3.params.brightness
353
- };
354
- }, [scale, colorFront, colorBack, brightness]);
355
- return /* @__PURE__ */ jsx4(ShaderMount, { ...props, fragmentShader: neuroNoiseFragmentShader, uniforms });
356
- };
357
-
358
- // packages/shaders-react/src/index.ts
359
- import {} from "@paper-design/shaders";
360
-
361
- // packages/shaders-react/src/shaders/dot-orbit.tsx
362
- import { useMemo as useMemo5 } from "react";
363
- import { getShaderColorFromString as getShaderColorFromString4, dotOrbitFragmentShader } from "@paper-design/shaders";
364
- import { jsx as jsx5 } from "react/jsx-runtime";
365
- var defaultPreset4 = {
366
- name: "Default",
367
- params: {
368
- scale: 1,
369
- speed: 2,
370
- frame: 0,
371
- color1: "hsla(358, 66%, 49%, 1)",
372
- color2: "hsla(145, 30%, 33%, 1)",
373
- color3: "hsla(39, 88%, 52%, 1)",
374
- color4: "hsla(274, 30%, 35%, 1)",
375
- dotSize: 0.7,
376
- dotSizeRange: 0.4,
377
- spreading: 1
378
- }
379
- };
380
- var dotOrbitPresets = [defaultPreset4];
381
- var DotOrbit = ({
382
- scale,
383
- color1,
384
- color2,
385
- color3,
386
- color4,
387
- dotSize,
388
- dotSizeRange,
389
- spreading,
390
- ...props
391
- }) => {
392
- const uniforms = useMemo5(() => {
393
- return {
394
- u_scale: scale ?? defaultPreset4.params.scale,
395
- u_color1: getShaderColorFromString4(color1, defaultPreset4.params.color1),
396
- u_color2: getShaderColorFromString4(color2, defaultPreset4.params.color2),
397
- u_color3: getShaderColorFromString4(color3, defaultPreset4.params.color3),
398
- u_color4: getShaderColorFromString4(color4, defaultPreset4.params.color4),
399
- u_dotSize: dotSize ?? defaultPreset4.params.dotSize,
400
- u_dotSizeRange: dotSizeRange ?? defaultPreset4.params.dotSizeRange,
401
- u_spreading: spreading ?? defaultPreset4.params.spreading
402
- };
403
- }, [scale, color1, color2, color3, color4, dotSize, dotSizeRange, spreading]);
404
- return /* @__PURE__ */ jsx5(ShaderMount, { ...props, fragmentShader: dotOrbitFragmentShader, uniforms });
405
- };
406
-
407
- // packages/shaders-react/src/index.ts
408
- import {} from "@paper-design/shaders";
409
-
410
- // packages/shaders-react/src/shaders/dot-grid.tsx
411
- import { useMemo as useMemo6 } from "react";
412
- import {
413
- dotGridFragmentShader,
414
- getShaderColorFromString as getShaderColorFromString5,
415
- DotGridShapes
416
- } from "@paper-design/shaders";
417
- import { jsx as jsx6 } from "react/jsx-runtime";
418
- var defaultPreset5 = {
419
- name: "Default",
420
- params: {
421
- colorFill: "hsla(0, 0%, 0%, 1)",
422
- colorStroke: "hsla(40, 100%, 50%, 1)",
423
- dotSize: 2,
424
- gridSpacingX: 50,
425
- gridSpacingY: 50,
426
- strokeWidth: 0,
427
- sizeRange: 0,
428
- opacityRange: 0,
429
- shape: DotGridShapes.Circle
430
- }
431
- };
432
- var macrodataPreset = {
433
- name: "Macrodata",
434
- params: {
435
- colorFill: "hsla(218, 100%, 67%, 1)",
436
- colorStroke: "hsla(0, 0%, 0%, 1)",
437
- dotSize: 3,
438
- gridSpacingX: 25,
439
- gridSpacingY: 25,
440
- strokeWidth: 0,
441
- sizeRange: 0.25,
442
- opacityRange: 0.9,
443
- shape: DotGridShapes.Circle
444
- },
445
- style: {
446
- background: "hsla(211, 37%, 13%, 1)"
447
- }
448
- };
449
- var trianglesPreset = {
450
- name: "Triangles",
451
- params: {
452
- colorFill: "hsla(0, 0%, 100%, 1)",
453
- colorStroke: "hsla(0, 0%, 0%, .5)",
454
- dotSize: 5,
455
- gridSpacingX: 32,
456
- gridSpacingY: 32,
457
- strokeWidth: 1,
458
- sizeRange: 0,
459
- opacityRange: 0,
460
- shape: DotGridShapes.Triangle
461
- },
462
- style: {
463
- background: "hsla(0, 0%, 100%, 1)"
464
- }
465
- };
466
- var bubblesPreset = {
467
- name: "Bubbles",
468
- params: {
469
- colorFill: "hsla(100, 30%, 100%, 1)",
470
- colorStroke: "hsla(0, 100%, 0%, 1)",
471
- dotSize: 28,
472
- gridSpacingX: 60,
473
- gridSpacingY: 60,
474
- strokeWidth: 12,
475
- sizeRange: 0.7,
476
- opacityRange: 1.3,
477
- shape: DotGridShapes.Circle
478
- },
479
- style: {
480
- background: "hsla(234, 100%, 31%, .5)"
481
- }
482
- };
483
- var treeLinePreset = {
484
- name: "Tree line",
485
- params: {
486
- colorFill: "hsla(150, 80%, 10%, 1)",
487
- colorStroke: "hsla(0, 0%, 0%, 1)",
488
- dotSize: 8,
489
- gridSpacingX: 20,
490
- gridSpacingY: 90,
491
- strokeWidth: 0,
492
- sizeRange: 1,
493
- opacityRange: 0.6,
494
- shape: DotGridShapes.Circle
495
- },
496
- style: {
497
- background: "hsla(100, 100%, 36%, .05)"
498
- }
499
- };
500
- var diamondsPreset = {
501
- name: "Diamonds",
502
- params: {
503
- colorFill: "hsla(0, 100%, 50%, 1)",
504
- colorStroke: "hsla(0, 0%, 0%, 1)",
505
- dotSize: 15,
506
- gridSpacingX: 30,
507
- gridSpacingY: 30,
508
- strokeWidth: 0,
509
- sizeRange: 0,
510
- opacityRange: 2,
511
- shape: DotGridShapes.Diamond
512
- },
513
- style: {
514
- background: "hsla(0, 0%, 0%, 0)"
515
- }
516
- };
517
- var wallpaperPreset = {
518
- name: "Wallpaper",
519
- params: {
520
- colorFill: "hsla(0, 0%, 0%, 0)",
521
- colorStroke: "hsla(36, 48%, 58%, 1)",
522
- dotSize: 9,
523
- gridSpacingX: 32,
524
- gridSpacingY: 32,
525
- strokeWidth: 1,
526
- sizeRange: 0,
527
- opacityRange: 0,
528
- shape: DotGridShapes.Diamond
529
- },
530
- style: {
531
- background: "hsla(154, 33%, 19%, 1)"
532
- }
533
- };
534
- var matrixPreset = {
535
- name: "Enter the Matrix",
536
- params: {
537
- colorFill: "hsla(182, 100%, 64%, 1)",
538
- colorStroke: "hsla(0, 100%, 100%, 0)",
539
- dotSize: 2,
540
- gridSpacingX: 10,
541
- gridSpacingY: 10,
542
- strokeWidth: 0.5,
543
- sizeRange: 0.25,
544
- opacityRange: 1,
545
- shape: DotGridShapes.Triangle
546
- },
547
- style: {
548
- background: "hsla(0, 100%, 0%, 1)"
549
- }
550
- };
551
- var waveformPreset = {
552
- name: "Waveform",
553
- params: {
554
- colorFill: "hsla(227, 93%, 38%, 1)",
555
- colorStroke: "hsla(0, 0%, 0%, 0)",
556
- dotSize: 100,
557
- gridSpacingX: 2,
558
- gridSpacingY: 215,
559
- strokeWidth: 0,
560
- sizeRange: 1,
561
- opacityRange: 0,
562
- shape: DotGridShapes.Square
563
- },
564
- style: {
565
- background: "hsla(0, 100%, 100%, 1)"
566
- }
567
- };
568
- var dotGridPresets = [
569
- defaultPreset5,
570
- macrodataPreset,
571
- trianglesPreset,
572
- bubblesPreset,
573
- treeLinePreset,
574
- diamondsPreset,
575
- wallpaperPreset,
576
- matrixPreset,
577
- waveformPreset
578
- ];
579
- var DotGrid = ({
580
- colorFill,
581
- colorStroke,
582
- dotSize,
583
- gridSpacingX,
584
- gridSpacingY,
585
- strokeWidth,
586
- sizeRange,
587
- opacityRange,
588
- shape,
589
- ...props
590
- }) => {
591
- const uniforms = useMemo6(() => {
592
- return {
593
- u_colorFill: getShaderColorFromString5(colorFill, defaultPreset5.params.colorStroke),
594
- u_colorStroke: getShaderColorFromString5(colorStroke, defaultPreset5.params.colorStroke),
595
- u_dotSize: dotSize ?? defaultPreset5.params.dotSize,
596
- u_gridSpacingX: gridSpacingX ?? defaultPreset5.params.gridSpacingX,
597
- u_gridSpacingY: gridSpacingY ?? defaultPreset5.params.gridSpacingY,
598
- u_strokeWidth: strokeWidth ?? defaultPreset5.params.strokeWidth,
599
- u_sizeRange: sizeRange ?? defaultPreset5.params.sizeRange,
600
- u_opacityRange: opacityRange ?? defaultPreset5.params.opacityRange,
601
- u_shape: shape ?? defaultPreset5.params.shape
602
- };
603
- }, [colorFill, colorStroke, dotSize, gridSpacingX, gridSpacingY, strokeWidth, sizeRange, opacityRange, shape]);
604
- return /* @__PURE__ */ jsx6(ShaderMount, { ...props, fragmentShader: dotGridFragmentShader, uniforms });
605
- };
606
-
607
- // packages/shaders-react/src/index.ts
608
- import { DotGridShapes as DotGridShapes2 } from "@paper-design/shaders";
609
-
610
- // packages/shaders-react/src/shaders/stepped-simplex-noise.tsx
611
- import { useMemo as useMemo7 } from "react";
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
+ * Paper Shaders *
3
+ * https://github.com/paper-design/shaders *
4
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * */
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";
25
+ import { isPaperShaderElement, getShaderColorFromString } from "@paper-design/shaders";
612
26
  import {
613
- getShaderColorFromString as getShaderColorFromString6,
614
- steppedSimplexNoiseFragmentShader
27
+ dotOrbitMeta,
28
+ godRaysMeta,
29
+ grainGradientMeta,
30
+ meshGradientMeta,
31
+ metaballsMeta,
32
+ pulsingBorderMeta,
33
+ simplexNoiseMeta,
34
+ smokeRingMeta,
35
+ swirlMeta,
36
+ voronoiMeta,
37
+ warpMeta
615
38
  } from "@paper-design/shaders";
616
- import { jsx as jsx7 } from "react/jsx-runtime";
617
- var defaultPreset6 = {
618
- name: "Default",
619
- params: {
620
- scale: 1,
621
- speed: 0.15,
622
- frame: 0,
623
- color1: "hsla(208, 25%, 45%, 1)",
624
- color2: "hsla(94, 38%, 59%, 1)",
625
- color3: "hsla(359, 94%, 62%, 1)",
626
- color4: "hsla(42, 93%, 64%, 1)",
627
- color5: "hsla(0, 0%, 100%, 1)",
628
- stepsNumber: 13
629
- }
630
- };
631
- var magmaPreset = {
632
- name: "Magma",
633
- params: {
634
- scale: 0.3,
635
- speed: 0.2,
636
- frame: 0,
637
- color1: "hsla(0, 100%, 36%, 1)",
638
- color2: "hsla(0, 95%, 44%, 1)",
639
- color3: "hsla(20, 100%, 49%, 1)",
640
- color4: "hsla(45, 100%, 45%, 1)",
641
- color5: "hsla(31, 100%, 94%, 1)",
642
- stepsNumber: 8
643
- }
644
- };
645
- var bloodCellPreset = {
646
- name: "Blood cell",
647
- params: {
648
- scale: 1.2,
649
- speed: 0.22,
650
- frame: 0,
651
- color1: "hsla(302, 43%, 13%, 1)",
652
- color2: "hsla(325, 93%, 17%, 1)",
653
- color3: "hsla(338, 80%, 25%, 1)",
654
- color4: "hsla(338, 80%, 25%, 1)",
655
- color5: "hsla(2, 85%, 72%, 1)",
656
- stepsNumber: 29
657
- }
658
- };
659
- var firstContactPreset = {
660
- name: "First contact",
661
- params: {
662
- scale: 1.2,
663
- speed: -0.1,
664
- frame: 0,
665
- color1: "hsla(300, 43%, 82%, 1)",
666
- color2: "hsla(266, 70%, 9%, 1)",
667
- color3: "hsla(289, 36%, 26%, 1)",
668
- color4: "hsla(0, 41%, 78%, 1)",
669
- color5: "hsla(0, 100%, 96%, 1)",
670
- stepsNumber: 40
671
- }
672
- };
673
- var steppedSimplexNoisePresets = [
674
- defaultPreset6,
675
- magmaPreset,
676
- bloodCellPreset,
677
- firstContactPreset
678
- ];
679
- var SteppedSimplexNoise = ({
680
- scale,
681
- color1,
682
- color2,
683
- color3,
684
- color4,
685
- color5,
686
- stepsNumber,
687
- ...props
688
- }) => {
689
- const uniforms = useMemo7(() => {
690
- return {
691
- u_scale: scale ?? defaultPreset6.params.scale,
692
- u_color1: getShaderColorFromString6(color1, defaultPreset6.params.color1),
693
- u_color2: getShaderColorFromString6(color2, defaultPreset6.params.color2),
694
- u_color3: getShaderColorFromString6(color3, defaultPreset6.params.color3),
695
- u_color4: getShaderColorFromString6(color4, defaultPreset6.params.color4),
696
- u_color5: getShaderColorFromString6(color5, defaultPreset6.params.color5),
697
- u_steps_number: stepsNumber ?? defaultPreset6.params.stepsNumber
698
- };
699
- }, [scale, color1, color2, color3, color4, color5, stepsNumber]);
700
- return /* @__PURE__ */ jsx7(ShaderMount, { ...props, fragmentShader: steppedSimplexNoiseFragmentShader, uniforms });
701
- };
702
-
703
- // packages/shaders-react/src/index.ts
704
- import {} from "@paper-design/shaders";
705
-
706
- // packages/shaders-react/src/shaders/metaballs.tsx
707
- import { useMemo as useMemo8 } from "react";
708
- import { getShaderColorFromString as getShaderColorFromString7, metaballsFragmentShader } from "@paper-design/shaders";
709
- import { jsx as jsx8 } from "react/jsx-runtime";
710
- var defaultPreset7 = {
711
- name: "Default",
712
- params: {
713
- scale: 1,
714
- speed: 0.6,
715
- frame: 0,
716
- color1: "hsla(350, 90%, 55%, 1)",
717
- color2: "hsla(350, 80%, 60%, 1)",
718
- color3: "hsla(20, 85%, 70%, 1)",
719
- ballSize: 1,
720
- visibilityRange: 0.4
721
- }
722
- };
723
- var metaballsPresets = [defaultPreset7];
724
- var Metaballs = ({
725
- scale,
726
- color1,
727
- color2,
728
- color3,
729
- ballSize,
730
- visibilityRange,
731
- ...props
732
- }) => {
733
- const uniforms = useMemo8(() => {
734
- return {
735
- u_scale: scale ?? defaultPreset7.params.scale,
736
- u_color1: getShaderColorFromString7(color1, defaultPreset7.params.color1),
737
- u_color2: getShaderColorFromString7(color2, defaultPreset7.params.color2),
738
- u_color3: getShaderColorFromString7(color3, defaultPreset7.params.color3),
739
- u_ballSize: ballSize ?? defaultPreset7.params.ballSize,
740
- u_visibilityRange: visibilityRange ?? defaultPreset7.params.visibilityRange
741
- };
742
- }, [scale, color1, color2, color3, ballSize, visibilityRange]);
743
- return /* @__PURE__ */ jsx8(ShaderMount, { ...props, fragmentShader: metaballsFragmentShader, uniforms });
744
- };
745
-
746
- // packages/shaders-react/src/index.ts
747
- import {} from "@paper-design/shaders";
748
-
749
- // packages/shaders-react/src/shaders/waves.tsx
750
- import { useMemo as useMemo9 } from "react";
751
- import { getShaderColorFromString as getShaderColorFromString8, wavesFragmentShader } from "@paper-design/shaders";
752
- import { jsx as jsx9 } from "react/jsx-runtime";
753
- var defaultPreset8 = {
754
- name: "Default",
755
- params: {
756
- scale: 1,
757
- rotation: 0,
758
- color: "hsla(204, 47%, 45%, 1)",
759
- shape: 1,
760
- frequency: 0.5,
761
- amplitude: 0.5,
762
- spacing: 0.75,
763
- dutyCycle: 0.2,
764
- softness: 0
765
- }
766
- };
767
- var spikesPreset = {
768
- name: "Spikes",
769
- params: {
770
- scale: 2.3,
771
- rotation: 0,
772
- color: "hsla(290, 52%, 15%, 1)",
773
- shape: 0,
774
- frequency: 0.5,
775
- amplitude: 0.9,
776
- spacing: 0.37,
777
- dutyCycle: 0.93,
778
- softness: 0.15
779
- },
780
- style: {
781
- background: "hsla(65, 100%, 95%, 1)"
782
- }
783
- };
784
- var groovyPreset = {
785
- name: "Groovy",
786
- params: {
787
- scale: 0.5,
788
- rotation: 1,
789
- color: "hsla(20, 100%, 71%, 1)",
790
- shape: 2.37,
791
- frequency: 0.2,
792
- amplitude: 0.67,
793
- spacing: 1.17,
794
- dutyCycle: 0.57,
795
- softness: 0
796
- },
797
- style: {
798
- background: "hsla(60, 100%, 97%, 1)"
799
- }
800
- };
801
- var tangledUpPreset = {
802
- name: "Tangled up",
803
- params: {
804
- scale: 3.04,
805
- rotation: 1,
806
- color: "hsla(85.5, 35.7%, 78%, 1)",
807
- shape: 3,
808
- frequency: 0.44,
809
- amplitude: 0.57,
810
- spacing: 1.05,
811
- dutyCycle: 0.97,
812
- softness: 0
813
- },
814
- style: {
815
- background: "hsla(198.7, 66.7%, 14.1%, 1)"
816
- }
817
- };
818
- var zigZagPreset = {
819
- name: "Zig zag",
820
- params: {
821
- scale: 2.7,
822
- rotation: 1,
823
- color: "hsla(0, 0%, 90%, 1)",
824
- shape: 0,
825
- frequency: 0.6,
826
- amplitude: 0.8,
827
- spacing: 0.5,
828
- dutyCycle: 1,
829
- softness: 0.5
830
- },
831
- style: {
832
- background: "hsla(0, 0%, 0%, 1)"
833
- }
834
- };
835
- var waveRidePreset = {
836
- name: "Ride the wave",
837
- params: {
838
- scale: 0.84,
839
- rotation: 0,
840
- color: "hsla(0, 0%, 12%, 1)",
841
- shape: 2.23,
842
- frequency: 0.1,
843
- amplitude: 0.6,
844
- spacing: 0.41,
845
- dutyCycle: 0.99,
846
- softness: 0
847
- },
848
- style: {
849
- background: "hsla(65, 100%, 95%, 1)"
850
- }
851
- };
852
- var wavesPresets = [
853
- defaultPreset8,
854
- spikesPreset,
855
- groovyPreset,
856
- tangledUpPreset,
857
- zigZagPreset,
858
- waveRidePreset
859
- ];
860
- var Waves = ({
861
- scale,
862
- rotation,
863
- color,
864
- shape,
865
- frequency,
866
- amplitude,
867
- spacing,
868
- dutyCycle,
869
- softness,
870
- ...props
871
- }) => {
872
- const uniforms = useMemo9(() => {
873
- return {
874
- u_scale: scale ?? defaultPreset8.params.scale,
875
- u_rotation: rotation ?? defaultPreset8.params.rotation,
876
- u_color: getShaderColorFromString8(color, defaultPreset8.params.color),
877
- u_shape: shape ?? defaultPreset8.params.shape,
878
- u_frequency: frequency ?? defaultPreset8.params.frequency,
879
- u_amplitude: amplitude ?? defaultPreset8.params.amplitude,
880
- u_spacing: spacing ?? defaultPreset8.params.spacing,
881
- u_dutyCycle: dutyCycle ?? defaultPreset8.params.dutyCycle,
882
- u_softness: softness ?? defaultPreset8.params.softness
883
- };
884
- }, [scale, rotation, color, shape, frequency, amplitude, spacing, dutyCycle, softness]);
885
- return /* @__PURE__ */ jsx9(ShaderMount, { ...props, fragmentShader: wavesFragmentShader, uniforms });
886
- };
887
-
888
- // packages/shaders-react/src/index.ts
889
- import {} from "@paper-design/shaders";
890
-
891
- // packages/shaders-react/src/shaders/perlin-noise.tsx
892
- import { useMemo as useMemo10 } from "react";
893
- import { getShaderColorFromString as getShaderColorFromString9, perlinNoiseFragmentShader } from "@paper-design/shaders";
894
- import { jsx as jsx10 } from "react/jsx-runtime";
895
- var defaultPreset9 = {
896
- name: "Default",
897
- params: {
898
- scale: 1,
899
- speed: 0.5,
900
- frame: 0,
901
- color: "hsla(0, 0%, 15%, 1)",
902
- proportion: 0.65,
903
- softness: 0.1,
904
- octaveCount: 2,
905
- persistence: 1,
906
- lacunarity: 1.5
907
- }
908
- };
909
- var nintendoWaterPreset = {
910
- name: "Nintendo Water",
911
- params: {
912
- scale: 0.2,
913
- speed: 0.4,
914
- frame: 0,
915
- color: "hsla(200, 66%, 90%, 1)",
916
- proportion: 0.42,
917
- softness: 0,
918
- octaveCount: 2,
919
- persistence: 0.55,
920
- lacunarity: 1.8
921
- },
922
- style: {
923
- background: "hsla(220, 66%, 50%, 1)"
924
- }
925
- };
926
- var colonyPreset = {
927
- name: "Colony",
928
- params: {
929
- scale: 0.15,
930
- speed: 0,
931
- frame: 0,
932
- color: "hsla(230, 80%, 20%, 1)",
933
- octaveCount: 6,
934
- persistence: 1,
935
- lacunarity: 2.55,
936
- proportion: 0.65,
937
- softness: 0.35
938
- },
939
- style: {
940
- background: "hsla(56, 86%, 81%, 1)"
941
- }
942
- };
943
- var phosphenesPreset = {
944
- name: "Phosphenes",
945
- params: {
946
- scale: 0.03,
947
- speed: 0.15,
948
- frame: 0,
949
- color: "hsla(150, 50%, 60%, 1)",
950
- proportion: 0.45,
951
- softness: 0.45,
952
- octaveCount: 6,
953
- persistence: 0.3,
954
- lacunarity: 3
955
- },
956
- style: {
957
- background: "hsla(350, 80%, 70%, 1)"
958
- }
959
- };
960
- var mossPreset = {
961
- name: "Moss",
962
- params: {
963
- scale: 0.15,
964
- speed: 0.02,
965
- frame: 0,
966
- color: "hsla(0, 0%, 15%, 1)",
967
- proportion: 0.65,
968
- softness: 0.35,
969
- octaveCount: 6,
970
- persistence: 1,
971
- lacunarity: 2.55
972
- },
973
- style: {
974
- background: "hsla(137, 100%, 51%, 1)"
975
- }
976
- };
977
- var wormsPreset = {
978
- name: "Worms",
979
- params: {
980
- scale: 2,
981
- speed: 0,
982
- frame: 0,
983
- color: "hsla(0, 0%, 35%, 1)",
984
- proportion: 0.5,
985
- softness: 0,
986
- octaveCount: 1,
987
- persistence: 1,
988
- lacunarity: 1.5
989
- },
990
- style: {
991
- background: "hsla(0, 100%, 100%, 1)"
992
- }
993
- };
994
- var perlinNoisePresets = [
995
- defaultPreset9,
996
- nintendoWaterPreset,
997
- colonyPreset,
998
- phosphenesPreset,
999
- mossPreset,
1000
- wormsPreset
1001
- ];
1002
- var PerlinNoise = ({
1003
- scale,
1004
- color,
1005
- proportion,
1006
- softness,
1007
- octaveCount,
1008
- persistence,
1009
- lacunarity,
1010
- ...props
1011
- }) => {
1012
- const uniforms = useMemo10(() => {
1013
- return {
1014
- u_scale: scale ?? defaultPreset9.params.scale,
1015
- u_color: getShaderColorFromString9(color, defaultPreset9.params.color),
1016
- u_proportion: proportion ?? defaultPreset9.params.proportion,
1017
- u_softness: softness ?? defaultPreset9.params.softness,
1018
- u_octaveCount: octaveCount ?? defaultPreset9.params.octaveCount,
1019
- u_persistence: persistence ?? defaultPreset9.params.persistence,
1020
- u_lacunarity: lacunarity ?? defaultPreset9.params.lacunarity
1021
- };
1022
- }, [scale, color, proportion, softness, octaveCount, persistence, lacunarity]);
1023
- return /* @__PURE__ */ jsx10(ShaderMount, { ...props, fragmentShader: perlinNoiseFragmentShader, uniforms });
1024
- };
1025
-
1026
- // packages/shaders-react/src/index.ts
1027
- import {} from "@paper-design/shaders";
1028
-
1029
- // packages/shaders-react/src/shaders/voronoi.tsx
1030
- import { useMemo as useMemo11 } from "react";
1031
- import { getShaderColorFromString as getShaderColorFromString10, voronoiFragmentShader } from "@paper-design/shaders";
1032
- import { jsx as jsx11 } from "react/jsx-runtime";
1033
- var defaultPreset10 = {
1034
- name: "Default",
1035
- params: {
1036
- scale: 1.5,
1037
- speed: 0.5,
1038
- frame: 0,
1039
- colorCell1: "hsla(15, 80%, 50%, 1)",
1040
- colorCell2: "hsla(180, 80%, 50%, 1)",
1041
- colorCell3: "hsla(200, 80%, 50%, 1)",
1042
- colorMid: "hsla(0, 0%, 0%, 1)",
1043
- colorGradient: 0.5,
1044
- distance: 0.25,
1045
- edgesSize: 0.15,
1046
- edgesSoftness: 0.01,
1047
- middleSize: 0,
1048
- middleSoftness: 0
1049
- }
1050
- };
1051
- var classicPreset = {
1052
- name: "Classic",
1053
- params: {
1054
- scale: 3,
1055
- speed: 0.8,
1056
- frame: 0,
1057
- colorCell1: "hsla(0, 100%, 100%, 1)",
1058
- colorCell2: "hsla(0, 0%, 100%, 1)",
1059
- colorCell3: "hsla(0, 100%, 0%, 1)",
1060
- colorMid: "hsla(0, 0%, 0%, 1)",
1061
- colorGradient: 1,
1062
- distance: 0.45,
1063
- edgesSize: 0.02,
1064
- edgesSoftness: 0.07,
1065
- middleSize: 0,
1066
- middleSoftness: 0
1067
- }
1068
- };
1069
- var giraffePreset = {
1070
- name: "Giraffe",
1071
- params: {
1072
- scale: 1,
1073
- speed: 0.6,
1074
- frame: 0,
1075
- colorCell1: "hsla(32, 100%, 18%, 1)",
1076
- colorCell2: "hsla(42, 93%, 35%, 1)",
1077
- colorCell3: "hsla(32, 100%, 18%, 1)",
1078
- colorMid: "hsla(0, 0%, 0%, 1)",
1079
- colorGradient: 1,
1080
- distance: 0.25,
1081
- edgesSize: 0.2,
1082
- edgesSoftness: 0.01,
1083
- middleSize: 0,
1084
- middleSoftness: 0
1085
- }
1086
- };
1087
- var eyesPreset = {
1088
- name: "Eyes",
1089
- params: {
1090
- scale: 1.6,
1091
- speed: 0.6,
1092
- frame: 0,
1093
- colorCell1: "hsla(79, 84%, 60%, 1)",
1094
- colorCell2: "hsla(207, 53%, 41%, 1)",
1095
- colorCell3: "hsla(207, 80%, 65%, 1)",
1096
- colorMid: "hsla(0, 0%, 0%, 1)",
1097
- colorGradient: 1,
1098
- distance: 0.25,
1099
- edgesSize: 0.62,
1100
- edgesSoftness: 0.01,
1101
- middleSize: 0.1,
1102
- middleSoftness: 0
1103
- }
1104
- };
1105
- var bubblesPreset2 = {
1106
- name: "Bubbles",
1107
- params: {
1108
- scale: 2,
1109
- speed: 0.5,
1110
- frame: 0,
1111
- colorCell1: "hsla(0, 100%, 50%, 1)",
1112
- colorCell2: "hsla(169, 100%, 66%, 1)",
1113
- colorCell3: "hsla(50, 100%, 66%, 1)",
1114
- colorMid: "hsla(0, 0%, 0%, 1)",
1115
- colorGradient: 1,
1116
- distance: 0.5,
1117
- edgesSize: 0.81,
1118
- edgesSoftness: 0,
1119
- middleSize: 0,
1120
- middleSoftness: 0
1121
- }
1122
- };
1123
- var cellsPreset = {
1124
- name: "Cells",
1125
- params: {
1126
- scale: 2,
1127
- speed: 1,
1128
- frame: 0,
1129
- colorCell1: "hsla(0, 0%, 100%, 1)",
1130
- colorCell2: "hsla(0, 0%, 100%, 1)",
1131
- colorCell3: "hsla(0, 0%, 100%, 1)",
1132
- colorMid: "hsla(0, 0%, 0%, 1)",
1133
- colorGradient: 1,
1134
- distance: 0.38,
1135
- edgesSize: 0.1,
1136
- edgesSoftness: 0.02,
1137
- middleSize: 0,
1138
- middleSoftness: 0
1139
- }
1140
- };
1141
- var glowPreset = {
1142
- name: "Glow",
1143
- params: {
1144
- scale: 1.2,
1145
- speed: 0.8,
1146
- frame: 0,
1147
- colorCell1: "hsla(40, 100%, 50%, 1)",
1148
- colorCell2: "hsla(311, 100%, 59%, 1)",
1149
- colorCell3: "hsla(180, 100%, 65%, 1)",
1150
- colorMid: "hsla(0, 0%, 100%, 1)",
1151
- colorGradient: 1,
1152
- distance: 0.25,
1153
- edgesSize: 0.15,
1154
- edgesSoftness: 0.01,
1155
- middleSize: 0.7,
1156
- middleSoftness: 1
1157
- }
1158
- };
1159
- var tilesPreset = {
1160
- name: "Tiles",
1161
- params: {
1162
- scale: 1.3,
1163
- speed: 1,
1164
- frame: 0,
1165
- colorCell1: "hsla(80, 50%, 50%, 1)",
1166
- colorCell2: "hsla(0, 50%, 100%, 1)",
1167
- colorCell3: "hsla(200, 50%, 50%, 1)",
1168
- colorMid: "hsla(0, 0%, 0%, 1)",
1169
- colorGradient: 0,
1170
- distance: 0.05,
1171
- edgesSize: 0.25,
1172
- edgesSoftness: 0.02,
1173
- middleSize: 0,
1174
- middleSoftness: 0
1175
- }
1176
- };
1177
- var voronoiPresets = [
1178
- defaultPreset10,
1179
- classicPreset,
1180
- giraffePreset,
1181
- eyesPreset,
1182
- bubblesPreset2,
1183
- cellsPreset,
1184
- glowPreset,
1185
- tilesPreset
1186
- ];
1187
- var Voronoi = ({
1188
- scale,
1189
- colorCell1,
1190
- colorCell2,
1191
- colorCell3,
1192
- colorMid,
1193
- colorGradient,
1194
- distance,
1195
- edgesSize,
1196
- edgesSoftness,
1197
- middleSize,
1198
- middleSoftness,
1199
- ...props
1200
- }) => {
1201
- const uniforms = useMemo11(() => {
1202
- return {
1203
- u_scale: scale ?? defaultPreset10.params.scale,
1204
- u_colorCell1: getShaderColorFromString10(colorCell1, defaultPreset10.params.colorCell1),
1205
- u_colorCell2: getShaderColorFromString10(colorCell2, defaultPreset10.params.colorCell2),
1206
- u_colorCell3: getShaderColorFromString10(colorCell3, defaultPreset10.params.colorCell3),
1207
- u_colorMid: getShaderColorFromString10(colorMid, defaultPreset10.params.colorMid),
1208
- u_colorGradient: colorGradient ?? defaultPreset10.params.colorGradient,
1209
- u_distance: distance ?? defaultPreset10.params.distance,
1210
- u_edgesSize: edgesSize ?? defaultPreset10.params.edgesSize,
1211
- u_edgesSoftness: edgesSoftness ?? defaultPreset10.params.edgesSoftness,
1212
- u_middleSize: middleSize ?? defaultPreset10.params.middleSize,
1213
- u_middleSoftness: middleSoftness ?? defaultPreset10.params.middleSoftness
1214
- };
1215
- }, [
1216
- scale,
1217
- colorCell1,
1218
- colorCell3,
1219
- colorCell2,
1220
- colorMid,
1221
- colorGradient,
1222
- distance,
1223
- edgesSize,
1224
- edgesSoftness,
1225
- middleSize,
1226
- middleSoftness
1227
- ]);
1228
- return /* @__PURE__ */ jsx11(ShaderMount, { ...props, fragmentShader: voronoiFragmentShader, uniforms });
1229
- };
1230
-
1231
- // packages/shaders-react/src/index.ts
1232
- import {} from "@paper-design/shaders";
1233
-
1234
- // packages/shaders-react/src/shaders/warp.tsx
1235
- import { useMemo as useMemo12 } from "react";
1236
- import {
1237
- getShaderColorFromString as getShaderColorFromString11,
1238
- warpFragmentShader,
1239
- PatternShapes
1240
- } from "@paper-design/shaders";
1241
- import { jsx as jsx12 } from "react/jsx-runtime";
1242
- var defaultPreset11 = {
1243
- name: "Default",
1244
- params: {
1245
- scale: 1,
1246
- rotation: 0,
1247
- speed: 0.1,
1248
- frame: 0,
1249
- color1: "hsla(0, 0%, 15%, 1)",
1250
- color2: "hsla(203, 80%, 70%, 1)",
1251
- color3: "hsla(0, 0%, 100%, 1)",
1252
- proportion: 0.35,
1253
- softness: 1,
1254
- distortion: 0.25,
1255
- swirl: 0.8,
1256
- swirlIterations: 10,
1257
- shapeScale: 0.1,
1258
- shape: PatternShapes.Checks
1259
- }
1260
- };
1261
- var presetCauldron = {
1262
- name: "Cauldron Pot",
1263
- params: {
1264
- scale: 1.1,
1265
- rotation: 1.62,
1266
- speed: 1,
1267
- frame: 0,
1268
- color1: "hsla(100, 51%, 75%, 1)",
1269
- color2: "hsla(220, 39%, 32%, 1)",
1270
- color3: "hsla(129.2, 41.9%, 6.1%, 1)",
1271
- proportion: 0.64,
1272
- softness: 0.95,
1273
- distortion: 0.2,
1274
- swirl: 0.86,
1275
- swirlIterations: 7,
1276
- shapeScale: 0,
1277
- shape: PatternShapes.Edge
1278
- }
1279
- };
1280
- var presetSilk = {
1281
- name: "Silk",
1282
- params: {
1283
- scale: 0.26,
1284
- rotation: 0,
1285
- speed: 0.5,
1286
- frame: 0,
1287
- color1: "hsla(0, 9%, 7%, 1)",
1288
- color2: "hsla(8, 13%, 34%, 1)",
1289
- color3: "hsla(5, 8%, 71%, 1)",
1290
- proportion: 0,
1291
- softness: 1,
1292
- distortion: 0.3,
1293
- swirl: 0.6,
1294
- swirlIterations: 11,
1295
- shapeScale: 0.05,
1296
- shape: PatternShapes.Stripes
1297
- }
1298
- };
1299
- var presetPassion = {
1300
- name: "Passion",
1301
- params: {
1302
- scale: 0.25,
1303
- rotation: 1.35,
1304
- speed: 0.3,
1305
- frame: 0,
1306
- color1: "hsla(0, 44.7%, 14.9%, 1)",
1307
- color2: "hsla(353.4, 34%, 42.2%, 1)",
1308
- color3: "hsla(29, 100%, 76.1%, 1)",
1309
- proportion: 0.5,
1310
- softness: 1,
1311
- distortion: 0.09,
1312
- swirl: 0.9,
1313
- swirlIterations: 6,
1314
- shapeScale: 0.25,
1315
- shape: PatternShapes.Checks
1316
- }
1317
- };
1318
- var presetPhantom = {
1319
- name: "Phantom",
1320
- params: {
1321
- scale: 0.68,
1322
- rotation: 1.8,
1323
- speed: 1.25,
1324
- frame: 0,
1325
- color1: "hsla(242.2, 44.3%, 12%, 1)",
1326
- color2: "hsla(236.1, 80.4%, 70%, 1)",
1327
- color3: "hsla(0, 0%, 100%, 1)",
1328
- proportion: 0.45,
1329
- softness: 1,
1330
- distortion: 0.16,
1331
- swirl: 0.3,
1332
- swirlIterations: 7,
1333
- shapeScale: 0.1,
1334
- shape: PatternShapes.Checks
1335
- }
1336
- };
1337
- var presetAbyss = {
1338
- name: "The Abyss",
1339
- params: {
1340
- scale: 0.1,
1341
- rotation: 2,
1342
- speed: 0.06,
1343
- frame: 0,
1344
- color1: "hsla(242.2, 44.3%, 12%, 1)",
1345
- color2: "hsla(236.1, 80.4%, 70%, 1)",
1346
- color3: "hsla(0, 0%, 100%, 1)",
1347
- proportion: 0,
1348
- softness: 1,
1349
- distortion: 0.09,
1350
- swirl: 0.48,
1351
- swirlIterations: 4,
1352
- shapeScale: 0.1,
1353
- shape: PatternShapes.Edge
1354
- }
1355
- };
1356
- var presetInk = {
1357
- name: "Live Ink",
1358
- params: {
1359
- scale: 0.7,
1360
- rotation: 1.5,
1361
- speed: 0.25,
1362
- frame: 0,
1363
- color1: "hsla(210, 11.1%, 7.1%, 1)",
1364
- color2: "hsla(165, 9%, 65.1%, 1)",
1365
- color3: "hsla(84, 100%, 97.1%, 1)",
1366
- proportion: 0.35,
1367
- softness: 0,
1368
- distortion: 0.25,
1369
- swirl: 0.8,
1370
- swirlIterations: 10,
1371
- shapeScale: 0.26,
1372
- shape: PatternShapes.Checks
1373
- }
1374
- };
1375
- var presetIceberg = {
1376
- name: "Iceberg",
1377
- params: {
1378
- scale: 1.1,
1379
- rotation: 2,
1380
- speed: 0.05,
1381
- frame: 0,
1382
- color1: "hsla(0, 0%, 100%, 1)",
1383
- color2: "hsla(220, 38.7%, 32%, 1)",
1384
- color3: "hsla(129.2, 41.9%, 6.1%, 1)",
1385
- proportion: 0.3,
1386
- softness: 1,
1387
- distortion: 0.2,
1388
- swirl: 0.86,
1389
- swirlIterations: 7,
1390
- shapeScale: 0,
1391
- shape: PatternShapes.Checks
1392
- }
1393
- };
1394
- var presetNectar = {
1395
- name: "Nectar",
1396
- params: {
1397
- scale: 0.24,
1398
- rotation: 0,
1399
- speed: 0.42,
1400
- frame: 0,
1401
- color1: "hsla(37.5, 22.2%, 7.1%, 1)",
1402
- color2: "hsla(38.5, 59.1%, 63.1%, 1)",
1403
- color3: "hsla(37.6, 30%, 95.2%, 1)",
1404
- proportion: 0.24,
1405
- softness: 1,
1406
- distortion: 0.21,
1407
- swirl: 0.57,
1408
- swirlIterations: 10,
1409
- shapeScale: 0.32,
1410
- shape: PatternShapes.Edge
1411
- }
1412
- };
1413
- var presetFilteredLight = {
1414
- name: "Filtered Light",
1415
- params: {
1416
- scale: 2,
1417
- rotation: 0.44,
1418
- speed: 0.32,
1419
- frame: 0,
1420
- color1: "hsla(60.2, 7.8%, 8.3%, 1)",
1421
- color2: "hsla(64.4, 27.8%, 81%, 1)",
1422
- color3: "hsla(60, 100%, 93.9%, 1)",
1423
- proportion: 0.25,
1424
- softness: 1,
1425
- distortion: 0.06,
1426
- swirl: 0,
1427
- swirlIterations: 0,
1428
- shapeScale: 0,
1429
- shape: PatternShapes.Stripes
1430
- }
1431
- };
1432
- var presetKelp = {
1433
- name: "Kelp",
1434
- params: {
1435
- scale: 0.38,
1436
- rotation: 0.6,
1437
- speed: 2,
1438
- frame: 0,
1439
- color1: "hsla(79.3, 100%, 78%, 1)",
1440
- color2: "hsla(112, 10.5%, 28%, 1)",
1441
- color3: "hsla(203.3, 50%, 7.1%, 1)",
1442
- proportion: 1,
1443
- softness: 0,
1444
- distortion: 0,
1445
- swirl: 0.15,
1446
- swirlIterations: 0,
1447
- shapeScale: 0.74,
1448
- shape: PatternShapes.Stripes
1449
- }
1450
- };
1451
- var warpPresets = [
1452
- defaultPreset11,
1453
- presetAbyss,
1454
- presetCauldron,
1455
- presetFilteredLight,
1456
- presetIceberg,
1457
- presetInk,
1458
- presetKelp,
1459
- presetNectar,
1460
- presetPassion,
1461
- presetPhantom,
1462
- presetSilk
1463
- ];
1464
- var Warp = ({
1465
- scale,
1466
- rotation,
1467
- color1,
1468
- color2,
1469
- color3,
1470
- proportion,
1471
- softness,
1472
- distortion,
1473
- swirl,
1474
- swirlIterations,
1475
- shapeScale,
1476
- shape,
1477
- ...props
1478
- }) => {
1479
- const uniforms = useMemo12(() => {
1480
- return {
1481
- u_scale: scale ?? defaultPreset11.params.scale,
1482
- u_rotation: rotation ?? defaultPreset11.params.rotation,
1483
- u_color1: getShaderColorFromString11(color1, defaultPreset11.params.color1),
1484
- u_color2: getShaderColorFromString11(color2, defaultPreset11.params.color2),
1485
- u_color3: getShaderColorFromString11(color3, defaultPreset11.params.color2),
1486
- u_proportion: proportion ?? defaultPreset11.params.proportion,
1487
- u_softness: softness ?? defaultPreset11.params.softness,
1488
- u_distortion: distortion ?? defaultPreset11.params.distortion,
1489
- u_swirl: swirl ?? defaultPreset11.params.swirl,
1490
- u_swirlIterations: swirlIterations ?? defaultPreset11.params.swirlIterations,
1491
- u_shapeScale: shapeScale ?? defaultPreset11.params.shapeScale,
1492
- u_shape: shape ?? defaultPreset11.params.shape
1493
- };
1494
- }, [
1495
- scale,
1496
- rotation,
1497
- color1,
1498
- color2,
1499
- color3,
1500
- proportion,
1501
- softness,
1502
- distortion,
1503
- swirl,
1504
- swirlIterations,
1505
- shapeScale,
1506
- shape
1507
- ]);
1508
- return /* @__PURE__ */ jsx12(ShaderMount, { ...props, fragmentShader: warpFragmentShader, uniforms });
1509
- };
1510
-
1511
- // packages/shaders-react/src/index.ts
1512
- import { PatternShapes as PatternShapes2 } from "@paper-design/shaders";
1513
-
1514
- // packages/shaders-react/src/shaders/god-rays.tsx
1515
- import { useMemo as useMemo13 } from "react";
1516
- import { getShaderColorFromString as getShaderColorFromString12, godRaysFragmentShader } from "@paper-design/shaders";
1517
- import { jsx as jsx13 } from "react/jsx-runtime";
1518
- var defaultPreset12 = {
1519
- name: "Default",
1520
- params: {
1521
- colorBack: "hsla(215, 100%, 11%, 1)",
1522
- color1: "hsla(45, 100%, 70%, 1)",
1523
- color2: "hsla(10, 100%, 80%, 1)",
1524
- color3: "hsla(178, 100%, 83%, 1)",
1525
- offsetX: -0.6,
1526
- offsetY: -0.6,
1527
- frequency: 6,
1528
- spotty: 0.28,
1529
- midIntensity: 0.97,
1530
- midSize: 2,
1531
- density: 0.3,
1532
- blending: 0,
1533
- speed: 1,
1534
- frame: 0
1535
- }
1536
- };
1537
- var auroraPreset = {
1538
- name: "Aurora",
1539
- params: {
1540
- colorBack: "hsla(0, 0%, 25%, 1)",
1541
- color1: "hsla(239, 100%, 70%, 1)",
1542
- color2: "hsla(150, 100%, 70%, 1)",
1543
- color3: "hsla(200, 100%, 70%, 1)",
1544
- offsetX: 0,
1545
- offsetY: 1,
1546
- frequency: 2.4,
1547
- spotty: 0.9,
1548
- midIntensity: 0.8,
1549
- midSize: 2.1,
1550
- density: 0.5,
1551
- blending: 1,
1552
- speed: 0.5,
1553
- frame: 0
1554
- }
1555
- };
1556
- var warpPreset = {
1557
- name: "Warp",
1558
- params: {
1559
- colorBack: "hsla(0, 0%, 0%, 1)",
1560
- color1: "hsla(317, 100%, 50%, 1)",
1561
- color2: "hsla(25, 100%, 50%, 1)",
1562
- color3: "hsla(0, 0%, 100%, 1)",
1563
- offsetX: 0,
1564
- offsetY: 0,
1565
- frequency: 1.2,
1566
- spotty: 0.15,
1567
- midIntensity: 0,
1568
- midSize: 0,
1569
- density: 0.79,
1570
- blending: 0.4,
1571
- speed: 2,
1572
- frame: 0
1573
- }
1574
- };
1575
- var linearPreset = {
1576
- name: "Linear",
1577
- params: {
1578
- colorBack: "hsla(0, 0%, 0%, 1)",
1579
- color1: "hsl(0 0% 100% / 12%)",
1580
- color2: "hsl(0 0% 100% / 24%)",
1581
- color3: "hsl(0 0% 100% / 16%)",
1582
- offsetX: 0.2,
1583
- offsetY: -0.7,
1584
- frequency: 1.2,
1585
- spotty: 0.25,
1586
- midSize: 1.1,
1587
- midIntensity: 0.75,
1588
- density: 0.79,
1589
- blending: 1,
1590
- speed: 0.5,
1591
- frame: 0
1592
- }
1593
- };
1594
- var etherPreset = {
1595
- name: "Ether",
1596
- params: {
1597
- colorBack: "hsl(226.7 50% 7.1% / 100%)",
1598
- color1: "hsl(215 100% 53.9% / 65.1%)",
1599
- color2: "hsl(214.4 85.9% 86.1% / 74.9%)",
1600
- color3: "hsl(225 31.4% 20% / 100%)",
1601
- offsetX: -0.6,
1602
- offsetY: 0,
1603
- frequency: 0.3,
1604
- spotty: 0.77,
1605
- midSize: 1.1,
1606
- midIntensity: 0.5,
1607
- density: 0.6,
1608
- blending: 0.6,
1609
- speed: 1,
1610
- frame: 0
1611
- }
1612
- };
1613
- var godRaysPresets = [defaultPreset12, auroraPreset, warpPreset, linearPreset, etherPreset];
1614
- var GodRays = ({
1615
- colorBack,
1616
- color1,
1617
- color2,
1618
- color3,
1619
- offsetX,
1620
- offsetY,
1621
- frequency,
1622
- spotty,
1623
- midIntensity,
1624
- midSize,
1625
- density,
1626
- blending,
1627
- ...props
1628
- }) => {
1629
- const uniforms = useMemo13(() => {
1630
- return {
1631
- u_colorBack: getShaderColorFromString12(colorBack, defaultPreset12.params.colorBack),
1632
- u_color1: getShaderColorFromString12(color1, defaultPreset12.params.color1),
1633
- u_color2: getShaderColorFromString12(color2, defaultPreset12.params.color2),
1634
- u_color3: getShaderColorFromString12(color3, defaultPreset12.params.color3),
1635
- u_offsetX: offsetX ?? defaultPreset12.params.offsetX,
1636
- u_offsetY: offsetY ?? defaultPreset12.params.offsetY,
1637
- u_frequency: frequency ?? defaultPreset12.params.frequency,
1638
- u_spotty: spotty ?? defaultPreset12.params.spotty,
1639
- u_midIntensity: midIntensity ?? defaultPreset12.params.midIntensity,
1640
- u_midSize: midSize ?? defaultPreset12.params.midSize,
1641
- u_density: density ?? defaultPreset12.params.density,
1642
- u_blending: blending ?? defaultPreset12.params.blending
1643
- };
1644
- }, [
1645
- colorBack,
1646
- color1,
1647
- color2,
1648
- color3,
1649
- offsetX,
1650
- offsetY,
1651
- frequency,
1652
- spotty,
1653
- midIntensity,
1654
- midSize,
1655
- density,
1656
- blending
1657
- ]);
1658
- return /* @__PURE__ */ jsx13(ShaderMount, { ...props, fragmentShader: godRaysFragmentShader, uniforms });
1659
- };
1660
-
1661
- // packages/shaders-react/src/index.ts
1662
- import {} from "@paper-design/shaders";
1663
-
1664
- // packages/shaders-react/src/shaders/spiral.tsx
1665
- import { useMemo as useMemo14 } from "react";
1666
- import { getShaderColorFromString as getShaderColorFromString13, spiralFragmentShader } from "@paper-design/shaders";
1667
- import { jsx as jsx14 } from "react/jsx-runtime";
1668
- var defaultPreset13 = {
1669
- name: "Default",
1670
- params: {
1671
- color1: "hsla(0, 0%, 98%, 1)",
1672
- color2: "hsla(0, 0%, 50%, 1)",
1673
- scale: 1,
1674
- offsetX: 0,
1675
- offsetY: 0,
1676
- spiralDensity: 0,
1677
- spiralDistortion: 0,
1678
- strokeWidth: 0.5,
1679
- strokeTaper: 0,
1680
- strokeCap: 0,
1681
- noiseFreq: 0,
1682
- noisePower: 0,
1683
- softness: 0.01,
1684
- speed: 1,
1685
- frame: 0
1686
- }
1687
- };
1688
- var noisyPreset = {
1689
- name: "Noisy",
1690
- params: {
1691
- color1: "hsla(87, 77%, 53%, 1)",
1692
- color2: "hsla(109, 70%, 31%, 1)",
1693
- scale: 1.3,
1694
- offsetX: 0,
1695
- offsetY: 0,
1696
- spiralDensity: 0.5,
1697
- spiralDistortion: 0,
1698
- strokeWidth: 0.5,
1699
- strokeTaper: 0,
1700
- strokeCap: 0.5,
1701
- noiseFreq: 0.1,
1702
- noisePower: 1,
1703
- softness: 0,
1704
- speed: 1,
1705
- frame: 0
1706
- }
1707
- };
1708
- var dropletPreset = {
1709
- name: "Droplet",
1710
- params: {
1711
- color1: "hsla(320, 50%, 50%, 1)",
1712
- color2: "hsla(190, 50%, 95%, 1)",
1713
- scale: 0.65,
1714
- offsetX: 0,
1715
- offsetY: 0,
1716
- spiralDensity: 0,
1717
- spiralDistortion: 0,
1718
- strokeWidth: 0.05,
1719
- strokeTaper: 0,
1720
- strokeCap: 1,
1721
- noiseFreq: 0,
1722
- noisePower: 0,
1723
- softness: 0,
1724
- speed: 1,
1725
- frame: 0
1726
- }
1727
- };
1728
- var sandPreset = {
1729
- name: "Sand",
1730
- params: {
1731
- color1: "hsla(45, 25%, 50%, 1)",
1732
- color2: "hsla(0, 0%, 87%, 1)",
1733
- scale: 3,
1734
- offsetX: 0,
1735
- offsetY: 0,
1736
- spiralDensity: 0,
1737
- spiralDistortion: 0,
1738
- strokeWidth: 0.15,
1739
- strokeTaper: 0,
1740
- strokeCap: 0,
1741
- noiseFreq: 30,
1742
- noisePower: 1,
1743
- softness: 0.2,
1744
- speed: 0,
1745
- frame: 0
1746
- }
1747
- };
1748
- var swirlPreset = {
1749
- name: "Swirl",
1750
- params: {
1751
- color1: "hsla(160, 50%, 80%, 1)",
1752
- color2: "hsla(220, 50%, 20%, 1)",
1753
- scale: 4,
1754
- offsetX: 0,
1755
- offsetY: 0,
1756
- spiralDensity: 0.8,
1757
- spiralDistortion: 0,
1758
- strokeWidth: 0.5,
1759
- strokeTaper: 0,
1760
- strokeCap: 0,
1761
- noiseFreq: 0,
1762
- noisePower: 0,
1763
- softness: 0.5,
1764
- speed: 1,
1765
- frame: 0
1766
- }
1767
- };
1768
- var hookPreset = {
1769
- name: "Hook",
1770
- params: {
1771
- color1: "hsla(0, 0%, 0%, 1)",
1772
- color2: "hsla(200, 50%, 70%, 1)",
1773
- scale: 0.8,
1774
- offsetX: 0,
1775
- offsetY: 0,
1776
- spiralDensity: 0,
1777
- spiralDistortion: 0,
1778
- strokeWidth: 0.5,
1779
- strokeTaper: 0.5,
1780
- strokeCap: 0,
1781
- noiseFreq: 0,
1782
- noisePower: 0,
1783
- softness: 0.02,
1784
- speed: 3,
1785
- frame: 0
1786
- }
1787
- };
1788
- var vinylPreset = {
1789
- name: "Vinyl",
1790
- params: {
1791
- color1: "hsla(0, 0%, 15%, 1)",
1792
- color2: "hsla(320, 5%, 75%, 1)",
1793
- scale: 1,
1794
- offsetX: 0,
1795
- offsetY: 0,
1796
- spiralDensity: 0,
1797
- spiralDistortion: 0.3,
1798
- strokeWidth: 0.95,
1799
- strokeTaper: 0,
1800
- strokeCap: 1,
1801
- noiseFreq: 0,
1802
- noisePower: 0,
1803
- softness: 0.11,
1804
- speed: 1,
1805
- frame: 0
1806
- }
1807
- };
1808
- var spiralPresets = [
1809
- defaultPreset13,
1810
- noisyPreset,
1811
- dropletPreset,
1812
- swirlPreset,
1813
- sandPreset,
1814
- hookPreset,
1815
- vinylPreset
1816
- ];
1817
- var Spiral = ({
1818
- color1,
1819
- color2,
1820
- scale,
1821
- offsetX,
1822
- offsetY,
1823
- spiralDensity,
1824
- spiralDistortion,
1825
- strokeWidth,
1826
- strokeTaper,
1827
- strokeCap,
1828
- noiseFreq,
1829
- noisePower,
1830
- softness,
1831
- ...props
1832
- }) => {
1833
- const uniforms = useMemo14(() => {
1834
- return {
1835
- u_color1: getShaderColorFromString13(color1, defaultPreset13.params.color1),
1836
- u_color2: getShaderColorFromString13(color2, defaultPreset13.params.color2),
1837
- u_scale: scale ?? defaultPreset13.params.scale,
1838
- u_offsetX: offsetX ?? defaultPreset13.params.offsetX,
1839
- u_offsetY: offsetY ?? defaultPreset13.params.offsetY,
1840
- u_spiralDensity: spiralDensity ?? defaultPreset13.params.spiralDensity,
1841
- u_spiralDistortion: spiralDistortion ?? defaultPreset13.params.spiralDistortion,
1842
- u_strokeWidth: strokeWidth ?? defaultPreset13.params.strokeWidth,
1843
- u_strokeTaper: strokeTaper ?? defaultPreset13.params.strokeTaper,
1844
- u_strokeCap: strokeCap ?? defaultPreset13.params.strokeCap,
1845
- u_noiseFreq: noiseFreq ?? defaultPreset13.params.noiseFreq,
1846
- u_noisePower: noisePower ?? defaultPreset13.params.noisePower,
1847
- u_softness: softness ?? defaultPreset13.params.softness
1848
- };
1849
- }, [
1850
- color1,
1851
- color2,
1852
- scale,
1853
- offsetX,
1854
- offsetY,
1855
- spiralDensity,
1856
- spiralDistortion,
1857
- strokeWidth,
1858
- strokeTaper,
1859
- strokeCap,
1860
- noiseFreq,
1861
- noisePower,
1862
- softness
1863
- ]);
1864
- return /* @__PURE__ */ jsx14(ShaderMount, { ...props, fragmentShader: spiralFragmentShader, uniforms });
1865
- };
1866
-
1867
- // packages/shaders-react/src/index.ts
1868
- import {} from "@paper-design/shaders";
1869
- import { getShaderColorFromString as getShaderColorFromString14 } from "@paper-design/shaders";
1870
39
  export {
40
+ Dithering,
1871
41
  DotGrid,
1872
- DotGridShapes2 as DotGridShapes,
1873
42
  DotOrbit,
1874
43
  GodRays,
44
+ GrainGradient,
45
+ LiquidMetal,
1875
46
  MeshGradient,
1876
47
  Metaballs,
1877
48
  NeuroNoise,
1878
- PatternShapes2 as PatternShapes,
1879
49
  PerlinNoise,
50
+ PulsingBorder,
1880
51
  ShaderMount,
52
+ SimplexNoise,
1881
53
  SmokeRing,
1882
54
  Spiral,
1883
- SteppedSimplexNoise,
55
+ Swirl,
1884
56
  Voronoi,
1885
57
  Warp,
1886
58
  Waves,
59
+ ditheringPresets,
1887
60
  dotGridPresets,
61
+ dotOrbitMeta,
1888
62
  dotOrbitPresets,
1889
- getShaderColorFromString14 as getShaderColorFromString,
63
+ getShaderColorFromString,
64
+ godRaysMeta,
1890
65
  godRaysPresets,
66
+ grainGradientMeta,
67
+ grainGradientPresets,
68
+ isPaperShaderElement,
69
+ liquidMetalPresets,
70
+ meshGradientMeta,
1891
71
  meshGradientPresets,
72
+ metaballsMeta,
1892
73
  metaballsPresets,
1893
74
  neuroNoisePresets,
1894
75
  perlinNoisePresets,
76
+ pulsingBorderMeta,
77
+ pulsingBorderPresets,
78
+ simplexNoiseMeta,
79
+ simplexNoisePresets,
80
+ smokeRingMeta,
1895
81
  smokeRingPresets,
1896
82
  spiralPresets,
1897
- steppedSimplexNoisePresets,
83
+ swirlMeta,
84
+ swirlPresets,
85
+ voronoiMeta,
1898
86
  voronoiPresets,
87
+ warpMeta,
1899
88
  warpPresets,
1900
89
  wavesPresets
1901
90
  };