Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 20 additions & 17 deletions packages/theme/docs/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,23 +116,26 @@ Do not edit directly.

### Dimension

| Variable name | Description |
| ------------------------------ | ---------------------- |
| `--wpds-dimension-base` | Base dimension unit |
| `--wpds-dimension-padding-xs` | Extra small padding |
| `--wpds-dimension-padding-sm` | Small padding |
| `--wpds-dimension-padding-md` | Medium padding |
| `--wpds-dimension-padding-lg` | Large padding |
| `--wpds-dimension-padding-xl` | Extra large padding |
| `--wpds-dimension-padding-2xl` | 2x extra large padding |
| `--wpds-dimension-padding-3xl` | 3x extra large padding |
| `--wpds-dimension-gap-xs` | Extra small gap |
| `--wpds-dimension-gap-sm` | Small gap |
| `--wpds-dimension-gap-md` | Medium gap |
| `--wpds-dimension-gap-lg` | Large gap |
| `--wpds-dimension-gap-xl` | Extra large gap |
| `--wpds-dimension-gap-2xl` | 2x extra large gap |
| `--wpds-dimension-gap-3xl` | 3x extra large gap |
| Variable name | Description |
| ----------------------------------------- | ------------------------------------------------------- |
| `--wpds-dimension-base` | Base dimension unit |
| `--wpds-dimension-padding-xs` | Extra small padding |
| `--wpds-dimension-padding-sm` | Small padding |
| `--wpds-dimension-padding-md` | Medium padding |
| `--wpds-dimension-padding-lg` | Large padding |
| `--wpds-dimension-padding-xl` | Extra large padding |
| `--wpds-dimension-padding-2xl` | 2x extra large padding |
| `--wpds-dimension-padding-3xl` | 3x extra large padding |
| `--wpds-dimension-control-height-default` | Default control height for standard text-label buttons |
| `--wpds-dimension-control-height-compact` | Compact control height for toggle buttons, icon buttons |
| `--wpds-dimension-control-height-small` | Small control height for auxiliary icon buttons |
| `--wpds-dimension-gap-xs` | Extra small gap |
| `--wpds-dimension-gap-sm` | Small gap |
| `--wpds-dimension-gap-md` | Medium gap |
| `--wpds-dimension-gap-lg` | Large gap |
| `--wpds-dimension-gap-xl` | Extra large gap |
| `--wpds-dimension-gap-2xl` | 2x extra large gap |
| `--wpds-dimension-gap-3xl` | 3x extra large gap |

### Elevation

Expand Down
12 changes: 12 additions & 0 deletions packages/theme/src/prebuilt/css/design-tokens.css
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@
--wpds-color-stroke-surface-warning: #d0b381; /* Decorative stroke color used to define warning-toned surface boundaries with normal emphasis. */
--wpds-color-stroke-surface-warning-strong: #926300; /* Decorative stroke color used to define warning-toned surface boundaries with strong emphasis. */
--wpds-dimension-base: 4px; /* Base dimension unit */
--wpds-dimension-control-height-compact: 32px; /* Compact control height for toggle buttons, icon buttons */
--wpds-dimension-control-height-default: 40px; /* Default control height for standard text-label buttons */
--wpds-dimension-control-height-small: 24px; /* Small control height for auxiliary icon buttons */
--wpds-dimension-gap-2xl: 32px; /* 2x extra large gap */
--wpds-dimension-gap-3xl: 40px; /* 3x extra large gap */
--wpds-dimension-gap-lg: 16px; /* Large gap */
Expand Down Expand Up @@ -146,6 +149,9 @@

[data-wpds-theme-provider-id][data-wpds-density='default'] {
--wpds-dimension-base: 4px; /* Base dimension unit */
--wpds-dimension-control-height-compact: 32px; /* Compact control height for toggle buttons, icon buttons */
--wpds-dimension-control-height-default: 40px; /* Default control height for standard text-label buttons */
--wpds-dimension-control-height-small: 24px; /* Small control height for auxiliary icon buttons */
--wpds-dimension-gap-2xl: 32px; /* 2x extra large gap */
--wpds-dimension-gap-3xl: 40px; /* 3x extra large gap */
--wpds-dimension-gap-lg: 16px; /* Large gap */
Expand All @@ -163,6 +169,9 @@
}

[data-wpds-theme-provider-id][data-wpds-density='compact'] {
--wpds-dimension-control-height-compact: 28px; /* Compact control height for toggle buttons, icon buttons */
--wpds-dimension-control-height-default: 36px; /* Default control height for standard text-label buttons */
--wpds-dimension-control-height-small: 20px; /* Small control height for auxiliary icon buttons */
--wpds-dimension-gap-2xl: 24px; /* 2x extra large gap */
--wpds-dimension-gap-3xl: 32px; /* 3x extra large gap */
--wpds-dimension-gap-lg: 12px; /* Large gap */
Expand All @@ -180,6 +189,9 @@
}

[data-wpds-theme-provider-id][data-wpds-density='comfortable'] {
--wpds-dimension-control-height-compact: 36px; /* Compact control height for toggle buttons, icon buttons */
--wpds-dimension-control-height-default: 44px; /* Default control height for standard text-label buttons */
--wpds-dimension-control-height-small: 28px; /* Small control height for auxiliary icon buttons */
--wpds-dimension-gap-2xl: 40px; /* 2x extra large gap */
--wpds-dimension-gap-3xl: 48px; /* 3x extra large gap */
--wpds-dimension-gap-lg: 20px; /* Large gap */
Expand Down
3 changes: 3 additions & 0 deletions packages/theme/src/prebuilt/js/design-tokens.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@ export default [
'--wpds-dimension-padding-xl',
'--wpds-dimension-padding-2xl',
'--wpds-dimension-padding-3xl',
'--wpds-dimension-control-height-default',
'--wpds-dimension-control-height-compact',
'--wpds-dimension-control-height-small',
'--wpds-dimension-gap-xs',
'--wpds-dimension-gap-sm',
'--wpds-dimension-gap-md',
Expand Down
32 changes: 32 additions & 0 deletions packages/theme/tokens/dimension.json
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,38 @@
}
}
},
"control-height": {
"default": {
"$value": { "value": 40, "unit": "px" },
"$description": "Default control height for standard text-label buttons",
"$extensions": {
"mode": {
"compact": { "value": 36, "unit": "px" },
"comfortable": { "value": 44, "unit": "px" }
}
}
},
"compact": {
"$value": { "value": 32, "unit": "px" },
"$description": "Compact control height for toggle buttons, icon buttons",
"$extensions": {
"mode": {
"compact": { "value": 28, "unit": "px" },
"comfortable": { "value": 36, "unit": "px" }
}
}
},
"small": {
"$value": { "value": 24, "unit": "px" },
"$description": "Small control height for auxiliary icon buttons",
"$extensions": {
"mode": {
"compact": { "value": 20, "unit": "px" },
"comfortable": { "value": 28, "unit": "px" }
}
}
}
},
"gap": {
"xs": {
"$value": "{wpds-dimension.primitive.space.10}",
Expand Down
23 changes: 23 additions & 0 deletions packages/theme/tokens/modes/dimension.comfortable.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,29 @@
"$value": "{wpds-dimension.primitive.space.80}"
}
},
"control-height": {
"default": {
"$type": "dimension",
"$value": {
"value": 44,
"unit": "px"
}
},
"compact": {
"$type": "dimension",
"$value": {
"value": 36,
"unit": "px"
}
},
"small": {
"$type": "dimension",
"$value": {
"value": 28,
"unit": "px"
}
}
},
"gap": {
"xs": {
"$type": "dimension",
Expand Down
23 changes: 23 additions & 0 deletions packages/theme/tokens/modes/dimension.compact.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,29 @@
"$value": "{wpds-dimension.primitive.space.60}"
}
},
"control-height": {
"default": {
"$type": "dimension",
"$value": {
"value": 36,
"unit": "px"
}
},
"compact": {
"$type": "dimension",
"$value": {
"value": 28,
"unit": "px"
}
},
"small": {
"$type": "dimension",
"$value": {
"value": 20,
"unit": "px"
}
}
},
"gap": {
"xs": {
"$type": "dimension",
Expand Down
12 changes: 5 additions & 7 deletions packages/ui/src/button/style.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,14 @@

.button {
/* Internal variables */
--wp-ui-button-font-weight: 499;

--wp-ui-button-background-color: var(--wpds-color-bg-interactive-brand-strong);
--wp-ui-button-background-color-active: var(--wpds-color-bg-interactive-brand-strong-active);
--wp-ui-button-background-color-disabled: var(--wpds-color-bg-interactive-neutral-strong-disabled);
--wp-ui-button-foreground-color: var(--wpds-color-fg-interactive-brand-strong);
--wp-ui-button-foreground-color-active: var(--wpds-color-fg-interactive-brand-strong-active);
--wp-ui-button-foreground-color-disabled: var(--wpds-color-fg-interactive-neutral-strong-disabled);
--wp-ui-button-min-height: var(--wpds-dimension-control-height-default);
--wp-ui-button-padding-inline: calc(3 * var(--wpds-dimension-base)); /* TODO: Create new interactive padding tokens */
--wp-ui-button-height: 40px;
--wp-ui-button-aspect-ratio: auto; /* Useful for overrides such as icon buttons */
--wp-ui-button-font-size: var(--wpds-font-size-md);

Expand All @@ -34,7 +32,7 @@
align-items: center;
gap: calc(2 * var(--wpds-dimension-base)); /* TODO: Consider new interactive/control gap tokens */
aspect-ratio: var(--wp-ui-button-aspect-ratio);
height: var(--wp-ui-button-height);
min-height: var(--wp-ui-button-min-height);
padding-inline: var(--wp-ui-button-padding-inline);
border-style: solid;
border-width: 1px;
Expand All @@ -44,7 +42,7 @@
background-clip: padding-box;
font-family: var(--wpds-font-family-body);
font-size: var(--wp-ui-button-font-size);
font-weight: var(--wp-ui-button-font-weight);
font-weight: var(--wpds-font-weight-medium);
line-height: var(--wpds-font-line-height-sm);
text-decoration: none;
color: var(--wp-ui-button-foreground-color);
Expand Down Expand Up @@ -119,8 +117,8 @@
}

.is-small {
--wp-ui-button-min-height: var(--wpds-dimension-control-height-small);
--wp-ui-button-padding-inline: calc(2 * var(--wpds-dimension-base)); /* TODO: Create new interactive padding tokens */
--wp-ui-button-height: 24px;
}

/* Variants (`tone` + `variant`) overrides compared to default styles */
Expand Down Expand Up @@ -193,7 +191,7 @@
}

.is-compact {
--wp-ui-button-height: 32px;
--wp-ui-button-min-height: var(--wpds-dimension-control-height-compact);
}

.is-loading {
Expand Down
Loading