diff options
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | src/objects/_badge.scss | 50 | ||||
| -rw-r--r-- | tpl/objects/badge.pug | 12 | ||||
| -rw-r--r-- | tpl/views/badge.pug | 27 |
4 files changed, 69 insertions, 22 deletions
diff --git a/package.json b/package.json index 81ec80a..f4b0792 100644 --- a/package.json +++ b/package.json | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | "build": "npm run build:app && npm run build:style && npm run build:icons && npm run build:assets", | 11 | "build": "npm run build:app && npm run build:style && npm run build:icons && npm run build:assets", |
| 12 | "build:assets": "cp -r static/* public/", | 12 | "build:assets": "cp -r static/* public/", |
| 13 | "build:app": "pug tpl/index.pug -p tpl --out public/", | 13 | "build:app": "pug tpl/index.pug -p tpl --out public/", |
| 14 | "build:icons": "node node_modules/iro-icons/scripts/create_sprite.js video volume-2 check trash bookmark cog logout tags lock user chevron-left chevron-right hash x send smile repeat heart star arrow-corner-down-left public/icons.svg", | 14 | "build:icons": "node node_modules/iro-icons/scripts/create_sprite.js image video volume-2 check trash bookmark cog logout tags lock user chevron-left chevron-right hash x send smile repeat heart star arrow-corner-down-left public/icons.svg", |
| 15 | "build:style": "sass --load-path=node_modules src_demo/index.scss public/style.css", | 15 | "build:style": "sass --load-path=node_modules src_demo/index.scss public/style.css", |
| 16 | "lint:style": "stylelint \"src/**/*.scss\"", | 16 | "lint:style": "stylelint \"src/**/*.scss\"", |
| 17 | "fix:style": "stylelint \"src/**/*.scss\" --fix", | 17 | "fix:style": "stylelint \"src/**/*.scss\" --fix", |
diff --git a/src/objects/_badge.scss b/src/objects/_badge.scss index 06261b8..8a9fb58 100644 --- a/src/objects/_badge.scss +++ b/src/objects/_badge.scss | |||
| @@ -55,29 +55,33 @@ $static-themes: 'black' 'white' !default; | |||
| 55 | @include iro.props-namespace('badge') { | 55 | @include iro.props-namespace('badge') { |
| 56 | @include iro.props-store(( | 56 | @include iro.props-store(( |
| 57 | --dims: ( | 57 | --dims: ( |
| 58 | --pad-b: fn.global-dim(--size --50), | 58 | --pad-b: fn.global-dim(--size --50), |
| 59 | --pad-i: fn.global-dim(--size --150), | 59 | --pad-i: fn.global-dim(--size --100), |
| 60 | --pad-i-pill: fn.global-dim(--size --200), | 60 | --pad-i-pill: fn.global-dim(--size --150), |
| 61 | --rounding: fn.global-dim(--rounding), | 61 | --pad-i-label: fn.global-dim(--size --50), |
| 62 | --font-size: fn.global-dim(--font-size --75), | 62 | --rounding: fn.global-dim(--rounding), |
| 63 | --font-size: fn.global-dim(--font-size --75), | ||
| 63 | 64 | ||
| 64 | --sm: ( | 65 | --sm: ( |
| 65 | --pad-b: fn.global-dim(--size --25), | 66 | --pad-b: fn.global-dim(--size --25), |
| 66 | --pad-i: fn.global-dim(--size --115), | 67 | --pad-i: fn.global-dim(--size --75), |
| 67 | --pad-i-pill: fn.global-dim(--size --150), | 68 | --pad-i-pill: fn.global-dim(--size --125), |
| 68 | --font-size: fn.global-dim(--font-size --50), | 69 | --pad-i-label: fn.global-dim(--size --25), |
| 70 | --font-size: fn.global-dim(--font-size --50), | ||
| 69 | ), | 71 | ), |
| 70 | --lg: ( | 72 | --lg: ( |
| 71 | --pad-b: fn.global-dim(--size --75), | 73 | --pad-b: fn.global-dim(--size --75), |
| 72 | --pad-i: fn.global-dim(--size --175), | 74 | --pad-i: fn.global-dim(--size --125), |
| 73 | --pad-i-pill: fn.global-dim(--size --225), | 75 | --pad-i-pill: fn.global-dim(--size --175), |
| 74 | --font-size: fn.global-dim(--font-size --100), | 76 | --pad-i-label: fn.global-dim(--size --50), |
| 75 | ), | 77 | --font-size: fn.global-dim(--font-size --100), |
| 76 | --xl: ( | 78 | ), |
| 77 | --pad-b: fn.global-dim(--size --100), | 79 | --xl: ( |
| 78 | --pad-i: fn.global-dim(--size --225), | 80 | --pad-b: fn.global-dim(--size --100), |
| 79 | --pad-i-pill: fn.global-dim(--size --300), | 81 | --pad-i: fn.global-dim(--size --150), |
| 80 | --font-size: fn.global-dim(--font-size --150), | 82 | --pad-i-pill: fn.global-dim(--size --225), |
| 83 | --pad-i-label: fn.global-dim(--size --75), | ||
| 84 | --font-size: fn.global-dim(--font-size --150), | ||
| 81 | ), | 85 | ), |
| 82 | 86 | ||
| 83 | --key-focus: ( | 87 | --key-focus: ( |
| @@ -223,6 +227,10 @@ $static-themes: 'black' 'white' !default; | |||
| 223 | } | 227 | } |
| 224 | } | 228 | } |
| 225 | 229 | ||
| 230 | @include iro.bem-elem('label') { | ||
| 231 | margin-inline: fn.dim(--pad-i-label); | ||
| 232 | } | ||
| 233 | |||
| 226 | @include iro.bem-modifier('quiet') { | 234 | @include iro.bem-modifier('quiet') { |
| 227 | background-color: fn.color(--quiet --bg); | 235 | background-color: fn.color(--quiet --bg); |
| 228 | color: fn.color(--quiet --label); | 236 | color: fn.color(--quiet --label); |
| @@ -277,6 +285,10 @@ $static-themes: 'black' 'white' !default; | |||
| 277 | padding-block: fn.dim(--#{$size} --pad-b); | 285 | padding-block: fn.dim(--#{$size} --pad-b); |
| 278 | padding-inline: fn.dim(--#{$size} --pad-i); | 286 | padding-inline: fn.dim(--#{$size} --pad-i); |
| 279 | font-size: fn.dim(--#{$size} --font-size); | 287 | font-size: fn.dim(--#{$size} --font-size); |
| 288 | |||
| 289 | @include iro.bem-elem('label') { | ||
| 290 | margin-inline: fn.dim(--#{$size} --pad-i-label); | ||
| 291 | } | ||
| 280 | 292 | ||
| 281 | @include iro.bem-modifier('pill') { | 293 | @include iro.bem-modifier('pill') { |
| 282 | padding-inline: fn.dim(--#{$size} --pad-i-pill); | 294 | padding-inline: fn.dim(--#{$size} --pad-i-pill); |
diff --git a/tpl/objects/badge.pug b/tpl/objects/badge.pug index 500f062..c91e74f 100644 --- a/tpl/objects/badge.pug +++ b/tpl/objects/badge.pug | |||
| @@ -15,7 +15,15 @@ mixin badge(variant) | |||
| 15 | 15 | ||
| 16 | if attributes.href | 16 | if attributes.href |
| 17 | a(href=attributes.href class=classes) | 17 | a(href=attributes.href class=classes) |
| 18 | block | 18 | if attributes.icon |
| 19 | +icon(attributes.icon) | ||
| 20 | = ' ' | ||
| 21 | span.o-badge__label | ||
| 22 | block | ||
| 19 | else | 23 | else |
| 20 | span(class=classes) | 24 | span(class=classes) |
| 21 | block | 25 | if attributes.icon |
| 26 | +icon(attributes.icon) | ||
| 27 | = ' ' | ||
| 28 | span.o-badge__label | ||
| 29 | block | ||
diff --git a/tpl/views/badge.pug b/tpl/views/badge.pug index e1aa9e2..cc1f346 100644 --- a/tpl/views/badge.pug +++ b/tpl/views/badge.pug | |||
| @@ -10,6 +10,33 @@ mixin view-badge | |||
| 10 | +badge(size='xl' href='#')= '300' | 10 | +badge(size='xl' href='#')= '300' |
| 11 | 11 | ||
| 12 | .c-box | 12 | .c-box |
| 13 | +badge(pill=true size='sm' href='#')= '50' | ||
| 14 | = ' ' | ||
| 15 | +badge(pill=true href='#')= '100' | ||
| 16 | = ' ' | ||
| 17 | +badge(pill=true size='lg' href='#')= '200' | ||
| 18 | = ' ' | ||
| 19 | +badge(pill=true size='xl' href='#')= '300' | ||
| 20 | |||
| 21 | .c-box | ||
| 22 | +badge(icon='image' size='sm' href='#')= '50' | ||
| 23 | = ' ' | ||
| 24 | +badge(icon='image' href='#')= '100' | ||
| 25 | = ' ' | ||
| 26 | +badge(icon='image' size='lg' href='#')= '200' | ||
| 27 | = ' ' | ||
| 28 | +badge(icon='image' size='xl' href='#')= '300' | ||
| 29 | |||
| 30 | .c-box | ||
| 31 | +badge(pill=true icon='image' size='sm' href='#')= '50' | ||
| 32 | = ' ' | ||
| 33 | +badge(pill=true icon='image' href='#')= '100' | ||
| 34 | = ' ' | ||
| 35 | +badge(pill=true icon='image' size='lg' href='#')= '200' | ||
| 36 | = ' ' | ||
| 37 | +badge(pill=true icon='image' size='xl' href='#')= '300' | ||
| 38 | |||
| 39 | .c-box | ||
| 13 | +badge(href='#')= '100' | 40 | +badge(href='#')= '100' |
| 14 | = ' ' | 41 | = ' ' |
| 15 | +badge(quiet=true href='#')= '100' | 42 | +badge(quiet=true href='#')= '100' |
