decentraland-ui2 1.3.10 → 1.3.11-23254548394.commit-0815e57

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 (26) hide show
  1. package/dist/Assets/logo-pattern.webp +0 -0
  2. package/dist/components/AnimatedBackground/AnimatedBackground.d.ts +3 -0
  3. package/dist/components/AnimatedBackground/AnimatedBackground.js +80 -0
  4. package/dist/components/AnimatedBackground/AnimatedBackground.js.map +1 -0
  5. package/dist/components/AnimatedBackground/AnimatedBackground.shaders.d.ts +3 -0
  6. package/dist/components/AnimatedBackground/AnimatedBackground.shaders.js +82 -0
  7. package/dist/components/AnimatedBackground/AnimatedBackground.shaders.js.map +1 -0
  8. package/dist/components/AnimatedBackground/AnimatedBackground.stories.d.ts +9 -0
  9. package/dist/components/AnimatedBackground/AnimatedBackground.stories.js +84 -0
  10. package/dist/components/AnimatedBackground/AnimatedBackground.stories.js.map +1 -0
  11. package/dist/components/AnimatedBackground/AnimatedBackground.styled.d.ts +20 -0
  12. package/dist/components/AnimatedBackground/AnimatedBackground.styled.js +43 -0
  13. package/dist/components/AnimatedBackground/AnimatedBackground.styled.js.map +1 -0
  14. package/dist/components/AnimatedBackground/AnimatedBackground.types.d.ts +7 -0
  15. package/dist/components/AnimatedBackground/AnimatedBackground.types.js +2 -0
  16. package/dist/components/AnimatedBackground/AnimatedBackground.types.js.map +1 -0
  17. package/dist/components/AnimatedBackground/AnimatedBackground.utils.d.ts +6 -0
  18. package/dist/components/AnimatedBackground/AnimatedBackground.utils.js +57 -0
  19. package/dist/components/AnimatedBackground/AnimatedBackground.utils.js.map +1 -0
  20. package/dist/components/AnimatedBackground/index.d.ts +2 -0
  21. package/dist/components/AnimatedBackground/index.js +2 -0
  22. package/dist/components/AnimatedBackground/index.js.map +1 -0
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/package.json +3 -3
Binary file
@@ -0,0 +1,3 @@
1
+ import { AnimatedBackgroundProps } from './AnimatedBackground.types';
2
+ declare const AnimatedBackground: import("react").MemoExoticComponent<({ variant, color, patternUrl }: AnimatedBackgroundProps) => import("react/jsx-runtime").JSX.Element>;
3
+ export { AnimatedBackground };
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { memo, useEffect, useRef } from 'react';
3
+ import { FRAGMENT_SHADER, VERTEX_SHADER } from './AnimatedBackground.shaders';
4
+ import { createProgram, createShader, darkenRgb, hexToRgb, loadTexture } from './AnimatedBackground.utils';
5
+ import overlayTextureUrl from '../../Assets/logo-pattern.webp';
6
+ import { Canvas, Fallback, Wrapper } from './AnimatedBackground.styled';
7
+ const DEFAULT_INNER_COLOR = [0.749, 0.0, 1.0];
8
+ const DEFAULT_OUTER_COLOR = [0.3176, 0.0235, 0.5176];
9
+ const AnimatedBackground = memo(({ variant = 'fixed', color, patternUrl }) => {
10
+ const canvasRef = useRef(null);
11
+ const animFrameRef = useRef(0);
12
+ useEffect(() => {
13
+ const canvas = canvasRef.current;
14
+ if (!canvas)
15
+ return;
16
+ const gl = canvas.getContext('webgl', { alpha: false, antialias: false });
17
+ if (!gl) {
18
+ console.error('WebGL not supported');
19
+ return;
20
+ }
21
+ const vs = createShader(gl, gl.VERTEX_SHADER, VERTEX_SHADER);
22
+ const fs = createShader(gl, gl.FRAGMENT_SHADER, FRAGMENT_SHADER);
23
+ if (!vs || !fs)
24
+ return;
25
+ const program = createProgram(gl, vs, fs);
26
+ if (!program)
27
+ return;
28
+ const positionLoc = gl.getAttribLocation(program, 'a_position');
29
+ const timeLoc = gl.getUniformLocation(program, 'u_time');
30
+ const resolutionLoc = gl.getUniformLocation(program, 'u_resolution');
31
+ const overlayTexLoc = gl.getUniformLocation(program, 'u_overlayTex');
32
+ const innerColorLoc = gl.getUniformLocation(program, 'u_innerColor');
33
+ const outerColorLoc = gl.getUniformLocation(program, 'u_outerColor');
34
+ const innerColor = color ? hexToRgb(color) : DEFAULT_INNER_COLOR;
35
+ const outerColor = color ? darkenRgb(innerColor, 0.42) : DEFAULT_OUTER_COLOR;
36
+ const buffer = gl.createBuffer();
37
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
38
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1]), gl.STATIC_DRAW);
39
+ const overlayTexture = loadTexture(gl, patternUrl ?? overlayTextureUrl);
40
+ const resize = () => {
41
+ const dpr = window.devicePixelRatio || 1;
42
+ const w = canvas.clientWidth * dpr;
43
+ const h = canvas.clientHeight * dpr;
44
+ if (canvas.width !== w || canvas.height !== h) {
45
+ canvas.width = w;
46
+ canvas.height = h;
47
+ }
48
+ };
49
+ const startTime = performance.now() / 1000;
50
+ const render = () => {
51
+ resize();
52
+ gl.viewport(0, 0, canvas.width, canvas.height);
53
+ gl.useProgram(program);
54
+ gl.uniform1f(timeLoc, performance.now() / 1000 - startTime);
55
+ gl.uniform2f(resolutionLoc, canvas.width, canvas.height);
56
+ gl.uniform4f(innerColorLoc, innerColor[0], innerColor[1], innerColor[2], 1.0);
57
+ gl.uniform4f(outerColorLoc, outerColor[0], outerColor[1], outerColor[2], 1.0);
58
+ gl.activeTexture(gl.TEXTURE0);
59
+ gl.bindTexture(gl.TEXTURE_2D, overlayTexture);
60
+ gl.uniform1i(overlayTexLoc, 0);
61
+ gl.enableVertexAttribArray(positionLoc);
62
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
63
+ gl.vertexAttribPointer(positionLoc, 2, gl.FLOAT, false, 0, 0);
64
+ gl.drawArrays(gl.TRIANGLES, 0, 6);
65
+ animFrameRef.current = requestAnimationFrame(render);
66
+ };
67
+ animFrameRef.current = requestAnimationFrame(render);
68
+ return () => {
69
+ cancelAnimationFrame(animFrameRef.current);
70
+ gl.deleteProgram(program);
71
+ gl.deleteShader(vs);
72
+ gl.deleteShader(fs);
73
+ gl.deleteBuffer(buffer);
74
+ gl.deleteTexture(overlayTexture);
75
+ };
76
+ }, [color, patternUrl]);
77
+ return (_jsxs(Wrapper, { variant: variant, children: [_jsx(Fallback, { variant: variant, "aria-hidden": true }), _jsx(Canvas, { ref: canvasRef })] }));
78
+ });
79
+ export { AnimatedBackground };
80
+ //# sourceMappingURL=AnimatedBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBackground.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/AnimatedBackground.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const VERTEX_SHADER = "\nattribute vec2 a_position;\nvarying vec2 v_uv;\nvoid main() {\n v_uv = a_position * 0.5 + 0.5;\n gl_Position = vec4(a_position, 0.0, 1.0);\n}\n";
2
+ declare const FRAGMENT_SHADER = "\nprecision highp float;\n\nuniform float u_time;\nuniform vec2 u_resolution;\nuniform sampler2D u_overlayTex;\nuniform vec4 u_innerColor;\nuniform vec4 u_outerColor;\n\nvarying vec2 v_uv;\nconst float vignetteRadius = 0.167;\nconst float vignetteSmoothness = 0.5;\nconst vec4 overlayColor = vec4(1.0, 1.0, 1.0, 1.0);\nconst float overlayTiling = 1.66;\nconst vec2 overlayDirection = vec2(1.0, -1.25);\nconst float overlaySpeed = 0.06;\nconst float overlayAlpha = 0.573;\nconst vec4 glowColor = vec4(0.5725, 0.0588, 0.6392, 1.0);\nconst float glowStrength = 0.17;\nconst vec2 glowRadiusVec = vec2(0.05, 0.13);\nconst float glowSmoothness = 3.61;\nconst vec2 glowCenter = vec2(0.68, 0.5);\nconst float luminosityStrength = 0.541;\n\nvec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));\n vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));\n float d = q.x - min(q.w, q.y);\n float e = 1e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n}\n\nvec3 hsv2rgb(vec3 c) {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n}\n\nvoid main() {\n vec2 uv = v_uv;\n\n vec2 centerUV = uv - 0.5;\n float rad = length(centerUV);\n float mask = smoothstep(vignetteRadius + vignetteSmoothness, vignetteRadius, rad);\n vec4 vignette = mix(u_outerColor, u_innerColor, mask);\n\n float aspect = u_resolution.x / u_resolution.y;\n vec2 overlayUV = uv;\n overlayUV.x *= overlayTiling * aspect;\n overlayUV.y *= overlayTiling;\n overlayUV += u_time * overlayDirection * overlaySpeed;\n vec4 overlay = texture2D(u_overlayTex, overlayUV) * overlayColor;\n overlay.a *= overlayAlpha * mask;\n\n vec3 vignetteHSV = rgb2hsv(vignette.rgb);\n vec3 overlayHSV = rgb2hsv(overlay.rgb);\n float val = mix(0.5, 1.0, overlayHSV.z);\n vec3 luminosityBlend = hsv2rgb(vec3(vignetteHSV.x, vignetteHSV.y, val));\n float luminosityBlendAmount = overlay.a * luminosityStrength;\n vec4 result = vec4(mix(vignette.rgb, luminosityBlend, luminosityBlendAmount), 1.0);\n\n vec2 glowDelta = (uv - glowCenter) / glowRadiusVec;\n glowDelta.x *= aspect;\n float glowDist = length(glowDelta);\n float glowMask = 1.0 - smoothstep(1.0, 1.0 + glowSmoothness, glowDist);\n vec4 glow = glowColor * glowMask * glowStrength;\n result.rgb += glow.rgb * glow.a;\n\n gl_FragColor = result;\n}\n";
3
+ export { FRAGMENT_SHADER, VERTEX_SHADER };
@@ -0,0 +1,82 @@
1
+ const VERTEX_SHADER = `
2
+ attribute vec2 a_position;
3
+ varying vec2 v_uv;
4
+ void main() {
5
+ v_uv = a_position * 0.5 + 0.5;
6
+ gl_Position = vec4(a_position, 0.0, 1.0);
7
+ }
8
+ `;
9
+ const FRAGMENT_SHADER = `
10
+ precision highp float;
11
+
12
+ uniform float u_time;
13
+ uniform vec2 u_resolution;
14
+ uniform sampler2D u_overlayTex;
15
+ uniform vec4 u_innerColor;
16
+ uniform vec4 u_outerColor;
17
+
18
+ varying vec2 v_uv;
19
+ const float vignetteRadius = 0.167;
20
+ const float vignetteSmoothness = 0.5;
21
+ const vec4 overlayColor = vec4(1.0, 1.0, 1.0, 1.0);
22
+ const float overlayTiling = 1.66;
23
+ const vec2 overlayDirection = vec2(1.0, -1.25);
24
+ const float overlaySpeed = 0.06;
25
+ const float overlayAlpha = 0.573;
26
+ const vec4 glowColor = vec4(0.5725, 0.0588, 0.6392, 1.0);
27
+ const float glowStrength = 0.17;
28
+ const vec2 glowRadiusVec = vec2(0.05, 0.13);
29
+ const float glowSmoothness = 3.61;
30
+ const vec2 glowCenter = vec2(0.68, 0.5);
31
+ const float luminosityStrength = 0.541;
32
+
33
+ vec3 rgb2hsv(vec3 c) {
34
+ vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
35
+ vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
36
+ vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
37
+ float d = q.x - min(q.w, q.y);
38
+ float e = 1e-10;
39
+ return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
40
+ }
41
+
42
+ vec3 hsv2rgb(vec3 c) {
43
+ vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
44
+ vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
45
+ return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
46
+ }
47
+
48
+ void main() {
49
+ vec2 uv = v_uv;
50
+
51
+ vec2 centerUV = uv - 0.5;
52
+ float rad = length(centerUV);
53
+ float mask = smoothstep(vignetteRadius + vignetteSmoothness, vignetteRadius, rad);
54
+ vec4 vignette = mix(u_outerColor, u_innerColor, mask);
55
+
56
+ float aspect = u_resolution.x / u_resolution.y;
57
+ vec2 overlayUV = uv;
58
+ overlayUV.x *= overlayTiling * aspect;
59
+ overlayUV.y *= overlayTiling;
60
+ overlayUV += u_time * overlayDirection * overlaySpeed;
61
+ vec4 overlay = texture2D(u_overlayTex, overlayUV) * overlayColor;
62
+ overlay.a *= overlayAlpha * mask;
63
+
64
+ vec3 vignetteHSV = rgb2hsv(vignette.rgb);
65
+ vec3 overlayHSV = rgb2hsv(overlay.rgb);
66
+ float val = mix(0.5, 1.0, overlayHSV.z);
67
+ vec3 luminosityBlend = hsv2rgb(vec3(vignetteHSV.x, vignetteHSV.y, val));
68
+ float luminosityBlendAmount = overlay.a * luminosityStrength;
69
+ vec4 result = vec4(mix(vignette.rgb, luminosityBlend, luminosityBlendAmount), 1.0);
70
+
71
+ vec2 glowDelta = (uv - glowCenter) / glowRadiusVec;
72
+ glowDelta.x *= aspect;
73
+ float glowDist = length(glowDelta);
74
+ float glowMask = 1.0 - smoothstep(1.0, 1.0 + glowSmoothness, glowDist);
75
+ vec4 glow = glowColor * glowMask * glowStrength;
76
+ result.rgb += glow.rgb * glow.a;
77
+
78
+ gl_FragColor = result;
79
+ }
80
+ `;
81
+ export { FRAGMENT_SHADER, VERTEX_SHADER };
82
+ //# sourceMappingURL=AnimatedBackground.shaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBackground.shaders.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/AnimatedBackground.shaders.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;CAOrB,CAAA;AAED,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEvB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { AnimatedBackgroundProps } from './AnimatedBackground.types';
2
+ import type { Meta, StoryObj } from '@storybook/react';
3
+ declare const meta: Meta<AnimatedBackgroundProps>;
4
+ type Story = StoryObj<typeof meta>;
5
+ declare const Fixed: Story;
6
+ declare const Absolute: Story;
7
+ declare const CustomColor: Story;
8
+ export default meta;
9
+ export { Absolute, CustomColor, Fixed };
@@ -0,0 +1,84 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from '@mui/material';
3
+ import { AnimatedBackground } from './AnimatedBackground';
4
+ const meta = {
5
+ title: 'Decentraland UI/Animated Background',
6
+ component: AnimatedBackground,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ docs: {
10
+ description: {
11
+ component: 'Animated WebGL background with a gradient shader and overlay texture. Falls back to a static image when WebGL is not available.'
12
+ }
13
+ }
14
+ },
15
+ decorators: [
16
+ Story => (_jsx(Box, { sx: { position: 'relative', width: '800px', height: '500px', overflow: 'hidden' }, children: _jsx(Story, {}) }))
17
+ ],
18
+ argTypes: {
19
+ variant: {
20
+ control: 'radio',
21
+ options: ['fixed', 'absolute'],
22
+ description: 'Positioning strategy for the background',
23
+ table: {
24
+ type: { summary: '"fixed" | "absolute"' },
25
+ defaultValue: { summary: 'fixed' }
26
+ }
27
+ },
28
+ color: {
29
+ control: 'color',
30
+ description: 'Main color for the gradient (hex). The outer color is derived as a darker shade.',
31
+ table: {
32
+ type: { summary: 'string' }
33
+ }
34
+ },
35
+ patternUrl: {
36
+ control: 'text',
37
+ description: 'URL for the overlay pattern texture',
38
+ table: {
39
+ type: { summary: 'string' }
40
+ }
41
+ }
42
+ }
43
+ };
44
+ const Fixed = {
45
+ args: {
46
+ variant: 'fixed'
47
+ },
48
+ parameters: {
49
+ docs: {
50
+ description: {
51
+ story: 'Fixed variant — covers the full viewport and stays in place on scroll'
52
+ }
53
+ }
54
+ }
55
+ };
56
+ const Absolute = {
57
+ args: {
58
+ variant: 'absolute'
59
+ },
60
+ parameters: {
61
+ docs: {
62
+ description: {
63
+ story: 'Absolute variant — fills its parent container. Useful for sections or cards.'
64
+ }
65
+ }
66
+ }
67
+ };
68
+ const CustomColor = {
69
+ args: {
70
+ variant: 'absolute',
71
+ color: '#ff4444'
72
+ },
73
+ parameters: {
74
+ docs: {
75
+ description: {
76
+ story: 'Custom color — the outer color is automatically derived as a darker shade'
77
+ }
78
+ }
79
+ }
80
+ };
81
+ // eslint-disable-next-line import/no-default-export
82
+ export default meta;
83
+ export { Absolute, CustomColor, Fixed };
84
+ //# sourceMappingURL=AnimatedBackground.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBackground.stories.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/AnimatedBackground.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAIzD,MAAM,IAAI,GAAkC;IAC1C,KAAK,EAAE,qCAAqC;IAC5C,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,iIAAiI;aACpI;SACF;KACF;IACD,UAAU,EAAE;QACV,KAAK,CAAC,EAAE,CAAC,CACP,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YACpF,KAAC,KAAK,KAAG,GACL,CACP;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YAC9B,WAAW,EAAE,yCAAyC;YACtD,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;gBACzC,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;aACnC;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,kFAAkF;YAC/F,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAC5B;SACF;QACD,UAAU,EAAE;YACV,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,qCAAqC;YAClD,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAC5B;SACF;KACF;CACwC,CAAA;AAI3C,MAAM,KAAK,GAAU;IACnB,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;KACjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,uEAAuE;aAC/E;SACF;KACF;CACF,CAAA;AAED,MAAM,QAAQ,GAAU;IACtB,IAAI,EAAE;QACJ,OAAO,EAAE,UAAU;KACpB;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,8EAA8E;aACtF;SACF;KACF;CACF,CAAA;AAED,MAAM,WAAW,GAAU;IACzB,IAAI,EAAE;QACJ,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,SAAS;KACjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,2EAA2E;aACnF;SACF;KACF;CACF,CAAA;AAED,oDAAoD;AACpD,eAAe,IAAI,CAAA;AAEnB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { AnimatedBackgroundVariant } from './AnimatedBackground.types';
2
+ declare const Wrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
5
+ theme?: import("@emotion/react").Theme;
6
+ } & {
7
+ variant: AnimatedBackgroundVariant;
8
+ }, {}, {}>;
9
+ declare const Fallback: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
10
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
11
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
12
+ theme?: import("@emotion/react").Theme;
13
+ } & {
14
+ variant: AnimatedBackgroundVariant;
15
+ }, {}, {}>;
16
+ declare const Canvas: import("@emotion/styled").StyledComponent<{
17
+ theme?: import("@emotion/react").Theme;
18
+ as?: React.ElementType;
19
+ }, import("react").DetailedHTMLProps<import("react").CanvasHTMLAttributes<HTMLCanvasElement>, HTMLCanvasElement>, {}>;
20
+ export { Canvas, Fallback, Wrapper };
@@ -0,0 +1,43 @@
1
+ import styled from '@emotion/styled';
2
+ import { Box } from '@mui/material';
3
+ import fallbackBackgroundUrl from '../../Assets/custom-welcome-background.webp';
4
+ const baseVariantStyles = (variant) => variant === 'fixed'
5
+ ? {
6
+ position: 'fixed',
7
+ width: '100vw',
8
+ height: '100vh',
9
+ zIndex: 0
10
+ }
11
+ : {
12
+ position: 'absolute',
13
+ width: '100%',
14
+ height: '100%',
15
+ zIndex: -1
16
+ };
17
+ const Wrapper = styled(Box)(({ variant }) => ({
18
+ top: 0,
19
+ left: 0,
20
+ ...baseVariantStyles(variant)
21
+ }));
22
+ const Fallback = styled(Box)({
23
+ position: 'absolute',
24
+ top: 0,
25
+ left: 0,
26
+ width: '100%',
27
+ height: '100%',
28
+ backgroundImage: `url(${fallbackBackgroundUrl})`,
29
+ backgroundSize: 'cover',
30
+ backgroundPosition: 'center',
31
+ backgroundRepeat: 'no-repeat',
32
+ zIndex: 0
33
+ });
34
+ const Canvas = styled('canvas')({
35
+ position: 'absolute',
36
+ top: 0,
37
+ left: 0,
38
+ width: '100%',
39
+ height: '100%',
40
+ zIndex: 1
41
+ });
42
+ export { Canvas, Fallback, Wrapper };
43
+ //# sourceMappingURL=AnimatedBackground.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBackground.styled.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/AnimatedBackground.styled.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,qBAAqB,MAAM,6CAA6C,CAAA;AAG/E,MAAM,iBAAiB,GAAG,CAAC,OAAkC,EAAE,EAAE,CAC/D,OAAO,KAAK,OAAO;IACjB,CAAC,CAAC;QACE,QAAQ,EAAE,OAAgB;QAC1B,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,CAAC;KACV;IACH,CAAC,CAAC;QACE,QAAQ,EAAE,UAAmB;QAC7B,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,CAAC,CAAC;KACX,CAAA;AAEP,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAyC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACpF,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,iBAAiB,CAAC,OAAO,CAAC;CAC9B,CAAC,CAAC,CAAA;AAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAyC;IACnE,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,eAAe,EAAE,OAAO,qBAAqB,GAAG;IAChD,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,QAAQ;IAC5B,gBAAgB,EAAE,WAAW;IAC7B,MAAM,EAAE,CAAC;CACV,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,CAAC;CACV,CAAC,CAAA;AAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ type AnimatedBackgroundVariant = 'fixed' | 'absolute';
2
+ type AnimatedBackgroundProps = {
3
+ variant?: AnimatedBackgroundVariant;
4
+ color?: string;
5
+ patternUrl?: string;
6
+ };
7
+ export type { AnimatedBackgroundVariant, AnimatedBackgroundProps };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AnimatedBackground.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBackground.types.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/AnimatedBackground.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ declare function createShader(gl: WebGLRenderingContext, type: number, source: string): WebGLShader | null;
2
+ declare function createProgram(gl: WebGLRenderingContext, vs: WebGLShader, fs: WebGLShader): WebGLProgram | null;
3
+ declare function loadTexture(gl: WebGLRenderingContext, url: string): WebGLTexture | null;
4
+ declare function hexToRgb(hex: string): [number, number, number];
5
+ declare function darkenRgb(rgb: [number, number, number], factor: number): [number, number, number];
6
+ export { createProgram, createShader, darkenRgb, hexToRgb, loadTexture };
@@ -0,0 +1,57 @@
1
+ function createShader(gl, type, source) {
2
+ const shader = gl.createShader(type);
3
+ if (!shader)
4
+ return null;
5
+ gl.shaderSource(shader, source);
6
+ gl.compileShader(shader);
7
+ if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
8
+ console.error('Shader compile error:', gl.getShaderInfoLog(shader));
9
+ gl.deleteShader(shader);
10
+ return null;
11
+ }
12
+ return shader;
13
+ }
14
+ function createProgram(gl, vs, fs) {
15
+ const program = gl.createProgram();
16
+ if (!program)
17
+ return null;
18
+ gl.attachShader(program, vs);
19
+ gl.attachShader(program, fs);
20
+ gl.linkProgram(program);
21
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
22
+ console.error('Program link error:', gl.getProgramInfoLog(program));
23
+ gl.deleteProgram(program);
24
+ return null;
25
+ }
26
+ return program;
27
+ }
28
+ function loadTexture(gl, url) {
29
+ const texture = gl.createTexture();
30
+ if (!texture)
31
+ return null;
32
+ gl.bindTexture(gl.TEXTURE_2D, texture);
33
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array([128, 128, 128, 255]));
34
+ const image = new Image();
35
+ image.crossOrigin = 'anonymous';
36
+ image.onload = () => {
37
+ gl.bindTexture(gl.TEXTURE_2D, texture);
38
+ gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
39
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
40
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT);
41
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT);
42
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
43
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
44
+ gl.generateMipmap(gl.TEXTURE_2D);
45
+ };
46
+ image.src = url;
47
+ return texture;
48
+ }
49
+ function hexToRgb(hex) {
50
+ const h = hex.replace('#', '');
51
+ return [parseInt(h.slice(0, 2), 16) / 255, parseInt(h.slice(2, 4), 16) / 255, parseInt(h.slice(4, 6), 16) / 255];
52
+ }
53
+ function darkenRgb(rgb, factor) {
54
+ return [rgb[0] * factor, rgb[1] * factor, rgb[2] * factor];
55
+ }
56
+ export { createProgram, createShader, darkenRgb, hexToRgb, loadTexture };
57
+ //# sourceMappingURL=AnimatedBackground.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBackground.utils.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/AnimatedBackground.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { AnimatedBackground } from './AnimatedBackground';
2
+ export type { AnimatedBackgroundProps, AnimatedBackgroundVariant } from './AnimatedBackground.types';
@@ -0,0 +1,2 @@
1
+ export { AnimatedBackground } from './AnimatedBackground';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AnimatedBackground/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
package/dist/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export * from './components/MobileStoreBadges';
32
32
  export * from './components/Navbar';
33
33
  export * from './components/Notifications';
34
34
  export * from './components/UserMenu';
35
+ export * from './components/AnimatedBackground';
35
36
  export * from './components/Banner';
36
37
  export * from './components/WearablePreview';
37
38
  export * from './components/Profile';
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ export * from './components/MobileStoreBadges';
37
37
  export * from './components/Navbar';
38
38
  export * from './components/Notifications';
39
39
  export * from './components/UserMenu';
40
+ export * from './components/AnimatedBackground';
40
41
  export * from './components/Banner';
41
42
  export * from './components/WearablePreview';
42
43
  export * from './components/Profile';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-ui2",
3
- "version": "1.3.10",
3
+ "version": "1.3.11-23254548394.commit-0815e57",
4
4
  "description": "Decentraland's UI components and styles",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "peerDependencies": {
40
40
  "@contentful/rich-text-react-renderer": "^16.0.0",
41
- "@dcl/hooks": "^1.0.0",
41
+ "@dcl/hooks": "^1.2.1",
42
42
  "@dcl/schemas": "^25.1.0",
43
43
  "@dcl/ui-env": "^2.0.0",
44
44
  "lottie-react": "^2.4.0",
@@ -117,5 +117,5 @@
117
117
  "url": "https://github.com/decentraland/ui2/issues"
118
118
  },
119
119
  "homepage": "https://github.com/decentraland/ui2#readme",
120
- "commit": "18dff8164c999ad2d24710a52a1117aab9761eb1"
120
+ "commit": "0815e57aacd40b361beeedc3a72b4ce36b2eac1b"
121
121
  }