Skip to content

Commit af0de05

Browse files
authored
[mercury][button-tertiary] Remove padding-inline (#651)
* `[mercury][button-tertiary]` Remove padding-inline * `[showcase][dialog]` Add gap to `with-footer` case * `[mercury][tests]` Update bundle tests Update bundle tests due to applying button padding independently (primary, secondary, and tertiary) instead of globally (button base)
1 parent e284c77 commit af0de05

File tree

12 files changed

+48
-33
lines changed

12 files changed

+48
-33
lines changed

packages/common/src/metadata/components/dialog/metadata.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,10 @@ export const dialogMetadata = parseMetadata({
167167
hideDialog: stateMapping => () => stateMapping?.set("show", false)
168168
},
169169
states: [{ name: "show", type: "boolean", value: false }],
170+
customCssOnlyForPreview: `.footer {
171+
display: flex;
172+
gap:var(--mer-spacing--xs);
173+
}`,
170174
template: [
171175
{
172176
tag: "button",
@@ -189,6 +193,7 @@ export const dialogMetadata = parseMetadata({
189193
CONTENT_WITH_SPACING,
190194
{
191195
tag: "div",
196+
class: "footer",
192197
properties: [{ name: "slot", value: "footer" }],
193198
children: [
194199
{

packages/mercury/src/base/button/_button-styles.scss

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
%button-base {
77
@include button-common-styles();
88
@include control-border();
9-
@include control-padding-inline-block();
109

1110
box-sizing: border-box;
1211
background-color: var(--button-background-color);
@@ -23,6 +22,7 @@
2322
%button-primary {
2423
@extend %button-base;
2524
@extend %body-semi-bold-m;
25+
@include control-padding-inline-block();
2626

2727
// In primary button, border color matches with background-color.
2828

@@ -84,6 +84,7 @@
8484
%button-secondary {
8585
@extend %button-base;
8686
@extend %body-semi-bold-m;
87+
@include control-padding-inline-block();
8788

8889
// Default styles for the secondary button
8990
--button-background-color: transparent;
@@ -125,6 +126,7 @@
125126
%button-tertiary {
126127
@extend %button-base;
127128
@extend %body-regular-m;
129+
@include control-padding-block();
128130

129131
// Default styles for the tertiary button
130132
--button-background-color: transparent;

packages/mercury/src/tests/bundles/expected-bundle-content/all.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
".body-regular-m, .pill::part(item), .chat::part(message), .chat::part(assistant content waiting), .button-tertiary, .chat::part(action-button), .dropdown.button-tertiary::part(expandable-button), .dialog::part(close-button), .paginator::part(first__button), .paginator::part(last__button), .paginator::part(next__button), .paginator::part(prev__button) { font-size: var(--font-size-body-m); line-height: var(--line-height-tight); font-weight: var(--font-weight-regular); }",
2020
".button-icon-and-text, .dropdown.button-with-icon::part(expandable-button) { display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; gap: var(--mer-spacing--xs); }",
2121
".button-icon-only, .chat::part(action-button), .chat-live-audio-button, .chat::part(send-button), .chat::part(stop-response-button), .dialog::part(close-button), paginator__first-button-selector, paginator__last-button-selector, paginator__next-button-selector, paginator__previous-button-selector { padding: calc((var(--control__block-size) - 2*var(--control__border-width) - var(--mer-icon__box--md))/2); border-width: var(--control__border-width); border-style: var(--control__border-style); border-color: var(--control__border-color); border-radius: var(--control__border-radius); }",
22-
".button-primary, .button-primary-destructive, .button-primary-success, .dropdown.button-primary::part(expandable-button), .segmented-control-filled .segmented-control-item::part(action) { --button-background-color: var(--mer-accent__primary); --control__border-color: var(--button-background-color); --button-color: var(--mer-text__on-primary); --button-color--enabled: var( --mer-text__on-primary ); --button-color--active: var(--mer-text__on-primary--active); }",
22+
".button-primary, .button-primary-destructive, .button-primary-success, .dropdown.button-primary::part(expandable-button), .segmented-control-filled .segmented-control-item::part(action) { padding-block: var(--control__padding-block); padding-inline: var(--control__padding-inline); --button-background-color: var(--mer-accent__primary); --control__border-color: var(--button-background-color); --button-color: var(--mer-text__on-primary); --button-color--enabled: var( --mer-text__on-primary ); --button-color--active: var(--mer-text__on-primary--active); }",
2323
".button-primary-destructive { --button-background-color: var(--mer-accent__primary--destructive); --button-color: var(--mer-text__on-primary); }",
2424
".button-primary-destructive:active { --button-background-color: var(--mer-accent__primary--destructive-active); --button-color: var(--mer-text__highlighted); }",
2525
".button-primary-destructive:hover { --button-background-color: var(--mer-accent__primary--destructive-hover); --button-color: var(--mer-text__on-primary); }",
@@ -29,16 +29,16 @@
2929
".button-primary:active, .dropdown.button-primary::part(expandable-button):active, .segmented-control-filled .segmented-control-item::part(action):active { --button-background-color: var(--mer-accent__primary--active); --button-color: var(--button-color--active); }",
3030
".button-primary:disabled, .button-primary-destructive:disabled, .button-primary-success:disabled, .dropdown.button-primary::part(expandable-button):disabled { --button-background-color: var(--mer-accent__primary--disabled); --button-color: var(--mer-text__on-disabled); }",
3131
".button-primary:hover, .dropdown.button-primary::part(expandable-button):hover, .segmented-control-filled .segmented-control-item::part(action):hover { --button-background-color: var(--mer-accent__primary--hover); --button-color: var(--mer-text__on-primary); }",
32-
".button-secondary, .button-secondary-destructive, .chat-live-audio-button, .dropdown.button-secondary::part(expandable-button), .chat::part(send-button), .chat::part(stop-response-button) { --button-background-color: transparent; --control__border-color: var(--button-color); --button-color: var(--mer-text__neutral); --button-color--enabled: var(--mer-text__neutral); --button-color--active: var(--mer-text__on-primary--active); }",
32+
".button-secondary, .button-secondary-destructive, .chat-live-audio-button, .dropdown.button-secondary::part(expandable-button), .chat::part(send-button), .chat::part(stop-response-button) { padding-block: var(--control__padding-block); padding-inline: var(--control__padding-inline); --button-background-color: transparent; --control__border-color: var(--button-color); --button-color: var(--mer-text__neutral); --button-color--enabled: var(--mer-text__neutral); --button-color--active: var(--mer-text__on-primary--active); }",
3333
".button-secondary-destructive { --button-color: var(--mer-text__highlighted); --control__border-color: var(--mer-border-color__error); }",
3434
".button-secondary-destructive:active { --button-color: var(--mer-text__highlighted); --control__border-color: var(--mer-border-color__error--active); }",
3535
".button-secondary-destructive:hover { --button-color: var(--mer-accent__primary--destructive-hover); --control__border-color: var(--mer-border-color__error--hover); }",
3636
".button-secondary:active, .chat-live-audio-button:active, .dropdown.button-secondary::part(expandable-button):active, .chat::part(send-button):active, .chat::part(stop-response-button):active { --control__border-color: var(--mer-border-color__primary--active); --button-color: var(--button-color--active); }",
3737
".button-secondary:disabled, .button-secondary-destructive:disabled, .chat-live-audio-button:disabled, .dropdown.button-secondary::part(expandable-button):disabled, .chat::part(send-button):disabled, .chat::part(stop-response-button):disabled { --button-color: var(--mer-text__on-disabled); }",
3838
".button-secondary:focus-visible, .chat-live-audio-button:focus-visible, .dropdown.button-secondary::part(expandable-button):focus-visible, .chat::part(send-button):focus-visible, .chat::part(stop-response-button):focus-visible { --focus__outline-color: var(--mer-border-color__primary); }",
3939
".button-secondary:hover, .chat-live-audio-button:hover, .dropdown.button-secondary::part(expandable-button):hover, .chat::part(send-button):hover, .chat::part(stop-response-button):hover { --button-color: var(--mer-text__primary--hover); }",
40-
".button-tertiary, .chat::part(action-button), .dropdown.button-tertiary::part(expandable-button), .dialog::part(close-button), .paginator::part(first__button), .paginator::part(last__button), .paginator::part(next__button), .paginator::part(prev__button) { --button-background-color: transparent; --control__border-color: transparent; --button-color: var(--mer-text__primary); }",
41-
".button-tertiary, .chat::part(action-button), .dropdown.button-tertiary::part(expandable-button), .dialog::part(close-button), .paginator::part(first__button), .paginator::part(last__button), .paginator::part(next__button), .paginator::part(prev__button), .button-secondary, .button-secondary-destructive, .chat-live-audio-button, .dropdown.button-secondary::part(expandable-button), .chat::part(send-button), .chat::part(stop-response-button), .button-primary, .button-primary-destructive, .button-primary-success, .dropdown.button-primary::part(expandable-button), .segmented-control-filled .segmented-control-item::part(action) { display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; justify-content: center; border-width: var(--control__border-width); border-style: var(--control__border-style); border-color: var(--control__border-color); border-radius: var(--control__border-radius); padding-block: var(--control__padding-block); padding-inline: var(--control__padding-inline); box-sizing: border-box; background-color: var(--button-background-color); color: var(--button-color); }",
40+
".button-tertiary, .chat::part(action-button), .dropdown.button-tertiary::part(expandable-button), .dialog::part(close-button), .paginator::part(first__button), .paginator::part(last__button), .paginator::part(next__button), .paginator::part(prev__button) { padding-block: var(--control__padding-block); --button-background-color: transparent; --control__border-color: transparent; --button-color: var(--mer-text__primary); }",
41+
".button-tertiary, .chat::part(action-button), .dropdown.button-tertiary::part(expandable-button), .dialog::part(close-button), .paginator::part(first__button), .paginator::part(last__button), .paginator::part(next__button), .paginator::part(prev__button), .button-secondary, .button-secondary-destructive, .chat-live-audio-button, .dropdown.button-secondary::part(expandable-button), .chat::part(send-button), .chat::part(stop-response-button), .button-primary, .button-primary-destructive, .button-primary-success, .dropdown.button-primary::part(expandable-button), .segmented-control-filled .segmented-control-item::part(action) { display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; justify-content: center; border-width: var(--control__border-width); border-style: var(--control__border-style); border-color: var(--control__border-color); border-radius: var(--control__border-radius); box-sizing: border-box; background-color: var(--button-background-color); color: var(--button-color); }",
4242
".button-tertiary:active, .chat::part(action-button):active, .dropdown.button-tertiary::part(expandable-button):active, .dialog::part(close-button):active, .paginator::part(first__button):active, .paginator::part(last__button):active, .paginator::part(next__button):active, .paginator::part(prev__button):active { --button-color: var(--mer-text__primary--active); }",
4343
".button-tertiary:disabled, .chat::part(action-button):disabled, .dropdown.button-tertiary::part(expandable-button):disabled, .dialog::part(close-button):disabled, .paginator::part(first__button):disabled, .paginator::part(last__button):disabled, .paginator::part(next__button):disabled, .paginator::part(prev__button):disabled { --button-color: var(--mer-text__on-disabled); }",
4444
".button-tertiary:hover, .chat::part(action-button):hover, .dropdown.button-tertiary::part(expandable-button):hover, .dialog::part(close-button):hover, .paginator::part(first__button):hover, .paginator::part(last__button):hover, .paginator::part(next__button):hover, .paginator::part(prev__button):hover { --button-color: var(--mer-text__primary--hover); }",

packages/mercury/src/tests/bundles/expected-bundle-content/components/button.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[
22
".button-icon-and-text { display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; gap: var(--mer-spacing--xs); }",
33
".button-icon-only { padding: calc((var(--control__block-size) - 2*var(--control__border-width) - var(--mer-icon__box--md))/2); border-width: var(--control__border-width); border-style: var(--control__border-style); border-color: var(--control__border-color); border-radius: var(--control__border-radius); }",
4-
".button-primary, .button-primary-destructive, .button-primary-success { --button-background-color: var(--mer-accent__primary); --control__border-color: var(--button-background-color); --button-color: var(--mer-text__on-primary); --button-color--enabled: var( --mer-text__on-primary ); --button-color--active: var(--mer-text__on-primary--active); }",
4+
".button-primary, .button-primary-destructive, .button-primary-success { padding-block: var(--control__padding-block); padding-inline: var(--control__padding-inline); --button-background-color: var(--mer-accent__primary); --control__border-color: var(--button-background-color); --button-color: var(--mer-text__on-primary); --button-color--enabled: var( --mer-text__on-primary ); --button-color--active: var(--mer-text__on-primary--active); }",
55
".button-primary, .button-primary-destructive, .button-primary-success, .button-secondary, .button-secondary-destructive { font-size: var(--font-size-body-m); }",
66
".button-primary, .button-primary-destructive, .button-primary-success, .button-secondary, .button-secondary-destructive { font-weight: var(--font-weight-semi-bold); }",
77
".button-primary, .button-primary-destructive, .button-primary-success, .button-secondary, .button-secondary-destructive { line-height: var(--line-height-tight); }",
@@ -15,17 +15,17 @@
1515
".button-primary:disabled, .button-primary-destructive:disabled, .button-primary-success:disabled { --button-background-color: var(--mer-accent__primary--disabled); --button-color: var(--mer-text__on-disabled); }",
1616
".button-primary:focus-visible, .button-primary-destructive:focus-visible, .button-primary-success:focus-visible, .button-secondary-destructive:focus-visible, .button-tertiary:focus-visible, .button-secondary:focus-visible { outline: var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color); outline-offset: var(--focus__outline-offset); }",
1717
".button-primary:hover { --button-background-color: var(--mer-accent__primary--hover); --button-color: var(--mer-text__on-primary); }",
18-
".button-secondary, .button-secondary-destructive { --button-background-color: transparent; --control__border-color: var(--button-color); --button-color: var(--mer-text__neutral); --button-color--enabled: var(--mer-text__neutral); --button-color--active: var(--mer-text__on-primary--active); }",
18+
".button-secondary, .button-secondary-destructive { padding-block: var(--control__padding-block); padding-inline: var(--control__padding-inline); --button-background-color: transparent; --control__border-color: var(--button-color); --button-color: var(--mer-text__neutral); --button-color--enabled: var(--mer-text__neutral); --button-color--active: var(--mer-text__on-primary--active); }",
1919
".button-secondary-destructive { --button-color: var(--mer-text__highlighted); --control__border-color: var(--mer-border-color__error); }",
2020
".button-secondary-destructive:active { --button-color: var(--mer-text__highlighted); --control__border-color: var(--mer-border-color__error--active); }",
2121
".button-secondary-destructive:hover { --button-color: var(--mer-accent__primary--destructive-hover); --control__border-color: var(--mer-border-color__error--hover); }",
2222
".button-secondary:active { --control__border-color: var(--mer-border-color__primary--active); --button-color: var(--button-color--active); }",
2323
".button-secondary:disabled, .button-secondary-destructive:disabled { --button-color: var(--mer-text__on-disabled); }",
2424
".button-secondary:focus-visible { --focus__outline-color: var(--mer-border-color__primary); }",
2525
".button-secondary:hover { --button-color: var(--mer-text__primary--hover); }",
26-
".button-tertiary { --button-background-color: transparent; --control__border-color: transparent; --button-color: var(--mer-text__primary); }",
2726
".button-tertiary { font-size: var(--font-size-body-m); line-height: var(--line-height-tight); font-weight: var(--font-weight-regular); }",
28-
".button-tertiary, .button-secondary, .button-secondary-destructive, .button-primary, .button-primary-destructive, .button-primary-success { display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; justify-content: center; border-width: var(--control__border-width); border-style: var(--control__border-style); border-color: var(--control__border-color); border-radius: var(--control__border-radius); padding-block: var(--control__padding-block); padding-inline: var(--control__padding-inline); box-sizing: border-box; background-color: var(--button-background-color); color: var(--button-color); }",
27+
".button-tertiary { padding-block: var(--control__padding-block); --button-background-color: transparent; --control__border-color: transparent; --button-color: var(--mer-text__primary); }",
28+
".button-tertiary, .button-secondary, .button-secondary-destructive, .button-primary, .button-primary-destructive, .button-primary-success { display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; justify-content: center; border-width: var(--control__border-width); border-style: var(--control__border-style); border-color: var(--control__border-color); border-radius: var(--control__border-radius); box-sizing: border-box; background-color: var(--button-background-color); color: var(--button-color); }",
2929
".button-tertiary:active { --button-color: var(--mer-text__primary--active); }",
3030
".button-tertiary:disabled { --button-color: var(--mer-text__on-disabled); }",
3131
".button-tertiary:hover { --button-color: var(--mer-text__primary--hover); }",

0 commit comments

Comments
 (0)