@hanzo/ui 8.0.26 → 8.0.27

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 (621) hide show
  1. package/README.md +1 -1
  2. package/dist/ThemeToggleNext-AEDLHX5X.js +1 -0
  3. package/dist/ThemeToggleNext-N6ASYJ6J.cjs +1 -0
  4. package/dist/backends/gui/aspect-ratio.d.ts +14 -0
  5. package/dist/backends/gui/avatar.d.ts +16 -0
  6. package/dist/backends/gui/badge.d.ts +19 -0
  7. package/dist/backends/gui/button.d.ts +50 -0
  8. package/dist/backends/gui/card.d.ts +44 -0
  9. package/dist/backends/gui/checkbox.d.ts +9 -0
  10. package/dist/backends/gui/collapsible.d.ts +10 -0
  11. package/dist/backends/gui/command.d.ts +86 -0
  12. package/dist/backends/gui/command.logic.d.ts +20 -0
  13. package/dist/backends/gui/dialog.d.ts +27 -0
  14. package/dist/backends/gui/dropdown-menu.d.ts +98 -0
  15. package/dist/backends/gui/index.d.ts +24 -2
  16. package/dist/backends/gui/ink.d.ts +7 -0
  17. package/dist/backends/gui/input.d.ts +19 -0
  18. package/dist/backends/gui/label.d.ts +6 -0
  19. package/dist/backends/gui/popover.d.ts +22 -0
  20. package/dist/backends/gui/progress.d.ts +6 -0
  21. package/dist/backends/gui/resizable.d.ts +52 -0
  22. package/dist/backends/gui/resizable.logic.d.ts +23 -0
  23. package/dist/backends/gui/scroll-area.d.ts +45 -0
  24. package/dist/backends/gui/select.d.ts +30 -0
  25. package/dist/backends/gui/separator.d.ts +10 -0
  26. package/dist/backends/gui/slider.d.ts +6 -0
  27. package/dist/backends/gui/slot.d.ts +6 -0
  28. package/dist/backends/gui/switch.d.ts +6 -0
  29. package/dist/backends/gui/tabs.d.ts +12 -0
  30. package/dist/backends/gui/textarea.d.ts +11 -0
  31. package/dist/backends/gui/toaster.d.ts +28 -0
  32. package/dist/backends/gui/tooltip.d.ts +12 -0
  33. package/dist/canvas.cjs +1 -0
  34. package/dist/canvas.js +1 -0
  35. package/dist/chunk-2U3MNE4I.js +4 -0
  36. package/dist/chunk-2U3MNE4I.js.map +1 -0
  37. package/dist/chunk-3NG33DV2.cjs +1 -0
  38. package/dist/chunk-6DDY6XZI.js +53 -0
  39. package/dist/chunk-6DDY6XZI.js.map +1 -0
  40. package/dist/chunk-6KZWRBK2.cjs +1498 -0
  41. package/dist/chunk-6KZWRBK2.cjs.map +1 -0
  42. package/dist/chunk-77AMCLN4.js +1 -0
  43. package/dist/chunk-7XDEUEWI.cjs +1 -0
  44. package/dist/chunk-7ZNK6JSS.js +1 -0
  45. package/dist/chunk-ARV3P4CE.cjs +1 -0
  46. package/dist/chunk-DC52DQ27.cjs +303 -0
  47. package/dist/chunk-DC52DQ27.cjs.map +1 -0
  48. package/dist/chunk-FVQXROBK.js +1 -0
  49. package/dist/chunk-GVCOAJLO.js +1 -0
  50. package/dist/chunk-MWBFAV3D.cjs +1 -0
  51. package/dist/chunk-NQUA5YRQ.cjs +55 -0
  52. package/dist/chunk-NQUA5YRQ.cjs.map +1 -0
  53. package/dist/chunk-ONVERVFG.cjs +1 -0
  54. package/dist/chunk-P2QU5MN5.js +1 -0
  55. package/dist/chunk-PI3GSHLU.js +263 -0
  56. package/dist/chunk-PI3GSHLU.js.map +1 -0
  57. package/dist/chunk-QHC2ZNAF.js +11 -0
  58. package/dist/chunk-QHC2ZNAF.js.map +1 -0
  59. package/dist/chunk-QV52JQHR.cjs +77 -0
  60. package/dist/chunk-QV52JQHR.cjs.map +1 -0
  61. package/dist/chunk-RBS5AYO4.cjs +13 -0
  62. package/dist/chunk-RBS5AYO4.cjs.map +1 -0
  63. package/dist/chunk-RCMDRI6V.js +1401 -0
  64. package/dist/chunk-RCMDRI6V.js.map +1 -0
  65. package/dist/chunk-WHJR5S4L.cjs +1 -0
  66. package/dist/chunk-ZGTJCJ55.js +1 -0
  67. package/dist/components.d.ts +1 -1
  68. package/dist/core/cn.d.ts +3 -5
  69. package/dist/core/index.cjs +92 -0
  70. package/dist/core/index.cjs.map +1 -0
  71. package/dist/core/index.js +14 -0
  72. package/dist/core/index.js.map +1 -0
  73. package/dist/core/tokens.cjs +77 -0
  74. package/dist/core/tokens.cjs.map +1 -0
  75. package/dist/core/tokens.js +4 -0
  76. package/dist/core/tokens.js.map +1 -0
  77. package/dist/dashboard.cjs +1 -0
  78. package/dist/dashboard.js +1 -0
  79. package/dist/data.cjs +1 -0
  80. package/dist/data.js +1 -0
  81. package/dist/framework/core.cjs +1 -0
  82. package/dist/framework/core.js +1 -0
  83. package/dist/framework/index.cjs +5 -3
  84. package/dist/framework/index.cjs.map +1 -1
  85. package/dist/framework/index.js +3 -1
  86. package/dist/framework/index.js.map +1 -1
  87. package/dist/gitops.cjs +1 -0
  88. package/dist/gitops.js +1 -0
  89. package/dist/gui-config.cjs +1 -0
  90. package/dist/gui-config.js +1 -0
  91. package/dist/index.cjs +366 -1136
  92. package/dist/index.cjs.map +1 -1
  93. package/dist/index.d.ts +1 -1
  94. package/dist/index.js +4 -1017
  95. package/dist/index.js.map +1 -1
  96. package/dist/models/catalog.d.ts +1 -1
  97. package/dist/models/index.cjs +225 -0
  98. package/dist/models/index.cjs.map +1 -0
  99. package/dist/models/index.js +218 -0
  100. package/dist/models/index.js.map +1 -0
  101. package/dist/oss.cjs +1 -0
  102. package/dist/oss.js +1 -0
  103. package/dist/primitives/AspectRatio.cjs +14 -0
  104. package/dist/primitives/AspectRatio.cjs.map +1 -0
  105. package/dist/primitives/AspectRatio.d.ts +1 -1
  106. package/dist/primitives/AspectRatio.js +5 -0
  107. package/dist/primitives/AspectRatio.js.map +1 -0
  108. package/dist/primitives/Avatar.cjs +14 -0
  109. package/dist/primitives/Avatar.cjs.map +1 -0
  110. package/dist/primitives/Avatar.d.ts +1 -1
  111. package/dist/primitives/Avatar.js +5 -0
  112. package/dist/primitives/Avatar.js.map +1 -0
  113. package/dist/primitives/AvatarFallback.cjs +14 -0
  114. package/dist/primitives/AvatarFallback.cjs.map +1 -0
  115. package/dist/primitives/AvatarFallback.d.ts +1 -1
  116. package/dist/primitives/AvatarFallback.js +5 -0
  117. package/dist/primitives/AvatarFallback.js.map +1 -0
  118. package/dist/primitives/AvatarImage.cjs +14 -0
  119. package/dist/primitives/AvatarImage.cjs.map +1 -0
  120. package/dist/primitives/AvatarImage.d.ts +1 -1
  121. package/dist/primitives/AvatarImage.js +5 -0
  122. package/dist/primitives/AvatarImage.js.map +1 -0
  123. package/dist/primitives/Badge.cjs +14 -0
  124. package/dist/primitives/Badge.cjs.map +1 -0
  125. package/dist/primitives/Badge.d.ts +1 -1
  126. package/dist/primitives/Badge.js +5 -0
  127. package/dist/primitives/Badge.js.map +1 -0
  128. package/dist/primitives/Button.cjs +14 -0
  129. package/dist/primitives/Button.cjs.map +1 -0
  130. package/dist/primitives/Button.d.ts +1 -1
  131. package/dist/primitives/Button.js +5 -0
  132. package/dist/primitives/Button.js.map +1 -0
  133. package/dist/primitives/Card.cjs +14 -0
  134. package/dist/primitives/Card.cjs.map +1 -0
  135. package/dist/primitives/Card.d.ts +1 -1
  136. package/dist/primitives/Card.js +5 -0
  137. package/dist/primitives/Card.js.map +1 -0
  138. package/dist/primitives/CardAction.cjs +14 -0
  139. package/dist/primitives/CardAction.cjs.map +1 -0
  140. package/dist/primitives/CardAction.d.ts +1 -1
  141. package/dist/primitives/CardAction.js +5 -0
  142. package/dist/primitives/CardAction.js.map +1 -0
  143. package/dist/primitives/CardContent.cjs +14 -0
  144. package/dist/primitives/CardContent.cjs.map +1 -0
  145. package/dist/primitives/CardContent.d.ts +1 -1
  146. package/dist/primitives/CardContent.js +5 -0
  147. package/dist/primitives/CardContent.js.map +1 -0
  148. package/dist/primitives/CardDescription.cjs +14 -0
  149. package/dist/primitives/CardDescription.cjs.map +1 -0
  150. package/dist/primitives/CardDescription.d.ts +1 -1
  151. package/dist/primitives/CardDescription.js +5 -0
  152. package/dist/primitives/CardDescription.js.map +1 -0
  153. package/dist/primitives/CardFooter.cjs +14 -0
  154. package/dist/primitives/CardFooter.cjs.map +1 -0
  155. package/dist/primitives/CardFooter.d.ts +1 -1
  156. package/dist/primitives/CardFooter.js +5 -0
  157. package/dist/primitives/CardFooter.js.map +1 -0
  158. package/dist/primitives/CardHeader.cjs +14 -0
  159. package/dist/primitives/CardHeader.cjs.map +1 -0
  160. package/dist/primitives/CardHeader.d.ts +1 -1
  161. package/dist/primitives/CardHeader.js +5 -0
  162. package/dist/primitives/CardHeader.js.map +1 -0
  163. package/dist/primitives/CardTitle.cjs +14 -0
  164. package/dist/primitives/CardTitle.cjs.map +1 -0
  165. package/dist/primitives/CardTitle.d.ts +1 -1
  166. package/dist/primitives/CardTitle.js +5 -0
  167. package/dist/primitives/CardTitle.js.map +1 -0
  168. package/dist/primitives/Checkbox.cjs +14 -0
  169. package/dist/primitives/Checkbox.cjs.map +1 -0
  170. package/dist/primitives/Checkbox.d.ts +1 -1
  171. package/dist/primitives/Checkbox.js +5 -0
  172. package/dist/primitives/Checkbox.js.map +1 -0
  173. package/dist/primitives/Collapsible.cjs +14 -0
  174. package/dist/primitives/Collapsible.cjs.map +1 -0
  175. package/dist/primitives/Collapsible.d.ts +1 -1
  176. package/dist/primitives/Collapsible.js +5 -0
  177. package/dist/primitives/Collapsible.js.map +1 -0
  178. package/dist/primitives/CollapsibleContent.cjs +14 -0
  179. package/dist/primitives/CollapsibleContent.cjs.map +1 -0
  180. package/dist/primitives/CollapsibleContent.d.ts +1 -1
  181. package/dist/primitives/CollapsibleContent.js +5 -0
  182. package/dist/primitives/CollapsibleContent.js.map +1 -0
  183. package/dist/primitives/CollapsibleTrigger.cjs +14 -0
  184. package/dist/primitives/CollapsibleTrigger.cjs.map +1 -0
  185. package/dist/primitives/CollapsibleTrigger.d.ts +1 -1
  186. package/dist/primitives/CollapsibleTrigger.js +5 -0
  187. package/dist/primitives/CollapsibleTrigger.js.map +1 -0
  188. package/dist/primitives/Command.cjs +14 -0
  189. package/dist/primitives/Command.cjs.map +1 -0
  190. package/dist/primitives/Command.d.ts +1 -1
  191. package/dist/primitives/Command.js +5 -0
  192. package/dist/primitives/Command.js.map +1 -0
  193. package/dist/primitives/CommandDialog.cjs +14 -0
  194. package/dist/primitives/CommandDialog.cjs.map +1 -0
  195. package/dist/primitives/CommandDialog.d.ts +1 -1
  196. package/dist/primitives/CommandDialog.js +5 -0
  197. package/dist/primitives/CommandDialog.js.map +1 -0
  198. package/dist/primitives/CommandEmpty.cjs +14 -0
  199. package/dist/primitives/CommandEmpty.cjs.map +1 -0
  200. package/dist/primitives/CommandEmpty.d.ts +1 -1
  201. package/dist/primitives/CommandEmpty.js +5 -0
  202. package/dist/primitives/CommandEmpty.js.map +1 -0
  203. package/dist/primitives/CommandGroup.cjs +14 -0
  204. package/dist/primitives/CommandGroup.cjs.map +1 -0
  205. package/dist/primitives/CommandGroup.d.ts +1 -1
  206. package/dist/primitives/CommandGroup.js +5 -0
  207. package/dist/primitives/CommandGroup.js.map +1 -0
  208. package/dist/primitives/CommandInput.cjs +14 -0
  209. package/dist/primitives/CommandInput.cjs.map +1 -0
  210. package/dist/primitives/CommandInput.d.ts +1 -1
  211. package/dist/primitives/CommandInput.js +5 -0
  212. package/dist/primitives/CommandInput.js.map +1 -0
  213. package/dist/primitives/CommandItem.cjs +14 -0
  214. package/dist/primitives/CommandItem.cjs.map +1 -0
  215. package/dist/primitives/CommandItem.d.ts +1 -1
  216. package/dist/primitives/CommandItem.js +5 -0
  217. package/dist/primitives/CommandItem.js.map +1 -0
  218. package/dist/primitives/CommandList.cjs +14 -0
  219. package/dist/primitives/CommandList.cjs.map +1 -0
  220. package/dist/primitives/CommandList.d.ts +1 -1
  221. package/dist/primitives/CommandList.js +5 -0
  222. package/dist/primitives/CommandList.js.map +1 -0
  223. package/dist/primitives/CommandSeparator.cjs +14 -0
  224. package/dist/primitives/CommandSeparator.cjs.map +1 -0
  225. package/dist/primitives/CommandSeparator.d.ts +1 -1
  226. package/dist/primitives/CommandSeparator.js +5 -0
  227. package/dist/primitives/CommandSeparator.js.map +1 -0
  228. package/dist/primitives/CommandShortcut.cjs +14 -0
  229. package/dist/primitives/CommandShortcut.cjs.map +1 -0
  230. package/dist/primitives/CommandShortcut.d.ts +1 -1
  231. package/dist/primitives/CommandShortcut.js +5 -0
  232. package/dist/primitives/CommandShortcut.js.map +1 -0
  233. package/dist/primitives/Dialog.cjs +14 -0
  234. package/dist/primitives/Dialog.cjs.map +1 -0
  235. package/dist/primitives/Dialog.d.ts +1 -1
  236. package/dist/primitives/Dialog.js +5 -0
  237. package/dist/primitives/Dialog.js.map +1 -0
  238. package/dist/primitives/DialogClose.cjs +14 -0
  239. package/dist/primitives/DialogClose.cjs.map +1 -0
  240. package/dist/primitives/DialogClose.d.ts +1 -1
  241. package/dist/primitives/DialogClose.js +5 -0
  242. package/dist/primitives/DialogClose.js.map +1 -0
  243. package/dist/primitives/DialogContent.cjs +14 -0
  244. package/dist/primitives/DialogContent.cjs.map +1 -0
  245. package/dist/primitives/DialogContent.d.ts +1 -1
  246. package/dist/primitives/DialogContent.js +5 -0
  247. package/dist/primitives/DialogContent.js.map +1 -0
  248. package/dist/primitives/DialogDescription.cjs +14 -0
  249. package/dist/primitives/DialogDescription.cjs.map +1 -0
  250. package/dist/primitives/DialogDescription.d.ts +1 -1
  251. package/dist/primitives/DialogDescription.js +5 -0
  252. package/dist/primitives/DialogDescription.js.map +1 -0
  253. package/dist/primitives/DialogFooter.cjs +14 -0
  254. package/dist/primitives/DialogFooter.cjs.map +1 -0
  255. package/dist/primitives/DialogFooter.d.ts +1 -1
  256. package/dist/primitives/DialogFooter.js +5 -0
  257. package/dist/primitives/DialogFooter.js.map +1 -0
  258. package/dist/primitives/DialogHeader.cjs +14 -0
  259. package/dist/primitives/DialogHeader.cjs.map +1 -0
  260. package/dist/primitives/DialogHeader.d.ts +1 -1
  261. package/dist/primitives/DialogHeader.js +5 -0
  262. package/dist/primitives/DialogHeader.js.map +1 -0
  263. package/dist/primitives/DialogOverlay.cjs +14 -0
  264. package/dist/primitives/DialogOverlay.cjs.map +1 -0
  265. package/dist/primitives/DialogOverlay.d.ts +1 -1
  266. package/dist/primitives/DialogOverlay.js +5 -0
  267. package/dist/primitives/DialogOverlay.js.map +1 -0
  268. package/dist/primitives/DialogPortal.cjs +14 -0
  269. package/dist/primitives/DialogPortal.cjs.map +1 -0
  270. package/dist/primitives/DialogPortal.d.ts +1 -1
  271. package/dist/primitives/DialogPortal.js +5 -0
  272. package/dist/primitives/DialogPortal.js.map +1 -0
  273. package/dist/primitives/DialogTitle.cjs +14 -0
  274. package/dist/primitives/DialogTitle.cjs.map +1 -0
  275. package/dist/primitives/DialogTitle.d.ts +1 -1
  276. package/dist/primitives/DialogTitle.js +5 -0
  277. package/dist/primitives/DialogTitle.js.map +1 -0
  278. package/dist/primitives/DialogTrigger.cjs +14 -0
  279. package/dist/primitives/DialogTrigger.cjs.map +1 -0
  280. package/dist/primitives/DialogTrigger.d.ts +1 -1
  281. package/dist/primitives/DialogTrigger.js +5 -0
  282. package/dist/primitives/DialogTrigger.js.map +1 -0
  283. package/dist/primitives/DropdownMenu.cjs +14 -0
  284. package/dist/primitives/DropdownMenu.cjs.map +1 -0
  285. package/dist/primitives/DropdownMenu.d.ts +1 -1
  286. package/dist/primitives/DropdownMenu.js +5 -0
  287. package/dist/primitives/DropdownMenu.js.map +1 -0
  288. package/dist/primitives/DropdownMenuCheckboxItem.cjs +14 -0
  289. package/dist/primitives/DropdownMenuCheckboxItem.cjs.map +1 -0
  290. package/dist/primitives/DropdownMenuCheckboxItem.d.ts +1 -1
  291. package/dist/primitives/DropdownMenuCheckboxItem.js +5 -0
  292. package/dist/primitives/DropdownMenuCheckboxItem.js.map +1 -0
  293. package/dist/primitives/DropdownMenuContent.cjs +14 -0
  294. package/dist/primitives/DropdownMenuContent.cjs.map +1 -0
  295. package/dist/primitives/DropdownMenuContent.d.ts +1 -1
  296. package/dist/primitives/DropdownMenuContent.js +5 -0
  297. package/dist/primitives/DropdownMenuContent.js.map +1 -0
  298. package/dist/primitives/DropdownMenuGroup.cjs +14 -0
  299. package/dist/primitives/DropdownMenuGroup.cjs.map +1 -0
  300. package/dist/primitives/DropdownMenuGroup.d.ts +1 -1
  301. package/dist/primitives/DropdownMenuGroup.js +5 -0
  302. package/dist/primitives/DropdownMenuGroup.js.map +1 -0
  303. package/dist/primitives/DropdownMenuItem.cjs +14 -0
  304. package/dist/primitives/DropdownMenuItem.cjs.map +1 -0
  305. package/dist/primitives/DropdownMenuItem.d.ts +1 -1
  306. package/dist/primitives/DropdownMenuItem.js +5 -0
  307. package/dist/primitives/DropdownMenuItem.js.map +1 -0
  308. package/dist/primitives/DropdownMenuLabel.cjs +14 -0
  309. package/dist/primitives/DropdownMenuLabel.cjs.map +1 -0
  310. package/dist/primitives/DropdownMenuLabel.d.ts +1 -1
  311. package/dist/primitives/DropdownMenuLabel.js +5 -0
  312. package/dist/primitives/DropdownMenuLabel.js.map +1 -0
  313. package/dist/primitives/DropdownMenuPortal.cjs +14 -0
  314. package/dist/primitives/DropdownMenuPortal.cjs.map +1 -0
  315. package/dist/primitives/DropdownMenuPortal.d.ts +1 -1
  316. package/dist/primitives/DropdownMenuPortal.js +5 -0
  317. package/dist/primitives/DropdownMenuPortal.js.map +1 -0
  318. package/dist/primitives/DropdownMenuRadioGroup.cjs +14 -0
  319. package/dist/primitives/DropdownMenuRadioGroup.cjs.map +1 -0
  320. package/dist/primitives/DropdownMenuRadioGroup.d.ts +1 -1
  321. package/dist/primitives/DropdownMenuRadioGroup.js +5 -0
  322. package/dist/primitives/DropdownMenuRadioGroup.js.map +1 -0
  323. package/dist/primitives/DropdownMenuRadioItem.cjs +14 -0
  324. package/dist/primitives/DropdownMenuRadioItem.cjs.map +1 -0
  325. package/dist/primitives/DropdownMenuRadioItem.d.ts +1 -1
  326. package/dist/primitives/DropdownMenuRadioItem.js +5 -0
  327. package/dist/primitives/DropdownMenuRadioItem.js.map +1 -0
  328. package/dist/primitives/DropdownMenuSeparator.cjs +14 -0
  329. package/dist/primitives/DropdownMenuSeparator.cjs.map +1 -0
  330. package/dist/primitives/DropdownMenuSeparator.d.ts +1 -1
  331. package/dist/primitives/DropdownMenuSeparator.js +5 -0
  332. package/dist/primitives/DropdownMenuSeparator.js.map +1 -0
  333. package/dist/primitives/DropdownMenuShortcut.cjs +14 -0
  334. package/dist/primitives/DropdownMenuShortcut.cjs.map +1 -0
  335. package/dist/primitives/DropdownMenuShortcut.d.ts +1 -1
  336. package/dist/primitives/DropdownMenuShortcut.js +5 -0
  337. package/dist/primitives/DropdownMenuShortcut.js.map +1 -0
  338. package/dist/primitives/DropdownMenuSub.cjs +14 -0
  339. package/dist/primitives/DropdownMenuSub.cjs.map +1 -0
  340. package/dist/primitives/DropdownMenuSub.d.ts +1 -1
  341. package/dist/primitives/DropdownMenuSub.js +5 -0
  342. package/dist/primitives/DropdownMenuSub.js.map +1 -0
  343. package/dist/primitives/DropdownMenuSubContent.cjs +14 -0
  344. package/dist/primitives/DropdownMenuSubContent.cjs.map +1 -0
  345. package/dist/primitives/DropdownMenuSubContent.d.ts +1 -1
  346. package/dist/primitives/DropdownMenuSubContent.js +5 -0
  347. package/dist/primitives/DropdownMenuSubContent.js.map +1 -0
  348. package/dist/primitives/DropdownMenuSubTrigger.cjs +14 -0
  349. package/dist/primitives/DropdownMenuSubTrigger.cjs.map +1 -0
  350. package/dist/primitives/DropdownMenuSubTrigger.d.ts +1 -1
  351. package/dist/primitives/DropdownMenuSubTrigger.js +5 -0
  352. package/dist/primitives/DropdownMenuSubTrigger.js.map +1 -0
  353. package/dist/primitives/DropdownMenuTrigger.cjs +14 -0
  354. package/dist/primitives/DropdownMenuTrigger.cjs.map +1 -0
  355. package/dist/primitives/DropdownMenuTrigger.d.ts +1 -1
  356. package/dist/primitives/DropdownMenuTrigger.js +5 -0
  357. package/dist/primitives/DropdownMenuTrigger.js.map +1 -0
  358. package/dist/primitives/Input.cjs +14 -0
  359. package/dist/primitives/Input.cjs.map +1 -0
  360. package/dist/primitives/Input.d.ts +1 -1
  361. package/dist/primitives/Input.js +5 -0
  362. package/dist/primitives/Input.js.map +1 -0
  363. package/dist/primitives/Label.cjs +14 -0
  364. package/dist/primitives/Label.cjs.map +1 -0
  365. package/dist/primitives/Label.d.ts +1 -1
  366. package/dist/primitives/Label.js +5 -0
  367. package/dist/primitives/Label.js.map +1 -0
  368. package/dist/primitives/Popover.cjs +14 -0
  369. package/dist/primitives/Popover.cjs.map +1 -0
  370. package/dist/primitives/Popover.d.ts +1 -1
  371. package/dist/primitives/Popover.js +5 -0
  372. package/dist/primitives/Popover.js.map +1 -0
  373. package/dist/primitives/PopoverAnchor.cjs +14 -0
  374. package/dist/primitives/PopoverAnchor.cjs.map +1 -0
  375. package/dist/primitives/PopoverAnchor.d.ts +1 -1
  376. package/dist/primitives/PopoverAnchor.js +5 -0
  377. package/dist/primitives/PopoverAnchor.js.map +1 -0
  378. package/dist/primitives/PopoverClose.cjs +14 -0
  379. package/dist/primitives/PopoverClose.cjs.map +1 -0
  380. package/dist/primitives/PopoverClose.d.ts +1 -0
  381. package/dist/primitives/PopoverClose.js +5 -0
  382. package/dist/primitives/PopoverClose.js.map +1 -0
  383. package/dist/primitives/PopoverContent.cjs +14 -0
  384. package/dist/primitives/PopoverContent.cjs.map +1 -0
  385. package/dist/primitives/PopoverContent.d.ts +1 -1
  386. package/dist/primitives/PopoverContent.js +5 -0
  387. package/dist/primitives/PopoverContent.js.map +1 -0
  388. package/dist/primitives/PopoverTrigger.cjs +14 -0
  389. package/dist/primitives/PopoverTrigger.cjs.map +1 -0
  390. package/dist/primitives/PopoverTrigger.d.ts +1 -1
  391. package/dist/primitives/PopoverTrigger.js +5 -0
  392. package/dist/primitives/PopoverTrigger.js.map +1 -0
  393. package/dist/primitives/Progress.cjs +14 -0
  394. package/dist/primitives/Progress.cjs.map +1 -0
  395. package/dist/primitives/Progress.d.ts +1 -1
  396. package/dist/primitives/Progress.js +5 -0
  397. package/dist/primitives/Progress.js.map +1 -0
  398. package/dist/primitives/ResizableHandle.cjs +14 -0
  399. package/dist/primitives/ResizableHandle.cjs.map +1 -0
  400. package/dist/primitives/ResizableHandle.d.ts +1 -0
  401. package/dist/primitives/ResizableHandle.js +5 -0
  402. package/dist/primitives/ResizableHandle.js.map +1 -0
  403. package/dist/primitives/ResizablePanel.cjs +14 -0
  404. package/dist/primitives/ResizablePanel.cjs.map +1 -0
  405. package/dist/primitives/ResizablePanel.d.ts +1 -0
  406. package/dist/primitives/ResizablePanel.js +5 -0
  407. package/dist/primitives/ResizablePanel.js.map +1 -0
  408. package/dist/primitives/ResizablePanelGroup.cjs +14 -0
  409. package/dist/primitives/ResizablePanelGroup.cjs.map +1 -0
  410. package/dist/primitives/ResizablePanelGroup.d.ts +1 -0
  411. package/dist/primitives/ResizablePanelGroup.js +5 -0
  412. package/dist/primitives/ResizablePanelGroup.js.map +1 -0
  413. package/dist/primitives/ScrollArea.cjs +14 -0
  414. package/dist/primitives/ScrollArea.cjs.map +1 -0
  415. package/dist/primitives/ScrollArea.d.ts +1 -1
  416. package/dist/primitives/ScrollArea.js +5 -0
  417. package/dist/primitives/ScrollArea.js.map +1 -0
  418. package/dist/primitives/ScrollBar.cjs +14 -0
  419. package/dist/primitives/ScrollBar.cjs.map +1 -0
  420. package/dist/primitives/ScrollBar.d.ts +1 -1
  421. package/dist/primitives/ScrollBar.js +5 -0
  422. package/dist/primitives/ScrollBar.js.map +1 -0
  423. package/dist/primitives/Select.cjs +14 -0
  424. package/dist/primitives/Select.cjs.map +1 -0
  425. package/dist/primitives/Select.d.ts +1 -1
  426. package/dist/primitives/Select.js +5 -0
  427. package/dist/primitives/Select.js.map +1 -0
  428. package/dist/primitives/SelectContent.cjs +14 -0
  429. package/dist/primitives/SelectContent.cjs.map +1 -0
  430. package/dist/primitives/SelectContent.d.ts +1 -1
  431. package/dist/primitives/SelectContent.js +5 -0
  432. package/dist/primitives/SelectContent.js.map +1 -0
  433. package/dist/primitives/SelectGroup.cjs +14 -0
  434. package/dist/primitives/SelectGroup.cjs.map +1 -0
  435. package/dist/primitives/SelectGroup.d.ts +1 -1
  436. package/dist/primitives/SelectGroup.js +5 -0
  437. package/dist/primitives/SelectGroup.js.map +1 -0
  438. package/dist/primitives/SelectItem.cjs +14 -0
  439. package/dist/primitives/SelectItem.cjs.map +1 -0
  440. package/dist/primitives/SelectItem.d.ts +1 -1
  441. package/dist/primitives/SelectItem.js +5 -0
  442. package/dist/primitives/SelectItem.js.map +1 -0
  443. package/dist/primitives/SelectLabel.cjs +14 -0
  444. package/dist/primitives/SelectLabel.cjs.map +1 -0
  445. package/dist/primitives/SelectLabel.d.ts +1 -1
  446. package/dist/primitives/SelectLabel.js +5 -0
  447. package/dist/primitives/SelectLabel.js.map +1 -0
  448. package/dist/primitives/SelectScrollDownButton.cjs +14 -0
  449. package/dist/primitives/SelectScrollDownButton.cjs.map +1 -0
  450. package/dist/primitives/SelectScrollDownButton.d.ts +1 -1
  451. package/dist/primitives/SelectScrollDownButton.js +5 -0
  452. package/dist/primitives/SelectScrollDownButton.js.map +1 -0
  453. package/dist/primitives/SelectScrollUpButton.cjs +14 -0
  454. package/dist/primitives/SelectScrollUpButton.cjs.map +1 -0
  455. package/dist/primitives/SelectScrollUpButton.d.ts +1 -1
  456. package/dist/primitives/SelectScrollUpButton.js +5 -0
  457. package/dist/primitives/SelectScrollUpButton.js.map +1 -0
  458. package/dist/primitives/SelectSeparator.cjs +14 -0
  459. package/dist/primitives/SelectSeparator.cjs.map +1 -0
  460. package/dist/primitives/SelectSeparator.d.ts +1 -1
  461. package/dist/primitives/SelectSeparator.js +5 -0
  462. package/dist/primitives/SelectSeparator.js.map +1 -0
  463. package/dist/primitives/SelectTrigger.cjs +14 -0
  464. package/dist/primitives/SelectTrigger.cjs.map +1 -0
  465. package/dist/primitives/SelectTrigger.d.ts +1 -1
  466. package/dist/primitives/SelectTrigger.js +5 -0
  467. package/dist/primitives/SelectTrigger.js.map +1 -0
  468. package/dist/primitives/SelectValue.cjs +14 -0
  469. package/dist/primitives/SelectValue.cjs.map +1 -0
  470. package/dist/primitives/SelectValue.d.ts +1 -1
  471. package/dist/primitives/SelectValue.js +5 -0
  472. package/dist/primitives/SelectValue.js.map +1 -0
  473. package/dist/primitives/Separator.cjs +14 -0
  474. package/dist/primitives/Separator.cjs.map +1 -0
  475. package/dist/primitives/Separator.d.ts +1 -1
  476. package/dist/primitives/Separator.js +5 -0
  477. package/dist/primitives/Separator.js.map +1 -0
  478. package/dist/primitives/Slider.cjs +14 -0
  479. package/dist/primitives/Slider.cjs.map +1 -0
  480. package/dist/primitives/Slider.d.ts +1 -1
  481. package/dist/primitives/Slider.js +5 -0
  482. package/dist/primitives/Slider.js.map +1 -0
  483. package/dist/primitives/Switch.cjs +14 -0
  484. package/dist/primitives/Switch.cjs.map +1 -0
  485. package/dist/primitives/Switch.d.ts +1 -1
  486. package/dist/primitives/Switch.js +5 -0
  487. package/dist/primitives/Switch.js.map +1 -0
  488. package/dist/primitives/Tabs.cjs +14 -0
  489. package/dist/primitives/Tabs.cjs.map +1 -0
  490. package/dist/primitives/Tabs.d.ts +1 -1
  491. package/dist/primitives/Tabs.js +5 -0
  492. package/dist/primitives/Tabs.js.map +1 -0
  493. package/dist/primitives/TabsContent.cjs +14 -0
  494. package/dist/primitives/TabsContent.cjs.map +1 -0
  495. package/dist/primitives/TabsContent.d.ts +1 -1
  496. package/dist/primitives/TabsContent.js +5 -0
  497. package/dist/primitives/TabsContent.js.map +1 -0
  498. package/dist/primitives/TabsList.cjs +14 -0
  499. package/dist/primitives/TabsList.cjs.map +1 -0
  500. package/dist/primitives/TabsList.d.ts +1 -1
  501. package/dist/primitives/TabsList.js +5 -0
  502. package/dist/primitives/TabsList.js.map +1 -0
  503. package/dist/primitives/TabsTrigger.cjs +14 -0
  504. package/dist/primitives/TabsTrigger.cjs.map +1 -0
  505. package/dist/primitives/TabsTrigger.d.ts +1 -1
  506. package/dist/primitives/TabsTrigger.js +5 -0
  507. package/dist/primitives/TabsTrigger.js.map +1 -0
  508. package/dist/primitives/Textarea.cjs +14 -0
  509. package/dist/primitives/Textarea.cjs.map +1 -0
  510. package/dist/primitives/Textarea.d.ts +1 -1
  511. package/dist/primitives/Textarea.js +5 -0
  512. package/dist/primitives/Textarea.js.map +1 -0
  513. package/dist/primitives/Toaster.cjs +14 -0
  514. package/dist/primitives/Toaster.cjs.map +1 -0
  515. package/dist/primitives/Toaster.d.ts +1 -1
  516. package/dist/primitives/Toaster.js +5 -0
  517. package/dist/primitives/Toaster.js.map +1 -0
  518. package/dist/primitives/Tooltip.cjs +14 -0
  519. package/dist/primitives/Tooltip.cjs.map +1 -0
  520. package/dist/primitives/Tooltip.d.ts +1 -1
  521. package/dist/primitives/Tooltip.js +5 -0
  522. package/dist/primitives/Tooltip.js.map +1 -0
  523. package/dist/primitives/TooltipContent.cjs +14 -0
  524. package/dist/primitives/TooltipContent.cjs.map +1 -0
  525. package/dist/primitives/TooltipContent.d.ts +1 -1
  526. package/dist/primitives/TooltipContent.js +5 -0
  527. package/dist/primitives/TooltipContent.js.map +1 -0
  528. package/dist/primitives/TooltipProvider.cjs +14 -0
  529. package/dist/primitives/TooltipProvider.cjs.map +1 -0
  530. package/dist/primitives/TooltipProvider.d.ts +1 -1
  531. package/dist/primitives/TooltipProvider.js +5 -0
  532. package/dist/primitives/TooltipProvider.js.map +1 -0
  533. package/dist/primitives/TooltipTrigger.cjs +14 -0
  534. package/dist/primitives/TooltipTrigger.cjs.map +1 -0
  535. package/dist/primitives/TooltipTrigger.d.ts +1 -1
  536. package/dist/primitives/TooltipTrigger.js +5 -0
  537. package/dist/primitives/TooltipTrigger.js.map +1 -0
  538. package/dist/primitives/badgeVariants.cjs +14 -0
  539. package/dist/primitives/badgeVariants.cjs.map +1 -0
  540. package/dist/primitives/badgeVariants.d.ts +1 -1
  541. package/dist/primitives/badgeVariants.js +5 -0
  542. package/dist/primitives/badgeVariants.js.map +1 -0
  543. package/dist/primitives/bases/data/index.cjs +1 -0
  544. package/dist/primitives/bases/data/index.js +1 -0
  545. package/dist/primitives/buttonVariants.cjs +14 -0
  546. package/dist/primitives/buttonVariants.cjs.map +1 -0
  547. package/dist/primitives/buttonVariants.d.ts +1 -1
  548. package/dist/primitives/buttonVariants.js +5 -0
  549. package/dist/primitives/buttonVariants.js.map +1 -0
  550. package/dist/primitives/index.cjs +370 -0
  551. package/dist/primitives/index.cjs.map +1 -0
  552. package/dist/primitives/index.d.ts +1 -1
  553. package/dist/primitives/index.js +5 -0
  554. package/dist/primitives/index.js.map +1 -0
  555. package/dist/primitives/toast.cjs +14 -0
  556. package/dist/primitives/toast.cjs.map +1 -0
  557. package/dist/primitives/toast.d.ts +1 -1
  558. package/dist/primitives/toast.js +5 -0
  559. package/dist/primitives/toast.js.map +1 -0
  560. package/dist/product/index.cjs +285 -35
  561. package/dist/product/index.cjs.map +1 -1
  562. package/dist/product/index.d.ts +1 -0
  563. package/dist/product/index.js +265 -9
  564. package/dist/product/index.js.map +1 -1
  565. package/dist/product/menu/index.d.ts +1 -1
  566. package/dist/product/social/api.cjs +1 -0
  567. package/dist/product/social/api.js +1 -0
  568. package/dist/product/social/index.cjs +1 -0
  569. package/dist/product/social/index.js +1 -0
  570. package/dist/styles/hanzo-motion.css +188 -0
  571. package/dist/telemetry.cjs +1 -0
  572. package/dist/telemetry.js +1 -0
  573. package/dist/theme.css +160 -0
  574. package/dist/usage.cjs +1 -0
  575. package/dist/usage.js +1 -0
  576. package/package.json +31 -71
  577. package/dist/backends/shadcn/aspect-ratio.d.ts +0 -4
  578. package/dist/backends/shadcn/avatar.d.ts +0 -6
  579. package/dist/backends/shadcn/badge.d.ts +0 -9
  580. package/dist/backends/shadcn/button.d.ts +0 -19
  581. package/dist/backends/shadcn/card.d.ts +0 -9
  582. package/dist/backends/shadcn/checkbox.d.ts +0 -9
  583. package/dist/backends/shadcn/collapsible.d.ts +0 -5
  584. package/dist/backends/shadcn/command.d.ts +0 -80
  585. package/dist/backends/shadcn/dialog.d.ts +0 -15
  586. package/dist/backends/shadcn/dropdown-menu.d.ts +0 -34
  587. package/dist/backends/shadcn/index.d.ts +0 -23
  588. package/dist/backends/shadcn/input.d.ts +0 -11
  589. package/dist/backends/shadcn/label.d.ts +0 -4
  590. package/dist/backends/shadcn/popover.d.ts +0 -7
  591. package/dist/backends/shadcn/progress.d.ts +0 -4
  592. package/dist/backends/shadcn/scroll-area.d.ts +0 -5
  593. package/dist/backends/shadcn/select.d.ts +0 -13
  594. package/dist/backends/shadcn/separator.d.ts +0 -4
  595. package/dist/backends/shadcn/slider.d.ts +0 -4
  596. package/dist/backends/shadcn/switch.d.ts +0 -4
  597. package/dist/backends/shadcn/tabs.d.ts +0 -7
  598. package/dist/backends/shadcn/textarea.d.ts +0 -4
  599. package/dist/backends/shadcn/toaster.d.ts +0 -10
  600. package/dist/backends/shadcn/tooltip.d.ts +0 -7
  601. package/dist/backends/shadcn/utils.d.ts +0 -8
  602. package/dist/billing.cjs +0 -14
  603. package/dist/billing.cjs.map +0 -1
  604. package/dist/billing.d.ts +0 -1
  605. package/dist/billing.js +0 -3
  606. package/dist/billing.js.map +0 -1
  607. package/dist/chunk-5CZOYONP.js +0 -342
  608. package/dist/chunk-5CZOYONP.js.map +0 -1
  609. package/dist/chunk-GWNNLYX4.cjs +0 -352
  610. package/dist/chunk-GWNNLYX4.cjs.map +0 -1
  611. package/dist/network.cjs +0 -14
  612. package/dist/network.cjs.map +0 -1
  613. package/dist/network.d.ts +0 -1
  614. package/dist/network.js +0 -3
  615. package/dist/network.js.map +0 -1
  616. package/dist/product/menu/DropdownMenu.d.ts +0 -29
  617. package/dist/wallet.cjs +0 -14
  618. package/dist/wallet.cjs.map +0 -1
  619. package/dist/wallet.d.ts +0 -1
  620. package/dist/wallet.js +0 -3
  621. package/dist/wallet.js.map +0 -1
@@ -0,0 +1,263 @@
1
+ 'use client';
2
+ import { Menu, Theme, XStack, YStack, Text, useThemeName } from '@hanzo/gui';
3
+ export { useThemeName } from '@hanzo/gui';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+ import * as React from 'react';
6
+ import { Check, ChevronRight, Circle } from '@hanzogui/lucide-icons-2';
7
+
8
+ // src/product/menu/portal-theme.tsx
9
+ function PortalTheme({ name, children }) {
10
+ return /* @__PURE__ */ jsx(Theme, { name, children });
11
+ }
12
+ var ROW_H = 32;
13
+ var TAP_MIN = 44;
14
+ var HIT_SLOP = {
15
+ top: (TAP_MIN - ROW_H) / 2,
16
+ bottom: (TAP_MIN - ROW_H) / 2,
17
+ left: 0,
18
+ right: 0
19
+ };
20
+ var ROW_PX = 8;
21
+ var INSET_PL = 32;
22
+ var INDICATOR_SLOT = 14;
23
+ var ICON = 16;
24
+ var panel = {
25
+ bg: "$color2",
26
+ borderColor: "$borderColor",
27
+ borderWidth: 1,
28
+ rounded: "$4",
29
+ p: 4,
30
+ minW: 128,
31
+ overflow: "hidden",
32
+ shadowColor: "rgba(0,0,0,0.45)",
33
+ shadowRadius: 20,
34
+ shadowOffset: { width: 0, height: 10 }
35
+ };
36
+ var row = {
37
+ items: "center",
38
+ gap: ROW_PX,
39
+ px: ROW_PX,
40
+ minH: ROW_H,
41
+ rounded: "$3",
42
+ select: "none",
43
+ cursor: "pointer",
44
+ hitSlop: HIT_SLOP,
45
+ hoverStyle: { bg: "$color5" },
46
+ focusStyle: { bg: "$color5" },
47
+ pressStyle: { bg: "$color6" }
48
+ };
49
+ var Indicator = ({ children }) => /* @__PURE__ */ jsx(
50
+ XStack,
51
+ {
52
+ position: "absolute",
53
+ l: ROW_PX,
54
+ width: INDICATOR_SLOT,
55
+ height: INDICATOR_SLOT,
56
+ items: "center",
57
+ justify: "center",
58
+ pointerEvents: "none",
59
+ children: /* @__PURE__ */ jsx(Menu.ItemIndicator, { children })
60
+ }
61
+ );
62
+ var OffsetContext = /* @__PURE__ */ React.createContext(null);
63
+ var DEFAULT_OFFSET = 4;
64
+ function DropdownMenu({
65
+ offset = DEFAULT_OFFSET,
66
+ trigger,
67
+ items,
68
+ minWidth,
69
+ maxHeight,
70
+ children,
71
+ ...props
72
+ }) {
73
+ const [current, setOffset] = React.useState(offset);
74
+ React.useEffect(() => setOffset(offset), [offset]);
75
+ return /* @__PURE__ */ jsx(OffsetContext.Provider, { value: setOffset, children: /* @__PURE__ */ jsxs(Menu, { offset: current, ...props, children: [
76
+ trigger ? /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: trigger }) : null,
77
+ items ? /* @__PURE__ */ jsx(DropdownMenuContent, { minW: minWidth, maxH: maxHeight, children: items.map(renderSpec) }) : null,
78
+ children
79
+ ] }) });
80
+ }
81
+ var renderSpec = (spec, i) => {
82
+ if (spec.type === "separator")
83
+ return /* @__PURE__ */ jsx(DropdownMenuSeparator, {}, spec.key ?? `sep-${i}`);
84
+ if (spec.type === "label")
85
+ return /* @__PURE__ */ jsx(DropdownMenuLabel, { children: spec.label }, spec.key ?? `label-${i}`);
86
+ return /* @__PURE__ */ jsxs(
87
+ DropdownMenuItem,
88
+ {
89
+ disabled: spec.disabled,
90
+ variant: spec.destructive ? "destructive" : "default",
91
+ onSelect: spec.onSelect,
92
+ children: [
93
+ spec.icon ? /* @__PURE__ */ jsx(
94
+ XStack,
95
+ {
96
+ width: ICON,
97
+ height: ICON,
98
+ items: "center",
99
+ justify: "center",
100
+ shrink: 0,
101
+ children: spec.icon
102
+ }
103
+ ) : null,
104
+ /* @__PURE__ */ jsxs(YStack, { flex: 1, minW: 0, children: [
105
+ /* @__PURE__ */ jsx(Text, { fontSize: "$2", color: "$color12", numberOfLines: 1, children: spec.label }),
106
+ spec.description ? /* @__PURE__ */ jsx(Text, { fontSize: "$1", color: "$color11", numberOfLines: 1, children: spec.description }) : null
107
+ ] }),
108
+ spec.shortcut ? /* @__PURE__ */ jsx(DropdownMenuShortcut, { children: spec.shortcut }) : null,
109
+ spec.selected ? /* @__PURE__ */ jsx(Check, { size: ICON - 2, ml: "auto" }) : null,
110
+ spec.hasSubmenu ? /* @__PURE__ */ jsx(ChevronRight, { size: ICON - 2, ml: "auto", opacity: 0.6 }) : null
111
+ ]
112
+ },
113
+ spec.key
114
+ );
115
+ };
116
+ var DropdownMenuTrigger = Menu.Trigger;
117
+ var DropdownMenuGroup = Menu.Group;
118
+ var DropdownMenuPortal = Menu.Portal;
119
+ var DropdownMenuSub = Menu.Sub;
120
+ var DropdownMenuRadioGroup = Menu.RadioGroup;
121
+ var DropdownMenuContent = /* @__PURE__ */ React.forwardRef(function DropdownMenuContent2({ sideOffset = DEFAULT_OFFSET, children, ...props }, ref) {
122
+ const themeName = useThemeName();
123
+ const setOffset = React.useContext(OffsetContext);
124
+ React.useEffect(() => setOffset?.(sideOffset), [setOffset, sideOffset]);
125
+ return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(PortalTheme, { name: themeName, children: /* @__PURE__ */ jsx(
126
+ Menu.Content,
127
+ {
128
+ ref,
129
+ "data-slot": "dropdown-menu-content",
130
+ ...panel,
131
+ ...props,
132
+ children
133
+ }
134
+ ) }) });
135
+ });
136
+ var DropdownMenuSubContent = /* @__PURE__ */ React.forwardRef(function DropdownMenuSubContent2(props, ref) {
137
+ return /* @__PURE__ */ jsx(
138
+ Menu.SubContent,
139
+ {
140
+ ref,
141
+ "data-slot": "dropdown-menu-sub-content",
142
+ ...panel,
143
+ ...props
144
+ }
145
+ );
146
+ });
147
+ var DropdownMenuItem = /* @__PURE__ */ React.forwardRef(function DropdownMenuItem2({ inset, variant = "default", disabled, ...props }, ref) {
148
+ return /* @__PURE__ */ jsx(
149
+ Menu.Item,
150
+ {
151
+ ref,
152
+ "data-slot": "dropdown-menu-item",
153
+ "data-inset": inset,
154
+ "data-variant": variant,
155
+ disabled,
156
+ ...row,
157
+ pl: inset ? INSET_PL : ROW_PX,
158
+ theme: variant === "destructive" ? "red" : void 0,
159
+ opacity: disabled ? 0.5 : 1,
160
+ cursor: disabled ? "default" : "pointer",
161
+ ...props
162
+ }
163
+ );
164
+ });
165
+ var DropdownMenuCheckboxItem = /* @__PURE__ */ React.forwardRef(function DropdownMenuCheckboxItem2({ children, checked, ...props }, ref) {
166
+ return /* @__PURE__ */ jsxs(
167
+ Menu.CheckboxItem,
168
+ {
169
+ ref,
170
+ "data-slot": "dropdown-menu-checkbox-item",
171
+ checked,
172
+ ...row,
173
+ pl: INSET_PL,
174
+ ...props,
175
+ children: [
176
+ /* @__PURE__ */ jsx(Indicator, { children: /* @__PURE__ */ jsx(Check, { size: ICON }) }),
177
+ children
178
+ ]
179
+ }
180
+ );
181
+ });
182
+ var DropdownMenuRadioItem = /* @__PURE__ */ React.forwardRef(function DropdownMenuRadioItem2({ children, ...props }, ref) {
183
+ return /* @__PURE__ */ jsxs(
184
+ Menu.RadioItem,
185
+ {
186
+ ref,
187
+ "data-slot": "dropdown-menu-radio-item",
188
+ ...row,
189
+ pl: INSET_PL,
190
+ ...props,
191
+ children: [
192
+ /* @__PURE__ */ jsx(Indicator, { children: /* @__PURE__ */ jsx(Circle, { size: 8, fill: "currentColor" }) }),
193
+ children
194
+ ]
195
+ }
196
+ );
197
+ });
198
+ var DropdownMenuSubTrigger = /* @__PURE__ */ React.forwardRef(function DropdownMenuSubTrigger2({ inset, children, ...props }, ref) {
199
+ return /* @__PURE__ */ jsxs(
200
+ Menu.SubTrigger,
201
+ {
202
+ ref,
203
+ "data-slot": "dropdown-menu-sub-trigger",
204
+ "data-inset": inset,
205
+ ...row,
206
+ pl: inset ? INSET_PL : ROW_PX,
207
+ ...props,
208
+ children: [
209
+ children,
210
+ /* @__PURE__ */ jsx(ChevronRight, { size: ICON, ml: "auto", opacity: 0.6 })
211
+ ]
212
+ }
213
+ );
214
+ });
215
+ var DropdownMenuLabel = /* @__PURE__ */ React.forwardRef(function DropdownMenuLabel2({ inset, ...props }, ref) {
216
+ return /* @__PURE__ */ jsx(
217
+ Menu.Label,
218
+ {
219
+ ref,
220
+ "data-slot": "dropdown-menu-label",
221
+ "data-inset": inset,
222
+ px: ROW_PX,
223
+ py: 4,
224
+ pl: inset ? INSET_PL : ROW_PX,
225
+ fontSize: "$2",
226
+ fontWeight: "500",
227
+ color: "$color12",
228
+ select: "none",
229
+ ...props
230
+ }
231
+ );
232
+ });
233
+ var DropdownMenuSeparator = /* @__PURE__ */ React.forwardRef(function DropdownMenuSeparator2(props, ref) {
234
+ return /* @__PURE__ */ jsx(
235
+ Menu.Separator,
236
+ {
237
+ ref,
238
+ "data-slot": "dropdown-menu-separator",
239
+ height: 1,
240
+ bg: "$borderColor",
241
+ mx: 4,
242
+ my: 4,
243
+ ...props
244
+ }
245
+ );
246
+ });
247
+ function DropdownMenuShortcut(props) {
248
+ return /* @__PURE__ */ jsx(
249
+ Text,
250
+ {
251
+ "data-slot": "dropdown-menu-shortcut",
252
+ ml: "auto",
253
+ fontSize: "$1",
254
+ letterSpacing: 1,
255
+ color: "$color11",
256
+ ...props
257
+ }
258
+ );
259
+ }
260
+
261
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, PortalTheme };
262
+ //# sourceMappingURL=chunk-PI3GSHLU.js.map
263
+ //# sourceMappingURL=chunk-PI3GSHLU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/product/menu/portal-theme.tsx","../src/backends/gui/dropdown-menu.tsx"],"names":["jsx","DropdownMenuContent","DropdownMenuSubContent","DropdownMenuItem","DropdownMenuCheckboxItem","DropdownMenuRadioItem","DropdownMenuSubTrigger","DropdownMenuLabel","DropdownMenuSeparator"],"mappings":"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","file":"chunk-PI3GSHLU.js","sourcesContent":["'use client'\n\n/**\n * PortalTheme — the ONE fix for \"themed content escapes its theme through a portal\".\n *\n * @hanzo/gui's `Popover.Content` and `Portal` render their children in a SEPARATE\n * React subtree (a Gorhom-style portal host mounted at the app root), NOT via\n * `ReactDOM.createPortal`. React context therefore does NOT flow from the trigger's\n * location to the host. Under a nested `<Theme name=\"dark\">` the portaled content\n * lands OUTSIDE that theme context and Tamagui throws \"Missing theme\" (or renders\n * unthemed).\n *\n * The fix is two-part and must stay two-part:\n * 1. At the TRIGGER site (theme context still available) capture the resolved\n * theme name with `useThemeName()`.\n * 2. INSIDE the portaled content re-apply it: `<PortalTheme name={captured}>`.\n *\n * Every portal-backed menu in this package (DropdownMenu, ContextMenu, SelectMenu,\n * ComboBox) uses this so a menu renders identically whether it is opened under the\n * root theme or under any nested `<Theme>`, light or dark.\n */\nimport type { ReactNode } from 'react'\nimport { Theme, useThemeName } from '@hanzo/gui'\n\n/** Capture the current resolved theme name at the trigger site. Re-exported so the\n * capture + re-apply pair reads from one module. */\nexport { useThemeName }\n\nexport function PortalTheme({ name, children }: { name: string; children: ReactNode }) {\n // `name` is the resolved theme name (e.g. \"dark\", or a compound \"dark_purple\").\n // Tamagui's `Theme` accepts the resolved name and reconstructs the context.\n return <Theme name={name as never}>{children}</Theme>\n}\n","\"use client\"\n\n/**\n * DropdownMenu — the ONE compound menu, native to @hanzo/gui.\n *\n * @hanzogui/menu already ships the whole compound surface (Root/Trigger/Portal/\n * Content/Group/Label/Item/CheckboxItem/RadioGroup/RadioItem/ItemIndicator/\n * Separator/Sub/SubTrigger/SubContent) with the a11y, roving focus, popper\n * placement and dismiss behaviour. This file only FLATTENS `Menu.X` into the 15\n * `DropdownMenuX` names and dresses them in the Hanzo tokens, so there is one\n * menu component rather than two shapes of the same idea.\n *\n * Cross-platform: gui style props only — no Tailwind class strings, no Radix, no\n * DOM APIs. Rows are 32px tall (the design density) with a 6px vertical `hitSlop`\n * so the real tap target is 44px on touch hosts.\n *\n * `DropdownMenuContent` mounts its OWN `Menu.Portal`, so callers never wrap it —\n * and re-applies the trigger's resolved theme inside the portal via `PortalTheme`\n * (gui portals re-root the subtree, so React theme context does not flow).\n */\nimport * as React from \"react\"\nimport { Menu, Text, XStack, YStack, type GuiElement } from \"@hanzo/gui\"\nimport { Check, ChevronRight, Circle } from \"@hanzogui/lucide-icons-2\"\n\nimport type { MenuItemSpec } from \"../../product/menu/items\"\nimport { PortalTheme, useThemeName } from \"../../product/menu/portal-theme\"\n\n// ── Geometry — literal px on the 8-grid; 32px row + 6px hitSlop = 44px tap ──────\nconst ROW_H = 32\nconst TAP_MIN = 44\nconst HIT_SLOP = {\n top: (TAP_MIN - ROW_H) / 2,\n bottom: (TAP_MIN - ROW_H) / 2,\n left: 0,\n right: 0,\n}\nconst ROW_PX = 8\nconst INSET_PL = 32\nconst INDICATOR_SLOT = 14\nconst ICON = 16\n\nconst panel = {\n bg: \"$color2\",\n borderColor: \"$borderColor\",\n borderWidth: 1,\n rounded: \"$4\",\n p: 4,\n minW: 128,\n overflow: \"hidden\",\n shadowColor: \"rgba(0,0,0,0.45)\",\n shadowRadius: 20,\n shadowOffset: { width: 0, height: 10 },\n} as const\n\nconst row = {\n items: \"center\",\n gap: ROW_PX,\n px: ROW_PX,\n minH: ROW_H,\n rounded: \"$3\",\n select: \"none\",\n cursor: \"pointer\",\n hitSlop: HIT_SLOP,\n hoverStyle: { bg: \"$color5\" },\n focusStyle: { bg: \"$color5\" },\n pressStyle: { bg: \"$color6\" },\n} as const\n\n/** Left indicator well shared by checkbox + radio rows. */\nconst Indicator = ({ children }: { children: React.ReactNode }) => (\n <XStack\n position=\"absolute\"\n l={ROW_PX}\n width={INDICATOR_SLOT}\n height={INDICATOR_SLOT}\n items=\"center\"\n justify=\"center\"\n pointerEvents=\"none\"\n >\n <Menu.ItemIndicator>{children}</Menu.ItemIndicator>\n </XStack>\n)\n\n// ── Root — owns popper geometry ─────────────────────────────────────────────────\n// gui puts `offset` on the Popper ROOT; the compound API puts `sideOffset` on\n// Content. One value, one owner: the root holds it, Content publishes into it.\nconst OffsetContext = /* @__PURE__ */ React.createContext<\n ((n: number) => void) | null\n>(null)\nconst DEFAULT_OFFSET = 4\n\nexport type DropdownMenuProps = Omit<\n React.ComponentProps<typeof Menu>,\n \"offset\"\n> & {\n offset?: number\n /**\n * Declarative form. Give a `trigger` element and an `items` spec and the menu\n * builds itself out of the very same compound parts a hand-written `children`\n * tree would use — one component, one API, one rendering, whichever form the\n * call site prefers.\n */\n trigger?: React.ReactElement\n items?: MenuItemSpec[]\n minWidth?: number\n maxHeight?: number\n}\n\nfunction DropdownMenu({\n offset = DEFAULT_OFFSET,\n trigger,\n items,\n minWidth,\n maxHeight,\n children,\n ...props\n}: DropdownMenuProps) {\n const [current, setOffset] = React.useState(offset)\n React.useEffect(() => setOffset(offset), [offset])\n return (\n <OffsetContext.Provider value={setOffset}>\n <Menu offset={current} {...props}>\n {trigger ? (\n <DropdownMenuTrigger asChild>{trigger}</DropdownMenuTrigger>\n ) : null}\n {items ? (\n <DropdownMenuContent minW={minWidth} maxH={maxHeight}>\n {items.map(renderSpec)}\n </DropdownMenuContent>\n ) : null}\n {children}\n </Menu>\n </OffsetContext.Provider>\n )\n}\n\n/** One spec row -> the matching compound part. Never a second row renderer. */\nconst renderSpec = (spec: MenuItemSpec, i: number) => {\n if (spec.type === \"separator\")\n return <DropdownMenuSeparator key={spec.key ?? `sep-${i}`} />\n if (spec.type === \"label\")\n return (\n <DropdownMenuLabel key={spec.key ?? `label-${i}`}>\n {spec.label}\n </DropdownMenuLabel>\n )\n return (\n <DropdownMenuItem\n key={spec.key}\n disabled={spec.disabled}\n variant={spec.destructive ? \"destructive\" : \"default\"}\n onSelect={spec.onSelect}\n >\n {spec.icon ? (\n <XStack\n width={ICON}\n height={ICON}\n items=\"center\"\n justify=\"center\"\n shrink={0}\n >\n {spec.icon}\n </XStack>\n ) : null}\n <YStack flex={1} minW={0}>\n <Text fontSize=\"$2\" color=\"$color12\" numberOfLines={1}>\n {spec.label}\n </Text>\n {spec.description ? (\n <Text fontSize=\"$1\" color=\"$color11\" numberOfLines={1}>\n {spec.description}\n </Text>\n ) : null}\n </YStack>\n {spec.shortcut ? (\n <DropdownMenuShortcut>{spec.shortcut}</DropdownMenuShortcut>\n ) : null}\n {spec.selected ? <Check size={ICON - 2} ml=\"auto\" /> : null}\n {spec.hasSubmenu ? (\n <ChevronRight size={ICON - 2} ml=\"auto\" opacity={0.6} />\n ) : null}\n </DropdownMenuItem>\n )\n}\n\n// ── Passthroughs — the gui part already IS the part ─────────────────────────────\nconst DropdownMenuTrigger: typeof Menu.Trigger = Menu.Trigger\nconst DropdownMenuGroup: typeof Menu.Group = Menu.Group\nconst DropdownMenuPortal: typeof Menu.Portal = Menu.Portal\nconst DropdownMenuSub: typeof Menu.Sub = Menu.Sub\nconst DropdownMenuRadioGroup: typeof Menu.RadioGroup = Menu.RadioGroup\n\n// ── Content — self-portalling, theme-forwarded ──────────────────────────────────\ntype ContentProps = React.ComponentProps<typeof Menu.Content> & {\n sideOffset?: number\n}\n\nconst DropdownMenuContent = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n ContentProps\n>(function DropdownMenuContent(\n { sideOffset = DEFAULT_OFFSET, children, ...props },\n ref\n) {\n const themeName = useThemeName()\n const setOffset = React.useContext(OffsetContext)\n React.useEffect(() => setOffset?.(sideOffset), [setOffset, sideOffset])\n return (\n <Menu.Portal>\n <PortalTheme name={themeName}>\n <Menu.Content\n ref={ref}\n data-slot=\"dropdown-menu-content\"\n {...panel}\n {...props}\n >\n {children}\n </Menu.Content>\n </PortalTheme>\n </Menu.Portal>\n )\n})\n\nconst DropdownMenuSubContent = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n React.ComponentProps<typeof Menu.SubContent>\n>(function DropdownMenuSubContent(props, ref) {\n return (\n <Menu.SubContent\n ref={ref}\n data-slot=\"dropdown-menu-sub-content\"\n {...panel}\n {...props}\n />\n )\n})\n\n// ── Rows ────────────────────────────────────────────────────────────────────────\ntype ItemProps = Omit<React.ComponentProps<typeof Menu.Item>, \"variant\"> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}\n\nconst DropdownMenuItem = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n ItemProps\n>(function DropdownMenuItem(\n { inset, variant = \"default\", disabled, ...props },\n ref\n) {\n return (\n <Menu.Item\n ref={ref}\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n disabled={disabled}\n {...row}\n pl={inset ? INSET_PL : ROW_PX}\n theme={variant === \"destructive\" ? \"red\" : undefined}\n opacity={disabled ? 0.5 : 1}\n cursor={disabled ? \"default\" : \"pointer\"}\n {...props}\n />\n )\n})\n\nconst DropdownMenuCheckboxItem = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n React.ComponentProps<typeof Menu.CheckboxItem>\n>(function DropdownMenuCheckboxItem({ children, checked, ...props }, ref) {\n return (\n <Menu.CheckboxItem\n ref={ref}\n data-slot=\"dropdown-menu-checkbox-item\"\n checked={checked}\n {...row}\n pl={INSET_PL}\n {...props}\n >\n <Indicator>\n <Check size={ICON} />\n </Indicator>\n {children}\n </Menu.CheckboxItem>\n )\n})\n\nconst DropdownMenuRadioItem = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n React.ComponentProps<typeof Menu.RadioItem>\n>(function DropdownMenuRadioItem({ children, ...props }, ref) {\n return (\n <Menu.RadioItem\n ref={ref}\n data-slot=\"dropdown-menu-radio-item\"\n {...row}\n pl={INSET_PL}\n {...props}\n >\n <Indicator>\n <Circle size={8} fill=\"currentColor\" />\n </Indicator>\n {children}\n </Menu.RadioItem>\n )\n})\n\nconst DropdownMenuSubTrigger = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n React.ComponentProps<typeof Menu.SubTrigger> & { inset?: boolean }\n>(function DropdownMenuSubTrigger({ inset, children, ...props }, ref) {\n return (\n <Menu.SubTrigger\n ref={ref}\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n {...row}\n pl={inset ? INSET_PL : ROW_PX}\n {...props}\n >\n {children}\n <ChevronRight size={ICON} ml=\"auto\" opacity={0.6} />\n </Menu.SubTrigger>\n )\n})\n\n// ── Static rows ─────────────────────────────────────────────────────────────────\nconst DropdownMenuLabel = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n React.ComponentProps<typeof Menu.Label> & { inset?: boolean }\n>(function DropdownMenuLabel({ inset, ...props }, ref) {\n return (\n <Menu.Label\n ref={ref}\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n px={ROW_PX}\n py={4}\n pl={inset ? INSET_PL : ROW_PX}\n fontSize=\"$2\"\n fontWeight=\"500\"\n color=\"$color12\"\n select=\"none\"\n {...props}\n />\n )\n})\n\nconst DropdownMenuSeparator = /* @__PURE__ */ React.forwardRef<\n GuiElement,\n React.ComponentProps<typeof Menu.Separator>\n>(function DropdownMenuSeparator(props, ref) {\n return (\n <Menu.Separator\n ref={ref}\n data-slot=\"dropdown-menu-separator\"\n height={1}\n bg=\"$borderColor\"\n mx={4}\n my={4}\n {...props}\n />\n )\n})\n\n/** Right-aligned shortcut hint. gui `Text`, not a raw `<span>`, so it renders on native. */\nfunction DropdownMenuShortcut(props: React.ComponentProps<typeof Text>) {\n return (\n <Text\n data-slot=\"dropdown-menu-shortcut\"\n ml=\"auto\"\n fontSize=\"$1\"\n letterSpacing={1}\n color=\"$color11\"\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n"]}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { clsx } from 'clsx';
3
+
4
+ // src/core/cn.ts
5
+ function cn(...inputs) {
6
+ return clsx(inputs);
7
+ }
8
+
9
+ export { cn };
10
+ //# sourceMappingURL=chunk-QHC2ZNAF.js.map
11
+ //# sourceMappingURL=chunk-QHC2ZNAF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/cn.ts"],"names":[],"mappings":";;;AASO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,KAAK,MAAM,CAAA;AACpB","file":"chunk-QHC2ZNAF.js","sourcesContent":["/**\n * `cn` — the one class-name composer.\n *\n * `clsx` resolves conditional/array/object class inputs. There is no Tailwind\n * conflict-resolution step because there are no Tailwind utilities to resolve:\n * components render on @hanzo/gui, which styles through props, not class names.\n */\nimport { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs)\n}\n"]}
@@ -0,0 +1,77 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var tokens = require('@hanzo/tokens');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "colors", {
9
+ enumerable: true,
10
+ get: function () { return tokens.colors; }
11
+ });
12
+ Object.defineProperty(exports, "dark", {
13
+ enumerable: true,
14
+ get: function () { return tokens.dark; }
15
+ });
16
+ Object.defineProperty(exports, "fontFamily", {
17
+ enumerable: true,
18
+ get: function () { return tokens.fontFamily; }
19
+ });
20
+ Object.defineProperty(exports, "fontSize", {
21
+ enumerable: true,
22
+ get: function () { return tokens.fontSize; }
23
+ });
24
+ Object.defineProperty(exports, "fontSizePx", {
25
+ enumerable: true,
26
+ get: function () { return tokens.fontSizePx; }
27
+ });
28
+ Object.defineProperty(exports, "fontWeight", {
29
+ enumerable: true,
30
+ get: function () { return tokens.fontWeight; }
31
+ });
32
+ Object.defineProperty(exports, "hsl", {
33
+ enumerable: true,
34
+ get: function () { return tokens.hsl; }
35
+ });
36
+ Object.defineProperty(exports, "letterSpacing", {
37
+ enumerable: true,
38
+ get: function () { return tokens.letterSpacing; }
39
+ });
40
+ Object.defineProperty(exports, "light", {
41
+ enumerable: true,
42
+ get: function () { return tokens.light; }
43
+ });
44
+ Object.defineProperty(exports, "lineHeight", {
45
+ enumerable: true,
46
+ get: function () { return tokens.lineHeight; }
47
+ });
48
+ Object.defineProperty(exports, "oklch", {
49
+ enumerable: true,
50
+ get: function () { return tokens.oklch; }
51
+ });
52
+ Object.defineProperty(exports, "radii", {
53
+ enumerable: true,
54
+ get: function () { return tokens.radii; }
55
+ });
56
+ Object.defineProperty(exports, "radiiPx", {
57
+ enumerable: true,
58
+ get: function () { return tokens.radiiPx; }
59
+ });
60
+ Object.defineProperty(exports, "spacing", {
61
+ enumerable: true,
62
+ get: function () { return tokens.spacing; }
63
+ });
64
+ Object.defineProperty(exports, "spacingPx", {
65
+ enumerable: true,
66
+ get: function () { return tokens.spacingPx; }
67
+ });
68
+ Object.defineProperty(exports, "themes", {
69
+ enumerable: true,
70
+ get: function () { return tokens.themes; }
71
+ });
72
+ Object.defineProperty(exports, "zinc", {
73
+ enumerable: true,
74
+ get: function () { return tokens.zinc; }
75
+ });
76
+ //# sourceMappingURL=chunk-QV52JQHR.cjs.map
77
+ //# sourceMappingURL=chunk-QV52JQHR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-QV52JQHR.cjs","sourcesContent":[]}
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var clsx = require('clsx');
5
+
6
+ // src/core/cn.ts
7
+ function cn(...inputs) {
8
+ return clsx.clsx(inputs);
9
+ }
10
+
11
+ exports.cn = cn;
12
+ //# sourceMappingURL=chunk-RBS5AYO4.cjs.map
13
+ //# sourceMappingURL=chunk-RBS5AYO4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/cn.ts"],"names":["clsx"],"mappings":";;;;;AASO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAOA,UAAK,MAAM,CAAA;AACpB","file":"chunk-RBS5AYO4.cjs","sourcesContent":["/**\n * `cn` — the one class-name composer.\n *\n * `clsx` resolves conditional/array/object class inputs. There is no Tailwind\n * conflict-resolution step because there are no Tailwind utilities to resolve:\n * components render on @hanzo/gui, which styles through props, not class names.\n */\nimport { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs)\n}\n"]}