import React from 'react'
import { createGlobalStyle } from 'styled-components'
import { horizontalSpace } from '../_utils/branding'
const horizontalPadding = (props: any): string => {
if (props.noHorizontalSpacing) {
return '0'
}
return props.hasHorizontalSpacing ? horizontalSpace.inner : horizontalSpace.global
}
const horizontalMargin = (props: any): string | number =>
props.hasHorizontalSpacing ? horizontalSpace.outer : 0
export type NormalizeProps = Readonly<{
hasHorizontalSpacing?: boolean
noHorizontalSpacing?: boolean
}>
/**
* Util method to normalize horizontal spacing
* using !important because this should never be overridden
*/
export const normalizeHorizontally = (props: NormalizeProps): string => `
padding-left: ${horizontalPadding(props)} !important;
padding-right: ${horizontalPadding(props)} !important;
margin-left: ${horizontalMargin(props)};
margin-right: ${horizontalMargin(props)};
`
// Legacy layout rules from production BBC.
const LegacyLayoutNormalizationGlobalStyles = createGlobalStyle`
.home-column .kirk-item.kirk-item--clickable,
.user-menu-item.kirk-item.kirk-item--clickable {
margin-left: 0;
margin-right: 0;
}
.home-column button.kirk-item.kirk-item--clickable,
button.user-menu-item.kirk-item.kirk-item--clickable {
max-width: 100%;
}
`
const LayoutNormalizationGlobalStyles = createGlobalStyle`
// Add normalization styles.
`
export type LayoutNormalizerProps = Readonly<{
useLegacyNormalization?: boolean
}>
export const LayoutNormalizer = ({ useLegacyNormalization = true }: LayoutNormalizerProps) => {
if (useLegacyNormalization) {
return
}
return
}