@hanzo/ui 5.0.0 → 5.0.2

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 +9072 -1089
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.mjs +8698 -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 +196 -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,42 @@
1
+ 'use client'
2
+ import React from 'react'
3
+
4
+ import { cn, type VariantProps } from '../util'
5
+
6
+ import type { ButtonDef, ButtonModalDef } from '../types'
7
+ import type { buttonVariants } from './button'
8
+ import DVC from './dialog-video-controller'
9
+
10
+ const ActionButton: React.FC<
11
+ VariantProps<typeof buttonVariants> &
12
+ {
13
+ def: ButtonDef
14
+ className?: string
15
+ }
16
+ > = ({
17
+ def,
18
+ className='',
19
+ ...rest
20
+ }) => {
21
+ if (def.action.type === 'modal') {
22
+ const m = def.action.def as ButtonModalDef
23
+ const Modal = m.Comp
24
+ return (
25
+ <DVC>
26
+ <Modal
27
+ title={m.title}
28
+ byline={m.byline}
29
+ buttonText={def.text}
30
+ buttonProps={{...def.props, ...rest, className: cn((def.props?.className ?? ''), className)}}
31
+ action={m.action}
32
+ actionEnclosure={m.actionEnclosure}
33
+ {...m.props}
34
+ />
35
+ </DVC>
36
+ )
37
+ }
38
+ // no other types supported yet
39
+ return <></>
40
+ }
41
+
42
+ export default ActionButton
@@ -0,0 +1,185 @@
1
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
2
+ import React from 'react';
3
+
4
+ import { cn } from '../src/utils';
5
+ import { buttonVariants } from './button';
6
+
7
+ const AlertDialog = AlertDialogPrimitive.Root;
8
+
9
+ const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
10
+
11
+ const AlertDialogPortal = AlertDialogPrimitive.Portal;
12
+
13
+ type AlertDialogOverlayProps = React.ComponentPropsWithoutRef<
14
+ typeof AlertDialogPrimitive.Overlay
15
+ > & {
16
+ ref?: React.RefObject<
17
+ React.ComponentRef<typeof AlertDialogPrimitive.Overlay>
18
+ >;
19
+ };
20
+
21
+ const AlertDialogOverlay = ({
22
+ className,
23
+ children,
24
+ ref,
25
+ ...props
26
+ }: AlertDialogOverlayProps) => (
27
+ <AlertDialogPrimitive.Overlay
28
+ className={cn(
29
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm',
30
+ 'bg-bg-dark/90',
31
+ className,
32
+ )}
33
+ {...props}
34
+ ref={ref}
35
+ />
36
+ );
37
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
38
+
39
+ type AlertDialogContentProps = React.ComponentPropsWithoutRef<
40
+ typeof AlertDialogPrimitive.Content
41
+ > & {
42
+ ref?: React.RefObject<
43
+ React.ComponentRef<typeof AlertDialogPrimitive.Content>
44
+ >;
45
+ };
46
+
47
+ const AlertDialogContent = ({
48
+ className,
49
+ ref,
50
+ ...props
51
+ }: AlertDialogContentProps) => (
52
+ <AlertDialogPortal>
53
+ <AlertDialogOverlay />
54
+ <AlertDialogPrimitive.Content
55
+ className={cn(
56
+ 'bg-bg-default 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 border-divider fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',
57
+ className,
58
+ )}
59
+ ref={ref}
60
+ {...props}
61
+ />
62
+ </AlertDialogPortal>
63
+ );
64
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
65
+
66
+ const AlertDialogHeader = ({
67
+ className,
68
+ ...props
69
+ }: React.HTMLAttributes<HTMLDivElement>) => (
70
+ <div
71
+ className={cn(
72
+ 'flex flex-col space-y-2 text-center sm:text-left',
73
+ className,
74
+ )}
75
+ {...props}
76
+ />
77
+ );
78
+ AlertDialogHeader.displayName = 'AlertDialogHeader';
79
+
80
+ const AlertDialogFooter = ({
81
+ className,
82
+ ...props
83
+ }: React.HTMLAttributes<HTMLDivElement>) => (
84
+ <div className={cn('flex', className)} {...props} />
85
+ );
86
+ AlertDialogFooter.displayName = 'AlertDialogFooter';
87
+
88
+ type AlertDialogTitleProps = React.ComponentPropsWithoutRef<
89
+ typeof AlertDialogPrimitive.Title
90
+ > & {
91
+ ref?: React.RefObject<React.ComponentRef<typeof AlertDialogPrimitive.Title>>;
92
+ };
93
+
94
+ const AlertDialogTitle = ({
95
+ className,
96
+ ref,
97
+ ...props
98
+ }: AlertDialogTitleProps) => (
99
+ <AlertDialogPrimitive.Title
100
+ className={cn('text-lg font-semibold', className)}
101
+ ref={ref}
102
+ {...props}
103
+ />
104
+ );
105
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
106
+
107
+ type AlertDialogDescriptionProps = React.ComponentPropsWithoutRef<
108
+ typeof AlertDialogPrimitive.Description
109
+ > & {
110
+ ref?: React.RefObject<
111
+ React.ComponentRef<typeof AlertDialogPrimitive.Description>
112
+ >;
113
+ };
114
+
115
+ const AlertDialogDescription = ({
116
+ className,
117
+ ref,
118
+ ...props
119
+ }: AlertDialogDescriptionProps) => (
120
+ <AlertDialogPrimitive.Description
121
+ className={cn('text-text-secondary text-sm', className)}
122
+ ref={ref}
123
+ {...props}
124
+ />
125
+ );
126
+ AlertDialogDescription.displayName =
127
+ AlertDialogPrimitive.Description.displayName;
128
+
129
+ type AlertDialogActionProps = React.ComponentPropsWithoutRef<
130
+ typeof AlertDialogPrimitive.Action
131
+ > & {
132
+ ref?: React.RefObject<React.ComponentRef<typeof AlertDialogPrimitive.Action>>;
133
+ };
134
+
135
+ const AlertDialogAction = ({
136
+ className,
137
+ ref,
138
+ ...props
139
+ }: AlertDialogActionProps) => (
140
+ <AlertDialogPrimitive.Action
141
+ className={cn(
142
+ buttonVariants({ variant: 'default', size: 'sm' }),
143
+ className,
144
+ )}
145
+ ref={ref}
146
+ {...props}
147
+ />
148
+ );
149
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
150
+
151
+ type AlertDialogCancelProps = React.ComponentPropsWithoutRef<
152
+ typeof AlertDialogPrimitive.Cancel
153
+ > & {
154
+ ref?: React.RefObject<React.ComponentRef<typeof AlertDialogPrimitive.Cancel>>;
155
+ };
156
+
157
+ const AlertDialogCancel = ({
158
+ className,
159
+ ref,
160
+ ...props
161
+ }: AlertDialogCancelProps) => (
162
+ <AlertDialogPrimitive.Cancel
163
+ className={cn(
164
+ buttonVariants({ variant: 'outline', size: 'sm' }),
165
+ className,
166
+ )}
167
+ ref={ref}
168
+ {...props}
169
+ />
170
+ );
171
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
172
+
173
+ export {
174
+ AlertDialog,
175
+ AlertDialogPortal,
176
+ AlertDialogOverlay,
177
+ AlertDialogTrigger,
178
+ AlertDialogContent,
179
+ AlertDialogHeader,
180
+ AlertDialogFooter,
181
+ AlertDialogTitle,
182
+ AlertDialogDescription,
183
+ AlertDialogAction,
184
+ AlertDialogCancel,
185
+ };
@@ -0,0 +1,74 @@
1
+ import { cva, type VariantProps } from 'class-variance-authority';
2
+ import React from 'react';
3
+
4
+ import { cn } from '../src/utils';
5
+
6
+ const alertVariants = cva(
7
+ '[&>svg]:text-text-default relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg+div]:translate-y-[-3px] [&>svg~*]:pl-7',
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: 'bg-bg-tertiary text-text-default',
12
+ info: 'text-text-secondary [&>svg]:text-text-secondary bg-gray-250 border-gray-100 border-gray-200',
13
+ destructive:
14
+ 'border-[#4d0408] bg-[#2d0607] text-[#ff9ea1] [&>svg]:text-[#ff9ea1]',
15
+ warning:
16
+ 'border-yellow-800 bg-yellow-900 text-yellow-400 [&>svg]:text-yellow-400',
17
+ success:
18
+ 'border-green-800 bg-green-900 text-green-400 [&>svg]:text-green-400',
19
+ download:
20
+ 'border-gray-800 bg-gray-900 text-cyan-400 [&>svg]:text-cyan-400',
21
+ },
22
+ },
23
+ defaultVariants: {
24
+ variant: 'default',
25
+ },
26
+ },
27
+ );
28
+
29
+ type AlertProps = React.HTMLAttributes<HTMLDivElement> &
30
+ VariantProps<typeof alertVariants> & {
31
+ ref?: React.RefObject<HTMLDivElement>;
32
+ };
33
+
34
+ const Alert = ({ className, variant, ref, ...props }: AlertProps) => (
35
+ <div
36
+ className={cn(alertVariants({ variant }), className)}
37
+ ref={ref}
38
+ role="alert"
39
+ {...props}
40
+ />
41
+ );
42
+ Alert.displayName = 'Alert';
43
+
44
+ type AlertTitleProps = React.HTMLAttributes<HTMLHeadingElement> & {
45
+ ref?: React.RefObject<HTMLParagraphElement>;
46
+ };
47
+
48
+ const AlertTitle = ({ className, ref, ...props }: AlertTitleProps) => (
49
+ <h5
50
+ className={cn('mb-1 leading-none font-medium tracking-tight', className)}
51
+ ref={ref}
52
+ {...props}
53
+ />
54
+ );
55
+ AlertTitle.displayName = 'AlertTitle';
56
+
57
+ type AlertDescriptionProps = React.HTMLAttributes<HTMLParagraphElement> & {
58
+ ref?: React.RefObject<HTMLParagraphElement>;
59
+ };
60
+
61
+ const AlertDescription = ({
62
+ className,
63
+ ref,
64
+ ...props
65
+ }: AlertDescriptionProps) => (
66
+ <div
67
+ className={cn('text-sm [&_p]:leading-relaxed', className)}
68
+ ref={ref}
69
+ {...props}
70
+ />
71
+ );
72
+ AlertDescription.displayName = 'AlertDescription';
73
+
74
+ export { Alert, AlertTitle, AlertDescription };
@@ -0,0 +1,55 @@
1
+ import React, { PropsWithChildren } from 'react'
2
+
3
+ import { cn } from '../util'
4
+
5
+ type TypographySize = 'responsive' | 'sm' | 'base' | 'lg' | 'xl' // if t-shirt size, do *not* be responsive
6
+
7
+ const ApplyTypography: React.FC<
8
+ React.ComponentProps<'div'> & {
9
+ asTag?: 'div' | 'section' | 'nav' | 'main' | 'article',
10
+ size?: TypographySize
11
+ }
12
+ > = ({
13
+ children,
14
+ className='',
15
+ asTag='div',
16
+ size='responsive',
17
+ ...rest
18
+ }) => {
19
+
20
+ // responsive version by default
21
+ let typoClasses =
22
+ 'typography gap-3 ' +
23
+ 'xs:typography-sm ' +
24
+ 'sm:typography sm:gap-4 ' +
25
+ 'lg:typography-lg lg:gap-5 ' +
26
+ 'xl:typography-xl xl:gap-6 ' +
27
+ 'typography-headings:font-heading ' // only effects h1-h3 (in plugin)
28
+
29
+ switch (size) {
30
+ case 'sm': {
31
+ typoClasses = 'typography typography-sm gap-3 typography-headings:font-heading typography-p:text-sm '
32
+ } break
33
+ case 'base': {
34
+ typoClasses = 'typography gap-4 typography-headings:font-heading '
35
+ } break
36
+ case 'lg': {
37
+ typoClasses = 'typography typography-lg gap-5 typography-headings:font-heading typography-p:text-lg '
38
+ } break
39
+ case 'xl': {
40
+ typoClasses = 'typography typography-xl gap-6 typography-headings:font-heading typography-p:text-lg '
41
+ } break
42
+ }
43
+
44
+ const Tag = asTag
45
+ return (
46
+ <Tag {...rest} className={cn(typoClasses, className)}>
47
+ {children}
48
+ </Tag>
49
+ )
50
+ }
51
+
52
+ export {
53
+ type TypographySize,
54
+ ApplyTypography as default
55
+ }
@@ -0,0 +1,5 @@
1
+ "use client"
2
+ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio"
3
+ const AspectRatio = AspectRatioPrimitive.Root
4
+
5
+ export default AspectRatio
@@ -0,0 +1,57 @@
1
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
2
+ import React from 'react';
3
+
4
+ import { cn } from '../src/utils';
5
+
6
+ type AvatarProps = React.ComponentPropsWithoutRef<
7
+ typeof AvatarPrimitive.Root
8
+ > & {
9
+ ref?: React.RefObject<React.ComponentRef<typeof AvatarPrimitive.Root>>;
10
+ };
11
+
12
+ const Avatar = ({ className, ref, ...props }: AvatarProps) => (
13
+ <AvatarPrimitive.Root
14
+ className={cn(
15
+ 'relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full',
16
+ className,
17
+ )}
18
+ ref={ref}
19
+ {...props}
20
+ />
21
+ );
22
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
23
+
24
+ type AvatarImageProps = React.ComponentPropsWithoutRef<
25
+ typeof AvatarPrimitive.Image
26
+ > & {
27
+ ref?: React.RefObject<React.ComponentRef<typeof AvatarPrimitive.Image>>;
28
+ };
29
+
30
+ const AvatarImage = ({ className, ref, ...props }: AvatarImageProps) => (
31
+ <AvatarPrimitive.Image
32
+ className={cn('aspect-square h-full w-full', className)}
33
+ ref={ref}
34
+ {...props}
35
+ />
36
+ );
37
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
38
+
39
+ type AvatarFallbackProps = React.ComponentPropsWithoutRef<
40
+ typeof AvatarPrimitive.Fallback
41
+ > & {
42
+ ref?: React.RefObject<React.ComponentRef<typeof AvatarPrimitive.Fallback>>;
43
+ };
44
+
45
+ const AvatarFallback = ({ className, ref, ...props }: AvatarFallbackProps) => (
46
+ <AvatarPrimitive.Fallback
47
+ className={cn(
48
+ 'bg-muted flex h-full w-full items-center justify-center rounded-full',
49
+ className,
50
+ )}
51
+ ref={ref}
52
+ {...props}
53
+ />
54
+ );
55
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
56
+
57
+ export { Avatar, AvatarImage, AvatarFallback };
@@ -0,0 +1,142 @@
1
+ import { motion } from 'framer-motion';
2
+ import React from 'react';
3
+
4
+ import { cn } from '../src/utils';
5
+
6
+ export const BackgroundBeams = React.memo(
7
+ ({ className }: { className?: string }) => {
8
+ const paths = [
9
+ 'M-380 -189C-380 -189 -312 216 152 343C616 470 684 875 684 875',
10
+ 'M-373 -197C-373 -197 -305 208 159 335C623 462 691 867 691 867',
11
+ 'M-366 -205C-366 -205 -298 200 166 327C630 454 698 859 698 859',
12
+ 'M-359 -213C-359 -213 -291 192 173 319C637 446 705 851 705 851',
13
+ 'M-352 -221C-352 -221 -284 184 180 311C644 438 712 843 712 843',
14
+ 'M-345 -229C-345 -229 -277 176 187 303C651 430 719 835 719 835',
15
+ 'M-338 -237C-338 -237 -270 168 194 295C658 422 726 827 726 827',
16
+ 'M-331 -245C-331 -245 -263 160 201 287C665 414 733 819 733 819',
17
+ 'M-324 -253C-324 -253 -256 152 208 279C672 406 740 811 740 811',
18
+ 'M-317 -261C-317 -261 -249 144 215 271C679 398 747 803 747 803',
19
+ 'M-310 -269C-310 -269 -242 136 222 263C686 390 754 795 754 795',
20
+ 'M-303 -277C-303 -277 -235 128 229 255C693 382 761 787 761 787',
21
+ 'M-296 -285C-296 -285 -228 120 236 247C700 374 768 779 768 779',
22
+ 'M-289 -293C-289 -293 -221 112 243 239C707 366 775 771 775 771',
23
+ 'M-282 -301C-282 -301 -214 104 250 231C714 358 782 763 782 763',
24
+ 'M-275 -309C-275 -309 -207 96 257 223C721 350 789 755 789 755',
25
+ 'M-268 -317C-268 -317 -200 88 264 215C728 342 796 747 796 747',
26
+ 'M-261 -325C-261 -325 -193 80 271 207C735 334 803 739 803 739',
27
+ 'M-254 -333C-254 -333 -186 72 278 199C742 326 810 731 810 731',
28
+ 'M-247 -341C-247 -341 -179 64 285 191C749 318 817 723 817 723',
29
+ 'M-240 -349C-240 -349 -172 56 292 183C756 310 824 715 824 715',
30
+ 'M-233 -357C-233 -357 -165 48 299 175C763 302 831 707 831 707',
31
+
32
+ 'M-226 -365C-226 -365 -158 40 306 167C770 294 838 699 838 699',
33
+ 'M-219 -373C-219 -373 -151 32 313 159C777 286 845 691 845 691',
34
+ 'M-212 -381C-212 -381 -144 24 320 151C784 278 852 683 852 683',
35
+ 'M-205 -389C-205 -389 -137 16 327 143C791 270 859 675 859 675',
36
+ 'M-198 -397C-198 -397 -130 8 334 135C798 262 866 667 866 667',
37
+ 'M-191 -405C-191 -405 -123 0 341 127C805 254 873 659 873 659',
38
+ 'M-184 -413C-184 -413 -116 -8 348 119C812 246 880 651 880 651',
39
+ 'M-177 -421C-177 -421 -109 -16 355 111C819 238 887 643 887 643',
40
+ 'M-170 -429C-170 -429 -102 -24 362 103C826 230 894 635 894 635',
41
+ 'M-163 -437C-163 -437 -95 -32 369 95C833 222 901 627 901 627',
42
+ 'M-156 -445C-156 -445 -88 -40 376 87C840 214 908 619 908 619',
43
+ 'M-149 -453C-149 -453 -81 -48 383 79C847 206 915 611 915 611',
44
+ 'M-142 -461C-142 -461 -74 -56 390 71C854 198 922 603 922 603',
45
+ 'M-135 -469C-135 -469 -67 -64 397 63C861 190 929 595 929 595',
46
+ 'M-128 -477C-128 -477 -60 -72 404 55C868 182 936 587 936 587',
47
+ 'M-121 -485C-121 -485 -53 -80 411 47C875 174 943 579 943 579',
48
+ 'M-114 -493C-114 -493 -46 -88 418 39C882 166 950 571 950 571',
49
+ 'M-107 -501C-107 -501 -39 -96 425 31C889 158 957 563 957 563',
50
+ 'M-100 -509C-100 -509 -32 -104 432 23C896 150 964 555 964 555',
51
+ 'M-93 -517C-93 -517 -25 -112 439 15C903 142 971 547 971 547',
52
+ 'M-86 -525C-86 -525 -18 -120 446 7C910 134 978 539 978 539',
53
+ 'M-79 -533C-79 -533 -11 -128 453 -1C917 126 985 531 985 531',
54
+ 'M-72 -541C-72 -541 -4 -136 460 -9C924 118 992 523 992 523',
55
+ 'M-65 -549C-65 -549 3 -144 467 -17C931 110 999 515 999 515',
56
+ 'M-58 -557C-58 -557 10 -152 474 -25C938 102 1006 507 1006 507',
57
+ 'M-51 -565C-51 -565 17 -160 481 -33C945 94 1013 499 1013 499',
58
+ 'M-44 -573C-44 -573 24 -168 488 -41C952 86 1020 491 1020 491',
59
+ 'M-37 -581C-37 -581 31 -176 495 -49C959 78 1027 483 1027 483',
60
+ ];
61
+ return (
62
+ <div
63
+ className={cn(
64
+ 'absolute inset-0 flex h-full w-full items-center justify-center [mask-size:40px] [mask-repeat:no-repeat]',
65
+ className,
66
+ )}
67
+ >
68
+ <svg
69
+ className="pointer-events-none absolute z-0 h-full w-full"
70
+ fill="none"
71
+ height="100%"
72
+ viewBox="0 0 696 316"
73
+ width="100%"
74
+ xmlns="http://www.w3.org/2000/svg"
75
+ >
76
+ <path
77
+ d="M-380 -189C-380 -189 -312 216 152 343C616 470 684 875 684 875M-373 -197C-373 -197 -305 208 159 335C623 462 691 867 691 867M-366 -205C-366 -205 -298 200 166 327C630 454 698 859 698 859M-359 -213C-359 -213 -291 192 173 319C637 446 705 851 705 851M-352 -221C-352 -221 -284 184 180 311C644 438 712 843 712 843M-345 -229C-345 -229 -277 176 187 303C651 430 719 835 719 835M-338 -237C-338 -237 -270 168 194 295C658 422 726 827 726 827M-331 -245C-331 -245 -263 160 201 287C665 414 733 819 733 819M-324 -253C-324 -253 -256 152 208 279C672 406 740 811 740 811M-317 -261C-317 -261 -249 144 215 271C679 398 747 803 747 803M-310 -269C-310 -269 -242 136 222 263C686 390 754 795 754 795M-303 -277C-303 -277 -235 128 229 255C693 382 761 787 761 787M-296 -285C-296 -285 -228 120 236 247C700 374 768 779 768 779M-289 -293C-289 -293 -221 112 243 239C707 366 775 771 775 771M-282 -301C-282 -301 -214 104 250 231C714 358 782 763 782 763M-275 -309C-275 -309 -207 96 257 223C721 350 789 755 789 755M-268 -317C-268 -317 -200 88 264 215C728 342 796 747 796 747M-261 -325C-261 -325 -193 80 271 207C735 334 803 739 803 739M-254 -333C-254 -333 -186 72 278 199C742 326 810 731 810 731M-247 -341C-247 -341 -179 64 285 191C749 318 817 723 817 723M-240 -349C-240 -349 -172 56 292 183C756 310 824 715 824 715M-233 -357C-233 -357 -165 48 299 175C763 302 831 707 831 707M-226 -365C-226 -365 -158 40 306 167C770 294 838 699 838 699M-219 -373C-219 -373 -151 32 313 159C777 286 845 691 845 691M-212 -381C-212 -381 -144 24 320 151C784 278 852 683 852 683M-205 -389C-205 -389 -137 16 327 143C791 270 859 675 859 675M-198 -397C-198 -397 -130 8 334 135C798 262 866 667 866 667M-191 -405C-191 -405 -123 0 341 127C805 254 873 659 873 659M-184 -413C-184 -413 -116 -8 348 119C812 246 880 651 880 651M-177 -421C-177 -421 -109 -16 355 111C819 238 887 643 887 643M-170 -429C-170 -429 -102 -24 362 103C826 230 894 635 894 635M-163 -437C-163 -437 -95 -32 369 95C833 222 901 627 901 627M-156 -445C-156 -445 -88 -40 376 87C840 214 908 619 908 619M-149 -453C-149 -453 -81 -48 383 79C847 206 915 611 915 611M-142 -461C-142 -461 -74 -56 390 71C854 198 922 603 922 603M-135 -469C-135 -469 -67 -64 397 63C861 190 929 595 929 595M-128 -477C-128 -477 -60 -72 404 55C868 182 936 587 936 587M-121 -485C-121 -485 -53 -80 411 47C875 174 943 579 943 579M-114 -493C-114 -493 -46 -88 418 39C882 166 950 571 950 571M-107 -501C-107 -501 -39 -96 425 31C889 158 957 563 957 563M-100 -509C-100 -509 -32 -104 432 23C896 150 964 555 964 555M-93 -517C-93 -517 -25 -112 439 15C903 142 971 547 971 547M-86 -525C-86 -525 -18 -120 446 7C910 134 978 539 978 539M-79 -533C-79 -533 -11 -128 453 -1C917 126 985 531 985 531M-72 -541C-72 -541 -4 -136 460 -9C924 118 992 523 992 523M-65 -549C-65 -549 3 -144 467 -17C931 110 999 515 999 515M-58 -557C-58 -557 10 -152 474 -25C938 102 1006 507 1006 507M-51 -565C-51 -565 17 -160 481 -33C945 94 1013 499 1013 499M-44 -573C-44 -573 24 -168 488 -41C952 86 1020 491 1020 491M-37 -581C-37 -581 31 -176 495 -49C959 78 1027 483 1027 483M-30 -589C-30 -589 38 -184 502 -57C966 70 1034 475 1034 475M-23 -597C-23 -597 45 -192 509 -65C973 62 1041 467 1041 467M-16 -605C-16 -605 52 -200 516 -73C980 54 1048 459 1048 459M-9 -613C-9 -613 59 -208 523 -81C987 46 1055 451 1055 451M-2 -621C-2 -621 66 -216 530 -89C994 38 1062 443 1062 443M5 -629C5 -629 73 -224 537 -97C1001 30 1069 435 1069 435M12 -637C12 -637 80 -232 544 -105C1008 22 1076 427 1076 427M19 -645C19 -645 87 -240 551 -113C1015 14 1083 419 1083 419"
78
+ stroke="url(#paint0_radial_242_278)"
79
+ strokeOpacity="0.05"
80
+ strokeWidth="0.5"
81
+ />
82
+
83
+ {paths.map((path, index) => (
84
+ <motion.path
85
+ d={path}
86
+ key={`path-` + index}
87
+ stroke={`url(#linearGradient-${index})`}
88
+ strokeOpacity="0.4"
89
+ strokeWidth="0.5"
90
+ />
91
+ ))}
92
+ <defs>
93
+ {paths.map((path, index) => (
94
+ <motion.linearGradient
95
+ animate={{
96
+ x1: ['0%', '100%'],
97
+ x2: ['0%', '95%'],
98
+ y1: ['0%', '100%'],
99
+ y2: ['0%', `${93 + Math.random() * 8}%`],
100
+ }}
101
+ id={`linearGradient-${index}`}
102
+ initial={{
103
+ x1: '0%',
104
+ x2: '0%',
105
+ y1: '0%',
106
+ y2: '0%',
107
+ }}
108
+ key={`gradient-${index}`}
109
+ transition={{
110
+ duration: Math.random() * 10 + 10,
111
+ ease: 'easeInOut',
112
+ repeat: Infinity,
113
+ delay: Math.random() * 10,
114
+ }}
115
+ >
116
+ <stop stopColor="#18CCFC" stopOpacity="0" />
117
+ <stop stopColor="#18CCFC" />
118
+ <stop offset="32.5%" stopColor="#6344F5" />
119
+ <stop offset="100%" stopColor="#AE48FF" stopOpacity="0" />
120
+ </motion.linearGradient>
121
+ ))}
122
+
123
+ <radialGradient
124
+ cx="0"
125
+ cy="0"
126
+ gradientTransform="translate(352 34) rotate(90) scale(555 1560.62)"
127
+ gradientUnits="userSpaceOnUse"
128
+ id="paint0_radial_242_278"
129
+ r="1"
130
+ >
131
+ <stop offset="0.0666667" stopColor="var(--neutral-300)" />
132
+ <stop offset="0.243243" stopColor="var(--neutral-300)" />
133
+ <stop offset="0.43594" stopColor="white" stopOpacity="0" />
134
+ </radialGradient>
135
+ </defs>
136
+ </svg>
137
+ </div>
138
+ );
139
+ },
140
+ );
141
+
142
+ BackgroundBeams.displayName = 'BackgroundBeams';
@@ -0,0 +1,45 @@
1
+ import { cva, type VariantProps } from 'class-variance-authority';
2
+ import React from 'react';
3
+
4
+ import { cn } from '../src/utils';
5
+
6
+ const badgeVariants = cva(
7
+ 'focus:ring-ring border-divider inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-offset-2 focus:outline-hidden',
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default:
12
+ 'bg-primary text-primary-foreground hover:bg-primary/80 border-transparent shadow',
13
+ secondary:
14
+ 'bg-secondary text-secondary-foreground hover:bg-secondary/80 border-transparent',
15
+ destructive:
16
+ 'bg-destructive text-destructive-foreground hover:bg-destructive/80 border-transparent shadow',
17
+ outline:
18
+ 'hover:bg-bg-secondary text-text-secondary hover:text-text-default border border-gray-500 bg-transparent shadow-xs',
19
+
20
+ inputAdornment: 'bg-gray-600 px-2 font-medium text-white',
21
+ tags: 'text-text-secondary border-divider bg-bg-quaternary rounded-lg px-2 py-1 font-normal capitalize',
22
+ },
23
+ },
24
+ defaultVariants: {
25
+ variant: 'default',
26
+ },
27
+ },
28
+ );
29
+
30
+ export interface BadgeProps
31
+ extends React.HTMLAttributes<HTMLDivElement>,
32
+ VariantProps<typeof badgeVariants> {
33
+ ref?: React.RefObject<HTMLDivElement | null>;
34
+ }
35
+
36
+ const Badge = ({ className, variant, ...props }: BadgeProps) => {
37
+ return (
38
+ <div className={cn(badgeVariants({ variant }), className)} {...props} />
39
+ );
40
+ };
41
+
42
+ Badge.displayName = 'Badge';
43
+
44
+ export { Badge, badgeVariants };
45
+ export default Badge;