rail-panel-header.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { useTranslation } from 'react-i18next'
  2. import { useRailContext } from '../contexts/rail-context'
  3. import OLIconButton from '@/features/ui/components/ol/ol-icon-button'
  4. import React from 'react'
  5. import OLTooltip from '@/features/ui/components/ol/ol-tooltip'
  6. export default function RailPanelHeader({
  7. title,
  8. actions,
  9. }: {
  10. title: string
  11. actions?: React.ReactNode[]
  12. }) {
  13. const { t } = useTranslation()
  14. const { handlePaneCollapse } = useRailContext()
  15. return (
  16. <div className="rail-panel-header">
  17. <h4 className="rail-panel-title">{title}</h4>
  18. <div className="rail-panel-header-actions">
  19. {actions}
  20. <OLTooltip
  21. id="close-rail-panel"
  22. description={t('close')}
  23. overlayProps={{ placement: 'bottom' }}
  24. >
  25. <OLIconButton
  26. onClick={handlePaneCollapse}
  27. className="rail-panel-header-button-subdued"
  28. icon="close"
  29. accessibilityLabel={t('close')}
  30. size="sm"
  31. />
  32. </OLTooltip>
  33. </div>
  34. </div>
  35. )
  36. }