All files / modules/45-projects-orgs/components/LandingDashboardWidgetWrapper LandingDashboardWidgetWrapper.tsx

75% Statements 6/8
0% Branches 0/4
0% Functions 0/1
75% Lines 6/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41              1x   1x 1x     1x               1x                                   1x  
/*
 * Copyright 2021 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Shield 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
 */
 
import React from 'react'
 
import { Icon, IconName, Layout, Text } from '@wings-software/uicore'
import { Color } from '@harness/design-system'
import type { IconProps } from '@wings-software/uicore/dist/icons/Icon'
import type { StringsMap } from 'framework/strings/StringsContext'
import { useStrings } from 'framework/strings'
 
interface LandingDashboardWidgetWrapperProps {
  title?: keyof StringsMap
  icon?: IconName
  iconProps?: Omit<IconProps, 'name'>
}
 
const LandingDashboardWidgetWrapper: React.FC<LandingDashboardWidgetWrapperProps> = props => {
  const { getString } = useStrings()
 
  return (
    <Layout.Vertical spacing="large">
      {props.title ? (
        <Layout.Horizontal spacing="small">
          {props.icon ? <Icon flex={{ align: 'center-center' }} {...props.iconProps} name={props.icon} /> : null}
          <Text font={{ size: 'medium', weight: 'bold' }} color={Color.BLACK}>
            {getString(props.title)}
          </Text>
        </Layout.Horizontal>
      ) : null}
      {props.children}
    </Layout.Vertical>
  )
}
 
export default LandingDashboardWidgetWrapper