| @ -0,0 +1,3 @@ | |||
| @import | |||
| 'components/button' | |||
| 'components/nav'; | |||
| @ -0,0 +1,3 @@ | |||
| @import | |||
| 'site/header' | |||
| 'site/footer'; | |||
| @ -0,0 +1,2 @@ | |||
| @import | |||
| 'templates/home'; | |||
| @ -0,0 +1,3 @@ | |||
| { | |||
| "/dist/crispy.min.css": "/dist/crispy.min.css" | |||
| } | |||
| @ -1,17 +1,29 @@ | |||
| { | |||
| "name": "crispy-boilerplate", | |||
| "version": "1.1.0", | |||
| "description": "Flat Sass Boilerplate to give you a amount of Basic Settings, Mixins and Functions", | |||
| "repository": { | |||
| "type": "git", | |||
| "url": "git@gitlab.tentakelfabrik.de:tentakelfabrik/crispy-boilerplate.git" | |||
| }, | |||
| "author": "Björn Hase", | |||
| "license": "MIT", | |||
| "devDependencies": { | |||
| "laravel-mix": "^2.1.14" | |||
| }, | |||
| "dependencies": { | |||
| "normalize-scss": "^7.0.1" | |||
| } | |||
| "name": "crispy-boilerplate", | |||
| "version": "1.2.0", | |||
| "description": "Flat Sass Boilerplate to give you a amount of Basic Settings, Mixins and Functions", | |||
| "repository": { | |||
| "type": "git", | |||
| "url": "git@gitlab.tentakelfabrik.de:tentakelfabrik/crispy-boilerplate.git" | |||
| }, | |||
| "scripts": { | |||
| "dev": "npm run development", | |||
| "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
| "watch": "npm run development -- --watch", | |||
| "watch-poll": "npm run watch -- --watch-poll", | |||
| "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
| "prod": "npm run production", | |||
| "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" | |||
| }, | |||
| "author": "Björn Hase", | |||
| "license": "MIT", | |||
| "devDependencies": { | |||
| "cross-env": "^5.2.0", | |||
| "laravel-mix": "^2.1.14", | |||
| "postcss-css-variables": "^0.11.0" | |||
| }, | |||
| "dependencies": { | |||
| "bootstrap": "^4.2.1", | |||
| "normalize-scss": "^7.0.1" | |||
| } | |||
| } | |||
| @ -0,0 +1,10 @@ | |||
| @import | |||
| 'components/button', | |||
| 'components/code', | |||
| 'components/group', | |||
| 'components/heading', | |||
| 'components/hero', | |||
| 'components/modal', | |||
| 'components/panel', | |||
| 'components/table', | |||
| 'components/field'; | |||
| @ -0,0 +1,140 @@ | |||
| /** | |||
| * normalize | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| @import 'normalize'; | |||
| @mixin crispy__core() { | |||
| html { | |||
| font-size: 100%; | |||
| } | |||
| body, | |||
| html { | |||
| margin: 0; | |||
| height: 100%; | |||
| } | |||
| html, | |||
| legend { | |||
| box-sizing: border-box; | |||
| } | |||
| *, | |||
| *::after, | |||
| *::before { | |||
| box-sizing: inherit; | |||
| } | |||
| table { | |||
| border-collapse: collapse; | |||
| border-spacing: 0; | |||
| } | |||
| // paragraphs | |||
| p { | |||
| margin: toEm(0 0 $crispy__spacing 0); | |||
| } | |||
| // Semantic text elements | |||
| a, | |||
| ins, | |||
| u { | |||
| text-decoration-skip: ink edges; | |||
| } | |||
| a { | |||
| color: $crispy__color-primary; | |||
| &:hover { | |||
| color: $crispy__color-hover; | |||
| } | |||
| &:focus { | |||
| outline: none; | |||
| } | |||
| } | |||
| abbr[title] { | |||
| border-bottom: 1px dotted; | |||
| cursor: help; | |||
| text-decoration: none; | |||
| } | |||
| mark { | |||
| padding: toEm(5px); | |||
| } | |||
| // blockquote | |||
| blockquote { | |||
| border-left: 1px solid $crispy__color-secondary; | |||
| margin-left: 0; | |||
| padding: toEm(10px 20px); | |||
| p:last-child { | |||
| margin-bottom: 0; | |||
| } | |||
| } | |||
| // lists | |||
| dl, | |||
| ol, | |||
| ul { | |||
| padding: 0; | |||
| margin: toEm(0 0 $crispy__spacing $crispy__spacing); | |||
| } | |||
| ol ol, | |||
| ul ul { | |||
| margin-top: toEm(($crispy__spacing / 2)); | |||
| } | |||
| ol { | |||
| list-style: decimal outside; | |||
| } | |||
| ul { | |||
| list-style: disc outside; | |||
| } | |||
| dd, | |||
| dt { | |||
| margin: 0; | |||
| } | |||
| dt { | |||
| font-weight: bold; | |||
| } | |||
| // media | |||
| figure { | |||
| margin: toEm(0 0 $crispy__spacing); | |||
| } | |||
| figcaption { | |||
| margin: toEm($crispy__spacing 0 0); | |||
| } | |||
| // divider | |||
| hr { | |||
| border: 0; | |||
| border-top: 1px solid $crispy__color-secondary; | |||
| margin: toEm($crispy__spacing 0); | |||
| } | |||
| // body | |||
| body { | |||
| font-family: $crispy__font-family; | |||
| font-weight: normal; | |||
| line-height: $crispy__golden-ratio; | |||
| color: $crispy__color-text; | |||
| background-color: $crispy__color-background; | |||
| direction: $crispy__direction; | |||
| @include crispy__font-size($crispy__font-size); | |||
| } | |||
| } | |||
| @ -0,0 +1,3 @@ | |||
| @import | |||
| 'functions/units', | |||
| 'functions/zIndex'; | |||
| @ -0,0 +1,7 @@ | |||
| @import | |||
| 'helpers/float', | |||
| 'helpers/spacing', | |||
| 'helpers/media', | |||
| 'helpers/text', | |||
| 'helpers/visibility', | |||
| 'helpers/width'; | |||
| @ -1,6 +1,6 @@ | |||
| @import | |||
| 'fonts', | |||
| 'media-queries'; | |||
| 'mixins/fonts', | |||
| 'mixins/media-queries'; | |||
| /** | |||
| * clearfix to end floating | |||
| @ -1,139 +0,0 @@ | |||
| /** | |||
| * normalize | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| @import | |||
| 'normalize'; | |||
| html { | |||
| font-size: 100%; | |||
| } | |||
| body, | |||
| html { | |||
| margin: 0; | |||
| height: 100%; | |||
| } | |||
| html, | |||
| legend { | |||
| box-sizing: border-box; | |||
| } | |||
| *, | |||
| *::after, | |||
| *::before { | |||
| box-sizing: inherit; | |||
| } | |||
| table { | |||
| border-collapse: collapse; | |||
| border-spacing: 0; | |||
| } | |||
| // paragraphs | |||
| p { | |||
| margin: toEm(0 0 $crispy__margin 0); | |||
| } | |||
| // Semantic text elements | |||
| a, | |||
| ins, | |||
| u { | |||
| text-decoration-skip: ink edges; | |||
| } | |||
| a { | |||
| color: $crispy__color-primary; | |||
| &:hover { | |||
| color: $crispy__color-hover; | |||
| } | |||
| &:focus { | |||
| outline: none; | |||
| } | |||
| } | |||
| abbr[title] { | |||
| border-bottom: 1px dotted; | |||
| cursor: help; | |||
| text-decoration: none; | |||
| } | |||
| mark { | |||
| padding: toEm(5px); | |||
| } | |||
| // blockquote | |||
| blockquote { | |||
| border-left: 1px solid $crispy__color-secondary; | |||
| margin-left: 0; | |||
| padding: toEm(10px 20px); | |||
| p:last-child { | |||
| margin-bottom: 0; | |||
| } | |||
| } | |||
| // lists | |||
| dl, | |||
| ol, | |||
| ul { | |||
| padding: 0; | |||
| margin: toEm(0 0 $crispy__margin $crispy__margin); | |||
| } | |||
| ol ol, | |||
| ul ul { | |||
| margin-top: toEm(($crispy__margin / 2)); | |||
| } | |||
| ol { | |||
| list-style: decimal outside; | |||
| } | |||
| ul { | |||
| list-style: disc outside; | |||
| } | |||
| dd, | |||
| dt { | |||
| margin: 0; | |||
| } | |||
| dt { | |||
| font-weight: bold; | |||
| } | |||
| // media | |||
| figure { | |||
| margin: toEm(0 0 $crispy__margin); | |||
| } | |||
| figcaption { | |||
| margin: toEm($crispy__margin 0 0); | |||
| } | |||
| // divider | |||
| hr { | |||
| border: 0; | |||
| border-top: 1px solid $crispy__color-secondary; | |||
| margin: toEm($crispy__margin 0); | |||
| } | |||
| // body | |||
| body { | |||
| font-family: $crispy__font-family; | |||
| font-weight: normal; | |||
| line-height: $crispy__golden-ratio; | |||
| color: $crispy__color-text; | |||
| background-color: $crispy__color-background; | |||
| direction: $crispy__direction; | |||
| @include crispy__font-size($crispy__font-size); | |||
| } | |||
| @ -1,22 +1,27 @@ | |||
| @import | |||
| 'checkbox', | |||
| 'label', | |||
| 'panel', | |||
| 'text', | |||
| 'radio', | |||
| 'select'; | |||
| 'field/checkbox', | |||
| 'field/label', | |||
| 'field/panel', | |||
| 'field/text', | |||
| 'field/radio', | |||
| 'field/select'; | |||
| /** | |||
| * component: field | |||
| * | |||
| * field is a wrapper for form elements | |||
| * <div class="field"> | |||
| * <label class="field__label"> | |||
| * text | |||
| * <input type="text" class="field__text" /> | |||
| * <label> | |||
| * </div> | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__field__margin: toEm(0 0 $crispy__margin 0) !default; | |||
| $crispy__field__margin: toEm(0 0 $crispy__spacing 0) !default; | |||
| $crispy__field__input__font-size: $crispy__font-size !default; | |||
| $crispy__field__input__padding: toEm(6px 8px) !default; | |||
| @ -1,62 +0,0 @@ | |||
| /** | |||
| * component: icon | |||
| * | |||
| * use svg as icon | |||
| * | |||
| * <svg class="icon"> | |||
| * | |||
| * </svg> | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__icon__vertical-align: text-bottom !default; | |||
| $crispy__icon__sizes: ( | |||
| 'default': $crispy__font-size, | |||
| 'small': 12px, | |||
| 'large': 28px | |||
| ) !default; | |||
| @mixin crispy__icon() { | |||
| .icon { | |||
| display: inline-block; | |||
| position: relative; | |||
| vertical-align: $crispy__icon__vertical-align; | |||
| @include crispy__icon-sizes($crispy__icon__sizes); | |||
| } | |||
| } | |||
| /** | |||
| * adding sizes for icons from map | |||
| * | |||
| * | |||
| * @param {map} $sizes | |||
| * | |||
| */ | |||
| @mixin crispy__icon-sizes($sizes) { | |||
| @each $name, $size in $sizes { | |||
| @if ($name == 'default') { | |||
| @include crispy__icon-size($size); | |||
| } @else { | |||
| &--#{$name} { | |||
| @include crispy__icon-size($size); | |||
| } | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| * add size for icon as width and height | |||
| * | |||
| * | |||
| * @param {px} $size | |||
| * | |||
| */ | |||
| @mixin crispy__icon-size($size) { | |||
| width: $size; | |||
| } | |||
| @ -1,36 +0,0 @@ | |||
| @import | |||
| 'button', | |||
| 'code', | |||
| 'group', | |||
| 'heading', | |||
| 'hero', | |||
| 'icon', | |||
| 'modal', | |||
| 'panel', | |||
| 'table', | |||
| 'field/field'; | |||
| /** | |||
| * shortcut to adding all components | |||
| * | |||
| * | |||
| */ | |||
| @mixin cripsy__components() | |||
| { | |||
| @include crispy__button(); | |||
| @include crispy__code(); | |||
| @include crispy__group(); | |||
| @include crispy__heading(); | |||
| @include crispy__hero(); | |||
| @include crispy__icon(); | |||
| @include crispy__modal(); | |||
| @include crispy__panel(); | |||
| @include crispy__table(); | |||
| @include crispy__field(); | |||
| @include crispy__field__text(); | |||
| @include crispy__field__checkbox(); | |||
| @include crispy__field__radio(); | |||
| @include crispy__field__select(); | |||
| @include crispy__field__panel(); | |||
| @include crispy__field__label(); | |||
| } | |||
| @ -1,8 +1,26 @@ | |||
| @import | |||
| 'functions/functions', | |||
| 'mixins/mixins', | |||
| 'functions', | |||
| 'mixins', | |||
| 'config', | |||
| 'normalize', | |||
| 'components/components', | |||
| 'helpers/helpers'; | |||
| 'core', | |||
| 'components', | |||
| 'helpers'; | |||
| // components | |||
| @include crispy__core(); | |||
| @include crispy__button(); | |||
| @include crispy__field(); | |||
| @include crispy__group(); | |||
| @include crispy__heading(); | |||
| @include crispy__hero(); | |||
| @include crispy__modal(); | |||
| @include crispy__panel(); | |||
| @include crispy__table(); | |||
| // helpers | |||
| @include crispy__float(); | |||
| @include crispy__media(); | |||
| @include crispy__spacing(); | |||
| @include crispy__text(); | |||
| @include crispy__visibility(); | |||
| @include crispy__width(); | |||
| @ -0,0 +1,2 @@ | |||
| @import | |||
| 'crispy'; | |||
| @ -1,3 +0,0 @@ | |||
| @import | |||
| 'units', | |||
| 'zIndex'; | |||
| @ -1,61 +0,0 @@ | |||
| /** | |||
| * helper: margin | |||
| * | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__margin-top: toEm($crispy__margin) !default; | |||
| $crispy__margin-bottom: toEm($crispy__margin) !default; | |||
| @mixin crispy__margin() { | |||
| .margin-top-0x { | |||
| margin-top: 0; | |||
| } | |||
| .margin-top-1x { | |||
| margin-top: $crispy__margin-top; | |||
| } | |||
| .margin-top-2x { | |||
| margin-top: $crispy__margin-top * 2; | |||
| } | |||
| .margin-top-3x { | |||
| margin-top: $crispy__margin-top * 3; | |||
| } | |||
| .margin-top-4x { | |||
| margin-top: $crispy__margin-top * 4; | |||
| } | |||
| .margin-top-5x { | |||
| margin-top: $crispy__margin-top * 5; | |||
| } | |||
| .margin-bottom-0x { | |||
| margin-bottom: 0; | |||
| } | |||
| .margin-bottom-1x { | |||
| margin-bottom: $crispy__margin-bottom; | |||
| } | |||
| .margin-bottom-2x { | |||
| margin-bottom: $crispy__margin-bottom * 2; | |||
| } | |||
| .margin-bottom-3x { | |||
| margin-bottom: $crispy__margin-bottom * 3; | |||
| } | |||
| .margin-bottom-4x { | |||
| margin-bottom: $crispy__margin-bottom * 4; | |||
| } | |||
| .margin-bottom-5x { | |||
| margin-bottom: $crispy__margin-bottom * 5; | |||
| } | |||
| } | |||
| @ -0,0 +1,43 @@ | |||
| /** | |||
| * helper: spacing | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| @mixin crispy__spacing() { | |||
| @for $i from 0 through $crispy__spacing__steps { | |||
| .margin-top-#{($i + 1)}x { | |||
| margin-top: ($crispy__spacing * $i); | |||
| } | |||
| .margin-left-#{($i + 1)}x { | |||
| margin-left: ($crispy__spacing * $i); | |||
| } | |||
| .margin-bottom-#{($i + 1)}x { | |||
| margin-bottom: ($crispy__spacing * $i); | |||
| } | |||
| .margin-right-#{($i + 1)}x { | |||
| margin-right: ($crispy__spacing * ($i)); | |||
| } | |||
| .padding-top-#{($i + 1)}x { | |||
| padding-top: ($crispy__spacing * $i); | |||
| } | |||
| .padding-left-#{($i + 1)}x { | |||
| padding-left: ($crispy__spacing * $i); | |||
| } | |||
| .padding-bottom-#{($i + 1)}x { | |||
| padding-bottom: ($crispy__spacing * $i); | |||
| } | |||
| .padding-right-#{($i + 1)}x { | |||
| padding-right: ($crispy__spacing * $i); | |||
| } | |||
| } | |||
| } | |||
| @ -1,20 +0,0 @@ | |||
| @import | |||
| 'float', | |||
| 'margin', | |||
| 'media', | |||
| 'text', | |||
| 'width'; | |||
| /** | |||
| * shortcut to include all helpers | |||
| * | |||
| * | |||
| */ | |||
| @mixin crispy__helpers() | |||
| { | |||
| @include crispy__float(); | |||
| @include crispy__margin(); | |||
| @include crispy__media(); | |||
| @include crispy__text(); | |||
| @include crispy__width(); | |||
| } | |||