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 +21 -0
- package/README.md +78 -0
- package/dist/favicon.svg +1 -0
- package/dist/icons.svg +24 -0
- package/dist/preview.png +0 -0
- package/dist/zentak-glass-ui.es.js +856 -0
- package/dist/zentak-glass-ui.umd.js +85 -0
- package/package.json +45 -0
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
|
+
|
package/dist/favicon.svg
ADDED
|
@@ -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>
|
package/dist/preview.png
ADDED
|
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
|
+
}
|