@razorpay/blade 12.92.0 → 12.93.0

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 (112) hide show
  1. package/assets/spark/bottom-frame.jpg +0 -0
  2. package/assets/spark/colorama-center-gradient-map.jpg +0 -0
  3. package/assets/spark/colorama-gradient-map-blue.jpg +0 -0
  4. package/assets/spark/colorama-gradient-map-green.jpg +0 -0
  5. package/assets/spark/ray-pulse.mp4 +0 -0
  6. package/assets/spark/spark-base-video.mp4 +0 -0
  7. package/assets/spark/success-animation-circle.mp4 +0 -0
  8. package/build/lib/native/components/Spark/RazorSenseGradient/FluidGradient.js +9 -0
  9. package/build/lib/native/components/Spark/RazorSenseGradient/FluidGradient.js.map +1 -0
  10. package/build/lib/native/components/Spark/RazorSenseGradient/FluidGradientMount.js +18 -0
  11. package/build/lib/native/components/Spark/RazorSenseGradient/FluidGradientMount.js.map +1 -0
  12. package/build/lib/native/components/Spark/RazorSenseGradient/shader.js +69 -0
  13. package/build/lib/native/components/Spark/RazorSenseGradient/shader.js.map +1 -0
  14. package/build/lib/native/components/Spark/RazorSenseGradient/useFluidGradient.js +7 -0
  15. package/build/lib/native/components/Spark/RazorSenseGradient/useFluidGradient.js.map +1 -0
  16. package/build/lib/native/components/Spark/RzpGlass/PerformanceManager.js +7 -0
  17. package/build/lib/native/components/Spark/RzpGlass/PerformanceManager.js.map +1 -0
  18. package/build/lib/native/components/Spark/RzpGlass/RzpGlass.js +13 -0
  19. package/build/lib/native/components/Spark/RzpGlass/RzpGlass.js.map +1 -0
  20. package/build/lib/native/components/Spark/RzpGlass/RzpGlassMount.js +28 -0
  21. package/build/lib/native/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -0
  22. package/build/lib/native/components/Spark/RzpGlass/presets.js +4 -0
  23. package/build/lib/native/components/Spark/RzpGlass/presets.js.map +1 -0
  24. package/build/lib/native/components/Spark/RzpGlass/rzpGlassShader.js +920 -0
  25. package/build/lib/native/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -0
  26. package/build/lib/native/components/Spark/RzpGlass/utils.js +4 -0
  27. package/build/lib/native/components/Spark/RzpGlass/utils.js.map +1 -0
  28. package/build/lib/native/components/Spark/RzpGlass/webgl-utils.js +7 -0
  29. package/build/lib/native/components/Spark/RzpGlass/webgl-utils.js.map +1 -0
  30. package/build/lib/native/components/index.js +2 -0
  31. package/build/lib/native/components/index.js.map +1 -1
  32. package/build/lib/web/development/_virtual/flatten.js +1 -1
  33. package/build/lib/web/development/_virtual/flatten3.js +1 -1
  34. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +23 -15
  35. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  36. package/build/lib/web/development/components/SideNav/SideNav.web.js +21 -21
  37. package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
  38. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js +4 -4
  39. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
  40. package/build/lib/web/development/components/Spark/RazorSenseGradient/FluidGradient.js +92 -0
  41. package/build/lib/web/development/components/Spark/RazorSenseGradient/FluidGradient.js.map +1 -0
  42. package/build/lib/web/development/components/Spark/RazorSenseGradient/FluidGradientMount.js +110 -0
  43. package/build/lib/web/development/components/Spark/RazorSenseGradient/FluidGradientMount.js.map +1 -0
  44. package/build/lib/web/development/components/Spark/RazorSenseGradient/index.js +2 -0
  45. package/build/lib/web/development/components/Spark/RazorSenseGradient/index.js.map +1 -0
  46. package/build/lib/web/development/components/Spark/RazorSenseGradient/shader.js +18 -0
  47. package/build/lib/web/development/components/Spark/RazorSenseGradient/shader.js.map +1 -0
  48. package/build/lib/web/development/components/Spark/RazorSenseGradient/useFluidGradient.js +34 -0
  49. package/build/lib/web/development/components/Spark/RazorSenseGradient/useFluidGradient.js.map +1 -0
  50. package/build/lib/web/development/components/Spark/RzpGlass/PerformanceManager.js +455 -0
  51. package/build/lib/web/development/components/Spark/RzpGlass/PerformanceManager.js.map +1 -0
  52. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js +263 -0
  53. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js.map +1 -0
  54. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js +908 -0
  55. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -0
  56. package/build/lib/web/development/components/Spark/RzpGlass/index.js +24 -0
  57. package/build/lib/web/development/components/Spark/RzpGlass/index.js.map +1 -0
  58. package/build/lib/web/development/components/Spark/RzpGlass/presets.js +151 -0
  59. package/build/lib/web/development/components/Spark/RzpGlass/presets.js.map +1 -0
  60. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js +5 -0
  61. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -0
  62. package/build/lib/web/development/components/Spark/RzpGlass/utils.js +77 -0
  63. package/build/lib/web/development/components/Spark/RzpGlass/utils.js.map +1 -0
  64. package/build/lib/web/development/components/Spark/RzpGlass/webgl-utils.js +200 -0
  65. package/build/lib/web/development/components/Spark/RzpGlass/webgl-utils.js.map +1 -0
  66. package/build/lib/web/development/components/Spark/index.js +3 -0
  67. package/build/lib/web/development/components/Spark/index.js.map +1 -0
  68. package/build/lib/web/development/components/index.js +3 -0
  69. package/build/lib/web/development/components/index.js.map +1 -1
  70. package/build/lib/web/development/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  71. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  72. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  73. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  74. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +23 -15
  75. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  76. package/build/lib/web/production/components/SideNav/SideNav.web.js +21 -21
  77. package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
  78. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js +4 -4
  79. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
  80. package/build/lib/web/production/components/Spark/RazorSenseGradient/FluidGradient.js +92 -0
  81. package/build/lib/web/production/components/Spark/RazorSenseGradient/FluidGradient.js.map +1 -0
  82. package/build/lib/web/production/components/Spark/RazorSenseGradient/FluidGradientMount.js +110 -0
  83. package/build/lib/web/production/components/Spark/RazorSenseGradient/FluidGradientMount.js.map +1 -0
  84. package/build/lib/web/production/components/Spark/RazorSenseGradient/index.js +2 -0
  85. package/build/lib/web/production/components/Spark/RazorSenseGradient/index.js.map +1 -0
  86. package/build/lib/web/production/components/Spark/RazorSenseGradient/shader.js +18 -0
  87. package/build/lib/web/production/components/Spark/RazorSenseGradient/shader.js.map +1 -0
  88. package/build/lib/web/production/components/Spark/RazorSenseGradient/useFluidGradient.js +34 -0
  89. package/build/lib/web/production/components/Spark/RazorSenseGradient/useFluidGradient.js.map +1 -0
  90. package/build/lib/web/production/components/Spark/RzpGlass/PerformanceManager.js +455 -0
  91. package/build/lib/web/production/components/Spark/RzpGlass/PerformanceManager.js.map +1 -0
  92. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js +263 -0
  93. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js.map +1 -0
  94. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js +908 -0
  95. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -0
  96. package/build/lib/web/production/components/Spark/RzpGlass/index.js +24 -0
  97. package/build/lib/web/production/components/Spark/RzpGlass/index.js.map +1 -0
  98. package/build/lib/web/production/components/Spark/RzpGlass/presets.js +151 -0
  99. package/build/lib/web/production/components/Spark/RzpGlass/presets.js.map +1 -0
  100. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js +5 -0
  101. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -0
  102. package/build/lib/web/production/components/Spark/RzpGlass/utils.js +77 -0
  103. package/build/lib/web/production/components/Spark/RzpGlass/utils.js.map +1 -0
  104. package/build/lib/web/production/components/Spark/RzpGlass/webgl-utils.js +200 -0
  105. package/build/lib/web/production/components/Spark/RzpGlass/webgl-utils.js.map +1 -0
  106. package/build/lib/web/production/components/Spark/index.js +3 -0
  107. package/build/lib/web/production/components/Spark/index.js.map +1 -0
  108. package/build/lib/web/production/components/index.js +3 -0
  109. package/build/lib/web/production/components/index.js.map +1 -1
  110. package/build/types/components/index.d.ts +297 -1
  111. package/build/types/components/index.native.d.ts +297 -1
  112. package/package.json +2 -1
@@ -0,0 +1,77 @@
1
+ /**
2
+ * RzpGlass Utility Functions
3
+ */
4
+
5
+ /**
6
+ * Load an image from URL
7
+ */
8
+ function loadImage(src) {
9
+ return new Promise(function (resolve, reject) {
10
+ var img = new Image();
11
+ img.crossOrigin = 'anonymous';
12
+ img.onload = function () {
13
+ return resolve(img);
14
+ };
15
+ img.onerror = function () {
16
+ return reject(new Error("Failed to load image: ".concat(src)));
17
+ };
18
+ img.src = src;
19
+ });
20
+ }
21
+
22
+ /**
23
+ * Load a video from URL
24
+ */
25
+ function loadVideo(src) {
26
+ return new Promise(function (resolve, reject) {
27
+ var video = document.createElement('video');
28
+ video.src = src;
29
+ video.crossOrigin = 'anonymous';
30
+ video.loop = true;
31
+ video.muted = true;
32
+ video.playsInline = true;
33
+ video.preload = 'auto';
34
+ video.oncanplaythrough = function () {
35
+ return resolve(video);
36
+ };
37
+ video.onerror = function () {
38
+ return reject(new Error("Failed to load video: ".concat(src)));
39
+ };
40
+ video.load();
41
+ });
42
+ }
43
+
44
+ /**
45
+ * Check if browser is Safari
46
+ */
47
+ function isSafari() {
48
+ var ua = navigator.userAgent.toLowerCase();
49
+ return ua.includes('safari') && !ua.includes('chrome') && !ua.includes('android');
50
+ }
51
+
52
+ /**
53
+ * Best guess browser zoom level (for Safari which doesn't include zoom in devicePixelRatio)
54
+ */
55
+ function bestGuessBrowserZoom() {
56
+ var _visualViewport$scale, _visualViewport, _visualViewport$width, _visualViewport2;
57
+ var viewportScale = (_visualViewport$scale = (_visualViewport = visualViewport) === null || _visualViewport === void 0 ? void 0 : _visualViewport.scale) !== null && _visualViewport$scale !== void 0 ? _visualViewport$scale : 1;
58
+ var viewportWidth = (_visualViewport$width = (_visualViewport2 = visualViewport) === null || _visualViewport2 === void 0 ? void 0 : _visualViewport2.width) !== null && _visualViewport$width !== void 0 ? _visualViewport$width : window.innerWidth;
59
+ var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
60
+ var innerWidth = viewportScale * viewportWidth + scrollbarWidth;
61
+ var ratio = outerWidth / innerWidth;
62
+ var zoomPercentageRounded = Math.round(100 * ratio);
63
+
64
+ // Common zoom levels divisible by 5%
65
+ if (zoomPercentageRounded % 5 === 0) {
66
+ return zoomPercentageRounded / 100;
67
+ }
68
+
69
+ // Handle special zoom levels
70
+ if (zoomPercentageRounded === 33) return 1 / 3;
71
+ if (zoomPercentageRounded === 67) return 2 / 3;
72
+ if (zoomPercentageRounded === 133) return 4 / 3;
73
+ return ratio;
74
+ }
75
+
76
+ export { bestGuessBrowserZoom, isSafari, loadImage, loadVideo };
77
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../src/components/Spark/RzpGlass/utils.ts"],"sourcesContent":["/**\n * RzpGlass Utility Functions\n */\n\n/**\n * Load an image from URL\n */\nexport function loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = () => resolve(img);\n img.onerror = () => reject(new Error(`Failed to load image: ${src}`));\n img.src = src;\n });\n}\n\n/**\n * Load a video from URL\n */\nexport function loadVideo(src: string): Promise<HTMLVideoElement> {\n return new Promise((resolve, reject) => {\n const video = document.createElement('video');\n video.src = src;\n video.crossOrigin = 'anonymous';\n video.loop = true;\n video.muted = true;\n video.playsInline = true;\n video.preload = 'auto';\n video.oncanplaythrough = () => resolve(video);\n video.onerror = () => reject(new Error(`Failed to load video: ${src}`));\n video.load();\n });\n}\n\n/**\n * Check if browser is Safari\n */\nexport function isSafari(): boolean {\n const ua = navigator.userAgent.toLowerCase();\n return ua.includes('safari') && !ua.includes('chrome') && !ua.includes('android');\n}\n\n/**\n * Best guess browser zoom level (for Safari which doesn't include zoom in devicePixelRatio)\n */\nexport function bestGuessBrowserZoom(): number {\n const viewportScale = visualViewport?.scale ?? 1;\n const viewportWidth = visualViewport?.width ?? window.innerWidth;\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const innerWidth = viewportScale * viewportWidth + scrollbarWidth;\n\n const ratio = outerWidth / innerWidth;\n const zoomPercentageRounded = Math.round(100 * ratio);\n\n // Common zoom levels divisible by 5%\n if (zoomPercentageRounded % 5 === 0) {\n return zoomPercentageRounded / 100;\n }\n\n // Handle special zoom levels\n if (zoomPercentageRounded === 33) return 1 / 3;\n if (zoomPercentageRounded === 67) return 2 / 3;\n if (zoomPercentageRounded === 133) return 4 / 3;\n\n return ratio;\n}\n"],"names":["loadImage","src","Promise","resolve","reject","img","Image","crossOrigin","onload","onerror","Error","concat","loadVideo","video","document","createElement","loop","muted","playsInline","preload","oncanplaythrough","load","isSafari","ua","navigator","userAgent","toLowerCase","includes","bestGuessBrowserZoom","_visualViewport$scale","_visualViewport","_visualViewport$width","_visualViewport2","viewportScale","visualViewport","scale","viewportWidth","width","window","innerWidth","scrollbarWidth","documentElement","clientWidth","ratio","outerWidth","zoomPercentageRounded","Math","round"],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
+ import _createClass from '@babel/runtime/helpers/createClass';
3
+
4
+ /**
5
+ * WebGL utility functions for shader compilation, program creation,
6
+ * geometry setup, and texture handling.
7
+ */
8
+
9
+ // Fullscreen quad vertices (two triangles covering clip space -1 to 1)
10
+ // prettier-ignore
11
+ var FULLSCREEN_QUAD_POSITIONS = new Float32Array([-1, -1,
12
+ // bottom-left
13
+ 1, -1,
14
+ // bottom-right
15
+ -1, 1,
16
+ // top-left
17
+ -1, 1,
18
+ // top-left
19
+ 1, -1,
20
+ // bottom-right
21
+ 1, 1 // top-right
22
+ ]);
23
+
24
+ // Standard UV coordinates for fullscreen quad
25
+ // prettier-ignore
26
+ var FULLSCREEN_QUAD_UVS = new Float32Array([0, 0,
27
+ // bottom-left
28
+ 1, 0,
29
+ // bottom-right
30
+ 0, 1,
31
+ // top-left
32
+ 0, 1,
33
+ // top-left
34
+ 1, 0,
35
+ // bottom-right
36
+ 1, 1 // top-right
37
+ ]);
38
+
39
+ /**
40
+ * Creates and compiles a WebGL shader
41
+ */
42
+ function createShader(gl, type, source) {
43
+ var shader = gl.createShader(type);
44
+ if (!shader) return null;
45
+ gl.shaderSource(shader, source);
46
+ gl.compileShader(shader);
47
+ if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
48
+ console.error('Shader compilation error:', gl.getShaderInfoLog(shader));
49
+ gl.deleteShader(shader);
50
+ return null;
51
+ }
52
+ return shader;
53
+ }
54
+
55
+ /**
56
+ * Creates a WebGL program from vertex and fragment shaders
57
+ */
58
+ function createProgram(gl, vertexSource, fragmentSource) {
59
+ // Check shader precision and upgrade if needed
60
+ var format = gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT);
61
+ var precision = format ? format.precision : null;
62
+
63
+ // MEDIUM_FLOAT precision can be 10, 16 or 23 bits depending on device
64
+ // Shaders fail on 10 bit => we force 23-bit by switching to highp
65
+ if (precision && precision < 23) {
66
+ vertexSource = vertexSource.replace(/precision\s+(lowp|mediump)\s+float;/g, 'precision highp float;');
67
+ fragmentSource = fragmentSource.replace(/precision\s+(lowp|mediump)\s+float/g, 'precision highp float').replace(/\b(uniform|varying|attribute)\s+(lowp|mediump)\s+(\w+)/g, '$1 highp $3');
68
+ }
69
+ var vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
70
+ var fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
71
+ if (!vertexShader || !fragmentShader) return null;
72
+ var program = gl.createProgram();
73
+ if (!program) return null;
74
+ gl.attachShader(program, vertexShader);
75
+ gl.attachShader(program, fragmentShader);
76
+ gl.linkProgram(program);
77
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
78
+ console.error('Program linking error:', gl.getProgramInfoLog(program));
79
+ gl.deleteProgram(program);
80
+ gl.deleteShader(vertexShader);
81
+ gl.deleteShader(fragmentShader);
82
+ return null;
83
+ }
84
+
85
+ // Clean up shaders after successful linking
86
+ gl.detachShader(program, vertexShader);
87
+ gl.detachShader(program, fragmentShader);
88
+ gl.deleteShader(vertexShader);
89
+ gl.deleteShader(fragmentShader);
90
+ return program;
91
+ }
92
+ /**
93
+ * Sets up a fullscreen quad with position and UV attributes.
94
+ * This is the standard geometry for post-processing shaders.
95
+ *
96
+ * @param gl - WebGL rendering context
97
+ * @param program - WebGL program to get attribute locations from
98
+ * @param positionAttr - Name of position attribute (default: 'position')
99
+ * @param uvAttr - Name of UV attribute (default: 'uv')
100
+ * @returns The created buffers for cleanup, or null if setup failed
101
+ */
102
+ function setupFullscreenQuad(gl, program) {
103
+ var positionAttr = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'position';
104
+ var uvAttr = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'uv';
105
+ // Position attribute
106
+ var positionLocation = gl.getAttribLocation(program, positionAttr);
107
+ var positionBuffer = gl.createBuffer();
108
+ if (!positionBuffer) return null;
109
+ gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
110
+ gl.bufferData(gl.ARRAY_BUFFER, FULLSCREEN_QUAD_POSITIONS, gl.STATIC_DRAW);
111
+ gl.enableVertexAttribArray(positionLocation);
112
+ gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
113
+
114
+ // UV attribute
115
+ var uvLocation = gl.getAttribLocation(program, uvAttr);
116
+ var uvBuffer = gl.createBuffer();
117
+ if (!uvBuffer) return null;
118
+ gl.bindBuffer(gl.ARRAY_BUFFER, uvBuffer);
119
+ gl.bufferData(gl.ARRAY_BUFFER, FULLSCREEN_QUAD_UVS, gl.STATIC_DRAW);
120
+ gl.enableVertexAttribArray(uvLocation);
121
+ gl.vertexAttribPointer(uvLocation, 2, gl.FLOAT, false, 0, 0);
122
+ return {
123
+ positionBuffer: positionBuffer,
124
+ uvBuffer: uvBuffer
125
+ };
126
+ }
127
+
128
+ /**
129
+ * OGL-style Texture class for WebGL texture management.
130
+ * Supports images, videos, and canvas elements as sources.
131
+ *
132
+ * @see https://github.com/oframe/ogl/blob/master/src/core/Texture.js
133
+ */
134
+ var Texture = /*#__PURE__*/function () {
135
+ function Texture(gl) {
136
+ var _params$textureUnit, _params$minFilter, _params$magFilter, _params$wrapS, _params$wrapT, _params$flipY;
137
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
138
+ _classCallCheck(this, Texture);
139
+ this.gl = gl;
140
+ this.textureUnit = (_params$textureUnit = params.textureUnit) !== null && _params$textureUnit !== void 0 ? _params$textureUnit : 0;
141
+ this.minFilter = (_params$minFilter = params.minFilter) !== null && _params$minFilter !== void 0 ? _params$minFilter : gl.NEAREST;
142
+ this.magFilter = (_params$magFilter = params.magFilter) !== null && _params$magFilter !== void 0 ? _params$magFilter : gl.NEAREST;
143
+ this.wrapS = (_params$wrapS = params.wrapS) !== null && _params$wrapS !== void 0 ? _params$wrapS : gl.CLAMP_TO_EDGE;
144
+ this.wrapT = (_params$wrapT = params.wrapT) !== null && _params$wrapT !== void 0 ? _params$wrapT : gl.CLAMP_TO_EDGE;
145
+ this.flipY = (_params$flipY = params.flipY) !== null && _params$flipY !== void 0 ? _params$flipY : true;
146
+ this.texture = gl.createTexture();
147
+ this.bind();
148
+ this.setParameters();
149
+ }
150
+ return _createClass(Texture, [{
151
+ key: "bind",
152
+ value: function bind() {
153
+ var gl = this.gl;
154
+ gl.activeTexture(gl.TEXTURE0 + this.textureUnit);
155
+ gl.bindTexture(gl.TEXTURE_2D, this.texture);
156
+ }
157
+ }, {
158
+ key: "setParameters",
159
+ value: function setParameters() {
160
+ var gl = this.gl;
161
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, this.minFilter);
162
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, this.magFilter);
163
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, this.wrapS);
164
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, this.wrapT);
165
+ }
166
+
167
+ /**
168
+ * Upload image data to the texture (OGL-style)
169
+ */
170
+ }, {
171
+ key: "image",
172
+ value: function image(source) {
173
+ var gl = this.gl;
174
+ if (!source) return;
175
+ this.bind();
176
+ if (this.flipY) {
177
+ gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
178
+ }
179
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);
180
+ }
181
+
182
+ /**
183
+ * Update texture from video frame (call each frame for video textures)
184
+ */
185
+ }, {
186
+ key: "update",
187
+ value: function update(source) {
188
+ this.image(source);
189
+ }
190
+ }, {
191
+ key: "destroy",
192
+ value: function destroy() {
193
+ this.gl.deleteTexture(this.texture);
194
+ this.texture = null;
195
+ }
196
+ }]);
197
+ }();
198
+
199
+ export { Texture, createProgram, createShader, setupFullscreenQuad };
200
+ //# sourceMappingURL=webgl-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-utils.js","sources":["../../../../../../../src/components/Spark/RzpGlass/webgl-utils.ts"],"sourcesContent":["/**\n * WebGL utility functions for shader compilation, program creation,\n * geometry setup, and texture handling.\n */\n\n// Fullscreen quad vertices (two triangles covering clip space -1 to 1)\n// prettier-ignore\nconst FULLSCREEN_QUAD_POSITIONS = new Float32Array([\n -1, -1, // bottom-left\n 1, -1, // bottom-right\n -1, 1, // top-left\n -1, 1, // top-left\n 1, -1, // bottom-right\n 1, 1, // top-right\n]);\n\n// Standard UV coordinates for fullscreen quad\n// prettier-ignore\nconst FULLSCREEN_QUAD_UVS = new Float32Array([\n 0, 0, // bottom-left\n 1, 0, // bottom-right\n 0, 1, // top-left\n 0, 1, // top-left\n 1, 0, // bottom-right\n 1, 1, // top-right\n]);\n\n/**\n * Creates and compiles a WebGL shader\n */\nfunction createShader(gl: WebGLRenderingContext, type: number, source: string): WebGLShader | null {\n const shader = gl.createShader(type);\n if (!shader) return null;\n\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n console.error('Shader compilation error:', gl.getShaderInfoLog(shader));\n gl.deleteShader(shader);\n return null;\n }\n\n return shader;\n}\n\n/**\n * Creates a WebGL program from vertex and fragment shaders\n */\nfunction createProgram(\n gl: WebGLRenderingContext,\n vertexSource: string,\n fragmentSource: string,\n): WebGLProgram | null {\n // Check shader precision and upgrade if needed\n const format = gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT);\n const precision = format ? format.precision : null;\n\n // MEDIUM_FLOAT precision can be 10, 16 or 23 bits depending on device\n // Shaders fail on 10 bit => we force 23-bit by switching to highp\n if (precision && precision < 23) {\n vertexSource = vertexSource.replace(\n /precision\\s+(lowp|mediump)\\s+float;/g,\n 'precision highp float;',\n );\n fragmentSource = fragmentSource\n .replace(/precision\\s+(lowp|mediump)\\s+float/g, 'precision highp float')\n .replace(/\\b(uniform|varying|attribute)\\s+(lowp|mediump)\\s+(\\w+)/g, '$1 highp $3');\n }\n\n const vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);\n const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);\n\n if (!vertexShader || !fragmentShader) return null;\n\n const program = gl.createProgram();\n if (!program) return null;\n\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n console.error('Program linking error:', gl.getProgramInfoLog(program));\n gl.deleteProgram(program);\n gl.deleteShader(vertexShader);\n gl.deleteShader(fragmentShader);\n return null;\n }\n\n // Clean up shaders after successful linking\n gl.detachShader(program, vertexShader);\n gl.detachShader(program, fragmentShader);\n gl.deleteShader(vertexShader);\n gl.deleteShader(fragmentShader);\n\n return program;\n}\n\ntype FullscreenQuadBuffers = {\n positionBuffer: WebGLBuffer;\n uvBuffer: WebGLBuffer;\n};\n\n/**\n * Sets up a fullscreen quad with position and UV attributes.\n * This is the standard geometry for post-processing shaders.\n *\n * @param gl - WebGL rendering context\n * @param program - WebGL program to get attribute locations from\n * @param positionAttr - Name of position attribute (default: 'position')\n * @param uvAttr - Name of UV attribute (default: 'uv')\n * @returns The created buffers for cleanup, or null if setup failed\n */\nfunction setupFullscreenQuad(\n gl: WebGLRenderingContext,\n program: WebGLProgram,\n positionAttr = 'position',\n uvAttr = 'uv',\n): FullscreenQuadBuffers | null {\n // Position attribute\n const positionLocation = gl.getAttribLocation(program, positionAttr);\n const positionBuffer = gl.createBuffer();\n if (!positionBuffer) return null;\n\n gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, FULLSCREEN_QUAD_POSITIONS, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(positionLocation);\n gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);\n\n // UV attribute\n const uvLocation = gl.getAttribLocation(program, uvAttr);\n const uvBuffer = gl.createBuffer();\n if (!uvBuffer) return null;\n\n gl.bindBuffer(gl.ARRAY_BUFFER, uvBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, FULLSCREEN_QUAD_UVS, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(uvLocation);\n gl.vertexAttribPointer(uvLocation, 2, gl.FLOAT, false, 0, 0);\n\n return { positionBuffer, uvBuffer };\n}\n\ntype TextureOptions = {\n minFilter?: number;\n magFilter?: number;\n wrapS?: number;\n wrapT?: number;\n};\n\n/**\n * OGL-style Texture class for WebGL texture management.\n * Supports images, videos, and canvas elements as sources.\n *\n * @see https://github.com/oframe/ogl/blob/master/src/core/Texture.js\n */\ntype TextureParams = {\n textureUnit?: number;\n minFilter?: number;\n magFilter?: number;\n wrapS?: number;\n wrapT?: number;\n flipY?: boolean;\n};\n\ntype TextureSource = HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | null;\n\nclass Texture {\n public gl: WebGLRenderingContext;\n public texture: WebGLTexture | null;\n public textureUnit: number;\n\n private minFilter: number;\n private magFilter: number;\n private wrapS: number;\n private wrapT: number;\n private flipY: boolean;\n\n constructor(gl: WebGLRenderingContext, params: TextureParams = {}) {\n this.gl = gl;\n this.textureUnit = params.textureUnit ?? 0;\n this.minFilter = params.minFilter ?? gl.NEAREST;\n this.magFilter = params.magFilter ?? gl.NEAREST;\n this.wrapS = params.wrapS ?? gl.CLAMP_TO_EDGE;\n this.wrapT = params.wrapT ?? gl.CLAMP_TO_EDGE;\n this.flipY = params.flipY ?? true;\n\n this.texture = gl.createTexture();\n this.bind();\n this.setParameters();\n }\n\n bind(): void {\n const { gl } = this;\n gl.activeTexture(gl.TEXTURE0 + this.textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, this.texture);\n }\n\n private setParameters(): void {\n const { gl } = this;\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, this.minFilter);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, this.magFilter);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, this.wrapS);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, this.wrapT);\n }\n\n /**\n * Upload image data to the texture (OGL-style)\n */\n image(source: TextureSource): void {\n const { gl } = this;\n if (!source) return;\n\n this.bind();\n\n if (this.flipY) {\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);\n }\n\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);\n }\n\n /**\n * Update texture from video frame (call each frame for video textures)\n */\n update(source: TextureSource): void {\n this.image(source);\n }\n\n destroy(): void {\n this.gl.deleteTexture(this.texture);\n this.texture = null;\n }\n}\n\nexport { createShader, createProgram, setupFullscreenQuad, Texture };\n\nexport type { FullscreenQuadBuffers, TextureOptions, TextureParams, TextureSource };\n"],"names":["FULLSCREEN_QUAD_POSITIONS","Float32Array","FULLSCREEN_QUAD_UVS","createShader","gl","type","source","shader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","console","error","getShaderInfoLog","deleteShader","createProgram","vertexSource","fragmentSource","format","getShaderPrecisionFormat","FRAGMENT_SHADER","MEDIUM_FLOAT","precision","replace","vertexShader","VERTEX_SHADER","fragmentShader","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","deleteProgram","detachShader","setupFullscreenQuad","positionAttr","arguments","length","undefined","uvAttr","positionLocation","getAttribLocation","positionBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uvLocation","uvBuffer","Texture","_params$textureUnit","_params$minFilter","_params$magFilter","_params$wrapS","_params$wrapT","_params$flipY","params","_classCallCheck","textureUnit","minFilter","NEAREST","magFilter","wrapS","CLAMP_TO_EDGE","wrapT","flipY","texture","createTexture","bind","setParameters","_createClass","key","value","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_MIN_FILTER","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","image","pixelStorei","UNPACK_FLIP_Y_WEBGL","texImage2D","RGBA","UNSIGNED_BYTE","update","destroy","deleteTexture"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import './RzpGlass/index.js';
2
+ import './RazorSenseGradient/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -78,6 +78,7 @@ import './LightBox/index.js';
78
78
  import './ListView/index.js';
79
79
  import './Preview/index.js';
80
80
  import './GenUI/index.js';
81
+ import './Spark/index.js';
81
82
  export { Accordion } from './Accordion/Accordion.js';
82
83
  export { AccordionItemHeader } from './Accordion/AccordionItemHeader.js';
83
84
  export { AccordionItemBody } from './Accordion/AccordionItemBody.js';
@@ -683,4 +684,6 @@ export { Preview, PreviewBody, PreviewFooter, PreviewHeader } from './Preview/Pr
683
684
  export { GenUIProvider } from './GenUI/GenUIProvider.web.js';
684
685
  export { useGenUI, useGenUIAction } from './GenUI/GenUIContext.web.js';
685
686
  export { GenUISchemaRenderer } from './GenUI/GenUISchemaRenderer.web.js';
687
+ export { RzpGlass as RazorSense } from './Spark/RzpGlass/RzpGlass.js';
688
+ export { FluidGradient as RazorSenseGradient } from './Spark/RazorSenseGradient/FluidGradient.js';
686
689
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}