@coopdigital/react 0.46.0 → 0.48.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 (198) hide show
  1. package/dist/components/AlertBanner/AlertBanner.d.ts +16 -4
  2. package/dist/components/AlertBanner/AlertBanner.js +8 -3
  3. package/dist/components/Author/Author.d.ts +4 -2
  4. package/dist/components/Author/Author.js +2 -2
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Button/Button.js +1 -2
  7. package/dist/components/Card/Card.d.ts +4 -2
  8. package/dist/components/Card/Card.js +2 -2
  9. package/dist/components/Checkbox/Checkbox.d.ts +4 -2
  10. package/dist/components/Checkbox/Checkbox.js +3 -3
  11. package/dist/components/Expandable/Expandable.d.ts +4 -2
  12. package/dist/components/Expandable/Expandable.js +2 -2
  13. package/dist/components/Field/Field.d.ts +4 -2
  14. package/dist/components/Field/Field.js +4 -4
  15. package/dist/components/FieldMarkers/Error.d.ts +4 -2
  16. package/dist/components/FieldMarkers/Error.js +2 -2
  17. package/dist/components/FieldMarkers/Hint.d.ts +5 -3
  18. package/dist/components/FieldMarkers/Hint.js +2 -2
  19. package/dist/components/FieldMarkers/Label.d.ts +4 -2
  20. package/dist/components/FieldMarkers/Label.js +6 -2
  21. package/dist/components/FieldMarkers/Legend.d.ts +4 -2
  22. package/dist/components/FieldMarkers/Legend.js +2 -2
  23. package/dist/components/Fieldset/Fieldset.d.ts +4 -2
  24. package/dist/components/Fieldset/Fieldset.js +2 -4
  25. package/dist/components/Flourish/Flourish.d.ts +4 -2
  26. package/dist/components/Flourish/Flourish.js +2 -2
  27. package/dist/components/Icon/AddIcon.d.ts +1 -1
  28. package/dist/components/Icon/AddIcon.js +6 -5
  29. package/dist/components/Icon/ArrowDownIcon.d.ts +1 -1
  30. package/dist/components/Icon/ArrowDownIcon.js +6 -5
  31. package/dist/components/Icon/ArrowLeftIcon.d.ts +1 -1
  32. package/dist/components/Icon/ArrowLeftIcon.js +6 -5
  33. package/dist/components/Icon/ArrowRightIcon.d.ts +1 -1
  34. package/dist/components/Icon/ArrowRightIcon.js +6 -5
  35. package/dist/components/Icon/ArrowUpIcon.d.ts +1 -1
  36. package/dist/components/Icon/ArrowUpIcon.js +6 -5
  37. package/dist/components/Icon/AvatarAltIcon.d.ts +1 -1
  38. package/dist/components/Icon/AvatarAltIcon.js +6 -5
  39. package/dist/components/Icon/AvatarIcon.d.ts +1 -1
  40. package/dist/components/Icon/AvatarIcon.js +6 -5
  41. package/dist/components/Icon/BasketIcon.d.ts +1 -1
  42. package/dist/components/Icon/BasketIcon.js +6 -5
  43. package/dist/components/Icon/CalendarIcon.d.ts +1 -1
  44. package/dist/components/Icon/CalendarIcon.js +6 -5
  45. package/dist/components/Icon/ChevronDownIcon.d.ts +1 -1
  46. package/dist/components/Icon/ChevronDownIcon.js +6 -5
  47. package/dist/components/Icon/ChevronLeftIcon.d.ts +1 -1
  48. package/dist/components/Icon/ChevronLeftIcon.js +6 -5
  49. package/dist/components/Icon/ChevronRightIcon.d.ts +1 -1
  50. package/dist/components/Icon/ChevronRightIcon.js +6 -5
  51. package/dist/components/Icon/ChevronUpIcon.d.ts +1 -1
  52. package/dist/components/Icon/ChevronUpIcon.js +6 -5
  53. package/dist/components/Icon/ClockIcon.d.ts +1 -1
  54. package/dist/components/Icon/ClockIcon.js +6 -5
  55. package/dist/components/Icon/CloseAltIcon.d.ts +1 -1
  56. package/dist/components/Icon/CloseAltIcon.js +6 -5
  57. package/dist/components/Icon/CloseIcon.d.ts +1 -1
  58. package/dist/components/Icon/CloseIcon.js +6 -5
  59. package/dist/components/Icon/CoopCardIcon.d.ts +1 -1
  60. package/dist/components/Icon/CoopCardIcon.js +6 -5
  61. package/dist/components/Icon/CoopIcon.d.ts +1 -1
  62. package/dist/components/Icon/CoopIcon.js +6 -5
  63. package/dist/components/Icon/CoopLocationIcon.d.ts +1 -1
  64. package/dist/components/Icon/CoopLocationIcon.js +6 -5
  65. package/dist/components/Icon/DownloadIcon.d.ts +1 -1
  66. package/dist/components/Icon/DownloadIcon.js +6 -5
  67. package/dist/components/Icon/HomeIcon.d.ts +1 -1
  68. package/dist/components/Icon/HomeIcon.js +6 -5
  69. package/dist/components/Icon/InformationIcon.d.ts +1 -1
  70. package/dist/components/Icon/InformationIcon.js +6 -5
  71. package/dist/components/Icon/LoadingIcon.d.ts +1 -1
  72. package/dist/components/Icon/LoadingIcon.js +6 -5
  73. package/dist/components/Icon/LocationIcon.d.ts +1 -1
  74. package/dist/components/Icon/LocationIcon.js +6 -5
  75. package/dist/components/Icon/MailIcon.d.ts +1 -1
  76. package/dist/components/Icon/MailIcon.js +6 -5
  77. package/dist/components/Icon/MenuIcon.d.ts +1 -1
  78. package/dist/components/Icon/MenuIcon.js +6 -5
  79. package/dist/components/Icon/MessageIcon.d.ts +1 -1
  80. package/dist/components/Icon/MessageIcon.js +6 -5
  81. package/dist/components/Icon/MinusIcon.d.ts +1 -1
  82. package/dist/components/Icon/MinusIcon.js +6 -5
  83. package/dist/components/Icon/OpenNewIcon.d.ts +1 -1
  84. package/dist/components/Icon/OpenNewIcon.js +6 -5
  85. package/dist/components/Icon/PencilIcon.d.ts +1 -1
  86. package/dist/components/Icon/PencilIcon.js +6 -5
  87. package/dist/components/Icon/PhoneIcon.d.ts +1 -1
  88. package/dist/components/Icon/PhoneIcon.js +6 -5
  89. package/dist/components/Icon/QuestionIcon.d.ts +1 -1
  90. package/dist/components/Icon/QuestionIcon.js +6 -5
  91. package/dist/components/Icon/ScooterIcon.d.ts +1 -1
  92. package/dist/components/Icon/ScooterIcon.js +6 -5
  93. package/dist/components/Icon/SearchIcon.d.ts +1 -1
  94. package/dist/components/Icon/SearchIcon.js +6 -5
  95. package/dist/components/Icon/SettingsIcon.d.ts +1 -1
  96. package/dist/components/Icon/SettingsIcon.js +6 -5
  97. package/dist/components/Icon/TickAltIcon.d.ts +1 -1
  98. package/dist/components/Icon/TickAltIcon.js +6 -5
  99. package/dist/components/Icon/TickIcon.d.ts +1 -1
  100. package/dist/components/Icon/TickIcon.js +6 -5
  101. package/dist/components/Icon/VanIcon.d.ts +1 -1
  102. package/dist/components/Icon/VanIcon.js +6 -5
  103. package/dist/components/Icon/WarningIcon.d.ts +1 -1
  104. package/dist/components/Icon/WarningIcon.js +6 -5
  105. package/dist/components/Icon/WriteIcon.d.ts +1 -1
  106. package/dist/components/Icon/WriteIcon.js +6 -5
  107. package/dist/components/Image/Image.d.ts +4 -2
  108. package/dist/components/Image/Image.js +2 -2
  109. package/dist/components/Pill/Pill.d.ts +4 -2
  110. package/dist/components/Pill/Pill.js +5 -6
  111. package/dist/components/Radio/Radio.d.ts +5 -3
  112. package/dist/components/Radio/Radio.js +6 -7
  113. package/dist/components/Searchbox/Searchbox.d.ts +4 -2
  114. package/dist/components/Searchbox/Searchbox.js +14 -9
  115. package/dist/components/Select/Select.d.ts +46 -0
  116. package/dist/components/Select/Select.js +29 -0
  117. package/dist/components/Select/index.d.ts +4 -0
  118. package/dist/components/Signpost/Signpost.d.ts +6 -4
  119. package/dist/components/Signpost/Signpost.js +3 -6
  120. package/dist/components/SkipNav/SkipNav.d.ts +4 -2
  121. package/dist/components/SkipNav/SkipNav.js +2 -2
  122. package/dist/components/Squircle/Squircle.d.ts +4 -2
  123. package/dist/components/Squircle/Squircle.js +2 -2
  124. package/dist/components/Tag/Tag.d.ts +5 -3
  125. package/dist/components/Tag/Tag.js +3 -6
  126. package/dist/components/TextInput/TextInput.d.ts +4 -2
  127. package/dist/components/TextInput/TextInput.js +3 -3
  128. package/dist/components/Textarea/Textarea.d.ts +4 -2
  129. package/dist/components/Textarea/Textarea.js +5 -6
  130. package/dist/index.d.ts +1 -0
  131. package/dist/index.js +1 -0
  132. package/package.json +10 -10
  133. package/src/components/AlertBanner/AlertBanner.tsx +22 -9
  134. package/src/components/Author/Author.tsx +5 -2
  135. package/src/components/Button/Button.tsx +2 -3
  136. package/src/components/Card/Card.tsx +5 -2
  137. package/src/components/Checkbox/Checkbox.tsx +11 -5
  138. package/src/components/Expandable/Expandable.tsx +10 -3
  139. package/src/components/Field/Field.tsx +7 -5
  140. package/src/components/FieldMarkers/Error.tsx +9 -3
  141. package/src/components/FieldMarkers/Hint.tsx +10 -4
  142. package/src/components/FieldMarkers/Label.tsx +9 -3
  143. package/src/components/FieldMarkers/Legend.tsx +9 -3
  144. package/src/components/Fieldset/Fieldset.tsx +9 -4
  145. package/src/components/Flourish/Flourish.tsx +5 -2
  146. package/src/components/Icon/AddIcon.tsx +9 -6
  147. package/src/components/Icon/ArrowDownIcon.tsx +9 -6
  148. package/src/components/Icon/ArrowLeftIcon.tsx +9 -6
  149. package/src/components/Icon/ArrowRightIcon.tsx +9 -6
  150. package/src/components/Icon/ArrowUpIcon.tsx +9 -6
  151. package/src/components/Icon/AvatarAltIcon.tsx +9 -6
  152. package/src/components/Icon/AvatarIcon.tsx +9 -6
  153. package/src/components/Icon/BasketIcon.tsx +9 -6
  154. package/src/components/Icon/CalendarIcon.tsx +9 -6
  155. package/src/components/Icon/ChevronDownIcon.tsx +9 -6
  156. package/src/components/Icon/ChevronLeftIcon.tsx +9 -6
  157. package/src/components/Icon/ChevronRightIcon.tsx +9 -6
  158. package/src/components/Icon/ChevronUpIcon.tsx +9 -6
  159. package/src/components/Icon/ClockIcon.tsx +9 -6
  160. package/src/components/Icon/CloseAltIcon.tsx +9 -6
  161. package/src/components/Icon/CloseIcon.tsx +9 -6
  162. package/src/components/Icon/CoopCardIcon.tsx +9 -6
  163. package/src/components/Icon/CoopIcon.tsx +9 -6
  164. package/src/components/Icon/CoopLocationIcon.tsx +9 -6
  165. package/src/components/Icon/DownloadIcon.tsx +9 -6
  166. package/src/components/Icon/HomeIcon.tsx +9 -6
  167. package/src/components/Icon/InformationIcon.tsx +9 -6
  168. package/src/components/Icon/LoadingIcon.tsx +9 -6
  169. package/src/components/Icon/LocationIcon.tsx +9 -6
  170. package/src/components/Icon/MailIcon.tsx +9 -6
  171. package/src/components/Icon/MenuIcon.tsx +9 -6
  172. package/src/components/Icon/MessageIcon.tsx +9 -6
  173. package/src/components/Icon/MinusIcon.tsx +9 -6
  174. package/src/components/Icon/OpenNewIcon.tsx +9 -6
  175. package/src/components/Icon/PencilIcon.tsx +9 -6
  176. package/src/components/Icon/PhoneIcon.tsx +9 -6
  177. package/src/components/Icon/QuestionIcon.tsx +9 -6
  178. package/src/components/Icon/ScooterIcon.tsx +9 -6
  179. package/src/components/Icon/SearchIcon.tsx +9 -6
  180. package/src/components/Icon/SettingsIcon.tsx +9 -6
  181. package/src/components/Icon/TickAltIcon.tsx +9 -6
  182. package/src/components/Icon/TickIcon.tsx +9 -6
  183. package/src/components/Icon/VanIcon.tsx +9 -6
  184. package/src/components/Icon/WarningIcon.tsx +9 -6
  185. package/src/components/Icon/WriteIcon.tsx +9 -6
  186. package/src/components/Image/Image.tsx +5 -2
  187. package/src/components/Pill/Pill.tsx +8 -7
  188. package/src/components/Radio/Radio.tsx +11 -8
  189. package/src/components/Searchbox/Searchbox.tsx +26 -21
  190. package/src/components/Select/Select.tsx +97 -0
  191. package/src/components/Select/index.ts +5 -0
  192. package/src/components/Signpost/Signpost.tsx +8 -8
  193. package/src/components/SkipNav/SkipNav.tsx +5 -2
  194. package/src/components/Squircle/Squircle.tsx +5 -2
  195. package/src/components/Tag/Tag.tsx +9 -8
  196. package/src/components/TextInput/TextInput.tsx +10 -5
  197. package/src/components/Textarea/Textarea.tsx +9 -7
  198. package/src/index.ts +1 -0
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const DownloadIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const DownloadIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const DownloadIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const DownloadIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "download",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("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: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("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: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { DownloadIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const HomeIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const HomeIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const HomeIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const HomeIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "home",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { HomeIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const InformationIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const InformationIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const InformationIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const InformationIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "information",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { InformationIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const LoadingIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const LoadingIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const LoadingIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const LoadingIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "loading",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 24 24",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { d: "M10.72 19.9a8 8 0 0 1-6.5-9.79 7.77 7.77 0 0 1 6.18-5.95 8 8 0 0 1 9.49 6.52A1.54 1.54 0 0 0 21.38 12h.13a1.37 1.37 0 0 0 1.38-1.54 11 11 0 1 0-12.7 12.39A1.54 1.54 0 0 0 12 21.34a1.47 1.47 0 0 0-1.28-1.44", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { d: "M10.72 19.9a8 8 0 0 1-6.5-9.79 7.77 7.77 0 0 1 6.18-5.95 8 8 0 0 1 9.49 6.52A1.54 1.54 0 0 0 21.38 12h.13a1.37 1.37 0 0 0 1.38-1.54 11 11 0 1 0-12.7 12.39A1.54 1.54 0 0 0 12 21.34a1.47 1.47 0 0 0-1.28-1.44", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { LoadingIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const LocationIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const LocationIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const LocationIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const LocationIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "location",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { LocationIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const MailIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const MailIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const MailIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const MailIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "mail",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { MailIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const MenuIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const MenuIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const MenuIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const MenuIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "menu",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { MenuIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const MessageIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const MessageIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const MessageIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const MessageIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "message",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { MessageIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const MinusIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const MinusIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const MinusIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const MinusIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "minus",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { MinusIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const OpenNewIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const OpenNewIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const OpenNewIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const OpenNewIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "open-new",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { 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", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { OpenNewIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const PencilIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const PencilIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const PencilIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const PencilIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "pencil",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { d: "M31.7 6.12 25.88.3a1 1 0 0 0-1.4 0L1.3 23.47a.86.86 0 0 0-.3.6L0 30.9a1.14 1.14 0 0 0 .3.8.91.91 0 0 0 .7.3h.1l6.82-1a.61.61 0 0 0 .61-.3L31.7 7.52a1 1 0 0 0 0-1.4M7.22 29l-3.57.56L5.08 28a1 1 0 0 0 0-1.42 1 1 0 0 0-1.41.05L2.39 28l.52-3.29 1.91-1.91 4.12 4.52Zm3.14-3.11-4.12-4.54L25.18 2.41l4.41 4.41Z", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { d: "M31.7 6.12 25.88.3a1 1 0 0 0-1.4 0L1.3 23.47a.86.86 0 0 0-.3.6L0 30.9a1.14 1.14 0 0 0 .3.8.91.91 0 0 0 .7.3h.1l6.82-1a.61.61 0 0 0 .61-.3L31.7 7.52a1 1 0 0 0 0-1.4M7.22 29l-3.57.56L5.08 28a1 1 0 0 0 0-1.42 1 1 0 0 0-1.41.05L2.39 28l.52-3.29 1.91-1.91 4.12 4.52Zm3.14-3.11-4.12-4.54L25.18 2.41l4.41 4.41Z", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { PencilIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const PhoneIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const PhoneIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const PhoneIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const PhoneIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "phone",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { d: "M28.88 21.26c-2.26-1.72-5.46-2.84-7-1.42-.51.51-1.65 1.52-5.15-1.42-5.73-5.37-5.47-7.29-4.44-8.42 1.44-1.52.41-4.66-1.34-6.89C8.78.38 6.21-.63 4.14.38a6.53 6.53 0 0 0-4 4.67c-.94 4.66 3.49 10.64 7.3 14.89.72.81 1.45 1.52 2.17 2.33l.41.41C14.45 27 20.53 32 25.58 32a4.4 4.4 0 0 0 1.14-.1 6.64 6.64 0 0 0 5-3.95c.87-2.03-.16-4.56-2.84-6.69m-13.6-1.32c2.06 1.72 5.25 3.75 7.93 1.42.42-.3 2.37 0 4.44 1.52 1.44 1.12 2.78 2.84 2.06 4.12a4.45 4.45 0 0 1-3.4 2.84c-3.3.51-8.77-2.63-14.85-8.71l-.31-.31c-.72-.71-1.44-1.41-2.16-2.23H9C4 13.15 1.57 8.49 2.19 5.45a4.69 4.69 0 0 1 2.88-3.24c1.34-.71 3.09.71 4.13 2.13 1.54 2 1.85 3.95 1.44 4.35-2.89 3 .1 6.89 3.92 10.64", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { d: "M28.88 21.26c-2.26-1.72-5.46-2.84-7-1.42-.51.51-1.65 1.52-5.15-1.42-5.73-5.37-5.47-7.29-4.44-8.42 1.44-1.52.41-4.66-1.34-6.89C8.78.38 6.21-.63 4.14.38a6.53 6.53 0 0 0-4 4.67c-.94 4.66 3.49 10.64 7.3 14.89.72.81 1.45 1.52 2.17 2.33l.41.41C14.45 27 20.53 32 25.58 32a4.4 4.4 0 0 0 1.14-.1 6.64 6.64 0 0 0 5-3.95c.87-2.03-.16-4.56-2.84-6.69m-13.6-1.32c2.06 1.72 5.25 3.75 7.93 1.42.42-.3 2.37 0 4.44 1.52 1.44 1.12 2.78 2.84 2.06 4.12a4.45 4.45 0 0 1-3.4 2.84c-3.3.51-8.77-2.63-14.85-8.71l-.31-.31c-.72-.71-1.44-1.41-2.16-2.23H9C4 13.15 1.57 8.49 2.19 5.45a4.69 4.69 0 0 1 2.88-3.24c1.34-.71 3.09.71 4.13 2.13 1.54 2 1.85 3.95 1.44 4.35-2.89 3 .1 6.89 3.92 10.64", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { PhoneIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const QuestionIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const QuestionIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const QuestionIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const QuestionIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "question",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { d: "M16 0a16 16 0 1 0 16 16A16 16 0 0 0 16 0m0 30a14 14 0 1 1 14-14 14 14 0 0 1-14 14", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M15.89 20.32a1.58 1.58 0 0 0-1.14.46 1.5 1.5 0 0 0-.47 1.1 1.3 1.3 0 0 0 .13.6 1.6 1.6 0 0 0 .35.48 1.7 1.7 0 0 0 .51.33 1.6 1.6 0 0 0 .62.12 1.55 1.55 0 0 0 1.11-.47 1.48 1.48 0 0 0 .47-1.1 1.4 1.4 0 0 0-.47-1.08 1.6 1.6 0 0 0-1.11-.44M19.11 9.71A4.3 4.3 0 0 0 17.74 9a5.2 5.2 0 0 0-1.63-.25 5.4 5.4 0 0 0-1.73.25 4.5 4.5 0 0 0-1.38.78 4.3 4.3 0 0 0-1 1.28 5 5 0 0 0-.51 1.71l2.41.23a2.7 2.7 0 0 1 .16-.78 1.9 1.9 0 0 1 .41-.67 2.1 2.1 0 0 1 .64-.46 1.9 1.9 0 0 1 .84-.17 1.78 1.78 0 0 1 1.39.53 1.84 1.84 0 0 1 .49 1.31 1.9 1.9 0 0 1-.27 1 4 4 0 0 1-.65.76l-.9.86a5.4 5.4 0 0 0-.63.68 3.05 3.05 0 0 0-.63 1.39 5.4 5.4 0 0 0-.07.86v.76h2.37v-.52a4 4 0 0 1 .06-.74 1.8 1.8 0 0 1 .21-.56 2.7 2.7 0 0 1 .4-.52c.17-.18.39-.38.65-.61s.59-.52.84-.77a5 5 0 0 0 .63-.77 3.4 3.4 0 0 0 .4-.88 4.2 4.2 0 0 0 .14-1.13 3.8 3.8 0 0 0-.38-1.64 3.6 3.6 0 0 0-.89-1.22", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { d: "M16 0a16 16 0 1 0 16 16A16 16 0 0 0 16 0m0 30a14 14 0 1 1 14-14 14 14 0 0 1-14 14", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M15.89 20.32a1.58 1.58 0 0 0-1.14.46 1.5 1.5 0 0 0-.47 1.1 1.3 1.3 0 0 0 .13.6 1.6 1.6 0 0 0 .35.48 1.7 1.7 0 0 0 .51.33 1.6 1.6 0 0 0 .62.12 1.55 1.55 0 0 0 1.11-.47 1.48 1.48 0 0 0 .47-1.1 1.4 1.4 0 0 0-.47-1.08 1.6 1.6 0 0 0-1.11-.44M19.11 9.71A4.3 4.3 0 0 0 17.74 9a5.2 5.2 0 0 0-1.63-.25 5.4 5.4 0 0 0-1.73.25 4.5 4.5 0 0 0-1.38.78 4.3 4.3 0 0 0-1 1.28 5 5 0 0 0-.51 1.71l2.41.23a2.7 2.7 0 0 1 .16-.78 1.9 1.9 0 0 1 .41-.67 2.1 2.1 0 0 1 .64-.46 1.9 1.9 0 0 1 .84-.17 1.78 1.78 0 0 1 1.39.53 1.84 1.84 0 0 1 .49 1.31 1.9 1.9 0 0 1-.27 1 4 4 0 0 1-.65.76l-.9.86a5.4 5.4 0 0 0-.63.68 3.05 3.05 0 0 0-.63 1.39 5.4 5.4 0 0 0-.07.86v.76h2.37v-.52a4 4 0 0 1 .06-.74 1.8 1.8 0 0 1 .21-.56 2.7 2.7 0 0 1 .4-.52c.17-.18.39-.38.65-.61s.59-.52.84-.77a5 5 0 0 0 .63-.77 3.4 3.4 0 0 0 .4-.88 4.2 4.2 0 0 0 .14-1.13 3.8 3.8 0 0 0-.38-1.64 3.6 3.6 0 0 0-.89-1.22", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { QuestionIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const ScooterIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ScooterIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const ScooterIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const ScooterIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "scooter",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 46 30",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsxs("g", { clipPath: "url(#a)", clipRule: "evenodd", fill: "currentColor", fillRule: "evenodd", children: [jsx("path", { d: "M41.292 18.293a1 1 0 0 1 1.414 0C43.88 19.465 44.6 21.014 44.6 22.8c0 3.452-2.747 6.2-6.2 6.2-3.333 0-6.08-2.622-6.2-5.964a1 1 0 1 1 2-.072 4.19 4.19 0 0 0 4.2 4.036c2.348 0 4.2-1.852 4.2-4.2 0-1.214-.48-2.265-1.307-3.093a1 1 0 0 1 0-1.414M1.1 23a9.28 9.28 0 0 1 9.3-9.3 9.28 9.28 0 0 1 9.3 9.3 1 1 0 0 1-1 1H2.1a1 1 0 0 1-1-1m2.067-1h14.466a7.28 7.28 0 0 0-7.233-6.3A7.28 7.28 0 0 0 3.167 22" }), jsx("path", { d: "M34.754 13.161c3.98-1.476 8.72.438 10.545 4.203a1 1 0 1 1-1.8.872c-1.374-2.834-5.032-4.32-8.052-3.199l-.006.003c-.933.339-1.796.939-2.494 1.724a1 1 0 0 1-1.495-1.328c.9-1.014 2.036-1.813 3.302-2.275M10.4 29.3a6.164 6.164 0 0 1-6.2-6.2h2c0 2.348 1.852 4.2 4.2 4.2s4.2-1.852 4.2-4.2h2c0 3.452-2.749 6.2-6.2 6.2", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M21.3 1a1 1 0 0 1 1-1h5.1a1 1 0 0 1 .869.503l7.1 12.4a1 1 0 1 1-1.736.994L26.821 2h-4.52a1 1 0 0 1-1-1M8.585 9.2c3.42-.1 6.556-.012 9.806 1.829 2.713 1.52 4.878 4.116 5.858 7.055a1 1 0 0 1-1.898.632c-.82-2.46-2.654-4.663-4.94-5.943l-.004-.003c-2.745-1.555-5.404-1.67-8.778-1.57H8a1 1 0 1 1 0-2z", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M45.33 17.434a1 1 0 0 1-.564 1.297l-12.2 4.8-.05.018c-.966.322-1.976.551-3.116.551H2.1a1 1 0 1 1 0-2h27.3c.851 0 1.634-.167 2.459-.44l12.174-4.79a1 1 0 0 1 1.297.564M0 5.7a1 1 0 0 1 1-1h9.9a1 1 0 1 1 0 2H1a1 1 0 0 1-1-1M1.8 10.2a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1M3.2 1a1 1 0 0 1 1-1h7.1a1 1 0 1 1 0 2H4.2a1 1 0 0 1-1-1", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }), jsx("defs", { children: jsx("clipPath", { id: "a", children: jsx("path", { d: "M0 0h45.4v29.3H0z", fill: "currentColor" }) }) })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsxs("g", { clipPath: "url(#a)", clipRule: "evenodd", fill: "currentColor", fillRule: "evenodd", children: [jsx("path", { d: "M41.292 18.293a1 1 0 0 1 1.414 0C43.88 19.465 44.6 21.014 44.6 22.8c0 3.452-2.747 6.2-6.2 6.2-3.333 0-6.08-2.622-6.2-5.964a1 1 0 1 1 2-.072 4.19 4.19 0 0 0 4.2 4.036c2.348 0 4.2-1.852 4.2-4.2 0-1.214-.48-2.265-1.307-3.093a1 1 0 0 1 0-1.414M1.1 23a9.28 9.28 0 0 1 9.3-9.3 9.28 9.28 0 0 1 9.3 9.3 1 1 0 0 1-1 1H2.1a1 1 0 0 1-1-1m2.067-1h14.466a7.28 7.28 0 0 0-7.233-6.3A7.28 7.28 0 0 0 3.167 22" }), jsx("path", { d: "M34.754 13.161c3.98-1.476 8.72.438 10.545 4.203a1 1 0 1 1-1.8.872c-1.374-2.834-5.032-4.32-8.052-3.199l-.006.003c-.933.339-1.796.939-2.494 1.724a1 1 0 0 1-1.495-1.328c.9-1.014 2.036-1.813 3.302-2.275M10.4 29.3a6.164 6.164 0 0 1-6.2-6.2h2c0 2.348 1.852 4.2 4.2 4.2s4.2-1.852 4.2-4.2h2c0 3.452-2.749 6.2-6.2 6.2", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M21.3 1a1 1 0 0 1 1-1h5.1a1 1 0 0 1 .869.503l7.1 12.4a1 1 0 1 1-1.736.994L26.821 2h-4.52a1 1 0 0 1-1-1M8.585 9.2c3.42-.1 6.556-.012 9.806 1.829 2.713 1.52 4.878 4.116 5.858 7.055a1 1 0 0 1-1.898.632c-.82-2.46-2.654-4.663-4.94-5.943l-.004-.003c-2.745-1.555-5.404-1.67-8.778-1.57H8a1 1 0 1 1 0-2z", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M45.33 17.434a1 1 0 0 1-.564 1.297l-12.2 4.8-.05.018c-.966.322-1.976.551-3.116.551H2.1a1 1 0 1 1 0-2h27.3c.851 0 1.634-.167 2.459-.44l12.174-4.79a1 1 0 0 1 1.297.564M0 5.7a1 1 0 0 1 1-1h9.9a1 1 0 1 1 0 2H1a1 1 0 0 1-1-1M1.8 10.2a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1M3.2 1a1 1 0 0 1 1-1h7.1a1 1 0 1 1 0 2H4.2a1 1 0 0 1-1-1", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }), jsx("defs", { children: jsx("clipPath", { id: "a", children: jsx("path", { d: "M0 0h45.4v29.3H0z", fill: "currentColor" }) }) })] }));
17
18
  };
18
19
 
19
20
  export { ScooterIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const SearchIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const SearchIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const SearchIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const SearchIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "search",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { d: "M13.25 25.49a12.25 12.25 0 1 1 12.24-12.24 12.25 12.25 0 0 1-12.24 12.24m0-22.61a10.37 10.37 0 1 0 10.36 10.37A10.38 10.38 0 0 0 13.25 2.88", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M30.06 31a.94.94 0 0 1-.67-.28l-8.81-8.81a.94.94 0 1 1 1.33-1.33l8.81 8.81a.94.94 0 0 1 0 1.33.9.9 0 0 1-.66.28", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { d: "M13.25 25.49a12.25 12.25 0 1 1 12.24-12.24 12.25 12.25 0 0 1-12.24 12.24m0-22.61a10.37 10.37 0 1 0 10.36 10.37A10.38 10.38 0 0 0 13.25 2.88", fill: fill !== null && fill !== void 0 ? fill : "currentColor" }), jsx("path", { d: "M30.06 31a.94.94 0 0 1-.67-.28l-8.81-8.81a.94.94 0 1 1 1.33-1.33l8.81 8.81a.94.94 0 0 1 0 1.33.9.9 0 0 1-.66.28", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { SearchIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const SettingsIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const SettingsIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1,19 +1,20 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
- import { useId } from 'react';
3
+ import { useId } from '../../hooks/useId.js';
4
4
 
5
- const SettingsIcon = ({ alt, className, fill, ...props }) => {
6
- const id = useId();
5
+ const SettingsIcon = ({ alt, className, fill, id, ref, ...props }) => {
6
+ const uid = useId(id);
7
7
  const componentProps = {
8
- "aria-labelledby": alt ? id : undefined,
8
+ "aria-labelledby": alt ? uid + "-title" : undefined,
9
9
  className: clsx("coop-icon", className),
10
10
  "data-icon": "settings",
11
11
  fill: fill !== null && fill !== void 0 ? fill : "none",
12
+ id: uid,
12
13
  role: alt ? "img" : undefined,
13
14
  viewBox: "0 0 32 32",
14
15
  ...props,
15
16
  };
16
- return (jsxs("svg", { ...componentProps, children: [alt ? jsx("title", { id: id, children: alt }) : null, jsx("path", { d: "M16 2a14 14 0 0 1 2.13.16v3.57l1.34.47a10.2 10.2 0 0 1 3.27 1.89l1.08.91 1.23-.71 1.86-1.08a14 14 0 0 1 2.14 3.69L27.18 12l-1.18.7.26 1.39a10.6 10.6 0 0 1 0 3.8L26 19.28l1.23.71 1.88 1.09a14.2 14.2 0 0 1-2.14 3.69l-1.86-1.08-1.28-.69-1.07.92a10.6 10.6 0 0 1-3.3 1.9l-1.33.47v3.57A14 14 0 0 1 16 30a14 14 0 0 1-2.13-.16v-3.57l-1.34-.47a10.2 10.2 0 0 1-3.27-1.9L8.18 23 7 23.69l-1.91 1.08A14.1 14.1 0 0 1 3 21.08L4.82 20l1.23-.71-.26-1.39a10.6 10.6 0 0 1 0-3.8l.26-1.39L4.82 12 3 10.92a14.5 14.5 0 0 1 2.08-3.69l1.86 1.08L8.16 9l1.08-.9a10.6 10.6 0 0 1 3.3-1.9l1.33-.47V2.16A14 14 0 0 1 16 2m0 21a7 7 0 1 0-7-7 7 7 0 0 0 7 7m0-23a16 16 0 0 0-3.53.39.76.76 0 0 0-.6.75v3.18a12.7 12.7 0 0 0-3.93 2.26L5.2 5a.75.75 0 0 0-.38-.1.77.77 0 0 0-.57.25 15.9 15.9 0 0 0-3.53 6.1.78.78 0 0 0 .35.91l2.75 1.59a12.3 12.3 0 0 0 0 4.52l-2.75 1.58a.79.79 0 0 0-.35.9 16 16 0 0 0 3.53 6.11.8.8 0 0 0 .57.25.7.7 0 0 0 .38-.11L8 25.42a12.3 12.3 0 0 0 3.92 2.26v3.18a.77.77 0 0 0 .61.75A16.2 16.2 0 0 0 16 32a16 16 0 0 0 3.53-.39.76.76 0 0 0 .6-.75v-3.18a12.5 12.5 0 0 0 3.92-2.26L26.8 27a.79.79 0 0 0 1-.15 16 16 0 0 0 3.53-6.11.8.8 0 0 0-.36-.9l-2.75-1.59a12.8 12.8 0 0 0 0-4.53l2.75-1.59a.78.78 0 0 0 .35-.9 16.1 16.1 0 0 0-3.53-6.1.76.76 0 0 0-.57-.26.73.73 0 0 0-.42.13l-2.75 1.57a12.3 12.3 0 0 0-3.92-2.26V1.14a.77.77 0 0 0-.61-.75A16.2 16.2 0 0 0 16 0m0 21a5 5 0 1 1 5-5 5 5 0 0 1-5 5", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
+ return (jsxs("svg", { ...componentProps, ref: ref, children: [alt ? jsx("title", { id: uid + "-title", children: alt }) : null, jsx("path", { d: "M16 2a14 14 0 0 1 2.13.16v3.57l1.34.47a10.2 10.2 0 0 1 3.27 1.89l1.08.91 1.23-.71 1.86-1.08a14 14 0 0 1 2.14 3.69L27.18 12l-1.18.7.26 1.39a10.6 10.6 0 0 1 0 3.8L26 19.28l1.23.71 1.88 1.09a14.2 14.2 0 0 1-2.14 3.69l-1.86-1.08-1.28-.69-1.07.92a10.6 10.6 0 0 1-3.3 1.9l-1.33.47v3.57A14 14 0 0 1 16 30a14 14 0 0 1-2.13-.16v-3.57l-1.34-.47a10.2 10.2 0 0 1-3.27-1.9L8.18 23 7 23.69l-1.91 1.08A14.1 14.1 0 0 1 3 21.08L4.82 20l1.23-.71-.26-1.39a10.6 10.6 0 0 1 0-3.8l.26-1.39L4.82 12 3 10.92a14.5 14.5 0 0 1 2.08-3.69l1.86 1.08L8.16 9l1.08-.9a10.6 10.6 0 0 1 3.3-1.9l1.33-.47V2.16A14 14 0 0 1 16 2m0 21a7 7 0 1 0-7-7 7 7 0 0 0 7 7m0-23a16 16 0 0 0-3.53.39.76.76 0 0 0-.6.75v3.18a12.7 12.7 0 0 0-3.93 2.26L5.2 5a.75.75 0 0 0-.38-.1.77.77 0 0 0-.57.25 15.9 15.9 0 0 0-3.53 6.1.78.78 0 0 0 .35.91l2.75 1.59a12.3 12.3 0 0 0 0 4.52l-2.75 1.58a.79.79 0 0 0-.35.9 16 16 0 0 0 3.53 6.11.8.8 0 0 0 .57.25.7.7 0 0 0 .38-.11L8 25.42a12.3 12.3 0 0 0 3.92 2.26v3.18a.77.77 0 0 0 .61.75A16.2 16.2 0 0 0 16 32a16 16 0 0 0 3.53-.39.76.76 0 0 0 .6-.75v-3.18a12.5 12.5 0 0 0 3.92-2.26L26.8 27a.79.79 0 0 0 1-.15 16 16 0 0 0 3.53-6.11.8.8 0 0 0-.36-.9l-2.75-1.59a12.8 12.8 0 0 0 0-4.53l2.75-1.59a.78.78 0 0 0 .35-.9 16.1 16.1 0 0 0-3.53-6.1.76.76 0 0 0-.57-.26.73.73 0 0 0-.42.13l-2.75 1.57a12.3 12.3 0 0 0-3.92-2.26V1.14a.77.77 0 0 0-.61-.75A16.2 16.2 0 0 0 16 0m0 21a5 5 0 1 1 5-5 5 5 0 0 1-5 5", fill: fill !== null && fill !== void 0 ? fill : "currentColor" })] }));
17
18
  };
18
19
 
19
20
  export { SettingsIcon };
@@ -2,5 +2,5 @@ import { type SVGProps } from "react";
2
2
  interface IconProps extends SVGProps<SVGSVGElement> {
3
3
  alt?: string;
4
4
  }
5
- export declare const TickAltIcon: ({ alt, className, fill, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const TickAltIcon: ({ alt, className, fill, id, ref, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};