diff --git a/source/images/launch-hover.png b/source/images/launch-hover.png new file mode 100644 index 00000000..183917b9 Binary files /dev/null and b/source/images/launch-hover.png differ diff --git a/source/images/launch-hover.svg b/source/images/launch-hover.svg new file mode 100644 index 00000000..c672149e --- /dev/null +++ b/source/images/launch-hover.svg @@ -0,0 +1 @@ +launch-hover \ No newline at end of file diff --git a/source/images/launch.png b/source/images/launch.png new file mode 100644 index 00000000..c6e45381 Binary files /dev/null and b/source/images/launch.png differ diff --git a/source/images/launch.svg b/source/images/launch.svg new file mode 100644 index 00000000..170a5ed4 --- /dev/null +++ b/source/images/launch.svg @@ -0,0 +1 @@ +launch \ No newline at end of file diff --git a/source/patterns/01-molecules/figure/figure.twig b/source/patterns/01-molecules/figure/figure.twig index 8733cc30..d6e435ef 100644 --- a/source/patterns/01-molecules/figure/figure.twig +++ b/source/patterns/01-molecules/figure/figure.twig @@ -1,9 +1,23 @@ {%- import 'atoms-html' as html -%} {%- set attributes = attributes|default({})|merge({class: attributes.class|default([])|merge(['figure']) }) -%} -
+{%- set figurePanel = figurePanel|default({})|merge({class: figurePanel.class|default([])|merge(['figure__header-panel']) }) -%} +
+ + {%- set figureLabel = figureLabel|default({})|merge({class: figureLabel.class|default([])|merge(['figure__header-text']) }) -%} +
+ Figure 1 +
+ + {%- set figureAccess = figureAccess|default({})|merge({class: figureAccess.class|default([])|merge(['figure__header-access']) }) -%} +
+ +
+ +
+ {%- with content.arguments|merge({_template: content.template}) only -%} {%- block content -%} diff --git a/source/patterns/01-molecules/figure/figure~en-caption.yaml b/source/patterns/01-molecules/figure/figure~en-caption.yaml index 7d4c83d1..7c6ce900 100644 --- a/source/patterns/01-molecules/figure/figure~en-caption.yaml +++ b/source/patterns/01-molecules/figure/figure~en-caption.yaml @@ -1,6 +1,7 @@ content: template: atoms-image arguments: + figureLabel: test image: src: https://picsum.photos/600/400 alt: '' diff --git a/source/sass/mixins/_decorations.scss b/source/sass/mixins/_decorations.scss index e5c43bdc..98c4f293 100644 --- a/source/sass/mixins/_decorations.scss +++ b/source/sass/mixins/_decorations.scss @@ -15,3 +15,16 @@ } } + +@mixin header_button { + @include margin(0, block-end); + border-radius: 3px; + display: block; + height: 28px; + margin-right: -1px; // stylelint-disable-line csstools/use-logical + width: 28px; + + @supports (margin-right: -1px) { + margin-inline-end: -1px; + } +} diff --git a/source/sass/patterns/molecules/figure.scss b/source/sass/patterns/molecules/figure.scss index b4acbd4d..9515beef 100644 --- a/source/sass/patterns/molecules/figure.scss +++ b/source/sass/patterns/molecules/figure.scss @@ -1,11 +1,50 @@ + +@import "../../mixins/decorations"; +@import "../../mixins/scale"; @import "../../mixins/spacing"; @import "../../mixins/typography"; @import "../../patterns/atoms/image"; @import "../../settings/baselinegrid"; @import "../../settings/breakpoint"; +@import "../../settings/color"; +@import "../../settings/font"; +@import "../../vendor/sass-mq/_mq"; .figure { - @include block-spacing($start: $baselinegrid-space-medium, $end: $baselinegrid-space-medium); + @include block-spacing($start: 0, $end: $baselinegrid-space-medium); +} + +.figure__header-panel { + @include block-spacing($start: $baselinegrid-space-medium, $end: $baselinegrid-space-extra_small); + display: grid; + grid-template-columns: 50% 50%; +} + +.figure__header-text { + @include set-font-size-and-line-height(scale(-1)); + font-family: $font-secondary; + font-weight: bold; +} + +.figure__header-access { + text-align: end; +} + +.figure__header-access_open-link { + @include header_button(); + border: 1px solid $color-text-dividers; + background: url("../../../images/launch.png") 50% 50% no-repeat; + background: url("../../../images/launch.svg") 50% 50% no-repeat, linear-gradient(transparent, transparent); + margin-inline-end: -1px; + float: right; // stylelint-disable-line csstools/use-logical + &:hover { + background: url("../../../images/launch-hover.png") 50% 50% no-repeat; + background: url("../../../images/launch-hover.svg") 50% 50% no-repeat, linear-gradient(transparent, transparent); + } + + @supports (float: inline-end) { + float: inline-end; + } } .figure__heading {