const ProductSwitcherMenu = () => {const productSwitcher = useProductSwitcherState();const [product, setProduct] = React.useState('twilio');return (<><ProductSwitcherButton {...productSwitcher} i18nButtonLabel="Switch products" /><ProductSwitcher {...productSwitcher} aria-label="Available products"><ProductSwitcherItem{...productSwitcher}name="product"value="twilio"checked={product === 'twilio'}onChange={(e) => {setProduct('twilio');}}productName="Twilio"productStrapline="SMS, Voice & Video"productIcon={<LogoTwilioIcon decorative />}/><ProductSwitcherItem{...productSwitcher}name="product"value="segment"checked={product === 'segment'}onChange={(e) => {setProduct('segment');}}productName="Segment"productStrapline="Customer data platform"productIcon={<ProductSegmentIcon decorative />}/><ProductSwitcherItem{...productSwitcher}name="product"value="flex"checked={product === 'flex'}onChange={(e) => {setProduct('flex');}}productName="Flex"productStrapline="Cloud-based contact center"productIcon={<ProductFlexIcon decorative />}/><ProductSwitcherItem{...productSwitcher}name="product"value="sendgrid"checked={product === 'sendgrid'}onChange={(e) => {setProduct('sendgrid');}}productName="SendGrid"productStrapline="Email delivery and API"productIcon={<ProductEmailAPIIcon decorative />}/><ProductSwitcherItem{...productSwitcher}name="product"value="admin"checked={product === 'admin'}onChange={(e) => {setProduct('admin');}}productName="Console Admin"productStrapline="Admin center"productIcon={<LogoTwilioIcon decorative />}/></ProductSwitcher></>);};render(<ProductSwitcherMenu />)
Product Switcher is an implementation of Menu that shows the Twilio products a user has access to and can switch between.
It's a mechanism to jump between top-level Twilio product applications such as Twilio Console, Segment, SendGrid, and Flex. It is ideally placed in the application Topbar.
The Product Switcher implements a Menu and supports all the same keyboard navigation that the Menu component does.
The Product Switcher is made up of the following sub-components:
ProductSwitcherButton
ProductSwitcher
ProductSwitcherItem
useProductSwitcherState
Product Switcher Button is a composed icon-only Menu Button.
Container for Product Switcher menu items.
A radio menu item that can either perform an action or navigate to a new url. It can show the currently selected product the user is in. Only one product can be selected at a time via the checked
property. Ensure that the Items all belong to the same group by sharing a name
.
React Hook used to initialise the Product Switcher with various options. It returns state and actions that can be taken on the Product Switcher.