diff --git a/packages/code-connect/components/Toolbar/Toolbar.figma.tsx b/packages/code-connect/components/Toolbar/Toolbar.figma.tsx new file mode 100644 index 00000000000..afcaf5a600d --- /dev/null +++ b/packages/code-connect/components/Toolbar/Toolbar.figma.tsx @@ -0,0 +1,368 @@ +import figma from '@figma/code-connect'; +import { + Badge, + Button, + ButtonVariant, + Divider, + Dropdown, + DropdownItem, + DropdownList, + MenuToggle, + MenuToggleCheckbox, + MenuToggleElement, + OverflowMenu, + OverflowMenuContent, + OverflowMenuControl, + OverflowMenuGroup, + OverflowMenuItem, + Pagination, + SearchInput, + Select, + SelectList, + SelectOption, + Toolbar, + ToolbarItem, + ToolbarContent, + ToolbarFilter, + ToolbarGroup +} from '@patternfly/react-core'; + +import CloneIcon from '@patternfly/react-icons/dist/esm/icons/clone-icon'; +import EditIcon from '@patternfly/react-icons/dist/esm/icons/edit-icon'; +import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon'; +import PlusCircleIcon from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon'; +import SyncIcon from '@patternfly/react-icons/dist/esm/icons/sync-icon'; + +// Documentation for Toolbar can be found at https://www.patternfly.org/components/toolbar + +figma.connect( + Toolbar, + 'https://www.figma.com/design/VMEX8Xg2nzhBX8rfBx53jp/PatternFly-6--Components?node-id=8062-17157', + { + props: { + colorVariant: figma.boolean('Transparent Background', { + true: 'no-background', + false: undefined + }), + bulkSelector: figma.boolean('Bulk Selector', { + true: ( + + {}} + isOpen={false} + onOpenChange={() => {}} + toggle={(toggleRef) => ( + {}} + aria-label="Toolbar stacked example split toggle" + splitButtonItems={[ + + ]} + /> + )} + > + + + Action + + {}} + > + Link + + + Disabled Action + + + Disabled Link + + + + + ), + false: undefined + }), + filterGroup: figma.boolean('Filter group', { + true: ( + <> + {}} + deleteLabelGroup={() => {}} + categoryName="Status" + > + + + {}} categoryName="Risk"> + + + + ), + false: undefined + }), + searchFilter: figma.boolean('Search filter', { + true: ( + + {}} value={''} onClear={() => {}} /> + + ), + false: undefined + }), + iconButtonGroup: figma.boolean('Icon button group', { + true: ( + + + + + + + + + ), + false: undefined + }), + linkButtons: figma.boolean('Link buttons', { + true: ( + <> + + + + + + + + ), + false: undefined + }), + overflowMenu: figma.boolean('Overflow menu', { + true: ( + + + + + + + + + + + + + + {}} + onOpenChange={() => {}} + toggle={(toggleRef) => ( + {}} + isExpanded={false} + icon={} + /> + )} + isOpen={false} + > + + Action + {}} + > + Link + + Disabled Action + + Disabled Link + + + + + + + ), + false: undefined + }), + pagination: figma.boolean('Pagination', { + true: ( + + {}} onPerPageSelect={() => {}} /> + + ), + false: undefined + }), + filterChips: figma.boolean('Filter chips', { + true: ( + <> + + + + {}} + deleteLabelGroup={() => {}} + categoryName="Status" + > + + + onDelete(category as string, label as string)} + categoryName="Risk" + > + + + + + + ), + false: undefined + }) + }, + example: (props) => ( + + + {props.bulkSelector} + {props.filterGroup} + {props.searchFilter} + {props.iconButtonGroup} + {props.verticalDivider} + {props.buttonGroup} + {props.linkButtons} + {props.overflowMenu} + {props.pagination} + + + {props.filterChips} + + ) + } +); diff --git a/packages/code-connect/figma.config.json b/packages/code-connect/figma.config.json index 2537e14be2b..17eb257b8a3 100644 --- a/packages/code-connect/figma.config.json +++ b/packages/code-connect/figma.config.json @@ -1,13 +1,10 @@ { "codeConnect": { "parser": "react", - "include": [ - "components/DatePicker/*.tsx", - "components/EmptyState/*.tsx", - "components/FileUpload/*.tsx", - "components/Hint/*.tsx", - "components/InlineEdit/*.tsx" - ], + "include": ["components/Toolbar/*.figma.tsx"], + "documentUrlSubstitutions": { + "https://www.figma.com/design/VMEX8Xg2nzhBX8rfBx53jp/PatternFly-6--Components": "https://www.figma.com/design/VMEX8Xg2nzhBX8rfBx53jp/branch/9HiAevBhEc2iYY9rxZtovA/PatternFly-6--Components" + }, "paths": { "src/components": "src/components" }, @@ -30,4 +27,4 @@ } } } -} \ No newline at end of file +}