-A fully responsive and comprehensive CSS framework with beautiful controls and simplistic structure. Cirrus is designed to be adaptable to existing themes or when starting fresh.
+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 »
@@ -25,7 +27,25 @@ A fully responsive and comprehensive CSS framework with beautiful controls and s
Examples
-## :hammer: Quick Install
+
+## :sparkles: Features
+
+* :art: **Beautiful Components** - Beautifully designed components come right out of the box for rapid prototyping.
+* :balloon: **Sass First** - Forget bundling tons of JavaScript with each component. All styles require no JS for interactions/functionality (see Modals, Dropdowns, etc.).
+* :rainbow: **Configuration at its Core** - Add additional components, remove utility classes, disable features, etc. Cirrus takes a generative approach to building your stylesheets.
+* :zap: **Lightweight** - A large amount of features with a minimal footprint.
+* :iphone: **Responsive** - Fully responsive by design.
+* :computer: **Vscode Extension Support** - Install it [here](https://marketplace.visualstudio.com/items?itemName=Spiderpig86.cirrus-intellisense).
+* 🤹♂️ **Playground** - Try out whatever experiment you want with Cirrus [here](https://www.cirrus-ui.com/playground).
+
+## :dart: Supported Browsers
+Cirrus relies on [What CSS to prefix?](http://shouldiprefix.com/) to determine which selectors need prefixes.
+
+| [](http://godban.github.io/browsers-support-badges/)IE / Edge | [](http://godban.github.io/browsers-support-badges/)Firefox | [](http://godban.github.io/browsers-support-badges/)Chrome | [](http://godban.github.io/browsers-support-badges/)Safari | [](http://godban.github.io/browsers-support-badges/)Opera | [](http://godban.github.io/browsers-support-badges/)Electron |
+| --- | --- | --- | --- | --- | --- |
+| IE11, Edge | last 3 versions, ESR | last 3 versions | last 3 versions | last 3 versions | last 3 versions |
+
+## 📦 Install
#### Npm
```sh
@@ -40,85 +60,207 @@ 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
```html
-https://unpkg.com/cirrus-ui
+
```
-## :sparkles: Why not other frameworks?
-Even with a multitude of CSS frameworks, some are either too basic that require lots of custom styling and some are too bogged down with a lot of styles that don't end up getting used. Cirrus is meant to bridge a gap between boilerplate stylesheets and UI frameworks.
+##### JsDelivr
-* :zap: **Lightweight** - Cirrus consists of a single minified file using only **10.3kb** and **17.2kb** respectively.
-* :gift: **Beautiful Components** - Construct your web app or website using by composing beautifully designed components.
-* :gem: **Clean** - Styles are easy to follow and written using [BEM Notation](http://getbem.com/introduction/).
-* :iphone: **Responsive** - Fully responsive by design.
-* :ship: **Modular** - Import what you need.
-
+```html
+
+```
-## :dart: Supported Browsers
-Cirrus relies on [What CSS to prefix?](http://shouldiprefix.com/) to determine which selectors need prefixes.
+Check out the [Setup](https://www.cirrus-ui.com/getting-started/setup) guide for more information.
-| [](http://godban.github.io/browsers-support-badges/)IE / Edge | [](http://godban.github.io/browsers-support-badges/)Firefox | [](http://godban.github.io/browsers-support-badges/)Chrome | [](http://godban.github.io/browsers-support-badges/)Safari | [](http://godban.github.io/browsers-support-badges/)Opera | [](http://godban.github.io/browsers-support-badges/)Electron |
-| --- | --- | --- | --- | --- | --- |
-| IE9, IE10, IE11, Edge | last 3 versions, ESR | last 3 versions | last 3 versions | last 3 versions | last 3 versions |
-
+## :hammer: Usage
+
+#### Basic Page
+
+```html
+
+
+
+ Hello World
+
+
+
+
+
+
+
+
+
👋Hello World
+
+
+```
+
+#### React
+
+```jsx
+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(
+
+
+ ,
+ rootElement
+);
+```
+
+#### Vue
+
+```js
+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
+
+```js
+import App from "./App.svelte";
+import "cirrus-ui";
+
+const app = new App({
+ target: document.body
+});
+
+export default app;
+```
+
+#### Sass/Scss
+
+```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](https://www.cirrus-ui.com/getting-started/setup) guide for more information.
+
+## :computer: Development
+
+Use Gitpod, a free online dev environment for GitHub.
+
+[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Spiderpig86/Cirrus)
+
+Or clone locally:
+
+```bash
+$ git clone git@github.com:Spiderpig86/Cirrus.git
+$ cd cirrus
+$ yarn install
+$ yarn watch
+```
## :crystal_ball: What's Included
-Framework components are now broken down into `core` and `ext` packages. The `core` package only contains the essentials for basic styling while `core + ext` adds specially designed components.
-
-The `helpers` folder contains configurations, utilities, and other styles shared by both `core` and `ext`.
-
-#### Core
-* [Buttons](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/button.scss "Buttons") - Styles for the button with 3 different variations.
-* [Code](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/code.scss "Code") - Style for code markup blocks.
-* [Default (Base)](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/default.scss "Default") - The core of this framework.
-* [Font](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/font.scss "Font") - All text styles for this framework for headers, articles, blockquotes, and paragraphs.
-* [Footer](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/footer.scss "Footer") - Basic styles for setting up a page footer.
-* [Forms](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/forms.scss "Forms") - Form styles for textboxes, textfields, selects, and layout.
-* [Frames](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/frames.scss "Frames") - Flexible panel with header, body, and footer for layouts.
-* [Header](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/header.scss "Header") - Styles for header elements including drop down menus.
-* [Layout](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/layout.scss "Layout") - Rules for grids, item alignment, and layout borders.
-* [Links](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/links.scss "Links") - Link styles with different effects.
-* [Lists](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/lists.scss "Lists") - A simple stylesheet to simplify list UI.
-* [Media](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/media.scss "Media") - Rules for styling images, videos, figures, avatars, and other media components.
-* [Spacing](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/spacing.scss "Spacing") - Classes for margin/padding.
-* [Tables](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/table.scss "Tables") - Clean designs for tables.
-* [Theme](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/theme.scss "Theme") - Default colors of the framework.
-* [Util](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/utils "Utils") - Designed to solve many common headaches with CSS and provide flexibility for modifying existing classes.
-
-#### Ext
-* [Animations](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/animations.scss "Animations") - Consists of animations that will work with the controls.
-* [Avatar](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/avatar.scss "Avatar") - Styles for user avatars.
-* [Cards](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/card.scss "Cards") - Base for card controls.
-* [Grid](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/card.scss "Grid") - Experimental implementation of CSS Grid standard.
-* [Modal](https://github.com/Spiderpig86/Cirrus/blob/master/src/core/modal.scss "Modal") - Styles for a pop up modal dialog.
-* [Modifiers](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/modifiers.scss "Modifiers") - Classes designed for modifying text and backgrounds.
-* [Pagination](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/pagination.scss "Pagination") - Design for pagination and pagination navigation links.
-* [Placeholder](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/placeholder.scss "Placeholder") - Styles for a control designed to be a placeholder such as "Coming Soon" panels and so on.
-* [Tabs](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/tabs.scss "Tabs") - Contains styles for tab controls.
-* [Tags](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/tags.scss "Tags") - Chip-like controls that are helpful for listing items.
-* [Tiles](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/tiles.scss "Tiles") - Flexible layout used for tiling controls horizontally.
-* [Toast](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/toast.scss "Toast") - A small overlay notification for websites.
-* [Tooltips](https://github.com/Spiderpig86/Cirrus/blob/master/src/ext/tooltips.scss "Tooltips") - Add tooltips to any control for contextual info.
-
-## :pager: jQuery
-* jQuery is **not needed** in order to use this framework.
-* You may use jQuery for adding functionality such as toggling the dropdown menu for the `Header` component on mobile devices, but you can accomplish the same thing with vanilla JavaScript.
-* It is possible to use these components without jQuery in other frameworks like Angular and React by mimicking the behavior of toggling the class.
-
+- **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
## :clap: Related Projects
-| Project | Description |
-|--------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
-| [vue-cirrus](https://github.com/FlorianWoelki/vue-cirrus) | Cirrus components for Vue.js with straightforward syntax |
-
-
-## :gem: Examples that use Cirrus
-* [Polarity 9](http://polarity.x10.mx/browser "Polarity 9 Promo Page")
-* [Phraze](https://phrazes.net "Phraze")
-
+| Project | Description |
+| --------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| [vue-cirrus](https://github.com/FlorianWoelki/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](https://github.com/Cirrus-UI/Cirrus-Reset) | A simple CSS reset from Cirrus. |
## :newspaper: License and Attribution
Cirrus is licensed under the [MIT license](https://github.com/Spiderpig86/Cirrus/blob/master/LICENSE "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](https://app.fossa.com/api/projects/git%2Bgithub.com%2FSpiderpig86%2FCirrus.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FSpiderpig86%2FCirrus?ref=badge_large)
+
+## 🤝 Contributing [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
+
+Read our [contributing guide](https://github.com/Spiderpig86/Cirrus/blob/master/.github/CONTRIBUTING.yml) and improve Cirrus together.
+
+We welcome all contributions. Please read our [CONTRIBUTING.md](https://github.com/Spiderpig86/Cirrus/blob/master/.github/CONTRIBUTING.md) first. You can submit any ideas as [pull requests](https://github.com/Spiderpig86/Cirrus/pulls) or as [GitHub issues](https://github.com/Spiderpig86/Cirrus/issues). If you'd like to improve code, check out the [Development Instructions](https://www.cirrus-ui.com/getting-started/developing) 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](https://issuehunt.io/static/embed/issuehunt-button-v1.svg)](https://issuehunt.io/r/Spiderpig86/Cirrus)
+
+## ❤️ Sponsors and Backers
+
+I would greatly appreciate any support for the continued development of this project. :smile:
+
+[![](https://opencollective.com/cirrus/tiers/sponsors.svg?avatarHeight=36)](https://opencollective.com/cirrus#support)
+
+[![](https://opencollective.com/cirrus/tiers/backers.svg?avatarHeight=36)](https://opencollective.com/cirrus#support)