What you will find inside Arcibaldo?
├── css
│ ├── arcibaldo.css // Arcibaldo v.1 CSS
│ ├── arcibaldo.css.map
│ └── arcibaldo.min.css // Arcibaldo v.1 minified CSS
├── LICENSE
├── package.json
├── README.md
└── scss
├── arcibaldo.scss // Arcibaldo v.1 SCSS
├── arcibaldo.variables.scss // required: Core variables of Arcibaldo
├── _functions.scss // required: Core functions of Arcibaldo
├── mixins
│ ├── _breakpoints.scss // mixins for screen size and orientation breakpoints
│ ├── _geometry.scss // mixins for three shapes: square, rectangle, circle
│ └── _size.scss // mixins for managing sizes
├── _mixins.scss // Arcibaldo - Import all mixins
└── theme
├── _buttons.scss
├── _geometry.scss
├── _layout-flexbox.scss // Layout: Flexbox
├── _layout.scss // Layout
├── _shadings.scss
├── _spacing.scss // Padding and margin
└── _typography.scss
Arcibaldo SCSS
Installation:
$ npm install --save arcibaldo
Import all modules of Arcibaldo in one go:
// Arcibaldo
@import '~arcibaldo/scss/arcibaldo';
Import just what you need from Arcibaldo:
// Arcibaldo variables
@import '~arcibaldo/scss/arcibaldo.variables';
// Custom variables: will overwrite Arcibaldo default variables
$base-space-value: 10px;
// Required
@import '~arcibaldo/scss/functions';
@import '~arcibaldo/scss/mixins';
// Optional
@import '~arcibaldo/scss/theme/layout';
@import '~arcibaldo/scss/theme/layout-flexbox';
@import '~arcibaldo/scss/theme/spacing';
@import '~arcibaldo/scss/theme/typography';
@import '~arcibaldo/scss/theme/buttons';
@import '~arcibaldo/scss/theme/shadings';
@import '~arcibaldo/scss/theme/geometry';
1.0 - Layout
Keep your top level container wrapped in a .fix-container to make sure the flexed items do not exceed a certain max-width based on the value of $flex-fix-container-width (arcibaldo.variables.scss).
width / height based on percentages (%)
| base | values | example |
|---|---|---|
| w | 1 - 100 | class=”w_1” |
| h | 1 - 100 | class=”h_1” |
1.1 Layout: Flexbox
Containers Block level:
| short | long | base | example |
|---|---|---|---|
| rc | row-container | rc, row-container | class=”rc” |
| cc | col-container | cc, col-container | class=”cc” |
Flex Line Wrapping:
| short | base | modifiers | example |
|---|---|---|---|
| flex_wrap | flex | wrap | class=”flex_wrap” |
| flex_wrap-nowrap | flex | nowrap | class=”flex_wrap-nowrap” |
| flex_wrap-reverse | flex | wrap-reverse | class=”flex_wrap-reverse” |
Items:
| short | base | modifiers | values | example |
|---|---|---|---|---|
| flex_{n} | flex | 1 - 100 | class=”flex_1” | |
| flex_shrink_{n} | flex | shrink | 1 - 100 | class=”flex_shrink_1” |
Axis Alignment:
| short | long | base | modifiers | example |
|---|---|---|---|---|
| jc_fs | justify-content_flex-start | jc, justify-content | fs, flex-start | class=”jc_fs” |
| jc_fe | justify-content_flex-end | jc, justify-content | fe, flex-end | class=”jc_fe” |
| jc_c | justify-content_center | jc, justify-content | c, center | class=”jc_c” |
| jc_sb | justify-content_space-between | jc, justify-content | sb, space-between | class=”jc_sb” |
| jc_sa | justify-content_space-around | jc, justify-content | sb, space-around | class=”jc_sa” |
Cross-axis Alignment
@todo: work in progress
2.0 - Spacing
Spacing is based on the value of $base-space-value (arcibaldo.variables.scss) and each spacing class (margin and padding) can be extended
50 times the value of $base-space-value.
Eg. Having a $base-space-value set to 2px ($base-space-value: 2px),the the maximum spacing will solve at the dimension of 100px
.mb_50 will output margin-bottom: 100px
| base | modifiers | values | example |
|---|---|---|---|
| pt, pr, pb, pl, p-horizontal, p-vertical |
auto | class=”pt_auto” | |
| p-all | 1 - 50 | class=”p-all_1” | |
| p-horizontal | 1 - 50 | class=”p-horizontal_1” | |
| p-vertical | 1 - 50 | class=”p-vertical_1” | |
| pt | 1 - 50 | class=”pt_1” | |
| pr | 1 - 50 | class=”pr_1” | |
| pb | 1 - 50 | class=”pb_1” | |
| pl | 1 - 50 | class=”pl_1” | |
| mt, mr, mb, ml, m-horizontal, m-vertical |
auto | class=”mt_auto” | |
| m-all | 1 - 50 | class=”m-all_1” | |
| m-horizontal | 1 - 50 | class=”m-horizontal_1” | |
| m-vertical | 1 - 50 | class=”m-vertical_1” | |
| mt | 1 - 50 | class=”mt_1” | |
| mr | 1 - 50 | class=”mr_1” | |
| mb | 1 - 50 | class=”mb_1” | |
| ml | 1 - 50 | class=”ml_1” |
At the moment just a short syntax for spacing is implemented.
Contribute to Arcibaldo:
Any help is more than welcome, file a bug, contribute some code, or improve documentation.