@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 3.16 kB
Source Map (JSON)
{"version":3,"file":"LangSelect.mjs","names":["Flexbox"],"sources":["../../src/Highlighter/LangSelect.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useMemo } from 'react';\nimport { bundledLanguagesInfo } from 'shiki';\n\nimport Select, { type SelectProps } from '@/base-ui/Select';\nimport { Flexbox } from '@/Flex';\nimport MaterialFileTypeIcon from '@/MaterialFileTypeIcon';\nimport Text from '@/Text';\nimport { stopPropagation } from '@/utils/dom';\n\nexport const LangSelect = memo<Omit<SelectProps<string>, 'options'>>(({ style, ...rest }) => {\n const options = useMemo(\n () => [\n {\n label: (\n <Flexbox horizontal align={'center'} gap={4}>\n <MaterialFileTypeIcon\n fallbackUnknownType={false}\n filename={`*.txt`}\n size={18}\n type={'file'}\n variant={'raw'}\n />\n <Text ellipsis fontSize={13}>\n Plaintext\n </Text>\n </Flexbox>\n ),\n title: 'Plaintext,plaintext,*.text,*.txt',\n value: 'plaintext',\n },\n ...bundledLanguagesInfo.map((item) => ({\n label: (\n <Flexbox horizontal align={'center'} gap={4}>\n <MaterialFileTypeIcon\n fallbackUnknownType={false}\n filename={`*.${item?.aliases?.[0] || item.id}`}\n size={18}\n type={'file'}\n variant={'raw'}\n />\n <Text ellipsis fontSize={13}>\n {item.name}\n </Text>\n </Flexbox>\n ),\n title: [item.name, item.id, ...(item.aliases || []).map((alias) => `*.${alias}`)].join(','),\n value: item.id,\n })),\n ],\n [],\n );\n\n return (\n <div style={{ maxWidth: 240, width: '100%' }} onClick={stopPropagation}>\n <Select\n showSearch\n virtual\n className={'language-title'}\n options={options}\n size={'small'}\n style={{ width: '100%', ...style }}\n suffixIcon={null}\n variant={'borderless'}\n {...rest}\n />\n </div>\n );\n});\n\nexport default LangSelect;\n"],"mappings":";;;;;;;;;;AAWA,MAAa,aAAa,MAA4C,EAAE,OAAO,GAAG,WAAW;CAC3F,MAAM,UAAU,cACR,CACJ;EACE,OACE,qBAACA,mBAAD;GAAS,YAAA;GAAW,OAAO;GAAU,KAAK;GAA1C,UAAA,CACE,oBAAC,sBAAD;IACE,qBAAqB;IACrB,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;GACV,CAAA,GACD,oBAAC,MAAD;IAAM,UAAA;IAAS,UAAU;IAAI,UAAA;GAEvB,CAAA,CACC;;EAEX,OAAO;EACP,OAAO;CACT,GACA,GAAG,qBAAqB,KAAK,UAAU;EACrC,OACE,qBAACA,mBAAD;GAAS,YAAA;GAAW,OAAO;GAAU,KAAK;GAA1C,UAAA,CACE,oBAAC,sBAAD;IACE,qBAAqB;IACrB,UAAU,KAAK,MAAM,UAAU,MAAM,KAAK;IAC1C,MAAM;IACN,MAAM;IACN,SAAS;GACV,CAAA,GACD,oBAAC,MAAD;IAAM,UAAA;IAAS,UAAU;IACtB,UAAA,KAAK;GACF,CAAA,CACC;;EAEX,OAAO;GAAC,KAAK;GAAM,KAAK;GAAI,IAAI,KAAK,WAAW,CAAC,EAAA,CAAG,KAAK,UAAU,KAAK,OAAO;EAAC,CAAC,CAAC,KAAK,GAAG;EAC1F,OAAO,KAAK;CACd,EAAE,CACJ,GACA,CAAC,CACH;CAEA,OACE,oBAAC,OAAD;EAAK,OAAO;GAAE,UAAU;GAAK,OAAO;EAAO;EAAG,SAAS;EACrD,UAAA,oBAAC,QAAD;GACE,YAAA;GACA,SAAA;GACA,WAAW;GACF;GACT,MAAM;GACN,OAAO;IAAE,OAAO;IAAQ,GAAG;GAAM;GACjC,YAAY;GACZ,SAAS;GACT,GAAI;EACL,CAAA;CACE,CAAA;AAET,CAAC"}