@blueshift-gg/ui-components 0.1.1 → 0.1.3

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 (209) hide show
  1. package/dist/Alert.d.mts +19 -0
  2. package/dist/Alert.d.ts +19 -0
  3. package/dist/Alert.js +99 -0
  4. package/dist/Alert.js.map +1 -0
  5. package/dist/Alert.mjs +93 -0
  6. package/dist/Alert.mjs.map +1 -0
  7. package/dist/Avatar.d.mts +2 -2
  8. package/dist/Avatar.d.ts +2 -2
  9. package/dist/Avatar.js +2 -2
  10. package/dist/Avatar.js.map +1 -1
  11. package/dist/Avatar.mjs +2 -2
  12. package/dist/Avatar.mjs.map +1 -1
  13. package/dist/Badge.d.mts +4 -4
  14. package/dist/Badge.d.ts +4 -4
  15. package/dist/Badge.js +3 -3
  16. package/dist/Badge.js.map +1 -1
  17. package/dist/Badge.mjs +3 -3
  18. package/dist/Badge.mjs.map +1 -1
  19. package/dist/Button.d.mts +1 -1
  20. package/dist/Button.d.ts +1 -1
  21. package/dist/Button.js.map +1 -1
  22. package/dist/Button.mjs.map +1 -1
  23. package/dist/Checkbox.js.map +1 -1
  24. package/dist/Checkbox.mjs.map +1 -1
  25. package/dist/Codeblock.js.map +1 -1
  26. package/dist/Codeblock.mjs.map +1 -1
  27. package/dist/CrossHair.js.map +1 -1
  28. package/dist/CrossHair.mjs.map +1 -1
  29. package/dist/DecryptText.js.map +1 -1
  30. package/dist/DecryptText.mjs.map +1 -1
  31. package/dist/Divider.js.map +1 -1
  32. package/dist/Divider.mjs.map +1 -1
  33. package/dist/Dropdown.d.mts +1 -1
  34. package/dist/Dropdown.d.ts +1 -1
  35. package/dist/Dropdown.js.map +1 -1
  36. package/dist/Dropdown.mjs.map +1 -1
  37. package/dist/GridLines.js +1 -1
  38. package/dist/GridLines.js.map +1 -1
  39. package/dist/GridLines.mjs +1 -1
  40. package/dist/GridLines.mjs.map +1 -1
  41. package/dist/HeadingReveal.d.mts +15 -0
  42. package/dist/HeadingReveal.d.ts +15 -0
  43. package/dist/HeadingReveal.js +68 -0
  44. package/dist/HeadingReveal.js.map +1 -0
  45. package/dist/HeadingReveal.mjs +62 -0
  46. package/dist/HeadingReveal.mjs.map +1 -0
  47. package/dist/Icon.d.mts +1 -1
  48. package/dist/Icon.d.ts +1 -1
  49. package/dist/Input.d.mts +1 -1
  50. package/dist/Input.d.ts +1 -1
  51. package/dist/Input.js.map +1 -1
  52. package/dist/Input.mjs.map +1 -1
  53. package/dist/Logo.js.map +1 -1
  54. package/dist/Logo.mjs.map +1 -1
  55. package/dist/Pagination.js.map +1 -1
  56. package/dist/Pagination.mjs.map +1 -1
  57. package/dist/Slider.d.mts +1 -1
  58. package/dist/Slider.d.ts +1 -1
  59. package/dist/Slider.js.map +1 -1
  60. package/dist/Slider.mjs.map +1 -1
  61. package/dist/Tabs.d.mts +1 -1
  62. package/dist/Tabs.d.ts +1 -1
  63. package/dist/Tabs.js.map +1 -1
  64. package/dist/Tabs.mjs.map +1 -1
  65. package/dist/Toast.d.mts +1 -1
  66. package/dist/Toast.d.ts +1 -1
  67. package/dist/Toast.js +2 -3
  68. package/dist/Toast.js.map +1 -1
  69. package/dist/Toast.mjs +2 -3
  70. package/dist/Toast.mjs.map +1 -1
  71. package/dist/Tooltip.js.map +1 -1
  72. package/dist/Tooltip.mjs.map +1 -1
  73. package/dist/icons/Anchor.d.mts +1 -1
  74. package/dist/icons/Anchor.d.ts +1 -1
  75. package/dist/icons/ArrowLeft.d.mts +1 -1
  76. package/dist/icons/ArrowLeft.d.ts +1 -1
  77. package/dist/icons/ArrowRight.d.mts +1 -1
  78. package/dist/icons/ArrowRight.d.ts +1 -1
  79. package/dist/icons/Assembly.d.mts +1 -1
  80. package/dist/icons/Assembly.d.ts +1 -1
  81. package/dist/icons/Challenge.d.mts +1 -1
  82. package/dist/icons/Challenge.d.ts +1 -1
  83. package/dist/icons/Chevron.d.mts +1 -1
  84. package/dist/icons/Chevron.d.ts +1 -1
  85. package/dist/icons/ChevronLeft.d.mts +1 -1
  86. package/dist/icons/ChevronLeft.d.ts +1 -1
  87. package/dist/icons/ChevronRight.d.mts +1 -1
  88. package/dist/icons/ChevronRight.d.ts +1 -1
  89. package/dist/icons/Claim.d.mts +1 -1
  90. package/dist/icons/Claim.d.ts +1 -1
  91. package/dist/icons/Claimed.d.mts +1 -1
  92. package/dist/icons/Claimed.d.ts +1 -1
  93. package/dist/icons/Close.d.mts +1 -1
  94. package/dist/icons/Close.d.ts +1 -1
  95. package/dist/icons/Code.d.mts +1 -1
  96. package/dist/icons/Code.d.ts +1 -1
  97. package/dist/icons/Copy.d.mts +1 -1
  98. package/dist/icons/Copy.d.ts +1 -1
  99. package/dist/icons/Developer.d.mts +1 -1
  100. package/dist/icons/Developer.d.ts +1 -1
  101. package/dist/icons/Difficulty.d.mts +1 -1
  102. package/dist/icons/Difficulty.d.ts +1 -1
  103. package/dist/icons/Discord.d.mts +1 -1
  104. package/dist/icons/Discord.d.ts +1 -1
  105. package/dist/icons/Dollar.d.mts +1 -1
  106. package/dist/icons/Dollar.d.ts +1 -1
  107. package/dist/icons/DoubleArrow.d.mts +1 -1
  108. package/dist/icons/DoubleArrow.d.ts +1 -1
  109. package/dist/icons/EVM.d.mts +1 -1
  110. package/dist/icons/EVM.d.ts +1 -1
  111. package/dist/icons/Email.d.mts +1 -1
  112. package/dist/icons/Email.d.ts +1 -1
  113. package/dist/icons/Error.d.mts +1 -1
  114. package/dist/icons/Error.d.ts +1 -1
  115. package/dist/icons/External.d.mts +1 -1
  116. package/dist/icons/External.d.ts +1 -1
  117. package/dist/icons/Filter.d.mts +1 -1
  118. package/dist/icons/Filter.d.ts +1 -1
  119. package/dist/icons/Firmware.d.mts +1 -1
  120. package/dist/icons/Firmware.d.ts +1 -1
  121. package/dist/icons/Flag.d.mts +1 -1
  122. package/dist/icons/Flag.d.ts +1 -1
  123. package/dist/icons/Flame.d.mts +1 -1
  124. package/dist/icons/Flame.d.ts +1 -1
  125. package/dist/icons/Flexible.d.mts +1 -1
  126. package/dist/icons/Flexible.d.ts +1 -1
  127. package/dist/icons/Free.d.mts +1 -1
  128. package/dist/icons/Free.d.ts +1 -1
  129. package/dist/icons/General.d.mts +1 -1
  130. package/dist/icons/General.d.ts +1 -1
  131. package/dist/icons/Github.d.mts +1 -1
  132. package/dist/icons/Github.d.ts +1 -1
  133. package/dist/icons/GridView.d.mts +1 -1
  134. package/dist/icons/GridView.d.ts +1 -1
  135. package/dist/icons/Heart.d.mts +1 -1
  136. package/dist/icons/Heart.d.ts +1 -1
  137. package/dist/icons/Info.d.mts +1 -1
  138. package/dist/icons/Info.d.ts +1 -1
  139. package/dist/icons/Language.d.mts +1 -1
  140. package/dist/icons/Language.d.ts +1 -1
  141. package/dist/icons/Lessons.d.mts +1 -1
  142. package/dist/icons/Lessons.d.ts +1 -1
  143. package/dist/icons/Link.d.mts +1 -1
  144. package/dist/icons/Link.d.ts +1 -1
  145. package/dist/icons/ListView.d.mts +1 -1
  146. package/dist/icons/ListView.d.ts +1 -1
  147. package/dist/icons/Loading.d.mts +1 -1
  148. package/dist/icons/Loading.d.ts +1 -1
  149. package/dist/icons/Locked.d.mts +1 -1
  150. package/dist/icons/Locked.d.ts +1 -1
  151. package/dist/icons/Mentor.d.mts +1 -1
  152. package/dist/icons/Mentor.d.ts +1 -1
  153. package/dist/icons/Modular.d.mts +1 -1
  154. package/dist/icons/Modular.d.ts +1 -1
  155. package/dist/icons/NFT.d.mts +1 -1
  156. package/dist/icons/NFT.d.ts +1 -1
  157. package/dist/icons/Online.d.mts +1 -1
  158. package/dist/icons/Online.d.ts +1 -1
  159. package/dist/icons/Password.d.mts +1 -1
  160. package/dist/icons/Password.d.ts +1 -1
  161. package/dist/icons/Product.d.mts +1 -1
  162. package/dist/icons/Product.d.ts +1 -1
  163. package/dist/icons/Progress.d.mts +1 -1
  164. package/dist/icons/Progress.d.ts +1 -1
  165. package/dist/icons/Protocol.d.mts +1 -1
  166. package/dist/icons/Protocol.d.ts +1 -1
  167. package/dist/icons/Rewards.d.mts +1 -1
  168. package/dist/icons/Rewards.d.ts +1 -1
  169. package/dist/icons/Rust.d.mts +1 -1
  170. package/dist/icons/Rust.d.ts +1 -1
  171. package/dist/icons/Search.d.mts +1 -1
  172. package/dist/icons/Search.d.ts +1 -1
  173. package/dist/icons/SmartContract.d.mts +1 -1
  174. package/dist/icons/SmartContract.d.ts +1 -1
  175. package/dist/icons/Solana.d.mts +1 -1
  176. package/dist/icons/Solana.d.ts +1 -1
  177. package/dist/icons/Success.d.mts +1 -1
  178. package/dist/icons/Success.d.ts +1 -1
  179. package/dist/icons/SuccessCircle.d.mts +1 -1
  180. package/dist/icons/SuccessCircle.d.ts +1 -1
  181. package/dist/icons/Table.d.mts +1 -1
  182. package/dist/icons/Table.d.ts +1 -1
  183. package/dist/icons/Target.d.mts +1 -1
  184. package/dist/icons/Target.d.ts +1 -1
  185. package/dist/icons/Training.d.mts +1 -1
  186. package/dist/icons/Training.d.ts +1 -1
  187. package/dist/icons/Typescript.d.mts +1 -1
  188. package/dist/icons/Typescript.d.ts +1 -1
  189. package/dist/icons/Unclaimed.d.mts +1 -1
  190. package/dist/icons/Unclaimed.d.ts +1 -1
  191. package/dist/icons/Upload.d.mts +1 -1
  192. package/dist/icons/Upload.d.ts +1 -1
  193. package/dist/icons/Wallet.d.mts +1 -1
  194. package/dist/icons/Wallet.d.ts +1 -1
  195. package/dist/icons/WalletSmall.d.mts +1 -1
  196. package/dist/icons/WalletSmall.d.ts +1 -1
  197. package/dist/icons/Warning.d.mts +1 -1
  198. package/dist/icons/Warning.d.ts +1 -1
  199. package/dist/icons/X.d.mts +1 -1
  200. package/dist/icons/X.d.ts +1 -1
  201. package/dist/icons/index.d.mts +1 -1
  202. package/dist/icons/index.d.ts +1 -1
  203. package/dist/index.d.mts +3 -1
  204. package/dist/index.d.ts +3 -1
  205. package/dist/index.js +10 -0
  206. package/dist/index.mjs +2 -0
  207. package/package.json +12 -10
  208. package/dist/{index-DWGhkMUQ.d.mts → Icon-CTxwWbdC.d.mts} +8 -8
  209. package/dist/{index-ekBNDG0H.d.ts → Icon-llWd6yMa.d.ts} +8 -8
package/dist/Toast.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { motion } from 'motion/react';
3
2
  import { Icon } from './Icon';
4
3
  import classNames from 'classnames';
5
4
  import { CrosshairCorners } from './CrossHair';
@@ -14,7 +13,7 @@ const Toast = ({
14
13
  clearable
15
14
  }) => {
16
15
  return /* @__PURE__ */ jsxs(
17
- motion.div,
16
+ "div",
18
17
  {
19
18
  className: classNames(
20
19
  "px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border",
@@ -25,7 +24,7 @@ const Toast = ({
25
24
  ),
26
25
  children: [
27
26
  /* @__PURE__ */ jsx("div", { className: "inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent" }),
28
- /* @__PURE__ */ jsxs(motion.div, { className: "px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative", children: [
27
+ /* @__PURE__ */ jsxs("div", { className: "px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative", children: [
29
28
  /* @__PURE__ */ jsx(
30
29
  CrosshairCorners,
31
30
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Toast.tsx"],"names":[],"mappings":";;;;;;;AAeO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAAkB;AAChB,EAAA,uBACE,IAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,QACT,oIAAA;AAAA,QACA,YAAY,SAAA,IAAa,oBAAA;AAAA,QACzB,YAAY,OAAA,IAAW,kBAAA;AAAA,QACvB,YAAY,MAAA,IAAU,sBAAA;AAAA,QACtB;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iFAAA,EAAkF,CAAA;AAAA,wBACjG,IAAA,CAAC,MAAA,CAAO,GAAA,EAAP,EAAW,WAAU,sFAAA,EACpB,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cACC,cAAA,EAAgB,CAAA;AAAA,cAChB,iBAAA,EAAmB,GAAA;AAAA,cACnB,OAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAM,CAAA;AAAA,cACN,QAAA,EAAU;AAAA;AAAA,WACZ;AAAA,8BACC,IAAA,EAAA,EAAK,IAAA,EAAM,MAAM,SAAA,EAAU,4BAAA,EAA6B,MAAM,EAAA,EAAI,CAAA;AAAA,0BACnE,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAqB,QAAA,EAAA,KAAA,EAAM;AAAA,SAAA,EAC7C,CAAA;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4DAAA,EACV,QAAA,EAAA,WAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;AAGO,MAAM,SAAA,GAAY,CAAC,KAAA,KAAyC;AACjE,EAAA,OAAO,KAAA,CAAM,OAAO,CAAC,CAAA,yBAAO,KAAA,EAAA,EAAO,GAAG,OAAO,CAAA,EAAI;AAAA,IAC/C,QAAA,EAAU,GAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEO,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACtE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,eAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,cAAA,GAAiB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACpE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACnE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH","file":"Toast.mjs","sourcesContent":["import { motion } from \"motion/react\";\nimport { Icon, IconName } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { toast } from \"sonner\";\n\nexport type ToastProps = {\n className?: string;\n title: string;\n description: string;\n icon: IconName;\n variant: \"success\" | \"error\" | \"info\";\n clearable?: boolean;\n};\n\nexport const Toast = ({\n className,\n title,\n description,\n icon,\n variant,\n clearable,\n}: ToastProps) => {\n return (\n <motion.div\n className={classNames(\n \"px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border\",\n variant === \"success\" && \"text-state-success\",\n variant === \"error\" && \"text-state-error\",\n variant === \"info\" && \"text-shade-secondary\",\n className\n )}\n >\n <div className=\"inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent\"></div>\n <motion.div className=\"px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative\">\n <CrosshairCorners\n animationDelay={0}\n animationDuration={0.5}\n variant=\"bordered\"\n size={4}\n spacingX={1}\n />\n <Icon name={icon} className=\"flex-shrink-0 text-current\" size={16} />\n <span className=\"font-mono text-sm\">{title}</span>\n </motion.div>\n <p className=\"text-sm leading-[160%] font-medium text-shade-primary px-4\">\n {description}\n </p>\n </motion.div>\n );\n};\n\n// Sonner integration helpers\nexport const showToast = (props: Omit<ToastProps, \"className\">) => {\n return toast.custom((t) => <Toast {...props} />, {\n duration: 4000,\n unstyled: true,\n });\n};\n\nexport const showSuccessToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"SuccessCircle\",\n variant: \"success\",\n });\n};\n\nexport const showErrorToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Error\",\n variant: \"error\",\n });\n};\n\nexport const showInfoToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Loading\",\n variant: \"info\",\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/Toast.tsx"],"names":[],"mappings":";;;;;;AAcO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAAkB;AAChB,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,QACT,oIAAA;AAAA,QACA,YAAY,SAAA,IAAa,oBAAA;AAAA,QACzB,YAAY,OAAA,IAAW,kBAAA;AAAA,QACvB,YAAY,MAAA,IAAU,sBAAA;AAAA,QACtB;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iFAAA,EAAkF,CAAA;AAAA,wBACjG,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sFAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cACC,cAAA,EAAgB,CAAA;AAAA,cAChB,iBAAA,EAAmB,GAAA;AAAA,cACnB,OAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAM,CAAA;AAAA,cACN,QAAA,EAAU;AAAA;AAAA,WACZ;AAAA,8BACC,IAAA,EAAA,EAAK,IAAA,EAAM,MAAM,SAAA,EAAU,4BAAA,EAA6B,MAAM,EAAA,EAAI,CAAA;AAAA,0BACnE,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAqB,QAAA,EAAA,KAAA,EAAM;AAAA,SAAA,EAC7C,CAAA;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4DAAA,EACV,QAAA,EAAA,WAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;AAGO,MAAM,SAAA,GAAY,CAAC,KAAA,KAAyC;AACjE,EAAA,OAAO,KAAA,CAAM,OAAO,CAAC,CAAA,yBAAO,KAAA,EAAA,EAAO,GAAG,OAAO,CAAA,EAAI;AAAA,IAC/C,QAAA,EAAU,GAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEO,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACtE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,eAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,cAAA,GAAiB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACpE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACnE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH","file":"Toast.mjs","sourcesContent":["import { Icon, IconName } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { toast } from \"sonner\";\n\nexport type ToastProps = {\n className?: string;\n title: string;\n description: string;\n icon: IconName;\n variant: \"success\" | \"error\" | \"info\";\n clearable?: boolean;\n};\n\nexport const Toast = ({\n className,\n title,\n description,\n icon,\n variant,\n clearable,\n}: ToastProps) => {\n return (\n <div\n className={classNames(\n \"px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border\",\n variant === \"success\" && \"text-state-success\",\n variant === \"error\" && \"text-state-error\",\n variant === \"info\" && \"text-shade-secondary\",\n className\n )}\n >\n <div className=\"inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent\"></div>\n <div className=\"px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative\">\n <CrosshairCorners\n animationDelay={0}\n animationDuration={0.5}\n variant=\"bordered\"\n size={4}\n spacingX={1}\n />\n <Icon name={icon} className=\"flex-shrink-0 text-current\" size={16} />\n <span className=\"font-mono text-sm\">{title}</span>\n </div>\n <p className=\"text-sm leading-[160%] font-medium text-shade-primary px-4\">\n {description}\n </p>\n </div>\n );\n};\n\n// Sonner integration helpers\nexport const showToast = (props: Omit<ToastProps, \"className\">) => {\n return toast.custom((t) => <Toast {...props} />, {\n duration: 4000,\n unstyled: true,\n });\n};\n\nexport const showSuccessToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"SuccessCircle\",\n variant: \"success\",\n });\n};\n\nexport const showErrorToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Error\",\n variant: \"error\",\n });\n};\n\nexport const showInfoToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Loading\",\n variant: \"info\",\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Tooltip.tsx"],"names":["position","crisp","jsx","AnimatePresence","jsxs","motion","classNames","CrosshairCorners"],"mappings":"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","file":"Tooltip.js","sourcesContent":["import classNames from \"classnames\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { crisp, swift } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\n\nexport type TooltipProps = {\n description: string;\n isOpen?: boolean;\n position:\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"center-left\"\n | \"center-right\";\n};\n\nexport const Tooltip = ({ description, position, isOpen }: TooltipProps) => {\n const getPositionBasedAnimation = (position: TooltipProps[\"position\"]) => {\n const baseAnimation = {\n animate: { opacity: 1, y: 0, x: 0, scale: 1 },\n exit: { opacity: 0, scale: 0.9 },\n transition: { duration: 0.15, ease: crisp, delay: 0.15 },\n };\n\n if (position.startsWith(\"bottom\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n } else if (position.startsWith(\"top\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: 10 },\n };\n } else if (position.startsWith(\"center-left\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: 10 },\n };\n } else if (position.startsWith(\"center-right\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: -10 },\n };\n }\n\n // Fallback to default animation\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n };\n\n const animations = getPositionBasedAnimation(position);\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n key={position}\n {...animations}\n className={classNames(\n \"z-50 absolute font-medium w-max max-w-[200px] px-2.5 pt-1.5 pb-2 bg-card-foreground gradient-border before:bg-border text-xs leading-[150%] text-shade-tertiary\",\n \"after:absolute after:bg-border\",\n !position.startsWith(\"center\") && \"after:!w-[10px] after:!h-[5px]\",\n position.startsWith(\"center\") && \"after:!h-[10px] after:!w-[5px]\",\n getTooltipPosition(position),\n getArrowPosition(position)\n )}\n style={{ transformOrigin: getTransformOrigin(position) }}\n >\n <div className=\"absolute inset-0.5\">\n <CrosshairCorners\n size={4}\n variant=\"corners\"\n className=\"text-shade-mute\"\n animationDelay={0.15}\n animationDuration={0.75}\n corners={\n position === \"top-left\" || position === \"bottom-right\"\n ? [\"bottom-left\", \"top-right\"]\n : [\"bottom-right\", \"top-left\"]\n }\n />\n </div>\n {description}\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nconst getTooltipPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"top-right\":\n return \"bottom-[calc(100%+6px)] left-1/2 mb-1\";\n case \"top-center\":\n return \"bottom-[calc(100%+6px)] left-1/2 -translate-x-1/2 mb-1\";\n case \"top-left\":\n return \"bottom-[calc(100%+6px)] right-1/2 mb-1\";\n case \"bottom-right\":\n return \"top-[calc(100%+6px)] left-1/2 mt-1\";\n case \"bottom-center\":\n return \"top-[calc(100%+6px)] left-1/2 -translate-x-1/2 mt-1\";\n case \"bottom-left\":\n return \"top-[calc(100%+6px)] right-1/2 mt-1\";\n case \"center-left\":\n return \"right-[calc(100%+6px)] top-1/2 -translate-y-1/2 mr-1\";\n case \"center-right\":\n return \"left-[calc(100%+6px)] top-1/2 -translate-y-1/2 ml-1\";\n }\n};\n\nconst getTransformOrigin = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"bottom left\";\n case \"bottom-center\":\n return \"bottom center\";\n case \"bottom-left\":\n return \"bottom right\";\n case \"top-right\":\n return \"top left\";\n case \"top-center\":\n return \"top center\";\n case \"top-left\":\n return \"top right\";\n case \"center-left\":\n return \"center right\";\n case \"center-right\":\n return \"center left\";\n }\n};\n\nconst getArrowPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"after:top-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_0%,100%_100%,0%_100%,0%_0%)]\";\n case \"bottom-center\":\n return \"after:top-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_0%,0%_100%,100%_100%)]\";\n case \"bottom-left\":\n return \"after:top-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_0%,0%_100%,100%_100%,100%_0%)]\";\n case \"top-right\":\n return \"after:bottom-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_100%,100%_0%,0%_0%,0%_100%)]\";\n case \"top-center\":\n return \"after:bottom-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_100%,0%_0%,100%_0%)]\";\n case \"top-left\":\n return \"after:bottom-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_100%,0%_0%,100%_0%,100%_100%)]\";\n case \"center-right\":\n return \"after:top-1/2 after:left-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(100%_0%,0%_50%,100%_100%)]\";\n case \"center-left\":\n return \"after:top-1/2 after:right-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(0%_0%,100%_50%,0%_100%)]\";\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/Tooltip.tsx"],"names":["position","crisp","jsx","AnimatePresence","jsxs","motion","classNames","CrosshairCorners"],"mappings":"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","file":"Tooltip.js","sourcesContent":["\"use client\";\n\nimport classNames from \"classnames\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { crisp, swift } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\n\nexport type TooltipProps = {\n description: string;\n isOpen?: boolean;\n position:\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"center-left\"\n | \"center-right\";\n};\n\nexport const Tooltip = ({ description, position, isOpen }: TooltipProps) => {\n const getPositionBasedAnimation = (position: TooltipProps[\"position\"]) => {\n const baseAnimation = {\n animate: { opacity: 1, y: 0, x: 0, scale: 1 },\n exit: { opacity: 0, scale: 0.9 },\n transition: { duration: 0.15, ease: crisp, delay: 0.15 },\n };\n\n if (position.startsWith(\"bottom\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n } else if (position.startsWith(\"top\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: 10 },\n };\n } else if (position.startsWith(\"center-left\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: 10 },\n };\n } else if (position.startsWith(\"center-right\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: -10 },\n };\n }\n\n // Fallback to default animation\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n };\n\n const animations = getPositionBasedAnimation(position);\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n key={position}\n {...animations}\n className={classNames(\n \"z-50 absolute font-medium w-max max-w-[200px] px-2.5 pt-1.5 pb-2 bg-card-foreground gradient-border before:bg-border text-xs leading-[150%] text-shade-tertiary\",\n \"after:absolute after:bg-border\",\n !position.startsWith(\"center\") && \"after:!w-[10px] after:!h-[5px]\",\n position.startsWith(\"center\") && \"after:!h-[10px] after:!w-[5px]\",\n getTooltipPosition(position),\n getArrowPosition(position)\n )}\n style={{ transformOrigin: getTransformOrigin(position) }}\n >\n <div className=\"absolute inset-0.5\">\n <CrosshairCorners\n size={4}\n variant=\"corners\"\n className=\"text-shade-mute\"\n animationDelay={0.15}\n animationDuration={0.75}\n corners={\n position === \"top-left\" || position === \"bottom-right\"\n ? [\"bottom-left\", \"top-right\"]\n : [\"bottom-right\", \"top-left\"]\n }\n />\n </div>\n {description}\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nconst getTooltipPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"top-right\":\n return \"bottom-[calc(100%+6px)] left-1/2 mb-1\";\n case \"top-center\":\n return \"bottom-[calc(100%+6px)] left-1/2 -translate-x-1/2 mb-1\";\n case \"top-left\":\n return \"bottom-[calc(100%+6px)] right-1/2 mb-1\";\n case \"bottom-right\":\n return \"top-[calc(100%+6px)] left-1/2 mt-1\";\n case \"bottom-center\":\n return \"top-[calc(100%+6px)] left-1/2 -translate-x-1/2 mt-1\";\n case \"bottom-left\":\n return \"top-[calc(100%+6px)] right-1/2 mt-1\";\n case \"center-left\":\n return \"right-[calc(100%+6px)] top-1/2 -translate-y-1/2 mr-1\";\n case \"center-right\":\n return \"left-[calc(100%+6px)] top-1/2 -translate-y-1/2 ml-1\";\n }\n};\n\nconst getTransformOrigin = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"bottom left\";\n case \"bottom-center\":\n return \"bottom center\";\n case \"bottom-left\":\n return \"bottom right\";\n case \"top-right\":\n return \"top left\";\n case \"top-center\":\n return \"top center\";\n case \"top-left\":\n return \"top right\";\n case \"center-left\":\n return \"center right\";\n case \"center-right\":\n return \"center left\";\n }\n};\n\nconst getArrowPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"after:top-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_0%,100%_100%,0%_100%,0%_0%)]\";\n case \"bottom-center\":\n return \"after:top-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_0%,0%_100%,100%_100%)]\";\n case \"bottom-left\":\n return \"after:top-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_0%,0%_100%,100%_100%,100%_0%)]\";\n case \"top-right\":\n return \"after:bottom-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_100%,100%_0%,0%_0%,0%_100%)]\";\n case \"top-center\":\n return \"after:bottom-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_100%,0%_0%,100%_0%)]\";\n case \"top-left\":\n return \"after:bottom-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_100%,0%_0%,100%_0%,100%_100%)]\";\n case \"center-right\":\n return \"after:top-1/2 after:left-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(100%_0%,0%_50%,100%_100%)]\";\n case \"center-left\":\n return \"after:top-1/2 after:right-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(0%_0%,100%_50%,0%_100%)]\";\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Tooltip.tsx"],"names":["position"],"mappings":"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","file":"Tooltip.mjs","sourcesContent":["import classNames from \"classnames\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { crisp, swift } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\n\nexport type TooltipProps = {\n description: string;\n isOpen?: boolean;\n position:\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"center-left\"\n | \"center-right\";\n};\n\nexport const Tooltip = ({ description, position, isOpen }: TooltipProps) => {\n const getPositionBasedAnimation = (position: TooltipProps[\"position\"]) => {\n const baseAnimation = {\n animate: { opacity: 1, y: 0, x: 0, scale: 1 },\n exit: { opacity: 0, scale: 0.9 },\n transition: { duration: 0.15, ease: crisp, delay: 0.15 },\n };\n\n if (position.startsWith(\"bottom\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n } else if (position.startsWith(\"top\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: 10 },\n };\n } else if (position.startsWith(\"center-left\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: 10 },\n };\n } else if (position.startsWith(\"center-right\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: -10 },\n };\n }\n\n // Fallback to default animation\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n };\n\n const animations = getPositionBasedAnimation(position);\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n key={position}\n {...animations}\n className={classNames(\n \"z-50 absolute font-medium w-max max-w-[200px] px-2.5 pt-1.5 pb-2 bg-card-foreground gradient-border before:bg-border text-xs leading-[150%] text-shade-tertiary\",\n \"after:absolute after:bg-border\",\n !position.startsWith(\"center\") && \"after:!w-[10px] after:!h-[5px]\",\n position.startsWith(\"center\") && \"after:!h-[10px] after:!w-[5px]\",\n getTooltipPosition(position),\n getArrowPosition(position)\n )}\n style={{ transformOrigin: getTransformOrigin(position) }}\n >\n <div className=\"absolute inset-0.5\">\n <CrosshairCorners\n size={4}\n variant=\"corners\"\n className=\"text-shade-mute\"\n animationDelay={0.15}\n animationDuration={0.75}\n corners={\n position === \"top-left\" || position === \"bottom-right\"\n ? [\"bottom-left\", \"top-right\"]\n : [\"bottom-right\", \"top-left\"]\n }\n />\n </div>\n {description}\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nconst getTooltipPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"top-right\":\n return \"bottom-[calc(100%+6px)] left-1/2 mb-1\";\n case \"top-center\":\n return \"bottom-[calc(100%+6px)] left-1/2 -translate-x-1/2 mb-1\";\n case \"top-left\":\n return \"bottom-[calc(100%+6px)] right-1/2 mb-1\";\n case \"bottom-right\":\n return \"top-[calc(100%+6px)] left-1/2 mt-1\";\n case \"bottom-center\":\n return \"top-[calc(100%+6px)] left-1/2 -translate-x-1/2 mt-1\";\n case \"bottom-left\":\n return \"top-[calc(100%+6px)] right-1/2 mt-1\";\n case \"center-left\":\n return \"right-[calc(100%+6px)] top-1/2 -translate-y-1/2 mr-1\";\n case \"center-right\":\n return \"left-[calc(100%+6px)] top-1/2 -translate-y-1/2 ml-1\";\n }\n};\n\nconst getTransformOrigin = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"bottom left\";\n case \"bottom-center\":\n return \"bottom center\";\n case \"bottom-left\":\n return \"bottom right\";\n case \"top-right\":\n return \"top left\";\n case \"top-center\":\n return \"top center\";\n case \"top-left\":\n return \"top right\";\n case \"center-left\":\n return \"center right\";\n case \"center-right\":\n return \"center left\";\n }\n};\n\nconst getArrowPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"after:top-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_0%,100%_100%,0%_100%,0%_0%)]\";\n case \"bottom-center\":\n return \"after:top-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_0%,0%_100%,100%_100%)]\";\n case \"bottom-left\":\n return \"after:top-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_0%,0%_100%,100%_100%,100%_0%)]\";\n case \"top-right\":\n return \"after:bottom-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_100%,100%_0%,0%_0%,0%_100%)]\";\n case \"top-center\":\n return \"after:bottom-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_100%,0%_0%,100%_0%)]\";\n case \"top-left\":\n return \"after:bottom-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_100%,0%_0%,100%_0%,100%_100%)]\";\n case \"center-right\":\n return \"after:top-1/2 after:left-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(100%_0%,0%_50%,100%_100%)]\";\n case \"center-left\":\n return \"after:top-1/2 after:right-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(0%_0%,100%_50%,0%_100%)]\";\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/Tooltip.tsx"],"names":["position"],"mappings":"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","file":"Tooltip.mjs","sourcesContent":["\"use client\";\n\nimport classNames from \"classnames\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { crisp, swift } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\n\nexport type TooltipProps = {\n description: string;\n isOpen?: boolean;\n position:\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"center-left\"\n | \"center-right\";\n};\n\nexport const Tooltip = ({ description, position, isOpen }: TooltipProps) => {\n const getPositionBasedAnimation = (position: TooltipProps[\"position\"]) => {\n const baseAnimation = {\n animate: { opacity: 1, y: 0, x: 0, scale: 1 },\n exit: { opacity: 0, scale: 0.9 },\n transition: { duration: 0.15, ease: crisp, delay: 0.15 },\n };\n\n if (position.startsWith(\"bottom\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n } else if (position.startsWith(\"top\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: 10 },\n };\n } else if (position.startsWith(\"center-left\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: 10 },\n };\n } else if (position.startsWith(\"center-right\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: -10 },\n };\n }\n\n // Fallback to default animation\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n };\n\n const animations = getPositionBasedAnimation(position);\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n key={position}\n {...animations}\n className={classNames(\n \"z-50 absolute font-medium w-max max-w-[200px] px-2.5 pt-1.5 pb-2 bg-card-foreground gradient-border before:bg-border text-xs leading-[150%] text-shade-tertiary\",\n \"after:absolute after:bg-border\",\n !position.startsWith(\"center\") && \"after:!w-[10px] after:!h-[5px]\",\n position.startsWith(\"center\") && \"after:!h-[10px] after:!w-[5px]\",\n getTooltipPosition(position),\n getArrowPosition(position)\n )}\n style={{ transformOrigin: getTransformOrigin(position) }}\n >\n <div className=\"absolute inset-0.5\">\n <CrosshairCorners\n size={4}\n variant=\"corners\"\n className=\"text-shade-mute\"\n animationDelay={0.15}\n animationDuration={0.75}\n corners={\n position === \"top-left\" || position === \"bottom-right\"\n ? [\"bottom-left\", \"top-right\"]\n : [\"bottom-right\", \"top-left\"]\n }\n />\n </div>\n {description}\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nconst getTooltipPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"top-right\":\n return \"bottom-[calc(100%+6px)] left-1/2 mb-1\";\n case \"top-center\":\n return \"bottom-[calc(100%+6px)] left-1/2 -translate-x-1/2 mb-1\";\n case \"top-left\":\n return \"bottom-[calc(100%+6px)] right-1/2 mb-1\";\n case \"bottom-right\":\n return \"top-[calc(100%+6px)] left-1/2 mt-1\";\n case \"bottom-center\":\n return \"top-[calc(100%+6px)] left-1/2 -translate-x-1/2 mt-1\";\n case \"bottom-left\":\n return \"top-[calc(100%+6px)] right-1/2 mt-1\";\n case \"center-left\":\n return \"right-[calc(100%+6px)] top-1/2 -translate-y-1/2 mr-1\";\n case \"center-right\":\n return \"left-[calc(100%+6px)] top-1/2 -translate-y-1/2 ml-1\";\n }\n};\n\nconst getTransformOrigin = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"bottom left\";\n case \"bottom-center\":\n return \"bottom center\";\n case \"bottom-left\":\n return \"bottom right\";\n case \"top-right\":\n return \"top left\";\n case \"top-center\":\n return \"top center\";\n case \"top-left\":\n return \"top right\";\n case \"center-left\":\n return \"center right\";\n case \"center-right\":\n return \"center left\";\n }\n};\n\nconst getArrowPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"after:top-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_0%,100%_100%,0%_100%,0%_0%)]\";\n case \"bottom-center\":\n return \"after:top-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_0%,0%_100%,100%_100%)]\";\n case \"bottom-left\":\n return \"after:top-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_0%,0%_100%,100%_100%,100%_0%)]\";\n case \"top-right\":\n return \"after:bottom-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_100%,100%_0%,0%_0%,0%_100%)]\";\n case \"top-center\":\n return \"after:bottom-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_100%,0%_0%,100%_0%)]\";\n case \"top-left\":\n return \"after:bottom-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_100%,0%_0%,100%_0%,100%_100%)]\";\n case \"center-right\":\n return \"after:top-1/2 after:left-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(100%_0%,0%_50%,100%_100%)]\";\n case \"center-left\":\n return \"after:top-1/2 after:right-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(0%_0%,100%_50%,0%_100%)]\";\n }\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const AnchorIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const AnchorIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ArrowLeftIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ArrowLeftIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ArrowRightIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ArrowRightIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const AssemblyIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const AssemblyIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ChallengeIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ChallengeIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ChevronIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ChevronIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ChevronLeftIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ChevronLeftIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ChevronRightIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ChevronRightIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ClaimIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ClaimIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ClaimedIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ClaimedIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const CloseIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const CloseIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const CodeIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const CodeIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const CopyIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const CopyIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const DeveloperIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const DeveloperIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import 'react/jsx-runtime';
2
2
  import '../utils/colours.mjs';
3
- export { e as DifficultyIcon, D as DifficultyIconProps } from '../index-DWGhkMUQ.mjs';
3
+ export { e as DifficultyIcon, D as DifficultyIconProps } from '../Icon-CTxwWbdC.mjs';
@@ -1,3 +1,3 @@
1
1
  import 'react/jsx-runtime';
2
2
  import '../utils/colours.js';
3
- export { e as DifficultyIcon, D as DifficultyIconProps } from '../index-ekBNDG0H.js';
3
+ export { e as DifficultyIcon, D as DifficultyIconProps } from '../Icon-llWd6yMa.js';
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const DiscordIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const DiscordIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const DollarIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const DollarIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const DoubleArrowIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const DoubleArrowIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const EVMIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const EVMIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const EmailIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const EmailIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ErrorIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ErrorIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const ExternalIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const ExternalIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const FilterIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const FilterIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const FirmwareIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const FirmwareIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const FlagIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const FlagIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const FlameIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const FlameIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-DWGhkMUQ.mjs';
2
+ import { a as IconProps } from '../Icon-CTxwWbdC.mjs';
3
3
  import '../utils/colours.mjs';
4
4
 
5
5
  declare const FlexibleIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from '../index-ekBNDG0H.js';
2
+ import { a as IconProps } from '../Icon-llWd6yMa.js';
3
3
  import '../utils/colours.js';
4
4
 
5
5
  declare const FlexibleIcon: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;