№ 03 · Vanilla JS · WebGL

Liquid Glass JS

تأثير زجاج Apple بانكسار ضوئي حقيقي (refraction) على عناصر الواجهة — بدون React، JavaScript خالص.

Package
liquid-glass-js
By
dashersw
License
MIT
A / ديمو حيّ

زجاج بينكسر على الخلفية

Liquid Glass

اللوح ده شفّاف وبينكسر على النص اللي وراه — refraction حقيقي عبر فلتر SVG.

roundedtint 0.12blur 2px
SVG displacement refraction · live

الديمو ده بيوضّح التأثير بفلتر SVG. المكتبة نفسها بتعمله بـ WebGL shaders مع html2canvas (الكود تحت ↓).

B / إيه اللي أقدر أعمله بيها

استخدامات Mahmoud Ghazal

01

Nav bar زجاجي

شريط تنقّل عائم بإحساس iOS فوق المحتوى.

02

أزرار FAB

أزرار عائمة زجاجية لافتة بانكسار حيّ.

03

مشغّل موسيقى

Widget تحكّم بإحساس Apple Music.

04

لوحات تحكّم

Control panels وإعدادات بطبقات زجاج متداخلة.

05

Overlays / Toasts

إشعارات ونوافذ منبثقة شفّافة أنيقة.

06

واجهات بإحساس iOS 18

أي UI عايزه يبان premium وحديث.

C / التنصيب والكود

ابدأ في دقيقة

npm i liquid-glass-js
index.html
<!-- يعتمد على html2canvas لأخذ عيّنة من الخلفية -->
<script src="https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"></script>
<script src="container.js"></script>
<script src="button.js"></script>

<script>
  // زر زجاجي
  const button = new Button({
    text: 'Mahmoud', size: 32, type: 'rounded',
    onClick: () => alert('Hello Glass!')
  })
  document.body.appendChild(button.element)

  // حاوية بأزرار متداخلة (الزجاج بيأخذ عيّنة من الأب)
  const bar = new Container({ borderRadius: 24, type: 'pill', tintOpacity: 0.3 })
  bar.addChild(button)
</script>