ThinkUniform/uniformcss
A fully configurable utility class generator and CSS framework built for Sass projects.
20 Releases
Latest: yesterday
Uniform CSS 1.6.01.6.0Latest
📦 ⚡ ~40% faster builds
- Full default build: ~4.8s → ~2.8s
- Same output size, functionally equivalent CSS
- > Note: With `comma-compression: true`, the *ordering* of selectors within a grouped rule may differ from v1.5.4. The resulting styles are equivalent — only the source-order of grouping changed.
✨ ✅ New snapshot test suite
- Added a lightweight test harness to lock in compiler output:
- ```sh
- npm test # diff fixtures against committed snapshots
- npm run test:update # refresh snapshots after an intentional change
Uniform CSS 1.5.41.5.4
📋 Changes
- Updated to support the recent breaking change of default deep map merge behavior introduced in Sass v1.51.0
🐛 Fixes
- Starter style value `var(--font-mono)` now changes according to `css-variables` setting
Uniform CSS 1.5.31.5.3
📋 Changes
- Passing an empty `apply()` mixin no longer throws an error
- @michaellenaghan
Uniform CSS 1.5.21.5.2
🐛 Fixed
- Fixed to support `null` value in negative and positive size values in configuration
Uniform CSS 1.5.11.5.1
🐛 Fixed
- Fixed `text-decoration-style` property
- Fixed `pseudo` variants for `apply` mixin
Uniform CSS 1.5.01.5.0
🗑️ Removed
- Primary colors and 950 shades are now removed from the default config
- Removed `auto` variant for property `justify-items`
🐛 Fixed
- Fixed `object-position` variant values
- Fixed `object-fit` variant for `scale-down`
Uniform CSS 1.4.01.4.0
✨ Added
- Added support for the `text-decoration-style` property
- Added individual color type variants for the `transition-property` property
🗑️ Removed
- Secondary and semantic colors are now no longer part of the default configuration
🐛 Fixed
- Passing `null` the the `screens` setting now correctly removes responsive variants on generation
- Gutter utilities are now direction specific
- The `blur()` and `blurs()` API functions have been renamed to be `getBlur()` and `getBlurs()` to avoid conflicting with the native filter `blur` property
- @conormuirhead
Uniform CSS 1.3.01.3.0
✨ Added
- Added pseudo support for subsequent siblings for checked input using `checked-sibling`
- @conormuirhead
Uniform CSS 1.2.71.2.7
🐛 Fixed
- Fixed typo for `list-style-position` #21
Uniform CSS 1.2.61.2.6
🐛 Fixed
- Fixed typo
- Applied credit
Uniform CSS 1.2.51.2.5
🐛 Fixed
- Cleaned up core
Uniform CSS 1.2.41.2.4
🐛 Fixed
- Generated new `dist` output files
- Updated default config in `main.scss`
Uniform CSS 1.2.31.2.3
🐛 Fixed
- Removed pseudos for `margin`
- JSON output format corrected to include individual classes under `classes` (critical)
- `output-mode` changed to `output`
Uniform CSS 1.2.21.2.2
🐛 Fixed
- Localized `important` enabled for responsive variants are now enabled correctly
- The `gutter` utilities are loaded before the `margin` for correct specificity
- Customize specific utilities via config no longer affects ordering
Uniform CSS 1.2.11.2.1
🐛 Fixed
- `flex-wrap` utility shorthand corrected
Uniform CSS 1.2.01.2.0
📦 How it works
- INPUT
- ```scss
- @use "uniform" as * with (
- $config: (
- output: 'json',
- excludes: (all),
- includes: (text-align)
- )
- + 27 more
📦 Multi-Property Utilities
- You can now generate any custom utility that includes multiple CSS properties! Simply apply variant values as `<property>: <value>` based map directly in your `utilities` settings.
📦 How it works
- INPUT
- ```scss
- @use "uniform" as * with (
- $config: (
- utilities: (
- heading: (
- important: false,
- shorthand: heading,
- + 37 more
📦 Localized Important Support
- Previously, setting `important: true` could only be done globally. You can now enable `important` locally to any specific utility.
📦 How it works
- ```scss
- @use "uniform" as * with (
- $config: (
- utilities: (
- text-align: (
- important: true,
- ),
- margin: (
- + 8 more
Uniform CSS 1.1.11.1.1
🐛 Fixed
- Reordered primary and secondary color sequence to fix pseudo specificity
Uniform CSS 1.1.01.1.0
📦 Updated
- Cleaned up `transition-property` variants
Uniform CSS 1.0.11.0.1
📦 Updated
- Updated primary and secondary color palette to be more vibrant
- Checkbox `:checked` svg updated to be more in center
✨ Added
- Added `max-w-0` and `max-h-0` variant
🐛 Fixed
- Vendor prefix added to the `box-decoration-break` property to support Safari
Uniform CSS 1.0.01.0.0
📦 Introduction
- Load and configure Uniform directly in Sass
- Build complex UI without ever touching your CSS
- Customizable CSS variable support
- Strict and consistent naming convention
- Collapse pseudo variants with comma compression
- Change utility shorthands, delimiters, and more
- Extract reusable components with `apply()` mixin
- Access theme settings with API functions
- + 2 more
📦 Getting Started
- Here are the instructions to build your first `uniform.css`. Please make sure you have the prerequisites installed before continuing on with the installation steps.
📦 Prerequisites
- Before you get started, ensure you have the following installed.
- [Node & NPM](https://nodejs.org/en/download/)
- [Homebrew](https://brew.sh/)
- [Dart Sass v1.33.0 or higher](https://sass-lang.com/install)
📦 Install Dart Sass on Mac OS X or Linux
- Install Dart Sass with [Homebrew](https://brew.sh/) on Mac OS X or Linux by running the following command.
- ```sh
- brew install sass/sass/sass
- ```
📦 Install Dart Sass on Windows
- Install Dart Sass with [Chocolatey](https://chocolatey.org/) on Windows by running the following command.
- ```sh
- choco install sass
- ```
📦 Load and Compile Uniform
- Add Uniform as a Sass module to your `main.scss` project. Follow these steps to load Uniform CSS, compile, and watch for changes.
- 1. Clone the repository
- ```sh
- cd my-project/sass/
- git clone https://github.com/ThinkUniform/uniformcss
- ```
- 2. Include the Uniform module in your `main.scss`
- ```scss
- + 27 more
📦 Community
- If you're ever stuck, need help, or wish to have a general discussion about this project, please get involved with the following community channels.
- [Twitter](http://twitter.com/UniformCSS)
- [Discord](https://discord.gg/GGZuRVua)
- [Github Discussions](https://github.com/ThinkUniform/uniformcss/discussions)
📦 Contributing
- 1. Fork the Project
- 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
- 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
- 4. Push to the Branch (`git push origin feature/AmazingFeature`)
- 5. Open a Pull Request
📦 License
- The source code is licensed under the [MIT agreement](https://github.com/ThinkUniform/uniformcss.com/blob/main/LICENSE). You are more than welcome to clone and customize this repo to suit your needs.
📦 Contact
- Jin Su Park – Creator and Author<br>
- [@jinsu](https://twitter.com/jinsu) • [jinsupark.com](https://jinsupark.com)
