@shulya/liquid-glass 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,80 @@
1
+ export interface LiquidGlassOptions {
2
+ /**
3
+ * Optical rim bevel width in pixels (default: 16, min: 4, max: 48)
4
+ */
5
+ rim?: number;
6
+
7
+ /**
8
+ * Index of Refraction (default: 1.46, min: 1.05, max: 2.20)
9
+ */
10
+ ior?: number;
11
+
12
+ /**
13
+ * Optical surface height / thickness in pixels (default: 18, min: 2, max: 50)
14
+ */
15
+ height?: number;
16
+
17
+ /**
18
+ * Frosted blur intensity in pixels (default: 0, min: 0, max: 32)
19
+ */
20
+ frosted?: number;
21
+
22
+ /**
23
+ * Enable liquid coalescence with neighboring glass elements (default: true).
24
+ * Set to false for static/isolated blocks to bypass proximity checks and maximize performance.
25
+ */
26
+ fusion?: boolean;
27
+
28
+ /**
29
+ * Dynamically enable or pause the Liquid Glass optical effect (default: true).
30
+ */
31
+ enabled?: boolean;
32
+
33
+ /**
34
+ * Optional border radius override in pixels
35
+ */
36
+ borderRadius?: number | null;
37
+ }
38
+
39
+ export declare const OPTICAL_DEFAULTS: Readonly<{
40
+ rim: 16;
41
+ ior: 1.46;
42
+ height: 18;
43
+ frosted: 0;
44
+ fusion: true;
45
+ }>;
46
+
47
+ export declare const OPTICAL_LIMITS: Readonly<{
48
+ rim: Readonly<{ min: 4; max: 48 }>;
49
+ ior: Readonly<{ min: 1.05; max: 2.2 }>;
50
+ height: Readonly<{ min: 2; max: 50 }>;
51
+ frosted: Readonly<{ min: 0; max: 32 }>;
52
+ }>;
53
+
54
+ export declare function normalizeOptions(options?: LiquidGlassOptions): Required<LiquidGlassOptions>;
55
+
56
+ export declare class LiquidGlassController {
57
+ element: HTMLElement;
58
+ options: Required<LiquidGlassOptions>;
59
+ constructor(element: HTMLElement, options?: LiquidGlassOptions);
60
+ isTouchingAny(threshold?: number): boolean;
61
+ update(newOptions: Partial<LiquidGlassOptions>): void;
62
+ refresh(): void;
63
+ destroy(): void;
64
+ }
65
+
66
+ export declare function createLiquidGlass(
67
+ target: string | HTMLElement,
68
+ options?: LiquidGlassOptions
69
+ ): LiquidGlassController;
70
+
71
+ export declare function scheduleStageRedraw(): void;
72
+
73
+ export declare function sampleTable(table: Float32Array, u: number): number;
74
+ export declare function blendSurfaces(d1: number, d2: number, span: number): number;
75
+
76
+ export declare const _T0: Float32Array;
77
+ export declare const _T1: Float32Array;
78
+ export declare const _T2: Float32Array;
79
+ export declare const _T3: Float32Array;
80
+ export declare const _T4: Float32Array;
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ import {
3
+ LiquidGlassOptions,
4
+ LiquidGlassController,
5
+ OPTICAL_DEFAULTS,
6
+ OPTICAL_LIMITS,
7
+ scheduleStageRedraw
8
+ } from './index';
9
+
10
+ export interface LiquidGlassProps
11
+ extends LiquidGlassOptions,
12
+ React.HTMLAttributes<HTMLElement>,
13
+ React.AnchorHTMLAttributes<HTMLAnchorElement>,
14
+ React.ButtonHTMLAttributes<HTMLButtonElement> {
15
+ as?: React.ElementType;
16
+ children?: React.ReactNode;
17
+ [key: string]: any;
18
+ }
19
+
20
+ export declare function useLiquidGlass<T extends HTMLElement = HTMLDivElement>(
21
+ options?: LiquidGlassOptions
22
+ ): React.MutableRefObject<T | null>;
23
+
24
+ export declare const LiquidGlass: React.ForwardRefExoticComponent<
25
+ LiquidGlassProps & React.RefAttributes<HTMLElement>
26
+ >;
27
+
28
+ export { LiquidGlassController, OPTICAL_DEFAULTS, OPTICAL_LIMITS, scheduleStageRedraw };
29
+ export default LiquidGlass;
@@ -0,0 +1,14 @@
1
+ import { LiquidGlassOptions, LiquidGlassController } from './index';
2
+
3
+ export declare function liquidGlass(
4
+ el: HTMLElement,
5
+ accessor: () => LiquidGlassOptions | LiquidGlassOptions
6
+ ): LiquidGlassController;
7
+
8
+ export declare function LiquidGlass(
9
+ props: LiquidGlassOptions & { ref?: (el: HTMLElement) => void; children?: any }
10
+ ): any;
11
+
12
+ export { LiquidGlassController };
13
+ export default liquidGlass;
14
+
@@ -0,0 +1,15 @@
1
+ import { LiquidGlassOptions, LiquidGlassController } from './index';
2
+
3
+ export interface SvelteActionReturn {
4
+ update: (newOptions?: LiquidGlassOptions) => void;
5
+ destroy: () => void;
6
+ }
7
+
8
+ export declare function liquidGlass(
9
+ node: HTMLElement,
10
+ options?: LiquidGlassOptions
11
+ ): SvelteActionReturn;
12
+
13
+ export { LiquidGlassController };
14
+ export default liquidGlass;
15
+
package/types/vue.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { Directive, DefineComponent, Plugin } from 'vue';
2
+ import { LiquidGlassOptions, LiquidGlassController } from './index';
3
+
4
+ export declare const vLiquidGlass: Directive<HTMLElement, LiquidGlassOptions>;
5
+
6
+ export declare const LiquidGlass: DefineComponent<{
7
+ rim?: number;
8
+ ior?: number;
9
+ height?: number;
10
+ frosted?: number;
11
+ fusion?: boolean;
12
+ borderRadius?: number | null;
13
+ tag?: string;
14
+ }>;
15
+
16
+ export declare const LiquidGlassPlugin: Plugin;
17
+
18
+ export { LiquidGlassController };
19
+ export default LiquidGlass;