@coopdigital/react 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +2 -2
  2. package/dist/components/Icon/AddIcon.d.ts +6 -0
  3. package/dist/components/Icon/ArrowDownIcon.d.ts +6 -0
  4. package/dist/components/Icon/ArrowLeftIcon.d.ts +6 -0
  5. package/dist/components/Icon/ArrowRightIcon.d.ts +6 -0
  6. package/dist/components/Icon/ArrowUpIcon.d.ts +6 -0
  7. package/dist/components/Icon/AvatarAltIcon.d.ts +6 -0
  8. package/dist/components/Icon/AvatarIcon.d.ts +6 -0
  9. package/dist/components/Icon/BasketIcon.d.ts +6 -0
  10. package/dist/components/Icon/CalendarIcon.d.ts +6 -0
  11. package/dist/components/Icon/ChevronDownIcon.d.ts +6 -0
  12. package/dist/components/Icon/ChevronLeftIcon.d.ts +6 -0
  13. package/dist/components/Icon/ChevronRightIcon.d.ts +6 -0
  14. package/dist/components/Icon/ChevronUpIcon.d.ts +6 -0
  15. package/dist/components/Icon/ClockIcon.d.ts +6 -0
  16. package/dist/components/Icon/CloseAltIcon.d.ts +6 -0
  17. package/dist/components/Icon/CloseIcon.d.ts +6 -0
  18. package/dist/components/Icon/CoopCardIcon.d.ts +6 -0
  19. package/dist/components/Icon/CoopIcon.d.ts +6 -0
  20. package/dist/components/Icon/CoopLocationIcon.d.ts +6 -0
  21. package/dist/components/Icon/DownloadIcon.d.ts +6 -0
  22. package/dist/components/Icon/HomeIcon.d.ts +6 -0
  23. package/dist/components/Icon/InformationIcon.d.ts +6 -0
  24. package/dist/components/Icon/LocationIcon.d.ts +6 -0
  25. package/dist/components/Icon/MailIcon.d.ts +6 -0
  26. package/dist/components/Icon/MenuIcon.d.ts +6 -0
  27. package/dist/components/Icon/MessageIcon.d.ts +6 -0
  28. package/dist/components/Icon/MinusIcon.d.ts +6 -0
  29. package/dist/components/Icon/OpenNewIcon.d.ts +6 -0
  30. package/dist/components/Icon/PencilIcon.d.ts +6 -0
  31. package/dist/components/Icon/PhoneIcon.d.ts +6 -0
  32. package/dist/components/Icon/QuestionIcon.d.ts +6 -0
  33. package/dist/components/Icon/ScooterIcon.d.ts +6 -0
  34. package/dist/components/Icon/SearchIcon.d.ts +6 -0
  35. package/dist/components/Icon/SettingsIcon.d.ts +6 -0
  36. package/dist/components/Icon/TickAltIcon.d.ts +6 -0
  37. package/dist/components/Icon/TickIcon.d.ts +6 -0
  38. package/dist/components/Icon/VanIcon.d.ts +6 -0
  39. package/dist/components/Icon/WarningIcon.d.ts +6 -0
  40. package/dist/components/Icon/WriteIcon.d.ts +6 -0
  41. package/dist/components/Icon/index.d.ts +39 -13
  42. package/dist/components/RootSVG/RootSVG.d.ts +1 -2
  43. package/dist/components/RootSVG/RootSVG.js +2 -2
  44. package/package.json +4 -3
  45. package/src/components/Icon/AddIcon.tsx +30 -0
  46. package/src/components/Icon/ArrowDownIcon.tsx +27 -0
  47. package/src/components/Icon/ArrowLeftIcon.tsx +27 -0
  48. package/src/components/Icon/ArrowRightIcon.tsx +27 -0
  49. package/src/components/Icon/ArrowUpIcon.tsx +27 -0
  50. package/src/components/Icon/AvatarAltIcon.tsx +34 -0
  51. package/src/components/Icon/AvatarIcon.tsx +30 -0
  52. package/src/components/Icon/BasketIcon.tsx +30 -0
  53. package/src/components/Icon/CalendarIcon.tsx +30 -0
  54. package/src/components/Icon/ChevronDownIcon.tsx +26 -0
  55. package/src/components/Icon/ChevronLeftIcon.tsx +26 -0
  56. package/src/components/Icon/ChevronRightIcon.tsx +26 -0
  57. package/src/components/Icon/ChevronUpIcon.tsx +26 -0
  58. package/src/components/Icon/ClockIcon.tsx +30 -0
  59. package/src/components/Icon/CloseAltIcon.tsx +34 -0
  60. package/src/components/Icon/CloseIcon.tsx +30 -0
  61. package/src/components/Icon/CoopCardIcon.tsx +27 -0
  62. package/src/components/Icon/CoopIcon.tsx +27 -0
  63. package/src/components/Icon/CoopLocationIcon.tsx +34 -0
  64. package/src/components/Icon/DownloadIcon.tsx +31 -0
  65. package/src/components/Icon/HomeIcon.tsx +34 -0
  66. package/src/components/Icon/InformationIcon.tsx +30 -0
  67. package/src/components/Icon/LocationIcon.tsx +30 -0
  68. package/src/components/Icon/MailIcon.tsx +26 -0
  69. package/src/components/Icon/MenuIcon.tsx +26 -0
  70. package/src/components/Icon/MessageIcon.tsx +26 -0
  71. package/src/components/Icon/MinusIcon.tsx +26 -0
  72. package/src/components/Icon/OpenNewIcon.tsx +30 -0
  73. package/src/components/Icon/PencilIcon.tsx +26 -0
  74. package/src/components/Icon/PhoneIcon.tsx +26 -0
  75. package/src/components/Icon/QuestionIcon.tsx +30 -0
  76. package/src/components/Icon/ScooterIcon.tsx +42 -0
  77. package/src/components/Icon/SearchIcon.tsx +30 -0
  78. package/src/components/Icon/SettingsIcon.tsx +26 -0
  79. package/src/components/Icon/TickAltIcon.tsx +30 -0
  80. package/src/components/Icon/TickIcon.tsx +26 -0
  81. package/src/components/Icon/VanIcon.tsx +26 -0
  82. package/src/components/Icon/WarningIcon.tsx +30 -0
  83. package/src/components/Icon/WriteIcon.tsx +38 -0
  84. package/src/components/Icon/index.tsx +39 -36
  85. package/src/components/RootSVG/RootSVG.tsx +2 -22
  86. package/dist/components/Icon/template.d.ts +0 -11
  87. package/src/components/Icon/template.tsx +0 -29
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const AvatarIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M16 31a18.24 18.24 0 0 1-12.64-5.1A1.19 1.19 0 0 1 3 24.86a12.31 12.31 0 0 1 12-10h2a12.31 12.31 0 0 1 12 10 1.19 1.19 0 0 1-.34 1.06A18.24 18.24 0 0 1 16 31M5.42 24.68a15.9 15.9 0 0 0 21.16 0A10 10 0 0 0 17 17.17h-2a10 10 0 0 0-9.58 7.51"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M15.94 3.33a5.77 5.77 0 1 1-5.72 5.77 5.75 5.75 0 0 1 5.72-5.77m0-2.31a8.08 8.08 0 1 0 8 8.08 8 8 0 0 0-8-8.08"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const BasketIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M16.07 26a1 1 0 0 0 1-1v-4.08a1 1 0 1 0-2 0V25a1 1 0 0 0 1 1M21.5 26h.17a1 1 0 0 0 1-.85l.68-4.07a1 1 0 0 0-.82-1.18 1 1 0 0 0-1.16.84l-.67 4.07a1 1 0 0 0 .8 1.19M10.43 26h.17a1 1 0 0 0 .82-1.18l-.68-4.07a1 1 0 0 0-1.15-.84 1 1 0 0 0-.82 1.18l.67 4.07a1 1 0 0 0 .99.84"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M31 10.7h-3.11l-8.25-8.4a1 1 0 0 0-1.41 0 1 1 0 0 0 0 1.44l6.83 7H6.85l6.8-6.93a1 1 0 0 0 0-1.44 1 1 0 0 0-1.42 0l-8.14 8.25a1 1 0 0 0 0 .08H1a1 1 0 0 0-1 1v5.1a1 1 0 0 0 1 1h1.23l1.88 11.36a1 1 0 0 0 1 .84H27a1 1 0 0 0 1-.84l1.88-11.34H31a1 1 0 0 0 1-1v-5.1a1 1 0 0 0-1-1.02M26.15 28H5.94L4.28 18h23.53ZM30 15.79H2v-3.06h28Z"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const CalendarIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M31 2h-4V1a1 1 0 0 0-2 0v1H7V1a1 1 0 0 0-2 0v1H1a1 1 0 0 0-1 1v28a1 1 0 0 0 1 1h30a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1m-1 28H2V10h28Zm0-22H2V4h3v1a1 1 0 0 0 2 0V4h18v1a1 1 0 0 0 2 0V4h3Z"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M6 23v2a1 1 0 0 0 2 0v-1h7v1a1 1 0 0 0 2 0v-1h7v1a1 1 0 0 0 2 0V15a1 1 0 0 0-2 0v1h-7v-1a1 1 0 0 0-2 0v1H8v-1a1 1 0 0 0-2 0v8m18-1h-7v-4h7Zm-9-4v4H8v-4Z"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const ChevronDownIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M31 9a1 1 0 0 0-.29-.71 1 1 0 0 0-1.42 0L16 21.59 2.71 8.3a1 1 0 0 0-1.42 0 1 1 0 0 0 0 1.41l14 14a1 1 0 0 0 1.41 0l14-14A1 1 0 0 0 31 9"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const ChevronLeftIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M22.5 30a1 1 0 0 0 .71-.29 1 1 0 0 0 0-1.42L10.91 16 23.2 3.71a1 1 0 0 0 0-1.41 1 1 0 0 0-1.41 0l-13 13a1 1 0 0 0 0 1.41l13 13a1 1 0 0 0 .71.29"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const ChevronRightIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M9.49 2a1 1 0 0 0-.71 1.71L21.07 16 8.79 28.3a1 1 0 1 0 1.41 1.41l13-13a1 1 0 0 0 0-1.42l-13-13A1 1 0 0 0 9.49 2"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const ChevronUpIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M1 23a1 1 0 0 0 .29.71 1 1 0 0 0 1.42 0L16 10.41 29.29 23.7a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.41l-14-14a1 1 0 0 0-1.41 0l-14 14A1 1 0 0 0 1 23"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const ClockIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M23 21.05a.93.93 0 0 1-.5-.14L15 16.58v-9.5a1 1 0 0 1 1-1 1 1 0 0 1 1 1v8.35l6.47 3.77a1 1 0 0 1 .36 1.36 1 1 0 0 1-.83.49"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M16 2A14 14 0 1 1 2 16 14 14 0 0 1 16 2m0-2a16 16 0 1 0 16 16A16 16 0 0 0 16 0"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,34 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const CloseAltIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M21.55 22.51a1 1 0 0 1-.7-.3l-11-11a1 1 0 0 1 1.41-1.41l11 11a1 1 0 0 1 0 1.41 1 1 0 0 1-.71.3"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M10.55 22.51a1 1 0 0 1-.7-.3 1 1 0 0 1 0-1.41l11-11a1 1 0 0 1 1.41 1.41l-11 11a1 1 0 0 1-.71.3"
26
+ fill="currentColor"
27
+ />
28
+ <path
29
+ d="M16 2A14 14 0 1 1 2 16 14 14 0 0 1 16 2m0-2a16 16 0 1 0 16 16A16 16 0 0 0 16 0"
30
+ fill="currentColor"
31
+ />
32
+ </svg>
33
+ )
34
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const CloseIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M27 28a1 1 0 0 1-.71-.29l-22-22a1 1 0 0 1 1.42-1.42l22 22a1 1 0 0 1 0 1.42A1 1 0 0 1 27 28"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M5 28a1 1 0 0 1-.71-.29 1 1 0 0 1 0-1.42l22-22a1 1 0 1 1 1.42 1.42l-22 22A1 1 0 0 1 5 28"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,27 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const CoopCardIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M6.67 0a1.34 1.34 0 0 0-1.34 1.33v29.34A1.34 1.34 0 0 0 6.67 32h18.66a1.34 1.34 0 0 0 1.34-1.33V1.33A1.34 1.34 0 0 0 25.33 0ZM23 4.77a6.4 6.4 0 0 1 .21 1.62A6.8 6.8 0 0 1 22.94 8a2.1 2.1 0 0 1-.48.85 2.3 2.3 0 0 1-.82.55 6.3 6.3 0 0 1-1.93.31 5.3 5.3 0 0 1-1.94-.31 2.2 2.2 0 0 1-.8-.55 2.3 2.3 0 0 1-.49-.85 5.94 5.94 0 0 1 0-3.24 2.2 2.2 0 0 1 .52-.84 2.1 2.1 0 0 1 .82-.54 5.84 5.84 0 0 1 3.87 0 2.24 2.24 0 0 1 .81.55 2.3 2.3 0 0 1 .5.84m-2 2.4a2.5 2.5 0 0 0 .12-.78 2.4 2.4 0 0 0-.13-.8 1 1 0 0 0-.28-.45 1.15 1.15 0 0 0-.47-.23 2.8 2.8 0 0 0-1 0 1 1 0 0 0-.47.24.9.9 0 0 0-.29.44 2.66 2.66 0 0 0 0 1.58 1 1 0 0 0 .28.45 1.1 1.1 0 0 0 .48.23 2.8 2.8 0 0 0 1 0 1.1 1.1 0 0 0 .47-.24 1 1 0 0 0 .23-.44Zm-5.5 4.75a5.9 5.9 0 0 1 0 3.23 2.07 2.07 0 0 1-1.3 1.4 5.84 5.84 0 0 1-3.87 0 2.16 2.16 0 0 1-.81-.55 2.1 2.1 0 0 1-.52-.85 5.9 5.9 0 0 1 0-3.23 2.1 2.1 0 0 1 .48-.85 2.16 2.16 0 0 1 .82-.55 5.84 5.84 0 0 1 3.87 0 2.19 2.19 0 0 1 1.3 1.4Zm-2 2.41a2.5 2.5 0 0 0 .12-.77 2.7 2.7 0 0 0-.12-.8 1 1 0 0 0-.28-.45 1 1 0 0 0-.48-.23 2.8 2.8 0 0 0-1 0 1 1 0 0 0-.47.24 1 1 0 0 0-.28.44 2.63 2.63 0 0 0 0 1.57.9.9 0 0 0 .28.45 1 1 0 0 0 .47.23 2.8 2.8 0 0 0 1 0 1 1 0 0 0 .47-.23 1 1 0 0 0 .29-.45m2.22-8h-2.1a3.3 3.3 0 0 0-.1-.78 1 1 0 0 0-.29-.45 1.1 1.1 0 0 0-.47-.23 2.8 2.8 0 0 0-1 0 1.05 1.05 0 0 0-.47.24 1.1 1.1 0 0 0-.29.44 2.66 2.66 0 0 0 0 1.58 1 1 0 0 0 .28.45 1.1 1.1 0 0 0 .48.23 2.8 2.8 0 0 0 1 0 1.1 1.1 0 0 0 .47-.24 1.1 1.1 0 0 0 .29-.44 2.3 2.3 0 0 0 .07-.36l2 .92a3 3 0 0 0-.09.31 2.1 2.1 0 0 1-.49.85 2.16 2.16 0 0 1-.81.55 6.4 6.4 0 0 1-1.94.31 5.7 5.7 0 0 1-1.93-.31 2.1 2.1 0 0 1-.8-.55A2.16 2.16 0 0 1 9 8a5.94 5.94 0 0 1 0-3.23 2.06 2.06 0 0 1 .48-.85 2 2 0 0 1 .82-.54 5.84 5.84 0 0 1 3.87 0 2.2 2.2 0 0 1 .8.55 2 2 0 0 1 .49.84 6.7 6.7 0 0 1 .26 1.6Zm.5 7.18a6.2 6.2 0 0 1 .21-1.61 2.06 2.06 0 0 1 .51-.85 2 2 0 0 1 .85-.5 5.84 5.84 0 0 1 3.87 0 2.16 2.16 0 0 1 .81.55 2.1 2.1 0 0 1 .53.9 5.9 5.9 0 0 1 0 3.23 2.1 2.1 0 0 1-.48.85 2.16 2.16 0 0 1-.82.55 6.7 6.7 0 0 1-1.93.32L19 15h.2a2.8 2.8 0 0 0 1 0 1 1 0 0 0 .46-.24 1.05 1.05 0 0 0 .27-.44 2.66 2.66 0 0 0 0-1.58 1 1 0 0 0-.28-.44 1 1 0 0 0-.47-.23 2.4 2.4 0 0 0-1 0 .9.9 0 0 0-.47.23.9.9 0 0 0-.29.44 2.3 2.3 0 0 0-.11.78v4.73h-2.1Z"
22
+ fill="currentColor"
23
+ fillRule="evenodd"
24
+ />
25
+ </svg>
26
+ )
27
+ }
@@ -0,0 +1,27 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const CoopIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M28.77 5.17a11.33 11.33 0 0 1 0 5.93 4 4 0 0 1-.88 1.57 4.1 4.1 0 0 1-1.5 1 12 12 0 0 1-3.56.58 9.8 9.8 0 0 1-3.56-.58 4.2 4.2 0 0 1-1.47-1 4.1 4.1 0 0 1-.9-1.55 10.9 10.9 0 0 1 0-5.94 3.8 3.8 0 0 1 .89-1.56 3.8 3.8 0 0 1 1.49-1 10.73 10.73 0 0 1 7.12 0 3.9 3.9 0 0 1 1.48 1 3.9 3.9 0 0 1 .89 1.55m-3.67 4.4a4.9 4.9 0 0 0 .21-1.43 4.9 4.9 0 0 0-.23-1.47 1.8 1.8 0 0 0-.53-.82 1.77 1.77 0 0 0-.87-.42 5.1 5.1 0 0 0-1.83 0 2 2 0 0 0-.87.43 1.9 1.9 0 0 0-.53.81 4.94 4.94 0 0 0 0 2.9 1.86 1.86 0 0 0 .52.82 1.8 1.8 0 0 0 .88.43 5.1 5.1 0 0 0 1.83 0 1.88 1.88 0 0 0 1.4-1.25Zm-10 8.73a10.9 10.9 0 0 1 0 5.94 3.75 3.75 0 0 1-.88 1.58 3.8 3.8 0 0 1-1.5 1 10.7 10.7 0 0 1-7.11 0 4 4 0 0 1-1.49-1 4.1 4.1 0 0 1-.9-1.56 10.9 10.9 0 0 1 0-5.94 3.9 3.9 0 0 1 .89-1.57 3.8 3.8 0 0 1 1.5-1 10.7 10.7 0 0 1 7.11 0 4 4 0 0 1 1.48 1 3.9 3.9 0 0 1 .88 1.55Zm-3.66 4.44a5 5 0 0 0 .22-1.43 5.2 5.2 0 0 0-.22-1.47 1.9 1.9 0 0 0-.54-.84 1.8 1.8 0 0 0-.88-.43 5.6 5.6 0 0 0-1.83 0 2 2 0 0 0-.87.44 1.9 1.9 0 0 0-.52.81 4.8 4.8 0 0 0 0 2.9 1.7 1.7 0 0 0 .52.82 1.65 1.65 0 0 0 .87.42A4.7 4.7 0 0 0 10 24a1.83 1.83 0 0 0 .87-.43 2 2 0 0 0 .55-.83Zm4.05-14.63h-3.85a6.3 6.3 0 0 0-.19-1.43 1.8 1.8 0 0 0-.52-.82 1.8 1.8 0 0 0-.88-.42 5.1 5.1 0 0 0-1.83 0 1.93 1.93 0 0 0-.87.43 1.9 1.9 0 0 0-.53.81 4.94 4.94 0 0 0 0 2.9 1.86 1.86 0 0 0 .52.82 1.8 1.8 0 0 0 .88.43 5.1 5.1 0 0 0 1.83 0 2 2 0 0 0 .87-.44 2 2 0 0 0 .53-.81 4.5 4.5 0 0 0 .14-.66l3.63 1.69c-.05.16-.1.33-.14.5a4 4 0 0 1-.88 1.57 4.1 4.1 0 0 1-1.5 1 12 12 0 0 1-3.56.58 10.7 10.7 0 0 1-3.55-.58 4.2 4.2 0 0 1-1.48-1 4 4 0 0 1-.89-1.55 10.9 10.9 0 0 1 0-5.94A3.9 3.9 0 0 1 4.1 3.6a4 4 0 0 1 1.5-1 10.7 10.7 0 0 1 7.11 0 3.9 3.9 0 0 1 1.49 1 4 4 0 0 1 .9 1.55 11.3 11.3 0 0 1 .39 2.96m.93 13.19a11 11 0 0 1 .39-3 3.6 3.6 0 0 1 .93-1.55 3.7 3.7 0 0 1 1.56-.92 10.7 10.7 0 0 1 7.11 0 3.9 3.9 0 0 1 1.49 1 4 4 0 0 1 .9 1.55 10.93 10.93 0 0 1 0 5.95 3.8 3.8 0 0 1-.89 1.56 3.74 3.74 0 0 1-1.5 1 11.5 11.5 0 0 1-3.55.59l-1.32-3.59h.15l.21.06a5.2 5.2 0 0 0 1.84 0 1.84 1.84 0 0 0 .84-.44 1.9 1.9 0 0 0 .52-.8 4.94 4.94 0 0 0 0-2.9 1.83 1.83 0 0 0-1.4-1.25 5.1 5.1 0 0 0-1.83 0A2 2 0 0 0 21 19a1.9 1.9 0 0 0-.53.81 4.6 4.6 0 0 0-.2 1.42V30h-3.85Z"
22
+ fill="currentColor"
23
+ fillRule="evenodd"
24
+ />
25
+ </svg>
26
+ )
27
+ }
@@ -0,0 +1,34 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const CoopLocationIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M20.48 6.51a2.4 2.4 0 0 0-.54 0 2.3 2.3 0 0 0-.53 0 1 1 0 0 0-.8.71 2.75 2.75 0 0 0 0 1.67 1.07 1.07 0 0 0 .8.71 3 3 0 0 0 .53.05 3.3 3.3 0 0 0 .54-.05 1.07 1.07 0 0 0 .8-.71 3 3 0 0 0 0-1.67 1 1 0 0 0-.8-.71"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M16 0C13 0 3-.25 3 11c0 13.71 12 21 13 21s13-7.29 13-21C29-.25 19 0 16 0m-.5 17.36a2.25 2.25 0 0 1-1.39 1.49 6.2 6.2 0 0 1-4.11 0 2.27 2.27 0 0 1-1.39-1.49 6.2 6.2 0 0 1 0-3.42A2.27 2.27 0 0 1 10 12.45a6.2 6.2 0 0 1 2.06-.35 6.3 6.3 0 0 1 2.06.35 2.26 2.26 0 0 1 1.38 1.49 6.2 6.2 0 0 1 0 3.42M13.52 8a3.2 3.2 0 0 0-.13-.82 1 1 0 0 0-.8-.71 2.3 2.3 0 0 0-.53 0 2.5 2.5 0 0 0-.54 0 1.05 1.05 0 0 0-.8.71 3 3 0 0 0 0 1.67 1.09 1.09 0 0 0 .8.71 3.3 3.3 0 0 0 .54.05 3 3 0 0 0 .53-.05 1.07 1.07 0 0 0 .8-.71 3 3 0 0 0 .09-.39l2.1 1c0 .09-.05.19-.08.28a2.26 2.26 0 0 1-1.38 1.49 6.1 6.1 0 0 1-2.06.35 6 6 0 0 1-2.06-.33 2.27 2.27 0 0 1-1.39-1.49 6.2 6.2 0 0 1 0-3.42A2.29 2.29 0 0 1 10 4.85a6.2 6.2 0 0 1 2.06-.35 6.3 6.3 0 0 1 2.06.35 2.28 2.28 0 0 1 1.38 1.49A6 6 0 0 1 15.74 8Zm9.87 9.32A2.27 2.27 0 0 1 22 18.85a6.2 6.2 0 0 1-2 .35l-.75-2.07.21.07a3 3 0 0 0 .53.05 3.3 3.3 0 0 0 .54-.05 1.09 1.09 0 0 0 .8-.71 3 3 0 0 0 0-1.67 1 1 0 0 0-.8-.71 2.4 2.4 0 0 0-.54-.06 2.3 2.3 0 0 0-.53.06 1 1 0 0 0-.8.71 2.9 2.9 0 0 0-.13.83v5h-2.27v-5a6.2 6.2 0 0 1 .24-1.71 2.25 2.25 0 0 1 1.39-1.49 6.2 6.2 0 0 1 4.11 0 2.27 2.27 0 0 1 1.39 1.49 6.2 6.2 0 0 1 0 3.42Zm0-7.6A2.26 2.26 0 0 1 22 11.25a6.1 6.1 0 0 1-2 .35 6 6 0 0 1-2.06-.35 2.25 2.25 0 0 1-1.44-1.49 6.2 6.2 0 0 1 0-3.42 2.27 2.27 0 0 1 1.39-1.49 6.2 6.2 0 0 1 4.11 0 2.29 2.29 0 0 1 1.39 1.49 6.2 6.2 0 0 1 0 3.42Z"
26
+ fill="currentColor"
27
+ />
28
+ <path
29
+ d="M12.59 14.11a2.3 2.3 0 0 0-.53 0 2.5 2.5 0 0 0-.54 0 1.05 1.05 0 0 0-.8.71 3 3 0 0 0 0 1.67 1.07 1.07 0 0 0 .8.71 3.3 3.3 0 0 0 .54.05 3 3 0 0 0 .53-.05 1.07 1.07 0 0 0 .8-.71 2.75 2.75 0 0 0 0-1.67 1 1 0 0 0-.8-.71"
30
+ fill="currentColor"
31
+ />
32
+ </svg>
33
+ )
34
+ }
@@ -0,0 +1,31 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const DownloadIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path d="M16 22.56a1 1 0 0 1-1-1V1a1 1 0 0 1 2 0v20.56a1 1 0 0 1-1 1" fill="currentColor" />
21
+ <path
22
+ d="M16 23a1 1 0 0 1-.7-.3l-9.76-9.77A1 1 0 0 1 7 11.52l9 9 9-9a1 1 0 0 1 1.41 0 1 1 0 0 1 0 1.42l-9.73 9.72A1 1 0 0 1 16 23"
23
+ fill="currentColor"
24
+ />
25
+ <path
26
+ d="M30 32H2a2 2 0 0 1-2-2v-7.49a1 1 0 0 1 2 0V30h28v-7.49a1 1 0 0 1 2 0V30a2 2 0 0 1-2 2"
27
+ fill="currentColor"
28
+ />
29
+ </svg>
30
+ )
31
+ }
@@ -0,0 +1,34 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const HomeIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M29 31H3a1 1 0 0 1-1-1V15a1 1 0 0 1 2 0v14h24V15a1 1 0 0 1 2 0v15a1 1 0 0 1-1 1"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M31 17a1 1 0 0 1-.68-.27L15.92 3.37 1.68 16.73a1 1 0 0 1-1.41-.05 1 1 0 0 1 0-1.41l14.91-14a1 1 0 0 1 1.36 0l15.09 14a1 1 0 0 1 .05 1.42A1 1 0 0 1 31 17"
26
+ fill="currentColor"
27
+ />
28
+ <path
29
+ d="M22.86 31h-8a1 1 0 0 1-1-1V18a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1m-7-2h6V19h-6Z"
30
+ fill="currentColor"
31
+ />
32
+ </svg>
33
+ )
34
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const InformationIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M14.46 10.19a1.4 1.4 0 0 1 .43-1A1.5 1.5 0 0 1 16 8.75a1.6 1.6 0 0 1 1.11.41 1.35 1.35 0 0 1 .45 1 1.32 1.32 0 0 1-.45 1 1.56 1.56 0 0 1-1.11.41 1.47 1.47 0 0 1-1.09-.43 1.35 1.35 0 0 1-.45-.95m.34 3.26h2.4v9.6h-2.4Z"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M16 2A14 14 0 1 1 2 16 14 14 0 0 1 16 2m0-2a16 16 0 1 0 16 16A16 16 0 0 0 16 0"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const LocationIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M28 6.3a8 8 0 0 0-4.92-5.1 22.68 22.68 0 0 0-14.56 0A7.39 7.39 0 0 0 3.9 6.3a17.8 17.8 0 0 0-.9 5.9c0 4.1 1.51 12.2 11.74 19.3l.41.3a1.45 1.45 0 0 0 .7.2 1.9 1.9 0 0 0 .7-.2h.1l.5-.3C27.39 24.4 29 16.3 29 12.2a21.5 21.5 0 0 0-1-5.9m-5.53-3.1a6.16 6.16 0 0 1 3.72 3.7 20 20 0 0 1 .8 5.3c0 4.6-2 9.1-5.82 13.2a31 31 0 0 1-4.72 4.1l-.1.1c-.1 0-.1.1-.2.1l-.2.2h-.1c-.1 0-.1-.1-.2-.1a.1.1 0 0 1-.1-.1 37.5 37.5 0 0 1-4.72-4.1C6.91 21.5 4.91 17 4.91 12.3a20.7 20.7 0 0 1 .8-5.3 5.72 5.72 0 0 1 3.61-3.8 21.1 21.1 0 0 1 13.15 0"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M16 18.9a7.11 7.11 0 0 0 7-7 7 7 0 1 0-7 7m0-12a5 5 0 0 1 5 5 5.09 5.09 0 0 1-5 5 5 5 0 1 1 0-10"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const MailIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M32 25.61V6.39a1.4 1.4 0 0 0 0-.2.6.6 0 0 0-.15-.19s0-.08-.05-.11 0 0-.05 0a1 1 0 0 0-.15-.14 1 1 0 0 0-.16-.11l-.17-.05H.73l-.17.07a.5.5 0 0 0-.16.1 1 1 0 0 0-.15.14s-.08.1-.1.1l-.09.18a1.4 1.4 0 0 0 0 .2V25.6a1.4 1.4 0 0 0 0 .2c0 .07.06.12.09.18a1 1 0 0 0 .05.11 1 1 0 0 0 .24.2.5.5 0 0 0 .09.06 1 1 0 0 0 .42.1H31a1 1 0 0 0 .42-.1.5.5 0 0 0 .09-.06 1 1 0 0 0 .24-.2h.05s0-.07.05-.1a.7.7 0 0 0 .09-.19 1 1 0 0 0 .06-.19M2 8.49 12.06 16 2 23.51Zm14 8L4 7.5h24Zm-2.26.81 1.66 1.24.11.06.1.05a1.1 1.1 0 0 0 .39.09 1.1 1.1 0 0 0 .39-.09l.1-.05.11-.06 1.66-1.24L28 24.5H4Zm6.19-1.3L30 8.49v15Z"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const MenuIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M28 5H4a1 1 0 0 1 0-2h24a1 1 0 0 1 0 2M28 17H4a1 1 0 0 1 0-2h24a1 1 0 0 1 0 2M28 29H4a1 1 0 0 1 0-2h24a1 1 0 0 1 0 2"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const MessageIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M30 31a1 1 0 0 1-.75-.34l-7.64-8.6H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h28a1 1 0 0 1 .71.29A1 1 0 0 1 31 2v28a1 1 0 0 1-.65.93.8.8 0 0 1-.35.07M3 20.06h19.06a1 1 0 0 1 .75.33l6.19 7V3H3Z"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,26 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const MinusIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M24.7 16.71a1 1 0 0 1-.7.29H8a1 1 0 1 1 0-2h16a1 1 0 0 1 1 1 1 1 0 0 1-.3.71"
22
+ fill="currentColor"
23
+ />
24
+ </svg>
25
+ )
26
+ }
@@ -0,0 +1,30 @@
1
+ import { type SVGProps, useId } from "react"
2
+
3
+ interface IconProps extends SVGProps<SVGSVGElement> {
4
+ alt?: string
5
+ }
6
+
7
+ export const OpenNewIcon = ({ alt, className, ...props }: IconProps) => {
8
+ const id = useId()
9
+ const componentProps = {
10
+ "aria-labelledby": alt ? id : undefined,
11
+ className: `coop-icon ${className ?? ""}`.trim(),
12
+ fill: "none",
13
+ role: alt ? "img" : undefined,
14
+ viewBox: "0 0 32 32",
15
+ ...props,
16
+ }
17
+ return (
18
+ <svg {...componentProps}>
19
+ {alt ? <title id={id}>{alt}</title> : null}
20
+ <path
21
+ d="M14.16 18.84a1 1 0 0 1-.71-.29 1 1 0 0 1 0-1.42L30 .59a1 1 0 0 1 1.41 0 1 1 0 0 1 0 1.42L14.87 18.55a1 1 0 0 1-.71.29"
22
+ fill="currentColor"
23
+ />
24
+ <path
25
+ d="M31 14a1 1 0 0 1-1-1V2H19a1 1 0 0 1 0-2h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1M24 32H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h11.21a1 1 0 0 1 0 2H2v22h22V18.7a1 1 0 0 1 2 0V30a2 2 0 0 1-2 2"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ )
30
+ }