B
Bonzai 2
Web Parts

Content Cards

Display items from a SharePoint list as a responsive grid of cards with icons, descriptions, and call-to-action links.

ContentFeature Parity: 85%

Get Content Cards Working in 3 Steps

15-25 minutes

Prerequisites

  • Bonzai 2 package installed on your site
  • A SharePoint list with at least a Title column (recommended: also add Description, LinkUrl, and an icon column)
1

Create your list

Create a list that stores the card content (Title is required; Description, LinkUrl, IconUrl/IconName, Category, SortOrder, and OpenInNewTab are optional).

2

Add the web part

Edit your page and add “Bonzai Content Card”.

3

Select site + list

Pick the site (via site picker or manual URL) and select the list. Then set title/icon, items per row (1–6), sort order, category filters, and optional paging.

When to Use This Web Part

Use this when you need to...

  • Build a “Quick Links” grid with richer visuals than a plain link list
  • Create a landing section with cards that link to key pages, tools, or resources
  • Group content by category and let users filter with simple category selection

Best page locations

  • Homepages — quick navigation panels
  • Department pages — resource/tool collections
  • Hub pages — visual link directories

Consider alternatives when...

  • Complex page layouts with tiles and overlays — use Landing
  • Curated hero/rotating banners — use Slider
  • Search-driven experiences — use Site Directory / Advanced Search

Related web parts:

Advanced Linksyou want curated links with tile/list layouts and targetingLandingyou want image tiles with overlay templates

How it Works

Each list item becomes one card. A card can show an icon (image URL or Fluent UI icon name), a title, an optional description, and an optional call-to-action link. The web part can also render an optional header row above the grid with its own title, link, and Fluent UI icon.

Cards are laid out in a CSS grid with your configured Items Per Row (1–6). Clicking the CTA link navigates to the item's LinkUrl; the OpenInNewTab field controls whether it opens in a new tab.

Flexible column names (field discovery)

Content Cards can work with different column naming conventions. If your columns are named differently (for example, Body instead of Description), the web part tries to detect the best match automatically. See the Supported column names table below for the full list of accepted aliases.

Responsive grid

The configured Items Per Row is the desktop maximum. The grid collapses automatically on smaller viewports: 2 columns below 768 px and 1 columnbelow 480 px.

Required List Schema

Only Title is required. Add any optional columns below to enrich your cards:

ColumnTypeRequiredNotes
TitleSingle line of textYesCard title (uses the list item's built-in Title field)
DescriptionMultiple lines of textNoCard body text
LinkUrlHyperlink or single line of textNoDestination URL. Relative URLs are resolved against the source site.
LinkTextSingle line of textNoButton/link label (defaults to “Learn More”)
IconUrlHyperlink or single line of textNoImage URL for the card icon (takes precedence over IconName)
IconNameSingle line of textNoFluent UI icon name (used only if IconUrl is empty)
OpenInNewTabYes/NoNoOpen LinkUrl in a new tab (also accepts text values “Yes”/“true”/“1”)
CategoryChoice or TextNoOptional category filtering. Choice is recommended — the filter dropdown is built from the column's choices; for Text columns, distinct values from the first 200 items are used.
SortOrderNumberNoOptional ordering (ascending; lower first)

Supported column names (aliases)

Field discovery matches on either internal name or display name (case-insensitive). If you can't rename a column, use one of these supported aliases:
FieldSupported column names
DescriptionDescription, Body, CardDescription
Icon URLIconUrl, IconURL, Icon_x0020_URL, CardIconUrl, ImageUrl
Icon Name (Fluent)IconName, FluentIcon, CardIconName
Link URLLinkUrl, LinkURL, Link_x0020_URL, Url, URL, CardLinkUrl
Link TextLinkText, Link_x0020_Text, CardLinkText, ButtonText
CategoryCategory, CardCategory
Sort OrderSortOrder, Sort_x0020_Order, Order0, ItemOrder
Open in new tabOpenInNewTab, Open_x0020_In_x0020_New_x0020_Tab, NewTab

Common Configurations

Copy these ready-to-use configurations:

Resource Grid

Dense grid of tools, links, or resources

Best for: Homepage
Configuration
maxItemsPerRow4
itemsToShow12
cardHoverEffectOn
iconPositiontop-left
sortBySortOrder

Category-Filtered Cards

Curated subset of a larger list

Best for: Department page
Configuration
maxItemsPerRow3
selectedCategories["HR","Finance"]
sortBySortOrder
showPagingOff

Compact Link Grid

Dense grid of short links with paging

Best for: Directory page
Configuration
maxItemsPerRow6
iconSize32
cardPadding12
showPagingOn
itemsPerPage12

Feature Cards (centered)

Fewer, larger cards with centered icons

Best for: Hub landing
Configuration
maxItemsPerRow3
iconPositiontop-center
iconSize64
cardPadding28
showCardShadowOn

Left-Icon List Cards

Horizontal layout with icon on the left

Best for: Policy / help index
Configuration
maxItemsPerRow2
iconPositionleft
iconSize40
cardBorderStylesolid
cardBorderWidth1

Troubleshooting

Still need help? Contact Bonzai Support


Reference

Property Pane Configuration

Title & Navigation

PropertyTypeDefaultDescription
titleText(empty)Optional header shown above the grid. Leave empty to hide the header row.
titleUrlText(empty)Optional URL that turns the header title into a link.
titleIconOptionDropdownnoneControls the title icon: custom (show a configurable icon) or none (hide the icon).
titleIconNameIcon Picker(empty)Fluent UI icon name used when titleIconOption is custom.

Data Source

PropertyTypeDefaultDescription
siteUrlModeDropdownpickerHow the source site is selected: picker (site picker) or manual (enter a URL).
selectedSitesSite Picker[]Site selected via the picker (used when siteUrlMode is picker). Single-select.
siteUrlText(empty)Manual site URL (used when siteUrlMode is manual). Empty falls back to the current site.
listIdList Picker (GUID)(none)GUID of the SharePoint list to query. Populated from the list picker.
selectedCategoriesMulti-select[]Categories to include. Options are loaded dynamically from the list's Category column (Choice values or distinct text values from the first 200 items).
sortByDropdownSortOrderSort order: SortOrder (ascending), Title (ascending), or Modified (descending). Falls back to Title ascending if the chosen field isn't available.

Display

PropertyTypeDefaultDescription
maxItemsPerRowSlider (1-6, step 1)4Number of columns in the grid at desktop widths. Collapses to 2 below 768 px and 1 below 480 px.
itemsToShowSlider (1-50, step 1)8Maximum number of items to render when paging is off.
showPagingTogglefalseEnable client-side pagination. When on, up to 500 items are fetched and paged locally.
itemsPerPageSlider (4-24, step 1)8Items per page when pagination is enabled.
fixedHeightSlider (0-1000, step 25)0Pins the whole web part to a fixed height in pixels with vertical scrolling. 0 auto-sizes to content.
containerPaddingSlider (0-40, step 2)0Inner padding (px) around the entire card grid container.
borderRadiusSlider (0-20, step 1)0Corner radius (px) for the outer container.

Card Styling

PropertyTypeDefaultDescription
cardBorderStyleDropdownsolidBorder style for each card: solid, dashed, dotted, or none.
cardBorderWidthSlider (0-4, step 1)1Border width in pixels. Ignored when cardBorderStyle is none.
cardBorderColorText(theme default)CSS color for the card border. Leave empty to use the theme default.
cardPaddingSlider (8-40, step 2)20Inner padding (px) for each card.
cardBorderRadiusSlider (0-20, step 1)4Corner radius (px) for each card.
showCardShadowTogglefalseApply a subtle drop shadow to each card.
cardHoverEffectToggletrueElevate/highlight cards on hover.

Text Sizing

PropertyTypeDefaultDescription
titleFontSizeSlider (12-24, step 1)16Font size in pixels for the card title.
descriptionFontSizeSlider (10-18, step 1)14Font size in pixels for the card description.
linkFontSizeSlider (10-18, step 1)14Font size in pixels for the CTA link/button text.

Icon

PropertyTypeDefaultDescription
iconSizeSlider (24-80, step 4)48Width/height in pixels for card icons (applies to both image icons and Fluent UI icons).
iconColorText(brand color)CSS color for Fluent UI icons. Does not affect image icons.
iconPositionDropdowntop-leftIcon placement within the card: top-left (stacked, icon above content), top-center (stacked, centered content), or left (horizontal, icon beside content).

Use image icons for best visual consistency

If you want consistent sizing across different icons, prefer IconUrl (image) over IconName (Fluent UI). When both are set, IconUrl wins.

Keep descriptions short

Cards work best with 1–2 lines of description text. Longer content will make the grid feel uneven — consider setting a fixedHeight on the container if your descriptions vary significantly.

Features Checklist

  • Responsive CSS grid with 1–6 items per row (auto-collapses to 2 cols < 768 px, 1 col < 480 px)
  • Optional header with title, link, and Fluent UI icon
  • Site picker or manual URL for cross-site lists
  • Dynamic field discovery (matches common column aliases on internal or display name)
  • Category filter dropdown populated from list Choice column or distinct text values
  • Sort by SortOrder, Title, or Last Modified
  • Per-item icon: image URL (IconUrl) or Fluent UI icon name (IconName)
  • Three icon layouts: top-left, top-center, left
  • Fully configurable card styling (border style/width/color, padding, radius, shadow, hover)
  • Independent font sizes for title, description, and CTA link
  • Client-side pagination with Previous/Next controls (up to 500 items fetched)
  • Fixed-height container with vertical scrolling (0–1000 px)
  • Per-item OpenInNewTab support (opens with rel="noopener noreferrer")
Tip
If you're using icon images, store them in a site asset library and use URLs that are accessible to everyone who will view the page.