PersonSummary#
Content-type-specific summary card rendered when a Person item appears inside a Teaser, Grid, or Listing block.
File: frontend/packages/kitconcept-intranet/src/components/Summary/PersonSummary.tsx
Registration: frontend/packages/volto-light-theme/frontend/packages/volto-light-theme/src/config/summary.ts — registered as the Summary component for the Person content type. See Summary component for how the Summary registry works.
Props#
Prop |
Type |
Required |
Description |
|---|---|---|---|
|
|
Yes |
The Person content object |
|
|
No |
Heading element used for the name (default: |
|
|
No |
|
|
|
No |
If true, the description paragraph is not rendered |
Person item fields used#
Field |
Description |
|---|---|
|
Optional label displayed above the name |
|
Person's full name rendered in |
|
Job title displayed below the name |
|
Short bio — processed through |
|
Rendered as a |
|
Rendered with a location icon |
|
Rendered with a mobile/phone icon |
ObjectBrowserItem (from @plone/types) only declares @id, @type, and title. The Person-specific fields above (head_title, job_title, contact_email, contact_room, contact_phone) are extra fields from the catalog brain included in the API response but not part of the type definition.
Link behaviour#
PersonSummary.hideLink = true is set unconditionally on the component. The parent block templates (DefaultTemplate, GridTemplate, SummaryTemplate) check this flag before wrapping the name in a link:
let showLink = !Summary.hideLink && !isEditMode;
Because hideLink is always true for Person items, person names are never rendered as links regardless of edit mode or any control panel setting.
Styles#
SCSS source: frontend/packages/volto-light-theme/frontend/packages/volto-light-theme/src/theme/person.scss
The .summary-extra-info class handles icon + text rows. Icon size is 24px.
Notes#
The intranet version extends the upstream VLT
PersonSummarywith two changes: it addsjob_titlerendering and setshideLink = true.hide_descriptionsuppresses the description paragraph unconditionally — unlike the VLT base which additionally skips the paragraph whenitem.description === ''.descriptionis passed throughsmartTextRenderer— markdown-style links ([text](href)) in the description field are rendered as<UniversalLink>elements.