mirror of
https://github.com/nextui-org/nextui.git
synced 2025-12-08 19:26:11 +00:00
229 lines
6.2 KiB
TypeScript
229 lines
6.2 KiB
TypeScript
|
|
const HeartIcon = `import { React } from '@nextui-org/react';\n
|
|
|
|
export const HeartIcon = ({
|
|
fill = 'currentColor',
|
|
filled,
|
|
size,
|
|
height,
|
|
width,
|
|
label,
|
|
...props
|
|
}) => {
|
|
return (
|
|
<svg
|
|
width={size || width || 24}
|
|
height={size || height || 24}
|
|
viewBox="0 0 24 24"
|
|
fill={filled ? fill : 'none'}
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
{...props}
|
|
>
|
|
<path
|
|
d="M12.62 20.81c-.34.12-.9.12-1.24 0C8.48 19.82 2 15.69 2 8.69 2 5.6 4.49 3.1 7.56 3.1c1.82 0 3.43.88 4.44 2.24a5.53 5.53 0 0 1 4.44-2.24C19.51 3.1 22 5.6 22 8.69c0 7-6.48 11.13-9.38 12.12Z"
|
|
stroke={fill}
|
|
strokeWidth={1.5}
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
/>
|
|
</svg>
|
|
);
|
|
};`;
|
|
|
|
|
|
const CameraIcon = `import { React } from '@nextui-org/react';\n
|
|
|
|
export const CameraIcon = ({
|
|
fill = 'currentColor',
|
|
filled,
|
|
size,
|
|
height,
|
|
width,
|
|
label,
|
|
...props
|
|
}) => {
|
|
return (
|
|
<svg
|
|
width={size || width || 24}
|
|
height={size || height || 24}
|
|
viewBox="0 0 24 24"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
{...props}
|
|
>
|
|
<path
|
|
fillRule="evenodd"
|
|
clipRule="evenodd"
|
|
d="M17.44 6.236c.04.07.11.12.2.12 2.4 0 4.36 1.958 4.36 4.355v5.934A4.368 4.368 0 0117.64 21H6.36A4.361 4.361 0 012 16.645V10.71a4.361 4.361 0 014.36-4.355c.08 0 .16-.04.19-.12l.06-.12.106-.222a97.79 97.79 0 01.714-1.486C7.89 3.51 8.67 3.01 9.64 3h4.71c.97.01 1.76.51 2.22 1.408.157.315.397.822.629 1.31l.141.299.1.22zm-.73 3.836c0 .5.4.9.9.9s.91-.4.91-.9-.41-.909-.91-.909-.9.41-.9.91zm-6.44 1.548c.47-.47 1.08-.719 1.73-.719.65 0 1.26.25 1.72.71.46.459.71 1.068.71 1.717A2.438 2.438 0 0112 15.756c-.65 0-1.26-.25-1.72-.71a2.408 2.408 0 01-.71-1.717v-.01c-.01-.63.24-1.24.7-1.699zm4.5 4.485a3.91 3.91 0 01-2.77 1.15 3.921 3.921 0 01-3.93-3.926 3.865 3.865 0 011.14-2.767A3.921 3.921 0 0112 9.402c1.05 0 2.04.41 2.78 1.15.74.749 1.15 1.738 1.15 2.777a3.958 3.958 0 01-1.16 2.776z"
|
|
fill={fill}
|
|
/>
|
|
</svg>
|
|
);
|
|
};
|
|
|
|
`;
|
|
|
|
const LockIcon = `import { React } from '@nextui-org/react';\n
|
|
|
|
export const LockIcon = ({
|
|
fill = 'currentColor',
|
|
filled,
|
|
size,
|
|
height,
|
|
width,
|
|
label,
|
|
...props
|
|
}) => {
|
|
return (
|
|
<svg
|
|
data-name="Iconly/Curved/Lock"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width={size || width || 24}
|
|
height={size || height || 24}
|
|
viewBox="0 0 24 24"
|
|
{...props}
|
|
>
|
|
<g
|
|
fill="none"
|
|
stroke={fill}
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
strokeMiterlimit={10}
|
|
strokeWidth={1.5}
|
|
>
|
|
<path
|
|
data-name="Stroke 1"
|
|
d="M16.471 9.403V7.25a4.561 4.561 0 00-9.121-.016v2.169"
|
|
/>
|
|
<path data-name="Stroke 3" d="M11.91 14.156v2.221" />
|
|
<path
|
|
data-name="Stroke 5"
|
|
d="M11.91 8.824c-5.745 0-7.66 1.568-7.66 6.271s1.915 6.272 7.66 6.272 7.661-1.568 7.661-6.272-1.921-6.271-7.661-6.271z"
|
|
/>
|
|
</g>
|
|
</svg>
|
|
);
|
|
};
|
|
`;
|
|
|
|
const NotificationIcon = `import { React } from '@nextui-org/react';\n
|
|
|
|
export const NotificationIcon = ({
|
|
fill = 'currentColor',
|
|
filled,
|
|
size,
|
|
height,
|
|
width,
|
|
label,
|
|
...props
|
|
}) => {
|
|
return (
|
|
<svg
|
|
width={size || width || 24}
|
|
height={size || height || 24}
|
|
viewBox="0 0 24 24"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
{...props}
|
|
>
|
|
<path
|
|
fillRule="evenodd"
|
|
clipRule="evenodd"
|
|
d="M18.707 8.796c0 1.256.332 1.997 1.063 2.85.553.628.73 1.435.73 2.31 0 .874-.287 1.704-.863 2.378a4.537 4.537 0 01-2.9 1.413c-1.571.134-3.143.247-4.736.247-1.595 0-3.166-.068-4.737-.247a4.532 4.532 0 01-2.9-1.413 3.616 3.616 0 01-.864-2.378c0-.875.178-1.682.73-2.31.754-.854 1.064-1.594 1.064-2.85V8.37c0-1.682.42-2.781 1.283-3.858C7.861 2.942 9.919 2 11.956 2h.09c2.08 0 4.204.987 5.466 2.625.82 1.054 1.195 2.108 1.195 3.745v.426zM9.074 20.061c0-.504.462-.734.89-.833.5-.106 3.545-.106 4.045 0 .428.099.89.33.89.833-.025.48-.306.904-.695 1.174a3.635 3.635 0 01-1.713.731 3.795 3.795 0 01-1.008 0 3.618 3.618 0 01-1.714-.732c-.39-.269-.67-.694-.695-1.173z"
|
|
fill={fill}
|
|
/>
|
|
</svg>
|
|
);
|
|
};
|
|
`;
|
|
|
|
const UserIcon = `import { React } from '@nextui-org/react';\n
|
|
|
|
export const UserIcon = ({
|
|
fill = 'currentColor',
|
|
filled,
|
|
size,
|
|
height,
|
|
width,
|
|
label,
|
|
...props
|
|
}) => {
|
|
return (
|
|
<svg
|
|
data-name="Iconly/Curved/Profile"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 24 24"
|
|
width={size || width || 24}
|
|
height={size || height || 24}
|
|
{...props}
|
|
>
|
|
<g
|
|
fill="none"
|
|
stroke={fill}
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
strokeMiterlimit={10}
|
|
strokeWidth={1.5}
|
|
>
|
|
<path
|
|
data-name="Stroke 1"
|
|
d="M11.845 21.662C8.153 21.662 5 21.088 5 18.787s3.133-4.425 6.845-4.425c3.692 0 6.845 2.1 6.845 4.4s-3.134 2.9-6.845 2.9z"
|
|
/>
|
|
<path
|
|
data-name="Stroke 3"
|
|
d="M11.837 11.174a4.372 4.372 0 10-.031 0z"
|
|
/>
|
|
</g>
|
|
</svg>
|
|
);
|
|
};
|
|
`;
|
|
|
|
|
|
const AppJs = `import { Button,Spacer } from '@nextui-org/react';
|
|
import { HeartIcon } from './HeartIcon';
|
|
import { CameraIcon } from './CameraIcon';
|
|
import { LockIcon } from './LockIcon';
|
|
import { NotificationIcon } from './NotificationIcon';
|
|
import { UserIcon } from './UserIcon';
|
|
|
|
export default function App() {
|
|
return (
|
|
<>
|
|
<Button auto color="error" icon={<HeartIcon fill="currentColor" filled />} />
|
|
<Spacer y={1} />
|
|
<Button iconRight={<CameraIcon fill="currentColor" />}>Take a photo</Button>
|
|
<Spacer y={1} />
|
|
<Button icon={<LockIcon fill="currentColor" />} color="success">
|
|
Lock
|
|
</Button>
|
|
<Spacer y={1} />
|
|
<Button icon={<NotificationIcon fill="currentColor" />} color="secondary">
|
|
Notifications
|
|
</Button>
|
|
<Spacer y={1} />
|
|
<Button icon={<UserIcon fill="currentColor" />} color="error" flat>
|
|
Delete User
|
|
</Button>
|
|
<Spacer y={1} />
|
|
<Button icon={<UserIcon />} disabled>
|
|
Delete User
|
|
</Button>
|
|
</>
|
|
)}
|
|
`;
|
|
|
|
const react = {
|
|
'/HeartIcon.js': HeartIcon,
|
|
'/CameraIcon.js': CameraIcon,
|
|
'/LockIcon.js': LockIcon,
|
|
'/NotificationIcon.js': NotificationIcon,
|
|
'/UserIcon.js': UserIcon,
|
|
'/App.js': AppJs
|
|
};
|
|
|
|
|
|
export default {
|
|
...react,
|
|
};
|