Skip to content

Commit

Permalink
feat(heading): prop for default margins (#923)
Browse files Browse the repository at this point in the history
  • Loading branch information
SiebenSieben committed Dec 23, 2019
1 parent ce810a1 commit 28bafcf
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/heading/__snapshots__/heading.test.jsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`heading should render without problem 1`] = `
<h4
className="heading heading_size_s heading_theme_alfa-on-white"
className="heading heading_size_s heading_margins heading_theme_alfa-on-white"
>
Heading
</h4>
Expand Down
36 changes: 29 additions & 7 deletions src/heading/heading.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@import '../vars.css';

.heading {
margin: 0;
font-family: var(--font);
font-weight: var(--font-weight-bold);

Expand All @@ -9,10 +10,13 @@
}

&_size_xl {
margin: 0 0 var(--gap-xl);
font-size: var(--font-size-2xl);
line-height: var(--line-height-condensed);

&.heading_margins {
margin: 0 0 var(--gap-xl);
}

@media (--tablet-s) {
font-size: var(--font-size-3xl);
}
Expand All @@ -24,13 +28,19 @@
}

&_size_l {
margin: var(--gap-3xl) 0 var(--gap-m);
font-size: var(--font-size-xl);
line-height: var(--line-height-condensed);

&.heading_margins {
margin: var(--gap-3xl) 0 var(--gap-m);
}

@media (--tablet-s) {
margin: var(--gap-4xl) 0 var(--gap-xl);
font-size: var(--font-size-2xl);

&.heading_margins {
margin: var(--gap-4xl) 0 var(--gap-xl);
}
}

@media (--large) {
Expand All @@ -39,36 +49,48 @@
}

&_size_m {
margin: var(--gap-3xl) 0 var(--gap-m);
font-size: var(--font-size-l);
line-height: var(--line-height-semi-condensed);

&.heading_margins {
margin: var(--gap-3xl) 0 var(--gap-m);
}

@media (--tablet-s) {
font-size: var(--font-size-xl);
line-height: var(--line-height-condensed);
}

@media (--large) {
margin: var(--gap-4xl) 0 var(--gap-xl);
font-size: var(--font-size-2xl);

&.heading_margins {
margin: var(--gap-4xl) 0 var(--gap-xl);
}
}
}

&_size_s {
margin: var(--gap-3xl) 0 var(--gap-m);
font-size: var(--font-size-l);
line-height: var(--line-height-semi-condensed);

&.heading_margins {
margin: var(--gap-3xl) 0 var(--gap-m);
}

@media (--tablet-s) {
font-size: var(--font-size-xl);
line-height: var(--line-height-condensed);
}
}

&_size_xs {
margin: var(--gap-3xl) 0 var(--gap-m);
font-size: var(--font-size-l);
line-height: var(--line-height-semi-condensed);

&.heading_margins {
margin: var(--gap-3xl) 0 var(--gap-m);
}
}

& + & {
Expand Down
8 changes: 6 additions & 2 deletions src/heading/heading.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ class Heading extends React.Component {
children: Type.oneOfType([Type.arrayOf(Type.node), Type.node]),
/** Размер, определяющий какой тег заголовка будет использоваться */
size: Type.oneOf(['xs', 's', 'm', 'l', 'xl']),
/** Дефолтные отступы */
hasDefaultMargins: Type.bool,
/** Тема компонента */
theme: Type.oneOf(['alfa-on-color', 'alfa-on-white']),
/** Дополнительный класс */
Expand All @@ -38,13 +40,15 @@ class Heading extends React.Component {
};

static defaultProps = {
size: 'xl'
size: 'xl',
hasDefaultMargins: true
};

render(cn) {
const headingProps = {
className: cn({
size: this.props.size
size: this.props.size,
margins: this.props.hasDefaultMargins
}),
id: this.props.id,
'data-test-id': this.props['data-test-id']
Expand Down

0 comments on commit 28bafcf

Please sign in to comment.