📦 UIPlugins Component Library
Welcome to the UIPlugins component library — a collection of modular, responsive, ADA-compliant, and SEO-friendly website components built with vanilla HTML, CSS, and JavaScript.
Whether you're building static websites, HTML templates, or integrating into frameworks, our components are built for drop-in use without the need for complex tooling.
✅ Features
- ✅ Fully modular: Use only what you need — copy, paste, done.
- 🎯 Scoped styles: Each component uses a unique ID to isolate CSS rules.
- 📱 Responsive: Mobile-first and optimized for all screen sizes.
- ♿ ADA Compliant: Keyboard accessible and screen reader friendly.
- 💡 Semantic HTML: Built with SEO and readability in mind.
- 🎨 Customizable: Change root variables for consistent theming.
📁 Project Structure
Each component is organized as follows:
components/ ├── hero/ │ └── hero-1.html ├── navbar/ │ └── navbar-2.html ├── footer/ │ └── footer-3.html ├── buttons/ │ └── button-primary.html └── ...
Each component includes:
- • Scoped HTML using a unique
id
(e.g.#navbar-2
) - • Component-specific styles using the
id
as the CSS scope - • Optionally scoped JavaScript if interactivity is required
🛠️ Getting Started
Follow these steps to copy and integrate a component into your project.
1. Add Required Root CSS Variables
Before using any components, include this in your <head>
or global CSS file:
<style>
:root {
--primary-color: #0d6efd;
--secondary-color: #6c757d;
--text-color: #212529;
--background-color: #ffffff;
--font-family: "Inter", sans-serif;
--max-width: 1200px;
--padding: 1rem;
/* Add more as needed */
}
</style>
📘 These variables are used throughout all components for consistency. You can override them for custom theming.
2. Copy Component HTML
Paste the component HTML wherever you want it to appear on your page. Example:
<!-- Example: Navbar -->
<nav id="navbar-2">
<!-- Component content here -->
</nav>
⚠️ The id
must remain unchanged to ensure scoped styles and scripts work correctly.
3. Copy Component CSS
Add the CSS block to your global stylesheet, or inside a <style>
tag within your HTML document:
<style>
#navbar-2 {
background: var(--background-color);
color: var(--text-color);
padding: var(--padding);
display: flex;
align-items: center;
justify-content: space-between;
}
#navbar-2 a {
color: var(--primary-color);
text-decoration: none;
}
/* Responsive styles using mobile-first approach */
@media (min-width: 768px) {
#navbar-2 {
padding: 1.5rem 2rem;
}
}
</style>
✅ Styles are scoped using the component's unique id
to avoid CSS conflicts.
4. (If Needed) Add Component JS
If the component includes interactivity (like dropdowns or modals), paste the accompanying JS after the component in your HTML or inside a global JS file:
<script>
const navToggle = document.querySelector("#navbar-2-toggle");
const menu = document.querySelector("#navbar-2-menu");
navToggle.addEventListener("click", () => {
menu.classList.toggle("open");
});
</script>
🧠 JS is written using vanilla JS and scoped with component IDs to avoid conflicts.
🧩 Combining Multiple Components
All components are scoped by id
, so you can safely use multiple in the same project:
<body>
<nav id="navbar-1">...</nav>
<section id="hero-2">...</section>
<footer id="footer-3">...</footer>
</body>
📦 Styles and scripts will not interfere with one another as long as id
s are preserved.
🎨 Customization
You can globally override any of the root CSS variables to customize colors, spacing, fonts, etc.
:root {
--primary-color: #e91e63;
--font-family: "Roboto", sans-serif;
}
For individual component overrides, target the component id
directly.
♿ Accessibility Notes
- • All components follow WAI-ARIA authoring practices.
- • Tab index, ARIA labels, and keyboard navigation are baked in.
- • We run each component through accessibility testing tools.
🔍 Please test final implementations with real content for ADA compliance.
🚀 Performance Tips
- • Combine and minify CSS if using many components.
- • Inline critical CSS for faster page loads.
- • Lazy load any large images or assets in components.
📚 Contribution & Roadmap
Coming soon:
- • More component variants
- • Dark mode support
- • RTL layout support
- • Live CDN links
📄 License
This library is open-source and free to use under the MIT License.
💬 Support
Have questions, feedback, or want to request a component?
📧 Email: hello@uiplugins.com
🌐 Website: https://uiplugins.com
Thank you for using UIPlugins — building beautiful websites has never been simpler.