diff --git a/.bundlewatch.config.json b/.bundlewatch.config.json index 5f2a906251..8b1d3a0ef9 100644 --- a/.bundlewatch.config.json +++ b/.bundlewatch.config.json @@ -6,7 +6,7 @@ }, { "path": "./packages/orange/dist/css/ouds-web-bootstrap.min.css", - "maxSize": "79.25 kB" + "maxSize": "79.5 kB" }, { "path": "./packages/orange/dist/css/ouds-web-grid.css", @@ -34,11 +34,11 @@ }, { "path": "./packages/orange/dist/css/ouds-web.css", - "maxSize": "66.5 kB" + "maxSize": "66.75 kB" }, { "path": "./packages/orange/dist/css/ouds-web.min.css", - "maxSize": "62.5 kB" + "maxSize": "62.75 kB" }, { "path": "./dist/js/ouds-web.bundle.js", diff --git a/scss/_maps.scss b/scss/_maps.scss index 79261faf4f..026211b0b9 100644 --- a/scss/_maps.scss +++ b/scss/_maps.scss @@ -123,6 +123,10 @@ $ouds-elevations: ( // scss-docs-start ouds-maps-font $ouds-font-sizes: ( + lxl: "/label-xlarge", + ll: "/label-large", + lm: "/label-medium", + ls: "/label-small", cm: "/code-medium", bs: "/body-small", bm: "/body-medium", diff --git a/scss/tests/customize/_ouds-web-bootstrap-utilities.test.scss b/scss/tests/customize/_ouds-web-bootstrap-utilities.test.scss index d722fa63d4..ed6e6f44de 100644 --- a/scss/tests/customize/_ouds-web-bootstrap-utilities.test.scss +++ b/scss/tests/customize/_ouds-web-bootstrap-utilities.test.scss @@ -3508,6 +3508,38 @@ $utilities: (); /* rtl:end:remove */ + .fs-lxl { + font-size: var(--bs-font-size-label-xlarge); + line-height: var(--bs-font-line-height-label-xlarge); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-xlarge); + } + + .fs-ll { + font-size: var(--bs-font-size-label-large); + line-height: var(--bs-font-line-height-label-large); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-large); + } + + .fs-lm { + font-size: var(--bs-font-size-label-medium); + line-height: var(--bs-font-line-height-label-medium); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-medium); + } + + .fs-ls { + font-size: var(--bs-font-size-label-small); + line-height: var(--bs-font-line-height-label-small); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-small); + } + .fs-cm { font-size: var(--bs-font-size-code-medium); line-height: var(--bs-font-line-height-code-medium); @@ -15430,6 +15462,38 @@ $utilities: (); /* rtl:end:remove */ + .fs-lxl { + font-size: var(--bs-font-size-label-xlarge); + line-height: var(--bs-font-line-height-label-xlarge); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-xlarge); + } + + .fs-ll { + font-size: var(--bs-font-size-label-large); + line-height: var(--bs-font-line-height-label-large); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-large); + } + + .fs-lm { + font-size: var(--bs-font-size-label-medium); + line-height: var(--bs-font-line-height-label-medium); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-medium); + } + + .fs-ls { + font-size: var(--bs-font-size-label-small); + line-height: var(--bs-font-line-height-label-small); + + /* rtl:remove */ + letter-spacing: var(--bs-font-letter-spacing-label-small); + } + .fs-cm { font-size: var(--bs-font-size-code-medium); line-height: var(--bs-font-line-height-code-medium); diff --git a/site/src/content/docs/foundation/typography.mdx b/site/src/content/docs/foundation/typography.mdx index 05c8953d23..e647542c31 100644 --- a/site/src/content/docs/foundation/typography.mdx +++ b/site/src/content/docs/foundation/typography.mdx @@ -30,6 +30,13 @@ export const textLevel = [ "body-small" ] +export const labelLevel = [ + "label-xlarge", + "label-large", + "label-medium", + "label-small" +] + export const screenSize = [ "mobile", "tablet", @@ -288,17 +295,24 @@ Since only [headings](#headings), [display headings](#display-headings) and `str
{ - textLevel.map((level) => ( + [ ...textLevel, ...labelLevel].map((level) => ({'.lead'})>)}
{level === 'body-medium' && (<>Body medium (default {''}
)>)}
{level === 'body-small' && (<>Body small ({'.small'} or {''})>)}
+ {level === 'label-xlarge' && (<>Label xlarge ({'.fs-lxl'})>)}
+ {level === 'label-large' && (<>Label large ({'.fs-ll'})>)}
+ {level === 'label-medium' && (<>Label medium ({'.fs-lm'})>)}
+ {level === 'label-small' && (<>Label small ({'.fs-ls'})>)}
{(getTokenValue(`$ouds-font-size-${level}-${size}`).slice(0, -2)) / 16}rem ({getTokenValue(`$ouds-font-size-${level}-${size}`)})
+ {!level.includes('label-')
+ && (<>{(getTokenValue(`$ouds-font-size-${level}-${size}`).slice(0, -2)) / 16}rem ({getTokenValue(`$ouds-font-size-${level}-${size}`)})>)}
+ {level.includes('label-')
+ && (<>{(getTokenValue(`$ouds-font-size-${level}`).slice(0, -2)) / 16}rem ({getTokenValue(`$ouds-font-size-${level}`)})>)}
{'.lead'})>)}
{level === 'body-medium' && (<>Body medium (default {''}
)>)}
{level === 'body-small' && (<>Body small ({'.small'} or {''})>)}
+ {level === 'label-xlarge' && (<>Label xlarge ({'.fs-lxl'})>)}
+ {level === 'label-large' && (<>Label large ({'.fs-ll'})>)}
+ {level === 'label-medium' && (<>Label medium ({'.fs-lm'})>)}
+ {level === 'label-small' && (<>Label small ({'.fs-ls'})>)}
font-size: {(getTokenValue(`$ouds-font-size-${level}-${size}`).slice(0, -2)) / 16}remline-height: {Math.round(((getTokenValue(`$ouds-font-line-height-${level}-${size}`).slice(0, -2)) / (getTokenValue(`$ouds-font-size-${level}-${size}`).slice(0, -2))) * 10000) / 10000}letter-spacing: {(getTokenValue(`$ouds-font-letter-spacing-${level}-${size}`).slice(0, -2)) / 16}remmax-width: {(getTokenValue(`$ouds-size-max-width-${level}-${size}`).slice(0, -2)) / 16}remfont-size: {(getTokenValue(`$ouds-font-size-${level}${!level.includes('label-') ? '-' + size : ''}`).slice(0, -2)) / 16}remline-height: {Math.round(((getTokenValue(`$ouds-font-line-height-${level}${!level.includes('label-') ? '-' + size : ''}`).slice(0, -2)) / (getTokenValue(`$ouds-font-size-${level}${!level.includes('label-') ? '-' + size : ''}`).slice(0, -2))) * 10000) / 10000}letter-spacing: {(getTokenValue(`$ouds-font-letter-spacing-${level}${!level.includes('label-') ? '-' + size : ''}`).slice(0, -2)) / 16}remmax-width: {(getTokenValue(`$ouds-size-max-width-${level}-${size}`).slice(0, -2)) / 16}rem{'.fs-bm'})>)}
{level === 'body-small' && (<>Body small ({'.fs-bs'})>)}
{level === 'code-medium' && (<>Code medium ({'.fs-cm'})>)}
+ {level === 'label-xlarge' && (<>Label xlarge ({'.fs-lxl'})>)}
+ {level === 'label-large' && (<>Label large ({'.fs-ll'})>)}
+ {level === 'label-medium' && (<>Label medium ({'.fs-lm'})>)}
+ {level === 'label-small' && (<>Label small ({'.fs-ls'})>)}
{
screenSize.map((size) => (
{(getTokenValue(`$ouds-font-size-${level}-${size}`).slice(0, -2)) / 16}rem ({getTokenValue(`$ouds-font-size-${level}-${size}`)})>)}
- {level === 'code-medium'
+ {(level === 'code-medium' || level.includes('label-'))
&& (<>{(getTokenValue(`$ouds-font-size-${level}`).slice(0, -2)) / 16}rem ({getTokenValue(`$ouds-font-size-${level}`)})>)}
{'.fs-bm'})>)}
{level === 'body-small' && (<>Body small ({'.fs-bs'})>)}
{level === 'code-medium' && (<>Code medium ({'.fs-cm'})>)}
+ {level === 'label-xlarge' && (<>Label xlarge ({'.fs-lxl'})>)}
+ {level === 'label-large' && (<>Label large ({'.fs-ll'})>)}
+ {level === 'label-medium' && (<>Label medium ({'.fs-lm'})>)}
+ {level === 'label-small' && (<>Label small ({'.fs-ls'})>)}
{
screenSize.map((size) => (
font-size: {(getTokenValue(`$ouds-font-size-${level}-${size}`).slice(0, -2)) / 16}remmax-width: {(getTokenValue(`$ouds-size-max-width-${level}-${size}`).slice(0, -2)) / 16}remfont-size: {(getTokenValue(`$ouds-font-size-${level}`).slice(0, -2)) / 16}rem.fs-bl text
.fs-bm text
.fs-bs text
-.fs-cm.font-monospace text
`} /> +.fs-cm.font-monospace text
+.fs-lxl text
+.fs-ll text
+.fs-lm text
+.fs-ls text
`} /> Customize your available `font-size`s by modifying the `$ouds-font-sizes` Sass map.