This kit was created for having a systematic way of displaying users with avatar, titles, name and territory. This is a versatile kit with features than can be added to display more info.
import React from 'react' import { User } from 'playbook-ui' const UserDefault = (props) => { return ( <div className="pb--doc-demo-row"> <div> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="vertical" size="lg" title="Remodeling Consultant" /> </div> <div> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="horizontal" title="Remodeling Consultant" /> </div> <div> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="horizontal" /> <br /> <User align="left" avatar name="Anna Black" orientation="horizontal" /> </div> </div> ) } export default UserDefault
Name will use font-weight: 700 by default, if you want a lighter font weight, use the bold prop set to false. Name will then use font-weight: 300.
import React from 'react' import { User } from 'playbook-ui' const UserLightWeight = (props) => { return ( <div className="pb--doc-demo-row"> <div> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" bold={false} name="Anna Black" orientation="vertical" size="lg" title="Remodeling Consultant" /> </div> <div> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" bold={false} name="Anna Black" orientation="horizontal" title="Remodeling Consultant" /> </div> <div> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" bold={false} name="Anna Black" orientation="horizontal" /> <br /> <User align="left" avatar bold={false} name="Anna Black" orientation="horizontal" /> </div> </div> ) } export default UserLightWeight
import React from 'react' import { User } from 'playbook-ui' const UserWithTerritory = (props) => { return ( <div className="pb--doc-demo-row"> <div> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="vertical" size="lg" territory="PHL" title="Remodeling Consultant" /> </div> <div> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="horizontal" territory="PHL" title="Remodeling Consultant" /> </div> <div> <User align="center" name="Anna Black" orientation="horizontal" size="sm" territory="PHL" title="Remodeling Consultant" /> <br /> <User align="left" name="Anna Black" orientation="horizontal" size="lg" territory="PHL" title="Remodeling Consultant" /> </div> </div> ) } export default UserWithTerritory
import React from 'react' import { User } from 'playbook-ui' const UserTextOnly = (props) => { return ( <div className="pb--doc-demo-row"> <User align="center" name="Anna Black" orientation="horizontal" size="lg" title="Remodeling Consultant" /> <User align="left" name="Anna Black" orientation="horizontal" title="Remodeling Consultant" /> </div> ) } export default UserTextOnly
import React from 'react' import { User } from 'playbook-ui' const UserDefault = (props) => { return ( <div className="pb--doc-demo-row"> <User avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" size="sm" title="Remodeling Consultant" /> <User avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" size="md" title="Remodeling Consultant" /> <User avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" size="lg" title="Remodeling Consultant" /> </div> ) } export default UserDefault
import React from 'react' import { User } from 'playbook-ui' const UserVerticalSize = (props) => { return ( <div> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="vertical" size="sm" title="Remodeling Consultant" /> <br /> <br /> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="vertical" size="md" title="Remodeling Consultant" /> <br /> <br /> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="vertical" size="lg" title="Remodeling Consultant" /> </div> ) } export default UserVerticalSize
import React from "react" import { User } from 'playbook-ui' const UserSubtitle = (props) => { return ( <div className="pb--doc-demo-row"> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="vertical" size="lg" subtitle="User ID: 12345" territory="PHL" title="Remodeling Consultant" /> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="horizontal" subtitle="User ID: 12345" territory="PHL" title="Remodeling Consultant" /> </div> ) } export default UserSubtitle
The subtitle prop accepts strings as well as nodes. Whatever node is passed will display in the subtitle section.
import React from "react" import { Caption, Contact, Flex, Icon, User } from 'playbook-ui' const MentorSubtitle = ( <Flex> <Icon icon="users" /> <Caption paddingLeft="xs" text="Admin" /> </Flex> ) const ContactSubtitle = ( <> <Contact contactType="cell" contactValue="349-185-9988" /> <Contact contactValue="5555555555" /> <Contact contactType="email" contactValue="email@example.com" /> </> ) const UserBlockContentSubtitleReact = (props) => { return ( <div className="pb--doc-demo-row"> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="horizontal" subtitle={MentorSubtitle} territory="PHL" title="Remodeling Consultant" /> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" orientation="horizontal" subtitle={ContactSubtitle} /> </div> ) } export default UserBlockContentSubtitleReact
Passing a nameStyle prop changes the type kit used for the user name. You can choose between title, body, caption, and detail. title is the default.
Passing a titleStyle prop changes the type kit used for the user title. You can choose between body, caption, and detail. body is the default.
The size of the caption is determined by the size prop.
import React from 'react' import { User } from 'playbook-ui' const UserFontOptions = (props) => { return ( <div> <div className="pb--doc-demo-row"> <div> <User align="center" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" nameStyle= "body" orientation="horizontal" size= "md" territory= "PHL" title="Remodeling Consultant" /> </div> <div> <User align="left" avatarUrl="https://randomuser.me/api/portraits/women/44.jpg" name="Anna Black" nameStyle= "detail" orientation="horizontal" size= "md" territory= "PHL" title= "Remodeling Consultant" /> </div> </div> </div> ) } export default UserFontOptions