mixgen
v2.0.0
Published
Mixins generators for SASS & LESS.
Downloads
376
Readme
Mixgen
Mixgen is a library that will help you to simplify your css.
The idea of this library is to generate classes that will be directly used in your HTML, you will not have to create weird class name because you need to add a specific css property.
Getting stated
Optionally: to install with bower, use:
bower install mixgen --save
npm install mixgen --saveAdd Mixin Styles
Add the sass module you need, and call the mixin to generate your classes.
Ex: If you want to generate generic padding classes you will add the padding.scss file and call the mixin like that:
@include generate-paddings();By default some mixin are using default values located in the variables.scss
Generic Mixin Class Generator
All mixin used to generate your css classes are using the generic mixin called css-generator, this mixin allows you to generate any css class you need.
How it's work
Mixin definition :
@mixin css-generator($className, $cssProperty, $values, $breakpoints);| Arguments | Type | Description | |--------------|------------------------|--------------------------------------------------------------------------------------------------| | $className | String | The name of your generated class name | | $cssProperty | Css property | The css property to use (Ex: padding, background-color, ...) | | $values | (List of map) or (map) | The generated values for the css property and optionally class name concatenated with $className | | $breakpoints | Map | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Example 1
@include css-generator($className: 'color', $cssProperty: color, $values: ('red': #ff0000), $breakpoints: (xs: 0, sm: 544px));will generate
.color-red-xs {
color: #ff0000 !important; }
@media (min-width: 544px) {
.color-red-sm {
color: #ff0000 !important; } }Example 2
@include css-generator($className: 'border-top', $cssProperty: border-top, $values: (('xs': 1px), solid, ('red': #ff0000)), $breakpoints: null);will generate
.border-top-xs-red {
border-top: 1px solid #ff0000 !important; }Advanced example :
css-generator('box-shadow', box-shadow, (('h10': 10px), ('v10': 10px), ('s5': 5px), ('red': red)), null);will generate
.box-shadow-h10-v10-s5-red {
box-shadow: 10px 10px 5px red !important; }Included mixin
All mixin using the breakpoints to disable it you have to set the $breakpoints value to null
Borders
| Arguments | Type | Required | Description | |--------------|--------------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $colors | Map | true | The color you want to apply to the border (Ex: ('red': #ffffff, 'blue': #ffffff)) | | $values | Map | optional (default values used from variables.scss) | The differents values to apply to this border (Ex: ('xs': 1px, 'sm': 2px)) | | $type | Css property | optional (default value is solid) | The type of the border (Ex: solid, dotted ...) | | $breakpoints | Map | optional (default values used from variables.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Colors (will generate the background-color and text-color class)
| Arguments | Type | Required | Description | |--------------|-------------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $colors | List or Map | true | The color you want to apply to the border (Ex: ('red': red, 'white': white)) | | $breakpoints | Map | optional (default values used from varaibles.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Float (will generate the pull-left and pull-right)
| Arguments | Type | Required | Description | |--------------|------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $breakpoints | Map | optional (default values used from varaibles.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Line Height
| Arguments | Type | Required | Description | |--------------|------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $values | Map | optional (default values used from variables.scss) | The differents values to apply to this border (Ex: ('xs': 1, 'sm': 2)) | | $breakpoints | Map | optional (default values used from varaibles.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Margins and Paddings
| Arguments | Type | Required | Description | |--------------|----------------------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $sizes | Map | optional (default values used from variables.scss) | The differents values to apply to this border (Ex: ('xs': 1px, 'sm': 2px)) | | $sides | List of css property | optional (default value used from variables.scss) | The type of the border (Ex: left, right, bottom) | | $breakpoints | Map | optional (default values used from varaibles.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Text align
| Arguments | Type | Required | Description | |--------------|----------------------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $sides | List of css property | optional (default value used from variables.scss) | The type of the border (Ex: left, center, right) | | $breakpoints | Map | optional (default values used from varaibles.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
Texts
| Arguments | Type | Required | Description | |--------------|------|----------------------------------------------------|---------------------------------------------------------------------------------------------| | $sizes | Map | optional (default values used from variables.scss) | The differents values to apply to this border (Ex: ('xs': 10px, 'sm': 15px)) | | $breakpoints | Map | optional (default values used from varaibles.scss) | The breakpoints values (Ex: ('xs': 0, 'sm': 544px, 'md': 768px, 'lg': 992px, 'xl': 1200px)) |
