diff --git a/packages/code-connect/components/TreeView/CompactTreeView.figma.tsx b/packages/code-connect/components/TreeView/CompactTreeView.figma.tsx new file mode 100644 index 00000000000..55b86b37d17 --- /dev/null +++ b/packages/code-connect/components/TreeView/CompactTreeView.figma.tsx @@ -0,0 +1,83 @@ +import figma from '@figma/code-connect'; +import { TreeView } from '@patternfly/react-core'; + +// Documentation for TreeView can be found at https://www.patternfly.org/components/tree-view + +figma.connect( + TreeView, + 'https://www.figma.com/design/aEBBvq0J3EPXxHvv6WgDx9/PatternFly-6--Components-Test?node-id=12615-3521', + { + props: { + options: [ + { + name: 'Application launcher', + id: 'example4-AppLaunch', + children: [ + { + name: 'Application 1', + id: 'example4-App1', + children: [ + { name: 'Settings', id: 'example4-App1Settings' }, + { name: 'Current', id: 'example4-App1Current' } + ] + }, + { + name: 'Application 2', + id: 'example4-App2', + children: [ + { name: 'Settings', id: 'example4-App2Settings' }, + { + name: 'Loader', + id: 'example4-App2Loader', + children: [ + { name: 'Loading App 1', id: 'example4-LoadApp1' }, + { name: 'Loading App 2', id: 'example4-LoadApp2' }, + { name: 'Loading App 3', id: 'example4-LoadApp3' } + ] + } + ] + } + ], + defaultExpanded: true + }, + { + name: 'Cost management', + id: 'example4-Cost', + children: [ + { + name: 'Application 3', + id: 'example4-App3', + children: [ + { name: 'Settings', id: 'example4-App3Settings' }, + { name: 'Current', id: 'example4-App3Current' } + ] + } + ] + }, + { + name: 'Sources', + id: 'example4-Sources', + children: [ + { + name: 'Application 4', + id: 'example4-App4', + children: [{ name: 'Settings', id: 'example4-App4Settings' }] + } + ] + }, + { + name: 'Really really really long folder name that overflows the container it is in', + id: 'example4-Long', + children: [{ name: 'Application 5', id: 'example4-App5' }] + } + ], + variant: figma.enum('Type', { + 'With Background': 'compact', + 'Without Background': 'compactNoBackground' + }) + }, + example: (props) => ( + + ) + } +); diff --git a/packages/code-connect/components/TreeView/TreeView.figma.tsx b/packages/code-connect/components/TreeView/TreeView.figma.tsx new file mode 100644 index 00000000000..76d38d8321f --- /dev/null +++ b/packages/code-connect/components/TreeView/TreeView.figma.tsx @@ -0,0 +1,139 @@ +import figma from '@figma/code-connect'; +import { Toolbar, ToolbarContent, ToolbarItem, TreeView, TreeViewSearch } from '@patternfly/react-core'; +import FolderIcon from '@patternfly/react-icons/dist/esm/icons/folder-icon'; +import FolderOpenIcon from '@patternfly/react-icons/dist/esm/icons/folder-open-icon'; + +// Note: TreeView relies upon js objects as data, not figma components. +// Documentation for TreeView can be found at https://www.patternfly.org/components/tree-view + +figma.connect( + TreeView, + 'https://www.figma.com/design/aEBBvq0J3EPXxHvv6WgDx9/PatternFly-6--Components-Test?node-id=12615-2825', + { + props: { + options: [ + { + name: 'Application launcher', + id: 'example4-AppLaunch', + children: [ + { + name: 'Application 1', + id: 'example4-App1', + children: [ + { name: 'Settings', id: 'example4-App1Settings' }, + { name: 'Current', id: 'example4-App1Current' } + ] + }, + { + name: 'Application 2', + id: 'example4-App2', + children: [ + { name: 'Settings', id: 'example4-App2Settings' }, + { + name: 'Loader', + id: 'example4-App2Loader', + children: [ + { name: 'Loading App 1', id: 'example4-LoadApp1' }, + { name: 'Loading App 2', id: 'example4-LoadApp2' }, + { name: 'Loading App 3', id: 'example4-LoadApp3' } + ] + } + ] + } + ], + defaultExpanded: true + }, + { + name: 'Cost management', + id: 'example4-Cost', + children: [ + { + name: 'Application 3', + id: 'example4-App3', + children: [ + { name: 'Settings', id: 'example4-App3Settings' }, + { name: 'Current', id: 'example4-App3Current' } + ] + } + ] + }, + { + name: 'Sources', + id: 'example4-Sources', + children: [ + { + name: 'Application 4', + id: 'example4-App4', + children: [{ name: 'Settings', id: 'example4-App4Settings' }] + } + ] + }, + { + name: 'Really really really long folder name that overflows the container it is in', + id: 'example4-Long', + children: [{ name: 'Application 5', id: 'example4-App5' }] + } + ], + hasBadges: figma.enum('Type', { 'With Badges': true }), + hasGuides: figma.enum('Type', { 'With Branching': true }), + hasIcons: figma.enum('Type', { + Default: { + expandedIcon: undefined, + icon: undefined + }, + 'separate selection & expansion': { + expandedIcon: undefined, + icon: undefined + }, + 'With Brancing': { + expandedIcon: undefined, + icon: undefined + }, + 'With Checkboxes': { + expandedIcon: undefined, + icon: undefined + }, + 'With Badges': { + expandedIcon: undefined, + icon: undefined + }, + 'With Actions': { + expandedIcon: undefined, + icon: undefined + }, + 'With Icons': { + expandedIcon: , + icon: + } + }), + hasSearch: figma.boolean('With Search', { + true: ( + + + + {}} + id="input-search" + name="search-input" + aria-label="Search input example" + /> + + + + ), + false: undefined + }) + }, + example: (props) => ( + + ) + } +);