Skip to content

Finish Migrating Away from Tailwind CSS #2

Open
@LoboGuardian

Description

@LoboGuardian

🎯 Goal

Remove all Tailwind CSS dependencies and complete the transition to a fully self-contained, class-based Numix UI framework.


📌 Current Situation

Numix UI currently depends on Tailwind CSS for:

  • Layout helpers (e.g., flex, grid, gap-*)
  • Spacing utilities (mb-4, p-6, etc.)
  • Typography classes (text-center, text-gray-800, etc.)
  • Responsive grid classes (e.g., md:grid-cols-2)

This limits Numix UI from being a truly independent, portable CSS library.


✅ Objective

  • Completely remove Tailwind CSS
  • Replace all Tailwind utility classes with .n-* equivalents
  • Ensure the layout, spacing, and component styles are fully owned and defined by Numix UI

🛠️ Tasks

  • Audit all HTML for Tailwind utility class usage
  • Create equivalents in numix-ui.css (e.g., .n-flex, .n-mb-4, etc.)
  • Replace Tailwind classes in HTML templates with .n-*
  • Add responsive .n-grid-md-2, .n-flex-md-col, etc., as needed
  • Remove <script src="https://cdn.tailwindcss.com"> from the HTML
  • Test all layouts and components to confirm style consistency

🧰 Suggested Utility Additions

/* Example spacing and layout utilities */
.n-flex { display: flex; }
.n-grid { display: grid; }
.n-gap-4 { gap: 1rem; }
.n-mb-4 { margin-bottom: 1rem; }
.n-p-4 { padding: 1rem; }
.n-text-center { text-align: center; }
.n-w-full { width: 100%; }

/* Responsive */
@media (min-width: 768px) {
  .n-grid-md-2 { grid-template-columns: repeat(2, 1fr); }
}

💡 Notes

  • Keep all utility class names scoped with .n-
  • Maintain consistency with Bootstrap-style naming (.n-btn, .n-form-control, etc.)
  • Consider splitting utilities into a dedicated file like numix-utilities.css for better organization and maintainability

✅ Benefits

Benefit Description
✅ Independence No dependency on external CSS frameworks like Tailwind
✅ Portability Works in any project or environment without special setup
✅ Predictable API All utilities are defined, scoped, and consistent under .n-*
✅ Branding Full control over the visual identity under the Numix namespace

🧩 Optional Enhancements

  • Add a utility generator script (e.g. build-utils.js) to auto-generate spacing/layout classes
  • Use PostCSS or Sass to support DRY principles and scale the utility system cleanly

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions