@hanzo/ui 4.5.3 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/README-MCP.md +3 -3
  2. package/README.md +229 -0
  3. package/assets/ai-icons.tsx +207 -0
  4. package/assets/crypto.tsx +33 -0
  5. package/assets/file-type-icon.tsx +66 -0
  6. package/assets/file.tsx +45 -0
  7. package/assets/general.tsx +2318 -0
  8. package/assets/hanzo-logo.svg +9 -0
  9. package/assets/hanzo-logo.tsx +15 -0
  10. package/assets/index.ts +8 -0
  11. package/assets/index.tsx +4 -0
  12. package/assets/llm-provider.tsx +1094 -0
  13. package/bin/create-registry.js +1 -1
  14. package/bin/test-mcp.sh +1 -1
  15. package/bin/update-registry.js +2 -2
  16. package/blocks/components/content.tsx +1 -1
  17. package/blocks/components/grid-block/index.tsx +1 -1
  18. package/blocks/components/screenful-block/content.tsx +1 -1
  19. package/blocks/components/screenful-block/poster-background.tsx +1 -1
  20. package/components/index.ts +56 -0
  21. package/dist/button.d.ts +1 -0
  22. package/dist/button.js +1 -0
  23. package/dist/hooks/index.d.ts +7 -0
  24. package/dist/hooks/index.js +7 -0
  25. package/dist/hooks/use-click-away.d.ts +2 -0
  26. package/dist/hooks/use-click-away.js +23 -0
  27. package/dist/hooks/use-combined-refs.d.ts +3 -0
  28. package/dist/hooks/use-combined-refs.js +18 -0
  29. package/dist/hooks/use-copy-clipboard.d.ts +9 -0
  30. package/dist/hooks/use-copy-clipboard.js +21 -0
  31. package/dist/hooks/use-debounce.d.ts +1 -0
  32. package/dist/hooks/use-debounce.js +13 -0
  33. package/dist/hooks/use-fill-ids.d.ts +8 -0
  34. package/dist/hooks/use-fill-ids.js +20 -0
  35. package/dist/hooks/use-map.d.ts +1 -0
  36. package/dist/hooks/use-map.js +20 -0
  37. package/dist/hooks/use-measure.d.ts +8 -0
  38. package/dist/hooks/use-measure.js +25 -0
  39. package/dist/hooks/use-reverse-video-playback.d.ts +1 -0
  40. package/dist/hooks/use-reverse-video-playback.js +41 -0
  41. package/dist/hooks/use-scroll-restoration.d.ts +8 -0
  42. package/dist/hooks/use-scroll-restoration.js +36 -0
  43. package/dist/mcp/enhanced-server.js +3 -3
  44. package/dist/mcp/index.js +1 -1
  45. package/dist/registry/api.d.ts +1 -1
  46. package/dist/registry/api.js +3 -4
  47. package/dist/registry/index.d.ts +348 -4
  48. package/dist/registry/index.js +3 -3
  49. package/dist/utils.d.ts +1 -0
  50. package/dist/utils.js +1 -0
  51. package/helpers/file.ts +33 -0
  52. package/helpers/memoization.ts +40 -0
  53. package/package.json +27 -6
  54. package/primitives/accordion.tsx +53 -45
  55. package/primitives/alert-dialog.tsx +185 -0
  56. package/primitives/alert.tsx +74 -0
  57. package/primitives/apply-typography.tsx +1 -1
  58. package/primitives/avatar.tsx +37 -29
  59. package/primitives/background-beams.tsx +142 -0
  60. package/primitives/badge.tsx +27 -19
  61. package/primitives/breadcrumb.tsx +77 -62
  62. package/primitives/button.tsx +69 -72
  63. package/primitives/card.tsx +73 -59
  64. package/primitives/chat/chat-input-area.tsx +87 -0
  65. package/primitives/chat/chat-input.tsx +71 -0
  66. package/primitives/chat/files-preview.tsx +330 -0
  67. package/primitives/chat/index.ts +6 -0
  68. package/primitives/chat/json-form.tsx +8 -0
  69. package/primitives/chat/message-list.tsx +307 -0
  70. package/primitives/chat/message.tsx +569 -0
  71. package/primitives/chat/sqlite-preview.tsx +215 -0
  72. package/primitives/checkbox.tsx +18 -19
  73. package/primitives/collapsible.tsx +9 -0
  74. package/primitives/command.tsx +75 -83
  75. package/primitives/context-menu.tsx +115 -109
  76. package/primitives/copy-to-clipboard-icon.tsx +60 -0
  77. package/primitives/dialog-video-controller.tsx +1 -1
  78. package/primitives/dialog.tsx +111 -145
  79. package/primitives/dot-pattern.tsx +57 -0
  80. package/primitives/dots-loader.tsx +13 -0
  81. package/primitives/drawer.tsx +59 -87
  82. package/primitives/dropdown-menu.tsx +199 -0
  83. package/primitives/error-message.tsx +19 -0
  84. package/primitives/file-uploader.tsx +200 -0
  85. package/primitives/form.tsx +92 -87
  86. package/primitives/hover-card.tsx +28 -0
  87. package/primitives/icons/github.tsx +1 -1
  88. package/primitives/icons/youtube-logo.tsx +1 -1
  89. package/primitives/index-common.ts +121 -42
  90. package/primitives/index-next.ts +3 -1
  91. package/primitives/input.tsx +115 -20
  92. package/primitives/label.tsx +15 -23
  93. package/primitives/loading-spinner.tsx +1 -1
  94. package/primitives/markdown-preview.tsx +609 -0
  95. package/primitives/mermaid.tsx +196 -0
  96. package/primitives/next/link-element.tsx +1 -1
  97. package/primitives/next/mdx-link.tsx +1 -1
  98. package/primitives/pagination.tsx +117 -0
  99. package/primitives/popover.tsx +20 -25
  100. package/primitives/pretty-json-print.tsx +28 -0
  101. package/primitives/progress.tsx +14 -15
  102. package/primitives/prompt-textarea.tsx +72 -0
  103. package/primitives/qr-code.tsx +112 -0
  104. package/primitives/radio-group.tsx +25 -39
  105. package/primitives/resizable.tsx +47 -0
  106. package/primitives/scroll-area.tsx +35 -25
  107. package/primitives/search-input.tsx +66 -0
  108. package/primitives/select.tsx +62 -109
  109. package/primitives/separator.tsx +22 -26
  110. package/primitives/sheet.tsx +78 -117
  111. package/primitives/skeleton.tsx +13 -16
  112. package/primitives/slider.tsx +50 -60
  113. package/primitives/stepper.tsx +272 -0
  114. package/primitives/switch.tsx +14 -23
  115. package/primitives/table.tsx +65 -77
  116. package/primitives/tabs.tsx +29 -39
  117. package/primitives/text-link.tsx +25 -0
  118. package/primitives/textarea.tsx +61 -0
  119. package/primitives/textfield.tsx +75 -0
  120. package/primitives/toast.tsx +30 -0
  121. package/primitives/toggle-group.tsx +33 -33
  122. package/primitives/toggle.tsx +22 -51
  123. package/primitives/tooltip.tsx +37 -38
  124. package/registry.json +1 -1
  125. package/src/button.ts +1 -0
  126. package/src/hooks/index.ts +7 -0
  127. package/src/hooks/use-click-away.ts +31 -0
  128. package/src/hooks/use-combined-refs.ts +22 -0
  129. package/src/hooks/use-copy-clipboard.ts +30 -0
  130. package/src/hooks/use-debounce.ts +17 -0
  131. package/src/hooks/use-fill-ids.ts +25 -0
  132. package/src/hooks/use-map.ts +26 -0
  133. package/src/hooks/use-measure.ts +42 -0
  134. package/src/hooks/use-reverse-video-playback.ts +43 -0
  135. package/src/hooks/use-scroll-restoration.ts +50 -0
  136. package/{mcp → src/mcp}/README.md +1 -1
  137. package/{mcp → src/mcp}/enhanced-server.ts +2 -2
  138. package/{registry → src/registry}/api.ts +3 -3
  139. package/{registry → src/registry}/index.ts +3 -3
  140. package/src/utils.ts +1 -0
  141. package/style/theme-provider.tsx +1 -1
  142. package/test-imports.mjs +19 -0
  143. package/tsconfig.json +9 -4
  144. package/types/animation-def.ts +1 -1
  145. package/types/button-def.ts +1 -1
  146. package/types/index.ts +1 -1
  147. package/util/blob.ts +28 -0
  148. package/util/copy-to-clipboard.ts +17 -0
  149. package/util/create-shadow-root.ts +22 -0
  150. package/util/date.ts +83 -0
  151. package/util/debounce.ts +11 -0
  152. package/util/file.ts +15 -0
  153. package/util/format-and-abbreviate-as-currency.ts +1 -1
  154. package/util/format-text.ts +33 -0
  155. package/util/index.ts +9 -78
  156. package/util/timing.ts +3 -0
  157. package/util/toasts.tsx +17 -0
  158. package/utils.ts +9 -0
  159. package/dist/blocks/components/accordian-block.d.ts +0 -4
  160. package/dist/blocks/components/accordian-block.jsx +0 -25
  161. package/dist/blocks/components/block-component-props.d.ts +0 -7
  162. package/dist/blocks/components/block-component-props.js +0 -1
  163. package/dist/blocks/components/bullet-cards-block.d.ts +0 -4
  164. package/dist/blocks/components/bullet-cards-block.jsx +0 -25
  165. package/dist/blocks/components/card-block/index.d.ts +0 -6
  166. package/dist/blocks/components/card-block/index.jsx +0 -87
  167. package/dist/blocks/components/card-block/link-out-button.d.ts +0 -6
  168. package/dist/blocks/components/card-block/link-out-button.jsx +0 -4
  169. package/dist/blocks/components/card-block/util.d.ts +0 -4
  170. package/dist/blocks/components/card-block/util.js +0 -6
  171. package/dist/blocks/components/carte-blanche-block/index.d.ts +0 -4
  172. package/dist/blocks/components/carte-blanche-block/index.jsx +0 -82
  173. package/dist/blocks/components/carte-blanche-block/variant-content-left.d.ts +0 -10
  174. package/dist/blocks/components/carte-blanche-block/variant-content-left.jsx +0 -23
  175. package/dist/blocks/components/content.d.ts +0 -10
  176. package/dist/blocks/components/content.jsx +0 -47
  177. package/dist/blocks/components/cta-block.d.ts +0 -12
  178. package/dist/blocks/components/cta-block.jsx +0 -69
  179. package/dist/blocks/components/enh-heading-block.d.ts +0 -7
  180. package/dist/blocks/components/enh-heading-block.jsx +0 -142
  181. package/dist/blocks/components/grid-block/grid-block-mutator.d.ts +0 -5
  182. package/dist/blocks/components/grid-block/grid-block-mutator.js +0 -1
  183. package/dist/blocks/components/grid-block/index.d.ts +0 -9
  184. package/dist/blocks/components/grid-block/index.jsx +0 -56
  185. package/dist/blocks/components/grid-block/mutator-registry.d.ts +0 -3
  186. package/dist/blocks/components/grid-block/mutator-registry.js +0 -5
  187. package/dist/blocks/components/grid-block/table-borders.mutator.d.ts +0 -3
  188. package/dist/blocks/components/grid-block/table-borders.mutator.js +0 -36
  189. package/dist/blocks/components/group-block.d.ts +0 -7
  190. package/dist/blocks/components/group-block.jsx +0 -61
  191. package/dist/blocks/components/heading-block.d.ts +0 -4
  192. package/dist/blocks/components/heading-block.jsx +0 -99
  193. package/dist/blocks/components/image-block.d.ts +0 -7
  194. package/dist/blocks/components/image-block.jsx +0 -69
  195. package/dist/blocks/components/index.d.ts +0 -14
  196. package/dist/blocks/components/index.js +0 -13
  197. package/dist/blocks/components/screenful-block/content.d.ts +0 -8
  198. package/dist/blocks/components/screenful-block/content.jsx +0 -71
  199. package/dist/blocks/components/screenful-block/index.d.ts +0 -12
  200. package/dist/blocks/components/screenful-block/index.jsx +0 -57
  201. package/dist/blocks/components/screenful-block/poster-background.d.ts +0 -7
  202. package/dist/blocks/components/screenful-block/poster-background.jsx +0 -14
  203. package/dist/blocks/components/screenful-block/video-background.d.ts +0 -8
  204. package/dist/blocks/components/screenful-block/video-background.jsx +0 -20
  205. package/dist/blocks/components/space-block.d.ts +0 -4
  206. package/dist/blocks/components/space-block.jsx +0 -42
  207. package/dist/blocks/components/video-block.d.ts +0 -9
  208. package/dist/blocks/components/video-block.jsx +0 -83
  209. package/dist/blocks/def/accordian-block.d.ts +0 -10
  210. package/dist/blocks/def/accordian-block.js +0 -2
  211. package/dist/blocks/def/block.d.ts +0 -4
  212. package/dist/blocks/def/block.js +0 -1
  213. package/dist/blocks/def/bullet-cards-block.d.ts +0 -17
  214. package/dist/blocks/def/bullet-cards-block.js +0 -1
  215. package/dist/blocks/def/card-block.d.ts +0 -17
  216. package/dist/blocks/def/card-block.js +0 -2
  217. package/dist/blocks/def/carte-blanche-block.d.ts +0 -12
  218. package/dist/blocks/def/carte-blanche-block.js +0 -1
  219. package/dist/blocks/def/cta-block.d.ts +0 -8
  220. package/dist/blocks/def/cta-block.js +0 -1
  221. package/dist/blocks/def/element-block.d.ts +0 -7
  222. package/dist/blocks/def/element-block.js +0 -2
  223. package/dist/blocks/def/enh-heading-block.d.ts +0 -22
  224. package/dist/blocks/def/enh-heading-block.js +0 -1
  225. package/dist/blocks/def/grid-block.d.ts +0 -12
  226. package/dist/blocks/def/grid-block.js +0 -1
  227. package/dist/blocks/def/group-block.d.ts +0 -7
  228. package/dist/blocks/def/group-block.js +0 -1
  229. package/dist/blocks/def/heading-block.d.ts +0 -11
  230. package/dist/blocks/def/heading-block.js +0 -1
  231. package/dist/blocks/def/image-block.d.ts +0 -26
  232. package/dist/blocks/def/image-block.js +0 -1
  233. package/dist/blocks/def/index.d.ts +0 -17
  234. package/dist/blocks/def/index.js +0 -2
  235. package/dist/blocks/def/screenful-block.d.ts +0 -41
  236. package/dist/blocks/def/screenful-block.js +0 -1
  237. package/dist/blocks/def/space-block.d.ts +0 -47
  238. package/dist/blocks/def/space-block.js +0 -8
  239. package/dist/blocks/def/video-block.d.ts +0 -5
  240. package/dist/blocks/def/video-block.js +0 -1
  241. package/dist/blocks/index.d.ts +0 -2
  242. package/dist/blocks/index.js +0 -2
  243. package/dist/primitives/accordion.d.ts +0 -10
  244. package/dist/primitives/accordion.jsx +0 -21
  245. package/dist/primitives/action-button.d.ts +0 -9
  246. package/dist/primitives/action-button.jsx +0 -16
  247. package/dist/primitives/apply-typography.d.ts +0 -7
  248. package/dist/primitives/apply-typography.jsx +0 -38
  249. package/dist/primitives/aspect-ratio.d.ts +0 -3
  250. package/dist/primitives/aspect-ratio.jsx +0 -4
  251. package/dist/primitives/avatar.d.ts +0 -6
  252. package/dist/primitives/avatar.jsx +0 -11
  253. package/dist/primitives/badge.d.ts +0 -9
  254. package/dist/primitives/badge.jsx +0 -18
  255. package/dist/primitives/breadcrumb.d.ts +0 -19
  256. package/dist/primitives/breadcrumb.jsx +0 -27
  257. package/dist/primitives/breakpoint-indicator.d.ts +0 -3
  258. package/dist/primitives/breakpoint-indicator.jsx +0 -14
  259. package/dist/primitives/button.d.ts +0 -12
  260. package/dist/primitives/button.jsx +0 -55
  261. package/dist/primitives/calendar.d.ts +0 -8
  262. package/dist/primitives/calendar.jsx +0 -40
  263. package/dist/primitives/card.d.ts +0 -8
  264. package/dist/primitives/card.jsx +0 -18
  265. package/dist/primitives/carousel.d.ts +0 -18
  266. package/dist/primitives/carousel.jsx +0 -106
  267. package/dist/primitives/checkbox.d.ts +0 -4
  268. package/dist/primitives/checkbox.jsx +0 -15
  269. package/dist/primitives/combobox.d.ts +0 -41
  270. package/dist/primitives/combobox.jsx +0 -77
  271. package/dist/primitives/command.d.ts +0 -17
  272. package/dist/primitives/command.jsx +0 -38
  273. package/dist/primitives/context-menu.d.ts +0 -27
  274. package/dist/primitives/context-menu.jsx +0 -57
  275. package/dist/primitives/dialog-video-controller.d.ts +0 -3
  276. package/dist/primitives/dialog-video-controller.jsx +0 -24
  277. package/dist/primitives/dialog.d.ts +0 -28
  278. package/dist/primitives/dialog.jsx +0 -37
  279. package/dist/primitives/drawer.d.ts +0 -29
  280. package/dist/primitives/drawer.jsx +0 -34
  281. package/dist/primitives/form.d.ts +0 -12
  282. package/dist/primitives/form.jsx +0 -69
  283. package/dist/primitives/icons/github.d.ts +0 -4
  284. package/dist/primitives/icons/github.jsx +0 -6
  285. package/dist/primitives/icons/index.d.ts +0 -4
  286. package/dist/primitives/icons/index.js +0 -4
  287. package/dist/primitives/icons/youtube-logo.d.ts +0 -4
  288. package/dist/primitives/icons/youtube-logo.jsx +0 -39
  289. package/dist/primitives/index-common.d.ts +0 -47
  290. package/dist/primitives/index-common.js +0 -46
  291. package/dist/primitives/index-next.d.ts +0 -2
  292. package/dist/primitives/index-next.js +0 -2
  293. package/dist/primitives/input-otp.d.ts +0 -7
  294. package/dist/primitives/input-otp.jsx +0 -24
  295. package/dist/primitives/input.d.ts +0 -5
  296. package/dist/primitives/input.jsx +0 -11
  297. package/dist/primitives/label.d.ts +0 -5
  298. package/dist/primitives/label.jsx +0 -11
  299. package/dist/primitives/list-adaptor.d.ts +0 -9
  300. package/dist/primitives/list-adaptor.js +0 -1
  301. package/dist/primitives/list-box.d.ts +0 -10
  302. package/dist/primitives/list-box.jsx +0 -14
  303. package/dist/primitives/loading-spinner.d.ts +0 -5
  304. package/dist/primitives/loading-spinner.jsx +0 -8
  305. package/dist/primitives/navigation-menu.d.ts +0 -12
  306. package/dist/primitives/navigation-menu.jsx +0 -38
  307. package/dist/primitives/next/image.d.ts +0 -11
  308. package/dist/primitives/next/image.jsx +0 -42
  309. package/dist/primitives/next/index.d.ts +0 -7
  310. package/dist/primitives/next/index.js +0 -7
  311. package/dist/primitives/next/inline-icon.d.ts +0 -13
  312. package/dist/primitives/next/inline-icon.jsx +0 -15
  313. package/dist/primitives/next/link-element.d.ts +0 -23
  314. package/dist/primitives/next/link-element.jsx +0 -56
  315. package/dist/primitives/next/mdx-link.d.ts +0 -3
  316. package/dist/primitives/next/mdx-link.jsx +0 -12
  317. package/dist/primitives/next/media-stack.d.ts +0 -8
  318. package/dist/primitives/next/media-stack.jsx +0 -28
  319. package/dist/primitives/next/nav-items.d.ts +0 -10
  320. package/dist/primitives/next/nav-items.jsx +0 -24
  321. package/dist/primitives/next/youtube-embed.d.ts +0 -11
  322. package/dist/primitives/next/youtube-embed.jsx +0 -23
  323. package/dist/primitives/popover.d.ts +0 -9
  324. package/dist/primitives/popover.jsx +0 -18
  325. package/dist/primitives/progress.d.ts +0 -4
  326. package/dist/primitives/progress.jsx +0 -9
  327. package/dist/primitives/radio-group.d.ts +0 -7
  328. package/dist/primitives/radio-group.jsx +0 -18
  329. package/dist/primitives/scroll-area.d.ts +0 -5
  330. package/dist/primitives/scroll-area.jsx +0 -19
  331. package/dist/primitives/select.d.ts +0 -13
  332. package/dist/primitives/select.jsx +0 -62
  333. package/dist/primitives/separator.d.ts +0 -4
  334. package/dist/primitives/separator.jsx +0 -7
  335. package/dist/primitives/sheet.d.ts +0 -30
  336. package/dist/primitives/sheet.jsx +0 -56
  337. package/dist/primitives/skeleton.d.ts +0 -4
  338. package/dist/primitives/skeleton.jsx +0 -3
  339. package/dist/primitives/slider.d.ts +0 -9
  340. package/dist/primitives/slider.jsx +0 -30
  341. package/dist/primitives/sonner.d.ts +0 -5
  342. package/dist/primitives/sonner.jsx +0 -16
  343. package/dist/primitives/step-indicator.d.ts +0 -9
  344. package/dist/primitives/step-indicator.jsx +0 -23
  345. package/dist/primitives/switch.d.ts +0 -6
  346. package/dist/primitives/switch.jsx +0 -14
  347. package/dist/primitives/table.d.ts +0 -10
  348. package/dist/primitives/table.jsx +0 -21
  349. package/dist/primitives/tabs.d.ts +0 -7
  350. package/dist/primitives/tabs.jsx +0 -18
  351. package/dist/primitives/text-area.d.ts +0 -5
  352. package/dist/primitives/text-area.jsx +0 -9
  353. package/dist/primitives/toggle-group.d.ts +0 -14
  354. package/dist/primitives/toggle-group.jsx +0 -28
  355. package/dist/primitives/toggle.d.ts +0 -14
  356. package/dist/primitives/toggle.jsx +0 -52
  357. package/dist/primitives/tooltip.d.ts +0 -11
  358. package/dist/primitives/tooltip.jsx +0 -18
  359. package/dist/primitives/video-player.d.ts +0 -6
  360. package/dist/primitives/video-player.jsx +0 -8
  361. package/dist/style/theme-provider.d.ts +0 -4
  362. package/dist/style/theme-provider.jsx +0 -11
  363. package/dist/tailwind/fontFamily.tailwind.d.ts +0 -8
  364. package/dist/tailwind/fontFamily.tailwind.js +0 -7
  365. package/dist/tailwind/fontSize.tailwind.d.ts +0 -36
  366. package/dist/tailwind/fontSize.tailwind.js +0 -13
  367. package/dist/tailwind/index.d.ts +0 -3
  368. package/dist/tailwind/index.js +0 -2
  369. package/dist/tailwind/screens.tailwind.d.ts +0 -9
  370. package/dist/tailwind/screens.tailwind.js +0 -8
  371. package/dist/tailwind/tw-font-desc.d.ts +0 -6
  372. package/dist/tailwind/tw-font-desc.js +0 -6
  373. package/dist/types/animation-def.d.ts +0 -2
  374. package/dist/types/animation-def.js +0 -1
  375. package/dist/types/breakpoints.d.ts +0 -4
  376. package/dist/types/breakpoints.js +0 -4
  377. package/dist/types/bullet-item.d.ts +0 -6
  378. package/dist/types/bullet-item.js +0 -2
  379. package/dist/types/button-def.d.ts +0 -29
  380. package/dist/types/button-def.js +0 -2
  381. package/dist/types/dimensions.d.ts +0 -5
  382. package/dist/types/dimensions.js +0 -1
  383. package/dist/types/grid-def.d.ts +0 -36
  384. package/dist/types/grid-def.js +0 -33
  385. package/dist/types/image-def.d.ts +0 -27
  386. package/dist/types/image-def.js +0 -1
  387. package/dist/types/index.d.ts +0 -13
  388. package/dist/types/index.js +0 -2
  389. package/dist/types/link-def.d.ts +0 -44
  390. package/dist/types/link-def.js +0 -1
  391. package/dist/types/media-stack-def.d.ts +0 -25
  392. package/dist/types/media-stack-def.js +0 -1
  393. package/dist/types/t-shirt-size.d.ts +0 -2
  394. package/dist/types/t-shirt-size.js +0 -1
  395. package/dist/types/tshirt-dimensions.d.ts +0 -12
  396. package/dist/types/tshirt-dimensions.js +0 -1
  397. package/dist/types/video-def.d.ts +0 -9
  398. package/dist/types/video-def.js +0 -1
  399. package/dist/util/format-and-abbreviate-as-currency.d.ts +0 -11
  400. package/dist/util/format-and-abbreviate-as-currency.js +0 -91
  401. package/dist/util/format-to-max-char.d.ts +0 -5
  402. package/dist/util/format-to-max-char.js +0 -57
  403. package/dist/util/index-client.d.ts +0 -2
  404. package/dist/util/index-client.js +0 -3
  405. package/dist/util/index.d.ts +0 -17
  406. package/dist/util/index.js +0 -41
  407. package/dist/util/number-abbreviate.d.ts +0 -9
  408. package/dist/util/number-abbreviate.js +0 -30
  409. package/dist/util/specifier.d.ts +0 -7
  410. package/dist/util/specifier.js +0 -31
  411. package/dist/util/spread-to-transform.d.ts +0 -7
  412. package/dist/util/spread-to-transform.js +0 -18
  413. package/dist/util/step-animation.d.ts +0 -5
  414. package/dist/util/step-animation.js +0 -60
  415. package/dist/util/two-way-map.d.ts +0 -8
  416. package/dist/util/two-way-map.js +0 -16
  417. /package/{mcp → src/mcp}/index.ts +0 -0
  418. /package/{mcp → src/mcp}/package.json +0 -0
  419. /package/{registry → src/registry}/package.json +0 -0
@@ -1,56 +1,42 @@
1
- "use client"
1
+ 'use client';
2
2
 
3
- import * as React from "react"
4
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group"
5
- import { Circle } from "lucide-react"
3
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
4
+ import { Circle } from 'lucide-react';
5
+ import * as React from 'react';
6
6
 
7
- import { cn } from "../util"
7
+ import { cn } from '../src/utils';
8
8
 
9
- const RadioGroup = React.forwardRef<
10
- React.ElementRef<typeof RadioGroupPrimitive.Root>,
11
- React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>
12
- >(({ className, ...props }, ref) => {
9
+ const RadioGroup = ({
10
+ className,
11
+ ...props
12
+ }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) => {
13
13
  return (
14
14
  <RadioGroupPrimitive.Root
15
- className={cn("grid gap-2", className)}
15
+ className={cn('grid gap-2', className)}
16
16
  {...props}
17
- ref={ref}
18
17
  />
19
- )
20
- })
21
- RadioGroup.displayName = RadioGroupPrimitive.Root.displayName
18
+ );
19
+ };
20
+ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
22
21
 
23
- const RadioGroupItem = React.forwardRef<
24
- React.ElementRef<typeof RadioGroupPrimitive.Item>,
25
- React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> & {
26
- larger?: boolean
27
- }
28
- >(({
29
- larger=false,
30
- className,
31
- ...props
32
- }, ref) => {
22
+ const RadioGroupItem = ({
23
+ className,
24
+ ...props
25
+ }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) => {
33
26
  return (
34
27
  <RadioGroupPrimitive.Item
35
- ref={ref}
36
28
  className={cn(
37
- larger ? 'h-5 w-5' : 'h-4 w-4',
38
- 'aspect-square rounded-full border border-muted text-foreground ring-offset-background ' ,
39
- 'focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
40
- 'disabled:cursor-not-allowed disabled:opacity-50',
41
- className
29
+ 'border-brand text-brand ring-offset-background focus-visible:ring-ring aspect-square h-4 w-4 rounded-full border focus:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
30
+ className,
42
31
  )}
43
32
  {...props}
44
33
  >
45
- <RadioGroupPrimitive.Indicator className="w-full h-full flex items-center justify-center">
46
- <div className={cn(
47
- larger ? 'h-[70%] w-[70%] ' : 'h-[75%] w-[75%]',
48
- 'rounded-full aspect-square bg-foreground' ,
49
- )}/>
34
+ <RadioGroupPrimitive.Indicator className="flex items-center justify-center">
35
+ <Circle className="h-2.5 w-2.5 fill-current text-current" />
50
36
  </RadioGroupPrimitive.Indicator>
51
37
  </RadioGroupPrimitive.Item>
52
- )
53
- })
54
- RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName
38
+ );
39
+ };
40
+ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
55
41
 
56
- export { RadioGroup, RadioGroupItem }
42
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,47 @@
1
+ import { GripVertical } from 'lucide-react';
2
+ import * as ResizablePrimitive from 'react-resizable-panels';
3
+
4
+ import { cn } from '../src/utils';
5
+
6
+ const ResizablePanelGroup = ({
7
+ className,
8
+ ...props
9
+ }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (
10
+ <ResizablePrimitive.PanelGroup
11
+ className={cn(
12
+ 'flex h-full w-full data-[panel-group-direction=vertical]:flex-col',
13
+ className,
14
+ )}
15
+ {...props}
16
+ />
17
+ );
18
+
19
+ const ResizablePanel = ResizablePrimitive.Panel;
20
+
21
+ const ResizableHandle = ({
22
+ withHandle,
23
+ className,
24
+ ...props
25
+ }: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
26
+ withHandle?: boolean;
27
+ }) => (
28
+ <ResizablePrimitive.PanelResizeHandle
29
+ className={cn(
30
+ 'focus-visible:ring-ring relative flex w-px items-center justify-center bg-gray-100 after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden',
31
+ 'data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90',
32
+ 'data-[resize-handle-state=drag]:after:bg-bg-secondary',
33
+ 'data-[resize-handle-state=hover]:after:bg-bg-secondary',
34
+ 'after:w-[1px] data-[panel-group-direction=vertical]:after:h-[1px]',
35
+ className,
36
+ )}
37
+ {...props}
38
+ >
39
+ {withHandle && (
40
+ <div className="z-10 flex h-4 w-3 items-center justify-center rounded-xs border bg-gray-200">
41
+ <GripVertical className="h-2.5 w-2.5" />
42
+ </div>
43
+ )}
44
+ </ResizablePrimitive.PanelResizeHandle>
45
+ );
46
+
47
+ export { ResizablePanelGroup, ResizablePanel, ResizableHandle };
@@ -1,47 +1,57 @@
1
- 'use client'
2
- import React from 'react'
3
- import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'
1
+ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
2
+ import * as React from 'react';
4
3
 
5
- import { cn } from '../util'
4
+ import { cn } from '../src/utils';
6
5
 
7
- const ScrollArea = React.forwardRef<
8
- React.ElementRef<typeof ScrollAreaPrimitive.Root>,
9
- React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
10
- >(({ className, children, ...props }, ref) => (
6
+ const ScrollArea = ({
7
+ className,
8
+ children,
9
+ ref,
10
+ ...props
11
+ }: React.ComponentProps<typeof ScrollAreaPrimitive.Root> & {
12
+ ref?: React.RefObject<HTMLDivElement | null>;
13
+ }) => (
11
14
  <ScrollAreaPrimitive.Root
12
- ref={ref}
13
15
  className={cn('relative overflow-hidden', className)}
14
16
  {...props}
15
17
  >
16
- <ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>
18
+ <ScrollAreaPrimitive.Viewport
19
+ className="h-full w-full rounded-[inherit]"
20
+ ref={ref}
21
+ >
17
22
  {children}
18
23
  </ScrollAreaPrimitive.Viewport>
19
24
  <ScrollBar />
20
25
  <ScrollAreaPrimitive.Corner />
21
26
  </ScrollAreaPrimitive.Root>
22
- ))
23
- ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName
27
+ );
28
+ ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
24
29
 
25
- const ScrollBar = React.forwardRef<
26
- React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,
27
- React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>
28
- >(({ className, orientation = 'vertical', ...props }, ref) => (
30
+ const ScrollBar = ({
31
+ className,
32
+ orientation = 'vertical',
33
+ ...props
34
+ }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) => (
29
35
  <ScrollAreaPrimitive.ScrollAreaScrollbar
30
- ref={ref}
31
- orientation={orientation}
32
36
  className={cn(
33
- 'flex touch-none select-none transition-colors',
37
+ 'flex touch-none transition-colors select-none',
34
38
  orientation === 'vertical' &&
35
39
  'h-full w-2.5 border-l border-l-transparent p-[1px]',
36
40
  orientation === 'horizontal' &&
37
- 'h-2.5 flex-col border-t border-t-transparent p-[1px]',
38
- className
41
+ 'h-2.5 border-t border-t-transparent p-[1px]',
42
+ className,
39
43
  )}
44
+ orientation={orientation}
40
45
  {...props}
41
46
  >
42
- <ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-muted-2' />
47
+ <ScrollAreaPrimitive.ScrollAreaThumb
48
+ className={cn(
49
+ 'relative rounded-full bg-gray-300',
50
+ orientation === 'vertical' && 'flex-1',
51
+ )}
52
+ />
43
53
  </ScrollAreaPrimitive.ScrollAreaScrollbar>
44
- ))
45
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName
54
+ );
55
+ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
46
56
 
47
- export { ScrollArea, ScrollBar }
57
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,66 @@
1
+ import { SearchIcon, XIcon } from 'lucide-react';
2
+ import * as React from 'react';
3
+
4
+ import { cn } from '../src/utils';
5
+ import { Button } from './button';
6
+ import { Input } from './input';
7
+
8
+ export type SearchInputProps = React.InputHTMLAttributes<HTMLInputElement> & {
9
+ classNames?: {
10
+ container?: string;
11
+ input?: string;
12
+ button?: string;
13
+ };
14
+ };
15
+
16
+ const SearchInput = ({
17
+ className,
18
+ value,
19
+ onChange,
20
+ classNames,
21
+ ...props
22
+ }: SearchInputProps) => {
23
+ return (
24
+ <div
25
+ className={cn(
26
+ 'shadow-border-input focus-within:shadow-border-input-focus relative flex h-10 flex-1 items-center overflow-hidden rounded-full shadow-[0_0_0_1px_currentColor] transition-shadow',
27
+ classNames?.container,
28
+ )}
29
+ >
30
+ <Input
31
+ className={cn(
32
+ 'placeholder:!text-text-placeholder !h-full border-none bg-transparent py-2 pl-10',
33
+ classNames?.input,
34
+ )}
35
+ onChange={(e) => {
36
+ onChange?.(e);
37
+ }}
38
+ placeholder="Search..."
39
+ spellCheck={false}
40
+ value={value}
41
+ {...props}
42
+ />
43
+ <SearchIcon className="text-text-tertiary absolute top-1/2 left-4 -z-[1px] h-4 w-4 -translate-y-1/2" />
44
+ {value && (
45
+ <Button
46
+ className={cn('absolute right-1 h-8 w-8 p-2', classNames?.button)}
47
+ onClick={() => {
48
+ onChange?.({
49
+ target: { value: '' },
50
+ } as React.ChangeEvent<HTMLInputElement>);
51
+ }}
52
+ size="auto"
53
+ type="button"
54
+ variant="tertiary"
55
+ >
56
+ <XIcon />
57
+ <span className="sr-only">Clear</span>
58
+ </Button>
59
+ )}
60
+ </div>
61
+ );
62
+ };
63
+
64
+ SearchInput.displayName = 'SearchInput';
65
+
66
+ export { SearchInput };
@@ -1,159 +1,114 @@
1
- 'use client'
1
+ import { CheckIcon } from '@radix-ui/react-icons';
2
+ import * as SelectPrimitive from '@radix-ui/react-select';
3
+ import { ChevronDown } from 'lucide-react';
4
+ import * as React from 'react';
2
5
 
3
- import React from 'react'
4
- import * as SelectPrimitive from '@radix-ui/react-select'
5
- import { Check, ChevronDown, ChevronUp } from 'lucide-react'
6
+ import { cn } from '../src/utils';
6
7
 
7
- import { cn } from '../util'
8
+ const Select = SelectPrimitive.Root;
8
9
 
9
- const Select = SelectPrimitive.Root
10
- const SelectGroup = SelectPrimitive.Group
11
- const SelectValue = SelectPrimitive.Value
10
+ const SelectGroup = SelectPrimitive.Group;
12
11
 
13
- const SelectTrigger = React.forwardRef<
14
- React.ElementRef<typeof SelectPrimitive.Trigger>,
15
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>
16
- >(({ className, children, ...props }, ref) => (
12
+ const SelectValue = SelectPrimitive.Value;
13
+
14
+ const SelectTrigger = ({
15
+ className,
16
+ children,
17
+ ...props
18
+ }: React.ComponentProps<typeof SelectPrimitive.Trigger>) => (
17
19
  <SelectPrimitive.Trigger
18
- ref={ref}
19
20
  className={cn(
20
- 'flex h-10 w-full items-center justify-between rounded-md border border-muted-3 ' +
21
- 'bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-2 ' +
22
- 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 ' +
23
- 'disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',
24
- className
21
+ 'h-input border-divider bg-bg-secondary relative flex w-full items-center justify-between rounded-md border px-4 py-2 text-sm shadow-xs',
22
+ 'focus:ring-border-input-focus placeholder:text-text-secondary focus:ring-1 focus:outline-hidden focus:ring-inset disabled:cursor-not-allowed disabled:opacity-50',
23
+ 'peer/select [&[data-placeholder]>svg]:mt-0',
24
+ 'pt-6 data-[placeholder]:pt-2',
25
+ 'aria-expanded:ring-border-input-focus aria-expanded:ring-1 aria-expanded:ring-inset',
26
+ className,
25
27
  )}
26
28
  {...props}
27
29
  >
28
30
  {children}
29
31
  <SelectPrimitive.Icon asChild>
30
- <ChevronDown className='h-4 w-4 opacity-50' />
32
+ <ChevronDown className="absolute top-[23px] right-3 h-4 w-4 opacity-50" />
31
33
  </SelectPrimitive.Icon>
32
34
  </SelectPrimitive.Trigger>
33
- ))
34
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName
35
-
36
- const SelectScrollUpButton = React.forwardRef<
37
- React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,
38
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>
39
- >(({ className, ...props }, ref) => (
40
- <SelectPrimitive.ScrollUpButton
41
- ref={ref}
42
- className={cn(
43
- 'flex cursor-default items-center justify-center py-1',
44
- className
45
- )}
46
- {...props}
47
- >
48
- <ChevronUp className='h-4 w-4' />
49
- </SelectPrimitive.ScrollUpButton>
50
- ))
51
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName
35
+ );
36
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
52
37
 
53
- const SelectScrollDownButton = React.forwardRef<
54
- React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,
55
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>
56
- >(({ className, ...props }, ref) => (
57
- <SelectPrimitive.ScrollDownButton
58
- ref={ref}
59
- className={cn(
60
- 'flex cursor-default items-center justify-center py-1',
61
- className
62
- )}
63
- {...props}
64
- >
65
- <ChevronDown className='h-4 w-4' />
66
- </SelectPrimitive.ScrollDownButton>
67
- ))
68
- SelectScrollDownButton.displayName =
69
- SelectPrimitive.ScrollDownButton.displayName
70
-
71
- const SelectContent = React.forwardRef<
72
- React.ElementRef<typeof SelectPrimitive.Content>,
73
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>
74
- >(({ className, children, position = 'popper', ...props }, ref) => (
38
+ const SelectContent = ({
39
+ className,
40
+ children,
41
+ position = 'popper',
42
+ ...props
43
+ }: React.ComponentProps<typeof SelectPrimitive.Content>) => (
75
44
  <SelectPrimitive.Portal>
76
45
  <SelectPrimitive.Content
77
- ref={ref}
78
46
  className={cn(
79
- 'relative z-popup max-h-96 min-w-[8rem] overflow-hidden rounded-md border ' +
80
- 'bg-level-1 text-foreground shadow-md data-[state=open]:animate-in ' +
81
- 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 ' +
82
- 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 ' +
83
- 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 ' +
84
- 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
85
- (position === 'popper') &&
86
- 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 ' +
87
- 'data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
88
- className
47
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-divider bg-bg-dark relative z-50 min-w-[8rem] overflow-hidden rounded-md border text-gray-50/70 shadow-md',
48
+ position === 'popper' &&
49
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
50
+ className,
89
51
  )}
90
52
  position={position}
91
53
  {...props}
92
54
  >
93
- <SelectScrollUpButton />
94
55
  <SelectPrimitive.Viewport
95
56
  className={cn(
96
57
  'p-1',
97
58
  position === 'popper' &&
98
- 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'
59
+ 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',
99
60
  )}
100
61
  >
101
62
  {children}
102
63
  </SelectPrimitive.Viewport>
103
- <SelectScrollDownButton />
104
64
  </SelectPrimitive.Content>
105
65
  </SelectPrimitive.Portal>
106
- ))
107
- SelectContent.displayName = SelectPrimitive.Content.displayName
66
+ );
67
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
108
68
 
109
- const SelectLabel = React.forwardRef<
110
- React.ElementRef<typeof SelectPrimitive.Label>,
111
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>
112
- >(({ className, ...props }, ref) => (
69
+ const SelectLabel = ({
70
+ className,
71
+ ...props
72
+ }: React.ComponentProps<typeof SelectPrimitive.Label>) => (
113
73
  <SelectPrimitive.Label
114
- ref={ref}
115
- className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)}
74
+ className={cn('px-2 py-1.5 text-sm font-semibold', className)}
116
75
  {...props}
117
76
  />
118
- ))
119
- SelectLabel.displayName = SelectPrimitive.Label.displayName
77
+ );
78
+ SelectLabel.displayName = SelectPrimitive.Label.displayName;
120
79
 
121
- const SelectItem = React.forwardRef<
122
- React.ElementRef<typeof SelectPrimitive.Item>,
123
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>
124
- >(({ className, children, ...props }, ref) => (
80
+ const SelectItem = ({
81
+ className,
82
+ children,
83
+ ...props
84
+ }: React.ComponentProps<typeof SelectPrimitive.Item>) => (
125
85
  <SelectPrimitive.Item
126
- ref={ref}
127
86
  className={cn(
128
- 'relative flex w-full cursor-default select-none items-center rounded-sm ' +
129
- 'py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-level-2 focus:text-accent ' +
130
- 'data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
131
- className
87
+ 'focus:bg-bg-secondary focus:text-text-default relative flex w-full cursor-default items-center rounded-xs py-2 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
88
+ className,
132
89
  )}
133
90
  {...props}
134
91
  >
135
- <span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>
92
+ <span className="absolute right-2 flex h-3.5 w-3.5 items-center justify-center">
136
93
  <SelectPrimitive.ItemIndicator>
137
- <Check className='h-4 w-4' />
94
+ <CheckIcon className="h-4 w-4" />
138
95
  </SelectPrimitive.ItemIndicator>
139
96
  </span>
140
-
141
97
  <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
142
98
  </SelectPrimitive.Item>
143
- ))
144
- SelectItem.displayName = SelectPrimitive.Item.displayName
99
+ );
100
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
145
101
 
146
- const SelectSeparator = React.forwardRef<
147
- React.ElementRef<typeof SelectPrimitive.Separator>,
148
- React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>
149
- >(({ className, ...props }, ref) => (
102
+ const SelectSeparator = ({
103
+ className,
104
+ ...props
105
+ }: React.ComponentProps<typeof SelectPrimitive.Separator>) => (
150
106
  <SelectPrimitive.Separator
151
- ref={ref}
152
- className={cn('-mx-1 my-1 h-px bg-level-1', className)}
107
+ className={cn('bg-muted -mx-1 my-1 h-px', className)}
153
108
  {...props}
154
109
  />
155
- ))
156
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName
110
+ );
111
+ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
157
112
 
158
113
  export {
159
114
  Select,
@@ -164,6 +119,4 @@ export {
164
119
  SelectLabel,
165
120
  SelectItem,
166
121
  SelectSeparator,
167
- SelectScrollUpButton,
168
- SelectScrollDownButton,
169
- }
122
+ };
@@ -1,29 +1,25 @@
1
- 'use client'
2
- import React from 'react'
3
- import * as SeparatorPrimitive from '@radix-ui/react-separator'
1
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
2
+ import * as React from 'react';
4
3
 
5
- import { cn } from '../util'
4
+ import { cn } from '../src/utils';
6
5
 
7
- const Separator = React.forwardRef<
8
- React.ElementRef<typeof SeparatorPrimitive.Root>,
9
- React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>
10
- >((
11
- { className, orientation = 'horizontal', decorative = true, ...props },
12
- ref
13
- ) => (
14
- <SeparatorPrimitive.Root
15
- ref={ref}
16
- decorative={decorative}
17
- orientation={orientation}
18
- className={cn(
19
- 'shrink-0 bg-muted-2',
20
- orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',
21
- className
22
- )}
23
- {...props}
24
- />
25
- )
26
- )
27
- Separator.displayName = SeparatorPrimitive.Root.displayName
6
+ const Separator = ({
7
+ className,
8
+ orientation = 'horizontal',
9
+ decorative = true,
10
+ ...props
11
+ }: React.ComponentProps<typeof SeparatorPrimitive.Root>) => (
12
+ <SeparatorPrimitive.Root
13
+ className={cn(
14
+ 'bg-divider shrink-0',
15
+ orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',
16
+ className,
17
+ )}
18
+ decorative={decorative}
19
+ orientation={orientation}
20
+ {...props}
21
+ />
22
+ );
23
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
28
24
 
29
- export default Separator
25
+ export { Separator };