import { FiltersMap } from '@wix/bex-core'; import { observer } from 'mobx-react-lite'; import React from 'react'; import { Box, BoxProps } from '@wix/design-system'; import { MaxHeightText } from '../MaxHeightText'; import { ModalHeadingBox } from '../ModalHeadingBox'; import { Heading } from '../Heading'; import { PickerStandaloneState } from '../../state'; export interface PickerStandaloneLayoutTitlesProps< T, F extends FiltersMap = FiltersMap, > extends BoxProps { state: PickerStandaloneState; defaultTitle?: string; defaultSubtitle?: string; titleMaxLines?: number; } function _PickerStandaloneLayoutTitles( props: PickerStandaloneLayoutTitlesProps, ) { const { state, defaultTitle, defaultSubtitle, titleMaxLines = 2, ...rest } = props; const { title: titleFromUrl, subtitle: subtitleFromUrl, isMobileView, } = state; const title = titleFromUrl ?? defaultTitle; const subtitle = subtitleFromUrl ?? defaultSubtitle; const { titlesContainerProps, textProps } = isMobileView ? { titlesContainerProps: { paddingLeft: 'SP4', paddingRight: 'SP4', align: 'left' as const, }, textProps: { textAlign: 'left' as const, }, } : { titlesContainerProps: { paddingLeft: 'SP7', paddingRight: 'SP7', gap: 'SP1', align: 'center' as const, }, textProps: { textAlign: 'center' as const, }, }; return ( {/* the div is because max lines can't apply styles on */}
{title}
{subtitle && (
{/* the div is because max lines can't apply styles on */} {subtitle}
)}
); } export const PickerStandaloneLayoutTitles = observer( _PickerStandaloneLayoutTitles, );