@blueshift-gg/ui-components 0.1.18 → 0.1.20

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 (191) hide show
  1. package/dist/Alert.d.mts +1 -1
  2. package/dist/Alert.d.ts +1 -1
  3. package/dist/Avatar.d.mts +1 -1
  4. package/dist/Avatar.d.ts +1 -1
  5. package/dist/Badge.d.mts +1 -1
  6. package/dist/Badge.d.ts +1 -1
  7. package/dist/Badge.js +3 -3
  8. package/dist/Badge.js.map +1 -1
  9. package/dist/Badge.mjs +3 -3
  10. package/dist/Badge.mjs.map +1 -1
  11. package/dist/Button.d.mts +1 -1
  12. package/dist/Button.d.ts +1 -1
  13. package/dist/Dropdown.d.mts +1 -1
  14. package/dist/Dropdown.d.ts +1 -1
  15. package/dist/{Icon-_eAGhkdn.d.mts → Icon-D0R9Y5U4.d.mts} +2 -0
  16. package/dist/{Icon-DTD8APSk.d.ts → Icon-Xhwol1Zj.d.ts} +2 -0
  17. package/dist/Icon.d.mts +1 -1
  18. package/dist/Icon.d.ts +1 -1
  19. package/dist/Input.d.mts +4 -3
  20. package/dist/Input.d.ts +4 -3
  21. package/dist/Input.js +8 -5
  22. package/dist/Input.js.map +1 -1
  23. package/dist/Input.mjs +8 -5
  24. package/dist/Input.mjs.map +1 -1
  25. package/dist/Slider.d.mts +1 -1
  26. package/dist/Slider.d.ts +1 -1
  27. package/dist/Tabs.d.mts +5 -2
  28. package/dist/Tabs.d.ts +5 -2
  29. package/dist/Tabs.js +9 -5
  30. package/dist/Tabs.js.map +1 -1
  31. package/dist/Tabs.mjs +9 -5
  32. package/dist/Tabs.mjs.map +1 -1
  33. package/dist/Toast.d.mts +1 -1
  34. package/dist/Toast.d.ts +1 -1
  35. package/dist/icons/Anchor.d.mts +1 -1
  36. package/dist/icons/Anchor.d.ts +1 -1
  37. package/dist/icons/ArrowLeft.d.mts +1 -1
  38. package/dist/icons/ArrowLeft.d.ts +1 -1
  39. package/dist/icons/ArrowRight.d.mts +1 -1
  40. package/dist/icons/ArrowRight.d.ts +1 -1
  41. package/dist/icons/Assembly.d.mts +1 -1
  42. package/dist/icons/Assembly.d.ts +1 -1
  43. package/dist/icons/Backpack.d.mts +7 -0
  44. package/dist/icons/Backpack.d.ts +7 -0
  45. package/dist/icons/Backpack.js +46 -0
  46. package/dist/icons/Backpack.js.map +1 -0
  47. package/dist/icons/Backpack.mjs +44 -0
  48. package/dist/icons/Backpack.mjs.map +1 -0
  49. package/dist/icons/Brave.d.mts +1 -1
  50. package/dist/icons/Brave.d.ts +1 -1
  51. package/dist/icons/Challenge.d.mts +1 -1
  52. package/dist/icons/Challenge.d.ts +1 -1
  53. package/dist/icons/Chevron.d.mts +1 -1
  54. package/dist/icons/Chevron.d.ts +1 -1
  55. package/dist/icons/ChevronLeft.d.mts +1 -1
  56. package/dist/icons/ChevronLeft.d.ts +1 -1
  57. package/dist/icons/ChevronRight.d.mts +1 -1
  58. package/dist/icons/ChevronRight.d.ts +1 -1
  59. package/dist/icons/Claim.d.mts +1 -1
  60. package/dist/icons/Claim.d.ts +1 -1
  61. package/dist/icons/Claimed.d.mts +1 -1
  62. package/dist/icons/Claimed.d.ts +1 -1
  63. package/dist/icons/Close.d.mts +1 -1
  64. package/dist/icons/Close.d.ts +1 -1
  65. package/dist/icons/Code.d.mts +1 -1
  66. package/dist/icons/Code.d.ts +1 -1
  67. package/dist/icons/Copy.d.mts +1 -1
  68. package/dist/icons/Copy.d.ts +1 -1
  69. package/dist/icons/Developer.d.mts +1 -1
  70. package/dist/icons/Developer.d.ts +1 -1
  71. package/dist/icons/Difficulty.d.mts +1 -1
  72. package/dist/icons/Difficulty.d.ts +1 -1
  73. package/dist/icons/Discord.d.mts +1 -1
  74. package/dist/icons/Discord.d.ts +1 -1
  75. package/dist/icons/Dollar.d.mts +1 -1
  76. package/dist/icons/Dollar.d.ts +1 -1
  77. package/dist/icons/DoubleArrow.d.mts +1 -1
  78. package/dist/icons/DoubleArrow.d.ts +1 -1
  79. package/dist/icons/EVM.d.mts +1 -1
  80. package/dist/icons/EVM.d.ts +1 -1
  81. package/dist/icons/Email.d.mts +1 -1
  82. package/dist/icons/Email.d.ts +1 -1
  83. package/dist/icons/Error.d.mts +1 -1
  84. package/dist/icons/Error.d.ts +1 -1
  85. package/dist/icons/External.d.mts +1 -1
  86. package/dist/icons/External.d.ts +1 -1
  87. package/dist/icons/Filter.d.mts +1 -1
  88. package/dist/icons/Filter.d.ts +1 -1
  89. package/dist/icons/Firmware.d.mts +1 -1
  90. package/dist/icons/Firmware.d.ts +1 -1
  91. package/dist/icons/Flag.d.mts +1 -1
  92. package/dist/icons/Flag.d.ts +1 -1
  93. package/dist/icons/Flame.d.mts +1 -1
  94. package/dist/icons/Flame.d.ts +1 -1
  95. package/dist/icons/Flexible.d.mts +1 -1
  96. package/dist/icons/Flexible.d.ts +1 -1
  97. package/dist/icons/Free.d.mts +1 -1
  98. package/dist/icons/Free.d.ts +1 -1
  99. package/dist/icons/General.d.mts +1 -1
  100. package/dist/icons/General.d.ts +1 -1
  101. package/dist/icons/Github.d.mts +1 -1
  102. package/dist/icons/Github.d.ts +1 -1
  103. package/dist/icons/GridView.d.mts +1 -1
  104. package/dist/icons/GridView.d.ts +1 -1
  105. package/dist/icons/Heart.d.mts +1 -1
  106. package/dist/icons/Heart.d.ts +1 -1
  107. package/dist/icons/Info.d.mts +1 -1
  108. package/dist/icons/Info.d.ts +1 -1
  109. package/dist/icons/Language.d.mts +1 -1
  110. package/dist/icons/Language.d.ts +1 -1
  111. package/dist/icons/Lessons.d.mts +1 -1
  112. package/dist/icons/Lessons.d.ts +1 -1
  113. package/dist/icons/Link.d.mts +1 -1
  114. package/dist/icons/Link.d.ts +1 -1
  115. package/dist/icons/ListView.d.mts +1 -1
  116. package/dist/icons/ListView.d.ts +1 -1
  117. package/dist/icons/Loading.d.mts +1 -1
  118. package/dist/icons/Loading.d.ts +1 -1
  119. package/dist/icons/Locked.d.mts +1 -1
  120. package/dist/icons/Locked.d.ts +1 -1
  121. package/dist/icons/Mentor.d.mts +1 -1
  122. package/dist/icons/Mentor.d.ts +1 -1
  123. package/dist/icons/Metamask.d.mts +7 -0
  124. package/dist/icons/Metamask.d.ts +7 -0
  125. package/dist/icons/Metamask.js +72 -0
  126. package/dist/icons/Metamask.js.map +1 -0
  127. package/dist/icons/Metamask.mjs +70 -0
  128. package/dist/icons/Metamask.mjs.map +1 -0
  129. package/dist/icons/Modular.d.mts +1 -1
  130. package/dist/icons/Modular.d.ts +1 -1
  131. package/dist/icons/NFT.d.mts +1 -1
  132. package/dist/icons/NFT.d.ts +1 -1
  133. package/dist/icons/Online.d.mts +1 -1
  134. package/dist/icons/Online.d.ts +1 -1
  135. package/dist/icons/Password.d.mts +1 -1
  136. package/dist/icons/Password.d.ts +1 -1
  137. package/dist/icons/Phantom.d.mts +1 -1
  138. package/dist/icons/Phantom.d.ts +1 -1
  139. package/dist/icons/Product.d.mts +1 -1
  140. package/dist/icons/Product.d.ts +1 -1
  141. package/dist/icons/Progress.d.mts +1 -1
  142. package/dist/icons/Progress.d.ts +1 -1
  143. package/dist/icons/Protocol.d.mts +1 -1
  144. package/dist/icons/Protocol.d.ts +1 -1
  145. package/dist/icons/Rewards.d.mts +1 -1
  146. package/dist/icons/Rewards.d.ts +1 -1
  147. package/dist/icons/Rust.d.mts +1 -1
  148. package/dist/icons/Rust.d.ts +1 -1
  149. package/dist/icons/Search.d.mts +1 -1
  150. package/dist/icons/Search.d.ts +1 -1
  151. package/dist/icons/SmartContract.d.mts +1 -1
  152. package/dist/icons/SmartContract.d.ts +1 -1
  153. package/dist/icons/Solana.d.mts +1 -1
  154. package/dist/icons/Solana.d.ts +1 -1
  155. package/dist/icons/Solflare.d.mts +1 -1
  156. package/dist/icons/Solflare.d.ts +1 -1
  157. package/dist/icons/Success.d.mts +1 -1
  158. package/dist/icons/Success.d.ts +1 -1
  159. package/dist/icons/SuccessCircle.d.mts +1 -1
  160. package/dist/icons/SuccessCircle.d.ts +1 -1
  161. package/dist/icons/Table.d.mts +1 -1
  162. package/dist/icons/Table.d.ts +1 -1
  163. package/dist/icons/Target.d.mts +1 -1
  164. package/dist/icons/Target.d.ts +1 -1
  165. package/dist/icons/Training.d.mts +1 -1
  166. package/dist/icons/Training.d.ts +1 -1
  167. package/dist/icons/Typescript.d.mts +1 -1
  168. package/dist/icons/Typescript.d.ts +1 -1
  169. package/dist/icons/Unclaimed.d.mts +1 -1
  170. package/dist/icons/Unclaimed.d.ts +1 -1
  171. package/dist/icons/Upload.d.mts +1 -1
  172. package/dist/icons/Upload.d.ts +1 -1
  173. package/dist/icons/User.d.mts +1 -1
  174. package/dist/icons/User.d.ts +1 -1
  175. package/dist/icons/Wallet.d.mts +1 -1
  176. package/dist/icons/Wallet.d.ts +1 -1
  177. package/dist/icons/WalletSmall.d.mts +1 -1
  178. package/dist/icons/WalletSmall.d.ts +1 -1
  179. package/dist/icons/Warning.d.mts +1 -1
  180. package/dist/icons/Warning.d.ts +1 -1
  181. package/dist/icons/X.d.mts +1 -1
  182. package/dist/icons/X.d.ts +1 -1
  183. package/dist/icons/index.d.mts +1 -1
  184. package/dist/icons/index.d.ts +1 -1
  185. package/dist/icons/index.js +5 -1
  186. package/dist/icons/index.js.map +1 -1
  187. package/dist/icons/index.mjs +5 -1
  188. package/dist/icons/index.mjs.map +1 -1
  189. package/dist/index.d.mts +1 -1
  190. package/dist/index.d.ts +1 -1
  191. package/package.json +1 -1
package/dist/Alert.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
- import { a as IconProps } from './Icon-_eAGhkdn.mjs';
3
+ import { a as IconProps } from './Icon-D0R9Y5U4.mjs';
4
4
  import './utils/colours.mjs';
5
5
 
6
6
  type AlertProps = {
package/dist/Alert.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
- import { a as IconProps } from './Icon-DTD8APSk.js';
3
+ import { a as IconProps } from './Icon-Xhwol1Zj.js';
4
4
  import './utils/colours.js';
5
5
 
6
6
  type AlertProps = {
package/dist/Avatar.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from './Icon-_eAGhkdn.mjs';
2
+ import { a as IconProps } from './Icon-D0R9Y5U4.mjs';
3
3
  import { CrosshairCornersProps } from './CrossHair.mjs';
4
4
  import { MotionProps } from 'motion/react';
5
5
  import { BrandColour } from './utils/colours.mjs';
package/dist/Avatar.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from './Icon-DTD8APSk.js';
2
+ import { a as IconProps } from './Icon-Xhwol1Zj.js';
3
3
  import { CrosshairCornersProps } from './CrossHair.js';
4
4
  import { MotionProps } from 'motion/react';
5
5
  import { BrandColour } from './utils/colours.js';
package/dist/Badge.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { BrandColour } from './utils/colours.mjs';
3
- import { a as IconProps } from './Icon-_eAGhkdn.mjs';
3
+ import { a as IconProps } from './Icon-D0R9Y5U4.mjs';
4
4
  import { CrosshairCornersProps } from './CrossHair.mjs';
5
5
  import { MotionProps } from 'motion/react';
6
6
 
package/dist/Badge.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { BrandColour } from './utils/colours.js';
3
- import { a as IconProps } from './Icon-DTD8APSk.js';
3
+ import { a as IconProps } from './Icon-Xhwol1Zj.js';
4
4
  import { CrosshairCornersProps } from './CrossHair.js';
5
5
  import { MotionProps } from 'motion/react';
6
6
 
package/dist/Badge.js CHANGED
@@ -26,15 +26,15 @@ const Badge = ({
26
26
  {
27
27
  style: { color: colours.BRAND_COLOURS[variant ?? "Secondary"] },
28
28
  className: classNames__default.default(
29
- className,
30
29
  "shadow-[inset_0px_0px_6px] text-sm bg-card-solid/50 shadow-current/25 relative transition-all duration-100 ease-glide gradient-border before:bg-current/8 min-h-[24px] flex items-center gap-x-[5px] py-1",
31
30
  size === "md" && "!py-2",
32
- !label && "!p-2",
31
+ !label && "!p-2 !justify-center",
33
32
  !icon && "!py-1 !px-2",
34
33
  iconPosition === "left" && label && icon && "pl-1.5 pr-2",
35
34
  iconPosition === "right" && label && icon && "pl-2 pr-1.5",
36
35
  crosshair?.variant === "bordered" && label && iconPosition === "left" && "pl-2.5 pr-3",
37
- crosshair?.variant === "bordered" && label && iconPosition === "right" && "pl-3 pr-2.5"
36
+ crosshair?.variant === "bordered" && label && iconPosition === "right" && "pl-3 pr-2.5",
37
+ className
38
38
  ),
39
39
  ...animation,
40
40
  children: [
package/dist/Badge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Badge.tsx"],"names":["jsxs","motion","BRAND_COLOURS","classNames","jsx","CrosshairCorners","Icon"],"mappings":";;;;;;;;;;;;;AAmBO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,GAAe,MAAA;AAAA,EACf,KAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,KAAkB;AAChB,EAAA,uBACEA,eAAA;AAAA,IAACC,YAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,KAAA,EAAOC,qBAAA,CAAc,OAAA,IAAW,WAAW,CAAA,EAAE;AAAA,MACtD,SAAA,EAAWC,2BAAA;AAAA,QACT,SAAA;AAAA,QACA,2MAAA;AAAA,QACA,SAAS,IAAA,IAAQ,OAAA;AAAA,QACjB,CAAC,KAAA,IAAS,MAAA;AAAA,QACV,CAAC,IAAA,IAAQ,aAAA;AAAA,QACT,YAAA,KAAiB,MAAA,IAAU,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC5C,YAAA,KAAiB,OAAA,IAAW,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC7C,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,MAAA,IACjB,aAAA;AAAA,QACF,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,OAAA,IACjB;AAAA,OACJ;AAAA,MACC,GAAG,SAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,2BAAA,CAAW,+BAA+B,CAAA,EACxD,QAAA,kBAAAC,cAAA;AAAA,UAACC,0BAAA;AAAA,UAAA;AAAA,YAEC,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,SAAA,EAAWF,2BAAA,CAAW,cAAA,EAAgB,SAAA,EAAW,SAAS,CAAA;AAAA,YAC1D,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,cAAA,EAAgB,WAAW,cAAA,IAAkB,CAAA;AAAA,YAC7C,iBAAA,EAAmB,WAAW,iBAAA,IAAqB,GAAA;AAAA,YACnD,IAAA,EAAM,WAAW,IAAA,IAAQ;AAAA,WAAA;AAAA,UANpB,IAAA,EAAM;AAAA,SAOb,EACF,CAAA;AAAA,QACC,IAAA,IAAQ,iBAAiB,MAAA,oBACxBC,cAAA;AAAA,UAACE,SAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAWH,2BAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA,SACrB;AAAA,QAED,KAAA,oBAASC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,aAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAC5C,IAAA,IAAQ,iBAAiB,OAAA,oBACxBA,cAAA;AAAA,UAACE,SAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAWH,2BAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA;AACrB;AAAA;AAAA,GAEJ;AAEJ","file":"Badge.js","sourcesContent":["\"use client\";\n\nimport { BRAND_COLOURS, BrandColour } from \"./utils/colours\";\nimport { Icon, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners, CrosshairCornersProps } from \"./CrossHair\";\nimport { motion, MotionProps } from \"motion/react\";\n\nexport type BadgeProps = {\n className?: string;\n label?: string;\n variant?: BrandColour;\n icon?: IconProps;\n iconPosition?: \"left\" | \"right\";\n crosshair?: CrosshairCornersProps;\n size?: \"sm\" | \"md\";\n animation?: MotionProps;\n};\n\nexport const Badge = ({\n className,\n variant,\n icon,\n crosshair,\n iconPosition = \"left\",\n label,\n size = \"sm\",\n animation,\n}: BadgeProps) => {\n return (\n <motion.div\n style={{ color: BRAND_COLOURS[variant ?? \"Secondary\"] }}\n className={classNames(\n className,\n \"shadow-[inset_0px_0px_6px] text-sm bg-card-solid/50 shadow-current/25 relative transition-all duration-100 ease-glide gradient-border before:bg-current/8 min-h-[24px] flex items-center gap-x-[5px] py-1\",\n size === \"md\" && \"!py-2\",\n !label && \"!p-2\",\n !icon && \"!py-1 !px-2\",\n iconPosition === \"left\" && label && icon && \"pl-1.5 pr-2\",\n iconPosition === \"right\" && label && icon && \"pl-2 pr-1.5\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"left\" &&\n \"pl-2.5 pr-3\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"right\" &&\n \"pl-3 pr-2.5\"\n )}\n {...animation}\n >\n <div className={classNames(\"text-current absolute inset-0\")}>\n <CrosshairCorners\n key={icon?.name}\n variant={crosshair?.variant}\n className={classNames(\"text-current\", crosshair?.className)}\n corners={crosshair?.corners}\n animationDelay={crosshair?.animationDelay || 0}\n animationDuration={crosshair?.animationDuration || 1.5}\n size={crosshair?.size || 4}\n />\n </div>\n {icon && iconPosition === \"left\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n {label && <span className=\"font-mono\">{label}</span>}\n {icon && iconPosition === \"right\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n </motion.div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/Badge.tsx"],"names":["jsxs","motion","BRAND_COLOURS","classNames","jsx","CrosshairCorners","Icon"],"mappings":";;;;;;;;;;;;;AAmBO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,GAAe,MAAA;AAAA,EACf,KAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,KAAkB;AAChB,EAAA,uBACEA,eAAA;AAAA,IAACC,YAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,KAAA,EAAOC,qBAAA,CAAc,OAAA,IAAW,WAAW,CAAA,EAAE;AAAA,MACtD,SAAA,EAAWC,2BAAA;AAAA,QACT,2MAAA;AAAA,QACA,SAAS,IAAA,IAAQ,OAAA;AAAA,QACjB,CAAC,KAAA,IAAS,sBAAA;AAAA,QACV,CAAC,IAAA,IAAQ,aAAA;AAAA,QACT,YAAA,KAAiB,MAAA,IAAU,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC5C,YAAA,KAAiB,OAAA,IAAW,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC7C,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,MAAA,IACjB,aAAA;AAAA,QACF,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,OAAA,IACjB,aAAA;AAAA,QACF;AAAA,OACF;AAAA,MACC,GAAG,SAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,2BAAA,CAAW,+BAA+B,CAAA,EACxD,QAAA,kBAAAC,cAAA;AAAA,UAACC,0BAAA;AAAA,UAAA;AAAA,YAEC,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,SAAA,EAAWF,2BAAA,CAAW,cAAA,EAAgB,SAAA,EAAW,SAAS,CAAA;AAAA,YAC1D,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,cAAA,EAAgB,WAAW,cAAA,IAAkB,CAAA;AAAA,YAC7C,iBAAA,EAAmB,WAAW,iBAAA,IAAqB,GAAA;AAAA,YACnD,IAAA,EAAM,WAAW,IAAA,IAAQ;AAAA,WAAA;AAAA,UANpB,IAAA,EAAM;AAAA,SAOb,EACF,CAAA;AAAA,QACC,IAAA,IAAQ,iBAAiB,MAAA,oBACxBC,cAAA;AAAA,UAACE,SAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAWH,2BAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA,SACrB;AAAA,QAED,KAAA,oBAASC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,aAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAC5C,IAAA,IAAQ,iBAAiB,OAAA,oBACxBA,cAAA;AAAA,UAACE,SAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAWH,2BAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA;AACrB;AAAA;AAAA,GAEJ;AAEJ","file":"Badge.js","sourcesContent":["\"use client\";\n\nimport { BRAND_COLOURS, BrandColour } from \"./utils/colours\";\nimport { Icon, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners, CrosshairCornersProps } from \"./CrossHair\";\nimport { motion, MotionProps } from \"motion/react\";\n\nexport type BadgeProps = {\n className?: string;\n label?: string;\n variant?: BrandColour;\n icon?: IconProps;\n iconPosition?: \"left\" | \"right\";\n crosshair?: CrosshairCornersProps;\n size?: \"sm\" | \"md\";\n animation?: MotionProps;\n};\n\nexport const Badge = ({\n className,\n variant,\n icon,\n crosshair,\n iconPosition = \"left\",\n label,\n size = \"sm\",\n animation,\n}: BadgeProps) => {\n return (\n <motion.div\n style={{ color: BRAND_COLOURS[variant ?? \"Secondary\"] }}\n className={classNames(\n \"shadow-[inset_0px_0px_6px] text-sm bg-card-solid/50 shadow-current/25 relative transition-all duration-100 ease-glide gradient-border before:bg-current/8 min-h-[24px] flex items-center gap-x-[5px] py-1\",\n size === \"md\" && \"!py-2\",\n !label && \"!p-2 !justify-center\",\n !icon && \"!py-1 !px-2\",\n iconPosition === \"left\" && label && icon && \"pl-1.5 pr-2\",\n iconPosition === \"right\" && label && icon && \"pl-2 pr-1.5\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"left\" &&\n \"pl-2.5 pr-3\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"right\" &&\n \"pl-3 pr-2.5\",\n className\n )}\n {...animation}\n >\n <div className={classNames(\"text-current absolute inset-0\")}>\n <CrosshairCorners\n key={icon?.name}\n variant={crosshair?.variant}\n className={classNames(\"text-current\", crosshair?.className)}\n corners={crosshair?.corners}\n animationDelay={crosshair?.animationDelay || 0}\n animationDuration={crosshair?.animationDuration || 1.5}\n size={crosshair?.size || 4}\n />\n </div>\n {icon && iconPosition === \"left\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n {label && <span className=\"font-mono\">{label}</span>}\n {icon && iconPosition === \"right\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n </motion.div>\n );\n};\n"]}
package/dist/Badge.mjs CHANGED
@@ -20,15 +20,15 @@ const Badge = ({
20
20
  {
21
21
  style: { color: BRAND_COLOURS[variant ?? "Secondary"] },
22
22
  className: classNames(
23
- className,
24
23
  "shadow-[inset_0px_0px_6px] text-sm bg-card-solid/50 shadow-current/25 relative transition-all duration-100 ease-glide gradient-border before:bg-current/8 min-h-[24px] flex items-center gap-x-[5px] py-1",
25
24
  size === "md" && "!py-2",
26
- !label && "!p-2",
25
+ !label && "!p-2 !justify-center",
27
26
  !icon && "!py-1 !px-2",
28
27
  iconPosition === "left" && label && icon && "pl-1.5 pr-2",
29
28
  iconPosition === "right" && label && icon && "pl-2 pr-1.5",
30
29
  crosshair?.variant === "bordered" && label && iconPosition === "left" && "pl-2.5 pr-3",
31
- crosshair?.variant === "bordered" && label && iconPosition === "right" && "pl-3 pr-2.5"
30
+ crosshair?.variant === "bordered" && label && iconPosition === "right" && "pl-3 pr-2.5",
31
+ className
32
32
  ),
33
33
  ...animation,
34
34
  children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Badge.tsx"],"names":[],"mappings":";;;;;;;AAmBO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,GAAe,MAAA;AAAA,EACf,KAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,KAAkB;AAChB,EAAA,uBACE,IAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,KAAA,EAAO,aAAA,CAAc,OAAA,IAAW,WAAW,CAAA,EAAE;AAAA,MACtD,SAAA,EAAW,UAAA;AAAA,QACT,SAAA;AAAA,QACA,2MAAA;AAAA,QACA,SAAS,IAAA,IAAQ,OAAA;AAAA,QACjB,CAAC,KAAA,IAAS,MAAA;AAAA,QACV,CAAC,IAAA,IAAQ,aAAA;AAAA,QACT,YAAA,KAAiB,MAAA,IAAU,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC5C,YAAA,KAAiB,OAAA,IAAW,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC7C,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,MAAA,IACjB,aAAA;AAAA,QACF,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,OAAA,IACjB;AAAA,OACJ;AAAA,MACC,GAAG,SAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,UAAA,CAAW,+BAA+B,CAAA,EACxD,QAAA,kBAAA,GAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YAEC,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,SAAA,EAAW,UAAA,CAAW,cAAA,EAAgB,SAAA,EAAW,SAAS,CAAA;AAAA,YAC1D,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,cAAA,EAAgB,WAAW,cAAA,IAAkB,CAAA;AAAA,YAC7C,iBAAA,EAAmB,WAAW,iBAAA,IAAqB,GAAA;AAAA,YACnD,IAAA,EAAM,WAAW,IAAA,IAAQ;AAAA,WAAA;AAAA,UANpB,IAAA,EAAM;AAAA,SAOb,EACF,CAAA;AAAA,QACC,IAAA,IAAQ,iBAAiB,MAAA,oBACxB,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAW,UAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA,SACrB;AAAA,QAED,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,aAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAC5C,IAAA,IAAQ,iBAAiB,OAAA,oBACxB,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAW,UAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA;AACrB;AAAA;AAAA,GAEJ;AAEJ","file":"Badge.mjs","sourcesContent":["\"use client\";\n\nimport { BRAND_COLOURS, BrandColour } from \"./utils/colours\";\nimport { Icon, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners, CrosshairCornersProps } from \"./CrossHair\";\nimport { motion, MotionProps } from \"motion/react\";\n\nexport type BadgeProps = {\n className?: string;\n label?: string;\n variant?: BrandColour;\n icon?: IconProps;\n iconPosition?: \"left\" | \"right\";\n crosshair?: CrosshairCornersProps;\n size?: \"sm\" | \"md\";\n animation?: MotionProps;\n};\n\nexport const Badge = ({\n className,\n variant,\n icon,\n crosshair,\n iconPosition = \"left\",\n label,\n size = \"sm\",\n animation,\n}: BadgeProps) => {\n return (\n <motion.div\n style={{ color: BRAND_COLOURS[variant ?? \"Secondary\"] }}\n className={classNames(\n className,\n \"shadow-[inset_0px_0px_6px] text-sm bg-card-solid/50 shadow-current/25 relative transition-all duration-100 ease-glide gradient-border before:bg-current/8 min-h-[24px] flex items-center gap-x-[5px] py-1\",\n size === \"md\" && \"!py-2\",\n !label && \"!p-2\",\n !icon && \"!py-1 !px-2\",\n iconPosition === \"left\" && label && icon && \"pl-1.5 pr-2\",\n iconPosition === \"right\" && label && icon && \"pl-2 pr-1.5\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"left\" &&\n \"pl-2.5 pr-3\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"right\" &&\n \"pl-3 pr-2.5\"\n )}\n {...animation}\n >\n <div className={classNames(\"text-current absolute inset-0\")}>\n <CrosshairCorners\n key={icon?.name}\n variant={crosshair?.variant}\n className={classNames(\"text-current\", crosshair?.className)}\n corners={crosshair?.corners}\n animationDelay={crosshair?.animationDelay || 0}\n animationDuration={crosshair?.animationDuration || 1.5}\n size={crosshair?.size || 4}\n />\n </div>\n {icon && iconPosition === \"left\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n {label && <span className=\"font-mono\">{label}</span>}\n {icon && iconPosition === \"right\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n </motion.div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/Badge.tsx"],"names":[],"mappings":";;;;;;;AAmBO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,GAAe,MAAA;AAAA,EACf,KAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,KAAkB;AAChB,EAAA,uBACE,IAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,KAAA,EAAO,aAAA,CAAc,OAAA,IAAW,WAAW,CAAA,EAAE;AAAA,MACtD,SAAA,EAAW,UAAA;AAAA,QACT,2MAAA;AAAA,QACA,SAAS,IAAA,IAAQ,OAAA;AAAA,QACjB,CAAC,KAAA,IAAS,sBAAA;AAAA,QACV,CAAC,IAAA,IAAQ,aAAA;AAAA,QACT,YAAA,KAAiB,MAAA,IAAU,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC5C,YAAA,KAAiB,OAAA,IAAW,KAAA,IAAS,IAAA,IAAQ,aAAA;AAAA,QAC7C,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,MAAA,IACjB,aAAA;AAAA,QACF,SAAA,EAAW,OAAA,KAAY,UAAA,IACrB,KAAA,IACA,iBAAiB,OAAA,IACjB,aAAA;AAAA,QACF;AAAA,OACF;AAAA,MACC,GAAG,SAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,UAAA,CAAW,+BAA+B,CAAA,EACxD,QAAA,kBAAA,GAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YAEC,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,SAAA,EAAW,UAAA,CAAW,cAAA,EAAgB,SAAA,EAAW,SAAS,CAAA;AAAA,YAC1D,SAAS,SAAA,EAAW,OAAA;AAAA,YACpB,cAAA,EAAgB,WAAW,cAAA,IAAkB,CAAA;AAAA,YAC7C,iBAAA,EAAmB,WAAW,iBAAA,IAAqB,GAAA;AAAA,YACnD,IAAA,EAAM,WAAW,IAAA,IAAQ;AAAA,WAAA;AAAA,UANpB,IAAA,EAAM;AAAA,SAOb,EACF,CAAA;AAAA,QACC,IAAA,IAAQ,iBAAiB,MAAA,oBACxB,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAW,UAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA,SACrB;AAAA,QAED,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,aAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAC5C,IAAA,IAAQ,iBAAiB,OAAA,oBACxB,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAA,CAAK,IAAA;AAAA,YACX,SAAA,EAAW,UAAA,CAAW,IAAA,CAAK,SAAA,EAAW,4BAA4B,CAAA;AAAA,YAClE,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,cAAc,IAAA,CAAK;AAAA;AAAA;AACrB;AAAA;AAAA,GAEJ;AAEJ","file":"Badge.mjs","sourcesContent":["\"use client\";\n\nimport { BRAND_COLOURS, BrandColour } from \"./utils/colours\";\nimport { Icon, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners, CrosshairCornersProps } from \"./CrossHair\";\nimport { motion, MotionProps } from \"motion/react\";\n\nexport type BadgeProps = {\n className?: string;\n label?: string;\n variant?: BrandColour;\n icon?: IconProps;\n iconPosition?: \"left\" | \"right\";\n crosshair?: CrosshairCornersProps;\n size?: \"sm\" | \"md\";\n animation?: MotionProps;\n};\n\nexport const Badge = ({\n className,\n variant,\n icon,\n crosshair,\n iconPosition = \"left\",\n label,\n size = \"sm\",\n animation,\n}: BadgeProps) => {\n return (\n <motion.div\n style={{ color: BRAND_COLOURS[variant ?? \"Secondary\"] }}\n className={classNames(\n \"shadow-[inset_0px_0px_6px] text-sm bg-card-solid/50 shadow-current/25 relative transition-all duration-100 ease-glide gradient-border before:bg-current/8 min-h-[24px] flex items-center gap-x-[5px] py-1\",\n size === \"md\" && \"!py-2\",\n !label && \"!p-2 !justify-center\",\n !icon && \"!py-1 !px-2\",\n iconPosition === \"left\" && label && icon && \"pl-1.5 pr-2\",\n iconPosition === \"right\" && label && icon && \"pl-2 pr-1.5\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"left\" &&\n \"pl-2.5 pr-3\",\n crosshair?.variant === \"bordered\" &&\n label &&\n iconPosition === \"right\" &&\n \"pl-3 pr-2.5\",\n className\n )}\n {...animation}\n >\n <div className={classNames(\"text-current absolute inset-0\")}>\n <CrosshairCorners\n key={icon?.name}\n variant={crosshair?.variant}\n className={classNames(\"text-current\", crosshair?.className)}\n corners={crosshair?.corners}\n animationDelay={crosshair?.animationDelay || 0}\n animationDuration={crosshair?.animationDuration || 1.5}\n size={crosshair?.size || 4}\n />\n </div>\n {icon && iconPosition === \"left\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n {label && <span className=\"font-mono\">{label}</span>}\n {icon && iconPosition === \"right\" && (\n <Icon\n name={icon.name}\n className={classNames(icon.className, \"flex-shrink-0 text-current\")}\n size={icon.size || 14}\n difficulties={icon.difficulties}\n />\n )}\n </motion.div>\n );\n};\n"]}
package/dist/Button.d.mts CHANGED
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
3
  import { CrosshairCornersProps } from './CrossHair.mjs';
4
4
  import { courseDifficulty } from './utils/colours.mjs';
5
- import { c as IconName } from './Icon-_eAGhkdn.mjs';
5
+ import { c as IconName } from './Icon-D0R9Y5U4.mjs';
6
6
 
7
7
  type ButtonProps = {
8
8
  className?: string;
package/dist/Button.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
3
  import { CrosshairCornersProps } from './CrossHair.js';
4
4
  import { courseDifficulty } from './utils/colours.js';
5
- import { c as IconName } from './Icon-DTD8APSk.js';
5
+ import { c as IconName } from './Icon-Xhwol1Zj.js';
6
6
 
7
7
  type ButtonProps = {
8
8
  className?: string;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from './Icon-_eAGhkdn.mjs';
2
+ import { a as IconProps } from './Icon-D0R9Y5U4.mjs';
3
3
  import './utils/colours.mjs';
4
4
 
5
5
  type DropdownOption = {
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from './Icon-DTD8APSk.js';
2
+ import { a as IconProps } from './Icon-Xhwol1Zj.js';
3
3
  import './utils/colours.js';
4
4
 
5
5
  type DropdownOption = {
@@ -74,6 +74,8 @@ declare const IconComponents: {
74
74
  readonly Solflare: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
75
75
  readonly Brave: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
76
76
  readonly User: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
77
+ readonly Metamask: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
78
+ readonly Backpack: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
77
79
  };
78
80
  declare const iconMetadata: Partial<Record<IconName, {
79
81
  category: "brand" | "state" | "ui" | "socials";
@@ -74,6 +74,8 @@ declare const IconComponents: {
74
74
  readonly Solflare: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
75
75
  readonly Brave: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
76
76
  readonly User: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
77
+ readonly Metamask: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
78
+ readonly Backpack: ({ className, size }: IconProps) => react_jsx_runtime.JSX.Element;
77
79
  };
78
80
  declare const iconMetadata: Partial<Record<IconName, {
79
81
  category: "brand" | "state" | "ui" | "socials";
package/dist/Icon.d.mts CHANGED
@@ -1,3 +1,3 @@
1
1
  import 'react/jsx-runtime';
2
2
  import './utils/colours.mjs';
3
- export { I as Icon, b as IconComponents, c as IconName, a as IconProps, i as iconMetadata } from './Icon-_eAGhkdn.mjs';
3
+ export { I as Icon, b as IconComponents, c as IconName, a as IconProps, i as iconMetadata } from './Icon-D0R9Y5U4.mjs';
package/dist/Icon.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import 'react/jsx-runtime';
2
2
  import './utils/colours.js';
3
- export { I as Icon, b as IconComponents, c as IconName, a as IconProps, i as iconMetadata } from './Icon-DTD8APSk.js';
3
+ export { I as Icon, b as IconComponents, c as IconName, a as IconProps, i as iconMetadata } from './Icon-Xhwol1Zj.js';
package/dist/Input.d.mts CHANGED
@@ -1,13 +1,13 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
- import { c as IconName } from './Icon-_eAGhkdn.mjs';
3
+ import { c as IconName } from './Icon-D0R9Y5U4.mjs';
4
4
  import { BadgeProps } from './Badge.mjs';
5
5
  import { TooltipProps } from './Tooltip.mjs';
6
6
  import './utils/colours.mjs';
7
7
  import './CrossHair.mjs';
8
8
 
9
9
  type InputProps = {
10
- title: string;
10
+ title?: string;
11
11
  value: string;
12
12
  className?: string;
13
13
  onChange?: (value: string) => void;
@@ -32,7 +32,8 @@ type InputProps = {
32
32
  };
33
33
  animation?: MotionProps;
34
34
  tooltip?: TooltipProps;
35
+ children?: React.ReactNode;
35
36
  };
36
- declare const Input: ({ title, value, className, onChange, onFocus, onBlur, onClear, badge, type, message, hasMessage, disabled, placeholder, isValid, balance, action, animation, tooltip, }: InputProps) => react_jsx_runtime.JSX.Element;
37
+ declare const Input: ({ title, value, className, onChange, onFocus, onBlur, onClear, badge, type, message, hasMessage, disabled, placeholder, isValid, balance, action, animation, tooltip, children, }: InputProps) => react_jsx_runtime.JSX.Element;
37
38
 
38
39
  export { Input, type InputProps };
package/dist/Input.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
- import { c as IconName } from './Icon-DTD8APSk.js';
3
+ import { c as IconName } from './Icon-Xhwol1Zj.js';
4
4
  import { BadgeProps } from './Badge.js';
5
5
  import { TooltipProps } from './Tooltip.js';
6
6
  import './utils/colours.js';
7
7
  import './CrossHair.js';
8
8
 
9
9
  type InputProps = {
10
- title: string;
10
+ title?: string;
11
11
  value: string;
12
12
  className?: string;
13
13
  onChange?: (value: string) => void;
@@ -32,7 +32,8 @@ type InputProps = {
32
32
  };
33
33
  animation?: MotionProps;
34
34
  tooltip?: TooltipProps;
35
+ children?: React.ReactNode;
35
36
  };
36
- declare const Input: ({ title, value, className, onChange, onFocus, onBlur, onClear, badge, type, message, hasMessage, disabled, placeholder, isValid, balance, action, animation, tooltip, }: InputProps) => react_jsx_runtime.JSX.Element;
37
+ declare const Input: ({ title, value, className, onChange, onFocus, onBlur, onClear, badge, type, message, hasMessage, disabled, placeholder, isValid, balance, action, animation, tooltip, children, }: InputProps) => react_jsx_runtime.JSX.Element;
37
38
 
38
39
  export { Input, type InputProps };
package/dist/Input.js CHANGED
@@ -33,7 +33,8 @@ const Input = ({
33
33
  balance,
34
34
  action,
35
35
  animation,
36
- tooltip
36
+ tooltip,
37
+ children
37
38
  }) => {
38
39
  const [isTooltipOpen, setIsTooltipOpen] = react.useState(false);
39
40
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -45,7 +46,7 @@ const Input = ({
45
46
  className
46
47
  ),
47
48
  children: [
48
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-1 flex items-center justify-between w-full", children: [
49
+ title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-1 flex items-center justify-between w-full", children: [
49
50
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-x-1.5", children: [
50
51
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-shade-primary leading-[100%]", children: title }),
51
52
  tooltip && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -88,13 +89,14 @@ const Input = ({
88
89
  "div",
89
90
  {
90
91
  className: classNames__default.default(
91
- "min-h-[44px] relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border focus-within:border-current/20 focus-within:bg-current/2 focus-within:shadow-[inset_0px_0px_12px] focus-within:shadow-current/10 transition-colors duration-100 ease-crisp",
92
+ "min-h-[44px] pr-4 relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border enabled:focus-within:border-current/20 enabled:focus-within:bg-current/2 enabled:focus-within:shadow-[inset_0px_0px_12px] enabled:focus-within:shadow-current/10 transition-colors duration-100 ease-crisp",
92
93
  !isValid && "border-state-error/20 text-state-error",
93
94
  !!badge && "pl-1.5 pr-[10px]",
94
- !badge && "pl-3 pr-4"
95
+ !badge && "pl-3 pr-4",
96
+ !!children && "!pr-1.5"
95
97
  ),
96
98
  children: [
97
- onFocus && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-1.5 text-shade-mute group-hover/input:text-shade-primary group-focus-within/input:inset-0.5 group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide", children: /* @__PURE__ */ jsxRuntime.jsx(
99
+ onFocus && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-1.5 text-shade-mute enabled:group-hover/input:text-shade-primary enabled:group-focus-within/input:inset-0.5 enabled:group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide", children: /* @__PURE__ */ jsxRuntime.jsx(
98
100
  CrossHair.CrosshairCorners,
99
101
  {
100
102
  size: 6,
@@ -146,6 +148,7 @@ const Input = ({
146
148
  )
147
149
  }
148
150
  ),
151
+ children && children,
149
152
  action && /* @__PURE__ */ jsxRuntime.jsx(
150
153
  Button.Button,
151
154
  {
package/dist/Input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Input.tsx"],"names":["useState","jsxs","motion","classNames","jsx","Tooltip","Icon","CrosshairCorners","Badge","Button","AnimatePresence","crisp"],"mappings":"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","file":"Input.js","sourcesContent":["\"use client\";\nimport { AnimatePresence, motion, MotionProps } from \"motion/react\";\nimport { Icon, IconName, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { Badge, BadgeProps } from \"./Badge\";\nimport { Button } from \"./Button\";\nimport { crisp } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { Tooltip, TooltipProps } from \"./Tooltip\";\nimport { useState } from \"react\";\n\nexport type InputProps = {\n title: string;\n value: string;\n className?: string;\n onChange?: (value: string) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n onClear?: () => void;\n badge?: BadgeProps;\n message?: string;\n hasMessage?: boolean;\n disabled?: boolean;\n placeholder?: string;\n isValid?: boolean;\n type?: \"generic\" | \"value\";\n balance?: {\n amount: string;\n unit: string;\n icon?: IconName;\n };\n action?: {\n label: string;\n onClick: () => void;\n };\n animation?: MotionProps;\n tooltip?: TooltipProps;\n};\n\nexport const Input = ({\n title,\n value,\n className,\n onChange,\n onFocus,\n onBlur,\n onClear,\n badge,\n type,\n message,\n hasMessage = true,\n disabled,\n placeholder,\n isValid = true,\n balance,\n action,\n animation,\n tooltip,\n}: InputProps) => {\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n return (\n <motion.div\n {...animation}\n className={classNames(\n \"flex flex-col gap-y-2.5 w-full relative group/input\",\n className\n )}\n >\n <div className=\"px-1 flex items-center justify-between w-full\">\n <div className=\"flex items-center gap-x-1.5\">\n <span className=\"font-medium text-shade-primary leading-[100%]\">\n {title}\n </span>\n {tooltip && (\n <div\n className=\"h-[14px] w-[14px] relative\"\n onMouseEnter={() => setIsTooltipOpen(true)}\n onMouseLeave={() => setIsTooltipOpen(false)}\n >\n <Tooltip\n isOpen={isTooltipOpen}\n position={tooltip.position}\n description={tooltip.description}\n />\n <Icon name=\"Info\" size={14} className=\"text-shade-tertiary\" />\n </div>\n )}\n </div>\n {balance && (\n <div className=\"flex items-center gap-x-1.5\">\n <Icon\n name={balance.icon as IconName}\n size={12}\n className=\"text-shade-tertiary\"\n />\n <span className=\"font-medium text-shade-primary leading-[100%] text-sm font-mono\">\n {balance.amount} {balance.unit}\n </span>\n </div>\n )}\n </div>\n <div\n className={classNames(\n \"min-h-[44px] relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border focus-within:border-current/20 focus-within:bg-current/2 focus-within:shadow-[inset_0px_0px_12px] focus-within:shadow-current/10 transition-colors duration-100 ease-crisp\",\n !isValid && \"border-state-error/20 text-state-error\",\n !!badge && \"pl-1.5 pr-[10px]\",\n !badge && \"pl-3 pr-4\"\n )}\n >\n {onFocus && (\n <div className=\"pointer-events-none absolute inset-1.5 text-shade-mute group-hover/input:text-shade-primary group-focus-within/input:inset-0.5 group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide\">\n <CrosshairCorners\n size={6}\n variant=\"corners\"\n corners={[\"bottom-right\"]}\n animationDelay={0}\n animationDuration={0.75}\n />\n </div>\n )}\n <div\n className={classNames(\n \"flex w-full items-center gap-x-3 text-shade-primary\"\n )}\n >\n {badge && <Badge {...badge} />}\n <input\n className={classNames(\n \"h-full w-full flex-shrink font-medium focus:outline-none bg-transparent placeholder:text-shade-mute\",\n type === \"value\" && \"text-2xl font-mono text-right\",\n // Hide buttons\n \"[-moz-appearance:_textfield] [&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none\"\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n disabled={disabled}\n type={type === \"value\" ? \"number\" : \"text\"}\n />\n {onClear && value && (\n <button\n onClick={onClear}\n className=\"absolute right-2 p-2 hover:bg-border-light/50 transition-colors duration-100 ease-crisp\"\n type=\"button\"\n >\n <Icon\n name=\"Close\"\n size={12}\n className=\"text-shade-tertiary hover:text-shade-primary transition-colors duration-100 ease-crisp\"\n />\n </button>\n )}\n {action && (\n <Button\n label={action.label}\n onClick={action.onClick}\n variant=\"secondary\"\n size=\"xs\"\n useHoverEffect={false}\n />\n )}\n </div>\n </div>\n {hasMessage && (\n <div className=\"h-[14px] ml-auto px-1\">\n <AnimatePresence>\n {message && (\n <motion.span\n initial={{ opacity: 0, filter: \"blur(4px)\" }}\n animate={{ opacity: 1, filter: \"blur(0px)\" }}\n exit={{ opacity: 0, filter: \"blur(4px)\" }}\n transition={{ duration: 0.1, ease: crisp }}\n className={classNames(\n \"text-sm text-shade-secondary font-medium leading-[100%]\",\n !isValid && \"text-state-error\"\n )}\n >\n {message}\n </motion.span>\n )}\n </AnimatePresence>\n </div>\n )}\n </motion.div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/Input.tsx"],"names":["useState","jsxs","motion","classNames","jsx","Tooltip","Icon","CrosshairCorners","Badge","Button","AnimatePresence","crisp"],"mappings":"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","file":"Input.js","sourcesContent":["\"use client\";\nimport { AnimatePresence, motion, MotionProps } from \"motion/react\";\nimport { Icon, IconName, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { Badge, BadgeProps } from \"./Badge\";\nimport { Button } from \"./Button\";\nimport { crisp } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { Tooltip, TooltipProps } from \"./Tooltip\";\nimport { useState } from \"react\";\n\nexport type InputProps = {\n title?: string;\n value: string;\n className?: string;\n onChange?: (value: string) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n onClear?: () => void;\n badge?: BadgeProps;\n message?: string;\n hasMessage?: boolean;\n disabled?: boolean;\n placeholder?: string;\n isValid?: boolean;\n type?: \"generic\" | \"value\";\n balance?: {\n amount: string;\n unit: string;\n icon?: IconName;\n };\n action?: {\n label: string;\n onClick: () => void;\n };\n animation?: MotionProps;\n tooltip?: TooltipProps;\n children?: React.ReactNode;\n};\n\nexport const Input = ({\n title,\n value,\n className,\n onChange,\n onFocus,\n onBlur,\n onClear,\n badge,\n type,\n message,\n hasMessage = true,\n disabled,\n placeholder,\n isValid = true,\n balance,\n action,\n animation,\n tooltip,\n children,\n}: InputProps) => {\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n return (\n <motion.div\n {...animation}\n className={classNames(\n \"flex flex-col gap-y-2.5 w-full relative group/input\",\n className\n )}\n >\n {title && (\n <div className=\"px-1 flex items-center justify-between w-full\">\n <div className=\"flex items-center gap-x-1.5\">\n <span className=\"font-medium text-shade-primary leading-[100%]\">\n {title}\n </span>\n {tooltip && (\n <div\n className=\"h-[14px] w-[14px] relative\"\n onMouseEnter={() => setIsTooltipOpen(true)}\n onMouseLeave={() => setIsTooltipOpen(false)}\n >\n <Tooltip\n isOpen={isTooltipOpen}\n position={tooltip.position}\n description={tooltip.description}\n />\n <Icon name=\"Info\" size={14} className=\"text-shade-tertiary\" />\n </div>\n )}\n </div>\n {balance && (\n <div className=\"flex items-center gap-x-1.5\">\n <Icon\n name={balance.icon as IconName}\n size={12}\n className=\"text-shade-tertiary\"\n />\n <span className=\"font-medium text-shade-primary leading-[100%] text-sm font-mono\">\n {balance.amount} {balance.unit}\n </span>\n </div>\n )}\n </div>\n )}\n <div\n className={classNames(\n \"min-h-[44px] pr-4 relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border enabled:focus-within:border-current/20 enabled:focus-within:bg-current/2 enabled:focus-within:shadow-[inset_0px_0px_12px] enabled:focus-within:shadow-current/10 transition-colors duration-100 ease-crisp\",\n !isValid && \"border-state-error/20 text-state-error\",\n !!badge && \"pl-1.5 pr-[10px]\",\n !badge && \"pl-3 pr-4\",\n !!children && \"!pr-1.5\"\n )}\n >\n {onFocus && (\n <div className=\"pointer-events-none absolute inset-1.5 text-shade-mute enabled:group-hover/input:text-shade-primary enabled:group-focus-within/input:inset-0.5 enabled:group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide\">\n <CrosshairCorners\n size={6}\n variant=\"corners\"\n corners={[\"bottom-right\"]}\n animationDelay={0}\n animationDuration={0.75}\n />\n </div>\n )}\n <div\n className={classNames(\n \"flex w-full items-center gap-x-3 text-shade-primary\"\n )}\n >\n {badge && <Badge {...badge} />}\n <input\n className={classNames(\n \"h-full w-full flex-shrink font-medium focus:outline-none bg-transparent placeholder:text-shade-mute\",\n type === \"value\" && \"text-2xl font-mono text-right\",\n // Hide buttons\n \"[-moz-appearance:_textfield] [&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none\"\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n disabled={disabled}\n type={type === \"value\" ? \"number\" : \"text\"}\n />\n {onClear && value && (\n <button\n onClick={onClear}\n className=\"absolute right-2 p-2 hover:bg-border-light/50 transition-colors duration-100 ease-crisp\"\n type=\"button\"\n >\n <Icon\n name=\"Close\"\n size={12}\n className=\"text-shade-tertiary hover:text-shade-primary transition-colors duration-100 ease-crisp\"\n />\n </button>\n )}\n {children && children}\n {action && (\n <Button\n label={action.label}\n onClick={action.onClick}\n variant=\"secondary\"\n size=\"xs\"\n useHoverEffect={false}\n />\n )}\n </div>\n </div>\n {hasMessage && (\n <div className=\"h-[14px] ml-auto px-1\">\n <AnimatePresence>\n {message && (\n <motion.span\n initial={{ opacity: 0, filter: \"blur(4px)\" }}\n animate={{ opacity: 1, filter: \"blur(0px)\" }}\n exit={{ opacity: 0, filter: \"blur(4px)\" }}\n transition={{ duration: 0.1, ease: crisp }}\n className={classNames(\n \"text-sm text-shade-secondary font-medium leading-[100%]\",\n !isValid && \"text-state-error\"\n )}\n >\n {message}\n </motion.span>\n )}\n </AnimatePresence>\n </div>\n )}\n </motion.div>\n );\n};\n"]}
package/dist/Input.mjs CHANGED
@@ -27,7 +27,8 @@ const Input = ({
27
27
  balance,
28
28
  action,
29
29
  animation,
30
- tooltip
30
+ tooltip,
31
+ children
31
32
  }) => {
32
33
  const [isTooltipOpen, setIsTooltipOpen] = useState(false);
33
34
  return /* @__PURE__ */ jsxs(
@@ -39,7 +40,7 @@ const Input = ({
39
40
  className
40
41
  ),
41
42
  children: [
42
- /* @__PURE__ */ jsxs("div", { className: "px-1 flex items-center justify-between w-full", children: [
43
+ title && /* @__PURE__ */ jsxs("div", { className: "px-1 flex items-center justify-between w-full", children: [
43
44
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-1.5", children: [
44
45
  /* @__PURE__ */ jsx("span", { className: "font-medium text-shade-primary leading-[100%]", children: title }),
45
46
  tooltip && /* @__PURE__ */ jsxs(
@@ -82,13 +83,14 @@ const Input = ({
82
83
  "div",
83
84
  {
84
85
  className: classNames(
85
- "min-h-[44px] relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border focus-within:border-current/20 focus-within:bg-current/2 focus-within:shadow-[inset_0px_0px_12px] focus-within:shadow-current/10 transition-colors duration-100 ease-crisp",
86
+ "min-h-[44px] pr-4 relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border enabled:focus-within:border-current/20 enabled:focus-within:bg-current/2 enabled:focus-within:shadow-[inset_0px_0px_12px] enabled:focus-within:shadow-current/10 transition-colors duration-100 ease-crisp",
86
87
  !isValid && "border-state-error/20 text-state-error",
87
88
  !!badge && "pl-1.5 pr-[10px]",
88
- !badge && "pl-3 pr-4"
89
+ !badge && "pl-3 pr-4",
90
+ !!children && "!pr-1.5"
89
91
  ),
90
92
  children: [
91
- onFocus && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-1.5 text-shade-mute group-hover/input:text-shade-primary group-focus-within/input:inset-0.5 group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide", children: /* @__PURE__ */ jsx(
93
+ onFocus && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-1.5 text-shade-mute enabled:group-hover/input:text-shade-primary enabled:group-focus-within/input:inset-0.5 enabled:group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide", children: /* @__PURE__ */ jsx(
92
94
  CrosshairCorners,
93
95
  {
94
96
  size: 6,
@@ -140,6 +142,7 @@ const Input = ({
140
142
  )
141
143
  }
142
144
  ),
145
+ children && children,
143
146
  action && /* @__PURE__ */ jsx(
144
147
  Button,
145
148
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Input.tsx"],"names":[],"mappings":"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","file":"Input.mjs","sourcesContent":["\"use client\";\nimport { AnimatePresence, motion, MotionProps } from \"motion/react\";\nimport { Icon, IconName, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { Badge, BadgeProps } from \"./Badge\";\nimport { Button } from \"./Button\";\nimport { crisp } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { Tooltip, TooltipProps } from \"./Tooltip\";\nimport { useState } from \"react\";\n\nexport type InputProps = {\n title: string;\n value: string;\n className?: string;\n onChange?: (value: string) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n onClear?: () => void;\n badge?: BadgeProps;\n message?: string;\n hasMessage?: boolean;\n disabled?: boolean;\n placeholder?: string;\n isValid?: boolean;\n type?: \"generic\" | \"value\";\n balance?: {\n amount: string;\n unit: string;\n icon?: IconName;\n };\n action?: {\n label: string;\n onClick: () => void;\n };\n animation?: MotionProps;\n tooltip?: TooltipProps;\n};\n\nexport const Input = ({\n title,\n value,\n className,\n onChange,\n onFocus,\n onBlur,\n onClear,\n badge,\n type,\n message,\n hasMessage = true,\n disabled,\n placeholder,\n isValid = true,\n balance,\n action,\n animation,\n tooltip,\n}: InputProps) => {\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n return (\n <motion.div\n {...animation}\n className={classNames(\n \"flex flex-col gap-y-2.5 w-full relative group/input\",\n className\n )}\n >\n <div className=\"px-1 flex items-center justify-between w-full\">\n <div className=\"flex items-center gap-x-1.5\">\n <span className=\"font-medium text-shade-primary leading-[100%]\">\n {title}\n </span>\n {tooltip && (\n <div\n className=\"h-[14px] w-[14px] relative\"\n onMouseEnter={() => setIsTooltipOpen(true)}\n onMouseLeave={() => setIsTooltipOpen(false)}\n >\n <Tooltip\n isOpen={isTooltipOpen}\n position={tooltip.position}\n description={tooltip.description}\n />\n <Icon name=\"Info\" size={14} className=\"text-shade-tertiary\" />\n </div>\n )}\n </div>\n {balance && (\n <div className=\"flex items-center gap-x-1.5\">\n <Icon\n name={balance.icon as IconName}\n size={12}\n className=\"text-shade-tertiary\"\n />\n <span className=\"font-medium text-shade-primary leading-[100%] text-sm font-mono\">\n {balance.amount} {balance.unit}\n </span>\n </div>\n )}\n </div>\n <div\n className={classNames(\n \"min-h-[44px] relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border focus-within:border-current/20 focus-within:bg-current/2 focus-within:shadow-[inset_0px_0px_12px] focus-within:shadow-current/10 transition-colors duration-100 ease-crisp\",\n !isValid && \"border-state-error/20 text-state-error\",\n !!badge && \"pl-1.5 pr-[10px]\",\n !badge && \"pl-3 pr-4\"\n )}\n >\n {onFocus && (\n <div className=\"pointer-events-none absolute inset-1.5 text-shade-mute group-hover/input:text-shade-primary group-focus-within/input:inset-0.5 group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide\">\n <CrosshairCorners\n size={6}\n variant=\"corners\"\n corners={[\"bottom-right\"]}\n animationDelay={0}\n animationDuration={0.75}\n />\n </div>\n )}\n <div\n className={classNames(\n \"flex w-full items-center gap-x-3 text-shade-primary\"\n )}\n >\n {badge && <Badge {...badge} />}\n <input\n className={classNames(\n \"h-full w-full flex-shrink font-medium focus:outline-none bg-transparent placeholder:text-shade-mute\",\n type === \"value\" && \"text-2xl font-mono text-right\",\n // Hide buttons\n \"[-moz-appearance:_textfield] [&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none\"\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n disabled={disabled}\n type={type === \"value\" ? \"number\" : \"text\"}\n />\n {onClear && value && (\n <button\n onClick={onClear}\n className=\"absolute right-2 p-2 hover:bg-border-light/50 transition-colors duration-100 ease-crisp\"\n type=\"button\"\n >\n <Icon\n name=\"Close\"\n size={12}\n className=\"text-shade-tertiary hover:text-shade-primary transition-colors duration-100 ease-crisp\"\n />\n </button>\n )}\n {action && (\n <Button\n label={action.label}\n onClick={action.onClick}\n variant=\"secondary\"\n size=\"xs\"\n useHoverEffect={false}\n />\n )}\n </div>\n </div>\n {hasMessage && (\n <div className=\"h-[14px] ml-auto px-1\">\n <AnimatePresence>\n {message && (\n <motion.span\n initial={{ opacity: 0, filter: \"blur(4px)\" }}\n animate={{ opacity: 1, filter: \"blur(0px)\" }}\n exit={{ opacity: 0, filter: \"blur(4px)\" }}\n transition={{ duration: 0.1, ease: crisp }}\n className={classNames(\n \"text-sm text-shade-secondary font-medium leading-[100%]\",\n !isValid && \"text-state-error\"\n )}\n >\n {message}\n </motion.span>\n )}\n </AnimatePresence>\n </div>\n )}\n </motion.div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/Input.tsx"],"names":[],"mappings":"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","file":"Input.mjs","sourcesContent":["\"use client\";\nimport { AnimatePresence, motion, MotionProps } from \"motion/react\";\nimport { Icon, IconName, IconProps } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { Badge, BadgeProps } from \"./Badge\";\nimport { Button } from \"./Button\";\nimport { crisp } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { Tooltip, TooltipProps } from \"./Tooltip\";\nimport { useState } from \"react\";\n\nexport type InputProps = {\n title?: string;\n value: string;\n className?: string;\n onChange?: (value: string) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n onClear?: () => void;\n badge?: BadgeProps;\n message?: string;\n hasMessage?: boolean;\n disabled?: boolean;\n placeholder?: string;\n isValid?: boolean;\n type?: \"generic\" | \"value\";\n balance?: {\n amount: string;\n unit: string;\n icon?: IconName;\n };\n action?: {\n label: string;\n onClick: () => void;\n };\n animation?: MotionProps;\n tooltip?: TooltipProps;\n children?: React.ReactNode;\n};\n\nexport const Input = ({\n title,\n value,\n className,\n onChange,\n onFocus,\n onBlur,\n onClear,\n badge,\n type,\n message,\n hasMessage = true,\n disabled,\n placeholder,\n isValid = true,\n balance,\n action,\n animation,\n tooltip,\n children,\n}: InputProps) => {\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n return (\n <motion.div\n {...animation}\n className={classNames(\n \"flex flex-col gap-y-2.5 w-full relative group/input\",\n className\n )}\n >\n {title && (\n <div className=\"px-1 flex items-center justify-between w-full\">\n <div className=\"flex items-center gap-x-1.5\">\n <span className=\"font-medium text-shade-primary leading-[100%]\">\n {title}\n </span>\n {tooltip && (\n <div\n className=\"h-[14px] w-[14px] relative\"\n onMouseEnter={() => setIsTooltipOpen(true)}\n onMouseLeave={() => setIsTooltipOpen(false)}\n >\n <Tooltip\n isOpen={isTooltipOpen}\n position={tooltip.position}\n description={tooltip.description}\n />\n <Icon name=\"Info\" size={14} className=\"text-shade-tertiary\" />\n </div>\n )}\n </div>\n {balance && (\n <div className=\"flex items-center gap-x-1.5\">\n <Icon\n name={balance.icon as IconName}\n size={12}\n className=\"text-shade-tertiary\"\n />\n <span className=\"font-medium text-shade-primary leading-[100%] text-sm font-mono\">\n {balance.amount} {balance.unit}\n </span>\n </div>\n )}\n </div>\n )}\n <div\n className={classNames(\n \"min-h-[44px] pr-4 relative h-full py-1.5 flex items-center justify-between group/input bg-background border text-shade-tertiary border-border enabled:focus-within:border-current/20 enabled:focus-within:bg-current/2 enabled:focus-within:shadow-[inset_0px_0px_12px] enabled:focus-within:shadow-current/10 transition-colors duration-100 ease-crisp\",\n !isValid && \"border-state-error/20 text-state-error\",\n !!badge && \"pl-1.5 pr-[10px]\",\n !badge && \"pl-3 pr-4\",\n !!children && \"!pr-1.5\"\n )}\n >\n {onFocus && (\n <div className=\"pointer-events-none absolute inset-1.5 text-shade-mute enabled:group-hover/input:text-shade-primary enabled:group-focus-within/input:inset-0.5 enabled:group-focus-within/input:text-shade-primary transition-all duration-50 ease-glide\">\n <CrosshairCorners\n size={6}\n variant=\"corners\"\n corners={[\"bottom-right\"]}\n animationDelay={0}\n animationDuration={0.75}\n />\n </div>\n )}\n <div\n className={classNames(\n \"flex w-full items-center gap-x-3 text-shade-primary\"\n )}\n >\n {badge && <Badge {...badge} />}\n <input\n className={classNames(\n \"h-full w-full flex-shrink font-medium focus:outline-none bg-transparent placeholder:text-shade-mute\",\n type === \"value\" && \"text-2xl font-mono text-right\",\n // Hide buttons\n \"[-moz-appearance:_textfield] [&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none\"\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n disabled={disabled}\n type={type === \"value\" ? \"number\" : \"text\"}\n />\n {onClear && value && (\n <button\n onClick={onClear}\n className=\"absolute right-2 p-2 hover:bg-border-light/50 transition-colors duration-100 ease-crisp\"\n type=\"button\"\n >\n <Icon\n name=\"Close\"\n size={12}\n className=\"text-shade-tertiary hover:text-shade-primary transition-colors duration-100 ease-crisp\"\n />\n </button>\n )}\n {children && children}\n {action && (\n <Button\n label={action.label}\n onClick={action.onClick}\n variant=\"secondary\"\n size=\"xs\"\n useHoverEffect={false}\n />\n )}\n </div>\n </div>\n {hasMessage && (\n <div className=\"h-[14px] ml-auto px-1\">\n <AnimatePresence>\n {message && (\n <motion.span\n initial={{ opacity: 0, filter: \"blur(4px)\" }}\n animate={{ opacity: 1, filter: \"blur(0px)\" }}\n exit={{ opacity: 0, filter: \"blur(4px)\" }}\n transition={{ duration: 0.1, ease: crisp }}\n className={classNames(\n \"text-sm text-shade-secondary font-medium leading-[100%]\",\n !isValid && \"text-state-error\"\n )}\n >\n {message}\n </motion.span>\n )}\n </AnimatePresence>\n </div>\n )}\n </motion.div>\n );\n};\n"]}
package/dist/Slider.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from './Icon-_eAGhkdn.mjs';
2
+ import { a as IconProps } from './Icon-D0R9Y5U4.mjs';
3
3
  import './utils/colours.mjs';
4
4
 
5
5
  type SliderProps = {
package/dist/Slider.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as IconProps } from './Icon-DTD8APSk.js';
2
+ import { a as IconProps } from './Icon-Xhwol1Zj.js';
3
3
  import './utils/colours.js';
4
4
 
5
5
  type SliderProps = {
package/dist/Tabs.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
- import { a as IconProps } from './Icon-_eAGhkdn.mjs';
3
+ import { a as IconProps } from './Icon-D0R9Y5U4.mjs';
4
4
  import './utils/colours.mjs';
5
5
 
6
6
  type TabsProps = {
@@ -13,12 +13,15 @@ type TabsProps = {
13
13
  disabled?: boolean;
14
14
  selected?: boolean;
15
15
  onClick?: () => void;
16
+ children?: React.ReactNode;
17
+ className?: string;
16
18
  }[];
17
19
  theme: "primary" | "secondary";
18
20
  animation?: MotionProps;
19
21
  stretch?: boolean;
20
22
  size?: "sm" | "lg";
23
+ title?: string;
21
24
  };
22
- declare const Tabs: ({ className, variant, items, theme, animation, stretch, size, }: TabsProps) => react_jsx_runtime.JSX.Element;
25
+ declare const Tabs: ({ className, variant, items, theme, animation, stretch, size, title, }: TabsProps) => react_jsx_runtime.JSX.Element;
23
26
 
24
27
  export { Tabs, type TabsProps };
package/dist/Tabs.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MotionProps } from 'motion/react';
3
- import { a as IconProps } from './Icon-DTD8APSk.js';
3
+ import { a as IconProps } from './Icon-Xhwol1Zj.js';
4
4
  import './utils/colours.js';
5
5
 
6
6
  type TabsProps = {
@@ -13,12 +13,15 @@ type TabsProps = {
13
13
  disabled?: boolean;
14
14
  selected?: boolean;
15
15
  onClick?: () => void;
16
+ children?: React.ReactNode;
17
+ className?: string;
16
18
  }[];
17
19
  theme: "primary" | "secondary";
18
20
  animation?: MotionProps;
19
21
  stretch?: boolean;
20
22
  size?: "sm" | "lg";
23
+ title?: string;
21
24
  };
22
- declare const Tabs: ({ className, variant, items, theme, animation, stretch, size, }: TabsProps) => react_jsx_runtime.JSX.Element;
25
+ declare const Tabs: ({ className, variant, items, theme, animation, stretch, size, title, }: TabsProps) => react_jsx_runtime.JSX.Element;
23
26
 
24
27
  export { Tabs, type TabsProps };
package/dist/Tabs.js CHANGED
@@ -18,7 +18,8 @@ const Tabs = ({
18
18
  theme,
19
19
  animation,
20
20
  stretch,
21
- size = "lg"
21
+ size = "lg",
22
+ title
22
23
  }) => {
23
24
  return /* @__PURE__ */ jsxRuntime.jsx(
24
25
  react.motion.div,
@@ -36,19 +37,21 @@ const Tabs = ({
36
37
  react.motion.button,
37
38
  {
38
39
  className: classNames__default.default(
39
- "group hover:bg-card-solid/50 relative flex items-center gap-x-1.5 justify-center w-full text-shade-tertiary",
40
+ "group hover:bg-card-solid/50 relative flex items-center gap-x-1.5 justify-between w-full text-shade-tertiary",
40
41
  !item.label && "w-max !px-3",
41
42
  item.selected && theme === "secondary" && "!text-shade-primary",
42
43
  item.selected && theme === "primary" && "!text-brand-primary",
43
44
  size === "sm" && "py-2 px-4 text-sm",
44
- size === "lg" && "py-3 px-6 text-base"
45
+ size === "lg" && "py-3 px-6 text-base",
46
+ !item.children && "!justify-center",
47
+ item.className
45
48
  ),
46
49
  onClick: item.onClick,
47
50
  children: [
48
51
  item.selected && variant === "segmented" && /* @__PURE__ */ jsxRuntime.jsx(
49
52
  react.motion.div,
50
53
  {
51
- layoutId: "segmented-tab-selected",
54
+ layoutId: `segmented-tab-selected-${title}`,
52
55
  transition: { duration: 0.1, ease: easings.breeze },
53
56
  className: classNames__default.default(
54
57
  "absolute inset-0",
@@ -92,7 +95,8 @@ const Tabs = ({
92
95
  ),
93
96
  children: item.label
94
97
  }
95
- )
98
+ ),
99
+ item.children && item.children
96
100
  ]
97
101
  },
98
102
  item.value