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 @@
Large Link
{% endhighlight %}
+ Use the small modifier to decrease the size of the button.
+
+
+
+ {% highlight html %}
+
+Small Link
+ {% endhighlight %}
+
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;