@infonomic/uikit 2.0.0 → 2.1.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 (312) hide show
  1. package/dist/components/card/card.d.ts.map +1 -1
  2. package/package.json +9 -5
  3. package/src/astro.d.ts +43 -0
  4. package/src/astro.js +2 -2
  5. package/src/components/@types/shared.ts +24 -0
  6. package/src/components/accordion/accordion.module.css +60 -0
  7. package/src/components/accordion/accordion.stories.tsx +117 -0
  8. package/src/components/accordion/accordion.tsx +105 -0
  9. package/src/components/animation/fade-in-lift.stories.tsx +81 -0
  10. package/src/components/animation/fade-in-lift.tsx +42 -0
  11. package/src/components/avatar/avatar.module.css +54 -0
  12. package/src/components/avatar/avatar.stories.tsx +28 -0
  13. package/src/components/avatar/avatar.tsx +19 -0
  14. package/src/components/button/@types/button.ts +17 -0
  15. package/src/components/button/button-group.module.css +17 -0
  16. package/src/components/button/button-group.stories.tsx +45 -0
  17. package/src/components/button/button-group.tsx +132 -0
  18. package/src/components/button/button-icon.stories.tsx +145 -0
  19. package/src/components/button/button-intents.stories.tsx +50 -0
  20. package/src/components/button/button-variants.stories.tsx +60 -0
  21. package/src/components/button/button.astro +86 -0
  22. package/src/components/button/button.module.css +533 -0
  23. package/src/components/button/button.tsx +81 -0
  24. package/src/components/button/control-buttons.module.css +144 -0
  25. package/src/components/button/control-buttons.stories.tsx +60 -0
  26. package/src/components/button/control-buttons.tsx +137 -0
  27. package/src/components/button/copy-button.module.css +31 -0
  28. package/src/components/button/copy-button.stories.tsx +50 -0
  29. package/src/components/button/copy-button.tsx +92 -0
  30. package/src/components/button/icon-button.astro +47 -0
  31. package/src/components/button/icon-button.tsx +44 -0
  32. package/src/components/button/index.ts +5 -0
  33. package/src/components/calendar/calendar.module.css +315 -0
  34. package/src/components/calendar/calendar.stories.tsx +139 -0
  35. package/src/components/calendar/calendar.tsx +173 -0
  36. package/src/components/card/card-content.astro +14 -0
  37. package/src/components/card/card-description.astro +14 -0
  38. package/src/components/card/card-footer.astro +14 -0
  39. package/src/components/card/card-header.astro +14 -0
  40. package/src/components/card/card-title.astro +14 -0
  41. package/src/components/card/card.astro +41 -0
  42. package/src/components/card/card.module.css +67 -0
  43. package/src/components/card/card.stories.tsx +61 -0
  44. package/src/components/card/card.tsx +86 -0
  45. package/src/components/container/container.astro +13 -0
  46. package/src/components/container/container.module.css +28 -0
  47. package/src/components/container/container.stories.tsx +42 -0
  48. package/src/components/container/container.tsx +23 -0
  49. package/src/components/dropdown/dropdown.module.css +131 -0
  50. package/src/components/dropdown/dropdown.stories.tsx +103 -0
  51. package/src/components/dropdown/dropdown.tsx +193 -0
  52. package/src/components/hamburger/hamburger.astro +30 -0
  53. package/src/components/hamburger/hamburger.tsx +66 -0
  54. package/src/components/input/@types/checkbox.ts +20 -0
  55. package/src/components/input/@types/input.ts +20 -0
  56. package/src/components/input/checkbox-group.tsx +78 -0
  57. package/src/components/input/checkbox.module.css +267 -0
  58. package/src/components/input/checkbox.stories.tsx +240 -0
  59. package/src/components/input/checkbox.tsx +95 -0
  60. package/src/components/input/error-text.astro +14 -0
  61. package/src/components/input/error-text.module.css +19 -0
  62. package/src/components/input/error-text.tsx +18 -0
  63. package/src/components/input/errors.tsx +37 -0
  64. package/src/components/input/help-text.astro +13 -0
  65. package/src/components/input/help-text.module.css +19 -0
  66. package/src/components/input/help-text.tsx +13 -0
  67. package/src/components/input/index.tsx +8 -0
  68. package/src/components/input/input-adornment.astro +26 -0
  69. package/src/components/input/input-adornment.module.css +18 -0
  70. package/src/components/input/input-adornment.tsx +36 -0
  71. package/src/components/input/input.astro +99 -0
  72. package/src/components/input/input.module.css +310 -0
  73. package/src/components/input/input.stories.tsx +174 -0
  74. package/src/components/input/input.tsx +103 -0
  75. package/src/components/input/label.astro +24 -0
  76. package/src/components/input/label.module.css +28 -0
  77. package/src/components/input/label.tsx +25 -0
  78. package/src/components/input/radio-group.module.css +219 -0
  79. package/src/components/input/radio-group.stories.tsx +73 -0
  80. package/src/components/input/radio-group.tsx +67 -0
  81. package/src/components/input/select.module.css +75 -0
  82. package/src/components/input/select.stories.tsx +34 -0
  83. package/src/components/input/select.tsx +115 -0
  84. package/src/components/input/text-area.module.css +9 -0
  85. package/src/components/input/text-area.stories.tsx +51 -0
  86. package/src/components/input/text-area.tsx +81 -0
  87. package/src/components/input/utils.ts +21 -0
  88. package/src/components/notifications/@types/alert.ts +12 -0
  89. package/src/components/notifications/@types/toast.ts +12 -0
  90. package/src/components/notifications/alert.module.css +114 -0
  91. package/src/components/notifications/alert.stories.tsx +39 -0
  92. package/src/components/notifications/alert.tsx +117 -0
  93. package/src/components/notifications/index.ts +2 -0
  94. package/src/components/notifications/toast.module.css +237 -0
  95. package/src/components/notifications/toast.stories.tsx +42 -0
  96. package/src/components/notifications/toast.tsx +124 -0
  97. package/src/components/overlay/index.stories.tsx +29 -0
  98. package/src/components/overlay/index.ts +2 -0
  99. package/src/components/overlay/overlay.module.css +41 -0
  100. package/src/components/overlay/overlay.tsx +61 -0
  101. package/src/components/pager/@types/index.ts +2 -0
  102. package/src/components/pager/ellipses.tsx +18 -0
  103. package/src/components/pager/event-pager.tsx +18 -0
  104. package/src/components/pager/first-button.tsx +53 -0
  105. package/src/components/pager/hooks/types/usePagination.ts +80 -0
  106. package/src/components/pager/hooks/usePagination.ts +140 -0
  107. package/src/components/pager/icons/first.tsx +33 -0
  108. package/src/components/pager/icons/index.tsx +4 -0
  109. package/src/components/pager/icons/last.tsx +33 -0
  110. package/src/components/pager/icons/next.tsx +20 -0
  111. package/src/components/pager/icons/previous.tsx +20 -0
  112. package/src/components/pager/index.ts +4 -0
  113. package/src/components/pager/last-button.tsx +57 -0
  114. package/src/components/pager/next-button.tsx +55 -0
  115. package/src/components/pager/number-button.tsx +83 -0
  116. package/src/components/pager/pagination.module.css +165 -0
  117. package/src/components/pager/pagination.stories.tsx +190 -0
  118. package/src/components/pager/pagination.tsx +266 -0
  119. package/src/components/pager/previous-button.tsx +51 -0
  120. package/src/components/scroll-area/scroll-area.module.css +80 -0
  121. package/src/components/scroll-area/scroll-area.stories.tsx +33 -0
  122. package/src/components/scroll-area/scroll-area.tsx +22 -0
  123. package/src/components/scroll-to-top/scroll-to-top.tsx +59 -0
  124. package/src/components/section/section.astro +13 -0
  125. package/src/components/section/section.module.css +7 -0
  126. package/src/components/section/section.tsx +23 -0
  127. package/src/components/shimmer/shimmer.module.css +53 -0
  128. package/src/components/shimmer/shimmer.stories.tsx +24 -0
  129. package/src/components/shimmer/shimmer.tsx +70 -0
  130. package/src/components/table/table.module.css +100 -0
  131. package/src/components/table/table.stories.tsx +95 -0
  132. package/src/components/table/table.tsx +165 -0
  133. package/src/components/tabs/tabs.module.css +64 -0
  134. package/src/components/tabs/tabs.stories.tsx +47 -0
  135. package/src/components/tabs/tabs.tsx +75 -0
  136. package/src/components/timeline/timeline.module.css +87 -0
  137. package/src/components/timeline/timeline.stories.tsx +50 -0
  138. package/src/components/timeline/timeline.tsx +177 -0
  139. package/src/components/tooltip/tooltip.module.css +55 -0
  140. package/src/components/tooltip/tooltip.stories.tsx +59 -0
  141. package/src/components/tooltip/tooltip.tsx +51 -0
  142. package/src/declarations.d.ts +4 -0
  143. package/src/hooks/use-media-query.ts +20 -0
  144. package/src/icons/activity-icon.tsx +40 -0
  145. package/src/icons/calendar-icon.tsx +39 -0
  146. package/src/icons/check-icon.tsx +33 -0
  147. package/src/icons/chevron-down-icon.tsx +39 -0
  148. package/src/icons/chevron-left-double-icon.tsx +58 -0
  149. package/src/icons/chevron-left-icon.tsx +58 -0
  150. package/src/icons/chevron-right-double-icon.tsx +58 -0
  151. package/src/icons/chevron-right-icon.tsx +58 -0
  152. package/src/icons/chevrons-up-down.tsx +37 -0
  153. package/src/icons/close-icon.astro +38 -0
  154. package/src/icons/close-icon.tsx +30 -0
  155. package/src/icons/copy-icon.tsx +35 -0
  156. package/src/icons/danger-icon.tsx +18 -0
  157. package/src/icons/dashboard-icon.tsx +41 -0
  158. package/src/icons/delete-icon.tsx +34 -0
  159. package/src/icons/document-icon.tsx +38 -0
  160. package/src/icons/download-icon.tsx +39 -0
  161. package/src/icons/edit-icon.tsx +35 -0
  162. package/src/icons/ellipsis-icon.tsx +38 -0
  163. package/src/icons/email-icon.tsx +33 -0
  164. package/src/icons/external-link-icon.tsx +39 -0
  165. package/src/icons/github-icon.tsx +27 -0
  166. package/src/icons/globe-icon.tsx +50 -0
  167. package/src/icons/google-icon.tsx +44 -0
  168. package/src/icons/gripper-vertical-icon.tsx +43 -0
  169. package/src/icons/history-icon.tsx +32 -0
  170. package/src/icons/home-icon.tsx +34 -0
  171. package/src/icons/icon-element.astro +27 -0
  172. package/src/icons/icon-element.tsx +32 -0
  173. package/src/icons/icon-sprite.tsx +18 -0
  174. package/src/icons/icons.module.css +147 -0
  175. package/src/icons/index.stories.tsx +25 -0
  176. package/src/icons/index.ts +39 -0
  177. package/src/icons/info-icon.tsx +18 -0
  178. package/src/icons/infonomic-icon.tsx +173 -0
  179. package/src/icons/light-icon.astro +36 -0
  180. package/src/icons/light-icon.tsx +29 -0
  181. package/src/icons/location-pin-icon.tsx +36 -0
  182. package/src/icons/moon-icon.astro +38 -0
  183. package/src/icons/moon-icon.tsx +42 -0
  184. package/src/icons/plus-icon.tsx +34 -0
  185. package/src/icons/primary-icon.tsx +22 -0
  186. package/src/icons/refresh-icon.tsx +33 -0
  187. package/src/icons/return-icon.tsx +36 -0
  188. package/src/icons/roles-icon.tsx +34 -0
  189. package/src/icons/search-icon.astro +40 -0
  190. package/src/icons/search-icon.tsx +29 -0
  191. package/src/icons/search-menu-icon.tsx +42 -0
  192. package/src/icons/settings-gear-icon.tsx +36 -0
  193. package/src/icons/settings-sliders-icon.tsx +43 -0
  194. package/src/icons/sign-out-icon.tsx +35 -0
  195. package/src/icons/source/icon-calendar.svg +1 -0
  196. package/src/icons/source/icon-check.svg +4 -0
  197. package/src/icons/source/icon-close.svg +3 -0
  198. package/src/icons/source/icon-coinbase.svg +9 -0
  199. package/src/icons/source/icon-copy.svg +4 -0
  200. package/src/icons/source/icon-document.svg +5 -0
  201. package/src/icons/source/icon-download.svg +4 -0
  202. package/src/icons/source/icon-edit.svg +6 -0
  203. package/src/icons/source/icon-eth-purple.svg +15 -0
  204. package/src/icons/source/icon-etherscan.svg +5 -0
  205. package/src/icons/source/icon-external-link.svg +4 -0
  206. package/src/icons/source/icon-globe.svg +7 -0
  207. package/src/icons/source/icon-gripper-vertical.svg +9 -0
  208. package/src/icons/source/icon-info.svg +4 -0
  209. package/src/icons/source/icon-infonomic.svg +43 -0
  210. package/src/icons/source/icon-ledger.svg +4 -0
  211. package/src/icons/source/icon-light.svg +3 -0
  212. package/src/icons/source/icon-location-pin.svg +8 -0
  213. package/src/icons/source/icon-logout.svg +6 -0
  214. package/src/icons/source/icon-metamask.svg +32 -0
  215. package/src/icons/source/icon-moon.svg +3 -0
  216. package/src/icons/source/icon-plus.svg +4 -0
  217. package/src/icons/source/icon-refresh.svg +4 -0
  218. package/src/icons/source/icon-return.svg +4 -0
  219. package/src/icons/source/icon-search-menu.svg +13 -0
  220. package/src/icons/source/icon-search.svg +3 -0
  221. package/src/icons/source/icon-settings-gear.svg +5 -0
  222. package/src/icons/source/icon-settings.svg +12 -0
  223. package/src/icons/source/icon-wallet.svg +3 -0
  224. package/src/icons/source/icon-walletconnect.svg +4 -0
  225. package/src/icons/source/icon-x.svg +4 -0
  226. package/src/icons/stopwatch-icon.tsx +39 -0
  227. package/src/icons/success-icon.tsx +18 -0
  228. package/src/icons/types/icon.ts +8 -0
  229. package/src/icons/user-icon.tsx +33 -0
  230. package/src/icons/users-icon.tsx +35 -0
  231. package/src/icons/wallet-icon.tsx +29 -0
  232. package/src/icons/warning-icon.tsx +18 -0
  233. package/src/icons/x-icon.tsx +33 -0
  234. package/src/loaders/ellipses.tsx +36 -0
  235. package/src/loaders/loaders.stories.tsx +46 -0
  236. package/src/loaders/ring.tsx +33 -0
  237. package/src/loaders/spinner.tsx +28 -0
  238. package/src/loaders/types/index.ts +6 -0
  239. package/src/react.ts +99 -0
  240. package/src/styles/base/animations.css +143 -0
  241. package/src/styles/base/base.css +5 -0
  242. package/src/styles/base/colors.css +163 -0
  243. package/src/styles/base/colors.stories.tsx +671 -0
  244. package/src/styles/base/reset.css +464 -0
  245. package/src/styles/base/typography.css +25 -0
  246. package/src/styles/base/vars.css +188 -0
  247. package/src/styles/components/card.css +20 -0
  248. package/src/styles/components/checkbox.css +55 -0
  249. package/src/styles/components/components.css +11 -0
  250. package/src/styles/components/directional-button.css +92 -0
  251. package/src/styles/components/dropdown.css +19 -0
  252. package/src/styles/components/fade-in-lift.css +13 -0
  253. package/src/styles/components/hamburger.css +107 -0
  254. package/src/styles/components/icon-element.css +4 -0
  255. package/src/styles/components/list-checkbox.css +60 -0
  256. package/src/styles/components/loaders.css +196 -0
  257. package/src/styles/components/popover.css +15 -0
  258. package/src/styles/components/scroll-to-top.css +89 -0
  259. package/src/styles/components/toast.css +18 -0
  260. package/src/styles/styles.css +6 -0
  261. package/src/styles/theme/autofill.css +58 -0
  262. package/src/styles/theme/scrollers.css +52 -0
  263. package/src/styles/theme/theme.css +130 -0
  264. package/src/styles/theme/theme.stories.tsx +33 -0
  265. package/src/styles/typography/code.stories.tsx +76 -0
  266. package/src/styles/typography/default.stories.tsx +51 -0
  267. package/src/styles/typography/fonts.css +30 -0
  268. package/src/styles/typography/lists.stories.tsx +50 -0
  269. package/src/styles/typography/prose.css +404 -0
  270. package/src/styles/typography/quote.stories.tsx +37 -0
  271. package/src/styles/typography.css +24 -0
  272. package/src/styles/utils/scroll-layout-shift.css +9 -0
  273. package/src/styles/utils/utility-classes.css +1278 -0
  274. package/src/styles/utils/utils.css +2 -0
  275. package/src/theme/theme-provider/index.ts +1 -0
  276. package/src/theme/theme-provider/provider.tsx +44 -0
  277. package/src/utils/capitalize.ts +6 -0
  278. package/src/utils/externalLinkProps.ts +6 -0
  279. package/src/utils/findMatch.ts +7 -0
  280. package/src/utils/getPortalRoot.ts +3 -0
  281. package/src/utils/isTouchDevice.ts +11 -0
  282. package/src/utils/objectsToArray.ts +15 -0
  283. package/src/utils/objectsToString.ts +5 -0
  284. package/src/utils/polymorphic.ts +16 -0
  285. package/src/utils/to-kebab-case.ts +5 -0
  286. package/src/widgets/datepicker/datepicker.module.css +189 -0
  287. package/src/widgets/datepicker/datepicker.stories.tsx +25 -0
  288. package/src/widgets/datepicker/datepicker.tsx +310 -0
  289. package/src/widgets/drawer/drawer-container.tsx +26 -0
  290. package/src/widgets/drawer/drawer-content.tsx +26 -0
  291. package/src/widgets/drawer/drawer-context.tsx +49 -0
  292. package/src/widgets/drawer/drawer-header.tsx +27 -0
  293. package/src/widgets/drawer/drawer-top-actions.tsx +27 -0
  294. package/src/widgets/drawer/drawer-wrapper.tsx +54 -0
  295. package/src/widgets/drawer/drawer.module.css +116 -0
  296. package/src/widgets/drawer/drawer.stories.tsx +224 -0
  297. package/src/widgets/drawer/drawer.tsx +115 -0
  298. package/src/widgets/drawer/motionDomAnimation.ts +4 -0
  299. package/src/widgets/drawer/motionDomMax.ts +4 -0
  300. package/src/widgets/modal/modal-actions.tsx +26 -0
  301. package/src/widgets/modal/modal-container.tsx +26 -0
  302. package/src/widgets/modal/modal-content.tsx +26 -0
  303. package/src/widgets/modal/modal-header.tsx +27 -0
  304. package/src/widgets/modal/modal-wrapper.tsx +50 -0
  305. package/src/widgets/modal/modal.module.css +85 -0
  306. package/src/widgets/modal/modal.stories.tsx +71 -0
  307. package/src/widgets/modal/modal.tsx +110 -0
  308. package/src/widgets/modal/motionDomAnimation.ts +4 -0
  309. package/src/widgets/modal/motionDomMax.ts +4 -0
  310. package/src/widgets/search/index.ts +1 -0
  311. package/src/widgets/search/search.stories.tsx +18 -0
  312. package/src/widgets/search/search.tsx +186 -0
@@ -0,0 +1,173 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ const svgStylesDefault = ''
10
+
11
+ export const InfonomicIcon = ({
12
+ className,
13
+ svgClassName,
14
+ ...rest
15
+ }: IconProps): React.JSX.Element => {
16
+ const applied = cx(svgStylesDefault, svgClassName)
17
+
18
+ return (
19
+ <IconElement className={cx('infonomic-icon', className)} {...rest}>
20
+ <svg
21
+ className={applied}
22
+ xmlns="http://www.w3.org/2000/svg"
23
+ focusable="false"
24
+ aria-hidden="true"
25
+ viewBox="0 0 512 512"
26
+ id="a43241c1-5a70-4e5a-8cd0-fb2ff3d5a086"
27
+ >
28
+ <defs>
29
+ <linearGradient
30
+ id="a15fb589-8b94-40f1-a2dc-b00094129721"
31
+ x1="293.2"
32
+ y1="220.61"
33
+ x2="-39.33"
34
+ y2="636.83"
35
+ gradientUnits="userSpaceOnUse"
36
+ >
37
+ <stop offset="0" stopColor="#7239c7" />
38
+ <stop offset="1" stopColor="#330046" />
39
+ </linearGradient>
40
+ <linearGradient
41
+ id="eea935bb-7d1f-4a3e-b4d0-24a5641ad7eb"
42
+ x1="223.3"
43
+ y1="174.24"
44
+ x2="547.28"
45
+ y2="174.24"
46
+ gradientTransform="translate(-83.1 58.65) rotate(-5.2)"
47
+ gradientUnits="userSpaceOnUse"
48
+ >
49
+ <stop offset="0" stopColor="#ebff55" />
50
+ <stop offset="1" stopColor="#f17e00" />
51
+ </linearGradient>
52
+ <linearGradient
53
+ id="eed940a7-f4c7-4aa9-97b3-ead85bf88d2d"
54
+ x1="372.87"
55
+ y1="158.83"
56
+ x2="473.81"
57
+ y2="257.43"
58
+ gradientTransform="translate(-83.1 58.65) rotate(-5.2)"
59
+ gradientUnits="userSpaceOnUse"
60
+ >
61
+ <stop offset="0" stopOpacity="0.3" />
62
+ <stop offset="1" stopOpacity="0" />
63
+ </linearGradient>
64
+ <linearGradient
65
+ id="b1c6dd6a-82bc-4e07-a748-181ddf6981fd"
66
+ x1="433.3"
67
+ y1="118.69"
68
+ x2="6.07"
69
+ y2="563.92"
70
+ gradientTransform="translate(-83.1 58.65) rotate(-5.2)"
71
+ xlinkHref="#a15fb589-8b94-40f1-a2dc-b00094129721"
72
+ />
73
+ <linearGradient
74
+ id="ea87b475-d976-4ac3-a8da-0d5ff972427c"
75
+ x1="407.96"
76
+ y1="156.53"
77
+ x2="462.21"
78
+ y2="88.19"
79
+ gradientTransform="translate(-83.1 58.65) rotate(-5.2)"
80
+ xlinkHref="#a15fb589-8b94-40f1-a2dc-b00094129721"
81
+ />
82
+ <linearGradient
83
+ id="bd1efce9-9fd7-464c-b5ae-1012b77b3c10"
84
+ x1="436.06"
85
+ y1="122.42"
86
+ x2="8.83"
87
+ y2="567.65"
88
+ gradientTransform="translate(-83.1 58.65) rotate(-5.2)"
89
+ xlinkHref="#a15fb589-8b94-40f1-a2dc-b00094129721"
90
+ />
91
+ <linearGradient
92
+ id="e82ad6d9-f6de-470e-9cc8-5c1e25860ae0"
93
+ x1="372.84"
94
+ y1="154.44"
95
+ x2="103.3"
96
+ y2="422.39"
97
+ gradientTransform="matrix(1, 0, 0, 1, 0.02, 0.24)"
98
+ xlinkHref="#a15fb589-8b94-40f1-a2dc-b00094129721"
99
+ />
100
+ <linearGradient
101
+ id="a031a507-2f2b-46ac-8fd0-d46923b5cede"
102
+ x1="256.06"
103
+ y1="213.92"
104
+ x2="268.84"
105
+ y2="249.39"
106
+ xlinkHref="#eed940a7-f4c7-4aa9-97b3-ead85bf88d2d"
107
+ />
108
+ <radialGradient
109
+ id="a9106638-56d4-4f79-8812-bed67cfca285"
110
+ cx="216.4"
111
+ cy="313.88"
112
+ r="166.38"
113
+ gradientTransform="translate(0.04 -1.69) scale(1 1.01)"
114
+ gradientUnits="userSpaceOnUse"
115
+ >
116
+ <stop offset="0" stopColor="#fff" />
117
+ <stop offset="0.22" stopColor="#ebff55" />
118
+ <stop offset="0.33" stopColor="#ebfa52" />
119
+ <stop offset="0.46" stopColor="#ecec48" />
120
+ <stop offset="0.6" stopColor="#edd438" />
121
+ <stop offset="0.75" stopColor="#efb222" />
122
+ <stop offset="0.9" stopColor="#f18806" />
123
+ <stop offset="0.93" stopColor="#f17e00" />
124
+ </radialGradient>
125
+ </defs>
126
+ <circle
127
+ cx="244.69"
128
+ cy="281.33"
129
+ r="218.67"
130
+ fill="url(#a15fb589-8b94-40f1-a2dc-b00094129721)"
131
+ />
132
+ <path
133
+ d="M235.06,220.17S317.76,12,450.72,21.32l11.23-1s21.11,93.71-36.86,161.9S314.7,282.83,314.7,282.83s6.69,45.94-8.85,54.91-33.11,23.27-78.78,33c0,0-14.48-13.85,16.84-43.12s-10-54.46-19.63-49.8-55.59,39-55.59,39-23.15-74.65,8.39-87.58S235.06,220.17,235.06,220.17Z"
134
+ fill="url(#eea935bb-7d1f-4a3e-b4d0-24a5641ad7eb)"
135
+ />
136
+ <path
137
+ d="M450.14,42.43C431.42,85.11,371,207.58,271.81,267.15c0,0,17,37.22,9.82,50.44s-23.56,17.33-23.56,17.33,18.18-36.1-8-49.47,1.57,4.34,1.57,4.34-14.94,34.51-15.36,35.59S217.89,375.07,219,375.67s14.37-12.47,19.6-13.64c-3.71-4.92,53.38-16.09,61-39.66,3.47-7.82,3.63-34.9,7.52-28.31,19.55-5.81,58.26,11.58,60.54,7.67,3-5.16,80.26-85.17,80.17-86.21s-12.64-32-11.5-34.22-128.77,99.38-127.63,96.49c-5.61,5.24-8.09-1.07,1.23-8.87,51.54-43.14,98.41-86.78,119.17-125.29C459.89,86.5,450.14,42.43,450.14,42.43Z"
138
+ fill="url(#eed940a7-f4c7-4aa9-97b3-ead85bf88d2d)"
139
+ />
140
+ <path
141
+ d="M437.49,178C487.43,105.9,476.1,22.9,466.36,14.28c-13.23-11.7-104,25-95.1,33.05,41.48-20.24,82.05-23.55,85.15-21,4.64,3.87,12.28,91.87-38.48,152.79-29.09,34.91-87.17,80.35-106.58,95.17-4.11,3.15-6,7-5.39,10.42,1.94,11.16,4.76,36.36-6.51,48.24-14.72,15.51-67.19,33.09-70.76,27.95s53.73-49.61,16.58-81.18-71.22,33.49-76.93,30.89,2-57.43,14.66-74.7c9.64-13.23,34.94-15,46.28-15.1,3.47,0,6.94-2.56,9.29-7.17,11.08-21.76,45.33-87,74.43-122a151.87,151.87,0,0,1,13.14-13.87c-85.9-34.72-187.9-12-250.39,62.95a218.25,218.25,0,0,0-50.7,145.88C54.57,293.22,64,319.73,67,335.53c1.35,7.09,3,4,4.75.48,5.55-11.38,16.29-23.22,34.45-21.58,25.58,2.3,30,27,30.87,39,.29,4,3.27,5.23,5.35,4,22.52-13.42,82.44-65.9,82.44-65.9s6-6,11.56-1.31.74,11.55.74,11.55-40.88,68.36-50,92.92c-.84,2.27.92,5,4.89,4.54,11.91-1.31,37-1.41,43.9,23.34,4.89,17.57-4.82,30.27-15,37.78-3.17,2.34-5.88,4.54,1.33,4.58,16.12.09,44,4.59,55.7,32.62a218.24,218.24,0,0,0,111.88-52.82c28.05-25,42.57-45.22,54.73-75.05A219.65,219.65,0,0,0,437.49,178Z"
142
+ fill="url(#b1c6dd6a-82bc-4e07-a748-181ddf6981fd)"
143
+ />
144
+ <path
145
+ d="M356.54,99.46a43.1,43.1,0,1,0,46.82,39A43.11,43.11,0,0,0,356.54,99.46Z"
146
+ fill="#fff"
147
+ />
148
+ <path
149
+ d="M357.17,106.39a36.14,36.14,0,1,0,39.27,32.72A36.14,36.14,0,0,0,357.17,106.39Z"
150
+ fill="url(#ea87b475-d976-4ac3-a8da-0d5ff972427c)"
151
+ />
152
+ <path
153
+ d="M354.21,118.45a29.49,29.49,0,1,0,32,26.7A29.49,29.49,0,0,0,354.21,118.45Z"
154
+ fill="url(#bd1efce9-9fd7-464c-b5ae-1012b77b3c10)"
155
+ />
156
+ <path
157
+ d="M436.21,178.4c.68-1,4.69-7.09,4.85-7.34.46-.71,4.89-8.17,5.18-8.68,38.11-67.56,27.78-139,18.78-147C451.83,3.74,361.31,40.33,370.19,48.31,411.55,28.15,452,24.85,455.1,27.42c4.63,3.85,12.22,91.46-38.4,152.11-29,34.76-86.92,80-106.27,94.77-4.1,3.13-6,7-5.38,10.37,1.93,11.12,4.74,36.2-6.5,48-14.68,15.45-67,33-70.56,27.84s53.54-49.8,16.51-81.23c-4.91-4.16-9.69-5.83-14.54-8.22l.58-.05.08.86c-31.77-7.59-57.56,40.82-62.5,38.58-5.69-2.58,1.9-57.17,14.47-74.38a25.2,25.2,0,0,1,7.11-6.45h0s-17.83,4.52-25.59,34.08c-5.47,20.86-6.35,47.39-6.39,61.21,0,5.77-7.47,6.32-7.29-3,.21-10.48-1.76-23.93-13.51-34.46-20-17.94-44.4-5.17-51.67-.11-1.55,1.08-3.09-1.63-3.5-3.26-6.14-24.67-21.64-34.24-21.64-34.24C59.73,168.36,125.14,97.53,169.25,75.8A218.31,218.31,0,0,0,25,286.64c29.43,6.51,38.81,32.9,41.79,48.63,1.34,7.06,3,4,4.74.48,5.52-11.33,16.24-23.12,34.35-21.5,25.51,2.29,29.92,26.9,30.78,38.8.28,4,3.25,5.2,5.33,4,22.45-13.36,82.2-65.62,82.2-65.62s3.28-3.29,7.25-3.07a8,8,0,0,1,4.28,1.76c5.59,4.66.73,11.51.73,11.51s-40.77,68-49.88,92.51c-.84,2.26.9,4.77,4.86,4.34.36,0,.71-.26,1.1-.3h0a74.82,74.82,0,0,1,9.47-.1c12.43.51,28,5.08,33.2,23.71,4.87,17.5-4.8,30.19-15,37.66-3.17,2.33-5.87,4.55,1.33,4.59,16.07.09,44.17,4.42,55.85,32.33,10.5-1.64,20.94-3.29,31.4-7.33h0s-.22.12-.18.11c.68-.21,15.14-5,24.25-9.37.12-.05,0-.32.17-.33h0a207.63,207.63,0,0,0,55.56-35.75c29.25-24.79,41.58-41,54.6-74.54A218.22,218.22,0,0,0,436.21,178.4ZM313.13,451.63v.05c-15-9.82-32.77-7.85-41-6.17-2.87.59-2.95-1.67-2.27-3.09,9.28-19.34,1.95-38.85-10.07-46.69-15.18-9.89-37.53-4.54-38.94-6.1-2.62-2.9,3.69-11,3.69-11,24.4-4.56,55-18,77.92-30.55s21.36-43.67,18.56-54.36,5.37-13.79,5.37-13.79c35.34-23,76.85-65.66,97.22-87.62l-.12.21S488,363.72,313.13,451.63Z"
158
+ fill="url(#e82ad6d9-f6de-470e-9cc8-5c1e25860ae0)"
159
+ />
160
+ <path
161
+ d="M171.89,307.66s16.44-49.68,27.18-55.37,48.65,7.88,46.05,11c-.65.78-2.63,1.43-5.49,2.1-8.55,2-24.91,4.13-36.35,10.09C188,283.41,171.82,315.53,171.89,307.66Z"
162
+ fill="url(#a031a507-2f2b-46ac-8fd0-d46923b5cede)"
163
+ />
164
+ <path
165
+ d="M24.87,286.91C28.47,405.21,124.8,500,243.09,500A219.07,219.07,0,0,0,277,497.36c-12-27.17-39.24-31.58-55.11-31.67-7.2,0-4.49-2.26-1.32-4.61,10.18-7.55,19.87-20.33,15-38-6.87-24.9-31.94-24.79-43.83-23.48-4,.44-5.72-2.28-4.88-4.57,9.12-24.71,49.93-93.46,49.93-93.46s4.87-6.92-.73-11.63-11.54,1.32-11.54,1.32-59.83,52.8-82.31,66.29c-2.08,1.25-5,0-5.34-4-.86-12-5.28-36.88-30.82-39.2-18.14-1.65-28.87,10.26-34.4,21.71-1.73,3.57-3.4,6.65-4.74-.48-3-15.89-12.38-42.57-41.85-49.15Z"
166
+ fill="url(#a9106638-56d4-4f79-8812-bed67cfca285)"
167
+ />
168
+ </svg>
169
+ </IconElement>
170
+ )
171
+ }
172
+
173
+ InfonomicIcon.displayName = 'InfonomicIcon'
@@ -0,0 +1,36 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+
4
+ interface Props extends HTMLAttributes<'div'> {
5
+ class?: string
6
+ width?: string
7
+ height?: string
8
+ menuItem?: boolean
9
+ svgClass?: string
10
+ }
11
+
12
+ import IconElement from './icon-element.astro'
13
+ import styles from './icons.module.css'
14
+
15
+ const { class: className, width, height, svgClass: svgClassName, menuItem, ...rest } = Astro.props
16
+ ---
17
+
18
+ <IconElement
19
+ class:list={['light-icon', className]}
20
+ width={width}
21
+ height={height}
22
+ menuItem={menuItem}
23
+ {...rest}
24
+ >
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ viewBox="0 0 24 24"
28
+ class:list={[styles['fill-contrast'], styles['stroke-none'], svgClassName]}
29
+ focusable="false"
30
+ aria-hidden="true"
31
+ >
32
+ <path
33
+ d="M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3-3-1.35-3-3 1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z"
34
+ ></path>
35
+ </svg>
36
+ </IconElement>
@@ -0,0 +1,29 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const LightIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-contrast'], styles['stroke-none'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('light-icon', className)} {...rest}>
16
+ <svg
17
+ className={applied}
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ focusable="false"
20
+ aria-hidden="true"
21
+ viewBox="0 0 24 24"
22
+ >
23
+ <path d="M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3-3-1.35-3-3 1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z"></path>
24
+ </svg>
25
+ </IconElement>
26
+ )
27
+ }
28
+
29
+ LightIcon.displayName = 'LightIcon'
@@ -0,0 +1,36 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const LocationPinIcon = ({
12
+ className,
13
+ svgClassName,
14
+ ...rest
15
+ }: IconProps): React.JSX.Element => {
16
+ const applied = cx(styles['fill-gray'], svgClassName)
17
+
18
+ return (
19
+ <IconElement className={cx('location-pin-icon', className)} {...rest}>
20
+ <svg
21
+ className={applied}
22
+ xmlns="http://www.w3.org/2000/svg"
23
+ focusable="false"
24
+ aria-hidden="true"
25
+ viewBox="0 0 297 297"
26
+ strokeWidth="0"
27
+ >
28
+ <g>
29
+ <path d="M148.5,0C87.43,0,37.747,49.703,37.747,110.797c0,91.026,99.729,179.905,103.976,183.645 c1.936,1.705,4.356,2.559,6.777,2.559c2.421,0,4.841-0.853,6.778-2.559c4.245-3.739,103.975-92.618,103.975-183.645 C259.253,49.703,209.57,0,148.5,0z M148.5,272.689c-22.049-21.366-90.243-93.029-90.243-161.892 c0-49.784,40.483-90.287,90.243-90.287s90.243,40.503,90.243,90.287C238.743,179.659,170.549,251.322,148.5,272.689z"></path>
30
+ <path d="M148.5,59.183c-28.273,0-51.274,23.154-51.274,51.614c0,28.461,23.001,51.614,51.274,51.614 c28.273,0,51.274-23.153,51.274-51.614C199.774,82.337,176.773,59.183,148.5,59.183z M148.5,141.901 c-16.964,0-30.765-13.953-30.765-31.104c0-17.15,13.801-31.104,30.765-31.104c16.964,0,30.765,13.953,30.765,31.104 C179.265,127.948,165.464,141.901,148.5,141.901z"></path>
31
+ </g>
32
+ </svg>
33
+ </IconElement>
34
+ )
35
+ }
36
+ LocationPinIcon.displayName = 'LocationPin'
@@ -0,0 +1,38 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+
4
+ interface Props extends HTMLAttributes<'div'> {
5
+ class?: string
6
+ width?: string
7
+ height?: string
8
+ menuItem?: boolean
9
+ svgClass?: string
10
+ }
11
+
12
+ import IconElement from './icon-element.astro'
13
+ import styles from './icons.module.css'
14
+
15
+ const { class: className, width, height, svgClass: svgClassName, menuItem, ...rest } = Astro.props
16
+ ---
17
+
18
+ <IconElement
19
+ class:list={['moon-icon', className]}
20
+ width={width}
21
+ height={height}
22
+ menuItem={menuItem}
23
+ {...rest}
24
+ >
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ viewBox="0 0 24 24"
28
+ class:list={[styles['fill-none'], styles['stroke-contrast'], svgClassName]}
29
+ focusable="false"
30
+ aria-hidden="true"
31
+ stroke-linecap="round"
32
+ stroke-linejoin="round"
33
+ stroke-width={1.75}
34
+ {...rest}
35
+ >
36
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
37
+ </svg>
38
+ </IconElement>
@@ -0,0 +1,42 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const MoonIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('moon-icon', className)} {...rest}>
16
+ <svg
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ viewBox="0 0 24 24"
19
+ className={applied}
20
+ focusable="false"
21
+ aria-hidden="true"
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ strokeWidth={1.75}
25
+ >
26
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
27
+ </svg>
28
+ {/* <svg
29
+ className={applied}
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ focusable="false"
32
+ aria-hidden="true"
33
+ viewBox="0 0 24 24"
34
+ strokeWidth={1.5}
35
+ >
36
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
37
+ </svg> */}
38
+ </IconElement>
39
+ )
40
+ }
41
+
42
+ MoonIcon.displayName = 'MoonIcon'
@@ -0,0 +1,34 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const PlusIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('plus-icon', className)} {...rest}>
16
+ <svg
17
+ className={applied}
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ viewBox="0 0 24 24"
20
+ fill="none"
21
+ focusable="false"
22
+ aria-hidden="true"
23
+ strokeWidth="2"
24
+ strokeLinecap="round"
25
+ strokeLinejoin="round"
26
+ >
27
+ <path d="M5 12h14" />
28
+ <path d="M12 5v14" />
29
+ </svg>
30
+ </IconElement>
31
+ )
32
+ }
33
+
34
+ PlusIcon.displayName = 'PlusIcon'
@@ -0,0 +1,22 @@
1
+ import cx from 'classnames'
2
+ import type React from 'react'
3
+
4
+ import { IconElement } from './icon-element.jsx'
5
+
6
+ import type { IconProps } from './types/icon.js'
7
+
8
+ const svgStylesDefault = 'fill-gray-800 dark:fill-white'
9
+
10
+ import styles from './icons.module.css'
11
+
12
+ export const PrimaryIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
13
+ const applied = cx(styles['fill-primary'], svgClassName)
14
+
15
+ return (
16
+ <IconElement className={cx('primary-icon', className)} {...rest}>
17
+ <svg className={applied} focusable="false" aria-hidden="true" viewBox="0 0 24 24">
18
+ <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"></path>
19
+ </svg>
20
+ </IconElement>
21
+ )
22
+ }
@@ -0,0 +1,33 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const RefreshIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('refresh-icon', className)} {...rest}>
16
+ <svg
17
+ className={applied}
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ focusable="false"
20
+ aria-hidden="true"
21
+ viewBox="0 0 24 24"
22
+ strokeWidth="2.5"
23
+ strokeLinecap="round"
24
+ strokeLinejoin="round"
25
+ >
26
+ <path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8" />
27
+ <path d="M21 3v5h-5" />
28
+ </svg>
29
+ </IconElement>
30
+ )
31
+ }
32
+
33
+ RefreshIcon.displayName = 'RefreshIcon'
@@ -0,0 +1,36 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const ReturnIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('return-icon', className)} {...rest}>
16
+ <svg
17
+ className={applied}
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ focusable="false"
20
+ aria-hidden="true"
21
+ viewBox="0 0 14 14"
22
+ >
23
+ <path d="M5.46,1.43,2,4.36,5.46,7.79" fill="none" strokeLinecap="square" strokeWidth="1" />
24
+ <path
25
+ d="M2.59,4.45H9.12a4.06,4.06,0,1,1,0,8.12H3.81"
26
+ fill="none"
27
+ strokeLinecap="square"
28
+ strokeLinejoin="round"
29
+ strokeWidth="1"
30
+ />
31
+ </svg>
32
+ </IconElement>
33
+ )
34
+ }
35
+
36
+ ReturnIcon.displayName = 'ReturnIcon'
@@ -0,0 +1,34 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const RolesIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('roles-icon', className)} {...rest}>
16
+ <svg
17
+ className={applied}
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ focusable="false"
20
+ aria-hidden="true"
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ viewBox="0 0 24 24"
24
+ strokeWidth={1.75}
25
+ >
26
+ <path d="M12 3l-4 7h8z" />
27
+ <path d="M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
28
+ <path d="M4 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" />
29
+ </svg>
30
+ </IconElement>
31
+ )
32
+ }
33
+
34
+ RolesIcon.displayName = 'RolesIcon'
@@ -0,0 +1,40 @@
1
+ ---
2
+ import type { HTMLAttributes } from 'astro/types'
3
+
4
+ interface Props extends HTMLAttributes<'div'> {
5
+ class?: string
6
+ width?: string
7
+ height?: string
8
+ menuItem?: boolean
9
+ svgClass?: string
10
+ }
11
+
12
+ import IconElement from './icon-element.astro'
13
+ import styles from './icons.module.css'
14
+
15
+ const { class: className, width, height, svgClass: svgClassName, menuItem, ...rest } = Astro.props
16
+ ---
17
+
18
+ <IconElement
19
+ class:list={['search-icon', className]}
20
+ width={width}
21
+ height={height}
22
+ menuItem={menuItem}
23
+ {...rest}
24
+ >
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ viewBox="0 0 24 24"
28
+ class:list={[styles['fill-contrast'], styles['stroke-none'], svgClassName]}
29
+ focusable="false"
30
+ aria-hidden="true"
31
+ stroke-linecap="round"
32
+ stroke-linejoin="round"
33
+ stroke-width={1.75}
34
+ {...rest}
35
+ >
36
+ <path
37
+ d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
38
+ ></path>
39
+ </svg>
40
+ </IconElement>
@@ -0,0 +1,29 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const SearchIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
+ const applied = cx(styles['fill-contrast'], styles['stroke-none'], svgClassName)
13
+
14
+ return (
15
+ <IconElement className={cx('search-icon', className)} {...rest}>
16
+ <svg
17
+ className={applied}
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ focusable="false"
20
+ aria-hidden="true"
21
+ viewBox="0 0 24 24"
22
+ >
23
+ <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
24
+ </svg>
25
+ </IconElement>
26
+ )
27
+ }
28
+
29
+ SearchIcon.displayName = 'SearchIcon'
@@ -0,0 +1,42 @@
1
+ import type React from 'react'
2
+
3
+ import cx from 'classnames'
4
+
5
+ import { IconElement } from './icon-element.js'
6
+
7
+ import type { IconProps } from './types/icon.js'
8
+
9
+ import styles from './icons.module.css'
10
+
11
+ export const SearchMenuIcon = ({
12
+ className,
13
+ svgClassName,
14
+ ...rest
15
+ }: IconProps): React.JSX.Element => {
16
+ const applied = cx(styles['fill-gray'], svgClassName)
17
+ return (
18
+ <IconElement className={cx('search-menu-icon', className)} {...rest}>
19
+ <svg
20
+ className={applied}
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ focusable="false"
23
+ aria-hidden="true"
24
+ viewBox="0 0 24 24"
25
+ >
26
+ <g>
27
+ <path
28
+ d="M20.28,13.98l-0.73-0.14l-0.21-0.3c1.1-0.88,1.89-2.13,2.17-3.61c0.62-3.29-1.55-6.47-4.84-7.09S10.21,4.4,9.59,7.69
29
+ s1.55,6.47,4.84,7.09c1.48,0.28,2.94-0.01,4.15-0.71l0.2,0.3l-0.14,0.73l3.73,5.44L24,19.43L20.28,13.98z M14.78,12.95
30
+ c-2.29-0.43-3.78-2.62-3.35-4.91s2.62-3.78,4.91-3.35s3.78,2.62,3.35,4.91C19.25,11.88,17.06,13.38,14.78,12.95z"
31
+ />
32
+ {/* NOTE: rect height below has been 'tweaked' for Firefox on MacOS */}
33
+ <rect y="4.39" width="9.05" height="1.86" />
34
+ <rect y="11.85" width="9.05" height="1.82" />
35
+ <rect y="19.31" width="18.07" height="1.74" />
36
+ </g>
37
+ </svg>
38
+ </IconElement>
39
+ )
40
+ }
41
+
42
+ SearchMenuIcon.displayName = 'SearchMenuIcon'