π Breakouts Framework
A minimal, modular SCSS/CSS layout and utility framework built for clarity and rapid layout composition.
π Installation
npm install breakouts
# or
bun add breakouts
π Usage
SCSS with @use
@use 'breakouts' as *;
SCSS with a theme
@use 'breakouts/src/theme/chupa-pop';
@use 'breakouts' as *;
Note: If a theme configures variables, it must be loaded before the main Breakouts entrypoint.
Import CSS
<link rel="stylesheet" href="/node_modules/breakouts/dist/breakouts.css" />
π§± Features
- Full-bleed layout with
.container,.full-bleed,.breakouts - Breakouts grid with named columns
- Spacing, typography & color utilities
- Dark mode support (system-aware)
- Theme system + prebuilt palettes
- Extendable architecture with SCSS modules
π¨ Prebuilt Themes
- Chupa Pop β
@use 'breakouts/src/theme/chupa-pop' - Medical β
@use 'breakouts/src/theme/medical' - Tootsie Pop β
@use 'breakouts/src/theme/tootsie-pop'
βοΈ Utilities
Text
Left aligned
Center aligned
Right aligned
Uppercase text
Bold text
Spacing
π Layout
.container centers the content and limits its width.
.full-bleed spans the entire viewport width.
π€ Typography
π¨ Color Utilities
π Dark Mode
Breakouts supports dark mode via <html class="dark"> (or light).
If neither is set, it can follow the system preference (prefers-color-scheme) depending on
your build.
The toggle button in this documentation page switches html.dark/html.light for
demo purposes.
π§ͺ Customize
Use @use ... with (...) to override default variables (compile-time).
@use 'breakouts' with (
$color-primary: #d1ff4a,
$color-accent: #8a2be2
);
Tip: A module can be configured only on first load. Donβt import breakouts
elsewhere before this.
π‘ Extend
Import only what you need or create custom modules.
@use 'breakouts/src/base/typography';
@use 'breakouts/src/base/spacing';