Skip to content

ProductHead

TIP

The Feedback button uses the ButtonLink component to ensure proper semantics and accessibility.

Tool Name:
Domain.com

Last update:
1 hour ago
tsx
import React from 'react';
import { Text } from '@semcore/ui/typography';
import Link from '@semcore/ui/link';
import Button, { ButtonLink } from '@semcore/ui/button';
import { DescriptionTooltip } from '@semcore/ui/tooltip';
import Chat from '@semcore/ui/icon/Chat/m';
import BookM from '@semcore/ui/icon/Book/m';
import MathPlusM from '@semcore/ui/icon/MathPlus/m';
import SettingsM from '@semcore/ui/icon/Settings/m';
import InfoM from '@semcore/ui/icon/Info/m';
import Breadcrumbs from '@semcore/ui/breadcrumbs';
import Select from '@semcore/ui/select';
import { LinkTrigger } from '@semcore/ui/base-trigger';

import Header, { Info, Title } from '@semcore/ui/product-head';

const Demo = () => {
  return (
    <>
      <Header mx={8}>
        <Header.Row>
          <Breadcrumbs>
            <Breadcrumbs.Item href='#'>Projects</Breadcrumbs.Item>
            <Breadcrumbs.Item href='#'>Domain.com</Breadcrumbs.Item>
            <Breadcrumbs.Item href='#' active>
              Tool Name
            </Breadcrumbs.Item>
          </Breadcrumbs>

          <Header.Links>
            <ButtonLink addonLeft={Chat}>Feedback</ButtonLink>
            <Link addonLeft={BookM}>User manual</Link>
          </Header.Links>
        </Header.Row>

        <Header.Row>
          <Title toolName='Tool Name:'>
            <Text color='text-secondary' noWrap>
              Domain.com
            </Text>
          </Title>

          <Header.Buttons>
            <Button use='primary' addonLeft={MathPlusM}>
              Add Project
            </Button>
            <Button addonLeft={SettingsM}>Settings</Button>
          </Header.Buttons>
        </Header.Row>

        <Header.Row>
          <Info>
            <Info.Item>
              <Info.Item.Label tag='label' htmlFor='select-location'>
                Location:
              </Info.Item.Label>
              <Select
                id='select-location'
                defaultValue={'us'}
                placeholder='Select option'
                m='auto'
                tag={LinkTrigger}
                options={[
                  { value: 'us', label: 'United States', children: 'United States' },
                  { value: 'ch', label: 'China', children: 'China' },
                  { value: 'ja', label: 'Japan', children: 'Japan' },
                  { value: 'ge', label: 'Germany', children: 'Germany' },
                  { value: 'uk', label: 'United Kingdom', children: 'United Kingdom' },
                  { value: 'in', label: 'India', children: 'India' },
                  { value: 'fr', label: 'France', children: 'France' },
                  { value: 'it', label: 'Italy', children: 'Italy' },
                ]}
              />
            </Info.Item>
            <Info.Item>
              <Info.Item.Label tag='label' htmlFor='select-device'>
                Device:
              </Info.Item.Label>
              <Select
                id='select-device'
                defaultValue={'Desktop'}
                placeholder='Select option'
                m='auto'
                tag={LinkTrigger}
                options={[
                  { value: 'Desktop', children: 'Desktop' },
                  { value: 'Mobile', children: 'Mobile' },
                ]}
              />
            </Info.Item>
            <Info.Item label='Last update:'>
              1 hour ago
              <DescriptionTooltip>
                <DescriptionTooltip.Trigger
                  tag={InfoM}
                  display='inline-flex'
                  ml={1}
                  interactive
                  color='icon-secondary-neutral'
                  aria-label='About update rate'
                />
                <DescriptionTooltip.Popper aria-label='About update rate'>
                  Some details about data update rates.
                </DescriptionTooltip.Popper>
              </DescriptionTooltip>
            </Info.Item>
          </Info>
        </Header.Row>
      </Header>
    </>
  );
};

export default Demo;

Last updated:

Released under the MIT License.

Released under the MIT License.