@creativoma/liquid-glass 1.0.0 → 1.0.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.
- package/CHANGELOG.md +34 -0
- package/README.md +4 -11
- package/dist/components/LiquidGlass.d.ts +0 -1
- package/dist/components/types.d.ts +0 -1
- package/dist/components/types.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.esm.js +129 -146
- package/dist/index.umd.js +2 -18
- package/dist/liquid-glass.css +1 -0
- package/package.json +22 -21
- package/dist/style.css +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.0.2] - 2025-12-06
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Updated dependencies to latest versions
|
|
13
|
+
|
|
14
|
+
## [1.0.1] - 2025-10-22
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Updated SVG structure and styling for improved favicon appearance
|
|
19
|
+
|
|
20
|
+
### Documentation
|
|
21
|
+
|
|
22
|
+
- Added screenshot to README for better visual reference
|
|
23
|
+
|
|
24
|
+
## [1.0.0] - 2025-10-22
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- Initial release of Liquid Glass component
|
|
29
|
+
- React wrapper component with liquid frosted glass effect
|
|
30
|
+
- Full TypeScript support
|
|
31
|
+
- TailwindCSS integration
|
|
32
|
+
- Customizable backdrop blur, tint color, and displacement scale
|
|
33
|
+
- SVG filter effects for liquid glass appearance
|
|
34
|
+
- Support for polymorphic component API (`as` prop)
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @creativoma/liquid-glass
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+
|
|
3
5
|
A modern React component with liquid frosted glass effect using TailwindCSS. Perfect for creating elegant interfaces with glassmorphism effect.
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/@creativoma/liquid-glass)
|
|
@@ -223,15 +225,6 @@ Contributions are welcome! Please:
|
|
|
223
225
|
|
|
224
226
|
MIT © [creativoma](https://github.com/creativoma)
|
|
225
227
|
|
|
226
|
-
##
|
|
227
|
-
|
|
228
|
-
### 1.0.0
|
|
228
|
+
## 📜 Changelog
|
|
229
229
|
|
|
230
|
-
|
|
231
|
-
- Frosted glass effect with backdrop-filter
|
|
232
|
-
- Animated liquid effect with SVG filters (feTurbulence + feDisplacementMap)
|
|
233
|
-
- Full customization of liquid effect (displacement scale, turbulence frequency, seed)
|
|
234
|
-
- Support for polymorphic component with `as` prop
|
|
235
|
-
- Full integration with TailwindCSS
|
|
236
|
-
- Optimized build with tree-shaking
|
|
237
|
-
- Full TypeScript support
|
|
230
|
+
See [CHANGELOG.md](./CHANGELOG.md) for a detailed list of changes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE7E,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE7E,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,cAAc,CAAC,WAAW,CAAC,EAC3B,IAAI,CACL;IACC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,sDAAsD;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAEhC,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,4DAA4D;IAC5D,EAAE,CAAC,EAAE,WAAW,CAAA;IAEhB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.esm.js
CHANGED
|
@@ -1,64 +1,46 @@
|
|
|
1
1
|
import ee, { useId as re } from "react";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
* @license React
|
|
5
|
-
* react-jsx-runtime.production.js
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the MIT license found in the
|
|
10
|
-
* LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/
|
|
12
|
-
var D;
|
|
2
|
+
var x = { exports: {} }, E = {};
|
|
3
|
+
var L;
|
|
13
4
|
function te() {
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
function u(
|
|
18
|
-
var
|
|
19
|
-
if (l !== void 0 && (
|
|
5
|
+
if (L) return E;
|
|
6
|
+
L = 1;
|
|
7
|
+
var i = Symbol.for("react.transitional.element"), m = Symbol.for("react.fragment");
|
|
8
|
+
function u(c, s, l) {
|
|
9
|
+
var f = null;
|
|
10
|
+
if (l !== void 0 && (f = "" + l), s.key !== void 0 && (f = "" + s.key), "key" in s) {
|
|
20
11
|
l = {};
|
|
21
|
-
for (var
|
|
22
|
-
|
|
12
|
+
for (var d in s)
|
|
13
|
+
d !== "key" && (l[d] = s[d]);
|
|
23
14
|
} else l = s;
|
|
24
15
|
return s = l.ref, {
|
|
25
|
-
$$typeof:
|
|
26
|
-
type:
|
|
27
|
-
key:
|
|
16
|
+
$$typeof: i,
|
|
17
|
+
type: c,
|
|
18
|
+
key: f,
|
|
28
19
|
ref: s !== void 0 ? s : null,
|
|
29
20
|
props: l
|
|
30
21
|
};
|
|
31
22
|
}
|
|
32
|
-
return
|
|
23
|
+
return E.Fragment = m, E.jsx = u, E.jsxs = u, E;
|
|
33
24
|
}
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
* @license React
|
|
37
|
-
* react-jsx-runtime.development.js
|
|
38
|
-
*
|
|
39
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
40
|
-
*
|
|
41
|
-
* This source code is licensed under the MIT license found in the
|
|
42
|
-
* LICENSE file in the root directory of this source tree.
|
|
43
|
-
*/
|
|
44
|
-
var M;
|
|
25
|
+
var _ = {};
|
|
26
|
+
var D;
|
|
45
27
|
function ne() {
|
|
46
|
-
return
|
|
47
|
-
function
|
|
28
|
+
return D || (D = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
29
|
+
function i(e) {
|
|
48
30
|
if (e == null) return null;
|
|
49
31
|
if (typeof e == "function")
|
|
50
32
|
return e.$$typeof === Z ? null : e.displayName || e.name || null;
|
|
51
33
|
if (typeof e == "string") return e;
|
|
52
34
|
switch (e) {
|
|
53
|
-
case
|
|
35
|
+
case k:
|
|
54
36
|
return "Fragment";
|
|
55
|
-
case G:
|
|
56
|
-
return "Profiler";
|
|
57
37
|
case z:
|
|
38
|
+
return "Profiler";
|
|
39
|
+
case q:
|
|
58
40
|
return "StrictMode";
|
|
59
|
-
case
|
|
41
|
+
case V:
|
|
60
42
|
return "Suspense";
|
|
61
|
-
case
|
|
43
|
+
case B:
|
|
62
44
|
return "SuspenseList";
|
|
63
45
|
case H:
|
|
64
46
|
return "Activity";
|
|
@@ -69,72 +51,72 @@ function ne() {
|
|
|
69
51
|
), e.$$typeof) {
|
|
70
52
|
case W:
|
|
71
53
|
return "Portal";
|
|
72
|
-
case q:
|
|
73
|
-
return (e.displayName || "Context") + ".Provider";
|
|
74
54
|
case U:
|
|
55
|
+
return e.displayName || "Context";
|
|
56
|
+
case G:
|
|
75
57
|
return (e._context.displayName || "Context") + ".Consumer";
|
|
76
|
-
case
|
|
58
|
+
case J:
|
|
77
59
|
var r = e.render;
|
|
78
60
|
return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
79
61
|
case X:
|
|
80
|
-
return r = e.displayName || null, r !== null ? r :
|
|
81
|
-
case
|
|
62
|
+
return r = e.displayName || null, r !== null ? r : i(e.type) || "Memo";
|
|
63
|
+
case j:
|
|
82
64
|
r = e._payload, e = e._init;
|
|
83
65
|
try {
|
|
84
|
-
return
|
|
66
|
+
return i(e(r));
|
|
85
67
|
} catch {
|
|
86
68
|
}
|
|
87
69
|
}
|
|
88
70
|
return null;
|
|
89
71
|
}
|
|
90
|
-
function
|
|
72
|
+
function m(e) {
|
|
91
73
|
return "" + e;
|
|
92
74
|
}
|
|
93
75
|
function u(e) {
|
|
94
76
|
try {
|
|
95
|
-
|
|
77
|
+
m(e);
|
|
96
78
|
var r = !1;
|
|
97
79
|
} catch {
|
|
98
80
|
r = !0;
|
|
99
81
|
}
|
|
100
82
|
if (r) {
|
|
101
83
|
r = console;
|
|
102
|
-
var t = r.error,
|
|
84
|
+
var t = r.error, n = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
103
85
|
return t.call(
|
|
104
86
|
r,
|
|
105
87
|
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
106
|
-
|
|
107
|
-
),
|
|
88
|
+
n
|
|
89
|
+
), m(e);
|
|
108
90
|
}
|
|
109
91
|
}
|
|
110
|
-
function
|
|
111
|
-
if (e ===
|
|
112
|
-
if (typeof e == "object" && e !== null && e.$$typeof ===
|
|
92
|
+
function c(e) {
|
|
93
|
+
if (e === k) return "<>";
|
|
94
|
+
if (typeof e == "object" && e !== null && e.$$typeof === j)
|
|
113
95
|
return "<...>";
|
|
114
96
|
try {
|
|
115
|
-
var r =
|
|
97
|
+
var r = i(e);
|
|
116
98
|
return r ? "<" + r + ">" : "<...>";
|
|
117
99
|
} catch {
|
|
118
100
|
return "<...>";
|
|
119
101
|
}
|
|
120
102
|
}
|
|
121
103
|
function s() {
|
|
122
|
-
var e =
|
|
104
|
+
var e = y.A;
|
|
123
105
|
return e === null ? null : e.getOwner();
|
|
124
106
|
}
|
|
125
107
|
function l() {
|
|
126
108
|
return Error("react-stack-top-frame");
|
|
127
109
|
}
|
|
128
|
-
function
|
|
129
|
-
if (
|
|
110
|
+
function f(e) {
|
|
111
|
+
if (N.call(e, "key")) {
|
|
130
112
|
var r = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
131
113
|
if (r && r.isReactWarning) return !1;
|
|
132
114
|
}
|
|
133
115
|
return e.key !== void 0;
|
|
134
116
|
}
|
|
135
|
-
function
|
|
117
|
+
function d(e, r) {
|
|
136
118
|
function t() {
|
|
137
|
-
|
|
119
|
+
C || (C = !0, console.error(
|
|
138
120
|
"%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)",
|
|
139
121
|
r
|
|
140
122
|
));
|
|
@@ -145,19 +127,20 @@ function ne() {
|
|
|
145
127
|
});
|
|
146
128
|
}
|
|
147
129
|
function T() {
|
|
148
|
-
var e =
|
|
149
|
-
return
|
|
130
|
+
var e = i(this.type);
|
|
131
|
+
return F[e] || (F[e] = !0, console.error(
|
|
150
132
|
"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."
|
|
151
133
|
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
152
134
|
}
|
|
153
|
-
function g(e, r, t,
|
|
154
|
-
|
|
135
|
+
function g(e, r, t, n, R, O) {
|
|
136
|
+
var a = t.ref;
|
|
137
|
+
return e = {
|
|
155
138
|
$$typeof: P,
|
|
156
139
|
type: e,
|
|
157
140
|
key: r,
|
|
158
|
-
props:
|
|
159
|
-
_owner:
|
|
160
|
-
}, (
|
|
141
|
+
props: t,
|
|
142
|
+
_owner: n
|
|
143
|
+
}, (a !== void 0 ? a : null) !== null ? Object.defineProperty(e, "ref", {
|
|
161
144
|
enumerable: !1,
|
|
162
145
|
get: T
|
|
163
146
|
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
@@ -174,7 +157,7 @@ function ne() {
|
|
|
174
157
|
configurable: !1,
|
|
175
158
|
enumerable: !1,
|
|
176
159
|
writable: !0,
|
|
177
|
-
value:
|
|
160
|
+
value: R
|
|
178
161
|
}), Object.defineProperty(e, "_debugTask", {
|
|
179
162
|
configurable: !1,
|
|
180
163
|
enumerable: !1,
|
|
@@ -182,141 +165,141 @@ function ne() {
|
|
|
182
165
|
value: O
|
|
183
166
|
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
184
167
|
}
|
|
185
|
-
function h(e, r, t,
|
|
186
|
-
var
|
|
187
|
-
if (
|
|
188
|
-
if (
|
|
189
|
-
if (Q(
|
|
190
|
-
for (
|
|
191
|
-
|
|
192
|
-
Object.freeze && Object.freeze(
|
|
168
|
+
function h(e, r, t, n, R, O) {
|
|
169
|
+
var a = r.children;
|
|
170
|
+
if (a !== void 0)
|
|
171
|
+
if (n)
|
|
172
|
+
if (Q(a)) {
|
|
173
|
+
for (n = 0; n < a.length; n++)
|
|
174
|
+
b(a[n]);
|
|
175
|
+
Object.freeze && Object.freeze(a);
|
|
193
176
|
} else
|
|
194
177
|
console.error(
|
|
195
178
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
196
179
|
);
|
|
197
|
-
else
|
|
198
|
-
if (
|
|
199
|
-
|
|
200
|
-
var
|
|
180
|
+
else b(a);
|
|
181
|
+
if (N.call(r, "key")) {
|
|
182
|
+
a = i(e);
|
|
183
|
+
var p = Object.keys(r).filter(function(K) {
|
|
201
184
|
return K !== "key";
|
|
202
185
|
});
|
|
203
|
-
|
|
186
|
+
n = 0 < p.length ? "{key: someKey, " + p.join(": ..., ") + ": ...}" : "{key: someKey}", Y[a + n] || (p = 0 < p.length ? "{" + p.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
204
187
|
`A props object containing a "key" prop is being spread into JSX:
|
|
205
188
|
let props = %s;
|
|
206
189
|
<%s {...props} />
|
|
207
190
|
React keys must be passed directly to JSX without using spread:
|
|
208
191
|
let props = %s;
|
|
209
192
|
<%s key={someKey} {...props} />`,
|
|
193
|
+
n,
|
|
210
194
|
a,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
), L[o + a] = !0);
|
|
195
|
+
p,
|
|
196
|
+
a
|
|
197
|
+
), Y[a + n] = !0);
|
|
215
198
|
}
|
|
216
|
-
if (
|
|
199
|
+
if (a = null, t !== void 0 && (u(t), a = "" + t), f(r) && (u(r.key), a = "" + r.key), "key" in r) {
|
|
217
200
|
t = {};
|
|
218
201
|
for (var w in r)
|
|
219
202
|
w !== "key" && (t[w] = r[w]);
|
|
220
203
|
} else t = r;
|
|
221
|
-
return
|
|
204
|
+
return a && d(
|
|
222
205
|
t,
|
|
223
206
|
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
224
207
|
), g(
|
|
225
208
|
e,
|
|
226
|
-
|
|
227
|
-
i,
|
|
228
|
-
f,
|
|
229
|
-
s(),
|
|
209
|
+
a,
|
|
230
210
|
t,
|
|
231
|
-
|
|
211
|
+
s(),
|
|
212
|
+
R,
|
|
232
213
|
O
|
|
233
214
|
);
|
|
234
215
|
}
|
|
235
|
-
function
|
|
236
|
-
typeof e == "object" && e !== null && e.$$typeof ===
|
|
216
|
+
function b(e) {
|
|
217
|
+
A(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === j && (e._payload.status === "fulfilled" ? A(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
237
218
|
}
|
|
238
|
-
|
|
219
|
+
function A(e) {
|
|
220
|
+
return typeof e == "object" && e !== null && e.$$typeof === P;
|
|
221
|
+
}
|
|
222
|
+
var v = ee, P = Symbol.for("react.transitional.element"), W = Symbol.for("react.portal"), k = Symbol.for("react.fragment"), q = Symbol.for("react.strict_mode"), z = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), U = Symbol.for("react.context"), J = Symbol.for("react.forward_ref"), V = Symbol.for("react.suspense"), B = Symbol.for("react.suspense_list"), X = Symbol.for("react.memo"), j = Symbol.for("react.lazy"), H = Symbol.for("react.activity"), Z = Symbol.for("react.client.reference"), y = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, N = Object.prototype.hasOwnProperty, Q = Array.isArray, S = console.createTask ? console.createTask : function() {
|
|
239
223
|
return null;
|
|
240
224
|
};
|
|
241
|
-
|
|
242
|
-
|
|
225
|
+
v = {
|
|
226
|
+
react_stack_bottom_frame: function(e) {
|
|
243
227
|
return e();
|
|
244
228
|
}
|
|
245
229
|
};
|
|
246
|
-
var
|
|
247
|
-
|
|
230
|
+
var C, F = {}, $ = v.react_stack_bottom_frame.bind(
|
|
231
|
+
v,
|
|
248
232
|
l
|
|
249
|
-
)(),
|
|
250
|
-
|
|
251
|
-
var
|
|
233
|
+
)(), I = S(c(l)), Y = {};
|
|
234
|
+
_.Fragment = k, _.jsx = function(e, r, t) {
|
|
235
|
+
var n = 1e4 > y.recentlyCreatedOwnerStacks++;
|
|
252
236
|
return h(
|
|
253
237
|
e,
|
|
254
238
|
r,
|
|
255
239
|
t,
|
|
256
240
|
!1,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
i ? Error("react-stack-top-frame") : Y,
|
|
260
|
-
i ? S(d(e)) : $
|
|
241
|
+
n ? Error("react-stack-top-frame") : $,
|
|
242
|
+
n ? S(c(e)) : I
|
|
261
243
|
);
|
|
262
|
-
},
|
|
263
|
-
var
|
|
244
|
+
}, _.jsxs = function(e, r, t) {
|
|
245
|
+
var n = 1e4 > y.recentlyCreatedOwnerStacks++;
|
|
264
246
|
return h(
|
|
265
247
|
e,
|
|
266
248
|
r,
|
|
267
249
|
t,
|
|
268
250
|
!0,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
i ? Error("react-stack-top-frame") : Y,
|
|
272
|
-
i ? S(d(e)) : $
|
|
251
|
+
n ? Error("react-stack-top-frame") : $,
|
|
252
|
+
n ? S(c(e)) : I
|
|
273
253
|
);
|
|
274
254
|
};
|
|
275
|
-
}()),
|
|
255
|
+
})()), _;
|
|
256
|
+
}
|
|
257
|
+
var M;
|
|
258
|
+
function ae() {
|
|
259
|
+
return M || (M = 1, process.env.NODE_ENV === "production" ? x.exports = te() : x.exports = ne()), x.exports;
|
|
276
260
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
className: b = "",
|
|
261
|
+
var o = ae();
|
|
262
|
+
const se = ({
|
|
263
|
+
children: i,
|
|
264
|
+
className: m = "",
|
|
282
265
|
backdropBlur: u = 2,
|
|
283
|
-
tintColor:
|
|
266
|
+
tintColor: c = "rgba(255, 255, 255, .2)",
|
|
284
267
|
displacementScale: s = 150,
|
|
285
268
|
turbulenceBaseFrequency: l = "0.008 0.008",
|
|
286
|
-
turbulenceSeed:
|
|
287
|
-
as:
|
|
269
|
+
turbulenceSeed: f = 1.5,
|
|
270
|
+
as: d = "div",
|
|
288
271
|
style: T,
|
|
289
272
|
...g
|
|
290
273
|
}) => {
|
|
291
|
-
const
|
|
292
|
-
return /* @__PURE__ */
|
|
293
|
-
/* @__PURE__ */
|
|
274
|
+
const b = `liquid-glass-${re().replace(/:/g, "-")}`;
|
|
275
|
+
return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
276
|
+
/* @__PURE__ */ o.jsx("svg", { style: { display: "none" }, children: /* @__PURE__ */ o.jsxs(
|
|
294
277
|
"filter",
|
|
295
278
|
{
|
|
296
|
-
id:
|
|
279
|
+
id: b,
|
|
297
280
|
x: "0%",
|
|
298
281
|
y: "0%",
|
|
299
282
|
width: "100%",
|
|
300
283
|
height: "100%",
|
|
301
284
|
filterUnits: "objectBoundingBox",
|
|
302
285
|
children: [
|
|
303
|
-
/* @__PURE__ */
|
|
286
|
+
/* @__PURE__ */ o.jsx(
|
|
304
287
|
"feTurbulence",
|
|
305
288
|
{
|
|
306
289
|
type: "fractalNoise",
|
|
307
290
|
baseFrequency: l,
|
|
308
291
|
numOctaves: 1,
|
|
309
|
-
seed:
|
|
292
|
+
seed: f,
|
|
310
293
|
result: "turbulence"
|
|
311
294
|
}
|
|
312
295
|
),
|
|
313
|
-
/* @__PURE__ */
|
|
314
|
-
/* @__PURE__ */
|
|
315
|
-
/* @__PURE__ */
|
|
316
|
-
/* @__PURE__ */
|
|
296
|
+
/* @__PURE__ */ o.jsxs("feComponentTransfer", { in: "turbulence", result: "mapped", children: [
|
|
297
|
+
/* @__PURE__ */ o.jsx("feFuncR", { type: "gamma", amplitude: 1, exponent: 10, offset: 0.5 }),
|
|
298
|
+
/* @__PURE__ */ o.jsx("feFuncG", { type: "gamma", amplitude: 0, exponent: 1, offset: 0 }),
|
|
299
|
+
/* @__PURE__ */ o.jsx("feFuncB", { type: "gamma", amplitude: 0, exponent: 1, offset: 0.5 })
|
|
317
300
|
] }),
|
|
318
|
-
/* @__PURE__ */
|
|
319
|
-
/* @__PURE__ */
|
|
301
|
+
/* @__PURE__ */ o.jsx("feGaussianBlur", { in: "turbulence", stdDeviation: 3, result: "softMap" }),
|
|
302
|
+
/* @__PURE__ */ o.jsx(
|
|
320
303
|
"feSpecularLighting",
|
|
321
304
|
{
|
|
322
305
|
in: "softMap",
|
|
@@ -325,10 +308,10 @@ const oe = ({
|
|
|
325
308
|
specularExponent: 100,
|
|
326
309
|
lightingColor: "white",
|
|
327
310
|
result: "specLight",
|
|
328
|
-
children: /* @__PURE__ */
|
|
311
|
+
children: /* @__PURE__ */ o.jsx("fePointLight", { x: -200, y: -200, z: 300 })
|
|
329
312
|
}
|
|
330
313
|
),
|
|
331
|
-
/* @__PURE__ */
|
|
314
|
+
/* @__PURE__ */ o.jsx(
|
|
332
315
|
"feComposite",
|
|
333
316
|
{
|
|
334
317
|
in: "specLight",
|
|
@@ -340,7 +323,7 @@ const oe = ({
|
|
|
340
323
|
result: "litImage"
|
|
341
324
|
}
|
|
342
325
|
),
|
|
343
|
-
/* @__PURE__ */
|
|
326
|
+
/* @__PURE__ */ o.jsx(
|
|
344
327
|
"feDisplacementMap",
|
|
345
328
|
{
|
|
346
329
|
in: "SourceGraphic",
|
|
@@ -353,43 +336,43 @@ const oe = ({
|
|
|
353
336
|
]
|
|
354
337
|
}
|
|
355
338
|
) }),
|
|
356
|
-
/* @__PURE__ */
|
|
357
|
-
|
|
339
|
+
/* @__PURE__ */ o.jsxs(
|
|
340
|
+
d,
|
|
358
341
|
{
|
|
359
|
-
className: `relative overflow-hidden ${
|
|
342
|
+
className: `relative overflow-hidden ${m}`,
|
|
360
343
|
style: {
|
|
361
344
|
boxShadow: "0 6px 6px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1)",
|
|
362
345
|
...T
|
|
363
346
|
},
|
|
364
347
|
...g,
|
|
365
348
|
children: [
|
|
366
|
-
/* @__PURE__ */
|
|
349
|
+
/* @__PURE__ */ o.jsx(
|
|
367
350
|
"div",
|
|
368
351
|
{
|
|
369
352
|
className: "absolute inset-0 z-0 overflow-hidden",
|
|
370
353
|
style: {
|
|
371
354
|
backdropFilter: `blur(${u}px)`,
|
|
372
355
|
WebkitBackdropFilter: `blur(${u}px)`,
|
|
373
|
-
filter: `url(#${
|
|
356
|
+
filter: `url(#${b})`,
|
|
374
357
|
isolation: "isolate"
|
|
375
358
|
}
|
|
376
359
|
}
|
|
377
360
|
),
|
|
378
|
-
/* @__PURE__ */
|
|
361
|
+
/* @__PURE__ */ o.jsx(
|
|
379
362
|
"div",
|
|
380
363
|
{
|
|
381
364
|
className: "absolute inset-0 z-[1]",
|
|
382
365
|
style: {
|
|
383
|
-
background:
|
|
366
|
+
background: c
|
|
384
367
|
}
|
|
385
368
|
}
|
|
386
369
|
),
|
|
387
|
-
/* @__PURE__ */
|
|
370
|
+
/* @__PURE__ */ o.jsx("div", { className: "relative z-[2]", children: i })
|
|
388
371
|
]
|
|
389
372
|
}
|
|
390
373
|
)
|
|
391
374
|
] });
|
|
392
375
|
};
|
|
393
376
|
export {
|
|
394
|
-
|
|
377
|
+
se as LiquidGlass
|
|
395
378
|
};
|
package/dist/index.umd.js
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var C;function z(){if(C)return x;C=1;var u=Symbol.for("react.transitional.element"),v=Symbol.for("react.fragment");function c(m,s,l){var p=null;if(l!==void 0&&(p=""+l),s.key!==void 0&&(p=""+s.key),"key"in s){l={};for(var b in s)b!=="key"&&(l[b]=s[b])}else l=s;return s=l.ref,{$$typeof:u,type:m,key:p,ref:s!==void 0?s:null,props:l}}return x.Fragment=v,x.jsx=c,x.jsxs=c,x}var T={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var F;function U(){return F||(F=1,process.env.NODE_ENV!=="production"&&function(){function u(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===te?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case S:return"Fragment";case J:return"Profiler";case B:return"StrictMode";case Q:return"Suspense";case K:return"SuspenseList";case re: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 V:return"Portal";case H:return(e.displayName||"Context")+".Provider";case X:return(e._context.displayName||"Context")+".Consumer";case Z:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ee:return r=e.displayName||null,r!==null?r:u(e.type)||"Memo";case Y:r=e._payload,e=e._init;try{return u(e(r))}catch{}}return null}function v(e){return""+e}function c(e){try{v(e);var r=!1}catch{r=!0}if(r){r=console;var t=r.error,a=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",a),v(e)}}function m(e){if(e===S)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===Y)return"<...>";try{var r=u(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function s(){var e=O.A;return e===null?null:e.getOwner()}function l(){return Error("react-stack-top-frame")}function p(e){if(L.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function b(e,r){function t(){M||(M=!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)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}function j(){var e=u(this.type);return $[e]||($[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?e:null}function k(e,r,t,a,f,i,A,P){return t=i.ref,e={$$typeof:I,type:e,key:r,props:i,_owner:f},(t!==void 0?t:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:j}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),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:A}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:P}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function y(e,r,t,a,f,i,A,P){var o=r.children;if(o!==void 0)if(a)if(ne(o)){for(a=0;a<o.length;a++)_(o[a]);Object.freeze&&Object.freeze(o)}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 _(o);if(L.call(r,"key")){o=u(e);var R=Object.keys(r).filter(function(ae){return ae!=="key"});a=0<R.length?"{key: someKey, "+R.join(": ..., ")+": ...}":"{key: someKey}",W[o+a]||(R=0<R.length?"{"+R.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
1
|
+
(function(c,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],p):(c=typeof globalThis<"u"?globalThis:c||self,p(c.LiquidGlass={},c.React))})(this,(function(c,p){"use strict";var x={exports:{}},_={};var N;function W(){if(N)return _;N=1;var i=Symbol.for("react.transitional.element"),b=Symbol.for("react.fragment");function u(f,s,l){var d=null;if(l!==void 0&&(d=""+l),s.key!==void 0&&(d=""+s.key),"key"in s){l={};for(var m in s)m!=="key"&&(l[m]=s[m])}else l=s;return s=l.ref,{$$typeof:i,type:f,key:d,ref:s!==void 0?s:null,props:l}}return _.Fragment=b,_.jsx=u,_.jsxs=u,_}var v={};var C;function z(){return C||(C=1,process.env.NODE_ENV!=="production"&&(function(){function i(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ne?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case y:return"Fragment";case X:return"Profiler";case B:return"StrictMode";case K:return"Suspense";case ee:return"SuspenseList";case te: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 V:return"Portal";case Z:return e.displayName||"Context";case H:return(e._context.displayName||"Context")+".Consumer";case Q:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case re:return r=e.displayName||null,r!==null?r:i(e.type)||"Memo";case S:r=e._payload,e=e._init;try{return i(e(r))}catch{}}return null}function b(e){return""+e}function u(e){try{b(e);var r=!1}catch{r=!0}if(r){r=console;var t=r.error,n=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",n),b(e)}}function f(e){if(e===y)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===S)return"<...>";try{var r=i(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function s(){var e=O.A;return e===null?null:e.getOwner()}function l(){return Error("react-stack-top-frame")}function d(e){if(L.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function m(e,r){function t(){$||($=!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)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}function g(){var e=i(this.type);return M[e]||(M[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?e:null}function j(e,r,t,n,h,A){var a=t.ref;return e={$$typeof:Y,type:e,key:r,props:t,_owner:n},(a!==void 0?a:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:g}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),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:h}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:A}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function k(e,r,t,n,h,A){var a=r.children;if(a!==void 0)if(n)if(ae(a)){for(n=0;n<a.length;n++)R(a[n]);Object.freeze&&Object.freeze(a)}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 R(a);if(L.call(r,"key")){a=i(e);var E=Object.keys(r).filter(function(oe){return oe!=="key"});n=0<E.length?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}",q[a+n]||(E=0<E.length?"{"+E.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
2
|
let props = %s;
|
|
19
3
|
<%s {...props} />
|
|
20
4
|
React keys must be passed directly to JSX without using spread:
|
|
21
5
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,a,
|
|
6
|
+
<%s key={someKey} {...props} />`,n,a,E,a),q[a+n]=!0)}if(a=null,t!==void 0&&(u(t),a=""+t),d(r)&&(u(r.key),a=""+r.key),"key"in r){t={};for(var P in r)P!=="key"&&(t[P]=r[P])}else t=r;return a&&m(t,typeof e=="function"?e.displayName||e.name||"Unknown":e),j(e,a,t,s(),h,A)}function R(e){I(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===S&&(e._payload.status==="fulfilled"?I(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function I(e){return typeof e=="object"&&e!==null&&e.$$typeof===Y}var T=p,Y=Symbol.for("react.transitional.element"),V=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),B=Symbol.for("react.strict_mode"),X=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),Q=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),te=Symbol.for("react.activity"),ne=Symbol.for("react.client.reference"),O=T.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=Object.prototype.hasOwnProperty,ae=Array.isArray,w=console.createTask?console.createTask:function(){return null};T={react_stack_bottom_frame:function(e){return e()}};var $,M={},D=T.react_stack_bottom_frame.bind(T,l)(),G=w(f(l)),q={};v.Fragment=y,v.jsx=function(e,r,t){var n=1e4>O.recentlyCreatedOwnerStacks++;return k(e,r,t,!1,n?Error("react-stack-top-frame"):D,n?w(f(e)):G)},v.jsxs=function(e,r,t){var n=1e4>O.recentlyCreatedOwnerStacks++;return k(e,r,t,!0,n?Error("react-stack-top-frame"):D,n?w(f(e)):G)}})()),v}var F;function U(){return F||(F=1,process.env.NODE_ENV==="production"?x.exports=W():x.exports=z()),x.exports}var o=U();const J=({children:i,className:b="",backdropBlur:u=2,tintColor:f="rgba(255, 255, 255, .2)",displacementScale:s=150,turbulenceBaseFrequency:l="0.008 0.008",turbulenceSeed:d=1.5,as:m="div",style:g,...j})=>{const R=`liquid-glass-${p.useId().replace(/:/g,"-")}`;return o.jsxs(o.Fragment,{children:[o.jsx("svg",{style:{display:"none"},children:o.jsxs("filter",{id:R,x:"0%",y:"0%",width:"100%",height:"100%",filterUnits:"objectBoundingBox",children:[o.jsx("feTurbulence",{type:"fractalNoise",baseFrequency:l,numOctaves:1,seed:d,result:"turbulence"}),o.jsxs("feComponentTransfer",{in:"turbulence",result:"mapped",children:[o.jsx("feFuncR",{type:"gamma",amplitude:1,exponent:10,offset:.5}),o.jsx("feFuncG",{type:"gamma",amplitude:0,exponent:1,offset:0}),o.jsx("feFuncB",{type:"gamma",amplitude:0,exponent:1,offset:.5})]}),o.jsx("feGaussianBlur",{in:"turbulence",stdDeviation:3,result:"softMap"}),o.jsx("feSpecularLighting",{in:"softMap",surfaceScale:5,specularConstant:1,specularExponent:100,lightingColor:"white",result:"specLight",children:o.jsx("fePointLight",{x:-200,y:-200,z:300})}),o.jsx("feComposite",{in:"specLight",operator:"arithmetic",k1:0,k2:1,k3:1,k4:0,result:"litImage"}),o.jsx("feDisplacementMap",{in:"SourceGraphic",in2:"softMap",scale:s,xChannelSelector:"R",yChannelSelector:"G"})]})}),o.jsxs(m,{className:`relative overflow-hidden ${b}`,style:{boxShadow:"0 6px 6px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1)",...g},...j,children:[o.jsx("div",{className:"absolute inset-0 z-0 overflow-hidden",style:{backdropFilter:`blur(${u}px)`,WebkitBackdropFilter:`blur(${u}px)`,filter:`url(#${R})`,isolation:"isolate"}}),o.jsx("div",{className:"absolute inset-0 z-[1]",style:{background:f}}),o.jsx("div",{className:"relative z-[2]",children:i})]})]})};c.LiquidGlass=J,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-lg:0 4px 4px #00000026;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.aspect-square{aspect-ratio:1}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.uppercase{text-transform:uppercase}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@creativoma/liquid-glass",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A React wrapper component with liquid frosted glass effect using TailwindCSS",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
23
|
"README.md",
|
|
24
|
+
"CHANGELOG.md",
|
|
24
25
|
"LICENSE"
|
|
25
26
|
],
|
|
26
27
|
"sideEffects": false,
|
|
@@ -47,27 +48,27 @@
|
|
|
47
48
|
"react-dom": ">=18.0.0"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"@types/
|
|
53
|
-
"@types/react
|
|
54
|
-
"@
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"globals": "^16.1.0",
|
|
59
|
-
"react-dom": "^19.1.0",
|
|
60
|
-
"tailwindcss": "^4.1.7",
|
|
61
|
-
"typescript": "^5.8.3",
|
|
62
|
-
"vite": "^5.0.8",
|
|
63
|
-
"vite-plugin-dts": "^3.6.4",
|
|
64
|
-
"prettier": "^3.5.3",
|
|
65
|
-
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
66
|
-
"@eslint/js": "^9.27.0",
|
|
67
|
-
"eslint": "^9.27.0",
|
|
51
|
+
"@eslint/js": "^9.39.1",
|
|
52
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
53
|
+
"@types/node": "^20.19.25",
|
|
54
|
+
"@types/react": "^19.2.7",
|
|
55
|
+
"@types/react-dom": "^19.2.3",
|
|
56
|
+
"@vitejs/plugin-react": "^4.7.0",
|
|
57
|
+
"autoprefixer": "^10.4.22",
|
|
58
|
+
"eslint": "^9.39.1",
|
|
68
59
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
69
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
70
|
-
"
|
|
60
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
61
|
+
"globals": "^16.5.0",
|
|
62
|
+
"postcss": "^8.5.6",
|
|
63
|
+
"prettier": "^3.7.4",
|
|
64
|
+
"prettier-plugin-tailwindcss": "^0.6.14",
|
|
65
|
+
"react": "^19.2.1",
|
|
66
|
+
"react-dom": "^19.2.1",
|
|
67
|
+
"tailwindcss": "^4.1.17",
|
|
68
|
+
"typescript": "^5.9.3",
|
|
69
|
+
"typescript-eslint": "^8.48.1",
|
|
70
|
+
"vite": "^7.2.6",
|
|
71
|
+
"vite-plugin-dts": "^4.5.4"
|
|
71
72
|
},
|
|
72
73
|
"publishConfig": {
|
|
73
74
|
"registry": "https://registry.npmjs.org/",
|
package/dist/style.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-lg:0 4px 4px #00000026;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.aspect-square{aspect-ratio:1}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.uppercase{text-transform:uppercase}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|