Work in progress
This page is a work in progress. Help complete it by contributing on GitHub!
Chapter 11
UI Framework & Theming
Building a beautiful, functional user interface requires more than just reactive JavaScript—it needs a solid foundation of CSS components, thoughtful design patterns, and consistent styling. UserFrosting provides this foundation through UIkit and the Pink-Cupcake theme.
This chapter focuses on the visual and interactive layer of your application: how to use pre-built UI components, style your interfaces, work with forms and tables, and customize the theme to match your brand.
UIkit: The Foundation
UIkit is a lightweight, modular CSS framework that powers UserFrosting's default interface. Unlike heavier frameworks, UIkit provides:
- Lightweight: Smaller bundle size means faster page loads
- Modular: Import only the components you need
- Comprehensive: Rich library of components from buttons to complex layouts
- Responsive: Mobile-first design that works on all screen sizes
- Customizable: LESS-based theming with extensive variables
Pink-Cupcake: UserFrosting's Theme
The Pink-Cupcake theme is UserFrosting's default theme, built on top of UIkit. It provides:
- Modern, professional styling out of the box
- Pre-built Vue components that integrate UIkit with reactive data
- Consistent design patterns across all pages
- Customizable variables for easy branding
- Accessible, user-friendly interfaces
What This Chapter Covers
This chapter teaches you everything about UserFrosting's UI layer:
- UIkit Introduction: Core UIkit components and patterns
- Components Overview: Available Pink-Cupcake components
- Forms: Building beautiful, validated forms
- Tables: Data tables with sorting and filtering
- Collections: Managing lists of items
- Alerts: User notifications and feedback
- Sprunjes: Advanced data tables with server-side processing
- Customizing Themes: Brand your application
Tip
This chapter assumes you understand Vue basics from Chapter 15. If you're new to Vue, start there first!
Learning Path
If you're building forms: Start with Forms to see validation, AJAX submission, and error handling.
If you're displaying data: Check out Tables and Sprunjes for powerful data display.
If you're customizing the look: Jump to Customizing Themes to learn about LESS variables and theming.
Ready to build beautiful user interfaces? Let's get started!