@razorpay/blade 12.95.0 → 12.95.2

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/build/lib/native/components/Card/Card.js +1 -1
  2. package/build/lib/native/components/Card/Card.js.map +1 -1
  3. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +1 -1
  4. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  5. package/build/lib/native/components/Spark/RazorSenseGradient/shader.js +10 -3
  6. package/build/lib/native/components/Spark/RazorSenseGradient/shader.js.map +1 -1
  7. package/build/lib/native/components/Spark/RzpGlass/RzpGlass.js +5 -4
  8. package/build/lib/native/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  9. package/build/lib/native/components/Spark/RzpGlass/RzpGlassMount.js +2 -1
  10. package/build/lib/native/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  11. package/build/lib/native/components/Spark/RzpGlass/rzpGlassShader.js +8 -5
  12. package/build/lib/native/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  13. package/build/lib/native/components/Spark/RzpGlass/utils.js +4 -2
  14. package/build/lib/native/components/Spark/RzpGlass/utils.js.map +1 -1
  15. package/build/lib/web/development/components/Card/Card.js +7 -1
  16. package/build/lib/web/development/components/Card/Card.js.map +1 -1
  17. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +0 -1
  18. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  19. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +1 -0
  20. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  21. package/build/lib/web/development/components/Modal/Modal.web.js +31 -28
  22. package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
  23. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js +1 -1
  24. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
  25. package/build/lib/web/development/components/Spark/RazorSenseGradient/shader.js +1 -1
  26. package/build/lib/web/development/components/Spark/RazorSenseGradient/shader.js.map +1 -1
  27. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js +14 -103
  28. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  29. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js +8 -6
  30. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  31. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
  32. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  33. package/build/lib/web/development/components/Spark/RzpGlass/utils.js +68 -1
  34. package/build/lib/web/development/components/Spark/RzpGlass/utils.js.map +1 -1
  35. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js +3 -2
  36. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  37. package/build/lib/web/production/_virtual/flatten.js +1 -1
  38. package/build/lib/web/production/_virtual/flatten3.js +1 -1
  39. package/build/lib/web/production/components/Card/Card.js +7 -1
  40. package/build/lib/web/production/components/Card/Card.js.map +1 -1
  41. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +0 -1
  42. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  43. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +1 -0
  44. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  45. package/build/lib/web/production/components/Modal/Modal.web.js +31 -28
  46. package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
  47. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js +1 -1
  48. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
  49. package/build/lib/web/production/components/Spark/RazorSenseGradient/shader.js +1 -1
  50. package/build/lib/web/production/components/Spark/RazorSenseGradient/shader.js.map +1 -1
  51. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js +14 -103
  52. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  53. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js +8 -6
  54. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  55. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
  56. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  57. package/build/lib/web/production/components/Spark/RzpGlass/utils.js +68 -1
  58. package/build/lib/web/production/components/Spark/RzpGlass/utils.js.map +1 -1
  59. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js +3 -2
  60. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  61. package/build/lib/web/production/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  62. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  63. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  64. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  65. package/build/types/components/index.d.ts +40 -0
  66. package/build/types/components/index.native.d.ts +39 -0
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\nimport type { IconComponent } from '~components/Icons';\nimport { isIconComponent } from '~utils/isIconComponent';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n const isIcon = typeof leading === 'function' && isIconComponent(leading);\n const Icon: IconComponent | undefined = isIcon ? leading : undefined;\n\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"small\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {Icon ? (\n <BaseBox display=\"flex\" alignItems=\"center\" paddingX=\"spacing.2\">\n <Icon size=\"medium\" color=\"interactive.icon.gray.subtle\" />\n </BaseBox>\n ) : (\n (leading as React.ReactNode)\n )}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","isIcon","isIconComponent","Icon","undefined","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","makeAnalyticsAttribute","Box","gap","size","color","className","classes","HIDE_WHEN_COLLAPSED","Text","truncateAfterLines","weight"],"mappings":"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"}
1
+ {"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\nimport type { IconComponent } from '~components/Icons';\nimport { isIconComponent } from '~utils/isIconComponent';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n const isIcon = typeof leading === 'function' && isIconComponent(leading);\n const Icon: IconComponent | undefined = isIcon ? leading : undefined;\n\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"small\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {Icon ? (\n <BaseBox display=\"flex\" alignItems=\"center\" paddingX=\"spacing.2\">\n <Icon size=\"medium\" color=\"interactive.icon.gray.subtle\" />\n </BaseBox>\n ) : (\n (leading as React.ReactNode)\n )}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"regular\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","isIcon","isIconComponent","Icon","undefined","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","makeAnalyticsAttribute","Box","gap","size","color","className","classes","HIDE_WHEN_COLLAPSED","Text","truncateAfterLines","weight"],"mappings":"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"}
@@ -12,7 +12,7 @@ var FLUID_GRADIENT_LOOP = 12.0;
12
12
  // vec3 c3 = vec3(0.08, 0.30, 0.78); // deep royal blue
13
13
  // vec3 c4 = vec3(0.10, 0.28, 0.72); // deep blue (not black)
14
14
 
15
- var fragmentShader = /* glsl */"\nprecision mediump float;\n\nuniform float uTime; // pre-wrapped: mod(raw, LOOP)\nuniform vec2 iResolution;\nuniform vec2 uOrigin; // gradient origin in UV space (0,0)=top-left (1,1)=bottom-right\nvarying vec2 vUv;\n\n// Cubic smoothstep inside each segment \u2014 no kink at stop boundaries\nvec3 gradientColor(float t) {\n t = clamp(t, 0.0, 1.0);\n vec3 c0 = vec3(0.682, 0.957, 0.831); // 174, 244, 212\n vec3 c1 = vec3(0.310, 0.882, 0.620); // 79, 225, 158\n vec3 c2 = vec3(0.306, 0.973, 0.910); // 78, 248, 232\n vec3 c3 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n vec3 c4 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n float s;\n if (t < 0.25) { s = smoothstep(0.0,1.0, t/0.25); return mix(c0,c1,s); }\n if (t < 0.55) { s = smoothstep(0.0,1.0,(t-0.25)/0.30); return mix(c1,c2,s); }\n if (t < 0.80) { s = smoothstep(0.0,1.0,(t-0.55)/0.25); return mix(c2,c3,s); }\n s = smoothstep(0.0,1.0,(t-0.80)/0.20); return mix(c3,c4,s);\n}\n\n// Value noise\nfloat hash(vec2 p) { return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }\nfloat vnoise(vec2 p) {\n vec2 i = floor(p), f = fract(p);\n vec2 u = f*f*(3.0-2.0*f);\n return mix(mix(hash(i),hash(i+vec2(1,0)),u.x), mix(hash(i+vec2(0,1)),hash(i+vec2(1,1)),u.x),u.y);\n}\n\nvoid main() {\n vec2 uv = vUv - uOrigin;\n float angle = atan(uv.y, uv.x);\n float r = length(uv);\n\n // Warp: traces a circle in noise space \u2192 exactly periodic in LOOP seconds.\n // speed = 2\u03C0 * n / LOOP (n integer \u2192 1 full orbit per loop)\n float ws = 6.2832 / 12.0; // 2\u03C0/LOOP \u2014 1 orbit in LOOP s\n float ws2 = ws * 2.0; // 2 orbits in LOOP s\n float warp =\n vnoise(vec2(cos(angle)*1.4 + sin(uTime*ws )*2.0, sin(angle)*1.4 + cos(uTime*ws )*2.0)) * 0.50 +\n vnoise(vec2(cos(angle)*2.6 + sin(uTime*ws2)*1.2, sin(angle)*2.6 + cos(uTime*ws2)*1.2)) * 0.25;\n float organicR = r + (warp - 0.45) * 0.04;\n\n // Three wave sines \u2014 speeds are 2\u03C0*n/LOOP (n=3,2,1) \u2192 integer cycles in LOOP s.\n // Spatial frequencies are irrational ratios so they never phase-lock into\n // distinct bands; the result is one broad, shifting swell.\n float s1 = 6.2832 * 3.0 / 12.0; // 3 cycles in LOOP s\n float s2 = 6.2832 * 2.0 / 12.0; // 2 cycles\n float s3 = 6.2832 * 1.0 / 12.0; // 1 cycle\n float w =\n sin(organicR * 4.80 - uTime * s1) * 0.55 +\n sin(organicR * 2.55 - uTime * s2) * 0.30 +\n sin(organicR * 1.45 - uTime * s3) * 0.15;\n\n float phase = w * 0.5 + 0.5;\n vec3 color = gradientColor(phase);\n\n float envelope = smoothstep(0.75, 0.42, r);\n float centerFill = smoothstep(0.06, 0.0, r);\n color = mix(color * envelope, gradientColor(0.0), centerFill);\n\n gl_FragColor = vec4(color, 1.0);\n}\n";
15
+ var fragmentShader = /* glsl */"\nprecision mediump float;\n\nuniform float uTime; // pre-wrapped: mod(raw, LOOP)\nuniform vec2 iResolution;\nuniform vec2 uOrigin; // gradient origin in UV space (0,0)=top-left (1,1)=bottom-right\nvarying vec2 vUv;\n\n// Cubic smoothstep inside each segment \u2014 no kink at stop boundaries\nvec3 gradientColor(float t) {\n t = clamp(t, 0.0, 1.0);\n vec3 c0 = vec3(0.682, 0.957, 0.831); // 174, 244, 212\n vec3 c1 = vec3(0.310, 0.882, 0.620); // 79, 225, 158\n vec3 c2 = vec3(0.306, 0.973, 0.910); // 78, 248, 232\n vec3 c3 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n vec3 c4 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n float s;\n if (t < 0.25) { s = smoothstep(0.0,1.0, t/0.25); return mix(c0,c1,s); }\n if (t < 0.55) { s = smoothstep(0.0,1.0,(t-0.25)/0.30); return mix(c1,c2,s); }\n if (t < 0.80) { s = smoothstep(0.0,1.0,(t-0.55)/0.25); return mix(c2,c3,s); }\n s = smoothstep(0.0,1.0,(t-0.80)/0.20); return mix(c3,c4,s);\n}\n\n// Value noise\nfloat hash(vec2 p) { return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }\nfloat vnoise(vec2 p) {\n vec2 i = floor(p), f = fract(p);\n vec2 u = f*f*(3.0-2.0*f);\n return mix(mix(hash(i),hash(i+vec2(1,0)),u.x), mix(hash(i+vec2(0,1)),hash(i+vec2(1,1)),u.x),u.y);\n}\n\nvoid main() {\n // Envelope controls: how the gradient fades from center outward\n const float FADE_OUTER_EDGE = 1.4; // distance where gradient fully fades to black\n const float FADE_INNER_EDGE = 0.4; // distance where gradient is at full opacity\n\n vec2 uv = vUv - uOrigin;\n float angle = atan(uv.y, uv.x);\n float r = length(uv);\n\n // Warp: traces a circle in noise space \u2192 exactly periodic in LOOP seconds.\n // speed = 2\u03C0 * n / LOOP (n integer \u2192 1 full orbit per loop)\n float ws = 6.2832 / 12.0; // 2\u03C0/LOOP \u2014 1 orbit in LOOP s\n float ws2 = ws * 2.0; // 2 orbits in LOOP s\n float warp =\n vnoise(vec2(cos(angle)*1.4 + sin(uTime*ws )*2.0, sin(angle)*1.4 + cos(uTime*ws )*2.0)) * 0.50 +\n vnoise(vec2(cos(angle)*2.6 + sin(uTime*ws2)*1.2, sin(angle)*2.6 + cos(uTime*ws2)*1.2)) * 0.25;\n float organicR = r + (warp - 0.45) * 0.04;\n\n // Three wave sines \u2014 speeds are 2\u03C0*n/LOOP (n=3,2,1) \u2192 integer cycles in LOOP s.\n // Spatial frequencies are irrational ratios so they never phase-lock into\n // distinct bands; the result is one broad, shifting swell.\n float s1 = 6.2832 * 3.0 / 12.0; // 3 cycles in LOOP s\n float s2 = 6.2832 * 2.0 / 12.0; // 2 cycles\n float s3 = 6.2832 * 1.0 / 12.0; // 1 cycle\n float w =\n sin(organicR * 4.80 - uTime * s1) * 0.55 +\n sin(organicR * 2.55 - uTime * s2) * 0.30 +\n sin(organicR * 1.45 - uTime * s3) * 0.15;\n\n float phase = w * 0.5 + 0.5;\n vec3 color = gradientColor(phase);\n\n float envelope = smoothstep(FADE_OUTER_EDGE, FADE_INNER_EDGE, r);\n color = color * envelope;\n\n // Film grain effect\n float grain = hash(vUv * 500.0 + fract(uTime * 0.5)) * 2.0 - 1.0;\n color += grain * 0.0002;\n\n gl_FragColor = vec4(color, 1.0);\n}\n";
16
16
 
17
17
  export { FLUID_GRADIENT_LOOP, fragmentShader };
18
18
  //# sourceMappingURL=shader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shader.js","sources":["../../../../../../../src/components/Spark/RazorSenseGradient/shader.ts"],"sourcesContent":["export const FLUID_GRADIENT_LOOP = 12.0;\n\n// vec3 c0 = vec3(0.55, 0.95, 0.75);\n// vec3 c1 = vec3(0.35, 0.90, 0.65);\n// vec3 c2 = vec3(0.20, 0.88, 0.70);\n// vec3 c3 = vec3(0.08, 0.82, 0.48);\n// vec3 c4 = vec3(0.04, 0.68, 0.30);\n\n// vec3 c0 = vec3(0.72, 0.92, 1.00); // light sky blue\n// vec3 c1 = vec3(0.38, 0.72, 0.98); // cornflower blue\n// vec3 c2 = vec3(0.16, 0.50, 0.92); // medium blue\n// vec3 c3 = vec3(0.08, 0.30, 0.78); // deep royal blue\n// vec3 c4 = vec3(0.10, 0.28, 0.72); // deep blue (not black)\n\nexport const fragmentShader = /* glsl */ `\nprecision mediump float;\n\nuniform float uTime; // pre-wrapped: mod(raw, LOOP)\nuniform vec2 iResolution;\nuniform vec2 uOrigin; // gradient origin in UV space (0,0)=top-left (1,1)=bottom-right\nvarying vec2 vUv;\n\n// Cubic smoothstep inside each segment — no kink at stop boundaries\nvec3 gradientColor(float t) {\n t = clamp(t, 0.0, 1.0);\n vec3 c0 = vec3(0.682, 0.957, 0.831); // 174, 244, 212\n vec3 c1 = vec3(0.310, 0.882, 0.620); // 79, 225, 158\n vec3 c2 = vec3(0.306, 0.973, 0.910); // 78, 248, 232\n vec3 c3 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n vec3 c4 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n float s;\n if (t < 0.25) { s = smoothstep(0.0,1.0, t/0.25); return mix(c0,c1,s); }\n if (t < 0.55) { s = smoothstep(0.0,1.0,(t-0.25)/0.30); return mix(c1,c2,s); }\n if (t < 0.80) { s = smoothstep(0.0,1.0,(t-0.55)/0.25); return mix(c2,c3,s); }\n s = smoothstep(0.0,1.0,(t-0.80)/0.20); return mix(c3,c4,s);\n}\n\n// Value noise\nfloat hash(vec2 p) { return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }\nfloat vnoise(vec2 p) {\n vec2 i = floor(p), f = fract(p);\n vec2 u = f*f*(3.0-2.0*f);\n return mix(mix(hash(i),hash(i+vec2(1,0)),u.x), mix(hash(i+vec2(0,1)),hash(i+vec2(1,1)),u.x),u.y);\n}\n\nvoid main() {\n vec2 uv = vUv - uOrigin;\n float angle = atan(uv.y, uv.x);\n float r = length(uv);\n\n // Warp: traces a circle in noise space → exactly periodic in LOOP seconds.\n // speed = 2π * n / LOOP (n integer → 1 full orbit per loop)\n float ws = 6.2832 / 12.0; // 2π/LOOP — 1 orbit in LOOP s\n float ws2 = ws * 2.0; // 2 orbits in LOOP s\n float warp =\n vnoise(vec2(cos(angle)*1.4 + sin(uTime*ws )*2.0, sin(angle)*1.4 + cos(uTime*ws )*2.0)) * 0.50 +\n vnoise(vec2(cos(angle)*2.6 + sin(uTime*ws2)*1.2, sin(angle)*2.6 + cos(uTime*ws2)*1.2)) * 0.25;\n float organicR = r + (warp - 0.45) * 0.04;\n\n // Three wave sines — speeds are 2π*n/LOOP (n=3,2,1) → integer cycles in LOOP s.\n // Spatial frequencies are irrational ratios so they never phase-lock into\n // distinct bands; the result is one broad, shifting swell.\n float s1 = 6.2832 * 3.0 / 12.0; // 3 cycles in LOOP s\n float s2 = 6.2832 * 2.0 / 12.0; // 2 cycles\n float s3 = 6.2832 * 1.0 / 12.0; // 1 cycle\n float w =\n sin(organicR * 4.80 - uTime * s1) * 0.55 +\n sin(organicR * 2.55 - uTime * s2) * 0.30 +\n sin(organicR * 1.45 - uTime * s3) * 0.15;\n\n float phase = w * 0.5 + 0.5;\n vec3 color = gradientColor(phase);\n\n float envelope = smoothstep(0.75, 0.42, r);\n float centerFill = smoothstep(0.06, 0.0, r);\n color = mix(color * envelope, gradientColor(0.0), centerFill);\n\n gl_FragColor = vec4(color, 1.0);\n}\n`;\n"],"names":["FLUID_GRADIENT_LOOP","fragmentShader"],"mappings":"AAAO,IAAMA,mBAAmB,GAAG,KAAI;;AAEvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO,IAAMC,cAAc,aAiE1B;;;;"}
1
+ {"version":3,"file":"shader.js","sources":["../../../../../../../src/components/Spark/RazorSenseGradient/shader.ts"],"sourcesContent":["export const FLUID_GRADIENT_LOOP = 12.0;\n\n// vec3 c0 = vec3(0.55, 0.95, 0.75);\n// vec3 c1 = vec3(0.35, 0.90, 0.65);\n// vec3 c2 = vec3(0.20, 0.88, 0.70);\n// vec3 c3 = vec3(0.08, 0.82, 0.48);\n// vec3 c4 = vec3(0.04, 0.68, 0.30);\n\n// vec3 c0 = vec3(0.72, 0.92, 1.00); // light sky blue\n// vec3 c1 = vec3(0.38, 0.72, 0.98); // cornflower blue\n// vec3 c2 = vec3(0.16, 0.50, 0.92); // medium blue\n// vec3 c3 = vec3(0.08, 0.30, 0.78); // deep royal blue\n// vec3 c4 = vec3(0.10, 0.28, 0.72); // deep blue (not black)\n\nexport const fragmentShader = /* glsl */ `\nprecision mediump float;\n\nuniform float uTime; // pre-wrapped: mod(raw, LOOP)\nuniform vec2 iResolution;\nuniform vec2 uOrigin; // gradient origin in UV space (0,0)=top-left (1,1)=bottom-right\nvarying vec2 vUv;\n\n// Cubic smoothstep inside each segment — no kink at stop boundaries\nvec3 gradientColor(float t) {\n t = clamp(t, 0.0, 1.0);\n vec3 c0 = vec3(0.682, 0.957, 0.831); // 174, 244, 212\n vec3 c1 = vec3(0.310, 0.882, 0.620); // 79, 225, 158\n vec3 c2 = vec3(0.306, 0.973, 0.910); // 78, 248, 232\n vec3 c3 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n vec3 c4 = vec3(0.004, 0.753, 0.443); // 1, 192, 113\n float s;\n if (t < 0.25) { s = smoothstep(0.0,1.0, t/0.25); return mix(c0,c1,s); }\n if (t < 0.55) { s = smoothstep(0.0,1.0,(t-0.25)/0.30); return mix(c1,c2,s); }\n if (t < 0.80) { s = smoothstep(0.0,1.0,(t-0.55)/0.25); return mix(c2,c3,s); }\n s = smoothstep(0.0,1.0,(t-0.80)/0.20); return mix(c3,c4,s);\n}\n\n// Value noise\nfloat hash(vec2 p) { return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }\nfloat vnoise(vec2 p) {\n vec2 i = floor(p), f = fract(p);\n vec2 u = f*f*(3.0-2.0*f);\n return mix(mix(hash(i),hash(i+vec2(1,0)),u.x), mix(hash(i+vec2(0,1)),hash(i+vec2(1,1)),u.x),u.y);\n}\n\nvoid main() {\n // Envelope controls: how the gradient fades from center outward\n const float FADE_OUTER_EDGE = 1.4; // distance where gradient fully fades to black\n const float FADE_INNER_EDGE = 0.4; // distance where gradient is at full opacity\n\n vec2 uv = vUv - uOrigin;\n float angle = atan(uv.y, uv.x);\n float r = length(uv);\n\n // Warp: traces a circle in noise space → exactly periodic in LOOP seconds.\n // speed = 2π * n / LOOP (n integer → 1 full orbit per loop)\n float ws = 6.2832 / 12.0; // 2π/LOOP — 1 orbit in LOOP s\n float ws2 = ws * 2.0; // 2 orbits in LOOP s\n float warp =\n vnoise(vec2(cos(angle)*1.4 + sin(uTime*ws )*2.0, sin(angle)*1.4 + cos(uTime*ws )*2.0)) * 0.50 +\n vnoise(vec2(cos(angle)*2.6 + sin(uTime*ws2)*1.2, sin(angle)*2.6 + cos(uTime*ws2)*1.2)) * 0.25;\n float organicR = r + (warp - 0.45) * 0.04;\n\n // Three wave sines — speeds are 2π*n/LOOP (n=3,2,1) → integer cycles in LOOP s.\n // Spatial frequencies are irrational ratios so they never phase-lock into\n // distinct bands; the result is one broad, shifting swell.\n float s1 = 6.2832 * 3.0 / 12.0; // 3 cycles in LOOP s\n float s2 = 6.2832 * 2.0 / 12.0; // 2 cycles\n float s3 = 6.2832 * 1.0 / 12.0; // 1 cycle\n float w =\n sin(organicR * 4.80 - uTime * s1) * 0.55 +\n sin(organicR * 2.55 - uTime * s2) * 0.30 +\n sin(organicR * 1.45 - uTime * s3) * 0.15;\n\n float phase = w * 0.5 + 0.5;\n vec3 color = gradientColor(phase);\n\n float envelope = smoothstep(FADE_OUTER_EDGE, FADE_INNER_EDGE, r);\n color = color * envelope;\n\n // Film grain effect\n float grain = hash(vUv * 500.0 + fract(uTime * 0.5)) * 2.0 - 1.0;\n color += grain * 0.0002;\n\n gl_FragColor = vec4(color, 1.0);\n}\n`;\n"],"names":["FLUID_GRADIENT_LOOP","fragmentShader"],"mappings":"AAAO,IAAMA,mBAAmB,GAAG,KAAI;;AAEvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO,IAAMC,cAAc,aAwE1B;;;;"}
@@ -1,110 +1,21 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
1
2
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
3
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
5
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
6
6
  import _regeneratorRuntime from '@babel/runtime/regenerator';
7
- import { useCallback, forwardRef, useState, useRef, useEffect } from 'react';
7
+ import { forwardRef, useState, useRef, useEffect } from 'react';
8
8
  import { RzpGlassMount } from './RzpGlassMount.js';
9
- import { getPresets } from './presets.js';
9
+ import { DEFAULT_CDN_PATH, getDefaultAssets, getPresetAssets, resolveConfig } from './utils.js';
10
+ import { useMergeRefs } from '../../../utils/useMergeRefs.js';
10
11
  import { jsx } from 'react/jsx-runtime';
11
12
 
12
- var _excluded = ["width", "height", "className", "style", "onLoad", "onError", "preset", "assetsPath", "gradientMapSrc", "gradientMap2Src", "gradientMapCanvas", "imageSrc"],
13
- _excluded2 = ["width", "height", "className", "style", "onLoad", "onError", "assetsPath", "gradientMapCanvas", "gradientMapSrc", "gradientMap2Src", "imageSrc"];
13
+ var _excluded = ["width", "height", "className", "style", "onLoad", "onError", "assetsPath", "gradientMapCanvas", "gradientMapSrc", "gradientMap2Src", "imageSrc"];
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- // Duration of the component's built-in fade-in transition.
17
- // The video is kept paused during this window so one-shot animations
18
- // (e.g. circleSlideUp) don't "waste" frames while the canvas is invisible.
19
16
  var FADE_IN_MS = 200;
20
- var DEFAULT_CDN_PATH = 'https://cdn.jsdelivr.net/npm/@razorpay/blade/assets/spark';
21
- var getDefaultAssets = function getDefaultAssets(assetsPath) {
22
- return {
23
- videoSrc: "".concat(assetsPath, "/spark-base-video.mp4"),
24
- imageSrc: "".concat(assetsPath, "/bottom-frame.jpg"),
25
- gradientMapSrc: "".concat(assetsPath, "/colorama-gradient-map-green.jpg"),
26
- gradientMap2Src: "".concat(assetsPath, "/colorama-gradient-map-blue.jpg"),
27
- centerGradientMapSrc: "".concat(assetsPath, "/colorama-center-gradient-map.jpg")
28
- };
29
- };
30
-
31
- /**
32
- * Hook to merge multiple refs into one
33
- */
34
- function useMergeRefs(refs) {
35
- return useCallback(function (value) {
36
- refs.forEach(function (ref) {
37
- if (typeof ref === 'function') {
38
- ref(value);
39
- } else if (ref != null) {
40
- ref.current = value;
41
- }
42
- });
43
- }, [refs]);
44
- }
45
-
46
- /**
47
- * Extract config from props (exclude non-config props).
48
- * Strips undefined values so they don't clobber preset defaults.
49
- */
50
- function extractConfig(props) {
51
- var _width = props.width,
52
- _height = props.height,
53
- _className = props.className,
54
- _style = props.style,
55
- _onLoad = props.onLoad,
56
- _onError = props.onError,
57
- _preset = props.preset,
58
- _assetsPath = props.assetsPath,
59
- _gradientMapSrc = props.gradientMapSrc,
60
- _gradientMap2Src = props.gradientMap2Src,
61
- _gradientMapCanvas = props.gradientMapCanvas,
62
- _imageSrc = props.imageSrc,
63
- config = _objectWithoutProperties(props, _excluded);
64
-
65
- // Drop keys with undefined values so preset config isn't overridden by unset props
66
- return Object.fromEntries(
67
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
68
- Object.entries(config).filter(function (_ref) {
69
- var _ref2 = _slicedToArray(_ref, 2),
70
- v = _ref2[1];
71
- return v !== undefined;
72
- }));
73
- }
74
- var ASSET_KEYS = new Set(['videoSrc', 'imageSrc', 'gradientMapSrc', 'gradientMap2Src', 'centerGradientMapSrc']);
75
-
76
- /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return */
77
- function getPresetDefinition(preset, assetsPath) {
78
- var presets = getPresets(assetsPath);
79
- if (preset && preset in presets) return _objectSpread({}, presets[preset]);
80
- return {};
81
- }
82
- function getPresetConfig(preset, assetsPath) {
83
- var def = getPresetDefinition(preset, assetsPath);
84
- return Object.fromEntries(Object.entries(def).filter(function (_ref3) {
85
- var _ref4 = _slicedToArray(_ref3, 1),
86
- k = _ref4[0];
87
- return !ASSET_KEYS.has(k);
88
- }));
89
- }
90
- function getPresetAssets(preset, assetsPath) {
91
- var def = getPresetDefinition(preset, assetsPath);
92
- return Object.fromEntries(Object.entries(def).filter(function (_ref5) {
93
- var _ref6 = _slicedToArray(_ref5, 1),
94
- k = _ref6[0];
95
- return ASSET_KEYS.has(k);
96
- }));
97
- }
98
-
99
- /**
100
- * Merge preset config with user-provided config.
101
- * Preset values are used as base; any explicit prop overrides them.
102
- */
103
- function resolveConfig(props, assetsPath) {
104
- return _objectSpread(_objectSpread({}, getPresetConfig(props.preset, assetsPath)), extractConfig(props));
105
- }
106
17
  var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
107
- var _presetAssets$videoSr, _ref7, _ref8, _presetAssets$centerG, _configProps$edgeFeat;
18
+ var _presetAssets$videoSr, _ref, _ref2, _presetAssets$centerG, _configProps$edgeFeat;
108
19
  var _props$width = props.width,
109
20
  width = _props$width === void 0 ? '100%' : _props$width,
110
21
  _props$height = props.height,
@@ -118,7 +29,7 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
118
29
  gradientMapSrcProp = props.gradientMapSrc,
119
30
  gradientMap2SrcProp = props.gradientMap2Src,
120
31
  imageSrcProp = props.imageSrc,
121
- configProps = _objectWithoutProperties(props, _excluded2);
32
+ configProps = _objectWithoutProperties(props, _excluded);
122
33
 
123
34
  // Get default assets based on assetsPath
124
35
  var assetsPath = assetsPathProp !== null && assetsPathProp !== void 0 ? assetsPathProp : DEFAULT_CDN_PATH;
@@ -128,8 +39,8 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
128
39
  var presetAssets = getPresetAssets(props.preset, assetsPath);
129
40
  var imageSrc = imageSrcProp !== null && imageSrcProp !== void 0 ? imageSrcProp : presetAssets.imageSrc;
130
41
  var videoSrc = imageSrc ? undefined : (_presetAssets$videoSr = presetAssets.videoSrc) !== null && _presetAssets$videoSr !== void 0 ? _presetAssets$videoSr : defaultAssets.videoSrc;
131
- var gradientMapSrc = (_ref7 = gradientMapSrcProp !== null && gradientMapSrcProp !== void 0 ? gradientMapSrcProp : presetAssets.gradientMapSrc) !== null && _ref7 !== void 0 ? _ref7 : defaultAssets.gradientMapSrc;
132
- var gradientMap2Src = (_ref8 = gradientMap2SrcProp !== null && gradientMap2SrcProp !== void 0 ? gradientMap2SrcProp : presetAssets.gradientMap2Src) !== null && _ref8 !== void 0 ? _ref8 : defaultAssets.gradientMap2Src;
42
+ var gradientMapSrc = (_ref = gradientMapSrcProp !== null && gradientMapSrcProp !== void 0 ? gradientMapSrcProp : presetAssets.gradientMapSrc) !== null && _ref !== void 0 ? _ref : defaultAssets.gradientMapSrc;
43
+ var gradientMap2Src = (_ref2 = gradientMap2SrcProp !== null && gradientMap2SrcProp !== void 0 ? gradientMap2SrcProp : presetAssets.gradientMap2Src) !== null && _ref2 !== void 0 ? _ref2 : defaultAssets.gradientMap2Src;
133
44
  var centerGradientMapSrc = (_presetAssets$centerG = presetAssets.centerGradientMapSrc) !== null && _presetAssets$centerG !== void 0 ? _presetAssets$centerG : defaultAssets.centerGradientMapSrc;
134
45
  var _useState = useState(false),
135
46
  _useState2 = _slicedToArray(_useState, 2),
@@ -145,7 +56,7 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
145
56
  // Initialize on mount
146
57
  useEffect(function () {
147
58
  var init = /*#__PURE__*/function () {
148
- var _ref9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
59
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
149
60
  var _config$paused, config, userWantsPaused, _error, _t;
150
61
  return _regeneratorRuntime.wrap(function (_context) {
151
62
  while (1) switch (_context.prev = _context.next) {
@@ -200,7 +111,7 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
200
111
  }, _callee, null, [[1, 3]]);
201
112
  }));
202
113
  return function init() {
203
- return _ref9.apply(this, arguments);
114
+ return _ref3.apply(this, arguments);
204
115
  };
205
116
  }();
206
117
  void init();
@@ -246,7 +157,7 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
246
157
  mountRef.current.updateGradientMapTexture(gradientMapCanvas);
247
158
  }
248
159
  }, [isInitialized, gradientMapCanvas]);
249
- var mergedRef = useMergeRefs([divRef, forwardedRef]);
160
+ var mergedRef = useMergeRefs(forwardedRef, divRef);
250
161
 
251
162
  // Convert width/height to string if number
252
163
  var widthStyle = typeof width === 'number' ? "".concat(width, "px") : width;
@@ -270,7 +181,7 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
270
181
  position: 'relative',
271
182
  overflow: 'hidden',
272
183
  backgroundColor: 'transparent',
273
- transition: '2s opacity'
184
+ transition: "".concat(FADE_IN_MS, "ms opacity")
274
185
  }, isInitialized ? {
275
186
  opacity: 1
276
187
  } : {
@@ -279,5 +190,5 @@ var RzpGlass = /*#__PURE__*/forwardRef(function RzpGlass(props, forwardedRef) {
279
190
  });
280
191
  });
281
192
 
282
- export { RzpGlass, RzpGlass as default };
193
+ export { RzpGlass };
283
194
  //# sourceMappingURL=RzpGlass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RzpGlass.js","sources":["../../../../../../../src/components/Spark/RzpGlass/RzpGlass.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable react/react-in-jsx-scope */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable @typescript-eslint/no-implicit-any-catch */\n/* eslint-disable @typescript-eslint/no-shadow */\n/**\n * RzpGlass React Component\n *\n * A React wrapper for the RzpGlassMount WebGL shader effect.\n * Manages the component lifecycle with useEffect hooks.\n *\n * @example\n * ```tsx\n * // Uses default assets and config\n * <RzpGlass width=\"400px\" height=\"300px\" />\n *\n * // With custom assets\n * <RzpGlass\n * videoSrc=\"/custom_video.mp4\"\n * gradientMapSrc=\"/custom-gradient.jpg\"\n * enableBloom={true}\n * />\n * ```\n */\n\nimport { forwardRef, useEffect, useRef, useState, useCallback } from 'react';\nimport { RzpGlassMount } from './RzpGlassMount';\nimport type {\n RzpGlassProps,\n RzpGlassConfig,\n RzpGlassAssets,\n RzpGlassPresetDefinition,\n} from './types';\nimport { getPresets } from './presets';\nimport type { RzpGlassPreset } from './presets';\n\n// Duration of the component's built-in fade-in transition.\n// The video is kept paused during this window so one-shot animations\n// (e.g. circleSlideUp) don't \"waste\" frames while the canvas is invisible.\nconst FADE_IN_MS = 200;\n\nconst DEFAULT_CDN_PATH = 'https://cdn.jsdelivr.net/npm/@razorpay/blade/assets/spark';\n\nconst getDefaultAssets = (assetsPath: string): Required<RzpGlassAssets> => ({\n videoSrc: `${assetsPath}/spark-base-video.mp4`,\n imageSrc: `${assetsPath}/bottom-frame.jpg`,\n gradientMapSrc: `${assetsPath}/colorama-gradient-map-green.jpg`,\n gradientMap2Src: `${assetsPath}/colorama-gradient-map-blue.jpg`,\n centerGradientMapSrc: `${assetsPath}/colorama-center-gradient-map.jpg`,\n});\n\n/**\n * Hook to merge multiple refs into one\n */\nfunction useMergeRefs<T>(refs: (React.Ref<T> | undefined)[]): React.RefCallback<T> {\n return useCallback(\n (value: T) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n });\n },\n [refs],\n );\n}\n\n/**\n * Extract config from props (exclude non-config props).\n * Strips undefined values so they don't clobber preset defaults.\n */\nfunction extractConfig(props: RzpGlassProps): Partial<RzpGlassConfig> {\n const {\n width: _width,\n height: _height,\n className: _className,\n style: _style,\n onLoad: _onLoad,\n onError: _onError,\n preset: _preset,\n assetsPath: _assetsPath,\n gradientMapSrc: _gradientMapSrc,\n gradientMap2Src: _gradientMap2Src,\n gradientMapCanvas: _gradientMapCanvas,\n imageSrc: _imageSrc,\n ...config\n } = props;\n\n // Drop keys with undefined values so preset config isn't overridden by unset props\n return Object.fromEntries(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n Object.entries(config).filter(([, v]) => v !== undefined),\n ) as Partial<RzpGlassConfig>;\n}\n\nconst ASSET_KEYS = new Set<string>([\n 'videoSrc',\n 'imageSrc',\n 'gradientMapSrc',\n 'gradientMap2Src',\n 'centerGradientMapSrc',\n]);\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return */\nfunction getPresetDefinition(\n preset: RzpGlassPreset | undefined,\n assetsPath: string,\n): RzpGlassPresetDefinition {\n const presets = getPresets(assetsPath);\n if (preset && preset in presets) return { ...presets[preset] };\n return {};\n}\n\nfunction getPresetConfig(\n preset: RzpGlassPreset | undefined,\n assetsPath: string,\n): Partial<RzpGlassConfig> {\n const def = getPresetDefinition(preset, assetsPath) as Record<string, unknown>;\n return Object.fromEntries(\n Object.entries(def).filter(([k]) => !ASSET_KEYS.has(k)),\n ) as Partial<RzpGlassConfig>;\n}\n\nfunction getPresetAssets(\n preset: RzpGlassPreset | undefined,\n assetsPath: string,\n): Partial<RzpGlassAssets> {\n const def = getPresetDefinition(preset, assetsPath) as Record<string, unknown>;\n return Object.fromEntries(\n Object.entries(def).filter(([k]) => ASSET_KEYS.has(k)),\n ) as Partial<RzpGlassAssets>;\n}\n\n/**\n * Merge preset config with user-provided config.\n * Preset values are used as base; any explicit prop overrides them.\n */\nfunction resolveConfig(props: RzpGlassProps, assetsPath: string): Partial<RzpGlassConfig> {\n return {\n ...getPresetConfig(props.preset, assetsPath),\n ...extractConfig(props),\n };\n}\n\nexport const RzpGlass = forwardRef<HTMLDivElement, RzpGlassProps>(function RzpGlass(\n props,\n forwardedRef,\n) {\n const {\n width = '100%',\n height = '100%',\n className,\n style,\n onLoad,\n onError,\n assetsPath: assetsPathProp,\n gradientMapCanvas,\n gradientMapSrc: gradientMapSrcProp,\n gradientMap2Src: gradientMap2SrcProp,\n imageSrc: imageSrcProp,\n ...configProps\n } = props;\n\n // Get default assets based on assetsPath\n const assetsPath: string = assetsPathProp ?? DEFAULT_CDN_PATH;\n const defaultAssets = getDefaultAssets(assetsPath);\n\n // Resolve assets: prop overrides preset, preset overrides default\n const presetAssets = getPresetAssets(props.preset, assetsPath);\n const imageSrc = imageSrcProp ?? presetAssets.imageSrc;\n const videoSrc = imageSrc ? undefined : presetAssets.videoSrc ?? defaultAssets.videoSrc;\n const gradientMapSrc =\n gradientMapSrcProp ?? presetAssets.gradientMapSrc ?? defaultAssets.gradientMapSrc;\n const gradientMap2Src =\n gradientMap2SrcProp ?? presetAssets.gradientMap2Src ?? defaultAssets.gradientMap2Src;\n const centerGradientMapSrc =\n presetAssets.centerGradientMapSrc ?? defaultAssets.centerGradientMapSrc;\n\n const [isInitialized, setIsInitialized] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const divRef = useRef<HTMLDivElement>(null);\n const mountRef = useRef<RzpGlassMount | null>(null);\n\n // Initialize on mount\n useEffect(() => {\n const init = async () => {\n if (!divRef.current || mountRef.current) return;\n\n try {\n const config = resolveConfig(props, assetsPath);\n\n mountRef.current = new RzpGlassMount(\n divRef.current,\n {\n videoSrc,\n imageSrc,\n gradientMapSrc,\n gradientMap2Src,\n centerGradientMapSrc,\n },\n config,\n );\n\n await mountRef.current.loadAssets();\n\n // Pause the video during the CSS fade-in so one-shot animations\n // don't burn frames while the component is still transparent.\n // Only do this when the consumer hasn't explicitly set paused: true.\n const userWantsPaused = config.paused ?? false;\n if (!userWantsPaused) {\n mountRef.current.pause();\n }\n\n setIsInitialized(true); // kicks off the CSS opacity 0 → 1 transition\n\n // After the fade-in completes, resume video and notify the consumer.\n setTimeout(() => {\n if (!mountRef.current) return;\n if (!userWantsPaused) {\n mountRef.current.play();\n }\n onLoad?.();\n }, FADE_IN_MS);\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n setError(error);\n onError?.(error);\n }\n };\n\n void init();\n\n return () => {\n mountRef.current?.dispose();\n mountRef.current = null;\n setIsInitialized(false);\n };\n }, [\n assetsPath,\n videoSrc,\n imageSrc,\n gradientMapSrc,\n gradientMap2Src,\n centerGradientMapSrc,\n configProps.preset,\n ]);\n\n // Update uniforms when config props change\n useEffect(() => {\n if (isInitialized && mountRef.current) {\n const config = resolveConfig(props, assetsPath);\n mountRef.current.setUniforms(config);\n }\n }, [\n isInitialized,\n configProps.preset,\n // Colorama\n configProps.inputMin,\n configProps.inputMax,\n configProps.modifyGamma,\n configProps.posterizeLevels,\n configProps.cycleRepetitions,\n configProps.phaseShift,\n configProps.cycleSpeed,\n configProps.wrapMode,\n configProps.reverse,\n configProps.blendWithOriginal,\n // Displacement\n configProps.numSegments,\n configProps.slitAngle,\n configProps.displacementX,\n configProps.displacementY,\n // Center element\n configProps.enableCenterElement,\n configProps.centerAnimDuration,\n // Color correction\n configProps.ccBlackPoint,\n configProps.ccWhitePoint,\n configProps.ccMidtoneGamma,\n configProps.ccGamma,\n configProps.ccContrast,\n // Zoom & Pan\n configProps.zoom,\n configProps.panX,\n configProps.panY,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...(configProps.edgeFeather ?? [0, 0, 0, 0]),\n // Effect toggles\n configProps.enableDisplacement,\n configProps.enableColorama,\n configProps.enableBloom,\n configProps.enableLightSweep,\n // Light\n configProps.lightIntensity,\n configProps.lightStartFrame,\n // Playback\n configProps.paused,\n configProps.startTime,\n configProps.endTime,\n configProps.animateLightIndependently,\n // Cycle animation\n configProps.animateCycleReps,\n configProps.cycleRepetitionsStart,\n configProps.cycleRepetitionsEnd,\n configProps.cycleRepetitionsStartFrame,\n configProps.cycleRepetitionsDuration,\n // Gradient map blend\n configProps.gradientMapBlend,\n configProps.gradientMapBlendDuration,\n ]);\n\n // Update gradient map texture when a canvas is provided\n useEffect(() => {\n if (isInitialized && mountRef.current && gradientMapCanvas) {\n mountRef.current.updateGradientMapTexture(gradientMapCanvas);\n }\n }, [isInitialized, gradientMapCanvas]);\n\n const mergedRef = useMergeRefs([divRef, forwardedRef]);\n\n // Convert width/height to string if number\n const widthStyle = typeof width === 'number' ? `${width}px` : width;\n const heightStyle = typeof height === 'number' ? `${height}px` : height;\n\n if (error) {\n return (\n <div\n ref={mergedRef}\n className={className}\n style={{\n width: widthStyle,\n height: heightStyle,\n ...style,\n }}\n />\n );\n }\n\n return (\n <div\n ref={mergedRef}\n className={className}\n style={{\n width: widthStyle,\n height: heightStyle,\n position: 'relative',\n overflow: 'hidden',\n backgroundColor: 'transparent',\n transition: '2s opacity',\n ...(isInitialized ? { opacity: 1 } : { opacity: 0 }),\n ...style,\n }}\n />\n );\n});\n\nexport default RzpGlass;\n"],"names":["FADE_IN_MS","DEFAULT_CDN_PATH","getDefaultAssets","assetsPath","videoSrc","concat","imageSrc","gradientMapSrc","gradientMap2Src","centerGradientMapSrc","useMergeRefs","refs","useCallback","value","forEach","ref","current","extractConfig","props","_width","width","_height","height","_className","className","_style","style","_onLoad","onLoad","_onError","onError","_preset","preset","_assetsPath","_gradientMapSrc","_gradientMap2Src","_gradientMapCanvas","gradientMapCanvas","_imageSrc","config","_objectWithoutProperties","_excluded","Object","fromEntries","entries","filter","_ref","_ref2","_slicedToArray","v","undefined","ASSET_KEYS","Set","getPresetDefinition","presets","getPresets","_objectSpread","getPresetConfig","def","_ref3","_ref4","k","has","getPresetAssets","_ref5","_ref6","resolveConfig","RzpGlass","forwardRef","forwardedRef","_presetAssets$videoSr","_ref7","_ref8","_presetAssets$centerG","_configProps$edgeFeat","_props$width","_props$height","assetsPathProp","gradientMapSrcProp","gradientMap2SrcProp","imageSrcProp","configProps","_excluded2","defaultAssets","presetAssets","_useState","useState","_useState2","isInitialized","setIsInitialized","_useState3","_useState4","error","setError","divRef","useRef","mountRef","useEffect","init","_ref9","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_config$paused","userWantsPaused","_error","_t","wrap","_context","prev","next","abrupt","RzpGlassMount","loadAssets","paused","pause","setTimeout","play","Error","String","stop","apply","arguments","_mountRef$current","dispose","setUniforms","inputMin","inputMax","modifyGamma","posterizeLevels","cycleRepetitions","phaseShift","cycleSpeed","wrapMode","reverse","blendWithOriginal","numSegments","slitAngle","displacementX","displacementY","enableCenterElement","centerAnimDuration","ccBlackPoint","ccWhitePoint","ccMidtoneGamma","ccGamma","ccContrast","zoom","panX","panY","_toConsumableArray","edgeFeather","enableDisplacement","enableColorama","enableBloom","enableLightSweep","lightIntensity","lightStartFrame","startTime","endTime","animateLightIndependently","animateCycleReps","cycleRepetitionsStart","cycleRepetitionsEnd","cycleRepetitionsStartFrame","cycleRepetitionsDuration","gradientMapBlend","gradientMapBlendDuration","updateGradientMapTexture","mergedRef","widthStyle","heightStyle","_jsx","position","overflow","backgroundColor","transition","opacity"],"mappings":"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"}
1
+ {"version":3,"file":"RzpGlass.js","sources":["../../../../../../../src/components/Spark/RzpGlass/RzpGlass.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable react/react-in-jsx-scope */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable @typescript-eslint/no-implicit-any-catch */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport { RzpGlassMount } from './RzpGlassMount';\nimport type { RzpGlassProps } from './types';\nimport { DEFAULT_CDN_PATH, getDefaultAssets, getPresetAssets, resolveConfig } from './utils';\nimport { useMergeRefs } from '~utils/useMergeRefs';\n\n// Duration of the component's built-in fade-in transition.\n// The video is kept paused during this window so one-shot animations\n// (e.g. circleSlideUp) don't \"waste\" frames while the canvas is invisible.\nconst FADE_IN_MS = 200;\n\nconst RzpGlass = forwardRef<HTMLDivElement, RzpGlassProps>(function RzpGlass(props, forwardedRef) {\n const {\n width = '100%',\n height = '100%',\n className,\n style,\n onLoad,\n onError,\n assetsPath: assetsPathProp,\n gradientMapCanvas,\n gradientMapSrc: gradientMapSrcProp,\n gradientMap2Src: gradientMap2SrcProp,\n imageSrc: imageSrcProp,\n ...configProps\n } = props;\n\n // Get default assets based on assetsPath\n const assetsPath: string = assetsPathProp ?? DEFAULT_CDN_PATH;\n const defaultAssets = getDefaultAssets(assetsPath);\n\n // Resolve assets: prop overrides preset, preset overrides default\n const presetAssets = getPresetAssets(props.preset, assetsPath);\n const imageSrc = imageSrcProp ?? presetAssets.imageSrc;\n const videoSrc = imageSrc ? undefined : presetAssets.videoSrc ?? defaultAssets.videoSrc;\n const gradientMapSrc =\n gradientMapSrcProp ?? presetAssets.gradientMapSrc ?? defaultAssets.gradientMapSrc;\n const gradientMap2Src =\n gradientMap2SrcProp ?? presetAssets.gradientMap2Src ?? defaultAssets.gradientMap2Src;\n const centerGradientMapSrc =\n presetAssets.centerGradientMapSrc ?? defaultAssets.centerGradientMapSrc;\n\n const [isInitialized, setIsInitialized] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const divRef = useRef<HTMLDivElement>(null);\n const mountRef = useRef<RzpGlassMount | null>(null);\n\n // Initialize on mount\n useEffect(() => {\n const init = async () => {\n if (!divRef.current || mountRef.current) return;\n\n try {\n const config = resolveConfig(props, assetsPath);\n\n mountRef.current = new RzpGlassMount(\n divRef.current,\n {\n videoSrc,\n imageSrc,\n gradientMapSrc,\n gradientMap2Src,\n centerGradientMapSrc,\n },\n config,\n );\n\n await mountRef.current.loadAssets();\n\n // Pause the video during the CSS fade-in so one-shot animations\n // don't burn frames while the component is still transparent.\n // Only do this when the consumer hasn't explicitly set paused: true.\n const userWantsPaused = config.paused ?? false;\n if (!userWantsPaused) {\n mountRef.current.pause();\n }\n\n setIsInitialized(true); // kicks off the CSS opacity 0 → 1 transition\n\n // After the fade-in completes, resume video and notify the consumer.\n setTimeout(() => {\n if (!mountRef.current) return;\n if (!userWantsPaused) {\n mountRef.current.play();\n }\n onLoad?.();\n }, FADE_IN_MS);\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n setError(error);\n onError?.(error);\n }\n };\n\n void init();\n\n return () => {\n mountRef.current?.dispose();\n mountRef.current = null;\n setIsInitialized(false);\n };\n }, [assetsPath, videoSrc, imageSrc, gradientMapSrc, gradientMap2Src, centerGradientMapSrc, configProps.preset]);\n\n // Update uniforms when config props change\n useEffect(() => {\n if (isInitialized && mountRef.current) {\n const config = resolveConfig(props, assetsPath);\n mountRef.current.setUniforms(config);\n }\n }, [\n isInitialized,\n configProps.preset,\n // Colorama\n configProps.inputMin,\n configProps.inputMax,\n configProps.modifyGamma,\n configProps.posterizeLevels,\n configProps.cycleRepetitions,\n configProps.phaseShift,\n configProps.cycleSpeed,\n configProps.wrapMode,\n configProps.reverse,\n configProps.blendWithOriginal,\n // Displacement\n configProps.numSegments,\n configProps.slitAngle,\n configProps.displacementX,\n configProps.displacementY,\n // Center element\n configProps.enableCenterElement,\n configProps.centerAnimDuration,\n // Color correction\n configProps.ccBlackPoint,\n configProps.ccWhitePoint,\n configProps.ccMidtoneGamma,\n configProps.ccGamma,\n configProps.ccContrast,\n // Zoom & Pan\n configProps.zoom,\n configProps.panX,\n configProps.panY,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...(configProps.edgeFeather ?? [0, 0, 0, 0]),\n // Effect toggles\n configProps.enableDisplacement,\n configProps.enableColorama,\n configProps.enableBloom,\n configProps.enableLightSweep,\n // Light\n configProps.lightIntensity,\n configProps.lightStartFrame,\n // Playback\n configProps.paused,\n configProps.startTime,\n configProps.endTime,\n configProps.animateLightIndependently,\n // Cycle animation\n configProps.animateCycleReps,\n configProps.cycleRepetitionsStart,\n configProps.cycleRepetitionsEnd,\n configProps.cycleRepetitionsStartFrame,\n configProps.cycleRepetitionsDuration,\n // Gradient map blend\n configProps.gradientMapBlend,\n configProps.gradientMapBlendDuration,\n ]);\n\n // Update gradient map texture when a canvas is provided\n useEffect(() => {\n if (isInitialized && mountRef.current && gradientMapCanvas) {\n mountRef.current.updateGradientMapTexture(gradientMapCanvas);\n }\n }, [isInitialized, gradientMapCanvas]);\n\n const mergedRef = useMergeRefs(forwardedRef, divRef);\n\n // Convert width/height to string if number\n const widthStyle = typeof width === 'number' ? `${width}px` : width;\n const heightStyle = typeof height === 'number' ? `${height}px` : height;\n\n if (error) {\n return (\n <div\n ref={mergedRef}\n className={className}\n style={{\n width: widthStyle,\n height: heightStyle,\n ...style,\n }}\n />\n );\n }\n\n return (\n <div\n ref={mergedRef}\n className={className}\n style={{\n width: widthStyle,\n height: heightStyle,\n position: 'relative',\n overflow: 'hidden',\n backgroundColor: 'transparent',\n transition: `${FADE_IN_MS}ms opacity`,\n ...(isInitialized ? { opacity: 1 } : { opacity: 0 }),\n ...style,\n }}\n />\n );\n});\n\nexport { RzpGlass };\n"],"names":["FADE_IN_MS","RzpGlass","forwardRef","props","forwardedRef","_presetAssets$videoSr","_ref","_ref2","_presetAssets$centerG","_configProps$edgeFeat","_props$width","width","_props$height","height","className","style","onLoad","onError","assetsPathProp","assetsPath","gradientMapCanvas","gradientMapSrcProp","gradientMapSrc","gradientMap2SrcProp","gradientMap2Src","imageSrcProp","imageSrc","configProps","_objectWithoutProperties","_excluded","DEFAULT_CDN_PATH","defaultAssets","getDefaultAssets","presetAssets","getPresetAssets","preset","videoSrc","undefined","centerGradientMapSrc","_useState","useState","_useState2","_slicedToArray","isInitialized","setIsInitialized","_useState3","_useState4","error","setError","divRef","useRef","mountRef","useEffect","init","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_config$paused","config","userWantsPaused","_error","_t","wrap","_context","prev","next","current","abrupt","resolveConfig","RzpGlassMount","loadAssets","paused","pause","setTimeout","play","Error","String","stop","apply","arguments","_mountRef$current","dispose","setUniforms","inputMin","inputMax","modifyGamma","posterizeLevels","cycleRepetitions","phaseShift","cycleSpeed","wrapMode","reverse","blendWithOriginal","numSegments","slitAngle","displacementX","displacementY","enableCenterElement","centerAnimDuration","ccBlackPoint","ccWhitePoint","ccMidtoneGamma","ccGamma","ccContrast","zoom","panX","panY","concat","_toConsumableArray","edgeFeather","enableDisplacement","enableColorama","enableBloom","enableLightSweep","lightIntensity","lightStartFrame","startTime","endTime","animateLightIndependently","animateCycleReps","cycleRepetitionsStart","cycleRepetitionsEnd","cycleRepetitionsStartFrame","cycleRepetitionsDuration","gradientMapBlend","gradientMapBlendDuration","updateGradientMapTexture","mergedRef","useMergeRefs","widthStyle","heightStyle","_jsx","ref","_objectSpread","position","overflow","backgroundColor","transition","opacity"],"mappings":"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"}
@@ -22,7 +22,7 @@ var REF_RESOLUTION = {
22
22
  var DEFAULT_MAX_PIXEL_COUNT = 1920 * 1080 * 4;
23
23
 
24
24
  // Default styles for the shader container
25
- var defaultStyle = "@layer rzp-glass {\n :where([data-rzp-glass]) {\n isolation: isolate;\n position: relative;\n overflow: hidden;\n\n & canvas {\n contain: strict;\n display: block;\n position: absolute;\n z-index: -1;\n border-radius: inherit;\n }\n }\n}";
25
+ var defaultStyle = "@layer rzp-glass {\n :where([data-rzp-glass]) {\n isolation: isolate;\n position: relative;\n overflow: hidden;\n\n & canvas {\n contain: strict;\n display: block;\n position: absolute;\n z-index: -1;\n border-radius: inherit;\n pointer-events: none;\n }\n }\n}";
26
26
 
27
27
  /** Map of config keys to uniform names */
28
28
  var CONFIG_TO_UNIFORM = {
@@ -376,11 +376,6 @@ var RzpGlassMount = /*#__PURE__*/function () {
376
376
  powerPreference: 'high-performance'
377
377
  });
378
378
  this.gl = _gl;
379
- this.performanceController = new WebGLPerformanceController({
380
- gl: this.gl,
381
- onLevelChange: this.handlePerformanceLevelChange
382
- });
383
- this.stopIfPotato();
384
379
 
385
380
  // Flip Y axis when uploading textures (video/images have Y=0 at top, WebGL has Y=0 at bottom)
386
381
  _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, true);
@@ -394,6 +389,13 @@ var RzpGlassMount = /*#__PURE__*/function () {
394
389
 
395
390
  // Initialize program
396
391
  this.initProgram();
392
+
393
+ // Initialize performance controller after the initProgram so we don't get a crash when the program is not initialized yet.
394
+ this.performanceController = new WebGLPerformanceController({
395
+ gl: this.gl,
396
+ onLevelChange: this.handlePerformanceLevelChange
397
+ });
398
+ this.stopIfPotato();
397
399
  this.setupPositionAttribute();
398
400
  this.setupUniformLocations();
399
401
  this.setupResizeObserver();