Content Block
draft

Content Block is a layout container that wraps content within a constrained container and provides slots for an eyebrow, title, and subtitle alongside default content. It supports configurable background, margin, and padding settings, plus a compact option for adjusting spacing.

Loading

Code

HTML

import { NbhdContentBlock } from '@fbin-web/neighborhood-core';
<nbhd-content-block>
  <nbhd-text tag="h2" variant="title" slot="title">Content Block Title</nbhd-text>

  <nbhd-text tag="div">
    <p>
      Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec
      elit. Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus
      commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Duis
      mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
      Donec ullamcorper nulla non metus auctor fringilla.
    </p>
    <p>
      Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec ullamcorper nulla non
      metus auctor fringilla. Donec sed odio dui. Cras justo odio, dapibus ac facilisis in,
      egestas eget quam. Aenean lacinia bibendum nulla sed consectetur. Sed posuere consectetur
      est at lobortis.
    </p>
  </nbhd-text>
</nbhd-content-block>

React

import { NbhdContentBlock, NbhdText } from '@fbin-web/neighborhood-react';

const App = () => (
  <>
    <NbhdContentBlock>
      <NbhdText
        tag="h2"
        variant="title"
        slot="title">
        Content Block Title
      </NbhdText>

      <NbhdText tag="div">
        <p>
          Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec
          elit. Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus
          commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Duis
          mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec
          elit. Donec ullamcorper nulla non metus auctor fringilla.
        </p>
        <p>
          Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec ullamcorper nulla non
          metus auctor fringilla. Donec sed odio dui. Cras justo odio, dapibus ac facilisis in,
          egestas eget quam. Aenean lacinia bibendum nulla sed consectetur. Sed posuere consectetur
          est at lobortis.
        </p>
      </NbhdText>
    </NbhdContentBlock>
  </>
);

Properties

Property Attribute Type Default Description
compact compact boolean false Set the component max-inline-size to --nbhd-maxInlineSize
background background none | primary-light | secondary-light | primary-dark | secondary-dark none Background color for main component.
marginTop margin-top none | small | medium | large none Adjust margin above the component.
none = 0
small = 24px
medium = 48px
large = 96px
marginBottom margin-bottom none | small | medium | large none Adjust margin below the component.
none = 0
small = 24px
medium = 48px
large = 96px
paddingTop padding-top default | none | small | medium | large default Adjust padding to the top of the component.
default = component's top padding
none = 0
small = 24px
medium = 48px
large = 96px
paddingBottom padding-bottom default | none | small | medium | large default Adjust padding to the bottom of the component.
default = component's bottom padding
none = 0
small = 24px
medium = 48px
large = 96px

Slots

Name Description
eyebrow Eyebrow content placement.
title Title content placement.
subtitle Subtitle content placement.
(default) Default content area.

CSS Parts

Name Description
base The component's base wrapper.
container The inner nbhd-container wrapper.
slot-eyebrow The named slot for eyebrow content.
slot-title The named slot for title content.
slot-subtitle The named slot for subtitle content.

CSS Properties

Property Default Value
--nbhd-contentBlock-inlineSize 100%
--nbhd-contentBlock-marginInline var(--nbhd-space-auto, auto)
--nbhd-contentBlock-maxInlineSize 100%
--nbhd-contentBlock-minInlineSize var(--nbhd-minInlineSize, 320px)
--nbhd-contentBlock-paddingBlock var(--nbhd-space-10, 40px) var(--nbhd-space-12, 48px)
--nbhd-contentBlock-paddingInline var(--nbhd-space-0, 0)
--nbhd-contentBlock-textAlign start

Dependencies

This component contains the following components as dependencies.