@contentful/f36-workbench

Forma 36: Workbench component

Usage no npm install needed!

<script type="module">
  import contentfulF36Workbench from 'https://cdn.skypack.dev/@contentful/f36-workbench';
</script>

README


title: 'Workbench' slug: /components/workbench/ github: 'https://github.com/contentful/forma-36/tree/master/packages/components/workbench' storybook: 'https://v4-f36-storybook.netlify.app/?path=/docs/components-workbench--basic' typescript: ./src/Workbench.tsx,./src/WorkbenchHeader/WorkbenchHeader.tsx,./src/WorkbenchContent/WorkbenchContent.tsx,./src/WorkbenchSidebar/WorkbenchSidebar.tsx

An app shell that structures regions of content and interaction. The workbench assembles the outer app shell which defines regions to structure content and interactions.
This component is not included in @contentful/f36-components which means that to use, you will need to import it from @contentful/f36-workbench directly.

Import

import { Workbench } from '@contentful/f36-workbench';

Props (API reference)

Workbench

Workbench.Header

Workbench.Content

Workbench.Sidebar

Content guidelines

Header

The Header provides navigational guidance and primary actions on the current view.

  • The Header should only provide actions which are global to the current view (e.g. Button to create a user on a users list view)
  • When multiple global actions are needed a dropdown menu should be used
  • Buttons that submit a form on the current view should not be placed in the title bar but be part of that specific form.

Main content

The main content area provides the main functionality of the current view.

Depending on the displayed information one of the 3 width configurations should be applied:

  • Views that just consist of forms or text should have a maximum width of 768px for enhanced readability.
  • Static table views which contents are not configurable should default to a maximum width of 1280px.
  • Rich data views like dashboards or configurable tables should use the entire available width.

Sidebars

The left sidebar provides quick access to saved views and filters. The right sidebar provides secondary interactions depending on the current view as well as documentation spaces and entry points for extensibility.

  • The left sidebar serves as secondary navigation and provides predefined and user-defined filters
  • It should not include any view actions like adding or removing content