mirror of
https://github.com/hanzoai/icons.git
synced 2026-09-24 16:59:52 +00:00
✨ feat: add and update logos for various model providers
This commit adds model associates for the following model providers: - Relace - Arcee - Essential AI - Deep Cogito - inception - Morph - Ai2/allenai
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 206 205"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M82 80H41V41h33c4.4 0 8-3.6 8-8V0h39v41c0 21.6-17.5 39-39 39m-41 4H0v39h33c4.4 0 8 3.6 8 8v33h39v-41c0-21.6-17.5-39-39-39m131.1-2c-4.4 0-8-3.6-8-8V41h-39v41c0 21.6 17.5 39 39 39h41V82zM84 164v41h39v-33c0-4.4 3.6-8 8-8h33v-39h-41c-21.6 0-39 17.5-39 39"
|
||||
fill="#f0529c"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,30 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export interface CombineProps extends Omit<IconCombineProps, 'Icon' | 'Text'> {
|
||||
type?: 'color' | 'mono';
|
||||
}
|
||||
const Combine = memo<CombineProps>(({ type = 'mono', ...rest }) => {
|
||||
const Icon = type === 'color' ? Color : Mono;
|
||||
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Icon}
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 206 205"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M82 80H41V41h33c4.4 0 8-3.6 8-8V0h39v41c0 21.6-17.5 39-39 39m-41 4H0v39h33c4.4 0 8 3.6 8 8v33h39v-41c0-21.6-17.5-39-39-39m131.1-2c-4.4 0-8-3.6-8-8V41h-39v41c0 21.6 17.5 39 39 39h41V82zM84 164v41h39v-33c0-4.4 3.6-8 8-8h33v-39h-41c-21.6 0-39 17.5-39 39"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,27 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 444 211"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M248.4 33.3h-38.9V5.5h38.9zm-30.3 23.1h-23.4v29.2h20.4c3.4 0 6.2 2.8 6.2 6.2v118.9h30.8V89.6c0-21.5-13.9-33.2-33.9-33.2zM124 5.5l76.2 205.1h-32.4l-20.2-54.5H52.3l-20.2 54.5H0L76.2 5.5zm14.1 125.1L100 28 61.9 130.6zm186.7 54.5 62.6-49.4c36.4-28.7 52.4-48.7 52.4-76.2S421.6 0 366.7 0s-88.2 44.6-88.2 85.6h33.3c0-37 16.4-59.4 54.9-59.4s39.8 16.5 39.8 33.6-4.6 25.9-22.5 40.4L279.1 185v25.6h164.4V185H324.7z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Ai2
|
||||
atomId: Ai2
|
||||
description: https://allenai.org/
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { Ai2 } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Ai2 size={64} />
|
||||
<Ai2.Color size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { Ai2 } from '@lobehub/icons';
|
||||
|
||||
export default () => <Ai2.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { Ai2 } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<Ai2.Combine size={64} />
|
||||
<Ai2.Combine size={64} type={'color'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { Ai2 } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Ai2.Avatar size={64} />
|
||||
<Ai2.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { Ai2 } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={Ai2.colorPrimary} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,25 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Color from './components/Color';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Color: typeof Color;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorGradient: string;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Color = Color;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Ai2';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.9;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.25;
|
||||
export const COLOR_PRIMARY = '#f0529c';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.7;
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,28 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 37 32"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M20.406 3.665L4.241 31.593H0L18.288 0L20.406 3.665ZM25.884 13.155L11.075 31.592H6.367L23.913 9.745L25.884 13.155ZM36.535 31.592H21.661L34.619 28.277L36.535 31.592ZM31.263 22.464L19.17 31.59H13.076L29.413 19.262L31.263 22.464Z"
|
||||
fill="#008C8C"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,30 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export interface CombineProps extends Omit<IconCombineProps, 'Icon' | 'Text'> {
|
||||
type?: 'color' | 'mono';
|
||||
}
|
||||
const Combine = memo<CombineProps>(({ type = 'mono', ...rest }) => {
|
||||
const Icon = type === 'color' ? Color : Mono;
|
||||
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Icon}
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 37 32"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M20.406 3.665L4.241 31.593H0L18.288 0L20.406 3.665ZM25.884 13.155L11.075 31.592H6.367L23.913 9.745L25.884 13.155ZM36.535 31.592H21.661L34.619 28.277L36.535 31.592ZM31.263 22.464L19.17 31.59H13.076L29.413 19.262L31.263 22.464Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,50 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 113 32"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M68.882 12.374C68.882 9.018 65.919 7.275 61.649 7.275C54.765 7.275 50.365 12.763 50.365 20.038C50.365 26.873 54.675 31.232 60.515 31.232C64.957 31.232 68.181 28.877 69.533 24.129L68.793 23.695C67.352 25.827 65.436 26.918 62.691 26.918L62.696 26.923C58.294 26.923 55.682 23.221 55.682 17.516C55.682 12.68 57.597 8.933 60.909 8.933C63.347 8.933 64.088 10.848 64.088 13.158C64.088 13.937 64.005 14.594 63.916 15.29H67.227C68.141 14.855 68.882 13.765 68.882 12.374Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
<path
|
||||
d="M47.139 7.278C44.567 7.278 43.263 8.977 41.17 13.724L41.343 7.28H40.341L32.542 9.674V10.503L35.158 12.027V27.447C35.158 28.972 34.462 29.229 32.414 29.362V30.795H44.873V29.36C42.173 29.143 41.17 28.881 41.17 27.094L41.166 27.099V15.077C43.387 12.856 45.524 12.722 48.224 12.722H49.054V8.019C48.709 7.585 48.051 7.278 47.139 7.278Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M28.71 27.656C29.188 28.831 30.102 29.093 31.281 29.271V30.795H17.949V29.272C20.521 29.183 21.606 28.749 21.606 27.357C21.6067 26.877 21.4767 26.311 21.216 25.659L19.213 20.738V20.732H7.494L5.623 25.609C5.363 26.261 5.233 26.8267 5.233 27.306C5.233 28.698 6.325 29.177 8.98 29.266V30.791H0V29.266C1.22 29.093 2.094 28.832 2.573 27.652L12.07 3.266L10.718 0H17.515L28.71 27.656ZM18.473 18.857H8.19L13.245 5.745L18.473 18.857Z"
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M81.725 7.265C87.692 7.265 90.61 11.139 90.61 16.371L90.615 16.376V17.378H76.414C76.241 23.478 79.376 27.09 83.645 27.09C86.607 27.09 88.566 25.826 90.136 23.561L90.832 23.951C89.702 28.265 86.518 31.226 81.508 31.226C75.19 31.226 70.964 26.567 70.964 19.855C70.964 12.408 75.757 7.265 81.725 7.265ZM76.503 15.767C76.853 11.76 78.467 8.883 81.295 8.882C84.123 8.882 85.215 11.671 85.215 15.767H76.503Z"
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M103.291 7.265C109.258 7.265 112.175 11.139 112.175 16.371L112.182 16.376V17.378H97.979C97.807 23.478 100.941 27.09 105.211 27.09C108.173 27.09 110.133 25.826 111.701 23.561L112.397 23.951C111.266 28.265 108.083 31.226 103.073 31.226C96.755 31.226 92.529 26.566 92.529 19.855C92.529 12.408 97.323 7.265 103.291 7.265ZM98.068 15.767C98.419 11.76 100.033 8.882 102.861 8.882C105.69 8.882 106.78 11.671 106.78 15.767H98.068Z"
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Arcee
|
||||
atomId: Arcee
|
||||
description: https://www.arcee.ai/
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { Arcee } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Arcee size={64} />
|
||||
<Arcee.Color size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { Arcee } from '@lobehub/icons';
|
||||
|
||||
export default () => <Arcee.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { Arcee } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<Arcee.Combine size={64} />
|
||||
<Arcee.Combine size={64} type={'color'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { Arcee } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Arcee.Avatar size={64} />
|
||||
<Arcee.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { Arcee } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={Arcee.colorPrimary} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,25 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Color from './components/Color';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Color: typeof Color;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorGradient: string;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Color = Color;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Arcee';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.95;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.25;
|
||||
export const COLOR_PRIMARY = '#008C8C';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.7;
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 140 140"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="m115.145 126.103 24.577-61.447q.118-.286.16-.583c.009-.058.011-.114.016-.172q.017-.194.003-.385a2 2 0 0 0-.02-.203 3 3 0 0 0-.094-.388c-.017-.05-.028-.102-.046-.153a2.6 2.6 0 0 0-.263-.496l-.015-.027L96.415.754c-.015-.02-.004-.039-.02-.06l.022-.004v1.015h-.055C95.765.224 94.742.04 93.766.259c0 .006-.005-.018-.01-.018-.004.006-.015-.017-.015-.017h-.035C93.7.224 93.7 0 93.696 0L26.05 18.335c-.037.01-.068-.028-.105-.016-.13.041-.255.06-.375.123-.08.04-.151.078-.225.125-.076.05-.15.09-.218.147a2.7 2.7 0 0 0-.385.393q-.067.083-.126.173a2.5 2.5 0 0 0-.178.33c-.016.034-.04.062-.053.098L.004 81.195c-.03.075.131.154.131.23v.866c0 .11-.003.222.018.33.005.006-.018.006-.018.009v.035c0 .283-.068.559.09.808a.2.2 0 0 0-.045.006c0 .005-.045.005-.045.005v.004l-.066.005c.044.07.053.134.1.197l43.03 55.338.002.015c.003.003 0 .006.003.012q.015.017.031.031c.036.043.077.076.116.116q.058.065.121.121c.045.04.082.092.128.13.038.03.084.049.124.079q.09.06.182.113.011.008.024.014c.129.076.26.134.398.183.063.02.122.045.186.063.03.009.06.027.091.031.183.04.37.064.556.064.146 0 .3-.018.45-.04l67.647-12.299c.085-.015.16-.031.242-.055.02-.007.043.005.062.005h.006c.031 0 .058-.04.089-.052.06-.021.118-.05.177-.077q.05-.021.095-.044a.3.3 0 0 1 .049-.026c.021-.011.034-.031.055-.041.207-.116.398-.258.563-.422.021-.024.035-.051.056-.071q.245-.266.402-.59c.008-.015.023-.027.031-.043l.016-.038.007-.015zm-4.492-5.216-42.67-26.674 48.004-37.33zM65.039 90.149 48.814 30.65l64.905 21.638zm56.067-34.316 13.221 8.816-17.629 44.067zm6.606-1.624-6.811-4.541-9.078-18.156zm-13.704-7.111L51.693 26.326 93.238 5.555zM44.97 24.082l-9.606-3.202 35.226-9.61zm-16.81-.314 12.843 4.282-29.97 38.53zm15.897 8.523 16.064 58.89-53.54-10.706zm16.027 64.002-15.557 36.299-36.301-46.67zm4.68 1.826 41.217 25.764-56.677 10.308z"
|
||||
fill="#4e81ee"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,30 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export interface CombineProps extends Omit<IconCombineProps, 'Icon' | 'Text'> {
|
||||
type?: 'color' | 'mono';
|
||||
}
|
||||
const Combine = memo<CombineProps>(({ type = 'mono', ...rest }) => {
|
||||
const Icon = type === 'color' ? Color : Mono;
|
||||
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Icon}
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 140 140"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="m115.145 126.103 24.577-61.447q.118-.286.16-.583c.009-.058.011-.114.016-.172q.017-.194.003-.385a2 2 0 0 0-.02-.203 3 3 0 0 0-.094-.388c-.017-.05-.028-.102-.046-.153a2.6 2.6 0 0 0-.263-.496l-.015-.027L96.415.754c-.015-.02-.004-.039-.02-.06l.022-.004v1.015h-.055C95.765.224 94.742.04 93.766.259c0 .006-.005-.018-.01-.018-.004.006-.015-.017-.015-.017h-.035C93.7.224 93.7 0 93.696 0L26.05 18.335c-.037.01-.068-.028-.105-.016-.13.041-.255.06-.375.123-.08.04-.151.078-.225.125-.076.05-.15.09-.218.147a2.7 2.7 0 0 0-.385.393q-.067.083-.126.173a2.5 2.5 0 0 0-.178.33c-.016.034-.04.062-.053.098L.004 81.195c-.03.075.131.154.131.23v.866c0 .11-.003.222.018.33.005.006-.018.006-.018.009v.035c0 .283-.068.559.09.808a.2.2 0 0 0-.045.006c0 .005-.045.005-.045.005v.004l-.066.005c.044.07.053.134.1.197l43.03 55.338.002.015c.003.003 0 .006.003.012q.015.017.031.031c.036.043.077.076.116.116q.058.065.121.121c.045.04.082.092.128.13.038.03.084.049.124.079q.09.06.182.113.011.008.024.014c.129.076.26.134.398.183.063.02.122.045.186.063.03.009.06.027.091.031.183.04.37.064.556.064.146 0 .3-.018.45-.04l67.647-12.299c.085-.015.16-.031.242-.055.02-.007.043.005.062.005h.006c.031 0 .058-.04.089-.052.06-.021.118-.05.177-.077q.05-.021.095-.044a.3.3 0 0 1 .049-.026c.021-.011.034-.031.055-.041.207-.116.398-.258.563-.422.021-.024.035-.051.056-.071q.245-.266.402-.59c.008-.015.023-.027.031-.043l.016-.038.007-.015zm-4.492-5.216-42.67-26.674 48.004-37.33zM65.039 90.149 48.814 30.65l64.905 21.638zm56.067-34.316 13.221 8.816-17.629 44.067zm6.606-1.624-6.811-4.541-9.078-18.156zm-13.704-7.111L51.693 26.326 93.238 5.555zM44.97 24.082l-9.606-3.202 35.226-9.61zm-16.81-.314 12.843 4.282-29.97 38.53zm15.897 8.523 16.064 58.89-53.54-10.706zm16.027 64.002-15.557 36.299-36.301-46.67zm4.68 1.826 41.217 25.764-56.677 10.308z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,28 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="currentColor"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 237 42"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M48.132 20.707H29.694v-2.94h14.742q-.042-.882-.399-1.911t-1.134-1.932-1.974-1.47-2.961-.567q-2.1 0-3.633 1.071t-2.352 2.919-.819 4.2q0 2.73 1.05 4.536t2.709 2.688 3.465.882q2.352 0 3.885-1.113t2.457-2.751l3.024 1.47q-1.26 2.436-3.612 4.032t-5.88 1.596q-3.108 0-5.523-1.47t-3.78-4.032-1.365-5.838q0-3.066 1.281-5.67t3.612-4.179 5.481-1.575q3.192 0 5.481 1.407t3.528 3.885 1.239 5.67q0 .294-.021.588t-.063.504Zm23.562 0H53.256v-2.94h14.742q-.042-.882-.399-1.911t-1.134-1.932-1.974-1.47-2.961-.567q-2.1 0-3.633 1.071t-2.352 2.919-.819 4.2q0 2.73 1.05 4.536t2.709 2.688 3.465.882q2.352 0 3.885-1.113t2.457-2.751l3.024 1.47q-1.26 2.436-3.612 4.032t-5.88 1.596q-3.108 0-5.523-1.47t-3.78-4.032-1.365-5.838q0-3.066 1.281-5.67t3.612-4.179 5.481-1.575q3.192 0 5.481 1.407t3.528 3.885 1.239 5.67q0 .294-.021.588t-.063.504Zm64.932-15.792-2.562 2.478q-1.134-1.386-2.415-2.268t-2.772-1.302-3.255-.42q-3.234 0-5.964 1.512t-4.368 4.263-1.638 6.531q0 3.738 1.638 6.51t4.368 4.284 5.964 1.512q2.94 0 5.229-1.218t4.053-3.276l2.604 2.52q-1.302 1.554-3.129 2.772t-4.032 1.911-4.725.693q-3.318 0-6.153-1.197t-4.956-3.318-3.297-4.998-1.176-6.195q0-3.36 1.176-6.216t3.297-4.977 4.956-3.318 6.153-1.197q2.31 0 4.305.588t3.675 1.68 3.024 2.646Zm29.904 29.568 3.276-1.386q.672 1.764 2.289 2.961t3.969 1.197q3.36 0 5.166-1.953t1.806-5.439v-2.394h-.168q-1.008 1.554-2.898 2.625t-4.41 1.071q-2.772 0-5.061-1.428t-3.633-3.969-1.344-5.859 1.344-5.859 3.633-3.969 5.061-1.428q2.52 0 4.41 1.071t2.898 2.667h.168V9.325h3.402v20.58q0 3.57-1.365 5.922t-3.696 3.507-5.313 1.155q-2.73 0-4.683-.903t-3.15-2.289-1.701-2.814Zm9.534-6.552q1.89 0 3.486-.945t2.541-2.751.945-4.326q0-2.604-.945-4.389t-2.541-2.709-3.486-.924-3.486.945-2.562 2.73-.966 4.347.966 4.347 2.562 2.73 3.486.945ZM79.422 39.817h-3.57V9.325h3.402v3.192h.168q.588-1.008 1.659-1.89t2.499-1.428 3.15-.546q2.94 0 5.25 1.47t3.654 4.032 1.344 5.88-1.344 5.88-3.654 4.032-5.25 1.47q-2.562 0-4.494-1.176t-2.814-2.646h-.168l.168 2.94zm6.93-11.634q1.848 0 3.465-.987t2.604-2.835.987-4.326q0-2.52-.987-4.347t-2.604-2.814-3.465-.987-3.465.987-2.625 2.814-1.008 4.347 1.008 4.347 2.625 2.814 3.465.987Zm-77.28 2.562H0V.673h9.072q4.704 0 8.106 1.911t5.25 5.313 1.848 7.812a16 16 0 0 1-1.848 7.791q-1.848 3.381-5.25 5.313t-8.106 1.932ZM3.57 4.075v23.268h5.502q3.528 0 6.132-1.365t4.032-3.969 1.428-6.3-1.428-6.3-4.032-3.969-6.132-1.365zm148.008 27.342q-3.234 0-5.712-1.512t-3.885-4.095-1.407-5.775 1.407-5.775 3.885-4.095 5.712-1.512 5.712 1.533 3.885 4.116 1.407 5.733q0 3.192-1.407 5.775t-3.885 4.095-5.712 1.512Zm0-3.234q1.932 0 3.633-.966t2.751-2.793 1.05-4.389-1.05-4.389-2.751-2.793-3.633-.966-3.654.966-2.772 2.793-1.05 4.389 1.05 4.389 2.772 2.793 3.654.966Zm74.004 3.234q-3.234 0-5.712-1.512t-3.885-4.095-1.407-5.775 1.407-5.775 3.885-4.095 5.712-1.512 5.712 1.533 3.885 4.116 1.407 5.733q0 3.192-1.407 5.775t-3.885 4.095-5.712 1.512Zm0-3.234q1.932 0 3.633-.966t2.751-2.793 1.05-4.389-1.05-4.389-2.751-2.793-3.633-.966-3.654.966-2.772 2.793-1.05 4.389 1.05 4.389 2.772 2.793 3.654.966Zm-22.932-3.066V3.277h3.57v20.958q0 1.806.735 2.667t2.205.861q.672 0 1.26-.189t1.134-.525v3.486q-.672.252-1.386.399t-1.554.147q-2.688 0-4.326-1.617t-1.638-4.347Zm-7.434 5.628h-3.57V9.325h3.57zm16.254-18.186h-5.46V9.325h5.46zm-18.06-7.182q-1.05 0-1.806-.756t-.756-1.806q0-1.092.756-1.827t1.806-.735q1.092 0 1.827.735t.735 1.827q0 1.05-.735 1.806t-1.827.756Zm9.45 7.182h-3.99V9.325h3.99z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Deep Cogito
|
||||
atomId: Deep Cogito
|
||||
description: https://www.deepcogito.com/
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { DeepCogito } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<DeepCogito size={64} />
|
||||
<DeepCogito.Color size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { DeepCogito } from '@lobehub/icons';
|
||||
|
||||
export default () => <DeepCogito.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { DeepCogito } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<DeepCogito.Combine size={64} />
|
||||
<DeepCogito.Combine size={64} type={'color'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { DeepCogito } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<DeepCogito.Avatar size={64} />
|
||||
<DeepCogito.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { DeepCogito } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={DeepCogito.colorPrimary} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,25 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Color from './components/Color';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Color: typeof Color;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorGradient: string;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Color = Color;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Deep Cogito';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.9;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.25;
|
||||
export const COLOR_PRIMARY = '#4e81ee';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.7;
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,42 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 26 23"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M3.764 9.41a9.41 9.41 0 1 0 18.82 0h3.765A13.175 13.175 0 0 1 0 9.41zm15.056 0a5.646 5.646 0 1 1-11.292 0zM13.174 0a9.41 9.41 0 0 1 9.41 9.41H18.82a5.646 5.646 0 1 0-11.292 0H3.764A9.41 9.41 0 0 1 13.174 0"
|
||||
fill="url(#a)"
|
||||
/>
|
||||
<defs>
|
||||
<radialGradient
|
||||
cx="0"
|
||||
cy="0"
|
||||
gradientTransform="rotate(50.66 8.108 -.572)scale(37.58 68.1138)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="a"
|
||||
r="1"
|
||||
>
|
||||
<stop stopColor="#6a46ac" />
|
||||
<stop offset=".63" stopColor="#31008c" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,30 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export interface CombineProps extends Omit<IconCombineProps, 'Icon' | 'Text'> {
|
||||
type?: 'color' | 'mono';
|
||||
}
|
||||
const Combine = memo<CombineProps>(({ type = 'mono', ...rest }) => {
|
||||
const Icon = type === 'color' ? Color : Mono;
|
||||
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Icon}
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 26 23"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M3.764 9.41a9.41 9.41 0 1 0 18.82 0h3.765A13.175 13.175 0 0 1 0 9.41zm15.056 0a5.646 5.646 0 1 1-11.292 0zM13.174 0a9.41 9.41 0 0 1 9.41 9.41H18.82a5.646 5.646 0 1 0-11.292 0H3.764A9.41 9.41 0 0 1 13.174 0"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 106 18"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M102.778 1.206h2.337v15.659h-2.337zm-.69 15.659h-2.506l-1.325-3.83h-6.311l-1.301 3.83h-2.529l5.661-15.659h2.674zm-7.01-13.033-2.458 7.227h4.963zM81.454 0h2.337v16.863h-2.337zm-1.528 13.3c0 1.493.145 2.77.41 3.565H77.95c-.17-.602-.265-1.325-.313-2.096-.844 1.445-2.361 2.36-4.144 2.36-2.337 0-4-1.517-4-3.66 0-2.024 1.278-3.253 3.542-3.398l3.277-.192c.939-.073 1.3-.386 1.3-1.109v-.048c0-1.3-1.204-2.336-2.722-2.336-1.758 0-2.698.77-2.866 2.264h-2.433c.168-2.505 2.24-4.12 5.299-4.12 2.939 0 5.035 1.856 5.035 4.433zm-8.046 0c0 1.132.94 1.854 2.385 1.854 1.903 0 3.349-1.421 3.349-3.348v-.386l-3.734.217c-1.325.097-2 .65-2 1.662M65.97.917h2.674v2.312H65.97zm.169 3.902h2.337v12.045h-2.337zm-1.249 9.998v2.047h-1.18c-1.807 0-3.252-.987-3.252-3.324V6.77h-2.12V4.82h2.12V1.687h2.312v3.131h2.12V6.77h-2.12v6.456c0 1.252.482 1.59 1.205 1.59zM55.56 9.71c0-2.12-1.132-3.036-2.915-3.036-1.71 0-3.035 1.205-3.035 2.891v7.3h-2.313V4.82h2.313v1.854c.891-1.397 2.41-2.168 3.83-2.168 2.578 0 4.457 1.663 4.457 4.722v7.637H55.56zm-20.853 1.084c0-3.83 2.217-6.215 5.734-6.215 3.396 0 5.83 2.554 5.83 6.095v.747h-9.13c.168 2.409 1.349 3.686 3.468 3.686 1.71 0 2.77-.82 3.036-2.144h2.481c-.506 2.698-2.385 4.095-5.54 4.095-3.614 0-5.879-2.41-5.879-6.264m5.758-4.36c-1.903 0-3.036 1.06-3.3 3.276h6.6c-.193-2-1.47-3.276-3.3-3.276M29.588 11.95l-2.048-.24c-2.577-.362-3.902-1.398-3.902-3.518 0-2.24 1.879-3.661 4.914-3.661 2.915 0 4.842 1.47 5.107 3.878h-2.288c-.265-1.397-1.133-2.072-2.819-2.072-1.566 0-2.578.675-2.578 1.71 0 1.013.675 1.422 1.976 1.59l2.12.242c2.65.337 3.878 1.47 3.878 3.734 0 2.12-1.927 3.493-4.842 3.493-3.252 0-5.3-1.494-5.589-3.83h2.433c.241 1.42 1.253 2.047 3.132 2.047 1.566 0 2.602-.626 2.602-1.638s-.699-1.566-2.096-1.735m-11.194 0-2.048-.24c-2.577-.362-3.902-1.398-3.902-3.518 0-2.24 1.879-3.661 4.914-3.661 2.915 0 4.842 1.47 5.107 3.878h-2.288c-.265-1.397-1.133-2.072-2.819-2.072-1.566 0-2.578.675-2.578 1.71 0 1.013.675 1.422 1.976 1.59l2.12.242c2.65.337 3.878 1.47 3.878 3.734 0 2.12-1.927 3.493-4.842 3.493-3.252 0-5.3-1.494-5.589-3.83h2.433c.241 1.42 1.253 2.047 3.132 2.047 1.566 0 2.602-.626 2.602-1.638s-.699-1.566-2.096-1.735M0 10.794C0 6.964 2.216 4.58 5.733 4.58c3.397 0 5.83 2.554 5.83 6.095v.747h-9.13c.169 2.409 1.35 3.686 3.469 3.686 1.71 0 2.77-.82 3.035-2.144h2.482c-.506 2.698-2.385 4.095-5.541 4.095-3.614 0-5.878-2.41-5.878-6.264m5.758-4.36c-1.904 0-3.036 1.06-3.3 3.276h6.6c-.193-2-1.47-3.276-3.3-3.276"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,74 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Essential AI
|
||||
atomId: Essential AI
|
||||
description: https://www.essential.ai
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { EssentialAI } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<EssentialAI size={64} />
|
||||
<EssentialAI.Color size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { EssentialAI } from '@lobehub/icons';
|
||||
|
||||
export default () => <EssentialAI.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { EssentialAI } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<EssentialAI.Combine size={64} />
|
||||
<EssentialAI.Combine size={64} type={'color'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { EssentialAI } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<EssentialAI.Avatar size={64} background={EssentialAI.colorPrimary} />
|
||||
<EssentialAI.Avatar size={64} />
|
||||
<EssentialAI.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { EssentialAI } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={EssentialAI.colorPrimary} />
|
||||
<ColorPreview color={EssentialAI.colorGradient} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,26 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Color from './components/Color';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_GRADIENT, COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Color: typeof Color;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorGradient: string;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Color = Color;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.colorGradient = COLOR_GRADIENT;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,10 @@
|
||||
export const TITLE = 'Essential AI';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.8;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.25;
|
||||
export const COLOR_PRIMARY = '#111322';
|
||||
export const COLOR_GRADIENT = 'linear-gradient(135deg, #5E38A5, #31018C 63%)';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_GRADIENT;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.7;
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,26 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export type CombineProps = Omit<IconCombineProps, 'Icon' | 'Text'>;
|
||||
|
||||
const Combine = memo<CombineProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Mono}
|
||||
Text={Text as any}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,28 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 28 28"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<g fill="currentColor">
|
||||
<path d="M17.055.372H8.527L-.002 8.9v8.528h8.529V8.9h8.528zM10.2 27.628h8.527l8.529-8.528v-8.528h-8.529V19.1H10.2z" />
|
||||
</g>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 334 78"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M28.4 36.5v22.35h-6.75V21.2h6.75v10.65a14.1 14.1 0 0 1 3.923-8.244q.315-.297.652-.568 3.6-2.888 8.7-2.888 12.675 0 12.675 15v23.7H47.6V36.425a18.5 18.5 0 0 0-1.166-7.103 7.95 7.95 0 0 0-8.059-5.047q-4.275 0-7.125 3a11.43 11.43 0 0 0-2.75 7.004q-.102 1.108-.1 2.221Zm278.475 0v22.35h-6.75V21.2h6.75v10.65a14.1 14.1 0 0 1 3.923-8.244q.315-.297.652-.568 3.6-2.888 8.7-2.888 12.675 0 12.675 15v23.7h-6.75V36.425a18.5 18.5 0 0 0-1.166-7.103 7.95 7.95 0 0 0-8.059-5.047q-4.275 0-7.125 3a11.43 11.43 0 0 0-2.75 7.004q-.102 1.108-.1 2.221Zm-207.45 8.025h2.025q-3.067 14.482-16.585 15.189-.707.036-1.415.036-8.625 0-13.912-5.55T64.25 40.1a19.66 19.66 0 0 1 4.21-12.957q.696-.841 1.49-1.593 5.7-5.4 13.95-5.4a21 21 0 0 1 9.305 1.861q.734.36 1.42.802a8.74 8.74 0 0 1 3.881 4.352 5 5 0 0 1 .244 1.535q0 1.575-.862 2.55-.863.975-2.213.975-3.075 0-4.275-3.75-.75-2.85-2.55-4.5a7.78 7.78 0 0 0-5.049-1.635q-.363-.015-.726-.015-5.175 0-8.587 3.9a15 15 0 0 0-3.36 9.179q-.054.847-.053 1.696a22.6 22.6 0 0 0 2.205 10.407 16 16 0 0 0 1.883 2.868q4.087 4.95 10.762 4.95a12.68 12.68 0 0 0 13.051-9.335q.25-.725.449-1.465ZM144.65 36.2H114.5v.9q0 8.325 4.125 13.275t10.8 4.95a12.954 12.954 0 0 0 13.422-9.239q.207-.588.378-1.186h2.025a19.6 19.6 0 0 1-4.939 9.907q-.626.635-1.323 1.193a18.46 18.46 0 0 1-11.423 3.742q-.345.008-.69.008-8.625 0-13.912-5.55t-5.288-14.1q0-9 5.663-14.475Q119 20.15 126.425 20.15q7.2 0 12.15 4.163a18.15 18.15 0 0 1 6.02 11.527zm-29.925-2.55h22.2a14.3 14.3 0 0 0-2.34-7.356 9 9 0 0 0-.997-1.156q-2.888-2.813-7.313-2.813-4.35 0-7.537 2.963t-4.013 8.362Zm46.95 43.8h-6.75V21.2h6.75v5.55q4.05-6.6 12.375-6.6 7.95 0 12.9 5.588 4.95 5.587 4.95 14.212t-4.95 14.213-12.9 5.587q-8.325 0-12.375-6.6zm0-49.8v24.6q3.675 4.2 9.45 4.2 6 0 9.675-4.65a18.5 18.5 0 0 0 3.675-11.794v-.056a18.6 18.6 0 0 0-3.561-11.704l-.114-.146q-3.675-4.65-9.675-4.65-5.85 0-9.45 4.2Zm42.825 23.1V24.875h-8.325V21.2h8.325v-8.7l6.75-3.075V21.2h14.1v3.675h-14.1v25.95a5.95 5.95 0 0 0 1.282 4.32q.138.137.293.255a7.9 7.9 0 0 0 4.638 1.197l.312.003q3.825 0 6.525-.675v2.4q-5.7 1.425-11.1 1.425a10.64 10.64 0 0 1-5.846-1.363 5.7 5.7 0 0 1-.754-.587 7.66 7.66 0 0 1-1.999-4.969 20 20 0 0 1-.101-2.081Zm79.575 3.45q-5.775 5.55-14.25 5.55t-14.25-5.55-5.775-14.25q0-8.775 5.775-14.287t14.25-5.513 14.25 5.513q5.775 5.512 5.775 14.287 0 8.7-5.775 14.25Zm-13.8 3q5.025 0 8.588-3.825a14.28 14.28 0 0 0 3.437-8.592q.128-1.325.125-2.658 0-7.725-3.675-13.612a11.45 11.45 0 0 0-7.309-5.681c-.68-.14-1.372-.209-2.066-.207q-5.025 0-8.587 3.863a14.43 14.43 0 0 0-3.438 8.628 27 27 0 0 0-.125 2.659q0 7.725 3.675 13.575a11.34 11.34 0 0 0 7.601 5.7q.88.151 1.774.15ZM8.45 58.85H1.7V21.2h6.75zm230.925 0h-6.75V21.2h6.75zM.5 5.075q0-1.8 1.388-3.187Q3.275.5 5.075.5 6.95.5 8.338 1.888t1.387 3.187q0 1.875-1.387 3.263T5.075 9.725q-1.8 0-3.187-1.387Q.5 6.95.5 5.075Zm230.925 0q0-1.8 1.388-3.187Q234.2.5 236 .5q1.875 0 3.263 1.388t1.387 3.187q0 1.875-1.387 3.263T236 9.725q-1.8 0-3.187-1.387-1.388-1.388-1.388-3.263Z"
|
||||
fill="currentColor"
|
||||
stroke="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Inception Labs
|
||||
atomId: Inception
|
||||
description: https://relace.ai
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { Inception } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => <Inception size={64} />;
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { Inception } from '@lobehub/icons';
|
||||
|
||||
export default () => <Inception.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { Inception } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<Inception.Combine size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { Inception } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Inception.Avatar size={64} />
|
||||
<Inception.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { Inception } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={Inception.colorPrimary} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Inception';
|
||||
export const COMBINE_TEXT_MULTIPLE = 1;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.2;
|
||||
export const COLOR_PRIMARY = '#fff';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#000';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.75;
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 48 48"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M16.559 6a2 2 0 0 1 1.897 1.367l1.088 3.266A2 2 0 0 0 21.44 12h5.118a2 2 0 0 0 1.897-1.367l1.088-3.266A2 2 0 0 1 31.44 6h3.118a2 2 0 0 1 1.897 1.367l1.196 3.591c.217.649.75 1.143 1.413 1.309l5.42 1.354A2 2 0 0 1 46 15.561v16.877a2 2 0 0 1-1.515 1.94l-5.42 1.355a2 2 0 0 0-1.413 1.309l-1.196 3.59A2 2 0 0 1 34.56 42h-3.12a2 2 0 0 1-1.897-1.367l-.666-2A2 2 0 0 1 30.774 36H36a2 2 0 0 0 2-2V14a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2v14a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V14a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h5.226a2 2 0 0 1 1.896 2.633l-.666 2A2 2 0 0 1 16.56 42h-3.12a2 2 0 0 1-1.897-1.367l-1.196-3.591a2 2 0 0 0-1.413-1.309l-5.42-1.354A2 2 0 0 1 2 32.439V15.561a2 2 0 0 1 1.515-1.94l5.42-1.355a2 2 0 0 0 1.413-1.309l1.196-3.59A2 2 0 0 1 13.44 6z"
|
||||
fill="#99d52a"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,30 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export interface CombineProps extends Omit<IconCombineProps, 'Icon' | 'Text'> {
|
||||
type?: 'color' | 'mono';
|
||||
}
|
||||
const Combine = memo<CombineProps>(({ type = 'mono', ...rest }) => {
|
||||
const Icon = type === 'color' ? Color : Mono;
|
||||
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Icon}
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 48 48"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M16.559 6a2 2 0 0 1 1.897 1.367l1.088 3.266A2 2 0 0 0 21.44 12h5.118a2 2 0 0 0 1.897-1.367l1.088-3.266A2 2 0 0 1 31.44 6h3.118a2 2 0 0 1 1.897 1.367l1.196 3.591c.217.649.75 1.143 1.413 1.309l5.42 1.354A2 2 0 0 1 46 15.561v16.877a2 2 0 0 1-1.515 1.94l-5.42 1.355a2 2 0 0 0-1.413 1.309l-1.196 3.59A2 2 0 0 1 34.56 42h-3.12a2 2 0 0 1-1.897-1.367l-.666-2A2 2 0 0 1 30.774 36H36a2 2 0 0 0 2-2V14a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2v14a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V14a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h5.226a2 2 0 0 1 1.896 2.633l-.666 2A2 2 0 0 1 16.56 42h-3.12a2 2 0 0 1-1.897-1.367l-1.196-3.591a2 2 0 0 0-1.413-1.309l-5.42-1.354A2 2 0 0 1 2 32.439V15.561a2 2 0 0 1 1.515-1.94l5.42-1.355a2 2 0 0 0 1.413-1.309l1.196-3.59A2 2 0 0 1 13.44 6z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 219 68"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M20.702 39.227 6.414 11.852v40.275q0 .525-.3.825t-.825.3H1.127q-.525 0-.825-.3t-.3-.825v-49.5q0-.525.3-.825t.825-.3h5.287q.863 0 1.313.787l14.925 28.575L37.539 2.289q.413-.787 1.313-.787h5.212q.525 0 .825.3t.3.825v49.5q0 .525-.3.825t-.825.3h-4.275q-.525 0-.825-.3t-.3-.825V11.814L24.377 39.227q-.45.787-1.313.787h-1.05q-.862 0-1.312-.787Zm164.325 12.9v-51q0-.525.3-.825t.825-.3h4.05q.525 0 .825.3t.3.825v20.625q2.062-3.6 5.4-5.382a15.84 15.84 0 0 1 7.575-1.781q4.312 0 7.443 1.781 3.132 1.782 4.819 5.307 1.688 3.525 1.688 8.55v21.9q0 .525-.3.825t-.825.3h-4.05q-.525 0-.825-.3t-.3-.825V31.314a13.6 13.6 0 0 0-1.659-7.164 8.3 8.3 0 0 0-.854-1.161q-2.512-2.85-7.05-2.85a11.13 11.13 0 0 0-5.794 1.481 9.95 9.95 0 0 0-3.881 4.332q-1.387 2.85-1.387 6.862v19.313q0 .525-.3.825t-.825.3h-4.05q-.525 0-.825-.3t-.3-.825Zm-70.425-18.788v14.625h9.937q.525 0 .825.3t.3.825v3.038q0 .525-.3.825t-.825.3H99.227q-.525 0-.825-.3t-.3-.825v-3.038q0-.525.3-.825t.825-.3h9.075V20.589h-8.625q-.525 0-.825-.3t-.3-.825v-3.037q0-.525.3-.825t.825-.3h13.387q1.088 0 1.163 1.087l.375 6.563a13.7 13.7 0 0 1 5.381-6.319q3.431-2.044 7.894-2.044 1.2 0 2.1.15 1.012.15 1.012 1.2v3.975a1.07 1.07 0 0 1-.319.844 1 1 0 0 1-.678.222 2 2 0 0 1-.24-.016q-1.2-.15-2.588-.15a13 13 0 0 0-9.15 3.131 11.52 11.52 0 0 0-3.382 8.248 21 21 0 0 0-.03 1.146Zm23.812 32.663V16.427q0-.525.3-.825t.825-.3h3.638q1.087 0 1.162 1.087l.3 5.288q2.138-3.413 5.588-5.25t7.725-1.838q5.1 0 9.168 2.55a17.6 17.6 0 0 1 6.375 7.031q2.307 4.482 2.307 10.107t-2.307 10.106a17.6 17.6 0 0 1-6.375 7.031q-4.068 2.55-9.168 2.55-4.388 0-7.8-1.912-3.413-1.913-5.438-5.438v19.388q0 .525-.3.825t-.825.3h-4.05q-.525 0-.825-.3t-.3-.825Zm6.188-31.725q0 4.237 1.537 7.481a11.8 11.8 0 0 0 4.331 5.025 11.7 11.7 0 0 0 6.432 1.781 11.77 11.77 0 0 0 6.468-1.781 11.8 11.8 0 0 0 4.332-5.025q1.537-3.244 1.537-7.481a17.3 17.3 0 0 0-1.537-7.482 11.8 11.8 0 0 0-4.332-5.025q-2.793-1.781-6.468-1.781a11.7 11.7 0 0 0-6.432 1.781q-2.793 1.782-4.331 5.025-1.537 3.244-1.537 7.482ZM73.614 53.964q-5.4 0-9.712-2.55a18.1 18.1 0 0 1-6.769-7.05q-2.456-4.5-2.456-10.087a20.7 20.7 0 0 1 2.456-10.088q2.456-4.5 6.769-7.05 4.312-2.55 9.712-2.55t9.713 2.55 6.768 7.05a20.7 20.7 0 0 1 2.457 10.088q0 5.587-2.457 10.087t-6.768 7.05q-4.313 2.55-9.713 2.55ZM61.202 34.277q0 4.237 1.556 7.443a11.77 11.77 0 0 0 4.369 4.969q2.812 1.763 6.487 1.763t6.488-1.763 4.368-4.969a16.86 16.86 0 0 0 1.557-7.443 16.86 16.86 0 0 0-1.557-7.444 11.77 11.77 0 0 0-4.368-4.969q-2.813-1.762-6.488-1.762t-6.487 1.762q-2.813 1.763-4.369 4.969a16.86 16.86 0 0 0-1.556 7.444Z"
|
||||
fill="currentColor"
|
||||
stroke="currentColor"
|
||||
style={{ strokeWidth: 1 }}
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Morph
|
||||
atomId: Morph
|
||||
description: https://www.morphllm.com/
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { Morph } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Morph size={64} />
|
||||
<Morph.Color size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { Morph } from '@lobehub/icons';
|
||||
|
||||
export default () => <Morph.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { Morph } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<Morph.Combine size={64} />
|
||||
<Morph.Combine size={64} type={'color'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { Morph } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Morph.Avatar size={64} />
|
||||
<Morph.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { Morph } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={Morph.colorPrimary} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,25 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Color from './components/Color';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Color: typeof Color;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorGradient: string;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Color = Color;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Morph';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.9;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.25;
|
||||
export const COLOR_PRIMARY = '#000';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#99d52a';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.7;
|
||||
@@ -8,95 +8,59 @@ import type { IconType } from '@/types';
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
const [a, b, c, d] = useFillIds(TITLE, 4);
|
||||
const [a, b, c] = useFillIds(TITLE, 3);
|
||||
return (
|
||||
<svg
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 24 24"
|
||||
viewBox="0 0 33 32"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path
|
||||
d="M12.557 2.257a.432.432 0 00-.202-.366L9.42.063a.42.42 0 00-.444 0L3.601 3.395l-.022.015a.43.43 0 00-.18.352v3.443L.709 8.8a.43.43 0 00-.209.37v5.618a.43.43 0 00.214.343l2.685 1.56v3.512a.43.43 0 00.201.367l5.374 3.366a.42.42 0 00.442.002l2.935-1.79a.43.43 0 00.205-.369v-8.688h-.849v1.138L6.08 17.65l.436.737 5.191-3.156v6.305L9.2 23.066l-2.092-1.31 2.2-1.326-.434-.74-2.58 1.556-2.047-1.282v-3.406l2.374-1.43-.433-.739-2.476 1.493-2.363-1.373v-2.265l2.585-1.56-.434-.738-2.151 1.297V9.415l2.465-1.462 2.342 1.512v2.171l-1.75 1.15.461.72 1.67-1.095 1.533 1.088.486-.705-1.55-1.1v-2.27L9.56 7.817a.433.433 0 00.2-.366V4.728h-.848v2.483L6.55 8.7 4.247 7.216V4.003L6.12 2.84v2.712h.85V2.315L9.197.934l2.509 1.563v8.14h.85v-8.38z"
|
||||
fill={a.fill}
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M18.946 12.273a2.25 2.25 0 100-.818h-8.219v.818h8.22zm3.645-.41a1.432 1.432 0 11-2.863 0 1.432 1.432 0 012.863 0z"
|
||||
fill={b.fill}
|
||||
fillRule="evenodd"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M18.091 14.727h-4.705v-.818h5.523V18h1.637v4.091h-4.091v-4.09h1.636v-3.274zm-.818 6.546v-2.455h2.454v2.455h-2.454z"
|
||||
fill={c.fill}
|
||||
fillRule="evenodd"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M18.091 9h-4.705v.818h5.523v-4.09h2.375L18.5 1.273l-2.783 4.453h2.374V9zm.41-6.183L17.192 4.91h2.615L18.5 2.817z"
|
||||
fill={d.fill}
|
||||
fillRule="evenodd"
|
||||
/>
|
||||
<g mask={a.fill}>
|
||||
<mask
|
||||
height="32"
|
||||
id={a.id}
|
||||
maskUnits="userSpaceOnUse"
|
||||
style={{ maskType: 'luminance' }}
|
||||
width="32"
|
||||
x="0"
|
||||
y="0"
|
||||
>
|
||||
<path d="M31.8 0H0v32h31.8z" fill="#fff" />
|
||||
</mask>
|
||||
<mask
|
||||
height="32"
|
||||
id={b.id}
|
||||
maskUnits="userSpaceOnUse"
|
||||
style={{ maskType: 'alpha' }}
|
||||
width="32"
|
||||
x="0"
|
||||
y="0"
|
||||
>
|
||||
<path
|
||||
d="m17.865 23.28 1.533 1.543c.07.07.092.175.055.267l-2.398 6.118A1.24 1.24 0 0 1 15.9 32c-.51 0-.969-.315-1.155-.793l-3.451-8.804-5.582 5.617a.246.246 0 0 1-.35 0l-1.407-1.415a.25.25 0 0 1 0-.352l6.89-6.932a1.3 1.3 0 0 1 .834-.398 1.25 1.25 0 0 1 1.232.79l2.992 7.63 1.557-3.977a.248.248 0 0 1 .408-.085zm8.224-19.3-5.583 5.617-3.45-8.805a1.24 1.24 0 0 0-1.43-.762c-.414.092-.744.407-.899.805l-2.38 6.072a.25.25 0 0 0 .055.267l1.533 1.543c.127.127.34.082.407-.085L15.9 4.655l2.991 7.629a1.24 1.24 0 0 0 2.035.425l6.922-6.965a.25.25 0 0 0 0-.352L26.44 3.977a.246.246 0 0 0-.35 0zM8.578 17.566l-3.953-1.567 7.582-3.01c.49-.195.815-.685.785-1.24a1.3 1.3 0 0 0-.395-.84l-6.886-6.93a.246.246 0 0 0-.35 0L3.954 5.395a.25.25 0 0 0 0 .353l5.583 5.617-8.75 3.472a1.25 1.25 0 0 0 0 2.325l6.079 2.412a.24.24 0 0 0 .266-.055l1.533-1.542a.25.25 0 0 0-.085-.41zm22.434-2.73-6.08-2.412a.24.24 0 0 0-.265.055l-1.533 1.542a.25.25 0 0 0 .084.41L27.172 16l-7.583 3.01a1.255 1.255 0 0 0-.785 1.24c.018.317.172.614.395.84l6.89 6.931a.246.246 0 0 0 .35 0l1.406-1.415a.25.25 0 0 0 0-.352l-5.582-5.617 8.75-3.472a1.25 1.25 0 0 0 0-2.325z"
|
||||
fill="#fff"
|
||||
/>
|
||||
</mask>
|
||||
<g mask={b.fill}>
|
||||
<path d="M-2.915 34.125h37.448V-2.109H-2.915z" fill={c.fill} />
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={a.id}
|
||||
x1="3.5"
|
||||
x2="20.5"
|
||||
y1="3.5"
|
||||
y2="21.5"
|
||||
>
|
||||
<stop stopColor="#43E3E4" />
|
||||
<stop offset=".25" stopColor="#4A9FFF" />
|
||||
<stop offset=".5" stopColor="#AA4BFB" />
|
||||
<stop offset=".75" stopColor="#FC5978" />
|
||||
<stop offset="1" stopColor="#FF6D32" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={b.id}
|
||||
x1="3.5"
|
||||
x2="20.5"
|
||||
y1="3.5"
|
||||
y2="21.5"
|
||||
>
|
||||
<stop stopColor="#43E3E4" />
|
||||
<stop offset=".25" stopColor="#4A9FFF" />
|
||||
<stop offset=".5" stopColor="#AA4BFB" />
|
||||
<stop offset=".75" stopColor="#FC5978" />
|
||||
<stop offset="1" stopColor="#FF6D32" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={c.id}
|
||||
x1="3.5"
|
||||
x2="20.5"
|
||||
y1="3.5"
|
||||
y2="21.5"
|
||||
x1="33.663"
|
||||
x2="-2.086"
|
||||
y1="33.633"
|
||||
y2="-1.901"
|
||||
>
|
||||
<stop stopColor="#43E3E4" />
|
||||
<stop offset=".25" stopColor="#4A9FFF" />
|
||||
<stop offset=".5" stopColor="#AA4BFB" />
|
||||
<stop offset=".75" stopColor="#FC5978" />
|
||||
<stop offset="1" stopColor="#FF6D32" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={d.id}
|
||||
x1="3.5"
|
||||
x2="20.5"
|
||||
y1="3.5"
|
||||
y2="21.5"
|
||||
>
|
||||
<stop stopColor="#43E3E4" />
|
||||
<stop offset=".25" stopColor="#4A9FFF" />
|
||||
<stop offset=".5" stopColor="#AA4BFB" />
|
||||
<stop offset=".75" stopColor="#FC5978" />
|
||||
<stop offset="1" stopColor="#FF6D32" />
|
||||
<stop stopColor="#ff6200" />
|
||||
<stop offset=".399" stopColor="#e433ff" />
|
||||
<stop offset=".96" stopColor="#6842ff" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
@@ -9,29 +9,18 @@ import { TITLE } from '../style';
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 24 24"
|
||||
viewBox="0 0 33 32"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
|
||||
<path d="M12.557 2.257a.432.432 0 00-.202-.366L9.42.063a.42.42 0 00-.444 0L3.601 3.395l-.022.015a.43.43 0 00-.18.352v3.443L.709 8.8a.43.43 0 00-.209.37v5.618a.43.43 0 00.214.343l2.685 1.56v3.512a.43.43 0 00.201.367l5.374 3.366a.42.42 0 00.442.002l2.935-1.79a.43.43 0 00.205-.369v-8.688h-.849v1.138L6.08 17.65l.436.737 5.191-3.156v6.305L9.2 23.066l-2.092-1.31 2.2-1.326-.434-.74-2.58 1.556-2.047-1.282v-3.406l2.374-1.43-.433-.739-2.476 1.493-2.363-1.373v-2.265l2.585-1.56-.434-.738-2.151 1.297V9.415l2.465-1.462 2.342 1.512v2.171l-1.75 1.15.461.72 1.67-1.095 1.533 1.088.486-.705-1.55-1.1v-2.27L9.56 7.817a.433.433 0 00.2-.366V4.728h-.848v2.483L6.55 8.7 4.247 7.216V4.003L6.12 2.84v2.712h.85V2.315L9.197.934l2.509 1.563v8.14h.85v-8.38z" />
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M18.946 12.273a2.25 2.25 0 100-.818h-8.219v.818h8.22zm3.645-.41a1.432 1.432 0 11-2.863 0 1.432 1.432 0 012.863 0z"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M18.091 14.727h-4.705v-.818h5.523V18h1.637v4.091h-4.091v-4.09h1.636v-3.274zm-.818 6.546v-2.455h2.454v2.455h-2.454z"
|
||||
/>
|
||||
<path
|
||||
clipRule="evenodd"
|
||||
d="M18.091 9h-4.705v.818h5.523v-4.09h2.375L18.5 1.273l-2.783 4.453h2.374V9zm.41-6.183L17.192 4.91h2.615L18.5 2.817z"
|
||||
d="m17.865 23.28 1.533 1.543c.07.07.092.175.055.267l-2.398 6.118A1.24 1.24 0 0 1 15.9 32c-.51 0-.969-.315-1.155-.793l-3.451-8.804-5.582 5.617a.246.246 0 0 1-.35 0l-1.407-1.415a.25.25 0 0 1 0-.352l6.89-6.932a1.3 1.3 0 0 1 .834-.398 1.25 1.25 0 0 1 1.232.79l2.992 7.63 1.557-3.977a.248.248 0 0 1 .408-.085zm8.224-19.3-5.583 5.617-3.45-8.805a1.24 1.24 0 0 0-1.43-.762c-.414.092-.744.407-.899.805l-2.38 6.072a.25.25 0 0 0 .055.267l1.533 1.543c.127.127.34.082.407-.085L15.9 4.655l2.991 7.629a1.24 1.24 0 0 0 2.035.425l6.922-6.965a.25.25 0 0 0 0-.352L26.44 3.977a.246.246 0 0 0-.35 0zM8.578 17.566l-3.953-1.567 7.582-3.01c.49-.195.815-.685.785-1.24a1.3 1.3 0 0 0-.395-.84l-6.886-6.93a.246.246 0 0 0-.35 0L3.954 5.395a.25.25 0 0 0 0 .353l5.583 5.617-8.75 3.472a1.25 1.25 0 0 0 0 2.325l6.079 2.412a.24.24 0 0 0 .266-.055l1.533-1.542a.25.25 0 0 0-.085-.41zm22.434-2.73-6.08-2.412a.24.24 0 0 0-.265.055l-1.533 1.542a.25.25 0 0 0 .084.41L27.172 16l-7.583 3.01a1.255 1.255 0 0 0-.785 1.24c.018.317.172.614.395.84l6.89 6.931a.246.246 0 0 0 .35 0l1.406-1.415a.25.25 0 0 0 0-.352l-5.582-5.617 8.75-3.472a1.25 1.25 0 0 0 0-2.325z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ nav: Components
|
||||
group: Model
|
||||
title: Nova (AWS)
|
||||
atomId: Nova
|
||||
description: https://aws.amazon.com/cn/ai/generative-ai/nova
|
||||
description: https://nova.amazon.com/
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
+1
-2
@@ -2,8 +2,7 @@ export const TITLE = 'Nova';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.6;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.1;
|
||||
export const COLOR_PRIMARY = '#222F3E';
|
||||
export const COLOR_GRADIENT =
|
||||
'linear-gradient(135deg, #43E3E4, #4A9FFF, #AA4BFB, #FC5978, #FF6D32)';
|
||||
export const COLOR_GRADIENT = 'linear-gradient(-45deg, #ff6200, #e433ff 39.9%, #6842ff 96%)';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_GRADIENT;
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconAvatar, { type IconAvatarProps } from '@/features/IconAvatar';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<IconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,26 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import IconCombine, { type IconCombineProps } from '@/features/IconCombine';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export type CombineProps = Omit<IconCombineProps, 'Icon' | 'Text'>;
|
||||
|
||||
const Combine = memo<CombineProps>(({ ...rest }) => {
|
||||
return (
|
||||
<IconCombine
|
||||
Icon={Mono}
|
||||
Text={Text as any}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,43 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="none"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 121 121"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<mask
|
||||
height="121"
|
||||
id="relace-mask"
|
||||
maskUnits="userSpaceOnUse"
|
||||
style={{ maskType: 'luminance' }}
|
||||
width="121"
|
||||
x="0"
|
||||
y="0"
|
||||
>
|
||||
<path d="M120.211 0H0v120.211h120.211z" fill="#fff" />
|
||||
</mask>
|
||||
<g mask="url(#relace-mask)">
|
||||
<path
|
||||
d="M9.865 83.06c22.4 3.418 69.692 2.855 79.667-26.746C99.506 26.712 82.69 23.27 76.36 23.27c-8.312.087-20.588 10.283-3.197 50.376 17.39 40.094 20.269 39.211 21.74 41.418"
|
||||
stroke="currentColor"
|
||||
strokeWidth="10.723"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,25 @@
|
||||
'use client';
|
||||
|
||||
import { memo } from 'react';
|
||||
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon: IconType = memo(({ size = '1em', style, ...rest }) => {
|
||||
return (
|
||||
<svg
|
||||
fill="currentColor"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 246 64"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path d="M20.984 11.868H9.804v15.738h11.008c6.708 0 10.234-2.58 10.234-8.084 0-5.246-2.666-7.654-10.062-7.654M32.25 55.212l-12.814-19.35H9.804v19.35H0v-51.6h21.672c12.9 0 19.006 5.418 19.006 15.652 0 8.084-4.128 13.416-11.352 15.566l14.362 19.436v.946zm37.655-34.314c-6.278 0-9.976 3.354-10.836 10.578h20.726c-.345-6.966-3.44-10.578-9.89-10.578m.258 35.346c-12.384 0-20.382-7.224-20.382-20.726 0-13.674 7.74-21.758 20.382-21.758 12.212 0 18.146 7.396 18.146 18.49 0 1.548 0 3.354-.172 5.418H58.983c.688 7.31 4.386 11.008 11.266 11.008 6.45 0 8.686-3.096 9.804-6.966l7.911 2.236c-1.891 7.31-6.965 12.298-17.801 12.298M107.04 0v55.212h-9.288V0zm25.077 48.848c6.45 0 10.75-3.784 10.75-8.858v-1.634h-10.492c-4.644 0-7.31 1.72-7.31 5.074 0 2.924 1.806 5.418 7.052 5.418m11.18 6.364V45.58h-.946c-2.064 6.536-6.708 10.492-13.846 10.492-7.224 0-12.298-3.44-12.298-11.352 0-7.224 4.386-12.47 14.62-12.47h12.04v-2.752c0-5.246-2.15-8.256-7.826-8.256-4.73 0-7.482 2.408-8.514 7.138l-8.772-1.978c1.548-7.654 7.31-12.556 17.63-12.556 11.696 0 16.684 5.504 16.684 15.566v25.8zm47.734-24.682c-1.204-5.16-3.612-8.6-9.976-8.6-6.622 0-10.75 4.214-10.75 13.072 0 8.17 3.784 13.158 11.008 13.158 6.536 0 8.772-4.042 9.976-8.944l8.514 2.064c-1.634 9.374-7.31 15.05-18.404 15.05-12.728 0-20.554-7.396-20.554-20.984s7.998-21.586 20.382-21.586c11.61 0 16.856 5.504 18.49 15.136zm35.75-9.632c-6.278 0-9.976 3.354-10.836 10.578h20.726c-.344-6.966-3.44-10.578-9.89-10.578m.258 35.346c-12.384 0-20.382-7.224-20.382-20.726 0-13.674 7.74-21.758 20.382-21.758 12.212 0 18.146 7.396 18.146 18.49 0 1.548 0 3.354-.172 5.418h-29.154c.688 7.31 4.386 11.008 11.266 11.008 6.45 0 8.686-3.096 9.804-6.966l7.912 2.236c-1.892 7.31-6.966 12.298-17.802 12.298" />
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Model
|
||||
title: Relace
|
||||
atomId: Relace
|
||||
description: https://relace.ai
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { Relace } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => <Relace size={64} />;
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { Relace } from '@lobehub/icons';
|
||||
|
||||
export default () => <Relace.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { Relace } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<Relace.Combine size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { Relace } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Relace.Avatar size={64} />
|
||||
<Relace.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { Relace } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={Relace.colorPrimary} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Relace';
|
||||
export const COMBINE_TEXT_MULTIPLE = 1;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.2;
|
||||
export const COLOR_PRIMARY = '#fff';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#000';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.75;
|
||||
@@ -81,7 +81,7 @@ import Yi from '@/Yi';
|
||||
import ZAI from '@/ZAI';
|
||||
import type { IconAvatarProps } from '@/features/IconAvatar';
|
||||
import type { IconCombineProps } from '@/features/IconCombine';
|
||||
import { Kwaipilot } from '@/icons';
|
||||
import { Ai2, Arcee, DeepCogito, EssentialAI, Inception, Kwaipilot, Morph, Relace } from '@/icons';
|
||||
import type { IconType } from '@/types';
|
||||
|
||||
type ModelIconType = FC<IconType & any> & {
|
||||
@@ -143,16 +143,25 @@ export const modelMappings: ModelMapping[] = [
|
||||
{ Icon: Aws, keywords: ['titan'] },
|
||||
{ Icon: Fireworks, keywords: ['accounts/fireworks/models/fire'] },
|
||||
{ Icon: InternLM, keywords: ['internlm', 'internvl'] },
|
||||
{ Icon: NousResearch, keywords: ['deephermes', 'hermes', 'genstruct', 'minos'] },
|
||||
{
|
||||
Icon: NousResearch,
|
||||
keywords: ['deephermes', 'hermes', 'genstruct', 'minos'],
|
||||
},
|
||||
{ Icon: Nvidia, keywords: ['nemotron', 'openreasoning'] },
|
||||
{ Icon: Meta, keywords: ['llama', '/l3'] },
|
||||
{ Icon: LLaVA, keywords: ['llava'] },
|
||||
{ Icon: Gemini, keywords: ['gemini'] },
|
||||
{ Icon: DeepMind, keywords: ['^imagen-', '/imagen-', '^imagen\\d/', '/imagen\\d'] },
|
||||
{
|
||||
Icon: DeepMind,
|
||||
keywords: ['^imagen-', '/imagen-', '^imagen\\d/', '/imagen\\d'],
|
||||
},
|
||||
{ Icon: Gemma, keywords: ['gemma'] },
|
||||
{ Icon: Moonshot, keywords: ['kimi', 'moonshot'] },
|
||||
{ Icon: Qiniu, keywords: ['qiniu'] },
|
||||
{ Icon: Qwen, keywords: ['qwen', 'qwq', 'qvq', 'wanx', 'wan\\d/', 'wan\\d\\.\\d-', 'tongyi'] },
|
||||
{
|
||||
Icon: Qwen,
|
||||
keywords: ['qwen', 'qwq', 'qvq', 'wanx', 'wan\\d/', 'wan\\d\\.\\d-', 'tongyi'],
|
||||
},
|
||||
{ Icon: Minimax, keywords: ['minimax', 'abab', '^image-'] },
|
||||
{
|
||||
Icon: Mistral,
|
||||
@@ -172,6 +181,27 @@ export const modelMappings: ModelMapping[] = [
|
||||
{ Icon: Perplexity, keywords: ['pplx', 'sonar'] },
|
||||
{ Icon: Yi, keywords: ['^yi-', '/yi-', '-yi-'] },
|
||||
{ Icon: OpenRouter, keywords: ['^openrouter'] },
|
||||
{ Icon: Relace, keywords: ['^relace-', '/relace-'] },
|
||||
{
|
||||
Icon: Arcee,
|
||||
keywords: [
|
||||
'^trinity-',
|
||||
'/trinity-',
|
||||
'afm-4.5b',
|
||||
'caller-large',
|
||||
'spotlight',
|
||||
'maestro-reasoning',
|
||||
'virtuoso-medium-v2',
|
||||
'virtuoso-large',
|
||||
'coder-large',
|
||||
'arcee-blitz',
|
||||
],
|
||||
},
|
||||
{ Icon: EssentialAI, keywords: ['^rnj-', '/rnj-'] },
|
||||
{ Icon: DeepCogito, keywords: ['^deepcogito-', '/deepcogito-'] },
|
||||
{ Icon: Morph, keywords: ['^morph-', '/morph-'] },
|
||||
{ Icon: Ai2, keywords: ['^olmo-', '/olmo-'] },
|
||||
{ Icon: Inception, keywords: ['^mercury-', '/mercury-'] },
|
||||
{ Icon: OpenChat, keywords: ['^openchat'] },
|
||||
{ Icon: Aya, keywords: ['aya'] },
|
||||
{ Icon: Cohere, keywords: ['command'] },
|
||||
@@ -204,7 +234,10 @@ export const modelMappings: ModelMapping[] = [
|
||||
},
|
||||
{ Icon: Flux, keywords: ['flux'] },
|
||||
{ Icon: Suno, keywords: ['suno'] },
|
||||
{ Icon: Microsoft, keywords: ['wizardlm', '/phi-', '^phi-', '-phi-', 'mai-', 'microsoft'] },
|
||||
{
|
||||
Icon: Microsoft,
|
||||
keywords: ['wizardlm', '/phi-', '^phi-', '-phi-', 'mai-', 'microsoft'],
|
||||
},
|
||||
{ Icon: Adobe, keywords: ['firefly'] },
|
||||
{ Icon: Ai21, keywords: ['jamba', '^j2-', 'ai21'] },
|
||||
{ Icon: Upstage, keywords: ['^solar-', '/solar'] },
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
export { default as Adobe, type CompoundedIcon as AdobeProps } from './Adobe';
|
||||
export { default as AdobeFirefly, type CompoundedIcon as AdobeFireflyProps } from './AdobeFirefly';
|
||||
export { default as Agui, type CompoundedIcon as AguiProps } from './Agui';
|
||||
export { default as Ai2, type CompoundedIcon as Ai2Props } from './Ai2';
|
||||
export { default as Ai21, type CompoundedIcon as Ai21Props } from './Ai21';
|
||||
export { default as Ai302, type CompoundedIcon as Ai302Props } from './Ai302';
|
||||
export { default as Ai360, type CompoundedIcon as Ai360Props } from './Ai360';
|
||||
@@ -16,6 +17,7 @@ export { default as AntGroup, type CompoundedIcon as AntGroupProps } from './Ant
|
||||
export { default as Anthropic, type CompoundedIcon as AnthropicProps } from './Anthropic';
|
||||
export { default as Anyscale, type CompoundedIcon as AnyscaleProps } from './Anyscale';
|
||||
export { default as Apple, type CompoundedIcon as AppleProps } from './Apple';
|
||||
export { default as Arcee, type CompoundedIcon as ArceeProps } from './Arcee';
|
||||
export { default as AssemblyAI, type CompoundedIcon as AssemblyAIProps } from './AssemblyAI';
|
||||
export { default as Automatic, type CompoundedIcon as AutomaticProps } from './Automatic';
|
||||
export { default as Aws, type CompoundedIcon as AwsProps } from './Aws';
|
||||
@@ -65,6 +67,7 @@ export { default as Cursor, type CompoundedIcon as CursorProps } from './Cursor'
|
||||
export { default as Dalle, type CompoundedIcon as DalleProps } from './Dalle';
|
||||
export { default as Dbrx, type CompoundedIcon as DbrxProps } from './Dbrx';
|
||||
export { default as DeepAI, type CompoundedIcon as DeepAIProps } from './DeepAI';
|
||||
export { default as DeepCogito, type CompoundedIcon as DeepCogitoProps } from './DeepCogito';
|
||||
export { default as DeepInfra, type CompoundedIcon as DeepInfraProps } from './DeepInfra';
|
||||
export { default as DeepL, type CompoundedIcon as DeepLProps } from './DeepL';
|
||||
export { default as DeepMind, type CompoundedIcon as DeepMindProps } from './DeepMind';
|
||||
@@ -77,6 +80,7 @@ export { default as Doubao, type CompoundedIcon as DoubaoProps } from './Doubao'
|
||||
export { default as DreamMachine, type CompoundedIcon as DreamMachineProps } from './DreamMachine';
|
||||
export { default as ElevenLabs, type CompoundedIcon as ElevenLabsProps } from './ElevenLabs';
|
||||
export { default as ElevenX, type CompoundedIcon as ElevenXProps } from './ElevenX';
|
||||
export { default as EssentialAI, type CompoundedIcon as EssentialAIProps } from './EssentialAI';
|
||||
export { default as Exa, type CompoundedIcon as ExaProps } from './Exa';
|
||||
export { default as Fal, type CompoundedIcon as FalProps } from './Fal';
|
||||
export { default as FastGPT, type CompoundedIcon as FastGPTProps } from './FastGPT';
|
||||
@@ -118,6 +122,7 @@ export { default as Hyperbolic, type CompoundedIcon as HyperbolicProps } from '.
|
||||
export { default as IBM, type CompoundedIcon as IBMProps } from './IBM';
|
||||
export { default as Ideogram, type CompoundedIcon as IdeogramProps } from './Ideogram';
|
||||
export { default as IFlyTekCloud, type CompoundedIcon as IFlyTekCloudProps } from './IFlyTekCloud';
|
||||
export { default as Inception, type CompoundedIcon as InceptionProps } from './Inception';
|
||||
export { default as Inference, type CompoundedIcon as InferenceProps } from './Inference';
|
||||
export { default as Infermatic, type CompoundedIcon as InfermaticProps } from './Infermatic';
|
||||
export { default as Infinigence, type CompoundedIcon as InfinigenceProps } from './Infinigence';
|
||||
@@ -165,6 +170,7 @@ export { default as Mistral, type CompoundedIcon as MistralProps } from './Mistr
|
||||
export { default as ModelScope, type CompoundedIcon as ModelScopeProps } from './ModelScope';
|
||||
export { default as Monica, type CompoundedIcon as MonicaProps } from './Monica';
|
||||
export { default as Moonshot, type CompoundedIcon as MoonshotProps } from './Moonshot';
|
||||
export { default as Morph, type CompoundedIcon as MorphProps } from './Morph';
|
||||
export { default as MyShell, type CompoundedIcon as MyShellProps } from './MyShell';
|
||||
export { default as N8n, type CompoundedIcon as N8nProps } from './N8n';
|
||||
export { default as Nebius, type CompoundedIcon as NebiusProps } from './Nebius';
|
||||
@@ -199,6 +205,7 @@ export { default as Qiniu, type CompoundedIcon as QiniuProps } from './Qiniu';
|
||||
export { default as Qwen, type CompoundedIcon as QwenProps } from './Qwen';
|
||||
export { default as Railway, type CompoundedIcon as RailwayProps } from './Railway';
|
||||
export { default as Recraft, type CompoundedIcon as RecraftProps } from './Recraft';
|
||||
export { default as Relace, type CompoundedIcon as RelaceProps } from './Relace';
|
||||
export { default as Replicate, type CompoundedIcon as ReplicateProps } from './Replicate';
|
||||
export { default as Replit, type CompoundedIcon as ReplitProps } from './Replit';
|
||||
export { default as RSSHub, type CompoundedIcon as RSSHubProps } from './RSSHub';
|
||||
|
||||
+136
-2
@@ -77,6 +77,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'AG-UI',
|
||||
},
|
||||
{
|
||||
color: '#f0529c',
|
||||
desc: 'https://allenai.org/',
|
||||
docsUrl: 'ai2',
|
||||
fullTitle: 'Ai2',
|
||||
group: 'model',
|
||||
id: 'Ai2',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: true,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Ai2',
|
||||
},
|
||||
{
|
||||
color: '#E91E63',
|
||||
colorGradient: 'linear-gradient(-45deg, #F68CB2, #E91E63)',
|
||||
@@ -364,6 +383,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'Apple',
|
||||
},
|
||||
{
|
||||
color: '#008C8C',
|
||||
desc: 'https://www.arcee.ai/',
|
||||
docsUrl: 'arcee',
|
||||
fullTitle: 'Arcee',
|
||||
group: 'model',
|
||||
id: 'Arcee',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: true,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Arcee',
|
||||
},
|
||||
{
|
||||
color: '#2545D3',
|
||||
desc: 'https://assemblyai.com',
|
||||
@@ -1244,6 +1282,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'DeepAI',
|
||||
},
|
||||
{
|
||||
color: '#4e81ee',
|
||||
desc: 'https://www.deepcogito.com/',
|
||||
docsUrl: 'deep-cogito',
|
||||
fullTitle: 'Deep Cogito',
|
||||
group: 'model',
|
||||
id: 'DeepCogito',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: true,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Deep Cogito',
|
||||
},
|
||||
{
|
||||
color: '#fff',
|
||||
desc: 'https://deepinfra.com',
|
||||
@@ -1472,6 +1529,26 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: '11x',
|
||||
},
|
||||
{
|
||||
color: '#111322',
|
||||
colorGradient: 'linear-gradient(135deg, #5E38A5, #31018C 63%)',
|
||||
desc: 'https://www.essential.ai',
|
||||
docsUrl: 'essential-ai',
|
||||
fullTitle: 'Essential AI',
|
||||
group: 'model',
|
||||
id: 'EssentialAI',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: true,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Essential AI',
|
||||
},
|
||||
{
|
||||
color: '#1f40ed',
|
||||
desc: 'https://exa.ai',
|
||||
@@ -2197,6 +2274,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'Ideogram',
|
||||
},
|
||||
{
|
||||
color: '#fff',
|
||||
desc: 'https://relace.ai',
|
||||
docsUrl: 'inception',
|
||||
fullTitle: 'Inception Labs',
|
||||
group: 'model',
|
||||
id: 'Inception',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: false,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Inception',
|
||||
},
|
||||
{
|
||||
color: '#000',
|
||||
desc: 'https://inference.net',
|
||||
@@ -3097,6 +3193,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'MoonshotAI',
|
||||
},
|
||||
{
|
||||
color: '#000',
|
||||
desc: 'https://www.morphllm.com/',
|
||||
docsUrl: 'morph',
|
||||
fullTitle: 'Morph',
|
||||
group: 'model',
|
||||
id: 'Morph',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: true,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Morph',
|
||||
},
|
||||
{
|
||||
color: '#fff',
|
||||
desc: 'https://myshell.ai',
|
||||
@@ -3251,8 +3366,8 @@ const toc: IconToc[] = [
|
||||
},
|
||||
{
|
||||
color: '#222F3E',
|
||||
colorGradient: 'linear-gradient(135deg, #43E3E4, #4A9FFF, #AA4BFB, #FC5978, #FF6D32)',
|
||||
desc: 'https://aws.amazon.com/cn/ai/generative-ai/nova',
|
||||
colorGradient: 'linear-gradient(-45deg, #ff6200, #e433ff 39.9%, #6842ff 96%)',
|
||||
desc: 'https://nova.amazon.com/',
|
||||
docsUrl: 'nova',
|
||||
fullTitle: 'Nova (AWS)',
|
||||
group: 'model',
|
||||
@@ -3766,6 +3881,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'Recraft',
|
||||
},
|
||||
{
|
||||
color: '#fff',
|
||||
desc: 'https://relace.ai',
|
||||
docsUrl: 'relace',
|
||||
fullTitle: 'Relace',
|
||||
group: 'model',
|
||||
id: 'Relace',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: false,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Relace',
|
||||
},
|
||||
{
|
||||
color: '#EA2805',
|
||||
desc: 'https://replicate.com',
|
||||
|
||||
Reference in New Issue
Block a user