Cirrus UI

The SCSS framework for the modern web.
GitHub
1.39k
Created 8 years ago, last commit 7 days ago
15 contributors
1.31k commits
Stars added on GitHub, month by month
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
Stars added on GitHub, per day, on average
Yesterday
+1
Last week
+0.1
/day
Last month
+0.1
/day
Last 12 months
+0.3
/day
npmPackage on NPM
cirrus-ui
0.7.2-patch.1
Monthly downloads on NPM
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
README

Cirrus

v.0.7.2 MIT License Github Actions Known Vulnerabilities Known Vulnerabilities Reviewed by Hound Featured on Openbase

A component-and-utility-centric SCSS framework designed for rapid prototyping. Use beautiful pre-built components to bootstrap your next project and utility classes to polish your final design.
Check out the docs ยป

Request Feature / Report a Bug / Examples

โœจ Features

  • ๐ŸŽจ Beautiful Components - Beautifully designed components come right out of the box for rapid prototyping.
  • ๐ŸŽˆ Sass First - Forget bundling tons of JavaScript with each component. All styles require no JS for interactions/functionality (see Modals, Dropdowns, etc.).
  • ๐ŸŒˆ Configuration at its Core - Add additional components, remove utility classes, disable features, etc. Cirrus takes a generative approach to building your stylesheets.
  • โšก Lightweight - A large amount of features with a minimal footprint.
  • ๐Ÿ“ฑ Responsive - Fully responsive by design.
  • ๐Ÿ’ป Vscode Extension Support - Install it here.
  • ๐Ÿคนโ€โ™‚๏ธ Playground - Try out whatever experiment you want with Cirrus here.

๐ŸŽฏ Supported Browsers

Cirrus relies on What CSS to prefix? to determine which selectors need prefixes.

IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
Electron
Electron
IE11, Edge last 3 versions, ESR last 3 versions last 3 versions last 3 versions last 3 versions

๐Ÿ“ฆ Install

Npm

npm install cirrus-ui

Yarn

yarn add cirrus-ui

CDN

For CDNs, it is recommended to attach a specific versions to the URLs to avoid unexpected updates to maintain consistency in your project.

Please do not reference the dist folder artifacts directly as these are subject to change at any time.

Unpkg
<link rel="stylesheet" href="https://unpkg.com/cirrus-ui">
JsDelivr
<link rel="stylesheet" href="https://www.jsdelivr.com/package/npm/cirrus-ui">

Check out the Setup guide for more information.

๐Ÿ”จ Usage

Basic Page

<!DOCTYPE html>
<html>
  <head>
    <title>Hello World</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge;" />
    <link href="https://unpkg.com/cirrus-ui" type="text/css" rel="stylesheet" />
    <link href="https://fonts.googleapis.com/css?family=Nunito+Sans:200,300,400,600,700" rel="stylesheet" />
    <link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" />
  </head>
  <body>
    <h1>๐Ÿ‘‹Hello World</h1>
  </body>
</html>

React

import { StrictMode } from "react";
import ReactDOM from "react-dom";

import App from "./App";

import 'cirrus-ui'; // You can import it here if you want

const rootElement = document.getElementById("root");
ReactDOM.render(
    <StrictMode>
        <App />
    </StrictMode>,
    rootElement
);

Vue

import Vue from 'vue';
import App from './App.vue';

import 'cirrus-ui';

Vue.config.productionTip = false;

new Vue({
    render: (h) => h(App),
}).$mount('#app');

Svelte

import App from "./App.svelte";
import "cirrus-ui";

const app = new App({
    target: document.body
});

export default app;

Sass/Scss

@use "node_modules/cirrus-ui/src/cirrus-ext" as * with (
    $config: (
        excludes: (
            ABSOLUTES,
        ),
        opacity: null, // Disable default opacity classes
        extend: (
            // Add your own
            opacity: (
                25: .25,
                50: .5,
                75: .75,
            )
        )
    ),
);

Check out the Setup guide for more information.

๐Ÿ’ป Development

Use Gitpod, a free online dev environment for GitHub.

Open in Gitpod

Or clone locally:

$ git clone git@github.com:Spiderpig86/Cirrus.git
$ cd cirrus
$ yarn install
$ yarn watch

๐Ÿ”ฎ What's Included

  • Base - base styles.
    • Animations
    • Default
    • Font
    • Grid
    • Layout
    • Media
    • Modifiers
    • Spacing
  • Builds - build files for core and ext.
  • Components - framework components.
    • Accordion
    • Avatar
    • Breadcrumb
    • Button
    • Card
    • Code
    • Footer
    • Forms
    • Frames
    • Header
    • Links
    • Lists
    • Modal
    • Pagination
    • Placeholder
    • Progress
    • Table
    • Tabs
    • Tags
    • Tiles
    • Toast
    • Tooltips
  • Internal - internal APIs, functions, constants, etc.
  • Utils - utility classes.
    • Absolute
    • Blur
    • Border
    • Clearfix
    • Display
    • Flex
    • Misc
    • Opacity
    • Overflow
    • Position
    • Shadow
    • Transitions
    • Z-Index

๐Ÿ‘ Related Projects

Project Description
vue-cirrus Cirrus components for Vue.js with straightforward syntax
cirrus-blocks A collection of beautiful components built with Cirrus ready to be copied and pasted.
cirrus-reset A simple CSS reset from Cirrus.

๐Ÿ“ฐ License and Attribution

Cirrus is licensed under the MIT license. If this frame work has helped you in any way, attribution in the footer of your website would be much appreciated.

FOSSA Status

๐Ÿค Contributing PRs Welcome

Read our contributing guide and improve Cirrus together.

We welcome all contributions. Please read our CONTRIBUTING.md first. You can submit any ideas as pull requests or as GitHub issues. If you'd like to improve code, check out the Development Instructions and have a good time! :)

When creating issues, please follow the templates provided for the issue type you selected. The added detail and formatting will help me understand and resolve your issue faster.

Let's fund issues in this repository

โค๏ธ Sponsors and Backers

I would greatly appreciate any support for the continued development of this project. ๐Ÿ˜„