atm

Atomix

v0.4.6

    1. Home
    2. Layouts
    3. Customization

Getting Started
  • Introduction
  • Installation
  • Quick Start
  • Migration Guide
  • CLI Reference
Design Tokens
  • Overview
  • All Tokens
  • Colors
  • Spacing
  • Typography
  • Grid
  • Elevation
Styles System
  • Architecture
  • Customization
  • Utilities
  • API Reference
Layouts
  • Grid System
  • Masonry Grid
  • Responsive Patterns
  • Customization
  • Performance
Components
  • Overview
  • Guidelines
  • Accordion
  • AtomixGlass
  • Avatar
  • Badge
  • Breadcrumb
  • Button
  • ButtonGroup
  • Card
  • Checkbox
  • Date Picker
  • Dropdown
  • Form
  • Input
  • Modal
  • Progress
  • Radio
  • Rating
  • Select
  • Slider
  • Spinner
  • Tab
  • Textarea
  • Toggle
  • Tooltip
  • Upload
  • Block
  • Callout
  • Countdown
  • Hero
  • Icon
  • List
  • Messages
  • Navbar
  • Pagination
  • Popover
  • Steps
  • SectionIntro
  • Container
  • Grid
  • GridCol
  • Row
  • River
  • MasonryGrid
  • DataTable
  • EdgePanel
  • SideMenu
  • Nav
  • NavItem
  • NavDropdown
  • VirtualizedGrid
Guides
  • Theming Guide
  • AtomixGlass Performance
  • AtomixGlass Theming
  • Theme Studio
  • Devtools
  • Theme Inspector
  • Theme Preview
  • Theme Comparator
  • Live Editor
  • CLI Tool
  • Try Live Editor
  • Try Inspector
  • Try Preview
  • Try Comparator
  • AtomixGlass Playground
Examples
  • Common Patterns
  • Landing Page
API Reference
  • React API
  • JavaScript API
  • CSS API
CLI
  • Overview
  • User Guide
  • API Reference
  • Migration Guide
  • Security Guide
Resources
  • Roadmap
  • Changelog
  • Contributing

Atomix Design System

A comprehensive design system for building modern, accessible, and performant web applications with React and vanilla JavaScript.
GitHubTwitterDiscordNPM

Getting Started

IntroductionInstallationQuick StartTheming Guide

Documentation

ComponentsDesign TokensStyles SystemLayouts

Resources

GitHub Repository↗NPM Package↗Storybook↗API Reference

Community

ContributingRoadmapChangelogReport Issue↗

© 2026 Atomix Design System. Built with ❤️ by the Shohojdhara.

Flexible Customization Options

Layouts Customization

Customize and extend Atomix layout components to match your unique requirements. From quick CSS variable tweaks to complete custom implementations, we provide multiple levels of customization.

Grid SystemMasonry Grid

Customization Levels

Atomix Layouts are built with customization in mind, offering multiple levels of configuration from basic theming with CSS custom properties to advanced SCSS configuration and creating completely custom layout patterns.

CSS Custom Properties

Runtime theming and quick adjustments without rebuilding

  • ✓No build step required
  • ✓Dynamic theme switching
  • ✓Browser DevTools support
  • ✓Override at component level

SCSS Variables

Build-time configuration for deep customization

  • ✓Compile-time optimization
  • ✓Full system customization
  • ✓Generate custom themes
  • ✓Performance optimized

Component Props

Dynamic behavior and styling per component instance

  • ✓Per-instance customization
  • ✓Type-safe configuration
  • ✓Runtime flexibility
  • ✓Component-level control

Custom Components

Extend and create new layout patterns

  • ✓Full component extension
  • ✓Create new patterns
  • ✓Reuse Atomix foundation
  • ✓Complete flexibility

CSS Custom Properties

Use CSS custom properties for runtime theming and quick adjustments. These properties can be overridden at any level in your component tree.

Grid System Properties

Customize the grid system using CSS custom properties. These can be set globally or scoped to specific components.

Grid System CSS VariablesCSS
1:root { 2 /* Container widths */ 3 --atomix-container-sm: 540px; 4 --atomix-container-md: 720px; 5 --atomix-container-lg: 960px; 6 --atomix-container-xl: 1140px; 7 --atomix-container-xxl: 1320px; 8 9 /* Container padding */ 10 --atomix-container-padding-x: 0.75rem; 11 --atomix-container-padding-x-sm: 1rem; 12 --atomix-container-padding-x-md: 1.5rem; 13 14 /* Grid gutters */ 15 --atomix-grid-gutter-width: 1.5rem; 16 --atomix-grid-gutter-width-sm: 1rem; 17 --atomix-grid-gutter-width-lg: 2rem; 18 19 /* Grid columns */ 20 --atomix-grid-columns: 12; 21}
21 lines544 characters

Masonry Grid Properties

Customize masonry grid spacing and animations using CSS custom properties.

Masonry Grid CSS VariablesCSS
1:root { 2 /* Masonry gaps */ 3 --atomix-masonry-gap: 1rem; 4 --atomix-masonry-gap-sm: 0.75rem; 5 --atomix-masonry-gap-lg: 1.5rem; 6 7 /* Masonry animations */ 8 --atomix-masonry-transition: transform 0.3s ease; 9}
9 lines213 characters

SCSS Variables

For build-time customization, use SCSS variables to configure the entire layout system before compilation.

Build-Time Configuration

Override SCSS variables before importing Atomix to customize the entire system at build time. This approach provides maximum performance and allows for complete system customization.

SCSS Variable OverrideSCSS
1// Override before importing Atomix 2$grid-columns: 16; 3$grid-gutter-width: 2rem; 4$container-max-widths: ( 5 sm: 540px, 6 md: 740px, 7 lg: 980px, 8 xl: 1180px, 9 xxl: 1360px 10); 11 12// Import Atomix with your customizations 13@use 'atomix/styles' as *;
13 lines245 characters

Component Props

Customize individual components dynamically using props. This approach provides per-instance control and type safety.

Container & Row

Customize container and row components with props for dynamic behavior.

Container & Row PropsTSX
1import { Container, Row, GridCol } from '@shohojdhara/atomix'; 2 3<Container 4 fluid={false} 5 maxWidth="lg" 6 className="custom-container" 7> 8 <Row 9 gutter={'lg'} 10 justify="center" 11 align="middle" 12 > 13 <GridCol span={6}> 14 Custom column 15 </GridCol> 16 </Row> 17</Container>
17 lines291 characters

GridCol Options

GridCol supports responsive breakpoints, offsets, ordering, and alignment.

GridCol PropsTSX
1import { Row, GridCol } from '@shohojdhara/atomix'; 2 3<Row> 4 <GridCol 5 xs={12} 6 sm={6} 7 md={4} 8 lg={3} 9 offset={2} 10 order={1} 11 align="center" 12 > 13 Responsive column with options 14 </GridCol> 15</Row>
15 lines225 characters

Custom Components

Extend Atomix components or create completely custom layout patterns while leveraging the Atomix foundation.

Extending Components

Create custom layout components by extending Atomix components. This approach allows you to build on top of Atomix while maintaining full control over styling and behavior.

Custom Component ExtensionTSX
1import styled from 'styled-components'; 2import { Container, Row, GridCol } from '@shohojdhara/atomix'; 3 4// Extend Container with custom styling 5const CustomLayout = styled(Container)` 6 max-width: 1400px; 7 padding: 0 2rem; 8 9 ${Row} { 10 margin: 0 -1.5rem; 11 } 12 13 ${GridCol} { 14 padding: 0 1.5rem; 15 } 16`; 17 18// Usage 19function MyPage() { 20 return ( 21 <CustomLayout> 22 <Row> 23 <GridCol md={6}>Content</GridCol> 24 <GridCol md={6}>Content</GridCol> 25 </Row> 26 </CustomLayout> 27 ); 28}
28 lines508 characters

CSS Modules Approach

Alternatively, use CSS Modules to style Atomix components with custom classes.

CSS Modules CustomizationTSX
1import { Container, Row, GridCol } from '@shohojdhara/atomix'; 2import styles from './CustomLayout.module.scss'; 3 4function CustomLayout() { 5 return ( 6 <Container className={styles.customContainer}> 7 <Row className={styles.customRow}> 8 <GridCol md={6} className={styles.customCol}> 9 Content 10 </GridCol> 11 <GridCol md={6} className={styles.customCol}> 12 Content 13 </GridCol> 14 </Row> 15 </Container> 16 ); 17} 18 19// CustomLayout.module.scss 20.customContainer { 21 max-width: 1400px; 22 padding: 0 2rem; 23} 24 25.customRow { 26 margin: 0 -1.5rem; 27} 28 29.customCol { 30 padding: 0 1.5rem; 31}
31 lines624 characters

Best Practices

Follow these guidelines to get the most out of Atomix layout customization

Start with CSS Variables

Use CSS custom properties for quick adjustments and runtime theming. They're the easiest way to customize without rebuilding.

Use SCSS for System-Wide Changes

When you need to change the entire system (like column count or breakpoints), use SCSS variables at build time.

Props for Instance-Level Control

Use component props when you need different configurations for different instances of the same component.

Extend for Complex Patterns

Create custom components when you need completely new layout patterns or complex styling requirements.