@hanzo/ui 5.0.0 → 5.0.1

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 (685) hide show
  1. package/README.md +192 -185
  2. package/assets/ai-icons.tsx +207 -0
  3. package/assets/crypto.tsx +33 -0
  4. package/assets/file-type-icon.tsx +66 -0
  5. package/assets/file.tsx +45 -0
  6. package/assets/general.tsx +2318 -0
  7. package/assets/hanzo-logo.svg +9 -0
  8. package/assets/hanzo-logo.tsx +17 -0
  9. package/assets/index.ts +122 -0
  10. package/assets/index.tsx +4 -0
  11. package/assets/llm-provider.tsx +1094 -0
  12. package/bin/cli.js +100 -0
  13. package/bin/create-registry.js +108 -0
  14. package/bin/mcp.js +403 -0
  15. package/bin/npx-registry-mcp.js +15 -0
  16. package/bin/registry-mcp-wrapper.sh +19 -0
  17. package/bin/registry-mcp.js +100 -0
  18. package/bin/start-mcp-server.sh +22 -0
  19. package/bin/test-mcp.sh +52 -0
  20. package/bin/update-registry.js +196 -0
  21. package/blocks/auth/index.ts +6 -0
  22. package/blocks/auth/login-2fa.tsx +165 -0
  23. package/blocks/auth/login-basic.tsx +94 -0
  24. package/blocks/auth/login-social.tsx +148 -0
  25. package/blocks/auth/magic-link.tsx +129 -0
  26. package/blocks/auth/password-reset.tsx +97 -0
  27. package/blocks/auth/signup.tsx +157 -0
  28. package/blocks/components/accordian-block.tsx +48 -0
  29. package/blocks/components/block-component-props.ts +11 -0
  30. package/blocks/components/bullet-cards-block.tsx +46 -0
  31. package/blocks/components/card-block/index.tsx +171 -0
  32. package/blocks/components/card-block/link-out-button.tsx +20 -0
  33. package/blocks/components/card-block/util.ts +28 -0
  34. package/blocks/components/carte-blanche-block/index.tsx +127 -0
  35. package/blocks/components/carte-blanche-block/variant-content-left.tsx +49 -0
  36. package/blocks/components/content.tsx +70 -0
  37. package/blocks/components/cta-block.tsx +115 -0
  38. package/blocks/components/enh-heading-block.tsx +204 -0
  39. package/blocks/components/grid-block/grid-block-mutator.ts +12 -0
  40. package/blocks/components/grid-block/index.tsx +83 -0
  41. package/blocks/components/grid-block/mutator-registry.ts +10 -0
  42. package/blocks/components/grid-block/table-borders.mutator.ts +47 -0
  43. package/blocks/components/group-block.tsx +83 -0
  44. package/blocks/components/heading-block.tsx +88 -0
  45. package/blocks/components/image-block.tsx +111 -0
  46. package/blocks/components/index.ts +30 -0
  47. package/blocks/components/screenful-block/content.tsx +123 -0
  48. package/blocks/components/screenful-block/index.tsx +107 -0
  49. package/blocks/components/screenful-block/poster-background.tsx +34 -0
  50. package/blocks/components/screenful-block/video-background.tsx +45 -0
  51. package/blocks/components/space-block.tsx +66 -0
  52. package/blocks/components/video-block.tsx +138 -0
  53. package/blocks/data-display/activity-feed.tsx +242 -0
  54. package/blocks/data-display/data-table.tsx +235 -0
  55. package/blocks/data-display/stats-grid.tsx +194 -0
  56. package/blocks/def/accordian-block.ts +14 -0
  57. package/blocks/def/block.ts +7 -0
  58. package/blocks/def/bullet-cards-block.ts +22 -0
  59. package/blocks/def/card-block.ts +22 -0
  60. package/blocks/def/carte-blanche-block.ts +21 -0
  61. package/blocks/def/cta-block.ts +19 -0
  62. package/blocks/def/element-block.ts +11 -0
  63. package/blocks/def/enh-heading-block.ts +44 -0
  64. package/blocks/def/grid-block.ts +16 -0
  65. package/blocks/def/group-block.ts +11 -0
  66. package/blocks/def/heading-block.ts +15 -0
  67. package/blocks/def/image-block.ts +31 -0
  68. package/blocks/def/index.ts +35 -0
  69. package/blocks/def/screenful-block.ts +54 -0
  70. package/blocks/def/space-block.ts +64 -0
  71. package/blocks/def/video-block.ts +9 -0
  72. package/blocks/ecommerce/checkout.tsx +242 -0
  73. package/blocks/ecommerce/index.ts +7 -0
  74. package/blocks/ecommerce/product-detail.tsx +257 -0
  75. package/blocks/ecommerce/product-grid.tsx +148 -0
  76. package/blocks/ecommerce/shopping-cart.tsx +181 -0
  77. package/blocks/index.ts +2 -0
  78. package/blocks/marketing/cta-section.tsx +207 -0
  79. package/blocks/marketing/faq.tsx +159 -0
  80. package/blocks/marketing/features-grid.tsx +156 -0
  81. package/blocks/marketing/hero-section.tsx +192 -0
  82. package/blocks/marketing/index.ts +6 -0
  83. package/blocks/marketing/pricing-table.tsx +121 -0
  84. package/blocks/marketing/testimonials.tsx +196 -0
  85. package/components/index.ts +9 -0
  86. package/dist/index.js +9070 -1089
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.mjs +8695 -45
  89. package/dist/index.mjs.map +1 -1
  90. package/dist/tailwind.js +2025 -0
  91. package/dist/tailwind.js.map +1 -0
  92. package/dist/tailwind.mjs +2013 -0
  93. package/dist/tailwind.mjs.map +1 -0
  94. package/dist/types.js +59 -0
  95. package/dist/types.js.map +1 -0
  96. package/dist/types.mjs +53 -0
  97. package/dist/types.mjs.map +1 -0
  98. package/dist/utils.js +30 -0
  99. package/dist/utils.js.map +1 -0
  100. package/dist/utils.mjs +26 -0
  101. package/dist/utils.mjs.map +1 -0
  102. package/frameworks/core/index.ts +6 -0
  103. package/frameworks/core/utils/index.ts +64 -0
  104. package/frameworks/react/components/button.tsx +26 -0
  105. package/frameworks/react/components/index.ts +5 -0
  106. package/frameworks/react/hooks/index.ts +5 -0
  107. package/frameworks/react/index.ts +9 -0
  108. package/frameworks/react/package.json +8 -0
  109. package/frameworks/react/utils/index.ts +2 -0
  110. package/frameworks/react-native/index.ts +9 -0
  111. package/frameworks/react-native/package.json +8 -0
  112. package/frameworks/registry.json +371 -0
  113. package/frameworks/setup.sh +69 -0
  114. package/frameworks/svelte/index.ts +9 -0
  115. package/frameworks/svelte/package.json +8 -0
  116. package/frameworks/tracker.json +1854 -0
  117. package/frameworks/vue/index.ts +9 -0
  118. package/frameworks/vue/package.json +8 -0
  119. package/helpers/file.ts +33 -0
  120. package/helpers/memoization.ts +40 -0
  121. package/package.json +272 -153
  122. package/primitives/accordion.tsx +74 -0
  123. package/primitives/action-button.tsx +42 -0
  124. package/primitives/alert-dialog.tsx +185 -0
  125. package/primitives/alert.tsx +74 -0
  126. package/primitives/apply-typography.tsx +55 -0
  127. package/primitives/aspect-ratio.tsx +5 -0
  128. package/primitives/avatar.tsx +57 -0
  129. package/primitives/background-beams.tsx +142 -0
  130. package/primitives/badge.tsx +45 -0
  131. package/primitives/breadcrumb.tsx +130 -0
  132. package/primitives/breakpoint-indicator.tsx +19 -0
  133. package/primitives/button.tsx +72 -0
  134. package/primitives/calendar.tsx +72 -0
  135. package/primitives/card.tsx +97 -0
  136. package/primitives/carousel.tsx +238 -0
  137. package/primitives/chat/chat-input-area.tsx +88 -0
  138. package/primitives/chat/chat-input.tsx +71 -0
  139. package/primitives/chat/files-preview.tsx +331 -0
  140. package/primitives/chat/index.ts +6 -0
  141. package/primitives/chat/json-form.tsx +8 -0
  142. package/primitives/chat/message-list.tsx +308 -0
  143. package/primitives/chat/message.tsx +569 -0
  144. package/primitives/chat/sqlite-preview.tsx +215 -0
  145. package/primitives/checkbox.tsx +32 -0
  146. package/primitives/collapsible.tsx +9 -0
  147. package/primitives/combobox.tsx +239 -0
  148. package/primitives/command.tsx +151 -0
  149. package/primitives/context-menu.tsx +206 -0
  150. package/primitives/copy-to-clipboard-icon.tsx +60 -0
  151. package/primitives/dialog-video-controller.tsx +38 -0
  152. package/primitives/dialog.tsx +128 -0
  153. package/primitives/dot-pattern.tsx +57 -0
  154. package/primitives/dots-loader.tsx +13 -0
  155. package/primitives/drawer.tsx +113 -0
  156. package/primitives/dropdown-menu.tsx +199 -0
  157. package/primitives/error-message.tsx +19 -0
  158. package/primitives/file-uploader.tsx +203 -0
  159. package/primitives/form.tsx +185 -0
  160. package/primitives/hover-card.tsx +28 -0
  161. package/primitives/icons/github.tsx +14 -0
  162. package/primitives/icons/index.ts +18 -0
  163. package/primitives/icons/youtube-logo.tsx +59 -0
  164. package/primitives/index-client.ts +4 -0
  165. package/primitives/index-common.ts +304 -0
  166. package/primitives/index-next.ts +4 -0
  167. package/primitives/input-otp.tsx +65 -0
  168. package/primitives/input.tsx +128 -0
  169. package/primitives/label.tsx +21 -0
  170. package/primitives/list-adaptor.ts +12 -0
  171. package/primitives/list-box.tsx +74 -0
  172. package/primitives/loading-spinner.tsx +33 -0
  173. package/primitives/markdown-preview.tsx +612 -0
  174. package/primitives/mermaid.tsx +191 -0
  175. package/primitives/navigation-menu.tsx +147 -0
  176. package/primitives/next/image.tsx +91 -0
  177. package/primitives/next/index.ts +7 -0
  178. package/primitives/next/inline-icon.tsx +36 -0
  179. package/primitives/next/link-element.tsx +109 -0
  180. package/primitives/next/mdx-link.tsx +22 -0
  181. package/primitives/next/media-stack.tsx +52 -0
  182. package/primitives/next/nav-items.tsx +45 -0
  183. package/primitives/next/youtube-embed.tsx +83 -0
  184. package/primitives/pagination.tsx +117 -0
  185. package/primitives/popover.tsx +34 -0
  186. package/primitives/pretty-json-print.tsx +28 -0
  187. package/primitives/progress.tsx +27 -0
  188. package/primitives/prompt-textarea.tsx +72 -0
  189. package/primitives/qr-code.tsx +112 -0
  190. package/primitives/radio-group.tsx +42 -0
  191. package/primitives/resizable.tsx +47 -0
  192. package/primitives/scroll-area.tsx +57 -0
  193. package/primitives/search-input.tsx +66 -0
  194. package/primitives/select.tsx +122 -0
  195. package/primitives/separator.tsx +26 -0
  196. package/primitives/sheet.tsx +139 -0
  197. package/primitives/skeleton.tsx +18 -0
  198. package/primitives/slider.tsx +63 -0
  199. package/primitives/sonner.tsx +35 -0
  200. package/primitives/step-indicator.tsx +69 -0
  201. package/primitives/stepper.tsx +272 -0
  202. package/primitives/switch.tsx +27 -0
  203. package/primitives/table.tsx +105 -0
  204. package/primitives/tabs.tsx +50 -0
  205. package/primitives/text-area.tsx +26 -0
  206. package/primitives/text-link.tsx +27 -0
  207. package/primitives/textarea.tsx +64 -0
  208. package/primitives/textfield.tsx +78 -0
  209. package/primitives/toast.tsx +30 -0
  210. package/primitives/toggle-group.tsx +63 -0
  211. package/primitives/toggle.tsx +44 -0
  212. package/primitives/tooltip.tsx +47 -0
  213. package/primitives/video-player.tsx +23 -0
  214. package/src/button.ts +1 -0
  215. package/src/hooks/index.ts +7 -0
  216. package/src/hooks/use-click-away.ts +31 -0
  217. package/src/hooks/use-combined-refs.ts +22 -0
  218. package/src/hooks/use-copy-clipboard.ts +30 -0
  219. package/src/hooks/use-debounce.ts +17 -0
  220. package/src/hooks/use-fill-ids.ts +25 -0
  221. package/src/hooks/use-map.ts +26 -0
  222. package/src/hooks/use-measure.ts +42 -0
  223. package/src/hooks/use-reverse-video-playback.ts +43 -0
  224. package/src/hooks/use-scroll-restoration.ts +50 -0
  225. package/src/index-lean.ts +87 -0
  226. package/src/index.ts +54 -0
  227. package/src/mcp/README.md +141 -0
  228. package/src/mcp/enhanced-server.ts +1208 -0
  229. package/src/mcp/index.ts +518 -0
  230. package/src/mcp/package.json +10 -0
  231. package/src/registry/api.ts +164 -0
  232. package/src/registry/index.ts +60 -0
  233. package/src/registry/package.json +10 -0
  234. package/src/utils.ts +19 -0
  235. package/style/drawer.css +163 -0
  236. package/style/globals.css +13 -0
  237. package/style/hanzo-common.css +31 -0
  238. package/style/hanzo-default-colors.css +82 -0
  239. package/style/theme-provider.tsx +20 -0
  240. package/tailwind/colors.tailwind.js +53 -0
  241. package/tailwind/fontFamily.tailwind.ts +7 -0
  242. package/tailwind/fontSize.tailwind.ts +13 -0
  243. package/tailwind/index.ts +7 -0
  244. package/tailwind/safelist.tailwind.js +26 -0
  245. package/tailwind/screens.tailwind.js +8 -0
  246. package/tailwind/spacing.tailwind.js +65 -0
  247. package/tailwind/tailwind.config.hanzo-preset.d.ts +5 -0
  248. package/tailwind/tailwind.config.hanzo-preset.js +915 -0
  249. package/tailwind/tw-font-desc.ts +15 -0
  250. package/tailwind/typo-plugin/get-plugin-styles.js +679 -0
  251. package/tailwind/typo-plugin/index.d.ts +9 -0
  252. package/tailwind/typo-plugin/index.js +141 -0
  253. package/tailwind/typo-plugin/utils.js +60 -0
  254. package/tailwind/typography-test.mdx +35 -0
  255. package/tailwind/z-index.tailwind.js +71 -0
  256. package/types/animation-def.ts +3 -0
  257. package/types/breakpoints.ts +11 -0
  258. package/types/bullet-item.ts +10 -0
  259. package/types/button-def.ts +39 -0
  260. package/types/dimensions.ts +8 -0
  261. package/types/grid-def.ts +56 -0
  262. package/types/image-def.ts +32 -0
  263. package/types/index.ts +30 -0
  264. package/types/link-def.ts +56 -0
  265. package/types/media-stack-def.ts +31 -0
  266. package/types/t-shirt-size.ts +5 -0
  267. package/types/tshirt-dimensions.ts +20 -0
  268. package/types/video-def.ts +25 -0
  269. package/util/blob.ts +33 -0
  270. package/util/copy-to-clipboard.ts +17 -0
  271. package/util/create-shadow-root.ts +22 -0
  272. package/util/date.ts +84 -0
  273. package/util/debounce.ts +11 -0
  274. package/util/file.ts +15 -0
  275. package/util/format-and-abbreviate-as-currency.ts +125 -0
  276. package/util/format-text.ts +34 -0
  277. package/util/format-to-max-char.ts +68 -0
  278. package/util/index-client.ts +3 -0
  279. package/util/index.ts +112 -0
  280. package/util/number-abbreviate.ts +49 -0
  281. package/util/specifier.ts +43 -0
  282. package/util/spread-to-transform.ts +25 -0
  283. package/util/step-animation.ts +90 -0
  284. package/util/timing.ts +3 -0
  285. package/util/toasts.tsx +17 -0
  286. package/util/two-way-map.ts +19 -0
  287. package/CHANGELOG.md +0 -184
  288. package/LICENSE +0 -21
  289. package/dist/ai/index.js +0 -53
  290. package/dist/ai/index.js.map +0 -1
  291. package/dist/ai/index.mjs +0 -4
  292. package/dist/ai/index.mjs.map +0 -1
  293. package/dist/blocks/index.js +0 -983
  294. package/dist/blocks/index.js.map +0 -1
  295. package/dist/blocks/index.mjs +0 -945
  296. package/dist/blocks/index.mjs.map +0 -1
  297. package/dist/calendar/index.js +0 -14
  298. package/dist/calendar/index.js.map +0 -1
  299. package/dist/calendar/index.mjs +0 -5
  300. package/dist/calendar/index.mjs.map +0 -1
  301. package/dist/carousel/index.js +0 -220
  302. package/dist/carousel/index.js.map +0 -1
  303. package/dist/carousel/index.mjs +0 -191
  304. package/dist/carousel/index.mjs.map +0 -1
  305. package/dist/charts/index.js +0 -945
  306. package/dist/charts/index.js.map +0 -1
  307. package/dist/charts/index.mjs +0 -901
  308. package/dist/charts/index.mjs.map +0 -1
  309. package/dist/chunk-26T4V5QU.mjs +0 -111
  310. package/dist/chunk-26T4V5QU.mjs.map +0 -1
  311. package/dist/chunk-2A5KXDLJ.js +0 -22
  312. package/dist/chunk-2A5KXDLJ.js.map +0 -1
  313. package/dist/chunk-2CJ4HMF4.js +0 -79
  314. package/dist/chunk-2CJ4HMF4.js.map +0 -1
  315. package/dist/chunk-2OIQKC5E.js +0 -236
  316. package/dist/chunk-2OIQKC5E.js.map +0 -1
  317. package/dist/chunk-2X3KSYBN.js +0 -44
  318. package/dist/chunk-2X3KSYBN.js.map +0 -1
  319. package/dist/chunk-3PBQGYR7.mjs +0 -100
  320. package/dist/chunk-3PBQGYR7.mjs.map +0 -1
  321. package/dist/chunk-3POQQ6L7.js +0 -62
  322. package/dist/chunk-3POQQ6L7.js.map +0 -1
  323. package/dist/chunk-4B47GITH.mjs +0 -28
  324. package/dist/chunk-4B47GITH.mjs.map +0 -1
  325. package/dist/chunk-4BC2OH6B.js +0 -129
  326. package/dist/chunk-4BC2OH6B.js.map +0 -1
  327. package/dist/chunk-5AQSGH4R.js +0 -130
  328. package/dist/chunk-5AQSGH4R.js.map +0 -1
  329. package/dist/chunk-5IHRJFOO.mjs +0 -102
  330. package/dist/chunk-5IHRJFOO.mjs.map +0 -1
  331. package/dist/chunk-5LDGR7YN.mjs +0 -28
  332. package/dist/chunk-5LDGR7YN.mjs.map +0 -1
  333. package/dist/chunk-5MCN3VYM.mjs +0 -23
  334. package/dist/chunk-5MCN3VYM.mjs.map +0 -1
  335. package/dist/chunk-6AVAMRMB.mjs +0 -47
  336. package/dist/chunk-6AVAMRMB.mjs.map +0 -1
  337. package/dist/chunk-6H62JRNM.mjs +0 -120
  338. package/dist/chunk-6H62JRNM.mjs.map +0 -1
  339. package/dist/chunk-6KCII3F6.mjs +0 -126
  340. package/dist/chunk-6KCII3F6.mjs.map +0 -1
  341. package/dist/chunk-7EHB43BJ.js +0 -155
  342. package/dist/chunk-7EHB43BJ.js.map +0 -1
  343. package/dist/chunk-7LRD23Q5.js +0 -191
  344. package/dist/chunk-7LRD23Q5.js.map +0 -1
  345. package/dist/chunk-7SAHKOJG.mjs +0 -45
  346. package/dist/chunk-7SAHKOJG.mjs.map +0 -1
  347. package/dist/chunk-A3D2YZK3.js +0 -50
  348. package/dist/chunk-A3D2YZK3.js.map +0 -1
  349. package/dist/chunk-AL4QFH7V.js +0 -63
  350. package/dist/chunk-AL4QFH7V.js.map +0 -1
  351. package/dist/chunk-B3WFEG6U.js +0 -69
  352. package/dist/chunk-B3WFEG6U.js.map +0 -1
  353. package/dist/chunk-BDZQJ6GK.js +0 -242
  354. package/dist/chunk-BDZQJ6GK.js.map +0 -1
  355. package/dist/chunk-BRWFYRGX.js +0 -61
  356. package/dist/chunk-BRWFYRGX.js.map +0 -1
  357. package/dist/chunk-C5DNTLBO.js +0 -53
  358. package/dist/chunk-C5DNTLBO.js.map +0 -1
  359. package/dist/chunk-CRALRACO.js +0 -54
  360. package/dist/chunk-CRALRACO.js.map +0 -1
  361. package/dist/chunk-CVACQJRM.js +0 -149
  362. package/dist/chunk-CVACQJRM.js.map +0 -1
  363. package/dist/chunk-DEIUKFPZ.mjs +0 -63
  364. package/dist/chunk-DEIUKFPZ.mjs.map +0 -1
  365. package/dist/chunk-DN2AEEA2.js +0 -13
  366. package/dist/chunk-DN2AEEA2.js.map +0 -1
  367. package/dist/chunk-DTNRWU4B.mjs +0 -35
  368. package/dist/chunk-DTNRWU4B.mjs.map +0 -1
  369. package/dist/chunk-DXIUEWRJ.mjs +0 -31
  370. package/dist/chunk-DXIUEWRJ.mjs.map +0 -1
  371. package/dist/chunk-DYFV66JX.mjs +0 -54
  372. package/dist/chunk-DYFV66JX.mjs.map +0 -1
  373. package/dist/chunk-F3WMAHXV.mjs +0 -86
  374. package/dist/chunk-F3WMAHXV.mjs.map +0 -1
  375. package/dist/chunk-F4RWPBBB.js +0 -79
  376. package/dist/chunk-F4RWPBBB.js.map +0 -1
  377. package/dist/chunk-FEGAPM6U.js +0 -194
  378. package/dist/chunk-FEGAPM6U.js.map +0 -1
  379. package/dist/chunk-G5TS56PW.mjs +0 -160
  380. package/dist/chunk-G5TS56PW.mjs.map +0 -1
  381. package/dist/chunk-GG6VGOEN.mjs +0 -590
  382. package/dist/chunk-GG6VGOEN.mjs.map +0 -1
  383. package/dist/chunk-GLAMGK32.mjs +0 -54
  384. package/dist/chunk-GLAMGK32.mjs.map +0 -1
  385. package/dist/chunk-GNMMUJXD.mjs +0 -200
  386. package/dist/chunk-GNMMUJXD.mjs.map +0 -1
  387. package/dist/chunk-GNPBULLS.mjs +0 -600
  388. package/dist/chunk-GNPBULLS.mjs.map +0 -1
  389. package/dist/chunk-GTE2DELE.js +0 -65
  390. package/dist/chunk-GTE2DELE.js.map +0 -1
  391. package/dist/chunk-GUQAFFTH.js +0 -94
  392. package/dist/chunk-GUQAFFTH.js.map +0 -1
  393. package/dist/chunk-H5VOYZHT.mjs +0 -34
  394. package/dist/chunk-H5VOYZHT.mjs.map +0 -1
  395. package/dist/chunk-HR6PBOGG.mjs +0 -59
  396. package/dist/chunk-HR6PBOGG.mjs.map +0 -1
  397. package/dist/chunk-HROONQS3.js +0 -55
  398. package/dist/chunk-HROONQS3.js.map +0 -1
  399. package/dist/chunk-IAO7SOQ3.mjs +0 -56
  400. package/dist/chunk-IAO7SOQ3.mjs.map +0 -1
  401. package/dist/chunk-K2QKU3K6.mjs +0 -40
  402. package/dist/chunk-K2QKU3K6.mjs.map +0 -1
  403. package/dist/chunk-KEUZZCCP.js +0 -53
  404. package/dist/chunk-KEUZZCCP.js.map +0 -1
  405. package/dist/chunk-KJXSLTG7.mjs +0 -73
  406. package/dist/chunk-KJXSLTG7.mjs.map +0 -1
  407. package/dist/chunk-L5AFUCVH.mjs +0 -26
  408. package/dist/chunk-L5AFUCVH.mjs.map +0 -1
  409. package/dist/chunk-LB3I52KZ.mjs +0 -42
  410. package/dist/chunk-LB3I52KZ.mjs.map +0 -1
  411. package/dist/chunk-LN75MJQ2.js +0 -71
  412. package/dist/chunk-LN75MJQ2.js.map +0 -1
  413. package/dist/chunk-LRBOFJUV.js +0 -60
  414. package/dist/chunk-LRBOFJUV.js.map +0 -1
  415. package/dist/chunk-MMNYRBOU.js +0 -157
  416. package/dist/chunk-MMNYRBOU.js.map +0 -1
  417. package/dist/chunk-MO65YF6P.js +0 -236
  418. package/dist/chunk-MO65YF6P.js.map +0 -1
  419. package/dist/chunk-N4KHP5FC.mjs +0 -33
  420. package/dist/chunk-N4KHP5FC.mjs.map +0 -1
  421. package/dist/chunk-NP2J7AB7.mjs +0 -121
  422. package/dist/chunk-NP2J7AB7.mjs.map +0 -1
  423. package/dist/chunk-OLR6SGYO.js +0 -57
  424. package/dist/chunk-OLR6SGYO.js.map +0 -1
  425. package/dist/chunk-ON7NQ4DY.js +0 -21
  426. package/dist/chunk-ON7NQ4DY.js.map +0 -1
  427. package/dist/chunk-PE3VFRLV.mjs +0 -198
  428. package/dist/chunk-PE3VFRLV.mjs.map +0 -1
  429. package/dist/chunk-Q7LOOIE5.mjs +0 -8
  430. package/dist/chunk-Q7LOOIE5.mjs.map +0 -1
  431. package/dist/chunk-QFA6U75G.mjs +0 -51
  432. package/dist/chunk-QFA6U75G.mjs.map +0 -1
  433. package/dist/chunk-QJQPT4WX.js +0 -638
  434. package/dist/chunk-QJQPT4WX.js.map +0 -1
  435. package/dist/chunk-QKHQPBSR.mjs +0 -20
  436. package/dist/chunk-QKHQPBSR.mjs.map +0 -1
  437. package/dist/chunk-SJD4XRFJ.mjs +0 -141
  438. package/dist/chunk-SJD4XRFJ.mjs.map +0 -1
  439. package/dist/chunk-SOOJLU4C.mjs +0 -19
  440. package/dist/chunk-SOOJLU4C.mjs.map +0 -1
  441. package/dist/chunk-T66B5IM5.js +0 -51
  442. package/dist/chunk-T66B5IM5.js.map +0 -1
  443. package/dist/chunk-T7RPZDO4.js +0 -645
  444. package/dist/chunk-T7RPZDO4.js.map +0 -1
  445. package/dist/chunk-TGRMDGTV.mjs +0 -38
  446. package/dist/chunk-TGRMDGTV.mjs.map +0 -1
  447. package/dist/chunk-TH2UKMCO.mjs +0 -11
  448. package/dist/chunk-TH2UKMCO.mjs.map +0 -1
  449. package/dist/chunk-TMV45OKE.mjs +0 -113
  450. package/dist/chunk-TMV45OKE.mjs.map +0 -1
  451. package/dist/chunk-TUJ7EVEK.js +0 -171
  452. package/dist/chunk-TUJ7EVEK.js.map +0 -1
  453. package/dist/chunk-ULNWDOI7.js +0 -122
  454. package/dist/chunk-ULNWDOI7.js.map +0 -1
  455. package/dist/chunk-UNUTTHCH.mjs +0 -210
  456. package/dist/chunk-UNUTTHCH.mjs.map +0 -1
  457. package/dist/chunk-VJMI6BG4.mjs +0 -10
  458. package/dist/chunk-VJMI6BG4.mjs.map +0 -1
  459. package/dist/chunk-VZVOB5MG.mjs +0 -26
  460. package/dist/chunk-VZVOB5MG.mjs.map +0 -1
  461. package/dist/chunk-WD67O22C.js +0 -50
  462. package/dist/chunk-WD67O22C.js.map +0 -1
  463. package/dist/chunk-WYPMLIJN.js +0 -53
  464. package/dist/chunk-WYPMLIJN.js.map +0 -1
  465. package/dist/chunk-X32I34NH.js +0 -109
  466. package/dist/chunk-X32I34NH.js.map +0 -1
  467. package/dist/chunk-X5MOZ3YL.js +0 -65
  468. package/dist/chunk-X5MOZ3YL.js.map +0 -1
  469. package/dist/chunk-Y4JVIPQZ.mjs +0 -31
  470. package/dist/chunk-Y4JVIPQZ.mjs.map +0 -1
  471. package/dist/chunk-Y6WOV2LZ.js +0 -95
  472. package/dist/chunk-Y6WOV2LZ.js.map +0 -1
  473. package/dist/chunk-YAEN5SCU.mjs +0 -41
  474. package/dist/chunk-YAEN5SCU.mjs.map +0 -1
  475. package/dist/chunk-YH6XDF3N.js +0 -121
  476. package/dist/chunk-YH6XDF3N.js.map +0 -1
  477. package/dist/chunk-YJKA4D75.mjs +0 -124
  478. package/dist/chunk-YJKA4D75.mjs.map +0 -1
  479. package/dist/chunk-ZANAF7WB.js +0 -88
  480. package/dist/chunk-ZANAF7WB.js.map +0 -1
  481. package/dist/chunk-ZDBWNPLO.js +0 -30
  482. package/dist/chunk-ZDBWNPLO.js.map +0 -1
  483. package/dist/chunk-ZDT2IOK2.js +0 -56
  484. package/dist/chunk-ZDT2IOK2.js.map +0 -1
  485. package/dist/chunk-ZKGVLTSI.js +0 -25
  486. package/dist/chunk-ZKGVLTSI.js.map +0 -1
  487. package/dist/chunk-ZLELESO7.js +0 -34
  488. package/dist/chunk-ZLELESO7.js.map +0 -1
  489. package/dist/chunk-ZUFUEQTX.mjs +0 -157
  490. package/dist/chunk-ZUFUEQTX.mjs.map +0 -1
  491. package/dist/chunk-ZZZWRQQE.mjs +0 -42
  492. package/dist/chunk-ZZZWRQQE.mjs.map +0 -1
  493. package/dist/command/index.js +0 -138
  494. package/dist/command/index.js.map +0 -1
  495. package/dist/command/index.mjs +0 -128
  496. package/dist/command/index.mjs.map +0 -1
  497. package/dist/components/accordion.js +0 -25
  498. package/dist/components/accordion.js.map +0 -1
  499. package/dist/components/accordion.mjs +0 -4
  500. package/dist/components/accordion.mjs.map +0 -1
  501. package/dist/components/alert.js +0 -21
  502. package/dist/components/alert.js.map +0 -1
  503. package/dist/components/alert.mjs +0 -4
  504. package/dist/components/alert.mjs.map +0 -1
  505. package/dist/components/aspect-ratio.js +0 -12
  506. package/dist/components/aspect-ratio.js.map +0 -1
  507. package/dist/components/aspect-ratio.mjs +0 -3
  508. package/dist/components/aspect-ratio.mjs.map +0 -1
  509. package/dist/components/avatar.js +0 -21
  510. package/dist/components/avatar.js.map +0 -1
  511. package/dist/components/avatar.mjs +0 -4
  512. package/dist/components/avatar.mjs.map +0 -1
  513. package/dist/components/badge.js +0 -17
  514. package/dist/components/badge.js.map +0 -1
  515. package/dist/components/badge.mjs +0 -4
  516. package/dist/components/badge.mjs.map +0 -1
  517. package/dist/components/breadcrumb.js +0 -37
  518. package/dist/components/breadcrumb.js.map +0 -1
  519. package/dist/components/breadcrumb.mjs +0 -4
  520. package/dist/components/breadcrumb.mjs.map +0 -1
  521. package/dist/components/button.js +0 -17
  522. package/dist/components/button.js.map +0 -1
  523. package/dist/components/button.mjs +0 -4
  524. package/dist/components/button.mjs.map +0 -1
  525. package/dist/components/card.js +0 -37
  526. package/dist/components/card.js.map +0 -1
  527. package/dist/components/card.mjs +0 -4
  528. package/dist/components/card.mjs.map +0 -1
  529. package/dist/components/checkbox.js +0 -13
  530. package/dist/components/checkbox.js.map +0 -1
  531. package/dist/components/checkbox.mjs +0 -4
  532. package/dist/components/checkbox.mjs.map +0 -1
  533. package/dist/components/collapsible.js +0 -20
  534. package/dist/components/collapsible.js.map +0 -1
  535. package/dist/components/collapsible.mjs +0 -3
  536. package/dist/components/collapsible.mjs.map +0 -1
  537. package/dist/components/context-menu.js +0 -69
  538. package/dist/components/context-menu.js.map +0 -1
  539. package/dist/components/context-menu.mjs +0 -4
  540. package/dist/components/context-menu.mjs.map +0 -1
  541. package/dist/components/dialog.js +0 -49
  542. package/dist/components/dialog.js.map +0 -1
  543. package/dist/components/dialog.mjs +0 -4
  544. package/dist/components/dialog.mjs.map +0 -1
  545. package/dist/components/drawer.js +0 -49
  546. package/dist/components/drawer.js.map +0 -1
  547. package/dist/components/drawer.mjs +0 -4
  548. package/dist/components/drawer.mjs.map +0 -1
  549. package/dist/components/dropdown-menu.js +0 -69
  550. package/dist/components/dropdown-menu.js.map +0 -1
  551. package/dist/components/dropdown-menu.mjs +0 -4
  552. package/dist/components/dropdown-menu.mjs.map +0 -1
  553. package/dist/components/form.js +0 -42
  554. package/dist/components/form.js.map +0 -1
  555. package/dist/components/form.mjs +0 -5
  556. package/dist/components/form.mjs.map +0 -1
  557. package/dist/components/hover-card.js +0 -21
  558. package/dist/components/hover-card.js.map +0 -1
  559. package/dist/components/hover-card.mjs +0 -4
  560. package/dist/components/hover-card.mjs.map +0 -1
  561. package/dist/components/index.js +0 -1047
  562. package/dist/components/index.js.map +0 -1
  563. package/dist/components/index.mjs +0 -46
  564. package/dist/components/index.mjs.map +0 -1
  565. package/dist/components/input-otp.js +0 -25
  566. package/dist/components/input-otp.js.map +0 -1
  567. package/dist/components/input-otp.mjs +0 -4
  568. package/dist/components/input-otp.mjs.map +0 -1
  569. package/dist/components/input.js +0 -13
  570. package/dist/components/input.js.map +0 -1
  571. package/dist/components/input.mjs +0 -4
  572. package/dist/components/input.mjs.map +0 -1
  573. package/dist/components/label.js +0 -13
  574. package/dist/components/label.js.map +0 -1
  575. package/dist/components/label.mjs +0 -4
  576. package/dist/components/label.mjs.map +0 -1
  577. package/dist/components/menubar.js +0 -73
  578. package/dist/components/menubar.js.map +0 -1
  579. package/dist/components/menubar.mjs +0 -4
  580. package/dist/components/menubar.mjs.map +0 -1
  581. package/dist/components/navigation-menu.js +0 -45
  582. package/dist/components/navigation-menu.js.map +0 -1
  583. package/dist/components/navigation-menu.mjs +0 -4
  584. package/dist/components/navigation-menu.mjs.map +0 -1
  585. package/dist/components/pagination.js +0 -38
  586. package/dist/components/pagination.js.map +0 -1
  587. package/dist/components/pagination.mjs +0 -5
  588. package/dist/components/pagination.mjs.map +0 -1
  589. package/dist/components/popover.js +0 -25
  590. package/dist/components/popover.js.map +0 -1
  591. package/dist/components/popover.mjs +0 -4
  592. package/dist/components/popover.mjs.map +0 -1
  593. package/dist/components/progress.js +0 -13
  594. package/dist/components/progress.js.map +0 -1
  595. package/dist/components/progress.mjs +0 -4
  596. package/dist/components/progress.mjs.map +0 -1
  597. package/dist/components/radio-group.js +0 -17
  598. package/dist/components/radio-group.js.map +0 -1
  599. package/dist/components/radio-group.mjs +0 -4
  600. package/dist/components/radio-group.mjs.map +0 -1
  601. package/dist/components/resizable.js +0 -21
  602. package/dist/components/resizable.js.map +0 -1
  603. package/dist/components/resizable.mjs +0 -4
  604. package/dist/components/resizable.mjs.map +0 -1
  605. package/dist/components/scroll-area.js +0 -17
  606. package/dist/components/scroll-area.js.map +0 -1
  607. package/dist/components/scroll-area.mjs +0 -4
  608. package/dist/components/scroll-area.mjs.map +0 -1
  609. package/dist/components/select.js +0 -49
  610. package/dist/components/select.js.map +0 -1
  611. package/dist/components/select.mjs +0 -4
  612. package/dist/components/select.mjs.map +0 -1
  613. package/dist/components/separator.js +0 -13
  614. package/dist/components/separator.js.map +0 -1
  615. package/dist/components/separator.mjs +0 -4
  616. package/dist/components/separator.mjs.map +0 -1
  617. package/dist/components/sheet.js +0 -49
  618. package/dist/components/sheet.js.map +0 -1
  619. package/dist/components/sheet.mjs +0 -4
  620. package/dist/components/sheet.mjs.map +0 -1
  621. package/dist/components/sidebar.js +0 -111
  622. package/dist/components/sidebar.js.map +0 -1
  623. package/dist/components/sidebar.mjs +0 -10
  624. package/dist/components/sidebar.mjs.map +0 -1
  625. package/dist/components/skeleton.js +0 -13
  626. package/dist/components/skeleton.js.map +0 -1
  627. package/dist/components/skeleton.mjs +0 -4
  628. package/dist/components/skeleton.mjs.map +0 -1
  629. package/dist/components/slider.js +0 -13
  630. package/dist/components/slider.js.map +0 -1
  631. package/dist/components/slider.mjs +0 -4
  632. package/dist/components/slider.mjs.map +0 -1
  633. package/dist/components/switch.js +0 -13
  634. package/dist/components/switch.js.map +0 -1
  635. package/dist/components/switch.mjs +0 -4
  636. package/dist/components/switch.mjs.map +0 -1
  637. package/dist/components/table.js +0 -41
  638. package/dist/components/table.js.map +0 -1
  639. package/dist/components/table.mjs +0 -4
  640. package/dist/components/table.mjs.map +0 -1
  641. package/dist/components/tabs.js +0 -25
  642. package/dist/components/tabs.js.map +0 -1
  643. package/dist/components/tabs.mjs +0 -4
  644. package/dist/components/tabs.mjs.map +0 -1
  645. package/dist/components/textarea.js +0 -13
  646. package/dist/components/textarea.js.map +0 -1
  647. package/dist/components/textarea.mjs +0 -4
  648. package/dist/components/textarea.mjs.map +0 -1
  649. package/dist/components/toast.js +0 -37
  650. package/dist/components/toast.js.map +0 -1
  651. package/dist/components/toast.mjs +0 -4
  652. package/dist/components/toast.mjs.map +0 -1
  653. package/dist/components/toggle-group.js +0 -18
  654. package/dist/components/toggle-group.js.map +0 -1
  655. package/dist/components/toggle-group.mjs +0 -5
  656. package/dist/components/toggle-group.mjs.map +0 -1
  657. package/dist/components/toggle.js +0 -17
  658. package/dist/components/toggle.js.map +0 -1
  659. package/dist/components/toggle.mjs +0 -4
  660. package/dist/components/toggle.mjs.map +0 -1
  661. package/dist/components/tooltip.js +0 -25
  662. package/dist/components/tooltip.js.map +0 -1
  663. package/dist/components/tooltip.mjs +0 -4
  664. package/dist/components/tooltip.mjs.map +0 -1
  665. package/dist/effects/index.js +0 -162
  666. package/dist/effects/index.js.map +0 -1
  667. package/dist/effects/index.mjs +0 -156
  668. package/dist/effects/index.mjs.map +0 -1
  669. package/dist/lib/utils.js +0 -12
  670. package/dist/lib/utils.js.map +0 -1
  671. package/dist/lib/utils.mjs +0 -3
  672. package/dist/lib/utils.mjs.map +0 -1
  673. package/dist/markdown/index.js +0 -669
  674. package/dist/markdown/index.js.map +0 -1
  675. package/dist/markdown/index.mjs +0 -635
  676. package/dist/markdown/index.mjs.map +0 -1
  677. package/dist/qr/index.js +0 -101
  678. package/dist/qr/index.js.map +0 -1
  679. package/dist/qr/index.mjs +0 -98
  680. package/dist/qr/index.mjs.map +0 -1
  681. package/dist/upload/index.js +0 -166
  682. package/dist/upload/index.js.map +0 -1
  683. package/dist/upload/index.mjs +0 -163
  684. package/dist/upload/index.mjs.map +0 -1
  685. package/publish.sh +0 -27
@@ -0,0 +1,59 @@
1
+ import React from 'react'
2
+ import { LucideProps } from 'lucide-react'
3
+
4
+ const YouTubeLogo = (props) => (
5
+ <svg
6
+ viewBox="0 0 256 256"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ {...props}
9
+ >
10
+ <g
11
+ style={{
12
+ stroke: 'none',
13
+ strokeWidth: 0,
14
+ strokeDasharray: 'none',
15
+ strokeLinecap: 'butt',
16
+ strokeLinejoin: 'miter',
17
+ strokeMiterlimit: 10,
18
+ fill: 'none',
19
+ fillRule: 'nonzero',
20
+ opacity: 1
21
+ }}
22
+ transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)"
23
+ >
24
+ <path
25
+ d="M 88.119 23.338 c -1.035 -3.872 -4.085 -6.922 -7.957 -7.957 C 73.144 13.5 45 13.5 45 13.5 s -28.144 0 -35.162 1.881 c -3.872 1.035 -6.922 4.085 -7.957 7.957 C 0 30.356 0 45 0 45 s 0 14.644 1.881 21.662 c 1.035 3.872 4.085 6.922 7.957 7.957 C 16.856 76.5 45 76.5 45 76.5 s 28.144 0 35.162 -1.881 c 3.872 -1.035 6.922 -4.085 7.957 -7.957 C 90 59.644 90 45 90 45 S 90 30.356 88.119 23.338 z"
26
+ style={{
27
+ stroke: 'none',
28
+ strokeWidth: 1,
29
+ strokeDasharray: 'none',
30
+ strokeLinecap: 'butt',
31
+ strokeLinejoin: 'miter',
32
+ strokeMiterlimit: 10,
33
+ fill: 'red',
34
+ fillRule: 'nonzero',
35
+ opacity: 1
36
+ }}
37
+ transform=" matrix(1 0 0 1 0 0) "
38
+ strokeLinecap="round"
39
+ />
40
+ <polygon
41
+ points="36,58.5 59.38,45 36,31.5 "
42
+ style={{
43
+ stroke: 'none',
44
+ strokeWidth: 1,
45
+ strokeDasharray: 'none',
46
+ strokeLinecap: 'butt',
47
+ strokeLinejoin: 'miter',
48
+ strokeMiterlimit: 10,
49
+ fill: 'white',
50
+ fillRule: 'nonzero',
51
+ opacity: 1
52
+ }}
53
+ transform="matrix(1 0 0 1 0 0)"
54
+ />
55
+ </g>
56
+ </svg>
57
+ )
58
+
59
+ export default YouTubeLogo
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ // Re-export everything from the main index
4
+ export * from './index-next';
@@ -0,0 +1,304 @@
1
+ export {
2
+ Accordion,
3
+ AccordionItem,
4
+ AccordionTrigger,
5
+ AccordionContent
6
+ } from './accordion'
7
+
8
+ export {
9
+ AlertDialog,
10
+ AlertDialogTrigger,
11
+ AlertDialogContent,
12
+ AlertDialogHeader,
13
+ AlertDialogTitle,
14
+ AlertDialogDescription,
15
+ AlertDialogFooter,
16
+ AlertDialogAction,
17
+ AlertDialogCancel,
18
+ } from './alert-dialog'
19
+
20
+ export {
21
+ Alert,
22
+ AlertTitle,
23
+ AlertDescription
24
+ } from './alert'
25
+
26
+ export {
27
+ Avatar,
28
+ AvatarImage,
29
+ AvatarFallback
30
+ } from './avatar'
31
+
32
+ export {
33
+ Breadcrumb,
34
+ BreadcrumbList,
35
+ BreadcrumbItem,
36
+ BreadcrumbLink,
37
+ BreadcrumbPage,
38
+ BreadcrumbSeparator,
39
+ BreadcrumbEllipsis,
40
+ } from './breadcrumb'
41
+
42
+ export {
43
+ default as Button,
44
+ buttonVariants,
45
+ } from './button'
46
+ export type { ButtonProps } from './button'
47
+
48
+ export {
49
+ Card,
50
+ CardHeader,
51
+ CardFooter,
52
+ CardTitle,
53
+ CardDescription,
54
+ CardContent
55
+ } from './card'
56
+
57
+ export {
58
+ type CarouselApi,
59
+ type CarouselOptions,
60
+ Carousel,
61
+ CarouselContent,
62
+ CarouselItem,
63
+ CarouselNext,
64
+ CarouselPrevious,
65
+ } from './carousel'
66
+
67
+ export {
68
+ Command,
69
+ CommandDialog,
70
+ CommandInput,
71
+ CommandList,
72
+ CommandEmpty,
73
+ CommandGroup,
74
+ CommandItem,
75
+ CommandShortcut,
76
+ CommandSeparator,
77
+ } from './command'
78
+
79
+ export {
80
+ Collapsible,
81
+ CollapsibleTrigger,
82
+ CollapsibleContent,
83
+ } from './collapsible'
84
+
85
+ export {
86
+ ContextMenu,
87
+ ContextMenuTrigger,
88
+ ContextMenuContent,
89
+ ContextMenuItem,
90
+ ContextMenuCheckboxItem,
91
+ ContextMenuRadioItem,
92
+ ContextMenuLabel,
93
+ ContextMenuSeparator,
94
+ ContextMenuShortcut,
95
+ ContextMenuGroup,
96
+ ContextMenuPortal,
97
+ ContextMenuSub,
98
+ ContextMenuSubContent,
99
+ ContextMenuSubTrigger,
100
+ ContextMenuRadioGroup,
101
+ } from './context-menu'
102
+
103
+ export {
104
+ Drawer,
105
+ DrawerPortal,
106
+ DrawerOverlay,
107
+ DrawerTrigger,
108
+ DrawerClose,
109
+ DrawerContent,
110
+ DrawerHandle,
111
+ DrawerHeader,
112
+ DrawerFooter,
113
+ DrawerTitle,
114
+ DrawerDescription,
115
+ } from './drawer'
116
+
117
+ export {
118
+ Dialog,
119
+ DialogPortal,
120
+ DialogOverlay,
121
+ DialogClose,
122
+ DialogTrigger,
123
+ DialogContent,
124
+ DialogHeader,
125
+ DialogFooter,
126
+ DialogTitle,
127
+ DialogDescription,
128
+ } from './dialog'
129
+
130
+ export {
131
+ DropdownMenu,
132
+ DropdownMenuTrigger,
133
+ DropdownMenuContent,
134
+ DropdownMenuItem,
135
+ DropdownMenuCheckboxItem,
136
+ DropdownMenuRadioItem,
137
+ DropdownMenuLabel,
138
+ DropdownMenuSeparator,
139
+ DropdownMenuShortcut,
140
+ DropdownMenuGroup,
141
+ DropdownMenuPortal,
142
+ DropdownMenuSub,
143
+ DropdownMenuSubContent,
144
+ DropdownMenuSubTrigger,
145
+ DropdownMenuRadioGroup,
146
+ } from './dropdown-menu'
147
+
148
+ export { ErrorMessage } from './error-message'
149
+
150
+ export {
151
+ useFormField,
152
+ Form,
153
+ FormItem,
154
+ FormLabel,
155
+ FormControl,
156
+ FormDescription,
157
+ FormMessage,
158
+ FormField,
159
+ } from './form'
160
+
161
+ export {
162
+ HoverCard,
163
+ HoverCardTrigger,
164
+ HoverCardContent,
165
+ } from './hover-card'
166
+
167
+ export {
168
+ InputOTP,
169
+ InputOTPGroup,
170
+ InputOTPSeparator,
171
+ InputOTPSlot,
172
+ } from './input-otp'
173
+
174
+ export {
175
+ navigationMenuTriggerStyle,
176
+ NavigationMenu,
177
+ NavigationMenuList,
178
+ NavigationMenuItem,
179
+ NavigationMenuContent,
180
+ NavigationMenuTrigger,
181
+ NavigationMenuLink,
182
+ NavigationMenuIndicator,
183
+ NavigationMenuViewport,
184
+ } from './navigation-menu'
185
+
186
+ export {
187
+ Popover,
188
+ PopoverAnchor,
189
+ PopoverArrow,
190
+ PopoverClose,
191
+ PopoverContent,
192
+ PopoverTrigger,
193
+ } from './popover'
194
+
195
+ export {
196
+ ResizablePanelGroup,
197
+ ResizablePanel,
198
+ ResizableHandle,
199
+ } from './resizable'
200
+
201
+ export {
202
+ Select,
203
+ SelectGroup,
204
+ SelectValue,
205
+ SelectTrigger,
206
+ SelectContent,
207
+ SelectLabel,
208
+ SelectItem,
209
+ SelectSeparator,
210
+ // SelectScrollUpButton, // Does not exist in select.tsx
211
+ // SelectScrollDownButton, // Does not exist in select.tsx
212
+ } from './select'
213
+
214
+ export {
215
+ Sheet,
216
+ SheetPortal,
217
+ SheetOverlay,
218
+ SheetTrigger,
219
+ SheetClose,
220
+ SheetContent,
221
+ SheetHeader,
222
+ SheetFooter,
223
+ SheetTitle,
224
+ SheetDescription,
225
+ } from './sheet'
226
+
227
+ export {
228
+ Table,
229
+ TableHeader,
230
+ TableBody,
231
+ TableFooter,
232
+ TableHead,
233
+ TableRow,
234
+ TableCell,
235
+ TableCaption,
236
+ } from './table'
237
+
238
+ export {
239
+ Tabs,
240
+ TabsList,
241
+ TabsTrigger,
242
+ TabsContent
243
+ } from './tabs'
244
+
245
+ export * from './tooltip'
246
+
247
+ export { default as ActionButton } from './action-button'
248
+ export { default as ApplyTypography, type TypographySize} from './apply-typography'
249
+ export { default as AspectRatio } from './aspect-ratio'
250
+ export { default as Badge } from './badge'
251
+ export { default as BreakpointIndicator } from './breakpoint-indicator'
252
+ export { default as Calendar } from './calendar'
253
+ export { default as Checkbox } from './checkbox'
254
+ export { default as Combobox, type ComboboxTriggerProps } from './combobox'
255
+ export { default as DialogVideoController } from './dialog-video-controller'
256
+ export { default as Input } from './input'
257
+ export { default as Label } from './label'
258
+ export type { default as ListAdaptor } from './list-adaptor'
259
+ export { default as ListBox } from './list-box'
260
+ export { default as LoadingSpinner } from './loading-spinner'
261
+ export { default as Progress } from './progress'
262
+ export { RadioGroup, RadioGroupItem } from './radio-group'
263
+ export { ScrollArea, ScrollBar } from './scroll-area'
264
+ export { SearchInput } from './search-input'
265
+ export { default as Separator } from './separator'
266
+ export { default as Slider } from './slider'
267
+ export { default as Skeleton } from './skeleton'
268
+ export { default as StepIndicator } from './step-indicator'
269
+ export { default as Switch } from './switch'
270
+ export { Textarea } from './textarea'
271
+ export { default as TextField } from './textfield'
272
+ export { Toaster, toast } from './sonner'
273
+ export { Toggle, toggleVariants } from './toggle'
274
+ export { ToggleGroup, ToggleGroupItem } from './toggle-group'
275
+ export { default as VideoPlayer } from './video-player'
276
+
277
+ // Chat components
278
+ export { ChatInput } from './chat/chat-input'
279
+ export { ChatInputArea } from './chat/chat-input-area'
280
+ // export { FileList } from './chat/files-preview' // Uses Tauri APIs not available in web
281
+
282
+ // Additional components
283
+ export { CopyToClipboardIcon } from './copy-to-clipboard-icon'
284
+ export { DotsLoader } from './dots-loader'
285
+ export { FileUploader } from './file-uploader'
286
+ export { default as JsonForm } from './chat/json-form'
287
+ export { MarkdownText, MarkdownPreview } from './markdown-preview'
288
+ export { PrettyJsonPrint } from './pretty-json-print'
289
+
290
+ // Re-export Tooltip components individually
291
+ export {
292
+ TooltipProvider,
293
+ Tooltip,
294
+ TooltipTrigger,
295
+ TooltipContent,
296
+ TooltipArrow,
297
+ TooltipPortal,
298
+ } from './tooltip'
299
+
300
+ // Export icons
301
+ export * as Icons from './icons'
302
+
303
+ // Re-export assets for compatibility
304
+ export * from '../assets'
@@ -0,0 +1,4 @@
1
+ // Re-export everything from common primitives and Next.js specific components
2
+ // Note: Using comment to avoid Turbopack issues with relative imports in symlinked packages
3
+ export * from './index-common'
4
+ export * from './next/index'
@@ -0,0 +1,65 @@
1
+ 'use client'
2
+ import React from 'react';
3
+
4
+ import { OTPInput, type SlotProps } from 'input-otp'
5
+ import { Dot } from 'lucide-react'
6
+
7
+ import { cn } from '../util'
8
+
9
+ const InputOTP = React.forwardRef<
10
+ React.ElementRef<typeof OTPInput>,
11
+ React.ComponentPropsWithoutRef<typeof OTPInput>
12
+ >(({ className, ...props }, ref) => (
13
+ <OTPInput
14
+ ref={ref}
15
+ containerClassName={cn('flex items-center gap-2', className)}
16
+ {...props}
17
+ />
18
+ ))
19
+ InputOTP.displayName = 'InputOTP'
20
+
21
+ const InputOTPGroup = React.forwardRef<
22
+ React.ElementRef<'div'>,
23
+ React.ComponentPropsWithoutRef<'div'>
24
+ >(({ className, ...props }, ref) => (
25
+ <div ref={ref} className={cn('flex items-center', className)} {...props} />
26
+ ))
27
+ InputOTPGroup.displayName = 'InputOTPGroup'
28
+
29
+ const InputOTPSlot = React.forwardRef<
30
+ React.ElementRef<'div'>,
31
+ SlotProps & React.ComponentPropsWithoutRef<'div'>
32
+ >(({ char, hasFakeCaret, isActive, className, ...props }, ref) => {
33
+ return (
34
+ <div
35
+ ref={ref}
36
+ className={cn(
37
+ 'relative flex h-10 w-10 items-center justify-center border-y border-r border-muted-3 text-sm ',
38
+ 'transition-all first:rounded-l-md first:border-l last:rounded-r-md',
39
+ isActive && 'z-above-content ring-2 ring-muted', // TODO: couldn't find: 'ring-offset-background'
40
+ className
41
+ )}
42
+ {...props}
43
+ >
44
+ {char}
45
+ {hasFakeCaret && (
46
+ <div className='pointer-events-none absolute inset-0 flex items-center justify-center'>
47
+ <div className='animate-caret-blink h-4 w-px bg-foreground duration-1000' />
48
+ </div>
49
+ )}
50
+ </div>
51
+ )
52
+ })
53
+ InputOTPSlot.displayName = 'InputOTPSlot'
54
+
55
+ const InputOTPSeparator = React.forwardRef<
56
+ React.ElementRef<'div'>,
57
+ React.ComponentPropsWithoutRef<'div'>
58
+ >(({ ...props }, ref) => (
59
+ <div ref={ref} role='separator' {...props}>
60
+ <Dot />
61
+ </div>
62
+ ))
63
+ InputOTPSeparator.displayName = 'InputOTPSeparator'
64
+
65
+ export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }
@@ -0,0 +1,128 @@
1
+ 'use client';
2
+
3
+ import { EyeIcon, EyeOffIcon } from 'lucide-react';
4
+ import React from 'react';
5
+ import { useEffect, useImperativeHandle, useRef } from 'react';
6
+
7
+ import { RefCallBack } from 'react-hook-form';
8
+ import { cn } from '../src/utils';
9
+ import { Badge } from './badge';
10
+ import { Button } from './button';
11
+
12
+ export interface InputProps
13
+ extends React.InputHTMLAttributes<HTMLInputElement> {
14
+ startAdornment?: React.ReactNode;
15
+ endAdornment?: React.ReactNode;
16
+ hidePasswordToggle?: boolean;
17
+ ref?: React.RefObject<HTMLInputElement | null> | RefCallBack;
18
+ }
19
+
20
+ const Input = ({
21
+ className,
22
+ type,
23
+ startAdornment,
24
+ endAdornment,
25
+ hidePasswordToggle,
26
+ ref,
27
+ ...props
28
+ }: InputProps) => {
29
+ const inputRef = useRef<HTMLInputElement>(null);
30
+ const startAdornmentRef = useRef<HTMLDivElement>(null);
31
+ const endAdornmentRef = useRef<HTMLDivElement>(null);
32
+ const [showPassword, setShowPassword] = React.useState(false);
33
+
34
+ const togglePasswordVisibility = () => {
35
+ setShowPassword(!showPassword);
36
+ };
37
+
38
+ const style: React.CSSProperties = {};
39
+ if (startAdornment) {
40
+ style.paddingLeft = `${
41
+ (startAdornmentRef?.current?.offsetWidth ?? 0) + 20
42
+ }px`;
43
+ }
44
+ if (endAdornment) {
45
+ style.paddingRight = `${
46
+ (endAdornmentRef?.current?.offsetWidth ?? 0) + 20
47
+ }px`;
48
+ }
49
+
50
+ useImperativeHandle(ref, () => inputRef.current!, []);
51
+
52
+ useEffect(() => {
53
+ if (props.autoFocus) {
54
+ setTimeout(() => {
55
+ // trick to wait the modal to be opened to focus
56
+ inputRef?.current?.focus();
57
+ }, 0);
58
+ }
59
+ }, [props.autoFocus]);
60
+
61
+ const inputType = type === 'password' && showPassword ? 'text' : type;
62
+
63
+ return (
64
+ <>
65
+ <input
66
+ className={cn(
67
+ 'h-input border-border-input bg-bg-secondary focus:border-border-input-focus disabled:bg-bg-input-disabled peer placeholder-shown:border-border-input text-text-default w-full rounded-lg border px-4 py-3 pt-8 text-sm font-medium placeholder-transparent outline outline-0 transition-all placeholder-shown:border focus:border focus:outline-0 disabled:border-0 disabled:text-gray-400',
68
+ startAdornment && 'pl-[var(--custom-padding-left-input)]',
69
+ endAdornment && 'pr-[var(--custom-padding-right-input)]',
70
+ type === 'password' && 'pr-[60px]',
71
+ className,
72
+ )}
73
+ placeholder=" "
74
+ ref={inputRef}
75
+ spellCheck={false}
76
+ style={style}
77
+ type={inputType}
78
+ {...props}
79
+ />
80
+ {startAdornment ? (
81
+ <Badge
82
+ className="peer/adornment adornment absolute top-[30px] left-4"
83
+ ref={startAdornmentRef}
84
+ variant="inputAdornment"
85
+ >
86
+ {startAdornment}
87
+ </Badge>
88
+ ) : null}
89
+ {endAdornment && typeof endAdornment === 'string' ? (
90
+ <Badge
91
+ className="peer/adornment adornment absolute top-[30px] right-4"
92
+ ref={endAdornmentRef}
93
+ variant="inputAdornment"
94
+ >
95
+ {endAdornment}
96
+ </Badge>
97
+ ) : null}
98
+ {endAdornment &&
99
+ typeof endAdornment !== 'string' &&
100
+ React.isValidElement(endAdornment)
101
+ ? React.cloneElement(endAdornment, {
102
+ ref: endAdornmentRef,
103
+ } as React.ComponentProps<typeof Badge>)
104
+ : null}
105
+ {type === 'password' && !hidePasswordToggle && (
106
+ <Button
107
+ aria-label={showPassword ? 'Hide password' : 'Show password'}
108
+ className="absolute top-3 right-3"
109
+ onClick={togglePasswordVisibility}
110
+ size={'icon'}
111
+ type="button"
112
+ variant="tertiary"
113
+ >
114
+ {showPassword ? (
115
+ <EyeOffIcon aria-hidden="true" className="h-4 w-4" />
116
+ ) : (
117
+ <EyeIcon aria-hidden="true" className="h-4 w-4" />
118
+ )}
119
+ </Button>
120
+ )}
121
+ </>
122
+ );
123
+ };
124
+
125
+ Input.displayName = 'Input';
126
+
127
+ export { Input };
128
+ export default Input;
@@ -0,0 +1,21 @@
1
+ import * as LabelPrimitive from '@radix-ui/react-label';
2
+ import { cva, type VariantProps } from 'class-variance-authority';
3
+ import React from 'react';
4
+
5
+ import { cn } from '../src/utils';
6
+
7
+ const labelVariants = cva(
8
+ 'text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70',
9
+ );
10
+
11
+ const Label = ({
12
+ className,
13
+ ...props
14
+ }: React.ComponentProps<typeof LabelPrimitive.Root> &
15
+ VariantProps<typeof labelVariants>) => (
16
+ <LabelPrimitive.Root className={cn(labelVariants(), className)} {...props} />
17
+ );
18
+ Label.displayName = LabelPrimitive.Root.displayName;
19
+
20
+ export { Label };
21
+ export default Label;
@@ -0,0 +1,12 @@
1
+ interface ListAdaptor<T> {
2
+ getValue: (el: T) => string
3
+ equals: (el1: T, el2: T) => boolean
4
+ valueEquals: (el: T, v: string) => boolean
5
+ getLabel?: (el: T) => string
6
+ getImageUrl?: (el: T) => string | null
7
+ isDisabled?: (el: T) => boolean
8
+ }
9
+
10
+ export {
11
+ type ListAdaptor as default
12
+ }
@@ -0,0 +1,74 @@
1
+ 'use client'
2
+ import React from 'react'
3
+ import { cn } from '../util'
4
+
5
+ function Item<T>({
6
+ value,
7
+ label,
8
+ className,
9
+ onClick,
10
+ first=false,
11
+ last=false,
12
+ selected=false
13
+ }:{
14
+ value: T
15
+ label: string
16
+ className: string
17
+ onClick: (val: T) => void
18
+ first?: boolean
19
+ last?: boolean
20
+ selected?: boolean
21
+ }) {
22
+
23
+ return (
24
+ <div
25
+ className={cn(
26
+ 'font-normal text-muted-1 px-3 py-1 cursor-pointer hover:text-foreground ',
27
+ last ? '' : 'border-b',
28
+ selected ? 'font-semibold text-accent hover:text-accent' : '',
29
+ className
30
+ )}
31
+ onClick={() => {onClick(value)}}
32
+ >
33
+ <span>{label}</span>
34
+ </div>
35
+ )
36
+ }
37
+
38
+ function ListBox<T>({
39
+ values,
40
+ labels,
41
+ onValueChange,
42
+ value,
43
+ isEqual,
44
+ clx = '',
45
+ itemClx = ''
46
+ }:{
47
+ values: T[]
48
+ labels: string[]
49
+ onValueChange: (val: T) => void
50
+ value: T | undefined
51
+ isEqual: (v1: T, v2: T) => boolean
52
+ clx?: string
53
+ itemClx?: string
54
+ }): JSX.Element {
55
+
56
+ return (
57
+ <div className={cn('border rounded-md select-none', clx)} >
58
+ {values.map((val, i) => (
59
+ <Item<T>
60
+ value={val}
61
+ label={labels[i]}
62
+ onClick={onValueChange}
63
+ className={itemClx}
64
+ first={i === 0}
65
+ last={i === values.length - 1}
66
+ selected={value && isEqual(val, value)}
67
+ key={labels[i]}
68
+ />
69
+ ))}
70
+ </div>
71
+ )
72
+ }
73
+
74
+ export default ListBox
@@ -0,0 +1,33 @@
1
+ import { cn } from '../util'
2
+
3
+ // cf: https://github.com/hanzo-ui/ui/discussions/1694#discussioncomment-7851248
4
+ const LoadingSpinner: React.FC<
5
+ {
6
+ size?: number
7
+ className?: string
8
+ }
9
+ & React.SVGProps<SVGSVGElement>
10
+ > = ({
11
+ size = 24,
12
+ className='',
13
+ ...props
14
+ }) => {
15
+ return (
16
+ <svg
17
+ width={size}
18
+ height={size}
19
+ {...props}
20
+ viewBox="0 0 24 24"
21
+ fill="none"
22
+ stroke="currentColor"
23
+ strokeWidth="2"
24
+ strokeLinecap="round"
25
+ strokeLinejoin="round"
26
+ className={cn("animate-spin", className)}
27
+ >
28
+ <path d="M21 12a9 9 0 1 1-6.219-8.56" />
29
+ </svg>
30
+ )
31
+ }
32
+
33
+ export default LoadingSpinner