<div class="rh-navigation-block" tabindex="0">
<div class="rh-navigation-block__header">
<span class="rh-button-circle rh-button-circle--default rh-button-circle--small rh-navigation-block__header-icon">
<span class="icon-arrow-right"></span>
</span>
<a href="#" class="rh-link--navigation rh-navigation-block__header-title" title="Om Region Halland">
Om Region Halland
</a>
</div>
<div class="rh-navigation-block__description">
<p class="rh-navigation-block__description-text">
Vi är på väg. ”Halland – bästa livsplatsen” är vår vision. Välkommen att följa oss på vägen dit!
</p>
</div>
</div>
<div class="rh-navigation-block{{#if isClickable}} rh-element--clickable rh-navigation-block--clickable{{/if}}" tabindex="0">
{{#if isClickable}}
<a href="#" class="rh-link--navigation rh-element--clickable-link" title="{{title}}"{{#if isClickable}} tabindex="-1"{{/if}}></a>
{{/if}}
<div class="rh-navigation-block__header">
<span class="rh-button-circle rh-button-circle--default rh-button-circle--small rh-navigation-block__header-icon">
<span class="icon-arrow-right"></span>
</span>
<a href="#" class="rh-link--navigation rh-navigation-block__header-title" {{#if isClickable}} tabindex="-1"{{else}} title="{{title}}"{{/if}}>
{{title}}
</a>
</div>
<div class="rh-navigation-block__description{{#if description.extendClass}} {{description.extendClass}}{{/if}}">
<p class="rh-navigation-block__description-text">
{{description.text}}
</p>
</div>
</div>
{
"name": "default",
"isClickable": false,
"title": "Om Region Halland",
"description": {
"text": "Vi är på väg. ”Halland – bästa livsplatsen” är vår vision. Välkommen att följa oss på vägen dit!",
"extendClass": ""
}
}
/* Needed components
@import '../../Atoms/link/_link.scss';
@import '../../Atoms/button-circle/_button-circle.scss';
*/
.rh-navigation-block {
// Reset p tag's settings on global
p { margin-bottom: 0; }
/* Box-modell/beteende */
min-height: $navigation-block--min-height;
@if $navigation-block--width {
width: $navigation-block--width;
}
@if $navigation-block--min-width {
min-width: $navigation-block--min-width;
}
@if $navigation-block--max-width {
max-width: $navigation-block--max-width;
}
@if $navigation-block--background-color {
background-color: $navigation-block--background-color;
}
padding: $navigation-block--padding;
/* Visuellt */
@if $navigation-block--border {
border: $navigation-block--border;
}
@if $navigation-block--border-radius {
border-radius: $navigation-block--border-radius;
}
&__header {
/* Box-modell/beteende */
display: flex;
align-items: flex-start;
&-icon {
@if $navigation-block__header-round-button--border {
border: $navigation-block__header-round-button--border;
}
@if $navigation-block__header-round-button--background-color {
background-color: $navigation-block__header-round-button--background-color;
}
@if $navigation-block__header-round-button--icon-color {
color: $navigation-block__header-round-button--icon-color;
}
/* Blandat/övrigt */
@if $navigation-block__header-round-button--cursor {
cursor: $navigation-block__header-round-button--cursor;
}
@if $navigation-block__header-round-button--hover-active {
&:hover, &:active, &:focus {
@if $navigation-block__header-round-button--border-hover-active {
border: $navigation-block__header-round-button--border-hover-active;
}
@if $navigation-block__header-round-button--background-color-hover-active
{
background-color: $navigation-block__header-round-button--background-color-hover-active;
}
@if $navigation-block__header-round-button--icon-color-hover-active {
color: $navigation-block__header-round-button--icon-color-hover-active;
}
}
}
}
&-title {
/* Box-modell/beteende */
margin: $navigation-block__header-title--margin;
@if $navigation-block__header-title-link--color {
color: $navigation-block__header-title-link--color;
}
font-size: $navigation-block__header-title-link--font-size;
font-weight: $navigation-block__header-title-link--font-weight;
line-height: $navigation-block__header-title-link--line-height;
word-break: $navigation-block__header-title-link--word-break;
@include large {
margin: $navigation-block__header-title--margin-large;
font-size: $navigation-block__header-title-link--font-size-large;
}
}
}
&__description {
/* Box-modell/beteende */
@if $navigation-block__description--margin {
margin: $navigation-block__description--margin;
}
&-text {
/* Typografi */
@if $navigation-block__description-text--color {
color: $navigation-block__description-text--color;
}
}
}
// Create the effects :active, :hover, :focus - :focus-within by using @mixin
&--clickable {
$navigationBlockClickableClassname: "rh-navigation-block--clickable"; //Main container's classname
$navigationBlockIconClassname: "rh-navigation-block__header-icon";
$navigationBlockTitleClassname: "rh-navigation-block__header-title";
$navigationBlockDescriptionClassname: "rh-navigation-block__description-text";
@include create-clickable-element-effect(
$navigationBlockClickableClassname, //Container (box) classname
$navigationBlockTitleClassname, //Title (or link) classname
$navigationBlockDescriptionClassname, //Description classname
$navigation-block-effect__box-outside, //Activating outside effect
$navigation-block-effect__content-inside, //Activating inside effect
$navigation-block-effect--border, // Box border-top styling
$navigation-block-effect--border, // Box border-right styling
$navigation-block-effect--border, // Box border-bottom styling
$navigation-block-effect--border, // Box border-left styling
$navigation-block-effect--box-shadow, // Box shadow styling
$navigation-block-effect-focus--box-shadow, // Shadow when focus
$navigation-block-effect--title-text-color, // Title text color
$navigation-block-effect--title-text-decoration, //Title text decoration
$navigation-block-effect--description-text-color, // Description text color
$navigation-block-effect--description-text-decoration // Description text decoration
){
// Create extend effect for icon
@at-root .#{$navigationBlockClickableClassname}:hover,
.#{$navigationBlockClickableClassname}:active {
@include create-icon-button-effect(
$navigationBlockClickableClassname,
$navigationBlockIconClassname,
$navigation-block__header-round-button--background-color-hover-active,
$navigation-block__header-round-button--icon-color-hover-active
)
}
// Separate generation of :focus and focus-within for a better compatible with IE11 and Edge (old version)
@at-root .#{$navigationBlockClickableClassname}:focus,
.#{$navigationBlockClickableClassname}:focus-within {
@include create-icon-button-effect(
$navigationBlockClickableClassname,
$navigationBlockIconClassname,
$navigation-block__header-round-button--background-color-hover-active,
$navigation-block__header-round-button--icon-color-hover-active
)
}
}
}
}
{
"name": "regionhalland/navigation-block",
"description": "Navigation block",
"type": "styleguide-molecule",
"license": "GPL-3.0",
"authors": [
{
"name": "Region Halland",
"email": "webbplatser@regionhalland.se"
}
],
"require": {}
}
/// Molecule - Navigation block
// --- Base settings ---
$NAVIGATION-BLOCK--MAIN-COLOR: $base3;
$NAVIGATION-BLOCK--HIGHLIGHT-COLOR: $base3-light;
$NAVIGATION-BLOCK__ICON--HIGHLIGHT-COLOR: $base3-dark;
// --- End of base settings ---
$navigation-block--min-height: 3.75em; //60px
$navigation-block--width: 100%; // false - 100% is useful when using in grid system
$navigation-block--min-width: false; //false
$navigation-block--max-width: false; //false
$navigation-block--border: $border-thin--standard $NAVIGATION-BLOCK--MAIN-COLOR;
$navigation-block--border-radius: $border-radius--medium; //6px
$navigation-block--padding: 0.875em; //14px
$navigation-block--background-color: $grey-lightest;
$navigation-block__header-round-button--border: false;//false
$navigation-block__header-round-button--background-color: $NAVIGATION-BLOCK--MAIN-COLOR;//false
$navigation-block__header-round-button--icon-color: $white;//false
$navigation-block__header-round-button--hover-active: true; //false
$navigation-block__header-round-button--border-hover-active: false;//false
$navigation-block__header-round-button--background-color-hover-active: $NAVIGATION-BLOCK--HIGHLIGHT-COLOR;//false
$navigation-block__header-round-button--icon-color-hover-active: $NAVIGATION-BLOCK__ICON--HIGHLIGHT-COLOR;//false
$navigation-block__header-round-button--cursor: false; //false
$navigation-block__header-title--margin: 0.18em 0 0 0.5em;
$navigation-block__header-title--margin-large: 0.05em 0 0 0.5em;
$navigation-block__header-title-link--color: false;
$navigation-block__header-title-link--font-size: $font-size--large; //18px
$navigation-block__header-title-link--font-size-large: $font-size--xl; // 20px
$navigation-block__header-title-link--font-weight: bold;
$navigation-block__header-title-link--line-height: $line-height--xl;
$navigation-block__header-title-link--word-break: break-word;
$navigation-block__description--margin: .5em 0 0 0; //false
$navigation-block__description-text--color: false;
// Effects :hover - :active - :focus - :focus-within
$navigation-block-effect__box-outside: true; //Activating outside effect - ONLY true or false
$navigation-block-effect__content-inside: true; //Activating inside effect - ONLY true or false
$navigation-block-effect--border: $border-thin--standard $NAVIGATION-BLOCK--MAIN-COLOR;
$navigation-block-effect--box-shadow: $box-shadow--standard $color-shadow; //Using for :hover and :active
$navigation-block-effect-focus--box-shadow: $box-shadow--standard $color-shadow; //Using for :focus and :focus-within
$navigation-block-effect--title-text-color: false;
$navigation-block-effect--title-text-decoration: underline; //Only underline or none
$navigation-block-effect--description-text-color: false;
$navigation-block-effect--description-text-decoration: none; //Only underline or none
rh-navigation-block*
/components/Molecules/navigation-block
Förbättring av:
:focus
och :focus-within
och effekterna genereras från globala @mixin.Versionen kommer att fungera som det ska med Stilguiden version ≥ 11.1.0
Flyttat till gitrepo
:active
, :hover
, :focus-within
. Förbättringen finnas i Stilguide version ≥ 9.0.3:@mixin create-clickable-element-effect
. Komponenten stödjer två alternativ och finnas i Stilguide version ≥ 9.0.2:effect-outside
effect-inside
circle-button
.