diff --git a/pages/badge/style-api-v2.page.tsx b/pages/badge/style-api-v2.page.tsx index 2a44231175..39e60d2a36 100644 --- a/pages/badge/style-api-v2.page.tsx +++ b/pages/badge/style-api-v2.page.tsx @@ -15,6 +15,7 @@ export default function () { Info pill Error square + Label ); diff --git a/pages/badge/style-api-v2.scss b/pages/badge/style-api-v2.scss index 94199fc850..ddaa428506 100644 --- a/pages/badge/style-api-v2.scss +++ b/pages/badge/style-api-v2.scss @@ -3,24 +3,45 @@ SPDX-License-Identifier: Apache-2.0 */ +@use '@cloudscape-design/component-toolkit/styling' as styling; @use '../style-api/palette' as palette; .badge { - --awsui-style-border-color: transparent; - --awsui-style-border-radius: 4px; - --awsui-style-border-width: 3px; - --awsui-style-padding-block: 6px; - --awsui-style-padding-inline: 12px; + @include styling.override { + border-color: transparent; + border-start-start-radius: 4px; + border-start-end-radius: 4px; + border-end-start-radius: 4px; + border-end-end-radius: 4px; + border-width: 3px; + padding-block: 6px; + padding-inline: 12px; + } } .badge-info-pill { - --awsui-style-background-color: #{palette.$accent}; - --awsui-style-color: #{palette.$text-on-accent}; - --awsui-style-border-radius: 77px; + @include styling.override { + background-color: palette.$accent; + color: palette.$text-on-accent; + border-start-start-radius: 77px; + border-start-end-radius: 77px; + border-end-start-radius: 77px; + border-end-end-radius: 77px; + } } .badge-error-square { - --awsui-style-background-color: #{palette.$error-surface}; - --awsui-style-color: #{palette.$error}; - --awsui-style-border-color: #{palette.$error}; + @include styling.override { + background-color: palette.$error-surface; + color: palette.$error; + border-color: palette.$error; + } +} + +.badge-label { + @include styling.override { + font-family: monospace; + font-size: 14px; + font-weight: 400; + } } diff --git a/src/__tests__/snapshot-tests/__snapshots__/style-docs.test.ts.snap b/src/__tests__/snapshot-tests/__snapshots__/style-docs.test.ts.snap index 0ec1499e58..c8914e0f09 100644 --- a/src/__tests__/snapshot-tests/__snapshots__/style-docs.test.ts.snap +++ b/src/__tests__/snapshot-tests/__snapshots__/style-docs.test.ts.snap @@ -48,18 +48,19 @@ exports[`Style API docs definition for badge matches the snapshot: badge 1`] = ` "slots": [ { "name": "root", - "properties": [], - "propertyDescriptions": {}, - "tokenDescriptions": {}, - "tokens": [ + "properties": [ "color", "background-color", - "border-color", - "border-width", + "border", "border-radius", - "padding-block", - "padding-inline", + "padding", + "font-family", + "font-size", + "font-weight", ], + "propertyDescriptions": {}, + "tokenDescriptions": {}, + "tokens": [], }, ], } diff --git a/src/badge/styles.scss b/src/badge/styles.scss index 754d577202..82adbb031f 100644 --- a/src/badge/styles.scss +++ b/src/badge/styles.scss @@ -7,9 +7,10 @@ @use '../internal/styles/tokens' as awsui; @use '../internal/styles/style-api' as style-api; -$tokens: style-api.resolve(style-api.combine(style-api.$surface, (padding-block, padding-inline)), public); -@include style-api.register($tokens); -@include style-api.docs('root', $tokens); +@include style-api.docs( + 'root', + $properties: (color, background-color, border, border-radius, padding, font-family, font-size, font-weight) +); .badge { @include styles.styles-reset; @@ -17,72 +18,68 @@ $tokens: style-api.resolve(style-api.combine(style-api.$surface, (padding-block, @include styles.font-body-s; line-height: awsui.$line-height-body-m; display: inline-block; - border-start-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge); - border-start-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge); - border-end-start-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge); - border-end-end-radius: style-api.value($tokens, border-radius, awsui.$border-radius-badge); + border-start-start-radius: awsui.$border-radius-badge; + border-start-end-radius: awsui.$border-radius-badge; + border-end-start-radius: awsui.$border-radius-badge; + border-end-end-radius: awsui.$border-radius-badge; border-block-style: solid; border-inline-style: solid; - border-width: style-api.value($tokens, border-width, awsui.$border-width-badge); - padding-block: style-api.value($tokens, padding-block, 0); - padding-inline: style-api.value($tokens, padding-inline, awsui.$space-xs); - color: style-api.value($tokens, color, awsui.$color-text-notification-default); + border-width: awsui.$border-width-badge; + padding-block: 0; + padding-inline: awsui.$space-xs; + color: awsui.$color-text-notification-default; &.badge-color-grey { - background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-grey); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-grey); - color: style-api.value($tokens, color, awsui.$color-text-badge-grey); + background-color: awsui.$color-background-badge-grey; + border-color: awsui.$color-border-badge-grey; + color: awsui.$color-text-badge-grey; } &.badge-color-green { - background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-green); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-green); - color: style-api.value($tokens, color, awsui.$color-text-badge-green); + background-color: awsui.$color-background-badge-green; + border-color: awsui.$color-border-badge-green; + color: awsui.$color-text-badge-green; } &.badge-color-blue { - background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-blue); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-blue); - color: style-api.value($tokens, color, awsui.$color-text-badge-blue); + background-color: awsui.$color-background-badge-blue; + border-color: awsui.$color-border-badge-blue; + color: awsui.$color-text-badge-blue; } &.badge-color-red { - background-color: style-api.value($tokens, background-color, awsui.$color-background-badge-red); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-red); - color: style-api.value($tokens, color, awsui.$color-text-badge-red); + background-color: awsui.$color-background-badge-red; + border-color: awsui.$color-border-badge-red; + color: awsui.$color-text-badge-red; } &.badge-color-severity-critical { - background-color: style-api.value( - $tokens, - background-color, - awsui.$color-background-notification-severity-critical - ); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-critical); - color: style-api.value($tokens, color, awsui.$color-text-badge-severity-critical); + background-color: awsui.$color-background-notification-severity-critical; + border-color: awsui.$color-border-badge-severity-critical; + color: awsui.$color-text-badge-severity-critical; } &.badge-color-severity-high { - background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-high); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-high); - color: style-api.value($tokens, color, awsui.$color-text-badge-severity-high); + background-color: awsui.$color-background-notification-severity-high; + border-color: awsui.$color-border-badge-severity-high; + color: awsui.$color-text-badge-severity-high; } &.badge-color-severity-medium { - background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-medium); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-medium); - color: style-api.value($tokens, color, awsui.$color-text-badge-severity-medium); + background-color: awsui.$color-background-notification-severity-medium; + border-color: awsui.$color-border-badge-severity-medium; + color: awsui.$color-text-badge-severity-medium; } &.badge-color-severity-low { - background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-low); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-low); - color: style-api.value($tokens, color, awsui.$color-text-badge-severity-low); + background-color: awsui.$color-background-notification-severity-low; + border-color: awsui.$color-border-badge-severity-low; + color: awsui.$color-text-badge-severity-low; } &.badge-color-severity-neutral { - background-color: style-api.value($tokens, background-color, awsui.$color-background-notification-severity-neutral); - border-color: style-api.value($tokens, border-color, awsui.$color-border-badge-severity-neutral); - color: style-api.value($tokens, color, awsui.$color-text-badge-severity-neutral); + background-color: awsui.$color-background-notification-severity-neutral; + border-color: awsui.$color-border-badge-severity-neutral; + color: awsui.$color-text-badge-severity-neutral; } } diff --git a/src/internal/styles/style-api.scss b/src/internal/styles/style-api.scss index a245639edf..8e3a8eddfd 100644 --- a/src/internal/styles/style-api.scss +++ b/src/internal/styles/style-api.scss @@ -51,9 +51,9 @@ $_focus-ring-carriers: toolkit.resolve($focus-ring, carrier); } } -@mixin docs($name, $map) { +@mixin docs($name, $tokens: null, $properties: null, $descriptions: null) { @if enabled() { - @include toolkit.docs($name, $map); + @include toolkit.docs($name, $tokens, $properties, $descriptions); } }