mirror of
https://github.com/hanzoai/icons.git
synced 2026-09-24 16:59:52 +00:00
✨ feat: Add apple
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,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,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
|
||||
fill="currentColor"
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path d="M11.932 6.908c.95 0 2.727-1.291 4.595-1.1.782.032 2.976.316 4.388 2.38-.113.069-2.622 1.528-2.593 4.565.034 3.617 3.166 4.828 3.221 4.85-.029.086-.506 1.723-1.658 3.416-1.002 1.463-2.039 2.919-3.675 2.95-1.606.03-2.125-.955-3.96-.955s-2.409.923-3.931.984c-1.581.06-2.78-1.58-3.79-3.037-2.065-2.98-3.64-8.422-1.527-12.087 1.051-1.824 2.93-2.98 4.969-3.009 1.549-.032 3.011 1.043 3.96 1.043zM16.552 0c.153 1.407-.411 2.817-1.251 3.833-.837 1.013-2.214 1.804-3.555 1.7-.185-1.378.495-2.814 1.27-3.712C13.883.805 15.346.05 16.553 0z" />
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,26 @@
|
||||
'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="nonzero"
|
||||
height={size}
|
||||
style={{ flex: 'none', lineHeight: 1, ...style }}
|
||||
viewBox="0 0 69 24"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
{...rest}
|
||||
>
|
||||
<title>{TITLE}</title>
|
||||
<path d="M2 19.75L8.102 2.81h2.12v2.97h-.797L4.764 19.75H2zm2.94-4.578l.737-2.113h7.695l.738 2.113H4.94zm9.334 4.578L9.624 5.78V2.81h1.324l6.09 16.94h-2.764zM19.685 24V7.001h2.541V9.01h.2c.241-.47.554-.87.936-1.198.39-.329.836-.583 1.335-.763.5-.18 1.047-.27 1.64-.27 1.07 0 1.999.274 2.787.822.789.54 1.398 1.303 1.827 2.289.438.978.656 2.137.656 3.475v.023c0 1.346-.215 2.513-.644 3.499-.43.978-1.038 1.737-1.827 2.277-.789.532-1.722.799-2.8.799a4.87 4.87 0 01-1.639-.27 4.491 4.491 0 01-1.346-.775 3.614 3.614 0 01-.926-1.186h-.199V24h-2.541zm5.926-6.222c.71 0 1.32-.176 1.827-.528.507-.352.894-.857 1.16-1.515.273-.657.41-1.44.41-2.348v-.023c0-.916-.137-1.702-.41-2.36-.266-.657-.653-1.162-1.16-1.514-.508-.352-1.117-.528-1.827-.528-.703 0-1.312.18-1.827.54-.515.352-.91.857-1.183 1.514-.273.65-.41 1.432-.41 2.348v.023c0 .9.137 1.68.41 2.337.273.657.668 1.166 1.183 1.526.515.352 1.124.528 1.827.528zM34.652 24V7.001h2.542V9.01h.199c.242-.47.554-.87.937-1.198.39-.329.835-.583 1.335-.763.5-.18 1.046-.27 1.64-.27 1.07 0 1.998.274 2.787.822.788.54 1.398 1.303 1.827 2.289.437.978.656 2.137.656 3.475v.023c0 1.346-.215 2.513-.644 3.499-.43.978-1.039 1.737-1.827 2.277-.789.532-1.722.799-2.8.799a4.87 4.87 0 01-1.64-.27 4.493 4.493 0 01-1.346-.775 3.612 3.612 0 01-.925-1.186h-.2V24h-2.54zm5.926-6.222c.71 0 1.32-.176 1.827-.528.508-.352.894-.857 1.16-1.515.273-.657.41-1.44.41-2.348v-.023c0-.916-.137-1.702-.41-2.36-.266-.657-.652-1.162-1.16-1.514-.507-.352-1.116-.528-1.827-.528-.702 0-1.311.18-1.827.54-.515.352-.91.857-1.182 1.514-.274.65-.41 1.432-.41 2.348v.023c0 .9.136 1.68.41 2.337.273.657.667 1.166 1.182 1.526.516.352 1.125.528 1.827.528zM49.737 19.75V2h2.541v17.75h-2.541zM61.402 19.997c-1.242 0-2.307-.266-3.197-.799-.89-.54-1.578-1.303-2.062-2.289-.476-.986-.714-2.152-.714-3.498v-.012c0-1.33.238-2.493.714-3.487.484-.993 1.164-1.768 2.038-2.324.882-.556 1.913-.833 3.092-.833 1.187 0 2.206.266 3.057.798.859.532 1.518 1.28 1.979 2.242.46.955.691 2.074.691 3.358v.892H56.717v-1.82h9.018l-1.218 1.69v-1.02c0-.909-.14-1.66-.421-2.255-.274-.602-.653-1.052-1.137-1.35-.484-.297-1.042-.446-1.674-.446-.633 0-1.199.157-1.698.47-.492.305-.883.759-1.172 1.362-.28.602-.421 1.342-.421 2.218v1.022c0 .837.14 1.553.421 2.148.281.595.68 1.049 1.195 1.362.523.313 1.14.47 1.85.47.547 0 1.015-.075 1.406-.224.398-.156.722-.348.972-.575.258-.227.433-.45.527-.669l.047-.094h2.46l-.024.106c-.11.422-.3.845-.574 1.268a4.666 4.666 0 01-1.09 1.138c-.444.345-.983.622-1.615.834-.625.211-1.347.317-2.167.317z" />
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
nav: Components
|
||||
group: Provider
|
||||
title: Apple
|
||||
atomId: Apple
|
||||
description: https://apple.com
|
||||
---
|
||||
|
||||
## Icons
|
||||
|
||||
```tsx
|
||||
import { Apple } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => <Apple size={64} />;
|
||||
```
|
||||
|
||||
## Text
|
||||
|
||||
```tsx
|
||||
import { Apple } from '@lobehub/icons';
|
||||
|
||||
export default () => <Apple.Text size={48} />;
|
||||
```
|
||||
|
||||
## Combine
|
||||
|
||||
```tsx
|
||||
import { Apple } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} align={'flex-start'}>
|
||||
<Apple.Combine size={64} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Avatars
|
||||
|
||||
```tsx
|
||||
import { Apple } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<Apple.Avatar size={64} />
|
||||
<Apple.Avatar size={64} shape={'square'} />
|
||||
</Flexbox>
|
||||
);
|
||||
```
|
||||
|
||||
## Colors
|
||||
|
||||
```tsx
|
||||
import { Apple } from '@lobehub/icons';
|
||||
import { Flexbox } from 'react-layout-kit';
|
||||
|
||||
import ColorPreview from '../components/ColorPreview';
|
||||
|
||||
export default () => (
|
||||
<Flexbox gap={16} horizontal>
|
||||
<ColorPreview color={Apple.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 = 'Apple';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.85;
|
||||
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;
|
||||
+2
-1
@@ -15,6 +15,7 @@ export { default as AlibabaCloud, type CompoundedIcon as AlibabaCloudProps } fro
|
||||
export { default as AntGroup, type CompoundedIcon as AntGroupProps } from './AntGroup';
|
||||
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 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';
|
||||
@@ -124,11 +125,11 @@ export { default as Inflection, type CompoundedIcon as InflectionProps } from '.
|
||||
export { default as InternLM, type CompoundedIcon as InternLMProps } from './InternLM';
|
||||
export { default as Jimeng, type CompoundedIcon as JimengProps } from './Jimeng';
|
||||
export { default as Jina, type CompoundedIcon as JinaProps } from './Jina';
|
||||
export { default as Krea, type CompoundedIcon as KreaProps } from './Krea';
|
||||
export { default as Kimi, type CompoundedIcon as KimiProps } from './Kimi';
|
||||
export { default as Kling, type CompoundedIcon as KlingProps } from './Kling';
|
||||
export { default as Kluster, type CompoundedIcon as KlusterProps } from './Kluster';
|
||||
export { default as Kolors, type CompoundedIcon as KolorsProps } from './Kolors';
|
||||
export { default as Krea, type CompoundedIcon as KreaProps } from './Krea';
|
||||
export { default as Kwaipilot, type CompoundedIcon as KwaipilotProps } from './Kwaipilot';
|
||||
export { default as Lambda, type CompoundedIcon as LambdaProps } from './Lambda';
|
||||
export { default as LangChain, type CompoundedIcon as LangChainProps } from './LangChain';
|
||||
|
||||
+19
@@ -345,6 +345,25 @@ const toc: IconToc[] = [
|
||||
},
|
||||
title: 'Anyscale',
|
||||
},
|
||||
{
|
||||
color: '#fff',
|
||||
desc: 'https://apple.com',
|
||||
docsUrl: 'apple',
|
||||
fullTitle: 'Apple',
|
||||
group: 'provider',
|
||||
id: 'Apple',
|
||||
param: {
|
||||
hasAvatar: true,
|
||||
hasBrand: false,
|
||||
hasBrandColor: false,
|
||||
hasColor: false,
|
||||
hasCombine: true,
|
||||
hasText: true,
|
||||
hasTextCn: false,
|
||||
hasTextColor: false,
|
||||
},
|
||||
title: 'Apple',
|
||||
},
|
||||
{
|
||||
color: '#2545D3',
|
||||
desc: 'https://assemblyai.com',
|
||||
|
||||
Reference in New Issue
Block a user