Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules/
.claude
DEV.md
DEV.md
dist/
5 changes: 5 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules/
.claude
DEV.md
demo/
dist/demo/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

A lightweight, customizable solid glass effect library for modern web applications. Create Apple-like glass effects with dynamic distortion, customizable tints, and smooth animations.

![Solid Glass Demo](demo.png)
![Solid Glass Demo](https://github.com/iplanwebsites/solid-glass/blob/main/demo/demo.png?raw=true)

🚀 **[Live Demo](https://iplanwebsites.github.io/solid-glass/)**

Expand Down
File renamed without changes
72 changes: 0 additions & 72 deletions dist/react.esm.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/react.js

This file was deleted.

11 changes: 0 additions & 11 deletions dist/solid-glass.esm.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/solid-glass.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/style.css

This file was deleted.

83 changes: 0 additions & 83 deletions dist/utils-BuTN5SEH.mjs

This file was deleted.

9 changes: 0 additions & 9 deletions dist/utils-DYbhshKv.js

This file was deleted.

6 changes: 0 additions & 6 deletions dist/vanilla.esm.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/vanilla.js

This file was deleted.

104 changes: 0 additions & 104 deletions dist/vue.esm.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/vue.js

This file was deleted.

4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
},
"scripts": {
"dev": "vite",
"dev:demo": "vite --mode demo",
"build": "vite build",
"build:demo": "vite build --mode demo",
"preview": "vite preview"
Expand Down
18 changes: 15 additions & 3 deletions src/core/LiquidGlass.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
export class LiquidGlass {
static shouldUseAlternativeFallback;

constructor(element, options = {}) {
this.element = element;
this.options = {
Expand Down Expand Up @@ -26,12 +28,22 @@ export class LiquidGlass {
};

this.svgId = `glass-distortion-${Math.random().toString(36).substr(2, 9)}`;

if (LiquidGlass.shouldUseAlternativeFallback === undefined) {
LiquidGlass.shouldUseAlternativeFallback = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
}

this.init();
}

init() {
this.element.classList.add('solid-glass');
this.createSVGFilter();
if (LiquidGlass.shouldUseAlternativeFallback) {
this.element.classList.add('solid-glass-alternative');
} else {
this.element.classList.add('solid-glass');
this.createSVGFilter();
}

this.updateStyles();
}

Expand Down Expand Up @@ -102,7 +114,7 @@ export class LiquidGlass {
}

destroy() {
this.element.classList.remove('solid-glass');
this.element.classList.remove('solid-glass', 'solid-glass-alternative');
const svg = document.getElementById(this.svgId)?.parentElement;
if (svg) {
svg.remove();
Expand Down
Loading