UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines 2.88 kB
{"version":3,"file":"SearchResultCard.mjs","names":["domain","displayTitle","A","Block","Text","Flexbox","Img"],"sources":["../../../../src/Markdown/components/SearchResultCards/SearchResultCard.tsx"],"sourcesContent":["'use client';\n\nimport { Ref, memo, useMemo } from 'react';\n\nimport A from '@/A';\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport Img from '@/Img';\nimport Text from '@/Text';\nimport { AProps } from '@/types';\n\nimport { styles } from './style';\n\nexport interface SearchResultCardProps extends AProps {\n alt?: string;\n ref?: Ref<HTMLAnchorElement>;\n title?: string;\n url: string;\n}\n\nconst SearchResultCard = memo<SearchResultCardProps>(({ ref, url, title, alt, ...rest }) => {\n const [displayTitle, domain, host] = useMemo(() => {\n try {\n const urlObj = new URL(url);\n const domain = urlObj.hostname.replace('www.', '');\n const hostForUrl = urlObj.host;\n\n let displayTitle = title;\n if (title === url) {\n displayTitle = hostForUrl + urlObj.pathname;\n }\n\n return [displayTitle, domain, hostForUrl];\n } catch {\n return [title, url, url];\n }\n }, [url, title]);\n\n return (\n <A href={url} ref={ref} rel=\"noreferrer\" target={'_blank'} {...rest}>\n <Block\n className={styles.container}\n clickable\n gap={2}\n justify={'space-between'}\n key={url}\n paddingBlock={6}\n paddingInline={8}\n variant={'outlined'}\n >\n <Text ellipsis={{ rows: 2 }}>{displayTitle}</Text>\n <Flexbox align={'center'} gap={4} horizontal>\n <Img\n alt={alt || title || url}\n height={14}\n src={`https://icons.duckduckgo.com/ip3/${host}.ico`}\n width={14}\n />\n <Text className={styles.url} ellipsis type={'secondary'}>\n {domain}\n </Text>\n </Flexbox>\n </Block>\n </A>\n );\n});\n\nSearchResultCard.displayName = 'SearchResultCard';\n\nexport default SearchResultCard;\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,mBAAmB,MAA6B,EAAE,KAAK,KAAK,OAAO,KAAK,GAAG,WAAW;CAC1F,MAAM,CAAC,cAAc,QAAQ,QAAQ,cAAc;AACjD,MAAI;GACF,MAAM,SAAS,IAAI,IAAI,IAAI;GAC3B,MAAMA,WAAS,OAAO,SAAS,QAAQ,QAAQ,GAAG;GAClD,MAAM,aAAa,OAAO;GAE1B,IAAIC,iBAAe;AACnB,OAAI,UAAU,IACZ,kBAAe,aAAa,OAAO;AAGrC,UAAO;IAACA;IAAcD;IAAQ;IAAW;UACnC;AACN,UAAO;IAAC;IAAO;IAAK;IAAI;;IAEzB,CAAC,KAAK,MAAM,CAAC;AAEhB,QACE,oBAACE;EAAE,MAAM;EAAU;EAAK,KAAI;EAAa,QAAQ;EAAU,GAAI;YAC7D,qBAACC;GACC,WAAW,OAAO;GAClB;GACA,KAAK;GACL,SAAS;GAET,cAAc;GACd,eAAe;GACf,SAAS;cAET,oBAACC;IAAK,UAAU,EAAE,MAAM,GAAG;cAAG;KAAoB,EAClD,qBAACC;IAAQ,OAAO;IAAU,KAAK;IAAG;eAChC,oBAACC;KACC,KAAK,OAAO,SAAS;KACrB,QAAQ;KACR,KAAK,oCAAoC,KAAK;KAC9C,OAAO;MACP,EACF,oBAACF;KAAK,WAAW,OAAO;KAAK;KAAS,MAAM;eACzC;MACI;KACC;KAhBL,IAiBC;GACN;EAEN;AAEF,iBAAiB,cAAc;AAE/B,+BAAe"}