diff --git a/packages/react/src/Button/IconButton.figma.tsx b/packages/react/src/Button/IconButton.figma.tsx index b5c74908ad1..ae8021f8e2e 100644 --- a/packages/react/src/Button/IconButton.figma.tsx +++ b/packages/react/src/Button/IconButton.figma.tsx @@ -8,7 +8,7 @@ figma.connect( 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=30468-5843&t=eGzObFz2btFEDDNj-4', { props: { - icon: figma.instance('icon'), + icon: figma.instance('icon').getProps<{name: string; fn: React.FC}>(), variant: figma.enum('variant', { primary: 'primary', secondary: 'default', @@ -23,7 +23,7 @@ figma.connect( ariaLabel: figma.string('aria-label'), }, example: ({icon, ariaLabel, variant, size}) => ( - + ), }, ) diff --git a/packages/react/src/PageHeader/PageHeader.figma.tsx b/packages/react/src/PageHeader/PageHeader.figma.tsx index 49b0112f0f6..0c588b4edc3 100644 --- a/packages/react/src/PageHeader/PageHeader.figma.tsx +++ b/packages/react/src/PageHeader/PageHeader.figma.tsx @@ -2,15 +2,177 @@ import React from 'react' import {PageHeader} from '../' import figma from '@figma/code-connect' -figma.connect(PageHeader, 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=38380%3A2926', { - props: { - // No matching props could be found for these Figma properties: - description: figma.boolean('hasDescription', { - false: undefined, - true: figma.children('_PageHeader.Description'), - }), - // "hasNavigation": figma.boolean('hasNavigation'), - // "hasContextArea": figma.boolean('hasContextArea') - }, - example: ({description}) => {description}, -}) +figma.connect( + PageHeader, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=40002-2161&t=IXcS4U90x9HnYx6s-4', + { + props: { + // No matching props could be found for these Figma properties: + description: figma.children('_PageHeader.Description'), + titleArea: figma.children('_PageHeader.TitleArea'), + hasBorder: figma.boolean('hasBorder?'), + navigation: figma.children('_PageHeader.Navigation'), + contextArea: figma.children('_PageHeader.ContextArea'), + }, + example: ({description, hasBorder, titleArea, navigation, contextArea}) => ( + + {titleArea} + {contextArea} + {description} + {navigation} + + ), + }, +) + +/* TITLE AREA */ +figma.connect( + PageHeader.TitleArea, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=38380-2931&m=dev', + { + props: { + variant: figma.enum('Title size', { + subtitle: 'subtitle', + medium: 'medium', + large: 'large', + }), + title: figma.children('_PageHeader.Title'), + actions: figma.children('_PageHeader.Actions'), + leadingAction: figma.children('_PageHeader.LeadingAction'), + trailingAction: figma.children('_PageHeader.TrailingAction'), + leadingVisual: figma.children('_PageHeader.LeadingVisual'), + trailingVisual: figma.children('_PageHeader.TrailingVisual'), + }, + example: ({variant, title, actions, leadingAction, trailingAction, leadingVisual, trailingVisual}) => ( + <> + + {leadingVisual} + {title} + {trailingVisual} + + {leadingAction} + {trailingAction} + {actions} + + ), + }, +) + +/* TITLE */ +figma.connect( + PageHeader.Title, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=38380-2888&m=dev', + { + props: { + title: figma.string('title'), + }, + example: ({title}) => {title}, + }, +) + +/* Actions */ +figma.connect( + PageHeader.Actions, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=39970-89643&t=fprKViURxkKXOe6Y-4', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +) + +/* Description */ +figma.connect( + PageHeader.Description, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=38380-2894&t=IXcS4U90x9HnYx6s-4', + { + example: () => {/*...*/}, + }, +) + +/* Navigation */ +figma.connect( + PageHeader.Navigation, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=38380-2885&t=IXcS4U90x9HnYx6s-4', + { + props: { + underlineNav: figma.nestedProps('UnderlineNav', { + items: figma.children('*'), + }), + }, + example: ({underlineNav}) => {underlineNav.items}, + }, +) + +/* LeadingAction */ +figma.connect( + PageHeader.LeadingAction, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=40102-162217&t=wRHARmXHLT2f3NjB-4', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +) + +/* TrailingAction */ +figma.connect( + PageHeader.TrailingAction, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=40102-162780&t=wRHARmXHLT2f3NjB-4', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +) + +/* LeadingVisual */ +figma.connect( + PageHeader.LeadingVisual, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=40102-163620&m=dev', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +) + +/* TrailingVisual */ +figma.connect( + PageHeader.TrailingVisual, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=40102-163412&m=dev', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +) + +/* ContextArea */ +figma.connect( + PageHeader.ContextArea, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=38380-2874&t=wRHARmXHLT2f3NjB-4', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +) + +/* ContextAreaActions */ +figma.connect( + PageHeader.ContextAreaActions, + 'https://www.figma.com/design/GCvY3Qv8czRgZgvl1dG6lp/Primer-Web?node-id=40102-164554&t=wRHARmXHLT2f3NjB-4', + { + props: { + children: figma.children('*'), + }, + example: ({children}) => {children}, + }, +)