Import
import { Subheading } from '@contentful/f36-components';// orimport { Subheading } from '@contentful/f36-typography';
Examples
Basic
Margins
By default Subheading
component has a margin bottom of spacingM
(1rem
). You can override the default margin bottom by specifying it explicitly on the component level by marginBottom="none"
or any other value from our spacing options
as
property
By default Subheading
has an h3
tag. But you can change it by providing as
prop with values from h1
to h6
.
Truncated text
Sometimes you might have to truncate the text in the Subheading
component, so we provide the prop especially for that. Under the hood, what it does is add overflow: hidden
and set text-overflow
to ellipsis
. Have a look at the example below:
Composition
Props (API reference)
Open in StorybookName | Type | Default |
---|---|---|
as | HTML Tag or React Component (e.g. div, span, etc) | |
children | ReactNode | |
className | string CSS class to be appended to the root element | |
css | string number false true ComponentSelector Keyframes SerializedStyles ArrayInterpolation<undefined> ObjectInterpolation<undefined> (theme: any) => Interpolation<undefined> | |
fontColor | "blue100" "blue200" "blue300" "blue400" "blue500" "blue600" "blue700" "blue800" "blue900" "gray100" "gray200" "gray300" "gray400" "gray500" "gray600" "gray700" "gray800" "gray900" "green100" "green200" "green300" "green400" "green500" "green600" "green700" "green800" "green900" "orange100" "orange200" "orange300" "orange400" "orange500" "orange600" "orange700" "orange800" "orange900" "purple100" "purple200" "purple300" "purple400" "purple500" "purple600" "purple700" "purple800" "purple900" "red100" "red200" "red300" "red400" "red500" "red600" "red700" "red800" "red900" "colorPrimary" "colorPositive" "colorNegative" "colorWarning" "colorWhite" "yellow100" "yellow200" "yellow300" "yellow400" "yellow500" "yellow600" "yellow700" "yellow800" "yellow900" | |
fontSize | "fontSize4Xl" "fontSize3Xl" "fontSize2Xl" "fontSizeXl" "fontSizeXlHigh" "fontSizeL" "fontSizeLHigh" "fontSizeM" "fontSizeMHigh" "fontSizeS" "fontSizeSHigh" | |
fontStack | "fontStackPrimary" "fontStackMonospace" | |
fontWeight | "fontWeightNormal" "fontWeightMedium" "fontWeightDemiBold" | |
isTruncated | false true | |
isWordBreak | false true | |
letterSpacing | "letterSpacingDefault" "letterSpacingWide" | |
lineHeight | "lineHeightDefault" "lineHeightCondensed" "lineHeight4Xl" "lineHeight3Xl" "lineHeight2Xl" "lineHeightXl" "lineHeightXlHigh" "lineHeightL" "lineHeightLHigh" "lineHeightM" "lineHeightMHigh" "lineHeightS" "lineHeightSHigh" | |
margin | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin to one of the corresponding spacing tokens | |
marginBottom | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-bottom to one of the corresponding spacing tokens | |
marginLeft | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-left to one of the corresponding spacing tokens | |
marginRight | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-right to one of the corresponding spacing tokens | |
marginTop | "none" "spacing2Xs" "spacingXs" "spacingS" "spacingM" "spacingL" "spacingXl" "spacing2Xl" "spacing3Xl" "spacing4Xl" sets margin-top to one of the corresponding spacing tokens | |
testId | string A [data-test-id] attribute used for testing purposes |
Density support
This component supports multiple densities thanks to the useDensity hook and automatically adjusts its styling for each density (when wrapped with the DensityProvider
).