diff --git a/dist/button/button.css b/dist/button/button.css index 2a656585d..a48922cbc 100644 --- a/dist/button/button.css +++ b/dist/button/button.css @@ -202,6 +202,10 @@ button.btn--large svg.icon, a.fake-btn--large svg.icon { max-height: 22px; } +button.btn--small svg.icon, +a.fake-btn--small svg.icon { + max-height: 20px; +} button.btn--primary[disabled], button.btn--primary[aria-disabled="true"] { background-color: var(--btn-primary-disabled-background-color, var(--color-foreground-disabled)); @@ -330,6 +334,13 @@ a.fake-btn--large { min-height: 48px; padding: 13px 20px; } +button.btn--small, +a.fake-btn--small { + border-radius: var(--btn-border-radius, calc(32px / 2)); + font-size: 0.875rem; + min-height: 32px; + padding: 6px 16px; +} button.btn--form, a.fake-btn--form { border-color: inherit; @@ -349,6 +360,9 @@ a.fake-btn--form:active { button.btn--form.btn--large { padding: 13px 20px; } +button.btn--form.btn--small { + padding: 6px 16px; +} button.btn--transparent, a.fake-btn--transparent { background-color: transparent; diff --git a/docs/_includes/button.html b/docs/_includes/button.html index 9d5da000d..667ff5538 100644 --- a/docs/_includes/button.html +++ b/docs/_includes/button.html @@ -33,6 +33,20 @@

Default Button

Large Link {% endhighlight %} +

Use the small modifier to decrease the size of the button.

+ +
+
+ + Small Link +
+
+ + {% highlight html %} + +Small Link + {% endhighlight %} +

Primary Button

Use the primary modifier to create a primary button style.

diff --git a/src/less/button/button.less b/src/less/button/button.less index 7bd37b0a5..e896f202c 100644 --- a/src/less/button/button.less +++ b/src/less/button/button.less @@ -7,11 +7,11 @@ a.fake-btn { .btn-base(); background-color: transparent; - border-radius: var(--btn-border-radius, calc(@button-height-small / 2)); + border-radius: var(--btn-border-radius, calc(@button-height-regular / 2)); color: inherit; display: inline-block; font-size: @font-size-regular; - min-height: @button-height-small; + min-height: @button-height-regular; min-width: 88px; padding: @button-padding-vertical @button-padding-horizontal; } @@ -46,7 +46,7 @@ a.fake-btn--borderless[aria-disabled="true"] { button.btn--slim, a.fake-btn--slim { - height: @button-height-small; + height: @button-height-regular; min-width: auto; padding-left: @spacing-100; padding-right: @spacing-100; @@ -178,6 +178,11 @@ a.fake-btn--large svg.icon { max-height: @button-height-large - (@button-padding-vertical-large * 2); } +button.btn--small svg.icon, +a.fake-btn--small svg.icon { + max-height: @button-height-xsmall - (@button-padding-vertical-small * 2); +} + button.btn--primary[disabled], button.btn--primary[aria-disabled="true"] { .background-color-token(btn-primary-disabled-background-color, color-foreground-disabled); @@ -335,6 +340,14 @@ a.fake-btn--large { padding: @button-padding-vertical-large @button-padding-horizontal; } +button.btn--small, +a.fake-btn--small { + border-radius: var(--btn-border-radius, calc(@button-height-xsmall / 2)); + font-size: @font-size-regular; + min-height: @button-height-xsmall; + padding: @button-padding-vertical-small @button-padding-horizontal-small; +} + button.btn--form, a.fake-btn--form { border-color: inherit; @@ -355,6 +368,10 @@ button.btn--form.btn--large { padding: @button-padding-vertical-large @button-padding-horizontal-large; } +button.btn--form.btn--small { + padding: @button-padding-vertical-small @button-padding-horizontal-small; +} + button.btn--transparent, a.fake-btn--transparent { background-color: transparent; diff --git a/src/less/button/stories/button/dimensions.stories.js b/src/less/button/stories/button/dimensions.stories.js index 400971de4..82337993f 100644 --- a/src/less/button/stories/button/dimensions.stories.js +++ b/src/less/button/stories/button/dimensions.stories.js @@ -9,6 +9,21 @@ export const large = () => ` `; +export const small = () => ` + +`; + +export const formLarge = () => + ''; + +export const formSmall = () => + ''; + export const fluid = () => ''; export const fixedWidth = () => ` diff --git a/src/less/cta-button/cta-button.less b/src/less/cta-button/cta-button.less index 705babe3f..07737fbb1 100644 --- a/src/less/cta-button/cta-button.less +++ b/src/less/cta-button/cta-button.less @@ -7,7 +7,10 @@ a.cta-btn { .background-color-token(cta-btn-background-color, color-background-primary); border-color: currentColor; - border-radius: var(--cta-btn-border-radius, calc(@button-height-small / 2)); + border-radius: var( + --cta-btn-border-radius, + calc(@button-height-regular / 2) + ); .color-token(cta-btn-foreground-color, color-foreground-primary); display: inline-block; font-size: @font-size-regular; diff --git a/src/less/mixins/private/button-mixins.less b/src/less/mixins/private/button-mixins.less index f8b76d0dc..dd723d809 100644 --- a/src/less/mixins/private/button-mixins.less +++ b/src/less/mixins/private/button-mixins.less @@ -1,5 +1,9 @@ -@button-height-small: 40px; +@button-height-xsmall: 32px; // Rename to small after next major version +@button-height-small: 40px; // Deprecated, use regular instead +@button-height-regular: 40px; @button-height-large: 48px; +@button-padding-vertical-small: 6px; +@button-padding-horizontal-small: 16px; @button-padding-vertical: 9.5px; @button-padding-horizontal: 20px; @button-padding-vertical-large: 13px;