@blueshift-gg/ui-components 0.1.50 → 0.1.52

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 (1189) hide show
  1. package/README.md +2 -2
  2. package/dist/Alert.cjs +71 -0
  3. package/dist/Alert.cjs.map +1 -0
  4. package/dist/Alert.d.cts +32 -0
  5. package/dist/Alert.d.cts.map +1 -0
  6. package/dist/Alert.d.mts +29 -16
  7. package/dist/Alert.d.mts.map +1 -0
  8. package/dist/Alert.mjs +64 -91
  9. package/dist/Alert.mjs.map +1 -1
  10. package/dist/Avatar.cjs +43 -0
  11. package/dist/Avatar.cjs.map +1 -0
  12. package/dist/Avatar.d.cts +26 -0
  13. package/dist/Avatar.d.cts.map +1 -0
  14. package/dist/Avatar.d.mts +23 -14
  15. package/dist/Avatar.d.mts.map +1 -0
  16. package/dist/Avatar.mjs +36 -61
  17. package/dist/Avatar.mjs.map +1 -1
  18. package/dist/Badge.cjs +51 -0
  19. package/dist/Badge.cjs.map +1 -0
  20. package/dist/Badge.d.cts +31 -0
  21. package/dist/Badge.d.cts.map +1 -0
  22. package/dist/Badge.d.mts +28 -17
  23. package/dist/Badge.d.mts.map +1 -0
  24. package/dist/Badge.mjs +44 -77
  25. package/dist/Badge.mjs.map +1 -1
  26. package/dist/Banner.cjs +53 -0
  27. package/dist/Banner.cjs.map +1 -0
  28. package/dist/Banner.d.cts +28 -0
  29. package/dist/Banner.d.cts.map +1 -0
  30. package/dist/Banner.d.mts +25 -15
  31. package/dist/Banner.d.mts.map +1 -0
  32. package/dist/Banner.mjs +46 -58
  33. package/dist/Banner.mjs.map +1 -1
  34. package/dist/Button.cjs +71 -0
  35. package/dist/Button.cjs.map +1 -0
  36. package/dist/Button.d.cts +53 -0
  37. package/dist/Button.d.cts.map +1 -0
  38. package/dist/Button.d.mts +49 -27
  39. package/dist/Button.d.mts.map +1 -0
  40. package/dist/Button.mjs +64 -143
  41. package/dist/Button.mjs.map +1 -1
  42. package/dist/Checkbox.cjs +59 -0
  43. package/dist/Checkbox.cjs.map +1 -0
  44. package/dist/Checkbox.d.cts +20 -0
  45. package/dist/Checkbox.d.cts.map +1 -0
  46. package/dist/Checkbox.d.mts +17 -9
  47. package/dist/Checkbox.d.mts.map +1 -0
  48. package/dist/Checkbox.mjs +52 -52
  49. package/dist/Checkbox.mjs.map +1 -1
  50. package/dist/Codeblock.cjs +95 -0
  51. package/dist/Codeblock.cjs.map +1 -0
  52. package/dist/Codeblock.d.cts +24 -0
  53. package/dist/Codeblock.d.cts.map +1 -0
  54. package/dist/Codeblock.d.mts +21 -12
  55. package/dist/Codeblock.d.mts.map +1 -0
  56. package/dist/Codeblock.mjs +88 -88
  57. package/dist/Codeblock.mjs.map +1 -1
  58. package/dist/CrossHair.cjs +175 -0
  59. package/dist/CrossHair.cjs.map +1 -0
  60. package/dist/CrossHair.d.cts +32 -0
  61. package/dist/CrossHair.d.cts.map +1 -0
  62. package/dist/CrossHair.d.mts +29 -15
  63. package/dist/CrossHair.d.mts.map +1 -0
  64. package/dist/CrossHair.mjs +168 -256
  65. package/dist/CrossHair.mjs.map +1 -1
  66. package/dist/DecryptText.cjs +89 -0
  67. package/dist/DecryptText.cjs.map +1 -0
  68. package/dist/DecryptText.d.cts +21 -0
  69. package/dist/DecryptText.d.cts.map +1 -0
  70. package/dist/DecryptText.d.mts +18 -9
  71. package/dist/DecryptText.d.mts.map +1 -0
  72. package/dist/DecryptText.mjs +82 -94
  73. package/dist/DecryptText.mjs.map +1 -1
  74. package/dist/Difficulty.cjs +175 -0
  75. package/dist/Difficulty.cjs.map +1 -0
  76. package/dist/Difficulty.d.cts +16 -0
  77. package/dist/Difficulty.d.cts.map +1 -0
  78. package/dist/Difficulty.d.mts +13 -7
  79. package/dist/Difficulty.d.mts.map +1 -0
  80. package/dist/Difficulty.mjs +167 -133
  81. package/dist/Difficulty.mjs.map +1 -1
  82. package/dist/Divider.cjs +18 -0
  83. package/dist/Divider.cjs.map +1 -0
  84. package/dist/Divider.d.cts +14 -0
  85. package/dist/Divider.d.cts.map +1 -0
  86. package/dist/Divider.d.mts +11 -6
  87. package/dist/Divider.d.mts.map +1 -0
  88. package/dist/Divider.mjs +11 -40
  89. package/dist/Divider.mjs.map +1 -1
  90. package/dist/Dropdown.cjs +404 -0
  91. package/dist/Dropdown.cjs.map +1 -0
  92. package/dist/Dropdown.d.cts +139 -0
  93. package/dist/Dropdown.d.cts.map +1 -0
  94. package/dist/Dropdown.d.mts +128 -69
  95. package/dist/Dropdown.d.mts.map +1 -0
  96. package/dist/Dropdown.mjs +383 -588
  97. package/dist/Dropdown.mjs.map +1 -1
  98. package/dist/GridLines.cjs +82 -0
  99. package/dist/GridLines.cjs.map +1 -0
  100. package/dist/GridLines.d.cts +18 -0
  101. package/dist/GridLines.d.cts.map +1 -0
  102. package/dist/GridLines.d.mts +15 -8
  103. package/dist/GridLines.d.mts.map +1 -0
  104. package/dist/GridLines.mjs +75 -80
  105. package/dist/GridLines.mjs.map +1 -1
  106. package/dist/HeadingReveal.cjs +64 -0
  107. package/dist/HeadingReveal.cjs.map +1 -0
  108. package/dist/HeadingReveal.d.cts +26 -0
  109. package/dist/HeadingReveal.d.cts.map +1 -0
  110. package/dist/HeadingReveal.d.mts +23 -12
  111. package/dist/HeadingReveal.d.mts.map +1 -0
  112. package/dist/HeadingReveal.mjs +57 -57
  113. package/dist/HeadingReveal.mjs.map +1 -1
  114. package/dist/Icon.cjs +25 -0
  115. package/dist/Icon.cjs.map +1 -0
  116. package/dist/Icon.d.cts +17 -0
  117. package/dist/Icon.d.cts.map +1 -0
  118. package/dist/Icon.d.mts +17 -2
  119. package/dist/Icon.d.mts.map +1 -0
  120. package/dist/Icon.mjs +17 -18
  121. package/dist/Icon.mjs.map +1 -1
  122. package/dist/Input.cjs +135 -0
  123. package/dist/Input.cjs.map +1 -0
  124. package/dist/Input.d.cts +60 -0
  125. package/dist/Input.d.cts.map +1 -0
  126. package/dist/Input.d.mts +57 -37
  127. package/dist/Input.d.mts.map +1 -0
  128. package/dist/Input.mjs +128 -178
  129. package/dist/Input.mjs.map +1 -1
  130. package/dist/Logo.cjs +127 -0
  131. package/dist/Logo.cjs.map +1 -0
  132. package/dist/Logo.d.cts +18 -0
  133. package/dist/Logo.d.cts.map +1 -0
  134. package/dist/Logo.d.mts +15 -8
  135. package/dist/Logo.d.mts.map +1 -0
  136. package/dist/Logo.mjs +120 -146
  137. package/dist/Logo.mjs.map +1 -1
  138. package/dist/Pagination.cjs +133 -0
  139. package/dist/Pagination.cjs.map +1 -0
  140. package/dist/Pagination.d.cts +40 -0
  141. package/dist/Pagination.d.cts.map +1 -0
  142. package/dist/Pagination.d.mts +35 -18
  143. package/dist/Pagination.d.mts.map +1 -0
  144. package/dist/Pagination.mjs +124 -175
  145. package/dist/Pagination.mjs.map +1 -1
  146. package/dist/Slider.cjs +291 -0
  147. package/dist/Slider.cjs.map +1 -0
  148. package/dist/Slider.d.cts +40 -0
  149. package/dist/Slider.d.cts.map +1 -0
  150. package/dist/Slider.d.mts +37 -24
  151. package/dist/Slider.d.mts.map +1 -0
  152. package/dist/Slider.mjs +282 -331
  153. package/dist/Slider.mjs.map +1 -1
  154. package/dist/Tabs.cjs +67 -0
  155. package/dist/Tabs.cjs.map +1 -0
  156. package/dist/Tabs.d.cts +37 -0
  157. package/dist/Tabs.d.cts.map +1 -0
  158. package/dist/Tabs.d.mts +33 -22
  159. package/dist/Tabs.d.mts.map +1 -0
  160. package/dist/Tabs.mjs +60 -100
  161. package/dist/Tabs.mjs.map +1 -1
  162. package/dist/Toast.cjs +82 -0
  163. package/dist/Toast.cjs.map +1 -0
  164. package/dist/Toast.d.cts +28 -0
  165. package/dist/Toast.d.cts.map +1 -0
  166. package/dist/Toast.d.mts +21 -11
  167. package/dist/Toast.d.mts.map +1 -0
  168. package/dist/Toast.mjs +63 -66
  169. package/dist/Toast.mjs.map +1 -1
  170. package/dist/Tooltip.cjs +149 -0
  171. package/dist/Tooltip.cjs.map +1 -0
  172. package/dist/Tooltip.d.cts +16 -0
  173. package/dist/Tooltip.d.cts.map +1 -0
  174. package/dist/Tooltip.d.mts +13 -7
  175. package/dist/Tooltip.d.mts.map +1 -0
  176. package/dist/Tooltip.mjs +135 -128
  177. package/dist/Tooltip.mjs.map +1 -1
  178. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  179. package/dist/fonts/CommitMono-Regular.cjs +6 -0
  180. package/dist/fonts/CommitMono-Regular.cjs.map +1 -0
  181. package/dist/fonts/CommitMono-Regular.mjs +6 -0
  182. package/dist/fonts/CommitMono-Regular.mjs.map +1 -0
  183. package/dist/fonts/MONTECHV02-Medium.cjs +6 -0
  184. package/dist/fonts/MONTECHV02-Medium.cjs.map +1 -0
  185. package/dist/fonts/MONTECHV02-Medium.mjs +6 -0
  186. package/dist/fonts/MONTECHV02-Medium.mjs.map +1 -0
  187. package/dist/fonts/Switzer-Regular.cjs +6 -0
  188. package/dist/fonts/Switzer-Regular.cjs.map +1 -0
  189. package/dist/fonts/Switzer-Regular.mjs +6 -0
  190. package/dist/fonts/Switzer-Regular.mjs.map +1 -0
  191. package/dist/icons/Anchor.cjs +65 -0
  192. package/dist/icons/Anchor.cjs.map +1 -0
  193. package/dist/icons/Anchor.d.cts +11 -0
  194. package/dist/icons/Anchor.d.cts.map +1 -0
  195. package/dist/icons/Anchor.d.mts +9 -4
  196. package/dist/icons/Anchor.d.mts.map +1 -0
  197. package/dist/icons/Anchor.mjs +57 -77
  198. package/dist/icons/Anchor.mjs.map +1 -1
  199. package/dist/icons/ArrowLeft.cjs +25 -0
  200. package/dist/icons/ArrowLeft.cjs.map +1 -0
  201. package/dist/icons/ArrowLeft.d.cts +11 -0
  202. package/dist/icons/ArrowLeft.d.cts.map +1 -0
  203. package/dist/icons/ArrowLeft.d.mts +9 -4
  204. package/dist/icons/ArrowLeft.d.mts.map +1 -0
  205. package/dist/icons/ArrowLeft.mjs +18 -29
  206. package/dist/icons/ArrowLeft.mjs.map +1 -1
  207. package/dist/icons/ArrowRight.cjs +25 -0
  208. package/dist/icons/ArrowRight.cjs.map +1 -0
  209. package/dist/icons/ArrowRight.d.cts +11 -0
  210. package/dist/icons/ArrowRight.d.cts.map +1 -0
  211. package/dist/icons/ArrowRight.d.mts +9 -4
  212. package/dist/icons/ArrowRight.d.mts.map +1 -0
  213. package/dist/icons/ArrowRight.mjs +18 -29
  214. package/dist/icons/ArrowRight.mjs.map +1 -1
  215. package/dist/icons/Assembly.cjs +109 -0
  216. package/dist/icons/Assembly.cjs.map +1 -0
  217. package/dist/icons/Assembly.d.cts +11 -0
  218. package/dist/icons/Assembly.d.cts.map +1 -0
  219. package/dist/icons/Assembly.d.mts +9 -4
  220. package/dist/icons/Assembly.d.mts.map +1 -0
  221. package/dist/icons/Assembly.mjs +101 -160
  222. package/dist/icons/Assembly.mjs.map +1 -1
  223. package/dist/icons/Backpack.cjs +34 -0
  224. package/dist/icons/Backpack.cjs.map +1 -0
  225. package/dist/icons/Backpack.d.cts +11 -0
  226. package/dist/icons/Backpack.d.cts.map +1 -0
  227. package/dist/icons/Backpack.d.mts +9 -4
  228. package/dist/icons/Backpack.d.mts.map +1 -0
  229. package/dist/icons/Backpack.mjs +27 -38
  230. package/dist/icons/Backpack.mjs.map +1 -1
  231. package/dist/icons/Brave.cjs +51 -0
  232. package/dist/icons/Brave.cjs.map +1 -0
  233. package/dist/icons/Brave.d.cts +11 -0
  234. package/dist/icons/Brave.d.cts.map +1 -0
  235. package/dist/icons/Brave.d.mts +9 -4
  236. package/dist/icons/Brave.d.mts.map +1 -0
  237. package/dist/icons/Brave.mjs +44 -52
  238. package/dist/icons/Brave.mjs.map +1 -1
  239. package/dist/icons/Challenge.cjs +30 -0
  240. package/dist/icons/Challenge.cjs.map +1 -0
  241. package/dist/icons/Challenge.d.cts +11 -0
  242. package/dist/icons/Challenge.d.cts.map +1 -0
  243. package/dist/icons/Challenge.d.mts +9 -4
  244. package/dist/icons/Challenge.d.mts.map +1 -0
  245. package/dist/icons/Challenge.mjs +23 -34
  246. package/dist/icons/Challenge.mjs.map +1 -1
  247. package/dist/icons/Chevron.cjs +22 -0
  248. package/dist/icons/Chevron.cjs.map +1 -0
  249. package/dist/icons/Chevron.d.cts +11 -0
  250. package/dist/icons/Chevron.d.cts.map +1 -0
  251. package/dist/icons/Chevron.d.mts +9 -4
  252. package/dist/icons/Chevron.d.mts.map +1 -0
  253. package/dist/icons/Chevron.mjs +15 -20
  254. package/dist/icons/Chevron.mjs.map +1 -1
  255. package/dist/icons/ChevronLeft.cjs +22 -0
  256. package/dist/icons/ChevronLeft.cjs.map +1 -0
  257. package/dist/icons/ChevronLeft.d.cts +11 -0
  258. package/dist/icons/ChevronLeft.d.cts.map +1 -0
  259. package/dist/icons/ChevronLeft.d.mts +9 -4
  260. package/dist/icons/ChevronLeft.d.mts.map +1 -0
  261. package/dist/icons/ChevronLeft.mjs +15 -20
  262. package/dist/icons/ChevronLeft.mjs.map +1 -1
  263. package/dist/icons/ChevronRight.cjs +22 -0
  264. package/dist/icons/ChevronRight.cjs.map +1 -0
  265. package/dist/icons/ChevronRight.d.cts +11 -0
  266. package/dist/icons/ChevronRight.d.cts.map +1 -0
  267. package/dist/icons/ChevronRight.d.mts +9 -4
  268. package/dist/icons/ChevronRight.d.mts.map +1 -0
  269. package/dist/icons/ChevronRight.mjs +15 -20
  270. package/dist/icons/ChevronRight.mjs.map +1 -1
  271. package/dist/icons/Claim.cjs +26 -0
  272. package/dist/icons/Claim.cjs.map +1 -0
  273. package/dist/icons/Claim.d.cts +11 -0
  274. package/dist/icons/Claim.d.cts.map +1 -0
  275. package/dist/icons/Claim.d.mts +9 -4
  276. package/dist/icons/Claim.d.mts.map +1 -0
  277. package/dist/icons/Claim.mjs +19 -30
  278. package/dist/icons/Claim.mjs.map +1 -1
  279. package/dist/icons/Claimed.cjs +22 -0
  280. package/dist/icons/Claimed.cjs.map +1 -0
  281. package/dist/icons/Claimed.d.cts +11 -0
  282. package/dist/icons/Claimed.d.cts.map +1 -0
  283. package/dist/icons/Claimed.d.mts +9 -4
  284. package/dist/icons/Claimed.d.mts.map +1 -0
  285. package/dist/icons/Claimed.mjs +15 -20
  286. package/dist/icons/Claimed.mjs.map +1 -1
  287. package/dist/icons/Clock.cjs +30 -0
  288. package/dist/icons/Clock.cjs.map +1 -0
  289. package/dist/icons/Clock.d.cts +11 -0
  290. package/dist/icons/Clock.d.cts.map +1 -0
  291. package/dist/icons/Clock.d.mts +9 -4
  292. package/dist/icons/Clock.d.mts.map +1 -0
  293. package/dist/icons/Clock.mjs +23 -34
  294. package/dist/icons/Clock.mjs.map +1 -1
  295. package/dist/icons/Close.cjs +27 -0
  296. package/dist/icons/Close.cjs.map +1 -0
  297. package/dist/icons/Close.d.cts +11 -0
  298. package/dist/icons/Close.d.cts.map +1 -0
  299. package/dist/icons/Close.d.mts +9 -4
  300. package/dist/icons/Close.d.mts.map +1 -0
  301. package/dist/icons/Close.mjs +20 -31
  302. package/dist/icons/Close.mjs.map +1 -1
  303. package/dist/icons/Code.cjs +31 -0
  304. package/dist/icons/Code.cjs.map +1 -0
  305. package/dist/icons/Code.d.cts +11 -0
  306. package/dist/icons/Code.d.cts.map +1 -0
  307. package/dist/icons/Code.d.mts +9 -4
  308. package/dist/icons/Code.d.mts.map +1 -0
  309. package/dist/icons/Code.mjs +24 -32
  310. package/dist/icons/Code.mjs.map +1 -1
  311. package/dist/icons/Copy.cjs +25 -0
  312. package/dist/icons/Copy.cjs.map +1 -0
  313. package/dist/icons/Copy.d.cts +11 -0
  314. package/dist/icons/Copy.d.cts.map +1 -0
  315. package/dist/icons/Copy.d.mts +9 -4
  316. package/dist/icons/Copy.d.mts.map +1 -0
  317. package/dist/icons/Copy.mjs +18 -29
  318. package/dist/icons/Copy.mjs.map +1 -1
  319. package/dist/icons/Cross.cjs +25 -0
  320. package/dist/icons/Cross.cjs.map +1 -0
  321. package/dist/icons/Cross.d.cts +11 -0
  322. package/dist/icons/Cross.d.cts.map +1 -0
  323. package/dist/icons/Cross.d.mts +9 -4
  324. package/dist/icons/Cross.d.mts.map +1 -0
  325. package/dist/icons/Cross.mjs +18 -29
  326. package/dist/icons/Cross.mjs.map +1 -1
  327. package/dist/icons/Developer.cjs +34 -0
  328. package/dist/icons/Developer.cjs.map +1 -0
  329. package/dist/icons/Developer.d.cts +11 -0
  330. package/dist/icons/Developer.d.cts.map +1 -0
  331. package/dist/icons/Developer.d.mts +9 -4
  332. package/dist/icons/Developer.d.mts.map +1 -0
  333. package/dist/icons/Developer.mjs +27 -38
  334. package/dist/icons/Developer.mjs.map +1 -1
  335. package/dist/icons/Disconnect.cjs +40 -0
  336. package/dist/icons/Disconnect.cjs.map +1 -0
  337. package/dist/icons/Disconnect.d.cts +11 -0
  338. package/dist/icons/Disconnect.d.cts.map +1 -0
  339. package/dist/icons/Disconnect.d.mts +9 -4
  340. package/dist/icons/Disconnect.d.mts.map +1 -0
  341. package/dist/icons/Disconnect.mjs +33 -38
  342. package/dist/icons/Disconnect.mjs.map +1 -1
  343. package/dist/icons/Discord.cjs +22 -0
  344. package/dist/icons/Discord.cjs.map +1 -0
  345. package/dist/icons/Discord.d.cts +11 -0
  346. package/dist/icons/Discord.d.cts.map +1 -0
  347. package/dist/icons/Discord.d.mts +9 -4
  348. package/dist/icons/Discord.d.mts.map +1 -0
  349. package/dist/icons/Discord.mjs +15 -20
  350. package/dist/icons/Discord.mjs.map +1 -1
  351. package/dist/icons/Dollar.cjs +24 -0
  352. package/dist/icons/Dollar.cjs.map +1 -0
  353. package/dist/icons/Dollar.d.cts +11 -0
  354. package/dist/icons/Dollar.d.cts.map +1 -0
  355. package/dist/icons/Dollar.d.mts +9 -4
  356. package/dist/icons/Dollar.d.mts.map +1 -0
  357. package/dist/icons/Dollar.mjs +17 -22
  358. package/dist/icons/Dollar.mjs.map +1 -1
  359. package/dist/icons/DoubleArrow.cjs +25 -0
  360. package/dist/icons/DoubleArrow.cjs.map +1 -0
  361. package/dist/icons/DoubleArrow.d.cts +11 -0
  362. package/dist/icons/DoubleArrow.d.cts.map +1 -0
  363. package/dist/icons/DoubleArrow.d.mts +9 -4
  364. package/dist/icons/DoubleArrow.d.mts.map +1 -0
  365. package/dist/icons/DoubleArrow.mjs +18 -29
  366. package/dist/icons/DoubleArrow.mjs.map +1 -1
  367. package/dist/icons/EVM.cjs +29 -0
  368. package/dist/icons/EVM.cjs.map +1 -0
  369. package/dist/icons/EVM.d.cts +11 -0
  370. package/dist/icons/EVM.d.cts.map +1 -0
  371. package/dist/icons/EVM.d.mts +9 -4
  372. package/dist/icons/EVM.d.mts.map +1 -0
  373. package/dist/icons/EVM.mjs +22 -33
  374. package/dist/icons/EVM.mjs.map +1 -1
  375. package/dist/icons/Email.cjs +33 -0
  376. package/dist/icons/Email.cjs.map +1 -0
  377. package/dist/icons/Email.d.cts +11 -0
  378. package/dist/icons/Email.d.cts.map +1 -0
  379. package/dist/icons/Email.d.mts +9 -4
  380. package/dist/icons/Email.d.mts.map +1 -0
  381. package/dist/icons/Email.mjs +26 -37
  382. package/dist/icons/Email.mjs.map +1 -1
  383. package/dist/icons/Error.cjs +22 -0
  384. package/dist/icons/Error.cjs.map +1 -0
  385. package/dist/icons/Error.d.cts +11 -0
  386. package/dist/icons/Error.d.cts.map +1 -0
  387. package/dist/icons/Error.d.mts +9 -4
  388. package/dist/icons/Error.d.mts.map +1 -0
  389. package/dist/icons/Error.mjs +15 -20
  390. package/dist/icons/Error.mjs.map +1 -1
  391. package/dist/icons/Expand.cjs +25 -0
  392. package/dist/icons/Expand.cjs.map +1 -0
  393. package/dist/icons/Expand.d.cts +11 -0
  394. package/dist/icons/Expand.d.cts.map +1 -0
  395. package/dist/icons/Expand.d.mts +9 -4
  396. package/dist/icons/Expand.d.mts.map +1 -0
  397. package/dist/icons/Expand.mjs +18 -29
  398. package/dist/icons/Expand.mjs.map +1 -1
  399. package/dist/icons/External.cjs +26 -0
  400. package/dist/icons/External.cjs.map +1 -0
  401. package/dist/icons/External.d.cts +11 -0
  402. package/dist/icons/External.d.cts.map +1 -0
  403. package/dist/icons/External.d.mts +9 -4
  404. package/dist/icons/External.d.mts.map +1 -0
  405. package/dist/icons/External.mjs +19 -30
  406. package/dist/icons/External.mjs.map +1 -1
  407. package/dist/icons/Filter.cjs +33 -0
  408. package/dist/icons/Filter.cjs.map +1 -0
  409. package/dist/icons/Filter.d.cts +11 -0
  410. package/dist/icons/Filter.d.cts.map +1 -0
  411. package/dist/icons/Filter.d.mts +9 -4
  412. package/dist/icons/Filter.d.mts.map +1 -0
  413. package/dist/icons/Filter.mjs +26 -37
  414. package/dist/icons/Filter.mjs.map +1 -1
  415. package/dist/icons/Firmware.cjs +25 -0
  416. package/dist/icons/Firmware.cjs.map +1 -0
  417. package/dist/icons/Firmware.d.cts +11 -0
  418. package/dist/icons/Firmware.d.cts.map +1 -0
  419. package/dist/icons/Firmware.d.mts +9 -4
  420. package/dist/icons/Firmware.d.mts.map +1 -0
  421. package/dist/icons/Firmware.mjs +18 -29
  422. package/dist/icons/Firmware.mjs.map +1 -1
  423. package/dist/icons/Flag.cjs +25 -0
  424. package/dist/icons/Flag.cjs.map +1 -0
  425. package/dist/icons/Flag.d.cts +11 -0
  426. package/dist/icons/Flag.d.cts.map +1 -0
  427. package/dist/icons/Flag.d.mts +9 -4
  428. package/dist/icons/Flag.d.mts.map +1 -0
  429. package/dist/icons/Flag.mjs +18 -29
  430. package/dist/icons/Flag.mjs.map +1 -1
  431. package/dist/icons/Flame.cjs +22 -0
  432. package/dist/icons/Flame.cjs.map +1 -0
  433. package/dist/icons/Flame.d.cts +11 -0
  434. package/dist/icons/Flame.d.cts.map +1 -0
  435. package/dist/icons/Flame.d.mts +9 -4
  436. package/dist/icons/Flame.d.mts.map +1 -0
  437. package/dist/icons/Flame.mjs +15 -20
  438. package/dist/icons/Flame.mjs.map +1 -1
  439. package/dist/icons/Flexible.cjs +40 -0
  440. package/dist/icons/Flexible.cjs.map +1 -0
  441. package/dist/icons/Flexible.d.cts +11 -0
  442. package/dist/icons/Flexible.d.cts.map +1 -0
  443. package/dist/icons/Flexible.d.mts +9 -4
  444. package/dist/icons/Flexible.d.mts.map +1 -0
  445. package/dist/icons/Flexible.mjs +33 -44
  446. package/dist/icons/Flexible.mjs.map +1 -1
  447. package/dist/icons/Free.cjs +38 -0
  448. package/dist/icons/Free.cjs.map +1 -0
  449. package/dist/icons/Free.d.cts +11 -0
  450. package/dist/icons/Free.d.cts.map +1 -0
  451. package/dist/icons/Free.d.mts +9 -4
  452. package/dist/icons/Free.d.mts.map +1 -0
  453. package/dist/icons/Free.mjs +31 -45
  454. package/dist/icons/Free.mjs.map +1 -1
  455. package/dist/icons/General.cjs +63 -0
  456. package/dist/icons/General.cjs.map +1 -0
  457. package/dist/icons/General.d.cts +11 -0
  458. package/dist/icons/General.d.cts.map +1 -0
  459. package/dist/icons/General.d.mts +9 -4
  460. package/dist/icons/General.d.mts.map +1 -0
  461. package/dist/icons/General.mjs +56 -52
  462. package/dist/icons/General.mjs.map +1 -1
  463. package/dist/icons/Github.cjs +33 -0
  464. package/dist/icons/Github.cjs.map +1 -0
  465. package/dist/icons/Github.d.cts +11 -0
  466. package/dist/icons/Github.d.cts.map +1 -0
  467. package/dist/icons/Github.d.mts +9 -4
  468. package/dist/icons/Github.d.mts.map +1 -0
  469. package/dist/icons/Github.mjs +26 -31
  470. package/dist/icons/Github.mjs.map +1 -1
  471. package/dist/icons/Globe.cjs +22 -0
  472. package/dist/icons/Globe.cjs.map +1 -0
  473. package/dist/icons/Globe.d.cts +11 -0
  474. package/dist/icons/Globe.d.cts.map +1 -0
  475. package/dist/icons/Globe.d.mts +9 -4
  476. package/dist/icons/Globe.d.mts.map +1 -0
  477. package/dist/icons/Globe.mjs +15 -17
  478. package/dist/icons/Globe.mjs.map +1 -1
  479. package/dist/icons/GridView.cjs +36 -0
  480. package/dist/icons/GridView.cjs.map +1 -0
  481. package/dist/icons/GridView.d.cts +11 -0
  482. package/dist/icons/GridView.d.cts.map +1 -0
  483. package/dist/icons/GridView.d.mts +9 -4
  484. package/dist/icons/GridView.d.mts.map +1 -0
  485. package/dist/icons/GridView.mjs +29 -43
  486. package/dist/icons/GridView.mjs.map +1 -1
  487. package/dist/icons/Heart.cjs +22 -0
  488. package/dist/icons/Heart.cjs.map +1 -0
  489. package/dist/icons/Heart.d.cts +11 -0
  490. package/dist/icons/Heart.d.cts.map +1 -0
  491. package/dist/icons/Heart.d.mts +9 -4
  492. package/dist/icons/Heart.d.mts.map +1 -0
  493. package/dist/icons/Heart.mjs +15 -20
  494. package/dist/icons/Heart.mjs.map +1 -1
  495. package/dist/icons/Info.cjs +22 -0
  496. package/dist/icons/Info.cjs.map +1 -0
  497. package/dist/icons/Info.d.cts +11 -0
  498. package/dist/icons/Info.d.cts.map +1 -0
  499. package/dist/icons/Info.d.mts +9 -4
  500. package/dist/icons/Info.d.mts.map +1 -0
  501. package/dist/icons/Info.mjs +15 -20
  502. package/dist/icons/Info.mjs.map +1 -1
  503. package/dist/icons/Language.cjs +30 -0
  504. package/dist/icons/Language.cjs.map +1 -0
  505. package/dist/icons/Language.d.cts +11 -0
  506. package/dist/icons/Language.d.cts.map +1 -0
  507. package/dist/icons/Language.d.mts +9 -4
  508. package/dist/icons/Language.d.mts.map +1 -0
  509. package/dist/icons/Language.mjs +23 -34
  510. package/dist/icons/Language.mjs.map +1 -1
  511. package/dist/icons/Lessons.cjs +26 -0
  512. package/dist/icons/Lessons.cjs.map +1 -0
  513. package/dist/icons/Lessons.d.cts +11 -0
  514. package/dist/icons/Lessons.d.cts.map +1 -0
  515. package/dist/icons/Lessons.d.mts +9 -4
  516. package/dist/icons/Lessons.d.mts.map +1 -0
  517. package/dist/icons/Lessons.mjs +19 -30
  518. package/dist/icons/Lessons.mjs.map +1 -1
  519. package/dist/icons/Link.cjs +28 -0
  520. package/dist/icons/Link.cjs.map +1 -0
  521. package/dist/icons/Link.d.cts +11 -0
  522. package/dist/icons/Link.d.cts.map +1 -0
  523. package/dist/icons/Link.d.mts +9 -4
  524. package/dist/icons/Link.d.mts.map +1 -0
  525. package/dist/icons/Link.mjs +21 -29
  526. package/dist/icons/Link.mjs.map +1 -1
  527. package/dist/icons/ListView.cjs +32 -0
  528. package/dist/icons/ListView.cjs.map +1 -0
  529. package/dist/icons/ListView.d.cts +11 -0
  530. package/dist/icons/ListView.d.cts.map +1 -0
  531. package/dist/icons/ListView.d.mts +9 -4
  532. package/dist/icons/ListView.d.mts.map +1 -0
  533. package/dist/icons/ListView.mjs +25 -36
  534. package/dist/icons/ListView.mjs.map +1 -1
  535. package/dist/icons/Loading.cjs +26 -0
  536. package/dist/icons/Loading.cjs.map +1 -0
  537. package/dist/icons/Loading.d.cts +11 -0
  538. package/dist/icons/Loading.d.cts.map +1 -0
  539. package/dist/icons/Loading.d.mts +9 -4
  540. package/dist/icons/Loading.d.mts.map +1 -0
  541. package/dist/icons/Loading.mjs +19 -32
  542. package/dist/icons/Loading.mjs.map +1 -1
  543. package/dist/icons/Locked.cjs +25 -0
  544. package/dist/icons/Locked.cjs.map +1 -0
  545. package/dist/icons/Locked.d.cts +11 -0
  546. package/dist/icons/Locked.d.cts.map +1 -0
  547. package/dist/icons/Locked.d.mts +9 -4
  548. package/dist/icons/Locked.d.mts.map +1 -0
  549. package/dist/icons/Locked.mjs +18 -29
  550. package/dist/icons/Locked.mjs.map +1 -1
  551. package/dist/icons/Logs.cjs +33 -0
  552. package/dist/icons/Logs.cjs.map +1 -0
  553. package/dist/icons/Logs.d.cts +11 -0
  554. package/dist/icons/Logs.d.cts.map +1 -0
  555. package/dist/icons/Logs.d.mts +9 -4
  556. package/dist/icons/Logs.d.mts.map +1 -0
  557. package/dist/icons/Logs.mjs +26 -18
  558. package/dist/icons/Logs.mjs.map +1 -1
  559. package/dist/icons/Mentor.cjs +38 -0
  560. package/dist/icons/Mentor.cjs.map +1 -0
  561. package/dist/icons/Mentor.d.cts +11 -0
  562. package/dist/icons/Mentor.d.cts.map +1 -0
  563. package/dist/icons/Mentor.d.mts +9 -4
  564. package/dist/icons/Mentor.d.mts.map +1 -0
  565. package/dist/icons/Mentor.mjs +31 -39
  566. package/dist/icons/Mentor.mjs.map +1 -1
  567. package/dist/icons/Metamask.cjs +48 -0
  568. package/dist/icons/Metamask.cjs.map +1 -0
  569. package/dist/icons/Metamask.d.cts +11 -0
  570. package/dist/icons/Metamask.d.cts.map +1 -0
  571. package/dist/icons/Metamask.d.mts +9 -4
  572. package/dist/icons/Metamask.d.mts.map +1 -0
  573. package/dist/icons/Metamask.mjs +41 -64
  574. package/dist/icons/Metamask.mjs.map +1 -1
  575. package/dist/icons/Minimize.cjs +25 -0
  576. package/dist/icons/Minimize.cjs.map +1 -0
  577. package/dist/icons/Minimize.d.cts +11 -0
  578. package/dist/icons/Minimize.d.cts.map +1 -0
  579. package/dist/icons/Minimize.d.mts +9 -4
  580. package/dist/icons/Minimize.d.mts.map +1 -0
  581. package/dist/icons/Minimize.mjs +18 -29
  582. package/dist/icons/Minimize.mjs.map +1 -1
  583. package/dist/icons/Modular.cjs +38 -0
  584. package/dist/icons/Modular.cjs.map +1 -0
  585. package/dist/icons/Modular.d.cts +11 -0
  586. package/dist/icons/Modular.d.cts.map +1 -0
  587. package/dist/icons/Modular.d.mts +9 -4
  588. package/dist/icons/Modular.d.mts.map +1 -0
  589. package/dist/icons/Modular.mjs +31 -45
  590. package/dist/icons/Modular.mjs.map +1 -1
  591. package/dist/icons/NFT.cjs +37 -0
  592. package/dist/icons/NFT.cjs.map +1 -0
  593. package/dist/icons/NFT.d.cts +11 -0
  594. package/dist/icons/NFT.d.cts.map +1 -0
  595. package/dist/icons/NFT.d.mts +9 -4
  596. package/dist/icons/NFT.d.mts.map +1 -0
  597. package/dist/icons/NFT.mjs +30 -41
  598. package/dist/icons/NFT.mjs.map +1 -1
  599. package/dist/icons/Online.cjs +47 -0
  600. package/dist/icons/Online.cjs.map +1 -0
  601. package/dist/icons/Online.d.cts +11 -0
  602. package/dist/icons/Online.d.cts.map +1 -0
  603. package/dist/icons/Online.d.mts +9 -4
  604. package/dist/icons/Online.d.mts.map +1 -0
  605. package/dist/icons/Online.mjs +40 -47
  606. package/dist/icons/Online.mjs.map +1 -1
  607. package/dist/icons/Password.cjs +32 -0
  608. package/dist/icons/Password.cjs.map +1 -0
  609. package/dist/icons/Password.d.cts +11 -0
  610. package/dist/icons/Password.d.cts.map +1 -0
  611. package/dist/icons/Password.d.mts +9 -4
  612. package/dist/icons/Password.d.mts.map +1 -0
  613. package/dist/icons/Password.mjs +25 -36
  614. package/dist/icons/Password.mjs.map +1 -1
  615. package/dist/icons/Path.cjs +30 -0
  616. package/dist/icons/Path.cjs.map +1 -0
  617. package/dist/icons/Path.d.cts +11 -0
  618. package/dist/icons/Path.d.cts.map +1 -0
  619. package/dist/icons/Path.d.mts +9 -4
  620. package/dist/icons/Path.d.mts.map +1 -0
  621. package/dist/icons/Path.mjs +23 -34
  622. package/dist/icons/Path.mjs.map +1 -1
  623. package/dist/icons/Perks.cjs +35 -0
  624. package/dist/icons/Perks.cjs.map +1 -0
  625. package/dist/icons/Perks.d.cts +11 -0
  626. package/dist/icons/Perks.d.cts.map +1 -0
  627. package/dist/icons/Perks.d.mts +9 -4
  628. package/dist/icons/Perks.d.mts.map +1 -0
  629. package/dist/icons/Perks.mjs +28 -33
  630. package/dist/icons/Perks.mjs.map +1 -1
  631. package/dist/icons/Phantom.cjs +22 -0
  632. package/dist/icons/Phantom.cjs.map +1 -0
  633. package/dist/icons/Phantom.d.cts +11 -0
  634. package/dist/icons/Phantom.d.cts.map +1 -0
  635. package/dist/icons/Phantom.d.mts +9 -4
  636. package/dist/icons/Phantom.d.mts.map +1 -0
  637. package/dist/icons/Phantom.mjs +15 -20
  638. package/dist/icons/Phantom.mjs.map +1 -1
  639. package/dist/icons/Play.cjs +22 -0
  640. package/dist/icons/Play.cjs.map +1 -0
  641. package/dist/icons/Play.d.cts +11 -0
  642. package/dist/icons/Play.d.cts.map +1 -0
  643. package/dist/icons/Play.d.mts +9 -4
  644. package/dist/icons/Play.d.mts.map +1 -0
  645. package/dist/icons/Play.mjs +15 -20
  646. package/dist/icons/Play.mjs.map +1 -1
  647. package/dist/icons/Product.cjs +32 -0
  648. package/dist/icons/Product.cjs.map +1 -0
  649. package/dist/icons/Product.d.cts +11 -0
  650. package/dist/icons/Product.d.cts.map +1 -0
  651. package/dist/icons/Product.d.mts +9 -4
  652. package/dist/icons/Product.d.mts.map +1 -0
  653. package/dist/icons/Product.mjs +25 -36
  654. package/dist/icons/Product.mjs.map +1 -1
  655. package/dist/icons/Progress.cjs +28 -0
  656. package/dist/icons/Progress.cjs.map +1 -0
  657. package/dist/icons/Progress.d.cts +11 -0
  658. package/dist/icons/Progress.d.cts.map +1 -0
  659. package/dist/icons/Progress.d.mts +9 -4
  660. package/dist/icons/Progress.d.mts.map +1 -0
  661. package/dist/icons/Progress.mjs +21 -29
  662. package/dist/icons/Progress.mjs.map +1 -1
  663. package/dist/icons/Protocol.cjs +32 -0
  664. package/dist/icons/Protocol.cjs.map +1 -0
  665. package/dist/icons/Protocol.d.cts +11 -0
  666. package/dist/icons/Protocol.d.cts.map +1 -0
  667. package/dist/icons/Protocol.d.mts +9 -4
  668. package/dist/icons/Protocol.d.mts.map +1 -0
  669. package/dist/icons/Protocol.mjs +25 -36
  670. package/dist/icons/Protocol.mjs.map +1 -1
  671. package/dist/icons/Refresh.cjs +25 -0
  672. package/dist/icons/Refresh.cjs.map +1 -0
  673. package/dist/icons/Refresh.d.cts +11 -0
  674. package/dist/icons/Refresh.d.cts.map +1 -0
  675. package/dist/icons/Refresh.d.mts +9 -4
  676. package/dist/icons/Refresh.d.mts.map +1 -0
  677. package/dist/icons/Refresh.mjs +18 -29
  678. package/dist/icons/Refresh.mjs.map +1 -1
  679. package/dist/icons/Rewards.cjs +26 -0
  680. package/dist/icons/Rewards.cjs.map +1 -0
  681. package/dist/icons/Rewards.d.cts +11 -0
  682. package/dist/icons/Rewards.d.cts.map +1 -0
  683. package/dist/icons/Rewards.d.mts +9 -4
  684. package/dist/icons/Rewards.d.mts.map +1 -0
  685. package/dist/icons/Rewards.mjs +19 -30
  686. package/dist/icons/Rewards.mjs.map +1 -1
  687. package/dist/icons/Rust.cjs +95 -0
  688. package/dist/icons/Rust.cjs.map +1 -0
  689. package/dist/icons/Rust.d.cts +11 -0
  690. package/dist/icons/Rust.d.cts.map +1 -0
  691. package/dist/icons/Rust.d.mts +9 -4
  692. package/dist/icons/Rust.d.mts.map +1 -0
  693. package/dist/icons/Rust.mjs +88 -138
  694. package/dist/icons/Rust.mjs.map +1 -1
  695. package/dist/icons/Search.cjs +37 -0
  696. package/dist/icons/Search.cjs.map +1 -0
  697. package/dist/icons/Search.d.cts +11 -0
  698. package/dist/icons/Search.d.cts.map +1 -0
  699. package/dist/icons/Search.d.mts +9 -4
  700. package/dist/icons/Search.d.mts.map +1 -0
  701. package/dist/icons/Search.mjs +30 -44
  702. package/dist/icons/Search.mjs.map +1 -1
  703. package/dist/icons/SmartContract.cjs +22 -0
  704. package/dist/icons/SmartContract.cjs.map +1 -0
  705. package/dist/icons/SmartContract.d.cts +11 -0
  706. package/dist/icons/SmartContract.d.cts.map +1 -0
  707. package/dist/icons/SmartContract.d.mts +9 -4
  708. package/dist/icons/SmartContract.d.mts.map +1 -0
  709. package/dist/icons/SmartContract.mjs +15 -20
  710. package/dist/icons/SmartContract.mjs.map +1 -1
  711. package/dist/icons/Solana.cjs +64 -0
  712. package/dist/icons/Solana.cjs.map +1 -0
  713. package/dist/icons/Solana.d.cts +11 -0
  714. package/dist/icons/Solana.d.cts.map +1 -0
  715. package/dist/icons/Solana.d.mts +9 -4
  716. package/dist/icons/Solana.d.mts.map +1 -0
  717. package/dist/icons/Solana.mjs +57 -44
  718. package/dist/icons/Solana.mjs.map +1 -1
  719. package/dist/icons/Solflare.cjs +22 -0
  720. package/dist/icons/Solflare.cjs.map +1 -0
  721. package/dist/icons/Solflare.d.cts +11 -0
  722. package/dist/icons/Solflare.d.cts.map +1 -0
  723. package/dist/icons/Solflare.d.mts +9 -4
  724. package/dist/icons/Solflare.d.mts.map +1 -0
  725. package/dist/icons/Solflare.mjs +15 -20
  726. package/dist/icons/Solflare.mjs.map +1 -1
  727. package/dist/icons/Success.cjs +25 -0
  728. package/dist/icons/Success.cjs.map +1 -0
  729. package/dist/icons/Success.d.cts +11 -0
  730. package/dist/icons/Success.d.cts.map +1 -0
  731. package/dist/icons/Success.d.mts +9 -4
  732. package/dist/icons/Success.d.mts.map +1 -0
  733. package/dist/icons/Success.mjs +18 -23
  734. package/dist/icons/Success.mjs.map +1 -1
  735. package/dist/icons/SuccessCircle.cjs +25 -0
  736. package/dist/icons/SuccessCircle.cjs.map +1 -0
  737. package/dist/icons/SuccessCircle.d.cts +11 -0
  738. package/dist/icons/SuccessCircle.d.cts.map +1 -0
  739. package/dist/icons/SuccessCircle.d.mts +9 -4
  740. package/dist/icons/SuccessCircle.d.mts.map +1 -0
  741. package/dist/icons/SuccessCircle.mjs +18 -23
  742. package/dist/icons/SuccessCircle.mjs.map +1 -1
  743. package/dist/icons/Table.cjs +32 -0
  744. package/dist/icons/Table.cjs.map +1 -0
  745. package/dist/icons/Table.d.cts +11 -0
  746. package/dist/icons/Table.d.cts.map +1 -0
  747. package/dist/icons/Table.d.mts +9 -4
  748. package/dist/icons/Table.d.mts.map +1 -0
  749. package/dist/icons/Table.mjs +25 -36
  750. package/dist/icons/Table.mjs.map +1 -1
  751. package/dist/icons/Target.cjs +35 -0
  752. package/dist/icons/Target.cjs.map +1 -0
  753. package/dist/icons/Target.d.cts +11 -0
  754. package/dist/icons/Target.d.cts.map +1 -0
  755. package/dist/icons/Target.d.mts +9 -4
  756. package/dist/icons/Target.d.mts.map +1 -0
  757. package/dist/icons/Target.mjs +28 -39
  758. package/dist/icons/Target.mjs.map +1 -1
  759. package/dist/icons/Training.cjs +32 -0
  760. package/dist/icons/Training.cjs.map +1 -0
  761. package/dist/icons/Training.d.cts +11 -0
  762. package/dist/icons/Training.d.cts.map +1 -0
  763. package/dist/icons/Training.d.mts +9 -4
  764. package/dist/icons/Training.d.mts.map +1 -0
  765. package/dist/icons/Training.mjs +25 -36
  766. package/dist/icons/Training.mjs.map +1 -1
  767. package/dist/icons/Typescript.cjs +79 -0
  768. package/dist/icons/Typescript.cjs.map +1 -0
  769. package/dist/icons/Typescript.d.cts +11 -0
  770. package/dist/icons/Typescript.d.cts.map +1 -0
  771. package/dist/icons/Typescript.d.mts +9 -4
  772. package/dist/icons/Typescript.d.mts.map +1 -0
  773. package/dist/icons/Typescript.mjs +72 -116
  774. package/dist/icons/Typescript.mjs.map +1 -1
  775. package/dist/icons/Unclaimed.cjs +25 -0
  776. package/dist/icons/Unclaimed.cjs.map +1 -0
  777. package/dist/icons/Unclaimed.d.cts +11 -0
  778. package/dist/icons/Unclaimed.d.cts.map +1 -0
  779. package/dist/icons/Unclaimed.d.mts +9 -4
  780. package/dist/icons/Unclaimed.d.mts.map +1 -0
  781. package/dist/icons/Unclaimed.mjs +18 -29
  782. package/dist/icons/Unclaimed.mjs.map +1 -1
  783. package/dist/icons/Upload.cjs +26 -0
  784. package/dist/icons/Upload.cjs.map +1 -0
  785. package/dist/icons/Upload.d.cts +11 -0
  786. package/dist/icons/Upload.d.cts.map +1 -0
  787. package/dist/icons/Upload.d.mts +9 -4
  788. package/dist/icons/Upload.d.mts.map +1 -0
  789. package/dist/icons/Upload.mjs +19 -30
  790. package/dist/icons/Upload.mjs.map +1 -1
  791. package/dist/icons/User.cjs +32 -0
  792. package/dist/icons/User.cjs.map +1 -0
  793. package/dist/icons/User.d.cts +11 -0
  794. package/dist/icons/User.d.cts.map +1 -0
  795. package/dist/icons/User.d.mts +9 -4
  796. package/dist/icons/User.d.mts.map +1 -0
  797. package/dist/icons/User.mjs +25 -36
  798. package/dist/icons/User.mjs.map +1 -1
  799. package/dist/icons/Wallet.cjs +34 -0
  800. package/dist/icons/Wallet.cjs.map +1 -0
  801. package/dist/icons/Wallet.d.cts +11 -0
  802. package/dist/icons/Wallet.d.cts.map +1 -0
  803. package/dist/icons/Wallet.d.mts +9 -4
  804. package/dist/icons/Wallet.d.mts.map +1 -0
  805. package/dist/icons/Wallet.mjs +27 -38
  806. package/dist/icons/Wallet.mjs.map +1 -1
  807. package/dist/icons/WalletSmall.cjs +25 -0
  808. package/dist/icons/WalletSmall.cjs.map +1 -0
  809. package/dist/icons/WalletSmall.d.cts +11 -0
  810. package/dist/icons/WalletSmall.d.cts.map +1 -0
  811. package/dist/icons/WalletSmall.d.mts +9 -4
  812. package/dist/icons/WalletSmall.d.mts.map +1 -0
  813. package/dist/icons/WalletSmall.mjs +18 -29
  814. package/dist/icons/WalletSmall.mjs.map +1 -1
  815. package/dist/icons/Warning.cjs +30 -0
  816. package/dist/icons/Warning.cjs.map +1 -0
  817. package/dist/icons/Warning.d.cts +11 -0
  818. package/dist/icons/Warning.d.cts.map +1 -0
  819. package/dist/icons/Warning.d.mts +9 -4
  820. package/dist/icons/Warning.d.mts.map +1 -0
  821. package/dist/icons/Warning.mjs +23 -25
  822. package/dist/icons/Warning.mjs.map +1 -1
  823. package/dist/icons/X.cjs +22 -0
  824. package/dist/icons/X.cjs.map +1 -0
  825. package/dist/icons/X.d.cts +11 -0
  826. package/dist/icons/X.d.cts.map +1 -0
  827. package/dist/icons/X.d.mts +9 -4
  828. package/dist/icons/X.d.mts.map +1 -0
  829. package/dist/icons/X.mjs +15 -20
  830. package/dist/icons/X.mjs.map +1 -1
  831. package/dist/icons/index.cjs +180 -0
  832. package/dist/icons/index.cjs.map +1 -0
  833. package/dist/icons/index.d.cts +335 -0
  834. package/dist/icons/index.d.cts.map +1 -0
  835. package/dist/icons/index.d.mts +335 -2
  836. package/dist/icons/index.d.mts.map +1 -0
  837. package/dist/icons/index.mjs +171 -168
  838. package/dist/icons/index.mjs.map +1 -1
  839. package/dist/index.cjs +64 -0
  840. package/dist/index.d.cts +26 -0
  841. package/dist/index.d.mts +26 -27
  842. package/dist/index.mjs +27 -27
  843. package/dist/utils/colours.cjs +36 -0
  844. package/dist/utils/colours.cjs.map +1 -0
  845. package/dist/utils/colours.d.cts +33 -0
  846. package/dist/utils/colours.d.cts.map +1 -0
  847. package/dist/utils/colours.d.mts +26 -24
  848. package/dist/utils/colours.d.mts.map +1 -0
  849. package/dist/utils/colours.mjs +24 -23
  850. package/dist/utils/colours.mjs.map +1 -1
  851. package/dist/utils/easings.cjs +58 -0
  852. package/dist/utils/easings.cjs.map +1 -0
  853. package/dist/utils/easings.d.cts +15 -0
  854. package/dist/utils/easings.d.cts.map +1 -0
  855. package/dist/utils/easings.d.mts +12 -16
  856. package/dist/utils/easings.d.mts.map +1 -0
  857. package/dist/utils/easings.mjs +44 -8
  858. package/dist/utils/easings.mjs.map +1 -1
  859. package/package.json +3 -3
  860. package/dist/Alert.d.ts +0 -19
  861. package/dist/Alert.js +0 -102
  862. package/dist/Alert.js.map +0 -1
  863. package/dist/Avatar.d.ts +0 -17
  864. package/dist/Avatar.js +0 -72
  865. package/dist/Avatar.js.map +0 -1
  866. package/dist/Badge.d.ts +0 -20
  867. package/dist/Badge.js +0 -88
  868. package/dist/Badge.js.map +0 -1
  869. package/dist/Banner.d.ts +0 -18
  870. package/dist/Banner.js +0 -69
  871. package/dist/Banner.js.map +0 -1
  872. package/dist/Button.d.ts +0 -31
  873. package/dist/Button.js +0 -155
  874. package/dist/Button.js.map +0 -1
  875. package/dist/Checkbox.d.ts +0 -12
  876. package/dist/Checkbox.js +0 -63
  877. package/dist/Checkbox.js.map +0 -1
  878. package/dist/Codeblock.d.ts +0 -15
  879. package/dist/Codeblock.js +0 -99
  880. package/dist/Codeblock.js.map +0 -1
  881. package/dist/CrossHair.d.ts +0 -18
  882. package/dist/CrossHair.js +0 -267
  883. package/dist/CrossHair.js.map +0 -1
  884. package/dist/DecryptText.d.ts +0 -13
  885. package/dist/DecryptText.js +0 -105
  886. package/dist/DecryptText.js.map +0 -1
  887. package/dist/Difficulty.d.ts +0 -10
  888. package/dist/Difficulty.js +0 -142
  889. package/dist/Difficulty.js.map +0 -1
  890. package/dist/Divider.d.ts +0 -9
  891. package/dist/Divider.js +0 -51
  892. package/dist/Divider.js.map +0 -1
  893. package/dist/Dropdown.d.ts +0 -80
  894. package/dist/Dropdown.js +0 -613
  895. package/dist/Dropdown.js.map +0 -1
  896. package/dist/GridLines.d.ts +0 -11
  897. package/dist/GridLines.js +0 -91
  898. package/dist/GridLines.js.map +0 -1
  899. package/dist/HeadingReveal.d.ts +0 -15
  900. package/dist/HeadingReveal.js +0 -68
  901. package/dist/HeadingReveal.js.map +0 -1
  902. package/dist/Icon-CS8ZR20W.d.mts +0 -97
  903. package/dist/Icon-CS8ZR20W.d.ts +0 -97
  904. package/dist/Icon.d.ts +0 -2
  905. package/dist/Icon.js +0 -32
  906. package/dist/Icon.js.map +0 -1
  907. package/dist/Input.d.ts +0 -40
  908. package/dist/Input.js +0 -189
  909. package/dist/Input.js.map +0 -1
  910. package/dist/Logo.d.ts +0 -11
  911. package/dist/Logo.js +0 -157
  912. package/dist/Logo.js.map +0 -1
  913. package/dist/Pagination.d.ts +0 -23
  914. package/dist/Pagination.js +0 -188
  915. package/dist/Pagination.js.map +0 -1
  916. package/dist/Slider.d.ts +0 -27
  917. package/dist/Slider.js +0 -344
  918. package/dist/Slider.js.map +0 -1
  919. package/dist/Tabs.d.ts +0 -26
  920. package/dist/Tabs.js +0 -111
  921. package/dist/Tabs.js.map +0 -1
  922. package/dist/Toast.d.ts +0 -18
  923. package/dist/Toast.js +0 -89
  924. package/dist/Toast.js.map +0 -1
  925. package/dist/Tooltip.d.ts +0 -10
  926. package/dist/Tooltip.js +0 -146
  927. package/dist/Tooltip.js.map +0 -1
  928. package/dist/fonts/CommitMono-Regular.woff2.d.mts +0 -2
  929. package/dist/fonts/CommitMono-Regular.woff2.d.ts +0 -2
  930. package/dist/fonts/MONTECHV02-Medium.woff2.d.mts +0 -2
  931. package/dist/fonts/MONTECHV02-Medium.woff2.d.ts +0 -2
  932. package/dist/fonts/Switzer-Regular.woff2.d.mts +0 -2
  933. package/dist/fonts/Switzer-Regular.woff2.d.ts +0 -2
  934. package/dist/icons/Anchor.d.ts +0 -6
  935. package/dist/icons/Anchor.js +0 -89
  936. package/dist/icons/Anchor.js.map +0 -1
  937. package/dist/icons/ArrowLeft.d.ts +0 -6
  938. package/dist/icons/ArrowLeft.js +0 -37
  939. package/dist/icons/ArrowLeft.js.map +0 -1
  940. package/dist/icons/ArrowRight.d.ts +0 -6
  941. package/dist/icons/ArrowRight.js +0 -37
  942. package/dist/icons/ArrowRight.js.map +0 -1
  943. package/dist/icons/Assembly.d.ts +0 -6
  944. package/dist/icons/Assembly.js +0 -172
  945. package/dist/icons/Assembly.js.map +0 -1
  946. package/dist/icons/Backpack.d.ts +0 -6
  947. package/dist/icons/Backpack.js +0 -46
  948. package/dist/icons/Backpack.js.map +0 -1
  949. package/dist/icons/Brave.d.ts +0 -6
  950. package/dist/icons/Brave.js +0 -60
  951. package/dist/icons/Brave.js.map +0 -1
  952. package/dist/icons/Challenge.d.ts +0 -6
  953. package/dist/icons/Challenge.js +0 -42
  954. package/dist/icons/Challenge.js.map +0 -1
  955. package/dist/icons/Chevron.d.ts +0 -6
  956. package/dist/icons/Chevron.js +0 -28
  957. package/dist/icons/Chevron.js.map +0 -1
  958. package/dist/icons/ChevronLeft.d.ts +0 -6
  959. package/dist/icons/ChevronLeft.js +0 -28
  960. package/dist/icons/ChevronLeft.js.map +0 -1
  961. package/dist/icons/ChevronRight.d.ts +0 -6
  962. package/dist/icons/ChevronRight.js +0 -28
  963. package/dist/icons/ChevronRight.js.map +0 -1
  964. package/dist/icons/Claim.d.ts +0 -6
  965. package/dist/icons/Claim.js +0 -38
  966. package/dist/icons/Claim.js.map +0 -1
  967. package/dist/icons/Claimed.d.ts +0 -6
  968. package/dist/icons/Claimed.js +0 -28
  969. package/dist/icons/Claimed.js.map +0 -1
  970. package/dist/icons/Clock.d.ts +0 -6
  971. package/dist/icons/Clock.js +0 -42
  972. package/dist/icons/Clock.js.map +0 -1
  973. package/dist/icons/Close.d.ts +0 -6
  974. package/dist/icons/Close.js +0 -39
  975. package/dist/icons/Close.js.map +0 -1
  976. package/dist/icons/Code.d.ts +0 -6
  977. package/dist/icons/Code.js +0 -40
  978. package/dist/icons/Code.js.map +0 -1
  979. package/dist/icons/Copy.d.ts +0 -6
  980. package/dist/icons/Copy.js +0 -37
  981. package/dist/icons/Copy.js.map +0 -1
  982. package/dist/icons/Cross.d.ts +0 -6
  983. package/dist/icons/Cross.js +0 -37
  984. package/dist/icons/Cross.js.map +0 -1
  985. package/dist/icons/Developer.d.ts +0 -6
  986. package/dist/icons/Developer.js +0 -46
  987. package/dist/icons/Developer.js.map +0 -1
  988. package/dist/icons/Disconnect.d.ts +0 -6
  989. package/dist/icons/Disconnect.js +0 -46
  990. package/dist/icons/Disconnect.js.map +0 -1
  991. package/dist/icons/Discord.d.ts +0 -6
  992. package/dist/icons/Discord.js +0 -28
  993. package/dist/icons/Discord.js.map +0 -1
  994. package/dist/icons/Dollar.d.ts +0 -6
  995. package/dist/icons/Dollar.js +0 -30
  996. package/dist/icons/Dollar.js.map +0 -1
  997. package/dist/icons/DoubleArrow.d.ts +0 -6
  998. package/dist/icons/DoubleArrow.js +0 -37
  999. package/dist/icons/DoubleArrow.js.map +0 -1
  1000. package/dist/icons/EVM.d.ts +0 -6
  1001. package/dist/icons/EVM.js +0 -41
  1002. package/dist/icons/EVM.js.map +0 -1
  1003. package/dist/icons/Email.d.ts +0 -6
  1004. package/dist/icons/Email.js +0 -45
  1005. package/dist/icons/Email.js.map +0 -1
  1006. package/dist/icons/Error.d.ts +0 -6
  1007. package/dist/icons/Error.js +0 -28
  1008. package/dist/icons/Error.js.map +0 -1
  1009. package/dist/icons/Expand.d.ts +0 -6
  1010. package/dist/icons/Expand.js +0 -37
  1011. package/dist/icons/Expand.js.map +0 -1
  1012. package/dist/icons/External.d.ts +0 -6
  1013. package/dist/icons/External.js +0 -38
  1014. package/dist/icons/External.js.map +0 -1
  1015. package/dist/icons/Filter.d.ts +0 -6
  1016. package/dist/icons/Filter.js +0 -45
  1017. package/dist/icons/Filter.js.map +0 -1
  1018. package/dist/icons/Firmware.d.ts +0 -6
  1019. package/dist/icons/Firmware.js +0 -37
  1020. package/dist/icons/Firmware.js.map +0 -1
  1021. package/dist/icons/Flag.d.ts +0 -6
  1022. package/dist/icons/Flag.js +0 -37
  1023. package/dist/icons/Flag.js.map +0 -1
  1024. package/dist/icons/Flame.d.ts +0 -6
  1025. package/dist/icons/Flame.js +0 -28
  1026. package/dist/icons/Flame.js.map +0 -1
  1027. package/dist/icons/Flexible.d.ts +0 -6
  1028. package/dist/icons/Flexible.js +0 -52
  1029. package/dist/icons/Flexible.js.map +0 -1
  1030. package/dist/icons/Free.d.ts +0 -6
  1031. package/dist/icons/Free.js +0 -53
  1032. package/dist/icons/Free.js.map +0 -1
  1033. package/dist/icons/General.d.ts +0 -6
  1034. package/dist/icons/General.js +0 -60
  1035. package/dist/icons/General.js.map +0 -1
  1036. package/dist/icons/Github.d.ts +0 -6
  1037. package/dist/icons/Github.js +0 -39
  1038. package/dist/icons/Github.js.map +0 -1
  1039. package/dist/icons/Globe.d.ts +0 -6
  1040. package/dist/icons/Globe.js +0 -25
  1041. package/dist/icons/Globe.js.map +0 -1
  1042. package/dist/icons/GridView.d.ts +0 -6
  1043. package/dist/icons/GridView.js +0 -51
  1044. package/dist/icons/GridView.js.map +0 -1
  1045. package/dist/icons/Heart.d.ts +0 -6
  1046. package/dist/icons/Heart.js +0 -28
  1047. package/dist/icons/Heart.js.map +0 -1
  1048. package/dist/icons/Info.d.ts +0 -6
  1049. package/dist/icons/Info.js +0 -28
  1050. package/dist/icons/Info.js.map +0 -1
  1051. package/dist/icons/Language.d.ts +0 -6
  1052. package/dist/icons/Language.js +0 -42
  1053. package/dist/icons/Language.js.map +0 -1
  1054. package/dist/icons/Lessons.d.ts +0 -6
  1055. package/dist/icons/Lessons.js +0 -38
  1056. package/dist/icons/Lessons.js.map +0 -1
  1057. package/dist/icons/Link.d.ts +0 -6
  1058. package/dist/icons/Link.js +0 -37
  1059. package/dist/icons/Link.js.map +0 -1
  1060. package/dist/icons/ListView.d.ts +0 -6
  1061. package/dist/icons/ListView.js +0 -44
  1062. package/dist/icons/ListView.js.map +0 -1
  1063. package/dist/icons/Loading.d.ts +0 -6
  1064. package/dist/icons/Loading.js +0 -40
  1065. package/dist/icons/Loading.js.map +0 -1
  1066. package/dist/icons/Locked.d.ts +0 -6
  1067. package/dist/icons/Locked.js +0 -37
  1068. package/dist/icons/Locked.js.map +0 -1
  1069. package/dist/icons/Logs.d.ts +0 -6
  1070. package/dist/icons/Logs.js +0 -26
  1071. package/dist/icons/Logs.js.map +0 -1
  1072. package/dist/icons/Mentor.d.ts +0 -6
  1073. package/dist/icons/Mentor.js +0 -47
  1074. package/dist/icons/Mentor.js.map +0 -1
  1075. package/dist/icons/Metamask.d.ts +0 -6
  1076. package/dist/icons/Metamask.js +0 -72
  1077. package/dist/icons/Metamask.js.map +0 -1
  1078. package/dist/icons/Minimize.d.ts +0 -6
  1079. package/dist/icons/Minimize.js +0 -37
  1080. package/dist/icons/Minimize.js.map +0 -1
  1081. package/dist/icons/Modular.d.ts +0 -6
  1082. package/dist/icons/Modular.js +0 -53
  1083. package/dist/icons/Modular.js.map +0 -1
  1084. package/dist/icons/NFT.d.ts +0 -6
  1085. package/dist/icons/NFT.js +0 -49
  1086. package/dist/icons/NFT.js.map +0 -1
  1087. package/dist/icons/Online.d.ts +0 -6
  1088. package/dist/icons/Online.js +0 -55
  1089. package/dist/icons/Online.js.map +0 -1
  1090. package/dist/icons/Password.d.ts +0 -6
  1091. package/dist/icons/Password.js +0 -44
  1092. package/dist/icons/Password.js.map +0 -1
  1093. package/dist/icons/Path.d.ts +0 -6
  1094. package/dist/icons/Path.js +0 -42
  1095. package/dist/icons/Path.js.map +0 -1
  1096. package/dist/icons/Perks.d.ts +0 -6
  1097. package/dist/icons/Perks.js +0 -41
  1098. package/dist/icons/Perks.js.map +0 -1
  1099. package/dist/icons/Phantom.d.ts +0 -6
  1100. package/dist/icons/Phantom.js +0 -28
  1101. package/dist/icons/Phantom.js.map +0 -1
  1102. package/dist/icons/Play.d.ts +0 -6
  1103. package/dist/icons/Play.js +0 -28
  1104. package/dist/icons/Play.js.map +0 -1
  1105. package/dist/icons/Product.d.ts +0 -6
  1106. package/dist/icons/Product.js +0 -44
  1107. package/dist/icons/Product.js.map +0 -1
  1108. package/dist/icons/Progress.d.ts +0 -6
  1109. package/dist/icons/Progress.js +0 -37
  1110. package/dist/icons/Progress.js.map +0 -1
  1111. package/dist/icons/Protocol.d.ts +0 -6
  1112. package/dist/icons/Protocol.js +0 -44
  1113. package/dist/icons/Protocol.js.map +0 -1
  1114. package/dist/icons/Refresh.d.ts +0 -6
  1115. package/dist/icons/Refresh.js +0 -37
  1116. package/dist/icons/Refresh.js.map +0 -1
  1117. package/dist/icons/Rewards.d.ts +0 -6
  1118. package/dist/icons/Rewards.js +0 -38
  1119. package/dist/icons/Rewards.js.map +0 -1
  1120. package/dist/icons/Rust.d.ts +0 -6
  1121. package/dist/icons/Rust.js +0 -146
  1122. package/dist/icons/Rust.js.map +0 -1
  1123. package/dist/icons/Search.d.ts +0 -6
  1124. package/dist/icons/Search.js +0 -52
  1125. package/dist/icons/Search.js.map +0 -1
  1126. package/dist/icons/SmartContract.d.ts +0 -6
  1127. package/dist/icons/SmartContract.js +0 -28
  1128. package/dist/icons/SmartContract.js.map +0 -1
  1129. package/dist/icons/Solana.d.ts +0 -6
  1130. package/dist/icons/Solana.js +0 -52
  1131. package/dist/icons/Solana.js.map +0 -1
  1132. package/dist/icons/Solflare.d.ts +0 -6
  1133. package/dist/icons/Solflare.js +0 -28
  1134. package/dist/icons/Solflare.js.map +0 -1
  1135. package/dist/icons/Success.d.ts +0 -6
  1136. package/dist/icons/Success.js +0 -31
  1137. package/dist/icons/Success.js.map +0 -1
  1138. package/dist/icons/SuccessCircle.d.ts +0 -6
  1139. package/dist/icons/SuccessCircle.js +0 -31
  1140. package/dist/icons/SuccessCircle.js.map +0 -1
  1141. package/dist/icons/Table.d.ts +0 -6
  1142. package/dist/icons/Table.js +0 -44
  1143. package/dist/icons/Table.js.map +0 -1
  1144. package/dist/icons/Target.d.ts +0 -6
  1145. package/dist/icons/Target.js +0 -47
  1146. package/dist/icons/Target.js.map +0 -1
  1147. package/dist/icons/Training.d.ts +0 -6
  1148. package/dist/icons/Training.js +0 -44
  1149. package/dist/icons/Training.js.map +0 -1
  1150. package/dist/icons/Typescript.d.ts +0 -6
  1151. package/dist/icons/Typescript.js +0 -124
  1152. package/dist/icons/Typescript.js.map +0 -1
  1153. package/dist/icons/Unclaimed.d.ts +0 -6
  1154. package/dist/icons/Unclaimed.js +0 -37
  1155. package/dist/icons/Unclaimed.js.map +0 -1
  1156. package/dist/icons/Upload.d.ts +0 -6
  1157. package/dist/icons/Upload.js +0 -38
  1158. package/dist/icons/Upload.js.map +0 -1
  1159. package/dist/icons/User.d.ts +0 -6
  1160. package/dist/icons/User.js +0 -44
  1161. package/dist/icons/User.js.map +0 -1
  1162. package/dist/icons/Wallet.d.ts +0 -6
  1163. package/dist/icons/Wallet.js +0 -46
  1164. package/dist/icons/Wallet.js.map +0 -1
  1165. package/dist/icons/WalletSmall.d.ts +0 -6
  1166. package/dist/icons/WalletSmall.js +0 -37
  1167. package/dist/icons/WalletSmall.js.map +0 -1
  1168. package/dist/icons/Warning.d.ts +0 -6
  1169. package/dist/icons/Warning.js +0 -33
  1170. package/dist/icons/Warning.js.map +0 -1
  1171. package/dist/icons/X.d.ts +0 -6
  1172. package/dist/icons/X.js +0 -28
  1173. package/dist/icons/X.js.map +0 -1
  1174. package/dist/icons/index.d.ts +0 -2
  1175. package/dist/icons/index.js +0 -179
  1176. package/dist/icons/index.js.map +0 -1
  1177. package/dist/index.d.ts +0 -27
  1178. package/dist/index.js +0 -154
  1179. package/dist/index.js.map +0 -1
  1180. package/dist/index.mjs.map +0 -1
  1181. package/dist/utils/colours.d.ts +0 -31
  1182. package/dist/utils/colours.js +0 -36
  1183. package/dist/utils/colours.js.map +0 -1
  1184. package/dist/utils/easings.d.ts +0 -19
  1185. package/dist/utils/easings.js +0 -23
  1186. package/dist/utils/easings.js.map +0 -1
  1187. /package/dist/{fonts/CommitMono-Regular.woff2 → assets/CommitMono-Regular-CO8xzcA8.woff2} +0 -0
  1188. /package/dist/{fonts/MONTECHV02-Medium.woff2 → assets/MONTECHV02-Medium-sFbAcPHg.woff2} +0 -0
  1189. /package/dist/{fonts/Switzer-Regular.woff2 → assets/Switzer-Regular-T9RxCVNS.woff2} +0 -0
@@ -0,0 +1,404 @@
1
+ "use client";
2
+
3
+ const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
4
+ const require_Icon = require('./Icon.cjs');
5
+ const require_CrossHair = require('./CrossHair.cjs');
6
+ const require_utils_easings = require('./utils/easings.cjs');
7
+ const require_Button = require('./Button.cjs');
8
+ const require_Checkbox = require('./Checkbox.cjs');
9
+ const require_Divider = require('./Divider.cjs');
10
+ let motion_react = require("motion/react");
11
+ let classnames = require("classnames");
12
+ classnames = require_rolldown_runtime.__toESM(classnames);
13
+ let react_jsx_runtime = require("react/jsx-runtime");
14
+ let react = require("react");
15
+ let usehooks_ts = require("usehooks-ts");
16
+
17
+ //#region src/Dropdown.tsx
18
+ const useMousePosition = () => {
19
+ const [mousePosition, setMousePosition] = (0, react.useState)([0, 0]);
20
+ const updateMousePosition = (0, react.useCallback)((ev) => {
21
+ setMousePosition([ev.clientX, ev.clientY]);
22
+ }, []);
23
+ (0, react.useEffect)(() => {
24
+ const throttledUpdate = (ev) => {
25
+ requestAnimationFrame(() => updateMousePosition(ev));
26
+ };
27
+ window.addEventListener("mousemove", throttledUpdate);
28
+ return () => window.removeEventListener("mousemove", throttledUpdate);
29
+ }, [updateMousePosition]);
30
+ return mousePosition;
31
+ };
32
+ const MouseSafeArea = ({ parentRef, submenuRef, onEnter, onLeave, debug = false }) => {
33
+ const { x = 0, y = 0, height: h = 0, width: w = 0 } = submenuRef.current?.getBoundingClientRect() || {};
34
+ const [mouseX, mouseY] = useMousePosition();
35
+ const positions = {
36
+ x,
37
+ y,
38
+ h,
39
+ w,
40
+ mouseX,
41
+ mouseY
42
+ };
43
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
44
+ style: {
45
+ position: "absolute",
46
+ left: getLeft(positions),
47
+ right: getRight(positions),
48
+ top: 0,
49
+ width: getWidth(positions),
50
+ height: h,
51
+ clipPath: getClipPath(positions),
52
+ pointerEvents: "auto",
53
+ zIndex: 9999,
54
+ backgroundColor: debug ? "rgba(0, 179, 179, 0.25)" : "transparent"
55
+ },
56
+ onMouseEnter: onEnter,
57
+ onMouseLeave: onLeave
58
+ });
59
+ };
60
+ const getLeft = ({ x, mouseX }) => mouseX > x ? void 0 : -Math.max(x - mouseX, 10) + "px";
61
+ const getRight = ({ x, w, mouseX }) => mouseX > x ? -Math.max(mouseX - (x + w), 10) + "px" : void 0;
62
+ const getWidth = ({ x, w, mouseX }) => mouseX > x ? Math.max(mouseX - (x + w), 10) + "px" : Math.max(x - mouseX, 10) + "px";
63
+ const getClipPath = ({ x, y, h, mouseX, mouseY }) => mouseX < x ? `polygon(100% 0%, 0% ${100 * (mouseY - y) / h}%, 100% 100%)` : `polygon(0% 0%, 0% 100%, 100% ${100 * (mouseY - y) / h}%)`;
64
+ const DropdownMenu = ({ items, selectedItem, handleChange, multiple = false, menuClassName, size = "md", isOpen, onItemClick, isScrollable = false, animationOrigin = "top-left", search, onClearSearch, showSelectAll = true, showSafeTriangle = false, subMenuClassName }) => {
65
+ const [isAtBottom, setIsAtBottom] = (0, react.useState)(false);
66
+ const scrollContainerRef = (0, react.useRef)(null);
67
+ const filteredItems = (() => {
68
+ if (search) return items.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()));
69
+ return items;
70
+ })();
71
+ const handleScroll = (0, react.useCallback)(() => {
72
+ const container = scrollContainerRef.current;
73
+ if (!container) return;
74
+ const { scrollTop, scrollHeight, clientHeight } = container;
75
+ setIsAtBottom(scrollTop + clientHeight >= scrollHeight - 5);
76
+ }, []);
77
+ (0, react.useEffect)(() => {
78
+ if (isOpen) setIsAtBottom(false);
79
+ }, [isOpen, filteredItems.length]);
80
+ (0, react.useEffect)(() => {
81
+ const container = scrollContainerRef.current;
82
+ if (!container || !isOpen) return;
83
+ const { scrollHeight, clientHeight } = container;
84
+ if (!(scrollHeight > clientHeight)) setIsAtBottom(true);
85
+ }, [isOpen, filteredItems.length]);
86
+ const isItemSelected = (value) => {
87
+ if (multiple) return Array.isArray(selectedItem) && selectedItem.length > 0 && selectedItem.includes(value);
88
+ return !!selectedItem && selectedItem === value;
89
+ };
90
+ const flattenSelectable = (options) => {
91
+ const out = [];
92
+ const walk = (nodes) => {
93
+ nodes.forEach((n) => {
94
+ if (n.children && n.children.length > 0) walk(n.children);
95
+ else out.push(n);
96
+ });
97
+ };
98
+ walk(options);
99
+ return out;
100
+ };
101
+ const handleItemClick = (value) => {
102
+ if (multiple) {
103
+ const currentSelection = Array.isArray(selectedItem) ? selectedItem : [];
104
+ if (isAllSelected()) handleChange([value]);
105
+ else if (currentSelection.includes(value)) handleChange(currentSelection.filter((item) => item !== value));
106
+ else handleChange([...currentSelection, value]);
107
+ } else {
108
+ if (selectedItem === value) handleChange(void 0);
109
+ else handleChange(value);
110
+ onItemClick?.(value);
111
+ }
112
+ };
113
+ const handleSelectAll = () => {
114
+ const currentSelection = Array.isArray(selectedItem) ? selectedItem : [];
115
+ const allValues = flattenSelectable(filteredItems).filter((item) => !item.disabled).map((item) => item.value);
116
+ if (currentSelection.length === allValues.length) handleChange([]);
117
+ else handleChange(allValues);
118
+ };
119
+ const isAllSelected = () => {
120
+ if (!Array.isArray(selectedItem) || selectedItem.length === 0) return false;
121
+ const selectableItems = flattenSelectable(filteredItems).filter((item) => !item.disabled);
122
+ return selectableItems.length > 0 && selectedItem.length === selectableItems.length && selectableItems.every((item) => selectedItem.includes(item.value));
123
+ };
124
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(motion_react.AnimatePresence, { children: isOpen && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(motion_react.motion.div, {
125
+ initial: {
126
+ opacity: 0,
127
+ scale: .8,
128
+ y: -15
129
+ },
130
+ animate: {
131
+ opacity: 1,
132
+ scale: 1,
133
+ y: 0
134
+ },
135
+ transition: {
136
+ duration: .1,
137
+ ease: require_utils_easings.swift
138
+ },
139
+ exit: {
140
+ opacity: 0,
141
+ scale: .8,
142
+ y: -5
143
+ },
144
+ className: (0, classnames.default)("z-50 absolute top-[calc(100%+6px)] p-1 bg-card-foreground border border-border-light", (size === "lg" || size === "md") && "min-w-[200px]", animationOrigin === "top-left" && "origin-top-left", animationOrigin === "top-center" && "origin-top-center", animationOrigin === "top-right" && "origin-top-right", menuClassName),
145
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
146
+ ref: scrollContainerRef,
147
+ onScroll: handleScroll,
148
+ className: (0, classnames.default)("flex flex-col gap-y-1", isScrollable && ["max-h-[250px] overflow-y-auto", !isAtBottom && "[mask-image:linear-gradient(180deg,black,black_85%,transparent_100%)]"]),
149
+ children: [multiple && showSelectAll && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
150
+ className: "group flex flex-col gap-y-1",
151
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
152
+ onClick: handleSelectAll,
153
+ className: (0, classnames.default)("py-3 pl-2.5 pr-3 flex items-center gap-x-2.5 outline-none bg-transparent transition-colors duration-100 ease-crisp hover:bg-border-light/50"),
154
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Checkbox.Checkbox, { checked: isAllSelected() }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
155
+ className: "text-sm text-shade-primary font-medium",
156
+ children: "Select All"
157
+ })]
158
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Divider.Divider, { direction: "horizontal" })]
159
+ }), filteredItems.length > 0 ? filteredItems.map((item) => item.children && item.children.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownSubmenuItem, {
160
+ item,
161
+ size,
162
+ onLeafClick: handleItemClick,
163
+ isLeafSelected: isItemSelected
164
+ }, item.value) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownItem, {
165
+ label: item.label,
166
+ icon: item.icon,
167
+ onClick: () => handleItemClick(item.value),
168
+ disabled: item.disabled,
169
+ isSelected: isItemSelected(item.value),
170
+ size
171
+ }, item.value)) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
172
+ onClick: () => {
173
+ if (onClearSearch) onClearSearch();
174
+ },
175
+ className: "py-3 pl-2.5 pr-3 text-sm font-mono text-shade-tertiary hover:bg-border-light/50 transition-colors duration-100 ease-crisp w-full text-center",
176
+ children: "No options found"
177
+ })]
178
+ })
179
+ }) });
180
+ };
181
+ const Dropdown = ({ className, items, selectedItem, handleChange, label = "View All", multiSelectLabel, disabled, buttonClassName, menuClassName, multiple = false, menuIcon, size = "md", isScrollable = false, search, onClearSearch, showSelectAll, showClear = true, subMenuClassName, showSelectedItem = true }) => {
182
+ const [isOpen, setIsOpen] = (0, react.useState)(false);
183
+ const handleItemClick = (value) => {
184
+ if (!multiple) {
185
+ if (selectedItem === value) handleChange(void 0);
186
+ else handleChange(value);
187
+ setIsOpen(false);
188
+ }
189
+ };
190
+ const ref = (0, react.useRef)(null);
191
+ const handleClickOutside = () => {
192
+ setIsOpen(false);
193
+ };
194
+ (0, usehooks_ts.useOnClickOutside)(ref, handleClickOutside);
195
+ const getSelectedItems = () => {
196
+ const flatten = (options) => {
197
+ const out = [];
198
+ const walk = (nodes) => {
199
+ nodes.forEach((n) => {
200
+ if (n.children && n.children.length > 0) walk(n.children);
201
+ else out.push(n);
202
+ });
203
+ };
204
+ walk(options);
205
+ return out;
206
+ };
207
+ const leaves = flatten(items);
208
+ if (multiple) {
209
+ const selectedValues = Array.isArray(selectedItem) ? selectedItem : [];
210
+ return leaves.filter((item) => selectedValues.includes(item.value));
211
+ }
212
+ const selected = leaves.find((item) => item.value === selectedItem);
213
+ return selected ? [selected] : [];
214
+ };
215
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
216
+ ref,
217
+ className: (0, classnames.default)("relative flex flex-col gap-y-1.5 items-start", className),
218
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownButton, {
219
+ label,
220
+ multiSelectLabel,
221
+ disabled,
222
+ className: buttonClassName,
223
+ onClick: () => setIsOpen(!isOpen),
224
+ selectedItems: getSelectedItems(),
225
+ multiple,
226
+ count: getSelectedItems().length,
227
+ menuIcon,
228
+ size,
229
+ onClear: () => handleChange(multiple ? [] : void 0),
230
+ showClear,
231
+ showSelectedItem
232
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownMenu, {
233
+ items,
234
+ selectedItem,
235
+ handleChange,
236
+ multiple,
237
+ menuClassName,
238
+ size,
239
+ isOpen,
240
+ onItemClick: handleItemClick,
241
+ isScrollable,
242
+ search,
243
+ onClearSearch,
244
+ showSelectAll,
245
+ subMenuClassName
246
+ })]
247
+ });
248
+ };
249
+ const DropdownButton = ({ label, multiSelectLabel, disabled, className, onClick, selectedItems = [], multiple = false, count = 0, menuIcon, size, onClear, showClear, showSelectedItem }) => {
250
+ const [isHovered, setIsHovered] = (0, react.useState)(false);
251
+ const hasSelection = selectedItems.length > 0;
252
+ const isSingleSelection = selectedItems.length === 1;
253
+ const isMultipleSelection = selectedItems.length > 1;
254
+ let buttonIcon;
255
+ let buttonLabel;
256
+ if (hasSelection && isSingleSelection) {
257
+ const selectedItem = selectedItems[0];
258
+ buttonIcon = selectedItem.icon ? (0, react.isValidElement)(selectedItem.icon) ? selectedItem.icon : {
259
+ name: selectedItem.icon.name,
260
+ className: selectedItem.icon.className || "",
261
+ size: selectedItem.icon.size || 18
262
+ } : menuIcon;
263
+ buttonLabel = typeof label === "function" ? label(selectedItem.label) : selectedItem.label;
264
+ } else if (isMultipleSelection && multiple && multiSelectLabel) {
265
+ buttonIcon = menuIcon ? (0, react.isValidElement)(menuIcon) ? menuIcon : {
266
+ name: menuIcon.name,
267
+ className: menuIcon.className || "",
268
+ size: menuIcon.size || 18
269
+ } : void 0;
270
+ buttonLabel = `${count} ${multiSelectLabel}`;
271
+ } else {
272
+ buttonIcon = menuIcon;
273
+ buttonLabel = typeof label === "function" ? label("") : label;
274
+ }
275
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.Button, {
276
+ icon: buttonIcon,
277
+ label: showSelectedItem ? buttonLabel : void 0,
278
+ disabled,
279
+ size,
280
+ variant: "secondary",
281
+ className: (0, classnames.default)("!origin-bottom-left !justify-start w-full", (size === "md" || size === "lg") && "!pr-[18px] !pl-[12px]", size === "sm" && "!pr-4 !pl-3", showClear && "!pr-[48px]", className),
282
+ useDecryptAnimation: false,
283
+ useHoverEffect: false,
284
+ crosshairProps: {
285
+ variant: "corners",
286
+ corners: ["bottom-right"],
287
+ spacingX: !isHovered ? -6 : -4,
288
+ spacingY: !isHovered ? -6 : -4,
289
+ animationDuration: .5,
290
+ animationDelay: 0,
291
+ className: "text-shade-mute group-hover:text-shade-primary"
292
+ },
293
+ onClick,
294
+ onMouseEnter: () => setIsHovered(true),
295
+ onMouseLeave: () => setIsHovered(false),
296
+ children: hasSelection && showClear && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
297
+ className: "order-last top-1/2 -translate-y-1/2 right-2 absolute h-[24px] w-[24px] flex items-center justify-center hover:bg-background/40 transition duration-100 ease-crisp cursor-pointer",
298
+ onClick: (e) => {
299
+ e.stopPropagation();
300
+ onClear?.();
301
+ },
302
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
303
+ name: "Close",
304
+ size: 12
305
+ })
306
+ })
307
+ });
308
+ };
309
+ const DropdownItem = ({ label, icon, onClick, disabled, isSelected = false, size }) => {
310
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
311
+ onClick,
312
+ disabled,
313
+ className: (0, classnames.default)("hover:bg-border-light/50 relative group/item disabled:opacity-40 flex items-center gap-x-2.5 outline-none transition-colors duration-100 ease-crisp", size === "lg" && "py-4 pl-3 pr-3 text-base", size === "md" && "py-3 pl-2.5 pr-3 text-sm", size === "sm" && "py-2 pl-2.5 pr-3 h-[36px] text-sm", isSelected && "bg-background/50"),
314
+ children: [
315
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
316
+ className: "opacity-0 group-hover/item:!opacity-100 absolute inset-0.5",
317
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CrossHair.CrosshairCorners, {
318
+ size: 6,
319
+ variant: "corners",
320
+ corners: ["bottom-right"],
321
+ className: "text-shade-mute",
322
+ animationDelay: 0,
323
+ animationDuration: .5
324
+ })
325
+ }),
326
+ icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: (0, react.isValidElement)(icon) ? icon : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
327
+ name: icon.name,
328
+ className: (0, classnames.default)("flex-shrink-0", icon.className),
329
+ size: icon.size || 18
330
+ }) }),
331
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
332
+ className: (0, classnames.default)(" text-shade-primary font-medium leading-[100%]"),
333
+ children: label
334
+ })
335
+ ]
336
+ });
337
+ };
338
+ const DropdownSubmenuItem = ({ item, size = "md", subMenuClassName, onLeafClick, isLeafSelected }) => {
339
+ const parentRef = (0, react.useRef)(null);
340
+ const submenuRef = (0, react.useRef)(null);
341
+ const [hoverParent, setHoverParent] = (0, react.useState)(false);
342
+ const [hoverSubmenu, setHoverSubmenu] = (0, react.useState)(false);
343
+ const [hoverSafe, setHoverSafe] = (0, react.useState)(false);
344
+ const open = hoverParent || hoverSubmenu || hoverSafe;
345
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
346
+ ref: parentRef,
347
+ className: (0, classnames.default)("relative", subMenuClassName),
348
+ onMouseEnter: () => setHoverParent(true),
349
+ onMouseLeave: () => setHoverParent(false),
350
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
351
+ type: "button",
352
+ className: (0, classnames.default)("hover:bg-border-light/50 relative h-max group/item disabled:opacity-40 flex items-center justify-between gap-x-2.5 w-full outline-none transition-colors duration-100 ease-crisp", size === "lg" && "py-4 pl-3 pr-3 text-base", size === "md" && "py-3 pl-2.5 pr-3 text-sm", size === "sm" && "py-2 pl-2.5 pr-3 !h-[36px] text-sm", open && "bg-border-light/50"),
353
+ disabled: item.disabled,
354
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
355
+ className: "flex items-center gap-x-2.5",
356
+ children: [item.icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: (0, react.isValidElement)(item.icon) ? item.icon : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
357
+ name: item.icon.name,
358
+ className: (0, classnames.default)("flex-shrink-0", item.icon.className),
359
+ size: item.icon.size || 18
360
+ }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
361
+ className: "text-shade-primary font-medium leading-[100%]",
362
+ children: item.label
363
+ })]
364
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
365
+ name: "ChevronRight",
366
+ size: 12,
367
+ className: "text-shade-tertiary"
368
+ })]
369
+ }), open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
370
+ ref: submenuRef,
371
+ onMouseEnter: () => setHoverSubmenu(true),
372
+ onMouseLeave: () => setHoverSubmenu(false),
373
+ className: (0, classnames.default)("z-[60] !absolute top-0 left-[calc(100%+6px)] p-1 bg-card-foreground gradient-border before:bg-card-border min-w-[180px]"),
374
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(MouseSafeArea, {
375
+ parentRef,
376
+ submenuRef,
377
+ onEnter: () => setHoverSafe(true),
378
+ onLeave: () => setHoverSafe(false)
379
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
380
+ className: "flex flex-col gap-y-1",
381
+ children: (item.children || []).map((child) => child.children && child.children.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownSubmenuItem, {
382
+ item: child,
383
+ size,
384
+ onLeafClick,
385
+ isLeafSelected
386
+ }, child.value) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownItem, {
387
+ label: child.label,
388
+ icon: child.icon,
389
+ onClick: () => onLeafClick(child.value),
390
+ disabled: child.disabled,
391
+ isSelected: isLeafSelected(child.value),
392
+ size
393
+ }, child.value))
394
+ })]
395
+ })]
396
+ });
397
+ };
398
+
399
+ //#endregion
400
+ exports.Dropdown = Dropdown;
401
+ exports.DropdownButton = DropdownButton;
402
+ exports.DropdownItem = DropdownItem;
403
+ exports.DropdownMenu = DropdownMenu;
404
+ //# sourceMappingURL=Dropdown.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.cjs","names":["out: DropdownOption[]","AnimatePresence","motion","swift","Checkbox","Divider","buttonIcon: ButtonProps[\"icon\"] | undefined","buttonLabel: string","Button","Icon","CrosshairCorners"],"sources":["../src/Dropdown.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button, ButtonProps } from \"./Button\";\nimport { useRef, useState, useEffect, useCallback } from \"react\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport classNames from \"classnames\";\nimport { swift } from \"./utils/easings\";\nimport { Checkbox } from \"./Checkbox\";\nimport { Divider } from \"./Divider\";\nimport { Icon, type IconProps } from \"./Icon\";\nimport { useOnClickOutside } from \"usehooks-ts\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { isValidElement, ReactNode } from \"react\";\n\nexport type DropdownOption = {\n label: string;\n icon?: IconProps | ReactNode;\n value: string;\n disabled?: boolean;\n children?: DropdownOption[];\n};\n\nexport type DropdownProps = {\n className?: string;\n items: DropdownOption[];\n selectedItem?: string | string[] | undefined;\n handleChange: (item: string | string[] | undefined) => void;\n multiple?: boolean;\n disabled?: boolean;\n label: string | ((selectedLabel: string) => string);\n multiSelectLabel?: string;\n buttonClassName?: string;\n menuClassName?: string;\n subMenuClassName?: string;\n menuIcon?: IconProps | ReactNode;\n size?: \"sm\" | \"md\" | \"lg\";\n isScrollable?: boolean;\n animationOrigin?: \"top-left\" | \"top-center\" | \"top-right\";\n search?: string;\n onClearSearch?: () => void;\n showSelectAll?: boolean;\n showClear?: boolean;\n showSelectedItem?: boolean;\n};\n\nexport type DropdownButtonProps = {\n label: string | ((selectedLabel: string) => string);\n multiSelectLabel?: string;\n disabled?: boolean;\n className?: string;\n onClick: () => void;\n buttonClassName?: string;\n selectedItems?: DropdownProps[\"items\"];\n multiple?: boolean;\n count?: number;\n menuIcon?: IconProps | ReactNode;\n size?: \"sm\" | \"md\" | \"lg\";\n onClear?: () => void;\n showSelectedItem?: boolean;\n showClear?: boolean;\n};\n\nexport type DropdownItemProps = {\n label: string;\n icon?: IconProps | ReactNode;\n onClick: () => void;\n disabled?: boolean;\n isSelected?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\nexport type DropdownMenuProps = {\n items: DropdownOption[];\n selectedItem?: string | string[] | undefined;\n handleChange: (item: string | string[] | undefined) => void;\n multiple?: boolean;\n menuClassName?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n isOpen: boolean;\n onItemClick?: (value: string) => void;\n isScrollable?: boolean;\n animationOrigin?: \"top-left\" | \"top-center\" | \"top-right\";\n search?: string;\n onClearSearch?: () => void;\n showSelectAll?: boolean;\n showSafeTriangle?: boolean;\n subMenuClassName?: string;\n};\n\n// Track mouse position for SafeArea triangles\nconst useMousePosition = () => {\n const [mousePosition, setMousePosition] = useState<[number, number]>([0, 0]);\n\n const updateMousePosition = useCallback((ev: MouseEvent) => {\n setMousePosition([ev.clientX, ev.clientY]);\n }, []);\n\n useEffect(() => {\n const throttledUpdate = (ev: MouseEvent) => {\n requestAnimationFrame(() => updateMousePosition(ev));\n };\n\n window.addEventListener(\"mousemove\", throttledUpdate);\n return () => window.removeEventListener(\"mousemove\", throttledUpdate);\n }, [updateMousePosition]);\n\n return mousePosition;\n};\n\ntype MouseSafeAreaProps = {\n submenuRef: React.RefObject<HTMLDivElement | null>;\n parentRef: React.RefObject<HTMLDivElement | null>;\n onEnter?: () => void;\n onLeave?: () => void;\n debug?: boolean;\n};\n\n// Component to cover the area between the mouse cursor and the sub-menu, to allow moving cursor to lower parts of sub-menu without the sub-menu disappearing.\nconst MouseSafeArea = ({\n parentRef,\n submenuRef,\n onEnter,\n onLeave,\n debug = false,\n}: MouseSafeAreaProps) => {\n const {\n x = 0,\n y = 0,\n height: h = 0,\n width: w = 0,\n } = submenuRef.current?.getBoundingClientRect() || {};\n const [mouseX, mouseY] = useMousePosition();\n const positions = { x, y, h, w, mouseX, mouseY };\n\n return (\n <div\n style={{\n position: \"absolute\",\n left: getLeft(positions),\n right: getRight(positions),\n top: 0,\n width: getWidth(positions),\n height: h,\n clipPath: getClipPath(positions),\n pointerEvents: \"auto\",\n zIndex: 9999,\n backgroundColor: debug ? \"rgba(0, 179, 179, 0.25)\" : \"transparent\",\n }}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n />\n );\n};\n\ninterface Positions {\n /* Sub-menu x */\n x: number;\n /* Sub-menu y */\n y: number;\n /* Sub-menu height */\n h: number;\n /* Sub-menu width */\n w: number;\n /* Mouse x */\n mouseX: number;\n /* Mouse y */\n mouseY: number;\n}\n\nconst getLeft = ({ x, mouseX }: Positions) =>\n mouseX > x ? undefined : -Math.max(x - mouseX, 10) + \"px\";\nconst getRight = ({ x, w, mouseX }: Positions) =>\n mouseX > x ? -Math.max(mouseX - (x + w), 10) + \"px\" : undefined;\nconst getWidth = ({ x, w, mouseX }: Positions) =>\n mouseX > x\n ? Math.max(mouseX - (x + w), 10) + \"px\"\n : Math.max(x - mouseX, 10) + \"px\";\nconst getClipPath = ({ x, y, h, mouseX, mouseY }: Positions) =>\n mouseX < x\n ? `polygon(100% 0%, 0% ${(100 * (mouseY - y)) / h}%, 100% 100%)`\n : `polygon(0% 0%, 0% 100%, 100% ${(100 * (mouseY - y)) / h}%)`;\n\nexport const DropdownMenu = ({\n items,\n selectedItem,\n handleChange,\n multiple = false,\n menuClassName,\n size = \"md\",\n isOpen,\n onItemClick,\n isScrollable = false,\n animationOrigin = \"top-left\",\n search,\n onClearSearch,\n showSelectAll = true,\n showSafeTriangle = false,\n subMenuClassName,\n}: DropdownMenuProps) => {\n const [isAtBottom, setIsAtBottom] = useState(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n // Filter items based on search term\n const filteredItems = (() => {\n // If search is provided, filter based on search\n if (search) {\n return items.filter((item) =>\n item.label.toLowerCase().includes(search.toLowerCase()),\n );\n }\n\n // Default: show all items\n return items;\n })();\n\n // Handle scroll detection\n const handleScroll = useCallback(() => {\n const container = scrollContainerRef.current;\n if (!container) return;\n\n const { scrollTop, scrollHeight, clientHeight } = container;\n const threshold = 5; // Small threshold to account for rounding\n const isNearBottom = scrollTop + clientHeight >= scrollHeight - threshold;\n\n setIsAtBottom(isNearBottom);\n }, []);\n\n // Reset scroll state when items change or menu opens\n useEffect(() => {\n if (isOpen) {\n setIsAtBottom(false);\n }\n }, [isOpen, filteredItems.length]);\n\n // Check if content is actually scrollable\n useEffect(() => {\n const container = scrollContainerRef.current;\n if (!container || !isOpen) return;\n\n const { scrollHeight, clientHeight } = container;\n const hasScrollbar = scrollHeight > clientHeight;\n\n // If no scrollbar (content fits), consider it \"at bottom\"\n if (!hasScrollbar) {\n setIsAtBottom(true);\n }\n }, [isOpen, filteredItems.length]);\n\n // Helper to check if an item is selected\n const isItemSelected = (value: string) => {\n if (multiple) {\n return (\n Array.isArray(selectedItem) &&\n selectedItem.length > 0 &&\n selectedItem.includes(value)\n );\n }\n return !!selectedItem && selectedItem === value;\n };\n\n const flattenSelectable = (options: DropdownOption[]): DropdownOption[] => {\n const out: DropdownOption[] = [];\n const walk = (nodes: DropdownOption[]) => {\n nodes.forEach((n) => {\n if (n.children && n.children.length > 0) {\n walk(n.children);\n } else {\n out.push(n);\n }\n });\n };\n walk(options);\n return out;\n };\n\n // Handle item selection\n const handleItemClick = (value: string) => {\n if (multiple) {\n const currentSelection = Array.isArray(selectedItem) ? selectedItem : [];\n\n // If all items are selected, clicking any item should deselect all others\n if (isAllSelected()) {\n handleChange([value]);\n } else if (currentSelection.includes(value)) {\n // Remove from selection\n handleChange(currentSelection.filter((item) => item !== value));\n } else {\n // Add to selection\n handleChange([...currentSelection, value]);\n }\n } else {\n // Single select - if clicking the already selected item, deselect it\n if (selectedItem === value) {\n handleChange(undefined);\n } else {\n // Otherwise, select the new item\n handleChange(value);\n }\n // Call the optional callback for single select\n onItemClick?.(value);\n }\n };\n\n // Handle select all\n const handleSelectAll = () => {\n const currentSelection = Array.isArray(selectedItem) ? selectedItem : [];\n const allValues = flattenSelectable(filteredItems)\n .filter((item) => !item.disabled)\n .map((item) => item.value);\n\n if (currentSelection.length === allValues.length) {\n // Deselect all\n handleChange([]);\n } else {\n // Select all\n handleChange(allValues);\n }\n };\n\n // Check if all items are selected\n const isAllSelected = () => {\n if (!Array.isArray(selectedItem) || selectedItem.length === 0) return false;\n const selectableItems = flattenSelectable(filteredItems).filter(\n (item) => !item.disabled,\n );\n return (\n selectableItems.length > 0 &&\n selectedItem.length === selectableItems.length &&\n selectableItems.every((item) => selectedItem.includes(item.value))\n );\n };\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n initial={{ opacity: 0, scale: 0.8, y: -15 }}\n animate={{ opacity: 1, scale: 1, y: 0 }}\n transition={{ duration: 0.1, ease: swift }}\n exit={{ opacity: 0, scale: 0.8, y: -5 }}\n className={classNames(\n \"z-50 absolute top-[calc(100%+6px)] p-1 bg-card-foreground border border-border-light\",\n (size === \"lg\" || size === \"md\") && \"min-w-[200px]\",\n animationOrigin === \"top-left\" && \"origin-top-left\",\n animationOrigin === \"top-center\" && \"origin-top-center\",\n animationOrigin === \"top-right\" && \"origin-top-right\",\n menuClassName,\n )}\n >\n <div\n ref={scrollContainerRef}\n onScroll={handleScroll}\n className={classNames(\n \"flex flex-col gap-y-1\",\n isScrollable && [\n \"max-h-[250px] overflow-y-auto\",\n !isAtBottom &&\n \"[mask-image:linear-gradient(180deg,black,black_85%,transparent_100%)]\",\n ],\n )}\n >\n {multiple && showSelectAll && (\n <div className=\"group flex flex-col gap-y-1\">\n <button\n onClick={handleSelectAll}\n className={classNames(\n \"py-3 pl-2.5 pr-3 flex items-center gap-x-2.5 outline-none bg-transparent transition-colors duration-100 ease-crisp hover:bg-border-light/50\",\n )}\n >\n <Checkbox checked={isAllSelected()} />\n <span className=\"text-sm text-shade-primary font-medium\">\n Select All\n </span>\n </button>\n <Divider direction=\"horizontal\" />\n </div>\n )}\n {filteredItems.length > 0 ? (\n filteredItems.map((item) =>\n item.children && item.children.length > 0 ? (\n <DropdownSubmenuItem\n key={item.value}\n item={item}\n size={size}\n onLeafClick={handleItemClick}\n isLeafSelected={isItemSelected}\n />\n ) : (\n <DropdownItem\n key={item.value}\n label={item.label}\n icon={item.icon}\n onClick={() => handleItemClick(item.value)}\n disabled={item.disabled}\n isSelected={isItemSelected(item.value)}\n size={size}\n />\n ),\n )\n ) : (\n <button\n onClick={() => {\n // Clear search by calling the onClearSearch callback\n if (onClearSearch) {\n onClearSearch();\n }\n }}\n className=\"py-3 pl-2.5 pr-3 text-sm font-mono text-shade-tertiary hover:bg-border-light/50 transition-colors duration-100 ease-crisp w-full text-center\"\n >\n No options found\n </button>\n )}\n </div>\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nexport const Dropdown = ({\n className,\n items,\n selectedItem,\n handleChange,\n label = \"View All\",\n multiSelectLabel,\n disabled,\n buttonClassName,\n menuClassName,\n multiple = false,\n menuIcon,\n size = \"md\",\n isScrollable = false,\n search,\n onClearSearch,\n showSelectAll,\n showClear = true,\n subMenuClassName,\n showSelectedItem = true,\n}: DropdownProps) => {\n const [isOpen, setIsOpen] = useState(false);\n\n // Handle item selection for single select (closes menu)\n const handleItemClick = (value: string) => {\n if (!multiple) {\n // Single select - if clicking the already selected item, deselect it\n if (selectedItem === value) {\n handleChange(undefined);\n } else {\n // Otherwise, select the new item\n handleChange(value);\n }\n setIsOpen(false);\n }\n };\n\n const ref = useRef<HTMLDivElement>(null);\n\n const handleClickOutside = () => {\n setIsOpen(false);\n };\n\n // Cast ref to RefObject<HTMLElement> to satisfy useOnClickOutside's expected type\n useOnClickOutside(ref as React.RefObject<HTMLElement>, handleClickOutside);\n\n // Get selected items for display in button\n const getSelectedItems = () => {\n const flatten = (options: DropdownOption[]): DropdownOption[] => {\n const out: DropdownOption[] = [];\n const walk = (nodes: DropdownOption[]) => {\n nodes.forEach((n) => {\n if (n.children && n.children.length > 0) {\n walk(n.children);\n } else {\n out.push(n);\n }\n });\n };\n walk(options);\n return out;\n };\n\n const leaves = flatten(items);\n if (multiple) {\n const selectedValues = Array.isArray(selectedItem) ? selectedItem : [];\n return leaves.filter((item) => selectedValues.includes(item.value));\n }\n const selected = leaves.find((item) => item.value === selectedItem);\n return selected ? [selected] : [];\n };\n\n return (\n <div\n ref={ref}\n className={classNames(\n \"relative flex flex-col gap-y-1.5 items-start\",\n className,\n )}\n >\n <DropdownButton\n label={label}\n multiSelectLabel={multiSelectLabel}\n disabled={disabled}\n className={buttonClassName}\n onClick={() => setIsOpen(!isOpen)}\n selectedItems={getSelectedItems()}\n multiple={multiple}\n count={getSelectedItems().length}\n menuIcon={menuIcon}\n size={size}\n onClear={() => handleChange(multiple ? [] : undefined)}\n showClear={showClear}\n showSelectedItem={showSelectedItem}\n />\n\n <DropdownMenu\n items={items}\n selectedItem={selectedItem}\n handleChange={handleChange}\n multiple={multiple}\n menuClassName={menuClassName}\n size={size}\n isOpen={isOpen}\n onItemClick={handleItemClick}\n isScrollable={isScrollable}\n search={search}\n onClearSearch={onClearSearch}\n showSelectAll={showSelectAll}\n subMenuClassName={subMenuClassName}\n />\n </div>\n );\n};\n\nexport const DropdownButton = ({\n label,\n multiSelectLabel,\n disabled,\n className,\n onClick,\n selectedItems = [],\n multiple = false,\n count = 0,\n menuIcon,\n size,\n onClear,\n showClear,\n showSelectedItem,\n}: DropdownButtonProps) => {\n const [isHovered, setIsHovered] = useState(false);\n\n // Determine what to display\n const hasSelection = selectedItems.length > 0;\n const isSingleSelection = selectedItems.length === 1;\n const isMultipleSelection = selectedItems.length > 1;\n\n // Compute icon and label based on selection state\n let buttonIcon: ButtonProps[\"icon\"] | undefined;\n let buttonLabel: string;\n\n if (hasSelection && isSingleSelection) {\n // Single selection: show selected item's icon and label\n const selectedItem = selectedItems[0];\n buttonIcon = selectedItem.icon\n ? isValidElement(selectedItem.icon)\n ? selectedItem.icon\n : {\n name: (selectedItem.icon as IconProps).name,\n className: (selectedItem.icon as IconProps).className || \"\",\n size: (selectedItem.icon as IconProps).size || 18,\n }\n : menuIcon;\n // If label is a function, call it with the selected item's label; otherwise use the selected item's label directly\n buttonLabel =\n typeof label === \"function\"\n ? label(selectedItem.label)\n : selectedItem.label;\n } else if (isMultipleSelection && multiple && multiSelectLabel) {\n // Multiple selections: show count and multiSelectLabel\n\n buttonIcon = menuIcon\n ? isValidElement(menuIcon)\n ? menuIcon\n : {\n name: (menuIcon as IconProps).name,\n className: (menuIcon as IconProps).className || \"\",\n size: (menuIcon as IconProps).size || 18,\n }\n : undefined;\n buttonLabel = `${count} ${multiSelectLabel}`;\n } else {\n // Default: no selection - use label as string\n buttonIcon = menuIcon;\n buttonLabel = typeof label === \"function\" ? label(\"\") : label;\n }\n\n return (\n <Button\n icon={buttonIcon}\n label={showSelectedItem ? buttonLabel : undefined}\n disabled={disabled}\n size={size}\n variant=\"secondary\"\n className={classNames(\n \"!origin-bottom-left !justify-start w-full\",\n (size === \"md\" || size === \"lg\") && \"!pr-[18px] !pl-[12px]\",\n size === \"sm\" && \"!pr-4 !pl-3\",\n showClear && \"!pr-[48px]\",\n className,\n )}\n useDecryptAnimation={false}\n useHoverEffect={false}\n crosshairProps={{\n variant: \"corners\",\n corners: [\"bottom-right\"],\n spacingX: !isHovered ? -6 : -4,\n spacingY: !isHovered ? -6 : -4,\n animationDuration: 0.5,\n animationDelay: 0,\n className: \"text-shade-mute group-hover:text-shade-primary\",\n }}\n onClick={onClick}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n children={\n hasSelection &&\n showClear && (\n <div\n className=\"order-last top-1/2 -translate-y-1/2 right-2 absolute h-[24px] w-[24px] flex items-center justify-center hover:bg-background/40 transition duration-100 ease-crisp cursor-pointer\"\n onClick={(e) => {\n e.stopPropagation();\n onClear?.();\n }}\n >\n <Icon name=\"Close\" size={12} />\n </div>\n )\n }\n />\n );\n};\n\nexport const DropdownItem = ({\n label,\n icon,\n onClick,\n disabled,\n isSelected = false,\n size,\n}: DropdownItemProps) => {\n return (\n <button\n onClick={onClick}\n disabled={disabled}\n className={classNames(\n \"hover:bg-border-light/50 relative group/item disabled:opacity-40 flex items-center gap-x-2.5 outline-none transition-colors duration-100 ease-crisp\",\n size === \"lg\" && \"py-4 pl-3 pr-3 text-base\",\n size === \"md\" && \"py-3 pl-2.5 pr-3 text-sm\",\n size === \"sm\" && \"py-2 pl-2.5 pr-3 h-[36px] text-sm\",\n isSelected && \"bg-background/50\",\n )}\n >\n <div className=\"opacity-0 group-hover/item:!opacity-100 absolute inset-0.5\">\n <CrosshairCorners\n size={6}\n variant=\"corners\"\n corners={[\"bottom-right\"]}\n className=\"text-shade-mute\"\n animationDelay={0}\n animationDuration={0.5}\n />\n </div>\n\n {icon && (\n <>\n {isValidElement(icon) ? (\n icon\n ) : (\n <Icon\n name={(icon as IconProps).name}\n className={classNames(\n \"flex-shrink-0\",\n (icon as IconProps).className,\n )}\n size={(icon as IconProps).size || 18}\n />\n )}\n </>\n )}\n <span\n className={classNames(\" text-shade-primary font-medium leading-[100%]\")}\n >\n {label}\n </span>\n </button>\n );\n};\n\ntype DropdownSubmenuItemProps = {\n item: DropdownOption;\n size?: \"sm\" | \"md\" | \"lg\";\n onLeafClick: (value: string) => void;\n isLeafSelected: (value: string) => boolean;\n subMenuClassName?: string;\n};\n\nconst DropdownSubmenuItem = ({\n item,\n size = \"md\",\n subMenuClassName,\n onLeafClick,\n isLeafSelected,\n}: DropdownSubmenuItemProps) => {\n const parentRef = useRef<HTMLDivElement | null>(null);\n const submenuRef = useRef<HTMLDivElement | null>(null);\n\n const [hoverParent, setHoverParent] = useState(false);\n const [hoverSubmenu, setHoverSubmenu] = useState(false);\n const [hoverSafe, setHoverSafe] = useState(false);\n\n const open = hoverParent || hoverSubmenu || hoverSafe;\n\n return (\n <div\n ref={parentRef}\n className={classNames(\"relative\", subMenuClassName)}\n onMouseEnter={() => setHoverParent(true)}\n onMouseLeave={() => setHoverParent(false)}\n >\n <button\n type=\"button\"\n className={classNames(\n \"hover:bg-border-light/50 relative h-max group/item disabled:opacity-40 flex items-center justify-between gap-x-2.5 w-full outline-none transition-colors duration-100 ease-crisp\",\n size === \"lg\" && \"py-4 pl-3 pr-3 text-base\",\n size === \"md\" && \"py-3 pl-2.5 pr-3 text-sm\",\n size === \"sm\" && \"py-2 pl-2.5 pr-3 !h-[36px] text-sm\",\n open && \"bg-border-light/50\",\n )}\n disabled={item.disabled}\n >\n <span className=\"flex items-center gap-x-2.5\">\n {item.icon && (\n <>\n {isValidElement(item.icon) ? (\n item.icon\n ) : (\n <Icon\n name={(item.icon as IconProps).name}\n className={classNames(\n \"flex-shrink-0\",\n (item.icon as IconProps).className,\n )}\n size={(item.icon as IconProps).size || 18}\n />\n )}\n </>\n )}\n <span className=\"text-shade-primary font-medium leading-[100%]\">\n {item.label}\n </span>\n </span>\n <Icon name=\"ChevronRight\" size={12} className=\"text-shade-tertiary\" />\n </button>\n\n {open && (\n <div\n ref={submenuRef}\n onMouseEnter={() => setHoverSubmenu(true)}\n onMouseLeave={() => setHoverSubmenu(false)}\n className={classNames(\n \"z-[60] !absolute top-0 left-[calc(100%+6px)] p-1 bg-card-foreground gradient-border before:bg-card-border min-w-[180px]\",\n )}\n >\n <MouseSafeArea\n parentRef={parentRef}\n submenuRef={submenuRef}\n onEnter={() => setHoverSafe(true)}\n onLeave={() => setHoverSafe(false)}\n />\n <div className=\"flex flex-col gap-y-1\">\n {(item.children || []).map((child) =>\n child.children && child.children.length > 0 ? (\n <DropdownSubmenuItem\n key={child.value}\n item={child}\n size={size}\n onLeafClick={onLeafClick}\n isLeafSelected={isLeafSelected}\n />\n ) : (\n <DropdownItem\n key={child.value}\n label={child.label}\n icon={child.icon}\n onClick={() => onLeafClick(child.value)}\n disabled={child.disabled}\n isSelected={isLeafSelected(child.value)}\n size={size}\n />\n ),\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { IconProps } from "./Icon.cjs";
2
+ import * as react_jsx_runtime90 from "react/jsx-runtime";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/Dropdown.d.ts
6
+ type DropdownOption = {
7
+ label: string;
8
+ icon?: IconProps | ReactNode;
9
+ value: string;
10
+ disabled?: boolean;
11
+ children?: DropdownOption[];
12
+ };
13
+ type DropdownProps = {
14
+ className?: string;
15
+ items: DropdownOption[];
16
+ selectedItem?: string | string[] | undefined;
17
+ handleChange: (item: string | string[] | undefined) => void;
18
+ multiple?: boolean;
19
+ disabled?: boolean;
20
+ label: string | ((selectedLabel: string) => string);
21
+ multiSelectLabel?: string;
22
+ buttonClassName?: string;
23
+ menuClassName?: string;
24
+ subMenuClassName?: string;
25
+ menuIcon?: IconProps | ReactNode;
26
+ size?: "sm" | "md" | "lg";
27
+ isScrollable?: boolean;
28
+ animationOrigin?: "top-left" | "top-center" | "top-right";
29
+ search?: string;
30
+ onClearSearch?: () => void;
31
+ showSelectAll?: boolean;
32
+ showClear?: boolean;
33
+ showSelectedItem?: boolean;
34
+ };
35
+ type DropdownButtonProps = {
36
+ label: string | ((selectedLabel: string) => string);
37
+ multiSelectLabel?: string;
38
+ disabled?: boolean;
39
+ className?: string;
40
+ onClick: () => void;
41
+ buttonClassName?: string;
42
+ selectedItems?: DropdownProps["items"];
43
+ multiple?: boolean;
44
+ count?: number;
45
+ menuIcon?: IconProps | ReactNode;
46
+ size?: "sm" | "md" | "lg";
47
+ onClear?: () => void;
48
+ showSelectedItem?: boolean;
49
+ showClear?: boolean;
50
+ };
51
+ type DropdownItemProps = {
52
+ label: string;
53
+ icon?: IconProps | ReactNode;
54
+ onClick: () => void;
55
+ disabled?: boolean;
56
+ isSelected?: boolean;
57
+ size?: "sm" | "md" | "lg";
58
+ };
59
+ type DropdownMenuProps = {
60
+ items: DropdownOption[];
61
+ selectedItem?: string | string[] | undefined;
62
+ handleChange: (item: string | string[] | undefined) => void;
63
+ multiple?: boolean;
64
+ menuClassName?: string;
65
+ size?: "sm" | "md" | "lg";
66
+ isOpen: boolean;
67
+ onItemClick?: (value: string) => void;
68
+ isScrollable?: boolean;
69
+ animationOrigin?: "top-left" | "top-center" | "top-right";
70
+ search?: string;
71
+ onClearSearch?: () => void;
72
+ showSelectAll?: boolean;
73
+ showSafeTriangle?: boolean;
74
+ subMenuClassName?: string;
75
+ };
76
+ declare const DropdownMenu: ({
77
+ items,
78
+ selectedItem,
79
+ handleChange,
80
+ multiple,
81
+ menuClassName,
82
+ size,
83
+ isOpen,
84
+ onItemClick,
85
+ isScrollable,
86
+ animationOrigin,
87
+ search,
88
+ onClearSearch,
89
+ showSelectAll,
90
+ showSafeTriangle,
91
+ subMenuClassName
92
+ }: DropdownMenuProps) => react_jsx_runtime90.JSX.Element;
93
+ declare const Dropdown: ({
94
+ className,
95
+ items,
96
+ selectedItem,
97
+ handleChange,
98
+ label,
99
+ multiSelectLabel,
100
+ disabled,
101
+ buttonClassName,
102
+ menuClassName,
103
+ multiple,
104
+ menuIcon,
105
+ size,
106
+ isScrollable,
107
+ search,
108
+ onClearSearch,
109
+ showSelectAll,
110
+ showClear,
111
+ subMenuClassName,
112
+ showSelectedItem
113
+ }: DropdownProps) => react_jsx_runtime90.JSX.Element;
114
+ declare const DropdownButton: ({
115
+ label,
116
+ multiSelectLabel,
117
+ disabled,
118
+ className,
119
+ onClick,
120
+ selectedItems,
121
+ multiple,
122
+ count,
123
+ menuIcon,
124
+ size,
125
+ onClear,
126
+ showClear,
127
+ showSelectedItem
128
+ }: DropdownButtonProps) => react_jsx_runtime90.JSX.Element;
129
+ declare const DropdownItem: ({
130
+ label,
131
+ icon,
132
+ onClick,
133
+ disabled,
134
+ isSelected,
135
+ size
136
+ }: DropdownItemProps) => react_jsx_runtime90.JSX.Element;
137
+ //#endregion
138
+ export { Dropdown, DropdownButton, DropdownButtonProps, DropdownItem, DropdownItemProps, DropdownMenu, DropdownMenuProps, DropdownOption, DropdownProps };
139
+ //# sourceMappingURL=Dropdown.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.d.cts","names":[],"sources":["../src/Dropdown.tsx"],"sourcesContent":[],"mappings":"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"}