import * as React from 'react';
interface LogoItem {
/**
* Specify the width of the logo from Desktop view
* @desc This is important. You should insert the initial width from the desktop design file you are following, without white space.
* @type number
* @example
* import LogoGrid from 'logo-grid'
* import { Stripe } from 'my-awesome-svgs'
*
* export const logoList = [
* { logo: Stripe, initialWidth: 108 },
* ]
*
*
*/
initialWidth?: number;
/**
* Specify the logo which should be rendered. Can also be an image src.
* @type number
* @example
* import LogoGrid from 'logo-grid'
* import { Stripe } from 'my-awesome-svgs'
*
* export const logoList = [
* { logo: Stripe, initialWidth: 108 },
* { logo: 'https://placeimg.com/640/480/nature', initialWidth: 85 },
* ]
*
*
*/
logo?: React.ReactNode | string | any;
}
export interface LogoGridProps {
/**
* The className of the LogoGrid component.
* @type string
*/
className?: string;
/**
* Specify the number of columns for the logos/images on Desktop only
* @type number
* @defaultValue 5
* @example columns={5}
*/
columns?: number;
/**
* Specify the alignment of the logos on Desktop only
* @type 'center' | 'left'
* @defaultValue 'center'
* @example desktopAlign="center"
*/
desktopAlign?: 'center' | 'left';
/**
* Change the scale of the padding on Desktop between the logos
* @type number
* @defaultValue 1
* @example
* desktopPaddingScale={1.2}
* desktopPaddingScale={0.8}
*/
desktopPaddingScale?: number;
/**
* Add a fill color to all the svg path of the provided logos
* @type string
* @example
* fillColor='red'
* fillColor='blue'
*/
fillColor?: string;
/**
* Add an array of logos
* @type LogoItem[]
* @defaultValue [{ logo: 'https://placeimg.com/640/480/nature', initialWidth: 100 }]
* @example
* import LogoGrid from 'logo-grid'
* import { Stripe, AirBnbIcon, Amazon } from 'my-awesome-svgs'
*
* export const logoList = [
* { logo: Stripe, initialWidth: 108 },
* { logo: 'https://placeimg.com/640/480/nature', initialWidth: 85 },
* { logo: AirBnbIcon, initialWidth: 52 },
* { logo: Amazon, initialWidth: 136 },
* { logo: 'https://placeimg.com/640/480/nature', initialWidth: 75 },
* ]
*
*
*/
logos?: LogoItem[];
/**
* Specify the alignment of the logos on Mobile only
* @type 'center' | 'left'
* @defaultValue 'left'
* @example mobileAlign="left"
*/
mobileAlign?: 'center' | 'left';
/**
* Specify the breakpoint px value at which to switch from mobile to desktop layouts
* @type number
* @defaultValue 767
* @example mobileBreakpoint={600}
*/
mobileBreakpoint?: number;
/**
* Change the scale of the padding on Mobile between the logos
* @type number
* @defaultValue 1
* @example
* mobilePaddingScale={1.2}
* mobilePaddingScale={0.8}
*/
mobilePaddingScale?: number;
/**
* Change the scale of the padding on Mobile between the logos
* @desc Will scale the logos proportionally down on mobile. You can guage this with your eye. 0 to 2 usually with do it, since this is a percentage value. so 1.1 would be 110% of the original.
* @type number
* @defaultValue 1
* @example
* mobileScale={1.2}
* mobileScale={0.8}
*/
mobileScale?: number;
/**
* Specify the width of all logos as a group.
* @desc This is important. Similar to initialWidth on the logos, you should insert the initial parentWidth from the desktop design file you are following, without white space.
* @type number
* @defaultValue 1000
* @example
* parentWidth={900}
* parentWidth={976}
*/
parentWidth?: number;
/**
* Specify whether the logos should shift to the left or not.
* @desc This is make the left side flush with content above or below it. Helpful on left aligned layouts.
* @type boolean
* @defaultValue false
* @example withOffset={true}
*/
withOffset?: boolean;
}
export interface LogoGridNewProps {
centeredOffset?: string;
firstLogoOffset?: number;
flushLeft?: string;
initialLogoWrapperWidth?: number;
initialPxOffset?: number;
lastLogoOffset?: number;
numOfColumns?: number;
offset?: string;
singleRow?: boolean;
}
declare const LogoGrid: React.FunctionComponent & {
defaultProps: Partial;
};
export { LogoGrid };