1
0

icons.tsx 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import React from "react";
  2. import Svg, {
  3. G,
  4. Path
  5. } from "react-native-svg";
  6. export type IconProps = {
  7. size?: number;
  8. color?: string;
  9. style?: any;
  10. };
  11. /* ===================== ICON TEMPLATE ===================== */
  12. function StrokeIcon({
  13. size = 24,
  14. color = "#000",
  15. style,
  16. children,
  17. }: IconProps & { children: React.ReactNode }) {
  18. return (
  19. <Svg width={size} height={size} viewBox="0 0 24 24" style={style}>
  20. <G fill="none" stroke={color} strokeWidth={1.5} strokeLinecap="round" strokeLinejoin="round">
  21. {children}
  22. </G>
  23. </Svg>
  24. );
  25. }
  26. /* ===================== ICONS ===================== */
  27. export const Home = (p: IconProps) => (
  28. <StrokeIcon {...p}>
  29. <Path d="M2.25 12l8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12" />
  30. <Path d="M4.5 9.75V19.875A1.125 1.125 0 005.625 21H9.75v-4.875A1.125 1.125 0 0110.875 15h2.25A1.125 1.125 0 0114.25 16.125V21h4.125A1.125 1.125 0 0019.5 19.875V9.75" />
  31. </StrokeIcon>
  32. );
  33. export const Apps = (p: IconProps) => (
  34. <StrokeIcon {...p}>
  35. <Path d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25A2.25 2.25 0 018.25 10.5H6A2.25 2.25 0 013.75 8.25V6z" />
  36. <Path d="M3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25z" />
  37. <Path d="M13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6z" />
  38. <Path d="M13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" />
  39. </StrokeIcon>
  40. );
  41. export const Bell = (p: IconProps) => (
  42. <StrokeIcon {...p}>
  43. <G fill="none" stroke-width="1.5" stroke={p.color} class="w-6 h-6">
  44. <Path stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0" />
  45. </G>
  46. </StrokeIcon>
  47. );
  48. export const Plus = (p: IconProps) => (
  49. <StrokeIcon {...p}>
  50. <Path d="M12 9v6M15 12H9" />
  51. <Path d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
  52. </StrokeIcon>
  53. );
  54. export const Chat = (p: IconProps) => (
  55. <StrokeIcon {...p}>
  56. <G fill="none" stroke-width="1.5" stroke={p.color} class="w-6 h-6">
  57. <Path stroke-linecap="round" stroke-linejoin="round" d="M8.625 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227 1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 01.778-.332 48.294 48.294 0 005.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z" />
  58. </G>
  59. </StrokeIcon>
  60. );
  61. export const User = (p: IconProps) => (
  62. <StrokeIcon {...p}>
  63. <Path d="M15 9.75a3 3 0 11-6 0 3 3 0 016 0z" />
  64. <Path d="M6.018 18.725A7.488 7.488 0 0112 15.75a7.488 7.488 0 015.982 2.975" />
  65. </StrokeIcon>
  66. );
  67. export const Bars = (p: IconProps) => (
  68. <StrokeIcon {...p}>
  69. <Path d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
  70. </StrokeIcon>
  71. );
  72. export const Search = (p: IconProps) => (
  73. <StrokeIcon {...p}>
  74. <Path d="M21 21l-5.197-5.197" />
  75. <Path d="M15.803 15.803A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" />
  76. </StrokeIcon>
  77. );
  78. export const Back = (p: IconProps) => (
  79. <StrokeIcon {...p}>
  80. <Path d="M10.5 19.5L3 12l7.5-7.5M3 12h18" />
  81. </StrokeIcon>
  82. );
  83. export const Cross = (p: IconProps) => (
  84. <StrokeIcon {...p}>
  85. <Path d="M6 18L18 6M6 6l12 12" />
  86. </StrokeIcon>
  87. );
  88. export const In = (p: IconProps) => (
  89. <StrokeIcon {...p}>
  90. <G fill="none" strokeWidth={1.5} stroke={p.color} className="w-6 h-6">
  91. <Path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9" />
  92. </G>
  93. </StrokeIcon>
  94. );
  95. export const PlusCircle = Plus;
  96. export const Question = (p: IconProps) => (
  97. <StrokeIcon {...p}>
  98. <Path d="M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75" />
  99. <Path d="M12 17.25h.008" />
  100. <Path d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
  101. </StrokeIcon>
  102. );