zentak-glass-ui 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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Akila Keshara
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,78 @@
1
+ <div align="center">
2
+ <br />
3
+ <h1>โœจ Zentak Glass UI</h1>
4
+ <p>
5
+ <strong>A modern, stunning, copy-paste glassmorphism component library built with React & Tailwind CSS.</strong>
6
+ </p>
7
+ <p>
8
+ <a href="https://zentak-glass-ui.netlify.app/"><strong>Live Demo</strong></a> ยท
9
+ <a href="https://github.com/akilakeshara/zentak-glass-ui"><strong>GitHub Repo</strong></a>
10
+ </p>
11
+ <br />
12
+ <img src="./public/preview.png" alt="Zentak Glass UI Preview" width="800" style="border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.5);" />
13
+ <br /><br />
14
+ </div>
15
+
16
+ ## ๐ŸŒŒ The Future of UI Aesthetics
17
+ Zentak Glass UI pushes the boundaries of modern frontal aesthetics by providing a beautiful, pure glassmorphism design system.
18
+
19
+ Say goodbye to complex npm packages and rigid component APIs. **Zentak** is an open-source, beautifully crafted collection of UI components that you simply **copy and paste** directly into your React + Tailwind codebase. Total ownership, ultimate customizability, and jaw-dropping visual fidelity.
20
+
21
+ ---
22
+
23
+ ## ๐Ÿš€ Features
24
+
25
+ - ๐Ÿ’ง **Unmatched Glassmorphism:** Deep, semi-transparent layers, powerful backdrop-blurs, subtle white borders, and immersive drop shadows out of the box.
26
+ - ๐ŸŽจ **Pure Tailwind CSS:** Zero new dependencies or messy CSS files. Everything is styled entirely with standard, highly-readable Tailwind utility classes.
27
+ - โšก **Copy-Paste Ready:** No `npm install zentak-ui`. Just browse the live gallery, preview the components, click copy, and paste the raw React code right into your project.
28
+ - ๐Ÿ“ฑ **Fully Responsive:** All layout and component structural grids are flawlessly responsive to shine on desktop, tablet, and mobile displays.
29
+ - ๐ŸŽจ **Theme-agnostic Base:** Neutral glass tones map beautifully over any vibrant background, image, or gradient you place behind it.
30
+
31
+ ---
32
+
33
+ ## ๐Ÿ› ๏ธ Quick Start / How to Use
34
+
35
+ Zentak UI is designed to be frictionless.
36
+
37
+ 1. **Browse** โ€“ Visit the [Live Demo](https://zentak-glass-ui.netlify.app/).
38
+ 2. **Preview** โ€“ Explore the components grid. Click any component card to open the **Code Viewer Modal**.
39
+ 3. **Copy Code** โ€“ Review the live interactive preview on the left, and hit the **"Copy Code"** button on the right to grab the raw React JSX string.
40
+ 4. **Paste & Go!** โ€“ Paste the component anywhere in your Tailwind-enabled React project. Customize freely!
41
+
42
+ ---
43
+
44
+ ## ๐Ÿ“ฆ Components Included
45
+
46
+ The current stable release of Zentak UI includes meticulously crafted glass-variants for standard UI primitives:
47
+
48
+ - **Buttons:** Dynamic scale-up on hover with active press-states and inner shimmer effects.
49
+ - **Inputs:** Semi-transparent form fields with beautiful fuchsia-tinted focus rings.
50
+ - **Profile Cards:** Avatar display cards with skeleton layouts and soft background glares.
51
+ - **Toggles:** Completely CSS-driven, smooth animated switches.
52
+ - **Badges:** Colored status indicators (New, Verified, Pending) with subtle tinted glowing blurs.
53
+ - **Toasts:** Non-intrusive notification popups rigged with slide-in animations.
54
+
55
+ ---
56
+
57
+ ## ๐Ÿค Contributing
58
+
59
+ Zentak Glass UI is open source! Feel free to fork the repository, build your own jaw-dropping glassmorphic components, and submit a Pull Request.
60
+
61
+ 1. Fork the Project
62
+ 2. Create your Feature Branch (`git checkout -b feature/AmazingComponent`)
63
+ 3. Commit your Changes (`git commit -m 'Add some AmazingComponent'`)
64
+ 4. Push to the Branch (`git push origin feature/AmazingComponent`)
65
+ 5. Open a Pull Request
66
+
67
+ ---
68
+
69
+ ## ๐Ÿ“„ License
70
+
71
+ Distributed under the MIT License. See `LICENSE` for more information.
72
+
73
+ ---
74
+
75
+ <div align="center">
76
+ <p>Built with โค๏ธ using React and Tailwind CSS v4</p>
77
+ </div>
78
+
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
package/dist/icons.svg ADDED
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
Binary file
@@ -0,0 +1,856 @@
1
+ import { useState as e } from "react";
2
+ //#region \0rolldown/runtime.js
3
+ var t = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), n = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
4
+ if (typeof require < "u") return require.apply(this, arguments);
5
+ 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.");
6
+ }), r = /* @__PURE__ */ t(((e) => {
7
+ var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
8
+ function r(e, n, r) {
9
+ var i = null;
10
+ 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]);
11
+ else r = n;
12
+ return n = r.ref, {
13
+ $$typeof: t,
14
+ type: e,
15
+ key: i,
16
+ ref: n === void 0 ? null : n,
17
+ props: r
18
+ };
19
+ }
20
+ e.Fragment = n, e.jsx = r, e.jsxs = r;
21
+ })), i = /* @__PURE__ */ t(((e) => {
22
+ process.env.NODE_ENV !== "production" && (function() {
23
+ function t(e) {
24
+ if (e == null) return null;
25
+ if (typeof e == "function") return e.$$typeof === k ? null : e.displayName || e.name || null;
26
+ if (typeof e == "string") return e;
27
+ switch (e) {
28
+ case v: return "Fragment";
29
+ case b: return "Profiler";
30
+ case y: return "StrictMode";
31
+ case w: return "Suspense";
32
+ case T: return "SuspenseList";
33
+ case O: return "Activity";
34
+ }
35
+ 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) {
36
+ case _: return "Portal";
37
+ case S: return e.displayName || "Context";
38
+ case x: return (e._context.displayName || "Context") + ".Consumer";
39
+ case C:
40
+ var n = e.render;
41
+ return e = e.displayName, e ||= (e = n.displayName || n.name || "", e === "" ? "ForwardRef" : "ForwardRef(" + e + ")"), e;
42
+ case E: return n = e.displayName || null, n === null ? t(e.type) || "Memo" : n;
43
+ case D:
44
+ n = e._payload, e = e._init;
45
+ try {
46
+ return t(e(n));
47
+ } catch {}
48
+ }
49
+ return null;
50
+ }
51
+ function r(e) {
52
+ return "" + e;
53
+ }
54
+ function i(e) {
55
+ try {
56
+ r(e);
57
+ var t = !1;
58
+ } catch {
59
+ t = !0;
60
+ }
61
+ if (t) {
62
+ t = console;
63
+ var n = t.error, i = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
64
+ return n.call(t, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", i), r(e);
65
+ }
66
+ }
67
+ function a(e) {
68
+ if (e === v) return "<>";
69
+ if (typeof e == "object" && e && e.$$typeof === D) return "<...>";
70
+ try {
71
+ var n = t(e);
72
+ return n ? "<" + n + ">" : "<...>";
73
+ } catch {
74
+ return "<...>";
75
+ }
76
+ }
77
+ function o() {
78
+ var e = A.A;
79
+ return e === null ? null : e.getOwner();
80
+ }
81
+ function s() {
82
+ return Error("react-stack-top-frame");
83
+ }
84
+ function c(e) {
85
+ if (j.call(e, "key")) {
86
+ var t = Object.getOwnPropertyDescriptor(e, "key").get;
87
+ if (t && t.isReactWarning) return !1;
88
+ }
89
+ return e.key !== void 0;
90
+ }
91
+ function l(e, t) {
92
+ function n() {
93
+ 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));
94
+ }
95
+ n.isReactWarning = !0, Object.defineProperty(e, "key", {
96
+ get: n,
97
+ configurable: !0
98
+ });
99
+ }
100
+ function u() {
101
+ var e = t(this.type);
102
+ 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;
103
+ }
104
+ function d(e, t, n, r, i, a) {
105
+ var o = n.ref;
106
+ return e = {
107
+ $$typeof: g,
108
+ type: e,
109
+ key: t,
110
+ props: n,
111
+ _owner: r
112
+ }, (o === void 0 ? null : o) === null ? Object.defineProperty(e, "ref", {
113
+ enumerable: !1,
114
+ value: null
115
+ }) : Object.defineProperty(e, "ref", {
116
+ enumerable: !1,
117
+ get: u
118
+ }), e._store = {}, Object.defineProperty(e._store, "validated", {
119
+ configurable: !1,
120
+ enumerable: !1,
121
+ writable: !0,
122
+ value: 0
123
+ }), Object.defineProperty(e, "_debugInfo", {
124
+ configurable: !1,
125
+ enumerable: !1,
126
+ writable: !0,
127
+ value: null
128
+ }), Object.defineProperty(e, "_debugStack", {
129
+ configurable: !1,
130
+ enumerable: !1,
131
+ writable: !0,
132
+ value: i
133
+ }), Object.defineProperty(e, "_debugTask", {
134
+ configurable: !1,
135
+ enumerable: !1,
136
+ writable: !0,
137
+ value: a
138
+ }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
139
+ }
140
+ function f(e, n, r, a, s, u) {
141
+ var f = n.children;
142
+ if (f !== void 0) if (a) if (M(f)) {
143
+ for (a = 0; a < f.length; a++) p(f[a]);
144
+ Object.freeze && Object.freeze(f);
145
+ } 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.");
146
+ else p(f);
147
+ if (j.call(n, "key")) {
148
+ f = t(e);
149
+ var m = Object.keys(n).filter(function(e) {
150
+ return e !== "key";
151
+ });
152
+ 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);
153
+ }
154
+ if (f = null, r !== void 0 && (i(r), f = "" + r), c(n) && (i(n.key), f = "" + n.key), "key" in n) for (var h in r = {}, n) h !== "key" && (r[h] = n[h]);
155
+ else r = n;
156
+ return f && l(r, typeof e == "function" ? e.displayName || e.name || "Unknown" : e), d(e, f, r, o(), s, u);
157
+ }
158
+ function p(e) {
159
+ 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));
160
+ }
161
+ function m(e) {
162
+ return typeof e == "object" && !!e && e.$$typeof === g;
163
+ }
164
+ var h = n("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() {
165
+ return null;
166
+ };
167
+ h = { react_stack_bottom_frame: function(e) {
168
+ return e();
169
+ } };
170
+ var P, F = {}, I = h.react_stack_bottom_frame.bind(h, s)(), L = N(a(s)), R = {};
171
+ e.Fragment = v, e.jsx = function(e, t, n) {
172
+ var r = 1e4 > A.recentlyCreatedOwnerStacks++;
173
+ return f(e, t, n, !1, r ? Error("react-stack-top-frame") : I, r ? N(a(e)) : L);
174
+ }, e.jsxs = function(e, t, n) {
175
+ var r = 1e4 > A.recentlyCreatedOwnerStacks++;
176
+ return f(e, t, n, !0, r ? Error("react-stack-top-frame") : I, r ? N(a(e)) : L);
177
+ };
178
+ })();
179
+ })), a = (/* @__PURE__ */ t(((e, t) => {
180
+ process.env.NODE_ENV === "production" ? t.exports = r() : t.exports = i();
181
+ })))();
182
+ function o({ children: e, onClick: t, className: n = "" }) {
183
+ return /* @__PURE__ */ (0, a.jsxs)("button", {
184
+ onClick: t,
185
+ className: `
186
+ relative overflow-hidden
187
+ px-8 py-3 rounded-2xl
188
+ font-semibold text-white tracking-wide
189
+ bg-white/10 backdrop-blur-xl
190
+ border border-white/20
191
+ shadow-[0_8px_32px_0_rgba(31,38,135,0.37)]
192
+ transition-all duration-300 ease-out
193
+ hover:bg-white/20 hover:scale-105 hover:shadow-[0_8px_32px_0_rgba(31,38,135,0.5)]
194
+ active:scale-95 active:bg-white/10
195
+ ${n}
196
+ `,
197
+ children: [/* @__PURE__ */ (0, a.jsx)("div", { className: "absolute inset-0 bg-gradient-to-tr from-white/0 via-white/5 to-white/0 opacity-0 hover:opacity-100 transition-opacity duration-500 rounded-2xl" }), /* @__PURE__ */ (0, a.jsx)("span", {
198
+ className: "relative z-10 flex items-center justify-center gap-2",
199
+ children: e
200
+ })]
201
+ });
202
+ }
203
+ //#endregion
204
+ //#region src/components/ui/GlassInput.jsx
205
+ function s({ type: e = "text", placeholder: t, className: n = "", ...r }) {
206
+ return /* @__PURE__ */ (0, a.jsx)("div", {
207
+ className: "relative w-full",
208
+ children: /* @__PURE__ */ (0, a.jsx)("input", {
209
+ type: e,
210
+ placeholder: t,
211
+ className: `
212
+ w-full px-4 py-3 rounded-xl
213
+ bg-white/5 border border-white/20
214
+ text-white placeholder-white/40
215
+ backdrop-blur-md transition-all duration-300
216
+ focus:outline-none focus:bg-white/10 focus:border-white/40
217
+ focus:ring-2 focus:ring-fuchsia-500/30
218
+ shadow-inner
219
+ ${n}
220
+ `,
221
+ ...r
222
+ })
223
+ });
224
+ }
225
+ //#endregion
226
+ //#region src/components/ui/GlassProfile.jsx
227
+ function c({ name: e, role: t, avatarUrl: n, className: r = "" }) {
228
+ return /* @__PURE__ */ (0, a.jsxs)("div", {
229
+ className: `
230
+ flex items-center gap-4 p-4 rounded-2xl
231
+ bg-white/5 border border-white/10
232
+ backdrop-blur-md shadow-[0_8px_32px_0_rgba(31,38,135,0.2)]
233
+ hover:bg-white/10 transition-colors duration-300
234
+ w-full max-w-[280px]
235
+ ${r}
236
+ `,
237
+ children: [/* @__PURE__ */ (0, a.jsxs)("div", {
238
+ className: "relative",
239
+ children: [n ? /* @__PURE__ */ (0, a.jsx)("img", {
240
+ src: n,
241
+ alt: e,
242
+ className: "w-12 h-12 rounded-full object-cover border border-white/20"
243
+ }) : /* @__PURE__ */ (0, a.jsx)("div", {
244
+ className: "w-12 h-12 rounded-full bg-gradient-to-br from-cyan-400 to-blue-500 border border-white/20 flex items-center justify-center text-white font-bold tracking-wider shadow-lg shadow-cyan-500/30",
245
+ children: e ? e.charAt(0).toUpperCase() : "U"
246
+ }), /* @__PURE__ */ (0, a.jsx)("div", { className: "absolute bottom-0 right-0 w-3 h-3 bg-green-400 rounded-full border-2 border-transparent ring-1 ring-white/20" })]
247
+ }), /* @__PURE__ */ (0, a.jsxs)("div", { children: [/* @__PURE__ */ (0, a.jsx)("h4", {
248
+ className: "text-white font-semibold tracking-wide text-sm",
249
+ children: e
250
+ }), /* @__PURE__ */ (0, a.jsx)("p", {
251
+ className: "text-white/60 text-xs mt-0.5 font-medium tracking-wide",
252
+ children: t
253
+ })] })]
254
+ });
255
+ }
256
+ //#endregion
257
+ //#region src/components/ui/GlassToggle.jsx
258
+ function l({ initialState: t = !1, onChange: n, className: r = "" }) {
259
+ let [i, o] = e(t);
260
+ return /* @__PURE__ */ (0, a.jsx)("button", {
261
+ onClick: () => {
262
+ let e = !i;
263
+ o(e), n && n(e);
264
+ },
265
+ className: `
266
+ relative w-14 h-8 rounded-full p-1
267
+ border border-white/20 shadow-inner
268
+ transition-colors duration-300 ease-in-out
269
+ flex items-center backdrop-blur-md
270
+ ${i ? "bg-fuchsia-500/80 shadow-fuchsia-500/40" : "bg-white/5"}
271
+ ${r}
272
+ `,
273
+ "aria-pressed": i,
274
+ children: /* @__PURE__ */ (0, a.jsx)("div", { className: `
275
+ w-6 h-6 rounded-full shadow-md
276
+ transition-all duration-300 ease-in-out transform
277
+ border
278
+ ${i ? "translate-x-6 bg-white border-fuchsia-200" : "translate-x-0 bg-white/70 border-white/30 backdrop-blur-sm"}
279
+ ` })
280
+ });
281
+ }
282
+ //#endregion
283
+ //#region src/components/ui/GlassBadge.jsx
284
+ function u({ children: e, variant: t = "emerald", className: n = "" }) {
285
+ let r = {
286
+ emerald: "bg-emerald-500/20 text-emerald-300 border-emerald-500/30",
287
+ blue: "bg-blue-500/20 text-blue-300 border-blue-500/30",
288
+ amber: "bg-amber-500/20 text-amber-300 border-amber-500/30",
289
+ fuchsia: "bg-fuchsia-500/20 text-fuchsia-300 border-fuchsia-500/30",
290
+ white: "bg-white/10 text-white border-white/20"
291
+ };
292
+ return /* @__PURE__ */ (0, a.jsx)("span", {
293
+ className: `
294
+ px-3 py-1 rounded-full text-sm font-medium tracking-wide
295
+ border backdrop-blur-md shadow-sm
296
+ transition-colors duration-200
297
+ ${r[t] || r.white}
298
+ ${n}
299
+ `,
300
+ children: e
301
+ });
302
+ }
303
+ //#endregion
304
+ //#region src/components/ui/GlassToast.jsx
305
+ function d({ title: e, description: t, icon: n, className: r = "" }) {
306
+ return /* @__PURE__ */ (0, a.jsxs)("div", {
307
+ className: `
308
+ w-full max-w-sm p-4 rounded-2xl
309
+ bg-white/10 backdrop-blur-md
310
+ border border-white/20
311
+ shadow-[0_8px_32px_-8px_rgba(0,0,0,0.3)]
312
+ flex gap-4 items-start
313
+ animate-in slide-in-from-bottom-5 duration-300 fade-in
314
+ ${r}
315
+ `,
316
+ children: [
317
+ /* @__PURE__ */ (0, a.jsx)("div", {
318
+ className: "w-10 h-10 rounded-full bg-indigo-500/30 flex items-center justify-center flex-shrink-0 text-indigo-300 border border-indigo-400/20 shadow-inner",
319
+ children: n || /* @__PURE__ */ (0, a.jsx)("svg", {
320
+ className: "w-5 h-5",
321
+ fill: "currentColor",
322
+ viewBox: "0 0 20 20",
323
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
324
+ fillRule: "evenodd",
325
+ d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",
326
+ clipRule: "evenodd"
327
+ })
328
+ })
329
+ }),
330
+ /* @__PURE__ */ (0, a.jsxs)("div", {
331
+ className: "pt-0.5",
332
+ children: [/* @__PURE__ */ (0, a.jsx)("p", {
333
+ className: "text-sm font-semibold text-white tracking-wide",
334
+ children: e
335
+ }), /* @__PURE__ */ (0, a.jsx)("p", {
336
+ className: "text-sm text-white/70 mt-1 leading-relaxed",
337
+ children: t
338
+ })]
339
+ }),
340
+ /* @__PURE__ */ (0, a.jsx)("button", {
341
+ className: "ml-auto p-1 rounded-full hover:bg-white/10 text-white/40 hover:text-white/80 transition-colors",
342
+ children: /* @__PURE__ */ (0, a.jsx)("svg", {
343
+ className: "w-4 h-4",
344
+ fill: "none",
345
+ stroke: "currentColor",
346
+ viewBox: "0 0 24 24",
347
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
348
+ strokeLinecap: "round",
349
+ strokeLinejoin: "round",
350
+ strokeWidth: 2,
351
+ d: "M6 18L18 6M6 6l12 12"
352
+ })
353
+ })
354
+ })
355
+ ]
356
+ });
357
+ }
358
+ //#endregion
359
+ //#region src/components/ui/GlassLoginForm.jsx
360
+ function f({ className: e = "" }) {
361
+ return /* @__PURE__ */ (0, a.jsxs)("div", {
362
+ className: `
363
+ w-full max-w-md p-8 rounded-3xl
364
+ bg-white/10 backdrop-blur-xl
365
+ border border-white/20
366
+ shadow-[0_8px_32px_0_rgba(31,38,135,0.37)]
367
+ ${e}
368
+ `,
369
+ children: [/* @__PURE__ */ (0, a.jsxs)("div", {
370
+ className: "text-center mb-8",
371
+ children: [/* @__PURE__ */ (0, a.jsx)("h2", {
372
+ className: "text-3xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-white to-white/70 tracking-tight",
373
+ children: "Welcome Back"
374
+ }), /* @__PURE__ */ (0, a.jsx)("p", {
375
+ className: "text-white/60 mt-2 font-medium tracking-wide",
376
+ children: "Log in to your account"
377
+ })]
378
+ }), /* @__PURE__ */ (0, a.jsxs)("form", {
379
+ className: "space-y-5",
380
+ onSubmit: (e) => e.preventDefault(),
381
+ children: [
382
+ /* @__PURE__ */ (0, a.jsxs)("div", {
383
+ className: "space-y-4",
384
+ children: [/* @__PURE__ */ (0, a.jsx)(s, {
385
+ type: "email",
386
+ placeholder: "Email address",
387
+ required: !0
388
+ }), /* @__PURE__ */ (0, a.jsx)(s, {
389
+ type: "password",
390
+ placeholder: "Password",
391
+ required: !0
392
+ })]
393
+ }),
394
+ /* @__PURE__ */ (0, a.jsxs)("div", {
395
+ className: "flex items-center justify-between py-2",
396
+ children: [/* @__PURE__ */ (0, a.jsxs)("label", {
397
+ className: "flex items-center gap-3 cursor-pointer group",
398
+ children: [/* @__PURE__ */ (0, a.jsx)(l, {}), /* @__PURE__ */ (0, a.jsx)("span", {
399
+ className: "text-sm font-medium text-white/80 group-hover:text-white transition-colors",
400
+ children: "Remember me"
401
+ })]
402
+ }), /* @__PURE__ */ (0, a.jsx)("button", {
403
+ type: "button",
404
+ className: "text-sm font-semibold text-fuchsia-300 hover:text-fuchsia-400 transition-colors",
405
+ children: "Forgot password?"
406
+ })]
407
+ }),
408
+ /* @__PURE__ */ (0, a.jsx)(o, {
409
+ className: "w-full justify-center text-lg mt-2",
410
+ children: "Sign In"
411
+ }),
412
+ /* @__PURE__ */ (0, a.jsxs)("div", {
413
+ className: "mt-8 flex items-center justify-between",
414
+ children: [
415
+ /* @__PURE__ */ (0, a.jsx)("span", { className: "w-1/5 border-b border-white/20" }),
416
+ /* @__PURE__ */ (0, a.jsx)("span", {
417
+ className: "text-xs text-white/50 font-medium uppercase tracking-wider",
418
+ children: "Or continue with"
419
+ }),
420
+ /* @__PURE__ */ (0, a.jsx)("span", { className: "w-1/5 border-b border-white/20" })
421
+ ]
422
+ }),
423
+ /* @__PURE__ */ (0, a.jsxs)("div", {
424
+ className: "flex gap-4 mt-6",
425
+ children: [/* @__PURE__ */ (0, a.jsxs)("button", {
426
+ type: "button",
427
+ className: "flex-1 flex items-center justify-center gap-2 py-2.5 rounded-xl bg-white/5 border border-white/10 backdrop-blur-md hover:bg-white/10 transition-all duration-300 shadow-inner group",
428
+ children: [/* @__PURE__ */ (0, a.jsx)("svg", {
429
+ className: "w-5 h-5 text-white/90 group-hover:scale-110 transition-transform",
430
+ viewBox: "0 0 24 24",
431
+ fill: "currentColor",
432
+ children: /* @__PURE__ */ (0, a.jsx)("path", { d: "M12.545,10.239v3.821h5.445c-0.712,2.315-2.647,3.972-5.445,3.972c-3.332,0-6.033-2.701-6.033-6.032s2.701-6.032,6.033-6.032c1.498,0,2.866,0.549,3.921,1.453l2.814-2.814C17.503,2.988,15.139,2,12.545,2C7.021,2,2.543,6.477,2.543,12s4.478,10,10.002,10c8.396,0,10.249-7.85,9.426-11.748L12.545,10.239z" })
433
+ }), /* @__PURE__ */ (0, a.jsx)("span", {
434
+ className: "text-sm font-semibold text-white/90",
435
+ children: "Google"
436
+ })]
437
+ }), /* @__PURE__ */ (0, a.jsxs)("button", {
438
+ type: "button",
439
+ className: "flex-1 flex items-center justify-center gap-2 py-2.5 rounded-xl bg-white/5 border border-white/10 backdrop-blur-md hover:bg-white/10 transition-all duration-300 shadow-inner group",
440
+ children: [/* @__PURE__ */ (0, a.jsx)("svg", {
441
+ className: "w-5 h-5 text-white/90 group-hover:scale-110 transition-transform",
442
+ viewBox: "0 0 24 24",
443
+ fill: "currentColor",
444
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
445
+ fillRule: "evenodd",
446
+ clipRule: "evenodd",
447
+ d: "M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.604-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.464-1.11-1.464-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.379.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.161 22 16.418 22 12c0-5.523-4.477-10-10-10z"
448
+ })
449
+ }), /* @__PURE__ */ (0, a.jsx)("span", {
450
+ className: "text-sm font-semibold text-white/90",
451
+ children: "GitHub"
452
+ })]
453
+ })]
454
+ })
455
+ ]
456
+ })]
457
+ });
458
+ }
459
+ //#endregion
460
+ //#region src/components/ui/GlassSidebar.jsx
461
+ function p({ className: t = "" }) {
462
+ let [n, r] = e("Dashboard"), i = [
463
+ {
464
+ name: "Home",
465
+ icon: /* @__PURE__ */ (0, a.jsx)("svg", {
466
+ className: "w-5 h-5",
467
+ fill: "none",
468
+ viewBox: "0 0 24 24",
469
+ stroke: "currentColor",
470
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
471
+ strokeLinecap: "round",
472
+ strokeLinejoin: "round",
473
+ strokeWidth: 2,
474
+ d: "M3 12l9-9 9 9M5 10v10a1 1 0 001 1h3m10-11l1.293 1.293a1 1 0 011.414 0l.707.707M19 10v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
475
+ })
476
+ })
477
+ },
478
+ {
479
+ name: "Dashboard",
480
+ icon: /* @__PURE__ */ (0, a.jsx)("svg", {
481
+ className: "w-5 h-5",
482
+ fill: "none",
483
+ viewBox: "0 0 24 24",
484
+ stroke: "currentColor",
485
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
486
+ strokeLinecap: "round",
487
+ strokeLinejoin: "round",
488
+ strokeWidth: 2,
489
+ d: "M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm10 0a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zm10 0a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"
490
+ })
491
+ })
492
+ },
493
+ {
494
+ name: "Projects",
495
+ icon: /* @__PURE__ */ (0, a.jsx)("svg", {
496
+ className: "w-5 h-5",
497
+ fill: "none",
498
+ viewBox: "0 0 24 24",
499
+ stroke: "currentColor",
500
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
501
+ strokeLinecap: "round",
502
+ strokeLinejoin: "round",
503
+ strokeWidth: 2,
504
+ d: "M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"
505
+ })
506
+ })
507
+ },
508
+ {
509
+ name: "Analytics",
510
+ icon: /* @__PURE__ */ (0, a.jsx)("svg", {
511
+ className: "w-5 h-5",
512
+ fill: "none",
513
+ viewBox: "0 0 24 24",
514
+ stroke: "currentColor",
515
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
516
+ strokeLinecap: "round",
517
+ strokeLinejoin: "round",
518
+ strokeWidth: 2,
519
+ d: "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"
520
+ })
521
+ })
522
+ },
523
+ {
524
+ name: "Settings",
525
+ icon: /* @__PURE__ */ (0, a.jsxs)("svg", {
526
+ className: "w-5 h-5",
527
+ fill: "none",
528
+ viewBox: "0 0 24 24",
529
+ stroke: "currentColor",
530
+ children: [/* @__PURE__ */ (0, a.jsx)("path", {
531
+ strokeLinecap: "round",
532
+ strokeLinejoin: "round",
533
+ strokeWidth: 2,
534
+ d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
535
+ }), /* @__PURE__ */ (0, a.jsx)("path", {
536
+ strokeLinecap: "round",
537
+ strokeLinejoin: "round",
538
+ strokeWidth: 2,
539
+ d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
540
+ })]
541
+ })
542
+ }
543
+ ];
544
+ return /* @__PURE__ */ (0, a.jsxs)("div", {
545
+ className: `
546
+ flex flex-col h-full w-64 p-5 rounded-3xl
547
+ bg-white/10 backdrop-blur-xl border border-white/20
548
+ shadow-[0_8px_32px_0_rgba(31,38,135,0.37)]
549
+ ${t}
550
+ `,
551
+ children: [
552
+ /* @__PURE__ */ (0, a.jsxs)("div", {
553
+ className: "flex items-center gap-3 px-2 mb-8 mt-2 cursor-pointer group",
554
+ children: [/* @__PURE__ */ (0, a.jsx)("div", {
555
+ className: "w-10 h-10 rounded-xl bg-gradient-to-br from-fuchsia-500 to-indigo-500 flex items-center justify-center text-white shadow-lg shadow-fuchsia-500/20 border border-white/20 group-hover:scale-105 transition-transform duration-300",
556
+ children: /* @__PURE__ */ (0, a.jsx)("svg", {
557
+ className: "w-6 h-6",
558
+ fill: "none",
559
+ viewBox: "0 0 24 24",
560
+ stroke: "currentColor",
561
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
562
+ strokeLinecap: "round",
563
+ strokeLinejoin: "round",
564
+ strokeWidth: 2,
565
+ d: "M13 10V3L4 14h7v7l9-11h-7z"
566
+ })
567
+ })
568
+ }), /* @__PURE__ */ (0, a.jsx)("span", {
569
+ className: "text-xl font-bold tracking-widest text-transparent bg-clip-text bg-gradient-to-r from-white to-white/70",
570
+ children: "ZENTAK"
571
+ })]
572
+ }),
573
+ /* @__PURE__ */ (0, a.jsx)("nav", {
574
+ className: "flex-1 space-y-2",
575
+ children: i.map((e) => {
576
+ let t = n === e.name;
577
+ return /* @__PURE__ */ (0, a.jsxs)("button", {
578
+ onClick: () => r(e.name),
579
+ className: `
580
+ w-full flex items-center gap-3 px-4 py-3 rounded-xl
581
+ transition-all duration-300 font-medium
582
+ ${t ? "bg-gradient-to-r from-white/20 to-white/5 text-white shadow-inner border border-white/10" : "text-white/60 hover:bg-white/10 hover:text-white border border-transparent"}
583
+ `,
584
+ children: [/* @__PURE__ */ (0, a.jsx)("div", {
585
+ className: `${t ? "text-fuchsia-300" : "text-white/50"} transition-colors duration-300`,
586
+ children: e.icon
587
+ }), e.name]
588
+ }, e.name);
589
+ })
590
+ }),
591
+ /* @__PURE__ */ (0, a.jsx)("div", {
592
+ className: "mt-auto pt-5 border-t border-white/10",
593
+ children: /* @__PURE__ */ (0, a.jsxs)("div", {
594
+ className: "flex items-center gap-3 px-2 py-3 rounded-xl hover:bg-white/5 transition-colors duration-300 group",
595
+ children: [
596
+ /* @__PURE__ */ (0, a.jsx)("div", {
597
+ className: "w-10 h-10 rounded-full bg-cyan-500/30 border border-cyan-400/30 flex items-center justify-center text-cyan-50 font-bold tracking-wider shadow-inner flex-shrink-0 group-hover:border-cyan-400/50 transition-colors",
598
+ children: "AK"
599
+ }),
600
+ /* @__PURE__ */ (0, a.jsxs)("div", {
601
+ className: "flex-1 min-w-0 overflow-hidden text-left",
602
+ children: [/* @__PURE__ */ (0, a.jsx)("p", {
603
+ className: "text-sm font-semibold text-white/90 truncate",
604
+ children: "Alex Knight"
605
+ }), /* @__PURE__ */ (0, a.jsx)("p", {
606
+ className: "text-xs text-white/50 truncate",
607
+ children: "alex@zentak.io"
608
+ })]
609
+ }),
610
+ /* @__PURE__ */ (0, a.jsx)("button", {
611
+ className: "p-2 rounded-lg hover:bg-white/10 text-white/40 hover:text-white transition-colors",
612
+ title: "Log out",
613
+ children: /* @__PURE__ */ (0, a.jsx)("svg", {
614
+ className: "w-5 h-5",
615
+ fill: "none",
616
+ viewBox: "0 0 24 24",
617
+ stroke: "currentColor",
618
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
619
+ strokeLinecap: "round",
620
+ strokeLinejoin: "round",
621
+ strokeWidth: 2,
622
+ d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
623
+ })
624
+ })
625
+ })
626
+ ]
627
+ })
628
+ })
629
+ ]
630
+ });
631
+ }
632
+ //#endregion
633
+ //#region src/components/ui/GlassPricing.jsx
634
+ function m({ className: e = "" }) {
635
+ let t = () => /* @__PURE__ */ (0, a.jsx)("svg", {
636
+ className: "w-5 h-5 text-emerald-400 flex-shrink-0",
637
+ fill: "none",
638
+ viewBox: "0 0 24 24",
639
+ stroke: "currentColor",
640
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
641
+ strokeLinecap: "round",
642
+ strokeLinejoin: "round",
643
+ strokeWidth: 2,
644
+ d: "M5 13l4 4L19 7"
645
+ })
646
+ });
647
+ return /* @__PURE__ */ (0, a.jsx)("div", {
648
+ className: `w-full max-w-6xl mx-auto px-4 py-8 ${e}`,
649
+ children: /* @__PURE__ */ (0, a.jsxs)("div", {
650
+ className: "grid grid-cols-1 md:grid-cols-3 gap-8 items-center lg:gap-10",
651
+ children: [
652
+ /* @__PURE__ */ (0, a.jsxs)("div", {
653
+ className: "flex flex-col p-8 rounded-3xl bg-white/5 backdrop-blur-md border border-white/10 shadow-[0_8px_32px_0_rgba(31,38,135,0.1)] hover:bg-white/10 transition-colors duration-300",
654
+ children: [
655
+ /* @__PURE__ */ (0, a.jsx)("h3", {
656
+ className: "text-xl font-bold text-white/90 mb-2",
657
+ children: "Basic"
658
+ }),
659
+ /* @__PURE__ */ (0, a.jsxs)("div", {
660
+ className: "mb-6 flex items-baseline gap-2",
661
+ children: [/* @__PURE__ */ (0, a.jsx)("span", {
662
+ className: "text-4xl font-extrabold text-white tracking-tight",
663
+ children: "$9"
664
+ }), /* @__PURE__ */ (0, a.jsx)("span", {
665
+ className: "text-white/50 font-medium",
666
+ children: "/mo"
667
+ })]
668
+ }),
669
+ /* @__PURE__ */ (0, a.jsx)("p", {
670
+ className: "text-white/60 text-sm mb-6 pb-6 border-b border-white/10 leading-relaxed",
671
+ children: "Perfect for starting small and personal projects."
672
+ }),
673
+ /* @__PURE__ */ (0, a.jsxs)("ul", {
674
+ className: "space-y-4 mb-8 flex-1",
675
+ children: [
676
+ /* @__PURE__ */ (0, a.jsxs)("li", {
677
+ className: "flex items-center gap-3 text-white/80 text-sm",
678
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " 1 Project"]
679
+ }),
680
+ /* @__PURE__ */ (0, a.jsxs)("li", {
681
+ className: "flex items-center gap-3 text-white/80 text-sm",
682
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " 5GB Storage"]
683
+ }),
684
+ /* @__PURE__ */ (0, a.jsxs)("li", {
685
+ className: "flex items-center gap-3 text-white/80 text-sm",
686
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " Basic Analytics"]
687
+ }),
688
+ /* @__PURE__ */ (0, a.jsxs)("li", {
689
+ className: "flex items-center gap-3 text-white/40 text-sm",
690
+ children: [/* @__PURE__ */ (0, a.jsx)("svg", {
691
+ className: "w-5 h-5 text-white/20 flex-shrink-0",
692
+ fill: "none",
693
+ viewBox: "0 0 24 24",
694
+ stroke: "currentColor",
695
+ children: /* @__PURE__ */ (0, a.jsx)("path", {
696
+ strokeLinecap: "round",
697
+ strokeLinejoin: "round",
698
+ strokeWidth: 2,
699
+ d: "M6 18L18 6M6 6l12 12"
700
+ })
701
+ }), " Custom Domain"]
702
+ })
703
+ ]
704
+ }),
705
+ /* @__PURE__ */ (0, a.jsx)(o, {
706
+ className: "w-full justify-center text-sm py-2.5 opacity-80 hover:opacity-100",
707
+ children: "Get Started"
708
+ })
709
+ ]
710
+ }),
711
+ /* @__PURE__ */ (0, a.jsxs)("div", {
712
+ className: "relative flex flex-col p-8 rounded-3xl bg-white/10 backdrop-blur-xl border border-fuchsia-500/30 shadow-[0_8px_32px_0_rgba(217,70,239,0.15)] md:scale-105 z-10 transition-transform duration-300 hover:scale-110",
713
+ children: [
714
+ /* @__PURE__ */ (0, a.jsx)("div", {
715
+ className: "absolute -top-4 left-1/2 -translate-x-1/2",
716
+ children: /* @__PURE__ */ (0, a.jsx)(u, {
717
+ variant: "fuchsia",
718
+ className: "px-4 py-1 shadow-lg shadow-fuchsia-500/20 text-xs uppercase font-bold tracking-widest border-fuchsia-400/50",
719
+ children: "Most Popular"
720
+ })
721
+ }),
722
+ /* @__PURE__ */ (0, a.jsx)("h3", {
723
+ className: "text-2xl font-bold text-fuchsia-300 mb-2 mt-2 tracking-wide",
724
+ children: "Pro"
725
+ }),
726
+ /* @__PURE__ */ (0, a.jsxs)("div", {
727
+ className: "mb-6 flex items-baseline gap-2",
728
+ children: [/* @__PURE__ */ (0, a.jsx)("span", {
729
+ className: "text-5xl font-extrabold text-transparent bg-clip-text bg-gradient-to-br from-white to-white/70 tracking-tight",
730
+ children: "$29"
731
+ }), /* @__PURE__ */ (0, a.jsx)("span", {
732
+ className: "text-white/50 font-medium",
733
+ children: "/mo"
734
+ })]
735
+ }),
736
+ /* @__PURE__ */ (0, a.jsx)("p", {
737
+ className: "text-white/70 text-sm mb-6 pb-6 border-b border-white/20 leading-relaxed",
738
+ children: "Ideal for growing teams and professionals."
739
+ }),
740
+ /* @__PURE__ */ (0, a.jsxs)("ul", {
741
+ className: "space-y-4 mb-8 flex-1",
742
+ children: [
743
+ /* @__PURE__ */ (0, a.jsxs)("li", {
744
+ className: "flex items-center gap-3 text-white/95 text-sm font-medium",
745
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " Unlimited Projects"]
746
+ }),
747
+ /* @__PURE__ */ (0, a.jsxs)("li", {
748
+ className: "flex items-center gap-3 text-white/95 text-sm font-medium",
749
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " 50GB Storage"]
750
+ }),
751
+ /* @__PURE__ */ (0, a.jsxs)("li", {
752
+ className: "flex items-center gap-3 text-white/95 text-sm font-medium",
753
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " Advanced Analytics"]
754
+ }),
755
+ /* @__PURE__ */ (0, a.jsxs)("li", {
756
+ className: "flex items-center gap-3 text-white/95 text-sm font-medium",
757
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " Custom Domain"]
758
+ })
759
+ ]
760
+ }),
761
+ /* @__PURE__ */ (0, a.jsxs)("button", {
762
+ className: "relative overflow-hidden w-full px-8 py-3 rounded-2xl font-semibold text-white tracking-wide bg-gradient-to-r from-fuchsia-600/80 to-indigo-600/80 backdrop-blur-xl border border-fuchsia-500/50 shadow-[0_8px_32px_0_rgba(217,70,239,0.3)] transition-all duration-300 ease-out hover:scale-105 hover:shadow-[0_8px_32px_0_rgba(217,70,239,0.5)] active:scale-95 flex items-center justify-center",
763
+ children: [/* @__PURE__ */ (0, a.jsx)("div", { className: "absolute inset-0 bg-gradient-to-tr from-white/0 via-white/20 to-white/0 opacity-0 hover:opacity-100 transition-opacity duration-500 rounded-2xl" }), /* @__PURE__ */ (0, a.jsx)("span", {
764
+ className: "relative z-10",
765
+ children: "Start Free Trial"
766
+ })]
767
+ })
768
+ ]
769
+ }),
770
+ /* @__PURE__ */ (0, a.jsxs)("div", {
771
+ className: "flex flex-col p-8 rounded-3xl bg-white/5 backdrop-blur-md border border-white/10 shadow-[0_8px_32px_0_rgba(31,38,135,0.1)] hover:bg-white/10 transition-colors duration-300",
772
+ children: [
773
+ /* @__PURE__ */ (0, a.jsx)("h3", {
774
+ className: "text-xl font-bold text-white/90 mb-2",
775
+ children: "Enterprise"
776
+ }),
777
+ /* @__PURE__ */ (0, a.jsxs)("div", {
778
+ className: "mb-6 flex items-baseline gap-2",
779
+ children: [/* @__PURE__ */ (0, a.jsx)("span", {
780
+ className: "text-4xl font-extrabold text-white tracking-tight",
781
+ children: "$99"
782
+ }), /* @__PURE__ */ (0, a.jsx)("span", {
783
+ className: "text-white/50 font-medium",
784
+ children: "/mo"
785
+ })]
786
+ }),
787
+ /* @__PURE__ */ (0, a.jsx)("p", {
788
+ className: "text-white/60 text-sm mb-6 pb-6 border-b border-white/10 leading-relaxed",
789
+ children: "Everything you need for large scale apps."
790
+ }),
791
+ /* @__PURE__ */ (0, a.jsxs)("ul", {
792
+ className: "space-y-4 mb-8 flex-1",
793
+ children: [
794
+ /* @__PURE__ */ (0, a.jsxs)("li", {
795
+ className: "flex items-center gap-3 text-white/80 text-sm",
796
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " Unlimited Projects"]
797
+ }),
798
+ /* @__PURE__ */ (0, a.jsxs)("li", {
799
+ className: "flex items-center gap-3 text-white/80 text-sm",
800
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " 500GB Storage"]
801
+ }),
802
+ /* @__PURE__ */ (0, a.jsxs)("li", {
803
+ className: "flex items-center gap-3 text-white/80 text-sm",
804
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " Real-time Analytics"]
805
+ }),
806
+ /* @__PURE__ */ (0, a.jsxs)("li", {
807
+ className: "flex items-center gap-3 text-white/80 text-sm",
808
+ children: [/* @__PURE__ */ (0, a.jsx)(t, {}), " 24/7 Dedicated Support"]
809
+ })
810
+ ]
811
+ }),
812
+ /* @__PURE__ */ (0, a.jsx)(o, {
813
+ className: "w-full justify-center text-sm py-2.5 opacity-80 hover:opacity-100",
814
+ children: "Contact Sales"
815
+ })
816
+ ]
817
+ })
818
+ ]
819
+ })
820
+ });
821
+ }
822
+ //#endregion
823
+ //#region src/components/ui/GlassCard.jsx
824
+ function h({ title: e, children: t, className: n = "", onClick: r }) {
825
+ return /* @__PURE__ */ (0, a.jsxs)("div", {
826
+ onClick: r,
827
+ className: `
828
+ relative overflow-hidden group
829
+ p-6 rounded-3xl
830
+ bg-white/5 backdrop-blur-lg
831
+ border border-white/10
832
+ shadow-[0_4px_24px_-8px_rgba(0,0,0,0.5)]
833
+ transition-all duration-300 ease-out
834
+ hover:-translate-y-1 hover:shadow-[0_8px_32px_-8px_rgba(31,38,135,0.4)] hover:bg-white/10 hover:border-white/20
835
+ flex flex-col
836
+ ${r ? "cursor-pointer" : ""}
837
+ ${n}
838
+ `,
839
+ children: [
840
+ /* @__PURE__ */ (0, a.jsx)("div", { className: "absolute inset-0 bg-gradient-to-br from-white/10 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none" }),
841
+ e && /* @__PURE__ */ (0, a.jsxs)("div", {
842
+ className: "mb-6 flex items-center justify-between relative z-10",
843
+ children: [/* @__PURE__ */ (0, a.jsx)("h3", {
844
+ className: "text-lg font-semibold text-white/90 tracking-wide",
845
+ children: e
846
+ }), /* @__PURE__ */ (0, a.jsx)("div", { className: "w-8 h-[1px] bg-gradient-to-r from-white/20 to-transparent" })]
847
+ }),
848
+ /* @__PURE__ */ (0, a.jsx)("div", {
849
+ className: "flex-1 flex items-center justify-center relative z-10",
850
+ children: t
851
+ })
852
+ ]
853
+ });
854
+ }
855
+ //#endregion
856
+ export { u as GlassBadge, o as GlassButton, h as GlassCard, s as GlassInput, f as GlassLoginForm, m as GlassPricing, c as GlassProfile, p as GlassSidebar, d as GlassToast, l as GlassToggle };
@@ -0,0 +1,85 @@
1
+ (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.ZentakGlassUI={},e.React))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);var u=c((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})),d=c((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===``?`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)}})()})),f=c(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=u():t.exports=d()}))();function p({children:e,onClick:t,className:n=``}){return(0,f.jsxs)(`button`,{onClick:t,className:`
7
+ relative overflow-hidden
8
+ px-8 py-3 rounded-2xl
9
+ font-semibold text-white tracking-wide
10
+ bg-white/10 backdrop-blur-xl
11
+ border border-white/20
12
+ shadow-[0_8px_32px_0_rgba(31,38,135,0.37)]
13
+ transition-all duration-300 ease-out
14
+ hover:bg-white/20 hover:scale-105 hover:shadow-[0_8px_32px_0_rgba(31,38,135,0.5)]
15
+ active:scale-95 active:bg-white/10
16
+ ${n}
17
+ `,children:[(0,f.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-tr from-white/0 via-white/5 to-white/0 opacity-0 hover:opacity-100 transition-opacity duration-500 rounded-2xl`}),(0,f.jsx)(`span`,{className:`relative z-10 flex items-center justify-center gap-2`,children:e})]})}function m({type:e=`text`,placeholder:t,className:n=``,...r}){return(0,f.jsx)(`div`,{className:`relative w-full`,children:(0,f.jsx)(`input`,{type:e,placeholder:t,className:`
18
+ w-full px-4 py-3 rounded-xl
19
+ bg-white/5 border border-white/20
20
+ text-white placeholder-white/40
21
+ backdrop-blur-md transition-all duration-300
22
+ focus:outline-none focus:bg-white/10 focus:border-white/40
23
+ focus:ring-2 focus:ring-fuchsia-500/30
24
+ shadow-inner
25
+ ${n}
26
+ `,...r})})}function h({name:e,role:t,avatarUrl:n,className:r=``}){return(0,f.jsxs)(`div`,{className:`
27
+ flex items-center gap-4 p-4 rounded-2xl
28
+ bg-white/5 border border-white/10
29
+ backdrop-blur-md shadow-[0_8px_32px_0_rgba(31,38,135,0.2)]
30
+ hover:bg-white/10 transition-colors duration-300
31
+ w-full max-w-[280px]
32
+ ${r}
33
+ `,children:[(0,f.jsxs)(`div`,{className:`relative`,children:[n?(0,f.jsx)(`img`,{src:n,alt:e,className:`w-12 h-12 rounded-full object-cover border border-white/20`}):(0,f.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-gradient-to-br from-cyan-400 to-blue-500 border border-white/20 flex items-center justify-center text-white font-bold tracking-wider shadow-lg shadow-cyan-500/30`,children:e?e.charAt(0).toUpperCase():`U`}),(0,f.jsx)(`div`,{className:`absolute bottom-0 right-0 w-3 h-3 bg-green-400 rounded-full border-2 border-transparent ring-1 ring-white/20`})]}),(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h4`,{className:`text-white font-semibold tracking-wide text-sm`,children:e}),(0,f.jsx)(`p`,{className:`text-white/60 text-xs mt-0.5 font-medium tracking-wide`,children:t})]})]})}function g({initialState:e=!1,onChange:n,className:r=``}){let[i,a]=(0,t.useState)(e);return(0,f.jsx)(`button`,{onClick:()=>{let e=!i;a(e),n&&n(e)},className:`
34
+ relative w-14 h-8 rounded-full p-1
35
+ border border-white/20 shadow-inner
36
+ transition-colors duration-300 ease-in-out
37
+ flex items-center backdrop-blur-md
38
+ ${i?`bg-fuchsia-500/80 shadow-fuchsia-500/40`:`bg-white/5`}
39
+ ${r}
40
+ `,"aria-pressed":i,children:(0,f.jsx)(`div`,{className:`
41
+ w-6 h-6 rounded-full shadow-md
42
+ transition-all duration-300 ease-in-out transform
43
+ border
44
+ ${i?`translate-x-6 bg-white border-fuchsia-200`:`translate-x-0 bg-white/70 border-white/30 backdrop-blur-sm`}
45
+ `})})}function _({children:e,variant:t=`emerald`,className:n=``}){let r={emerald:`bg-emerald-500/20 text-emerald-300 border-emerald-500/30`,blue:`bg-blue-500/20 text-blue-300 border-blue-500/30`,amber:`bg-amber-500/20 text-amber-300 border-amber-500/30`,fuchsia:`bg-fuchsia-500/20 text-fuchsia-300 border-fuchsia-500/30`,white:`bg-white/10 text-white border-white/20`};return(0,f.jsx)(`span`,{className:`
46
+ px-3 py-1 rounded-full text-sm font-medium tracking-wide
47
+ border backdrop-blur-md shadow-sm
48
+ transition-colors duration-200
49
+ ${r[t]||r.white}
50
+ ${n}
51
+ `,children:e})}function v({title:e,description:t,icon:n,className:r=``}){return(0,f.jsxs)(`div`,{className:`
52
+ w-full max-w-sm p-4 rounded-2xl
53
+ bg-white/10 backdrop-blur-md
54
+ border border-white/20
55
+ shadow-[0_8px_32px_-8px_rgba(0,0,0,0.3)]
56
+ flex gap-4 items-start
57
+ animate-in slide-in-from-bottom-5 duration-300 fade-in
58
+ ${r}
59
+ `,children:[(0,f.jsx)(`div`,{className:`w-10 h-10 rounded-full bg-indigo-500/30 flex items-center justify-center flex-shrink-0 text-indigo-300 border border-indigo-400/20 shadow-inner`,children:n||(0,f.jsx)(`svg`,{className:`w-5 h-5`,fill:`currentColor`,viewBox:`0 0 20 20`,children:(0,f.jsx)(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z`,clipRule:`evenodd`})})}),(0,f.jsxs)(`div`,{className:`pt-0.5`,children:[(0,f.jsx)(`p`,{className:`text-sm font-semibold text-white tracking-wide`,children:e}),(0,f.jsx)(`p`,{className:`text-sm text-white/70 mt-1 leading-relaxed`,children:t})]}),(0,f.jsx)(`button`,{className:`ml-auto p-1 rounded-full hover:bg-white/10 text-white/40 hover:text-white/80 transition-colors`,children:(0,f.jsx)(`svg`,{className:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]})}function y({className:e=``}){return(0,f.jsxs)(`div`,{className:`
60
+ w-full max-w-md p-8 rounded-3xl
61
+ bg-white/10 backdrop-blur-xl
62
+ border border-white/20
63
+ shadow-[0_8px_32px_0_rgba(31,38,135,0.37)]
64
+ ${e}
65
+ `,children:[(0,f.jsxs)(`div`,{className:`text-center mb-8`,children:[(0,f.jsx)(`h2`,{className:`text-3xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-white to-white/70 tracking-tight`,children:`Welcome Back`}),(0,f.jsx)(`p`,{className:`text-white/60 mt-2 font-medium tracking-wide`,children:`Log in to your account`})]}),(0,f.jsxs)(`form`,{className:`space-y-5`,onSubmit:e=>e.preventDefault(),children:[(0,f.jsxs)(`div`,{className:`space-y-4`,children:[(0,f.jsx)(m,{type:`email`,placeholder:`Email address`,required:!0}),(0,f.jsx)(m,{type:`password`,placeholder:`Password`,required:!0})]}),(0,f.jsxs)(`div`,{className:`flex items-center justify-between py-2`,children:[(0,f.jsxs)(`label`,{className:`flex items-center gap-3 cursor-pointer group`,children:[(0,f.jsx)(g,{}),(0,f.jsx)(`span`,{className:`text-sm font-medium text-white/80 group-hover:text-white transition-colors`,children:`Remember me`})]}),(0,f.jsx)(`button`,{type:`button`,className:`text-sm font-semibold text-fuchsia-300 hover:text-fuchsia-400 transition-colors`,children:`Forgot password?`})]}),(0,f.jsx)(p,{className:`w-full justify-center text-lg mt-2`,children:`Sign In`}),(0,f.jsxs)(`div`,{className:`mt-8 flex items-center justify-between`,children:[(0,f.jsx)(`span`,{className:`w-1/5 border-b border-white/20`}),(0,f.jsx)(`span`,{className:`text-xs text-white/50 font-medium uppercase tracking-wider`,children:`Or continue with`}),(0,f.jsx)(`span`,{className:`w-1/5 border-b border-white/20`})]}),(0,f.jsxs)(`div`,{className:`flex gap-4 mt-6`,children:[(0,f.jsxs)(`button`,{type:`button`,className:`flex-1 flex items-center justify-center gap-2 py-2.5 rounded-xl bg-white/5 border border-white/10 backdrop-blur-md hover:bg-white/10 transition-all duration-300 shadow-inner group`,children:[(0,f.jsx)(`svg`,{className:`w-5 h-5 text-white/90 group-hover:scale-110 transition-transform`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,f.jsx)(`path`,{d:`M12.545,10.239v3.821h5.445c-0.712,2.315-2.647,3.972-5.445,3.972c-3.332,0-6.033-2.701-6.033-6.032s2.701-6.032,6.033-6.032c1.498,0,2.866,0.549,3.921,1.453l2.814-2.814C17.503,2.988,15.139,2,12.545,2C7.021,2,2.543,6.477,2.543,12s4.478,10,10.002,10c8.396,0,10.249-7.85,9.426-11.748L12.545,10.239z`})}),(0,f.jsx)(`span`,{className:`text-sm font-semibold text-white/90`,children:`Google`})]}),(0,f.jsxs)(`button`,{type:`button`,className:`flex-1 flex items-center justify-center gap-2 py-2.5 rounded-xl bg-white/5 border border-white/10 backdrop-blur-md hover:bg-white/10 transition-all duration-300 shadow-inner group`,children:[(0,f.jsx)(`svg`,{className:`w-5 h-5 text-white/90 group-hover:scale-110 transition-transform`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,f.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.604-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.464-1.11-1.464-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.379.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.161 22 16.418 22 12c0-5.523-4.477-10-10-10z`})}),(0,f.jsx)(`span`,{className:`text-sm font-semibold text-white/90`,children:`GitHub`})]})]})]})]})}function b({className:e=``}){let[n,r]=(0,t.useState)(`Dashboard`),i=[{name:`Home`,icon:(0,f.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M3 12l9-9 9 9M5 10v10a1 1 0 001 1h3m10-11l1.293 1.293a1 1 0 011.414 0l.707.707M19 10v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6`})})},{name:`Dashboard`,icon:(0,f.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm10 0a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zm10 0a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z`})})},{name:`Projects`,icon:(0,f.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z`})})},{name:`Analytics`,icon:(0,f.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z`})})},{name:`Settings`,icon:(0,f.jsxs)(`svg`,{className:`w-5 h-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:[(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z`}),(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M15 12a3 3 0 11-6 0 3 3 0 016 0z`})]})}];return(0,f.jsxs)(`div`,{className:`
66
+ flex flex-col h-full w-64 p-5 rounded-3xl
67
+ bg-white/10 backdrop-blur-xl border border-white/20
68
+ shadow-[0_8px_32px_0_rgba(31,38,135,0.37)]
69
+ ${e}
70
+ `,children:[(0,f.jsxs)(`div`,{className:`flex items-center gap-3 px-2 mb-8 mt-2 cursor-pointer group`,children:[(0,f.jsx)(`div`,{className:`w-10 h-10 rounded-xl bg-gradient-to-br from-fuchsia-500 to-indigo-500 flex items-center justify-center text-white shadow-lg shadow-fuchsia-500/20 border border-white/20 group-hover:scale-105 transition-transform duration-300`,children:(0,f.jsx)(`svg`,{className:`w-6 h-6`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M13 10V3L4 14h7v7l9-11h-7z`})})}),(0,f.jsx)(`span`,{className:`text-xl font-bold tracking-widest text-transparent bg-clip-text bg-gradient-to-r from-white to-white/70`,children:`ZENTAK`})]}),(0,f.jsx)(`nav`,{className:`flex-1 space-y-2`,children:i.map(e=>{let t=n===e.name;return(0,f.jsxs)(`button`,{onClick:()=>r(e.name),className:`
71
+ w-full flex items-center gap-3 px-4 py-3 rounded-xl
72
+ transition-all duration-300 font-medium
73
+ ${t?`bg-gradient-to-r from-white/20 to-white/5 text-white shadow-inner border border-white/10`:`text-white/60 hover:bg-white/10 hover:text-white border border-transparent`}
74
+ `,children:[(0,f.jsx)(`div`,{className:`${t?`text-fuchsia-300`:`text-white/50`} transition-colors duration-300`,children:e.icon}),e.name]},e.name)})}),(0,f.jsx)(`div`,{className:`mt-auto pt-5 border-t border-white/10`,children:(0,f.jsxs)(`div`,{className:`flex items-center gap-3 px-2 py-3 rounded-xl hover:bg-white/5 transition-colors duration-300 group`,children:[(0,f.jsx)(`div`,{className:`w-10 h-10 rounded-full bg-cyan-500/30 border border-cyan-400/30 flex items-center justify-center text-cyan-50 font-bold tracking-wider shadow-inner flex-shrink-0 group-hover:border-cyan-400/50 transition-colors`,children:`AK`}),(0,f.jsxs)(`div`,{className:`flex-1 min-w-0 overflow-hidden text-left`,children:[(0,f.jsx)(`p`,{className:`text-sm font-semibold text-white/90 truncate`,children:`Alex Knight`}),(0,f.jsx)(`p`,{className:`text-xs text-white/50 truncate`,children:`alex@zentak.io`})]}),(0,f.jsx)(`button`,{className:`p-2 rounded-lg hover:bg-white/10 text-white/40 hover:text-white transition-colors`,title:`Log out`,children:(0,f.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})})})]})})]})}function x({className:e=``}){let t=()=>(0,f.jsx)(`svg`,{className:`w-5 h-5 text-emerald-400 flex-shrink-0`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M5 13l4 4L19 7`})});return(0,f.jsx)(`div`,{className:`w-full max-w-6xl mx-auto px-4 py-8 ${e}`,children:(0,f.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-8 items-center lg:gap-10`,children:[(0,f.jsxs)(`div`,{className:`flex flex-col p-8 rounded-3xl bg-white/5 backdrop-blur-md border border-white/10 shadow-[0_8px_32px_0_rgba(31,38,135,0.1)] hover:bg-white/10 transition-colors duration-300`,children:[(0,f.jsx)(`h3`,{className:`text-xl font-bold text-white/90 mb-2`,children:`Basic`}),(0,f.jsxs)(`div`,{className:`mb-6 flex items-baseline gap-2`,children:[(0,f.jsx)(`span`,{className:`text-4xl font-extrabold text-white tracking-tight`,children:`$9`}),(0,f.jsx)(`span`,{className:`text-white/50 font-medium`,children:`/mo`})]}),(0,f.jsx)(`p`,{className:`text-white/60 text-sm mb-6 pb-6 border-b border-white/10 leading-relaxed`,children:`Perfect for starting small and personal projects.`}),(0,f.jsxs)(`ul`,{className:`space-y-4 mb-8 flex-1`,children:[(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` 1 Project`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` 5GB Storage`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` Basic Analytics`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/40 text-sm`,children:[(0,f.jsx)(`svg`,{className:`w-5 h-5 text-white/20 flex-shrink-0`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,f.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})}),` Custom Domain`]})]}),(0,f.jsx)(p,{className:`w-full justify-center text-sm py-2.5 opacity-80 hover:opacity-100`,children:`Get Started`})]}),(0,f.jsxs)(`div`,{className:`relative flex flex-col p-8 rounded-3xl bg-white/10 backdrop-blur-xl border border-fuchsia-500/30 shadow-[0_8px_32px_0_rgba(217,70,239,0.15)] md:scale-105 z-10 transition-transform duration-300 hover:scale-110`,children:[(0,f.jsx)(`div`,{className:`absolute -top-4 left-1/2 -translate-x-1/2`,children:(0,f.jsx)(_,{variant:`fuchsia`,className:`px-4 py-1 shadow-lg shadow-fuchsia-500/20 text-xs uppercase font-bold tracking-widest border-fuchsia-400/50`,children:`Most Popular`})}),(0,f.jsx)(`h3`,{className:`text-2xl font-bold text-fuchsia-300 mb-2 mt-2 tracking-wide`,children:`Pro`}),(0,f.jsxs)(`div`,{className:`mb-6 flex items-baseline gap-2`,children:[(0,f.jsx)(`span`,{className:`text-5xl font-extrabold text-transparent bg-clip-text bg-gradient-to-br from-white to-white/70 tracking-tight`,children:`$29`}),(0,f.jsx)(`span`,{className:`text-white/50 font-medium`,children:`/mo`})]}),(0,f.jsx)(`p`,{className:`text-white/70 text-sm mb-6 pb-6 border-b border-white/20 leading-relaxed`,children:`Ideal for growing teams and professionals.`}),(0,f.jsxs)(`ul`,{className:`space-y-4 mb-8 flex-1`,children:[(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/95 text-sm font-medium`,children:[(0,f.jsx)(t,{}),` Unlimited Projects`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/95 text-sm font-medium`,children:[(0,f.jsx)(t,{}),` 50GB Storage`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/95 text-sm font-medium`,children:[(0,f.jsx)(t,{}),` Advanced Analytics`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/95 text-sm font-medium`,children:[(0,f.jsx)(t,{}),` Custom Domain`]})]}),(0,f.jsxs)(`button`,{className:`relative overflow-hidden w-full px-8 py-3 rounded-2xl font-semibold text-white tracking-wide bg-gradient-to-r from-fuchsia-600/80 to-indigo-600/80 backdrop-blur-xl border border-fuchsia-500/50 shadow-[0_8px_32px_0_rgba(217,70,239,0.3)] transition-all duration-300 ease-out hover:scale-105 hover:shadow-[0_8px_32px_0_rgba(217,70,239,0.5)] active:scale-95 flex items-center justify-center`,children:[(0,f.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-tr from-white/0 via-white/20 to-white/0 opacity-0 hover:opacity-100 transition-opacity duration-500 rounded-2xl`}),(0,f.jsx)(`span`,{className:`relative z-10`,children:`Start Free Trial`})]})]}),(0,f.jsxs)(`div`,{className:`flex flex-col p-8 rounded-3xl bg-white/5 backdrop-blur-md border border-white/10 shadow-[0_8px_32px_0_rgba(31,38,135,0.1)] hover:bg-white/10 transition-colors duration-300`,children:[(0,f.jsx)(`h3`,{className:`text-xl font-bold text-white/90 mb-2`,children:`Enterprise`}),(0,f.jsxs)(`div`,{className:`mb-6 flex items-baseline gap-2`,children:[(0,f.jsx)(`span`,{className:`text-4xl font-extrabold text-white tracking-tight`,children:`$99`}),(0,f.jsx)(`span`,{className:`text-white/50 font-medium`,children:`/mo`})]}),(0,f.jsx)(`p`,{className:`text-white/60 text-sm mb-6 pb-6 border-b border-white/10 leading-relaxed`,children:`Everything you need for large scale apps.`}),(0,f.jsxs)(`ul`,{className:`space-y-4 mb-8 flex-1`,children:[(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` Unlimited Projects`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` 500GB Storage`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` Real-time Analytics`]}),(0,f.jsxs)(`li`,{className:`flex items-center gap-3 text-white/80 text-sm`,children:[(0,f.jsx)(t,{}),` 24/7 Dedicated Support`]})]}),(0,f.jsx)(p,{className:`w-full justify-center text-sm py-2.5 opacity-80 hover:opacity-100`,children:`Contact Sales`})]})]})})}function S({title:e,children:t,className:n=``,onClick:r}){return(0,f.jsxs)(`div`,{onClick:r,className:`
75
+ relative overflow-hidden group
76
+ p-6 rounded-3xl
77
+ bg-white/5 backdrop-blur-lg
78
+ border border-white/10
79
+ shadow-[0_4px_24px_-8px_rgba(0,0,0,0.5)]
80
+ transition-all duration-300 ease-out
81
+ hover:-translate-y-1 hover:shadow-[0_8px_32px_-8px_rgba(31,38,135,0.4)] hover:bg-white/10 hover:border-white/20
82
+ flex flex-col
83
+ ${r?`cursor-pointer`:``}
84
+ ${n}
85
+ `,children:[(0,f.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-br from-white/10 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none`}),e&&(0,f.jsxs)(`div`,{className:`mb-6 flex items-center justify-between relative z-10`,children:[(0,f.jsx)(`h3`,{className:`text-lg font-semibold text-white/90 tracking-wide`,children:e}),(0,f.jsx)(`div`,{className:`w-8 h-[1px] bg-gradient-to-r from-white/20 to-transparent`})]}),(0,f.jsx)(`div`,{className:`flex-1 flex items-center justify-center relative z-10`,children:t})]})}e.GlassBadge=_,e.GlassButton=p,e.GlassCard=S,e.GlassInput=m,e.GlassLoginForm=y,e.GlassPricing=x,e.GlassProfile=h,e.GlassSidebar=b,e.GlassToast=v,e.GlassToggle=g});
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "zentak-glass-ui",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "dist/zentak-glass-ui.umd.js",
6
+ "module": "dist/zentak-glass-ui.es.js",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/zentak-glass-ui.es.js",
10
+ "require": "./dist/zentak-glass-ui.umd.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "scripts": {
17
+ "dev": "vite",
18
+ "build": "vite build",
19
+ "lint": "eslint .",
20
+ "preview": "vite preview"
21
+ },
22
+ "dependencies": {
23
+ "@tailwindcss/vite": "^4.2.2"
24
+ },
25
+ "peerDependencies": {
26
+ "react": "^19.2.4",
27
+ "react-dom": "^19.2.4"
28
+ },
29
+ "devDependencies": {
30
+ "@eslint/js": "^9.39.4",
31
+ "@types/react": "^19.2.14",
32
+ "@types/react-dom": "^19.2.3",
33
+ "@vitejs/plugin-react": "^6.0.1",
34
+ "autoprefixer": "^10.4.27",
35
+ "eslint": "^9.39.4",
36
+ "eslint-plugin-react-hooks": "^7.0.1",
37
+ "eslint-plugin-react-refresh": "^0.5.2",
38
+ "globals": "^17.4.0",
39
+ "postcss": "^8.5.8",
40
+ "react": "^19.2.4",
41
+ "react-dom": "^19.2.4",
42
+ "tailwindcss": "^4.2.2",
43
+ "vite": "^8.0.1"
44
+ }
45
+ }