react-liquid-glass-svg 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.cjs +4 -0
- package/dist/index.esm.js +49 -226
- package/package.json +3 -3
- package/dist/index.umd.js +0 -9
package/README.md
CHANGED
|
@@ -223,7 +223,7 @@ All other props (`onClick`, `role`, `aria-*`, `data-*`, etc.) are forwarded to t
|
|
|
223
223
|
|
|
224
224
|
The package is built specifically with React Server Components in mind.
|
|
225
225
|
|
|
226
|
-
The `'use client'` directive is **baked into the published ESM and
|
|
226
|
+
The `'use client'` directive is **baked into the published ESM and CJS bundles** — you don't need to add it.
|
|
227
227
|
|
|
228
228
|
```tsx
|
|
229
229
|
// app/page.tsx — Next.js App Router (Server Component)
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require("react"),t=require("react/jsx-runtime");var n=/iPad|iPhone|iPod/,r=/^((?!chrome|android).)*safari/i,i=()=>{if(typeof window>`u`)return!0;let e=window.navigator.userAgent;return!(n.test(e)||r.test(e))},a=()=>{let[t,n]=(0,e.useState)(!0);return(0,e.useEffect)(()=>{n(i())},[]),{hasFullFilterSupport:t}},o=({id:e,turbulenceBaseFrequency:n,turbulenceSeed:r,displacementScale:i})=>(0,t.jsxs)(`filter`,{id:e,x:`0%`,y:`0%`,width:`100%`,height:`100%`,filterUnits:`objectBoundingBox`,children:[(0,t.jsx)(`feTurbulence`,{type:`fractalNoise`,baseFrequency:n,numOctaves:1,seed:r,result:`turbulence`}),(0,t.jsxs)(`feComponentTransfer`,{in:`turbulence`,result:`mapped`,children:[(0,t.jsx)(`feFuncR`,{type:`gamma`,amplitude:1,exponent:10,offset:.5}),(0,t.jsx)(`feFuncG`,{type:`gamma`,amplitude:0,exponent:1,offset:0}),(0,t.jsx)(`feFuncB`,{type:`gamma`,amplitude:0,exponent:1,offset:.5})]}),(0,t.jsx)(`feGaussianBlur`,{in:`turbulence`,stdDeviation:3,result:`softMap`}),(0,t.jsx)(`feSpecularLighting`,{in:`softMap`,surfaceScale:5,specularConstant:1,specularExponent:100,lightingColor:`white`,result:`specLight`,children:(0,t.jsx)(`fePointLight`,{x:-200,y:-200,z:300})}),(0,t.jsx)(`feComposite`,{in:`specLight`,operator:`arithmetic`,k1:0,k2:1,k3:1,k4:0,result:`litImage`}),(0,t.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`softMap`,scale:i,xChannelSelector:`R`,yChannelSelector:`G`})]}),s=({id:e,turbulenceBaseFrequency:n,turbulenceSeed:r})=>(0,t.jsxs)(`filter`,{id:e,x:`-20%`,y:`-20%`,width:`140%`,height:`140%`,filterUnits:`objectBoundingBox`,children:[(0,t.jsx)(`feTurbulence`,{type:`fractalNoise`,baseFrequency:n,numOctaves:2,seed:r,result:`turbulence`}),(0,t.jsx)(`feGaussianBlur`,{in:`turbulence`,stdDeviation:`2`,result:`blur`}),(0,t.jsx)(`feColorMatrix`,{in:`blur`,type:`matrix`,values:`1 0 0 0 0
|
|
2
|
+
0 1 0 0 0
|
|
3
|
+
0 0 1 0 0
|
|
4
|
+
0 0 0 0.15 0`,result:`transparency`}),(0,t.jsx)(`feBlend`,{in:`SourceGraphic`,in2:`transparency`,mode:`normal`})]}),c=`0 6px 6px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1)`,l=`0 8px 32px rgba(0,0,0,0.28)`,u=`inset 0 1px 0 0 rgba(255,255,255,0.55), inset 0 -1px 1px 0 rgba(255,255,255,0.12), inset 0 0 0 1px rgba(255,255,255,0.08)`,d=e=>Array.isArray(e)?`${e[0]} ${e[1]}`:`${e}`,f=({children:n,className:r=``,backdropBlur:i=2,tintColor:f=`rgba(255, 255, 255, .2)`,displacementScale:p=150,turbulenceBaseFrequency:m=.008,turbulenceSeed:h=1.5,as:g=`div`,style:_,glassBorder:v=!1,...y})=>{let b=(0,e.useId)(),{hasFullFilterSupport:x}=a(),S=d(m);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(`svg`,{style:{display:`none`},children:x?(0,t.jsx)(o,{id:b,turbulenceBaseFrequency:S,turbulenceSeed:h,displacementScale:p}):(0,t.jsx)(s,{id:b,turbulenceBaseFrequency:S,turbulenceSeed:h})}),(0,t.jsxs)(g,{className:r,style:{position:`relative`,overflow:`hidden`,boxShadow:v?l:c,..._},...y,children:[(0,t.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:0,overflow:`hidden`,borderRadius:`inherit`,backdropFilter:`blur(${i}px)`,WebkitBackdropFilter:`blur(${i}px)`,filter:`url(#${b})`,isolation:`isolate`,...!x&&{transform:`translateZ(0)`,willChange:`transform`}}}),(0,t.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:1,borderRadius:`inherit`,background:f}}),v&&(0,t.jsx)(`span`,{"aria-hidden":`true`,style:{position:`absolute`,inset:0,zIndex:2,borderRadius:`inherit`,pointerEvents:`none`,background:`linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,0) 62%, rgba(255,255,255,0.06) 100%)`,boxShadow:u}}),(0,t.jsx)(`div`,{style:{position:`relative`,zIndex:3,borderRadius:`inherit`},children:n})]})]})};exports.LiquidGlass=f,exports.default=f;
|
package/dist/index.esm.js
CHANGED
|
@@ -1,194 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useEffect as e, useId as t, useState as n } from "react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
7
|
-
}), a = /iPad|iPhone|iPod/, o = /^((?!chrome|android).)*safari/i, s = () => {
|
|
3
|
+
import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
|
+
//#region src/hooks/useBrowserDetection.ts
|
|
5
|
+
var o = /iPad|iPhone|iPod/, s = /^((?!chrome|android).)*safari/i, c = () => {
|
|
8
6
|
if (typeof window > "u") return !0;
|
|
9
7
|
let e = window.navigator.userAgent;
|
|
10
|
-
return !(
|
|
11
|
-
},
|
|
8
|
+
return !(o.test(e) || s.test(e));
|
|
9
|
+
}, l = () => {
|
|
12
10
|
let [t, r] = n(!0);
|
|
13
11
|
return e(() => {
|
|
14
|
-
r(
|
|
12
|
+
r(c());
|
|
15
13
|
}, []), { hasFullFilterSupport: t };
|
|
16
|
-
},
|
|
17
|
-
var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
|
|
18
|
-
function r(e, n, r) {
|
|
19
|
-
var i = null;
|
|
20
|
-
if (r !== void 0 && (i = "" + r), n.key !== void 0 && (i = "" + n.key), "key" in n) for (var a in r = {}, n) a !== "key" && (r[a] = n[a]);
|
|
21
|
-
else r = n;
|
|
22
|
-
return n = r.ref, {
|
|
23
|
-
$$typeof: t,
|
|
24
|
-
type: e,
|
|
25
|
-
key: i,
|
|
26
|
-
ref: n === void 0 ? null : n,
|
|
27
|
-
props: r
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
e.Fragment = n, e.jsx = r, e.jsxs = r;
|
|
31
|
-
})), u = /* @__PURE__ */ r(((e) => {
|
|
32
|
-
process.env.NODE_ENV !== "production" && (function() {
|
|
33
|
-
function t(e) {
|
|
34
|
-
if (e == null) return null;
|
|
35
|
-
if (typeof e == "function") return e.$$typeof === k ? null : e.displayName || e.name || null;
|
|
36
|
-
if (typeof e == "string") return e;
|
|
37
|
-
switch (e) {
|
|
38
|
-
case v: return "Fragment";
|
|
39
|
-
case b: return "Profiler";
|
|
40
|
-
case y: return "StrictMode";
|
|
41
|
-
case w: return "Suspense";
|
|
42
|
-
case T: return "SuspenseList";
|
|
43
|
-
case O: return "Activity";
|
|
44
|
-
}
|
|
45
|
-
if (typeof e == "object") switch (typeof e.tag == "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), e.$$typeof) {
|
|
46
|
-
case _: return "Portal";
|
|
47
|
-
case S: return e.displayName || "Context";
|
|
48
|
-
case x: return (e._context.displayName || "Context") + ".Consumer";
|
|
49
|
-
case C:
|
|
50
|
-
var n = e.render;
|
|
51
|
-
return e = e.displayName, e || (e = n.displayName || n.name || "", e = e === "" ? "ForwardRef" : "ForwardRef(" + e + ")"), e;
|
|
52
|
-
case E: return n = e.displayName || null, n === null ? t(e.type) || "Memo" : n;
|
|
53
|
-
case D:
|
|
54
|
-
n = e._payload, e = e._init;
|
|
55
|
-
try {
|
|
56
|
-
return t(e(n));
|
|
57
|
-
} catch {}
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
function n(e) {
|
|
62
|
-
return "" + e;
|
|
63
|
-
}
|
|
64
|
-
function r(e) {
|
|
65
|
-
try {
|
|
66
|
-
n(e);
|
|
67
|
-
var t = !1;
|
|
68
|
-
} catch {
|
|
69
|
-
t = !0;
|
|
70
|
-
}
|
|
71
|
-
if (t) {
|
|
72
|
-
t = console;
|
|
73
|
-
var r = t.error, i = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
74
|
-
return r.call(t, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", i), n(e);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function a(e) {
|
|
78
|
-
if (e === v) return "<>";
|
|
79
|
-
if (typeof e == "object" && e && e.$$typeof === D) return "<...>";
|
|
80
|
-
try {
|
|
81
|
-
var n = t(e);
|
|
82
|
-
return n ? "<" + n + ">" : "<...>";
|
|
83
|
-
} catch {
|
|
84
|
-
return "<...>";
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
function o() {
|
|
88
|
-
var e = A.A;
|
|
89
|
-
return e === null ? null : e.getOwner();
|
|
90
|
-
}
|
|
91
|
-
function s() {
|
|
92
|
-
return Error("react-stack-top-frame");
|
|
93
|
-
}
|
|
94
|
-
function c(e) {
|
|
95
|
-
if (j.call(e, "key")) {
|
|
96
|
-
var t = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
97
|
-
if (t && t.isReactWarning) return !1;
|
|
98
|
-
}
|
|
99
|
-
return e.key !== void 0;
|
|
100
|
-
}
|
|
101
|
-
function l(e, t) {
|
|
102
|
-
function n() {
|
|
103
|
-
P || (P = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", t));
|
|
104
|
-
}
|
|
105
|
-
n.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
106
|
-
get: n,
|
|
107
|
-
configurable: !0
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
function u() {
|
|
111
|
-
var e = t(this.type);
|
|
112
|
-
return F[e] || (F[e] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")), e = this.props.ref, e === void 0 ? null : e;
|
|
113
|
-
}
|
|
114
|
-
function d(e, t, n, r, i, a) {
|
|
115
|
-
var o = n.ref;
|
|
116
|
-
return e = {
|
|
117
|
-
$$typeof: g,
|
|
118
|
-
type: e,
|
|
119
|
-
key: t,
|
|
120
|
-
props: n,
|
|
121
|
-
_owner: r
|
|
122
|
-
}, (o === void 0 ? null : o) === null ? Object.defineProperty(e, "ref", {
|
|
123
|
-
enumerable: !1,
|
|
124
|
-
value: null
|
|
125
|
-
}) : Object.defineProperty(e, "ref", {
|
|
126
|
-
enumerable: !1,
|
|
127
|
-
get: u
|
|
128
|
-
}), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
129
|
-
configurable: !1,
|
|
130
|
-
enumerable: !1,
|
|
131
|
-
writable: !0,
|
|
132
|
-
value: 0
|
|
133
|
-
}), Object.defineProperty(e, "_debugInfo", {
|
|
134
|
-
configurable: !1,
|
|
135
|
-
enumerable: !1,
|
|
136
|
-
writable: !0,
|
|
137
|
-
value: null
|
|
138
|
-
}), Object.defineProperty(e, "_debugStack", {
|
|
139
|
-
configurable: !1,
|
|
140
|
-
enumerable: !1,
|
|
141
|
-
writable: !0,
|
|
142
|
-
value: i
|
|
143
|
-
}), Object.defineProperty(e, "_debugTask", {
|
|
144
|
-
configurable: !1,
|
|
145
|
-
enumerable: !1,
|
|
146
|
-
writable: !0,
|
|
147
|
-
value: a
|
|
148
|
-
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
149
|
-
}
|
|
150
|
-
function f(e, n, i, a, s, u) {
|
|
151
|
-
var f = n.children;
|
|
152
|
-
if (f !== void 0) if (a) if (M(f)) {
|
|
153
|
-
for (a = 0; a < f.length; a++) p(f[a]);
|
|
154
|
-
Object.freeze && Object.freeze(f);
|
|
155
|
-
} else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
156
|
-
else p(f);
|
|
157
|
-
if (j.call(n, "key")) {
|
|
158
|
-
f = t(e);
|
|
159
|
-
var m = Object.keys(n).filter(function(e) {
|
|
160
|
-
return e !== "key";
|
|
161
|
-
});
|
|
162
|
-
a = 0 < m.length ? "{key: someKey, " + m.join(": ..., ") + ": ...}" : "{key: someKey}", R[f + a] || (m = 0 < m.length ? "{" + m.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", a, f, m, f), R[f + a] = !0);
|
|
163
|
-
}
|
|
164
|
-
if (f = null, i !== void 0 && (r(i), f = "" + i), c(n) && (r(n.key), f = "" + n.key), "key" in n) for (var h in i = {}, n) h !== "key" && (i[h] = n[h]);
|
|
165
|
-
else i = n;
|
|
166
|
-
return f && l(i, typeof e == "function" ? e.displayName || e.name || "Unknown" : e), d(e, f, i, o(), s, u);
|
|
167
|
-
}
|
|
168
|
-
function p(e) {
|
|
169
|
-
m(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e && e.$$typeof === D && (e._payload.status === "fulfilled" ? m(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
170
|
-
}
|
|
171
|
-
function m(e) {
|
|
172
|
-
return typeof e == "object" && !!e && e.$$typeof === g;
|
|
173
|
-
}
|
|
174
|
-
var h = i("react"), g = Symbol.for("react.transitional.element"), _ = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), y = Symbol.for("react.strict_mode"), b = Symbol.for("react.profiler"), x = Symbol.for("react.consumer"), S = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), T = Symbol.for("react.suspense_list"), E = Symbol.for("react.memo"), D = Symbol.for("react.lazy"), O = Symbol.for("react.activity"), k = Symbol.for("react.client.reference"), A = h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, j = Object.prototype.hasOwnProperty, M = Array.isArray, N = console.createTask ? console.createTask : function() {
|
|
175
|
-
return null;
|
|
176
|
-
};
|
|
177
|
-
h = { react_stack_bottom_frame: function(e) {
|
|
178
|
-
return e();
|
|
179
|
-
} };
|
|
180
|
-
var P, F = {}, I = h.react_stack_bottom_frame.bind(h, s)(), L = N(a(s)), R = {};
|
|
181
|
-
e.Fragment = v, e.jsx = function(e, t, n) {
|
|
182
|
-
var r = 1e4 > A.recentlyCreatedOwnerStacks++;
|
|
183
|
-
return f(e, t, n, !1, r ? Error("react-stack-top-frame") : I, r ? N(a(e)) : L);
|
|
184
|
-
}, e.jsxs = function(e, t, n) {
|
|
185
|
-
var r = 1e4 > A.recentlyCreatedOwnerStacks++;
|
|
186
|
-
return f(e, t, n, !0, r ? Error("react-stack-top-frame") : I, r ? N(a(e)) : L);
|
|
187
|
-
};
|
|
188
|
-
})();
|
|
189
|
-
})), d = (/* @__PURE__ */ r(((e, t) => {
|
|
190
|
-
process.env.NODE_ENV === "production" ? t.exports = l() : t.exports = u();
|
|
191
|
-
})))(), f = ({ id: e, turbulenceBaseFrequency: t, turbulenceSeed: n, displacementScale: r }) => /* @__PURE__ */ (0, d.jsxs)("filter", {
|
|
14
|
+
}, u = ({ id: e, turbulenceBaseFrequency: t, turbulenceSeed: n, displacementScale: r }) => /* @__PURE__ */ a("filter", {
|
|
192
15
|
id: e,
|
|
193
16
|
x: "0%",
|
|
194
17
|
y: "0%",
|
|
@@ -196,30 +19,30 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
196
19
|
height: "100%",
|
|
197
20
|
filterUnits: "objectBoundingBox",
|
|
198
21
|
children: [
|
|
199
|
-
/* @__PURE__ */ (
|
|
22
|
+
/* @__PURE__ */ i("feTurbulence", {
|
|
200
23
|
type: "fractalNoise",
|
|
201
24
|
baseFrequency: t,
|
|
202
25
|
numOctaves: 1,
|
|
203
26
|
seed: n,
|
|
204
27
|
result: "turbulence"
|
|
205
28
|
}),
|
|
206
|
-
/* @__PURE__ */ (
|
|
29
|
+
/* @__PURE__ */ a("feComponentTransfer", {
|
|
207
30
|
in: "turbulence",
|
|
208
31
|
result: "mapped",
|
|
209
32
|
children: [
|
|
210
|
-
/* @__PURE__ */ (
|
|
33
|
+
/* @__PURE__ */ i("feFuncR", {
|
|
211
34
|
type: "gamma",
|
|
212
35
|
amplitude: 1,
|
|
213
36
|
exponent: 10,
|
|
214
37
|
offset: .5
|
|
215
38
|
}),
|
|
216
|
-
/* @__PURE__ */ (
|
|
39
|
+
/* @__PURE__ */ i("feFuncG", {
|
|
217
40
|
type: "gamma",
|
|
218
41
|
amplitude: 0,
|
|
219
42
|
exponent: 1,
|
|
220
43
|
offset: 0
|
|
221
44
|
}),
|
|
222
|
-
/* @__PURE__ */ (
|
|
45
|
+
/* @__PURE__ */ i("feFuncB", {
|
|
223
46
|
type: "gamma",
|
|
224
47
|
amplitude: 0,
|
|
225
48
|
exponent: 1,
|
|
@@ -227,25 +50,25 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
227
50
|
})
|
|
228
51
|
]
|
|
229
52
|
}),
|
|
230
|
-
/* @__PURE__ */ (
|
|
53
|
+
/* @__PURE__ */ i("feGaussianBlur", {
|
|
231
54
|
in: "turbulence",
|
|
232
55
|
stdDeviation: 3,
|
|
233
56
|
result: "softMap"
|
|
234
57
|
}),
|
|
235
|
-
/* @__PURE__ */ (
|
|
58
|
+
/* @__PURE__ */ i("feSpecularLighting", {
|
|
236
59
|
in: "softMap",
|
|
237
60
|
surfaceScale: 5,
|
|
238
61
|
specularConstant: 1,
|
|
239
62
|
specularExponent: 100,
|
|
240
63
|
lightingColor: "white",
|
|
241
64
|
result: "specLight",
|
|
242
|
-
children: /* @__PURE__ */ (
|
|
65
|
+
children: /* @__PURE__ */ i("fePointLight", {
|
|
243
66
|
x: -200,
|
|
244
67
|
y: -200,
|
|
245
68
|
z: 300
|
|
246
69
|
})
|
|
247
70
|
}),
|
|
248
|
-
/* @__PURE__ */ (
|
|
71
|
+
/* @__PURE__ */ i("feComposite", {
|
|
249
72
|
in: "specLight",
|
|
250
73
|
operator: "arithmetic",
|
|
251
74
|
k1: 0,
|
|
@@ -254,7 +77,7 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
254
77
|
k4: 0,
|
|
255
78
|
result: "litImage"
|
|
256
79
|
}),
|
|
257
|
-
/* @__PURE__ */ (
|
|
80
|
+
/* @__PURE__ */ i("feDisplacementMap", {
|
|
258
81
|
in: "SourceGraphic",
|
|
259
82
|
in2: "softMap",
|
|
260
83
|
scale: r,
|
|
@@ -262,7 +85,7 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
262
85
|
yChannelSelector: "G"
|
|
263
86
|
})
|
|
264
87
|
]
|
|
265
|
-
}),
|
|
88
|
+
}), d = ({ id: e, turbulenceBaseFrequency: t, turbulenceSeed: n }) => /* @__PURE__ */ a("filter", {
|
|
266
89
|
id: e,
|
|
267
90
|
x: "-20%",
|
|
268
91
|
y: "-20%",
|
|
@@ -270,77 +93,77 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
270
93
|
height: "140%",
|
|
271
94
|
filterUnits: "objectBoundingBox",
|
|
272
95
|
children: [
|
|
273
|
-
/* @__PURE__ */ (
|
|
96
|
+
/* @__PURE__ */ i("feTurbulence", {
|
|
274
97
|
type: "fractalNoise",
|
|
275
98
|
baseFrequency: t,
|
|
276
99
|
numOctaves: 2,
|
|
277
100
|
seed: n,
|
|
278
101
|
result: "turbulence"
|
|
279
102
|
}),
|
|
280
|
-
/* @__PURE__ */ (
|
|
103
|
+
/* @__PURE__ */ i("feGaussianBlur", {
|
|
281
104
|
in: "turbulence",
|
|
282
105
|
stdDeviation: "2",
|
|
283
106
|
result: "blur"
|
|
284
107
|
}),
|
|
285
|
-
/* @__PURE__ */ (
|
|
108
|
+
/* @__PURE__ */ i("feColorMatrix", {
|
|
286
109
|
in: "blur",
|
|
287
110
|
type: "matrix",
|
|
288
111
|
values: "1 0 0 0 0\n 0 1 0 0 0\n 0 0 1 0 0\n 0 0 0 0.15 0",
|
|
289
112
|
result: "transparency"
|
|
290
113
|
}),
|
|
291
|
-
/* @__PURE__ */ (
|
|
114
|
+
/* @__PURE__ */ i("feBlend", {
|
|
292
115
|
in: "SourceGraphic",
|
|
293
116
|
in2: "transparency",
|
|
294
117
|
mode: "normal"
|
|
295
118
|
})
|
|
296
119
|
]
|
|
297
|
-
}),
|
|
298
|
-
let
|
|
299
|
-
return /* @__PURE__ */ (
|
|
120
|
+
}), f = "0 6px 6px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1)", p = "0 8px 32px rgba(0,0,0,0.28)", m = "inset 0 1px 0 0 rgba(255,255,255,0.55), inset 0 -1px 1px 0 rgba(255,255,255,0.12), inset 0 0 0 1px rgba(255,255,255,0.08)", h = (e) => Array.isArray(e) ? `${e[0]} ${e[1]}` : `${e}`, g = ({ children: e, className: n = "", backdropBlur: o = 2, tintColor: s = "rgba(255, 255, 255, .2)", displacementScale: c = 150, turbulenceBaseFrequency: g = .008, turbulenceSeed: _ = 1.5, as: v = "div", style: y, glassBorder: b = !1, ...x }) => {
|
|
121
|
+
let S = t(), { hasFullFilterSupport: C } = l(), w = h(g);
|
|
122
|
+
return /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i("svg", {
|
|
300
123
|
style: { display: "none" },
|
|
301
|
-
children:
|
|
302
|
-
id:
|
|
303
|
-
turbulenceBaseFrequency:
|
|
304
|
-
turbulenceSeed:
|
|
305
|
-
displacementScale:
|
|
306
|
-
}) : /* @__PURE__ */ (
|
|
307
|
-
id:
|
|
308
|
-
turbulenceBaseFrequency:
|
|
309
|
-
turbulenceSeed:
|
|
124
|
+
children: C ? /* @__PURE__ */ i(u, {
|
|
125
|
+
id: S,
|
|
126
|
+
turbulenceBaseFrequency: w,
|
|
127
|
+
turbulenceSeed: _,
|
|
128
|
+
displacementScale: c
|
|
129
|
+
}) : /* @__PURE__ */ i(d, {
|
|
130
|
+
id: S,
|
|
131
|
+
turbulenceBaseFrequency: w,
|
|
132
|
+
turbulenceSeed: _
|
|
310
133
|
})
|
|
311
|
-
}), /* @__PURE__ */ (
|
|
134
|
+
}), /* @__PURE__ */ a(v, {
|
|
312
135
|
className: n,
|
|
313
136
|
style: {
|
|
314
137
|
position: "relative",
|
|
315
138
|
overflow: "hidden",
|
|
316
|
-
boxShadow:
|
|
317
|
-
...
|
|
139
|
+
boxShadow: b ? p : f,
|
|
140
|
+
...y
|
|
318
141
|
},
|
|
319
|
-
...
|
|
142
|
+
...x,
|
|
320
143
|
children: [
|
|
321
|
-
/* @__PURE__ */ (
|
|
144
|
+
/* @__PURE__ */ i("div", { style: {
|
|
322
145
|
position: "absolute",
|
|
323
146
|
inset: 0,
|
|
324
147
|
zIndex: 0,
|
|
325
148
|
overflow: "hidden",
|
|
326
149
|
borderRadius: "inherit",
|
|
327
|
-
backdropFilter: `blur(${
|
|
328
|
-
WebkitBackdropFilter: `blur(${
|
|
329
|
-
filter: `url(#${
|
|
150
|
+
backdropFilter: `blur(${o}px)`,
|
|
151
|
+
WebkitBackdropFilter: `blur(${o}px)`,
|
|
152
|
+
filter: `url(#${S})`,
|
|
330
153
|
isolation: "isolate",
|
|
331
|
-
...!
|
|
154
|
+
...!C && {
|
|
332
155
|
transform: "translateZ(0)",
|
|
333
156
|
willChange: "transform"
|
|
334
157
|
}
|
|
335
158
|
} }),
|
|
336
|
-
/* @__PURE__ */ (
|
|
159
|
+
/* @__PURE__ */ i("div", { style: {
|
|
337
160
|
position: "absolute",
|
|
338
161
|
inset: 0,
|
|
339
162
|
zIndex: 1,
|
|
340
163
|
borderRadius: "inherit",
|
|
341
|
-
background:
|
|
164
|
+
background: s
|
|
342
165
|
} }),
|
|
343
|
-
|
|
166
|
+
b && /* @__PURE__ */ i("span", {
|
|
344
167
|
"aria-hidden": "true",
|
|
345
168
|
style: {
|
|
346
169
|
position: "absolute",
|
|
@@ -349,10 +172,10 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
349
172
|
borderRadius: "inherit",
|
|
350
173
|
pointerEvents: "none",
|
|
351
174
|
background: "linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,0) 62%, rgba(255,255,255,0.06) 100%)",
|
|
352
|
-
boxShadow:
|
|
175
|
+
boxShadow: m
|
|
353
176
|
}
|
|
354
177
|
}),
|
|
355
|
-
/* @__PURE__ */ (
|
|
178
|
+
/* @__PURE__ */ i("div", {
|
|
356
179
|
style: {
|
|
357
180
|
position: "relative",
|
|
358
181
|
zIndex: 3,
|
|
@@ -364,4 +187,4 @@ var r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t
|
|
|
364
187
|
})] });
|
|
365
188
|
};
|
|
366
189
|
//#endregion
|
|
367
|
-
export {
|
|
190
|
+
export { g as LiquidGlass, g as default };
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-liquid-glass-svg",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Apple liquid glass for React — pure SVG filters and backdrop-blur. No WebGL, no canvas, no shaders.",
|
|
6
|
-
"main": "./dist/index.
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
7
|
"module": "./dist/index.esm.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"homepage": "https://github.com/yurkagon/react-liquid-glass-svg#readme",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
".": {
|
|
19
19
|
"types": "./dist/index.d.ts",
|
|
20
20
|
"import": "./dist/index.esm.js",
|
|
21
|
-
"require": "./dist/index.
|
|
21
|
+
"require": "./dist/index.cjs"
|
|
22
22
|
},
|
|
23
23
|
"./package.json": "./package.json"
|
|
24
24
|
},
|
package/dist/index.umd.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use client";(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react")):typeof define==`function`&&define.amd?define([`exports`,`react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.LiquidGlass={},e.React))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),r=/iPad|iPhone|iPod/,i=/^((?!chrome|android).)*safari/i,a=()=>{if(typeof window>`u`)return!0;let e=window.navigator.userAgent;return!(r.test(e)||i.test(e))},o=()=>{let[e,n]=(0,t.useState)(!0);return(0,t.useEffect)(()=>{n(a())},[]),{hasFullFilterSupport:e}},s=n((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),c=n((e=>{process.env.NODE_ENV!==`production`&&(function(){function t(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===O?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case _:return`Fragment`;case y:return`Profiler`;case v:return`StrictMode`;case C:return`Suspense`;case w:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case g:return`Portal`;case x:return e.displayName||`Context`;case b:return(e._context.displayName||`Context`)+`.Consumer`;case S:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||``,e=e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case T:return n=e.displayName||null,n===null?t(e.type)||`Memo`:n;case E:n=e._payload,e=e._init;try{return t(e(n))}catch{}}return null}function n(e){return``+e}function r(e){try{n(e);var t=!1}catch{t=!0}if(t){t=console;var r=t.error,i=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return r.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,i),n(e)}}function i(e){if(e===_)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===E)return`<...>`;try{var n=t(e);return n?`<`+n+`>`:`<...>`}catch{return`<...>`}}function a(){var e=k.A;return e===null?null:e.getOwner()}function o(){return Error(`react-stack-top-frame`)}function s(e){if(A.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function c(e,t){function n(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function l(){var e=t(this.type);return P[e]||(P[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function u(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:h,type:e,key:t,props:n,_owner:r},(o===void 0?null:o)===null?Object.defineProperty(e,"ref",{enumerable:!1,value:null}):Object.defineProperty(e,"ref",{enumerable:!1,get:l}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function d(e,n,i,o,l,d){var p=n.children;if(p!==void 0)if(o)if(j(p)){for(o=0;o<p.length;o++)f(p[o]);Object.freeze&&Object.freeze(p)}else console.error(`React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.`);else f(p);if(A.call(n,`key`)){p=t(e);var m=Object.keys(n).filter(function(e){return e!==`key`});o=0<m.length?`{key: someKey, `+m.join(`: ..., `)+`: ...}`:`{key: someKey}`,L[p+o]||(m=0<m.length?`{`+m.join(`: ..., `)+`: ...}`:`{}`,console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
|
-
let props = %s;
|
|
3
|
-
<%s {...props} />
|
|
4
|
-
React keys must be passed directly to JSX without using spread:
|
|
5
|
-
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,o,p,m,p),L[p+o]=!0)}if(p=null,i!==void 0&&(r(i),p=``+i),s(n)&&(r(n.key),p=``+n.key),`key`in n)for(var h in i={},n)h!==`key`&&(i[h]=n[h]);else i=n;return p&&c(i,typeof e==`function`?e.displayName||e.name||`Unknown`:e),u(e,p,i,a(),l,d)}function f(e){p(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===E&&(e._payload.status===`fulfilled`?p(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function p(e){return typeof e==`object`&&!!e&&e.$$typeof===h}var m=require("react"),h=Symbol.for(`react.transitional.element`),g=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),w=Symbol.for(`react.suspense_list`),T=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.client.reference`),k=m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=Object.prototype.hasOwnProperty,j=Array.isArray,M=console.createTask?console.createTask:function(){return null};m={react_stack_bottom_frame:function(e){return e()}};var N,P={},F=m.react_stack_bottom_frame.bind(m,o)(),I=M(i(o)),L={};e.Fragment=_,e.jsx=function(e,t,n){var r=1e4>k.recentlyCreatedOwnerStacks++;return d(e,t,n,!1,r?Error(`react-stack-top-frame`):F,r?M(i(e)):I)},e.jsxs=function(e,t,n){var r=1e4>k.recentlyCreatedOwnerStacks++;return d(e,t,n,!0,r?Error(`react-stack-top-frame`):F,r?M(i(e)):I)}})()})),l=n(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=s():t.exports=c()}))(),u=({id:e,turbulenceBaseFrequency:t,turbulenceSeed:n,displacementScale:r})=>(0,l.jsxs)(`filter`,{id:e,x:`0%`,y:`0%`,width:`100%`,height:`100%`,filterUnits:`objectBoundingBox`,children:[(0,l.jsx)(`feTurbulence`,{type:`fractalNoise`,baseFrequency:t,numOctaves:1,seed:n,result:`turbulence`}),(0,l.jsxs)(`feComponentTransfer`,{in:`turbulence`,result:`mapped`,children:[(0,l.jsx)(`feFuncR`,{type:`gamma`,amplitude:1,exponent:10,offset:.5}),(0,l.jsx)(`feFuncG`,{type:`gamma`,amplitude:0,exponent:1,offset:0}),(0,l.jsx)(`feFuncB`,{type:`gamma`,amplitude:0,exponent:1,offset:.5})]}),(0,l.jsx)(`feGaussianBlur`,{in:`turbulence`,stdDeviation:3,result:`softMap`}),(0,l.jsx)(`feSpecularLighting`,{in:`softMap`,surfaceScale:5,specularConstant:1,specularExponent:100,lightingColor:`white`,result:`specLight`,children:(0,l.jsx)(`fePointLight`,{x:-200,y:-200,z:300})}),(0,l.jsx)(`feComposite`,{in:`specLight`,operator:`arithmetic`,k1:0,k2:1,k3:1,k4:0,result:`litImage`}),(0,l.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`softMap`,scale:r,xChannelSelector:`R`,yChannelSelector:`G`})]}),d=({id:e,turbulenceBaseFrequency:t,turbulenceSeed:n})=>(0,l.jsxs)(`filter`,{id:e,x:`-20%`,y:`-20%`,width:`140%`,height:`140%`,filterUnits:`objectBoundingBox`,children:[(0,l.jsx)(`feTurbulence`,{type:`fractalNoise`,baseFrequency:t,numOctaves:2,seed:n,result:`turbulence`}),(0,l.jsx)(`feGaussianBlur`,{in:`turbulence`,stdDeviation:`2`,result:`blur`}),(0,l.jsx)(`feColorMatrix`,{in:`blur`,type:`matrix`,values:`1 0 0 0 0
|
|
7
|
-
0 1 0 0 0
|
|
8
|
-
0 0 1 0 0
|
|
9
|
-
0 0 0 0.15 0`,result:`transparency`}),(0,l.jsx)(`feBlend`,{in:`SourceGraphic`,in2:`transparency`,mode:`normal`})]}),f=`0 6px 6px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1)`,p=`0 8px 32px rgba(0,0,0,0.28)`,m=`inset 0 1px 0 0 rgba(255,255,255,0.55), inset 0 -1px 1px 0 rgba(255,255,255,0.12), inset 0 0 0 1px rgba(255,255,255,0.08)`,h=e=>Array.isArray(e)?`${e[0]} ${e[1]}`:`${e}`,g=({children:e,className:n=``,backdropBlur:r=2,tintColor:i=`rgba(255, 255, 255, .2)`,displacementScale:a=150,turbulenceBaseFrequency:s=.008,turbulenceSeed:c=1.5,as:g=`div`,style:_,glassBorder:v=!1,...y})=>{let b=(0,t.useId)(),{hasFullFilterSupport:x}=o(),S=h(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`svg`,{style:{display:`none`},children:x?(0,l.jsx)(u,{id:b,turbulenceBaseFrequency:S,turbulenceSeed:c,displacementScale:a}):(0,l.jsx)(d,{id:b,turbulenceBaseFrequency:S,turbulenceSeed:c})}),(0,l.jsxs)(g,{className:n,style:{position:`relative`,overflow:`hidden`,boxShadow:v?p:f,..._},...y,children:[(0,l.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:0,overflow:`hidden`,borderRadius:`inherit`,backdropFilter:`blur(${r}px)`,WebkitBackdropFilter:`blur(${r}px)`,filter:`url(#${b})`,isolation:`isolate`,...!x&&{transform:`translateZ(0)`,willChange:`transform`}}}),(0,l.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:1,borderRadius:`inherit`,background:i}}),v&&(0,l.jsx)(`span`,{"aria-hidden":`true`,style:{position:`absolute`,inset:0,zIndex:2,borderRadius:`inherit`,pointerEvents:`none`,background:`linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,0) 62%, rgba(255,255,255,0.06) 100%)`,boxShadow:m}}),(0,l.jsx)(`div`,{style:{position:`relative`,zIndex:3,borderRadius:`inherit`},children:e})]})]})};e.LiquidGlass=g,e.default=g});
|