UNPKG

@undp/design-system-react

Version:

React based design system for UNDP

1 lines 4.76 kB
{"version":3,"file":"PageHeader.cjs","names":[],"sources":["../src/components/ui/page-header.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst PageHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n backgroundImage?: string;\n minHeight?: boolean | string;\n contentMode?: 'light' | 'dark';\n variant?: 'primary' | 'secondary';\n }\n>(\n (\n {\n className,\n style,\n backgroundImage,\n variant,\n minHeight = true,\n contentMode = 'dark',\n children,\n ...props\n },\n ref,\n ) => {\n if (variant === 'secondary') {\n return (\n <div className='@container w-full'>\n <div\n ref={ref}\n className={cn(\n 'relative isolate flex w-full @2xl:flex-row flex-col @2xl:items-stretch',\n contentMode === 'dark' ? 'text-content-reverse' : 'text-content-primary',\n minHeight\n ? minHeight === true\n ? '@2xl:min-h-160.5 @5xl:min-h-186.5 min-h-auto'\n : minHeight\n : '',\n className,\n )}\n style={style}\n {...props}\n >\n <div\n className='absolute inset-0 @2xl:hidden bg-center bg-cover'\n style={{\n backgroundImage: backgroundImage ? `url(${backgroundImage})` : 'none',\n }}\n />\n <div className='relative flex @2xl:w-1/2 w-full flex-col gap-4 py-20 @2xl:pl-[8.3333%] pl-4 @2xl:rtl:pr-0 rtl:pr-4 rtl:pl-0'>\n {children}\n </div>\n <div\n className='@2xl:block hidden @2xl:w-1/2 bg-center bg-cover'\n style={{\n backgroundImage: backgroundImage ? `url(${backgroundImage})` : 'none',\n }}\n />\n </div>\n </div>\n );\n }\n return (\n <div className='@container w-full'>\n <div\n ref={ref}\n className={cn(\n `${contentMode} flex w-full flex-col gap-4 bg-center bg-cover py-20 @2xl:pl-[8.3333%] pl-4 @2xl:rtl:pr-[8.3333%] rtl:pr-4 @2xl:rtl:pl-0 rtl:pl-0`,\n minHeight\n ? minHeight === true\n ? '@2xl:min-h-160.5 @5xl:min-h-186.5 min-h-auto'\n : minHeight\n : '',\n contentMode === 'dark' ? 'text-content-reverse' : 'text-content-primary',\n className,\n )}\n style={{\n ...style,\n backgroundImage: backgroundImage ? `url(${backgroundImage})` : 'none',\n }}\n {...props}\n >\n {children}\n </div>\n </div>\n );\n },\n);\nPageHeader.displayName = 'PageHeader';\n\nconst PageHeaderHead = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('@2xl:px-4 px-4 @2xl:py-4 py-0', className)} {...props} />\n ),\n);\nPageHeaderHead.displayName = 'PageHeaderHead';\n\nconst PageHeaderContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex @2xl:w-[66.667%] w-full grow flex-col justify-center gap-6 p-4',\n className,\n )}\n {...props}\n />\n ),\n);\n\nPageHeaderContent.displayName = 'PageHeaderContent';\n\nexport { PageHeader, PageHeaderContent, PageHeaderHead };\n"],"mappings":"6NAIA,IAAM,EAAa,EAAM,YAUrB,CACE,YACA,QACA,kBACA,UACA,YAAY,GACZ,cAAc,OACd,WACA,GAAG,GAEL,IAEI,IAAY,aAEZ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,8BACb,EAAA,EAAA,KAAA,CAAC,MAAD,CACO,MACL,UAAW,EAAA,EACT,yEACA,IAAgB,OAAS,uBAAyB,uBAClD,EACI,IAAc,GACZ,+CACA,EACF,GACJ,CACF,EACO,QACP,GAAI,WAbN,EAeE,EAAA,EAAA,IAAA,CAAC,MAAD,CACE,UAAU,kDACV,MAAO,CACL,gBAAiB,EAAkB,OAAO,EAAgB,GAAK,MACjE,CACD,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,8GACZ,UACE,CAAA,GACL,EAAA,EAAA,IAAA,CAAC,MAAD,CACE,UAAU,kDACV,MAAO,CACL,gBAAiB,EAAkB,OAAO,EAAgB,GAAK,MACjE,CACD,CAAA,CACE,GACF,CAAA,GAIP,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,8BACb,EAAA,EAAA,IAAA,CAAC,MAAD,CACO,MACL,UAAW,EAAA,EACT,GAAG,EAAY,mIACf,EACI,IAAc,GACZ,+CACA,EACF,GACJ,IAAgB,OAAS,uBAAyB,uBAClD,CACF,EACA,MAAO,CACL,GAAG,EACH,gBAAiB,EAAkB,OAAO,EAAgB,GAAK,MACjE,EACA,GAAI,EAEH,UACE,CAAA,CACF,CAAA,CAGX,EACA,EAAW,YAAc,aAEzB,IAAM,EAAiB,EAAM,YAC1B,CAAE,YAAW,GAAG,GAAS,KACxB,EAAA,EAAA,IAAA,CAAC,MAAD,CAAU,MAAK,UAAW,EAAA,EAAG,gCAAiC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAE1F,EACA,EAAe,YAAc,iBAE7B,IAAM,EAAoB,EAAM,YAC7B,CAAE,YAAW,GAAG,GAAS,KACxB,EAAA,EAAA,IAAA,CAAC,MAAD,CACO,MACL,UAAW,EAAA,EACT,sEACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,EAEA,EAAkB,YAAc"}