// @flow strict import * as React from 'react'; import { colorIconPrimary, colorIconSecondary, } from '../../styles/variables/_color'; import classify from '../../utils/classify'; import {Button} from '../Button'; import {Icon} from '../Icon'; import {TEXT_COLORS, TitleMedium} from '../Text'; import {Tooltip} from '../Tooltip'; import css from './PageTitle.module.css'; type ClassNames = $ReadOnly<{ wrapper?: string, leftSlot?: string, rightSlot?: string, }>; export type PageTitleProps = { classNames?: ClassNames, children?: React.Node, pageNameKey?: string, showBackButton?: boolean, onBack?: () => void, }; export const PAGE_NAME_LIST = Object.freeze({ dashboard: { title: 'Dashboard', iconName: 'house', iconType: 'duotone', }, engage: { title: 'Engage', iconName: 'bullseye-pointer', iconType: 'duotone', }, journeys: { title: 'Journeys', iconName: 'bullseye-pointer', iconType: 'duotone', }, workflows: { title: 'Workflows', iconName: 'bullseye-pointer', iconType: 'duotone', }, trm: { title: 'TRM', iconName: 'screen-users', iconType: 'duotone', }, analytics: { title: 'Analytics', iconName: 'chart-column', iconType: 'duotone', }, messaging: { title: 'Messaging', iconName: 'messages', iconType: 'duotone', }, chatbot: { title: 'Chatbot', iconName: 'message-bot', iconType: 'duotone', }, referrals: { title: 'Referrals', iconName: 'user-check', iconType: 'duotone', }, records: { title: 'Records', iconName: 'folder-open', iconType: 'duotone', }, bulkCleanup: { title: 'Bulk Cleanup', iconName: 'retweet', iconType: 'duotone', }, support: { title: 'Support', iconName: 'headset', iconType: 'duotone', }, audit: { title: 'Audit', iconName: 'print-magnifying-glass', iconType: 'duotone', }, timeline: { title: 'Timeline', iconName: 'timeline', iconType: 'duotone', }, people: { title: 'People', iconName: 'people-group', iconType: 'duotone', }, jobs: { title: 'Jobs', iconName: 'briefcase', iconType: 'duotone', }, contacts: { title: 'Contacts', iconName: 'address-card', iconType: 'duotone', }, meetings: { title: 'Meetings', iconName: 'calendars', iconType: 'duotone', }, contacts3: { title: 'Contacts', iconName: 'browser', iconType: 'duotone', }, tracking: { title: 'Tracking', iconName: 'user-check', iconType: 'duotone', }, earnings: { title: 'Earnings', iconName: 'wallet', iconType: 'duotone', }, settings: { title: 'Settings', iconName: 'gear', iconType: 'duotone', }, broadcast: { title: 'Broadcast', iconName: 'bullhorn', iconType: 'duotone', }, }); export type TabSlotProps = { children?: React.Node, className: string, ... }; export const TabSlot = ({ children, className, ...props }: TabSlotProps): React.Node => (