import { ReactNode } from "react"; export type Image = { src: string; media?: string; type?: string; }; export interface BannerFrameProps { /** * Tipo visual do banner. * * Determina o tamanho do banner, aspect ratio e tamanhos mínimos e máximos. */ type: "rd-desktop-category" | "rd-desktop-busca-top-superbanner" | "rd-desktop-home" | "rd-desktop-home-institucional" | "rd-desktop-mini-banner" | "rd-desktop-menu" | "rd-mobile-busca-superbanner" | "rd-mobile-home" | "iab-standard-web-billboard" | "iab-standard-web-large-leaderboard" | "iab-standard-web-leaderboard" | "iab-standard-web-banner" | "iab-standard-web-half-banner" | "iab-standard-web-large-rectangle" | "iab-standard-web-medium-rectangle" | "iab-standard-web-square" | "iab-standard-web-small-square" | "iab-standard-web-small-rectangle" | "iab-standard-web-button" | "iab-standard-web-portrait" | "iab-standard-web-half-page" | "iab-standard-web-wide-skyscraper" | "iab-standard-web-vertical-banner" | "iab-standard-mobile-large-banner" | "iab-standard-mobile-leaderboard" | "iab-standard-mobile-full-page-flex" | "iab-standard-mobile-square" | "iab-standard-mobile-smallsquare" | "iab-flexible-portrait-2:3" | "iab-flexible-portrait-3:4-x-large" | "iab-flexible-portrait-9:16-x-large" | "iab-flexible-portrait-10:16-x-large" | "iab-flexible-landscape-3:2-x-large" | "iab-flexible-landscape-4x3-x-large" | "iab-flexible-landscape-16x9-x-large" | "iab-flexible-landscape-16x10-x-large" | "iab-flexible-horizontal-2:1-half-page-x-large" | "iab-flexible-horizontal-2:1-half-page-small" | "iab-flexible-horizontal-4:1-billboard-x-large" | "iab-flexible-horizontal-6:1-smartphone-banner-x-small" | "iab-flexible-horizontal-8:1-leaderboard-medium" | "iab-flexible-horizontal-10:1-superleaderboard-pushdown-large" | "iab-flexible-vertical-1:2-300x600-large" | "iab-flexible-vertical-1:3-portrait-x-large" | "iab-flexible-vertical-1:4-skyscraper" | "iab-flexible-tiles-1:1-medium-rectangle-medium" | "iab-flexible-tiles-2:1-financial-x-small" | "iab-flexible-tiles-9:16-na-large"; /** * Define uma descrição alternativa para a imagem. */ alt: string; /** * Essa Prop inclui um atributo data-qa com o valor configurado no container. */ dataQA?: string | null; /** * Essa Prop inclui um atributo data-collect com o valor configurado no container. */ dataCollect?: string | null; /** * Essa Prop inclui um atributo data-collect-info com o valor configurado no container. */ dataCollectInfo?: string | null; /** * Essa Prop inclui um atributo data-testid com o valor configurado no container. */ dataTestId?: string | null; /** * Aceita qualquer tipo de conteúdo, composto por componentes e/ou código HTML. */ children: ReactNode; } /** * O Pulso possui dois componentes para implementação de banner: o Banner e o BannerFrame. Para implementações em que a API entrega o banner já montado, contendo imagem(s) e link, ou um iframe, utilize o BannerFrame, que simplesmente reserva um espaço na tela. Para implementações em que a API entrega o conteúdo do banner, para que montemos sua exibição na página, utilize o Banner, pois ele monta a exibição baseado no recebimento de imagem, link e texto alternativo, utilizando boas práticas de SEO, performance e design. * * Para utlizar esse componente, deve-se importar: * * ``` * import BannerFrame from "@raiadrogasil/pulso-react-components/BannerFrame"; * ``` * * ou * * * *
* * Obs: O método com chaves importa o código de todos os componentes, mesmo os que não estão listados entre as chave. Portanto, por questão de performance, é desaconselhado seu uso. * *
* ``` * import {BannerFrame} from "@raiadrogasil/pulso-react-components/"; * ``` */ declare function BannerFrame({ type, alt, dataQA, dataCollect, dataCollectInfo, dataTestId, children, }: BannerFrameProps): JSX.Element; export default BannerFrame;