Skip to content

conniexu444/glass-components

Repository files navigation

Glass Components

Small React + TailwindCSS frosted-glass UI primitives, plus a CLI for printing component source directly from the repo.

Available Components Preview

The Glass Navigation Bar (2 Variations)

GlassNav preview

The Glass Navigation bar is inspired by Vercel's. On noisy backgrounds, any element under the glass navigation bar becomes blurred, helping with user readability.

Future variations will include: vertical navigation bar, active tab indicators, and light/dark mode

CLI

List available components:

npm run component -- list

Print a component's source code:

npm run component -- GlassNav
npm run component -- get glass-card

The CLI reads from the actual files in src/components, so the terminal output stays in sync with the showcase page.

Vite Template Notes

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(["dist"]),
  {
    files: ["**/*.{ts,tsx}"],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ["./tsconfig.node.json", "./tsconfig.app.json"],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
]);

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from "eslint-plugin-react-x";
import reactDom from "eslint-plugin-react-dom";

export default defineConfig([
  globalIgnores(["dist"]),
  {
    files: ["**/*.{ts,tsx}"],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs["recommended-typescript"],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ["./tsconfig.node.json", "./tsconfig.app.json"],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
]);

About

Glass Components Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors